From 1d61ad20e818612f88e752593ae39fe8c442ff82 Mon Sep 17 00:00:00 2001 From: Lunovox Date: Thu, 20 Jul 2023 10:45:42 -0300 Subject: [PATCH] Novo README.md --- README.md | 72 ++++++++++++++++------------- favicon.png | Bin 0 -> 44856 bytes locale/README.md | 105 ++++++++++++++++++++++++++++++++++++++++++ locale/po2tr.lua | 116 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 261 insertions(+), 32 deletions(-) create mode 100644 favicon.png create mode 100644 locale/README.md create mode 100644 locale/po2tr.lua diff --git a/README.md b/README.md index 4e244e5..7614a5a 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,55 @@ ![urn_front] -# E-URN +# [E-URN] -[Minetest Mod] Colect opinion of player with electronic urn. +[ [Minetest Mod] ] Colect opinion of player with electronic urn. **Dependencies:** - * default → Minetest Game Included + * default → Minetest Game Included **Optional Dependencies:** - * [intllib](https://github.com/minetest-mods/intllib) → Facilitates the translation of several other mods into your native language, or other languages. - * [tradelands](https://github.com/Lunovox/tradelands) → Protection of rent door (not yet implemented). - * [correio](https://github.com/Lunovox/correio) → Send mail to offline players. + * [intllib] (Optional) → Facilitates the translation of several other mods into your native language, or other languages. + * [tradelands] (Optional) → Protection your lands and chests. + * [correio] (Optional) → Send mail to offline players. + + +## **License:** + +* [GNU AGPL-3.0] + +More details: + * in English: https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License + * em Português: https://pt.wikipedia.org/wiki/GNU_Affero_General_Public_License -**Licence:** - * GNU AGPL: https://pt.wikipedia.org/wiki/GNU_Affero_General_Public_License **Developers:** - * [Lunovox](https://libreplanet.org/wiki/User:Lunovox) - - +1. Enable the complementary mod **'intllib'.** +2. Set your language in **'minetest.conf'** by adding the [````language = ````] property. +3. Example for French Language: ````language = fr```` +4. Make a copy of the file [ **template.pot** ] in the [ **locale** ] folder that is inside the mod for [````locale/.po````]. +5. Example for French language: ````locale/fr.po```` +6. Open the file [````locale/.po````] in POEdit (Also works in a simple text editor). +7. Translate all and send your translated file to developers of this mod. -[urn_front]:textures/text_eurn_front.png \ No newline at end of file + + + +[correio]:https://gitlab.com/Lunovox/correio +[E-URN]:https://gitlab.com/lunovox/e-urn/ +[English]:https://gitlab.com/lunovox/e-urn/-/raw/master/locale/template.pot +[GNU AGPL-3.0]:https://gitlab.com/lunovox/e-urn/-/raw/master/LICENSE +[intllib]:https://github.com/minetest-mods/intllib +[Minetest Mod]:https://minetest.net +[Portuguese]:https://gitlab.com/lunovox/e-urn/-/raw/master/locale/pt.po +[tradelands]:https://github.com/Lunovox/tradelands +[urn_front]:textures/text_eurn_front.png diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..a463e43f7a783bafb54811c3d15e86b81dc85381 GIT binary patch literal 44856 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 literal 0 HcmV?d00001 diff --git a/locale/README.md b/locale/README.md new file mode 100644 index 0000000..1ff6702 --- /dev/null +++ b/locale/README.md @@ -0,0 +1,105 @@ +# TRANSLATES + +Update: 2023-03-19 +version of Readme: 1.5 + +----- + +To generate file [template.pot], did use terminal command: + +```bash +cd soundchat +xgettext -n *.lua -L Lua --force-po --keyword=modSoundChat.translate --from-code=UTF-8 -o ./locale/template.pot + +``` +----- + +### Generate file '.po' per [template.pot] file: + +To translate [template.pot] to your language in '.po' file: + +* Locales used: ca;cs;da;de;dv;eo;es;et;fr;hu;id;it;ja;jbo;kn;lt;ms;nb;nl;pl;pt;pt_BR;ro;ru;sl;sr_Cyrl;sv;sw;tr;uk + +Sintaxe: + +```bash +$ msginit --no-translator --no-wrap --locale=$LANG.UTF-8 --output-file=$LANG.po --input=$POT +``` + +* Example to brazilian portuguese language: [locale/pt_BR.po] + +Example: + +```bash +msginit --no-translator --no-wrap --locale=pt_BR.UTF-8 --output-file=./locale/pt_BR.po --input=./locale/template.pot +``` + +----- + +### To Update ".po" file from a [template.pot] file. + +Sintaxe: + +```bash +$ msgmerge --sort-output --no-wrap --update --backup=off $LANG.po $POT +``` + +* Example to brazilian portuguese language: [locale/pt_BR.po] + +Example: + +```bash +msgmerge --sort-output --no-wrap --update --backup=off ./locale/pt_BR.po ./locale/template.pot +``` + +----- + +To translate [template.pot] to your language use GUI App [PoEdit].: + +### Install the PoEdit: + +```bash +sudo apt-get install poedit +``` + + +----- + +### Convert '.po' file to '.tr' file. + +Translate Sample: [locale/soundchat.pt_BR.tr] +```bash +$ cd ./locale/ +$ lua5.3 po2tr.lua "soundchat" "pt_BR.po" +$ mv "pt_BR.tr" "soundchat.pt_BR.tr" +$ cat soundchat.pt_BR.tr | less +``` + +----- + + +### Exemple of enable the brazilian portuguese language in minetest: + +Translate Sample: `locale/soundchat.pt_BR.tr` + +To enable the translate to brazilian portuguese language, write "language = pt_BR" in file "minetest.conf". Or write the command ```/set -n language pt_BR``` in game chat, and run again the minetest game. + +----- + +### PLEASE SUBMIT YOUR NEW TRANSLATION TO THE DEVELOPERS OF THIS MOD THROUGH THE GIT PROJECT BELOW: + +* `https://gitlab.com/lunovox/soundchat` + +---- + +> See more: +* https://forum.minetest.net/viewtopic.php?f=47&t=21974 +* https://github.com/minetest/minetest/issues/8158 +* https://gist.githubusercontent.com/mamchenkov/3690981/raw/8ebd48c2af20c893c164e8d5245d9450ad682104/update_translations.sh +* https://gitlab.com/4w/xtend/-/blob/master/xtend_default/tools/convert_po_file_to_tr_file/convert_po_file_to_tr_file.lua + +[locale/pt_BR.po]:https://gitlab.com/lunovox/soundchat/-/raw/master/locale/pt_BR.po +[locale/soundchat.pt_BR.tr]:https://gitlab.com/lunovox/soundchat/-/raw/master/locale/soundchat.pt_BR.tr +[PoEdit]:https://poedit.net +[template.pot]:https://gitlab.com/lunovox/soundchat/-/raw/master/locale/template.pot + diff --git a/locale/po2tr.lua b/locale/po2tr.lua new file mode 100644 index 0000000..b48ea07 --- /dev/null +++ b/locale/po2tr.lua @@ -0,0 +1,116 @@ +#!/usr/bin/env luajit + +-- Convert regular Gettext PO files to Minetest-specific TR files. If there is +-- already a TR file with the same name of the PO file except the file suffix +-- bneing .tr (or .TR) instead of .po (or .PO) then THIS FILE WILL BE +-- OVERWRITTEN WITHOUT INFORMATION OR A WAY TO RECOVER THE PREVIOUS FILE! +-- +-- +-- ▄██▄ +-- ▀███ +-- █ +-- ▄▄▄▄▄ █ +-- ▀▄ ▀▄ █ BACKUP +-- ▄▀▀▀▄ █▄▄▄▄█▄▄ ▄▀▀▀▄ █ +-- █ ▄ █ █ ▄ █ █ +-- ▀▄ ▄▀ ▀▄ ▄▀ █ +-- █▀▀▀ ▀▀▀ █ █ +-- █ █ █ ALL +-- ▄▀▄▄▀▄ █ ▄█▀█▀█▀█▀█▀█▄ █ █ +-- █▒▒▒▒█ █ █████████████▄ █ █ +-- █▒▒▒▒█ █ ██████████████▄ █ █ +-- █▒▒▒▒█ █ ██████████████▄ █ █ +-- █▒▒▒▒█ █ ██████████████ █ █ +-- █▒▒▒▒█ █ ██████████████▀ █ █ THE +-- █▒▒▒▒█ ██ ██████████████ █ █ +-- ▀████▀ ██▀█ █████████████▀ █▄█ +-- ██ ██ ▀█ █▄█▄█▄█▄█▄█▀ ▄█▀ +-- ██ ██ ▀█ ▄▀▓█ +-- ██ ██ ▀█▀▄▄▄▄▄▄▄▄▄▀▀▓▓▓█ +-- ████ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ +-- ███ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ THINGS +-- ██ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ +-- ██ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ +-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ +-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ +-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ !!! +-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ +-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ +-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ +-- +-- +-- The syntax of TR files according to the introducing forum post is: +-- +-- # textdomain: namespace +-- original 1 = translation 1 +-- original 2 = translation 2 +-- original 3 = tralslation 3 +-- original N = translation N +-- +-- Where namespace should be the name of the mod. Following strings have to be +-- escaped using @. +-- +-- String | Escape +-- -------+-------- +-- `@` |`@@` +-- `=` |`@=` +-- `\n` |`@\n` +-- +-- See https://forum.minetest.net/viewtopic.php?t=18349 for details. + + +-- Preparation +if arg[1] == nil or arg[2] == nil then + print('Provide the namesspace as first parameter') + print('Provide the path to the source PO file as second parameter') + print('Example: '..arg[0]..' mymod path/to/my/source.po') + return +end +local SEP = package.path:match('(%p)%?%.') or '/' -- wonky but hey ... :) + + +-- Assign parameters to local variables +local namespace = arg[1] +local po_file = arg[2] +local tr_file = arg[2]:gsub('po$', 'tr'):gsub('PO$', 'TR') + + +-- Get the translations through crude plaintext file parsing +local file_contents = {} +local translations = {} + +local po_file_handle = io.open(po_file, 'rb') +if po_file_handle == nil then print('No base file found') return end + +for line in po_file_handle:lines() do + if line:match('^msgid') or line:match('^msgstr') then + table.insert(file_contents, line) + end +end + +local escape_string = function (s) + s = s:gsub('@([^%d])', '@@%1') -- All @ not followed by a number become @@ + s = s:gsub('([^@]@)$', '%1@') -- An @ at the end of the string become @@ + s = s:gsub('=', '@=') -- All = become @= + return s +end + +for number,line_content in pairs(file_contents) do + if line_content:match('^msgid') then + local o = line_content:gsub('^msgid "(.+)"$', '%1') + local t = file_contents[number + 1]:gsub('^msgstr "(.+)"$', '%1') + if o ~= 'msgid = ""' and t ~= 'msgstr ""' then + table.insert(translations, escape_string(o)..'='..escape_string(t)) + end + end +end +print(number) +po_file_handle:close() + + +-- Write translation to file +local tr_file_handle = io.open(tr_file, 'w+') +if tr_file_handle == nil then print('Could not open target file') return end +tr_file_handle:write('# textdomain: '..namespace, "\n") +for _,line in pairs(translations) do tr_file_handle:write(line, "\n") end +tr_file_handle:close()