diff options
-rw-r--r-- | advtrains/helpers.lua | 2 | ||||
-rw-r--r-- | advtrains/init.lua | 2 | ||||
l--------- | advtrains/locale/README.md | 1 | ||||
-rw-r--r-- | advtrains/locale/advtrains.cs.tr | 36 | ||||
-rw-r--r-- | advtrains/po/README.md | 70 | ||||
-rw-r--r-- | advtrains/po/advtrains.pot | 632 | ||||
-rw-r--r-- | advtrains/po/de.po | 724 | ||||
-rw-r--r-- | advtrains/po/fr.po | 728 | ||||
-rwxr-xr-x | advtrains/po/update-translations.sh | 28 | ||||
-rw-r--r-- | advtrains/po/zh_CN.po | 696 | ||||
-rw-r--r-- | advtrains/po/zh_TW.po | 696 | ||||
-rw-r--r-- | advtrains/poconvert.lua | 185 | ||||
-rw-r--r-- | advtrains/wagons.lua | 4 | ||||
-rw-r--r-- | advtrains_interlocking/database.lua | 4 | ||||
-rw-r--r-- | advtrains_interlocking/route_prog.lua | 12 | ||||
-rw-r--r-- | advtrains_interlocking/route_ui.lua | 48 | ||||
-rw-r--r-- | advtrains_interlocking/routesetting.lua | 4 | ||||
-rw-r--r-- | advtrains_interlocking/signal_aspect_ui.lua | 38 | ||||
-rw-r--r-- | advtrains_interlocking/tcb_ts_ui.lua | 112 | ||||
-rw-r--r-- | advtrains_interlocking/tool.lua | 21 | ||||
-rw-r--r-- | advtrains_signals_ks/init.lua | 153 | ||||
-rw-r--r-- | advtrains_train_track/init.lua | 18 |
22 files changed, 293 insertions, 3921 deletions
diff --git a/advtrains/helpers.lua b/advtrains/helpers.lua index 1ed5a7e..6f5d1eb 100644 --- a/advtrains/helpers.lua +++ b/advtrains/helpers.lua @@ -520,7 +520,7 @@ function advtrains.after_place_signal(pos, placer, itemstack, pointed_thing) local rn = minetest.registered_nodes local prefix = name:sub(1, -2) if not (rn[prefix.."30"] and rn[prefix.."45"] and rn[prefix.."60"]) then return end - local variant = math.floor(placer:get_look_horizontal() * -8 / math.pi + 16.5) + local variant = math.floor(placer:get_look_horizontal() * -8 / math.pi + 16.25) % 16 local n = variants[variant + 1] if n == nil then return end local node = advtrains.ndb.get_node(pos) diff --git a/advtrains/init.lua b/advtrains/init.lua index f602c44..82c3bbb 100644 --- a/advtrains/init.lua +++ b/advtrains/init.lua @@ -207,8 +207,6 @@ advtrains.meseconrules = advtrains.fpath=minetest.get_worldpath().."/advtrains" -advtrains.poconvert = dofile(advtrains.modpath.."/poconvert.lua") -advtrains.poconvert.from_flat("advtrains") attrans = minetest.get_translator("advtrains") advtrains.speed = dofile(advtrains.modpath.."/speed.lua") diff --git a/advtrains/locale/README.md b/advtrains/locale/README.md deleted file mode 120000 index 61e473c..0000000 --- a/advtrains/locale/README.md +++ /dev/null @@ -1 +0,0 @@ -../po/README.md
\ No newline at end of file diff --git a/advtrains/locale/advtrains.cs.tr b/advtrains/locale/advtrains.cs.tr index 21abf9c..dbf62c0 100644 --- a/advtrains/locale/advtrains.cs.tr +++ b/advtrains/locale/advtrains.cs.tr @@ -23,15 +23,19 @@ ATC controller, mode @1@nCommand: @2=Řídicí obvod ATC v režimu "@1"@nPříka ATC controller, unconfigured.=Řídicí obvod ATC, nenastavený. ATC controller=řídicí obvod ATC Access to @1=Přístup k: @1 +Add locks=Přidat zámky Allow these players to access your wagon:=Dovolit těmto hráčským postavám řídit váš vlak: Andrew's Cross=výstražný kříž Assign a signal=Přiřadit signál +Assigned distant signal to the main signal at @1=Předzvěst přiřazena hlavnímu signálu na pozici @1 +Automatic routesetting=ARS Automatic Working is active.=Automatika je aktivní. BBÖ 1080=zelená elektrická lokomotiva (výkonná) Big Industrial Train Engine=velká průmyslová lokomotiva Black Subway Passenger Wagon=černý vůz metra Blue Subway Passenger Wagon=modrý vůz metra Boiler=kotel (pro parní lokomotivu) +Boundary TCBs=Hraniční TCB Box Wagon=dřevěný nákladní vagon Buffer and Chain Coupler=Spřáhlo typu BCC Bumper=zarážka @@ -53,6 +57,7 @@ Cannot use this here.=Zde tento nástroj nelze použít. Chimney=komín (pro parní lokomotivu) Clear 'Disable ARS' flag=Zrušit příznak 'vypnout ARS' Clear=Uvolnit/smazat +Clear locks=Smazat zámky Closed=neotevírat Coal Wagon(for transib)=výsypný nákladní vagon Command (on)=Příkaz (zapnutý) @@ -82,6 +87,7 @@ Current FC:=Akt. NK: Default Seat (driver stand)=Výchozí sedadlo (sedadlo řidiče/ky) Default Seat=Výchozí sedadlo Delete all train routes, force them to recalculate=Smaže všechny vlakové cesty, čímž vynutí jejich nové vypočítání. +Delete this route=Smazat tuto cestu. Demo signal at Danger=ukázkový signál: Stůj Demo signal at Free=ukázkový signál: Volno Demo signal at Slow=ukázkový signál: Pomalu @@ -97,10 +103,12 @@ Disable Automatic Working=Vypnout automatiku Disable the advtrains globalstep temporarily=Dočasně vypne globální krok advtrains Display advtrains train map of given area.@nFirst form:[x1 z1 x2 z2] - specify area directly.@nSecond form:[mdef] - Use a predefined map background(see init.lua)@nThird form: No parameters - use WorldEdit position markers.=Zobrazí mapu dané oblasti podle advtrains.@nPrvní forma: [x1 z1 x2 z2] - určit oblast přímo.@nDruhá forma:[mdef] - Použít předdefinované pozadí mapy (viz init.lua)@nTřetí forma: Bez parametrů - použít pozice nastavené v Editoru světa. Dissolve Section=Rozpustit úsek +Distant signal triggers ARS=Předzvěst spouští ARS Door Delay=Zpoždění dveří Door Side=Otevřít dveře Doors are closed! (try holding sneak key!)=Dveře jsou zavřené! (zkuste při nástupu držet Shift) Doors are closed! Use Sneak+rightclick to ignore the closed doors and get off!=Dveře jsou zavřeny! Pro obejití dveří držte při výstupu Shift. +Driver's cab=kabina strojvedoucí/ho Driver Stand (left)=Sedadlo řidiče/ky (vlevo) Driver Stand (right)=Sedadlo řidiče/ky (vpravo) Driver Stand=Sedadlo řidiče/ky @@ -118,6 +126,7 @@ Expect to pass the next signal at maximum speed=Bude: Volno Expect to pass the next signal at speed of @1=Bude: Volno s omezením rychlosti na @1 Expect to stop at the next signal=Bude: Stůj Failed to remove TCB!=Odstranění TCB selhalo! +Fixed route locks (e.g. level crossings)=Zámky (např. výhybky a křížení) Freight Code:=Nákladní kód: Get off (forced)=Vystoupit (vynutit) Get off=Vystoupit @@ -132,6 +141,7 @@ Industrial wood wagon=klanicový vůz Influence Point=Bod účinku Influence point is not set.=Bod účinku není nastaven. Influence point is set at @1/@2=Bod účinku je nastaven na: @1/@2 +Influence point is set at @1.=Bod účinku je nastaven na: @1 Insufficient privileges to use this!=Nemáte právo použít tento nástroj! Interlocking privilege required!=Na přehazování výhybek je potřeba právo! Interlocking tool@nright-click turnouts to inspect route locks=železniční inspekční nástroj@nKlikněte pravým tlačítkem na výhybku pro prozkoumání vlakových cest @@ -154,17 +164,21 @@ Lampless Signal (@1)=mechanický signál (@1) Left=vlevo Line speed restriction sign=linkové omezení traťové rychlosti Line=Linka +Link @1=Spojeno s @1 Loading Track=kolej nakládání/vykládání Lock couples=Spřažení uzamčeno Manual lock (@1)=Ručně nastavená vlaková cesta (@1) MeseJet Engine=hnací článek moderní elektrické jednotky MeseJet Wagon=článek moderní elektrické jednotky Missing train_operator privilege=Chybí vám právo train_operator +Modify=Změnit Move=Přesunout NOTE: ARS is disabled.=Poznámka: ARS je vypnuto. New Route=Nová vlaková cesta +New (Manual)=Přidat cestu ručně Next Stop:=Příští zastávka/stanice: No info=Bez informace +No Link=Žádné spojení No route locks set=Žádné vlakové cesty No trains on this section.=Žádné vlaky Not allowed to do this.=Toto vám není dovoleno. @@ -179,16 +193,19 @@ Permanent local speed restriction sign=trvalé omezení traťové rychlosti Perpendicular Diamond Crossing Track=pravoúhlé křížení kolejí Please cancel route first!=Nejdřív prosím zrušte vlakovou cestu! Please unassign signal first!=Nejdřív prosím odpojte signál! -Point Speed Restriction Rail=kolej s omezením rychlosti +Point Speed Restriction Track=kolej s omezením rychlosti +Point speed restriction: @1=omezení rychlosti: @1 Point speed restriction=omezení rychlosti Position is occupied by a train.=Pozice je zabrána vlakem. +Punch components to add fixed locks. (punch anything else @= end)=Levý klik na komponenty pro jejich uzamčení. (levý klik na cokoliv jiného @= konec) Red Subway Passenger Wagon=červený vůz metra Remote Routesetting=Vzdálené nastavení vlakové cesty Remote Detector Rail=detekující kolej (dálková) Remove from section=Odstranit z trať. úseku +Remove Section=Rozpustit traťový úsek Reset section state=Vymazat stav úseku -Reset track section @1!=Smazat stav traťového úseku @1! -Reset track section=Smazat stav traťového úseku +Reset track section @1!=Smazán stav traťového úseku @1! +Reset track section=Smazán stav traťového úseku Returns the position of the train with the given id=Vypíše pozici vlaku podle jeho id Reverse train=Obrátit směr jízdy Right=vpravo @@ -211,19 +228,24 @@ Section name=Název úseku Select Signal Aspect:=Signál: Select seat:=Vybrat místo k sezení: Set Route=Nastavit vlakovou cestu +Set ARS default route=Nastavit cestu jako výchozí Set aspect manually=Nastavit stav signalizace ručně +Set distant signal: Punch the main signal to assign!=Nastavení předzvěsti: levý klik na hlavní signál pro přiřazení. Set point speed restriction:=nastavit omezení rychlosti: Set=Nastavit Show Inventory=Zobrazit inventář Show track section=Zobrazit traťový úsek Show=Zobrazit Side @1=Strana @1 +Side A=Strana A +Side B=Strana B Signal (@1)=světelný signál (@1) Signal Sign=železniční značka Signal at @1=Signalizace na pozici @1 Signal has been unassigned. Name and routes are kept for reuse.=Signál byl odpojen. Jméno a vlakové cesty jsou zachovány pro znovupoužití. Signal name=Název signalizace Signalling=Signalizace +Smart Route=Přidat automaticky Speed:=Rychlost: Station Code=Kód dopravny Station Name=Název dopravny @@ -235,6 +257,7 @@ Stop Time=Doba stání Subway Passenger Wagon=žlutý vůz metra TCB assigned to @1=TCB přiřazeno na @1 TCB has been removed.=TCB byla odstraněna. +TCB Link: Select linked TCB now!=Spojení TCB: Zvolte TCB ke spojení. Target:=Cíl: Temporary local speed restriction sign=dočasné omezení traťové rychlosti Text displayed inside train=Text zobrazený uvnitř (5 ř.) @@ -253,15 +276,17 @@ This track can not be changed!=Tento úsek nemůže být změněn! This track can not be removed!=Tento úsek nemůže být odstraněn! This track can not be rotated!=Tento úsek nemůže být otočen! This wagon is owned by @1, you can't destroy it.=Vlastníkem/cí toho vagonu je @1, nemáte právo ho rozebrat. +This Wagon ID=ID vagonu This will clear the list of trains@nand the routesetting status of this section.@nAre you sure?=Toto smaže seznam vlaků@na stav tohoto úseku.@nJste si jistý/á? This will remove the track section and set all its end points to End Of Interlocking=Toto odstraní traťový úsek a nastaví všechny jsou konce jako konce zabezpečení Track Circuit Break Configuration=Nastavení hranice traťových oddílů Track Circuit Break=hranice traťových úseků (TCB) -Track Section Detail - @1=Přehled traťové sekce - @1 -Track Worker Tool@n@nLeft-click: change rail type (straight/curve/switch)@nRight-click: rotate rail/bumper/signal/etc.=klíč na konstrukci výhybek@n@nLevé tlačítko přepíná typ trati (rovná/zatáčka/výhybka),@nPravé tlačítko otáčí kolejový úsek. +Track Section Detail - @1=Přehled traťového úseku - @1 +Track Worker Tool@n@nLeft-click: change rail type (straight/curve/switch)@nRight-click: rotate object=klíč na konstrukci výhybek@n@nLevé tlačítko přepíná typ trati (rovná/zatáčka/výhybka),@nPravé tlačítko otáčí kolejový úsek. Track with Railway Gravel=kolej s železničním štěrkem Track=kolej Train copy/paste tool@n@nLeft-click: copy train@nRight-click: paste train=duplikátor vlakových souprav@n@nKlik levým: zkopírovat soupravu do schránky@nKlik pravým: umístit duplikát na trať +Train ID=ID vlaku Train overview / coupling control is only shown when the train stands.=Ovládání spřáhel je možné jen u strojícího vlaku Train overview/coupling control:=Ovládání spřáhel: Trains on this section:=Vlaky v tomto úseku: @@ -279,6 +304,7 @@ Use the 'Join' button to designate rail crosses and link not listed far-away TCB Wagon is full.=Vůz je plně obsazen. Wagon placeholder=Místodržící vagonu Wagon properties=Vlastnosti vagonu +Wagon Properties Tool@nPunch a wagon to view and edit the Wagon Properties=editor vlastností vagonu (použít levým klikem) Wagon road number:=Číslo vagonu: Wait for this route to be cancelled in order to do anything here.= Wait for this route to be cancelled in order to do anything here.=Počkejte na zrušení vlakové cesty, než tu budete moci cokoliv dělat. diff --git a/advtrains/po/README.md b/advtrains/po/README.md deleted file mode 100644 index 3e94682..0000000 --- a/advtrains/po/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Translations -Please read this document before working on any translations. - -Unlike many other mods, Advtrains uses `.po` files for localization, -which are then automatically converted to `.tr` files when the mod is -loaded. Therefore, please submit patches that edit the `.po` files. - -## Getting Started -The translation files can be edited like any other `.po` file. - -If the translation file for your language does not exist, create it by -copying `template.txt` to `advtrains.XX.tr`, where `XX` is replaced by -the language code. - -Feel free to use the [discussion mailing list][srht-discuss] if you -have any questions regarding localization. - -You can share your `.po` file directly or [as a patch][gsm] to the [dev -mailing list][srht-devel]. The latter is encouraged, but, unlike code -changes, translation files sent directly are also accepted. - -[tr-format]: https://minetest.gitlab.io/minetest/translations/#translation-file-format -[srht-discuss]: https://lists.sr.ht/~gpcf/advtrains-discuss -[srht-devel]: https://lists.sr.ht/~gpcf/advtrains-devel -[gsm]: https://git-send-email.io - -## Translation Notes -* Translations should be consistent. You can use other entries or the -translations in Minetest as a reference. -* Translations do not have to fully correspond to the original text - -they only need to provide the same information. In particular, -translations do not need to have the same linguistical structure as the -original text. -* Replacement sequences (`@1`, `@2`, etc) should not be translated. -* Certain abbreviations or names, such as "Ks" or "Zs 3", should -generally not be translated. - -### (de) German -* Verwenden Sie die neue Rechtschreibung und die Sie-Form. -* Mit der deutschen Tastaturbelegung unter Linux können die -Anführungszeichen „“ mit AltGr-V bzw. AltGr-B eingegeben werden. - -### (zh) Chinese -(This section is written in English to avoid writing the note twice or -using only one of the variants, as most of this section applies to both -the traditional and simplified variants.) - -* Please use the 「」 quotation marks for Traditional Chinese and “” -for Simplified Chinese. -* Please use the fullwidth variants of: , 、 。 ? ! : ; -* Please use the halfwidth variants of: ( ) [ ] / \ | -* Please do not leave any space between Han characters (including -fullwidth punctuation marks). -* Please leave a space between Han characters (excluding fullwidth -punctuation marks) and characters from other scripts (including -halfwidth punctuation marks). However, do not leave any space between -Han characters and Arabic numerals. - -## Notes for developers -* The `update-translations.sh` script can be used to update the -translation files. However, please make sure to install the -`basic_trains` mod before running the script. -* Please make sure that the first argument to `S` (or `attrans`) _only_ -includes string literals without formatting or concatenation. This is -unfortunately a limitation of the `xgettext` utility. -* Avoid word-by-word translations. -* Avoid manipulating translated strings (except for concatenation). Use -server-side translations if you have to modify the text sent to users. -* Avoid truncating strings unless multibyte characters are handled -properly. diff --git a/advtrains/po/advtrains.pot b/advtrains/po/advtrains.pot deleted file mode 100644 index 6fda1d7..0000000 --- a/advtrains/po/advtrains.pot +++ /dev/null @@ -1,632 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the advtrains package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: advtrains\n" -"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n" -"POT-Creation-Date: 2023-10-09 11:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: advtrains/atc.lua:109 -msgid "Unconfigured ATC controller" -msgstr "" - -#: advtrains/atc.lua:150 -msgid "" -"ATC controller, mode @1\n" -"Command: @2" -msgstr "" - -#: advtrains/atc.lua:180 -msgid "Command" -msgstr "" - -#: advtrains/atc.lua:184 -msgid "Command (on)" -msgstr "" - -#: advtrains/atc.lua:187 -msgid "Digiline channel" -msgstr "" - -#: advtrains/atc.lua:189 advtrains_line_automation/stoprail.lua:65 -#: advtrains_luaautomation/active_common.lua:48 -msgid "Save" -msgstr "" - -#: advtrains/atc.lua:236 -msgid "ATC Reverse command warning: didn't reverse train, train moving." -msgstr "" - -#: advtrains/atc.lua:248 -msgid "ATC Kick command warning: doors are closed." -msgstr "" - -#: advtrains/atc.lua:252 -msgid "ATC Kick command warning: train moving." -msgstr "" - -#: advtrains/atc.lua:322 -msgid "ATC command syntax error: I statement not closed: @1" -msgstr "" - -#: advtrains/atc.lua:385 -msgid "ATC command parse error: Unknown command: @1" -msgstr "" - -#: advtrains/copytool.lua:8 -msgid "" -"Train copy/paste tool\n" -"\n" -"Left-click: copy train\n" -"Right-click: paste train" -msgstr "" - -#: advtrains/copytool.lua:29 -msgid "You do not have the @1 privilege." -msgstr "" - -#: advtrains/copytool.lua:41 -msgid "The track you are trying to place the wagon on is not long enough." -msgstr "" - -#: advtrains/copytool.lua:47 -msgid "The clipboard couldn't access the metadata. Paste failed." -msgstr "" - -#: advtrains/copytool.lua:52 advtrains/copytool.lua:57 -msgid "The clipboard is empty." -msgstr "" - -#: advtrains/copytool.lua:74 -msgid "Back of train would end up off track, cancelling." -msgstr "" - -#: advtrains/copytool.lua:92 -msgid "No such lua entity." -msgstr "" - -#: advtrains/copytool.lua:98 -msgid "No such wagon: @1." -msgstr "" - -#: advtrains/copytool.lua:104 -msgid "No such train: @1." -msgstr "" - -#: advtrains/copytool.lua:176 -msgid "The clipboard couldn't access the metadata. Copy failed." -msgstr "" - -#: advtrains/copytool.lua:180 -msgid "Train copied." -msgstr "" - -#: advtrains/couple.lua:28 -msgid "Buffer and Chain Coupler" -msgstr "" - -#: advtrains/couple.lua:29 -msgid "Scharfenberg Coupler" -msgstr "" - -#: advtrains/couple.lua:185 -msgid "" -"You are not allowed to couple trains without the train_operator privilege." -msgstr "" - -#: advtrains/couple.lua:329 advtrains/couple.lua:333 -msgid "<No coupler>" -msgstr "" - -#: advtrains/couple.lua:334 -msgid "Can not couple: The couplers of the trains do not match (@1 and @2)." -msgstr "" - -#: advtrains/craft_items.lua:3 -msgid "Boiler" -msgstr "" - -#: advtrains/craft_items.lua:9 -msgid "Driver's cab" -msgstr "" - -#: advtrains/craft_items.lua:15 -msgid "Wheel" -msgstr "" - -#: advtrains/craft_items.lua:21 -msgid "Chimney" -msgstr "" - -#: advtrains/misc_nodes.lua:16 -msgid "@1 Platform (low)" -msgstr "" - -#: advtrains/misc_nodes.lua:33 -msgid "@1 Platform (high)" -msgstr "" - -#: advtrains/misc_nodes.lua:59 -msgid "@1 Platform (45 degree)" -msgstr "" - -#: advtrains/misc_nodes.lua:81 -msgid "@1 Platform (low, 45 degree)" -msgstr "" - -#: advtrains/protection.lua:7 -msgid "Can place, remove and operate trains" -msgstr "" - -#: advtrains/protection.lua:12 -msgid "" -"Can place, remove and operate any train, regardless of owner, whitelist, or " -"protection" -msgstr "" - -#: advtrains/protection.lua:18 -msgid "Can place and dig tracks in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:24 -msgid "Can operate turnouts and signals in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build near tracks without the track_builder privilege." -msgstr "" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build tracks without the track_builder privilege." -msgstr "" - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build near tracks at this protected position." -msgstr "" - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build tracks at this protected position." -msgstr "" - -#: advtrains/protection.lua:184 -msgid "" -"You are not allowed to operate turnouts and signals without the " -"railway_operator privilege." -msgstr "" - -#: advtrains/signals.lua:63 -msgid "Lampless Signal" -msgstr "" - -#: advtrains/signals.lua:127 -msgid "Signal" -msgstr "" - -#: advtrains/signals.lua:191 -msgid "Wallmounted Signal (left)" -msgstr "" - -#: advtrains/signals.lua:192 -msgid "Wallmounted Signal (right)" -msgstr "" - -#: advtrains/signals.lua:193 -msgid "Wallmounted Signal (top)" -msgstr "" - -#: advtrains/signals.lua:281 advtrains/signals.lua:322 -msgid "Andrew's Cross" -msgstr "" - -#: advtrains/trackplacer.lua:313 -msgid "" -"Track Worker Tool\n" -"\n" -"Left-click: change rail type (straight/curve/switch)\n" -"Right-click: rotate object" -msgstr "" - -#: advtrains/trackplacer.lua:340 advtrains/trackplacer.lua:377 -msgid "This node can't be rotated using the trackworker." -msgstr "" - -#: advtrains/trackplacer.lua:350 -msgid "This track can not be rotated." -msgstr "" - -#: advtrains/trackplacer.lua:404 -msgid "This node can't be changed using the trackworker." -msgstr "" - -#: advtrains/trackplacer.lua:414 -msgid "This track can not be changed." -msgstr "" - -#: advtrains/tracks.lua:449 -msgid "This track can not be removed." -msgstr "" - -#: advtrains/tracks.lua:616 -msgid "Position is occupied by a train." -msgstr "" - -#: advtrains/tracks.lua:622 -msgid "There's a Track Circuit Break here." -msgstr "" - -#: advtrains/tracks.lua:626 -msgid "There's a Signal Influence Point here." -msgstr "" - -#: advtrains/tracks.lua:637 -msgid "@1 Slope" -msgstr "" - -#: advtrains/tracks.lua:648 advtrains/tracks.lua:653 -msgid "Can't place slope: not pointing at node." -msgstr "" - -#: advtrains/tracks.lua:658 -msgid "Can't place slope: space occupied." -msgstr "" - -#: advtrains/tracks.lua:711 -msgid "Can't place slope: Not enough slope items left (@1 required)." -msgstr "" - -#: advtrains/tracks.lua:714 -msgid "Can't place slope: There's no slope of length @1." -msgstr "" - -#: advtrains/tracks.lua:721 -msgid "Can't place slope: no supporting node at upper end." -msgstr "" - -#: advtrains/trainhud.lua:305 -msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again." -msgstr "" - -#: advtrains/wagons.lua:179 -msgid "This wagon is owned by @1, you can't destroy it." -msgstr "" - -#: advtrains/wagons.lua:203 -msgid "The wagon's inventory is not empty." -msgstr "" - -#: advtrains/wagons.lua:210 -msgid "Wagon needs to be decoupled from other wagons in order to destroy it." -msgstr "" - -#: advtrains/wagons.lua:216 -msgid "" -"Warning: If you destroy this wagon, you only get some steel back! If you are " -"sure, hold Sneak and left-click the wagon." -msgstr "" - -#: advtrains/wagons.lua:649 advtrains/wagons.lua:850 -msgid "Show Inventory" -msgstr "" - -#: advtrains/wagons.lua:652 -msgid "Onboard Computer" -msgstr "" - -#: advtrains/wagons.lua:655 advtrains/wagons.lua:1328 -msgid "Wagon properties" -msgstr "" - -#: advtrains/wagons.lua:658 -msgid "Get off" -msgstr "" - -#: advtrains/wagons.lua:661 -msgid "Get off (forced)" -msgstr "" - -#: advtrains/wagons.lua:663 -msgid "(Doors closed)" -msgstr "" - -#: advtrains/wagons.lua:692 -msgid "This wagon has no seats." -msgstr "" - -#: advtrains/wagons.lua:703 -msgid "This wagon is full." -msgstr "" - -#: advtrains/wagons.lua:706 -msgid "Doors are closed! (Try holding sneak key!)" -msgstr "" - -#: advtrains/wagons.lua:712 -msgid "You can't get on this wagon." -msgstr "" - -#: advtrains/wagons.lua:838 -msgid "Select seat:" -msgstr "" - -#: advtrains/wagons.lua:880 -msgid "Save wagon properties" -msgstr "" - -#: advtrains/wagons.lua:965 -msgid "Text displayed outside on train" -msgstr "" - -#: advtrains/wagons.lua:966 -msgid "Text displayed inside train" -msgstr "" - -#: advtrains/wagons.lua:967 -msgid "Line" -msgstr "" - -#: advtrains/wagons.lua:968 -msgid "Routingcode" -msgstr "" - -#: advtrains/wagons.lua:1241 -msgid "" -"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get " -"off." -msgstr "" - -#: advtrains/wagons.lua:1250 -msgid "You are not allowed to access the driver stand." -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:13 -msgid "Point speed restriction: @1" -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:14 -msgid "Set point speed restriction:" -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:30 -msgid "You are not allowed to configure this track without the @1 privilege." -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:34 -#: advtrains_line_automation/stoprail.lua:31 -#: advtrains_line_automation/stoprail.lua:76 -msgid "You are not allowed to configure this track." -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:64 -msgid "Point Speed Restriction Track" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:54 -msgid "Station Code" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:55 -msgid "Station Name" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:56 -msgid "Door Delay" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:57 -msgid "Dep. Speed" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:58 advtrains_train_track/init.lua:11 -#: advtrains_train_track/init.lua:156 -msgid "Track" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:59 -msgid "Stop Time" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:60 -msgid "Door Side" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:62 -msgid "Reverse train" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:63 -msgid "Kick out passengers" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:97 -msgid "Station code \"@1\" already exists and is owned by @2." -msgstr "" - -#: advtrains_line_automation/stoprail.lua:111 -msgid "This station is owned by @1. You are not allowed to edit its name." -msgstr "" - -#: advtrains_line_automation/stoprail.lua:221 -msgid "Station/Stop Track" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:17 -msgid "Unconfigured LuaATC component" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:46 -msgid "LuaATC Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:49 -msgid "Clear Local Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:50 -msgid "Code" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:64 -msgid "" -"You are not allowed to configure this LuaATC component without the @1 " -"privilege." -msgstr "" - -#: advtrains_luaautomation/active_common.lua:94 -msgid "LuaATC component assigned to environment '@1'" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:96 -msgid "LuaATC component assigned to an invalid environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:171 -msgid "LuaATC component with error: @1" -msgstr "" - -#: advtrains_luaautomation/init.lua:13 -msgid "" -"Can place and configure LuaATC components, including execute potentially " -"harmful Lua code" -msgstr "" - -#: advtrains_luaautomation/mesecon_controller.lua:211 -msgid "LuaATC Mesecon Controller" -msgstr "" - -#: advtrains_luaautomation/operation_panel.lua:11 -msgid "LuaATC Operation Panel" -msgstr "" - -#: advtrains_luaautomation/pcnaming.lua:28 -msgid "" -"Passive Component Naming Tool\n" -"\n" -"Right-click to name a passive component." -msgstr "" - -#: advtrains_luaautomation/pcnaming.lua:39 -msgid "" -"You are not allowed to name LuaATC passive components without the @1 " -"privilege." -msgstr "" - -#: advtrains_luaautomation/pcnaming.lua:62 -msgid "Set name of component (empty to clear)" -msgstr "" - -#: advtrains_train_industrial/init.lua:10 -#: advtrains_train_industrial/init.lua:49 advtrains_train_steam/init.lua:20 -#: advtrains_train_steam/init.lua:91 -msgid "Driver Stand (right)" -msgstr "" - -#: advtrains_train_industrial/init.lua:17 -#: advtrains_train_industrial/init.lua:56 advtrains_train_steam/init.lua:14 -#: advtrains_train_steam/init.lua:85 -msgid "Driver Stand (left)" -msgstr "" - -#: advtrains_train_industrial/init.lua:40 -msgid "Industrial Train Engine" -msgstr "" - -#: advtrains_train_industrial/init.lua:79 -msgid "Big Industrial Train Engine" -msgstr "" - -#: advtrains_train_industrial/init.lua:98 -msgid "Industrial tank wagon" -msgstr "" - -#: advtrains_train_industrial/init.lua:116 -msgid "Industrial wood wagon" -msgstr "" - -#: advtrains_train_japan/init.lua:4 -msgid "Japanese Train Inter-Wagon Connection" -msgstr "" - -#: advtrains_train_japan/init.lua:37 -msgid "Driver stand" -msgstr "" - -#: advtrains_train_japan/init.lua:101 -msgid "Japanese Train Engine" -msgstr "" - -#: advtrains_train_japan/init.lua:176 -msgid "Japanese Train Wagon" -msgstr "" - -#: advtrains_train_steam/init.lua:75 -msgid "Steam Engine" -msgstr "" - -#: advtrains_train_steam/init.lua:159 -msgid "Detailed Steam Engine" -msgstr "" - -#: advtrains_train_steam/init.lua:206 -msgid "Passenger Wagon" -msgstr "" - -#: advtrains_train_steam/init.lua:226 -msgid "Box Wagon" -msgstr "" - -#: advtrains_train_subway/init.lua:144 -msgid "Subway Passenger Wagon" -msgstr "" - -#: advtrains_train_track/init.lua:31 -msgid "Y-turnout" -msgstr "" - -#: advtrains_train_track/init.lua:49 -msgid "3-way turnout" -msgstr "" - -#: advtrains_train_track/init.lua:69 -msgid "Perpendicular Diamond Crossing Track" -msgstr "" - -#: advtrains_train_track/init.lua:91 -msgid "90+Angle Diamond Crossing Track" -msgstr "" - -#: advtrains_train_track/init.lua:132 -msgid "Diagonal Diamond Crossing Track" -msgstr "" - -#: advtrains_train_track/init.lua:179 -msgid "Bumper" -msgstr "" - -#: advtrains_train_track/init.lua:201 -msgid "ATC controller" -msgstr "" - -#: advtrains_train_track/init.lua:317 -msgid "Unloading Track" -msgstr "" - -#: advtrains_train_track/init.lua:342 -msgid "Loading Track" -msgstr "" - -#: advtrains_train_track/init.lua:406 -msgid "Detector Rail" -msgstr "" diff --git a/advtrains/po/de.po b/advtrains/po/de.po deleted file mode 100644 index 8821fe3..0000000 --- a/advtrains/po/de.po +++ /dev/null @@ -1,724 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: advtrains\n" -"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n" -"POT-Creation-Date: 2023-10-09 11:02+0200\n" -"PO-Revision-Date: 2023-10-09 11:18+0200\n" -"Last-Translator: Y. Wang <yw05@forksworld.de>\n" -"Language-Team: German\n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.3.2\n" - -#: advtrains/atc.lua:109 -msgid "Unconfigured ATC controller" -msgstr "Nicht konfiguiertes Zugbeeinflussungsgleis" - -#: advtrains/atc.lua:150 -msgid "" -"ATC controller, mode @1\n" -"Command: @2" -msgstr "" -"Zugbeeinflussungsgleis in Betriebsart „@1“\n" -"Befehl: @2" - -#: advtrains/atc.lua:180 -msgid "Command" -msgstr "Befehl" - -#: advtrains/atc.lua:184 -msgid "Command (on)" -msgstr "Befehl (wenn aktiviert)" - -#: advtrains/atc.lua:187 -msgid "Digiline channel" -msgstr "Digiline-Kanal" - -#: advtrains/atc.lua:189 advtrains_line_automation/stoprail.lua:65 -#: advtrains_luaautomation/active_common.lua:48 -msgid "Save" -msgstr "Speichern" - -#: advtrains/atc.lua:236 -msgid "ATC Reverse command warning: didn't reverse train, train moving." -msgstr "" -"Zugbeeinflussung: Der Zug befindet sich in Bewegung und kann nicht umgekehrt " -"werden." - -#: advtrains/atc.lua:248 -msgid "ATC Kick command warning: doors are closed." -msgstr "" -"Zugbeeinflussung: Wegen geschlossener Türen werden Fahrgäste nicht zum " -"Ausstieg gezwungen." - -#: advtrains/atc.lua:252 -msgid "ATC Kick command warning: train moving." -msgstr "" -"Zugbeeinflussung: Der Zug befindet sich in Bewegung, Fahrgäste werden nicht " -"zum Ausstieg gezwungen." - -#: advtrains/atc.lua:322 -msgid "ATC command syntax error: I statement not closed: @1" -msgstr "Zugbeeinflussung: Unvollständiger I-Befehl: @1" - -#: advtrains/atc.lua:385 -msgid "ATC command parse error: Unknown command: @1" -msgstr "Zugbeeinflussung: Unbekannter Befehl: @1" - -#: advtrains/copytool.lua:8 -msgid "" -"Train copy/paste tool\n" -"\n" -"Left-click: copy train\n" -"Right-click: paste train" -msgstr "" -"Werkzeug zur Erstellung von Zugkopien\n" -"\n" -"Linksklick: Zug ins Clipboard kopieren\n" -"Right-click: Kopierten Zug einfügen" - -#: advtrains/copytool.lua:29 -msgid "You do not have the @1 privilege." -msgstr "Ihnen fehlt das „@1“-Privileg." - -#: advtrains/copytool.lua:41 -msgid "The track you are trying to place the wagon on is not long enough." -msgstr "Das Gleis, auf dem der Waggon platziert werden woll, ist zu kurz." - -#: advtrains/copytool.lua:47 -msgid "The clipboard couldn't access the metadata. Paste failed." -msgstr "" -"Wegen des fehlgeschlagenen Zugriffs auf die Metadaten konnte eine Kopie des " -"Zuges nicht eingefügt werden." - -#: advtrains/copytool.lua:52 advtrains/copytool.lua:57 -msgid "The clipboard is empty." -msgstr "Das Clipboard ist leer." - -#: advtrains/copytool.lua:74 -msgid "Back of train would end up off track, cancelling." -msgstr "Der hinterer Teil dez Zuges wäre nicht auf dem Gleis." - -#: advtrains/copytool.lua:92 -msgid "No such lua entity." -msgstr "" -"Sie zeigen nicht auf einem Objekt, das mit diesem Werkzeug kopiert werden " -"kann." - -#: advtrains/copytool.lua:98 -msgid "No such wagon: @1." -msgstr "Es gibt keinen mit „@1“ identifizierbaren Waggon." - -#: advtrains/copytool.lua:104 -msgid "No such train: @1." -msgstr "Es gibt keinen mit „@1“ identifizierbaren Zug." - -#: advtrains/copytool.lua:176 -msgid "The clipboard couldn't access the metadata. Copy failed." -msgstr "" -"Wegen des fehlgeschlagenen Zugriffs auf die Metadaten konnte der Zug nicht " -"kopiert werden." - -#: advtrains/copytool.lua:180 -msgid "Train copied." -msgstr "Der Zug wurde Kopiert." - -#: advtrains/couple.lua:28 -msgid "Buffer and Chain Coupler" -msgstr "Schraubenkupplung" - -#: advtrains/couple.lua:29 -msgid "Scharfenberg Coupler" -msgstr "Scharfenbergkupplung" - -#: advtrains/couple.lua:185 -msgid "" -"You are not allowed to couple trains without the train_operator privilege." -msgstr "Sie dürfen ohne das „train_operator“-Privileg keine Züge ankuppeln." - -#: advtrains/couple.lua:329 advtrains/couple.lua:333 -msgid "<No coupler>" -msgstr "<Keine Kupplung vorhanden>" - -#: advtrains/couple.lua:334 -msgid "Can not couple: The couplers of the trains do not match (@1 and @2)." -msgstr "Die Kupplungen der Züge passen nicht zueinander (@1 und @2)." - -#: advtrains/craft_items.lua:3 -msgid "Boiler" -msgstr "" - -#: advtrains/craft_items.lua:9 -msgid "Driver's cab" -msgstr "Führerstand" - -#: advtrains/craft_items.lua:15 -msgid "Wheel" -msgstr "" - -#: advtrains/craft_items.lua:21 -msgid "Chimney" -msgstr "" - -#: advtrains/misc_nodes.lua:16 -msgid "@1 Platform (low)" -msgstr "Niedriger @1-Bahnsteig" - -#: advtrains/misc_nodes.lua:33 -msgid "@1 Platform (high)" -msgstr "Hoher @1-Bahnsteig" - -#: advtrains/misc_nodes.lua:59 -msgid "@1 Platform (45 degree)" -msgstr "Hoher @1-Bahnsteig (45°)" - -#: advtrains/misc_nodes.lua:81 -msgid "@1 Platform (low, 45 degree)" -msgstr "Niedriger @1-Bahnsteig (45°)" - -#: advtrains/protection.lua:7 -msgid "Can place, remove and operate trains" -msgstr "" - -#: advtrains/protection.lua:12 -msgid "" -"Can place, remove and operate any train, regardless of owner, whitelist, or " -"protection" -msgstr "" - -#: advtrains/protection.lua:18 -msgid "Can place and dig tracks in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:24 -msgid "Can operate turnouts and signals in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build near tracks without the track_builder privilege." -msgstr "" -"Sie dürfen ohne das „track_builder“-Privileg nicht in der Nähe von Gleisen " -"bauen." - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build tracks without the track_builder privilege." -msgstr "Sie dürfen ohne das „track_builder“-Privileg kein Gleis bauen." - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build near tracks at this protected position." -msgstr "Sie dürfen an geschützten Stellen nicht in der Nähe von Gleisen bauen." - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build tracks at this protected position." -msgstr "Sie dürfen an geschützten Stellen kein Gleis bauen." - -#: advtrains/protection.lua:184 -msgid "" -"You are not allowed to operate turnouts and signals without the " -"railway_operator privilege." -msgstr "" -"Sie dürfen ohne das „railway_operator“-Privileg keine Bahnanlage operieren." - -#: advtrains/signals.lua:63 -msgid "Lampless Signal" -msgstr "Mechanisches Signal" - -#: advtrains/signals.lua:127 -msgid "Signal" -msgstr "Lichtsignal" - -#: advtrains/signals.lua:191 -msgid "Wallmounted Signal (left)" -msgstr "An der linken Seite montiertes Signal" - -#: advtrains/signals.lua:192 -msgid "Wallmounted Signal (right)" -msgstr "An der rechten Seite montiertes Signal" - -#: advtrains/signals.lua:193 -msgid "Wallmounted Signal (top)" -msgstr "An der Decke montiertes Signal" - -#: advtrains/signals.lua:281 advtrains/signals.lua:322 -msgid "Andrew's Cross" -msgstr "Andreaskreuz" - -#: advtrains/trackplacer.lua:313 -msgid "" -"Track Worker Tool\n" -"\n" -"Left-click: change rail type (straight/curve/switch)\n" -"Right-click: rotate object" -msgstr "" -"Gleiswerkzeug\n" -"\n" -"Linksklick: Gleistyp ändern\n" -"Rechtsklick: Objekt drehen" - -#: advtrains/trackplacer.lua:340 advtrains/trackplacer.lua:377 -msgid "This node can't be rotated using the trackworker." -msgstr "Dieser Block kann nicht mit dem Gleiswerkzeug gedreht werden." - -#: advtrains/trackplacer.lua:350 -msgid "This track can not be rotated." -msgstr "Dieses Gleis kann nicht gedreht werden." - -#: advtrains/trackplacer.lua:404 -msgid "This node can't be changed using the trackworker." -msgstr "Dieser Block kann nicht mit dem Gleiswerkzeug bearbeitet werden." - -#: advtrains/trackplacer.lua:414 -msgid "This track can not be changed." -msgstr "Dieses Gleis kann nicht geändert werden." - -#: advtrains/tracks.lua:449 -msgid "This track can not be removed." -msgstr "Dieses Gleis kann nicht entfernt werden." - -#: advtrains/tracks.lua:616 -msgid "Position is occupied by a train." -msgstr "Ein Zug steht an dieser Position." - -#: advtrains/tracks.lua:622 -msgid "There's a Track Circuit Break here." -msgstr "Hier ist eine Gleisabschnittsgrenze (TCB)." - -#: advtrains/tracks.lua:626 -msgid "There's a Signal Influence Point here." -msgstr "Hier ist ein Signal-Beeinflussungspunkt." - -#: advtrains/tracks.lua:637 -msgid "@1 Slope" -msgstr "@1 Steigung" - -#: advtrains/tracks.lua:648 advtrains/tracks.lua:653 -msgid "Can't place slope: not pointing at node." -msgstr "Es kann nicht platziert werden: Sie zeigen nicht auf einem Block." - -#: advtrains/tracks.lua:658 -msgid "Can't place slope: space occupied." -msgstr "Es kann nicht platziert werden: Diese Position ist besetzt." - -#: advtrains/tracks.lua:711 -msgid "Can't place slope: Not enough slope items left (@1 required)." -msgstr "" -"Es kann nicht platziert werden: Sie haben nicht genug Steigungsblöcke, es " -"werden insgesamt @1 benötigt." - -#: advtrains/tracks.lua:714 -msgid "Can't place slope: There's no slope of length @1." -msgstr "" -"Es kann nicht platziert werden: die Steigung der Länge @1 ist nicht " -"definiert." - -#: advtrains/tracks.lua:721 -msgid "Can't place slope: no supporting node at upper end." -msgstr "" -"Es kann nicht platziert werden: es gibt keinen unterstützenden Block am Ende " -"der Steigung." - -#: advtrains/trainhud.lua:305 -msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again." -msgstr "" - -#: advtrains/wagons.lua:179 -msgid "This wagon is owned by @1, you can't destroy it." -msgstr "Dieser Waggon gehört @1, Sie dürfen ihn nicht abbauen." - -#: advtrains/wagons.lua:203 -msgid "The wagon's inventory is not empty." -msgstr "Das Inventar dieses Waggons ist nicht leer." - -#: advtrains/wagons.lua:210 -msgid "Wagon needs to be decoupled from other wagons in order to destroy it." -msgstr "Der Waggon muss abgekoppelt sein, damit Sie ihn abbauen können." - -#: advtrains/wagons.lua:216 -msgid "" -"Warning: If you destroy this wagon, you only get some steel back! If you are " -"sure, hold Sneak and left-click the wagon." -msgstr "" -"Warnung: Durch den Abbau des Waggons erhalten Sie nur etwas Stahl zurück. " -"Nutzen Sie Schleichen+Linksklick, um dem Waggon abzubauen." - -#: advtrains/wagons.lua:649 advtrains/wagons.lua:850 -msgid "Show Inventory" -msgstr "Inventar Zeigen" - -#: advtrains/wagons.lua:652 -msgid "Onboard Computer" -msgstr "" - -#: advtrains/wagons.lua:655 advtrains/wagons.lua:1328 -msgid "Wagon properties" -msgstr "Waggon-Einstellungen" - -#: advtrains/wagons.lua:658 -msgid "Get off" -msgstr "Aussteigen" - -#: advtrains/wagons.lua:661 -msgid "Get off (forced)" -msgstr "Ausstieg zwingen" - -#: advtrains/wagons.lua:663 -msgid "(Doors closed)" -msgstr "(Türen geschlossen)" - -#: advtrains/wagons.lua:692 -msgid "This wagon has no seats." -msgstr "In diesem Waggon ist kein Sitzplatz vorhanden." - -#: advtrains/wagons.lua:703 -msgid "This wagon is full." -msgstr "Der Waggon ist voll." - -#: advtrains/wagons.lua:706 -msgid "Doors are closed! (Try holding sneak key!)" -msgstr "Die Türen sind geschlossen." - -#: advtrains/wagons.lua:712 -msgid "You can't get on this wagon." -msgstr "Sie können nicht in diesen Waggon einsteigen." - -#: advtrains/wagons.lua:838 -msgid "Select seat:" -msgstr "Wählen Sie einen Sitzplatz aus:" - -#: advtrains/wagons.lua:880 -msgid "Save wagon properties" -msgstr "Waggon-Einstellungen speichern" - -#: advtrains/wagons.lua:965 -msgid "Text displayed outside on train" -msgstr "Äußere Anzeige" - -#: advtrains/wagons.lua:966 -msgid "Text displayed inside train" -msgstr "Innere Anzeige" - -#: advtrains/wagons.lua:967 -msgid "Line" -msgstr "Linie" - -#: advtrains/wagons.lua:968 -msgid "Routingcode" -msgstr "" - -#: advtrains/wagons.lua:1241 -msgid "" -"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get " -"off." -msgstr "" -"Die Türen sind geschlossen. Nutzen Sie Schleichen+Rechtsklick, um trotz " -"geschlossener Türen auszusteigen." - -#: advtrains/wagons.lua:1250 -msgid "You are not allowed to access the driver stand." -msgstr "Sie haben keinen Zugang zum Führerstand." - -#: advtrains_interlocking/tsr_rail.lua:13 -msgid "Point speed restriction: @1" -msgstr "Geschwindigkeitskontrolle: @1" - -#: advtrains_interlocking/tsr_rail.lua:14 -msgid "Set point speed restriction:" -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:30 -msgid "You are not allowed to configure this track without the @1 privilege." -msgstr "Sie dürfen ohne das „@1“-Privileg dieses Gleis nicht konfigurieren." - -#: advtrains_interlocking/tsr_rail.lua:34 -#: advtrains_line_automation/stoprail.lua:31 -#: advtrains_line_automation/stoprail.lua:76 -msgid "You are not allowed to configure this track." -msgstr "Sie dürfen dieses Gleis nicht konfigurieren." - -#: advtrains_interlocking/tsr_rail.lua:64 -msgid "Point Speed Restriction Track" -msgstr "Geschwindigkeitskontrollgleis" - -#: advtrains_line_automation/stoprail.lua:54 -msgid "Station Code" -msgstr "Kennzeichen der Haltestelle" - -#: advtrains_line_automation/stoprail.lua:55 -msgid "Station Name" -msgstr "Name der Haltestelle" - -#: advtrains_line_automation/stoprail.lua:56 -msgid "Door Delay" -msgstr "Zeit für die Türschließung" - -#: advtrains_line_automation/stoprail.lua:57 -msgid "Dep. Speed" -msgstr "Zielgeschwindigkeit bei Abfahrt" - -#: advtrains_line_automation/stoprail.lua:58 advtrains_train_track/init.lua:11 -#: advtrains_train_track/init.lua:156 -msgid "Track" -msgstr "Gleis" - -#: advtrains_line_automation/stoprail.lua:59 -msgid "Stop Time" -msgstr "Wartezeit" - -#: advtrains_line_automation/stoprail.lua:60 -msgid "Door Side" -msgstr "Türseite" - -#: advtrains_line_automation/stoprail.lua:62 -msgid "Reverse train" -msgstr "Zug Umkehren" - -#: advtrains_line_automation/stoprail.lua:63 -msgid "Kick out passengers" -msgstr "Fahrgäste zum Ausstieg zwingen" - -#: advtrains_line_automation/stoprail.lua:97 -msgid "Station code \"@1\" already exists and is owned by @2." -msgstr "" -"Die Haltestelle mit dem Kennzeichen „@1“ ist bereits vorhanden und wird von " -"@2 verwaltet." - -#: advtrains_line_automation/stoprail.lua:111 -msgid "This station is owned by @1. You are not allowed to edit its name." -msgstr "" -"Diese Haltestelle wird von @1 verwaltet. Sie dürfen sie nicht umbenennen." - -#: advtrains_line_automation/stoprail.lua:221 -msgid "Station/Stop Track" -msgstr "Gleis zur Kennzeichnung einer Haltestelle" - -#: advtrains_luaautomation/active_common.lua:17 -msgid "Unconfigured LuaATC component" -msgstr "Nicht konfiguierter LuaATC-Bauteil" - -#: advtrains_luaautomation/active_common.lua:46 -msgid "LuaATC Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:49 -msgid "Clear Local Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:50 -msgid "Code" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:64 -msgid "" -"You are not allowed to configure this LuaATC component without the @1 " -"privilege." -msgstr "" -"Sie dürfen ohne das „@1“-Privileg diesen LuaATC-Bauteil nicht konfigurieren." - -#: advtrains_luaautomation/active_common.lua:94 -msgid "LuaATC component assigned to environment '@1'" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:96 -msgid "LuaATC component assigned to an invalid environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:171 -msgid "LuaATC component with error: @1" -msgstr "LuaATC-Bauteil mit Fehlermeldung: @1" - -#: advtrains_luaautomation/init.lua:13 -msgid "" -"Can place and configure LuaATC components, including execute potentially " -"harmful Lua code" -msgstr "" -"Kann LuaATC-Bauteile platzieren und konfigurieren (auch evtl. schädliche " -"Programme ausführen)" - -#: advtrains_luaautomation/mesecon_controller.lua:211 -msgid "LuaATC Mesecon Controller" -msgstr "" - -#: advtrains_luaautomation/operation_panel.lua:11 -msgid "LuaATC Operation Panel" -msgstr "" - -#: advtrains_luaautomation/pcnaming.lua:28 -msgid "" -"Passive Component Naming Tool\n" -"\n" -"Right-click to name a passive component." -msgstr "" -"PC-Benennungswerkzeug\n" -"\n" -"Rechtsklick zur Benennung der passiven Komponente." - -#: advtrains_luaautomation/pcnaming.lua:39 -msgid "" -"You are not allowed to name LuaATC passive components without the @1 " -"privilege." -msgstr "Sie dürfen ohne das „@1“ keinen passiven LuaATC-Bauteil benennen." - -#: advtrains_luaautomation/pcnaming.lua:62 -msgid "Set name of component (empty to clear)" -msgstr "" - -#: advtrains_train_industrial/init.lua:10 -#: advtrains_train_industrial/init.lua:49 advtrains_train_steam/init.lua:20 -#: advtrains_train_steam/init.lua:91 -msgid "Driver Stand (right)" -msgstr "Führerstand Rechts" - -#: advtrains_train_industrial/init.lua:17 -#: advtrains_train_industrial/init.lua:56 advtrains_train_steam/init.lua:14 -#: advtrains_train_steam/init.lua:85 -msgid "Driver Stand (left)" -msgstr "Führerstand Links" - -#: advtrains_train_industrial/init.lua:40 -msgid "Industrial Train Engine" -msgstr "Industrielle Lokomotive" - -#: advtrains_train_industrial/init.lua:79 -msgid "Big Industrial Train Engine" -msgstr "Große Industrielle Lokomotive" - -#: advtrains_train_industrial/init.lua:98 -msgid "Industrial tank wagon" -msgstr "Tankwaggon" - -#: advtrains_train_industrial/init.lua:116 -msgid "Industrial wood wagon" -msgstr "Holztransportwaggon" - -#: advtrains_train_japan/init.lua:4 -msgid "Japanese Train Inter-Wagon Connection" -msgstr "Waggonzwischenverbindung Japanischer Personenzüge" - -#: advtrains_train_japan/init.lua:37 -msgid "Driver stand" -msgstr "Führerstand" - -#: advtrains_train_japan/init.lua:101 -msgid "Japanese Train Engine" -msgstr "Japanische Personenzug-Lokomotive" - -#: advtrains_train_japan/init.lua:176 -msgid "Japanese Train Wagon" -msgstr "Japanischer Personenzug-Passagierwaggon" - -#: advtrains_train_steam/init.lua:75 -msgid "Steam Engine" -msgstr "Dampflokomotive" - -#: advtrains_train_steam/init.lua:159 -msgid "Detailed Steam Engine" -msgstr "Detaillierte Dampflokomotive" - -#: advtrains_train_steam/init.lua:206 -msgid "Passenger Wagon" -msgstr "Passagierwaggon" - -#: advtrains_train_steam/init.lua:226 -msgid "Box Wagon" -msgstr "Güterwaggon" - -#: advtrains_train_subway/init.lua:144 -msgid "Subway Passenger Wagon" -msgstr "U-Bahn-Waggon" - -#: advtrains_train_track/init.lua:31 -msgid "Y-turnout" -msgstr "Y-Weiche" - -#: advtrains_train_track/init.lua:49 -msgid "3-way turnout" -msgstr "Dreiwegweiche" - -#: advtrains_train_track/init.lua:69 -msgid "Perpendicular Diamond Crossing Track" -msgstr "Kreuzung mit zueinander orthogonalen Gleisen" - -#: advtrains_train_track/init.lua:91 -msgid "90+Angle Diamond Crossing Track" -msgstr "Kreuzung mit einem achsenparallelen Gleis" - -#: advtrains_train_track/init.lua:132 -msgid "Diagonal Diamond Crossing Track" -msgstr "Diagonale Gleiskreuzung" - -#: advtrains_train_track/init.lua:179 -msgid "Bumper" -msgstr "Prellbock" - -#: advtrains_train_track/init.lua:201 -msgid "ATC controller" -msgstr "Zugbeeinflussungsgleis" - -#: advtrains_train_track/init.lua:317 -msgid "Unloading Track" -msgstr "Abladungsgleis" - -#: advtrains_train_track/init.lua:342 -msgid "Loading Track" -msgstr "Beladungsgleis" - -#: advtrains_train_track/init.lua:406 -msgid "Detector Rail" -msgstr "Detektorgleis" - -#~ msgid "" -#~ "ATC controller, mode @1\n" -#~ "Channel: @2" -#~ msgstr "" -#~ "Zugbeeinflussungsgleis in Betriebsart „@1“\n" -#~ "Kanal: @2" - -#~ msgid "Access to @1" -#~ msgstr "Zugang zu @1" - -#~ msgid "Can't get on: wagon full or doors closed!" -#~ msgstr "" -#~ "Sie können nicht einsteigen: der Waggon ist voll oder die Türen sind " -#~ "geschlossen." - -#~ msgid "Can't place: protected position!" -#~ msgstr "Es kann nicht platziert werden: diese Position ist geschützt." - -#~ msgid "Default Seat" -#~ msgstr "Standardsitzplatz" - -#~ msgid "Default Seat (driver stand)" -#~ msgstr "Standardsitzplatz (Führerstand)" - -#~ msgid "Deprecated Track" -#~ msgstr "ausrangiertes Gleis, nicht verwenden." - -#~ msgid "Lock couples" -#~ msgstr "Kupplungen sperren" - -#~ msgid "Speed:" -#~ msgstr "Geschw.:" - -#~ msgid "Target:" -#~ msgstr "Zielges.:" - -#~ msgid "This position is protected!" -#~ msgstr "Diese Position ist geschützt!" - -#~ msgid "Use Sneak+rightclick to bypass closed doors!" -#~ msgstr "" -#~ "Nutzen Sie Schleichen+Rechtsklick, um trotz geschlossener Türen " -#~ "einzusteigen." - -#, fuzzy -#~ msgid "You are not allowed to modify this protected track." -#~ msgstr "Sie dürfen an geschützten Stellen kein Gleis bauen." - -#~ msgid "" -#~ "You need to own at least one neighboring wagon to destroy this couple." -#~ msgstr "" -#~ "Sie müssen Besitzer eines angrenzenden Waggons sein, um hier abzukuppeln." diff --git a/advtrains/po/fr.po b/advtrains/po/fr.po deleted file mode 100644 index c744d2c..0000000 --- a/advtrains/po/fr.po +++ /dev/null @@ -1,728 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: advtrains\n" -"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n" -"POT-Creation-Date: 2023-10-09 11:02+0200\n" -"PO-Revision-Date: 2024-11-02 21:31+0100\n" -"Last-Translator: Tanavit <tanavit@posto.ovh>\n" -"Language-Team: French\n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" - -#: advtrains/atc.lua:109 -msgid "Unconfigured ATC controller" -msgstr "Controlleur ATC, non-configuré" - -#: advtrains/atc.lua:150 -msgid "" -"ATC controller, mode @1\n" -"Command: @2" -msgstr "" -"Controlleur ATC, mode @1\n" -"Commande : @2" - -#: advtrains/atc.lua:180 -msgid "Command" -msgstr "Commande" - -#: advtrains/atc.lua:184 -msgid "Command (on)" -msgstr "Commande (marche)" - -#: advtrains/atc.lua:187 -msgid "Digiline channel" -msgstr "Canal Digiline" - -#: advtrains/atc.lua:189 advtrains_line_automation/stoprail.lua:65 -#: advtrains_luaautomation/active_common.lua:48 -msgid "Save" -msgstr "Sauvegarder" - -#: advtrains/atc.lua:236 -msgid "ATC Reverse command warning: didn't reverse train, train moving." -msgstr "" -"Attention : Commande ATC de renversement impossible car le train se déplace." - -#: advtrains/atc.lua:248 -msgid "ATC Kick command warning: doors are closed." -msgstr "Avertissement commande ATC Éjecter : portes closes." - -#: advtrains/atc.lua:252 -msgid "ATC Kick command warning: train moving." -msgstr "Avertissement commande ATC Éjecter : train en mouvement." - -#: advtrains/atc.lua:322 -msgid "ATC command syntax error: I statement not closed: @1" -msgstr "Erreur de syntaxe de commande ATC : instruction \"I\" incomplète : @1" - -#: advtrains/atc.lua:385 -msgid "ATC command parse error: Unknown command: @1" -msgstr "Erreur d'analyse de commande ATC : Commande inconnue : @1" - -#: advtrains/copytool.lua:8 -msgid "" -"Train copy/paste tool\n" -"\n" -"Left-click: copy train\n" -"Right-click: paste train" -msgstr "" -"Outil de copie/collage de train\n" -"\n" -"Clic-Gauche : copie\n" -"\n" -"Clic-Droit : collage" - -#: advtrains/copytool.lua:29 -msgid "You do not have the @1 privilege." -msgstr "Vous ne possédez pas le privilège \"@1\"." - -#: advtrains/copytool.lua:41 -msgid "The track you are trying to place the wagon on is not long enough." -msgstr "La voie sur laquelle vous tentez de placer le wagon est trop courte." - -#: advtrains/copytool.lua:47 -msgid "The clipboard couldn't access the metadata. Paste failed." -msgstr "Le presse-papier ne peut accéder aux métadonnées. Échec du collage." - -#: advtrains/copytool.lua:52 advtrains/copytool.lua:57 -msgid "The clipboard is empty." -msgstr "Le presse-papier est vide." - -#: advtrains/copytool.lua:74 -msgid "Back of train would end up off track, cancelling." -msgstr "La fin du train serait hors voie : annulation." - -#: advtrains/copytool.lua:92 -msgid "No such lua entity." -msgstr "Pas de telle entité lua." - -#: advtrains/copytool.lua:98 -msgid "No such wagon: @1." -msgstr "Pas de tel wagon : @1." - -#: advtrains/copytool.lua:104 -msgid "No such train: @1." -msgstr "Pas de tel train : @1." - -#: advtrains/copytool.lua:176 -msgid "The clipboard couldn't access the metadata. Copy failed." -msgstr "Le presse-papier ne peut accéder aux métadonnées. Échec de la copie." - -#: advtrains/copytool.lua:180 -msgid "Train copied." -msgstr "Train copié." - -#: advtrains/couple.lua:28 -msgid "Buffer and Chain Coupler" -msgstr "Attelage à tampon et vis" - -#: advtrains/couple.lua:29 -msgid "Scharfenberg Coupler" -msgstr "Attelage Scharfenberg" - -#: advtrains/couple.lua:185 -msgid "" -"You are not allowed to couple trains without the train_operator privilege." -msgstr "" -"Vous n'êtes pas autorisé à coupler des trains sans le privilège " -"\"train_operator\"." - -#: advtrains/couple.lua:329 advtrains/couple.lua:333 -msgid "<No coupler>" -msgstr "<Pas de coupleur>" - -#: advtrains/couple.lua:334 -msgid "Can not couple: The couplers of the trains do not match (@1 and @2)." -msgstr "" -"Accouplement impossible: les attelages des trains ne concordent pas (@1 et " -"@2)." - -#: advtrains/craft_items.lua:3 -msgid "Boiler" -msgstr "Chaudière à vapeur" - -#: advtrains/craft_items.lua:9 -msgid "Driver's cab" -msgstr "Cabine de pilotage" - -#: advtrains/craft_items.lua:15 -msgid "Wheel" -msgstr "Roue" - -#: advtrains/craft_items.lua:21 -msgid "Chimney" -msgstr "Cheminée" - -#: advtrains/misc_nodes.lua:16 -msgid "@1 Platform (low)" -msgstr "Quai @1 (bas)" - -#: advtrains/misc_nodes.lua:33 -msgid "@1 Platform (high)" -msgstr "Quai @1 (haut)" - -#: advtrains/misc_nodes.lua:59 -msgid "@1 Platform (45 degree)" -msgstr "Quai @1 (haut, 45°)" - -#: advtrains/misc_nodes.lua:81 -msgid "@1 Platform (low, 45 degree)" -msgstr "Quai @1 (bas, 45°)" - -#: advtrains/protection.lua:7 -msgid "Can place, remove and operate trains" -msgstr "Possibilité de poser, retirer ou opérer les trains" - -#: advtrains/protection.lua:12 -msgid "" -"Can place, remove and operate any train, regardless of owner, whitelist, or " -"protection" -msgstr "" -"Possibilité de poser, retirer ou opérer un quelconque train, indépendamment " -"du propriétaire, de la liste blanche ou de protection" - -#: advtrains/protection.lua:18 -msgid "Can place and dig tracks in unprotected areas" -msgstr "Possibilité de poser ou retirer des voies dans les zones non protégées" - -#: advtrains/protection.lua:24 -msgid "Can operate turnouts and signals in unprotected areas" -msgstr "" -"Possibilité d'opérer des embranchements et signaux dans les zones non " -"protégées" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build near tracks without the track_builder privilege." -msgstr "" -"Vous ne pouvez pas construire à proximité d'une voie sans le privilège " -"\"track_builder\" (?)" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build tracks without the track_builder privilege." -msgstr "" -"Vous ne pouvez pas construire une voie sans le privilège \"track_builder\"." - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build near tracks at this protected position." -msgstr "" -"Vous ne pouvez pas construire à proximité d'une voie à cet emplacement " -"protégé." - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build tracks at this protected position." -msgstr "Vous ne pouvez pas construire une voie à cet emplacement protégé." - -#: advtrains/protection.lua:184 -msgid "" -"You are not allowed to operate turnouts and signals without the " -"railway_operator privilege." -msgstr "" -"Vous ne pouvez pas actionner les aiguillages ou les signaux (privilège " -"\"railway_operator\" manquant)" - -#: advtrains/signals.lua:63 -msgid "Lampless Signal" -msgstr "Sémaphore" - -#: advtrains/signals.lua:127 -msgid "Signal" -msgstr "Signal" - -#: advtrains/signals.lua:191 -msgid "Wallmounted Signal (left)" -msgstr "Signal mural (gauche)" - -#: advtrains/signals.lua:192 -msgid "Wallmounted Signal (right)" -msgstr "Signal mural (droit)" - -#: advtrains/signals.lua:193 -msgid "Wallmounted Signal (top)" -msgstr "Signal mural (plafond)" - -#: advtrains/signals.lua:281 advtrains/signals.lua:322 -msgid "Andrew's Cross" -msgstr "Croix de Saint André" - -#: advtrains/trackplacer.lua:313 -msgid "" -"Track Worker Tool\n" -"\n" -"Left-click: change rail type (straight/curve/switch)\n" -"Right-click: rotate object" -msgstr "" -"Outil \"Trackworker\"\n" -"\n" -"Clic-Gauche : change le type de rail (droit/courbé/aiguillage)\n" -"\n" -"Clic-Droit : tourne l'objet" - -#: advtrains/trackplacer.lua:340 advtrains/trackplacer.lua:377 -msgid "This node can't be rotated using the trackworker." -msgstr "Ce nœud ne peut être tourné avec l'outil \"Trackworker\"." - -#: advtrains/trackplacer.lua:350 -msgid "This track can not be rotated." -msgstr "Cette voie ne peut pas être tournée." - -#: advtrains/trackplacer.lua:404 -msgid "This node can't be changed using the trackworker." -msgstr "Ce nœud ne peut être modifié avec l'outil \"Trackworker\"." - -#: advtrains/trackplacer.lua:414 -msgid "This track can not be changed." -msgstr "Cette voie ne peut pas être modifiée." - -#: advtrains/tracks.lua:449 -msgid "This track can not be removed." -msgstr "Cette voie ne peut pas être enlevée." - -#: advtrains/tracks.lua:616 -msgid "Position is occupied by a train." -msgstr "Cet emplacement est occupé par un train." - -#: advtrains/tracks.lua:622 -msgid "There's a Track Circuit Break here." -msgstr "Il y a un \"Track Circuit Break\" ici." - -#: advtrains/tracks.lua:626 -msgid "There's a Signal Influence Point here." -msgstr "Il y a un \"Signal Influence Point\" ici." - -#: advtrains/tracks.lua:637 -msgid "@1 Slope" -msgstr "Pente @1" - -#: advtrains/tracks.lua:648 advtrains/tracks.lua:653 -msgid "Can't place slope: not pointing at node." -msgstr "Placement impossible : ne pointe pas un nœud." - -#: advtrains/tracks.lua:658 -msgid "Can't place slope: space occupied." -msgstr "Placement impossible : espace occupé." - -#: advtrains/tracks.lua:711 -msgid "Can't place slope: Not enough slope items left (@1 required)." -msgstr "" -"Placement impossible : quantité insuffisante de voie pentue (@1 manquant)." - -#: advtrains/tracks.lua:714 -msgid "Can't place slope: There's no slope of length @1." -msgstr "Placement impossible : il n'y a pas de voie pentue de longueur @1." - -#: advtrains/tracks.lua:721 -msgid "Can't place slope: no supporting node at upper end." -msgstr "Placement impossible : pas de nœud d'appui à l'extrémité supérieure." - -#: advtrains/trainhud.lua:305 -msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again." -msgstr "" -"Franchissement de signal rouge : examinez la situation et inversez le sens " -"de marche du train." - -#: advtrains/wagons.lua:179 -msgid "This wagon is owned by @1, you can't destroy it." -msgstr "Ce wagon est la propriété de @1, vous ne pouvez pas le détruire." - -#: advtrains/wagons.lua:203 -msgid "The wagon's inventory is not empty." -msgstr "Le stock de ce wagon n'est pas vide." - -#: advtrains/wagons.lua:210 -msgid "Wagon needs to be decoupled from other wagons in order to destroy it." -msgstr "" -"Les wagons doivent être désaccouplés des autres pour pouvoir être détruits." - -#: advtrains/wagons.lua:216 -msgid "" -"Warning: If you destroy this wagon, you only get some steel back! If you are " -"sure, hold Sneak and left-click the wagon." -msgstr "" -"Attention: Si vous détruisez ce wagon, vous ne récupérerez que de la " -"ferraille ! Si vous êtes sûr de vous, appuyez la touche \"Marcher lentement " -"(Sneak)\" et Clic-Gauche." - -#: advtrains/wagons.lua:649 advtrains/wagons.lua:850 -msgid "Show Inventory" -msgstr "Montrer le stock" - -#: advtrains/wagons.lua:652 -msgid "Onboard Computer" -msgstr "Ordinateur embarqué" - -#: advtrains/wagons.lua:655 advtrains/wagons.lua:1328 -msgid "Wagon properties" -msgstr "Propriétés du wagon" - -#: advtrains/wagons.lua:658 -msgid "Get off" -msgstr "Débarquer" - -#: advtrains/wagons.lua:661 -msgid "Get off (forced)" -msgstr "Débarquer (de force)" - -#: advtrains/wagons.lua:663 -msgid "(Doors closed)" -msgstr "(Portes closes)" - -#: advtrains/wagons.lua:692 -msgid "This wagon has no seats." -msgstr "Ce wagon n'a pas de siège." - -#: advtrains/wagons.lua:703 -msgid "This wagon is full." -msgstr "Ce wagon est plein." - -#: advtrains/wagons.lua:706 -msgid "Doors are closed! (Try holding sneak key!)" -msgstr "Portes closes : (Essayez la \"sneak key\"!\")" - -#: advtrains/wagons.lua:712 -msgid "You can't get on this wagon." -msgstr "Montée impossible dans ce wagon." - -#: advtrains/wagons.lua:838 -msgid "Select seat:" -msgstr "Choisir le siège :" - -#: advtrains/wagons.lua:880 -msgid "Save wagon properties" -msgstr "Sauvegarder les propriétés du wagon" - -#: advtrains/wagons.lua:965 -msgid "Text displayed outside on train" -msgstr "Texte affiché à l'extérieur du train" - -#: advtrains/wagons.lua:966 -msgid "Text displayed inside train" -msgstr "Texte affiché à l'intérieur du train" - -#: advtrains/wagons.lua:967 -msgid "Line" -msgstr "Ligne" - -#: advtrains/wagons.lua:968 -msgid "Routingcode" -msgstr "Code de routage" - -#: advtrains/wagons.lua:1241 -msgid "" -"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get " -"off." -msgstr "" -"Portes closes ! Utilisez \"Marcher lentement (Sneak)\" et Clic-Droit pour " -"franchir les portes et débarquer." - -#: advtrains/wagons.lua:1250 -msgid "You are not allowed to access the driver stand." -msgstr "Accès interdit au poste de pilotage." - -#: advtrains_interlocking/tsr_rail.lua:13 -msgid "Point speed restriction: @1" -msgstr "Point de limitation de vitesse : @1" - -#: advtrains_interlocking/tsr_rail.lua:14 -msgid "Set point speed restriction:" -msgstr "Placez un point de limitation de vitesse :" - -#: advtrains_interlocking/tsr_rail.lua:30 -msgid "You are not allowed to configure this track without the @1 privilege." -msgstr "Vous n'êtes pas autorisé à configurer cette voie sans le privilège @1." - -#: advtrains_interlocking/tsr_rail.lua:34 -#: advtrains_line_automation/stoprail.lua:31 -#: advtrains_line_automation/stoprail.lua:76 -msgid "You are not allowed to configure this track." -msgstr "Vous n'êtes pas autorisé à configurer cette voie." - -#: advtrains_interlocking/tsr_rail.lua:64 -msgid "Point Speed Restriction Track" -msgstr "Voie de point de limitation de vitesse" - -#: advtrains_line_automation/stoprail.lua:54 -msgid "Station Code" -msgstr "Code de Station" - -#: advtrains_line_automation/stoprail.lua:55 -msgid "Station Name" -msgstr "Nom de Station" - -#: advtrains_line_automation/stoprail.lua:56 -msgid "Door Delay" -msgstr "Durée d'ouverture des portes" - -#: advtrains_line_automation/stoprail.lua:57 -msgid "Dep. Speed" -msgstr "Vitesse de départ" - -#: advtrains_line_automation/stoprail.lua:58 advtrains_train_track/init.lua:11 -#: advtrains_train_track/init.lua:156 -msgid "Track" -msgstr "Voie" - -#: advtrains_line_automation/stoprail.lua:59 -msgid "Stop Time" -msgstr "Durée d'arrêt" - -#: advtrains_line_automation/stoprail.lua:60 -msgid "Door Side" -msgstr "Coté d'ouvertures des portes" - -#: advtrains_line_automation/stoprail.lua:62 -msgid "Reverse train" -msgstr "Inversion du sens de marche" - -#: advtrains_line_automation/stoprail.lua:63 -msgid "Kick out passengers" -msgstr "Éjecter les passagers" - -#: advtrains_line_automation/stoprail.lua:97 -msgid "Station code \"@1\" already exists and is owned by @2." -msgstr "Le code de station \"@1\" existe et est possédé par @2." - -#: advtrains_line_automation/stoprail.lua:111 -msgid "This station is owned by @1. You are not allowed to edit its name." -msgstr "" -"Cette station est la propriété de @1. Vous n'êtes pas autorisé à modifier " -"son nom." - -#: advtrains_line_automation/stoprail.lua:221 -msgid "Station/Stop Track" -msgstr "Voie d'arrêt en station" - -#: advtrains_luaautomation/active_common.lua:17 -msgid "Unconfigured LuaATC component" -msgstr "Composant LuaATC non configuré" - -#: advtrains_luaautomation/active_common.lua:46 -msgid "LuaATC Environment" -msgstr "Environnement LuaATC" - -#: advtrains_luaautomation/active_common.lua:49 -msgid "Clear Local Environment" -msgstr "Effacer l'environnement LuaATC" - -#: advtrains_luaautomation/active_common.lua:50 -msgid "Code" -msgstr "Code" - -#: advtrains_luaautomation/active_common.lua:64 -msgid "" -"You are not allowed to configure this LuaATC component without the @1 " -"privilege." -msgstr "Vous ne pouvez configurer ce composant LuaATC sans le privilege @1." - -#: advtrains_luaautomation/active_common.lua:94 -msgid "LuaATC component assigned to environment '@1'" -msgstr "Composant LuaATC assigné à l'environnement '@1'" - -#: advtrains_luaautomation/active_common.lua:96 -msgid "LuaATC component assigned to an invalid environment" -msgstr "Composant LuaATC assigné à un environnement invalide" - -#: advtrains_luaautomation/active_common.lua:171 -msgid "LuaATC component with error: @1" -msgstr "Erreur @1 du composant LuaATC" - -#: advtrains_luaautomation/init.lua:13 -msgid "" -"Can place and configure LuaATC components, including execute potentially " -"harmful Lua code" -msgstr "" -"Permet le placement et la configuration de composants LuaATC avec risque " -"d'exécution de code Lua dangereux" - -#: advtrains_luaautomation/mesecon_controller.lua:211 -msgid "LuaATC Mesecon Controller" -msgstr "Commande Mesecon de LuaATC" - -#: advtrains_luaautomation/operation_panel.lua:11 -msgid "LuaATC Operation Panel" -msgstr "Panneau de commande de LuaATC" - -#: advtrains_luaautomation/pcnaming.lua:28 -msgid "" -"Passive Component Naming Tool\n" -"\n" -"Right-click to name a passive component." -msgstr "" -"Outil de nommage de composant passif\n" -"\n" -"Clic-Droit pour nommer un composant passif." - -#: advtrains_luaautomation/pcnaming.lua:39 -msgid "" -"You are not allowed to name LuaATC passive components without the @1 " -"privilege." -msgstr "Vous ne pouvez nommer un composant LuaATC passif sans le privilege @1." - -#: advtrains_luaautomation/pcnaming.lua:62 -msgid "Set name of component (empty to clear)" -msgstr "Nommer le composant (chaîne vide pour effacer)" - -#: advtrains_train_industrial/init.lua:10 -#: advtrains_train_industrial/init.lua:49 advtrains_train_steam/init.lua:20 -#: advtrains_train_steam/init.lua:91 -msgid "Driver Stand (right)" -msgstr "Poste de pilotage (droit)" - -#: advtrains_train_industrial/init.lua:17 -#: advtrains_train_industrial/init.lua:56 advtrains_train_steam/init.lua:14 -#: advtrains_train_steam/init.lua:85 -msgid "Driver Stand (left)" -msgstr "Poste de pilotage (gauche)" - -#: advtrains_train_industrial/init.lua:40 -msgid "Industrial Train Engine" -msgstr "Locomotive industrielle" - -#: advtrains_train_industrial/init.lua:79 -msgid "Big Industrial Train Engine" -msgstr "Grosse locomotive industrielle" - -#: advtrains_train_industrial/init.lua:98 -msgid "Industrial tank wagon" -msgstr "Wagon-citerne industriel" - -#: advtrains_train_industrial/init.lua:116 -msgid "Industrial wood wagon" -msgstr "Wagon grumier industriel" - -#: advtrains_train_japan/init.lua:4 -msgid "Japanese Train Inter-Wagon Connection" -msgstr "Passage inter-voiture de train Japonais" - -#: advtrains_train_japan/init.lua:37 -msgid "Driver stand" -msgstr "Poste de pilotage" - -#: advtrains_train_japan/init.lua:101 -msgid "Japanese Train Engine" -msgstr "Motrice Japonaise" - -#: advtrains_train_japan/init.lua:176 -msgid "Japanese Train Wagon" -msgstr "Voiture Japonaise" - -#: advtrains_train_steam/init.lua:75 -msgid "Steam Engine" -msgstr "Locomotive à vapeur" - -#: advtrains_train_steam/init.lua:159 -msgid "Detailed Steam Engine" -msgstr "Locomotive à vapeur complexe" - -#: advtrains_train_steam/init.lua:206 -msgid "Passenger Wagon" -msgstr "Voiture passager" - -#: advtrains_train_steam/init.lua:226 -msgid "Box Wagon" -msgstr "Wagon de frêt" - -#: advtrains_train_subway/init.lua:144 -msgid "Subway Passenger Wagon" -msgstr "Voiture de Métropolitain" - -#: advtrains_train_track/init.lua:31 -msgid "Y-turnout" -msgstr "Embranchement en Y" - -#: advtrains_train_track/init.lua:49 -msgid "3-way turnout" -msgstr "Embranchement triple" - -#: advtrains_train_track/init.lua:69 -msgid "Perpendicular Diamond Crossing Track" -msgstr "Croisement perpendiculaire" - -#: advtrains_train_track/init.lua:91 -msgid "90+Angle Diamond Crossing Track" -msgstr "Croisement perpendiculo-diagonal" - -#: advtrains_train_track/init.lua:132 -msgid "Diagonal Diamond Crossing Track" -msgstr "Croisement diagonal" - -#: advtrains_train_track/init.lua:179 -msgid "Bumper" -msgstr "Heurtoir" - -#: advtrains_train_track/init.lua:201 -msgid "ATC controller" -msgstr "Controlleur ATC" - -#: advtrains_train_track/init.lua:317 -msgid "Unloading Track" -msgstr "Voie de Déchargement" - -#: advtrains_train_track/init.lua:342 -msgid "Loading Track" -msgstr "Voie de Chargement" - -#: advtrains_train_track/init.lua:406 -msgid "Detector Rail" -msgstr "Voie détectrice" - -#~ msgid "" -#~ "ATC controller, mode @1\n" -#~ "Channel: @2" -#~ msgstr "" -#~ "Controlleur ATC, mode @1\n" -#~ "Canal : @2" - -#~ msgid "Access to @1" -#~ msgstr "Accès à @1" - -#~ msgid "Can't get on: wagon full or doors closed!" -#~ msgstr "" -#~ "Embarquement impossible : le wagon est plein ou ses portes sont closes !" - -#~ msgid "Can't place: protected position!" -#~ msgstr "Placement impossible : emplacement protégé" - -#~ msgid "Default Seat" -#~ msgstr "Siège par défaut" - -#~ msgid "Default Seat (driver stand)" -#~ msgstr "Siège par défaut (poste de pilotage)" - -#~ msgid "Deprecated Track" -#~ msgstr "Voie déconseillée" - -#~ msgid "Lock couples" -#~ msgstr "Verrouiller l'accouplement" - -#~ msgid "Speed:" -#~ msgstr "Vitesse : " - -#~ msgid "Target:" -#~ msgstr "Destination : " - -#, fuzzy -#~ msgid "This node can't be rotated using the trackworker," -#~ msgstr "Ce nœud ne peut être tourné avec l'outil \"Trackworker\" !" - -#~ msgid "This position is protected!" -#~ msgstr "Cet emplacement est protégé !" - -#~ msgid "Use Sneak+rightclick to bypass closed doors!" -#~ msgstr "" -#~ "Utilisez \"Marcher lentement (Sneak)\" et Clic-Droit pour franchir les " -#~ "portes closes !" - -#, fuzzy -#~ msgid "You are not allowed to modify this protected track." -#~ msgstr "Vous ne pouvez pas construire une voie à cet emplacement protégé" - -#~ msgid "" -#~ "You need to own at least one neighboring wagon to destroy this couple." -#~ msgstr "" -#~ "Vous devez être propriétaire d'au moins un wagon voisin pour supprimer " -#~ "cet attelage." diff --git a/advtrains/po/update-translations.sh b/advtrains/po/update-translations.sh deleted file mode 100755 index 3a56c7c..0000000 --- a/advtrains/po/update-translations.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# NOTE: Please make sure you also have basic_trains installed, as it uses attrans for historical reasons - -PODIR=`dirname "$0"` -ATDIR="$PODIR/../.." -BTDIR="$ATDIR/../basic_trains" -POTFILE="$PODIR/advtrains.pot" - -xgettext \ - -D "$ATDIR" \ - -D "$BTDIR" \ - -d advtrains \ - -o "$POTFILE" \ - -p . \ - -L lua \ - --from-code=UTF-8 \ - --sort-by-file \ - --keyword='attrans' \ - --keyword='S' \ - --package-name='advtrains' \ - --msgid-bugs-address='advtrains-discuss@lists.sr.ht' \ - `find $ATDIR $BTDIR -name '*.lua' -printf '%P\n'` \ - && -for i in "$PODIR"/*.po; do - msgmerge -U \ - --sort-by-file \ - $i "$POTFILE" -done diff --git a/advtrains/po/zh_CN.po b/advtrains/po/zh_CN.po deleted file mode 100644 index 5bcc316..0000000 --- a/advtrains/po/zh_CN.po +++ /dev/null @@ -1,696 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: advtrains\n" -"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n" -"POT-Creation-Date: 2023-10-09 11:02+0200\n" -"PO-Revision-Date: 2023-10-09 11:24+0200\n" -"Last-Translator: Y. Wang <yw05@forksworld.de>\n" -"Language-Team: Chinese (Simplified)\n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.3.2\n" - -#: advtrains/atc.lua:109 -msgid "Unconfigured ATC controller" -msgstr "ATC 控制器 (未配置)" - -#: advtrains/atc.lua:150 -msgid "" -"ATC controller, mode @1\n" -"Command: @2" -msgstr "" -"ATC 控制器\n" -"模式:@1\n" -"命令:@2" - -#: advtrains/atc.lua:180 -msgid "Command" -msgstr "命令" - -#: advtrains/atc.lua:184 -msgid "Command (on)" -msgstr "命令 (激活时)" - -#: advtrains/atc.lua:187 -msgid "Digiline channel" -msgstr "Digiline 频道" - -#: advtrains/atc.lua:189 advtrains_line_automation/stoprail.lua:65 -#: advtrains_luaautomation/active_common.lua:48 -msgid "Save" -msgstr "保存" - -#: advtrains/atc.lua:236 -msgid "ATC Reverse command warning: didn't reverse train, train moving." -msgstr "ATC 警告:火车正在移动,无法改变行车方向。" - -#: advtrains/atc.lua:248 -msgid "ATC Kick command warning: doors are closed." -msgstr "ATC 警告:车门已关闭,无法踢出乘客。" - -#: advtrains/atc.lua:252 -msgid "ATC Kick command warning: train moving." -msgstr "ATC 警告:火车正在移动,无法踢出乘客。" - -#: advtrains/atc.lua:322 -msgid "ATC command syntax error: I statement not closed: @1" -msgstr "ATC 语法错误:“I”命令不完整:@1" - -#: advtrains/atc.lua:385 -msgid "ATC command parse error: Unknown command: @1" -msgstr "ATC 语法错误:未知命令:@1" - -#: advtrains/copytool.lua:8 -msgid "" -"Train copy/paste tool\n" -"\n" -"Left-click: copy train\n" -"Right-click: paste train" -msgstr "" -"火车复制工具\n" -"\n" -"左键单击:复制\n" -"右键单击:粘帖" - -#: advtrains/copytool.lua:29 -msgid "You do not have the @1 privilege." -msgstr "您没有“@1”权限。" - -#: advtrains/copytool.lua:41 -msgid "The track you are trying to place the wagon on is not long enough." -msgstr "轨道太短。" - -#: advtrains/copytool.lua:47 -msgid "The clipboard couldn't access the metadata. Paste failed." -msgstr "无法粘贴:剪贴板无法访问元数据。" - -#: advtrains/copytool.lua:52 advtrains/copytool.lua:57 -msgid "The clipboard is empty." -msgstr "剪贴板是空的。" - -#: advtrains/copytool.lua:74 -msgid "Back of train would end up off track, cancelling." -msgstr "火车后部不在轨道上。" - -#: advtrains/copytool.lua:92 -msgid "No such lua entity." -msgstr "您没有指向一个可以用火车复制工具复制的物体。" - -#: advtrains/copytool.lua:98 -msgid "No such wagon: @1." -msgstr "ID 为“@1”的车厢不存在。" - -#: advtrains/copytool.lua:104 -msgid "No such train: @1." -msgstr "ID 为“@1”的列车不存在。" - -#: advtrains/copytool.lua:176 -msgid "The clipboard couldn't access the metadata. Copy failed." -msgstr "无法复制:剪贴板无法访问元数据。" - -#: advtrains/copytool.lua:180 -msgid "Train copied." -msgstr "已复制列车。" - -#: advtrains/couple.lua:28 -msgid "Buffer and Chain Coupler" -msgstr "链式车钩" - -#: advtrains/couple.lua:29 -msgid "Scharfenberg Coupler" -msgstr "Scharfenberg 式车钩" - -#: advtrains/couple.lua:185 -msgid "" -"You are not allowed to couple trains without the train_operator privilege." -msgstr "您没有“train_operator”权限,不能连接这两节车厢。" - -#: advtrains/couple.lua:329 advtrains/couple.lua:333 -msgid "<No coupler>" -msgstr "<没有车钩>" - -#: advtrains/couple.lua:334 -msgid "Can not couple: The couplers of the trains do not match (@1 and @2)." -msgstr "您无法连接这两节车厢:这两节车厢使用不同的车钩 (@1和@2)。" - -#: advtrains/craft_items.lua:3 -msgid "Boiler" -msgstr "锅炉" - -#: advtrains/craft_items.lua:9 -msgid "Driver's cab" -msgstr "驾驶室" - -#: advtrains/craft_items.lua:15 -msgid "Wheel" -msgstr "车轮" - -#: advtrains/craft_items.lua:21 -msgid "Chimney" -msgstr "烟囱" - -#: advtrains/misc_nodes.lua:16 -msgid "@1 Platform (low)" -msgstr "较低的@1站台" - -#: advtrains/misc_nodes.lua:33 -msgid "@1 Platform (high)" -msgstr "较高的@1站台" - -#: advtrains/misc_nodes.lua:59 -msgid "@1 Platform (45 degree)" -msgstr "较高的@1站台 (45°)" - -#: advtrains/misc_nodes.lua:81 -msgid "@1 Platform (low, 45 degree)" -msgstr "较低的@1站台 (45°)" - -#: advtrains/protection.lua:7 -msgid "Can place, remove and operate trains" -msgstr "" - -#: advtrains/protection.lua:12 -msgid "" -"Can place, remove and operate any train, regardless of owner, whitelist, or " -"protection" -msgstr "" - -#: advtrains/protection.lua:18 -msgid "Can place and dig tracks in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:24 -msgid "Can operate turnouts and signals in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build near tracks without the track_builder privilege." -msgstr "您没有“train_operator”权限,不能在铁路附近建任何东西。" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build tracks without the track_builder privilege." -msgstr "您没有“train_operator”权限,不能在这里建造铁路。" - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build near tracks at this protected position." -msgstr "这里已被保护,您不能在这里的铁路附近建任何东西。" - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build tracks at this protected position." -msgstr "这里已被保护,您不能在这里建造铁路。" - -#: advtrains/protection.lua:184 -msgid "" -"You are not allowed to operate turnouts and signals without the " -"railway_operator privilege." -msgstr "您没有“railway_operator”权限,不能控制铁路设施。" - -#: advtrains/signals.lua:63 -msgid "Lampless Signal" -msgstr "臂板信号机" - -#: advtrains/signals.lua:127 -msgid "Signal" -msgstr "信号灯" - -#: advtrains/signals.lua:191 -msgid "Wallmounted Signal (left)" -msgstr "壁挂式信号灯 (左侧)" - -#: advtrains/signals.lua:192 -msgid "Wallmounted Signal (right)" -msgstr "壁挂式信号灯 (右侧)" - -#: advtrains/signals.lua:193 -msgid "Wallmounted Signal (top)" -msgstr "悬挂式信号灯" - -#: advtrains/signals.lua:281 advtrains/signals.lua:322 -msgid "Andrew's Cross" -msgstr "铁路道口信号灯" - -#: advtrains/trackplacer.lua:313 -msgid "" -"Track Worker Tool\n" -"\n" -"Left-click: change rail type (straight/curve/switch)\n" -"Right-click: rotate object" -msgstr "" -"铁路调整工具\n" -"\n" -"左键单击:切换轨道类型\n" -"右键单击:旋转方块" - -#: advtrains/trackplacer.lua:340 advtrains/trackplacer.lua:377 -msgid "This node can't be rotated using the trackworker." -msgstr "您不能使用铁路调整工具旋转这个方块。" - -#: advtrains/trackplacer.lua:350 -msgid "This track can not be rotated." -msgstr "您不能旋转这段轨道。" - -#: advtrains/trackplacer.lua:404 -msgid "This node can't be changed using the trackworker." -msgstr "您不能使用铁路调整工具调整这个方块。" - -#: advtrains/trackplacer.lua:414 -msgid "This track can not be changed." -msgstr "您不能调整这段轨道。" - -#: advtrains/tracks.lua:449 -msgid "This track can not be removed." -msgstr "您不能移除这段轨道。" - -#: advtrains/tracks.lua:616 -msgid "Position is occupied by a train." -msgstr "" - -#: advtrains/tracks.lua:622 -msgid "There's a Track Circuit Break here." -msgstr "" - -#: advtrains/tracks.lua:626 -msgid "There's a Signal Influence Point here." -msgstr "" - -#: advtrains/tracks.lua:637 -msgid "@1 Slope" -msgstr "@1斜坡" - -#: advtrains/tracks.lua:648 advtrains/tracks.lua:653 -msgid "Can't place slope: not pointing at node." -msgstr "无法放置斜坡:您没有选择任何方块。" - -#: advtrains/tracks.lua:658 -msgid "Can't place slope: space occupied." -msgstr "无法放置斜坡:此区域已被占用。" - -#: advtrains/tracks.lua:711 -msgid "Can't place slope: Not enough slope items left (@1 required)." -msgstr "无法放置斜坡:您没有足够的铁路斜坡放置工具 (您总共需要@1个)" - -#: advtrains/tracks.lua:714 -msgid "Can't place slope: There's no slope of length @1." -msgstr "无法放置斜坡:advtrains 不支持长度为@1米的斜坡。" - -#: advtrains/tracks.lua:721 -msgid "Can't place slope: no supporting node at upper end." -msgstr "无法放置斜坡:较高端没有支撑方块。" - -#: advtrains/trainhud.lua:305 -msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again." -msgstr "" - -#: advtrains/wagons.lua:179 -msgid "This wagon is owned by @1, you can't destroy it." -msgstr "这是 @1 的车厢,您不能摧毁它。" - -#: advtrains/wagons.lua:203 -msgid "The wagon's inventory is not empty." -msgstr "" - -#: advtrains/wagons.lua:210 -msgid "Wagon needs to be decoupled from other wagons in order to destroy it." -msgstr "" - -#: advtrains/wagons.lua:216 -msgid "" -"Warning: If you destroy this wagon, you only get some steel back! If you are " -"sure, hold Sneak and left-click the wagon." -msgstr "" -"警告:如果您摧毁此车厢,您只能拿到一些钢方块。如果您确定要摧毁这节车厢,请按" -"潜行键并左键单击此车厢。" - -#: advtrains/wagons.lua:649 advtrains/wagons.lua:850 -msgid "Show Inventory" -msgstr "显示物品栏" - -#: advtrains/wagons.lua:652 -msgid "Onboard Computer" -msgstr "" - -#: advtrains/wagons.lua:655 advtrains/wagons.lua:1328 -msgid "Wagon properties" -msgstr "车厢属性" - -#: advtrains/wagons.lua:658 -msgid "Get off" -msgstr "下车" - -#: advtrains/wagons.lua:661 -msgid "Get off (forced)" -msgstr "强制下车" - -#: advtrains/wagons.lua:663 -msgid "(Doors closed)" -msgstr "(车门已关闭)" - -#: advtrains/wagons.lua:692 -msgid "This wagon has no seats." -msgstr "这节车厢没有座位。" - -#: advtrains/wagons.lua:703 -msgid "This wagon is full." -msgstr "车厢已满。" - -#: advtrains/wagons.lua:706 -msgid "Doors are closed! (Try holding sneak key!)" -msgstr "" - -#: advtrains/wagons.lua:712 -msgid "You can't get on this wagon." -msgstr "" - -#: advtrains/wagons.lua:838 -msgid "Select seat:" -msgstr "请选择座位:" - -#: advtrains/wagons.lua:880 -msgid "Save wagon properties" -msgstr "保存车厢属性" - -#: advtrains/wagons.lua:965 -msgid "Text displayed outside on train" -msgstr "车厢外部显示" - -#: advtrains/wagons.lua:966 -msgid "Text displayed inside train" -msgstr "车厢内部显示" - -#: advtrains/wagons.lua:967 -msgid "Line" -msgstr "火车线路" - -#: advtrains/wagons.lua:968 -msgid "Routingcode" -msgstr "路由码" - -#: advtrains/wagons.lua:1241 -msgid "" -"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get " -"off." -msgstr "车门已关闭,请使用潜行+右键单击下车。" - -#: advtrains/wagons.lua:1250 -msgid "You are not allowed to access the driver stand." -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:13 -msgid "Point speed restriction: @1" -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:14 -msgid "Set point speed restriction:" -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:30 -msgid "You are not allowed to configure this track without the @1 privilege." -msgstr "您没有“@1”权限,不能调整这段轨道。" - -#: advtrains_interlocking/tsr_rail.lua:34 -#: advtrains_line_automation/stoprail.lua:31 -#: advtrains_line_automation/stoprail.lua:76 -msgid "You are not allowed to configure this track." -msgstr "您不能调整这段轨道。" - -#: advtrains_interlocking/tsr_rail.lua:64 -msgid "Point Speed Restriction Track" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:54 -msgid "Station Code" -msgstr "车站代码" - -#: advtrains_line_automation/stoprail.lua:55 -msgid "Station Name" -msgstr "车站名称" - -#: advtrains_line_automation/stoprail.lua:56 -msgid "Door Delay" -msgstr "车门关闭时间" - -#: advtrains_line_automation/stoprail.lua:57 -msgid "Dep. Speed" -msgstr "出发速度" - -#: advtrains_line_automation/stoprail.lua:58 advtrains_train_track/init.lua:11 -#: advtrains_train_track/init.lua:156 -msgid "Track" -msgstr "轨道" - -#: advtrains_line_automation/stoprail.lua:59 -msgid "Stop Time" -msgstr "停站时间" - -#: advtrains_line_automation/stoprail.lua:60 -msgid "Door Side" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:62 -msgid "Reverse train" -msgstr "改变行车方向" - -#: advtrains_line_automation/stoprail.lua:63 -msgid "Kick out passengers" -msgstr "踢出乘客" - -#: advtrains_line_automation/stoprail.lua:97 -msgid "Station code \"@1\" already exists and is owned by @2." -msgstr "" - -#: advtrains_line_automation/stoprail.lua:111 -msgid "This station is owned by @1. You are not allowed to edit its name." -msgstr "" - -#: advtrains_line_automation/stoprail.lua:221 -msgid "Station/Stop Track" -msgstr "车站轨道" - -#: advtrains_luaautomation/active_common.lua:17 -msgid "Unconfigured LuaATC component" -msgstr "LuaATC 部件 (未配置)" - -#: advtrains_luaautomation/active_common.lua:46 -msgid "LuaATC Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:49 -msgid "Clear Local Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:50 -msgid "Code" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:64 -msgid "" -"You are not allowed to configure this LuaATC component without the @1 " -"privilege." -msgstr "您没有“@1”权限,不能配置这个 LuaATC 部件。" - -#: advtrains_luaautomation/active_common.lua:94 -msgid "LuaATC component assigned to environment '@1'" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:96 -msgid "LuaATC component assigned to an invalid environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:171 -msgid "LuaATC component with error: @1" -msgstr "" - -#: advtrains_luaautomation/init.lua:13 -msgid "" -"Can place and configure LuaATC components, including execute potentially " -"harmful Lua code" -msgstr "" - -#: advtrains_luaautomation/mesecon_controller.lua:211 -msgid "LuaATC Mesecon Controller" -msgstr "" - -#: advtrains_luaautomation/operation_panel.lua:11 -msgid "LuaATC Operation Panel" -msgstr "" - -#: advtrains_luaautomation/pcnaming.lua:28 -msgid "" -"Passive Component Naming Tool\n" -"\n" -"Right-click to name a passive component." -msgstr "" -"被动元件命名工具\n" -"\n" -"右键单击命名所选元件。" - -#: advtrains_luaautomation/pcnaming.lua:39 -msgid "" -"You are not allowed to name LuaATC passive components without the @1 " -"privilege." -msgstr "您没有“@1”权限,不能命名被动元件。" - -#: advtrains_luaautomation/pcnaming.lua:62 -msgid "Set name of component (empty to clear)" -msgstr "" - -#: advtrains_train_industrial/init.lua:10 -#: advtrains_train_industrial/init.lua:49 advtrains_train_steam/init.lua:20 -#: advtrains_train_steam/init.lua:91 -msgid "Driver Stand (right)" -msgstr "右侧司机座位" - -#: advtrains_train_industrial/init.lua:17 -#: advtrains_train_industrial/init.lua:56 advtrains_train_steam/init.lua:14 -#: advtrains_train_steam/init.lua:85 -msgid "Driver Stand (left)" -msgstr "左侧司机座位" - -#: advtrains_train_industrial/init.lua:40 -msgid "Industrial Train Engine" -msgstr "工业用火车头" - -#: advtrains_train_industrial/init.lua:79 -msgid "Big Industrial Train Engine" -msgstr "大型工业用火车头" - -#: advtrains_train_industrial/init.lua:98 -msgid "Industrial tank wagon" -msgstr "液体运输车厢" - -#: advtrains_train_industrial/init.lua:116 -msgid "Industrial wood wagon" -msgstr "木材运输车厢" - -#: advtrains_train_japan/init.lua:4 -msgid "Japanese Train Inter-Wagon Connection" -msgstr "日本火车车钩" - -#: advtrains_train_japan/init.lua:37 -msgid "Driver stand" -msgstr "司机座位" - -#: advtrains_train_japan/init.lua:101 -msgid "Japanese Train Engine" -msgstr "高速列车车头" - -#: advtrains_train_japan/init.lua:176 -msgid "Japanese Train Wagon" -msgstr "高速列车车厢" - -#: advtrains_train_steam/init.lua:75 -msgid "Steam Engine" -msgstr "蒸汽机车" - -#: advtrains_train_steam/init.lua:159 -msgid "Detailed Steam Engine" -msgstr "精细的蒸汽机车" - -#: advtrains_train_steam/init.lua:206 -msgid "Passenger Wagon" -msgstr "客车" - -#: advtrains_train_steam/init.lua:226 -msgid "Box Wagon" -msgstr "货运车厢" - -#: advtrains_train_subway/init.lua:144 -msgid "Subway Passenger Wagon" -msgstr "地铁车厢" - -#: advtrains_train_track/init.lua:31 -msgid "Y-turnout" -msgstr "对称道岔" - -#: advtrains_train_track/init.lua:49 -msgid "3-way turnout" -msgstr "三开道岔" - -#: advtrains_train_track/init.lua:69 -msgid "Perpendicular Diamond Crossing Track" -msgstr "垂直交叉轨道" - -#: advtrains_train_track/init.lua:91 -msgid "90+Angle Diamond Crossing Track" -msgstr "交叉轨道 (其中一条轨道与坐标轴平行)" - -#: advtrains_train_track/init.lua:132 -msgid "Diagonal Diamond Crossing Track" -msgstr "交叉轨道" - -#: advtrains_train_track/init.lua:179 -msgid "Bumper" -msgstr "保险杠" - -#: advtrains_train_track/init.lua:201 -msgid "ATC controller" -msgstr "ATC 控制器" - -#: advtrains_train_track/init.lua:317 -msgid "Unloading Track" -msgstr "卸货轨道" - -#: advtrains_train_track/init.lua:342 -msgid "Loading Track" -msgstr "装货轨道" - -#: advtrains_train_track/init.lua:406 -msgid "Detector Rail" -msgstr "探测轨道" - -#~ msgid "" -#~ "ATC controller, mode @1\n" -#~ "Channel: @2" -#~ msgstr "" -#~ "ATC 控制器\n" -#~ "模式:@1\n" -#~ "频道:@2" - -#~ msgid "Access to @1" -#~ msgstr "可前往@1" - -#~ msgid "Can't get on: wagon full or doors closed!" -#~ msgstr "无法上车:车门已关闭或车厢已满。" - -#~ msgid "Can't place: protected position!" -#~ msgstr "无法放置:此区域已被保护。" - -#~ msgid "Default Seat" -#~ msgstr "默认座位" - -#~ msgid "Default Seat (driver stand)" -#~ msgstr "默认座位 (司机座位)" - -#~ msgid "Deprecated Track" -#~ msgstr "请不要使用" - -#~ msgid "Lock couples" -#~ msgstr "锁定连接处" - -#~ msgid "Speed:" -#~ msgstr "速度" - -#~ msgid "Target:" -#~ msgstr "目标速度" - -#, fuzzy -#~ msgid "This node can't be rotated using the trackworker," -#~ msgstr "您不能使用铁路调整工具旋转这个方块。" - -#~ msgid "This position is protected!" -#~ msgstr "这里已被保护。" - -#~ msgid "Use Sneak+rightclick to bypass closed doors!" -#~ msgstr "请使用潜行+右键上车。" - -#, fuzzy -#~ msgid "You are not allowed to modify this protected track." -#~ msgstr "这里已被保护,您不能在这里建造铁路。" - -#~ msgid "" -#~ "You need to own at least one neighboring wagon to destroy this couple." -#~ msgstr "您必须至少拥有其中一节车厢才能分开这两节车厢。" diff --git a/advtrains/po/zh_TW.po b/advtrains/po/zh_TW.po deleted file mode 100644 index ece82c3..0000000 --- a/advtrains/po/zh_TW.po +++ /dev/null @@ -1,696 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: advtrains\n" -"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n" -"POT-Creation-Date: 2023-10-09 11:02+0200\n" -"PO-Revision-Date: 2023-10-09 11:31+0200\n" -"Last-Translator: Y. Wang <yw05@forksworld.de>\n" -"Language-Team: Chinese (Traditional)\n" -"Language: zh_TW\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.3.2\n" - -#: advtrains/atc.lua:109 -msgid "Unconfigured ATC controller" -msgstr "ATC 控制器 (未配置)" - -#: advtrains/atc.lua:150 -msgid "" -"ATC controller, mode @1\n" -"Command: @2" -msgstr "" -"ATC 控制器\n" -"模式:@1\n" -"命令:@2" - -#: advtrains/atc.lua:180 -msgid "Command" -msgstr "命令" - -#: advtrains/atc.lua:184 -msgid "Command (on)" -msgstr "命令 (啟用時)" - -#: advtrains/atc.lua:187 -msgid "Digiline channel" -msgstr "Digiline 頻道" - -#: advtrains/atc.lua:189 advtrains_line_automation/stoprail.lua:65 -#: advtrains_luaautomation/active_common.lua:48 -msgid "Save" -msgstr "儲存" - -#: advtrains/atc.lua:236 -msgid "ATC Reverse command warning: didn't reverse train, train moving." -msgstr "ATC 警告:火車正在移動,無法改變行車方向。" - -#: advtrains/atc.lua:248 -msgid "ATC Kick command warning: doors are closed." -msgstr "ATC 警告:車門已關閉,無法踢出乘客。" - -#: advtrains/atc.lua:252 -msgid "ATC Kick command warning: train moving." -msgstr "ATC 警告:火車正在移動,無法踢出乘客。" - -#: advtrains/atc.lua:322 -msgid "ATC command syntax error: I statement not closed: @1" -msgstr "ATC 語法錯誤:「I」命令不完整:@1" - -#: advtrains/atc.lua:385 -msgid "ATC command parse error: Unknown command: @1" -msgstr "ATC 語法錯誤:未知命令:@1" - -#: advtrains/copytool.lua:8 -msgid "" -"Train copy/paste tool\n" -"\n" -"Left-click: copy train\n" -"Right-click: paste train" -msgstr "" -"火車複製工具\n" -"\n" -"左鍵單擊:複製\n" -"右鍵單擊:粘帖" - -#: advtrains/copytool.lua:29 -msgid "You do not have the @1 privilege." -msgstr "您沒有「@1」許可權。" - -#: advtrains/copytool.lua:41 -msgid "The track you are trying to place the wagon on is not long enough." -msgstr "軌道太短。" - -#: advtrains/copytool.lua:47 -msgid "The clipboard couldn't access the metadata. Paste failed." -msgstr "無法貼上:剪貼簿無法訪問元資料。" - -#: advtrains/copytool.lua:52 advtrains/copytool.lua:57 -msgid "The clipboard is empty." -msgstr "剪貼簿是空的。" - -#: advtrains/copytool.lua:74 -msgid "Back of train would end up off track, cancelling." -msgstr "火車後部不在軌道上。" - -#: advtrains/copytool.lua:92 -msgid "No such lua entity." -msgstr "您沒有指向一個可以用火車複製工具複製的物體。" - -#: advtrains/copytool.lua:98 -msgid "No such wagon: @1." -msgstr "ID 為「@1」的車廂不存在。" - -#: advtrains/copytool.lua:104 -msgid "No such train: @1." -msgstr "ID 為「@1」的列車不存在。" - -#: advtrains/copytool.lua:176 -msgid "The clipboard couldn't access the metadata. Copy failed." -msgstr "無法複製:剪貼簿無法訪問元資料。" - -#: advtrains/copytool.lua:180 -msgid "Train copied." -msgstr "已複製火車。" - -#: advtrains/couple.lua:28 -msgid "Buffer and Chain Coupler" -msgstr "鏈式連結器" - -#: advtrains/couple.lua:29 -msgid "Scharfenberg Coupler" -msgstr "Scharfenberg 式連結器" - -#: advtrains/couple.lua:185 -msgid "" -"You are not allowed to couple trains without the train_operator privilege." -msgstr "您沒有「train_operator」許可權,不能連結這兩節車廂。" - -#: advtrains/couple.lua:329 advtrains/couple.lua:333 -msgid "<No coupler>" -msgstr "<無連結器>" - -#: advtrains/couple.lua:334 -msgid "Can not couple: The couplers of the trains do not match (@1 and @2)." -msgstr "您無法連結這兩節車廂:這兩節車廂使用不同的連結器 (@1和@2)。" - -#: advtrains/craft_items.lua:3 -msgid "Boiler" -msgstr "鍋爐" - -#: advtrains/craft_items.lua:9 -msgid "Driver's cab" -msgstr "駕駛室" - -#: advtrains/craft_items.lua:15 -msgid "Wheel" -msgstr "車輪" - -#: advtrains/craft_items.lua:21 -msgid "Chimney" -msgstr "煙囪" - -#: advtrains/misc_nodes.lua:16 -msgid "@1 Platform (low)" -msgstr "較低的@1月臺" - -#: advtrains/misc_nodes.lua:33 -msgid "@1 Platform (high)" -msgstr "較高的@1月臺" - -#: advtrains/misc_nodes.lua:59 -msgid "@1 Platform (45 degree)" -msgstr "較高的@1月臺 (45°)" - -#: advtrains/misc_nodes.lua:81 -msgid "@1 Platform (low, 45 degree)" -msgstr "較低的@1月臺 (45°)" - -#: advtrains/protection.lua:7 -msgid "Can place, remove and operate trains" -msgstr "" - -#: advtrains/protection.lua:12 -msgid "" -"Can place, remove and operate any train, regardless of owner, whitelist, or " -"protection" -msgstr "" - -#: advtrains/protection.lua:18 -msgid "Can place and dig tracks in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:24 -msgid "Can operate turnouts and signals in unprotected areas" -msgstr "" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build near tracks without the track_builder privilege." -msgstr "您沒有「train_operator」許可權,不能在鐵路附近建任何東西。" - -#: advtrains/protection.lua:148 -msgid "" -"You are not allowed to build tracks without the track_builder privilege." -msgstr "您沒有「train_operator」許可權,不能在這裡建造鐵路。" - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build near tracks at this protected position." -msgstr "這裡已被保護,您不能在這裡的鐵路附近建任何東西。" - -#: advtrains/protection.lua:153 -msgid "You are not allowed to build tracks at this protected position." -msgstr "這裡已被保護,您不能在這裡建造鐵路。" - -#: advtrains/protection.lua:184 -msgid "" -"You are not allowed to operate turnouts and signals without the " -"railway_operator privilege." -msgstr "您沒有「railway_operator」許可權,不能控制鐵路設施。" - -#: advtrains/signals.lua:63 -msgid "Lampless Signal" -msgstr "臂木式號誌機" - -#: advtrains/signals.lua:127 -msgid "Signal" -msgstr "色燈號誌機" - -#: advtrains/signals.lua:191 -msgid "Wallmounted Signal (left)" -msgstr "壁掛式色燈號誌機 (左側)" - -#: advtrains/signals.lua:192 -msgid "Wallmounted Signal (right)" -msgstr "壁掛式色燈號誌機 (右側)" - -#: advtrains/signals.lua:193 -msgid "Wallmounted Signal (top)" -msgstr "懸掛式色燈號誌機" - -#: advtrains/signals.lua:281 advtrains/signals.lua:322 -msgid "Andrew's Cross" -msgstr "平交道號誌燈" - -#: advtrains/trackplacer.lua:313 -msgid "" -"Track Worker Tool\n" -"\n" -"Left-click: change rail type (straight/curve/switch)\n" -"Right-click: rotate object" -msgstr "" -"鐵路調整工具\n" -"\n" -"左鍵單擊:切換軌道型別\n" -"右鍵單擊:旋轉方塊" - -#: advtrains/trackplacer.lua:340 advtrains/trackplacer.lua:377 -msgid "This node can't be rotated using the trackworker." -msgstr "您不能使用鐵路調整工具旋轉這個方塊。" - -#: advtrains/trackplacer.lua:350 -msgid "This track can not be rotated." -msgstr "您不能旋轉這段軌道。" - -#: advtrains/trackplacer.lua:404 -msgid "This node can't be changed using the trackworker." -msgstr "您不能使用鐵路調整工具調整這個方塊。" - -#: advtrains/trackplacer.lua:414 -msgid "This track can not be changed." -msgstr "您不能調整這段軌道。" - -#: advtrains/tracks.lua:449 -msgid "This track can not be removed." -msgstr "您不能移除這段軌道。" - -#: advtrains/tracks.lua:616 -msgid "Position is occupied by a train." -msgstr "" - -#: advtrains/tracks.lua:622 -msgid "There's a Track Circuit Break here." -msgstr "" - -#: advtrains/tracks.lua:626 -msgid "There's a Signal Influence Point here." -msgstr "" - -#: advtrains/tracks.lua:637 -msgid "@1 Slope" -msgstr "@1斜坡" - -#: advtrains/tracks.lua:648 advtrains/tracks.lua:653 -msgid "Can't place slope: not pointing at node." -msgstr "無法放置斜坡:您沒有選擇任何方塊。" - -#: advtrains/tracks.lua:658 -msgid "Can't place slope: space occupied." -msgstr "無法放置斜坡:此區域已被佔用。" - -#: advtrains/tracks.lua:711 -msgid "Can't place slope: Not enough slope items left (@1 required)." -msgstr "無法放置斜坡:您沒有足夠的鐵路斜坡放置工具 (您總共需要@1個)" - -#: advtrains/tracks.lua:714 -msgid "Can't place slope: There's no slope of length @1." -msgstr "無法放置斜坡:advtrains 不支援長度為@1米的斜坡。" - -#: advtrains/tracks.lua:721 -msgid "Can't place slope: no supporting node at upper end." -msgstr "無法放置斜坡:較高階沒有支撐方塊。" - -#: advtrains/trainhud.lua:305 -msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again." -msgstr "" - -#: advtrains/wagons.lua:179 -msgid "This wagon is owned by @1, you can't destroy it." -msgstr "這是 @1 的車廂,您不能摧毀它。" - -#: advtrains/wagons.lua:203 -msgid "The wagon's inventory is not empty." -msgstr "" - -#: advtrains/wagons.lua:210 -msgid "Wagon needs to be decoupled from other wagons in order to destroy it." -msgstr "" - -#: advtrains/wagons.lua:216 -msgid "" -"Warning: If you destroy this wagon, you only get some steel back! If you are " -"sure, hold Sneak and left-click the wagon." -msgstr "" -"警告:如果您摧毀此車廂,您只能拿到一些鋼方塊。如果您確定要摧毀這節車廂,請按" -"潛行鍵並左鍵單擊此車廂。" - -#: advtrains/wagons.lua:649 advtrains/wagons.lua:850 -msgid "Show Inventory" -msgstr "顯示物品欄" - -#: advtrains/wagons.lua:652 -msgid "Onboard Computer" -msgstr "" - -#: advtrains/wagons.lua:655 advtrains/wagons.lua:1328 -msgid "Wagon properties" -msgstr "車廂屬性" - -#: advtrains/wagons.lua:658 -msgid "Get off" -msgstr "下車" - -#: advtrains/wagons.lua:661 -msgid "Get off (forced)" -msgstr "強制下車" - -#: advtrains/wagons.lua:663 -msgid "(Doors closed)" -msgstr "(車門已關閉)" - -#: advtrains/wagons.lua:692 -msgid "This wagon has no seats." -msgstr "這節車廂沒有座位。" - -#: advtrains/wagons.lua:703 -msgid "This wagon is full." -msgstr "車廂已滿。" - -#: advtrains/wagons.lua:706 -msgid "Doors are closed! (Try holding sneak key!)" -msgstr "" - -#: advtrains/wagons.lua:712 -msgid "You can't get on this wagon." -msgstr "" - -#: advtrains/wagons.lua:838 -msgid "Select seat:" -msgstr "請選擇座位:" - -#: advtrains/wagons.lua:880 -msgid "Save wagon properties" -msgstr "儲存車廂屬性" - -#: advtrains/wagons.lua:965 -msgid "Text displayed outside on train" -msgstr "車廂外部顯示" - -#: advtrains/wagons.lua:966 -msgid "Text displayed inside train" -msgstr "車廂內部顯示" - -#: advtrains/wagons.lua:967 -msgid "Line" -msgstr "火車線路" - -#: advtrains/wagons.lua:968 -msgid "Routingcode" -msgstr "路由碼" - -#: advtrains/wagons.lua:1241 -msgid "" -"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get " -"off." -msgstr "車門已關閉,請使用潛行+右鍵單擊下車。" - -#: advtrains/wagons.lua:1250 -msgid "You are not allowed to access the driver stand." -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:13 -msgid "Point speed restriction: @1" -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:14 -msgid "Set point speed restriction:" -msgstr "" - -#: advtrains_interlocking/tsr_rail.lua:30 -msgid "You are not allowed to configure this track without the @1 privilege." -msgstr "您沒有「@1」許可權,不能調整這段軌道。" - -#: advtrains_interlocking/tsr_rail.lua:34 -#: advtrains_line_automation/stoprail.lua:31 -#: advtrains_line_automation/stoprail.lua:76 -msgid "You are not allowed to configure this track." -msgstr "您不能調整這段軌道。" - -#: advtrains_interlocking/tsr_rail.lua:64 -msgid "Point Speed Restriction Track" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:54 -msgid "Station Code" -msgstr "車站碼" - -#: advtrains_line_automation/stoprail.lua:55 -msgid "Station Name" -msgstr "車站名稱" - -#: advtrains_line_automation/stoprail.lua:56 -msgid "Door Delay" -msgstr "車門關閉時間" - -#: advtrains_line_automation/stoprail.lua:57 -msgid "Dep. Speed" -msgstr "出發速度" - -#: advtrains_line_automation/stoprail.lua:58 advtrains_train_track/init.lua:11 -#: advtrains_train_track/init.lua:156 -msgid "Track" -msgstr "軌道" - -#: advtrains_line_automation/stoprail.lua:59 -msgid "Stop Time" -msgstr "停站時間" - -#: advtrains_line_automation/stoprail.lua:60 -msgid "Door Side" -msgstr "" - -#: advtrains_line_automation/stoprail.lua:62 -msgid "Reverse train" -msgstr "改變行車方向" - -#: advtrains_line_automation/stoprail.lua:63 -msgid "Kick out passengers" -msgstr "踢出乘客" - -#: advtrains_line_automation/stoprail.lua:97 -msgid "Station code \"@1\" already exists and is owned by @2." -msgstr "" - -#: advtrains_line_automation/stoprail.lua:111 -msgid "This station is owned by @1. You are not allowed to edit its name." -msgstr "" - -#: advtrains_line_automation/stoprail.lua:221 -msgid "Station/Stop Track" -msgstr "車站軌道" - -#: advtrains_luaautomation/active_common.lua:17 -msgid "Unconfigured LuaATC component" -msgstr "LuaATC 元件 (未配置)" - -#: advtrains_luaautomation/active_common.lua:46 -msgid "LuaATC Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:49 -msgid "Clear Local Environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:50 -msgid "Code" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:64 -msgid "" -"You are not allowed to configure this LuaATC component without the @1 " -"privilege." -msgstr "您沒有「@1」許可權,不能配置這個 LuaATC 元件。" - -#: advtrains_luaautomation/active_common.lua:94 -msgid "LuaATC component assigned to environment '@1'" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:96 -msgid "LuaATC component assigned to an invalid environment" -msgstr "" - -#: advtrains_luaautomation/active_common.lua:171 -msgid "LuaATC component with error: @1" -msgstr "" - -#: advtrains_luaautomation/init.lua:13 -msgid "" -"Can place and configure LuaATC components, including execute potentially " -"harmful Lua code" -msgstr "" - -#: advtrains_luaautomation/mesecon_controller.lua:211 -msgid "LuaATC Mesecon Controller" -msgstr "" - -#: advtrains_luaautomation/operation_panel.lua:11 -msgid "LuaATC Operation Panel" -msgstr "" - -#: advtrains_luaautomation/pcnaming.lua:28 -msgid "" -"Passive Component Naming Tool\n" -"\n" -"Right-click to name a passive component." -msgstr "" -"被動元件命名工具\n" -"\n" -"右鍵單擊命名所選元件。" - -#: advtrains_luaautomation/pcnaming.lua:39 -msgid "" -"You are not allowed to name LuaATC passive components without the @1 " -"privilege." -msgstr "您沒有「@1」許可權,不能命名這個元件。" - -#: advtrains_luaautomation/pcnaming.lua:62 -msgid "Set name of component (empty to clear)" -msgstr "" - -#: advtrains_train_industrial/init.lua:10 -#: advtrains_train_industrial/init.lua:49 advtrains_train_steam/init.lua:20 -#: advtrains_train_steam/init.lua:91 -msgid "Driver Stand (right)" -msgstr "右側司機座位" - -#: advtrains_train_industrial/init.lua:17 -#: advtrains_train_industrial/init.lua:56 advtrains_train_steam/init.lua:14 -#: advtrains_train_steam/init.lua:85 -msgid "Driver Stand (left)" -msgstr "左側司機座位" - -#: advtrains_train_industrial/init.lua:40 -msgid "Industrial Train Engine" -msgstr "工業用火車頭" - -#: advtrains_train_industrial/init.lua:79 -msgid "Big Industrial Train Engine" -msgstr "大型工業用火車頭" - -#: advtrains_train_industrial/init.lua:98 -msgid "Industrial tank wagon" -msgstr "液體運輸車廂" - -#: advtrains_train_industrial/init.lua:116 -msgid "Industrial wood wagon" -msgstr "木材運輸車廂" - -#: advtrains_train_japan/init.lua:4 -msgid "Japanese Train Inter-Wagon Connection" -msgstr "日本火車連結器" - -#: advtrains_train_japan/init.lua:37 -msgid "Driver stand" -msgstr "司機座位" - -#: advtrains_train_japan/init.lua:101 -msgid "Japanese Train Engine" -msgstr "高速列車車頭" - -#: advtrains_train_japan/init.lua:176 -msgid "Japanese Train Wagon" -msgstr "高速列車車廂" - -#: advtrains_train_steam/init.lua:75 -msgid "Steam Engine" -msgstr "蒸汽機車" - -#: advtrains_train_steam/init.lua:159 -msgid "Detailed Steam Engine" -msgstr "精細的蒸汽機車" - -#: advtrains_train_steam/init.lua:206 -msgid "Passenger Wagon" -msgstr "客車" - -#: advtrains_train_steam/init.lua:226 -msgid "Box Wagon" -msgstr "貨運車廂" - -#: advtrains_train_subway/init.lua:144 -msgid "Subway Passenger Wagon" -msgstr "地鐵車廂" - -#: advtrains_train_track/init.lua:31 -msgid "Y-turnout" -msgstr "對稱道岔" - -#: advtrains_train_track/init.lua:49 -msgid "3-way turnout" -msgstr "三開道岔" - -#: advtrains_train_track/init.lua:69 -msgid "Perpendicular Diamond Crossing Track" -msgstr "垂直交叉軌道" - -#: advtrains_train_track/init.lua:91 -msgid "90+Angle Diamond Crossing Track" -msgstr "交叉軌道 (其中一條軌道與座標軸平行)" - -#: advtrains_train_track/init.lua:132 -msgid "Diagonal Diamond Crossing Track" -msgstr "交叉軌道" - -#: advtrains_train_track/init.lua:179 -msgid "Bumper" -msgstr "保險槓" - -#: advtrains_train_track/init.lua:201 -msgid "ATC controller" -msgstr "ATC 控制器" - -#: advtrains_train_track/init.lua:317 -msgid "Unloading Track" -msgstr "卸貨軌道" - -#: advtrains_train_track/init.lua:342 -msgid "Loading Track" -msgstr "裝貨軌道" - -#: advtrains_train_track/init.lua:406 -msgid "Detector Rail" -msgstr "探測軌道" - -#~ msgid "" -#~ "ATC controller, mode @1\n" -#~ "Channel: @2" -#~ msgstr "" -#~ "ATC 控制器\n" -#~ "模式:@1\n" -#~ "頻道:@2" - -#~ msgid "Access to @1" -#~ msgstr "可前往@1" - -#~ msgid "Can't get on: wagon full or doors closed!" -#~ msgstr "無法上車:車門已關閉或車廂已滿。" - -#~ msgid "Can't place: protected position!" -#~ msgstr "無法放置:此區域已被保護。" - -#~ msgid "Default Seat" -#~ msgstr "預設座位" - -#~ msgid "Default Seat (driver stand)" -#~ msgstr "預設座位 (司機座位)" - -#~ msgid "Deprecated Track" -#~ msgstr "請不要使用" - -#~ msgid "Lock couples" -#~ msgstr "鎖定連結處" - -#~ msgid "Speed:" -#~ msgstr "速度" - -#~ msgid "Target:" -#~ msgstr "目標速度" - -#, fuzzy -#~ msgid "This node can't be rotated using the trackworker," -#~ msgstr "您不能使用鐵路調整工具旋轉這個方塊。" - -#~ msgid "This position is protected!" -#~ msgstr "這裡已被保護。" - -#~ msgid "Use Sneak+rightclick to bypass closed doors!" -#~ msgstr "請使用潛行+右鍵上車。" - -#, fuzzy -#~ msgid "You are not allowed to modify this protected track." -#~ msgstr "這裡已被保護,您不能在這裡建造鐵路。" - -#~ msgid "" -#~ "You need to own at least one neighboring wagon to destroy this couple." -#~ msgstr "您必須至少擁有其中一節車廂才能分開這兩節車廂。" diff --git a/advtrains/poconvert.lua b/advtrains/poconvert.lua deleted file mode 100644 index 74f962e..0000000 --- a/advtrains/poconvert.lua +++ /dev/null @@ -1,185 +0,0 @@ -local unescape_string -do - local schartbl = { -- https://en.wikipedia.org/wiki/Escape_sequences_in_C - a = "\a", - b = "\b", - e = string.char(0x1b), - f = "\f", - n = "\n", - r = "\r", - t = "\t", - v = "\v", - } - local function replace_single(pfx, c) - local pl = #pfx - if pl % 2 == 0 then - return string.sub(pfx, 1, pl/2) .. c - end - return string.sub(pfx, 1, math.floor(pl/2)) .. (schartbl[c] or c) - end - unescape_string = function(str) - return string.gsub(str, [[(\+)([abefnrtv'"?])]], replace_single) - end -end - -local function readstring_aux(str, pos) - local _, spos = string.find(str, [[^%s*"]], pos) - if not spos then - return nil - end - local ipos = spos - while true do - local _, epos, m = string.find(str, [[(\*)"]], ipos+1) - if not epos then - return error("String extends beyond the end of input") - end - ipos = epos - if #m % 2 == 0 then - return unescape_string(string.sub(str, spos+1, epos-1)), epos+1 - end - end -end - -local function readstring(str, pos) - local st = {} - local nxt = pos - while true do - local s, npos = readstring_aux(str, nxt) - if not s then - if not st[1] then - return nil, nxt - else - return table.concat(st), nxt - end - end - nxt = npos - table.insert(st, s) - end -end - -local function readtoken(str, pos) - local _, epos, tok = string.find(str, [[^%s*(%S+)]], pos) - if epos == nil then - return nil, pos - end - return tok, epos+1 -end - -local function readcomment_add_flags(flags, s) - for flag in string.gmatch(s, ",%s*([^,]+)") do - flags[flag] = true - end -end - -local function readcomment_aux(str, pos) - local _, epos, sval = string.find(str, "^\n*#([^\n]*)", pos) - if not epos then - return nil - end - return sval, epos+1 -end - -local function readcomment(str, pos) - local st = {} - local nxt = pos - local flags = {} - while true do - local s, npos = readcomment_aux(str, nxt) - if not npos then - local t = { - comment = table.concat(st, "\n"), - flags = flags, - } - return t, nxt - end - if string.sub(s, 1, 1) == "," then - readcomment_add_flags(flags, s) - end - table.insert(st, s) - nxt = npos - end -end - -local function readpo(str) - local st = {} - local pos = 1 - while true do - local entry, nxt = readcomment(str, pos) - local msglines = 0 - while true do - local tok, npos = readtoken(str, nxt) - if tok == nil or string.sub(tok, 1, 1) == "#" then - break - elseif string.sub(tok, 1, 3) ~= "msg" then - return error("Invalid token: " .. tok) - elseif entry[tok] ~= nil then - break - else - local value, npos = readstring(str, npos) - assert(value ~= nil, "No string provided for " .. tok) - entry[tok] = value - nxt = npos - msglines = msglines+1 - end - end - if msglines == 0 then - return st - elseif entry.msgid ~= "" then - assert(entry.msgid ~= nil, "Missing untranslated string") - assert(entry.msgstr ~= nil, "Missing translated string") - table.insert(st, entry) - end - pos = nxt - end -end - -local escape_lookup = { - ["="] = "@=", - ["\n"] = "@n" -} -local function escape_string(st) - return (string.gsub(st, "[=\n]", escape_lookup)) -end - -local function convert_po_string(textdomain, str) - local st = {string.format("# textdomain: %s", textdomain)} - for _, entry in ipairs(readpo(str)) do - local line = ("%s=%s"):format(escape_string(entry.msgid), escape_string(entry.msgstr)) - if entry.flags.fuzzy then - line = "#" .. line - end - table.insert(st, line) - end - return table.concat(st, "\n") -end - -local function convert_po_file(textdomain, inpath, outpath) - local f, err = io.open(inpath, "rb") - assert(f, err) - local str = convert_po_string(textdomain, f:read("*a")) - f:close() - minetest.safe_file_write(outpath, str) - return str -end - -local function convert_flat_po_directory(textdomain, modpath) - assert(textdomain, "No textdomain specified for po file conversion") - local mp = modpath or minetest.get_modpath(textdomain) - assert(mp ~= nil, "No path to write for " .. textdomain) - local popath = mp .. "/po" - local trpath = mp .. "/locale" - for _, infile in pairs(minetest.get_dir_list(popath, false)) do - local lang = string.match(infile, [[^([^%.]+)%.po$]]) - if lang then - local inpath = popath .. "/" .. infile - local outpath = ("%s/%s.%s.tr"):format(trpath, textdomain, lang) - convert_po_file(textdomain, inpath, outpath) - end - end -end - -return { - from_string = convert_po_string, - from_file = convert_po_file, - from_flat = convert_flat_po_directory, -} diff --git a/advtrains/wagons.lua b/advtrains/wagons.lua index 38210ef..0557f4d 100644 --- a/advtrains/wagons.lua +++ b/advtrains/wagons.lua @@ -883,8 +883,8 @@ function wagon:show_wagon_properties(pname) local data = advtrains.wagons[self.id] local form="size[5,5]" form=form.."label[0.2,0;"..attrans("This Wagon ID")..": "..self.id.."]" - form = form .. "field[0.5,1;4.5,1;whitelist;Allow these players to access your wagon:;"..minetest.formspec_escape(data.whitelist or "").."]" - form = form .. "field[0.5,2;4.5,1;roadnumber;Wagon road number:;"..minetest.formspec_escape(data.roadnumber or "").."]" + form = form .. "field[0.5,1;4.5,1;whitelist;"..attrans("Allow these players to access your wagon:")..";"..minetest.formspec_escape(data.whitelist or "").."]" + form = form .. "field[0.5,2;4.5,1;roadnumber;"..attrans("Wagon road number:")..";"..minetest.formspec_escape(data.roadnumber or "").."]" local fc = "" if data.fc then fc = table.concat(data.fc, "!") diff --git a/advtrains_interlocking/database.lua b/advtrains_interlocking/database.lua index 844d350..9bcd441 100644 --- a/advtrains_interlocking/database.lua +++ b/advtrains_interlocking/database.lua @@ -760,7 +760,7 @@ function ildb.update_rs_cache(ts_id) --atdebug("== Running update_rs_cache for ",ts_id) -- start on every of the TS's TCBs, walk the track forward and store locks along the way for start_tcbi, start_tcbs in ipairs(ts.tc_breaks) do - start_pkey = advtrains.encode_pos(start_tcbs.p) + local start_pkey = advtrains.encode_pos(start_tcbs.p) rscache[start_pkey] = {} --atdebug("Starting for ",start_tcbi, start_tcbs) local locks_found = {} @@ -770,7 +770,7 @@ function ildb.update_rs_cache(ts_id) -- now result_table contains found route locks. Match them with the other TCBs we have in this section for end_tcbi, end_tcbs in ipairs(ts.tc_breaks) do if end_tcbi ~= start_tcbi then - end_pkey = advtrains.encode_pos(end_tcbs.p) + local end_pkey = advtrains.encode_pos(end_tcbs.p) if result_table[end_pkey] then --atdebug("Set RSCache entry",end_pkey.."-"..end_pkey,"=",result_table[end_pkey]) local lockstab = result_table[end_pkey] diff --git a/advtrains_interlocking/route_prog.lua b/advtrains_interlocking/route_prog.lua index e0634d4..76dad28 100644 --- a/advtrains_interlocking/route_prog.lua +++ b/advtrains_interlocking/route_prog.lua @@ -176,7 +176,7 @@ function advtrains.interlocking.visualize_route(origin, route, context, tmp_lcks end -- display locks for pts, state in pairs(v.locks) do - local pos = minetest.string_to_pos(pts) + local pos = assert(advtrains.decode_pos(pts)) routesprite(context, pos, "fix"..k..pts, "at_il_route_lock.png", "Zajištěna ve stavu '"..state.."' po cestě "..route.name.." dokud není úsek #"..k.." uvolněn.") end end @@ -215,7 +215,7 @@ local player_rte_prog = {} function advtrains.interlocking.init_route_prog(pname, sigd, default_route) if not minetest.check_player_privs(pname, "interlocking") then - minetest.chat_send_player(pname, "Insufficient privileges to use this!") + minetest.chat_send_player(pname, attrans("Insufficient privileges to use this!")) return end local rp = { @@ -239,7 +239,7 @@ function advtrains.interlocking.init_route_prog(pname, sigd, default_route) end player_rte_prog[pname] = rp advtrains.interlocking.visualize_route(sigd, rp.route, "prog_"..pname, rp.tmp_lcks, pname) - minetest.chat_send_player(pname, "Route programming mode active. Punch TCBs to add route segments, punch turnouts to lock them.") + minetest.chat_send_player(pname, "Režim programování cesty je aktivní. Klikejte levým tlačítkem na TCB pro přidání úseků a na výhybky pro jejich uzamčení.") end local function get_last_route_item(origin, route) @@ -252,7 +252,7 @@ end local function do_advance_route(pname, rp, sigd, tsref) table.insert(rp.route, {next = sigd, locks = rp.tmp_lcks}) rp.tmp_lcks = {} - chat(pname, "Úsek '"..(tsref and (tsref.name or "") or "--EOI--").."' přidán na cestu.") + chat(pname, "Úsek '"..(tsref and (tsref.name or "") or "--konec zab.--").."' přidán na cestu.") end local function finishrpform(pname) @@ -419,7 +419,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) local tcbpts = string.match(formname, "^at_il_rprog_([^_]+)$") local tcbpos if tcbpts then - tcbpos = minetest.string_to_pos(tcbpts) + tcbpos = assert(minetest.string_to_pos(tcbpts)) end if tcbpos then -- RPROG form @@ -531,7 +531,7 @@ minetest.register_on_punchnode(function(pos, node, player, pointed_thing) chat(pname, "Tato TCB není nastavena, nejprve k ní musíte přiřadit kolej") return end - local tcbpos = minetest.string_to_pos(tcbpts) + local tcbpos = assert(minetest.string_to_pos(tcbpts)) -- show formspec diff --git a/advtrains_interlocking/route_ui.lua b/advtrains_interlocking/route_ui.lua index 3fb5bc6..baaa957 100644 --- a/advtrains_interlocking/route_ui.lua +++ b/advtrains_interlocking/route_ui.lua @@ -26,7 +26,7 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) local route = tcbs.routes[routeid] if not route then return end - local form = "size[9,10]label[0.5,0.2;Přehled cesty]" + local form = "size[9,11]label[0.5,0.2;Přehled cesty]" form = form.."field[0.8,1.2;6.5,1;name;Název cesty;"..minetest.formspec_escape(route.name).."]" form = form.."button[7.0,0.9;1.5,1;setname;Nastavit]" @@ -37,7 +37,7 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) tab[#tab+1] = minetest.formspec_escape(string.gsub(t, ",", " ")) tabref[#tab] = { [rty] = true, param = rpara, seg = rseg, idx = #tab } end - itab(1, "("..(tcbs.signal_name or "+")..") Route #"..routeid, "signal", sigd) + itab(1, "("..(tcbs.signal_name or "+")..") Cesta #"..routeid, "signal", sigd) -- this code is partially copy-pasted from routesetting.lua -- we start at the tc designated by signal @@ -62,15 +62,15 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) local signame = "-" if c_tcbs and c_tcbs.signal then signame = c_tcbs.signal_name or "o" end itab(i, ""..i.." "..sigd_to_string(c_sigd).." ("..signame..")", "signal", c_sigd) - itab(i, "= "..(c_ts and c_ts.name or c_ts_id).." ="..(c_rseg.call_on and " [CO]" or ""), "section", c_ts_id) + itab(i, "= "..(c_ts and c_ts.name or c_ts_id).." ="..(c_rseg.call_on and " [pov.]" or ""), "section", c_ts_id) if c_rseg.locks then for pts, state in pairs(c_rseg.locks) do local pos = advtrains.decode_pos(pts) - itab(i, "Zámek "..pts.." -> "..state, "lock", pos) + itab(i, "Zámek "..core.pos_to_string(pos).." -> "..state, "lock", pos) if not advtrains.is_passive(pos) then - itab("-!- Na "..pts.." není žádná pasivní komponenta. Prosím, přenastavte cestu!") + itab("-!- Na "..core.pos_to_string(pos).." není žádná pasivní komponenta. Prosím, přenastavte cestu!") break end end @@ -80,7 +80,7 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) if nvar then local re_tcbs = ildb.get_tcbs({p = nvar.p, s = (nvar.s==1) and 2 or 1}) if not re_tcbs or not re_tcbs.ts_id or re_tcbs.ts_id~=c_ts_id then - itab(i, "-!- At "..sigd_to_string(c_sigd)..".Section Start and End do not match!", "err", nil) + itab(i, "-!- Na "..sigd_to_string(c_sigd)..".neodpovídají začátek a konec úseku!", "err", nil) break end end @@ -92,13 +92,13 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) local e_tcbs = ildb.get_tcbs(c_sigd) local signame = "-" if e_tcbs and e_tcbs.signal then signame = e_tcbs.signal_name or "o" end - itab(i, "E "..sigd_to_string(c_sigd).." ("..signame..")", "end", c_sigd) + itab(i, "K "..sigd_to_string(c_sigd).." ("..signame..")", "end", c_sigd) else - itab(i, "E (none)", "end", nil) + itab(i, "K (žádný)", "end", nil) end if not sel_rpartidx then sel_rpartidx = 1 end - form = form.."textlist[0.5,2;3.5,3.9;routelog;"..table.concat(tab, ",")..";"..(sel_rpartidx or 1)..";false]" + form = form.."textlist[0.5,2;4.5,3.9;routelog;"..table.concat(tab, ",")..";"..(sel_rpartidx or 1)..";false]" -- to the right of rtelog, controls are displayed for the thing in focus -- What is in focus is determined by the parameter sel_rpartidx @@ -113,10 +113,10 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) -- main aspect list local signalpos = s_tcbs and s_tcbs.signal if signalpos and rseg then - form = form..F.label(4.5, 2, "Signal Aspect:") + form = form..F.label(5.5, 2, "Signál:") local ndef = signalpos and advtrains.ndb.get_ndef(signalpos) if ndef and ndef.advtrains and ndef.advtrains.main_aspects then - local entries = { "<Default Aspect>" } + local entries = { "<výchozí>" } local sel = 1 for i, mae in ipairs(ndef.advtrains.main_aspects) do entries[i+1] = mae.description @@ -124,7 +124,7 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) sel = i+1 end end - form = form..F.dropdown(4.5, 3.0, 4, "sa_main_aspect", entries, sel, true) + form = form..F.dropdown(5.5, 3.0, 4, "sa_main_aspect", entries, sel, true) end -- checkbox for assign distant signal local assign_dst = rseg.assign_dst @@ -133,21 +133,21 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) -- defaults to false for the very first signal and true for all others (= minimal user configuration overhead) -- Note: on save, the value will be fixed at either false or true end - form = form..string.format("checkbox[4.5,4.0;sa_distant;Announce distant signal;%s]", assign_dst) + form = form..string.format("checkbox[5.5,4.0;sa_distant;Ohlásit předzvěst;%s]", assign_dst) else - form = form..F.label(4.5, 2, "No Signal at this TCB") + form = form..F.label(5.5, 2, "Tato TCB nemá žádné návěstidlo") end elseif sel_rpart and sel_rpart.section then local rseg = route[sel_rpart.seg] if rseg then - form = form..F.label(4.5, 2, "Section Options:") + form = form..F.label(5.5, 2, "Volby:") -- checkbox for call-on - form = form..string.format("checkbox[4.5,4.0;se_callon;Call-on (section may be occupied);%s]", rseg.call_on) + form = form..string.format("checkbox[5.5,4.0;se_callon;Povolit (úsek může být obsazen);%s]", rseg.call_on) end elseif sel_rpart and sel_rpart.err then - form = form.."textarea[4.5,2.5;4,4;errorta;Error:;"..tab[sel_rpartidx].."]" + form = form.."textarea[5.5,2.5;4,4;errorta;Chyba:;"..tab[sel_rpartidx].."]" else - form = form..F.label(4.5, 2, "<< Select a route part to edit options") + form = form..F.label(5.5, 2, "<< Vyberte část cesty pro nastavení voleb") end form = form.."button[0.5,6;1,1;prev;<<<]" @@ -158,15 +158,15 @@ function atil.show_route_edit_form(pname, sigd, routeid, sel_rpartidx) --if route.smartroute_generated or route.default_autoworking then -- form = form.."button[3.5,6;2,1;noautogen;Clr Autogen]" --end - form = form.."button[5.5,6;3,1;delete;Delete Route]" - form = form.."button[0.5,7;3,1;back;Back to signal]" - form = form.."button[3.5,7;2,1;clone;Clone Route]" - form = form.."button[5.5,7;3,1;newfrom;New From Route]" + form = form.."button[5.5,6;3,1;delete;Smazat cestu]" + form = form.."button[0.5,7;3,1;back;Zpět na návěstidlo]" + form = form.."button[3.5,7;2,1;clone;Klonovat cestu]" + form = form.."button[5.5,7;3,1;newfrom;Nová z cesty]" --atdebug(route.ars) form = form.."style[ars;font=mono]" - form = form.."textarea[0.8,8.3;5,3;ars;ARS Rule List;"..atil.ars_to_text(route.ars).."]" - form = form.."button[5.5,8.23;3,1;savears;Save ARS List]" + form = form.."textarea[0.8,8.3;5,3;ars;ARS pravidla;"..atil.ars_to_text(route.ars).."]" + form = form.."button[5.5,8.23;3,1;savears;Uložit ARS pravidla]" local formname = "at_il_routeedit_"..minetest.pos_to_string(sigd.p).."_"..sigd.s.."_"..routeid minetest.show_formspec(pname, formname, form) diff --git a/advtrains_interlocking/routesetting.lua b/advtrains_interlocking/routesetting.lua index 6544a92..1065cad 100644 --- a/advtrains_interlocking/routesetting.lua +++ b/advtrains_interlocking/routesetting.lua @@ -86,8 +86,8 @@ function ilrs.set_route(signal, route, try) local c_locks = {} if route.use_rscache and c_ts.rs_cache and c_rseg.next then -- rscache needs to be enabled, present and next must be defined - start_pkey = advtrains.encode_pos(c_sigd.p) - end_pkey = advtrains.encode_pos(c_rseg.next.p) + local start_pkey = advtrains.encode_pos(c_sigd.p) + local end_pkey = advtrains.encode_pos(c_rseg.next.p) if c_ts.rs_cache[start_pkey] and c_ts.rs_cache[start_pkey][end_pkey] then for lp,lst in pairs(c_ts.rs_cache[start_pkey][end_pkey]) do --atdebug("Add lock from RSCache:",lp,"->",lst) diff --git a/advtrains_interlocking/signal_aspect_ui.lua b/advtrains_interlocking/signal_aspect_ui.lua index 98a332a..818f6d6 100644 --- a/advtrains_interlocking/signal_aspect_ui.lua +++ b/advtrains_interlocking/signal_aspect_ui.lua @@ -38,14 +38,14 @@ function advtrains.interlocking.make_ip_formspec_component(pos, x, y, w) local ipos = minetest.string_to_pos(pts) ipmarker(ipos, connid) return table.concat { - F.S_label(x, y, "Influence point is set at @1.", string.format("%s/%s", pts, connid)), - F.S_button_exit(x, y+0.5, w/2-0.125, "ip_set", "Modify"), - F.S_button_exit(x+w/2+0.125, y+0.5, w/2-0.125, "ip_clear", "Clear"), + F.S_label(x, y, "Bod účinku nastaven na @1.", string.format("%s/%s", pts, connid)), + F.S_button_exit(x, y+0.5, w/2-0.125, "ip_set", "Změnit"), + F.S_button_exit(x+w/2+0.125, y+0.5, w/2-0.125, "ip_clear", "Odebrat bod účinku"), } else return table.concat { - F.S_label(x, y, "Influence point is not set."), - F.S_button_exit(x, y+0.5, w, "ip_set", "Set influence point"), + F.S_label(x, y, "Bod účinku není nastaven."), + F.S_button_exit(x, y+0.5, w, "ip_set", "Nastavit bod účinku"), } end end @@ -83,10 +83,10 @@ function advtrains.interlocking.show_ip_sa_form(pos, pname) -- Create Signal aspect formspec elements local ndef = advtrains.ndb.get_ndef(pos) if ndef and ndef.advtrains then - form[#form+1] = F.label(0.5, 2, "Signal Aspect:") + form[#form+1] = F.label(0.5, 2, "signál:") -- main aspect list if ndef.advtrains.main_aspects then - local entries = { "<none>" } + local entries = { "<žádný>" } local sel = 1 for i, mae in ipairs(ndef.advtrains.main_aspects) do entries[i+1] = mae.description @@ -98,9 +98,9 @@ function advtrains.interlocking.show_ip_sa_form(pos, pname) end -- distant signal assign (is shown either when main_aspect is not none, or when pure distant signal) if rpos then - form[#form+1] = F.button_exit(0.5, 3.5, 4, "sa_undistant", "Dst: " .. minetest.pos_to_string(rpos)) + form[#form+1] = F.button_exit(0.5, 3.5, 4, "sa_undistant", "odpojit od: " .. minetest.pos_to_string(rpos)) elseif (ma and not ma.halt) or not ndef.advtrains.main_aspects then - form[#form+1] = F.button_exit(0.5, 3.5, 4, "sa_distant", "<assign distant>") + form[#form+1] = F.button_exit(0.5, 3.5, 4, "sa_distant", "<přiřadit předzvěst>") end end @@ -165,12 +165,12 @@ end) -- inits the signal IP assignment process function advtrains.interlocking.init_ip_assign(pos, pname) if not minetest.check_player_privs(pname, "interlocking") then - minetest.chat_send_player(pname, "Insufficient privileges to use this!") + minetest.chat_send_player(pname, attrans("Insufficient privileges to use this!")) return end --remove old IP --advtrains.interlocking.db.clear_ip_by_signalpos(pos) - minetest.chat_send_player(pname, "Configuring Signal: Please look in train's driving direction and punch rail to set influence point.") + minetest.chat_send_player(pname, attrans("Configuring Signal: Please look in train's driving direction and punch rail to set influence point.")) players_assign_ip[pname] = pos end @@ -178,10 +178,10 @@ end -- inits the distant signal assignment process function advtrains.interlocking.init_distant_assign(pos, pname) if not minetest.check_player_privs(pname, "interlocking") then - minetest.chat_send_player(pname, "Insufficient privileges to use this!") + minetest.chat_send_player(pname, attrans("Insufficient privileges to use this!")) return end - minetest.chat_send_player(pname, "Set distant signal: Punch the main signal to assign!") + minetest.chat_send_player(pname, attrans("Set distant signal: Punch the main signal to assign!")) players_assign_distant[pname] = pos end @@ -203,7 +203,7 @@ local function try_auto_assign_to_tcb(signalpos, pos, connid, pname) advtrains.interlocking.db.assign_signal_to_tcbs(signalpos, sigd) -- use auto-naming advtrains.interlocking.add_autoname_to_tcbs(tcb[aconnid], pname) - minetest.chat_send_player(pname, "Assigned signal to the TCB at "..core.pos_to_string(apos)) + minetest.chat_send_player(pname, attrans("Assigned signal to the TCB at @1", core.pos_to_string(apos))) advtrains.interlocking.show_tcb_marker(apos) advtrains.interlocking.show_signalling_form(sigd, pname) end @@ -215,7 +215,7 @@ local function try_auto_assign_to_tcb(signalpos, pos, connid, pname) local mainsig = advtrains.interlocking.db.get_ip_signal(pts, aconnid) if mainsig and advtrains.interlocking.signal.get_signal_cap_level(mainsig) >= 3 then advtrains.interlocking.signal.set_aspect(signalpos, "_default", mainsig) - minetest.chat_send_player(pname, "Assigned distant signal to the main signal at "..core.pos_to_string(mainsig)) + minetest.chat_send_player(pname, attrans("Assigned distant signal to the main signal at @1", core.pos_to_string(mainsig))) return end end @@ -245,19 +245,19 @@ minetest.register_on_punchnode(function(pos, node, player, pointed_thing) if not advtrains.interlocking.db.get_ip_signal_asp(pts, plconnid) then advtrains.interlocking.db.set_ip_signal(pts, plconnid, signalpos) ipmarker(pos, plconnid) - minetest.chat_send_player(pname, "Configuring Signal: Successfully set influence point") + minetest.chat_send_player(pname, attrans("Configuring Signal: Successfully set influence point")) -- Try to find a TCB ahead and auto assign this signal there if advtrains.interlocking.signal.get_signal_cap_level(signalpos) >= 2 then try_auto_assign_to_tcb(signalpos, pos, plconnid, pname) end else - minetest.chat_send_player(pname, "Configuring Signal: Influence point of another signal is already present!") + minetest.chat_send_player(pname, attrans("Configuring Signal: Influence point of another signal is already present!")) end else - minetest.chat_send_player(pname, "Configuring Signal: This is not a normal two-connection rail! Aborted.") + minetest.chat_send_player(pname, attrans("Configuring Signal: This is not a normal two-connection rail! Aborted.")) end else - minetest.chat_send_player(pname, "Configuring Signal: Node is too far away. Aborted.") + minetest.chat_send_player(pname, attrans("Configuring Signal: Node is too far away. Aborted.")) end players_assign_ip[pname] = nil end diff --git a/advtrains_interlocking/tcb_ts_ui.lua b/advtrains_interlocking/tcb_ts_ui.lua index 9a44b4d..167b791 100644 --- a/advtrains_interlocking/tcb_ts_ui.lua +++ b/advtrains_interlocking/tcb_ts_ui.lua @@ -247,12 +247,12 @@ function advtrains.interlocking.self_tcb_make_after_place_callback(fail_silently local pname = player:get_player_name() if not minetest.check_player_privs(pname, "interlocking") then if not fail_silently_on_noprivs then - minetest.chat_send_player(pname, "Insufficient privileges to use this!") + minetest.chat_send_player(pname, attrans("Insufficient privileges to use this!")) end return end if ildb.get_tcb(pos) then - minetest.chat_send_player(pname, "TCB already existed at this position, now linked to this node") + minetest.chat_send_player(pname, attrans("TCB already existed at this position, now linked to this node")) else ildb.create_tcb_at(pos, pname) end @@ -261,7 +261,7 @@ function advtrains.interlocking.self_tcb_make_after_place_callback(fail_silently local tcbs = ildb.get_tcbs(sigd) -- make sure signal doesn't already exist if tcbs.signal then - minetest.chat_send_player(pname, "Signal on B side already assigned!") + minetest.chat_send_player(pname, attrans("Signal on B side already assigned!")) return end ildb.assign_signal_to_tcbs(pos, sigd) @@ -281,7 +281,7 @@ function advtrains.interlocking.self_tcb_make_can_dig_callback(is_signal) local pname = player and player:get_player_name() or "" -- need to duplicate logic of the regular "can_dig_or_modify_track()" function in core/tracks.lua if advtrains.get_train_at_pos(pos) then - minetest.chat_send_player(pname, "Can't remove track, a train is here!") + minetest.chat_send_player(pname, attrans("Can't remove track, a train is here!")) return false end -- end of standard checks @@ -376,8 +376,12 @@ local sidecolorB = minetest.get_color_escape_sequence("#068b00") local function mktcbformspec(pos, side, tcbs, offset, pname) local form = "" - local btnpref = side==1 and "A" or "B" - local ts + local btncolor, btnpref, ts + if side == 1 then + btncolor, btnpref = sidecolorA, "A" + else + btncolor, btnpref = sidecolorB, "B" + end -- ensure that mapping and xlink are up to date ildb.tcbs_ensure_ts_ref_exists({p=pos, s=side, tcbs=tcbs}) ildb.validate_tcb_xlink({p=pos, s=side, tcbs=tcbs}) @@ -386,12 +390,12 @@ local function mktcbformspec(pos, side, tcbs, offset, pname) ts = ildb.get_ts(tcbs.ts_id) end if ts then - form = form.."label[0.5,"..offset..";Side "..btnpref..": "..minetest.formspec_escape(ts.name or tcbs.ts_id).."]" - form = form.."button[0.5,"..(offset+0.5)..";5,1;"..btnpref.."_gotots;Show track section]" + form = form.."label[0.5,"..offset..";"..btncolor..attrans("Side "..btnpref)..": "..minetest.formspec_escape(ts.name or tcbs.ts_id).."]" + form = form.."button[0.5,"..(offset+0.5)..";5,1;"..btnpref.."_gotots;"..attrans("Show track section").."]" else tcbs.ts_id = nil - form = form.."label[0.5,"..offset..";Side "..btnpref..": ".."End of interlocking]" - form = form.."button[0.5,"..(offset+0.5)..";5,1;"..btnpref.."_makeil;Create Interlocked Track Section]" + form = form.."label[0.5,"..offset..";"..btncolor..attrans("Side "..btnpref)..": "..attrans("End of interlocking").."]" + form = form.."button[0.5,"..(offset+0.5)..";5,1;"..btnpref.."_makeil;"..attrans("Create Interlocked Track Section").."]" end -- xlink if tcbs.xlink then @@ -399,10 +403,10 @@ local function mktcbformspec(pos, side, tcbs, offset, pname) form = form.."button[4.5,"..(offset+1.5)..";1,1;"..btnpref.."_xlinkdel;X]" else if players_assign_xlink[pname] then - form = form.."button[0.5,"..(offset+1.5)..";4,1;"..btnpref.."_xlinklink;Link "..ildb.sigd_to_string(players_assign_xlink[pname]).."]" + form = form.."button[0.5,"..(offset+1.5)..";4,1;"..btnpref.."_xlinklink;"..attrans("Link @1", ildb.sigd_to_string(players_assign_xlink[pname])).."]" form = form.."button[4.5,"..(offset+1.5)..";1,1;"..btnpref.."_xlinkabrt;X]" else - form = form.."label[0.5,"..(offset+1.5)..";No Link]" + form = form.."label[0.5,"..(offset+1.5)..";"..attrans("No Link").."]" form = form.."button[4.5,"..(offset+1.5)..";1,1;"..btnpref.."_xlinkadd;+]" end end @@ -490,7 +494,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) else if f_xlinkadd[connid] then players_assign_xlink[pname] = {p=pos, s=connid} - minetest.chat_send_player(pname, "TCB Link: Select linked TCB now!") + minetest.chat_send_player(pname, attrans("TCB Link: Select linked TCB now!")) minetest.close_formspec(pname, formname) return -- to not reopen form end @@ -536,7 +540,7 @@ function advtrains.interlocking.show_ts_form(ts_id, pname) advtrains.interlocking.show_tcb_marker(sigd.p) end - form = form.."label[0.5,2.5;Boundary TCBs:]" + form = form.."label[0.5,2.5;"..attrans("Boundary TCBs")..":]" form = form.."textlist[0.5,3;4,3;tcblist;"..table.concat(strtab, ",").."]" -- additional route locks (e.g. for level crossings) @@ -548,15 +552,15 @@ function advtrains.interlocking.show_ts_form(ts_id, pname) minetest.pos_to_string(advtrains.decode_pos(pts)).." = "..state) end end - form = form.."label[5.5,2.5;Fixed route locks (e.g. level crossings):]" + form = form.."label[5.5,2.5;"..attrans("Fixed route locks (e.g. level crossings)")..":]" form = form.."textlist[5.5,3;4,3;fixedlocks;"..table.concat(strtab, ",").."]" if ildb.may_modify_ts(ts) then - form = form.."button[5.5,6;2,1;flk_add;Add locks]" - form = form.."button[7.5,6;2,1;flk_clear;Clear locks]" + form = form.."button[5.5,6;2,1;flk_add;"..attrans("Add locks").."]" + form = form.."button[7.5,6;2,1;flk_clear;"..attrans("Clear locks").."]" - form = form.."button[5.5,8;4,1;remove;Remove Section]" - form = form.."tooltip[remove;This will remove the track section and set all its end points to End Of Interlocking]" + form = form.."button[5.5,8;4,1;remove;"..attrans("Remove Section").."]" + form = form.."tooltip[remove;"..attrans("This will remove the track section and set all its end points to End Of Interlocking").."]" else hint=3 end @@ -574,10 +578,10 @@ function advtrains.interlocking.show_ts_form(ts_id, pname) form = form.."label[0.5,7.1;"..attrans("No trains on this section.").."]" end - form = form.."button[5.5,7;4,1;reset;Reset section state]" + form = form.."button[5.5,7;4,1;reset;"..attrans("Reset section state").."]" if hint == 3 then - form = form.."label[0.5,0.75;You cannot modify track sections when a route is set or a train is on the section.]" + form = form.."label[0.5,0.75;"..attrans("You cannot modify track sections when a route is set or a train is on the section.").."]" --form = form.."label[0.5,1;Trying to unlink a TCB directly connected to this track will not work.]" end @@ -618,7 +622,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) ts.fixed_locks = {} end players_assign_fixedlocks[pname] = ts_id - minetest.chat_send_player(pname, "Punch components to add fixed locks. (punch anything else = end)") + minetest.chat_send_player(pname, attrans("Punch components to add fixed locks. (punch anything else = end)")) minetest.close_formspec(pname, formname) return elseif fields.flk_clear then @@ -709,7 +713,7 @@ function advtrains.interlocking.show_tcb_marker(pos) if ts then itex[connid] = ts.name or tcbs.ts_id or "???" else - itex[connid] = "--EOI--" + itex[connid] = "--kon.zab.ob.--" end end @@ -769,11 +773,11 @@ function advtrains.interlocking.check_route_valid(route, sigd) while c_sigd and i<=#route do c_tcbs = ildb.get_tcbs(c_sigd) if not c_tcbs then - return false, "No TCBS at "..sigd_to_string(c_sigd) + return false, attrans("No TCBS at @1", sigd_to_string(c_sigd)) end c_ts_id = c_tcbs.ts_id if not c_ts_id then - return false, "No track section adjacent to "..sigd_to_string(c_sigd) + return false, attrans("No track section adjacent to @1", sigd_to_string(c_sigd)) end c_ts = ildb.get_ts(c_ts_id) @@ -783,7 +787,7 @@ function advtrains.interlocking.check_route_valid(route, sigd) for pts, state in pairs(c_rseg.locks) do local pos = advtrains.decode_pos(pts) if not advtrains.is_passive(pos) then - return false, "No passive component for lock at "..pts + return false, attrans("No passive component for lock at @1", pts) end end end @@ -792,7 +796,7 @@ function advtrains.interlocking.check_route_valid(route, sigd) if nvar then local re_tcbs = ildb.get_tcbs({p = nvar.p, s = (nvar.s==1) and 2 or 1}) if not re_tcbs or not re_tcbs.ts_id or re_tcbs.ts_id~=c_ts_id then - return false, "TCB at "..minetest.pos_to_string(nvar.p).." has different section than previous TCB." + return false, attrans("TCB at @1 has different section than previous TCB.", minetest.pos_to_string(nvar.p)) end end -- advance @@ -801,11 +805,11 @@ function advtrains.interlocking.check_route_valid(route, sigd) end -- check end TCB if not c_sigd then - return false, "Final TCBS unset (legacy-style buffer route)" + return false, attrans("Final TCBS unset (legacy-style buffer route)") end c_tcbs = ildb.get_tcbs(c_sigd) if not c_tcbs then - return false, "Final TCBS missing at "..sigd_to_string(c_sigd) + return false, attrans("Final TCBS missing at @1", sigd_to_string(c_sigd)) end return true, nil, c_sigd end @@ -827,7 +831,8 @@ function advtrains.interlocking.show_signalling_form(sigd, pname, sel_rte, calle if not tcbs.signal then return end if not tcbs.routes then tcbs.routes = {} end - + if not tcbs.signal_name then tcbs.signal_name = minetest.pos_to_string(sigd.p) end + local form = "size[7,10]label[0.5,0.5;"..attrans("Signal at @1", minetest.pos_to_string(sigd.p)).."]" form = form.."field[0.8,1.5;5.2,1;name;"..attrans("Signal name")..";"..minetest.formspec_escape(tcbs.signal_name).."]" form = form.."button[5.5,1.2;1,1;setname;"..attrans("Set").."]" @@ -878,35 +883,35 @@ function advtrains.interlocking.show_signalling_form(sigd, pname, sel_rte, calle end strtab[#strtab+1] = clr .. minetest.formspec_escape(rname) end - form = form.."label[0.5,2.5;Routes:]" + form = form.."label[0.5,2.5;"..attrans("Routes:").."]" form = form.."textlist[0.5,3;5,3;rtelist;"..table.concat(strtab, ",") if sel_rte then form = form .. ";" .. sel_rte .."]" - form = form.."button[0.5,6; 5,1;setroute;Set Route]" - form = form.."button[0.5,7;2,1;dsproute;Show]" + form = form.."button[0.5,6; 5,1;setroute;"..attrans("Set Route").."]" + form = form.."button[0.5,7;2,1;dsproute;"..attrans("Show").."]" if hasprivs then - form = form.."button[5.5,3.3;1,0.3;setarsdefault;D]tooltip[setarsdefault;Set ARS default route]" - form = form.."button[3.5,7;2,1;editroute;Edit]" + form = form.."button[5.5,3.3;1,0.3;setarsdefault;Vých]tooltip[setarsdefault;"..attrans("Set ARS default route").."]" + form = form.."button[3.5,7;2,1;editroute;"..attrans("Edit").."]" if sel_rte > 1 then form = form .. "button[5.5,4;1,0.3;moveup;↑]" end if sel_rte < #strtab then form = form .. "button[5.5,4.7;1,0.3;movedown;↓]" end - form = form.."button[5.5,5.4;1,0.3;delroute;X]tooltip[delroute;Delete this route]" + form = form.."button[5.5,5.4;1,0.3;delroute;X]tooltip[delroute;"..attrans("Delete this route").."]" end else form = form .. "]" if tcbs.ars_disabled then - form = form.."label[0.5,6 ;NOTE: ARS is disabled.]" - form = form.."label[0.5,6.5;Routes are not automatically set.]" + form = form.."label[0.5,6 ;"..attrans("NOTE: ARS is disabled.").."]" + form = form.."label[0.5,6.5;"..attrans("Routes are not automatically set.").."]" end end if hasprivs then - form = form.."button[0.5,8;2.5,1;smartroute;Smart Route]" - form = form.."button[ 3,8;2.5,1;newroute;New (Manual)]" - form = form..string.format("checkbox[0.5,8.75;ars;Automatic routesetting;%s]", not tcbs.ars_disabled) - form = form..string.format("checkbox[0.5,9.25;dstarstrig;Distant signal triggers ARS;%s]", not tcbs.no_dst_ars_trig) + form = form.."button[0.5,8;2.5,1;smartroute;"..attrans("Smart Route").."]" + form = form.."button[ 3,8;2.5,1;newroute;"..attrans("New (Manual)").."]" + form = form..string.format("checkbox[0.5,8.75;ars;"..attrans("Automatic routesetting")..";%s]", not tcbs.ars_disabled) + form = form..string.format("checkbox[0.5,9.25;dstarstrig;"..attrans("Distant signal triggers ARS")..";%s]", not tcbs.no_dst_ars_trig) end else -- no route is active, and no route is so far defined @@ -914,19 +919,19 @@ function advtrains.interlocking.show_signalling_form(sigd, pname, sel_rte, calle local caps = advtrains.interlocking.signal.get_signal_cap_level(tcbs.signal) if caps >= 4 then -- offer user the "block signal mode" - form = form.."label[0.5,2.5;No routes are yet defined.]" + form = form.."label[0.5,2.5;"..attrans("No routes are yet defined.").."]" if hasprivs then - form = form.."button[0.5,4;2.5,1;smartroute;Smart Route]" - form = form.."button[ 3,4;2.5,1;newroute;New (Manual)]" + form = form.."button[0.5,4;2.5,1;smartroute;"..attrans("Smart Route").."]" + form = form.."button[ 3,4;2.5,1;newroute;"..attrans("New (Manual)").."]" end elseif caps >= 3 then -- it's a buffer! - form = form.."label[0.5,2.5;This is an always-halt signal (e.g. a buffer)\n" - .."No routes can be set from here.]" + form = form.."label[0.5,2.5;Tento signál vždy ukazuje červenou.\n" + .."Vlakové cesty odsud nemohou být nastaveny.]" else -- signal caps say it cannot be route start/end - form = form.."label[0.5,2.5;This is a pure distant signal\n" - .."No route is currently set through.]" + form = form.."label[0.5,2.5;Toto je vzdálená předzvěst.\n" + .."Aktuálně tudy není nastavena vlaková cesta.]" end end @@ -1059,7 +1064,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end if fields.delroute and hasprivs then if tcbs.routes[sel_rte] and tcbs.routes[sel_rte].ars then - minetest.chat_send_player(pname, "Cannot delete route which has ARS rules, please review and then delete through edit dialog!") + minetest.chat_send_player(pname, attrans("Cannot delete route which has ARS rules, please review and then delete through edit dialog!")) else table.remove(tcbs.routes,sel_rte) end @@ -1069,6 +1074,13 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if fields.ars then tcbs.ars_disabled = not minetest.is_yes(fields.ars) + local action + if tcbs.ars_disabled then + action = "disabled" + else + action = "enabled" + end + core.log("action", pname.." "..action.." ARS at "..pts) end if fields.dstarstrig then diff --git a/advtrains_interlocking/tool.lua b/advtrains_interlocking/tool.lua index 7ccab46..c8f8521 100644 --- a/advtrains_interlocking/tool.lua +++ b/advtrains_interlocking/tool.lua @@ -5,17 +5,17 @@ local ilrs = advtrains.interlocking.route local function node_right_click(pos, pname, player) if advtrains.is_passive(pos) then - local form = "size[7,5]label[0.5,0.5;Route lock inspector]" + local form = "size[7,5]label[0.5,0.5;Průzkumník zámků]" local pts = advtrains.encode_pos(pos) local rtl = ilrs.has_route_lock(pts) if rtl then - form = form.."label[0.5,1;Route locks currently put:\n"..rtl.."]" - form = form.."button_exit[0.5,3.5; 5,1;clear;Clear]" + form = form.."label[0.5,1;Právě uzamčeno:\n"..rtl.."]" + form = form.."button_exit[0.5,3.5; 5,1;clear;Odemknout vše]" else - form = form.."label[0.5,1;No route locks set]" - form = form.."button_exit[0.5,3.5; 5,1;emplace;Emplace manual lock]" + form = form.."label[0.5,1;Nic není uzamčeno]" + form = form.."button_exit[0.5,3.5; 5,1;emplace;Uzamknout ručně]" end minetest.show_formspec(pname, "at_il_rtool_"..pts, form) @@ -25,7 +25,7 @@ local function node_right_click(pos, pname, player) -- If not a turnout, check the track section and show a form local node_ok, conns, rail_y=advtrains.get_rail_info_at(pos) if not node_ok then - minetest.chat_send_player(pname, "Node is not a track!") + minetest.chat_send_player(pname, "Tento blok není kolej!") return end if advtrains.interlocking.db.get_tcb(pos) then @@ -37,14 +37,14 @@ local function node_right_click(pos, pname, player) if ts_id then advtrains.interlocking.show_ts_form(ts_id, pname) else - minetest.chat_send_player(pname, "No track section at this location!") + minetest.chat_send_player(pname, "Zde není zabezpečený traťový úsek!") end end local function node_left_click(pos, pname, player) local node_ok, conns, rail_y=advtrains.get_rail_info_at(pos) if not node_ok then - minetest.chat_send_player(pname, "Node is not a track!") + minetest.chat_send_player(pname, "Tento blok není kolej!") return end @@ -62,13 +62,14 @@ local function node_left_click(pos, pname, player) advtrains.interlocking.db.update_rs_cache(ts_id) advtrains.interlocking.highlight_track_section(pos) else - minetest.chat_send_player(pname, "No track section at this location!") + minetest.chat_send_player(pname, "Zde není zabezpečený traťový úsek!") end end minetest.register_craftitem("advtrains_interlocking:tool",{ - description = "Interlocking tool\nPunch: Highlight track section\nPlace: check route locks/show track section info", + description = "ovladač traťového zabezpečení", + _ch_help = "levý klik: zvýraznit traťový úsek\npravý klik: prozkoumat/zkontrolovat zámky nebo zobrazit informace o traťovém úseku", groups = {cracky=1}, -- key=name, value=rating; rating=1..3. inventory_image = "at_il_tool.png", wield_image = "at_il_tool.png", diff --git a/advtrains_signals_ks/init.lua b/advtrains_signals_ks/init.lua index 9c59401..fffafd0 100644 --- a/advtrains_signals_ks/init.lua +++ b/advtrains_signals_ks/init.lua @@ -89,38 +89,38 @@ end local mainaspects_main = { { name = "proceed", - description = "Proceed", + description = "Volno", zs3 = "off" }, { name = "shunt", - description = "Shunt", + description = "Posun", zs3 = "off", shunt = true, }, { name = "proceed_16", - description = "Proceed (speed 16)", + description = "Volno (rychlost 16)", zs3 = "16", }, { name = "proceed_12", - description = "Proceed (speed 12)", + description = "Volno (rychlost 12)", zs3 = "12", }, { name = "proceed_8", - description = "Proceed (speed 8)", + description = "Volno (rychlost 8)", zs3 = "8", }, { name = "proceed_6", - description = "Proceed (speed 6)", + description = "Volno (rychlost 6)", zs3 = "6", }, { name = "proceed_4", - description = "Proceed (speed 4)", + description = "Volno (rychlost 4)", zs3 = "4", }, } @@ -154,7 +154,7 @@ end local mainaspects_dst = { { name = "expectclear", - description = "Expect Clear", + description = "Očekávej volno", }, } @@ -176,7 +176,7 @@ end local mainaspects_ra = { { name = "shunt", - description = "Shunt", + description = "Posun", shunt = true, }, } @@ -264,6 +264,7 @@ for _, rtab in ipairs({ on_rightclick = advtrains.interlocking.signal.on_rightclick, can_dig = advtrains.interlocking.signal.can_dig, after_dig_node = advtrains.interlocking.signal.after_dig, + after_place_node = advtrains.after_place_signal, }) -- rotatable by trackworker end @@ -302,7 +303,7 @@ for _, rtab in ipairs({ } end minetest.register_node("advtrains_signals_ks:vs_"..typ.."_"..rot, { - description = "Ks Distant Signal", + description = "předzvěst KS", drawtype = "mesh", mesh = "advtrains_signals_ks_distant_smr"..rot..".obj", tiles = {"advtrains_signals_ks_mast.png", "advtrains_signals_ks_head.png", "advtrains_signals_ks_head.png", tile}, @@ -337,6 +338,7 @@ for _, rtab in ipairs({ on_rightclick = advtrains.interlocking.signal.on_rightclick, can_dig = advtrains.interlocking.signal.can_dig, after_dig_node = advtrains.interlocking.signal.after_dig, + after_place_node = advtrains.after_place_signal, }) -- rotatable by trackworker end @@ -354,7 +356,7 @@ for _, rtab in ipairs({ afunc = function() return prts.asp end end minetest.register_node("advtrains_signals_ks:ra_"..typ.."_"..rot, { - description = "Ks Shunting Signal", + description = "posunové návěstidlo KS", drawtype = "mesh", mesh = "advtrains_signals_ks_sht_smr"..rot..".obj", tiles = {"advtrains_signals_ks_mast.png", "advtrains_signals_ks_head.png", "advtrains_signals_ks_head.png", "advtrains_signals_ks_ltm_"..typ..".png"}, @@ -392,6 +394,7 @@ for _, rtab in ipairs({ on_rightclick = advtrains.interlocking.signal.on_rightclick, can_dig = advtrains.interlocking.signal.can_dig, after_dig_node = advtrains.interlocking.signal.after_dig, + after_place_node = advtrains.after_place_signal, }) -- rotatable by trackworker end @@ -432,27 +435,77 @@ for _, rtab in ipairs({ on_rightclick = advtrains.interlocking.signal.on_rightclick, can_dig = advtrains.interlocking.signal.can_dig, after_dig_node = advtrains.interlocking.signal.after_dig, + after_place_node = advtrains.after_place_signal, }) -- rotatable by trackworker --TODO add rotation using trackworker end for typ, prts in pairs { - ["hfs"] = {asp = {main = false, shunt = false}, n = "pam", mesh = "_hfs", owntile = true}, - ["pam"] = {asp = {main = -1, shunt = false, proceed_as_main = true}, n = "ne4"}, - ["ne4"] = {asp = {}, n = "ne3x1", mesh="_ne4", owntile = true}, - ["ne3x1"] = {asp = {}, n = "ne3x2", mesh="_ne3", owntile = true}, - ["ne3x2"] = {asp = {}, n = "ne3x3", mesh="_ne3", owntile = true}, - ["ne3x3"] = {asp = {}, n = "ne3x4", mesh="_ne3", owntile = true}, - ["ne3x4"] = {asp = {}, n = "ne3x5", mesh="_ne3", owntile = true}, - ["ne3x5"] = {asp = {}, n = "hfs", mesh="_ne3", owntile = true}, + ["hfs"] = { + asp = {main = false, shunt = false}, + n = "pam", + --[[mesh = "_hfs",]] + name = "železniční návěst: posun zakázán", + tile2 = "advtrains_signals_ks_sign_lf7.png^(advtrains_signals_ks_sign_hfs.png^[makealpha:255,255,255)", + }, + ["pam"] = { + asp = {main = -1, shunt = false, proceed_as_main = true}, + n = "ne4", + name = "železniční návěst: posun pokračuje jako normální vlak", + tile2 = "advtrains_signals_ks_sign_lf7.png^(advtrains_signals_ks_sign_pam.png^[makealpha:255,255,255)" + }, + ["ne4"] = { + asp = {}, + n = "ne3x1", + mesh="_ne4", + name = "železniční návěst: ne4", + tile2 = "advtrains_signals_ks_sign_ne4.png", + inventory_image = "[combine:20x20:6,0=\\[combine\\:8x20\\:0,0=advtrains_signals_ks_sign_ne4.png", + }, + ["ne3x1"] = { + asp = {}, + n = "ne3x2", + mesh="_ne3", + name = "železniční návěst: ne3x1", + tile2 = "advtrains_signals_ks_sign_ne3x1.png", + inventory_image = "[combine:16x16:6,0=advtrains_signals_ks_sign_ne3x1.png\\^[resize\\:4x16", + }, + ["ne3x2"] = { + asp = {}, + n = "ne3x3", + mesh="_ne3", + name = "železniční návěst: ne3x2", + tile2 = "advtrains_signals_ks_sign_ne3x2.png", + inventory_image = "[combine:16x16:6,0=advtrains_signals_ks_sign_ne3x2.png\\^[resize\\:4x16", + }, + ["ne3x3"] = { + asp = {}, + n = "ne3x4", + mesh="_ne3", + name = "železniční návěst: ne3x3", + tile2 = "advtrains_signals_ks_sign_ne3x3.png", + inventory_image = "[combine:16x16:6,0=advtrains_signals_ks_sign_ne3x3.png\\^[resize\\:4x16", + }, + ["ne3x4"] = { + asp = {}, + n = "ne3x5", + mesh="_ne3", + name = "železniční návěst: ne3x4", + tile2 = "advtrains_signals_ks_sign_ne3x4.png", + inventory_image = "[combine:16x16:6,0=advtrains_signals_ks_sign_ne3x4.png\\^[resize\\:4x16", + }, + ["ne3x5"] = { + asp = {}, + n = "hfs", + mesh="_ne3", + name = "železniční návěst: ne3x5", + tile2 = "advtrains_signals_ks_sign_ne3x5.png", + inventory_image = "[combine:16x16:6,0=advtrains_signals_ks_sign_ne3x5.png\\^[resize\\:4x16", + }, } do local mesh = prts.mesh or "" - local tile2 = "advtrains_signals_ks_sign_lf7.png^(advtrains_signals_ks_sign_"..typ..".png^[makealpha:255,255,255)" - if prts.owntile then - tile2 = "advtrains_signals_ks_sign_"..typ..".png" - end - register_sign("sign", typ, prts.n, "Signal Sign", "sign"..mesh, tile2, "hfs", "advtrains_signals_ks_sign_lf7.png", prts.asp) + register_sign("sign", typ, prts.n, prts.name, "sign"..mesh, prts.tile2, typ, prts.inventory_image or prts.tile2, prts.asp) end for typ, prts in pairs { @@ -470,7 +523,8 @@ for _, rtab in ipairs({ if typ == "e" then tile2 = "advtrains_signals_ks_sign_zs10.png" end - register_sign("sign", typ, prts.n, attrans("Permanent local speed restriction sign").." ("..(typ == "e" and attrans("end") or typ) ..")", "sign"..mesh, tile2, "8", "advtrains_signals_ks_sign_8.png^[invert:rgb", prts.asp) + register_sign("sign", typ, prts.n, attrans("Permanent local speed restriction sign").." ("..(typ == "e" and attrans("end") or typ) ..")", + "sign"..mesh, tile2, "8", "advtrains_signals_ks_sign_8.png^[invert:rgb", prts.asp) end for typ, prts in pairs { @@ -483,7 +537,8 @@ for _, rtab in ipairs({ } do local tile2 = "advtrains_signals_ks_sign_lf7.png^(advtrains_signals_ks_sign_"..typ..".png^[makealpha:255,255,255)"..(typ == "e" and "" or "^[multiply:orange") local inv = "advtrains_signals_ks_sign_lf7.png^(advtrains_signals_ks_sign_8.png^[makealpha:255,255,255)^[multiply:orange" - register_sign("sign_lf", typ, prts.n, "Temporary local speed restriction sign", "sign", tile2, "8", inv, {main = prts.main, shunt = true, type = "temp"}) + register_sign("sign_lf", typ, prts.n, attrans("Temporary local speed restriction sign").." ("..(typ == "e" and attrans("end") or typ) ..")", + "sign", tile2, "8", inv, {main = prts.main, shunt = true, type = "temp"}) end for typ, prts in pairs { @@ -496,7 +551,7 @@ for _, rtab in ipairs({ } do local tile2 = "advtrains_signals_ks_sign_lf7.png^(advtrains_signals_ks_sign_"..typ..".png^[makealpha:255,255,255)" local inv = "advtrains_signals_ks_sign_lf7.png^(advtrains_signals_ks_sign_8.png^[makealpha:255,255,255)" - register_sign("sign_lf7", typ, prts.n, attrans("Line speed restriction sign").." ("..(typ == "20" and attrans("end") or typ) ..")", + register_sign("sign_lf7", typ, prts.n, attrans("Line speed restriction sign").." ("..(typ == "e" and attrans("end") or typ) ..")", "sign", tile2, "8", inv, {main = prts.main, shunt = true, type = "line"}) end @@ -528,7 +583,8 @@ for _, rtab in ipairs({ save_in_at_nodedb = 1, not_in_creative_inventory = (rtab.ici and prts.ici) and 0 or 1, }, - after_dig_node = function(pos) advtrains.ndb.update(pos) end + after_dig_node = function(pos) advtrains.ndb.update(pos) end, + after_place_node = advtrains.after_place_signal, } -- Zs 3 @@ -584,6 +640,7 @@ for _, rtab in ipairs({ trackworker_rot_incr_param2 = (rot=="60") }, drop = "advtrains_signals_ks:mast_mast_0", + after_place_node = advtrains.after_place_signal, }) --TODO add rotation using trackworker end @@ -609,6 +666,14 @@ minetest.register_craft({ }) minetest.register_craft({ + output = 'advtrains_signals_ks:vs_slow_0 10', + recipe = { + {'default:steel_ignot', 'default:steel_ingot'}, + {'dye:green', 'dye:yellow'}, + }, +}) + +minetest.register_craft({ output = "advtrains_signals_ks:ra_danger_0 2", recipe = { {'dye:red', 'dye:white', 'dye:red'}, @@ -666,11 +731,41 @@ minetest.register_craft{ } minetest.register_craft{ - output = "advtrains_signals_ks:sign_lf_8_0 1", + output = "advtrains_signals_ks:sign_ne4_0 1", recipe = {{"advtrains_signals_ks:sign_pam_0"}} } minetest.register_craft{ + output = "advtrains_signals_ks:sign_ne3x1_0 1", + recipe = {{"advtrains_signals_ks:sign_ne4_0"}} +} + +minetest.register_craft{ + output = "advtrains_signals_ks:sign_ne3x2_0 1", + recipe = {{"advtrains_signals_ks:sign_ne3x1_0"}} +} + +minetest.register_craft{ + output = "advtrains_signals_ks:sign_ne3x3_0 1", + recipe = {{"advtrains_signals_ks:sign_ne3x2_0"}} +} + +minetest.register_craft{ + output = "advtrains_signals_ks:sign_ne3x4_0 1", + recipe = {{"advtrains_signals_ks:sign_ne3x3_0"}} +} + +minetest.register_craft{ + output = "advtrains_signals_ks:sign_ne3x5_0 1", + recipe = {{"advtrains_signals_ks:sign_ne3x4_0"}} +} + +minetest.register_craft{ + output = "advtrains_signals_ks:sign_lf_8_0 1", + recipe = {{"advtrains_signals_ks:sign_ne3x5_0"}} +} + +minetest.register_craft{ output = "advtrains_signals_ks:sign_lf7_8_0 1", recipe = {{"advtrains_signals_ks:sign_lf_8_0"}} } diff --git a/advtrains_train_track/init.lua b/advtrains_train_track/init.lua index c773839..3b93fdb 100644 --- a/advtrains_train_track/init.lua +++ b/advtrains_train_track/init.lua @@ -607,7 +607,7 @@ advtrains.register_tracks("default", { models_prefix="advtrains_dtrack", models_suffix=".obj", shared_texture="advtrains_dtrack_shared.png", - second_texture="default_gravel.png^[multiply:#956338", + second_texture="ch_extras_gravel.png", description=attrans("Track with Railway Gravel"), formats=advtrains.default_slope_formats.t_30deg_slope, }, advtrains.ap.t_30deg_slope) @@ -720,12 +720,12 @@ local function show_fc_formspec(pos,player) local form = 'formspec_version[4]'.. 'size[10,5]'.. - 'label[0.5,0.4;Advtrains Loading/Unloading Track]'.. - 'label[0.5,1.1;Set the code to match against the wagon\'s freight code]'.. - 'label[0.5,1.6;A blank field matches all wagons (default)]'.. - 'label[0.5,2.1;Use code # to disable the track section]'.. - 'field[0.5,3;5.5,1;fc;FC;'..minetest.formspec_escape(fc)..']'.. - 'button[6.5,3;3,1;save;Submit]' + 'label[0.5,0.4;kolej nakládání/vykládání]'.. + 'label[0.5,1.1;Nastavte nákladní kód. Vagony se zadaným kódem budou naloženy/vyloženy.]'.. + 'label[0.5,1.6;Prázdné pole znamená všechny vagony.]'.. + 'label[0.5,2.1;Pro vypnutí zadejte kód #.]'.. + 'field[0.5,3;5.5,1;fc;kód:;'..minetest.formspec_escape(fc)..']'.. + 'button[6.5,3;3,1;save;Uložit]' minetest.show_formspec(pname, "at_load_unload_"..advtrains.encode_pos(pos), form) end @@ -735,13 +735,13 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) local pos = advtrains.decode_pos(pe) if pos then if minetest.is_protected(pos, pname) then - minetest.chat_send_player(pname, "Position is protected!") + minetest.chat_send_player(pname, "Pozice je zastřežená!") return end if fields.save then minetest.get_meta(pos):set_string("fc",tostring(fields.fc)) - minetest.chat_send_player(pname,"Freight code set: "..tostring(fields.fc)) + minetest.chat_send_player(pname,"Nákladní kód nastaven: "..tostring(fields.fc)) show_fc_formspec(pos,player) end end |