aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorywang <yw05@forksworld.de>2021-03-27 16:45:41 +0100
committerywang <yw05@forksworld.de>2021-05-25 19:18:57 +0200
commit35e0af272f10b53d9553bc1a207fdf10beab260c (patch)
treef4e2295232fe7736853944066ddd696136d102c0
parent6e455f599ce3b508db49fdde99cf4c133d5b90b3 (diff)
downloadadvtrains-35e0af272f10b53d9553bc1a207fdf10beab260c.tar.gz
advtrains-35e0af272f10b53d9553bc1a207fdf10beab260c.tar.bz2
advtrains-35e0af272f10b53d9553bc1a207fdf10beab260c.zip
Update German translation; add script to update l10n files
-rw-r--r--advtrains/locale/advtrains.de.tr86
-rw-r--r--advtrains/locale/template.txt1
-rw-r--r--advtrains/locale/update-l10n.lua41
3 files changed, 101 insertions, 27 deletions
diff --git a/advtrains/locale/advtrains.de.tr b/advtrains/locale/advtrains.de.tr
index cd43eed..fb336ea 100644
--- a/advtrains/locale/advtrains.de.tr
+++ b/advtrains/locale/advtrains.de.tr
@@ -1,8 +1,8 @@
# textdomain: advtrains
+
+# Advtrains Core (unorganized)
This wagon is owned by @1, you can't destroy it.=Dieser Waggon gehört @1, du kannst ihn nicht abbauen.
Warning: If you destroy this wagon, you only get some steel back! If you are sure, hold Sneak and left-click the wagon.=Warnung: Du erhältst nur etwas Stahl zurück. Wenn du sicher bist, dass du den Waggon zerstören willst, halte 'Schleichen' und klicke links.
-Show Inventory=Zeige Inventar
-Select seat:=Wähle einen Sitzplatz aus:
ATC controller, unconfigured.=Zugbeeinflussungsschiene, nicht konfiguiert.
ATC controller=Zugbeeinflussungsschiene
ATC controller, mode @1@nChannel: @2=Zugbeeinflussungsschiene in Betriebsart "@1"@nKanal: @2
@@ -10,19 +10,11 @@ ATC controller, mode @1@nCommand: @2=Zugbeeinflussungsschiene in Betriebsart "@1
Command=Befehl
Command (on)=Befehl (wenn ein)
Digiline channel=Digiline-Kanal
-Save=Speichern
ATC Reverse command warning: didn't reverse train, train moving!=Zugbeeinflussung - Warnung: Befehl 'R' nicht ausgeführt, Zug in Bewegung!
ATC command syntax error: I statement not closed: @1=Zugbeeinflussung - Syntaxfehler: I-Anweisung nicht geschlossen: @1
ATC command parse error: Unknown command: @1=Zugbeeinflussung - Fehler: Unbekannter Befehl: @1
This position is protected!=Diese Position ist geschützt!
You need to own at least one neighboring wagon to destroy this couple.=Du musst Besitzer eines angrenzenden Waggons sein, um hier abzukuppeln.
-@1 Platform (low)=Niedriger @1-Bahnsteig
-@1 Platform (high)=Hoher @1-Bahnsteig
-off=aus
-on=ein
-Lampless Signal (@1)=Mechanisches Signal (@1)
-Signal (@1)=Lichtsignal (@1)
-Track Worker Tool@n@nLeft-click: change rail type (straight/curve/switch)@nRight-click: rotate rail/bumper/signal/etc.=Schienenwerkzeug@n@nLinksklick: Schienentyp ändern, Rechtsklick: Objekt drehen.
This node can't be rotated using the trackworker!=Kann diesen Block nicht mit dem Schienenwerkzeug drehen.
This node can't be changed using the trackworker!=Kann diesen Block nicht mit dem Schienenwerkzeug bearbeiten.
Can't place: not pointing at node=Kann nicht platzieren: Du zeigst nicht auf einen Block.
@@ -32,28 +24,77 @@ Can't place: Not enough slope items left (@1 required)=Kann nicht platzieren: ni
Can't place: There's no slope of length @1=Kann nicht platzieren: Keine Steigung der Länge @1 definiert.
Can't place: no supporting node at upper end.=Kann nicht platzieren: kein unterstützender Block am Ende der Steigung.
Deprecated Track=ausrangierte Schiene, nicht verwenden.
-Track=Schiene
-Bumper=Prellbock
-Detector Rail=Detektorschiene
-Speed:=Geschw.:
-Target:=Zielges.:
-@1 Slope=@1 Steigung
Can't get on: wagon full or doors closed!=Kann nicht einsteigen: Waggon voll oder Türen geschlossen.
Use Sneak+rightclick to bypass closed doors!=Nutze Sneak+Rechtsklick, um die Türnotöffnung zu aktivieren und trotzdem einzusteigen.
Lock couples=Kupplungen sperren
-Save wagon properties=Waggon-Einstellungen speichern
Doors are closed! Use Sneak+rightclick to ignore the closed doors and get off!=Türen sind geschlossen! Sneak+Rechtsklick, um die Türnotöffnung zu aktivieren und trotzdem auszusteigen.
+Access to @1=Zugang zu @1
+The clipboard couldn't access the metadata. Paste failed.=Wegen eines fehlgeschlagenen Zugriffs auf die Metadaten konnte eine Kopie des Zuges nicht eingefügt werden.
+The clipboard couldn't access the metadata. Copy failed.=Wegen eines fehlgeschlagenen Zugriffs auf die Metadaten konnte der Zug nicht kopiert werden.
+
+# Train HUD/Formspecs
+Speed:=Geschw.:
+Target:=Zielges.:
+Show Inventory=Zeige Inventar
+Select seat:=Wähle einen Sitzplatz aus:
Wagon properties=Waggon-Einstellungen
+Save wagon properties=Waggon-Einstellungen speichern
+Text displayed outside on train=Text displayed outside on train
+Text displayed inside train=Text displayed inside train
+Line=Linie
+Routingcode=Routingcode
Get off=Aussteigen
Get off (forced)=Aussteigen (erzwingen)
(Doors closed)=(Türen geschlossen)
-Access to @1=Zugang zu @1
+
+# General
+Save=Speichern
+off=aus
+on=ein
+
+# Line automation
+Station Code=Code der Haltestelle
+Station Name=Name der Haltestelle
+Door Delay=Zeit für die Türschließung
+Departure Speed=Zielgeschwindigkeit bei Abfahrt
+Stop Time=Wartezeit
+
+# Items
+Track Worker Tool@n@nLeft-click: change rail type (straight/curve/switch)@nRight-click: rotate rail/bumper/signal/etc.=Schienenwerkzeug@n@nLinksklick: Schienentyp ändern, Rechtsklick: Objekt drehen.
+Passive Component Naming Tool@n@nRight-click to name a passive component.=PC-Benennungswerkzeug@n@nRechtsklick zur Benennung der passiven Komponente
+Train copy/paste tool@n@nLeft-click: copy train@nRight-click: paste train=Train copy/paste tool@n@nLeft-click: copy train@nRight-click: paste train
+Track=Schiene
+Perpendicular Diamond Crossing Track=Perpendicular Diamond Crossing Track
+45/90 Degree Diamond Crossing Track=45/90 Degree Diamond Crossing Track
+Unloading Track=Abladungsschiene
+Loading Track=Beladungsschiene
+Bumper=Prellbock
+Detector Rail=Detektorschiene
+@1 Slope=@1 Steigung
+@1 Platform (low)=Niedriger @1-Bahnsteig
+@1 Platform (high)=Hoher @1-Bahnsteig
+@1 Platform (45 degree)=@1-Bahnsteig (45°)
+Lampless Signal (@1)=Mechanisches Signal (@1)
+Signal (@1)=Lichtsignal (@1)
+Wallmounted Signal (l)=An der linken Seite montiertes Signal
+Wallmounted Signal (r)=An der rechten Seite montiertes Signal
+Wallmounted Signal (t)=An der Decke montiertes Signal
+Andrew's Cross=Andrew's Cross
+Boiler=Boiler
+driver's cab=driver's cab
+Wheel=Wheel
+Chimney=Chimney
+
+# Seats
Default Seat=Standardsitzplatz
Default Seat (driver stand)=Standardsitzplatz (Führerstand)
Driver Stand=Führerstand
Driver Stand (left)=Führerstand Links
Driver Stand (right)=Führerstand Rechts
+
+# Wagon/engine types
Industrial Train Engine=Industrielle Lokomotive
+Big Industrial Train Engine=Große Industrielle Lokomotive
Industrial tank wagon=Tankwaggon
Industrial wood wagon=Holztransportwaggon
Japanese Train Engine=Japanische Personenzug-Lokomotive
@@ -61,12 +102,5 @@ Japanese Train Wagon=Japanischer Personenzug-Passagierwaggon
Steam Engine=Dampflokomotive
Detailed Steam Engine=detaillierte Dampflokomotive
Passenger Wagon=Passagierwaggon
-Box wagon=Güterwaggon
+Box Wagon=Güterwaggon
Subway Passenger Wagon=U-Bahn-Waggon
-The wagon's inventory is not empty!=Das Inventar dieses Waggons ist nicht leer!
-This track can not be changed!=Diese Schiene kann nicht geändert werden!
-This track can not be rotated!=Diese Schiene kann nicht gedreht werden!
-This track can not be removed!=Diese Schiene kann nicht entfernt werden!
-Position is occupied by a train.=Ein Zug steht an dieser Position.
-There's a Track Circuit Break here.=Hier ist eine Gleisabschnittsgrenze (TCB).
-There's a Signal Influence Point here.=Hier ist ein Signal-Beeinflussungspunkt.
diff --git a/advtrains/locale/template.txt b/advtrains/locale/template.txt
index 0eb7591..c51770d 100644
--- a/advtrains/locale/template.txt
+++ b/advtrains/locale/template.txt
@@ -49,7 +49,6 @@ Get off (forced)=Get off (forced)
# General
Save=Save
-# "off" and "on" can be translated differently depending on the context and are therefore not translated.
off=off
on=on
diff --git a/advtrains/locale/update-l10n.lua b/advtrains/locale/update-l10n.lua
new file mode 100644
index 0000000..e0c2418
--- /dev/null
+++ b/advtrains/locale/update-l10n.lua
@@ -0,0 +1,41 @@
+local tf = {}
+for l in io.lines() do
+ tf[#tf+1] = l
+end
+
+local ot = {[0] = ""}
+local f = io.open("template.txt") or error("Cannot open translation template")
+for l in f:lines() do
+ if l == "" then -- blank line
+ if ot[#ot] ~= l then ot[#ot+1] = l end
+ elseif l:find("^#") then -- comment
+ if ot[#ot] ~= l then ot[#ot+1] = l end
+ else
+ s = l:match("^(.+[^@]=)")
+ if s then
+ local found = false
+ for i = 1, #tf, 1 do
+ if tf[i]:find(s, 1, true) == 1 then
+ found = i
+ break
+ end
+ end
+ if found then
+ local fc = found-1
+ while fc > 0 do
+ if not tf[fc]:find("^#") then break end
+ fc = fc-1
+ end
+ for i = fc+1, found, 1 do
+ if ot[#ot] ~= tf[i] then ot[#ot+1] = tf[i] end
+ end
+ else
+ if ot[#ot] ~= l then ot[#ot+1] = l end
+ end
+ end
+ end
+end
+
+for i = 1, #ot, 1 do
+ print(ot[i])
+end \ No newline at end of file