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
- Allow rotation of wallmounted nodeboxes (signs) since they are
now rotating properly.
- Instead of testing `ndef` several times, do it once, correctly.
- Simplify exception logic for nodes that have `on_rotate` set.
- For simplicity, return itemstack, always.
- Remove a useless nil check.
Allows rotating things like signs and torches. Axis rotation
rotates over all 6 faces, face rotation flips upside down to
flat on floor only, and of course in the 4 horizontal directions.
Made the code a bit more modular to account for different rotation
schemes. Should be easier to extend from here on to other needs,
and the functions can be reused by other mods for convenience.
Other screwdriver mods, or mods that cause rotation, might operate without the screwdriver mod loaded and have `screwdriver.disallow` unavailable.
This allows nodes to default to full-disallow rather than full-rotation in such a situation.
This prevents nodes that are not of the "facedir" paramtype2,
as these are generally not expected to be able to rotate. Mods
and other methods may still manipulate param2 of these nodes
as expected.
Addresses #712
The message to "hold shift" makes an unwarranted assumption about the
user's keybindings. Messages from the server should refer to a key's
game function, rather than its extragame identity.