From 4346e0e584b84667e3486e190cadf7476f9d8cb3 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Thu, 26 Sep 2019 23:44:34 +0200 Subject: [PATCH] translation and manual improvements --- basic_machines/funnel.lua | 8 ++++---- doc/manual_DE.lua | 31 +++++++++++++++++++++++++------ i18n.py | 23 +++++++++++++++-------- locale/techage.de.tr | 4 ++-- manuals/manual_DE.md | 7 ++++--- manuals/manual_ta2_DE.md | 19 +++++++++++++++++-- manuals/markdown2formspec.py | 3 +++ 7 files changed, 70 insertions(+), 25 deletions(-) diff --git a/basic_machines/funnel.lua b/basic_machines/funnel.lua index d22ea5a..17c379e 100644 --- a/basic_machines/funnel.lua +++ b/basic_machines/funnel.lua @@ -23,7 +23,7 @@ local function start_node(pos, mem) minetest.get_node_timer(pos):start(CYCLE_TIME) local meta = M(pos) local own_num = meta:get_string("node_number") - meta:set_string("infotext", "TA3 Funnel "..own_num.." : running") + meta:set_string("infotext", S("TA3 Funnel").." "..own_num.." : running") end local function stop_node(pos, mem) @@ -31,7 +31,7 @@ local function stop_node(pos, mem) minetest.get_node_timer(pos):stop() local meta = M(pos) local own_num = meta:get_string("node_number") - meta:set_string("infotext", "TA3 Funnel "..own_num.." : stopped") + meta:set_string("infotext", S("TA3 Funnel").." "..own_num.." : stopped") end local function allow_metadata_inventory_put(pos, listname, index, stack, player) @@ -89,7 +89,7 @@ local function scan_for_objects(pos, elapsed) end minetest.register_node("techage:ta3_funnel", { - description = "TA3 Funnel", + description = S("TA3 Funnel"), tiles = { -- up, down, right, left, back, front "techage_filling_ta3.png^techage_appl_funnel_top.png^techage_frame_ta3_top.png", @@ -131,7 +131,7 @@ minetest.register_node("techage:ta3_funnel", { local node = minetest.get_node(pos) meta:set_string("node_number", own_num) meta:set_string("owner", placer:get_player_name()) - meta:set_string("infotext", "TA3 Funnel "..own_num.." : stopped") + meta:set_string("infotext", S("TA3 Funnel").." "..own_num.." : stopped") meta:set_string("formspec", formspec(mem)) meta:set_int("pull_dir", techage.side_to_indir("R", node.param2)) end, diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 382496b..352456b 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -31,7 +31,8 @@ techage.manual_DE.aTitel = { "2,Items produzieren", "3,TA2 Autocrafter", "3,TA2 Elektronikfabrik", - "3, ", + "2,Sonstige Blöcke", + "3,TA2 Flüssigkeitensammler", } techage.manual_DE.aText = { @@ -51,11 +52,12 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Diese Dokumentation ist sowohl \"ingame\" als auch im Netz als HTML-Seiten verfügbar.\n".. + "Diese Dokumentation ist sowohl \"ingame\" (Block Konstruktionsplan) als auch im Netz als HTML-Seiten verfügbar.\n".. "\n".. - "TODO links.\n".. + "Original Link: https://github.com/joe7575/techage/blob/master/manuals/manual_DE.md\n".. + "Short Link: https://tinyurl.com/y2lwl35h\n".. "\n".. - "Die Konstruktionspläne für den Aufbau der Maschinen sind nur ingame verfügbar.\n".. + "Die Konstruktionspläne (Diagramme) für den Aufbau der Maschinen sind nur ingame verfügbar.\n".. "\n".. "Du musst von vorne beginnen. Nur mit den Items aus TA1 kannst du TA2 Blöcke herstellen\\, für TA3 benötigst du die Ergebnisse aus TA2\\, usw.\n".. "\n".. @@ -142,7 +144,7 @@ techage.manual_DE.aText = { "\n", "Die Dampfmaschine besteht aus mehreren Blöcken und muss wie im Plan rechts abgebildet\\, zusammen gebaut werden. Dazu werden die Blöcke TA2 Feuerbox\\, TA2 Boiler oben\\, TA2 Boiler unten\\, TA2 Zylinder\\, TA2 Schwungrad und Dampfleitungen benötigt.\n".. "\n".. - "Zusätzlich werden Antriebsachsen sowie Getriebeboxen für Richtungswechsel benötigt. Das Schwungrad muss über die Antriebsachsen mit allen Maschinen verbunden werden\\, die angetrieben werden müssen.\n".. + "Zusätzlich werden Antriebsachsen sowie Getriebeblöcke für Richtungswechsel benötigt. Das Schwungrad muss über die Antriebsachsen mit allen Maschinen verbunden werden\\, die angetrieben werden müssen.\n".. "\n".. "Bei allen Blöcken beim Setzen immer auch die Ausrichtung achten:\n".. "\n".. @@ -261,11 +263,26 @@ techage.manual_DE.aText = { "\n", "Mit TA2 Maschinen können nicht nur Erze gewonnen\\, sondern auch Gegenstände hergestellt werden.\n".. "\n", + "Der Autocrafter dient zur automatischen Herstellung von Waren. Alles was der Spieler über das \"Crafting Grid\" herstellen kann\\, kann auch durch den Autocrafter erledigt werden. Dazu müssen im Menü des Autocrafters das Rezept eingegeben und die notwendigen Zutaten hinzugefügt werden.\n".. + "\n".. + "Zutaten und hergestellte Waren können über Rühren und Schieber in und aus dem Block transportiert werden.\n".. + "\n".. + "Die Verarbeitungsleistung ist ein Item alle 4 s. Der Autocrafter benötigt 4 ku Energie.\n".. + "\n".. "\n".. "\n", + "Die Elektronikfabrik ist eine Spezialmaschine und nur für die Herstellung der Vakuumröhren nutzbar. Vakuumröhren werden für TA3 Maschinen und Blöcke benötigt.\n".. + "\n".. + "Die Verarbeitungsleistung ist eine Vakuumröhre alle 6 s. Die Elektronikfabrik benötigt 8 ku Energie.\n".. + "\n".. "\n".. "\n", - " zur VerBaue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine .\n".. + "", + "Für manche Rezepte wird Wasser benötigt. Damit auch diese Rezepte automatisiert mit dem Autocrafter bearbeitet werden können\\, muss Wasser in Eimern bereitgestellt werden. Hierzu dient der Flüssigkeitensammler. Er benötigt leere Eimer und muss ins Wasser gestellt werden.\n".. + "\n".. + "Die Verarbeitungsleistung ist ein Wassereimer alle 8 s. Der Flüssigkeitensammler benötigt 3 ku Energie.\n".. + "\n".. + "\n".. "\n", } @@ -301,6 +318,7 @@ techage.manual_DE.aItemName = { "ta2_autocrafter", "ta2_electronicfab", "", + "ta2_liquidsampler", } techage.manual_DE.aPlanTable = { @@ -335,5 +353,6 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", } diff --git a/i18n.py b/i18n.py index e8c7c8b..6f85a74 100755 --- a/i18n.py +++ b/i18n.py @@ -1,8 +1,12 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Generate a template file for translation purposes - +# Script to generate the template file and update the translation files. +# +# Copyright (C) 2019 Joachim Stolberg +# LGPLv2.1+ +# +# Copy the script into the mod root folder and adapt the last code lines to you needs. import os, fnmatch, re, shutil @@ -14,11 +18,11 @@ def gen_template(templ_file, lkeyStrings): lkeyStrings.sort() for s in lkeyStrings: lOut.append("%s=" % s) - file(templ_file, "wt").write("\n".join(lOut)) + open(templ_file, "wt").write("\n".join(lOut)) def read_lua_file_strings(lua_file): lOut = [] - text = file(lua_file).read() + text = open(lua_file).read() for s in pattern_lua.findall(text): s = re.sub(r'"\.\.\s+"', "", s) s = re.sub("@[^@=n]", "@@", s) @@ -30,7 +34,7 @@ def read_lua_file_strings(lua_file): def inport_tr_file(tr_file): dOut = {} - for line in file(tr_file, "r").readlines(): + for line in open(tr_file, "r").readlines(): s = line.strip() if s == "" or s[0] == "#": continue @@ -46,7 +50,7 @@ def generate_template(templ_file): if fnmatch.fnmatch(name, "*.lua"): fname = os.path.join(root, name) found = read_lua_file_strings(fname) - print fname, len(found) + print(fname, len(found)) lOut.extend(found) lOut = list(set(lOut)) lOut.sort() @@ -64,8 +68,11 @@ def update_tr_file(lNew, mod_name, tr_file): for key in dOld: if key not in lNew: lOut.append("%s=%s" % (key, dOld[key])) - file(tr_file, "w").write("\n".join(lOut)) + open(tr_file, "w").write("\n".join(lOut)) data = generate_template("./locale/template.txt") update_tr_file(data, "techage", "./locale/techage.de.tr") -print "Done.\n" +update_tr_file(data, "techage", "./locale/techage.fr.tr") +#update_tr_file(data, "mymod", "./locale/mymod.de.tr") +#update_tr_file(data, "mymod", "./locale/mymod.fr.tr") +print("Done.\n") diff --git a/locale/techage.de.tr b/locale/techage.de.tr index c262866..0245cb3 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -150,7 +150,7 @@ TA3 Terminal=TA3 Terminal TA3 Timer=TA3 Timer TA3 Tiny Power Generator=TA3 Kleiner Stromgenerator TA3 Turbine=TA3 Turbine -TA3 Vacuum Tube=TA3 Vakuumpumpe +TA3 Vacuum Tube=TA3 Vakuumröhre TA4 Carbon Fiber=TA4 Kohlefaser TA4 Derrick=TA4 Bohrturm TA4 Epoxide Resin=TA4 Epoxidharz @@ -209,4 +209,4 @@ commands like: help=Kommandos wie: help connected with=verbunden mit removed=entfernt stopped=gestoppt -##### not used anymore ##### +##### not used anymore ##### \ No newline at end of file diff --git a/manuals/manual_DE.md b/manuals/manual_DE.md index 1e0c463..d059226 100644 --- a/manuals/manual_DE.md +++ b/manuals/manual_DE.md @@ -18,11 +18,12 @@ Regenerative Energiequellen wie Wind, Sonne und Biokraft helfen dir, das Ölzeit ## Hinweise -Diese Dokumentation ist sowohl "ingame" als auch im Netz als HTML-Seiten verfügbar. +Diese Dokumentation ist sowohl "ingame" (Block Konstruktionsplan) als auch im Netz als HTML-Seiten verfügbar. -TODO links. +Original Link: https://github.com/joe7575/techage/blob/master/manuals/manual_DE.md +Short Link: https://tinyurl.com/y2lwl35h -Die Konstruktionspläne für den Aufbau der Maschinen sind nur ingame verfügbar. +Die Konstruktionspläne (Diagramme) für den Aufbau der Maschinen sind nur ingame verfügbar. Du musst von vorne beginnen. Nur mit den Items aus TA1 kannst du TA2 Blöcke herstellen, für TA3 benötigst du die Ergebnisse aus TA2, usw. diff --git a/manuals/manual_ta2_DE.md b/manuals/manual_ta2_DE.md index 7531070..b1d4c07 100644 --- a/manuals/manual_ta2_DE.md +++ b/manuals/manual_ta2_DE.md @@ -167,13 +167,28 @@ Mit TA2 Maschinen können nicht nur Erze gewonnen, sondern auch Gegenstände her ### TA2 Autocrafter +Der Autocrafter dient zur automatischen Herstellung von Waren. Alles was der Spieler über das "Crafting Grid" herstellen kann, kann auch durch den Autocrafter erledigt werden. Dazu müssen im Menü des Autocrafters das Rezept eingegeben und die notwendigen Zutaten hinzugefügt werden. + +Zutaten und hergestellte Waren können über Rühren und Schieber in und aus dem Block transportiert werden. + +Die Verarbeitungsleistung ist ein Item alle 4 s. Der Autocrafter benötigt 4 ku Energie. + [ta2_autocrafter](/image/) ### TA2 Elektronikfabrik +Die Elektronikfabrik ist eine Spezialmaschine und nur für die Herstellung der Vakuumröhren nutzbar. Vakuumröhren werden für TA3 Maschinen und Blöcke benötigt. + +Die Verarbeitungsleistung ist eine Vakuumröhre alle 6 s. Die Elektronikfabrik benötigt 8 ku Energie. + [ta2_electronicfab](/image/) -### +## Sonstige Blöcke - zur VerBaue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine . +### TA2 Flüssigkeitensammler +Für manche Rezepte wird Wasser benötigt. Damit auch diese Rezepte automatisiert mit dem Autocrafter bearbeitet werden können, muss Wasser in Eimern bereitgestellt werden. Hierzu dient der Flüssigkeitensammler. Er benötigt leere Eimer und muss ins Wasser gestellt werden. + +Die Verarbeitungsleistung ist ein Wassereimer alle 8 s. Der Flüssigkeitensammler benötigt 3 ku Energie. + +[ta2_liquidsampler](/image/) \ No newline at end of file diff --git a/manuals/markdown2formspec.py b/manuals/markdown2formspec.py index 8853c92..9e3023c 100644 --- a/manuals/markdown2formspec.py +++ b/manuals/markdown2formspec.py @@ -124,6 +124,9 @@ class MyRenderer(mistune.Renderer): elif link == "/plan/": self.PlanTable = content return "" + + def autolink(self, link, is_email=False): + return link # ~ # ~ double_emphasis(text)