minetest_game/mods/xpanes/gintllib.lua

74 lines
2.0 KiB
Lua
Raw Normal View History

Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
-- gintllib.lua
-- should be copied from ../game_intllib/lib/gintllib.lua (2019-05-14)
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
-- Please note: This is for the default minetest_game mod tree only.
-- For external mods one should make use of the original inttlib mod
-- without interference to the game_intllib mod and it's functions.
-- The MT 5 function minetest.get_translator may be a better solution.
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
-- Fallback functions for when `game_intllib` is not installed.
-- Code released under ../gintllib/LICENSE.md -- LGPLv2.1+
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
-- Minetest Game Translation with 'game_intllib' (based on 'intllib')
-- Copyright (2019) The Minetest Core & Minetest Game Developers
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
-- Fallback to handle a S("string") enclosure if not installed.
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
local gettext, ngettext
-- Check if game_intllib should be activated or not in first place.
-- The MT function minetest.get_translator may be a better solution.
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
local gsetactive = false
local g = minetest.settings:get("game_intllib")
if g and g ~= "" then
if g == "on" or g == "ON" then
gsetactive = true
end
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
end
-- Use the MT function minetest.get_translator if game_intllib is off.
if not gsetactive then
gettext, ngettext = minetest.get_translator()
else
-- When possible use make_gettext_pair from game_intllib if installed.
if minetest.get_modpath("game_intllib") then
gettext, ngettext = gintllib.make_gettext_pair()
end
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
-- Fill in missing functions if game_intllib is not installed.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
Introducing 'game_intllib' and S() for gettext The new branch 'game_intllib' is aiming at MT internationalization. Please note the about 400 lines of code changed in the Lua code of the existing mods by addition of a S("string") enclosure for GNU gettext. This is in compliance to the GNU gettext toolchain procedures. 'game_intllib' is an attempt at providing internationalization support for the default game mods specifically. Hopefully, we may delay the issue of an optimal translation for the MT server into the future. There is no requirement to include the 'game_intllib' mod into the game code basis if an alternative solution for a translation of user-facing strings of the default mods inside the game is in place. However, the 'game_intllib' and tools may be helpful in assisting the task of translation of user-facing strings of the default mods prior a new release of the game and after introduction of new game code. Please consider to look at my contribution in the MT forum: https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791 This is up to deliberations of the MT developers and the MT game devs. ***************** This is the new branch 'game_intllib' comprising the following: - changed: README.txt - changed: mods/beds/beds.lua - changed: mods/beds/depends.txt - new file: mods/beds/gintllib.lua - changed: mods/binoculars/depends.txt - new file: mods/binoculars/gintllib.lua - changed: mods/binoculars/init.lua - changed: mods/boats/depends.txt - new file: mods/boats/gintllib.lua - changed: mods/boats/init.lua - changed: mods/bones/depends.txt - new file: mods/bones/gintllib.lua - changed: mods/bones/init.lua - changed: mods/bucket/depends.txt - new file: mods/bucket/gintllib.lua - changed: mods/bucket/init.lua - changed: mods/butterflies/depends.txt - new file: mods/butterflies/gintllib.lua - changed: mods/butterflies/init.lua - changed: mods/carts/cart_entity.lua - changed: mods/carts/depends.txt - new file: mods/carts/gintllib.lua - changed: mods/carts/rails.lua - changed: mods/creative/depends.txt - new file: mods/creative/gintllib.lua - changed: mods/creative/init.lua - changed: mods/creative/inventory.lua - changed: mods/default/chests.lua - changed: mods/default/craftitems.lua - changed: mods/default/depends.txt - changed: mods/default/furnace.lua - new file: mods/default/gintllib.lua - changed: mods/default/nodes.lua - changed: mods/default/tools.lua - changed: mods/default/torch.lua - changed: mods/default/trees.lua - changed: mods/doors/depends.txt - new file: mods/doors/gintllib.lua - changed: mods/doors/init.lua - changed: mods/dye/depends.txt - new file: mods/dye/gintllib.lua - changed: mods/dye/init.lua - changed: mods/farming/api.lua - changed: mods/farming/depends.txt - new file: mods/farming/gintllib.lua - changed: mods/farming/hoes.lua - changed: mods/farming/init.lua - changed: mods/farming/nodes.lua - changed: mods/fire/depends.txt - new file: mods/fire/gintllib.lua - changed: mods/fire/init.lua - changed: mods/fireflies/depends.txt - new file: mods/fireflies/gintllib.lua - changed: mods/fireflies/init.lua - changed: mods/flowers/depends.txt - new file: mods/flowers/gintllib.lua - changed: mods/flowers/init.lua - new file: mods/game_commands/depends.txt - new file: mods/game_commands/gintllib.lua - changed: mods/game_commands/init.lua - new file: mods/game_intllib/LICENSE.md - new file: mods/game_intllib/README.md - new file: mods/game_intllib/description.txt - new file: mods/game_intllib/doc/developer.md - new file: mods/game_intllib/doc/localefile.md - new file: mods/game_intllib/doc/translator.md - new file: mods/game_intllib/gettext.lua - new file: mods/game_intllib/init.lua - new file: mods/game_intllib/intltest/README.md - new file: mods/game_intllib/intltest/depends.txt - new file: mods/game_intllib/intltest/gintllib.lua - new file: mods/game_intllib/intltest/init.lua - new file: mods/game_intllib/intltest/locale/es.po - new file: mods/game_intllib/intltest/locale/template.pot - new file: mods/game_intllib/lib.lua - new file: mods/game_intllib/lib/gintllib.lua - new file: mods/game_intllib/license.txt - new file: mods/game_intllib/locale/de.po - new file: mods/game_intllib/locale/template.pot - new file: mods/game_intllib/tools/findtext.lua - new file: mods/game_intllib/tools/updatetext.lua - new file: mods/game_intllib/tools/xgettext.bat - new file: mods/game_intllib/tools/xgettext.sh - changed: mods/map/depends.txt - new file: mods/map/gintllib.lua - changed: mods/map/init.lua - new file: mods/screwdriver/depends.txt - new file: mods/screwdriver/gintllib.lua - changed: mods/screwdriver/init.lua - new file: mods/sethome/depends.txt - new file: mods/sethome/gintllib.lua - changed: mods/sethome/init.lua - changed: mods/stairs/depends.txt - new file: mods/stairs/gintllib.lua - changed: mods/stairs/init.lua - changed: mods/tnt/depends.txt - new file: mods/tnt/gintllib.lua - changed: mods/tnt/init.lua - changed: mods/vessels/depends.txt - new file: mods/vessels/gintllib.lua - changed: mods/vessels/init.lua - changed: mods/walls/depends.txt - new file: mods/walls/gintllib.lua - changed: mods/walls/init.lua - changed: mods/wool/depends.txt - new file: mods/wool/gintllib.lua - changed: mods/wool/init.lua - changed: mods/xpanes/depends.txt - new file: mods/xpanes/gintllib.lua - changed: mods/xpanes/init.lua ***************** The 'game_intllib' internal mod is specifially aimed at default mods internal to the game in the 'minetest_game' folder. The original 'intllib' is an attempt at providing internationalization support for external mods (something Minetest currently lacks). IMHO the 'intllib' mod is a reliable and helpful tool and I have found it to be both robust and compliant to the GNU gettext tool chain. I would like to thank all of the MT developers and certainly @kaeza. [snoopy (Zweihorn)] 2019-05-13
2019-05-13 00:53:58 +02:00
end
return gettext, ngettext