diff options
author | orwell <orwell@bleipb.de> | 2025-06-10 21:39:50 +0200 |
---|---|---|
committer | orwell <orwell@bleipb.de> | 2025-06-10 21:39:50 +0200 |
commit | 934dcc3f21a6053d3f6fff08a02ede6f75385173 (patch) | |
tree | 8155f9e631b7ab19d9e4c7163f762eb7158927d0 | |
parent | 56e00d697e38d87bdfecada36eae98199ae94fc1 (diff) | |
download | advtrains-934dcc3f21a6053d3f6fff08a02ede6f75385173.tar.gz advtrains-934dcc3f21a6053d3f6fff08a02ede6f75385173.tar.bz2 advtrains-934dcc3f21a6053d3f6fff08a02ede6f75385173.zip |
Remove attrans, unify translation strings with S
-rw-r--r-- | advtrains/atc.lua | 44 | ||||
-rw-r--r-- | advtrains/copytool.lua | 25 | ||||
-rw-r--r-- | advtrains/couple.lua | 15 | ||||
-rw-r--r-- | advtrains/craft_items.lua | 11 | ||||
-rw-r--r-- | advtrains/formspec.lua | 5 | ||||
-rw-r--r-- | advtrains/init.lua | 37 | ||||
-rw-r--r-- | advtrains/misc_nodes.lua | 11 | ||||
-rw-r--r-- | advtrains/protection.lua | 16 | ||||
-rw-r--r-- | advtrains/signals.lua | 17 | ||||
-rw-r--r-- | advtrains/track_reg_helper.lua | 19 | ||||
-rw-r--r-- | advtrains/trackplacer.lua | 13 | ||||
-rw-r--r-- | advtrains/tracks.lua | 10 | ||||
-rw-r--r-- | advtrains/trainhud.lua | 5 | ||||
-rw-r--r-- | advtrains/trainlogic.lua | 3 | ||||
-rw-r--r-- | advtrains/wagonprop_tool.lua | 12 | ||||
-rw-r--r-- | advtrains/wagons.lua | 24 |
16 files changed, 145 insertions, 122 deletions
diff --git a/advtrains/atc.lua b/advtrains/atc.lua index 8e54b08..e14e5c1 100644 --- a/advtrains/atc.lua +++ b/advtrains/atc.lua @@ -1,6 +1,9 @@ --atc.lua --registers and controls the ATC system +-- Get current translator +local S = advtrains.translate + local atc={} local eval_conditional @@ -107,7 +110,7 @@ local apn_func=function(pos) -- FIX for long-persisting ndb bug: there's no node in parameter 2 of this function! local meta=minetest.get_meta(pos) if meta then - meta:set_string("infotext", attrans("Unconfigured ATC controller")) + meta:set_string("infotext", S("Unconfigured ATC controller")) meta:set_string("formspec", atc.get_atc_controller_formspec(pos, meta)) end end @@ -129,27 +132,15 @@ advtrains.atc_function = function(def, preset, suffix, rotation) local meta=minetest.get_meta(pos) if meta then if not fields.save then - --[[--maybe only the dropdown changed - if fields.mode then - meta:set_string("mode", idxtrans[fields.mode]) - if fields.mode=="digiline" then - meta:set_string("infotext", attrans("ATC controller, mode @1\nChannel: @2", fields.mode, meta:get_string("command")) ) - else - meta:set_string("infotext", attrans("ATC controller, mode @1\nCommand: @2", fields.mode, meta:get_string("command")) ) - end - meta:set_string("formspec", atc.get_atc_controller_formspec(pos, meta)) - end]]-- return end --meta:set_string("mode", idxtrans[fields.mode]) meta:set_string("command", fields.command) --meta:set_string("command_on", fields.command_on) meta:set_string("channel", fields.channel) - --if fields.mode=="digiline" then - -- meta:set_string("infotext", attrans("ATC controller, mode @1\nChannel: @2", fields.mode, meta:get_string("command")) ) - --else - meta:set_string("infotext", attrans("ATC controller, mode @1\nCommand: @2", "-", meta:get_string("command")) ) - --end + + meta:set_string("infotext", S("ATC controller, Command: @1", meta:get_string("command")) ) + meta:set_string("formspec", atc.get_atc_controller_formspec(pos, meta)) local pts=minetest.pos_to_string(pos) @@ -178,16 +169,11 @@ function atc.get_atc_controller_formspec(pos, meta) if mode<3 then formspec=formspec .."style[command;font=mono]" - .."field[0.8,1.5;7,1;command;"..attrans("Command")..";"..minetest.formspec_escape(command).."]" - if tonumber(mode)==2 then - formspec=formspec - .."style[command_on;font=mono]" - .."field[0.8,3;7,1;command_on;"..attrans("Command (on)")..";"..minetest.formspec_escape(command_on).."]" - end + .."field[0.8,1.5;7,1;command;"..S("Command")..";"..minetest.formspec_escape(command).."]" else - formspec=formspec.."field[0.8,1.5;7,1;channel;"..attrans("Digiline channel")..";"..minetest.formspec_escape(channel).."]" + formspec=formspec.."field[0.8,1.5;7,1;channel;"..S("Digiline channel")..";"..minetest.formspec_escape(channel).."]" end - return formspec.."button_exit[0.5,4.5;7,1;save;"..attrans("Save").."]" + return formspec.."button_exit[0.5,4.5;7,1;save;"..S("Save").."]" end --from trainlogic.lua train step @@ -234,7 +220,7 @@ local matchptn={ advtrains.train_ensure_init(id, train) -- no one minds if this failed... this shouldn't even be called without train being initialized... else - atwarn(sid(id), attrans("ATC Reverse command warning: didn't reverse train, train moving.")) + atwarn(sid(id), S("ATC Reverse command warning: didn't reverse train, train moving.")) end return 1 end, @@ -246,11 +232,11 @@ local matchptn={ end, ["K"] = function(id, train) if train.door_open == 0 then - atwarn(sid(id), attrans("ATC Kick command warning: doors are closed.")) + atwarn(sid(id), S("ATC Kick command warning: doors are closed.")) return 1 end if train.velocity > 0 then - atwarn(sid(id), attrans("ATC Kick command warning: train moving.")) + atwarn(sid(id), S("ATC Kick command warning: train moving.")) return 1 end local tp = train.trainparts @@ -324,7 +310,7 @@ eval_conditional = function(command, arrow, speed) local nest, pos, elsepos=0, 1 while nest>=0 do if pos>#rest then - atwarn(sid(id), attrans("ATC command syntax error: I statement not closed: @1",command)) + atwarn(sid(id), S("ATC command syntax error: I statement not closed: @1",command)) return "" end local char=string.sub(rest, pos, pos) @@ -388,7 +374,7 @@ function atc.execute_atc_command(id, train) return end end - atwarn(sid(id), attrans("ATC command parse error: Unknown command: @1", command)) + atwarn(sid(id), S("ATC command parse error: Unknown command: @1", command)) atc.train_reset_command(train, true) end diff --git a/advtrains/copytool.lua b/advtrains/copytool.lua index c63551e..cdfbd2e 100644 --- a/advtrains/copytool.lua +++ b/advtrains/copytool.lua @@ -4,8 +4,11 @@ -- 4.712389 = 1.5pi; sin(1.5pi) = -1 -- 7.853981 = 2.5pi; sin(2.5pi) = 1 +-- Get current translator +local S = advtrains.translate + minetest.register_tool("advtrains:copytool", { - description = attrans("Train copy/paste tool\n\nLeft-click: copy train\nRight-click: paste train"), + description = S("Train copy/paste tool\n\nLeft-click: copy train\nRight-click: paste train"), inventory_image = "advtrains_copytool.png", wield_image = "advtrains_copytool.png", stack_max = 1, @@ -38,23 +41,23 @@ 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, attrans("The track you are trying to place the wagon on is not long enough.")) + minetest.chat_send_player(pname, S("The track you are trying to place the wagon on is not long enough.")) return end local meta = itemstack:get_meta() if not meta then - minetest.chat_send_player(pname, attrans("The clipboard couldn't access the metadata. Paste failed.")) + minetest.chat_send_player(pname, S("The clipboard couldn't access the metadata. Paste failed.")) return end local clipboard = meta:get_string("clipboard") if (clipboard == "") then - minetest.chat_send_player(pname, attrans("The clipboard is empty.")); + minetest.chat_send_player(pname, S("The clipboard is empty.")); return end clipboard = minetest.deserialize(clipboard) if (clipboard.wagons == nil) then - minetest.chat_send_player(pname, attrans("The clipboard is empty.")); + minetest.chat_send_player(pname, S("The clipboard is empty.")); return end @@ -71,7 +74,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, attrans("Back of train would end up off track, cancelling.")) + minetest.chat_send_player(pname, S("Back of train would end up off track, cancelling.")) advtrains.remove_train(id) return end @@ -89,19 +92,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(), attrans("No such lua entity.")) + minetest.chat_send_player(user:get_player_name(), S("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(), attrans("No such wagon: @1.", le.id)) + minetest.chat_send_player(user:get_player_name(), S("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(), attrans("No such train: @1.", wagon.train_id)) + minetest.chat_send_player(user:get_player_name(), S("No such train: @1.", wagon.train_id)) return end @@ -173,11 +176,11 @@ minetest.register_tool("advtrains:copytool", { local meta = itemstack:get_meta() if not meta then - minetest.chat_send_player(pname, attrans("The clipboard couldn't access the metadata. Copy failed.")) + minetest.chat_send_player(pname, S("The clipboard couldn't access the metadata. Copy failed.")) return end meta:set_string("clipboard", minetest.serialize(clipboard)) - minetest.chat_send_player(user:get_player_name(), attrans("Train copied.")) + minetest.chat_send_player(user:get_player_name(), S("Train copied.")) return itemstack end }) diff --git a/advtrains/couple.lua b/advtrains/couple.lua index 4933dd8..cb325a0 100644 --- a/advtrains/couple.lua +++ b/advtrains/couple.lua @@ -18,6 +18,9 @@ -- train.couple_* contain references to ObjectRefs of couple objects, which contain all relevant information -- These objectRefs will delete themselves once the couples no longer match (see below) +-- Get current translator +local S = advtrains.translate + advtrains.coupler_types = {} function advtrains.register_coupler_type(code, name) @@ -25,8 +28,8 @@ function advtrains.register_coupler_type(code, name) end -- Register some default couplers -advtrains.register_coupler_type("chain", attrans("Buffer and Chain Coupler")) -advtrains.register_coupler_type("scharfenberg", attrans("Scharfenberg Coupler")) +advtrains.register_coupler_type("chain", S("Buffer and Chain Coupler")) +advtrains.register_coupler_type("scharfenberg", S("Scharfenberg Coupler")) for _, name in pairs {"couple", "decouple"} do local t = {} @@ -245,7 +248,7 @@ function advtrains.couple_trains(init_train, invert_init_train, stat_train, stat -- sanity check, prevent coupling if train would be longer than 20 after coupling local tot_len = init_wagoncnt + stat_wagoncnt if tot_len > advtrains.TRAIN_MAX_WAGONS then - atwarn("Cannot couple",stat_train.id,"and",init_train.id,"- train would have length",tot_len,"which is above the limit of",advtrains.TRAIN_MAX_WAGONS) + atwarn(S("Cannot couple @1 and @2 - train would have length @3 which is above the limit of @4", stat_train.id, init_train.id, tot_len, advtrains.TRAIN_MAX_WAGONS)) return end @@ -351,12 +354,12 @@ function advtrains.check_matching_coupler_types(t1, t1_front, t2, t2_front) for typ,_ in pairs(t1_cplt) do table.insert(t1_cplhr, advtrains.coupler_types[typ] or typ) end - if #t1_cplhr==0 then t1_cplhr[1]=attrans("<No coupler>") end + if #t1_cplhr==0 then t1_cplhr[1]=S("<No coupler>") end for typ,_ in pairs(t2_cplt) do table.insert(t2_cplhr, advtrains.coupler_types[typ] or typ) end - if #t2_cplhr==0 then t2_cplhr[1]=attrans("<No coupler>") end - return false, attrans("Can not couple: The couplers of the trains do not match (@1 and @2).", table.concat(t1_cplhr, ","), table.concat(t2_cplhr, ",")) + if #t2_cplhr==0 then t2_cplhr[1]=S("<No coupler>") end + return false, S("Can not couple: The couplers of the trains do not match (@1 and @2).", table.concat(t1_cplhr, ","), table.concat(t2_cplhr, ",")) end -- DECOUPLING -- diff --git a/advtrains/craft_items.lua b/advtrains/craft_items.lua index 1188b64..6b1dcef 100644 --- a/advtrains/craft_items.lua +++ b/advtrains/craft_items.lua @@ -1,23 +1,26 @@ +-- Get current translator +local S = advtrains.translate + core.register_craftitem("advtrains:boiler", { - description = attrans("Boiler"), + description = S("Boiler"), inventory_image = "advtrains_boiler.png", }) core.register_craftitem("advtrains:driver_cab", { - description = attrans("Driver's cab"), + description = S("Driver's cab"), inventory_image = "advtrains_driver_cab.png", }) core.register_craftitem("advtrains:wheel", { - description = attrans("Wheel"), + description = S("Wheel"), inventory_image = "advtrains_wheel.png", }) core.register_craftitem("advtrains:chimney", { - description = attrans("Chimney"), + description = S("Chimney"), inventory_image = "advtrains_chimney.png", }) diff --git a/advtrains/formspec.lua b/advtrains/formspec.lua index 8894354..86d8b27 100644 --- a/advtrains/formspec.lua +++ b/advtrains/formspec.lua @@ -1,6 +1,9 @@ local sformat = string.format local fsescape = minetest.formspec_escape +-- Get current translator +local S = advtrains.translate + local function make_list(entries) local t = {} for k, v in ipairs(entries) do @@ -12,7 +15,7 @@ end local function S_wrapper(f, i0) return function(...) local args = {...} - args[i0] = attrans(unpack(args,i0)) + args[i0] = S(unpack(args,i0)) return f(unpack(args,1,i0)) end end diff --git a/advtrains/init.lua b/advtrains/init.lua index 91b2b58..cd63104 100644 --- a/advtrains/init.lua +++ b/advtrains/init.lua @@ -22,12 +22,6 @@ Copyright (C) 2016-2020 Moritz Blei (orwell96) and contributors local lot = os.clock() minetest.log("action", "[advtrains] Loading...") --- There is no need to support 0.4.x anymore given that the compatitability with it is already broken by 1bb1d825f46af3562554c12fba35a31b9f7973ff -attrans = minetest.get_translator ("advtrains") -function attrans_formspec(...) - return minetest.formspec_escape(attrans(...)) -end - --advtrains advtrains = {trains={}, player_to_train_mapping={}} @@ -56,6 +50,17 @@ advtrains.TRAIN_MAX_WAGONS = 20 -- ========================================================================== +advtrains.modpath = minetest.get_modpath("advtrains") + +-- Initialize internationalization (using ywang's poconvert) +advtrains.poconvert = dofile(advtrains.modpath.."/poconvert.lua") +advtrains.poconvert.from_flat("advtrains") +-- ask engine for translator instance, this will load the translation files +advtrains.translate = core.get_translator("advtrains") + +-- Get current translator +local S = advtrains.translate + -- Use a global slowdown factor to slow down train movements. Now a setting advtrains.DTIME_LIMIT = tonumber(minetest.settings:get("advtrains_dtime_limit")) or 0.2 advtrains.SAVE_INTERVAL = tonumber(minetest.settings:get("advtrains_save_interval")) or 60 @@ -89,8 +94,6 @@ local function reload_saves() end) end -advtrains.modpath = minetest.get_modpath("advtrains") - --Advtrains dump (special treatment of pos and sigd) function atdump(t, intend) local str @@ -204,10 +207,6 @@ advtrains.meseconrules = advtrains.fpath=minetest.get_worldpath().."/advtrains" -advtrains.poconvert = dofile(advtrains.modpath.."/poconvert.lua") -advtrains.poconvert.from_flat("advtrains") -attrans = minetest.get_translator("advtrains") - advtrains.speed = dofile(advtrains.modpath.."/speed.lua") advtrains.formspec = dofile(advtrains.modpath.."/formspec.lua") advtrains.texture = dofile(advtrains.modpath.."/texture.lua") @@ -502,7 +501,7 @@ advtrains.avt_save = function(remove_players_from_wagons) --then save it tmp_trains[id]=v else - atwarn(S("Train"),id,S("had no wagons left because of some bug. It is being deleted. Wave it goodbye!")) + atwarn(S("Train @1 had no wagons left because of some bug. It is being deleted. Wave it goodbye!", id)) advtrains.remove_train(id) end end @@ -583,7 +582,7 @@ advtrains.avt_save = function(remove_players_from_wagons) local succ, err = serialize_lib.save_atomic_multiple(parts_table, advtrains.fpath.."_", callbacks_table) if not succ then - atwarn(S("Saving failed: ")..err) + atwarn(S("Saving failed: @1", err)) else -- store version advtrains.save_component(4, "version") @@ -755,9 +754,9 @@ minetest.register_chatcommand("at_whereis", func = function(name,param) local train = advtrains.trains[param] if not train or not train.last_pos then - return false, S("Train ")..param..S(" does not exist or is invalid") + return false, S("Train @1 does not exist or is invalid", param) else - return true, S("Train ")..param..S(" is at ")..minetest.pos_to_string(train.last_pos) + return true, S("Train @1 is at @2", param, minetest.pos_to_string(train.last_pos)) end end, }) @@ -769,10 +768,10 @@ minetest.register_chatcommand("at_tp", func = function(name,param) local train = advtrains.trains[param] if not train or not train.last_pos then - return false, S("Train ")..param..S(" does not exist or is invalid") + return false, S("Train @1 does not exist or is invalid", param) else minetest.get_player_by_name(name):set_pos(train.last_pos) - return true, S("Teleporting to train ")..param + return true, S("Teleporting to train @1", param) end end, }) @@ -803,7 +802,7 @@ minetest.register_chatcommand("at_status", description = S("Print advtrains status info"), privs = {train_operator = true}, func = function(name, param) - return true, advtrains.print_concat_table({S("Advtrains Status: no_action"),no_action,S("slowdown"),advtrains.global_slowdown,S("(log"),math.log(advtrains.global_slowdown),")"}) + return true, S("Advtrains Status: no_action @1 slowdown @2 (log @3)", no_action, advtrains.global_slowdown, math.log(advtrains.global_slowdown)) end, }) diff --git a/advtrains/misc_nodes.lua b/advtrains/misc_nodes.lua index bcf7329..8720272 100644 --- a/advtrains/misc_nodes.lua +++ b/advtrains/misc_nodes.lua @@ -1,5 +1,8 @@ --all nodes that do not fit in any other category +-- Get current translator +local S = advtrains.translate + function advtrains.register_platform(modprefix, preset) local ndef=minetest.registered_nodes[preset] if not ndef then @@ -13,7 +16,7 @@ function advtrains.register_platform(modprefix, preset) local desc=ndef.description or "" local nodename=string.match(preset, ":(.+)$") minetest.register_node(modprefix .. ":platform_low_"..nodename, { - description = attrans("@1 Platform (low)", desc), + description = S("@1 Platform (low)", desc), tiles = {btex.."^advtrains_platform.png", btex, btex, btex, btex, btex}, groups = {cracky = 1, not_blocking_trains = 1, platform=1}, sounds = ndef.sounds, @@ -30,7 +33,7 @@ function advtrains.register_platform(modprefix, preset) sunlight_propagates = true, }) minetest.register_node(modprefix .. ":platform_high_"..nodename, { - description = attrans("@1 Platform (high)", desc), + description = S("@1 Platform (high)", desc), tiles = {btex.."^advtrains_platform.png", btex, btex, btex, btex, btex}, groups = {cracky = 1, not_blocking_trains = 1, platform=2}, sounds = ndef.sounds, @@ -56,7 +59,7 @@ function advtrains.register_platform(modprefix, preset) } } minetest.register_node(modprefix..":platform_45_"..nodename, { - description = attrans("@1 Platform (45 degree)", desc), + description = S("@1 Platform (45 degree)", desc), groups = {cracky = 1, not_blocking_trains = 1, platform=2}, sounds = ndef.sounds, drawtype = "mesh", @@ -78,7 +81,7 @@ function advtrains.register_platform(modprefix, preset) } } minetest.register_node(modprefix..":platform_45_low_"..nodename, { - description = attrans("@1 Platform (low, 45 degree)", desc), + description = S("@1 Platform (low, 45 degree)", desc), groups = {cracky = 1, not_blocking_trains = 1, platform=2}, sounds = ndef.sounds, drawtype = "mesh", diff --git a/advtrains/protection.lua b/advtrains/protection.lua index ac1cd66..6bb1ccb 100644 --- a/advtrains/protection.lua +++ b/advtrains/protection.lua @@ -1,27 +1,29 @@ -- advtrains -- protection.lua: privileges and rail protection, and some helpers +-- Get current translator +local S = advtrains.translate -- Privileges to control TRAIN DRIVING/COUPLING minetest.register_privilege("train_operator", { - description = attrans("Can place, remove and operate trains"), + description = S("Can place, remove and operate trains"), give_to_singleplayer= true, }); minetest.register_privilege("train_admin", { - description = attrans("Can place, remove and operate any train, regardless of owner, whitelist, or protection"), + description = S("Can place, remove and operate any train, regardless of owner, whitelist, or protection"), give_to_singleplayer= true, }); -- Privileges to control TRACK BUILDING minetest.register_privilege("track_builder", { - description = attrans("Can place and dig tracks in unprotected areas"), + description = S("Can place and dig tracks in unprotected areas"), give_to_singleplayer= true, }); -- Privileges to control OPERATING TURNOUTS/SIGNALS minetest.register_privilege("railway_operator", { - description = attrans("Can operate turnouts and signals in unprotected areas"), + description = S("Can operate turnouts and signals in unprotected areas"), give_to_singleplayer= true, }); @@ -145,12 +147,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, near and attrans("You are not allowed to build near tracks without the track_builder privilege.") or attrans("You are not allowed to build tracks without the track_builder privilege.")) + minetest.chat_send_player(pname, near and S("You are not allowed to build near tracks without the track_builder privilege.") or S("You are not allowed to build 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, near and attrans("You are not allowed to build near tracks at this protected position.") or attrans("You are not allowed to build tracks at this protected position.")) + minetest.chat_send_player(pname, near and S("You are not allowed to build near tracks at this protected position.") or S("You are not allowed to build 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 +183,7 @@ function advtrains.check_turnout_signal_protection(pos, pname) nocheck=false return true else - minetest.chat_send_player(pname, attrans("You are not allowed to operate turnouts and signals without the railway_operator privilege.")) + minetest.chat_send_player(pname, S("You are not allowed to operate turnouts and signals without the 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 diff --git a/advtrains/signals.lua b/advtrains/signals.lua index 35e118c..198507a 100644 --- a/advtrains/signals.lua +++ b/advtrains/signals.lua @@ -1,6 +1,9 @@ --advtrains by orwell96 --signals.lua +-- Get current translator +local S = advtrains.translate + local mrules_wallsignal = advtrains.meseconrules local function can_dig_func(pos, player) @@ -59,7 +62,7 @@ for r,f in pairs({on={as="off", ls="green", als="red"}, off={as="on", ls="red", tiles = {"advtrains_retrosignal.png"}, inventory_image="advtrains_retrosignal_inv.png", drop="advtrains:retrosignal_off", - description=attrans("Lampless Signal"), + description=S("Lampless Signal (deprecated!)"), sunlight_propagates=true, groups = { cracky=3, @@ -122,7 +125,7 @@ for r,f in pairs({on={as="off", ls="green", als="red"}, off={as="on", ls="red", tiles = {"advtrains_signal_"..r..".png"}, inventory_image="advtrains_signal_inv.png", drop="advtrains:signal_off", - description=attrans("Signal"), + description=S("Signal (deprecated!)"), groups = { cracky=3, not_blocking_trains=1, @@ -177,9 +180,9 @@ for r,f in pairs({on={as="off", ls="green", als="red"}, off={as="on", ls="red", --tunnel signals. no rotations. local swdesc = { -- needed for xgettext - l = attrans("Wallmounted Signal (left)"), - r = attrans("Wallmounted Signal (right)"), - t = attrans("Wallmounted Signal (top)"), + l = S("Wallmounted Signal (left) (deprecated!)"), + r = S("Wallmounted Signal (right) (deprecated!)"), + t = S("Wallmounted Signal (top) (deprecated!)"), } for loc, sbox in pairs({l={-1/2, -1/2, -1/4, 0, 1/2, 1/4}, r={0, -1/2, -1/4, 1/2, 1/2, 1/4}, t={-1/2, 0, -1/4, 1/2, 1/2, 1/4}}) do minetest.register_node("advtrains:signal_wall_"..loc.."_"..r, { @@ -258,7 +261,7 @@ minetest.register_node("advtrains:across_off", { mesh = "advtrains_across.obj", tiles = {"advtrains_across.png"}, drop="advtrains:across_off", - description=attrans("Andrew's Cross"), + description=S("Andrew's Cross"), groups = { cracky=3, not_blocking_trains=1, @@ -295,7 +298,7 @@ minetest.register_node("advtrains:across_on", { mesh = "advtrains_across.obj", tiles = {{name="advtrains_across_anim.png", animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.0}}}, drop="advtrains:across_off", - description=attrans("Andrew's Cross"), + description=S("Andrew's Cross"), groups = { cracky=3, not_blocking_trains=1, diff --git a/advtrains/track_reg_helper.lua b/advtrains/track_reg_helper.lua index e2f71e8..fe1d11d 100644 --- a/advtrains/track_reg_helper.lua +++ b/advtrains/track_reg_helper.lua @@ -4,6 +4,9 @@ -- Note to future: This is actually just a work-saver, avoiding me to port over all the crossing nodes as well as the linetrack tracks. -- Future track mods should please directly use the appropriate advtrains.register_node_4rot() API and not rely on this! +-- Get current translator +local S = advtrains.translate + --definition preparation local function conns(c1, c2, r1, r2) return {{c=c1, y=r1}, {c=c2, y=r2}} end local function conns3(c1, c2, c3, r1, r2, r3) return {{c=c1, y=r1}, {c=c2, y=r2}, {c=c3, y=r3}} end @@ -471,7 +474,7 @@ Depending on the number of connections: local function can_dig_callback(pos, player) local ok, reason = advtrains.can_dig_or_modify_track(pos) if not ok and player then - minetest.chat_send_player(player:get_player_name(), attrans("This track can not be removed!") .. " " .. reason) + minetest.chat_send_player(player:get_player_name(), S("This track can not be removed!") .. " " .. reason) end return ok end @@ -656,7 +659,7 @@ end local sl={} function sl.register_placer(def, preset) minetest.register_craftitem(":"..def.nodename_prefix.."_slopeplacer",{ - description = attrans("@1 Slope", def.description), + description = S("@1 Slope", def.description), inventory_image = def.texture_prefix.."_slopeplacer.png", wield_image = def.texture_prefix.."_slopeplacer.png", groups={}, @@ -667,17 +670,17 @@ end function sl.create_slopeplacer_on_place(def, preset) return function(istack, player, pt) if not pt.type=="node" then - minetest.chat_send_player(player:get_player_name(), attrans("Can't place: not pointing at node")) + minetest.chat_send_player(player:get_player_name(), S("Can't place: not pointing at node")) return istack end local pos=pt.above if not pos then - minetest.chat_send_player(player:get_player_name(), attrans("Can't place: not pointing at node")) + minetest.chat_send_player(player:get_player_name(), S("Can't place: not pointing at node")) return istack end local node=minetest.get_node(pos) if not minetest.registered_nodes[node.name] or not minetest.registered_nodes[node.name].buildable_to then - minetest.chat_send_player(player:get_player_name(), attrans("Can't place: space occupied!")) + minetest.chat_send_player(player:get_player_name(), S("Can't place: space occupied!")) return istack end if not advtrains.check_track_protection(pos, player:get_player_name()) then @@ -730,17 +733,17 @@ function sl.create_slopeplacer_on_place(def, preset) pos=vector.subtract(pos, dirvec) end else - minetest.chat_send_player(player:get_player_name(), attrans("Can't place: Not enough slope items left (@1 required)", step)) + minetest.chat_send_player(player:get_player_name(), S("Can't place: Not enough slope items left (@1 required)", step)) end else - minetest.chat_send_player(player:get_player_name(), attrans("Can't place: There's no slope of length @1",step)) + minetest.chat_send_player(player:get_player_name(), S("Can't place: There's no slope of length @1",step)) end return istack end step=step+1 pos=vector.add(pos, dirvec) end - minetest.chat_send_player(player:get_player_name(), attrans("Can't place: no supporting node at upper end.")) + minetest.chat_send_player(player:get_player_name(), S("Can't place: no supporting node at upper end.")) return itemstack end end diff --git a/advtrains/trackplacer.lua b/advtrains/trackplacer.lua index 3278b8c..0bcde77 100644 --- a/advtrains/trackplacer.lua +++ b/advtrains/trackplacer.lua @@ -1,6 +1,9 @@ --trackplacer.lua --holds code for the track-placing system. the default 'track' item will be a craftitem that places rails as needed. this will neither place or change switches nor place vertical rails. +-- Get current translator +local S = advtrains.translate + --all new trackplacer code local tp={ groups={} @@ -237,7 +240,7 @@ end minetest.register_craftitem("advtrains:trackworker",{ - description = attrans("Track Worker Tool\n\nLeft-click: change rail type (straight/curve/switch)\nRight-click: rotate object"), + description = S("Track Worker Tool\n\nLeft-click: change rail type (straight/curve/switch)\nRight-click: rotate object"), groups = {cracky=1}, -- key=name, value=rating; rating=1..3. inventory_image = "advtrains_trackworker.png", wield_image = "advtrains_trackworker.png", @@ -260,7 +263,7 @@ minetest.register_craftitem("advtrains:trackworker",{ local ndef = minetest.registered_nodes[node.name] if not ndef.advtrains or not ndef.advtrains.trackworker_next_rot then - minetest.chat_send_player(placer:get_player_name(), attrans("This node can't be rotated using the trackworker!")) + minetest.chat_send_player(placer:get_player_name(), S("This node can't be rotated using the trackworker!")) return end @@ -269,7 +272,7 @@ minetest.register_craftitem("advtrains:trackworker",{ -- is a track, we can query local can_modify, reason = advtrains.can_dig_or_modify_track(pos) if not can_modify then - local str = attrans("This track can not be rotated!") + local str = S("This track can not be rotated!") if reason then str = str .. " " .. reason end @@ -309,7 +312,7 @@ minetest.register_craftitem("advtrains:trackworker",{ local ndef = minetest.registered_nodes[node.name] if not ndef.advtrains or not ndef.advtrains.trackworker_next_var then - minetest.chat_send_player(name, attrans("This node can't be changed using the trackworker!")) + minetest.chat_send_player(name, S("This node can't be changed using the trackworker!")) return end @@ -318,7 +321,7 @@ minetest.register_craftitem("advtrains:trackworker",{ -- is a track, we can query local can_modify, reason = advtrains.can_dig_or_modify_track(pos) if not can_modify then - local str = attrans("This track can not be rotated!") + local str = S("This track can not be rotated!") if reason then str = str .. " " .. reason end diff --git a/advtrains/tracks.lua b/advtrains/tracks.lua index fa7b702..e6d08a7 100644 --- a/advtrains/tracks.lua +++ b/advtrains/tracks.lua @@ -1,6 +1,8 @@ -- tracks.lua
-- rewritten with advtrains 2.5 according to new track registration system
+-- Get current translator
+local S = advtrains.translate
--[[
@@ -125,7 +127,7 @@ Switchable nodes (turnouts, single/double-slip switches) are implemented by havi function advtrains.track_can_dig_callback(pos, player)
local ok, reason = advtrains.can_dig_or_modify_track(pos)
if not ok and player then
- minetest.chat_send_player(player:get_player_name(), attrans("This track can not be removed!") .. " " .. reason)
+ minetest.chat_send_player(player:get_player_name(), S("This track can not be removed!") .. " " .. reason)
end
return ok
end
@@ -256,17 +258,17 @@ end -- Impl Note: possibly duplicate code in "self contained TCB" - see interlocking/tcb_ts_ui.lua!
function advtrains.can_dig_or_modify_track(pos)
if advtrains.get_train_at_pos(pos) then
- return false, attrans("Position is occupied by a train.")
+ return false, S("Position is occupied by a train.")
end
-- interlocking: tcb, signal IP a.s.o.
if advtrains.interlocking then
-- TCB?
if advtrains.interlocking.db.get_tcb(pos) then
- return false, attrans("There's a Track Circuit Break here.")
+ return false, S("There's a Track Circuit Break here.")
end
-- signal ip?
if advtrains.interlocking.db.is_ip_at(pos, true) then -- is_ip_at with purge parameter
- return false, attrans("There's a Signal Influence Point here.")
+ return false, S("There's a Signal Influence Point here.")
end
end
return true
diff --git a/advtrains/trainhud.lua b/advtrains/trainhud.lua index 9d9d475..eeebff0 100644 --- a/advtrains/trainhud.lua +++ b/advtrains/trainhud.lua @@ -1,5 +1,8 @@ --trainhud.lua: holds all the code for train controlling +-- Get current translator +local S = advtrains.translate + local T = advtrains.texture advtrains.hud = {} @@ -274,7 +277,7 @@ function advtrains.hud_train_format(train, flip) hud:add_n7seg(131, 18, 28, 14, lzbdisp.d, 3, lzbdisp.c) if res and res == 0 then - table.insert(st, attrans("OVERRUN RED SIGNAL! Examine situation and reverse train to move again.")) + table.insert(st, S("OVERRUN RED SIGNAL! Examine situation and reverse train to move again.")) end if train.atc_command then diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua index c49d7e3..c0ac179 100644 --- a/advtrains/trainlogic.lua +++ b/advtrains/trainlogic.lua @@ -1,6 +1,9 @@ --trainlogic.lua --controls train entities stuff about connecting/disconnecting/colliding trains and other things +-- Get current translator +local S = advtrains.translate + local setting_overrun_mode = minetest.settings:get("advtrains_overrun_mode") local benchmark=false diff --git a/advtrains/wagonprop_tool.lua b/advtrains/wagonprop_tool.lua index 2a4a9e2..f32dd03 100644 --- a/advtrains/wagonprop_tool.lua +++ b/advtrains/wagonprop_tool.lua @@ -1,6 +1,10 @@ + +-- Get current translator +local S = advtrains.translate + minetest.register_craftitem("advtrains:wagon_prop_tool",{ --craftitem because it does nothing on its own - description = attrans("Wagon Properties Tool\nPunch a wagon to view and edit the Wagon Properties"), - short_description = attrans("Wagon Properties Tool"), + description = S("Wagon Properties Tool\nPunch a wagon to view and edit the Wagon Properties"), + short_description = S("Wagon Properties Tool"), groups = {}, inventory_image = "advtrains_wagon_prop_tool.png", wield_image = "advtrains_wagon_prop_tool.png", @@ -23,7 +27,7 @@ minetest.register_craftitem("advtrains:wagon_prop_tool",{ --craftitem because it --whitelist protection check if not advtrains.check_driving_couple_protection(pname,wagon.owner,wagon.whitelist) then - minetest.chat_send_player(pname, attrans("Insufficient privileges to use this!")) + minetest.chat_send_player(pname, S("Insufficient privileges to use this!")) return end object:show_wagon_properties(pname) @@ -40,4 +44,4 @@ if minetest.get_modpath("default") then --register recipe {"","","group:wood"}, } }) -end
\ No newline at end of file +end diff --git a/advtrains/wagons.lua b/advtrains/wagons.lua index 760c7da..52ce577 100644 --- a/advtrains/wagons.lua +++ b/advtrains/wagons.lua @@ -7,8 +7,8 @@ -- An entity is ONLY spawned by update_trainpart_properties when it finds it useful. -- Only data that are only important to the entity itself are stored in the luaentity --- Translation -S = attrans +-- Get current translator +local S = advtrains.translate -- TP delay when getting off wagon local GETOFF_TP_DELAY = 0.5 @@ -157,7 +157,7 @@ function wagon:ensure_init() end end if not self.noninitticks then - atwarn("Wagon",self.id,S("Uninitialized init="),self.initialized) + atwarn("Wagon",self.id,"Uninitialized init=",self.initialized) self.noninitticks=0 end self.noninitticks=self.noninitticks+1 @@ -243,7 +243,7 @@ function wagon:destroy() if self.id then local data = advtrains.wagons[self.id] if not data then - atwarn(S(" wagon:destroy(): data is not set!")) + atwarn(" wagon:destroy(): data is not set!") return end @@ -1481,7 +1481,7 @@ advtrains.register_wagon("advtrains:wagon_placeholder", { assign_to_seat_group = {}, wagon_span=1, drops={}, -}, "Wagon placeholder", "advtrains_wagon_placeholder.png", true) +}, S("Wagon placeholder"), "advtrains_wagon_placeholder.png", true) @@ -1579,12 +1579,12 @@ minetest.register_chatcommand("at_chown", { local new_owner = params[2] if not wid then return false end --no params added --player name checks - if not new_owner then return false, attrans("Please specify a player name to transfer ownership to.") end --no player name argument - if not core.player_exists(new_owner) then return false, attrans("That player does not exist!") end --is a valid player + if not new_owner then return false, S("Please specify a player name to transfer ownership to.") end --no player name argument + if not core.player_exists(new_owner) then return false, S("That player does not exist!") end --is a valid player --wagon id checks - if not wid:match("%d%d%d%d%d%d") then return false, attrans("Not a valid wagon id.") end -- invalid wagon id + if not wid:match("%d%d%d%d%d%d") then return false, S("Not a valid wagon id.") end -- invalid wagon id local w_data = advtrains.wagons[wid] - if not w_data then return false, attrans("That wagon does not exist!") end + if not w_data then return false, S("That wagon does not exist!") end -- actually chown the wagon local curr_owner = w_data.owner w_data.owner = new_owner @@ -1592,8 +1592,8 @@ minetest.register_chatcommand("at_chown", { advtrains.log("Chown", name, core.get_player_by_name(name):get_pos(), "wid="..wid..", from="..curr_owner..", to="..new_owner) if name ~= new_owner then - core.chat_send_player(new_owner, attrans("You have been given ownership of wagon @1", wid)) + core.chat_send_player(new_owner, S("You have been given ownership of wagon @1", wid)) end - return true, attrans("Wagon @1 ownership changed from @2 to @3", wid, curr_owner, new_owner) + return true, S("Wagon @1 ownership changed from @2 to @3", wid, curr_owner, new_owner) end -})
\ No newline at end of file +}) |