diff --git a/locale/README.md b/locale/README.md new file mode 100644 index 0000000..4887b9e --- /dev/null +++ b/locale/README.md @@ -0,0 +1,10 @@ +# Convert '.po' file to '.txt' file. + +### COMMAND SAMPLE +'''' +$ lua po2tr.lua "Your Name (Your Site) " "pt_BR.po" +rm "pt_BR.tr" "mobs_animal.pt_BR.tr" +$ cat mobs_animal.pt_BR.tr | less +'''' + +Source Code: https://gitlab.com/4w/xtend/-/blob/master/xtend_default/tools/convert_po_file_to_tr_file/convert_po_file_to_tr_file.lua diff --git a/locale/mobs_animal.pt.tr b/locale/mobs_animal.pt.tr new file mode 100644 index 0000000..60d9f5c --- /dev/null +++ b/locale/mobs_animal.pt.tr @@ -0,0 +1,46 @@ +# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) +Bee=Abelha +Honey=Mel +Beehive=Colméia +Honey Block=Bloco de Mel +Bunny=Coelho +Raw Rabbit=Carne de Coelho (Cru) +Cooked Rabbit=Coelho (Assado) +Rabbit Hide=Pele de Coelho +Chicken=Galinha +Chicken Egg=Ovo de Galinha +Fried Egg=Ovo Frito +Raw Chicken=Carne de Galinha (Crua) +Cooked Chicken=Galinha Assada +Feather=Pluma +Cow already milked!=Vaca já ordenhada! +Cow=Vaca +Bucket of Milk=Balde de leite +Cheese=Queijo +Cheese Block=Bloco de Queijo +[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente +Kitten=Gato +Penguin=Pinguim +Rat=Rato +Cooked Rat=Rato (Assado) +Black=Preto +Blue=Azul +Brown=Marrom +Cyan=Ciano +Dark Green=Verde Escuro +Dark Grey=Cinza Escuro +Green=Verde +Grey=Cinza +Magenta=Rosa Magenta +Orange=Laranja +Pink=Rosa +Red=Vermelho +Violet=Violeta +White=Branco +Yellow=Amarelo +@1 Sheep=Ovelha @1 +Raw Mutton=Carneiro (Cru) +Cooked Mutton=Carneiro (Assado) +Warthog=Javali +Raw Porkchop=Costeleta de Javali (Crua) +Cooked Porkchop=Costeleta de Javali Assada diff --git a/locale/mobs_animal.pt_BR.tr b/locale/mobs_animal.pt_BR.tr new file mode 100644 index 0000000..60d9f5c --- /dev/null +++ b/locale/mobs_animal.pt_BR.tr @@ -0,0 +1,46 @@ +# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) +Bee=Abelha +Honey=Mel +Beehive=Colméia +Honey Block=Bloco de Mel +Bunny=Coelho +Raw Rabbit=Carne de Coelho (Cru) +Cooked Rabbit=Coelho (Assado) +Rabbit Hide=Pele de Coelho +Chicken=Galinha +Chicken Egg=Ovo de Galinha +Fried Egg=Ovo Frito +Raw Chicken=Carne de Galinha (Crua) +Cooked Chicken=Galinha Assada +Feather=Pluma +Cow already milked!=Vaca já ordenhada! +Cow=Vaca +Bucket of Milk=Balde de leite +Cheese=Queijo +Cheese Block=Bloco de Queijo +[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente +Kitten=Gato +Penguin=Pinguim +Rat=Rato +Cooked Rat=Rato (Assado) +Black=Preto +Blue=Azul +Brown=Marrom +Cyan=Ciano +Dark Green=Verde Escuro +Dark Grey=Cinza Escuro +Green=Verde +Grey=Cinza +Magenta=Rosa Magenta +Orange=Laranja +Pink=Rosa +Red=Vermelho +Violet=Violeta +White=Branco +Yellow=Amarelo +@1 Sheep=Ovelha @1 +Raw Mutton=Carneiro (Cru) +Cooked Mutton=Carneiro (Assado) +Warthog=Javali +Raw Porkchop=Costeleta de Javali (Crua) +Cooked Porkchop=Costeleta de Javali Assada 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() diff --git a/locale/pt.po b/locale/pt.po new file mode 100644 index 0000000..20f09d6 --- /dev/null +++ b/locale/pt.po @@ -0,0 +1,199 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 11:28+0200\n" +"PO-Revision-Date: 2021-06-20 18:51-0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Last-Translator: Lunovox Heavenfinder \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +#: bee.lua +msgid "Bee" +msgstr "Abelha" + +#: bee.lua +msgid "Honey" +msgstr "Mel" + +#: bee.lua +msgid "Beehive" +msgstr "Colméia" + +#: bee.lua +msgid "Honey Block" +msgstr "Bloco de Mel" + +#: bunny.lua +msgid "Bunny" +msgstr "Coelho" + +#: bunny.lua +msgid "Raw Rabbit" +msgstr "Carne de Coelho (Cru)" + +#: bunny.lua +msgid "Cooked Rabbit" +msgstr "Coelho (Assado)" + +#: bunny.lua +msgid "Rabbit Hide" +msgstr "Pele de Coelho" + +#: chicken.lua +msgid "Chicken" +msgstr "Galinha" + +#: chicken.lua +msgid "Chicken Egg" +msgstr "Ovo de Galinha" + +#: chicken.lua +msgid "Fried Egg" +msgstr "Ovo Frito" + +#: chicken.lua +msgid "Raw Chicken" +msgstr "Carne de Galinha (Crua)" + +#: chicken.lua +msgid "Cooked Chicken" +msgstr "Galinha Assada" + +#: chicken.lua +msgid "Feather" +msgstr "Pluma" + +#: cow.lua +msgid "Cow already milked!" +msgstr "Vaca já ordenhada!" + +#: cow.lua +msgid "Cow" +msgstr "Vaca" + +#: cow.lua +msgid "Bucket of Milk" +msgstr "Balde de leite" + +#: cow.lua +msgid "Cheese" +msgstr "Queijo" + +#: cow.lua +msgid "Cheese Block" +msgstr "Bloco de Queijo" + +#: init.lua +msgid "[MOD] Mobs Redo 'Animals' loaded" +msgstr "[MOBS_ANIMAL] Mod carregado completamente" + +#: kitten.lua +msgid "Kitten" +msgstr "Gato" + +#: penguin.lua +msgid "Penguin" +msgstr "Pinguim" + +#: rat.lua +msgid "Rat" +msgstr "Rato" + +#: rat.lua +msgid "Cooked Rat" +msgstr "Rato (Assado)" + +#: sheep.lua +msgid "Black" +msgstr "Preto" + +#: sheep.lua +msgid "Blue" +msgstr "Azul" + +#: sheep.lua +msgid "Brown" +msgstr "Marrom" + +#: sheep.lua +msgid "Cyan" +msgstr "Ciano" + +#: sheep.lua +msgid "Dark Green" +msgstr "Verde Escuro" + +#: sheep.lua +msgid "Dark Grey" +msgstr "Cinza Escuro" + +#: sheep.lua +msgid "Green" +msgstr "Verde" + +#: sheep.lua +msgid "Grey" +msgstr "Cinza" + +#: sheep.lua +msgid "Magenta" +msgstr "Rosa Magenta" + +#: sheep.lua +msgid "Orange" +msgstr "Laranja" + +#: sheep.lua +msgid "Pink" +msgstr "Rosa" + +#: sheep.lua +msgid "Red" +msgstr "Vermelho" + +#: sheep.lua +msgid "Violet" +msgstr "Violeta" + +#: sheep.lua +msgid "White" +msgstr "Branco" + +#: sheep.lua +msgid "Yellow" +msgstr "Amarelo" + +#: sheep.lua +msgid "@1 Sheep" +msgstr "Ovelha @1 " + +#: sheep.lua +msgid "Raw Mutton" +msgstr "Carneiro (Cru)" + +#: sheep.lua +msgid "Cooked Mutton" +msgstr "Carneiro (Assado)" + +#: warthog.lua +msgid "Warthog" +msgstr "Javali" + +#: warthog.lua +msgid "Raw Porkchop" +msgstr "Costeleta de Javali (Crua)" + +#: warthog.lua +msgid "Cooked Porkchop" +msgstr "Costeleta de Javali Assada" diff --git a/locale/pt.txt b/locale/pt.txt new file mode 100644 index 0000000..60d9f5c --- /dev/null +++ b/locale/pt.txt @@ -0,0 +1,46 @@ +# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) +Bee=Abelha +Honey=Mel +Beehive=Colméia +Honey Block=Bloco de Mel +Bunny=Coelho +Raw Rabbit=Carne de Coelho (Cru) +Cooked Rabbit=Coelho (Assado) +Rabbit Hide=Pele de Coelho +Chicken=Galinha +Chicken Egg=Ovo de Galinha +Fried Egg=Ovo Frito +Raw Chicken=Carne de Galinha (Crua) +Cooked Chicken=Galinha Assada +Feather=Pluma +Cow already milked!=Vaca já ordenhada! +Cow=Vaca +Bucket of Milk=Balde de leite +Cheese=Queijo +Cheese Block=Bloco de Queijo +[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente +Kitten=Gato +Penguin=Pinguim +Rat=Rato +Cooked Rat=Rato (Assado) +Black=Preto +Blue=Azul +Brown=Marrom +Cyan=Ciano +Dark Green=Verde Escuro +Dark Grey=Cinza Escuro +Green=Verde +Grey=Cinza +Magenta=Rosa Magenta +Orange=Laranja +Pink=Rosa +Red=Vermelho +Violet=Violeta +White=Branco +Yellow=Amarelo +@1 Sheep=Ovelha @1 +Raw Mutton=Carneiro (Cru) +Cooked Mutton=Carneiro (Assado) +Warthog=Javali +Raw Porkchop=Costeleta de Javali (Crua) +Cooked Porkchop=Costeleta de Javali Assada diff --git a/locale/pt_BR.po b/locale/pt_BR.po new file mode 100644 index 0000000..20f09d6 --- /dev/null +++ b/locale/pt_BR.po @@ -0,0 +1,199 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 11:28+0200\n" +"PO-Revision-Date: 2021-06-20 18:51-0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Last-Translator: Lunovox Heavenfinder \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +#: bee.lua +msgid "Bee" +msgstr "Abelha" + +#: bee.lua +msgid "Honey" +msgstr "Mel" + +#: bee.lua +msgid "Beehive" +msgstr "Colméia" + +#: bee.lua +msgid "Honey Block" +msgstr "Bloco de Mel" + +#: bunny.lua +msgid "Bunny" +msgstr "Coelho" + +#: bunny.lua +msgid "Raw Rabbit" +msgstr "Carne de Coelho (Cru)" + +#: bunny.lua +msgid "Cooked Rabbit" +msgstr "Coelho (Assado)" + +#: bunny.lua +msgid "Rabbit Hide" +msgstr "Pele de Coelho" + +#: chicken.lua +msgid "Chicken" +msgstr "Galinha" + +#: chicken.lua +msgid "Chicken Egg" +msgstr "Ovo de Galinha" + +#: chicken.lua +msgid "Fried Egg" +msgstr "Ovo Frito" + +#: chicken.lua +msgid "Raw Chicken" +msgstr "Carne de Galinha (Crua)" + +#: chicken.lua +msgid "Cooked Chicken" +msgstr "Galinha Assada" + +#: chicken.lua +msgid "Feather" +msgstr "Pluma" + +#: cow.lua +msgid "Cow already milked!" +msgstr "Vaca já ordenhada!" + +#: cow.lua +msgid "Cow" +msgstr "Vaca" + +#: cow.lua +msgid "Bucket of Milk" +msgstr "Balde de leite" + +#: cow.lua +msgid "Cheese" +msgstr "Queijo" + +#: cow.lua +msgid "Cheese Block" +msgstr "Bloco de Queijo" + +#: init.lua +msgid "[MOD] Mobs Redo 'Animals' loaded" +msgstr "[MOBS_ANIMAL] Mod carregado completamente" + +#: kitten.lua +msgid "Kitten" +msgstr "Gato" + +#: penguin.lua +msgid "Penguin" +msgstr "Pinguim" + +#: rat.lua +msgid "Rat" +msgstr "Rato" + +#: rat.lua +msgid "Cooked Rat" +msgstr "Rato (Assado)" + +#: sheep.lua +msgid "Black" +msgstr "Preto" + +#: sheep.lua +msgid "Blue" +msgstr "Azul" + +#: sheep.lua +msgid "Brown" +msgstr "Marrom" + +#: sheep.lua +msgid "Cyan" +msgstr "Ciano" + +#: sheep.lua +msgid "Dark Green" +msgstr "Verde Escuro" + +#: sheep.lua +msgid "Dark Grey" +msgstr "Cinza Escuro" + +#: sheep.lua +msgid "Green" +msgstr "Verde" + +#: sheep.lua +msgid "Grey" +msgstr "Cinza" + +#: sheep.lua +msgid "Magenta" +msgstr "Rosa Magenta" + +#: sheep.lua +msgid "Orange" +msgstr "Laranja" + +#: sheep.lua +msgid "Pink" +msgstr "Rosa" + +#: sheep.lua +msgid "Red" +msgstr "Vermelho" + +#: sheep.lua +msgid "Violet" +msgstr "Violeta" + +#: sheep.lua +msgid "White" +msgstr "Branco" + +#: sheep.lua +msgid "Yellow" +msgstr "Amarelo" + +#: sheep.lua +msgid "@1 Sheep" +msgstr "Ovelha @1 " + +#: sheep.lua +msgid "Raw Mutton" +msgstr "Carneiro (Cru)" + +#: sheep.lua +msgid "Cooked Mutton" +msgstr "Carneiro (Assado)" + +#: warthog.lua +msgid "Warthog" +msgstr "Javali" + +#: warthog.lua +msgid "Raw Porkchop" +msgstr "Costeleta de Javali (Crua)" + +#: warthog.lua +msgid "Cooked Porkchop" +msgstr "Costeleta de Javali Assada" diff --git a/locale/pt_BR.txt b/locale/pt_BR.txt new file mode 100644 index 0000000..60d9f5c --- /dev/null +++ b/locale/pt_BR.txt @@ -0,0 +1,46 @@ +# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) +Bee=Abelha +Honey=Mel +Beehive=Colméia +Honey Block=Bloco de Mel +Bunny=Coelho +Raw Rabbit=Carne de Coelho (Cru) +Cooked Rabbit=Coelho (Assado) +Rabbit Hide=Pele de Coelho +Chicken=Galinha +Chicken Egg=Ovo de Galinha +Fried Egg=Ovo Frito +Raw Chicken=Carne de Galinha (Crua) +Cooked Chicken=Galinha Assada +Feather=Pluma +Cow already milked!=Vaca já ordenhada! +Cow=Vaca +Bucket of Milk=Balde de leite +Cheese=Queijo +Cheese Block=Bloco de Queijo +[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente +Kitten=Gato +Penguin=Pinguim +Rat=Rato +Cooked Rat=Rato (Assado) +Black=Preto +Blue=Azul +Brown=Marrom +Cyan=Ciano +Dark Green=Verde Escuro +Dark Grey=Cinza Escuro +Green=Verde +Grey=Cinza +Magenta=Rosa Magenta +Orange=Laranja +Pink=Rosa +Red=Vermelho +Violet=Violeta +White=Branco +Yellow=Amarelo +@1 Sheep=Ovelha @1 +Raw Mutton=Carneiro (Cru) +Cooked Mutton=Carneiro (Assado) +Warthog=Javali +Raw Porkchop=Costeleta de Javali (Crua) +Cooked Porkchop=Costeleta de Javali Assada