aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororwell <orwell@bleipb.de>2025-06-11 21:36:17 +0200
committerorwell <orwell@bleipb.de>2025-06-11 21:36:17 +0200
commitfb980caa7551f8c4ef62ac6bb702b02422e0e999 (patch)
tree47528c3f2928762d72ec23b42b5a7114c33080b8
parentca1bd639b75c604ba5c3877f5ca4958eaf0561a1 (diff)
downloadadvtrains-fb980caa7551f8c4ef62ac6bb702b02422e0e999.tar.gz
advtrains-fb980caa7551f8c4ef62ac6bb702b02422e0e999.tar.bz2
advtrains-fb980caa7551f8c4ef62ac6bb702b02422e0e999.zip
Tag strings for luaautomation
-rw-r--r--advtrains_luaautomation/active_common.lua3
-rw-r--r--advtrains_luaautomation/atc_rail.lua5
-rw-r--r--advtrains_luaautomation/chatcmds.lua56
-rw-r--r--advtrains_luaautomation/init.lua14
-rw-r--r--advtrains_luaautomation/mesecon_controller.lua3
-rw-r--r--advtrains_luaautomation/operation_panel.lua3
-rw-r--r--advtrains_luaautomation/pcnaming.lua5
-rw-r--r--advtrains_luaautomation/po/README.md70
-rw-r--r--advtrains_luaautomation/po/advtrains.pot957
-rw-r--r--advtrains_luaautomation/po/de.po1071
-rw-r--r--advtrains_luaautomation/po/de.po~1071
-rw-r--r--advtrains_luaautomation/po/fr.po1084
-rw-r--r--advtrains_luaautomation/po/fr.po~1084
-rw-r--r--advtrains_luaautomation/po/update-translations.sh29
-rw-r--r--advtrains_luaautomation/po/zh_CN.po1043
-rw-r--r--advtrains_luaautomation/po/zh_CN.po~1043
-rw-r--r--advtrains_luaautomation/po/zh_TW.po1043
-rw-r--r--advtrains_luaautomation/po/zh_TW.po~1043
18 files changed, 9591 insertions, 36 deletions
diff --git a/advtrains_luaautomation/active_common.lua b/advtrains_luaautomation/active_common.lua
index 074d3b3..d0ae2a4 100644
--- a/advtrains_luaautomation/active_common.lua
+++ b/advtrains_luaautomation/active_common.lua
@@ -1,4 +1,5 @@
-local S = atltrans
+-- Get current translator
+local S = atlatc.translate
local ac = {nodes={}}
diff --git a/advtrains_luaautomation/atc_rail.lua b/advtrains_luaautomation/atc_rail.lua
index c98f62b..594de5c 100644
--- a/advtrains_luaautomation/atc_rail.lua
+++ b/advtrains_luaautomation/atc_rail.lua
@@ -2,6 +2,9 @@
-- registers and handles the ATC rail. Active component.
-- This is the only component that can interface with trains, so train interface goes here too.
+-- Get current translator
+local S = atlatc.translate
+
--Using subtable
local r={}
@@ -229,7 +232,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack",
models_suffix=".b3d",
shared_texture="advtrains_dtrack_shared_atc.png",
- description=atltrans("LuaATC Track"),
+ description=S("LuaATC Track"),
formats={},
get_additional_definiton = function(def, preset, suffix, rotation)
return {
diff --git a/advtrains_luaautomation/chatcmds.lua b/advtrains_luaautomation/chatcmds.lua
index b6ffaee..7691013 100644
--- a/advtrains_luaautomation/chatcmds.lua
+++ b/advtrains_luaautomation/chatcmds.lua
@@ -1,28 +1,31 @@
--chatcmds.lua
--Registers commands to modify the init and step code for LuaAutomation
+-- Get current translator
+local S = atlatc.translate
+
local function get_init_form(env, pname)
local err = env.init_err or ""
local code = env.init_code or ""
local form = "size["..atlatc.CODE_FORM_SIZE.."]"
.."style[code;font=mono]"
- .."button[0.0,0.2;2.5,1;run;Run Init Code]"
- .."button[2.5,0.2;2.5,1;cls;Clear S]"
- .."button[5.0,0.2;2.5,1;save;Save]"
- .."button[7.5,0.2;2.5,1;del;Delete Env.]"
- .."textarea[0.3,1.5;"..atlatc.CODE_FORM_SIZE..";code;Environment initialization code;"..minetest.formspec_escape(code).."]"
+ .."button[0.0,0.2;2.5,1;run;"..S("Run Init Code").."]"
+ .."button[2.5,0.2;2.5,1;cls;"..S("Clear S").."]"
+ .."button[5.0,0.2;2.5,1;save;"..S("Save").."]"
+ .."button[7.5,0.2;2.5,1;del;"..S("Delete Env.").."]"
+ .."textarea[0.3,1.5;"..atlatc.CODE_FORM_SIZE..";code;"..S("Environment initialization code")..";"..minetest.formspec_escape(code).."]"
.."label[0.0,9.7;"..err.."]"
return form
end
core.register_chatcommand("env_setup", {
params = "<environment name>",
- description = "Set up and modify AdvTrains LuaAutomation environment",
+ description = S("Set up and modify AdvTrains LuaAutomation environment"),
privs = {atlatc=true},
func = function(name, param)
local env=atlatc.envs[param]
- if not env then return false,"Invalid environment name!" end
+ if not env then return false,S("Invalid environment name!") end
minetest.show_formspec(name, "atlatc_envsetup_"..param, get_init_form(env, name))
return true
end,
@@ -30,52 +33,52 @@ core.register_chatcommand("env_setup", {
core.register_chatcommand("env_create", {
params = "<environment name>",
- description = "Create an AdvTrains LuaAutomation environment",
+ description = S("Create an AdvTrains LuaAutomation environment"),
privs = {atlatc=true},
func = function(name, param)
- if not param or param=="" then return false, "Name required!" end
- if string.find(param, "[^a-zA-Z0-9-_]") then return false, "Invalid name (only common characters)" end
- if atlatc.envs[param] then return false, "Environment already exists!" end
+ if not param or param=="" then return false, S("Name required!") end
+ if string.find(param, "[^a-zA-Z0-9-_]") then return false, S("Invalid name (only common characters)") end
+ if atlatc.envs[param] then return false, S("Environment already exists!") end
atlatc.envs[param] = atlatc.env_new(param)
atlatc.envs[param].subscribers = {name}
- return true, "Created environment '"..param.."'. Use '/env_setup "..param.."' to define global initialization code, or start building LuaATC components!"
+ return true, S("Created environment '@1'. Use '/env_setup @2' to define global initialization code, or start building LuaATC components!", param, param)
end,
})
core.register_chatcommand("env_subscribe", {
params = "<environment name>",
- description = "Subscribe to the log of an Advtrains LuaATC environment",
+ description = S("Subscribe to the log of an Advtrains LuaATC environment"),
privs = {atlatc=true},
func = function(name, param)
local env=atlatc.envs[param]
- if not env then return false,"Invalid environment name!" end
+ if not env then return false,S("Invalid environment name!") end
for _,pname in ipairs(env.subscribers) do
if pname==name then
- return false, "Already subscribed!"
+ return false, S("Already subscribed!")
end
end
table.insert(env.subscribers, name)
- return true, "Subscribed to environment '"..param.."'."
+ return true, S("Subscribed to environment '@1'.", param)
end,
})
core.register_chatcommand("env_unsubscribe", {
params = "<environment name>",
- description = "Unubscribe to the log of an Advtrains LuaATC environment",
+ description = S("Unubscribe to the log of an Advtrains LuaATC environment"),
privs = {atlatc=true},
func = function(name, param)
local env=atlatc.envs[param]
- if not env then return false,"Invalid environment name!" end
+ if not env then return false,S("Invalid environment name!") end
for index,pname in ipairs(env.subscribers) do
if pname==name then
table.remove(env.subscribers, index)
- return true, "Successfully unsubscribed!"
+ return true, S("Successfully unsubscribed!")
end
end
- return false, "Not subscribed to environment '"..param.."'."
+ return false, S("Not subscribed!")
end,
})
core.register_chatcommand("env_subscriptions", {
params = "[environment name]",
- description = "List Advtrains LuaATC environments you are subscribed to (no parameters) or subscribers of an environment (giving an env name).",
+ description = S("List Advtrains LuaATC environments you are subscribed to (no parameters) or subscribers of an environment (giving an env name)."),
privs = {atlatc=true},
func = function(name, param)
if not param or param=="" then
@@ -89,19 +92,19 @@ core.register_chatcommand("env_subscriptions", {
end
end
if none then
- return false, "Not subscribed to any!"
+ return false, S("Not subscribed to any!")
end
return true
end
local env=atlatc.envs[param]
- if not env then return false,"Invalid environment name!" end
+ if not env then return false,S("Invalid environment name!") end
local none=true
for index,pname in ipairs(env.subscribers) do
none=false
minetest.chat_send_player(name, pname)
end
if none then
- return false, "No subscribers!"
+ return false, S("No subscribers!")
end
return true
end,
@@ -115,7 +118,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
local envname=string.match(formname, "^atlatc_delconfirm_(.+)$")
if envname and fields.sure=="YES" then
atlatc.envs[envname]=nil
- minetest.chat_send_player(pname, "Environment deleted!")
+ minetest.chat_send_player(pname, S("Environment deleted!"))
return
end
@@ -126,7 +129,8 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if not env then return end
if fields.del then
- minetest.show_formspec(pname, "atlatc_delconfirm_"..envname, "field[sure;"..minetest.formspec_escape("SURE TO DELETE ENVIRONMENT "..envname.."? Type YES (all uppercase) to continue or just quit form to cancel.")..";]")
+ minetest.show_formspec(pname, "atlatc_delconfirm_"..envname, "field[sure;"
+ ..minetest.formspec_escape(S("SURE TO DELETE ENVIRONMENT @1? Type YES (all uppercase) to continue or just quit form to cancel.", envname))..";]")
return
end
diff --git a/advtrains_luaautomation/init.lua b/advtrains_luaautomation/init.lua
index a2f4eb9..753340d 100644
--- a/advtrains_luaautomation/init.lua
+++ b/advtrains_luaautomation/init.lua
@@ -2,14 +2,20 @@
-- Lua automation features for advtrains
-- Uses global table 'atlatc' (AdvTrains_LuaATC)
-atltrans = attrans
-local S = atltrans
---Privilege
---Only trusted players should be enabled to build stuff which can break the server.
atlatc = { envs = {}}
+-- Initialize internationalization (using ywang's poconvert)
+advtrains.poconvert.from_flat("advtrains_luaautomation")
+-- ask engine for translator instance, this will load the translation files
+atlatc.translate = core.get_translator("advtrains_luaautomation")
+
+-- Get current translator
+local S = atlatc.translate
+
+--Privilege
+--Only trusted players should be enabled to build stuff which can break the server.
minetest.register_privilege("atlatc", { description = S("Can place and configure LuaATC components, including execute potentially harmful Lua code"), give_to_singleplayer = false, default= false })
--Size of code input forms in X,Y notation. Must be at least 10x10
diff --git a/advtrains_luaautomation/mesecon_controller.lua b/advtrains_luaautomation/mesecon_controller.lua
index 6981839..9f1a931 100644
--- a/advtrains_luaautomation/mesecon_controller.lua
+++ b/advtrains_luaautomation/mesecon_controller.lua
@@ -6,7 +6,8 @@
-- From Mesecons mod https://mesecons.net/
-- (c) Jeija and Contributors
-local S = atltrans
+-- Get current translator
+local S = atlatc.translate
local BASENAME = "advtrains_luaautomation:mesecon_controller"
local rules = {
diff --git a/advtrains_luaautomation/operation_panel.lua b/advtrains_luaautomation/operation_panel.lua
index 8e12651..adfaf09 100644
--- a/advtrains_luaautomation/operation_panel.lua
+++ b/advtrains_luaautomation/operation_panel.lua
@@ -1,4 +1,5 @@
-local S = atltrans
+-- Get current translator
+local S = atlatc.translate
local function on_punch(pos,node,player)
atlatc.interrupt.add(0, pos, {type="punch", punch=true, name=player:get_player_name()})
diff --git a/advtrains_luaautomation/pcnaming.lua b/advtrains_luaautomation/pcnaming.lua
index ba8048d..7c7f0c9 100644
--- a/advtrains_luaautomation/pcnaming.lua
+++ b/advtrains_luaautomation/pcnaming.lua
@@ -2,7 +2,8 @@
--a.k.a Passive component naming
--Allows to assign names to passive components, so they can be called like:
--setstate("iamasignal", "green")
-local S = atltrans
+-- Get current translator
+local S = atlatc.translate
atlatc.pcnaming={name_map={}}
function atlatc.pcnaming.load(stuff)
@@ -90,4 +91,4 @@ minetest.register_craft({
output = "advtrains_luaautomation:pcnaming",
type = "shapeless",
recipe = {"dye:red","advtrains:trackworker"}
-}) \ No newline at end of file
+})
diff --git a/advtrains_luaautomation/po/README.md b/advtrains_luaautomation/po/README.md
new file mode 100644
index 0000000..3e94682
--- /dev/null
+++ b/advtrains_luaautomation/po/README.md
@@ -0,0 +1,70 @@
+# 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_luaautomation/po/advtrains.pot b/advtrains_luaautomation/po/advtrains.pot
new file mode 100644
index 0000000..cd6ea75
--- /dev/null
+++ b/advtrains_luaautomation/po/advtrains.pot
@@ -0,0 +1,957 @@
+# 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: 2025-03-25 15:40+0100\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
+msgid "Unconfigured ATC controller"
+msgstr ""
+
+#: advtrains/atc.lua
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr ""
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "ATC Reverse command warning: didn't reverse train, train moving."
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: doors are closed."
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: train moving."
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "ATC command syntax error: I statement not closed: @1"
+msgstr ""
+
+#: advtrains/atc.lua
+msgid "ATC command parse error: Unknown command: @1"
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid ""
+"Train copy/paste tool\n"
+"\n"
+"Left-click: copy train\n"
+"Right-click: paste train"
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "You do not have the @1 privilege."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "The track you are trying to place the wagon on is not long enough."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Paste failed."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "The clipboard is empty."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "Back of train would end up off track, cancelling."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "No such lua entity."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Copy failed."
+msgstr ""
+
+#: advtrains/copytool.lua
+msgid "Train copied."
+msgstr ""
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr ""
+
+#: advtrains/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr ""
+
+#: advtrains/couple.lua
+msgid ""
+"You are not allowed to couple trains without the train_operator privilege."
+msgstr ""
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr ""
+
+#: advtrains/couple.lua
+msgid "Can not couple: The couplers of the trains do not match (@1 and @2)."
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Boiler"
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place, remove and operate trains"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"Can place, remove and operate any train, regardless of owner, whitelist, or "
+"protection"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place and dig tracks in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can operate turnouts and signals in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build near tracks without the track_builder privilege."
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build tracks without the track_builder privilege."
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build near tracks at this protected position."
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build tracks at this protected position."
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to operate turnouts and signals without the "
+"railway_operator privilege."
+msgstr ""
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr ""
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr ""
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr ""
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr ""
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr ""
+
+#: advtrains/signals.lua
+msgid "Andrew's Cross"
+msgstr ""
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+msgid "This track can not be removed!"
+msgstr ""
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr ""
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: not pointing at node"
+msgstr ""
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: space occupied!"
+msgstr ""
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: Not enough slope items left (@1 required)"
+msgstr ""
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: There's no slope of length @1"
+msgstr ""
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: no supporting node at upper end."
+msgstr ""
+
+#: advtrains/trackplacer.lua
+msgid ""
+"Track Worker Tool\n"
+"\n"
+"Left-click: change rail type (straight/curve/switch)\n"
+"Right-click: rotate object"
+msgstr ""
+
+#: advtrains/trackplacer.lua
+msgid "This node can't be rotated using the trackworker!"
+msgstr ""
+
+#: advtrains/trackplacer.lua
+msgid "This track can not be rotated!"
+msgstr ""
+
+#: advtrains/trackplacer.lua
+msgid "This node can't be changed using the trackworker!"
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "Position is occupied by a train."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr ""
+
+#: advtrains/trainhud.lua
+msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again."
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Wagon Properties Tool"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "This wagon is owned by @1, you can't destroy it."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon needs to be decoupled from other wagons in order to destroy it."
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid " wagon:destroy(): data is not set!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "This Wagon ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Freight Code:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get "
+"off."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You are not allowed to access the driver stand."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not allowed to do this."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You don't have the train_operator privilege."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "The track you are trying to place the wagon on is not long enough!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "That wagon does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr ""
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "You are not allowed to configure this track without the @1 privilege."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr ""
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua advtrains_train_track/init.lua
+msgid "Track"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station code \"@1\" already exists and is owned by @2."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "This station is owned by @1. You are not allowed to edit its name."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station/Stop Track"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid ""
+"You are not allowed to configure this LuaATC component without the @1 "
+"privilege."
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr ""
+
+#: advtrains_luaautomation/init.lua
+msgid ""
+"Can place and configure LuaATC components, including execute potentially "
+"harmful Lua code"
+msgstr ""
+
+#: advtrains_luaautomation/mesecon_controller.lua
+msgid "LuaATC Mesecon Controller"
+msgstr ""
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"Passive Component Naming Tool\n"
+"\n"
+"Right-click to name a passive component."
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"You are not allowed to name LuaATC passive components without the @1 "
+"privilege."
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid "Set name of component (empty to clear)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Japanese signal pole"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Caution"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr ""
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr ""
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr ""
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+msgid "Driver Stand"
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr ""
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr ""
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr ""
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+msgid "Passenger area"
+msgstr ""
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr ""
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr ""
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr ""
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr ""
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr ""
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr ""
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr ""
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr ""
diff --git a/advtrains_luaautomation/po/de.po b/advtrains_luaautomation/po/de.po
new file mode 100644
index 0000000..458e701
--- /dev/null
+++ b/advtrains_luaautomation/po/de.po
@@ -0,0 +1,1071 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\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
+msgid "ATC Kick command warning: doors are closed."
+msgstr ""
+"Zugbeeinflussung: Wegen geschlossener Türen werden Fahrgäste nicht zum "
+"Ausstieg gezwungen."
+
+#: advtrains/atc.lua
+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
+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
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "Zugbeeinflussung: Unbekannter Befehl: @1"
+
+#: advtrains/atc.lua
+msgid "ATC command syntax error: I statement not closed: @1"
+msgstr "Zugbeeinflussung: Unvollständiger I-Befehl: @1"
+
+#: advtrains/atc.lua
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"Zugbeeinflussungsgleis in Betriebsart „@1“\n"
+"Befehl: @2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "Befehl"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "Befehl (wenn aktiviert)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Digiline-Kanal"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "Speichern"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "Nicht konfiguiertes Zugbeeinflussungsgleis"
+
+#: advtrains/copytool.lua
+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
+msgid "No such lua entity."
+msgstr ""
+"Sie zeigen nicht auf einem Objekt, das mit diesem Werkzeug kopiert werden "
+"kann."
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "Es gibt keinen mit „@1“ identifizierbaren Zug."
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "Es gibt keinen mit „@1“ identifizierbaren Waggon."
+
+#: advtrains/copytool.lua
+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
+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
+msgid "The clipboard is empty."
+msgstr "Das Clipboard ist leer."
+
+#: advtrains/copytool.lua
+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
+msgid "Train copied."
+msgstr "Der Zug wurde Kopiert."
+
+#: advtrains/copytool.lua
+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
+msgid "You do not have the @1 privilege."
+msgstr "Ihnen fehlt das „@1“-Privileg."
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<Keine Kupplung vorhanden>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "Schraubenkupplung"
+
+#: advtrains/couple.lua
+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/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Scharfenbergkupplung"
+
+#: advtrains/couple.lua
+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/craft_items.lua
+msgid "Boiler"
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "Führerstand"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr ""
+
+#: advtrains/init.lua
+#, fuzzy
+msgid "Train "
+msgstr "Der Zug wurde Kopiert."
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "Hoher @1-Bahnsteig (45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "Hoher @1-Bahnsteig"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "Niedriger @1-Bahnsteig"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "Niedriger @1-Bahnsteig (45°)"
+
+#: advtrains/protection.lua
+msgid "Can operate turnouts and signals in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place and dig tracks in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"Can place, remove and operate any train, regardless of owner, whitelist, or "
+"protection"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place, remove and operate trains"
+msgstr ""
+
+#: advtrains/protection.lua
+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
+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
+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
+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
+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
+msgid "Andrew's Cross"
+msgstr "Andreaskreuz"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "Mechanisches Signal"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "Lichtsignal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "An der linken Seite montiertes Signal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "An der rechten Seite montiertes Signal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "An der Decke montiertes Signal"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "@1 Steigung"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: 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/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: There's no slope of length @1"
+msgstr ""
+"Es kann nicht platziert werden: die Steigung der Länge @1 ist nicht "
+"definiert."
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: no supporting node at upper end."
+msgstr ""
+"Es kann nicht platziert werden: es gibt keinen unterstützenden Block am Ende "
+"der Steigung."
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: not pointing at node"
+msgstr "Es kann nicht platziert werden: Sie zeigen nicht auf einem Block."
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: space occupied!"
+msgstr "Es kann nicht platziert werden: Diese Position ist besetzt."
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+#, fuzzy
+msgid "This track can not be removed!"
+msgstr "Dieses Gleis kann nicht entfernt werden."
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be changed using the trackworker!"
+msgstr "Dieser Block kann nicht mit dem Gleiswerkzeug bearbeitet werden."
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be rotated using the trackworker!"
+msgstr "Dieser Block kann nicht mit dem Gleiswerkzeug gedreht werden."
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This track can not be rotated!"
+msgstr "Dieses Gleis kann nicht gedreht werden."
+
+#: advtrains/trackplacer.lua
+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/tracks.lua
+msgid "Position is occupied by a train."
+msgstr "Ein Zug steht an dieser Position."
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr "Hier ist ein Signal-Beeinflussungspunkt."
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr "Hier ist eine Gleisabschnittsgrenze (TCB)."
+
+#: advtrains/trainhud.lua
+msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again."
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+#, fuzzy
+msgid "Wagon Properties Tool"
+msgstr "Waggon-Einstellungen"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(Türen geschlossen)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr "Die Türen sind geschlossen."
+
+#: advtrains/wagons.lua
+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
+msgid "Freight Code:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "Aussteigen"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "Ausstieg zwingen"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "Linie"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "Not allowed to do this."
+msgstr "Sie dürfen dieses Gleis nicht konfigurieren."
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "Waggon-Einstellungen speichern"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "Wählen Sie einen Sitzplatz aus:"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "Inventar Zeigen"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "Innere Anzeige"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "Äußere Anzeige"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "That wagon does not exist!"
+msgstr "In diesem Waggon ist kein Sitzplatz vorhanden."
+
+#: advtrains/wagons.lua
+#, fuzzy
+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/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr "Das Inventar dieses Waggons ist nicht leer."
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "This Wagon ID"
+msgstr "Der Waggon ist voll."
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "In diesem Waggon ist kein Sitzplatz vorhanden."
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "Der Waggon ist voll."
+
+#: advtrains/wagons.lua
+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
+msgid "Train ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "Wagon properties"
+msgstr "Waggon-Einstellungen"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr "Sie haben keinen Zugang zum Führerstand."
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr "Sie können nicht in diesen Waggon einsteigen."
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "You don't have the train_operator privilege."
+msgstr "Ihnen fehlt das „@1“-Privileg."
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr ""
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr "Geschwindigkeitskontrollgleis"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr "Geschwindigkeitskontrolle: @1"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+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 advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "Sie dürfen dieses Gleis nicht konfigurieren."
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "Zielgeschwindigkeit bei Abfahrt"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "Zeit für die Türschließung"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr "Türseite"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "Fahrgäste zum Ausstieg zwingen"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "Zug Umkehren"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "Kennzeichen der Haltestelle"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "Name der Haltestelle"
+
+#: advtrains_line_automation/stoprail.lua
+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
+msgid "Station/Stop Track"
+msgstr "Gleis zur Kennzeichnung einer Haltestelle"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "Wartezeit"
+
+#: advtrains_line_automation/stoprail.lua
+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 advtrains_train_track/init.lua
+msgid "Track"
+msgstr "Gleis"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr "LuaATC-Bauteil mit Fehlermeldung: @1"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "Nicht konfiguierter LuaATC-Bauteil"
+
+#: advtrains_luaautomation/active_common.lua
+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/init.lua
+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
+msgid "LuaATC Mesecon Controller"
+msgstr ""
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+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
+msgid "Set name of component (empty to clear)"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+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_signals_japan/init.lua
+msgid "Caution"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+#, fuzzy
+msgid "Japanese signal pole"
+msgstr "Japanischer Personenzug-Passagierwaggon"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "Große Industrielle Lokomotive"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Driver Stand"
+msgstr "Führerstand"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "Führerstand Links"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "Führerstand Rechts"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "Industrielle Lokomotive"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "Tankwaggon"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "Holztransportwaggon"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "Führerstand"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "Japanische Personenzug-Lokomotive"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "Waggonzwischenverbindung Japanischer Personenzüge"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "Japanischer Personenzug-Passagierwaggon"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Passenger area"
+msgstr "Passagierwaggon"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "Güterwaggon"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "Detaillierte Dampflokomotive"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "Passagierwaggon"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "Dampflokomotive"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "U-Bahn-Waggon"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "Dreiwegweiche"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "Kreuzung mit einem achsenparallelen Gleis"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "Zugbeeinflussungsgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "Prellbock"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "Detektorgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "Diagonale Gleiskreuzung"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "Beladungsgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "Kreuzung mit zueinander orthogonalen Gleisen"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "Abladungsgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+msgstr "Y-Weiche"
+
+#~ 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 "This track can not be changed."
+#~ msgstr "Dieses Gleis kann nicht geändert werden."
+
+#~ 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_luaautomation/po/de.po~ b/advtrains_luaautomation/po/de.po~
new file mode 100644
index 0000000..458e701
--- /dev/null
+++ b/advtrains_luaautomation/po/de.po~
@@ -0,0 +1,1071 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\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
+msgid "ATC Kick command warning: doors are closed."
+msgstr ""
+"Zugbeeinflussung: Wegen geschlossener Türen werden Fahrgäste nicht zum "
+"Ausstieg gezwungen."
+
+#: advtrains/atc.lua
+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
+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
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "Zugbeeinflussung: Unbekannter Befehl: @1"
+
+#: advtrains/atc.lua
+msgid "ATC command syntax error: I statement not closed: @1"
+msgstr "Zugbeeinflussung: Unvollständiger I-Befehl: @1"
+
+#: advtrains/atc.lua
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"Zugbeeinflussungsgleis in Betriebsart „@1“\n"
+"Befehl: @2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "Befehl"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "Befehl (wenn aktiviert)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Digiline-Kanal"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "Speichern"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "Nicht konfiguiertes Zugbeeinflussungsgleis"
+
+#: advtrains/copytool.lua
+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
+msgid "No such lua entity."
+msgstr ""
+"Sie zeigen nicht auf einem Objekt, das mit diesem Werkzeug kopiert werden "
+"kann."
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "Es gibt keinen mit „@1“ identifizierbaren Zug."
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "Es gibt keinen mit „@1“ identifizierbaren Waggon."
+
+#: advtrains/copytool.lua
+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
+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
+msgid "The clipboard is empty."
+msgstr "Das Clipboard ist leer."
+
+#: advtrains/copytool.lua
+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
+msgid "Train copied."
+msgstr "Der Zug wurde Kopiert."
+
+#: advtrains/copytool.lua
+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
+msgid "You do not have the @1 privilege."
+msgstr "Ihnen fehlt das „@1“-Privileg."
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<Keine Kupplung vorhanden>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "Schraubenkupplung"
+
+#: advtrains/couple.lua
+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/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Scharfenbergkupplung"
+
+#: advtrains/couple.lua
+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/craft_items.lua
+msgid "Boiler"
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr ""
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "Führerstand"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr ""
+
+#: advtrains/init.lua
+#, fuzzy
+msgid "Train "
+msgstr "Der Zug wurde Kopiert."
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "Hoher @1-Bahnsteig (45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "Hoher @1-Bahnsteig"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "Niedriger @1-Bahnsteig"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "Niedriger @1-Bahnsteig (45°)"
+
+#: advtrains/protection.lua
+msgid "Can operate turnouts and signals in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place and dig tracks in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"Can place, remove and operate any train, regardless of owner, whitelist, or "
+"protection"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place, remove and operate trains"
+msgstr ""
+
+#: advtrains/protection.lua
+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
+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
+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
+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
+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
+msgid "Andrew's Cross"
+msgstr "Andreaskreuz"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "Mechanisches Signal"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "Lichtsignal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "An der linken Seite montiertes Signal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "An der rechten Seite montiertes Signal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "An der Decke montiertes Signal"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "@1 Steigung"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: 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/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: There's no slope of length @1"
+msgstr ""
+"Es kann nicht platziert werden: die Steigung der Länge @1 ist nicht "
+"definiert."
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: no supporting node at upper end."
+msgstr ""
+"Es kann nicht platziert werden: es gibt keinen unterstützenden Block am Ende "
+"der Steigung."
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: not pointing at node"
+msgstr "Es kann nicht platziert werden: Sie zeigen nicht auf einem Block."
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: space occupied!"
+msgstr "Es kann nicht platziert werden: Diese Position ist besetzt."
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+#, fuzzy
+msgid "This track can not be removed!"
+msgstr "Dieses Gleis kann nicht entfernt werden."
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be changed using the trackworker!"
+msgstr "Dieser Block kann nicht mit dem Gleiswerkzeug bearbeitet werden."
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be rotated using the trackworker!"
+msgstr "Dieser Block kann nicht mit dem Gleiswerkzeug gedreht werden."
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This track can not be rotated!"
+msgstr "Dieses Gleis kann nicht gedreht werden."
+
+#: advtrains/trackplacer.lua
+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/tracks.lua
+msgid "Position is occupied by a train."
+msgstr "Ein Zug steht an dieser Position."
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr "Hier ist ein Signal-Beeinflussungspunkt."
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr "Hier ist eine Gleisabschnittsgrenze (TCB)."
+
+#: advtrains/trainhud.lua
+msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again."
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+#, fuzzy
+msgid "Wagon Properties Tool"
+msgstr "Waggon-Einstellungen"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(Türen geschlossen)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr "Die Türen sind geschlossen."
+
+#: advtrains/wagons.lua
+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
+msgid "Freight Code:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "Aussteigen"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "Ausstieg zwingen"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "Linie"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "Not allowed to do this."
+msgstr "Sie dürfen dieses Gleis nicht konfigurieren."
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "Waggon-Einstellungen speichern"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "Wählen Sie einen Sitzplatz aus:"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "Inventar Zeigen"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "Innere Anzeige"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "Äußere Anzeige"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "That wagon does not exist!"
+msgstr "In diesem Waggon ist kein Sitzplatz vorhanden."
+
+#: advtrains/wagons.lua
+#, fuzzy
+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/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr "Das Inventar dieses Waggons ist nicht leer."
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "This Wagon ID"
+msgstr "Der Waggon ist voll."
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "In diesem Waggon ist kein Sitzplatz vorhanden."
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "Der Waggon ist voll."
+
+#: advtrains/wagons.lua
+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
+msgid "Train ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "Wagon properties"
+msgstr "Waggon-Einstellungen"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr "Sie haben keinen Zugang zum Führerstand."
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr "Sie können nicht in diesen Waggon einsteigen."
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "You don't have the train_operator privilege."
+msgstr "Ihnen fehlt das „@1“-Privileg."
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr ""
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr "Geschwindigkeitskontrollgleis"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr "Geschwindigkeitskontrolle: @1"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+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 advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "Sie dürfen dieses Gleis nicht konfigurieren."
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "Zielgeschwindigkeit bei Abfahrt"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "Zeit für die Türschließung"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr "Türseite"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "Fahrgäste zum Ausstieg zwingen"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "Zug Umkehren"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "Kennzeichen der Haltestelle"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "Name der Haltestelle"
+
+#: advtrains_line_automation/stoprail.lua
+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
+msgid "Station/Stop Track"
+msgstr "Gleis zur Kennzeichnung einer Haltestelle"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "Wartezeit"
+
+#: advtrains_line_automation/stoprail.lua
+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 advtrains_train_track/init.lua
+msgid "Track"
+msgstr "Gleis"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr "LuaATC-Bauteil mit Fehlermeldung: @1"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "Nicht konfiguierter LuaATC-Bauteil"
+
+#: advtrains_luaautomation/active_common.lua
+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/init.lua
+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
+msgid "LuaATC Mesecon Controller"
+msgstr ""
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+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
+msgid "Set name of component (empty to clear)"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+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_signals_japan/init.lua
+msgid "Caution"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+#, fuzzy
+msgid "Japanese signal pole"
+msgstr "Japanischer Personenzug-Passagierwaggon"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "Große Industrielle Lokomotive"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Driver Stand"
+msgstr "Führerstand"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "Führerstand Links"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "Führerstand Rechts"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "Industrielle Lokomotive"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "Tankwaggon"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "Holztransportwaggon"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "Führerstand"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "Japanische Personenzug-Lokomotive"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "Waggonzwischenverbindung Japanischer Personenzüge"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "Japanischer Personenzug-Passagierwaggon"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Passenger area"
+msgstr "Passagierwaggon"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "Güterwaggon"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "Detaillierte Dampflokomotive"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "Passagierwaggon"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "Dampflokomotive"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "U-Bahn-Waggon"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "Dreiwegweiche"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "Kreuzung mit einem achsenparallelen Gleis"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "Zugbeeinflussungsgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "Prellbock"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "Detektorgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "Diagonale Gleiskreuzung"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "Beladungsgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "Kreuzung mit zueinander orthogonalen Gleisen"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "Abladungsgleis"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+msgstr "Y-Weiche"
+
+#~ 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 "This track can not be changed."
+#~ msgstr "Dieses Gleis kann nicht geändert werden."
+
+#~ 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_luaautomation/po/fr.po b/advtrains_luaautomation/po/fr.po
new file mode 100644
index 0000000..d773a98
--- /dev/null
+++ b/advtrains_luaautomation/po/fr.po
@@ -0,0 +1,1084 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\n"
+"PO-Revision-Date: 2025-03-25 15:06+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
+msgid "ATC Kick command warning: doors are closed."
+msgstr "Avertissement commande ATC Éjecter : portes closes."
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: train moving."
+msgstr "Avertissement commande ATC Éjecter : train en mouvement."
+
+#: advtrains/atc.lua
+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
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "Erreur d'analyse de commande ATC : Commande inconnue : @1"
+
+#: advtrains/atc.lua
+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
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"Controlleur ATC, mode @1\n"
+"Commande : @2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "Commande"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "Commande (marche)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Canal Digiline"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "Controlleur ATC, non-configuré"
+
+#: advtrains/copytool.lua
+msgid "Back of train would end up off track, cancelling."
+msgstr "La fin du train serait hors voie : annulation."
+
+#: advtrains/copytool.lua
+msgid "No such lua entity."
+msgstr "Pas de telle entité lua."
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "Pas de tel train : @1."
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "Pas de tel wagon : @1."
+
+#: advtrains/copytool.lua
+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
+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
+msgid "The clipboard is empty."
+msgstr "Le presse-papier est vide."
+
+#: advtrains/copytool.lua
+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
+msgid "Train copied."
+msgstr "Train copié."
+
+#: advtrains/copytool.lua
+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
+msgid "You do not have the @1 privilege."
+msgstr "Vous ne possédez pas le privilège \"@1\"."
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<Pas de coupleur>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "Attelage à tampon et vis"
+
+#: advtrains/couple.lua
+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/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Attelage Scharfenberg"
+
+#: advtrains/couple.lua
+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/craft_items.lua
+msgid "Boiler"
+msgstr "Chaudière à vapeur"
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr "Cheminée"
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "Cabine de pilotage"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr "Roue"
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr " n'existe pas ou est invalide"
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr " est à la position "
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr "(log"
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr "État d'advtrains : aucune action"
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr "Advtrains fonctionne déjà correctement !"
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+"Crash durant le pas principal d'advtrains - saut de l'opération de "
+"sauvegarde de terminaison pour éviter l'enregistrement de données "
+"corrompues !"
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+"Données en cours de sauvegarde. Durant cette phase, advtrains débarquera les "
+"joueurs des trains. Les fichiers de sauvegarde seront ultérieurement "
+"rechargés !"
+
+# Routage est il le bon terme ?
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr "Suppression et recalcul de tous les routages"
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+"Débarque tous les joueurs, en particulier ceux déconnectés, de tous les "
+"trains. À n'utiliser que quand aucun joueur sérieux n'a embarqué."
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr "Désactive temporairement le pas global d'advtrains"
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr "Succès de la désactivation d'advtrains"
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr "Appel de save() requis sans appel préalable de load() !"
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr "Affiche les informations d'état d'advtrains"
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr "Réacivation du pas global d'advtrains..."
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr "Succès du rechargement !"
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr "Suppression d'un wagon inutilisé"
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr "Restauration du l'état sauvegardé dans une seconde..."
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr "Affiche la position du train identifié"
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr "Échec de sauvegarde : "
+
+# Routage est il le bon terme ?
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr "Succès d'invalidation des routages des trains"
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr "Téléportation au train "
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr "Vous téléporte à la position du train identifié"
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+"Le pas global d'advtrains est désactivé. Les trains sont immobiles et aucune "
+"donnée n'est sauvegardée. Exécutez '/at_disable_step no ' pour le réactiver !"
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr "Identificateur du train"
+
+#: advtrains/init.lua
+msgid "Train "
+msgstr "Identificateur du train "
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr "de la table wagon_save."
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+"n'a plus de wagon à cause d'un bug quelconque. Il est détruit. Faites lui "
+"coucou !"
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr "ralentissement"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "Quai @1 (haut, 45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "Quai @1 (haut)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "Quai @1 (bas)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "Quai @1 (bas, 45°)"
+
+#: advtrains/protection.lua
+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
+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
+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
+msgid "Can place, remove and operate trains"
+msgstr "Possibilité de poser, retirer ou opérer les trains"
+
+#: advtrains/protection.lua
+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
+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
+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
+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
+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
+msgid "Andrew's Cross"
+msgstr "Croix de Saint André"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "Sémaphore"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "Signal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "Signal mural (gauche)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "Signal mural (droit)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "Signal mural (plafond)"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "Pente @1"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: Not enough slope items left (@1 required)"
+msgstr ""
+"Placement impossible : quantité insuffisante de voie pentue (@1 manquant)"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: There's no slope of length @1"
+msgstr "Placement impossible : il n'y a pas de voie pentue de longueur @1"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: no supporting node at upper end."
+msgstr "Placement impossible : pas de nœud d'appui à l'extrémité supérieure."
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: not pointing at node"
+msgstr "Placement impossible : ne pointe pas un nœud"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: space occupied!"
+msgstr "Placement impossible : espace occupé !"
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+msgid "This track can not be removed!"
+msgstr "Cette voie ne peut pas être enlevée !"
+
+#: advtrains/trackplacer.lua
+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
+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
+msgid "This track can not be rotated!"
+msgstr "Cette voie ne peut pas être tournée !"
+
+#: advtrains/trackplacer.lua
+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/tracks.lua
+msgid "Position is occupied by a train."
+msgstr "Cet emplacement est occupé par un train."
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr "Il y a un \"Signal Influence Point\" ici."
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr "Il y a un \"Track Circuit Break\" ici."
+
+#: advtrains/trainhud.lua
+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/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr "Privilèges insuffisants pour utiliser ceci !"
+
+#: advtrains/wagonprop_tool.lua
+msgid "Wagon Properties Tool"
+msgstr "Outil de propriété du wagon"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+"Outil de propriété du wagon\n"
+"Frappez un wagon pour voir et modifier ses propriétés"
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr " Unités"
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr " Appel de wagon:destroy() : données non définies !"
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr "!!! Train hors voie !!!"
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(Portes closes)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr "Autoriser ces joueurs à embarquer :"
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr "Effacer le drapeau \"Désactiver l'ARS\""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr "Code de fret courant: "
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr "Desctruction d'un wagon avec inventaire introuvable ? Anomalie !"
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr "Portes closes : (Essayez la \"sneak key\"!\")"
+
+#: advtrains/wagons.lua
+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
+msgid "Freight Code:"
+msgstr "Code de frêt :"
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "Débarquer"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "Débarquer (de force)"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "Ligne"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr "Liquide : "
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr "Liquide : vide"
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr "Privilège \"train_operator\" manquant"
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr "Code de fret suivant :"
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr "Identificateur de wagon invalide."
+
+#: advtrains/wagons.lua
+msgid "Not allowed to do this."
+msgstr "Vous n'êtes pas autorisé effectuer ceci."
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr "Ordinateur embarqué"
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+"Spécifiez le nom du joueur à qui la propriété doit être transférée, SVP."
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr "Code de fret précédent"
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr "Routage à distance"
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr "Code de routage"
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "Sauvegarder les propriétés du wagon"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "Choisir le siège :"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "Montrer le stock"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "Texte affiché à l'intérieur du train"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "Texte affiché à l'extérieur du train"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr "Ce joueur n'existe pas !"
+
+#: advtrains/wagons.lua
+msgid "That wagon does not exist!"
+msgstr "Ce wagon n'a pas de siège !"
+
+#: advtrains/wagons.lua
+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/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr "Le stock de ce wagon n'est pas vide."
+
+#: advtrains/wagons.lua
+msgid "This Wagon ID"
+msgstr "Identificateur du wagon"
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "Ce wagon n'a pas de siège."
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "Ce wagon est plein."
+
+#: advtrains/wagons.lua
+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
+msgid "Train ID"
+msgstr "Identificateur du train"
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+"Aperçu du train / commande d'accouplement montré uniquement à l'arrêt du "
+"train."
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr "Aperçu du train / commande d'accouplement :"
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr "Variable init non initialisée"
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr "Non initialisé, retiré"
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr "La propriété du wagon @1 a été transférée de @2 à @3"
+
+#: advtrains/wagons.lua
+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
+msgid "Wagon properties"
+msgstr "Propriétés du wagon"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr "Immatriculation du wagon :"
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr "Accès interdit au poste de pilotage."
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr "Montée impossible dans ce wagon."
+
+#: advtrains/wagons.lua
+msgid "You don't have the train_operator privilege."
+msgstr "Vous ne possédez pas le privilège \"train_operator\"."
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr "La propriété du wagon @1 vous a été transférée"
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr "Changement d'état de l'itinéraire."
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr "Voie de point de limitation de vitesse"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr "Point de limitation de vitesse : @1"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr "Placez un point de limitation de vitesse :"
+
+#: advtrains_interlocking/tsr_rail.lua
+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 advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "Vous n'êtes pas autorisé à configurer cette voie."
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr "Absence de fonction de gestion de planning"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr "Fermé"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "Vit. de départ"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "Durée d'ouverture des portes"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr "Ouv. des portes coté"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "Éjecter les passagers"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr "Gauche"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr "Prochain arrêt :\n"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "Inversion du sens de marche"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr "Droit"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "Code de Station"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "Nom de Station"
+
+#: advtrains_line_automation/stoprail.lua
+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
+msgid "Station/Stop Track"
+msgstr "Voie d'arrêt en station"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "Durée d'arrêt"
+
+#: advtrains_line_automation/stoprail.lua
+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 advtrains_train_track/init.lua
+msgid "Track"
+msgstr "Voie"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr "Trains marquant l'arrêt (règles ARS)"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr "Gare inconnue"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr "En attente de signal d'autorisation"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr "Effacer l'environnement LuaATC"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr "Code"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr "Environnement LuaATC"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr "Composant LuaATC assigné à un environnement invalide"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr "Composant LuaATC assigné à l'environnement '@1'"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr "Erreur @1 du composant LuaATC"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "Composant LuaATC non configuré"
+
+#: advtrains_luaautomation/active_common.lua
+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/init.lua
+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
+msgid "LuaATC Mesecon Controller"
+msgstr "Commande Mesecon de LuaATC"
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr "Panneau de commande de LuaATC"
+
+#: advtrains_luaautomation/pcnaming.lua
+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
+msgid "Set name of component (empty to clear)"
+msgstr "Nommer le composant (chaîne vide pour effacer)"
+
+#: advtrains_luaautomation/pcnaming.lua
+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_signals_japan/init.lua
+msgid "Caution"
+msgstr "Attention"
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr "Autorisation (procédez)"
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr "Danger (stop)"
+
+#: advtrains_signals_japan/init.lua
+msgid "Japanese signal pole"
+msgstr "Voiture Japonaise"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr "Vitesse réduite"
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr "Vitesse limitée"
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr "Signal distant métro de Munich ("
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr "Signal principal métro de Munich ("
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "Grosse locomotive industrielle"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+msgid "Driver Stand"
+msgstr "Poste de pilotage"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "Poste de pilotage (gauche)"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "Poste de pilotage (droit)"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "Locomotive industrielle"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "Wagon-citerne industriel"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "Wagon grumier industriel"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "Poste de pilotage"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "Motrice Japonaise"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "Passage inter-voiture de train Japonais"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "Voiture Japonaise"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+msgid "Passenger area"
+msgstr "Voiture Passager"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "Wagon de frêt"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "Locomotive à vapeur complexe"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "Voiture passager"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "Locomotive à vapeur"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "Voiture de Métropolitain"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "Embranchement triple"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "Croisement perpendiculo-diagonal"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "Controlleur ATC"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "Heurtoir"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "Voie détectrice"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "Croisement diagonal"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "Voie de Chargement"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "Croisement perpendiculaire"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "Voie de Déchargement"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+msgstr "Embranchement en Y"
+
+#~ msgid ", using placeholder"
+#~ msgstr ", dans un espace réservé"
+
+#~ 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 "Left,Right,Closed;"
+#~ msgstr "Gauche,Droit,Fermé;"
+
+#~ 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 "This track can not be changed."
+#~ msgstr "Cette voie ne peut pas être modifiée."
+
+#~ msgid "Unable to load wagon type"
+#~ msgstr "Impossible de charger le type du wagon"
+
+#~ 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_luaautomation/po/fr.po~ b/advtrains_luaautomation/po/fr.po~
new file mode 100644
index 0000000..d773a98
--- /dev/null
+++ b/advtrains_luaautomation/po/fr.po~
@@ -0,0 +1,1084 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\n"
+"PO-Revision-Date: 2025-03-25 15:06+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
+msgid "ATC Kick command warning: doors are closed."
+msgstr "Avertissement commande ATC Éjecter : portes closes."
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: train moving."
+msgstr "Avertissement commande ATC Éjecter : train en mouvement."
+
+#: advtrains/atc.lua
+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
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "Erreur d'analyse de commande ATC : Commande inconnue : @1"
+
+#: advtrains/atc.lua
+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
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"Controlleur ATC, mode @1\n"
+"Commande : @2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "Commande"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "Commande (marche)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Canal Digiline"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "Controlleur ATC, non-configuré"
+
+#: advtrains/copytool.lua
+msgid "Back of train would end up off track, cancelling."
+msgstr "La fin du train serait hors voie : annulation."
+
+#: advtrains/copytool.lua
+msgid "No such lua entity."
+msgstr "Pas de telle entité lua."
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "Pas de tel train : @1."
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "Pas de tel wagon : @1."
+
+#: advtrains/copytool.lua
+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
+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
+msgid "The clipboard is empty."
+msgstr "Le presse-papier est vide."
+
+#: advtrains/copytool.lua
+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
+msgid "Train copied."
+msgstr "Train copié."
+
+#: advtrains/copytool.lua
+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
+msgid "You do not have the @1 privilege."
+msgstr "Vous ne possédez pas le privilège \"@1\"."
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<Pas de coupleur>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "Attelage à tampon et vis"
+
+#: advtrains/couple.lua
+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/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Attelage Scharfenberg"
+
+#: advtrains/couple.lua
+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/craft_items.lua
+msgid "Boiler"
+msgstr "Chaudière à vapeur"
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr "Cheminée"
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "Cabine de pilotage"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr "Roue"
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr " n'existe pas ou est invalide"
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr " est à la position "
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr "(log"
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr "État d'advtrains : aucune action"
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr "Advtrains fonctionne déjà correctement !"
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+"Crash durant le pas principal d'advtrains - saut de l'opération de "
+"sauvegarde de terminaison pour éviter l'enregistrement de données "
+"corrompues !"
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+"Données en cours de sauvegarde. Durant cette phase, advtrains débarquera les "
+"joueurs des trains. Les fichiers de sauvegarde seront ultérieurement "
+"rechargés !"
+
+# Routage est il le bon terme ?
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr "Suppression et recalcul de tous les routages"
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+"Débarque tous les joueurs, en particulier ceux déconnectés, de tous les "
+"trains. À n'utiliser que quand aucun joueur sérieux n'a embarqué."
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr "Désactive temporairement le pas global d'advtrains"
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr "Succès de la désactivation d'advtrains"
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr "Appel de save() requis sans appel préalable de load() !"
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr "Affiche les informations d'état d'advtrains"
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr "Réacivation du pas global d'advtrains..."
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr "Succès du rechargement !"
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr "Suppression d'un wagon inutilisé"
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr "Restauration du l'état sauvegardé dans une seconde..."
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr "Affiche la position du train identifié"
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr "Échec de sauvegarde : "
+
+# Routage est il le bon terme ?
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr "Succès d'invalidation des routages des trains"
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr "Téléportation au train "
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr "Vous téléporte à la position du train identifié"
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+"Le pas global d'advtrains est désactivé. Les trains sont immobiles et aucune "
+"donnée n'est sauvegardée. Exécutez '/at_disable_step no ' pour le réactiver !"
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr "Identificateur du train"
+
+#: advtrains/init.lua
+msgid "Train "
+msgstr "Identificateur du train "
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr "de la table wagon_save."
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+"n'a plus de wagon à cause d'un bug quelconque. Il est détruit. Faites lui "
+"coucou !"
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr "ralentissement"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "Quai @1 (haut, 45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "Quai @1 (haut)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "Quai @1 (bas)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "Quai @1 (bas, 45°)"
+
+#: advtrains/protection.lua
+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
+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
+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
+msgid "Can place, remove and operate trains"
+msgstr "Possibilité de poser, retirer ou opérer les trains"
+
+#: advtrains/protection.lua
+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
+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
+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
+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
+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
+msgid "Andrew's Cross"
+msgstr "Croix de Saint André"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "Sémaphore"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "Signal"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "Signal mural (gauche)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "Signal mural (droit)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "Signal mural (plafond)"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "Pente @1"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: Not enough slope items left (@1 required)"
+msgstr ""
+"Placement impossible : quantité insuffisante de voie pentue (@1 manquant)"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: There's no slope of length @1"
+msgstr "Placement impossible : il n'y a pas de voie pentue de longueur @1"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: no supporting node at upper end."
+msgstr "Placement impossible : pas de nœud d'appui à l'extrémité supérieure."
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: not pointing at node"
+msgstr "Placement impossible : ne pointe pas un nœud"
+
+#: advtrains/track_reg_helper.lua
+msgid "Can't place: space occupied!"
+msgstr "Placement impossible : espace occupé !"
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+msgid "This track can not be removed!"
+msgstr "Cette voie ne peut pas être enlevée !"
+
+#: advtrains/trackplacer.lua
+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
+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
+msgid "This track can not be rotated!"
+msgstr "Cette voie ne peut pas être tournée !"
+
+#: advtrains/trackplacer.lua
+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/tracks.lua
+msgid "Position is occupied by a train."
+msgstr "Cet emplacement est occupé par un train."
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr "Il y a un \"Signal Influence Point\" ici."
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr "Il y a un \"Track Circuit Break\" ici."
+
+#: advtrains/trainhud.lua
+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/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr "Privilèges insuffisants pour utiliser ceci !"
+
+#: advtrains/wagonprop_tool.lua
+msgid "Wagon Properties Tool"
+msgstr "Outil de propriété du wagon"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+"Outil de propriété du wagon\n"
+"Frappez un wagon pour voir et modifier ses propriétés"
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr " Unités"
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr " Appel de wagon:destroy() : données non définies !"
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr "!!! Train hors voie !!!"
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(Portes closes)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr "Autoriser ces joueurs à embarquer :"
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr "Effacer le drapeau \"Désactiver l'ARS\""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr "Code de fret courant: "
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr "Desctruction d'un wagon avec inventaire introuvable ? Anomalie !"
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr "Portes closes : (Essayez la \"sneak key\"!\")"
+
+#: advtrains/wagons.lua
+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
+msgid "Freight Code:"
+msgstr "Code de frêt :"
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "Débarquer"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "Débarquer (de force)"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "Ligne"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr "Liquide : "
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr "Liquide : vide"
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr "Privilège \"train_operator\" manquant"
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr "Code de fret suivant :"
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr "Identificateur de wagon invalide."
+
+#: advtrains/wagons.lua
+msgid "Not allowed to do this."
+msgstr "Vous n'êtes pas autorisé effectuer ceci."
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr "Ordinateur embarqué"
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+"Spécifiez le nom du joueur à qui la propriété doit être transférée, SVP."
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr "Code de fret précédent"
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr "Routage à distance"
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr "Code de routage"
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "Sauvegarder les propriétés du wagon"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "Choisir le siège :"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "Montrer le stock"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "Texte affiché à l'intérieur du train"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "Texte affiché à l'extérieur du train"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr "Ce joueur n'existe pas !"
+
+#: advtrains/wagons.lua
+msgid "That wagon does not exist!"
+msgstr "Ce wagon n'a pas de siège !"
+
+#: advtrains/wagons.lua
+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/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr "Le stock de ce wagon n'est pas vide."
+
+#: advtrains/wagons.lua
+msgid "This Wagon ID"
+msgstr "Identificateur du wagon"
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "Ce wagon n'a pas de siège."
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "Ce wagon est plein."
+
+#: advtrains/wagons.lua
+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
+msgid "Train ID"
+msgstr "Identificateur du train"
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+"Aperçu du train / commande d'accouplement montré uniquement à l'arrêt du "
+"train."
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr "Aperçu du train / commande d'accouplement :"
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr "Variable init non initialisée"
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr "Non initialisé, retiré"
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr "La propriété du wagon @1 a été transférée de @2 à @3"
+
+#: advtrains/wagons.lua
+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
+msgid "Wagon properties"
+msgstr "Propriétés du wagon"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr "Immatriculation du wagon :"
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr "Accès interdit au poste de pilotage."
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr "Montée impossible dans ce wagon."
+
+#: advtrains/wagons.lua
+msgid "You don't have the train_operator privilege."
+msgstr "Vous ne possédez pas le privilège \"train_operator\"."
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr "La propriété du wagon @1 vous a été transférée"
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr "Changement d'état de l'itinéraire."
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr "Voie de point de limitation de vitesse"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr "Point de limitation de vitesse : @1"
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr "Placez un point de limitation de vitesse :"
+
+#: advtrains_interlocking/tsr_rail.lua
+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 advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "Vous n'êtes pas autorisé à configurer cette voie."
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr "Absence de fonction de gestion de planning"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr "Fermé"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "Vit. de départ"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "Durée d'ouverture des portes"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr "Ouv. des portes coté"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "Éjecter les passagers"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr "Gauche"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr "Prochain arrêt :\n"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "Inversion du sens de marche"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr "Droit"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "Code de Station"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "Nom de Station"
+
+#: advtrains_line_automation/stoprail.lua
+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
+msgid "Station/Stop Track"
+msgstr "Voie d'arrêt en station"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "Durée d'arrêt"
+
+#: advtrains_line_automation/stoprail.lua
+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 advtrains_train_track/init.lua
+msgid "Track"
+msgstr "Voie"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr "Trains marquant l'arrêt (règles ARS)"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr "Gare inconnue"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr "En attente de signal d'autorisation"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr "Effacer l'environnement LuaATC"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr "Code"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr "Environnement LuaATC"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr "Composant LuaATC assigné à un environnement invalide"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr "Composant LuaATC assigné à l'environnement '@1'"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr "Erreur @1 du composant LuaATC"
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "Composant LuaATC non configuré"
+
+#: advtrains_luaautomation/active_common.lua
+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/init.lua
+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
+msgid "LuaATC Mesecon Controller"
+msgstr "Commande Mesecon de LuaATC"
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr "Panneau de commande de LuaATC"
+
+#: advtrains_luaautomation/pcnaming.lua
+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
+msgid "Set name of component (empty to clear)"
+msgstr "Nommer le composant (chaîne vide pour effacer)"
+
+#: advtrains_luaautomation/pcnaming.lua
+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_signals_japan/init.lua
+msgid "Caution"
+msgstr "Attention"
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr "Autorisation (procédez)"
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr "Danger (stop)"
+
+#: advtrains_signals_japan/init.lua
+msgid "Japanese signal pole"
+msgstr "Voiture Japonaise"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr "Vitesse réduite"
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr "Vitesse limitée"
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr "Signal distant métro de Munich ("
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr "Signal principal métro de Munich ("
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "Grosse locomotive industrielle"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+msgid "Driver Stand"
+msgstr "Poste de pilotage"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "Poste de pilotage (gauche)"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "Poste de pilotage (droit)"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "Locomotive industrielle"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "Wagon-citerne industriel"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "Wagon grumier industriel"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "Poste de pilotage"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "Motrice Japonaise"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "Passage inter-voiture de train Japonais"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "Voiture Japonaise"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+msgid "Passenger area"
+msgstr "Voiture Passager"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "Wagon de frêt"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "Locomotive à vapeur complexe"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "Voiture passager"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "Locomotive à vapeur"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "Voiture de Métropolitain"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "Embranchement triple"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "Croisement perpendiculo-diagonal"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "Controlleur ATC"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "Heurtoir"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "Voie détectrice"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "Croisement diagonal"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "Voie de Chargement"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "Croisement perpendiculaire"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "Voie de Déchargement"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+msgstr "Embranchement en Y"
+
+#~ msgid ", using placeholder"
+#~ msgstr ", dans un espace réservé"
+
+#~ 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 "Left,Right,Closed;"
+#~ msgstr "Gauche,Droit,Fermé;"
+
+#~ 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 "This track can not be changed."
+#~ msgstr "Cette voie ne peut pas être modifiée."
+
+#~ msgid "Unable to load wagon type"
+#~ msgstr "Impossible de charger le type du wagon"
+
+#~ 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_luaautomation/po/update-translations.sh b/advtrains_luaautomation/po/update-translations.sh
new file mode 100644
index 0000000..4c22c85
--- /dev/null
+++ b/advtrains_luaautomation/po/update-translations.sh
@@ -0,0 +1,29 @@
+#!/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 \
+ --add-location=file \
+ --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_luaautomation/po/zh_CN.po b/advtrains_luaautomation/po/zh_CN.po
new file mode 100644
index 0000000..f1a3c0f
--- /dev/null
+++ b/advtrains_luaautomation/po/zh_CN.po
@@ -0,0 +1,1043 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\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
+msgid "ATC Kick command warning: doors are closed."
+msgstr "ATC 警告:车门已关闭,无法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: train moving."
+msgstr "ATC 警告:火车正在移动,无法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Reverse command warning: didn't reverse train, train moving."
+msgstr "ATC 警告:火车正在移动,无法改变行车方向。"
+
+#: advtrains/atc.lua
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "ATC 语法错误:未知命令:@1"
+
+#: advtrains/atc.lua
+msgid "ATC command syntax error: I statement not closed: @1"
+msgstr "ATC 语法错误:“I”命令不完整:@1"
+
+#: advtrains/atc.lua
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"ATC 控制器\n"
+"模式:@1\n"
+"命令:@2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "命令"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "命令 (激活时)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Digiline 频道"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "保存"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "ATC 控制器 (未配置)"
+
+#: advtrains/copytool.lua
+msgid "Back of train would end up off track, cancelling."
+msgstr "火车后部不在轨道上。"
+
+#: advtrains/copytool.lua
+msgid "No such lua entity."
+msgstr "您没有指向一个可以用火车复制工具复制的物体。"
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "ID 为“@1”的列车不存在。"
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "ID 为“@1”的车厢不存在。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Copy failed."
+msgstr "无法复制:剪贴板无法访问元数据。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Paste failed."
+msgstr "无法粘贴:剪贴板无法访问元数据。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard is empty."
+msgstr "剪贴板是空的。"
+
+#: advtrains/copytool.lua
+msgid "The track you are trying to place the wagon on is not long enough."
+msgstr "轨道太短。"
+
+#: advtrains/copytool.lua
+msgid "Train copied."
+msgstr "已复制列车。"
+
+#: advtrains/copytool.lua
+msgid ""
+"Train copy/paste tool\n"
+"\n"
+"Left-click: copy train\n"
+"Right-click: paste train"
+msgstr ""
+"火车复制工具\n"
+"\n"
+"左键单击:复制\n"
+"右键单击:粘帖"
+
+#: advtrains/copytool.lua
+msgid "You do not have the @1 privilege."
+msgstr "您没有“@1”权限。"
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<没有车钩>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "链式车钩"
+
+#: advtrains/couple.lua
+msgid "Can not couple: The couplers of the trains do not match (@1 and @2)."
+msgstr "您无法连接这两节车厢:这两节车厢使用不同的车钩 (@1和@2)。"
+
+#: advtrains/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Scharfenberg 式车钩"
+
+#: advtrains/couple.lua
+msgid ""
+"You are not allowed to couple trains without the train_operator privilege."
+msgstr "您没有“train_operator”权限,不能连接这两节车厢。"
+
+#: advtrains/craft_items.lua
+msgid "Boiler"
+msgstr "锅炉"
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr "烟囱"
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "驾驶室"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr "车轮"
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr ""
+
+#: advtrains/init.lua
+#, fuzzy
+msgid "Train "
+msgstr "已复制列车。"
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "较高的@1站台 (45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "较高的@1站台"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "较低的@1站台"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "较低的@1站台 (45°)"
+
+#: advtrains/protection.lua
+msgid "Can operate turnouts and signals in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place and dig tracks in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"Can place, remove and operate any train, regardless of owner, whitelist, or "
+"protection"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place, remove and operate trains"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build near tracks at this protected position."
+msgstr "这里已被保护,您不能在这里的铁路附近建任何东西。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build near tracks without the track_builder privilege."
+msgstr "您没有“train_operator”权限,不能在铁路附近建任何东西。"
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build tracks at this protected position."
+msgstr "这里已被保护,您不能在这里建造铁路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build tracks without the track_builder privilege."
+msgstr "您没有“train_operator”权限,不能在这里建造铁路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to operate turnouts and signals without the "
+"railway_operator privilege."
+msgstr "您没有“railway_operator”权限,不能控制铁路设施。"
+
+#: advtrains/signals.lua
+msgid "Andrew's Cross"
+msgstr "铁路道口信号灯"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "臂板信号机"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "信号灯"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "壁挂式信号灯 (左侧)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "壁挂式信号灯 (右侧)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "悬挂式信号灯"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "@1斜坡"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: Not enough slope items left (@1 required)"
+msgstr "无法放置斜坡:您没有足够的铁路斜坡放置工具 (您总共需要@1个)"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: There's no slope of length @1"
+msgstr "无法放置斜坡:advtrains 不支持长度为@1米的斜坡。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: no supporting node at upper end."
+msgstr "无法放置斜坡:较高端没有支撑方块。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: not pointing at node"
+msgstr "无法放置斜坡:您没有选择任何方块。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: space occupied!"
+msgstr "无法放置斜坡:此区域已被占用。"
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+#, fuzzy
+msgid "This track can not be removed!"
+msgstr "您不能移除这段轨道。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be changed using the trackworker!"
+msgstr "您不能使用铁路调整工具调整这个方块。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be rotated using the trackworker!"
+msgstr "您不能使用铁路调整工具旋转这个方块。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This track can not be rotated!"
+msgstr "您不能旋转这段轨道。"
+
+#: advtrains/trackplacer.lua
+msgid ""
+"Track Worker Tool\n"
+"\n"
+"Left-click: change rail type (straight/curve/switch)\n"
+"Right-click: rotate object"
+msgstr ""
+"铁路调整工具\n"
+"\n"
+"左键单击:切换轨道类型\n"
+"右键单击:旋转方块"
+
+#: advtrains/tracks.lua
+msgid "Position is occupied by a train."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr ""
+
+#: advtrains/trainhud.lua
+msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again."
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+#, fuzzy
+msgid "Wagon Properties Tool"
+msgstr "车厢属性"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(车门已关闭)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get "
+"off."
+msgstr "车门已关闭,请使用潜行+右键单击下车。"
+
+#: advtrains/wagons.lua
+msgid "Freight Code:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "下车"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "强制下车"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "火车线路"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "Not allowed to do this."
+msgstr "您不能调整这段轨道。"
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr "路由码"
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "保存车厢属性"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "请选择座位:"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "显示物品栏"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "车厢内部显示"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "车厢外部显示"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "That wagon does not exist!"
+msgstr "这节车厢没有座位。"
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "The track you are trying to place the wagon on is not long enough!"
+msgstr "轨道太短。"
+
+#: advtrains/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "This Wagon ID"
+msgstr "车厢已满。"
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "这节车厢没有座位。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "车厢已满。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is owned by @1, you can't destroy it."
+msgstr "这是 @1 的车厢,您不能摧毁它。"
+
+#: advtrains/wagons.lua
+msgid "Train ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon needs to be decoupled from other wagons in order to destroy it."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon properties"
+msgstr "车厢属性"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "You don't have the train_operator privilege."
+msgstr "您没有“@1”权限。"
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr ""
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "You are not allowed to configure this track without the @1 privilege."
+msgstr "您没有“@1”权限,不能调整这段轨道。"
+
+#: advtrains_interlocking/tsr_rail.lua advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "您不能调整这段轨道。"
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "出发速度"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "车门关闭时间"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "踢出乘客"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "改变行车方向"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "车站代码"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "车站名称"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station code \"@1\" already exists and is owned by @2."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station/Stop Track"
+msgstr "车站轨道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "停站时间"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "This station is owned by @1. You are not allowed to edit its name."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua advtrains_train_track/init.lua
+msgid "Track"
+msgstr "轨道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "LuaATC 部件 (未配置)"
+
+#: advtrains_luaautomation/active_common.lua
+msgid ""
+"You are not allowed to configure this LuaATC component without the @1 "
+"privilege."
+msgstr "您没有“@1”权限,不能配置这个 LuaATC 部件。"
+
+#: advtrains_luaautomation/init.lua
+msgid ""
+"Can place and configure LuaATC components, including execute potentially "
+"harmful Lua code"
+msgstr ""
+
+#: advtrains_luaautomation/mesecon_controller.lua
+msgid "LuaATC Mesecon Controller"
+msgstr ""
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"Passive Component Naming Tool\n"
+"\n"
+"Right-click to name a passive component."
+msgstr ""
+"被动元件命名工具\n"
+"\n"
+"右键单击命名所选元件。"
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid "Set name of component (empty to clear)"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"You are not allowed to name LuaATC passive components without the @1 "
+"privilege."
+msgstr "您没有“@1”权限,不能命名被动元件。"
+
+#: advtrains_signals_japan/init.lua
+msgid "Caution"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+#, fuzzy
+msgid "Japanese signal pole"
+msgstr "高速列车车厢"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "大型工业用火车头"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Driver Stand"
+msgstr "司机座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "左侧司机座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "右侧司机座位"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "工业用火车头"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "液体运输车厢"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "木材运输车厢"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "司机座位"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "高速列车车头"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "日本火车车钩"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "高速列车车厢"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Passenger area"
+msgstr "客车"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "货运车厢"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "精细的蒸汽机车"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "客车"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "蒸汽机车"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "地铁车厢"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "三开道岔"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "交叉轨道 (其中一条轨道与坐标轴平行)"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "ATC 控制器"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "保险杠"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "探测轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "交叉轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "装货轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "垂直交叉轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "卸货轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+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 "This track can not be changed."
+#~ 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_luaautomation/po/zh_CN.po~ b/advtrains_luaautomation/po/zh_CN.po~
new file mode 100644
index 0000000..f1a3c0f
--- /dev/null
+++ b/advtrains_luaautomation/po/zh_CN.po~
@@ -0,0 +1,1043 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\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
+msgid "ATC Kick command warning: doors are closed."
+msgstr "ATC 警告:车门已关闭,无法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: train moving."
+msgstr "ATC 警告:火车正在移动,无法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Reverse command warning: didn't reverse train, train moving."
+msgstr "ATC 警告:火车正在移动,无法改变行车方向。"
+
+#: advtrains/atc.lua
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "ATC 语法错误:未知命令:@1"
+
+#: advtrains/atc.lua
+msgid "ATC command syntax error: I statement not closed: @1"
+msgstr "ATC 语法错误:“I”命令不完整:@1"
+
+#: advtrains/atc.lua
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"ATC 控制器\n"
+"模式:@1\n"
+"命令:@2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "命令"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "命令 (激活时)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Digiline 频道"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "保存"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "ATC 控制器 (未配置)"
+
+#: advtrains/copytool.lua
+msgid "Back of train would end up off track, cancelling."
+msgstr "火车后部不在轨道上。"
+
+#: advtrains/copytool.lua
+msgid "No such lua entity."
+msgstr "您没有指向一个可以用火车复制工具复制的物体。"
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "ID 为“@1”的列车不存在。"
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "ID 为“@1”的车厢不存在。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Copy failed."
+msgstr "无法复制:剪贴板无法访问元数据。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Paste failed."
+msgstr "无法粘贴:剪贴板无法访问元数据。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard is empty."
+msgstr "剪贴板是空的。"
+
+#: advtrains/copytool.lua
+msgid "The track you are trying to place the wagon on is not long enough."
+msgstr "轨道太短。"
+
+#: advtrains/copytool.lua
+msgid "Train copied."
+msgstr "已复制列车。"
+
+#: advtrains/copytool.lua
+msgid ""
+"Train copy/paste tool\n"
+"\n"
+"Left-click: copy train\n"
+"Right-click: paste train"
+msgstr ""
+"火车复制工具\n"
+"\n"
+"左键单击:复制\n"
+"右键单击:粘帖"
+
+#: advtrains/copytool.lua
+msgid "You do not have the @1 privilege."
+msgstr "您没有“@1”权限。"
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<没有车钩>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "链式车钩"
+
+#: advtrains/couple.lua
+msgid "Can not couple: The couplers of the trains do not match (@1 and @2)."
+msgstr "您无法连接这两节车厢:这两节车厢使用不同的车钩 (@1和@2)。"
+
+#: advtrains/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Scharfenberg 式车钩"
+
+#: advtrains/couple.lua
+msgid ""
+"You are not allowed to couple trains without the train_operator privilege."
+msgstr "您没有“train_operator”权限,不能连接这两节车厢。"
+
+#: advtrains/craft_items.lua
+msgid "Boiler"
+msgstr "锅炉"
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr "烟囱"
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "驾驶室"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr "车轮"
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr ""
+
+#: advtrains/init.lua
+#, fuzzy
+msgid "Train "
+msgstr "已复制列车。"
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "较高的@1站台 (45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "较高的@1站台"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "较低的@1站台"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "较低的@1站台 (45°)"
+
+#: advtrains/protection.lua
+msgid "Can operate turnouts and signals in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place and dig tracks in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"Can place, remove and operate any train, regardless of owner, whitelist, or "
+"protection"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place, remove and operate trains"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build near tracks at this protected position."
+msgstr "这里已被保护,您不能在这里的铁路附近建任何东西。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build near tracks without the track_builder privilege."
+msgstr "您没有“train_operator”权限,不能在铁路附近建任何东西。"
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build tracks at this protected position."
+msgstr "这里已被保护,您不能在这里建造铁路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build tracks without the track_builder privilege."
+msgstr "您没有“train_operator”权限,不能在这里建造铁路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to operate turnouts and signals without the "
+"railway_operator privilege."
+msgstr "您没有“railway_operator”权限,不能控制铁路设施。"
+
+#: advtrains/signals.lua
+msgid "Andrew's Cross"
+msgstr "铁路道口信号灯"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "臂板信号机"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "信号灯"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "壁挂式信号灯 (左侧)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "壁挂式信号灯 (右侧)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "悬挂式信号灯"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "@1斜坡"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: Not enough slope items left (@1 required)"
+msgstr "无法放置斜坡:您没有足够的铁路斜坡放置工具 (您总共需要@1个)"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: There's no slope of length @1"
+msgstr "无法放置斜坡:advtrains 不支持长度为@1米的斜坡。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: no supporting node at upper end."
+msgstr "无法放置斜坡:较高端没有支撑方块。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: not pointing at node"
+msgstr "无法放置斜坡:您没有选择任何方块。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: space occupied!"
+msgstr "无法放置斜坡:此区域已被占用。"
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+#, fuzzy
+msgid "This track can not be removed!"
+msgstr "您不能移除这段轨道。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be changed using the trackworker!"
+msgstr "您不能使用铁路调整工具调整这个方块。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be rotated using the trackworker!"
+msgstr "您不能使用铁路调整工具旋转这个方块。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This track can not be rotated!"
+msgstr "您不能旋转这段轨道。"
+
+#: advtrains/trackplacer.lua
+msgid ""
+"Track Worker Tool\n"
+"\n"
+"Left-click: change rail type (straight/curve/switch)\n"
+"Right-click: rotate object"
+msgstr ""
+"铁路调整工具\n"
+"\n"
+"左键单击:切换轨道类型\n"
+"右键单击:旋转方块"
+
+#: advtrains/tracks.lua
+msgid "Position is occupied by a train."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr ""
+
+#: advtrains/trainhud.lua
+msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again."
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+#, fuzzy
+msgid "Wagon Properties Tool"
+msgstr "车厢属性"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(车门已关闭)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get "
+"off."
+msgstr "车门已关闭,请使用潜行+右键单击下车。"
+
+#: advtrains/wagons.lua
+msgid "Freight Code:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "下车"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "强制下车"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "火车线路"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "Not allowed to do this."
+msgstr "您不能调整这段轨道。"
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr "路由码"
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "保存车厢属性"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "请选择座位:"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "显示物品栏"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "车厢内部显示"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "车厢外部显示"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "That wagon does not exist!"
+msgstr "这节车厢没有座位。"
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "The track you are trying to place the wagon on is not long enough!"
+msgstr "轨道太短。"
+
+#: advtrains/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "This Wagon ID"
+msgstr "车厢已满。"
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "这节车厢没有座位。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "车厢已满。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is owned by @1, you can't destroy it."
+msgstr "这是 @1 的车厢,您不能摧毁它。"
+
+#: advtrains/wagons.lua
+msgid "Train ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon needs to be decoupled from other wagons in order to destroy it."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon properties"
+msgstr "车厢属性"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "You don't have the train_operator privilege."
+msgstr "您没有“@1”权限。"
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr ""
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "You are not allowed to configure this track without the @1 privilege."
+msgstr "您没有“@1”权限,不能调整这段轨道。"
+
+#: advtrains_interlocking/tsr_rail.lua advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "您不能调整这段轨道。"
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "出发速度"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "车门关闭时间"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "踢出乘客"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "改变行车方向"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "车站代码"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "车站名称"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station code \"@1\" already exists and is owned by @2."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station/Stop Track"
+msgstr "车站轨道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "停站时间"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "This station is owned by @1. You are not allowed to edit its name."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua advtrains_train_track/init.lua
+msgid "Track"
+msgstr "轨道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "LuaATC 部件 (未配置)"
+
+#: advtrains_luaautomation/active_common.lua
+msgid ""
+"You are not allowed to configure this LuaATC component without the @1 "
+"privilege."
+msgstr "您没有“@1”权限,不能配置这个 LuaATC 部件。"
+
+#: advtrains_luaautomation/init.lua
+msgid ""
+"Can place and configure LuaATC components, including execute potentially "
+"harmful Lua code"
+msgstr ""
+
+#: advtrains_luaautomation/mesecon_controller.lua
+msgid "LuaATC Mesecon Controller"
+msgstr ""
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"Passive Component Naming Tool\n"
+"\n"
+"Right-click to name a passive component."
+msgstr ""
+"被动元件命名工具\n"
+"\n"
+"右键单击命名所选元件。"
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid "Set name of component (empty to clear)"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"You are not allowed to name LuaATC passive components without the @1 "
+"privilege."
+msgstr "您没有“@1”权限,不能命名被动元件。"
+
+#: advtrains_signals_japan/init.lua
+msgid "Caution"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+#, fuzzy
+msgid "Japanese signal pole"
+msgstr "高速列车车厢"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "大型工业用火车头"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Driver Stand"
+msgstr "司机座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "左侧司机座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "右侧司机座位"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "工业用火车头"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "液体运输车厢"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "木材运输车厢"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "司机座位"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "高速列车车头"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "日本火车车钩"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "高速列车车厢"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Passenger area"
+msgstr "客车"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "货运车厢"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "精细的蒸汽机车"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "客车"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "蒸汽机车"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "地铁车厢"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "三开道岔"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "交叉轨道 (其中一条轨道与坐标轴平行)"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "ATC 控制器"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "保险杠"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "探测轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "交叉轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "装货轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "垂直交叉轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "卸货轨道"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+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 "This track can not be changed."
+#~ 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_luaautomation/po/zh_TW.po b/advtrains_luaautomation/po/zh_TW.po
new file mode 100644
index 0000000..ec65737
--- /dev/null
+++ b/advtrains_luaautomation/po/zh_TW.po
@@ -0,0 +1,1043 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\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
+msgid "ATC Kick command warning: doors are closed."
+msgstr "ATC 警告:車門已關閉,無法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: train moving."
+msgstr "ATC 警告:火車正在移動,無法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Reverse command warning: didn't reverse train, train moving."
+msgstr "ATC 警告:火車正在移動,無法改變行車方向。"
+
+#: advtrains/atc.lua
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "ATC 語法錯誤:未知命令:@1"
+
+#: advtrains/atc.lua
+msgid "ATC command syntax error: I statement not closed: @1"
+msgstr "ATC 語法錯誤:「I」命令不完整:@1"
+
+#: advtrains/atc.lua
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"ATC 控制器\n"
+"模式:@1\n"
+"命令:@2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "命令"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "命令 (啟用時)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Digiline 頻道"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "儲存"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "ATC 控制器 (未配置)"
+
+#: advtrains/copytool.lua
+msgid "Back of train would end up off track, cancelling."
+msgstr "火車後部不在軌道上。"
+
+#: advtrains/copytool.lua
+msgid "No such lua entity."
+msgstr "您沒有指向一個可以用火車複製工具複製的物體。"
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "ID 為「@1」的列車不存在。"
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "ID 為「@1」的車廂不存在。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Copy failed."
+msgstr "無法複製:剪貼簿無法訪問元資料。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Paste failed."
+msgstr "無法貼上:剪貼簿無法訪問元資料。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard is empty."
+msgstr "剪貼簿是空的。"
+
+#: advtrains/copytool.lua
+msgid "The track you are trying to place the wagon on is not long enough."
+msgstr "軌道太短。"
+
+#: advtrains/copytool.lua
+msgid "Train copied."
+msgstr "已複製火車。"
+
+#: advtrains/copytool.lua
+msgid ""
+"Train copy/paste tool\n"
+"\n"
+"Left-click: copy train\n"
+"Right-click: paste train"
+msgstr ""
+"火車複製工具\n"
+"\n"
+"左鍵單擊:複製\n"
+"右鍵單擊:粘帖"
+
+#: advtrains/copytool.lua
+msgid "You do not have the @1 privilege."
+msgstr "您沒有「@1」許可權。"
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<無連結器>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "鏈式連結器"
+
+#: advtrains/couple.lua
+msgid "Can not couple: The couplers of the trains do not match (@1 and @2)."
+msgstr "您無法連結這兩節車廂:這兩節車廂使用不同的連結器 (@1和@2)。"
+
+#: advtrains/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Scharfenberg 式連結器"
+
+#: advtrains/couple.lua
+msgid ""
+"You are not allowed to couple trains without the train_operator privilege."
+msgstr "您沒有「train_operator」許可權,不能連結這兩節車廂。"
+
+#: advtrains/craft_items.lua
+msgid "Boiler"
+msgstr "鍋爐"
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr "煙囪"
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "駕駛室"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr "車輪"
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr ""
+
+#: advtrains/init.lua
+#, fuzzy
+msgid "Train "
+msgstr "已複製火車。"
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "較高的@1月臺 (45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "較高的@1月臺"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "較低的@1月臺"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "較低的@1月臺 (45°)"
+
+#: advtrains/protection.lua
+msgid "Can operate turnouts and signals in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place and dig tracks in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"Can place, remove and operate any train, regardless of owner, whitelist, or "
+"protection"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place, remove and operate trains"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build near tracks at this protected position."
+msgstr "這裡已被保護,您不能在這裡的鐵路附近建任何東西。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build near tracks without the track_builder privilege."
+msgstr "您沒有「train_operator」許可權,不能在鐵路附近建任何東西。"
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build tracks at this protected position."
+msgstr "這裡已被保護,您不能在這裡建造鐵路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build tracks without the track_builder privilege."
+msgstr "您沒有「train_operator」許可權,不能在這裡建造鐵路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to operate turnouts and signals without the "
+"railway_operator privilege."
+msgstr "您沒有「railway_operator」許可權,不能控制鐵路設施。"
+
+#: advtrains/signals.lua
+msgid "Andrew's Cross"
+msgstr "平交道號誌燈"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "臂木式號誌機"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "色燈號誌機"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "壁掛式色燈號誌機 (左側)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "壁掛式色燈號誌機 (右側)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "懸掛式色燈號誌機"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "@1斜坡"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: Not enough slope items left (@1 required)"
+msgstr "無法放置斜坡:您沒有足夠的鐵路斜坡放置工具 (您總共需要@1個)"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: There's no slope of length @1"
+msgstr "無法放置斜坡:advtrains 不支援長度為@1米的斜坡。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: no supporting node at upper end."
+msgstr "無法放置斜坡:較高階沒有支撐方塊。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: not pointing at node"
+msgstr "無法放置斜坡:您沒有選擇任何方塊。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: space occupied!"
+msgstr "無法放置斜坡:此區域已被佔用。"
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+#, fuzzy
+msgid "This track can not be removed!"
+msgstr "您不能移除這段軌道。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be changed using the trackworker!"
+msgstr "您不能使用鐵路調整工具調整這個方塊。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be rotated using the trackworker!"
+msgstr "您不能使用鐵路調整工具旋轉這個方塊。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This track can not be rotated!"
+msgstr "您不能旋轉這段軌道。"
+
+#: advtrains/trackplacer.lua
+msgid ""
+"Track Worker Tool\n"
+"\n"
+"Left-click: change rail type (straight/curve/switch)\n"
+"Right-click: rotate object"
+msgstr ""
+"鐵路調整工具\n"
+"\n"
+"左鍵單擊:切換軌道型別\n"
+"右鍵單擊:旋轉方塊"
+
+#: advtrains/tracks.lua
+msgid "Position is occupied by a train."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr ""
+
+#: advtrains/trainhud.lua
+msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again."
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+#, fuzzy
+msgid "Wagon Properties Tool"
+msgstr "車廂屬性"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(車門已關閉)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get "
+"off."
+msgstr "車門已關閉,請使用潛行+右鍵單擊下車。"
+
+#: advtrains/wagons.lua
+msgid "Freight Code:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "下車"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "強制下車"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "火車線路"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "Not allowed to do this."
+msgstr "您不能調整這段軌道。"
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr "路由碼"
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "儲存車廂屬性"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "請選擇座位:"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "顯示物品欄"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "車廂內部顯示"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "車廂外部顯示"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "That wagon does not exist!"
+msgstr "這節車廂沒有座位。"
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "The track you are trying to place the wagon on is not long enough!"
+msgstr "軌道太短。"
+
+#: advtrains/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "This Wagon ID"
+msgstr "車廂已滿。"
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "這節車廂沒有座位。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "車廂已滿。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is owned by @1, you can't destroy it."
+msgstr "這是 @1 的車廂,您不能摧毀它。"
+
+#: advtrains/wagons.lua
+msgid "Train ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon needs to be decoupled from other wagons in order to destroy it."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon properties"
+msgstr "車廂屬性"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "You don't have the train_operator privilege."
+msgstr "您沒有「@1」許可權。"
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr ""
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "You are not allowed to configure this track without the @1 privilege."
+msgstr "您沒有「@1」許可權,不能調整這段軌道。"
+
+#: advtrains_interlocking/tsr_rail.lua advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "您不能調整這段軌道。"
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "出發速度"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "車門關閉時間"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "踢出乘客"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "改變行車方向"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "車站碼"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "車站名稱"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station code \"@1\" already exists and is owned by @2."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station/Stop Track"
+msgstr "車站軌道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "停站時間"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "This station is owned by @1. You are not allowed to edit its name."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua advtrains_train_track/init.lua
+msgid "Track"
+msgstr "軌道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "LuaATC 元件 (未配置)"
+
+#: advtrains_luaautomation/active_common.lua
+msgid ""
+"You are not allowed to configure this LuaATC component without the @1 "
+"privilege."
+msgstr "您沒有「@1」許可權,不能配置這個 LuaATC 元件。"
+
+#: advtrains_luaautomation/init.lua
+msgid ""
+"Can place and configure LuaATC components, including execute potentially "
+"harmful Lua code"
+msgstr ""
+
+#: advtrains_luaautomation/mesecon_controller.lua
+msgid "LuaATC Mesecon Controller"
+msgstr ""
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"Passive Component Naming Tool\n"
+"\n"
+"Right-click to name a passive component."
+msgstr ""
+"被動元件命名工具\n"
+"\n"
+"右鍵單擊命名所選元件。"
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid "Set name of component (empty to clear)"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"You are not allowed to name LuaATC passive components without the @1 "
+"privilege."
+msgstr "您沒有「@1」許可權,不能命名這個元件。"
+
+#: advtrains_signals_japan/init.lua
+msgid "Caution"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+#, fuzzy
+msgid "Japanese signal pole"
+msgstr "高速列車車廂"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "大型工業用火車頭"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Driver Stand"
+msgstr "司機座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "左側司機座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "右側司機座位"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "工業用火車頭"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "液體運輸車廂"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "木材運輸車廂"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "司機座位"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "高速列車車頭"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "日本火車連結器"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "高速列車車廂"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Passenger area"
+msgstr "客車"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "貨運車廂"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "精細的蒸汽機車"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "客車"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "蒸汽機車"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "地鐵車廂"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "三開道岔"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "交叉軌道 (其中一條軌道與座標軸平行)"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "ATC 控制器"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "保險槓"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "探測軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "交叉軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "裝貨軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "垂直交叉軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "卸貨軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+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 "This track can not be changed."
+#~ 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_luaautomation/po/zh_TW.po~ b/advtrains_luaautomation/po/zh_TW.po~
new file mode 100644
index 0000000..ec65737
--- /dev/null
+++ b/advtrains_luaautomation/po/zh_TW.po~
@@ -0,0 +1,1043 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: advtrains\n"
+"Report-Msgid-Bugs-To: advtrains-discuss@lists.sr.ht\n"
+"POT-Creation-Date: 2025-03-25 15:40+0100\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
+msgid "ATC Kick command warning: doors are closed."
+msgstr "ATC 警告:車門已關閉,無法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Kick command warning: train moving."
+msgstr "ATC 警告:火車正在移動,無法踢出乘客。"
+
+#: advtrains/atc.lua
+msgid "ATC Reverse command warning: didn't reverse train, train moving."
+msgstr "ATC 警告:火車正在移動,無法改變行車方向。"
+
+#: advtrains/atc.lua
+msgid "ATC command parse error: Unknown command: @1"
+msgstr "ATC 語法錯誤:未知命令:@1"
+
+#: advtrains/atc.lua
+msgid "ATC command syntax error: I statement not closed: @1"
+msgstr "ATC 語法錯誤:「I」命令不完整:@1"
+
+#: advtrains/atc.lua
+msgid ""
+"ATC controller, mode @1\n"
+"Command: @2"
+msgstr ""
+"ATC 控制器\n"
+"模式:@1\n"
+"命令:@2"
+
+#: advtrains/atc.lua
+msgid "Command"
+msgstr "命令"
+
+#: advtrains/atc.lua
+msgid "Command (on)"
+msgstr "命令 (啟用時)"
+
+#: advtrains/atc.lua
+msgid "Digiline channel"
+msgstr "Digiline 頻道"
+
+#: advtrains/atc.lua advtrains/wagons.lua
+#: advtrains_line_automation/stoprail.lua
+#: advtrains_luaautomation/active_common.lua
+msgid "Save"
+msgstr "儲存"
+
+#: advtrains/atc.lua
+msgid "Unconfigured ATC controller"
+msgstr "ATC 控制器 (未配置)"
+
+#: advtrains/copytool.lua
+msgid "Back of train would end up off track, cancelling."
+msgstr "火車後部不在軌道上。"
+
+#: advtrains/copytool.lua
+msgid "No such lua entity."
+msgstr "您沒有指向一個可以用火車複製工具複製的物體。"
+
+#: advtrains/copytool.lua
+msgid "No such train: @1."
+msgstr "ID 為「@1」的列車不存在。"
+
+#: advtrains/copytool.lua
+msgid "No such wagon: @1."
+msgstr "ID 為「@1」的車廂不存在。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Copy failed."
+msgstr "無法複製:剪貼簿無法訪問元資料。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard couldn't access the metadata. Paste failed."
+msgstr "無法貼上:剪貼簿無法訪問元資料。"
+
+#: advtrains/copytool.lua
+msgid "The clipboard is empty."
+msgstr "剪貼簿是空的。"
+
+#: advtrains/copytool.lua
+msgid "The track you are trying to place the wagon on is not long enough."
+msgstr "軌道太短。"
+
+#: advtrains/copytool.lua
+msgid "Train copied."
+msgstr "已複製火車。"
+
+#: advtrains/copytool.lua
+msgid ""
+"Train copy/paste tool\n"
+"\n"
+"Left-click: copy train\n"
+"Right-click: paste train"
+msgstr ""
+"火車複製工具\n"
+"\n"
+"左鍵單擊:複製\n"
+"右鍵單擊:粘帖"
+
+#: advtrains/copytool.lua
+msgid "You do not have the @1 privilege."
+msgstr "您沒有「@1」許可權。"
+
+#: advtrains/couple.lua
+msgid "<No coupler>"
+msgstr "<無連結器>"
+
+#: advtrains/couple.lua
+msgid "Buffer and Chain Coupler"
+msgstr "鏈式連結器"
+
+#: advtrains/couple.lua
+msgid "Can not couple: The couplers of the trains do not match (@1 and @2)."
+msgstr "您無法連結這兩節車廂:這兩節車廂使用不同的連結器 (@1和@2)。"
+
+#: advtrains/couple.lua
+msgid "Scharfenberg Coupler"
+msgstr "Scharfenberg 式連結器"
+
+#: advtrains/couple.lua
+msgid ""
+"You are not allowed to couple trains without the train_operator privilege."
+msgstr "您沒有「train_operator」許可權,不能連結這兩節車廂。"
+
+#: advtrains/craft_items.lua
+msgid "Boiler"
+msgstr "鍋爐"
+
+#: advtrains/craft_items.lua
+msgid "Chimney"
+msgstr "煙囪"
+
+#: advtrains/craft_items.lua
+msgid "Driver's cab"
+msgstr "駕駛室"
+
+#: advtrains/craft_items.lua
+msgid "Wheel"
+msgstr "車輪"
+
+#: advtrains/init.lua
+msgid " does not exist or is invalid"
+msgstr ""
+
+#: advtrains/init.lua
+msgid " is at "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "(log"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains Status: no_action"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Advtrains is already running normally!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Crash during advtrains main step - skipping the shutdown save operation to "
+"not save inconsistent data!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Data is being saved. While saving, advtrains will remove the players from "
+"trains. Save files will be reloaded afterwards!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Delete all train routes, force them to recalculate"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"Detach all players, especially the offline ones, from all trains. Use only "
+"when no one serious is on a train."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disable the advtrains globalstep temporarily"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Disabled advtrains successfully"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Instructed to save() but load() was never called!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Print advtrains status info"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Re-enabling advtrains globalstep..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Reload successful!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Removing unused wagon"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Restoring saved state in 1 second..."
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Returns the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Saving failed: "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Successfully invalidated train routes"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleporting to train "
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Teleports you to the position of the train with the given id"
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"The advtrains globalstep has been disabled. Trains are not moving, and no "
+"data is saved! Run '/at_disable_step no' to enable again!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "Train"
+msgstr ""
+
+#: advtrains/init.lua
+#, fuzzy
+msgid "Train "
+msgstr "已複製火車。"
+
+#: advtrains/init.lua
+msgid "from wagon_save table."
+msgstr ""
+
+#: advtrains/init.lua
+msgid ""
+"had no wagons left because of some bug. It is being deleted. Wave it goodbye!"
+msgstr ""
+
+#: advtrains/init.lua
+msgid "slowdown"
+msgstr ""
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (45 degree)"
+msgstr "較高的@1月臺 (45°)"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (high)"
+msgstr "較高的@1月臺"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low)"
+msgstr "較低的@1月臺"
+
+#: advtrains/misc_nodes.lua
+msgid "@1 Platform (low, 45 degree)"
+msgstr "較低的@1月臺 (45°)"
+
+#: advtrains/protection.lua
+msgid "Can operate turnouts and signals in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place and dig tracks in unprotected areas"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid ""
+"Can place, remove and operate any train, regardless of owner, whitelist, or "
+"protection"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "Can place, remove and operate trains"
+msgstr ""
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build near tracks at this protected position."
+msgstr "這裡已被保護,您不能在這裡的鐵路附近建任何東西。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build near tracks without the track_builder privilege."
+msgstr "您沒有「train_operator」許可權,不能在鐵路附近建任何東西。"
+
+#: advtrains/protection.lua
+msgid "You are not allowed to build tracks at this protected position."
+msgstr "這裡已被保護,您不能在這裡建造鐵路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to build tracks without the track_builder privilege."
+msgstr "您沒有「train_operator」許可權,不能在這裡建造鐵路。"
+
+#: advtrains/protection.lua
+msgid ""
+"You are not allowed to operate turnouts and signals without the "
+"railway_operator privilege."
+msgstr "您沒有「railway_operator」許可權,不能控制鐵路設施。"
+
+#: advtrains/signals.lua
+msgid "Andrew's Cross"
+msgstr "平交道號誌燈"
+
+#: advtrains/signals.lua
+msgid "Lampless Signal"
+msgstr "臂木式號誌機"
+
+#: advtrains/signals.lua
+msgid "Signal"
+msgstr "色燈號誌機"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (left)"
+msgstr "壁掛式色燈號誌機 (左側)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (right)"
+msgstr "壁掛式色燈號誌機 (右側)"
+
+#: advtrains/signals.lua
+msgid "Wallmounted Signal (top)"
+msgstr "懸掛式色燈號誌機"
+
+#: advtrains/track_reg_helper.lua
+msgid "@1 Slope"
+msgstr "@1斜坡"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: Not enough slope items left (@1 required)"
+msgstr "無法放置斜坡:您沒有足夠的鐵路斜坡放置工具 (您總共需要@1個)"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: There's no slope of length @1"
+msgstr "無法放置斜坡:advtrains 不支援長度為@1米的斜坡。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: no supporting node at upper end."
+msgstr "無法放置斜坡:較高階沒有支撐方塊。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: not pointing at node"
+msgstr "無法放置斜坡:您沒有選擇任何方塊。"
+
+#: advtrains/track_reg_helper.lua
+#, fuzzy
+msgid "Can't place: space occupied!"
+msgstr "無法放置斜坡:此區域已被佔用。"
+
+#: advtrains/track_reg_helper.lua advtrains/tracks.lua
+#, fuzzy
+msgid "This track can not be removed!"
+msgstr "您不能移除這段軌道。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be changed using the trackworker!"
+msgstr "您不能使用鐵路調整工具調整這個方塊。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This node can't be rotated using the trackworker!"
+msgstr "您不能使用鐵路調整工具旋轉這個方塊。"
+
+#: advtrains/trackplacer.lua
+#, fuzzy
+msgid "This track can not be rotated!"
+msgstr "您不能旋轉這段軌道。"
+
+#: advtrains/trackplacer.lua
+msgid ""
+"Track Worker Tool\n"
+"\n"
+"Left-click: change rail type (straight/curve/switch)\n"
+"Right-click: rotate object"
+msgstr ""
+"鐵路調整工具\n"
+"\n"
+"左鍵單擊:切換軌道型別\n"
+"右鍵單擊:旋轉方塊"
+
+#: advtrains/tracks.lua
+msgid "Position is occupied by a train."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Signal Influence Point here."
+msgstr ""
+
+#: advtrains/tracks.lua
+msgid "There's a Track Circuit Break here."
+msgstr ""
+
+#: advtrains/trainhud.lua
+msgid "OVERRUN RED SIGNAL! Examine situation and reverse train to move again."
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+msgid "Insufficient privileges to use this!"
+msgstr ""
+
+#: advtrains/wagonprop_tool.lua
+#, fuzzy
+msgid "Wagon Properties Tool"
+msgstr "車廂屬性"
+
+#: advtrains/wagonprop_tool.lua
+msgid ""
+"Wagon Properties Tool\n"
+"Punch a wagon to view and edit the Wagon Properties"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " units"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid " wagon:destroy(): data is not set!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "!!! Train off track !!!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "(Doors closed)"
+msgstr "(車門已關閉)"
+
+#: advtrains/wagons.lua
+msgid "Allow these players to access your wagon:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Clear 'Disable ARS' flag"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Current FC: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Destroying wagon with inventory, but inventory is not found? Shouldn't "
+"happen!"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Doors are closed! (Try holding sneak key!)"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid ""
+"Doors are closed. Use Sneak+rightclick to ignore the closed doors and get "
+"off."
+msgstr "車門已關閉,請使用潛行+右鍵單擊下車。"
+
+#: advtrains/wagons.lua
+msgid "Freight Code:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Get off"
+msgstr "下車"
+
+#: advtrains/wagons.lua
+msgid "Get off (forced)"
+msgstr "強制下車"
+
+#: advtrains/wagons.lua
+msgid "Line"
+msgstr "火車線路"
+
+#: advtrains/wagons.lua
+msgid "Liquid: "
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Liquid: empty"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Missing train_operator privilege"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Next FC:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Not a valid wagon id."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "Not allowed to do this."
+msgstr "您不能調整這段軌道。"
+
+#: advtrains/wagons.lua
+msgid "Onboard Computer"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Please specify a player name to transfer ownership to."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Prev FC"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Remote Routesetting"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Routingcode"
+msgstr "路由碼"
+
+#: advtrains/wagons.lua
+msgid "Save wagon properties"
+msgstr "儲存車廂屬性"
+
+#: advtrains/wagons.lua
+msgid "Select seat:"
+msgstr "請選擇座位:"
+
+#: advtrains/wagons.lua
+msgid "Show Inventory"
+msgstr "顯示物品欄"
+
+#: advtrains/wagons.lua
+msgid "Text displayed inside train"
+msgstr "車廂內部顯示"
+
+#: advtrains/wagons.lua
+msgid "Text displayed outside on train"
+msgstr "車廂外部顯示"
+
+#: advtrains/wagons.lua
+msgid "That player does not exist!"
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "That wagon does not exist!"
+msgstr "這節車廂沒有座位。"
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "The track you are trying to place the wagon on is not long enough!"
+msgstr "軌道太短。"
+
+#: advtrains/wagons.lua
+msgid "The wagon's inventory is not empty."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "This Wagon ID"
+msgstr "車廂已滿。"
+
+#: advtrains/wagons.lua
+msgid "This wagon has no seats."
+msgstr "這節車廂沒有座位。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is full."
+msgstr "車廂已滿。"
+
+#: advtrains/wagons.lua
+msgid "This wagon is owned by @1, you can't destroy it."
+msgstr "這是 @1 的車廂,您不能摧毀它。"
+
+#: advtrains/wagons.lua
+msgid "Train ID"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview / coupling control is only shown when the train stands."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Train overview /coupling control:"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized init="
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Uninitialized, removing"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon @1 ownership changed from @2 to @3"
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon needs to be decoupled from other wagons in order to destroy it."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "Wagon properties"
+msgstr "車廂屬性"
+
+#: advtrains/wagons.lua
+msgid "Wagon road number:"
+msgstr ""
+
+#: advtrains/wagons.lua
+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
+msgid "You are not allowed to access the driver stand."
+msgstr ""
+
+#: advtrains/wagons.lua
+msgid "You can't get on this wagon."
+msgstr ""
+
+#: advtrains/wagons.lua
+#, fuzzy
+msgid "You don't have the train_operator privilege."
+msgstr "您沒有「@1」許可權。"
+
+#: advtrains/wagons.lua
+msgid "You have been given ownership of wagon @1"
+msgstr ""
+
+#: advtrains_interlocking/routesetting.lua
+msgid "Route state changed."
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point Speed Restriction Track"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Point speed restriction: @1"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "Set point speed restriction:"
+msgstr ""
+
+#: advtrains_interlocking/tsr_rail.lua
+msgid "You are not allowed to configure this track without the @1 privilege."
+msgstr "您沒有「@1」許可權,不能調整這段軌道。"
+
+#: advtrains_interlocking/tsr_rail.lua advtrains_line_automation/stoprail.lua
+msgid "You are not allowed to configure this track."
+msgstr "您不能調整這段軌道。"
+
+#: advtrains_line_automation/scheduler.lua
+msgid "No callback to handle schedule"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Closed"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Dep. Speed"
+msgstr "出發速度"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Delay"
+msgstr "車門關閉時間"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Door Side"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Kick out passengers"
+msgstr "踢出乘客"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Left"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Next Stop:\n"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Reverse train"
+msgstr "改變行車方向"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Right"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Code"
+msgstr "車站碼"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station Name"
+msgstr "車站名稱"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station code \"@1\" already exists and is owned by @2."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Station/Stop Track"
+msgstr "車站軌道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Stop Time"
+msgstr "停站時間"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "This station is owned by @1. You are not allowed to edit its name."
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua advtrains_train_track/init.lua
+msgid "Track"
+msgstr "軌道"
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Trains stopping here (ARS rules)"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Unknown Station"
+msgstr ""
+
+#: advtrains_line_automation/stoprail.lua
+msgid "Wait for signal to clear"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Clear Local Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Code"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC Environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to an invalid environment"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component assigned to environment '@1'"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "LuaATC component with error: @1"
+msgstr ""
+
+#: advtrains_luaautomation/active_common.lua
+msgid "Unconfigured LuaATC component"
+msgstr "LuaATC 元件 (未配置)"
+
+#: advtrains_luaautomation/active_common.lua
+msgid ""
+"You are not allowed to configure this LuaATC component without the @1 "
+"privilege."
+msgstr "您沒有「@1」許可權,不能配置這個 LuaATC 元件。"
+
+#: advtrains_luaautomation/init.lua
+msgid ""
+"Can place and configure LuaATC components, including execute potentially "
+"harmful Lua code"
+msgstr ""
+
+#: advtrains_luaautomation/mesecon_controller.lua
+msgid "LuaATC Mesecon Controller"
+msgstr ""
+
+#: advtrains_luaautomation/operation_panel.lua
+msgid "LuaATC Operation Panel"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"Passive Component Naming Tool\n"
+"\n"
+"Right-click to name a passive component."
+msgstr ""
+"被動元件命名工具\n"
+"\n"
+"右鍵單擊命名所選元件。"
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid "Set name of component (empty to clear)"
+msgstr ""
+
+#: advtrains_luaautomation/pcnaming.lua
+msgid ""
+"You are not allowed to name LuaATC passive components without the @1 "
+"privilege."
+msgstr "您沒有「@1」許可權,不能命名這個元件。"
+
+#: advtrains_signals_japan/init.lua
+msgid "Caution"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Clear (proceed)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Danger (halt)"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+#, fuzzy
+msgid "Japanese signal pole"
+msgstr "高速列車車廂"
+
+#: advtrains_signals_japan/init.lua
+msgid "Reduced speed"
+msgstr ""
+
+#: advtrains_signals_japan/init.lua
+msgid "Restricted speed"
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Distant Signal ("
+msgstr ""
+
+#: advtrains_signals_muc_ubahn/init.lua
+msgid "Munich U-Bahn Main Signal ("
+msgstr ""
+
+#: advtrains_train_industrial/init.lua
+msgid "Big Industrial Train Engine"
+msgstr "大型工業用火車頭"
+
+#: advtrains_train_industrial/init.lua advtrains_train_japan/init.lua
+#: advtrains_train_steam/init.lua advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Driver Stand"
+msgstr "司機座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (left)"
+msgstr "左側司機座位"
+
+#: advtrains_train_industrial/init.lua advtrains_train_steam/init.lua
+msgid "Driver Stand (right)"
+msgstr "右側司機座位"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial Train Engine"
+msgstr "工業用火車頭"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial tank wagon"
+msgstr "液體運輸車廂"
+
+#: advtrains_train_industrial/init.lua
+msgid "Industrial wood wagon"
+msgstr "木材運輸車廂"
+
+#: advtrains_train_japan/init.lua advtrains_train_subway/init.lua
+msgid "Driver stand"
+msgstr "司機座位"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Engine"
+msgstr "高速列車車頭"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Inter-Wagon Connection"
+msgstr "日本火車連結器"
+
+#: advtrains_train_japan/init.lua
+msgid "Japanese Train Wagon"
+msgstr "高速列車車廂"
+
+#: advtrains_train_japan/init.lua advtrains_train_steam/init.lua
+#: advtrains_train_subway/init.lua
+#, fuzzy
+msgid "Passenger area"
+msgstr "客車"
+
+#: advtrains_train_steam/init.lua
+msgid "Box Wagon"
+msgstr "貨運車廂"
+
+#: advtrains_train_steam/init.lua
+msgid "Detailed Steam Engine"
+msgstr "精細的蒸汽機車"
+
+#: advtrains_train_steam/init.lua
+msgid "Passenger Wagon"
+msgstr "客車"
+
+#: advtrains_train_steam/init.lua
+msgid "Steam Engine"
+msgstr "蒸汽機車"
+
+#: advtrains_train_subway/init.lua
+msgid "Subway Passenger Wagon"
+msgstr "地鐵車廂"
+
+#: advtrains_train_track/init.lua
+msgid "3-way turnout"
+msgstr "三開道岔"
+
+#: advtrains_train_track/init.lua
+msgid "90+Angle Diamond Crossing Track"
+msgstr "交叉軌道 (其中一條軌道與座標軸平行)"
+
+#: advtrains_train_track/init.lua
+msgid "ATC controller"
+msgstr "ATC 控制器"
+
+#: advtrains_train_track/init.lua
+msgid "Bumper"
+msgstr "保險槓"
+
+#: advtrains_train_track/init.lua
+msgid "Detector Rail"
+msgstr "探測軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Diagonal Diamond Crossing Track"
+msgstr "交叉軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Loading Track"
+msgstr "裝貨軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Perpendicular Diamond Crossing Track"
+msgstr "垂直交叉軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Unloading Track"
+msgstr "卸貨軌道"
+
+#: advtrains_train_track/init.lua
+msgid "Y-turnout"
+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 "This track can not be changed."
+#~ 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 "您必須至少擁有其中一節車廂才能分開這兩節車廂。"