aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorywang <yw05@forksworld.de>2021-04-23 14:53:09 +0200
committerY. Wang <yw05@forksworld.de>2022-10-15 01:18:34 +0200
commit4df8595547cd60a0b8c581affec4139269e31b5b (patch)
tree042ed3ba314b4fb321b1618389eeca81608907b4
parentc1bf9b360160f9a9b242ba9234af28edd6ccfdd3 (diff)
downloadadvtrains-4df8595547cd60a0b8c581affec4139269e31b5b.tar.gz
advtrains-4df8595547cd60a0b8c581affec4139269e31b5b.tar.bz2
advtrains-4df8595547cd60a0b8c581affec4139269e31b5b.zip
Add strings for translation; add zh_TW translation
-rw-r--r--advtrains/copytool.lua16
-rw-r--r--advtrains/locale/advtrains.de.tr17
-rw-r--r--advtrains/locale/advtrains.zh_CN.tr21
-rw-r--r--advtrains/locale/advtrains.zh_TW.tr124
-rw-r--r--advtrains/locale/template.txt17
-rw-r--r--advtrains/protection.lua6
6 files changed, 188 insertions, 13 deletions
diff --git a/advtrains/copytool.lua b/advtrains/copytool.lua
index 0c1cdfe..0b2aa52 100644
--- a/advtrains/copytool.lua
+++ b/advtrains/copytool.lua
@@ -26,7 +26,7 @@ minetest.register_tool("advtrains:copytool", {
return itemstack
end
if not minetest.check_player_privs(placer, {train_operator = true }) then
- minetest.chat_send_player(pname, "You don't have the train_operator privilege.")
+ minetest.chat_send_player(pname, attrans("You don't have the train_operator privilege."))
return itemstack
end
if not minetest.check_player_privs(placer, {train_admin = true }) and minetest.is_protected(pointed_thing.under, placer:get_player_name()) then
@@ -38,7 +38,7 @@ minetest.register_tool("advtrains:copytool", {
local prevpos = advtrains.get_adjacent_rail(pointed_thing.under, tconns, plconnid, {default=true})
if not prevpos then
- minetest.chat_send_player(pname, "The track you are trying to place the wagon on is not long enough!")
+ minetest.chat_send_player(pname, attrans("The track you are trying to place the wagon on is not long enough!"))
return
end
@@ -49,12 +49,12 @@ minetest.register_tool("advtrains:copytool", {
end
local clipboard = meta:get_string("clipboard")
if (clipboard == "") then
- minetest.chat_send_player(pname, "The clipboard is empty.");
+ minetest.chat_send_player(pname, attrans("The clipboard is empty."));
return
end
clipboard = minetest.deserialize(clipboard)
if (clipboard.wagons == nil) then
- minetest.chat_send_player(pname, "The clipboard is empty.");
+ minetest.chat_send_player(pname, attrans("The clipboard is empty."));
return
end
@@ -71,7 +71,7 @@ minetest.register_tool("advtrains:copytool", {
local train = advtrains.trains[id]
train.off_track = train.end_index<train.path_trk_b
if (train.off_track) then
- minetest.chat_send_player(pname, "Back of train would end up off track, cancelling.")
+ minetest.chat_send_player(pname, attrans("Back of train would end up off track, cancelling."))
advtrains.remove_train(id)
return
end
@@ -89,19 +89,19 @@ minetest.register_tool("advtrains:copytool", {
local le = pointed_thing.ref:get_luaentity()
if (le == nil) then
- minetest.chat_send_player(user:get_player_name(), "No such lua entity!")
+ minetest.chat_send_player(user:get_player_name(), attrans("No such lua entity!"))
return
end
local wagon = advtrains.wagons[le.id]
if (not (le.id and advtrains.wagons[le.id])) then
- minetest.chat_send_player(user:get_player_name(), string.format("No such wagon: %s", le.id))
+ minetest.chat_send_player(user:get_player_name(), attrans("No such wagon: @1", le.id))
return
end
local train = advtrains.trains[wagon.train_id]
if (not train) then
- minetest.chat_send_player(user:get_player_name(), string.format("No such train: %s", wagon.train_id))
+ minetest.chat_send_player(user:get_player_name(), attrans("No such train: @1", wagon.train_id))
return
end
diff --git a/advtrains/locale/advtrains.de.tr b/advtrains/locale/advtrains.de.tr
index 49ba92c..2b22d52 100644
--- a/advtrains/locale/advtrains.de.tr
+++ b/advtrains/locale/advtrains.de.tr
@@ -29,8 +29,25 @@ Use Sneak+rightclick to bypass closed doors!=Nutzen Sie Schleichen+Rechtsklick,
Lock couples=Kupplungen sperren
Doors are closed! Use Sneak+rightclick to ignore the closed doors and get off!=Die Türen sind geschlossen. Nutzen Sie Schleichen+Rechtsklick, um trotz geschlossener Türen auszusteigen.
Access to @1=Zugang zu @1
+You don't have the train_operator privilege.=Ihnen fehlt das „train_operator“-Privileg.
+
+# Clipboard
+The track you are trying to place the wagon on is not long enough!=Das Gleis, auf dem der Waggon platziert werden woll, ist zu kurz.
The clipboard couldn't access the metadata. Paste failed.=Wegen eines fehlgeschlagenen Zugriffs auf die Metadaten konnte eine Kopie des Zuges nicht eingefügt werden.
The clipboard couldn't access the metadata. Copy failed.=Wegen eines fehlgeschlagenen Zugriffs auf die Metadaten konnte der Zug nicht kopiert werden.
+The clipboard is empty.=Das Clipboard ist leer.
+Back of train would end up off track, cancelling.=Der hinterer Teil dez Zuges wäre nicht auf dem Gleis.
+No such lua entity!=Sie zeigen nicht auf einem Objekt, das mit diesem Werkzeug kopiert werden kann.
+No such wagon: @1=Es gibt keinen Waggon, der durch „@1“ identifiziert werden kann.
+No such train: @1=Es gibt keinen Zug, der durch „@1“ identifiziert werden kann.
+Train copied!=Sie können jetzt mit diesem Werkzeug Kopien dieses Zuges erstellen.
+
+# Protection
+You are not allowed to build tracks without the track_builder privilege=Sie dürfen ohne das „track_builder“-Privileg keine Schiene bauen.
+You are not allowed to build near tracks without the track_builder privilege=Sie dürfen ohne das „track_builder“-Privileg nicht an Schienen bauen.
+You are not allowed to build tracks at this protected position=Sie dürfen an geschützten Stellen keine Schiene bauen.
+You are not allowed to build near tracks at this protected position=Sie dürfen an geschützten Stellen nicht an Schienen bauen.
+You are not allowed to operate turnouts and signals (missing railway_operator privilege)=Sie dürfen ohne das „railway_operator“-Privileg keine Bahnanlage operieren.
# Train HUD/Formspecs
Speed:=Geschw.:
diff --git a/advtrains/locale/advtrains.zh_CN.tr b/advtrains/locale/advtrains.zh_CN.tr
index 943e42c..924b031 100644
--- a/advtrains/locale/advtrains.zh_CN.tr
+++ b/advtrains/locale/advtrains.zh_CN.tr
@@ -29,8 +29,25 @@ Use Sneak+rightclick to bypass closed doors!=请使用潜行+右键上车。
Lock couples=锁定连接处
Doors are closed! Use Sneak+rightclick to ignore the closed doors and get off!=车门已关闭,请使用潜行+右键单击下车。
Access to @1=可前往@1
-The clipboard couldn't access the metadata. Paste failed.=无法粘贴:剪贴板无法访问元数据
-The clipboard couldn't access the metadata. Copy failed.=无法复制:剪贴板无法访问元数据
+You don't have the train_operator privilege.=You don't have the train_operator privilege.
+
+# Clipboard
+The track you are trying to place the wagon on is not long enough!=轨道太短。
+The clipboard couldn't access the metadata. Paste failed.=无法粘贴:剪贴板无法访问元数据。
+The clipboard couldn't access the metadata. Copy failed.=无法复制:剪贴板无法访问元数据。
+The clipboard is empty.=剪贴板是空的。
+Back of train would end up off track, cancelling.=火车后部不在轨道上。
+No such lua entity!=您没有指向一个可以用火车复制工具复制的物体。
+No such wagon: @1=ID 为“@1”的车厢不存在。
+No such train: @1=ID 为“@1”的列车不存在。
+Train copied!=已复制
+
+# Protection
+You are not allowed to build tracks without the track_builder privilege=您没有“train_operator”权限,不能在这里建造铁路。
+You are not allowed to build near tracks without the track_builder privilege=您没有“train_operator”权限,不能在铁路附近建任何东西。
+You are not allowed to build tracks at this protected position=这里已被保护,您不能在这里建造铁路。
+You are not allowed to build near tracks at this protected position=这里已被保护,您不能在这里的铁路附近建任何东西。
+You are not allowed to operate turnouts and signals (missing railway_operator privilege)=您没有“railway_operator”权限,不能使用铁路设施。
# Train HUD/Formspecs
Speed:=速度
diff --git a/advtrains/locale/advtrains.zh_TW.tr b/advtrains/locale/advtrains.zh_TW.tr
new file mode 100644
index 0000000..4e31381
--- /dev/null
+++ b/advtrains/locale/advtrains.zh_TW.tr
@@ -0,0 +1,124 @@
+# textdomain: advtrains
+
+# Advtrains Core (unorganized)
+This wagon is owned by @1, you can't destroy it.=這是@1的車廂,您不能摧毀它。
+Warning: If you destroy this wagon, you only get some steel back! If you are sure, hold Sneak and left-click the wagon.=警告:如果您摧毀此車廂,您只能拿到一些鋼方塊。如果您確定要摧毀這個車廂,請按潛行鍵並左鍵單擊此車廂。
+ATC controller, unconfigured.=ATC 控制器 (未配置)
+ATC controller=ATC 控制器
+ATC controller, mode @1@nChannel: @2=ATC 控制器@n模式:@1@n頻道:@2
+ATC controller, mode @1@nCommand: @2=ATC 控制器@n模式:@1@n命令:@2
+Command=命令
+Command (on)=命令 (啟用時)
+Digiline channel=Digiline 頻道
+ATC Reverse command warning: didn't reverse train, train moving!=ATC 警告:未執行“R”命令,火車在移動
+ATC command syntax error: I statement not closed: @1=ATC 語法錯誤:“I”命令不完整:@1
+ATC command parse error: Unknown command: @1=ATC 語法錯誤:未知命令:@1
+This position is protected!=這裡已被保護。
+You need to own at least one neighboring wagon to destroy this couple.=您必須至少擁有其中一個車廂才能解耦這兩個車廂。
+This node can't be rotated using the trackworker!=您不能使用鐵路調整工具旋轉這個方塊。
+This node can't be changed using the trackworker!=您不能使用鐵路調整工具調整這個方塊。
+Can't place: not pointing at node=無法放置:您沒有選擇任何方塊。
+Can't place: space occupied!=無法放置:此區域已被佔用。
+Can't place: protected position!=無法放置:此區域已被保護。
+Can't place: Not enough slope items left (@1 required)=無法放置:您沒有足夠的鐵路斜坡放置工具 (您總共需要@1個)
+Can't place: There's no slope of length @1=無法放置:advtrains 不支援長度為@1米的斜坡。
+Can't place: no supporting node at upper end.=無法放置:較高階沒有支撐方塊。
+Deprecated Track=請不要使用
+Can't get on: wagon full or doors closed!=無法上車:車門已關閉或車廂已滿。
+Use Sneak+rightclick to bypass closed doors!=請使用潛行+右鍵上車。
+Lock couples=鎖定連線處
+Doors are closed! Use Sneak+rightclick to ignore the closed doors and get off!=車門已關閉,請使用潛行+右鍵單擊下車。
+Access to @1=可前往@1
+You don't have the train_operator privilege.=You don't have the train_operator privilege.
+
+# Clipboard
+The track you are trying to place the wagon on is not long enough!=軌道太短。
+The clipboard couldn't access the metadata. Paste failed.=無法貼上:剪貼簿無法訪問元資料。
+The clipboard couldn't access the metadata. Copy failed.=無法複製:剪貼簿無法訪問元資料。
+The clipboard is empty.=剪貼簿是空的。
+Back of train would end up off track, cancelling.=火車後部不在軌道上。
+No such lua entity!=您沒有指向一個可以用火車複製工具複製的物體。
+No such wagon: @1=ID 為“@1”的車廂不存在。
+No such train: @1=ID 為“@1”的列車不存在。
+Train copied!=已複製
+
+# Protection
+You are not allowed to build tracks without the track_builder privilege=您沒有“train_operator”許可權,不能在這裡建造鐵路。
+You are not allowed to build near tracks without the track_builder privilege=您沒有“train_operator”許可權,不能在鐵路附近建任何東西。
+You are not allowed to build tracks at this protected position=這裡已被保護,您不能在這裡建造鐵路。
+You are not allowed to build near tracks at this protected position=這裡已被保護,您不能在這裡的鐵路附近建任何東西。
+You are not allowed to operate turnouts and signals (missing railway_operator privilege)=您沒有“railway_operator”許可權,不能使用鐵路設施。
+
+# Train HUD/Formspecs
+Speed:=速度
+Target:=目標速度
+Show Inventory=顯示物品欄
+Select seat:=請選擇座位
+Wagon properties=車廂屬性
+Save wagon properties=儲存車廂屬性
+Text displayed outside on train=車廂外部顯示
+Text displayed inside train=車廂內部顯示
+Line=火車線路
+Routingcode=路由碼
+Get off=下車
+Get off (forced)=強制下車
+(Doors closed)=(車門已關閉)
+
+# General
+Save=儲存
+# "off" and "on" can be translated differently depending on the context and are therefore not translated.
+off=off
+on=on
+
+# Line automation
+Station Code=車站碼
+Station Name=車站名稱
+Door Delay=車門關閉時間
+Departure Speed=出發速度
+Stop Time=停站時間
+
+# Items
+Track Worker Tool@n@nLeft-click: change rail type (straight/curve/switch)@nRight-click: rotate rail/bumper/signal/etc.=鐵路調整工具@n@n左鍵單擊:切換軌道型別@n右鍵單擊:旋轉方塊
+Passive Component Naming Tool@n@nRight-click to name a passive component.=被動元件命名工具@n@n右鍵單擊命名所選元件
+Train copy/paste tool@n@nLeft-click: copy train@nRight-click: paste train=火車複製工具@n@n左鍵單擊:複製@n右鍵單擊:粘帖
+Track=鐵軌
+Perpendicular Diamond Crossing Track=垂直交叉鐵軌
+45/90 Degree Diamond Crossing Track=45度交叉鐵軌
+Unloading Track=卸貨鐵軌
+Loading Track=裝貨鐵軌
+Bumper=保險槓
+Detector Rail=探測鐵軌
+@1 Slope=@1斜坡
+@1 Platform (low)=50cm 高的@1月臺
+@1 Platform (high)=1m 高的@1月臺
+@1 Platform (45 degree)=1m 高的@1月臺 (45度)
+Lampless Signal (@1)=臂木式號誌機 (@1)
+Signal (@1)=色燈號誌機 (@1)
+Wallmounted Signal (l)=壁掛式色燈號誌機 (左側)
+Wallmounted Signal (r)=壁掛式色燈號誌機 (右側)
+Wallmounted Signal (t)=懸掛式色燈號誌機
+Andrew's Cross=平交道號誌燈
+Boiler=鍋爐
+driver's cab=駕駛室
+Wheel=車輪
+Chimney=煙囪
+
+# Seats
+Default Seat=預設座位
+Default Seat (driver stand)=預設座位 (司機座位)
+Driver Stand=司機座位
+Driver Stand (left)=左側司機座位
+Driver Stand (right)=右側司機座位
+
+# Wagon/engine types
+Industrial Train Engine=工業用火車頭
+Big Industrial Train Engine=大型工業用火車頭
+Industrial tank wagon=液體運輸車廂
+Industrial wood wagon=木材運輸車廂
+Japanese Train Engine=高速列車車頭
+Japanese Train Wagon=高速列車車廂
+Steam Engine=蒸汽機車
+Detailed Steam Engine=精細的蒸汽機車
+Passenger Wagon=客車
+Box Wagon=貨運車廂
+Subway Passenger Wagon=地鐵車廂
diff --git a/advtrains/locale/template.txt b/advtrains/locale/template.txt
index c51770d..67e54eb 100644
--- a/advtrains/locale/template.txt
+++ b/advtrains/locale/template.txt
@@ -29,8 +29,25 @@ Use Sneak+rightclick to bypass closed doors!=Use Sneak+rightclick to bypass clos
Lock couples=Lock couples
Doors are closed! Use Sneak+rightclick to ignore the closed doors and get off!=Doors are closed! Use Sneak+rightclick to ignore the closed doors and get off!
Access to @1=Access to @1
+You don't have the train_operator privilege.=You don't have the train_operator privilege.
+
+# Clipboard
+The track you are trying to place the wagon on is not long enough!=The track you are trying to place the wagon on is not long enough!
The clipboard couldn't access the metadata. Paste failed.=The clipboard couldn't access the metadata. Paste failed.
The clipboard couldn't access the metadata. Copy failed.=The clipboard couldn't access the metadata. Copy failed.
+The clipboard is empty.=The clipboard is empty.
+Back of train would end up off track, cancelling.=Back of train would end up off track, cancelling.
+No such lua entity!=No such lua entity!
+No such wagon: @1=No such wagon: @1
+No such train: @1=No such train: @1
+Train copied!=Train copied!
+
+# Protection
+You are not allowed to build tracks without the track_builder privilege=You are not allowed to build tracks without the track_builder privilege
+You are not allowed to build near tracks without the track_builder privilege=You are not allowed to build near tracks without the track_builder privilege
+You are not allowed to build tracks at this protected position=You are not allowed to build tracks at this protected position
+You are not allowed to build near tracks at this protected position=You are not allowed to build tracks at this protected position
+You are not allowed to operate turnouts and signals (missing railway_operator privilege)=You are not allowed to operate turnouts and signals (missing railway_operator privilege)
# Train HUD/Formspecs
Speed:=Speed:
diff --git a/advtrains/protection.lua b/advtrains/protection.lua
index 7474977..cca54a9 100644
--- a/advtrains/protection.lua
+++ b/advtrains/protection.lua
@@ -145,12 +145,12 @@ function advtrains.check_track_protection(pos, pname, near, prot_p)
--atdebug("CTP: ",pos,pname,near,prot_p,"priv=",priv,"prot=",prot,"dprot=",dprot)
if not priv and (not boo or prot or not dprot) then
- minetest.chat_send_player(pname, "You are not allowed to build "..nears.."tracks without track_builder privilege")
+ minetest.chat_send_player(pname, attrans("You are not allowed to build "..nears.."tracks without the track_builder privilege"))
minetest.log("action", pname.." tried to modify terrain "..nears.."track at "..minetest.pos_to_string(apos).." but is not permitted to (no privilege)")
return false
end
if prot then
- minetest.chat_send_player(pname, "You are not allowed to build "..nears.."tracks at protected position!")
+ minetest.chat_send_player(pname, attrans("You are not allowed to build "..nears.."tracks at this protected position"))
minetest.record_protection_violation(pos, pname)
minetest.log("action", pname.." tried to modify "..nears.."track at "..minetest.pos_to_string(apos).." but position is protected!")
return false
@@ -181,7 +181,7 @@ function advtrains.check_turnout_signal_protection(pos, pname)
nocheck=false
return true
else
- minetest.chat_send_player(pname, "You are not allowed to operate turnouts and signals (missing railway_operator privilege)")
+ minetest.chat_send_player(pname, attrans("You are not allowed to operate turnouts and signals (missing railway_operator privilege)"))
minetest.log("action", pname.." tried to operate turnout/signal at "..minetest.pos_to_string(pos).." but does not have railway_operator")
nocheck=false
return false