From 091ab33ba5a883c0644bba3397e3ebfaf08ed5c4 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 00:32:35 +0100 Subject: [PATCH 01/84] Add code for secret parrots --- mods/lzr_globals/init.lua | 3 + mods/lzr_menu/init.lua | 29 +++++ .../lzr_menu_painting_parrot_finder.png | Bin 0 -> 495 bytes mods/lzr_parrot_npc/init.lua | 116 +++++++++++++++++- 4 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 mods/lzr_menu/textures/lzr_menu_painting_parrot_finder.png diff --git a/mods/lzr_globals/init.lua b/mods/lzr_globals/init.lua index c94a3fad..6a92c8d7 100644 --- a/mods/lzr_globals/init.lua +++ b/mods/lzr_globals/init.lua @@ -81,6 +81,9 @@ lzr_globals.MENU_SHIP_CUSTOMBOOK_OFFSET = vector.new(8, 11, 31) -- Where to place the painting "Perfect Plunderer" -- (awarded when player completed all core levels) lzr_globals.MENU_SHIP_PAINTING_PERFECT_PLUNDERER_OFFSET = vector.new(7, 12, 32) +-- Where to place the painting "Parrot Finder" +-- (awarded when player found all the hidden parrots) +lzr_globals.MENU_SHIP_PAINTING_PARROT_FINDER_OFFSET = vector.new(8, 12, 32) -- Where to place the node that leads to the level editor lzr_globals.MENU_SHIP_EDITOR_OFFSET = vector.new(13, 11, 31) -- Where to place the node that changes sound options diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index 566e74bc..2498d278 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -811,16 +811,45 @@ minetest.register_node("lzr_menu:painting_perfect_plunderer", { end, }) +-- This painting symbolizes finding all hidden parrots +minetest.register_node("lzr_menu:painting_parrot_finder", { + description = S("Painting: Parrot Finder"), + drawtype = "nodebox", + paramtype2 = "wallmounted", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + node_box = { + type = "wallmounted", + wall_top = {-0.4375, 0.4375, -0.3725, 0.4375, 0.5, 0.3725}, + wall_bottom = {-0.4375, -0.5, -0.3725, 0.4375, -0.4375, 0.3725}, + wall_side = {-0.5, -0.3725, -0.4375, -0.4375, 0.3725, 0.4375}, + }, + tiles = {"lzr_menu_painting_parrot_finder.png", "lzr_menu_painting_back.png"}, + use_texture_alpha = "clip", + groups = { breakable = 1, not_in_creative_inventory = 1 }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", S("Found every hidden parrot")) + end, +}) + function lzr_menu.place_painting(painting) if painting == "perfect_plunderer" then minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PAINTING_PERFECT_PLUNDERER_OFFSET), {name="lzr_menu:painting_perfect_plunderer", param2=4}) minetest.log("action", "[lzr_menu] Added painting 'perfect_plunderer'") + elseif painting == "parrot_finder" then + minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PAINTING_PARROT_FINDER_OFFSET), {name="lzr_menu:painting_parrot_finder", param2=4}) + minetest.log("action", "[lzr_menu] Added painting 'parrot_finder'") end end function lzr_menu.remove_painting(painting) if painting == "perfect_plunderer" then minetest.remove_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PAINTING_PERFECT_PLUNDERER_OFFSET)) minetest.log("action", "[lzr_menu] Removed painting 'perfect_plunderer'") + elseif painting == "parrot_finder" then + minetest.remove_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PAINTING_PARROT_FINDER_OFFSET)) + minetest.log("action", "[lzr_menu] Removed painting 'perfect_plunderer'") end end diff --git a/mods/lzr_menu/textures/lzr_menu_painting_parrot_finder.png b/mods/lzr_menu/textures/lzr_menu_painting_parrot_finder.png new file mode 100644 index 0000000000000000000000000000000000000000..1537dcd95bd2c68657ce78a4e3013a344df04501 GIT binary patch literal 495 zcmV1gh6otRFW|fSWNKWDvmIj0@fg@5_1O)}kP=v}7C6AEaFTks$rE=?rf(D^9-~uav zk_fcQue}T2*|D`zmLi^2`2!PQs z(z|to=S{PbU+}Nk+1|{A(J@xV`>#KE{^%jSD5U7Rbb^45+6qR;Bx%aG(^IzA*ZBD> z;d5{XfYWT$vbs`qk0R#f8~{Tz%Bxt;VrWLp%Q>ngNhb&pwgQ0jqyT_K&Xg^YWV@FD zY}8f|Hre9EOE+J)Tj^A8XhtNS03B1XoejeC8;RG^ZlyUN#REPa9s?jgeAxp)EtaRM znB>~6l!{+wRr$RA*hSQp!cM@xeU<`?^*2a(Cg_$Oq$m)!OQC;9@hs{Gss=AD^p zo=GDCEGr)f5xpqnL|;%XNf^89p65|?ujC#?<|;NuNB6OfFS;&V|Be6inVe>$mMwTo lc@r1BrToA^_pz~A{BLV&$KXtIeEI+Y002ovPDHLkV1flF?w$Yu literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 03ecda78..36786853 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -4,6 +4,8 @@ local NS = function(s) return s end local F = minetest.formspec_escape +local mod_storage = minetest.get_mod_storage() + lzr_parrot_npc = {} -- TODO: These strings are to be used when the parrot model arrives @@ -11,6 +13,9 @@ local SPEAKER_NAME = NS("Goldie the Parrot") local SPEAKER_NAME_SHORT = NS("Goldie") local SAYS = NS("@1 says:") +local SECRET_PARROT_NOT_FOUND = 0 +local SECRET_PARROT_FOUND = 1 + -- TODO: This name shall be removed when the parrot model arrives local SPEAKER_NAME_INFOBLOCK = S("Information") @@ -18,12 +23,32 @@ local function make_call(to_player) -- TODO: Play sound when we have a parrot again end -lzr_parrot_npc.speak = function(player, message) +local speaker_portraits = { + goldie = "lzr_parrot_npc_goldie_portrait.png", + + -- Dummy portraits for secret parrot + -- TODO: use new images + bluey = "lzr_parrot_npc_goldie_portrait.png^[hsl:30:0:0", + greeny = "lzr_parrot_npc_goldie_portrait.png^[hsl:60:0:0", + reddy = "lzr_parrot_npc_goldie_portrait.png^[hsl:90:0:0", + magenty = "lzr_parrot_npc_goldie_portrait.png^[hsl:120:0:0", + cyany = "lzr_parrot_npc_goldie_portrait.png^[hsl:150:0:0", + whitey = "lzr_parrot_npc_goldie_portrait.png^[hsl:180:0:0", +} + +local secret_parrots = { + "bluey", "greeny", "reddy", "magenty", "cyany", "whitey", +} + +local speech_found_secret = S("You found my secret hiding spot! Can you find my friends, too?") + +lzr_parrot_npc.speak = function(player, message, speaker) + local portrait = speaker_portraits[speaker] local form = "formspec_version[7]size[10,5.5]".. "box[0,0;10,0.8;#0000004f]".. "label[0.4,0.4;"..F(SPEAKER_NAME_INFOBLOCK).."]".. "box[0.5,1;2.0,3;#0000002f]".. - "image[0.75,1;1.5,3;lzr_parrot_npc_goldie_portrait.png]".. + "image[0.75,1;1.5,3;"..portrait.."]".. "box[3,1;6.5,3;#ffffff1f]".. "textarea[3,1;6.5,3;;;"..F(message).."]".. "button_exit[3.5,4.4;3,0.8;ok;"..FS("OK").."]" @@ -43,7 +68,7 @@ local react = function(parrot, player) if player and player:is_player() then local speeches = lzr_levels.get_npc_texts() if speeches and speeches.goldie and speeches.goldie ~= "" then - lzr_parrot_npc.speak(player, speeches.goldie) + lzr_parrot_npc.speak(player, speeches.goldie, "goldie") else make_call(player) end @@ -51,6 +76,10 @@ local react = function(parrot, player) end end +-- Parrot NPC. Stands around and looks at the player. +-- Can be interacted with and plays a sound. +-- In levels, it may show the level’s hint, +-- if one is present. -- TODO: The parrot NPC is currently replaced -- by a rotating information block minetest.register_entity("lzr_parrot_npc:parrot", { @@ -85,6 +114,62 @@ minetest.register_entity("lzr_parrot_npc:parrot", { end, }) +local mark_secret_parrot_as_found = function(player, parrot_name) + local meta = player:get_meta() + local found = mod_storage:get_int("lzr_parrot_npc:secret_parrot_"..parrot_name) + if found == SECRET_PARROT_FOUND then + return false + else + mod_storage:set_int("lzr_parrot_npc:secret_parrot_"..parrot_name, SECRET_PARROT_FOUND) + minetest.log("action", "[lzr_parrot_npc] Player found secret parrot '"..parrot_name.."'") + return true + end +end + +local react_secret = function(parrot, player) + if player and player:is_player() then + local secret_parrot_identity = parrot._secret_id or "reddy" + if mark_secret_parrot_as_found(player, secret_parrot_identity) then + lzr_parrot_npc.speak(player, speech_found_secret, secret_parrot_identity) + else + make_call(player) + end + face_player(parrot, player) + end +end + +-- Secret Parrot NPC. One of the game's hidden parrots. +-- When interacted with, the parrot counts as found. +minetest.register_entity("lzr_parrot_npc:secret_parrot", { + initial_properties = { + visual = "cube", + -- TODO: Create a parrot model + visual_size = { x=0.5, y=0.5, z=0.5 }, + textures = { + "lzr_parrot_npc_goldie.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie.png^[hsl:30:0:0", + }, + static_save = false, + physical = false, + collide_with_objects = false, + selectionbox = { + -0.25, -0.25, -0.25, 0.25, 0.25, 0.25, rotate = true, + }, + }, + -- TODO: Add random parrot animation and looking + -- (on_step, on_activate) + on_rightclick = function(self, clicker) + react_secret(self, clicker) + end, + on_punch = function(self, puncher) + react_secret(self, puncher) + end, +}) + minetest.register_node("lzr_parrot_npc:stand", { description = S("Parrot Stand"), drawtype = "nodebox", @@ -135,3 +220,28 @@ minetest.register_node("lzr_parrot_npc:parrot_spawner", { _rotate = "", }, }) + +function lzr_parrot_npc.clear_secret_parrot_progress() + for s=1, #secret_parrots do + mod_storage:set_int("lzr_parrot_npc:secret_parrot_"..secret_parrots[s], SECRET_PARROT_NOT_FOUND) + end + lzr_menu.remove_painting("parrot_finder") + + minetest.log("action", "[lzr_parrot_npc] Secret parrot progress was cleared") +end + +minetest.register_chatcommand("reset_parrot_progress", { + privs = {}, + params = "yes", + description = S("Reset secret parrot progress"), + func = function(name, param) + if param == "yes" then + lzr_parrot_npc.clear_secret_parrot_progress() + return true, S("Secret parrot progress resetted.") + else + return false, S("To reset secret parrot progress, use “/reset_parrot_progress yes”") + end + end, +}) + + From b1dcd7f4552fffa84400ce9c8ebba9d31e60514f Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 00:35:24 +0100 Subject: [PATCH 02/84] Rename secret parrots to hidden parrots --- mods/lzr_parrot_npc/init.lua | 46 ++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 36786853..43f90e76 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -26,7 +26,7 @@ end local speaker_portraits = { goldie = "lzr_parrot_npc_goldie_portrait.png", - -- Dummy portraits for secret parrot + -- Dummy portraits for hidden parrot -- TODO: use new images bluey = "lzr_parrot_npc_goldie_portrait.png^[hsl:30:0:0", greeny = "lzr_parrot_npc_goldie_portrait.png^[hsl:60:0:0", @@ -36,11 +36,11 @@ local speaker_portraits = { whitey = "lzr_parrot_npc_goldie_portrait.png^[hsl:180:0:0", } -local secret_parrots = { +local hidden_parrots = { "bluey", "greeny", "reddy", "magenty", "cyany", "whitey", } -local speech_found_secret = S("You found my secret hiding spot! Can you find my friends, too?") +local speech_found_hidden_parrot = S("You found my secret hiding spot! Can you find my friends, too?") lzr_parrot_npc.speak = function(player, message, speaker) local portrait = speaker_portraits[speaker] @@ -114,23 +114,23 @@ minetest.register_entity("lzr_parrot_npc:parrot", { end, }) -local mark_secret_parrot_as_found = function(player, parrot_name) +local mark_hidden_parrot_as_found = function(player, parrot_name) local meta = player:get_meta() - local found = mod_storage:get_int("lzr_parrot_npc:secret_parrot_"..parrot_name) + local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) if found == SECRET_PARROT_FOUND then return false else - mod_storage:set_int("lzr_parrot_npc:secret_parrot_"..parrot_name, SECRET_PARROT_FOUND) - minetest.log("action", "[lzr_parrot_npc] Player found secret parrot '"..parrot_name.."'") + mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..parrot_name, SECRET_PARROT_FOUND) + minetest.log("action", "[lzr_parrot_npc] Player found hidden parrot '"..parrot_name.."'") return true end end -local react_secret = function(parrot, player) +local react_hidden = function(parrot, player) if player and player:is_player() then - local secret_parrot_identity = parrot._secret_id or "reddy" - if mark_secret_parrot_as_found(player, secret_parrot_identity) then - lzr_parrot_npc.speak(player, speech_found_secret, secret_parrot_identity) + local hidden_parrot_identity = parrot._hidden_id or "reddy" + if mark_hidden_parrot_as_found(player, hidden_parrot_identity) then + lzr_parrot_npc.speak(player, speech_found_hidden, hidden_parrot_identity) else make_call(player) end @@ -138,9 +138,9 @@ local react_secret = function(parrot, player) end end --- Secret Parrot NPC. One of the game's hidden parrots. +-- Hidden Parrot NPC. One of the game's hidden parrots. -- When interacted with, the parrot counts as found. -minetest.register_entity("lzr_parrot_npc:secret_parrot", { +minetest.register_entity("lzr_parrot_npc:hidden_parrot", { initial_properties = { visual = "cube", -- TODO: Create a parrot model @@ -163,10 +163,10 @@ minetest.register_entity("lzr_parrot_npc:secret_parrot", { -- TODO: Add random parrot animation and looking -- (on_step, on_activate) on_rightclick = function(self, clicker) - react_secret(self, clicker) + react_hidden(self, clicker) end, on_punch = function(self, puncher) - react_secret(self, puncher) + react_hidden(self, puncher) end, }) @@ -221,25 +221,25 @@ minetest.register_node("lzr_parrot_npc:parrot_spawner", { }, }) -function lzr_parrot_npc.clear_secret_parrot_progress() - for s=1, #secret_parrots do - mod_storage:set_int("lzr_parrot_npc:secret_parrot_"..secret_parrots[s], SECRET_PARROT_NOT_FOUND) +function lzr_parrot_npc.clear_hidden_parrot_progress() + for h=1, #hidden_parrots do + mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..hidden_parrots[s], SECRET_PARROT_NOT_FOUND) end lzr_menu.remove_painting("parrot_finder") - minetest.log("action", "[lzr_parrot_npc] Secret parrot progress was cleared") + minetest.log("action", "[lzr_parrot_npc] Hidden parrot progress was cleared") end minetest.register_chatcommand("reset_parrot_progress", { privs = {}, params = "yes", - description = S("Reset secret parrot progress"), + description = S("Reset hidden parrot progress"), func = function(name, param) if param == "yes" then - lzr_parrot_npc.clear_secret_parrot_progress() - return true, S("Secret parrot progress resetted.") + lzr_parrot_npc.clear_hidden_parrot_progress() + return true, S("Hidden parrot progress resetted.") else - return false, S("To reset secret parrot progress, use “/reset_parrot_progress yes”") + return false, S("To reset hidden parrot progress, use “/reset_parrot_progress yes”") end end, }) From fcaa46067dc01df11faaed3a39610167ef1fec90 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 01:05:07 +0100 Subject: [PATCH 03/84] Add support for spawning hidden parrots --- mods/lzr_editor/init.lua | 16 +++++++++ mods/lzr_levels/init.lua | 69 ++++++++++++++++++++++++++++++++++-- mods/lzr_parrot_npc/init.lua | 36 +++++++++++++++++-- 3 files changed, 117 insertions(+), 4 deletions(-) diff --git a/mods/lzr_editor/init.lua b/mods/lzr_editor/init.lua index 0df68a5f..bd0f2cf8 100644 --- a/mods/lzr_editor/init.lua +++ b/mods/lzr_editor/init.lua @@ -84,6 +84,8 @@ local error_warning_texts = { gold_block = S("Bare gold block in level area"), plant_on_ground = S("Rooted plant in level area"), too_many_parrot_spawners = S("More than one information block"), + too_many_hidden_parrot_spawners = S("More than one hidden parrot spawner"), + bad_hidden_parrot_spawner = S("Bad param2 for hidden parrot spawner"), trigger_out_of_bounds = S("Trigger is out of bounds"), trigger_moved = S("Trigger ID does not match location"), laser_incompatible = S("Laser-incompatible node found"), @@ -855,6 +857,20 @@ lzr_editor.check_level_errors = function() table.insert(errors, "too_many_parrot_spawners") end + local hidden_parrot_spawners = minetest.find_nodes_in_area(minpos, maxpos, "lzr_parrot_npc:hidden_parrot_spawner") + if #hidden_parrot_spawners > 1 then + table.insert(errors, "too_many_hidden_parrot_spawners") + end + for h=1, #hidden_parrot_spawners do + local node = minetest.get_node(hidden_parrot_spawners[h]) + local num = node.param2 % 4 + local parrot_name = lzr_parrot_npc.get_hidden_parrot_name(num) + if not parrot_name then + table.insert(errors, "bad_hidden_parrot_spawner") + break + end + end + -- Test: Trigger validity check from lzr_triggers local trigger_check_ok, trigger_errors = lzr_triggers.check_triggers(true) if not trigger_check_ok then diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 6b523402..6845449e 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -104,6 +104,8 @@ local analyze_level_schematic = function(filename, levels_path, level_data_entry local size = level_data_entry.size local teleporters = 0 local parrot_spawners = 0 + local hidden_parrot_spawners = 0 + local bad_hidden_parrot_spawners = 0 local barriers = 0 local gold_blocks = 0 local plants_on_ground = 0 @@ -139,6 +141,19 @@ local analyze_level_schematic = function(filename, levels_path, level_data_entry parrot_spawners = parrot_spawners + 1 local ppos = flat_index_to_pos(d, size) level_data_entry.parrot_pos = ppos + elseif nodename == "lzr_parrot_npc:hidden_parrot_spawner" then + -- Hidden parrot spawn pos + hidden_parrot_spawners = hidden_parrot_spawners + 1 + local ppos = flat_index_to_pos(d, size) + level_data_entry.hidden_parrot_pos = ppos + + -- Check param2 for hidden parrot spawner (must map + -- to a valid hidden parrot name) + local num = schem.data[d].param2 % 4 + local parrot_name = lzr_parrot_npc.get_hidden_parrot_name(num) + if not parrot_name then + bad_hidden_parrot_spawners = bad_hidden_parrot_spawners + 1 + end elseif nodename == "lzr_treasure:gold_block" then gold_blocks = gold_blocks + 1 elseif minetest.get_item_group(nodename, "barrier") ~= 0 then @@ -155,6 +170,10 @@ local analyze_level_schematic = function(filename, levels_path, level_data_entry return false, "too_many_teleporters" elseif parrot_spawners > 1 then return false, "too_many_parrot_spawners" + elseif hidden_parrot_spawners > 1 then + return false, "too_many_hidden_parrot_spawners" + elseif bad_hidden_parrot_spawners > 0 then + return false, "bad_hidden_parrot_spawner" elseif barriers > 0 then return false, "barriers" elseif gold_blocks > 0 then @@ -523,6 +542,25 @@ local emerge_callback = function(blockpos, action, calls_remaining, param) local parrot_entity_pos = vector.add(parrot_node_pos, lzr_globals.PARROT_SPAWN_OFFSET) minetest.add_entity(parrot_entity_pos, "lzr_parrot_npc:parrot") end + if param.hidden_parrot_pos then + local hidden_parrot_node_pos = vector.add(param.hidden_parrot_pos, param.pos) + local pnode = minetest.get_node(hidden_parrot_node_pos) + minetest.set_node(hidden_parrot_node_pos, {name="air"}) + local hidden_parrot_entity_pos = vector.add(hidden_parrot_node_pos, lzr_globals.PARROT_SPAWN_OFFSET) + local obj = minetest.add_entity(hidden_parrot_entity_pos, "lzr_parrot_npc:hidden_parrot") + if obj then + local ent = obj:get_luaentity() + if ent then + local p2 = pnode.param2 % 4 + local parrot_name = lzr_parrot_npc.get_hidden_parrot_name(p2) + if parrot_name then + ent._hidden_id = parrot_name + else + minetest.log("error", "[lzr_levels] Could not set _hidden_id for hidden parrot!") + end + end + end + end end if param.level then local lname = lzr_levels.get_level_name(param.level, param.level_data, true) @@ -709,11 +747,38 @@ function lzr_levels.prepare_and_build_level(level, level_data, spawn_pos, yaw, o lpos = lzr_globals.BACKDROP_POS_SKY end - lzr_levels.build_room({mode="build", pos=lpos, size=level_data[level].size, old_pos=old_pos, old_size=old_size, level=level, level_data=level_data, spawn_pos=spawn_pos, yaw=yaw, parrot_pos=level_data[level].parrot_pos, nodes=bounding_nodes, backdrop=level_data[level].backdrop, backdrop_pos=level_data[level].backdrop_pos, triggers=level_data[level].triggers, callback_done=callback_done}) + lzr_levels.build_room({ + mode="build", + pos=lpos, + size=level_data[level].size, + old_pos=old_pos, + old_size=old_size, + level=level, + level_data=level_data, + spawn_pos=spawn_pos, + yaw=yaw, + parrot_pos=level_data[level].parrot_pos, + hidden_parrot_pos=level_data[level].hidden_parrot_pos, + nodes=bounding_nodes, + backdrop=level_data[level].backdrop, + backdrop_pos=level_data[level].backdrop_pos, + triggers=level_data[level].triggers, + callback_done=callback_done + }) end function lzr_levels.prepare_and_build_custom_level(level_pos, schematic, spawn_pos, yaw, bounding_nodes, triggers, callback_done) - lzr_levels.build_room({mode="build", pos=level_pos, size=schematic.size, schematic=schematic, spawn_pos=spawn_pos, yaw=yaw, nodes=bounding_nodes, triggers=triggers, callback_done=callback_done}) + lzr_levels.build_room({ + mode="build", + pos=level_pos, + size=schematic.size, + schematic=schematic, + spawn_pos=spawn_pos, + yaw=yaw, + nodes=bounding_nodes, + triggers=triggers, + callback_done=callback_done + }) end function lzr_levels.build_level_raw(schematic_specifier, lminpos, lmaxpos) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 43f90e76..e411c909 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -40,6 +40,10 @@ local hidden_parrots = { "bluey", "greeny", "reddy", "magenty", "cyany", "whitey", } +lzr_parrot_npc.get_hidden_parrot_name = function(num) + return hidden_parrots[num] +end + local speech_found_hidden_parrot = S("You found my secret hiding spot! Can you find my friends, too?") lzr_parrot_npc.speak = function(player, message, speaker) @@ -130,7 +134,7 @@ local react_hidden = function(parrot, player) if player and player:is_player() then local hidden_parrot_identity = parrot._hidden_id or "reddy" if mark_hidden_parrot_as_found(player, hidden_parrot_identity) then - lzr_parrot_npc.speak(player, speech_found_hidden, hidden_parrot_identity) + lzr_parrot_npc.speak(player, speech_found_hidden_parrot, hidden_parrot_identity) else make_call(player) end @@ -221,9 +225,37 @@ minetest.register_node("lzr_parrot_npc:parrot_spawner", { }, }) +minetest.register_node("lzr_parrot_npc:hidden_parrot_spawner", { + description = S("Hidden Parrot Spawner"), + _tt_help = S("A hidden parrot will spawn here"), + -- TODO: textures + tiles = { + "lzr_parrot_npc_goldie_spawner_top.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie_spawner_top.png^[hsl:30:0:0^[transformR180", + "lzr_parrot_npc_goldie_spawner_side.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie_spawner_side.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie_spawner_side.png^[hsl:30:0:0", + "lzr_parrot_npc_goldie_spawner.png^[hsl:30:0:0", + }, + paramtype2 = "4dir", + drawtype = "mesh", + -- TODO + mesh = "lzr_parrot_npc_cube.obj", + visual_scale = 0.8, + wield_scale = { x=0.8, y=0.8, z=0.8 }, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + groups = { breakable = 1, rotatable = 3, spawner = 1 }, + use_texture_alpha = "clip", + sounds = { + _rotate = "", + }, +}) + function lzr_parrot_npc.clear_hidden_parrot_progress() for h=1, #hidden_parrots do - mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..hidden_parrots[s], SECRET_PARROT_NOT_FOUND) + mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..hidden_parrots[h], SECRET_PARROT_NOT_FOUND) end lzr_menu.remove_painting("parrot_finder") From f98a9502884bf8a8c3caa0743076538343f22fab Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 01:08:42 +0100 Subject: [PATCH 04/84] Make parrot NPCs immortal --- mods/lzr_parrot_npc/init.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index e411c909..7ad3c5ca 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -110,6 +110,9 @@ minetest.register_entity("lzr_parrot_npc:parrot", { }, -- TODO: Add random parrot animation and looking -- (on_step, on_activate) + on_activate = function(self) + self.object:set_armor_groups({immortal=1}) + end, on_rightclick = function(self, clicker) react(self, clicker) end, @@ -166,6 +169,9 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { }, -- TODO: Add random parrot animation and looking -- (on_step, on_activate) + on_activate = function(self) + self.object:set_armor_groups({immortal=1}) + end, on_rightclick = function(self, clicker) react_hidden(self, clicker) end, From 294c00f772909adfd80a4cd6ad2ae5ccf985eaae Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 12:16:55 +0100 Subject: [PATCH 05/84] Add dummy hidden parrot spawner textures --- mods/lzr_editor/init.lua | 2 +- mods/lzr_levels/init.lua | 2 +- mods/lzr_parrot_npc/init.lua | 31 +++++++++--------- .../textures/lzr_parrot_npc_hidden_parrot.png | Bin 0 -> 161 bytes .../lzr_parrot_npc_hidden_parrot_spawner.png | Bin 0 -> 161 bytes ...rrot_npc_hidden_parrot_spawner_palette.png | Bin 0 -> 104 bytes ..._parrot_npc_hidden_parrot_spawner_side.png | Bin 0 -> 138 bytes ...r_parrot_npc_hidden_parrot_spawner_top.png | Bin 0 -> 183 bytes 8 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_palette.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_side.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_top.png diff --git a/mods/lzr_editor/init.lua b/mods/lzr_editor/init.lua index bd0f2cf8..5d15433b 100644 --- a/mods/lzr_editor/init.lua +++ b/mods/lzr_editor/init.lua @@ -863,7 +863,7 @@ lzr_editor.check_level_errors = function() end for h=1, #hidden_parrot_spawners do local node = minetest.get_node(hidden_parrot_spawners[h]) - local num = node.param2 % 4 + local num = (node.param2 % 4) + 1 local parrot_name = lzr_parrot_npc.get_hidden_parrot_name(num) if not parrot_name then table.insert(errors, "bad_hidden_parrot_spawner") diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 6845449e..8a990e06 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -149,7 +149,7 @@ local analyze_level_schematic = function(filename, levels_path, level_data_entry -- Check param2 for hidden parrot spawner (must map -- to a valid hidden parrot name) - local num = schem.data[d].param2 % 4 + local num = (schem.data[d].param2 % 4) + 1 local parrot_name = lzr_parrot_npc.get_hidden_parrot_name(num) if not parrot_name then bad_hidden_parrot_spawners = bad_hidden_parrot_spawners + 1 diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 7ad3c5ca..f1e33c8f 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -28,9 +28,9 @@ local speaker_portraits = { -- Dummy portraits for hidden parrot -- TODO: use new images - bluey = "lzr_parrot_npc_goldie_portrait.png^[hsl:30:0:0", - greeny = "lzr_parrot_npc_goldie_portrait.png^[hsl:60:0:0", reddy = "lzr_parrot_npc_goldie_portrait.png^[hsl:90:0:0", + greeny = "lzr_parrot_npc_goldie_portrait.png^[hsl:60:0:0", + bluey = "lzr_parrot_npc_goldie_portrait.png^[hsl:30:0:0", magenty = "lzr_parrot_npc_goldie_portrait.png^[hsl:120:0:0", cyany = "lzr_parrot_npc_goldie_portrait.png^[hsl:150:0:0", whitey = "lzr_parrot_npc_goldie_portrait.png^[hsl:180:0:0", @@ -153,12 +153,12 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { -- TODO: Create a parrot model visual_size = { x=0.5, y=0.5, z=0.5 }, textures = { - "lzr_parrot_npc_goldie.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie.png^[hsl:30:0:0", + "lzr_parrot_npc_hidden_parrot.png", + "lzr_parrot_npc_hidden_parrot.png", + "lzr_parrot_npc_hidden_parrot.png", + "lzr_parrot_npc_hidden_parrot.png", + "lzr_parrot_npc_hidden_parrot.png", + "lzr_parrot_npc_hidden_parrot.png", }, static_save = false, physical = false, @@ -236,14 +236,15 @@ minetest.register_node("lzr_parrot_npc:hidden_parrot_spawner", { _tt_help = S("A hidden parrot will spawn here"), -- TODO: textures tiles = { - "lzr_parrot_npc_goldie_spawner_top.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie_spawner_top.png^[hsl:30:0:0^[transformR180", - "lzr_parrot_npc_goldie_spawner_side.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie_spawner_side.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie_spawner_side.png^[hsl:30:0:0", - "lzr_parrot_npc_goldie_spawner.png^[hsl:30:0:0", + "lzr_parrot_npc_hidden_parrot_spawner_top.png", + "lzr_parrot_npc_hidden_parrot_spawner_top.png", + "lzr_parrot_npc_hidden_parrot_spawner_side.png", + "lzr_parrot_npc_hidden_parrot_spawner_side.png", + "lzr_parrot_npc_hidden_parrot_spawner_side.png", + "lzr_parrot_npc_hidden_parrot_spawner.png", }, - paramtype2 = "4dir", + paramtype2 = "color4dir", + palette = "lzr_parrot_npc_hidden_parrot_spawner_palette.png", drawtype = "mesh", -- TODO mesh = "lzr_parrot_npc_cube.obj", diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb2f183350559ee916b9aeab7ee2b9d879a901e GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr`041|8&WaNux0JllS; zfraq~fAI^`JJlX3?sWNC7~pkU_ualuj#4IujU5wK1({oDyBtw9-+X)DR;F|JE-|KG z>-iaYh$G})!l?%5-`c{fA7~0yl(gpi_H=w<{(GF6?Lr#6gLR0tl344x(@H=)89ZJ6 KT-G@yGywpX@;a~p literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb2f183350559ee916b9aeab7ee2b9d879a901e GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr`041|8&WaNux0JllS; zfraq~fAI^`JJlX3?sWNC7~pkU_ualuj#4IujU5wK1({oDyBtw9-+X)DR;F|JE-|KG z>-iaYh$G})!l?%5-`c{fA7~0yl(gpi_H=w<{(GF6?Lr#6gLR0tl344x(@H=)89ZJ6 KT-G@yGywpX@;a~p literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_palette.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_palette.png new file mode 100644 index 0000000000000000000000000000000000000000..9430aca1c779ba51a5b054396a08ceac06a7c0ce GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^eNPw15RU7~6)&GW`C?>Y`19Y> yBfmSpumAu5e|#_qOb!HMM(Kp41B`4TObn|_cuhVk?EVSV%HZkh=d#Wzp$PynG$Ql> literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_side.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_side.png new file mode 100644 index 0000000000000000000000000000000000000000..33b602f739d762b20824a84d41705d24f23e67b7 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf60zF+ELp07O-}yDapV9oskpqX0 zE1YcL-=I*u&mmJz#Zb*BGexY6sUuGAPS}TpQf6Uh#)gFtxbxhTCaWFd5-W)hcy&Tw lqtQjyd_&El)>=8Tfm-zpvFQ&IcOK;OXk;vd$@?2>>}~Eo}e* literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_top.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_top.png new file mode 100644 index 0000000000000000000000000000000000000000..097b30bcce3e5c1f193ebdbbf521fe183b45fee8 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr_~%PW0w$P~dTKKRl`A ze5nOPyXwOv;cvSxEm-)c=kC@oTjwTvYsxA$O;zAjRw_7`Xxj5_LUG-bYqzrQ+c9OE zmOAVVy?tlOh2}Q>A1O)pf- Date: Mon, 9 Dec 2024 12:36:48 +0100 Subject: [PATCH 06/84] Hook now supports rotating color paramtype2s, too --- mods/lzr_hook/init.lua | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/mods/lzr_hook/init.lua b/mods/lzr_hook/init.lua index 1f949cc2..86c3c8eb 100644 --- a/mods/lzr_hook/init.lua +++ b/mods/lzr_hook/init.lua @@ -72,7 +72,7 @@ local wallmounted_cycles = { y = {4, 2, 5, 3}, z = {0, 3, 1, 2}, } --- Functions to rotate a facedir/wallmounted/degrotate/4dir value around an axis by a certain amount +-- Functions to rotate a facedir/wallmounted/degrotate/4dir/... value around an axis by a certain amount local rotate = { -- Facedir: lower 5 bits used for direction, 0 - 23 facedir = function(param2, axis, amount) @@ -105,10 +105,19 @@ local rotate = { -- 4dir: 0-3 ["4dir"] = function(param2, axis, amount) return (param2 + amount) % 4 - end + end, } -rotate.colorfacedir = rotate.facedir -rotate.colorwallmounted = rotate.wallmounted +local rotate_with_color = function(rotate_function, base_size) + return function(param2, axis, amount) + local base = math.floor(param2 / base_size) + local dir = param2 % base_size + dir = rotate_function(dir, axis, amount) + return base * base_size + dir + end +end +rotate.color4dir = rotate_with_color(rotate["4dir"], 4) +rotate.colorfacedir = rotate_with_color(rotate["facedir"], 32) +rotate.colorwallmounted = rotate_with_color(rotate["wallmounted"], 8) local function rect(angle, radius) return math.cos(2*math.pi * angle) * radius, math.sin(2*math.pi * angle) * radius @@ -274,7 +283,7 @@ function lzr_hook.use(itemstack, player, pointed_thing, is_right_click) end - -- Choose rotation function based on paramtype2 (facedir/wallmounted/degrotate/4dir) + -- Choose rotation function based on paramtype2 (facedir/wallmounted/degrotate/4dir/...) local rotate_function = rotate[def.paramtype2] if not rotate_function then return @@ -282,7 +291,7 @@ function lzr_hook.use(itemstack, player, pointed_thing, is_right_click) local action - if def.paramtype2 == "degrotate" or def.paramtype2 == "4dir" then + if def.paramtype2 == "degrotate" or def.paramtype2 == "4dir" or def.paramtype2 == "color4dir" then axis, amount = push_edge(normal, point) if axis ~= "y" and is_right_click then axis = "y" From 0e150d2af39005bad7b35b7ee28cad7ddf196962 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 18:07:08 +0100 Subject: [PATCH 07/84] Spawn hidden parrots in ship once found --- mods/lzr_globals/init.lua | 9 ++++++ mods/lzr_menu/init.lua | 61 ++++++++++++++++++++++++++++++++++++ mods/lzr_parrot_npc/init.lua | 26 +++++++++++++-- mods/lzr_parrot_npc/mod.conf | 2 +- 4 files changed, 95 insertions(+), 3 deletions(-) diff --git a/mods/lzr_globals/init.lua b/mods/lzr_globals/init.lua index 6a92c8d7..44c29b4f 100644 --- a/mods/lzr_globals/init.lua +++ b/mods/lzr_globals/init.lua @@ -62,6 +62,15 @@ lzr_globals.MENU_SHIP_CAPTAIN_CABIN_EXCLUSIONS = { { vector.new(0,9,23), vector. lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET = vector.new(7, 9.5, 29) -- Absolute player spawn position in ship, provided for convenience lzr_globals.MENU_PLAYER_SPAWN_POS = vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET) +-- Where the hidden parrots spawn when the player has found them +lzr_globals.MENU_SHIP_HIDDEN_PARROT_OFFSETS = { + reddy = vector.new(10, 5.75, 29), + greeny = vector.new(10, 5.75, 30), + bluey = vector.new(10, 5.75, 31), + magenty = vector.new(11, 5.75, 29), + cyany = vector.new(11, 5.75, 30), + whitey = vector.new(11, 5.75, 31), +} -- Where in the ship the player respawns. -- Used when player fell out of the map or got stuck (lzr_fallout) lzr_globals.MENU_SHIP_PLAYER_RESPAWN_OFFSET = vector.new(6, 1.25, 9) diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index 2498d278..04768bbb 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -11,6 +11,13 @@ lzr_menu = {} lzr_menu.SHIP_SIZE = nil +local registered_on_ship_builts = {} +-- Regiser callback function that is called when the ship has been built +-- and is ready for play. Will be called only once for the current game session. +function lzr_menu.register_on_ship_built(func) + table.insert(registered_on_ship_builts, func) +end + local place_gold_stash = function(gold_blocks) if gold_blocks <= 0 then return @@ -98,6 +105,11 @@ local emerge_callback = function(blockpos, action, calls_remaining, param) -- stands on solid ground local player = minetest.get_player_by_name("singleplayer") player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET)) + + -- Call callbacks + for f=1, #registered_on_ship_builts do + registered_on_ship_builts[f]() + end end end @@ -834,6 +846,55 @@ minetest.register_node("lzr_menu:painting_parrot_finder", { end, }) +function lzr_menu.spawn_hidden_parrot(parrot_name) + local offset = lzr_globals.MENU_SHIP_HIDDEN_PARROT_OFFSETS[parrot_name] + if not offset then + minetest.log("error", "[lzr_menu] Unknown hidden parrot ship spawn offset for parrot '"..tostring(parrot_name).."'!") + return + end + local pos = vector.add(lzr_globals.MENU_SHIP_POS, offset) + -- Check if this parrot is already spawned at this pos + local objs = minetest.get_objects_inside_radius(pos, 0.5) + for o=1, #objs do + local obj = objs[o] + local ent = obj:get_luaentity() + if ent and ent.name == "lzr_parrot_npc:hidden_parrot" and ent._hidden_id == parrot_name then + -- No spawn if parrot is already there + return + end + end + + -- Spawn parrot, then check for success + local obj = minetest.add_entity(pos, "lzr_parrot_npc:hidden_parrot") + if not obj then + minetest.log("error", "[lzr_menu] Failed to spawn in-ship hidden parrot '"..tostring(parrot_name).."'!") + return + end + local ent = obj:get_luaentity() + if not ent then + minetest.log("error", "[lzr_menu] Failed to get luaentity of in-ship hidden parrot '"..tostring(parrot_name).."'!") + return + end + + -- Assign parrot name + ent._hidden_id = parrot_name +end + +function lzr_menu.remove_hidden_parrots() + if not lzr_menu.SHIP_SIZE then + return + end + local max_pos = vector.add(lzr_globals.MENU_SHIP_POS, lzr_menu.SHIP_SIZE) + local objs = minetest.get_objects_in_area(lzr_globals.MENU_SHIP_POS, max_pos) + for o=1, #objs do + local obj = objs[o] + local ent = obj:get_luaentity() + if ent and ent.name == "lzr_parrot_npc:hidden_parrot" then + obj:remove() + end + end +end + function lzr_menu.place_painting(painting) if painting == "perfect_plunderer" then minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PAINTING_PERFECT_PLUNDERER_OFFSET), {name="lzr_menu:painting_perfect_plunderer", param2=4}) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index f1e33c8f..dd20c3cb 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -37,13 +37,22 @@ local speaker_portraits = { } local hidden_parrots = { - "bluey", "greeny", "reddy", "magenty", "cyany", "whitey", + "reddy", "greeny", "bluey", "magenty", "cyany", "whitey", } lzr_parrot_npc.get_hidden_parrot_name = function(num) return hidden_parrots[num] end +lzr_parrot_npc.was_hidden_parrot_found = function(parrot_name) + local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) + if found == SECRET_PARROT_FOUND then + return true + else + return false + end +end + local speech_found_hidden_parrot = S("You found my secret hiding spot! Can you find my friends, too?") lzr_parrot_npc.speak = function(player, message, speaker) @@ -122,12 +131,12 @@ minetest.register_entity("lzr_parrot_npc:parrot", { }) local mark_hidden_parrot_as_found = function(player, parrot_name) - local meta = player:get_meta() local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) if found == SECRET_PARROT_FOUND then return false else mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..parrot_name, SECRET_PARROT_FOUND) + lzr_menu.spawn_hidden_parrot(parrot_name) minetest.log("action", "[lzr_parrot_npc] Player found hidden parrot '"..parrot_name.."'") return true end @@ -276,6 +285,7 @@ minetest.register_chatcommand("reset_parrot_progress", { func = function(name, param) if param == "yes" then lzr_parrot_npc.clear_hidden_parrot_progress() + lzr_menu.remove_hidden_parrots() return true, S("Hidden parrot progress resetted.") else return false, S("To reset hidden parrot progress, use “/reset_parrot_progress yes”") @@ -283,4 +293,16 @@ minetest.register_chatcommand("reset_parrot_progress", { end, }) +local function spawn_menu_parrots() + for p=1, #hidden_parrots do + local parrot_name = hidden_parrots[p] + local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) + if found == SECRET_PARROT_FOUND then + lzr_menu.spawn_hidden_parrot(parrot_name) + end + end +end +lzr_menu.register_on_ship_built(function() + spawn_menu_parrots() +end) diff --git a/mods/lzr_parrot_npc/mod.conf b/mods/lzr_parrot_npc/mod.conf index b55f1f26..dabf2b4e 100644 --- a/mods/lzr_parrot_npc/mod.conf +++ b/mods/lzr_parrot_npc/mod.conf @@ -1,2 +1,2 @@ name = lzr_parrot_npc -depends = lzr_sounds, lzr_levels +depends = lzr_sounds, lzr_levels, lzr_menu From 946e6be73585698ce94459f6ec5e4790cbcdfd35 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 18:13:12 +0100 Subject: [PATCH 08/84] Place 'Parrot Finder' painting if h. parrots found --- mods/lzr_menu/init.lua | 14 +++++++++++++- mods/lzr_parrot_npc/init.lua | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index 04768bbb..8ded46a6 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -18,6 +18,13 @@ function lzr_menu.register_on_ship_built(func) table.insert(registered_on_ship_builts, func) end +local registered_on_ship_rebuilts = {} + -- Regiser callback function that is called when the ship has been built + -- OR rebuilt (after an update). +function lzr_menu.register_on_ship_rebuilt(func) + table.insert(registered_on_ship_rebuilts, func) +end + local place_gold_stash = function(gold_blocks) if gold_blocks <= 0 then return @@ -68,6 +75,11 @@ local build_ship = function() if lzr_levels.are_all_levels_completed() then lzr_menu.place_painting("perfect_plunderer") end + + -- Call 'rebuilt' callbacks + for f=1, #registered_on_ship_rebuilts do + registered_on_ship_rebuilts[f]() + end end lzr_menu.update_treasure_stash = function(gold_blocks) @@ -106,7 +118,7 @@ local emerge_callback = function(blockpos, action, calls_remaining, param) local player = minetest.get_player_by_name("singleplayer") player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET)) - -- Call callbacks + -- Call 'built' callbacks for f=1, #registered_on_ship_builts do registered_on_ship_builts[f]() end diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index dd20c3cb..6055a58d 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -53,6 +53,15 @@ lzr_parrot_npc.was_hidden_parrot_found = function(parrot_name) end end +lzr_parrot_npc.were_all_hidden_parrots_found = function() + for p=1, #hidden_parrots do + if not lzr_parrot_npc.was_hidden_parrot_found(hidden_parrots[p]) then + return false + end + end + return true +end + local speech_found_hidden_parrot = S("You found my secret hiding spot! Can you find my friends, too?") lzr_parrot_npc.speak = function(player, message, speaker) @@ -138,6 +147,9 @@ local mark_hidden_parrot_as_found = function(player, parrot_name) mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..parrot_name, SECRET_PARROT_FOUND) lzr_menu.spawn_hidden_parrot(parrot_name) minetest.log("action", "[lzr_parrot_npc] Player found hidden parrot '"..parrot_name.."'") + if lzr_parrot_npc.were_all_hidden_parrots_found() then + lzr_menu.place_painting("parrot_finder") + end return true end end @@ -286,6 +298,7 @@ minetest.register_chatcommand("reset_parrot_progress", { if param == "yes" then lzr_parrot_npc.clear_hidden_parrot_progress() lzr_menu.remove_hidden_parrots() + lzr_menu.remove_painting("parrot_finder") return true, S("Hidden parrot progress resetted.") else return false, S("To reset hidden parrot progress, use “/reset_parrot_progress yes”") @@ -306,3 +319,9 @@ end lzr_menu.register_on_ship_built(function() spawn_menu_parrots() end) + +lzr_menu.register_on_ship_rebuilt(function() + if lzr_parrot_npc.were_all_hidden_parrots_found() then + lzr_menu.place_painting("parrot_finder") + end +end) From b1ce2e5feaabeb91f81d2d3090b0f644984ce9a0 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2024 18:38:09 +0100 Subject: [PATCH 09/84] Place parrot finder painting on ship rebuilt --- mods/lzr_parrot_npc/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 6055a58d..20f86c6f 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -142,6 +142,9 @@ minetest.register_entity("lzr_parrot_npc:parrot", { local mark_hidden_parrot_as_found = function(player, parrot_name) local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) if found == SECRET_PARROT_FOUND then + if lzr_parrot_npc.were_all_hidden_parrots_found() then + lzr_menu.place_painting("parrot_finder") + end return false else mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..parrot_name, SECRET_PARROT_FOUND) From 8eb482a5c7e548927120a8777f2327b2a08979fc Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 11 Dec 2024 21:30:20 +0100 Subject: [PATCH 10/84] Remove some outdated incompleteness messages --- mods/lzr_incomplete_message/init.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/mods/lzr_incomplete_message/init.lua b/mods/lzr_incomplete_message/init.lua index 804e5c7e..78695eef 100644 --- a/mods/lzr_incomplete_message/init.lua +++ b/mods/lzr_incomplete_message/init.lua @@ -2,6 +2,4 @@ local S = minetest.get_translator("lzr_incomplete_message") minetest.register_on_joinplayer(function(player) minetest.chat_send_player(player:get_player_name(), minetest.colorize("#FF00FF", S("This game is incomplete!"))) - minetest.chat_send_player(player:get_player_name(), S("The levels are mostly a tech demo right now, so don’t expect too much.")) - minetest.chat_send_player(player:get_player_name(), S("You might want to give the level editor a try through.")) end) From 09d2f890451f4d21b32d8151765a8bd1c8d80274 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 11 Dec 2024 22:01:23 +0100 Subject: [PATCH 11/84] Remove greenscreen node --- mods/lzr_parrot_npc/init.lua | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index d5d12de4..35dbd4de 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -4,12 +4,6 @@ local NS = function(s) return s end local F = minetest.formspec_escape -minetest.register_node("lzr_parrot_npc:greenscreen", { - name = S("Greenscreen"), - tiles = { "[fill:16x16:#00FF00" }, - groups = { dig_immediate = 3 }, -}) - lzr_parrot_npc = {} local SPEAKER_NAME = NS("Goldie the Parrot") From 45ca3150ec33393dd3651ea30da6bea8bbcf5629 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 00:39:56 +0100 Subject: [PATCH 12/84] Update hidden parrot spawning --- mods/lzr_globals/init.lua | 12 +- mods/lzr_levels/init.lua | 4 + mods/lzr_parrot_npc/init.lua | 183 +++++++++++------- .../textures/lzr_parrot_npc_dimey.png | Bin 0 -> 914 bytes .../textures/lzr_parrot_npc_emmy.png | Bin 0 -> 986 bytes .../textures/lzr_parrot_npc_garnie.png | Bin 0 -> 978 bytes .../lzr_parrot_npc_goldie_spawner_side.png | Bin 121 -> 0 bytes .../textures/lzr_parrot_npc_hidden_parrot.png | Bin 161 -> 539 bytes .../lzr_parrot_npc_hidden_parrot_spawner.png | Bin 161 -> 0 bytes ..._parrot_npc_hidden_parrot_spawner_back.png | Bin 0 -> 196 bytes ...arrot_npc_hidden_parrot_spawner_bottom.png | Bin 0 -> 192 bytes ...parrot_npc_hidden_parrot_spawner_front.png | Bin 0 -> 235 bytes ..._parrot_npc_hidden_parrot_spawner_left.png | Bin 0 -> 228 bytes ...parrot_npc_hidden_parrot_spawner_right.png | Bin 0 -> 229 bytes ..._parrot_npc_hidden_parrot_spawner_side.png | Bin 138 -> 0 bytes ...r_parrot_npc_hidden_parrot_spawner_top.png | Bin 183 -> 206 bytes .../textures/lzr_parrot_npc_ruby.png | Bin 0 -> 972 bytes .../textures/lzr_parrot_npc_saphie.png | Bin 0 -> 993 bytes .../textures/lzr_parrot_npc_tuckie.png | Bin 0 -> 988 bytes 19 files changed, 125 insertions(+), 74 deletions(-) create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_dimey.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_emmy.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_garnie.png delete mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_goldie_spawner_side.png delete mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_back.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_bottom.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_front.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_left.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_right.png delete mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_side.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_ruby.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_saphie.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_tuckie.png diff --git a/mods/lzr_globals/init.lua b/mods/lzr_globals/init.lua index 91a8d87b..2a6870ac 100644 --- a/mods/lzr_globals/init.lua +++ b/mods/lzr_globals/init.lua @@ -64,12 +64,12 @@ lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET = vector.new(7, 9.5, 29) lzr_globals.MENU_PLAYER_SPAWN_POS = vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET) -- Where the hidden parrots spawn when the player has found them lzr_globals.MENU_SHIP_HIDDEN_PARROT_OFFSETS = { - reddy = vector.new(10, 5.75, 29), - greeny = vector.new(10, 5.75, 30), - bluey = vector.new(10, 5.75, 31), - magenty = vector.new(11, 5.75, 29), - cyany = vector.new(11, 5.75, 30), - whitey = vector.new(11, 5.75, 31), + ruby = vector.new(10, 5.5, 29), + emmy = vector.new(10, 5.5, 30), + saphie = vector.new(10, 5.5, 31), + garnie = vector.new(11, 5.5, 29), + tuckie = vector.new(11, 5.5, 30), + dimey = vector.new(11, 5.5, 31), } -- Where in the ship the player respawns. -- Used when player fell out of the map or got stuck (lzr_fallout) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 74248f1c..fdfcdc7e 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -554,6 +554,7 @@ local emerge_callback = function(blockpos, action, calls_remaining, param) end end end + -- Spawn hidden parrot if param.hidden_parrot_pos then local hidden_parrot_node_pos = vector.add(param.hidden_parrot_pos, param.pos) local pnode = minetest.get_node(hidden_parrot_node_pos) @@ -564,6 +565,9 @@ local emerge_callback = function(blockpos, action, calls_remaining, param) local ent = obj:get_luaentity() if ent then local p2 = pnode.param2 % 4 + local dir = minetest.fourdir_to_dir(p2) + local yaw = minetest.dir_to_yaw(dir) + obj:set_yaw(yaw) local parrot_name = lzr_parrot_npc.get_hidden_parrot_name(p2) if parrot_name then ent._hidden_id = parrot_name diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 62a8fe08..5f089f1e 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -8,8 +8,11 @@ local mod_storage = minetest.get_mod_storage() lzr_parrot_npc = {} -local SPEAKER_NAME = NS("Goldie the Parrot") -local SPEAKER_NAME_SHORT = NS("Goldie") +--~ Parrot name. The player’s main companion and hint-giver. Named after gold +local GOLDIE_NAME = NS("Goldie the Parrot") +--~ Parrot name. The player’s main companion and hint-giver. Named after gold +local GOLDIE_NAME_SHORT = NS("Goldie") + --~ @1 is a parrot name local SAYS = NS("@1 says:") @@ -35,19 +38,49 @@ end local speaker_portraits = { goldie = "lzr_parrot_npc_goldie_portrait.png", - - -- Dummy portraits for hidden parrot - -- TODO: use new images - reddy = "lzr_parrot_npc_goldie_portrait.png^[hsl:90:0:0", - greeny = "lzr_parrot_npc_goldie_portrait.png^[hsl:60:0:0", - bluey = "lzr_parrot_npc_goldie_portrait.png^[hsl:30:0:0", - magenty = "lzr_parrot_npc_goldie_portrait.png^[hsl:120:0:0", - cyany = "lzr_parrot_npc_goldie_portrait.png^[hsl:150:0:0", - whitey = "lzr_parrot_npc_goldie_portrait.png^[hsl:180:0:0", + ruby = "lzr_parrot_npc_ruby_portrait.png", + emmy = "lzr_parrot_npc_emmy_portrait.png", + saphie = "lzr_parrot_npc_saphie_portrait.png", + garnie = "lzr_parrot_npc_garnie_portrait.png", + tuckie = "lzr_parrot_npc_tucky_portrait.png", + dimey = "lzr_parrot_npc_dimey_portrait.png", } local hidden_parrots = { - "reddy", "greeny", "bluey", "magenty", "cyany", "whitey", + "ruby", + "emmy", + "saphie", + "garnie", + "tuckie", + "dimey", +} +local hidden_parrot_names = { + --~ Parrot name; named after ruby, a red gemstone + ruby = S("Ruby the Hidden Parrot"), + --~ Parrot name; named after emerald, a green gemstone + emmy = S("Emmy the Hidden Parrot"), + --~ Parrot name; named after saphire, a blue gemstone + saphie = S("Saphie the Hidden Parrot"), + --~ Parrot name; named after garnet, a magenta gemstone + garnie = S("Garnie the Hidden Parrot"), + --~ Parrot name; named after turquoise, a gemstone + tuckie = S("Tuckie the Hidden Parrot"), + --~ Parrot name; named after diamond + dimey = S("Dimey the Hidden Parrot"), +} +local hidden_parrot_names_short = { + --~ Parrot name; named after ruby, a red gemstone + ruby = S("Ruby"), + --~ Parrot name; named after emerald, a green gemstone + emmy = S("Emmy"), + --~ Parrot name; named after saphire, a blue gemstone + saphie = S("Saphie"), + --~ Parrot name; named after garnet, a magenta gemstone + garnie = S("Garnie"), + --~ Parrot name; named after turquoise, a gemstone + tuckie = S("Tuckie"), + --~ Parrot name; named after diamond + dimey = S("Dimey"), } lzr_parrot_npc.get_hidden_parrot_name = function(num) @@ -76,9 +109,15 @@ local speech_found_hidden_parrot = S("You found my secret hiding spot! Can you f lzr_parrot_npc.speak = function(player, message, speaker) local portrait = speaker_portraits[speaker] + local title + if speaker == "goldie" then + title = FS(SAYS, GOLDIE_NAME) + else + title = FS(SAYS, hidden_parrot_names[speaker]) + end local form = "formspec_version[7]size[10,5.5]".. "box[0,0;10,0.8;#0000004f]".. - "label[0.4,0.4;"..FS(SAYS, F(SPEAKER_NAME)).."]".. + "label[0.4,0.4;"..title.."]".. "box[0.5,1;2.0,3;#0000002f]".. "image[0.75,1;1.5,3;"..portrait.."]".. "box[3,1;6.5,3;#ffffff1f]".. @@ -110,7 +149,7 @@ local react = function(parrot, player) if state == lzr_gamestate.LEVEL or state == lzr_gamestate.LEVEL_COMPLETE then local speeches = lzr_levels.get_npc_texts() if speeches and speeches.goldie and speeches.goldie ~= "" then - lzr_parrot_npc.speak(player, speeches.goldie) + lzr_parrot_npc.speak(player, speeches.goldie, "goldie") spoken = true end elseif state == lzr_gamestate.MENU then @@ -121,7 +160,7 @@ local react = function(parrot, player) else text = PS("We have @1 gold block in our possession.", "We have @1 gold blocks in our possession.", treasures, treasures) end - lzr_parrot_npc.speak(player, text) + lzr_parrot_npc.speak(player, text, "goldie") spoken = true end if not spoken then @@ -140,6 +179,34 @@ local react = function(parrot, player) end end +local parrot_activate = function(self) + self.object:set_armor_groups({immortal=1}) + self._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) +end +local parrot_step = function(self, dtime) + self._animation_timer = self._animation_timer + dtime + if self._animation_timer >= self._next_animation_at then + local idle_anims = { + "flap_small", + "flap_small", + "flap_small", + "head_bounce", + "head_roll_right", + "head_roll_right", + "head_roll_right", + "head_roll_left", + "head_roll_left", + "head_roll_left", + } + local a = math.random(1, #idle_anims) + local anim = PARROT_ANIMS[idle_anims[a]] + self.object:set_animation(anim.frame_range, anim.frame_speed, 0, false) + + self._animation_timer = 0 + self._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) + end +end + -- Parrot NPC. Stands around and looks at the player. -- Can be interacted with and plays a sound. -- In levels, it may show the level’s hint, @@ -164,33 +231,8 @@ minetest.register_entity("lzr_parrot_npc:parrot", { }, _animation_timer = 0, _next_animation_at = nil, - on_activate = function(self) - self.object:set_armor_groups({immortal=1}) - self._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) - end, - on_step = function(self, dtime) - self._animation_timer = self._animation_timer + dtime - if self._animation_timer >= self._next_animation_at then - local idle_anims = { - "flap_small", - "flap_small", - "flap_small", - "head_bounce", - "head_roll_right", - "head_roll_right", - "head_roll_right", - "head_roll_left", - "head_roll_left", - "head_roll_left", - } - local a = math.random(1, #idle_anims) - local anim = PARROT_ANIMS[idle_anims[a]] - self.object:set_animation(anim.frame_range, anim.frame_speed, 0, false) - - self._animation_timer = 0 - self._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) - end - end, + on_activate = parrot_activate, + on_step = parrot_step, on_rightclick = function(self, clicker) react(self, clicker) end, @@ -219,13 +261,20 @@ end local react_hidden = function(parrot, player) if player and player:is_player() then - local hidden_parrot_identity = parrot._hidden_id or "reddy" - if mark_hidden_parrot_as_found(player, hidden_parrot_identity) then + local hidden_parrot_identity = parrot._hidden_id + if hidden_parrot_identity and mark_hidden_parrot_as_found(player, hidden_parrot_identity) then lzr_parrot_npc.speak(player, speech_found_hidden_parrot, hidden_parrot_identity) else make_call(player) end face_player(parrot, player) + -- Bounce head + if parrot._animation_timer > 0.5 then + local anim = PARROT_ANIMS.head_bounce + parrot.object:set_animation(anim.frame_range, anim.frame_speed, 0, false) + parrot._animation_timer = 0 + parrot._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) + end end end @@ -233,29 +282,24 @@ end -- When interacted with, the parrot counts as found. minetest.register_entity("lzr_parrot_npc:hidden_parrot", { initial_properties = { - visual = "cube", - -- TODO: Create a parrot model - visual_size = { x=0.5, y=0.5, z=0.5 }, + visual = "mesh", + mesh = "lzr_parrot_npc_parrot.gltf", + visual_size = { x=1, y=1, z=1 }, textures = { - "lzr_parrot_npc_hidden_parrot.png", - "lzr_parrot_npc_hidden_parrot.png", - "lzr_parrot_npc_hidden_parrot.png", - "lzr_parrot_npc_hidden_parrot.png", - "lzr_parrot_npc_hidden_parrot.png", - "lzr_parrot_npc_hidden_parrot.png", + "lzr_parrot_npc_ruby.png", }, static_save = false, physical = false, collide_with_objects = false, selectionbox = { - -0.25, -0.25, -0.25, 0.25, 0.25, 0.25, rotate = true, + -0.15, 0, -0.15, 0.15, 0.65, 0.3, rotate = true, }, + backface_culling = false, }, - -- TODO: Add random parrot animation and looking - -- (on_step, on_activate) - on_activate = function(self) - self.object:set_armor_groups({immortal=1}) - end, + _animation_timer = 0, + _next_animation_at = nil, + on_activate = parrot_activate, + on_step = parrot_step, on_rightclick = function(self, clicker) react_hidden(self, clicker) end, @@ -318,20 +362,22 @@ minetest.register_node("lzr_parrot_npc:parrot_spawner", { minetest.register_node("lzr_parrot_npc:hidden_parrot_spawner", { description = S("Hidden Parrot Spawner"), _tt_help = S("A hidden parrot will spawn here"), - -- TODO: textures tiles = { - "lzr_parrot_npc_hidden_parrot_spawner_top.png", - "lzr_parrot_npc_hidden_parrot_spawner_top.png", - "lzr_parrot_npc_hidden_parrot_spawner_side.png", - "lzr_parrot_npc_hidden_parrot_spawner_side.png", - "lzr_parrot_npc_hidden_parrot_spawner_side.png", - "lzr_parrot_npc_hidden_parrot_spawner.png", + { name = "lzr_parrot_npc_hidden_parrot_spawner_top.png", backface_culling = true }, + { name = "lzr_parrot_npc_hidden_parrot_spawner_bottom.png", backface_culling = true }, + { name = "lzr_parrot_npc_hidden_parrot_spawner_left.png", backface_culling = true }, + { name = "lzr_parrot_npc_hidden_parrot_spawner_right.png", backface_culling = true }, + { name = "lzr_parrot_npc_hidden_parrot_spawner_back.png", backface_culling = true }, + { name = "lzr_parrot_npc_hidden_parrot_spawner_front.png", backface_culling = true }, }, paramtype2 = "color4dir", - palette = "lzr_parrot_npc_hidden_parrot_spawner_palette.png", drawtype = "mesh", - -- TODO + palette = "lzr_parrot_npc_hidden_parrot_spawner_palette.png", mesh = "lzr_parrot_npc_cube.obj", + selection_box = { + type = "fixed", + fixed = { -0.4, -0.4, -0.4, 0.4, 0.4, 0.4 }, + }, visual_scale = 0.8, wield_scale = { x=0.8, y=0.8, z=0.8 }, paramtype = "light", @@ -342,6 +388,7 @@ minetest.register_node("lzr_parrot_npc:hidden_parrot_spawner", { sounds = { _rotate = "", }, + drop = "lzr_parrot_npc:hidden_parrot_spawner", }) function lzr_parrot_npc.clear_hidden_parrot_progress() diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_dimey.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_dimey.png new file mode 100644 index 0000000000000000000000000000000000000000..37272116ca5e7ff3e0599d5465789a858558fe3e GIT binary patch literal 914 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV2<>3aSW-r_4e-GyhjcqZ4aGW zCUCc8EZQK_p}YNFntuA~y^VYO?l`Q9@tbu;^ZKF>L5eLJI@~v-*SIP5y?yw@d|st| zCtLH}Baidb`s$537immpnts~V#l>v)*(bmL-p!ld+2OPN@}l)8tM=A?|M~f6%#ONb zyZQTn*W5fGyzQSx*QP(!mT9%E^DC?B{%qJAZ(kq2_Pk~}(|TXqAF|s0Y4iKaN|{tV z4=Fl{GvrGj$T54Ye?($IeA+k0T@AB!#JImD&F7q;(zz=8#QD#;pGw=8y}n=bcT#7^ zn}2_n@;!L0@Zn#g=68N?zOS1si>^;~n7|=q`B6a^c&|Ta{JOeC^I_-`@>l z|M0VCf$>c*t`Y+_38(vuE7q|WaA+qUD|k-wTQ6!-TwAtJnR9`x@s+vn!#CU$fAHDI;V#1tzX>cCauZhF zcDY^J@ZNr3XUB=xr=?37uD@oGFkrkTB{A))s*h2|di{#p%EfsOObb4so)MUFhyr{+*oFI+T=Q9Sf*+*b)78&qol`;+03-vO&;S4c literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_emmy.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_emmy.png new file mode 100644 index 0000000000000000000000000000000000000000..20ad36d5a212596464c3eac15813363dc5385945 GIT binary patch literal 986 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU|#6y;uunK>+PMrdBTnY2R>T5 z2yvy%_DE3Fn&l$cl_c3^@`JO2!#tviDRPnjL^};HN5)?HCUytE$!#YzoCHlmI4ni_ zbfqRItu))DUmo|q_GbC-|DKwUHtWl8x3)IkxApqI3=Pf?sktgjO2?nhGynPHbE0o& zhmGv?rZ}~B{$0W6>+5gw+3f$etH|Q(pAGlb-~4&o-S)};+2Zr!Kjt)_yVyJb`?jBH z*M4$6opvB|yX+6?^mA#`({`7#1TY^JN#tzU%zR+?^N;dM>?fwJvpXPUFunJxRk-14 zjs)`?Kl0(vlO8*U zR0Sp11{EpCZSPrYLcSh&zP=}}qr+qK9{bOGnGgSFI#JA$G41KCRcyIhrgrztpb^`+$p9_#N7e)UJmyW%C%s zWEihFEUj92?#Q%j_Coe*X8|QcivO0{#gL7i0*UHwiSJV4Tp-IN_O(D%X)0 z%q_Kg^Vi+~T35Tj^Ze`RSKsgZX4|ALaJ*1gd)xL;F{**b6Mw< G&;$UHNyXFv literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_garnie.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_garnie.png new file mode 100644 index 0000000000000000000000000000000000000000..e8cf97335c376277bc22af323cd763a5b3fa4736 GIT binary patch literal 978 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV4mse;uunK>+M~~Y+*-{10T05 zsj}xP9cv44St6pz;oICk?-S=Afw;Y#_o`p)eYEy^9fy6xlPkf|jv7KuA`>TQ98pnv zm1;BPV9M^vrbZQHDWKij+A_~PqrY+g(u$C(8MHREl*F57RPRTHA5 zbpN_}(>=B5x4kp3*Vlek{_yA4v)iZ6ygvNTHu3rUZEUCh+sfDOJ8*rDjO_g%mHKh} z=albr+NoM_E0?|Q_|Edp-sQVXStM3*Zs!PQm?O*Zeb4ScttS{aEnUrT!0Hl|wXRTf za}R^F>Bd=7e@gdt?tj1G#ZUR`@>+ru&+pa$!WiSjls$FT6|K;`uS=91?g<^fe7g7- z!<5DjQN~FbEH~}AGt5IDyxu;)-_>PFUBtZKZw`EjVW{k5_AF&*tWv zFFtXeJw|i7a)X@6-e$qQ4NH_8-p@LNpXY&*fAgj^2I@yuf0O(lmM!u- zX6dt8Q|8CSKfb8G?&B$c#(&-N-}WwfanJq)qd+Rxh2oMMb8@Wqy|`y{``*6J-1qZq z899?e^*k4tR{ds`WQe@?H|4)&7sImBKie#ubNw9N+c(Q7oG-TbKE&0x+x{t|!?XUK zyVf?&`e*c2@R7{?@_!nZOo9r^ju(?IayYRlu{+4IIm{~83QTCUbGY&R)5~A6@2`KK z{cF#@sdfMIUNHx-NwK`WzWwgu`A21?z8PyU^9m|-=HB>iUA?gS{e;gP0$*;{B+kD+ z{n*|7&viwN)$=m-=e?}Bw^5FP;lZlOi<6)J-(;I-^KygSKdwiWM}iqs(0V5 yeJd`WD9mN(*~=MzEOoA1{7V^Nwj&NS$oytsbiL;2S-pfuARV5relF{r5}E*C0lO9e literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_goldie_spawner_side.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_goldie_spawner_side.png deleted file mode 100644 index ae3290bb1fc203dd116467445476d764f4a1f3b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-t_QXipF7h2{O+cl?q z@h|`Y0Pxdr0001*ppD?*FCHNoGdL;#r84o?e)!#T|M;2z|1aslFvHsIL;wH)19VbO zQ~&<}*UAk+0004+NklAU)vLLBHShKE`oiuYbllx*Q#S4oH_qh8(t8Ol_0>R4M1bi7=(wK&SO8e9EPm^f zKtuy@cXgmXGf?;G0kmnrD+8l8a*X-FHgyhi(gWi;=(^4UL>gcRG^7}$8!bQ%FtGr9 z9v}fW0BknUWCNTBkPVnffEym5A=jTHq$2HuI1fpq{l$_C{BpdVlXz^2@S8j!tj z3vM!CJplaIkJOYv9Rj>l1KEQVUTY@<>MH^W@@IFumqA7v@YsDodj8A;_)X%0w}}7) zfESSfrcVILMg!HE0P4#FOb9&fbAVAc1*lE{&;UpQOfG;R`HCxx_nb`vDxe*J<~o4! zfQbcoc${-si~+eg23We?5vW3-iGM2}ffo(Hx4?iIfL8YL0IyToivv)m2lyuqFAI#9 z4v33VKeXwASt@|P2MkXiT7P_pFN94GJj|g3?$ZE_nje$^@Lzxe6rcbFC_n)UP=Epy dpa2CZz&D{}P2supTj~G+002ovPDHLkV1h9J-MIh& literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr`041|8&WaNux0JllS; zfraq~fAI^`JJlX3?sWNC7~pkU_ualuj#4IujU5wK1({oDyBtw9-+X)DR;F|JE-|KG z>-iaYh$G})!l?%5-`c{fA7~0yl(gpi_H=w<{(GF6?Lr#6gLR0tl344x(@H=)89ZJ6 KT-G@yGywpX@;a~p diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner.png deleted file mode 100644 index 7fb2f183350559ee916b9aeab7ee2b9d879a901e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr`041|8&WaNux0JllS; zfraq~fAI^`JJlX3?sWNC7~pkU_ualuj#4IujU5wK1({oDyBtw9-+X)DR;F|JE-|KG z>-iaYh$G})!l?%5-`c{fA7~0yl(gpi_H=w<{(GF6?Lr#6gLR0tl344x(@H=)89ZJ6 KT-G@yGywpX@;a~p diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_back.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_back.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3d6d68c06edf81de77af1c675da78302de6af5 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-JULvAr`0CPCm$cM1hB;Jn-HW zX5JaAUN#8b>3Q#(qT0fJ{O$3EBL*DKp{8$A*cYr4`*q|@&eCsl7$((3+dlcgrV^Pw zH*V#WLwwRwKRP&Ep0Lf7IwHZypsBj$nqPo?Jb$&x2kA7n#4Rr#`%dFYQ#;Le{m<10 v-?%K(>#`rZH^<+y>^YII%~0^&x}IUpo7#9Bqo;YyVxoi`2!FP?dogEP?b=eshCP~fzmVM7TZZ9Ll zm8i|yvc|^F%}d#8LqbDJmz1)pN^d)?()xs9rjbJB&tJi8>625Nt%11sUzWj}#+eT@ pTlIPCBA-v1n7+D$qip|YX~FOH3`z`BD}hd8@O1TaS?83{1OOkDNTdJ& literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_front.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_front.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c33348249cd661441d583c7dd683516775ba39 GIT binary patch literal 235 zcmVYz#5Zsu1n{T$V(EYq!(qe*=Sr4V>yzEKHSg8H{jP+$>rfX3j%jN_>`D4Pw cu)prPynt8TW9QnhAlEZ^y85}Sb4q9e0P@jTZ2$lO literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_right.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_right.png new file mode 100644 index 0000000000000000000000000000000000000000..49393e190979ce9b3befec077284b6cc9596938e GIT binary patch literal 229 zcmV^P)y(cxh8Pu1m<2V2SAp{s>V6D9s>k?=s=Nw{;#fX{F zE4IB6XmYKT655A+OrcdxGDXmm^hg6)$e=(0Y!v)5C{H^00000NkvXXu0mjfKm%RQ literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_side.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_side.png deleted file mode 100644 index 33b602f739d762b20824a84d41705d24f23e67b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf60zF+ELp07O-}yDapV9oskpqX0 zE1YcL-=I*u&mmJz#Zb*BGexY6sUuGAPS}TpQf6Uh#)gFtxbxhTCaWFd5-W)hcy&Tw lqtQjyd_&El)>=8Tfm-zpvFQ&IcOK;OXk;vd$@?2>>}~Eo}e* diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_top.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_hidden_parrot_spawner_top.png index 097b30bcce3e5c1f193ebdbbf521fe183b45fee8..e6d188987d5701893f3a58988f8d2fe7a9bfc8bb 100644 GIT binary patch delta 178 zcmV;j08Rh50nP!CB!87jL_t(I%cYaS4MZUb1$pMz;nha4YN>=~*b^JFvW6eI5H*g2 zB2?ArCT;+#YRv~`W^b~`7XSd&93f9M0D!gDv7|XC9F`iyU}j?G4H6AnHtCy1ghXV6 zlng}VZy6vViWed(x9RIjNP^L zwVh#0DIFq$l^_WtB5=-OHH`LOTlE*nS^ClqCaB3*4g5vKqE002ov JPDHLkV1ggfL013( diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_ruby.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_ruby.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd96b21937f7b26b426bef3cb1513ed63d0b23a GIT binary patch literal 972 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV4m#h;uunK>+K!ud|^j{10OA0 zgt(r#t85Sm)taKTDK&7%Cef^Y4zn~=*EuZmpJ>++azP<7^9R!vo1mRtO+hXzoth{3 z3g%p#(X@1f-;L+Hqu1B+-+%jG-8Hc0+|$DCn~fjGTK`S+?(F~i@JI2-Ki$SZe=IPo z`?o@2-@EyK_W!SUZ})PV5@$cVs_w#j;gWxKo0snCuiWwcbFJU=9~sY{zqPNIEZY~e zQ+30wT<(9zE?msHoMGO_VD4q;GJ`4MEpI@X%s=NR3@3|L^Bb_9NnN||bZCs4v)Nnb zn$>2ZHw&M=V_uT``608aQqkYP?6nNilMkG7^VE`7ZL12gbhsvT_}x*}T82{&IwFjV zGFWEr6I<}=_rCM;cC|+5Jo&ym#al;gm1*G+Sor9nT&Tk&L51F*|DNA{J@fdxzxSSa z-IQUxGdroEz)4@>6-RaOXepWfd}R! z?_xV2D=ZP-XJBCwsHD`&FaNjx;by+lx_QbC@oV|Jix^`488qD+q?abeYQMPlE9TD} z7lzAo5-(QSx0J;I>j6#Q%ikcP>=4qK7!ZG` zmuJ~)?h@^$6-*8+9Zo?fAI{(WJ;qdtA*h?-U5x$vj()4v@!x8;UH|LCpd-$h!6L{w zL3tzp^98%^Mz5d!g_EoQzy6;cpR=CXXsz7eYgFKO^zyqa*PGLl9~Q5@TAunhFw(`v zE!;fjVCa0NJ>vE+Hm=yQw|)Y1!aU6ba~C&1OS$_o_4~7#-@cXlRR4d&-662L$djq} z;_dS%c_%!1q5k`P0Lz87kIm0Y`V=!&{pWnb5IOI6q|mhDo_{m)8I0;%UYSQ{eR96; z9`U5&#?R*`1v?lxKX!|qb`ww%uw>X&zF3wpzx(%BobdbW+b^x( z|N0lhlt!t#-(P*de^57cYOZ5TU7*I~vXOW9#=W9DzVk`;Gt|95EB>Xfwy>ve@_Ti0 zgXb^4J$l)fF8i91fnnP#8F|h3?Jo=O{tW+V5$bU6BKrvkmPh*?SQyM5ti&Rn8S)sE z7xk*vZZpOBA o@#}idR&Cu@R1C~;L;|BX^3QUc`1Kfd@<2K~UHx3vIVCg!03D{YsQ>@~ literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_saphie.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_saphie.png new file mode 100644 index 0000000000000000000000000000000000000000..6d2a64bb30fad0d1c6fcad18308e06e28dfd3300 GIT binary patch literal 993 zcmV<710MW|P)p9SSba;vxvH z6+z-4MGzDnBti=@MKFathww1D-sR=x{v>zr`vI3+a<#qpe((4D<=%O#>xW7L6uzGo z5s~MwieB&QcW$+mh{(z1cF@P<#j{f1`yW639e952(Z+?o_lNy|!p^_CeyIGf`RMZn zzGr7^@6^w`cmM97^X1Bvz-eb3_#Fq%W|wBWbp+_BCR2nZ0L~78DeoeGA##9p>FNV4 z0Yh1=6u63MMu3iLS}hI!I^V?KcZhoa`MIk~MC8ZMuk-<2Oae+nd)&xfUG5k z^@Dx-0F;3kDFVdN2(tYy;Pw+0`2L%-$08!KxmFzb-GSkI0c1G>Y_1il0@92C<5=&{ zeLFh!+Mg@4Tq&0$fF2avyDfSFaYq2#HPg0EkITCc?U6n=Odr7IN+35?08t>NK0wma z&f@6<5K_QCfX~>cX;!h|~}E=>z1w4}dX7 zfVdLFu)c(j47T?dnC=Lo3IGuxmXVZFa`@@<30I8>fU!jYz19yq29@a7gd}_J7BJW4bl+xfUx0 zxpt|$h5XB}Hdk=cmjM684|^>xy7v!q01UGP=ruZQO*S2mx;M|Zw{K$G`)6N3jJPY8 zB+weY{hSPdG-p5Ae}*D}={|njoWV9Hp!c6b4v^)wpIgFmj@h5^03h?vw!~+LsZU^f z-v2PiqvRCy0a6qcEuuycA`m$MvM>OWoT)^C2z`LC=kn?LUGLZT>v>+^M1TKoTH`4L z4TART+wS2{V}^$P49Y-51c+lBc6DJnbnhK99sz=$%@_8(z9eS9&F9GlM(6{W_Trh2 zXB~Y20D!A@w)T|&pY3te`6u}}RY1fWbNtu+K!;4Bb$GgvX$eEU1Swa!bOmU09gbiKs) zvze=~lJAqs&U;Vqp8o6k?%sE1*;%_|{@>Ys|M%azo#ppF9o;vH;qN77K|#xvHs9Lf z^S}5_?eM7lVEH2V)4y}w6aU^Xz0V>SUmbT>@}~Wp@0`~EfI2?yf3~<^e8>5B_pVKy z|NYn1TRR?$o-%E`yw3WAdEeeyvAb@qRc?4yveRV-(}On*AM(O~@=s(=@eY?y;Oa;z zeK%qAj8v9@x$CZ8d9ePo@1NTC9mn^V|6eC0`19Xe_F4w<$p@nLYHhXJ>60X=kl*?6 z<3-6@hEoncB8-zVSZ>ydeQ?QTd$<3ld`HI#uhir>>FjOiStmT_*bsDc0oMs5CZFVe z`%8a*IF)Um9d8+|=gwfO!B^#5#pvnIaNF|oHb4JUw-2Vs9@3~~n6BM;D1_0avF8^< z=4q?$<@^B(E{xUl-r83Dns;DJQA=}NaA(Jw>E4aE?W)3`wx`33xqOsFnFHOvb^)}^OX(9`O>FyG+a??nD=^d z+(*y!uZ8{3tM2-_c{;Xcg}04CBa{SD4 z`*)k2-?lwJ>GtpRScj$^+S64oNbUXG#M7X&zHZZh8CQnOwSTr*Hs|^|yti+bQ8-_0 zzr96NCcOR>bHf??`$7Ayd}^64fBv^Pr+;$r1@;pG0b4qx9XlMJFq}Bd;PKf@mFvh0 z<`&!O{@34E?cI0(!slOUzdn~=mhqR&5ZDrTzl^tDEIi}J`2{>CE)6Qv67}`Ywy)dk zd`{Wn!sefc=3SqD>}vk!x}rwTUkuB(RxEp4=`PQ}@L<*5y}D2TZ@Qaj^-m{%IhTgT zF9ypFhd<&S3<(TA?JpxwCNKyv9$;_?oO$ipOs6F;|4zR4lKWLmXNSox-Dep}40EIy zfZW Date: Thu, 12 Dec 2024 02:29:21 +0100 Subject: [PATCH 13/84] Add new parrot portraits --- mods/lzr_parrot_npc/init.lua | 2 +- .../lzr_parrot_npc_dimey_portrait.png | Bin 0 -> 10304 bytes .../textures/lzr_parrot_npc_emmy_portrait.png | Bin 0 -> 12272 bytes .../lzr_parrot_npc_garnie_portrait.png | Bin 0 -> 12392 bytes .../lzr_parrot_npc_goldie_portrait.png | Bin 11567 -> 12104 bytes .../textures/lzr_parrot_npc_ruby_portrait.png | Bin 0 -> 11877 bytes .../lzr_parrot_npc_saphie_portrait.png | Bin 0 -> 12072 bytes .../lzr_parrot_npc_tuckie_portrait.png | Bin 0 -> 12507 bytes 8 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_dimey_portrait.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_emmy_portrait.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_garnie_portrait.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_ruby_portrait.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_saphie_portrait.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_tuckie_portrait.png diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 5f089f1e..594e59f3 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -42,7 +42,7 @@ local speaker_portraits = { emmy = "lzr_parrot_npc_emmy_portrait.png", saphie = "lzr_parrot_npc_saphie_portrait.png", garnie = "lzr_parrot_npc_garnie_portrait.png", - tuckie = "lzr_parrot_npc_tucky_portrait.png", + tuckie = "lzr_parrot_npc_tuckie_portrait.png", dimey = "lzr_parrot_npc_dimey_portrait.png", } diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_dimey_portrait.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_dimey_portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..907919963fa5aa3cf7d22e9a525c104058f6c443 GIT binary patch literal 10304 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 literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_emmy_portrait.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_emmy_portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..35c5656e496579c2a42c7929b9d9c2250f2d769f GIT binary patch literal 12272 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 Dcz|y= literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_garnie_portrait.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_garnie_portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..b4db74e39405a7eca7a3824ce64a6d8a2169c545 GIT binary patch literal 12392 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 literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_goldie_portrait.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_goldie_portrait.png index ed66bf6a6320b4ded937741ee2540c02913df4e3..88d68027130278d01fe678016e6f2588dca7b55e 100644 GIT binary patch literal 12104 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 GCh>n5v3NGq{RD^k)Of|LkIhroh-=oX|?=@98y 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 LYb#YMScd)|*!QWz diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_ruby_portrait.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_ruby_portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..1da9139bb87adc1dfb86da81ef3aa14a0b910f36 GIT binary patch literal 11877 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 literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_tuckie_portrait.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_tuckie_portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..ca13ce9f1fba39e609de6a4721ff6bc65114ec88 GIT binary patch literal 12507 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

LA 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 Date: Thu, 12 Dec 2024 03:15:11 +0100 Subject: [PATCH 14/84] Initialize hidden parrots properly --- mods/lzr_levels/init.lua | 2 +- mods/lzr_menu/init.lua | 2 +- mods/lzr_parrot_npc/init.lua | 10 ++++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index fdfcdc7e..b76f9761 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -570,7 +570,7 @@ local emerge_callback = function(blockpos, action, calls_remaining, param) obj:set_yaw(yaw) local parrot_name = lzr_parrot_npc.get_hidden_parrot_name(p2) if parrot_name then - ent._hidden_id = parrot_name + ent:_init(parrot_name) else minetest.log("error", "[lzr_levels] Could not set _hidden_id for hidden parrot!") end diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index d93629b7..de84ad24 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -894,7 +894,7 @@ function lzr_menu.spawn_hidden_parrot(parrot_name) end -- Assign parrot name - ent._hidden_id = parrot_name + ent:_init(parrot_name) end function lzr_menu.remove_hidden_parrots() diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 594e59f3..c9546d45 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -298,6 +298,16 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { }, _animation_timer = 0, _next_animation_at = nil, + -- Hidden parrot ID + _hidden_id = nil, + -- Initialize hidden parrot with the given ID (parrot identifier). + -- MUST be called right after spawning entity. + _init = function(self, hidden_id) + self._hidden_id = hidden_id + self.object:set_properties({ + textures = { "lzr_parrot_npc_"..hidden_id..".png" }, + }) + end, on_activate = parrot_activate, on_step = parrot_step, on_rightclick = function(self, clicker) From 685cf694d6558726f9971aece3fd2174b36b8e82 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 12:07:01 +0100 Subject: [PATCH 15/84] New 'parrot finder' painting --- .../lzr_menu_painting_parrot_finder.png | Bin 495 -> 681 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/lzr_menu/textures/lzr_menu_painting_parrot_finder.png b/mods/lzr_menu/textures/lzr_menu_painting_parrot_finder.png index 1537dcd95bd2c68657ce78a4e3013a344df04501..919093622a60e72eb3f21dca5b5b98a0e33ae4ec 100644 GIT binary patch delta 658 zcmV;D0&V^81E~d&BYy&LNklO9%^=>G;g&PM>| z)6^!S_&(k#`8 zq(_OhdwKEbEk{2p062A*K2af=h_f`CVPp50Kvq@Bs()&yYEmauI7EsMVEwG%Wfpn% z<}ocL#?!f1yk9>+9E?#YpR&2L&B9a)(f^)gB2FQhr{E3KEK~``hN$KZzVuIWZnqHx z0m)QQ${xu?oQ2F7g?x!XM3Ts=Duz|Xk`1m2Hg4q%p=Bck0@TG(47+39U1I>T;nA=i z_K!5`u76A5K(_(tQ(^#|crpkAcFBcyn?N{B&v2Z{m(NkhCoZ{Bv|5NWYU09!o)0J7 z=j4h!J{FMcN;ae>fEr>&uTivGj7MeY+BK#qL?j7-1KsZAy5y`XSyct-?D=yV|7Vzl s)#bF;r^GO<>ZP{;Fsv$m?r-tm9$q5mlJ=1j01E&B07*qoM6N<$g0rGA%K!iX delta 470 zcmV;{0V)2e1@8lpBYy$5Nkl1gh6otRFW|fSWNKWDvmIj0@fg@5_1O)}k zP=v}7C6AEaFTks$rE=?rf(D^9-~uavk_fcQue}T2*|D`zmLi^2`2!PQs(z|to=S{PbU+}Nk*?->5gwZip#rv;6c>d@i zy(pyUx^#kojoJ!E$0TXWx6@O$*4Oy?E8%l+27uFS)Uvu#bdMtD%2&SGdr z%*#2dB}pd;5Vit<^P~WPM9!2gkz~7<0BqD&5H{K3#Y;C|w_E8{ZfHg%o&X(Fu$>LU z^BalR(Qc(VAAiLIJ{=wdAU=HA13)d7r>dCb+O3p|UuISLy#3fk)Rn?cz`lK!0*m9b za|XK4vj=x6Bxy<~2&nkwzn*`^FSE7220)?cy400op!+kMImr#pi2d&YNt)uke)Tk~ zmLvy}$;bF7WV@H#_5>&T0v9VeFZ) Date: Thu, 12 Dec 2024 14:06:00 +0100 Subject: [PATCH 16/84] Respawn hidden ship parrots on ship build+enter --- mods/lzr_fallout/init.lua | 3 +-- mods/lzr_levels/init.lua | 9 +++---- mods/lzr_menu/init.lua | 47 ++++++++++++++++++++++++++++++------ mods/lzr_parrot_npc/init.lua | 5 ++++ 4 files changed, 49 insertions(+), 15 deletions(-) diff --git a/mods/lzr_fallout/init.lua b/mods/lzr_fallout/init.lua index f568bc54..6fb3fef0 100644 --- a/mods/lzr_fallout/init.lua +++ b/mods/lzr_fallout/init.lua @@ -55,8 +55,7 @@ local reset_player = function(player, reset_type) lzr_levels.leave_level(true, false) elseif reset_type == "out_of_bounds_ship" then -- Intentionally no message - local spawn = vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_RESPAWN_OFFSET) - player:set_pos(spawn) + lzr_menu.teleport_player_to_ship(player, "skulls") elseif reset_type == "out_of_bounds" then --~ Message when you move out of the level boundaries. You may be creative in the translation lzr_messages.show_message(player, S("Where yer thinks yar goin’, landlubber?"), 6.0, 0xFF0000) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index b76f9761..9868abab 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1258,8 +1258,7 @@ function lzr_levels.game_completed() lzr_ambience.reduce_ambience(SOUND_TIME_LEVEL_SET_COMPLETE) minetest.sound_play({name = "lzr_levels_level_set_complete", gain = 1.0}, nil, true) lzr_levels.leave_level(nil, false) - player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_WINSPAWN_OFFSET)) - player:set_look_horizontal(math.pi) + lzr_menu.teleport_player_to_ship(player, "victory") core_levels_completed = true minetest.log("action", "[lzr_levels] Game completed!") return true @@ -1301,13 +1300,11 @@ function lzr_levels.go_to_menu(fallout) -- Select respawn position if fallout then -- Respawn pos when fallout was triggered (i.e. fell out of level or crushed) - player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_RESPAWN_OFFSET)) + lzr_menu.teleport_player_to_ship(player, "skulls") else -- Normal player spawn pos in ship - player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET)) + lzr_menu.teleport_player_to_ship(player, "captain") end - player:set_look_horizontal(0) - player:set_look_vertical(0) lzr_gamestate.set_state(lzr_gamestate.MENU) end diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index de84ad24..727c1cfd 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -12,19 +12,25 @@ lzr_menu = {} lzr_menu.SHIP_SIZE = nil local registered_on_ship_builts = {} --- Regiser callback function that is called when the ship has been built +-- Register callback function that is called when the ship has been built -- and is ready for play. Will be called only once for the current game session. function lzr_menu.register_on_ship_built(func) table.insert(registered_on_ship_builts, func) end local registered_on_ship_rebuilts = {} - -- Regiser callback function that is called when the ship has been built - -- OR rebuilt (after an update). +-- Register callback function that is called when the ship has been built +-- OR rebuilt (after an update). function lzr_menu.register_on_ship_rebuilt(func) table.insert(registered_on_ship_rebuilts, func) end +local registered_on_player_ship_enters = {} +-- Register callback function that is called when the player enters the ship. +function lzr_menu.register_on_player_ship_enter(func) + table.insert(registered_on_player_ship_enters, func) +end + local place_gold_stash = function(gold_blocks) if gold_blocks <= 0 then return @@ -116,7 +122,12 @@ local emerge_callback = function(blockpos, action, calls_remaining, param) -- setting the player pos should guarantee the player -- stands on solid ground local player = minetest.get_player_by_name("singleplayer") - player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET)) + lzr_menu.teleport_player_to_ship(player, "captain") + + -- Call 'built' callbacks + for f=1, #registered_on_ship_builts do + registered_on_ship_builts[f]() + end -- Call 'built' callbacks for f=1, #registered_on_ship_builts do @@ -141,10 +152,10 @@ end minetest.register_on_joinplayer(function(player) emerge_ship(lzr_globals.MENU_SHIP_POS) - -- NOTE: This set_pos happens BEFORE the ship was actually built, so the - -- player may fall for a moment. This set_pos is thus not reliable + -- NOTE: This teleport happens BEFORE the ship was actually built, so the + -- player may fall for a moment. This is thus not reliable -- and is only made in prepatation for the future ship spawn. - player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET)) + lzr_menu.teleport_player_to_ship(player, "captain") player:set_look_horizontal(0) player:set_look_vertical(0) local inv = player:get_inventory() @@ -897,6 +908,28 @@ function lzr_menu.spawn_hidden_parrot(parrot_name) ent:_init(parrot_name) end +function lzr_menu.teleport_player_to_ship(player, location) + if location == "captain" then + player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_SPAWN_OFFSET)) + player:set_look_horizontal(0) + player:set_look_vertical(0) + elseif location == "skulls" then + player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_RESPAWN_OFFSET)) + player:set_look_horizontal(0) + player:set_look_vertical(0) + elseif location == "victory" then + player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_WINSPAWN_OFFSET)) + player:set_look_horizontal(math.pi) + player:set_look_vertical(0) + else + minetest.log("error", "[lzr_menu] Tried to teleport player to invalid ship location: "..tostring(location)) + return + end + for f=1, #registered_on_player_ship_enters do + registered_on_player_ship_enters[f](player, location) + end +end + function lzr_menu.remove_hidden_parrots() if not lzr_menu.SHIP_SIZE then return diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index c9546d45..fc22da84 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -441,7 +441,12 @@ lzr_menu.register_on_ship_built(function() end) lzr_menu.register_on_ship_rebuilt(function() + spawn_menu_parrots() if lzr_parrot_npc.were_all_hidden_parrots_found() then lzr_menu.place_painting("parrot_finder") end end) + +lzr_menu.register_on_player_ship_enter(function() + spawn_menu_parrots() +end) From beae13670c83d23ff64f5139d0afbb2a51b8f900 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 16:08:45 +0100 Subject: [PATCH 17/84] Improve hidden parrot find messages --- mods/lzr_parrot_npc/init.lua | 45 ++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index fc22da84..e45ddfe0 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -46,6 +46,8 @@ local speaker_portraits = { dimey = "lzr_parrot_npc_dimey_portrait.png", } +-- List of hidden parrots. These parrots, together with Goldie, +-- replicate the 7 laser colors. local hidden_parrots = { "ruby", "emmy", @@ -105,7 +107,15 @@ lzr_parrot_npc.were_all_hidden_parrots_found = function() return true end -local speech_found_hidden_parrot = S("You found my secret hiding spot! Can you find my friends, too?") +lzr_parrot_npc.count_found_hidden_parrots = function() + local found = 0 + for p=1, #hidden_parrots do + if lzr_parrot_npc.was_hidden_parrot_found(hidden_parrots[p]) then + found = found + 1 + end + end + return found +end lzr_parrot_npc.speak = function(player, message, speaker) local portrait = speaker_portraits[speaker] @@ -263,7 +273,36 @@ local react_hidden = function(parrot, player) if player and player:is_player() then local hidden_parrot_identity = parrot._hidden_id if hidden_parrot_identity and mark_hidden_parrot_as_found(player, hidden_parrot_identity) then - lzr_parrot_npc.speak(player, speech_found_hidden_parrot, hidden_parrot_identity) + local found = lzr_parrot_npc.count_found_hidden_parrots() + local text + + -- First found parrot + if found == 1 then + local friends = {} + for h=1, #hidden_parrots do + if hidden_parrots[h] ~= hidden_parrot_identity then + table.insert(friends, hidden_parrot_names_short[hidden_parrots[h]]) + end + end + local f1, f2, f3, f4, f5 = friends[1], friends[2], friends[3], friends[4], friends[5] + text = S("Hey, you found my secret hideout! Now it’s useless, such a shame …").."\n".. + S("I’ve got an idea. Let me come with you, okay?").."\n\n".. + S("I have five friends scattered around the world, I want to meet them again. Their names are @1, @2, @3, @4 and @5.", f1, f2, f3, f4, f5) + -- Last found parrot + elseif found == #hidden_parrots then + text = S("Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole family is re-united!").."\n" + if hidden_parrot_identity == "tuckie" then + text = text .. S("I’ve got a beautiful portrait of myself. You can have it. How nice is that?") + else + text = text .. S("I’ve found a beautiful portrait of our friend Tuckie. You can have it. How nice is that?") + end + else + local remaining = #hidden_parrots - found + text = S("You found my secret hiding spot!").."\n".. + PS("Only @1 parrot is still in hiding.", "There are still @1 hidden parrots left to go.", remaining, remaining) + end + + lzr_parrot_npc.speak(player, text, hidden_parrot_identity) else make_call(player) end @@ -450,3 +489,5 @@ end) lzr_menu.register_on_player_ship_enter(function() spawn_menu_parrots() end) + + From 01dc61b1cb4d22dffb140ea96be230b8fb674eb7 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 16:26:33 +0100 Subject: [PATCH 18/84] Merge reset progress commands into one --- mods/lzr_levels/init.lua | 14 -------------- mods/lzr_parrot_npc/init.lua | 16 ---------------- mods/lzr_reset/init.lua | 25 +++++++++++++++++++++++++ mods/lzr_reset/mod.conf | 3 +++ 4 files changed, 28 insertions(+), 30 deletions(-) create mode 100644 mods/lzr_reset/init.lua create mode 100644 mods/lzr_reset/mod.conf diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 9868abab..71e6eb45 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1722,20 +1722,6 @@ minetest.register_chatcommand("leave", { end, }) -minetest.register_chatcommand("reset_progress", { - privs = {}, - params = "yes", - description = S("Reset level progress"), - func = function(name, param) - if param == "yes" then - lzr_levels.clear_level_progress() - return true, S("Level progress resetted.") - else - return false, S("To reset level progress, use “/reset_progress yes”") - end - end, -}) - if minetest.settings:get_bool("lzr_debug", false) then -- Debug command to make it easier to test the event when the player -- completed all levels. diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index e45ddfe0..ca393774 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -449,22 +449,6 @@ function lzr_parrot_npc.clear_hidden_parrot_progress() minetest.log("action", "[lzr_parrot_npc] Hidden parrot progress was cleared") end -minetest.register_chatcommand("reset_parrot_progress", { - privs = {}, - params = "yes", - description = S("Reset hidden parrot progress"), - func = function(name, param) - if param == "yes" then - lzr_parrot_npc.clear_hidden_parrot_progress() - lzr_menu.remove_hidden_parrots() - lzr_menu.remove_painting("parrot_finder") - return true, S("Hidden parrot progress resetted.") - else - return false, S("To reset hidden parrot progress, use “/reset_parrot_progress yes”") - end - end, -}) - local function spawn_menu_parrots() for p=1, #hidden_parrots do local parrot_name = hidden_parrots[p] diff --git a/mods/lzr_reset/init.lua b/mods/lzr_reset/init.lua new file mode 100644 index 00000000..ba84d42f --- /dev/null +++ b/mods/lzr_reset/init.lua @@ -0,0 +1,25 @@ +local S = minetest.get_translator("lzr_reset") + +minetest.register_chatcommand("reset_progress", { + privs = {}, + params = "yes", + description = S("Reset your progress in this game"), + func = function(name, param) + if param == "yes" then + -- Reset level progress + lzr_levels.clear_level_progress() + + -- Reset hidden parrot progress + lzr_parrot_npc.clear_hidden_parrot_progress() + lzr_menu.remove_hidden_parrots() + lzr_menu.remove_painting("parrot_finder") + + -- Message + return true, S("Game progress reset.") + else + return false, S("To reset the game progress, use “/reset_progress yes”") + end + end, +}) + + diff --git a/mods/lzr_reset/mod.conf b/mods/lzr_reset/mod.conf new file mode 100644 index 00000000..22452c82 --- /dev/null +++ b/mods/lzr_reset/mod.conf @@ -0,0 +1,3 @@ +name = lzr_reset +description = Adds a command to reset the game progress +depends = lzr_levels, lzr_parrot_npc, lzr_menu From d900755c7793ebf7fa8846c04c078dbc655b1cae Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 18:29:34 +0100 Subject: [PATCH 19/84] Hidden parrot flies home when found --- mods/lzr_parrot_npc/init.lua | 100 ++++++++++++++++++++++++++++++----- mods/lzr_parrot_npc/mod.conf | 2 +- 2 files changed, 89 insertions(+), 13 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index ca393774..96503061 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -16,16 +16,25 @@ local GOLDIE_NAME_SHORT = NS("Goldie") --~ @1 is a parrot name local SAYS = NS("@1 says:") -local SECRET_PARROT_NOT_FOUND = 0 -local SECRET_PARROT_FOUND = 1 +local HIDDEN_PARROT_NOT_FOUND = 0 +local HIDDEN_PARROT_FOUND = 1 + +local HIDDEN_PARROT_FLY_HEIGHT = 20 +local HIDDEN_PARROT_FLY_SPEED = 3 +local HIDDEN_PARROT_FLY_DESPAWN_DISTANCE = 200 +local HIDDEN_PARROT_FLY_DELAY = 2.0 -- Mininum and maximum delay in second between idle parrot animations local PARROT_ANIMATION_DELAY_MIN = 2.0 local PARROT_ANIMATION_DELAY_MAX = 8.0 +-- Holds name and object of hidden parrot speaker who last spawned a speak dialog +local last_hidden_speaker = nil +local last_hidden_speaker_object = nil + local PARROT_ANIMS = { flap_small = { frame_range = { x=0, y=2 }, frame_speed = 6 }, - flap_big = { frame_range = { x=2, y=4 }, frame_speed = 40 }, + flap_big = { frame_range = { x=2, y=4 }, frame_speed = 14 }, head_bounce = { frame_range = { x=4, y=6 }, frame_speed = 10 }, head_roll_right = { frame_range = { x=6, y=8 }, frame_speed = 2 }, head_roll_left = { frame_range = { x=8, y=10 }, frame_speed = 2 }, @@ -91,7 +100,7 @@ end lzr_parrot_npc.was_hidden_parrot_found = function(parrot_name) local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) - if found == SECRET_PARROT_FOUND then + if found == HIDDEN_PARROT_FOUND then return true else return false @@ -193,7 +202,7 @@ local parrot_activate = function(self) self.object:set_armor_groups({immortal=1}) self._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) end -local parrot_step = function(self, dtime) +local parrot_step_idle = function(self, dtime) self._animation_timer = self._animation_timer + dtime if self._animation_timer >= self._next_animation_at then local idle_anims = { @@ -242,7 +251,7 @@ minetest.register_entity("lzr_parrot_npc:parrot", { _animation_timer = 0, _next_animation_at = nil, on_activate = parrot_activate, - on_step = parrot_step, + on_step = parrot_step_idle, on_rightclick = function(self, clicker) react(self, clicker) end, @@ -253,13 +262,13 @@ minetest.register_entity("lzr_parrot_npc:parrot", { local mark_hidden_parrot_as_found = function(player, parrot_name) local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) - if found == SECRET_PARROT_FOUND then + if found == HIDDEN_PARROT_FOUND then if lzr_parrot_npc.were_all_hidden_parrots_found() then lzr_menu.place_painting("parrot_finder") end return false else - mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..parrot_name, SECRET_PARROT_FOUND) + mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..parrot_name, HIDDEN_PARROT_FOUND) lzr_menu.spawn_hidden_parrot(parrot_name) minetest.log("action", "[lzr_parrot_npc] Player found hidden parrot '"..parrot_name.."'") if lzr_parrot_npc.were_all_hidden_parrots_found() then @@ -302,7 +311,11 @@ local react_hidden = function(parrot, player) PS("Only @1 parrot is still in hiding.", "There are still @1 hidden parrots left to go.", remaining, remaining) end + last_hidden_speaker = hidden_parrot_identity + last_hidden_speaker_object = parrot lzr_parrot_npc.speak(player, text, hidden_parrot_identity) + face_player(parrot, player) + return else make_call(player) end @@ -317,6 +330,67 @@ local react_hidden = function(parrot, player) end end +local hidden_parrot_fly_home = function(parrot) + if parrot._flying_home_phase < 1 then + parrot._flying_home_phase = 1 + parrot._fly_timer = 0 + minetest.log("action", "[lzr_parrot_npc] Hidden parrot will fly home soon: "..tostring(last_hidden_speaker)) + end +end + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname == "lzr_parrot_npc:speech" and fields.quit and last_hidden_speaker then + local parrot = last_hidden_speaker_object + hidden_parrot_fly_home(parrot) + end +end) + +local parrot_step_hidden = function(self, dtime) + if self._flying_home_phase ~= 0 then + -- Phase 1: Wait for a short time before lifting off + if self._flying_home_phase == 1 then + self._fly_timer = self._fly_timer + dtime + if self._fly_timer > HIDDEN_PARROT_FLY_DELAY then + self._flying_home_phase = 2 + self._fly_start_pos = self.object:get_pos() + self.object:set_velocity({x=0,y=3,z=0}) + local anim = PARROT_ANIMS.flap_big + self.object:set_animation(anim.frame_range, anim.frame_speed, 0, true) + minetest.log("action", "[lzr_parrot_npc] Hidden parrot lifts off: "..tostring(self._hidden_id)) + end + -- Phase 2: Liftoff! Fly upwards until we reach a certain height + elseif self._flying_home_phase == 2 then + local pos = self.object:get_pos() + local fly_height = pos.y - self._fly_start_pos.y + if fly_height >= HIDDEN_PARROT_FLY_HEIGHT then + self.object:set_velocity(vector.zero()) + self._flying_home_phase = 3 + local hpos = table.copy(pos) + hpos.y = 0 + local spos = table.copy(lzr_globals.MENU_SHIP_POS) + spos.y = 0 + local dir = vector.direction(hpos, spos) + local vel = vector.multiply(dir, HIDDEN_PARROT_FLY_SPEED) + self.object:set_velocity(vel) + local yaw = minetest.dir_to_yaw(dir) + self.object:set_yaw(yaw) + minetest.log("action", "[lzr_parrot_npc] Hidden parrot flies home: "..tostring(self._hidden_id)) + return + end + -- Phase 3: Fly horizontally towards the main ship (rough direction) + elseif self._flying_home_phase == 3 then + local pos = self.object:get_pos() + if vector.distance(pos, self._fly_start_pos) > HIDDEN_PARROT_FLY_DESPAWN_DISTANCE then + minetest.log("action", "[lzr_parrot_npc] Hidden parrot has flown enough and despawns: "..tostring(self._hidden_id)) + self.object:remove() + return + end + end + else + parrot_step_idle(self, dtime) + end +end + -- Hidden Parrot NPC. One of the game's hidden parrots. -- When interacted with, the parrot counts as found. minetest.register_entity("lzr_parrot_npc:hidden_parrot", { @@ -337,6 +411,9 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { }, _animation_timer = 0, _next_animation_at = nil, + _fly_start_pos = nil, + _fly_timer = 0, + _flying_home_phase = 0, -- Hidden parrot ID _hidden_id = nil, -- Initialize hidden parrot with the given ID (parrot identifier). @@ -348,7 +425,7 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { }) end, on_activate = parrot_activate, - on_step = parrot_step, + on_step = parrot_step_hidden, on_rightclick = function(self, clicker) react_hidden(self, clicker) end, @@ -442,7 +519,7 @@ minetest.register_node("lzr_parrot_npc:hidden_parrot_spawner", { function lzr_parrot_npc.clear_hidden_parrot_progress() for h=1, #hidden_parrots do - mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..hidden_parrots[h], SECRET_PARROT_NOT_FOUND) + mod_storage:set_int("lzr_parrot_npc:hidden_parrot_"..hidden_parrots[h], HIDDEN_PARROT_NOT_FOUND) end lzr_menu.remove_painting("parrot_finder") @@ -453,7 +530,7 @@ local function spawn_menu_parrots() for p=1, #hidden_parrots do local parrot_name = hidden_parrots[p] local found = mod_storage:get_int("lzr_parrot_npc:hidden_parrot_"..parrot_name) - if found == SECRET_PARROT_FOUND then + if found == HIDDEN_PARROT_FOUND then lzr_menu.spawn_hidden_parrot(parrot_name) end end @@ -474,4 +551,3 @@ lzr_menu.register_on_player_ship_enter(function() spawn_menu_parrots() end) - diff --git a/mods/lzr_parrot_npc/mod.conf b/mods/lzr_parrot_npc/mod.conf index dabf2b4e..d75f224e 100644 --- a/mods/lzr_parrot_npc/mod.conf +++ b/mods/lzr_parrot_npc/mod.conf @@ -1,2 +1,2 @@ name = lzr_parrot_npc -depends = lzr_sounds, lzr_levels, lzr_menu +depends = lzr_sounds, lzr_levels, lzr_menu, lzr_globals From a758752d8f8d22f0bad9273d2af556deaa194074 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 18:34:29 +0100 Subject: [PATCH 20/84] Don't reset anim if interacting w/ hparrot on fly --- mods/lzr_parrot_npc/init.lua | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 96503061..088af367 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -319,13 +319,15 @@ local react_hidden = function(parrot, player) else make_call(player) end - face_player(parrot, player) - -- Bounce head - if parrot._animation_timer > 0.5 then - local anim = PARROT_ANIMS.head_bounce - parrot.object:set_animation(anim.frame_range, anim.frame_speed, 0, false) - parrot._animation_timer = 0 - parrot._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) + if parrot._flying_home_phase == 0 then + face_player(parrot, player) + -- Bounce head + if parrot._animation_timer > 0.5 then + local anim = PARROT_ANIMS.head_bounce + parrot.object:set_animation(anim.frame_range, anim.frame_speed, 0, false) + parrot._animation_timer = 0 + parrot._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) + end end end end From 1434018c77983e06a400013ae0e4aa8004a4d471 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 23:36:06 +0100 Subject: [PATCH 21/84] Update parrot texture definition --- mods/lzr_parrot_npc/init.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 35dbd4de..27682b2b 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -100,6 +100,15 @@ minetest.register_entity("lzr_parrot_npc:parrot", { visual_size = { x=1, y=1, z=1 }, textures = { "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", + "lzr_parrot_npc_goldie.png", }, backface_culling = false, static_save = false, From 060543625ddd2b4b8ca65528a23e1f250c75bf74 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 23:46:47 +0100 Subject: [PATCH 22/84] Don't crash if level schematic is missing --- mods/lzr_editor/init.lua | 17 ++--------------- mods/lzr_editor/mod.conf | 2 +- mods/lzr_level_select/init.lua | 6 +++++- mods/lzr_levels/init.lua | 7 ++++++- mods/lzr_levels/mod.conf | 2 +- mods/lzr_util/init.lua | 13 +++++++++++++ 6 files changed, 28 insertions(+), 19 deletions(-) diff --git a/mods/lzr_editor/init.lua b/mods/lzr_editor/init.lua index 0cb83c97..8473db47 100644 --- a/mods/lzr_editor/init.lua +++ b/mods/lzr_editor/init.lua @@ -348,19 +348,6 @@ minetest.register_chatcommand("editor_save", { end, }) --- Returns true if the given file exists, false otherwise. --- * path: Path to file (without file name) --- * filename: File name of file (without path) -local file_exists = function(path, filename) - local levels = minetest.get_dir_list(path, false) - for l=1, #levels do - if levels[l] == filename then - return true - end - end - return false -end - local load_level = function(level_name, player) if lzr_gamestate.get_state() ~= lzr_gamestate.EDITOR then return false @@ -370,7 +357,7 @@ local load_level = function(level_name, player) return false end local filename = level_name..".mts" - local ok = file_exists(minetest.get_worldpath().."/levels", filename) + local ok = lzr_util.file_exists(minetest.get_worldpath().."/levels", filename) if not ok then return false end @@ -517,7 +504,7 @@ minetest.register_chatcommand("editor_load", { if check_for_slash(level_name) then return false, S("Level name must not contain slash or backslash!") end - local ok = file_exists(minetest.get_worldpath().."/levels", level_name..".mts") + local ok = lzr_util.file_exists(minetest.get_worldpath().."/levels", level_name..".mts") if not ok then return false, S("Level file does not exist!") end diff --git a/mods/lzr_editor/mod.conf b/mods/lzr_editor/mod.conf index 944572fb..f80e49a0 100644 --- a/mods/lzr_editor/mod.conf +++ b/mods/lzr_editor/mod.conf @@ -1,2 +1,2 @@ name = lzr_editor -depends = lzr_gamestate, lzr_levels, lzr_gui, lzr_player, lzr_node_drops, lzr_ambience, lzr_getitem, lzr_csv, lzr_globals, lzr_privs, lzr_weather, lzr_tools, lzr_hook, lzr_teleporter, lzr_treasure, lzr_mapgen, lzr_world, lzr_triggers +depends = lzr_gamestate, lzr_levels, lzr_gui, lzr_player, lzr_node_drops, lzr_ambience, lzr_getitem, lzr_csv, lzr_globals, lzr_privs, lzr_weather, lzr_tools, lzr_hook, lzr_teleporter, lzr_treasure, lzr_mapgen, lzr_world, lzr_triggers, lzr_util diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index 0842dc20..b5663eea 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -121,7 +121,9 @@ local load_custom_level = function(level, player) local error_append = "" if error_detail then local reason - if error_detail == "no_teleporter" then + if error_detail == "file_nonexistant" then + reason = S("The level schematic file chould not be found.") + elseif error_detail == "no_teleporter" then reason = S("There’s no teleporter for the player to start on.") elseif error_detail == "too_many_teleporters" then reason = S("There’s more than one teleporter.") @@ -133,6 +135,8 @@ local load_custom_level = function(level, player) reason = S("There’s a bare gold block in the level.") elseif error_detail == "plant_on_ground" then reason = S("There’s a rooted plant in the level.") + elseif error_detail == "schematic_load_error" then + reason = S("Error while loading schematic file.") else reason = error_detail end diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 01501543..8b9a8816 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -95,9 +95,14 @@ local flat_index_to_pos = function(index, size) end local analyze_level_schematic = function(filename, levels_path, level_data_entry) + if not lzr_util.file_exists(levels_path, filename) then + return false, "file_nonexistant" + end local filepath = levels_path .. "/" ..filename local schem = minetest.read_schematic(filepath, {write_yslice_prob="none"}) - assert(schem, "Could not load level file: "..filename) + if not schem then + return false, "schematic_load_error" + end level_data_entry.contains_rotatable_block = false level_data_entry.treasures = 0 level_data_entry.size = schem.size diff --git a/mods/lzr_levels/mod.conf b/mods/lzr_levels/mod.conf index e57a1e3a..0f93fb57 100644 --- a/mods/lzr_levels/mod.conf +++ b/mods/lzr_levels/mod.conf @@ -1,2 +1,2 @@ name = lzr_levels -depends = lzr_core, lzr_mapgen, lzr_globals, lzr_hook, lzr_gamestate, lzr_ambience, lzr_csv, lzr_weather, lzr_laser, lzr_treasure, lzr_world, lzr_triggers, lzr_slowdown +depends = lzr_core, lzr_mapgen, lzr_globals, lzr_hook, lzr_gamestate, lzr_ambience, lzr_csv, lzr_weather, lzr_laser, lzr_treasure, lzr_world, lzr_triggers, lzr_slowdown, lzr_util diff --git a/mods/lzr_util/init.lua b/mods/lzr_util/init.lua index e8bd0849..c2786fba 100644 --- a/mods/lzr_util/init.lua +++ b/mods/lzr_util/init.lua @@ -83,3 +83,16 @@ lzr_util.hsv_to_rgb = function(h, s, v) return math.floor(r * max_value), math.floor(g * max_value), math.floor(b * max_value) end + +-- Returns true if the given file exists, false otherwise. +-- * path: Path to file (without file name) +-- * filename: File name of file (without path) +lzr_util.file_exists = function(path, filename) + local levels = minetest.get_dir_list(path, false) + for l=1, #levels do + if levels[l] == filename then + return true + end + end + return false +end From 603d23991d703386fc4ea0d9db74475aa0fa7ba7 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 12 Dec 2024 23:55:07 +0100 Subject: [PATCH 23/84] Fix code typo in lzr_laser --- mods/lzr_laser/physics.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lzr_laser/physics.lua b/mods/lzr_laser/physics.lua index 654000f7..05118b42 100644 --- a/mods/lzr_laser/physics.lua +++ b/mods/lzr_laser/physics.lua @@ -1540,7 +1540,7 @@ minetest.register_globalstep(function() end) lzr_gamestate.register_on_enter_state(function(state) - if state ~= lzr_gamestate.LEVEL and state ~= lzr_gamestate.LEVEL_TEST and state ~= lzr_gamestate.LEVE_COMPLETE then + if state ~= lzr_gamestate.LEVEL and state ~= lzr_gamestate.LEVEL_TEST and state ~= lzr_gamestate.LEVEL_COMPLETE then lzr_laser.reset_destroy_events() end end) From 1e3b15726a567509ba6e9e657d9fee2cc6bfa5b6 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 00:49:12 +0100 Subject: [PATCH 24/84] Add mod.conf description to every mod --- mods/lzr_ambience/mod.conf | 1 + mods/lzr_check_movement_settings/mod.conf | 1 + mods/lzr_check_world_backend/mod.conf | 1 + mods/lzr_core/mod.conf | 1 + mods/lzr_csv/README.md | 3 ++- mods/lzr_csv/mod.conf | 1 + mods/lzr_damage/mod.conf | 1 + mods/lzr_decor/mod.conf | 1 + mods/lzr_devmode/mod.conf | 1 + mods/lzr_editor/mod.conf | 1 + mods/lzr_fallout/mod.conf | 1 + mods/lzr_gamestate/mod.conf | 1 + mods/lzr_getitem/mod.conf | 1 + mods/lzr_globals/mod.conf | 1 + mods/lzr_gui/mod.conf | 1 + mods/lzr_hand/mod.conf | 1 + mods/lzr_incomplete_message/mod.conf | 1 + mods/lzr_infobooks/mod.conf | 1 + mods/lzr_laser/mod.conf | 1 + mods/lzr_level_select/mod.conf | 1 + mods/lzr_levels/mod.conf | 1 + mods/lzr_mapgen/mod.conf | 1 + mods/lzr_menu/mod.conf | 1 + mods/lzr_messages/mod.conf | 1 + mods/lzr_panes/mod.conf | 1 + mods/lzr_parrot_npc/mod.conf | 1 + mods/lzr_privs/mod.conf | 1 + mods/lzr_protection/mod.conf | 1 + mods/lzr_sky/mod.conf | 1 + mods/lzr_slowdown/mod.conf | 1 + mods/lzr_solutions/mod.conf | 1 + mods/lzr_sounds/mod.conf | 1 + mods/lzr_teleporter/mod.conf | 1 + mods/lzr_tools/mod.conf | 1 + mods/lzr_treasure/mod.conf | 1 + mods/lzr_triggers/mod.conf | 1 + mods/lzr_tt/mod.conf | 1 + mods/lzr_util/mod.conf | 1 + mods/lzr_weather/mod.conf | 1 + mods/lzr_world/mod.conf | 1 + mods/no_multiplayer/mod.conf | 1 + mods/player_api/mod.conf | 2 +- 42 files changed, 43 insertions(+), 2 deletions(-) diff --git a/mods/lzr_ambience/mod.conf b/mods/lzr_ambience/mod.conf index ab45076f..41cf780a 100644 --- a/mods/lzr_ambience/mod.conf +++ b/mods/lzr_ambience/mod.conf @@ -1,2 +1,3 @@ name = lzr_ambience depends = lzr_messages +description = Ambient music diff --git a/mods/lzr_check_movement_settings/mod.conf b/mods/lzr_check_movement_settings/mod.conf index 322fa9d8..1760d89e 100644 --- a/mods/lzr_check_movement_settings/mod.conf +++ b/mods/lzr_check_movement_settings/mod.conf @@ -1,2 +1,3 @@ name = lzr_check_movement_settings depends = lzr_gui +description = Checks if the player plays with the recommended settings for Lazarr! and if not, displays a warning diff --git a/mods/lzr_check_world_backend/mod.conf b/mods/lzr_check_world_backend/mod.conf index b903b625..b6fc3749 100644 --- a/mods/lzr_check_world_backend/mod.conf +++ b/mods/lzr_check_world_backend/mod.conf @@ -1,2 +1,3 @@ name = lzr_check_world_backend depends = lzr_gui, lzr_check_movement_settings +description = Checks if Lazarr! is played with the correct world backend and if not, displays a warning. This mod exists mainly for support of older worlds diff --git a/mods/lzr_core/mod.conf b/mods/lzr_core/mod.conf index 9bdfbd2e..3c159a1c 100644 --- a/mods/lzr_core/mod.conf +++ b/mods/lzr_core/mod.conf @@ -1,2 +1,3 @@ name = lzr_core depends = lzr_sounds, lzr_laser +description = Core content mod for Lazarr! containing basic landscape and building blocks diff --git a/mods/lzr_csv/README.md b/mods/lzr_csv/README.md index e9e0dd25..e4b4c595 100644 --- a/mods/lzr_csv/README.md +++ b/mods/lzr_csv/README.md @@ -1,6 +1,7 @@ # `lzr_csv`: CSV Parser for Lazarr! -This mod can parse and write CSV files from and to strings. +This mod can parse and write CSV (Comma-Separated Values) +files from and to strings. Only CSV files that are RFC 4180-compliant are supported to keep it simple. diff --git a/mods/lzr_csv/mod.conf b/mods/lzr_csv/mod.conf index d7e96ae9..43d23a68 100644 --- a/mods/lzr_csv/mod.conf +++ b/mods/lzr_csv/mod.conf @@ -1 +1,2 @@ name = lzr_csv +description = CSV parser and writer diff --git a/mods/lzr_damage/mod.conf b/mods/lzr_damage/mod.conf index a0bbe72b..dab0d58d 100644 --- a/mods/lzr_damage/mod.conf +++ b/mods/lzr_damage/mod.conf @@ -1,2 +1,3 @@ name = lzr_damage depends = lzr_gamestate +description = Custom damage mechanic for players diff --git a/mods/lzr_decor/mod.conf b/mods/lzr_decor/mod.conf index f5cf28f3..d0d8b05a 100644 --- a/mods/lzr_decor/mod.conf +++ b/mods/lzr_decor/mod.conf @@ -1,2 +1,3 @@ name = lzr_decor depends = lzr_sounds, lzr_panes, lzr_laser +description = Extended content mod for Lazarr! containing decorative nodes diff --git a/mods/lzr_devmode/mod.conf b/mods/lzr_devmode/mod.conf index 5b15300d..a58eacd3 100644 --- a/mods/lzr_devmode/mod.conf +++ b/mods/lzr_devmode/mod.conf @@ -1,2 +1,3 @@ name = lzr_devmode depends = lzr_gamestate, lzr_gui, lzr_player +description = Development Mode that allows to get all items (including technical ones) and edit the map freely diff --git a/mods/lzr_editor/mod.conf b/mods/lzr_editor/mod.conf index f80e49a0..93ca0424 100644 --- a/mods/lzr_editor/mod.conf +++ b/mods/lzr_editor/mod.conf @@ -1,2 +1,3 @@ name = lzr_editor depends = lzr_gamestate, lzr_levels, lzr_gui, lzr_player, lzr_node_drops, lzr_ambience, lzr_getitem, lzr_csv, lzr_globals, lzr_privs, lzr_weather, lzr_tools, lzr_hook, lzr_teleporter, lzr_treasure, lzr_mapgen, lzr_world, lzr_triggers, lzr_util +description = Level editor for Lazarr! diff --git a/mods/lzr_fallout/mod.conf b/mods/lzr_fallout/mod.conf index bba1a444..bf4799ae 100644 --- a/mods/lzr_fallout/mod.conf +++ b/mods/lzr_fallout/mod.conf @@ -1,2 +1,3 @@ name = lzr_fallout depends = lzr_globals, lzr_levels, lzr_world, lzr_damage +description = Reset the player when they moved out of the level diff --git a/mods/lzr_gamestate/mod.conf b/mods/lzr_gamestate/mod.conf index 9c58e9c3..d525ab33 100644 --- a/mods/lzr_gamestate/mod.conf +++ b/mods/lzr_gamestate/mod.conf @@ -1 +1,2 @@ name = lzr_gamestate +description = Simple game states like "playing in a level" or "in a main menu" diff --git a/mods/lzr_getitem/mod.conf b/mods/lzr_getitem/mod.conf index 66bf5fef..b5a00886 100644 --- a/mods/lzr_getitem/mod.conf +++ b/mods/lzr_getitem/mod.conf @@ -1,2 +1,3 @@ name = lzr_getitem depends = lzr_gamestate +description = Dialog to obtain items from diff --git a/mods/lzr_globals/mod.conf b/mods/lzr_globals/mod.conf index fa2d88ef..c683bf3a 100644 --- a/mods/lzr_globals/mod.conf +++ b/mods/lzr_globals/mod.conf @@ -1 +1,2 @@ name = lzr_globals +description = Global variables for Lazarr! diff --git a/mods/lzr_gui/mod.conf b/mods/lzr_gui/mod.conf index bdb9af72..253e92c4 100644 --- a/mods/lzr_gui/mod.conf +++ b/mods/lzr_gui/mod.conf @@ -1,2 +1,3 @@ name = lzr_gui depends = lzr_player, lzr_gamestate +description = On-screen displays diff --git a/mods/lzr_hand/mod.conf b/mods/lzr_hand/mod.conf index 86fe10f5..e6975d41 100644 --- a/mods/lzr_hand/mod.conf +++ b/mods/lzr_hand/mod.conf @@ -1 +1,2 @@ name = lzr_hand +description = Player hand diff --git a/mods/lzr_incomplete_message/mod.conf b/mods/lzr_incomplete_message/mod.conf index 2532b631..6b5799b1 100644 --- a/mods/lzr_incomplete_message/mod.conf +++ b/mods/lzr_incomplete_message/mod.conf @@ -1 +1,2 @@ name = lzr_incomplete_message +description = Displays message that this game is incomplete diff --git a/mods/lzr_infobooks/mod.conf b/mods/lzr_infobooks/mod.conf index 00b2fb34..0da6012e 100644 --- a/mods/lzr_infobooks/mod.conf +++ b/mods/lzr_infobooks/mod.conf @@ -1,2 +1,3 @@ name = lzr_infobooks depends = lzr_laser, lzr_hook, lzr_sounds, lzr_globals, lzr_decor, lzr_core +description = Information/help books for Lazarr! diff --git a/mods/lzr_laser/mod.conf b/mods/lzr_laser/mod.conf index b4bc9fd5..8c797724 100644 --- a/mods/lzr_laser/mod.conf +++ b/mods/lzr_laser/mod.conf @@ -1,2 +1,3 @@ name = lzr_laser +description = Lasers and blocks that interact with lasers depends = lzr_globals, lzr_gamestate, lzr_sounds, lzr_util, lzr_triggers, lzr_slowdown, lzr_damage, lzr_effects_limiter diff --git a/mods/lzr_level_select/mod.conf b/mods/lzr_level_select/mod.conf index f63bb407..3c1b6553 100644 --- a/mods/lzr_level_select/mod.conf +++ b/mods/lzr_level_select/mod.conf @@ -1,2 +1,3 @@ name = lzr_level_select +description = Level selection GUIs for the player depends = lzr_levels, lzr_globals, lzr_editor diff --git a/mods/lzr_levels/mod.conf b/mods/lzr_levels/mod.conf index 0f93fb57..f82b7fa5 100644 --- a/mods/lzr_levels/mod.conf +++ b/mods/lzr_levels/mod.conf @@ -1,2 +1,3 @@ name = lzr_levels +description = Lazarr! level management. Includes the core levels depends = lzr_core, lzr_mapgen, lzr_globals, lzr_hook, lzr_gamestate, lzr_ambience, lzr_csv, lzr_weather, lzr_laser, lzr_treasure, lzr_world, lzr_triggers, lzr_slowdown, lzr_util diff --git a/mods/lzr_mapgen/mod.conf b/mods/lzr_mapgen/mod.conf index 3e0622e8..4ddd59ed 100644 --- a/mods/lzr_mapgen/mod.conf +++ b/mods/lzr_mapgen/mod.conf @@ -1,2 +1,3 @@ name = lzr_mapgen +description = Lazarr! map generator depends = lzr_core, lzr_plants, lzr_globals diff --git a/mods/lzr_menu/mod.conf b/mods/lzr_menu/mod.conf index 73e2d570..b247b38d 100644 --- a/mods/lzr_menu/mod.conf +++ b/mods/lzr_menu/mod.conf @@ -1,2 +1,3 @@ name = lzr_menu +description = The pirate ship that acts as a "mini" main menu for Lazarr! depends = lzr_globals, lzr_core, lzr_decor, lzr_mapgen, lzr_levels, lzr_level_select, lzr_ambience, lzr_laser, lzr_util, lzr_treasure, lzr_infobooks, lzr_gamestate, lzr_triggers diff --git a/mods/lzr_messages/mod.conf b/mods/lzr_messages/mod.conf index 3cc66bad..f27f35e5 100644 --- a/mods/lzr_messages/mod.conf +++ b/mods/lzr_messages/mod.conf @@ -1 +1,2 @@ name = lzr_messages +description = Simple on-screen messages diff --git a/mods/lzr_panes/mod.conf b/mods/lzr_panes/mod.conf index 177ed4c0..9ea17a99 100644 --- a/mods/lzr_panes/mod.conf +++ b/mods/lzr_panes/mod.conf @@ -1,2 +1,3 @@ name = lzr_panes +description = Functions to create blocks that are shaped like panes (glass panes, iron bars, and more) depends = lzr_sounds, lzr_laser diff --git a/mods/lzr_parrot_npc/mod.conf b/mods/lzr_parrot_npc/mod.conf index b55f1f26..028c0eb4 100644 --- a/mods/lzr_parrot_npc/mod.conf +++ b/mods/lzr_parrot_npc/mod.conf @@ -1,2 +1,3 @@ name = lzr_parrot_npc +description = Parrot non-player characters depends = lzr_sounds, lzr_levels diff --git a/mods/lzr_privs/mod.conf b/mods/lzr_privs/mod.conf index 97532e67..dffb36a5 100644 --- a/mods/lzr_privs/mod.conf +++ b/mods/lzr_privs/mod.conf @@ -1,2 +1,3 @@ name = lzr_privs depends = lzr_gamestate +description = Basic privilege handling for Lazarr! diff --git a/mods/lzr_protection/mod.conf b/mods/lzr_protection/mod.conf index 6897ead4..9c7890cc 100644 --- a/mods/lzr_protection/mod.conf +++ b/mods/lzr_protection/mod.conf @@ -1,2 +1,3 @@ name = lzr_protection depends = lzr_gamestate, lzr_editor, lzr_gui +description = Disallow changing blocks under certain circumstances diff --git a/mods/lzr_sky/mod.conf b/mods/lzr_sky/mod.conf index 2788ac9e..ffb90878 100644 --- a/mods/lzr_sky/mod.conf +++ b/mods/lzr_sky/mod.conf @@ -1,2 +1,3 @@ name = lzr_sky depends = lzr_globals +description = Skies for Lazarr! diff --git a/mods/lzr_slowdown/mod.conf b/mods/lzr_slowdown/mod.conf index ce46c386..686cd4c6 100644 --- a/mods/lzr_slowdown/mod.conf +++ b/mods/lzr_slowdown/mod.conf @@ -1,2 +1,3 @@ name = lzr_slowdown depends = lzr_gamestate +description = Slow down the player temporarily diff --git a/mods/lzr_solutions/mod.conf b/mods/lzr_solutions/mod.conf index b1f080f8..c03329f1 100644 --- a/mods/lzr_solutions/mod.conf +++ b/mods/lzr_solutions/mod.conf @@ -1,2 +1,3 @@ name = lzr_solutions depends = lzr_hook, lzr_laser, lzr_treasure, lzr_csv, lzr_world, lzr_levels, lzr_globals +description = Internal base-bones level solution testing framework for Lazarr! Can record and replay solutions of levels to verify for correctness diff --git a/mods/lzr_sounds/mod.conf b/mods/lzr_sounds/mod.conf index 2d86543e..70e7c801 100644 --- a/mods/lzr_sounds/mod.conf +++ b/mods/lzr_sounds/mod.conf @@ -1 +1,2 @@ name = lzr_sounds +description = Sound effects diff --git a/mods/lzr_teleporter/mod.conf b/mods/lzr_teleporter/mod.conf index 792260c1..50155f73 100644 --- a/mods/lzr_teleporter/mod.conf +++ b/mods/lzr_teleporter/mod.conf @@ -1,2 +1,3 @@ name = lzr_teleporter depends = lzr_gamestate, lzr_levels +description = A “teleporter” block that is supposed to be used by Lazarr! levels as a starting point diff --git a/mods/lzr_tools/mod.conf b/mods/lzr_tools/mod.conf index 27a171ad..32a61e2d 100644 --- a/mods/lzr_tools/mod.conf +++ b/mods/lzr_tools/mod.conf @@ -1,2 +1,3 @@ name = lzr_tools depends = lzr_laser, lzr_core, lzr_decor, lzr_plants, lzr_stairs +description = Tools for the level editor and game development of Lazarr! Does not contain gameplay-relevant tools diff --git a/mods/lzr_treasure/mod.conf b/mods/lzr_treasure/mod.conf index f86f153b..47128494 100644 --- a/mods/lzr_treasure/mod.conf +++ b/mods/lzr_treasure/mod.conf @@ -1,2 +1,3 @@ name = lzr_treasure depends = lzr_globals, lzr_sounds, lzr_laser, lzr_gamestate +description = Treasure chests and gold diff --git a/mods/lzr_triggers/mod.conf b/mods/lzr_triggers/mod.conf index 9ab50ae7..3806920b 100644 --- a/mods/lzr_triggers/mod.conf +++ b/mods/lzr_triggers/mod.conf @@ -1 +1,2 @@ name = lzr_triggers +description = Powerful trigger system to make blocks turn other blocks on and off using wireless signals diff --git a/mods/lzr_tt/mod.conf b/mods/lzr_tt/mod.conf index 18949b44..2992c4b4 100644 --- a/mods/lzr_tt/mod.conf +++ b/mods/lzr_tt/mod.conf @@ -1,2 +1,3 @@ name = lzr_tt depends = tt +description = Item tooltip extensions diff --git a/mods/lzr_util/mod.conf b/mods/lzr_util/mod.conf index 7301f696..f5d2a9bb 100644 --- a/mods/lzr_util/mod.conf +++ b/mods/lzr_util/mod.conf @@ -1 +1,2 @@ name = lzr_util +description = Shared utility functions for Lazarr! diff --git a/mods/lzr_weather/mod.conf b/mods/lzr_weather/mod.conf index 2f224da6..08f65e20 100644 --- a/mods/lzr_weather/mod.conf +++ b/mods/lzr_weather/mod.conf @@ -1,2 +1,3 @@ name = lzr_weather depends = lzr_globals, lzr_sky +description = Simple weather system diff --git a/mods/lzr_world/mod.conf b/mods/lzr_world/mod.conf index 6f3304aa..131e3db7 100644 --- a/mods/lzr_world/mod.conf +++ b/mods/lzr_world/mod.conf @@ -1,2 +1,3 @@ name = lzr_world depends = lzr_globals +description = Shared functions to store and query information about the game world diff --git a/mods/no_multiplayer/mod.conf b/mods/no_multiplayer/mod.conf index ede0194a..deeec275 100644 --- a/mods/no_multiplayer/mod.conf +++ b/mods/no_multiplayer/mod.conf @@ -1 +1,2 @@ name = no_multiplayer +description = Disallows playing the game in multiplayer mode diff --git a/mods/player_api/mod.conf b/mods/player_api/mod.conf index 198b86dc..be7e072c 100644 --- a/mods/player_api/mod.conf +++ b/mods/player_api/mod.conf @@ -1,2 +1,2 @@ name = player_api -description = Minetest Game mod: player_api +description = API to allow multiple mods to set player models and textures From 9724b0d037e4f4688700a8727270b0960329c83c Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 02:04:32 +0100 Subject: [PATCH 25/84] Move core levels into separate mod --- mods/lzr_level_select/init.lua | 16 +- mods/lzr_level_select/mod.conf | 2 +- mods/lzr_levels/init.lua | 183 +++++------------- mods/lzr_levels/mod.conf | 2 +- .../data/legacy_level_names.csv | 0 .../data/level_data.csv | 0 mods/lzr_levels_core/init.lua | 59 ++++++ .../locale/_lzr_levels_level_names.de.po | 0 .../locale/_lzr_levels_level_names.es.po | 0 .../locale/_lzr_levels_level_names.fr.po | 0 .../locale/_lzr_levels_level_names.id.po | 0 .../locale/_lzr_levels_level_names.it.po | 0 .../locale/_lzr_levels_level_names.jbo.po | 0 .../locale/_lzr_levels_level_names.ms.po | 0 .../locale/_lzr_levels_level_names.pot | 0 .../locale/_lzr_levels_level_names.pt_BR.po | 0 .../locale/_lzr_levels_level_names.ru.po | 0 .../locale/_lzr_levels_level_names.se.po | 0 .../locale/_lzr_levels_level_names.sk.po | 0 .../locale/_lzr_levels_level_names.tr.po | 0 .../locale/_lzr_levels_level_names.zh_Hans.po | 0 .../locale/_lzr_levels_level_names.zh_TW.po | 0 .../locale/_lzr_levels_npc_texts.de.po | 0 .../locale/_lzr_levels_npc_texts.es.po | 0 .../locale/_lzr_levels_npc_texts.fr.po | 0 .../locale/_lzr_levels_npc_texts.id.po | 0 .../locale/_lzr_levels_npc_texts.it.po | 0 .../locale/_lzr_levels_npc_texts.jbo.po | 0 .../locale/_lzr_levels_npc_texts.ms.po | 0 .../locale/_lzr_levels_npc_texts.pot | 0 .../locale/_lzr_levels_npc_texts.pt_BR.po | 0 .../locale/_lzr_levels_npc_texts.ru.po | 0 .../locale/_lzr_levels_npc_texts.se.po | 0 .../locale/_lzr_levels_npc_texts.sk.po | 0 .../locale/_lzr_levels_npc_texts.tr.po | 0 .../locale/_lzr_levels_npc_texts.zh_Hans.po | 0 .../locale/_lzr_levels_npc_texts.zh_Hant.po | 0 mods/lzr_levels_core/mod.conf | 3 + .../schematics/cave_of_cursed_skulls.mts | Bin .../schematics/chaotic_colors.mts | Bin .../schematics/hollow_barrels.mts | Bin .../schematics/lzr_levels_26_mirrors_v2.mts | Bin .../lzr_levels_aged_like_fine_grog.mts | Bin .../schematics/lzr_levels_bombastic_beach.mts | Bin .../lzr_levels_chamber_of_symmetry.mts | Bin .../schematics/lzr_levels_crystal_room.mts | Bin .../schematics/lzr_levels_crystal_temple.mts | Bin .../schematics/lzr_levels_dripstone_cave.mts | Bin .../lzr_levels_funny_skulls_at_night.mts | Bin .../lzr_levels_inside_the_seashell.mts | Bin .../schematics/lzr_levels_kitchen.mts | Bin .../schematics/lzr_levels_lamp_cross.mts | Bin .../schematics/lzr_levels_level_3.mts | Bin .../schematics/lzr_levels_ocean_eye.mts | Bin .../lzr_levels_one_chest_at_a_time.mts | Bin .../schematics/lzr_levels_palm_v2.mts | Bin .../schematics/lzr_levels_stormy_boxes.mts | Bin .../schematics/lzr_levels_treasure_stash.mts | Bin .../lzr_levels_tutorial_barricades_v2.mts | Bin .../lzr_levels_tutorial_beam_splitter.mts | Bin .../schematics/lzr_levels_tutorial_bomb.mts | Bin .../schematics/lzr_levels_tutorial_colors.mts | Bin .../lzr_levels_tutorial_mirror_rotate.mts | Bin .../schematics/lzr_levels_tutorial_mixer.mts | Bin .../lzr_levels_tutorial_my_first_laser.mts | Bin .../schematics/lzr_levels_tutorial_screws.mts | Bin .../lzr_levels_tutorial_takable.mts | Bin .../lzr_levels_tutorial_takable_2.mts | Bin .../lzr_levels_tutorial_welcome.mts | Bin .../schematics/lzr_levels_watery_lights.mts | Bin .../schematics/lzr_levels_withered_throne.mts | Bin .../lzr_levels_x_marks_the_spot.mts | Bin .../schematics/mirror_jail.mts | Bin .../schematics/shy_skull_grounds.mts | Bin .../solutions/cave_of_cursed_skulls.sol.csv | 0 .../solutions/chaotic_colors.sol.csv | 0 .../solutions/hollow_barrels.sol.csv | 0 .../lzr_levels_26_mirrors_v2.sol.csv | 0 .../lzr_levels_aged_like_fine_grog.sol.csv | 0 .../lzr_levels_bombastic_beach.sol.csv | 0 .../lzr_levels_chamber_of_symmetry.sol.csv | 0 .../solutions/lzr_levels_crystal_room.sol.csv | 0 .../lzr_levels_crystal_temple.sol.csv | 0 .../lzr_levels_dripstone_cave.sol.csv | 0 .../lzr_levels_funny_skulls_at_night.sol.csv | 0 .../lzr_levels_inside_the_seashell.sol.csv | 0 .../solutions/lzr_levels_kitchen.sol.csv | 0 .../solutions/lzr_levels_lamp_cross.sol.csv | 0 .../solutions/lzr_levels_level_3.sol.csv | 0 .../solutions/lzr_levels_ocean_eye.sol.csv | 0 .../lzr_levels_one_chest_at_a_time.sol.csv | 0 .../solutions/lzr_levels_palm_v2.sol.csv | 0 .../solutions/lzr_levels_stormy_boxes.sol.csv | 0 .../lzr_levels_treasure_stash.sol.csv | 0 .../lzr_levels_tutorial_barricades_v2.sol.csv | 0 .../lzr_levels_tutorial_beam_splitter.sol.csv | 0 .../lzr_levels_tutorial_bomb.sol.csv | 0 .../lzr_levels_tutorial_colors.sol.csv | 0 .../lzr_levels_tutorial_mirror_rotate.sol.csv | 0 .../lzr_levels_tutorial_mixer.sol.csv | 0 ...lzr_levels_tutorial_my_first_laser.sol.csv | 0 .../lzr_levels_tutorial_screws.sol.csv | 0 .../lzr_levels_tutorial_takable.sol.csv | 0 .../lzr_levels_tutorial_takable_2.sol.csv | 0 .../lzr_levels_tutorial_welcome.sol.csv | 0 .../lzr_levels_watery_lights.sol.csv | 0 .../lzr_levels_withered_throne.sol.csv | 0 .../lzr_levels_x_marks_the_spot.sol.csv | 0 .../solutions/mirror_jail.sol.csv | 0 .../solutions/shy_skull_grounds.sol.csv | 0 mods/lzr_menu/init.lua | 6 +- mods/lzr_solutions/init.lua | 3 +- mods/lzr_solutions/mod.conf | 2 +- 113 files changed, 131 insertions(+), 145 deletions(-) rename mods/{lzr_levels => lzr_levels_core}/data/legacy_level_names.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/data/level_data.csv (100%) create mode 100644 mods/lzr_levels_core/init.lua rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.de.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.es.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.fr.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.id.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.it.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.jbo.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.ms.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.pot (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.pt_BR.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.ru.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.se.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.sk.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.tr.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.zh_Hans.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_level_names.zh_TW.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.de.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.es.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.fr.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.id.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.it.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.jbo.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.ms.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.pot (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.pt_BR.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.ru.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.se.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.sk.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.tr.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.zh_Hans.po (100%) rename mods/{lzr_levels => lzr_levels_core}/locale/_lzr_levels_npc_texts.zh_Hant.po (100%) create mode 100644 mods/lzr_levels_core/mod.conf rename mods/{lzr_levels => lzr_levels_core}/schematics/cave_of_cursed_skulls.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/chaotic_colors.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/hollow_barrels.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_26_mirrors_v2.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_aged_like_fine_grog.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_bombastic_beach.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_chamber_of_symmetry.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_crystal_room.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_crystal_temple.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_dripstone_cave.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_funny_skulls_at_night.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_inside_the_seashell.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_kitchen.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_lamp_cross.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_level_3.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_ocean_eye.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_one_chest_at_a_time.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_palm_v2.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_stormy_boxes.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_treasure_stash.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_barricades_v2.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_beam_splitter.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_bomb.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_colors.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_mirror_rotate.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_mixer.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_my_first_laser.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_screws.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_takable.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_takable_2.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_tutorial_welcome.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_watery_lights.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_withered_throne.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/lzr_levels_x_marks_the_spot.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/mirror_jail.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/schematics/shy_skull_grounds.mts (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/cave_of_cursed_skulls.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/chaotic_colors.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/hollow_barrels.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_26_mirrors_v2.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_aged_like_fine_grog.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_bombastic_beach.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_chamber_of_symmetry.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_crystal_room.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_crystal_temple.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_dripstone_cave.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_funny_skulls_at_night.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_inside_the_seashell.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_kitchen.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_lamp_cross.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_level_3.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_ocean_eye.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_one_chest_at_a_time.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_palm_v2.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_stormy_boxes.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_treasure_stash.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_barricades_v2.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_beam_splitter.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_bomb.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_colors.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_mirror_rotate.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_mixer.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_my_first_laser.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_screws.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_takable.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_takable_2.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_tutorial_welcome.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_watery_lights.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_withered_throne.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/lzr_levels_x_marks_the_spot.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/mirror_jail.sol.csv (100%) rename mods/{lzr_levels => lzr_levels_core}/solutions/shy_skull_grounds.sol.csv (100%) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index b5663eea..885d7ba6 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -33,8 +33,8 @@ lzr_level_select.open_dialog = function(player, level_set) local first_uncompleted_level = nil if level_set == "core" then -- Built-in level set - local completed_levels = lzr_levels.get_completed_levels() - local level_data = lzr_levels.get_core_level_data() + local level_data = lzr_levels_core.get_core_level_data() + local completed_levels = lzr_levels.get_completed_levels(level_data) for l=1, #level_data do local filename = level_data[l].filename local level_id = string.sub(filename, 1, -5) @@ -46,7 +46,7 @@ lzr_level_select.open_dialog = function(player, level_set) end entry_header = "" end - table.insert(list, entry_header..","..F(lzr_levels.get_level_name(l, nil, true))) + table.insert(list, entry_header..","..F(lzr_levels.get_level_name(l, level_data, true))) end if not first_uncompleted_level then first_uncompleted_level = 1 @@ -158,9 +158,10 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) return end if formname == "lzr_level_select:levellist" then + local level_data = lzr_levels_core.get_core_level_data() if fields.okay then if current_level_selection then - lzr_levels.start_level(current_level_selection) + lzr_levels.start_level(current_level_selection, level_data) end elseif fields.levellist then local expl = minetest.explode_table_event(fields.levellist) @@ -168,7 +169,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) current_level_selection = expl.row elseif expl.type == "DCL" then current_level_selection = expl.row - lzr_levels.start_level(current_level_selection) + lzr_levels.start_level(current_level_selection, level_data) minetest.close_formspec(player:get_player_name(), "lzr_level_select:levellist") elseif expl.type == "INV" then current_level_selection = nil @@ -211,7 +212,8 @@ minetest.register_chatcommand("level", { if not level then return false end - if level < 1 or level > lzr_levels.LAST_LEVEL then + local level_data = lzr_levels_core.get_core_level_data() + if level < 1 or level > #level_data then return false, S("Invalid level!") end if lzr_gamestate.get_state() == lzr_gamestate.LEVEL_TEST then @@ -220,7 +222,7 @@ minetest.register_chatcommand("level", { if lzr_gamestate.is_loading() then return false, S("Can’t start a level while loading!") end - lzr_levels.start_level(level) + lzr_levels.start_level(level, level_data) return true end, diff --git a/mods/lzr_level_select/mod.conf b/mods/lzr_level_select/mod.conf index 3c1b6553..b813f5ea 100644 --- a/mods/lzr_level_select/mod.conf +++ b/mods/lzr_level_select/mod.conf @@ -1,3 +1,3 @@ name = lzr_level_select description = Level selection GUIs for the player -depends = lzr_levels, lzr_globals, lzr_editor +depends = lzr_levels, lzr_levels_core, lzr_globals, lzr_editor diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 8b9a8816..d4546442 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -25,11 +25,9 @@ local SILENT_SET_POS_TIME = 0.19 local current_level = nil -local core_level_data = {} local current_level_data = nil --- True if all core levels have been completed -local core_levels_completed = nil +local level_packs_completed = {} local registered_on_level_start_loadings = {} local registered_on_level_starts = {} @@ -52,8 +50,6 @@ end local legacy_levels -lzr_levels.LAST_LEVEL = 0 - local get_max_treasures = function() if current_level and current_level_data then return current_level_data[current_level].treasures @@ -61,21 +57,21 @@ local get_max_treasures = function() end -- Count number of all gold blocks the player has found in --- the main level set. Only completed levels add to the +-- the a level pack. Only completed levels add to the -- total. -function lzr_levels.count_total_collected_treasures() +function lzr_levels.count_total_collected_treasures(level_data) local total = 0 - local completed = lzr_levels.get_completed_levels() + local completed = lzr_levels.get_completed_levels(level_data) local level_nums = {} - for level_num=1, #core_level_data do - local levelname = core_level_data[level_num].filename + for level_num=1, #level_data do + local levelname = level_data[level_num].filename levelname = string.sub(levelname, 1, -5) -- remove .mts suffix level_nums[levelname] = level_num end for levelname, _ in pairs(completed) do local level_num = level_nums[levelname] - local level = core_level_data[level_num] + local level = level_data[level_num] if level then total = total + level.treasures end @@ -707,9 +703,6 @@ function lzr_levels.resize_room(old_size, new_size, nodes) end function lzr_levels.prepare_and_build_level(level, level_data, spawn_pos, yaw, old_pos, old_size, callback_done) - if not level_data then - level_data = core_level_data - end local bounding_nodes = { node_floor = level_data[level].node_floor, node_wall = level_data[level].node_wall, @@ -742,12 +735,9 @@ function lzr_levels.build_level_raw(schematic_specifier, lminpos, lmaxpos) end function lzr_levels.build_level(level, level_data) - if not level_data then - level_data = core_level_data - end local filepath = level_data.levels_path .. "/" .. level_data[level].filename local schematic_specifier - if level_data == core_level_data then + if level_data.is_builtin then -- Will provide file name to place_schematic, causing Luanti -- to cache it for better performance. schematic_specifier = filepath @@ -819,9 +809,6 @@ local function reset_inventory(player, needs_rotate) end local function get_start_pos(level, level_data) - if not level_data then - level_data = core_level_data - end local start_pos -- player start position, relative to level local size = level_data[level].size if level_data[level].start_pos then @@ -834,9 +821,6 @@ local function get_start_pos(level, level_data) end local function get_start_yaw(level, level_data, start_pos) - if not level_data then - level_data = core_level_data - end local start_yaw -- player start yaw if level_data[level].start_yaw then start_yaw = level_data[level].start_yaw @@ -860,12 +844,11 @@ function lzr_levels.get_npc_texts() return nil end local texts = level_data.npc_texts - -- Translate NPC texts in core level set - if current_level_data == core_level_data then + if current_level_data.textdomain_npc_texts then local translated_texts = {} if texts then for npc, text in pairs(texts) do - local tt = minetest.translate("_lzr_levels_npc_texts", text) + local tt = minetest.translate(current_level_data.textdomain_npc_texts, text) translated_texts[npc] = tt end end @@ -894,9 +877,6 @@ function lzr_levels.start_level(level, level_data) job_insta_win:cancel() job_insta_win = nil end - if not level_data then - level_data = core_level_data - end current_level = level current_level_data = level_data local player = get_singleplayer() @@ -971,24 +951,25 @@ function lzr_levels.register_on_collected_treasure(func) table.insert(registered_on_collected_treasures, func) end -function lzr_levels.clear_level_progress() - mod_storage:set_string("lzr_levels:levels", "") - core_levels_completed = false - lzr_menu.remove_painting("perfect_plunderer") +function lzr_levels.clear_level_progress(level_data) + level_pack_completed[level_data.name] = nil + if level_data.name == "__core" then + mod_storage:set_string("lzr_levels:levels", "") + lzr_menu.remove_painting("perfect_plunderer") - -- Also needs to notify mods about changed - -- treasure count - local treasures = lzr_levels.count_total_collected_treasures() - for i=1, #registered_on_collected_treasures do - registered_on_collected_treasures[i](treasures) + -- Also needs to notify mods about changed + -- treasure count + local treasures = lzr_levels.count_total_collected_treasures(level_data) + for i=1, #registered_on_collected_treasures do + registered_on_collected_treasures[i](treasures) + end end - - minetest.log("action", "[lzr_levels] Level progress was cleared") + minetest.log("action", "[lzr_levels] Level progress for level pack '"..level_data.name.."' was cleared") end function lzr_levels.mark_level_as_complete(level, level_data) -- Only core levels are supported - if level_data ~= core_level_data then + if level_data.name ~= "__core" then return end local levels = minetest.deserialize(mod_storage:get_string("lzr_levels:levels"), true) @@ -1005,24 +986,23 @@ function lzr_levels.mark_level_as_complete(level, level_data) mod_storage:set_string("lzr_levels:levels", minetest.serialize(levels)) -- Notify mods that the treasure count has changed - local treasures = lzr_levels.count_total_collected_treasures() + local treasures = lzr_levels.count_total_collected_treasures(level_data) for i=1, #registered_on_collected_treasures do registered_on_collected_treasures[i](treasures) end -- Place 'Perfect Plunderer' painting in ship -- as some kind of "mini-achievement" - if lzr_levels.are_all_levels_completed() then + if lzr_levels.are_all_levels_completed(level_data) then lzr_menu.place_painting("perfect_plunderer") end return true end --- Returns true if all levels of the core level set are completed -function lzr_levels.are_all_levels_completed() - local completed = lzr_levels.get_completed_levels() - local level_data = lzr_levels.get_core_level_data() +-- Returns true if all levels of a level pack are completed +function lzr_levels.are_all_levels_completed(level_data) + local completed = lzr_levels.get_completed_levels(level_data) for l=1, #level_data do local levelname = string.sub(level_data[l].filename, 1, -5) -- remove .mts suffix if not completed[levelname] then @@ -1032,15 +1012,18 @@ function lzr_levels.are_all_levels_completed() return true end --- Returns list of completed levels in the form --- { __core = { levelname1 = true, levelname2 = true, ... } } -function lzr_levels.get_completed_levels() +-- Returns list of completed levels of a level pack in the form +-- { levelname1 = true, levelname2 = true, ... } +function lzr_levels.get_completed_levels(level_data) local levels = minetest.deserialize(mod_storage:get_string("lzr_levels:levels"), true) if not levels then - levels = { __core = {} } + return {} + end + if levels[level_data.name] then + return levels[level_data.name] + else + return {} end - -- Only core levels are supported - return levels.__core end --[[ Checks the data format of the completed levels list in mod storage @@ -1156,11 +1139,7 @@ function lzr_levels.level_complete() lzr_messages.show_message(player, S("There are no treasures here!"), LEVEL_CAPTION_TIME) end - if current_level_data == core_level_data then - minetest.log("action", "[lzr_levels] Level "..current_level.." completed") - else - minetest.log("action", "[lzr_levels] Level completed") - end + minetest.log("action", "[lzr_levels] Level "..current_level.." of level pack '"..current_level_data.name.."' completed") -- Victory fanfare if has_treasure then lzr_ambience.reduce_ambience(SOUND_TIME_LEVEL_COMPLETE) @@ -1172,7 +1151,7 @@ function lzr_levels.level_complete() if job_next_level then job_next_level:cancel() end - -- Go to next level (only for core levels) + -- Go to next level job_next_level = minetest.after(NEXT_LEVEL_DELAY, function(completed_level) if lzr_gamestate.get_state() == lzr_gamestate.LEVEL_COMPLETE and current_level == completed_level then lzr_levels.next_level() @@ -1182,7 +1161,7 @@ function lzr_levels.level_complete() end function lzr_levels.game_completed() - if not core_levels_completed then + if not level_packs_completed.__core then local player = minetest.get_player_by_name("singleplayer") if not player then return false @@ -1196,7 +1175,7 @@ function lzr_levels.game_completed() lzr_levels.leave_level(nil, false) player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_WINSPAWN_OFFSET)) player:set_look_horizontal(math.pi) - core_levels_completed = true + levels_packs_completed.__core = true minetest.log("action", "[lzr_levels] Game completed!") return true else @@ -1209,11 +1188,14 @@ function lzr_levels.next_level() if state ~= lzr_gamestate.LEVEL and state ~= lzr_gamestate.LEVEL_COMPLETE and state ~= lzr_gamestate.LEVEL_TEST then return end - if current_level_data ~= core_level_data then + if not current_level_data then + return + end + if current_level_data.name ~= "__core" then lzr_levels.leave_level() return end - if lzr_levels.are_all_levels_completed() then + if lzr_levels.are_all_levels_completed(current_level_data) then local celebrated = lzr_levels.game_completed() if celebrated then return @@ -1221,7 +1203,7 @@ function lzr_levels.next_level() end local player = get_singleplayer() current_level = current_level + 1 - if current_level > lzr_levels.LAST_LEVEL then + if current_level > #current_level_data then lzr_messages.show_message(player, S("Final level completed!"), FINAL_LEVEL_CAPTION_TIME) lzr_levels.leave_level() else @@ -1280,23 +1262,16 @@ function lzr_levels.get_current_level_data() return current_level_data end -function lzr_levels.get_core_level_data() - return core_level_data -end - -- Returns the name of the level with the given level number, translated --- (translation only available for core levels). +-- (if available in level pack). -- Note that levels may have an empty name. -- If with_fallback is true and the level's name is empty, it will return -- "Untitled ()" (translated) function lzr_levels.get_level_name(level, level_data, with_fallback) - if not level_data then - level_data = core_level_data - end local name = level_data[level].name if name and name ~= "" then - if level_data == core_level_data then - return minetest.translate("_lzr_levels_level_names", level_data[level].name) + if level_data.textdomain_level_names then + return minetest.translate(level_data.textdomain_level_names, level_data[level].name) else return name end @@ -1589,7 +1564,7 @@ minetest.register_chatcommand("level_info", { end out = out .. S("• File name: @1", minetest.colorize(VALUE_COLOR, fname)) - if current_level_data == core_level_data then + if current_level_data.name == "__core" then --~ Level type can be "core" or "custom" out = out .. "\n" .. S("• Level type: @1", minetest.colorize(VALUE_COLOR, --~ A level type (core levels) @@ -1675,23 +1650,6 @@ minetest.register_chatcommand("reset_progress", { end, }) -if minetest.settings:get_bool("lzr_debug", false) then - -- Debug command to make it easier to test the event when the player - -- completed all levels. - -- This command marks all levels but the first one as completed, so - -- the remaining level can be manually completed to trigger the - -- completion event. - minetest.register_chatcommand("levels_almost_complete", { - privs = { server = true }, - description = S("Mark all levels as complete except the first one"), - func = function(name, param) - for n=2, lzr_levels.LAST_LEVEL do - lzr_levels.mark_level_as_complete(n, core_level_data) - end - return true - end, - }) -end lzr_gamestate.register_on_enter_state(function(state) if state == lzr_gamestate.LEVEL or state == lzr_gamestate.LEVEL_TEST then @@ -1743,43 +1701,6 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end) - -local function analyze_core_levels() - local error_type, error_msg, error_detail - core_level_data, error_type, error_msg, error_detail = lzr_levels.analyze_levels( - minetest.get_modpath("lzr_levels").."/data/level_data.csv", - minetest.get_modpath("lzr_levels").."/schematics", - minetest.get_modpath("lzr_levels").."/solutions" - ) - if not core_level_data then - if error_type == "csv_error" then - error("Error while parsing level_data.csv: "..tostring(error_msg)) - elseif error_type == "load_error" then - error("Could not load level_data.csv") - elseif error_type == "bad_schematic" then - error("Invalid level schematic in core level file: "..tostring(error_msg)..", problem type: "..tostring(error_detail)) - else - error("Error while loading or parsing level_data.csv") - end - end - lzr_levels.LAST_LEVEL = #core_level_data -end - --- Stuff to do on mod load time: - -analyze_core_levels() - -if lzr_levels.are_all_levels_completed() then - core_levels_completed = true -else - core_levels_completed = false -end - update_legacy_completed_levels_format() -minetest.register_on_mods_loaded(function() - local treasures = lzr_levels.count_total_collected_treasures() - for i=1, #registered_on_collected_treasures do - registered_on_collected_treasures[i](treasures) - end -end) + diff --git a/mods/lzr_levels/mod.conf b/mods/lzr_levels/mod.conf index f82b7fa5..82b12791 100644 --- a/mods/lzr_levels/mod.conf +++ b/mods/lzr_levels/mod.conf @@ -1,3 +1,3 @@ name = lzr_levels -description = Lazarr! level management. Includes the core levels +description = Lazarr! level management depends = lzr_core, lzr_mapgen, lzr_globals, lzr_hook, lzr_gamestate, lzr_ambience, lzr_csv, lzr_weather, lzr_laser, lzr_treasure, lzr_world, lzr_triggers, lzr_slowdown, lzr_util diff --git a/mods/lzr_levels/data/legacy_level_names.csv b/mods/lzr_levels_core/data/legacy_level_names.csv similarity index 100% rename from mods/lzr_levels/data/legacy_level_names.csv rename to mods/lzr_levels_core/data/legacy_level_names.csv diff --git a/mods/lzr_levels/data/level_data.csv b/mods/lzr_levels_core/data/level_data.csv similarity index 100% rename from mods/lzr_levels/data/level_data.csv rename to mods/lzr_levels_core/data/level_data.csv diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua new file mode 100644 index 00000000..0c452623 --- /dev/null +++ b/mods/lzr_levels_core/init.lua @@ -0,0 +1,59 @@ +local S = minetest.get_translator("lzr_levels_core") + +local core_level_data + +lzr_levels_core = {} + +lzr_levels_core.get_core_level_data = function() + return core_level_data +end + +if minetest.settings:get_bool("lzr_debug", false) then + -- Debug command to make it easier to test the event when the player + -- completed all levels. + -- This command marks all levels but the first one as completed, so + -- the remaining level can be manually completed to trigger the + -- completion event. + minetest.register_chatcommand("levels_almost_complete", { + privs = { server = true }, + description = S("Mark all core levels as complete except the first one"), + func = function(name, param) + if not core_level_data then + return false + end + for n=2, #core_level_data do + lzr_levels.mark_level_as_complete(n, core_level_data) + end + return true + end, + }) +end + +local function analyze_core_levels() + local error_type, error_msg, error_detail + core_level_data, error_type, error_msg, error_detail = lzr_levels.analyze_levels( + minetest.get_modpath("lzr_levels_core").."/data/level_data.csv", + minetest.get_modpath("lzr_levels_core").."/schematics", + minetest.get_modpath("lzr_levels_core").."/solutions" + ) + if not core_level_data then + if error_type == "csv_error" then + error("Error while parsing level_data.csv: "..tostring(error_msg)) + elseif error_type == "load_error" then + error("Could not load level_data.csv") + elseif error_type == "bad_schematic" then + error("Invalid level schematic in core level file: "..tostring(error_msg)..", problem type: "..tostring(error_detail)) + else + error("Error while loading or parsing level_data.csv") + end + end + + core_level_data.name = "__core" + core_level_data.textdomain_npc_texts = "_lzr_levels_npc_texts" + core_level_data.textdomain_level_names = "_lzr_levels_level_names" +end + +-- Stuff to do on mod load time: + +analyze_core_levels() + diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.de.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.de.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.de.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.de.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.es.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.es.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.es.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.es.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.fr.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.fr.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.fr.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.fr.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.id.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.id.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.id.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.id.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.it.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.it.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.it.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.it.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.jbo.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.jbo.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.jbo.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.jbo.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.ms.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.ms.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.ms.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.ms.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.pot b/mods/lzr_levels_core/locale/_lzr_levels_level_names.pot similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.pot rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.pot diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.pt_BR.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.pt_BR.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.pt_BR.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.pt_BR.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.ru.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.ru.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.ru.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.ru.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.se.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.se.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.se.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.se.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.sk.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.sk.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.sk.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.sk.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.tr.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.tr.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.tr.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.tr.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.zh_Hans.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_Hans.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.zh_Hans.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_Hans.po diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.zh_TW.po b/mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_TW.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_level_names.zh_TW.po rename to mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_TW.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.de.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.de.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.de.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.de.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.es.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.es.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.es.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.es.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.fr.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.fr.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.fr.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.fr.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.id.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.id.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.id.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.id.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.it.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.it.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.it.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.it.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.jbo.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.jbo.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.jbo.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.jbo.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.ms.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ms.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.ms.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ms.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.pot b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pot similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.pot rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pot diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.pt_BR.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pt_BR.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.pt_BR.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pt_BR.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.ru.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ru.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.ru.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ru.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.se.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.se.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.se.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.se.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.sk.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.sk.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.sk.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.sk.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.tr.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.tr.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.tr.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.tr.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.zh_Hans.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hans.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.zh_Hans.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hans.po diff --git a/mods/lzr_levels/locale/_lzr_levels_npc_texts.zh_Hant.po b/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hant.po similarity index 100% rename from mods/lzr_levels/locale/_lzr_levels_npc_texts.zh_Hant.po rename to mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hant.po diff --git a/mods/lzr_levels_core/mod.conf b/mods/lzr_levels_core/mod.conf new file mode 100644 index 00000000..81799459 --- /dev/null +++ b/mods/lzr_levels_core/mod.conf @@ -0,0 +1,3 @@ +name = lzr_levels_core +depends = lzr_levels +description = The core levels for Lazarr! diff --git a/mods/lzr_levels/schematics/cave_of_cursed_skulls.mts b/mods/lzr_levels_core/schematics/cave_of_cursed_skulls.mts similarity index 100% rename from mods/lzr_levels/schematics/cave_of_cursed_skulls.mts rename to mods/lzr_levels_core/schematics/cave_of_cursed_skulls.mts diff --git a/mods/lzr_levels/schematics/chaotic_colors.mts b/mods/lzr_levels_core/schematics/chaotic_colors.mts similarity index 100% rename from mods/lzr_levels/schematics/chaotic_colors.mts rename to mods/lzr_levels_core/schematics/chaotic_colors.mts diff --git a/mods/lzr_levels/schematics/hollow_barrels.mts b/mods/lzr_levels_core/schematics/hollow_barrels.mts similarity index 100% rename from mods/lzr_levels/schematics/hollow_barrels.mts rename to mods/lzr_levels_core/schematics/hollow_barrels.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_26_mirrors_v2.mts b/mods/lzr_levels_core/schematics/lzr_levels_26_mirrors_v2.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_26_mirrors_v2.mts rename to mods/lzr_levels_core/schematics/lzr_levels_26_mirrors_v2.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_aged_like_fine_grog.mts b/mods/lzr_levels_core/schematics/lzr_levels_aged_like_fine_grog.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_aged_like_fine_grog.mts rename to mods/lzr_levels_core/schematics/lzr_levels_aged_like_fine_grog.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_bombastic_beach.mts b/mods/lzr_levels_core/schematics/lzr_levels_bombastic_beach.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_bombastic_beach.mts rename to mods/lzr_levels_core/schematics/lzr_levels_bombastic_beach.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_chamber_of_symmetry.mts b/mods/lzr_levels_core/schematics/lzr_levels_chamber_of_symmetry.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_chamber_of_symmetry.mts rename to mods/lzr_levels_core/schematics/lzr_levels_chamber_of_symmetry.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_crystal_room.mts b/mods/lzr_levels_core/schematics/lzr_levels_crystal_room.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_crystal_room.mts rename to mods/lzr_levels_core/schematics/lzr_levels_crystal_room.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_crystal_temple.mts b/mods/lzr_levels_core/schematics/lzr_levels_crystal_temple.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_crystal_temple.mts rename to mods/lzr_levels_core/schematics/lzr_levels_crystal_temple.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_dripstone_cave.mts b/mods/lzr_levels_core/schematics/lzr_levels_dripstone_cave.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_dripstone_cave.mts rename to mods/lzr_levels_core/schematics/lzr_levels_dripstone_cave.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_funny_skulls_at_night.mts b/mods/lzr_levels_core/schematics/lzr_levels_funny_skulls_at_night.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_funny_skulls_at_night.mts rename to mods/lzr_levels_core/schematics/lzr_levels_funny_skulls_at_night.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_inside_the_seashell.mts b/mods/lzr_levels_core/schematics/lzr_levels_inside_the_seashell.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_inside_the_seashell.mts rename to mods/lzr_levels_core/schematics/lzr_levels_inside_the_seashell.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_kitchen.mts b/mods/lzr_levels_core/schematics/lzr_levels_kitchen.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_kitchen.mts rename to mods/lzr_levels_core/schematics/lzr_levels_kitchen.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_lamp_cross.mts b/mods/lzr_levels_core/schematics/lzr_levels_lamp_cross.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_lamp_cross.mts rename to mods/lzr_levels_core/schematics/lzr_levels_lamp_cross.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_level_3.mts b/mods/lzr_levels_core/schematics/lzr_levels_level_3.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_level_3.mts rename to mods/lzr_levels_core/schematics/lzr_levels_level_3.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_ocean_eye.mts b/mods/lzr_levels_core/schematics/lzr_levels_ocean_eye.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_ocean_eye.mts rename to mods/lzr_levels_core/schematics/lzr_levels_ocean_eye.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_one_chest_at_a_time.mts b/mods/lzr_levels_core/schematics/lzr_levels_one_chest_at_a_time.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_one_chest_at_a_time.mts rename to mods/lzr_levels_core/schematics/lzr_levels_one_chest_at_a_time.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_palm_v2.mts b/mods/lzr_levels_core/schematics/lzr_levels_palm_v2.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_palm_v2.mts rename to mods/lzr_levels_core/schematics/lzr_levels_palm_v2.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_stormy_boxes.mts b/mods/lzr_levels_core/schematics/lzr_levels_stormy_boxes.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_stormy_boxes.mts rename to mods/lzr_levels_core/schematics/lzr_levels_stormy_boxes.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_treasure_stash.mts b/mods/lzr_levels_core/schematics/lzr_levels_treasure_stash.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_treasure_stash.mts rename to mods/lzr_levels_core/schematics/lzr_levels_treasure_stash.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_barricades_v2.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_barricades_v2.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_barricades_v2.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_barricades_v2.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_beam_splitter.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_beam_splitter.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_beam_splitter.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_beam_splitter.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_bomb.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_bomb.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_bomb.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_bomb.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_colors.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_colors.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_colors.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_colors.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_mirror_rotate.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_mirror_rotate.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_mirror_rotate.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_mirror_rotate.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_mixer.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_mixer.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_mixer.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_mixer.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_my_first_laser.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_my_first_laser.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_my_first_laser.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_my_first_laser.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_screws.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_screws.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_screws.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_screws.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_takable.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_takable.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_takable.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_takable.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_takable_2.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_takable_2.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_takable_2.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_takable_2.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_tutorial_welcome.mts b/mods/lzr_levels_core/schematics/lzr_levels_tutorial_welcome.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_tutorial_welcome.mts rename to mods/lzr_levels_core/schematics/lzr_levels_tutorial_welcome.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_watery_lights.mts b/mods/lzr_levels_core/schematics/lzr_levels_watery_lights.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_watery_lights.mts rename to mods/lzr_levels_core/schematics/lzr_levels_watery_lights.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_withered_throne.mts b/mods/lzr_levels_core/schematics/lzr_levels_withered_throne.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_withered_throne.mts rename to mods/lzr_levels_core/schematics/lzr_levels_withered_throne.mts diff --git a/mods/lzr_levels/schematics/lzr_levels_x_marks_the_spot.mts b/mods/lzr_levels_core/schematics/lzr_levels_x_marks_the_spot.mts similarity index 100% rename from mods/lzr_levels/schematics/lzr_levels_x_marks_the_spot.mts rename to mods/lzr_levels_core/schematics/lzr_levels_x_marks_the_spot.mts diff --git a/mods/lzr_levels/schematics/mirror_jail.mts b/mods/lzr_levels_core/schematics/mirror_jail.mts similarity index 100% rename from mods/lzr_levels/schematics/mirror_jail.mts rename to mods/lzr_levels_core/schematics/mirror_jail.mts diff --git a/mods/lzr_levels/schematics/shy_skull_grounds.mts b/mods/lzr_levels_core/schematics/shy_skull_grounds.mts similarity index 100% rename from mods/lzr_levels/schematics/shy_skull_grounds.mts rename to mods/lzr_levels_core/schematics/shy_skull_grounds.mts diff --git a/mods/lzr_levels/solutions/cave_of_cursed_skulls.sol.csv b/mods/lzr_levels_core/solutions/cave_of_cursed_skulls.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/cave_of_cursed_skulls.sol.csv rename to mods/lzr_levels_core/solutions/cave_of_cursed_skulls.sol.csv diff --git a/mods/lzr_levels/solutions/chaotic_colors.sol.csv b/mods/lzr_levels_core/solutions/chaotic_colors.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/chaotic_colors.sol.csv rename to mods/lzr_levels_core/solutions/chaotic_colors.sol.csv diff --git a/mods/lzr_levels/solutions/hollow_barrels.sol.csv b/mods/lzr_levels_core/solutions/hollow_barrels.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/hollow_barrels.sol.csv rename to mods/lzr_levels_core/solutions/hollow_barrels.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_26_mirrors_v2.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_26_mirrors_v2.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_26_mirrors_v2.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_26_mirrors_v2.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_aged_like_fine_grog.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_aged_like_fine_grog.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_aged_like_fine_grog.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_aged_like_fine_grog.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_bombastic_beach.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_bombastic_beach.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_bombastic_beach.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_bombastic_beach.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_chamber_of_symmetry.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_chamber_of_symmetry.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_chamber_of_symmetry.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_chamber_of_symmetry.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_crystal_room.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_crystal_room.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_crystal_room.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_crystal_room.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_crystal_temple.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_crystal_temple.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_crystal_temple.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_crystal_temple.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_dripstone_cave.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_dripstone_cave.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_dripstone_cave.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_dripstone_cave.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_funny_skulls_at_night.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_funny_skulls_at_night.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_funny_skulls_at_night.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_funny_skulls_at_night.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_inside_the_seashell.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_inside_the_seashell.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_inside_the_seashell.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_inside_the_seashell.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_kitchen.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_kitchen.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_kitchen.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_kitchen.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_lamp_cross.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_lamp_cross.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_lamp_cross.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_lamp_cross.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_level_3.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_level_3.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_level_3.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_level_3.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_ocean_eye.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_ocean_eye.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_ocean_eye.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_ocean_eye.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_one_chest_at_a_time.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_one_chest_at_a_time.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_one_chest_at_a_time.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_one_chest_at_a_time.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_palm_v2.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_palm_v2.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_palm_v2.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_palm_v2.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_stormy_boxes.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_stormy_boxes.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_stormy_boxes.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_stormy_boxes.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_treasure_stash.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_treasure_stash.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_treasure_stash.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_treasure_stash.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_barricades_v2.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_barricades_v2.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_barricades_v2.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_barricades_v2.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_beam_splitter.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_beam_splitter.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_beam_splitter.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_beam_splitter.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_bomb.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_bomb.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_bomb.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_bomb.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_colors.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_colors.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_colors.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_colors.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_mirror_rotate.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_mirror_rotate.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_mirror_rotate.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_mirror_rotate.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_mixer.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_mixer.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_mixer.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_mixer.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_my_first_laser.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_my_first_laser.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_my_first_laser.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_my_first_laser.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_screws.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_screws.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_screws.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_screws.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_takable.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_takable.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_takable.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_takable.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_takable_2.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_takable_2.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_takable_2.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_takable_2.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_tutorial_welcome.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_tutorial_welcome.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_tutorial_welcome.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_tutorial_welcome.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_watery_lights.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_watery_lights.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_watery_lights.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_watery_lights.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_withered_throne.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_withered_throne.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_withered_throne.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_withered_throne.sol.csv diff --git a/mods/lzr_levels/solutions/lzr_levels_x_marks_the_spot.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_x_marks_the_spot.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/lzr_levels_x_marks_the_spot.sol.csv rename to mods/lzr_levels_core/solutions/lzr_levels_x_marks_the_spot.sol.csv diff --git a/mods/lzr_levels/solutions/mirror_jail.sol.csv b/mods/lzr_levels_core/solutions/mirror_jail.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/mirror_jail.sol.csv rename to mods/lzr_levels_core/solutions/mirror_jail.sol.csv diff --git a/mods/lzr_levels/solutions/shy_skull_grounds.sol.csv b/mods/lzr_levels_core/solutions/shy_skull_grounds.sol.csv similarity index 100% rename from mods/lzr_levels/solutions/shy_skull_grounds.sol.csv rename to mods/lzr_levels_core/solutions/shy_skull_grounds.sol.csv diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index 095a39cb..bf8cc644 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -58,9 +58,9 @@ local build_ship = function() minetest.set_node(SPEAKER_POS, {name="lzr_menu:speaker", param2=2}) minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_TELEVISION_OFFSET), {name="lzr_menu:television", param2=2}) minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_HOWTO_BOOKSHELF_OFFSET), {name="lzr_menu:bookshelf_info", param2=1}) - if lzr_levels.are_all_levels_completed() then - lzr_menu.place_painting("perfect_plunderer") - end + --if lzr_levels.are_all_levels_completed() then + --lzr_menu.place_painting("perfect_plunderer") + --end end lzr_menu.update_treasure_stash = function(gold_blocks) diff --git a/mods/lzr_solutions/init.lua b/mods/lzr_solutions/init.lua index 2ace44dd..f9b2cbbf 100644 --- a/mods/lzr_solutions/init.lua +++ b/mods/lzr_solutions/init.lua @@ -102,8 +102,9 @@ local test_next_core_solution_callback = function() end local test_next_core_solution = function() + local level_data = lzr_levels_core.get_core_level_data() full_test_level = full_test_level + 1 - if full_test_level > lzr_levels.LAST_LEVEL then + if full_test_level > #level_data.levels then return false end minetest.log("info", "[lzr_solutions] Loading core level "..full_test_level.." ...") diff --git a/mods/lzr_solutions/mod.conf b/mods/lzr_solutions/mod.conf index c03329f1..b1a169ae 100644 --- a/mods/lzr_solutions/mod.conf +++ b/mods/lzr_solutions/mod.conf @@ -1,3 +1,3 @@ name = lzr_solutions -depends = lzr_hook, lzr_laser, lzr_treasure, lzr_csv, lzr_world, lzr_levels, lzr_globals +depends = lzr_hook, lzr_laser, lzr_treasure, lzr_csv, lzr_world, lzr_levels, lzr_levels_core, lzr_globals description = Internal base-bones level solution testing framework for Lazarr! Can record and replay solutions of levels to verify for correctness From 6f2ee1ece93cc5a2a283e3fbb78a8a6ede55a40c Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 02:32:46 +0100 Subject: [PATCH 26/84] Fix crash when playing single custom level --- mods/lzr_level_select/init.lua | 2 ++ mods/lzr_levels/init.lua | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index 885d7ba6..a81490de 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -100,6 +100,7 @@ local load_custom_level = function(level, player) local custom_level_data, error_type, error_msg, error_detail = lzr_levels.analyze_levels(csv, levels_path) if custom_level_data then + custom_level_data.is_singleton = true -- Load level with metadata (preferred) lzr_levels.start_level(1, custom_level_data) elseif error_type == "load_error" then @@ -110,6 +111,7 @@ local load_custom_level = function(level, player) minetest.show_formspec(pname, "lzr_level_select:custom_load_error", form) minetest.log("action", "[lzr_level_select] Player tried to load broken custom level: "..tostring(level)..". Missing CSV file, and the fallback, failed as well.") else + custom_level_data.is_singleton = true lzr_levels.start_level(1, custom_level_data) minetest.log("action", "[lzr_level_select] No CSV file found for custom level: "..tostring(level)..". Using fallback.") end diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index d4546442..38da1fa0 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1139,7 +1139,11 @@ function lzr_levels.level_complete() lzr_messages.show_message(player, S("There are no treasures here!"), LEVEL_CAPTION_TIME) end - minetest.log("action", "[lzr_levels] Level "..current_level.." of level pack '"..current_level_data.name.."' completed") + if current_level_data.is_singleton then + minetest.log("action", "[lzr_levels] Level completed") + else + minetest.log("action", "[lzr_levels] Level "..current_level.." of level pack '"..current_level_data.name.."' completed") + end -- Victory fanfare if has_treasure then lzr_ambience.reduce_ambience(SOUND_TIME_LEVEL_COMPLETE) From f97c4e40a5e3dc2c35f282eaeb0100bed5df91b0 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 02:34:58 +0100 Subject: [PATCH 27/84] More singleton level cleanup --- mods/lzr_levels/init.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 38da1fa0..6468cb57 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -952,6 +952,9 @@ function lzr_levels.register_on_collected_treasure(func) end function lzr_levels.clear_level_progress(level_data) + if level_data.is_singleton then + return + end level_pack_completed[level_data.name] = nil if level_data.name == "__core" then mod_storage:set_string("lzr_levels:levels", "") @@ -1015,6 +1018,9 @@ end -- Returns list of completed levels of a level pack in the form -- { levelname1 = true, levelname2 = true, ... } function lzr_levels.get_completed_levels(level_data) + if level_data.is_singleton then + return {} + end local levels = minetest.deserialize(mod_storage:get_string("lzr_levels:levels"), true) if not levels then return {} @@ -1195,7 +1201,7 @@ function lzr_levels.next_level() if not current_level_data then return end - if current_level_data.name ~= "__core" then + if current_level_data.is_singleton then lzr_levels.leave_level() return end From f8f5d960869007076b41a60fba1f901235a43bf3 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 02:44:20 +0100 Subject: [PATCH 28/84] Fix crash on progress reset and level complete --- mods/lzr_levels/init.lua | 18 ++---------------- mods/lzr_levels_core/init.lua | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 6468cb57..6f986bfd 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -955,7 +955,7 @@ function lzr_levels.clear_level_progress(level_data) if level_data.is_singleton then return end - level_pack_completed[level_data.name] = nil + level_packs_completed[level_data.name] = nil if level_data.name == "__core" then mod_storage:set_string("lzr_levels:levels", "") lzr_menu.remove_painting("perfect_plunderer") @@ -1185,7 +1185,7 @@ function lzr_levels.game_completed() lzr_levels.leave_level(nil, false) player:set_pos(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_PLAYER_WINSPAWN_OFFSET)) player:set_look_horizontal(math.pi) - levels_packs_completed.__core = true + level_packs_completed.__core = true minetest.log("action", "[lzr_levels] Game completed!") return true else @@ -1646,20 +1646,6 @@ minetest.register_chatcommand("leave", { end, }) -minetest.register_chatcommand("reset_progress", { - privs = {}, - params = "yes", - description = S("Reset level progress"), - func = function(name, param) - if param == "yes" then - lzr_levels.clear_level_progress() - return true, S("Level progress resetted.") - else - return false, S("To reset level progress, use “/reset_progress yes”") - end - end, -}) - lzr_gamestate.register_on_enter_state(function(state) if state == lzr_gamestate.LEVEL or state == lzr_gamestate.LEVEL_TEST then diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 0c452623..63c6c479 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -29,6 +29,20 @@ if minetest.settings:get_bool("lzr_debug", false) then }) end +minetest.register_chatcommand("reset_progress", { + privs = {}, + params = "yes", + description = S("Reset core level progress"), + func = function(name, param) + if param == "yes" then + lzr_levels.clear_level_progress(core_level_data) + return true, S("Core level progress reset.") + else + return false, S("To reset level progress, use “/reset_progress yes”") + end + end, +}) + local function analyze_core_levels() local error_type, error_msg, error_detail core_level_data, error_type, error_msg, error_detail = lzr_levels.analyze_levels( @@ -57,3 +71,4 @@ end analyze_core_levels() + From ad9cc76f449c2c7fc48967adc519ebeb176118c3 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 03:41:54 +0100 Subject: [PATCH 29/84] Teach parrot to escape solid block --- mods/lzr_parrot_npc/init.lua | 112 ++++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 27682b2b..6b4a44da 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -11,10 +11,17 @@ local SPEAKER_NAME_SHORT = NS("Goldie") --~ @1 is a parrot name local SAYS = NS("@1 says:") --- Mininum and maximum delay in second between idle parrot animations +-- Mininum and maximum delay in seconds between idle parrot animations local PARROT_ANIMATION_DELAY_MIN = 2.0 local PARROT_ANIMATION_DELAY_MAX = 8.0 +-- Check if parrot is stuck in solid block every this many seconds +local PARROT_STUCK_CHECK_INTERVAL = 1.0 +-- Vertical fly speed of parrot to try to get unstuck +local PARROT_UNSTUCK_FLY_SPEED = 2.0 +-- Vertical fly speed of parrot if falling +local PARROT_FALL_FLY_SPEED = -1.0 + local PARROT_ANIMS = { flap_small = { frame_range = { x=0, y=2 }, frame_speed = 6 }, flap_big = { frame_range = { x=2, y=4 }, frame_speed = 40 }, @@ -93,6 +100,57 @@ local react = function(parrot, player) end end +local pos_needs_unstuck = function(pos) + local node = minetest.get_node(pos) + local def = minetest.registered_nodes[node.name] + if def and def.walkable and minetest.get_item_group(node.name, "takable") ~= 0 then + local apos = vector.offset(pos, 0, 1, 0) + local anode = minetest.get_node(apos) + local adef = minetest.registered_nodes[anode.name] + if adef and adef.walkable then + if minetest.get_item_group(anode.name, "takable") ~= 0 then + return true + else + return false + end + else + return true + end + else + return false + end +end +local is_on_solid = function(pos) + local bpos = vector.offset(pos, 0, -0.05, 0) + local node = minetest.get_node(bpos) + local def = minetest.registered_nodes[node.name] + if not def or def.walkable then + return true + else + return false + end +end + +local parrot_check_stuck = function(self) + if not self._unstucking and not self._falling then + local pos = self.object:get_pos() + if pos_needs_unstuck(pos) then + self._unstucking = true + self._falling = false + self.object:set_velocity({x=0, y=PARROT_UNSTUCK_FLY_SPEED, z=0}) + local anim = PARROT_ANIMS.flap_big + self.object:set_animation(anim.frame_range, anim.frame_speed, 0, true) + elseif not is_on_solid(pos) then + self._falling = true + self._unstucking = false + self.object:set_velocity({x=0, y=PARROT_FALL_FLY_SPEED, z=0}) + local anim = PARROT_ANIMS.flap_big + self.object:set_animation(anim.frame_range, anim.frame_speed, 0, true) + end + self._stuck_check_timer = 0 + end +end + minetest.register_entity("lzr_parrot_npc:parrot", { initial_properties = { visual = "mesh", @@ -120,11 +178,38 @@ minetest.register_entity("lzr_parrot_npc:parrot", { }, _animation_timer = 0, _next_animation_at = nil, + _stuck_check_timer = 0, + _unstucking = false, on_activate = function(self) self.object:set_armor_groups({immortal=1}) self._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) end, on_step = function(self, dtime) + self._stuck_check_timer = self._stuck_check_timer + dtime + if self._stuck_check_timer >= PARROT_STUCK_CHECK_INTERVAL then + parrot_check_stuck(self) + end + if self._unstucking then + local pos = self.object:get_pos() + if not pos_needs_unstuck(pos) then + self.object:set_velocity({x=0, y=0, z=0}) + self.object:set_animation({x=0, y=0}, 20, 0, false) + self._falling = false + self._unstucking = false + end + return + elseif self._falling then + local pos = self.object:get_pos() + if is_on_solid(pos) then + self.object:set_velocity({x=0, y=0, z=0}) + self.object:set_animation({x=0, y=0}, 20, 0, false) + self._falling = false + self._unstucking = false + end + return + end + + -- Play random animation in random intervals self._animation_timer = self._animation_timer + dtime if self._animation_timer >= self._next_animation_at then local idle_anims = { @@ -155,6 +240,31 @@ minetest.register_entity("lzr_parrot_npc:parrot", { end, }) +minetest.register_on_placenode(function(pos, node) + local def = minetest.registered_nodes[node.name] + if def and def.walkable then + local objs = minetest.get_objects_inside_radius(pos, 1) + for o=1, #objs do + local obj = objs[o] + local ent = obj:get_luaentity() + if ent and ent.name == "lzr_parrot_npc:parrot" then + parrot_check_stuck(ent) + end + end + end +end) +minetest.register_on_dignode(function(pos, node) + local apos = vector.offset(pos, 0, 1, 0) + local objs = minetest.get_objects_inside_radius(apos, 1) + for o=1, #objs do + local obj = objs[o] + local ent = obj:get_luaentity() + if ent and ent.name == "lzr_parrot_npc:parrot" then + parrot_check_stuck(ent) + end + end +end) + minetest.register_node("lzr_parrot_npc:stand", { description = S("Parrot Stand"), drawtype = "nodebox", From a5a56a1490c4a1f64780d05422c0bb0aeb4e604e Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 03:43:53 +0100 Subject: [PATCH 30/84] Parrot: Reduce flap_big speed --- mods/lzr_parrot_npc/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 6b4a44da..dc9e76c7 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -24,7 +24,7 @@ local PARROT_FALL_FLY_SPEED = -1.0 local PARROT_ANIMS = { flap_small = { frame_range = { x=0, y=2 }, frame_speed = 6 }, - flap_big = { frame_range = { x=2, y=4 }, frame_speed = 40 }, + flap_big = { frame_range = { x=2, y=4 }, frame_speed = 20 }, head_bounce = { frame_range = { x=4, y=6 }, frame_speed = 10 }, head_roll_right = { frame_range = { x=6, y=8 }, frame_speed = 2 }, head_roll_left = { frame_range = { x=8, y=10 }, frame_speed = 2 }, From 2c0c1846abea95bf9a1d89732bc55169729a500e Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 03:44:33 +0100 Subject: [PATCH 31/84] Don't bounce parrot head if unstucking/falling --- mods/lzr_parrot_npc/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index dc9e76c7..720c252b 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -91,7 +91,7 @@ local react = function(parrot, player) face_player(parrot, player) -- Bounce head - if parrot._animation_timer > 0.5 then + if parrot._animation_timer > 0.5 and not parrot._falling and not parrot._unstucking then local anim = PARROT_ANIMS.head_bounce parrot.object:set_animation(anim.frame_range, anim.frame_speed, 0, false) parrot._animation_timer = 0 From 65e3dd427ef35d07d3b695eeb6847b2d309e8b04 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 03:46:16 +0100 Subject: [PATCH 32/84] Parrot: Define idle anim --- mods/lzr_parrot_npc/init.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 720c252b..1b339a03 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -23,6 +23,7 @@ local PARROT_UNSTUCK_FLY_SPEED = 2.0 local PARROT_FALL_FLY_SPEED = -1.0 local PARROT_ANIMS = { + idle = { frame_range = { x=0, y=0 }, frame_speed = 2 }, flap_small = { frame_range = { x=0, y=2 }, frame_speed = 6 }, flap_big = { frame_range = { x=2, y=4 }, frame_speed = 20 }, head_bounce = { frame_range = { x=4, y=6 }, frame_speed = 10 }, @@ -193,7 +194,7 @@ minetest.register_entity("lzr_parrot_npc:parrot", { local pos = self.object:get_pos() if not pos_needs_unstuck(pos) then self.object:set_velocity({x=0, y=0, z=0}) - self.object:set_animation({x=0, y=0}, 20, 0, false) + self.object:set_animation(PARROT_ANIMS.idle.frame_range, PARROT_ANIMS.idle.frame_speed, 0, false) self._falling = false self._unstucking = false end @@ -202,7 +203,7 @@ minetest.register_entity("lzr_parrot_npc:parrot", { local pos = self.object:get_pos() if is_on_solid(pos) then self.object:set_velocity({x=0, y=0, z=0}) - self.object:set_animation({x=0, y=0}, 20, 0, false) + self.object:set_animation(PARROT_ANIMS.idle.frame_range, PARROT_ANIMS.idle.frame_speed, 0, false) self._falling = false self._unstucking = false end From 8c66a99b848a87d35bbf388a0bc1ec58c02a2126 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 12:51:16 +0100 Subject: [PATCH 33/84] Document credits for parrot curr --- CREDITS.md | 4 ++++ mods/lzr_parrot_npc/sounds/SOURCE | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) delete mode 100644 mods/lzr_parrot_npc/sounds/SOURCE diff --git a/CREDITS.md b/CREDITS.md index bb4c6741..955a5fe3 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -287,6 +287,10 @@ so they work in Luanti. - By Ogrebane - License: CC0 - +- `lzr_parrot_npc_curr.ogg` + - By Breviceps + - License: CC0 + - ## Translations diff --git a/mods/lzr_parrot_npc/sounds/SOURCE b/mods/lzr_parrot_npc/sounds/SOURCE deleted file mode 100644 index 96443fcc..00000000 --- a/mods/lzr_parrot_npc/sounds/SOURCE +++ /dev/null @@ -1 +0,0 @@ -curr: based on CC0 sound From 20b145ad2fdd7c7548489a4ad54901c86ce53320 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 13:45:37 +0100 Subject: [PATCH 34/84] Scorch parrot if too close to bomb --- mods/lzr_laser/blocks_util.lua | 14 ++++ mods/lzr_parrot_npc/init.lua | 65 +++++++++++++----- .../textures/lzr_parrot_npc_scorched.png | Bin 0 -> 1249 bytes .../lzr_parrot_npc_scorched_portrait.png | Bin 0 -> 6058 bytes 4 files changed, 61 insertions(+), 18 deletions(-) create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_scorched.png create mode 100644 mods/lzr_parrot_npc/textures/lzr_parrot_npc_scorched_portrait.png diff --git a/mods/lzr_laser/blocks_util.lua b/mods/lzr_laser/blocks_util.lua index beb3691f..d4b33ba8 100644 --- a/mods/lzr_laser/blocks_util.lua +++ b/mods/lzr_laser/blocks_util.lua @@ -3,6 +3,13 @@ -- effect) local BOMB_DAMAGE_RADIUS = 3 +-- Bomb "damage" radius for parrots +-- (triggers scorched texture) +local BOMB_DAMAGE_RADIUS_PARROT = 1.333 + +-- Time a parrot remains scorched by a bomb +local BOMB_PARROT_SCORCH_TIME = 3.0 + -- How many a player is slowed down -- when hit by a bomb local BOMB_SLOWDOWN_TIME = 6.0 @@ -628,6 +635,7 @@ lzr_laser.deal_bomb_damage = function(pos) end -- "damage" players (visual effect + temporary slowdown) + -- and parrots (scorch texture) local gs = lzr_gamestate.get_state() if gs == lzr_gamestate.LEVEL or gs == lzr_gamestate.LEVEL_COMPLETE then local objs = minetest.get_objects_inside_radius(pos, BOMB_DAMAGE_RADIUS) @@ -637,6 +645,12 @@ lzr_laser.deal_bomb_damage = function(pos) local ratio = math.max(0, math.min(1, 1 - dist / BOMB_DAMAGE_RADIUS)) lzr_damage.damage_player(objs[o], math.ceil(ratio * lzr_damage.MAX_DAMAGE)) lzr_slowdown.slowdown(objs[o], ratio * BOMB_SLOWDOWN_TIME, BOMB_SLOWDOWN_TIME) + else + local dist = vector.distance(pos, objs[o]:get_pos()) + local ent = objs[o]:get_luaentity() + if dist <= BOMB_DAMAGE_RADIUS_PARROT and ent.name == "lzr_parrot_npc:parrot" then + ent:_scorch(BOMB_SLOWDOWN_TIME) + end end end end diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 1b339a03..3ff3d945 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -32,22 +32,30 @@ local PARROT_ANIMS = { head_roll_leftright = { frame_range = { x=6, y=10 }, frame_speed = 2 }, } -local function make_call(to_player) - minetest.sound_play({name="lzr_parrot_npc_curr"}, {to_player=to_player:get_player_name()}) +local function make_call(to_player, pitch) + minetest.sound_play({name="lzr_parrot_npc_curr"}, {to_player=to_player:get_player_name(), pitch=pitch}) end -lzr_parrot_npc.speak = function(player, message) +lzr_parrot_npc.speak = function(player, message, is_scorched) + local portrait = "lzr_parrot_npc_goldie_portrait.png" + if is_scorched then + portrait = "lzr_parrot_npc_scorched_portrait.png" + end local form = "formspec_version[7]size[10,5.5]".. "box[0,0;10,0.8;#0000004f]".. "label[0.4,0.4;"..FS(SAYS, F(SPEAKER_NAME)).."]".. "box[0.5,1;2.0,3;#0000002f]".. - "image[0.75,1;1.5,3;lzr_parrot_npc_goldie_portrait.png]".. + "image[0.75,1;1.5,3;"..portrait.."]".. "box[3,1;6.5,3;#ffffff1f]".. "textarea[3,1;6.5,3;;;"..F(message).."]".. "button_exit[3.5,4.4;3,0.8;ok;"..FS("OK").."]" minetest.show_formspec(player:get_player_name(), "lzr_parrot_npc:speech", form) - make_call(player) + local pitch + if is_scorched then + pitch = 0.8 + end + make_call(player, pitch) end -- Make parrot face player @@ -68,7 +76,11 @@ local react = function(parrot, player) if player and player:is_player() then local state = lzr_gamestate.get_state() local spoken = false - if state == lzr_gamestate.LEVEL or state == lzr_gamestate.LEVEL_COMPLETE then + if parrot._scorched then + --~ Parrot speech indicating a parrot is coughing after an explosion + lzr_parrot_npc.speak(player, S("*cough* *cough*"), true) + spoken = true + elseif state == lzr_gamestate.LEVEL or state == lzr_gamestate.LEVEL_COMPLETE then local speeches = lzr_levels.get_npc_texts() if speeches and speeches.goldie and speeches.goldie ~= "" then lzr_parrot_npc.speak(player, speeches.goldie) @@ -152,23 +164,20 @@ local parrot_check_stuck = function(self) end end +local texture_repeat = function(texture) + local textures = {} + for t=1, 10 do + table.insert(textures, texture) + end + return textures +end + minetest.register_entity("lzr_parrot_npc:parrot", { initial_properties = { visual = "mesh", mesh = "lzr_parrot_npc_parrot.gltf", visual_size = { x=1, y=1, z=1 }, - textures = { - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - "lzr_parrot_npc_goldie.png", - }, + textures = texture_repeat("lzr_parrot_npc_goldie.png"), backface_culling = false, static_save = false, physical = false, @@ -181,11 +190,31 @@ minetest.register_entity("lzr_parrot_npc:parrot", { _next_animation_at = nil, _stuck_check_timer = 0, _unstucking = false, + _scorched = false, + _scorched_timer = nil, + _unchorched_time = nil, + _scorch = function(self, time) + self.object:set_properties({ + textures=texture_repeat("lzr_parrot_npc_scorched.png"), + }) + self._scorched = true + self._scorched_timer = 0 + self._unscorched_time = time + end, on_activate = function(self) self.object:set_armor_groups({immortal=1}) self._next_animation_at = math.random(PARROT_ANIMATION_DELAY_MIN, PARROT_ANIMATION_DELAY_MAX) end, on_step = function(self, dtime) + if self._scorched then + self._scorched_timer = self._scorched_timer + dtime + if self._scorched_timer >= self._unscorched_time then + self.object:set_properties({ + textures=texture_repeat("lzr_parrot_npc_goldie.png"), + }) + self._scorched = false + end + end self._stuck_check_timer = self._stuck_check_timer + dtime if self._stuck_check_timer >= PARROT_STUCK_CHECK_INTERVAL then parrot_check_stuck(self) diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_scorched.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_scorched.png new file mode 100644 index 0000000000000000000000000000000000000000..335110205f7a5c6d25ae957fcb4875d50d9eb35e GIT binary patch literal 1249 zcmV<71Rnc|P)$*`#}FQ0g5{Xop@_osM#lQGH?fc0rDj5^g4>C)wFWwCQd~OS$Ro; z5ljQAI4k$I!FrFd>0ZnRX&PC?D|IqhG+@LbZh%&N$P+$XlR(^a$pi+X5kMT=18BtW zw@hQ1#c|CX0OE-{8ECc+5TBr_cBg`jF%jwu1o1qY3Mll~iu+tz*uGWZ zMx2r%KEzC+HnsW!=I*nnB>h%_J3x>41k`|fCy=rL;-!TM3iVEU20Er%93UgL;^=AC zmH&Gbj?rcV#B*@!OqgAaafp+HTQuSpkNC94a5JsAws3BNa%Ba?X&X(85vR%##G6gS z?0sZ8y8sB{BoN(6#G$-#1M!iyf?yWU0QC;=bmDnjLqRXjf|YEIQo?0z3>qL1M}+jg zyOZp=xBx4Fv+6(?fh4GF!8VDj$bKuZp-(LUgS9J&4+uHxfI~BsJ?aW{4A`I-zkwq$ zP95N3Z3@>EfJXt~Z?+!953uk+uNM_C$>U?}ghZ5d>cDslBgn2PFzKlSR`H;)1h9#B zAYL9n*FTtRpH_VnjbIT6Zn**R2WXsk)}Cm7El{6z4%`Ep=@ucLl;~ogzz73NWyFu1 zybYrTmdQIKy^Y0_dT@NQ@)^`Q~bs4O%uQ*PSP5dX9^_kxdk2why!t0Ox}Cu z5xkEUc}Y;SaPomPK?@-6QYQXz0kHw2`i)bX0EC3y?h9ztfvV1MTvT8r31}84o(-&I zWvvdlGIOE5sDKTCja)n!H5iLJkRyCv;B<^}9IvHb>qrvR^#IMW06ndwY2Q;Ifx}|7 z5t8AkuBRm`X%3|{NDip;0H4F20Fu^1$bLcX*R{@;=JbWw@>;}X4#|n3aH%{s3HW+6 z%%>L^@mU@w0Hk6|l{g5TzY}OrFJR->2~ea+lGm8=nGqev-w!vs==1`2d@}i*gE3NH zpg5~Qj8DD#WN5Ye0;rQ9d0hiF3F@7U&FdP_@KApP?8h#L0){qw z%Z&*7r9imnmM^@ezzlz!0JP^87-xUdLp`?PGvj?%82Xo=X!eAAbnZ4ZwkLh&FQ#AP zKj%V6g(QcAXCpA`OrVEF3Rv^YDmCmA7*>$nj;{dp$py-Bsh`8LZ-?Tqa;9qcnb1b6ev~NtPkV4c0{{SkFv$L??ePHv00000006QMoc*?65&y3;00000 LNkvXXu0mjf{t!Iz literal 0 HcmV?d00001 diff --git a/mods/lzr_parrot_npc/textures/lzr_parrot_npc_scorched_portrait.png b/mods/lzr_parrot_npc/textures/lzr_parrot_npc_scorched_portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce7b62e6d85ff2a4c61bee0b4893edc0b2c54e5 GIT binary patch literal 6058 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 Date: Fri, 13 Dec 2024 14:27:51 +0100 Subject: [PATCH 35/84] Fix some parrot bugs --- mods/lzr_parrot_npc/init.lua | 43 +++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 1a86d04a..a5b0ee0d 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -178,6 +178,14 @@ local face_player = function(parrot, player) parrot.object:set_yaw(yaw) end +local texture_repeat = function(texture) + local textures = {} + for t=1, 10 do + table.insert(textures, texture) + end + return textures +end + -- Make the given parrot object react to player. -- Shows associated text of current level (if present), -- show @@ -335,14 +343,6 @@ local parrot_step_idle = function(self, dtime) end end -local texture_repeat = function(texture) - local textures = {} - for t=1, 10 do - table.insert(textures, texture) - end - return textures -end - local parrot_scorch = function(self, time) self.object:set_properties({ textures=texture_repeat("lzr_parrot_npc_scorched.png"), @@ -407,11 +407,7 @@ local react_hidden = function(parrot, player) if player and player:is_player() then local hidden_parrot_identity = parrot._hidden_id local call_pitch - if hidden_parrot_identity and parrot._scorched then - --~ Parrot speech indicating a parrot is coughing after an explosion - lzr_parrot_npc.speak(player, S("*cough* *cough*"), hidden_parrot_identity, true) - call_pitch = PARROT_SCORCHED_CALL_PITCH - elseif hidden_parrot_identity and mark_hidden_parrot_as_found(player, hidden_parrot_identity) then + if hidden_parrot_identity and mark_hidden_parrot_as_found(player, hidden_parrot_identity) then local found = lzr_parrot_npc.count_found_hidden_parrots() local text @@ -435,6 +431,7 @@ local react_hidden = function(parrot, player) else text = text .. S("I’ve found a beautiful portrait of our friend Tuckie. You can have it. How nice is that?") end + -- Found parrot, neither first or last else local remaining = #hidden_parrots - found text = S("You found my secret hiding spot!").."\n".. @@ -443,7 +440,7 @@ local react_hidden = function(parrot, player) last_hidden_speaker = hidden_parrot_identity last_hidden_speaker_object = parrot - lzr_parrot_npc.speak(player, text, hidden_parrot_identity) + lzr_parrot_npc.speak(player, text, hidden_parrot_identity, parrot._scorched == true) face_player(parrot, player) return else @@ -479,6 +476,16 @@ end) local parrot_step_hidden = function(self, dtime) if self._flying_home_phase ~= 0 then + if self._scorched and self._hidden_id then + self._scorched_timer = self._scorched_timer + dtime + if self._scorched_timer >= self._unscorched_time then + self.object:set_properties({ + textures=texture_repeat("lzr_parrot_npc_"..self._hidden_id..".png"), + }) + self._scorched = false + end + end + -- Phase 1: Wait for a short time before lifting off if self._flying_home_phase == 1 then self._fly_timer = self._fly_timer + dtime @@ -531,7 +538,7 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { mesh = "lzr_parrot_npc_parrot.gltf", visual_size = { x=1, y=1, z=1 }, textures = { - "lzr_parrot_npc_ruby.png", + texture_repeat("lzr_parrot_npc_ruby.png"), }, static_save = false, physical = false, @@ -560,7 +567,7 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { _init = function(self, hidden_id) self._hidden_id = hidden_id self.object:set_properties({ - textures = { "lzr_parrot_npc_"..hidden_id..".png" }, + textures = texture_repeat("lzr_parrot_npc_"..hidden_id..".png"), }) end, @@ -699,7 +706,7 @@ minetest.register_on_placenode(function(pos, node) for o=1, #objs do local obj = objs[o] local ent = obj:get_luaentity() - if ent and ent.name == "lzr_parrot_npc:parrot" or ent.name == "lzr_parrot_npc:hidden_parrot" then + if ent and (ent.name == "lzr_parrot_npc:parrot" or ent.name == "lzr_parrot_npc:hidden_parrot") then parrot_check_stuck(ent) end end @@ -712,7 +719,7 @@ minetest.register_on_dignode(function(pos, node) for o=1, #objs do local obj = objs[o] local ent = obj:get_luaentity() - if ent and ent.name == "lzr_parrot_npc:parrot" or ent.name == "lzr_parrot_npc:hidden_parrot" then + if ent and (ent.name == "lzr_parrot_npc:parrot" or ent.name == "lzr_parrot_npc:hidden_parrot") then parrot_check_stuck(ent) end end From 90ef70cac6f87c249b7f6a9eefd859f8f99508bf Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 14:51:49 +0100 Subject: [PATCH 36/84] Fix scorch issues of parrot --- mods/lzr_parrot_npc/init.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index a5b0ee0d..5a8ada9d 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -290,7 +290,7 @@ local parrot_step_idle = function(self, dtime) self._scorched_timer = self._scorched_timer + dtime if self._scorched_timer >= self._unscorched_time then self.object:set_properties({ - textures=texture_repeat("lzr_parrot_npc_goldie.png"), + textures = self._base_textures, }) self._scorched = false end @@ -374,6 +374,7 @@ minetest.register_entity("lzr_parrot_npc:parrot", { _scorched_timer = nil, _unchorched_time = nil, _scorch = parrot_scorch, + _base_textures = texture_repeat("lzr_parrot_npc_goldie.png"), on_activate = parrot_activate, on_step = parrot_step_idle, @@ -476,11 +477,11 @@ end) local parrot_step_hidden = function(self, dtime) if self._flying_home_phase ~= 0 then - if self._scorched and self._hidden_id then + if self._scorched and self._base_textures then self._scorched_timer = self._scorched_timer + dtime if self._scorched_timer >= self._unscorched_time then self.object:set_properties({ - textures=texture_repeat("lzr_parrot_npc_"..self._hidden_id..".png"), + textures = self._base_textures, }) self._scorched = false end @@ -556,6 +557,7 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { _scorched_timer = nil, _unchorched_time = nil, _scorch = parrot_scorch, + _base_textures = texture_repeat("lzr_parrot_npc_ruby.png"), _fly_start_pos = nil, _fly_timer = 0, @@ -566,9 +568,11 @@ minetest.register_entity("lzr_parrot_npc:hidden_parrot", { -- MUST be called right after spawning entity. _init = function(self, hidden_id) self._hidden_id = hidden_id + local textures = texture_repeat("lzr_parrot_npc_"..hidden_id..".png") self.object:set_properties({ - textures = texture_repeat("lzr_parrot_npc_"..hidden_id..".png"), + textures = textures, }) + self._base_textures = textures end, on_activate = parrot_activate, From fdc5760fe045276de895b900df9cacdbdead2ddf Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 15:48:08 +0100 Subject: [PATCH 37/84] Hidden ship parrots spawn with random yaw --- mods/lzr_menu/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index 727c1cfd..d79e3f48 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -903,6 +903,9 @@ function lzr_menu.spawn_hidden_parrot(parrot_name) minetest.log("error", "[lzr_menu] Failed to get luaentity of in-ship hidden parrot '"..tostring(parrot_name).."'!") return end + -- Ship parrots look randomly + local yaw = (math.random(0,359) / 360) * (math.pi*2) + obj:set_yaw(yaw) -- Assign parrot name ent:_init(parrot_name) From e686ac2a7b85bc6c5f877ffc49721e0c467bc22f Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 16:28:49 +0100 Subject: [PATCH 38/84] Fix crash in lzr_editor --- mods/lzr_editor/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lzr_editor/init.lua b/mods/lzr_editor/init.lua index 72a5705a..67b6e12e 100644 --- a/mods/lzr_editor/init.lua +++ b/mods/lzr_editor/init.lua @@ -1242,7 +1242,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) minetest.chat_send_player(pname, S("File name must not contain slash or backslash!")) return false end - local exists = file_exists(minetest.get_worldpath().."/levels", fields.file_name..".mts") + local exists = lzr_util.file_exists(minetest.get_worldpath().."/levels", fields.file_name..".mts") if not exists then minetest.chat_send_player(pname, S("Level file does not exist!")) return From 8b4e967b025323fac3e444691e5748f21b1bdebd Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 16:45:56 +0100 Subject: [PATCH 39/84] Fix error in solutions playback --- mods/lzr_level_select/init.lua | 6 +++--- mods/lzr_levels_core/init.lua | 2 +- mods/lzr_menu/init.lua | 2 +- mods/lzr_solutions/init.lua | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index a81490de..acedeaae 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -33,7 +33,7 @@ lzr_level_select.open_dialog = function(player, level_set) local first_uncompleted_level = nil if level_set == "core" then -- Built-in level set - local level_data = lzr_levels_core.get_core_level_data() + local level_data = lzr_levels_core.get_level_data() local completed_levels = lzr_levels.get_completed_levels(level_data) for l=1, #level_data do local filename = level_data[l].filename @@ -160,7 +160,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) return end if formname == "lzr_level_select:levellist" then - local level_data = lzr_levels_core.get_core_level_data() + local level_data = lzr_levels_core.get_level_data() if fields.okay then if current_level_selection then lzr_levels.start_level(current_level_selection, level_data) @@ -214,7 +214,7 @@ minetest.register_chatcommand("level", { if not level then return false end - local level_data = lzr_levels_core.get_core_level_data() + local level_data = lzr_levels_core.get_level_data() if level < 1 or level > #level_data then return false, S("Invalid level!") end diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 63c6c479..7151527e 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -4,7 +4,7 @@ local core_level_data lzr_levels_core = {} -lzr_levels_core.get_core_level_data = function() +lzr_levels_core.get_level_data = function() return core_level_data end diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index 312df436..33914240 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -79,7 +79,7 @@ local build_ship = function() minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_TELEVISION_OFFSET), {name="lzr_menu:television", param2=2}) minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_HOWTO_BOOKSHELF_OFFSET), {name="lzr_menu:bookshelf_info", param2=1}) - local level_data = lzr_levels_core.get_core_level_data() + local level_data = lzr_levels_core.get_level_data() if lzr_levels.are_all_levels_completed(level_data) then lzr_menu.place_painting("perfect_plunderer") end diff --git a/mods/lzr_solutions/init.lua b/mods/lzr_solutions/init.lua index f9b2cbbf..a599c7cf 100644 --- a/mods/lzr_solutions/init.lua +++ b/mods/lzr_solutions/init.lua @@ -62,7 +62,7 @@ local test_next_core_solution_callback = function() local level_id = full_test_level minetest.log("action", "[lzr_solutions] Testing solution for core level "..level_id) - local level_data = lzr_levels.get_core_level_data() + local level_data = lzr_levels_core.get_level_data() if not level_data.solutions_path then -- No solutions path. Nothing to test! minetest.log("error", "[lzr_solutions] No solutions path") @@ -102,14 +102,14 @@ local test_next_core_solution_callback = function() end local test_next_core_solution = function() - local level_data = lzr_levels_core.get_core_level_data() + local level_data = lzr_levels_core.get_level_data() full_test_level = full_test_level + 1 - if full_test_level > #level_data.levels then + if full_test_level > #level_data then return false end minetest.log("info", "[lzr_solutions] Loading core level "..full_test_level.." ...") lzr_gamestate.set_state(lzr_gamestate.LEVEL_TEST) - lzr_levels.start_level(full_test_level) + lzr_levels.start_level(full_test_level, level_data) return true end lzr_levels.register_on_level_start(function() From 86fb08467200eabb7315fff253aebe5796d229eb Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 16:56:47 +0100 Subject: [PATCH 40/84] Fix crash if completing game --- mods/lzr_levels/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 25f07aa4..fbaba4f9 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1248,7 +1248,7 @@ function lzr_levels.game_completed() lzr_parrot_npc.speak(player, S("Yarr! You did it! Our ship’s full of gold now. We’re rich!").."\n".. S("You’ve collected every treasure in the known world!").."\n".. S("No puzzle was too hard, no security mechanism could stop you.").."\n\n".. - S("You have become the Perfect Plunderer!")) + S("You have become the Perfect Plunderer!"), "goldie") lzr_ambience.reduce_ambience(SOUND_TIME_LEVEL_SET_COMPLETE) minetest.sound_play({name = "lzr_levels_level_set_complete", gain = 1.0}, nil, true) lzr_levels.leave_level(nil, false) From 538bb2a2de38897f8669cdfa6f336073600ad249 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 17:46:59 +0100 Subject: [PATCH 41/84] Add basic level packs --- mods/lzr_level_select/init.lua | 6 ++-- mods/lzr_levels/init.lua | 45 ++++++++++++++++++++++++++++-- mods/lzr_levels_core/init.lua | 51 ++++++++++------------------------ mods/lzr_menu/init.lua | 4 +-- mods/lzr_solutions/init.lua | 4 +-- 5 files changed, 64 insertions(+), 46 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index acedeaae..c27bf2d1 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -33,7 +33,7 @@ lzr_level_select.open_dialog = function(player, level_set) local first_uncompleted_level = nil if level_set == "core" then -- Built-in level set - local level_data = lzr_levels_core.get_level_data() + local level_data = lzr_levels.get_level_pack("__core") local completed_levels = lzr_levels.get_completed_levels(level_data) for l=1, #level_data do local filename = level_data[l].filename @@ -160,7 +160,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) return end if formname == "lzr_level_select:levellist" then - local level_data = lzr_levels_core.get_level_data() + local level_data = lzr_levels.get_level_pack("__core") if fields.okay then if current_level_selection then lzr_levels.start_level(current_level_selection, level_data) @@ -214,7 +214,7 @@ minetest.register_chatcommand("level", { if not level then return false end - local level_data = lzr_levels_core.get_level_data() + local level_data = lzr_levels.get_level_pack("__core") if level < 1 or level > #level_data then return false, S("Invalid level!") end diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index fbaba4f9..51e437ac 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -24,9 +24,10 @@ local SOUND_TIME_LEVEL_SET_COMPLETE = 20.0 local SILENT_SET_POS_TIME = 0.19 local current_level = nil - local current_level_data = nil +local registered_level_packs = {} + local level_packs_completed = {} local registered_on_level_start_loadings = {} @@ -1120,7 +1121,8 @@ Old legacy format: New format: A table. The keys are always strings, they represent level set names. - (Currently, there is only one level set: "__core", for the built-in levels) + This transforms to core levels only, as the legacy completed levels + list were only for core levels as well. The value of each key is an inner table. The inner table has level names as keys (always string) and the values is set to true to represent level completion. @@ -1337,6 +1339,45 @@ function lzr_levels.get_current_level_data() return current_level_data end +function lzr_levels.register_level_pack(name, level_data_file, schematic_path, solutions_path, info) + local error_type, error_msg, error_detail + local level_data + level_data, error_type, error_msg, error_detail = lzr_levels.analyze_levels( + level_data_file, schematic_path, solutions_path) + + if not level_data then + if error_type == "csv_error" then + error("Error while parsing "..tostring(level_data_file)..": "..tostring(error_msg)) + elseif error_type == "load_error" then + error("Could not load "..tostring(level_data_file)) + elseif error_type == "bad_schematic" then + error("Invalid level schematic in core level file: "..tostring(error_msg)..", problem type: "..tostring(error_detail)) + else + error("Error while loading or parsing "..tostring(level_data_file)) + end + end + + level_data.name = name + level_data.textdomain_npc_texts = info.textdomain_npc_texts + level_data.textdomain_level_names = info.textdomain_level_names + + registered_level_packs[name] = level_data +end + +-- Returns level packs by name +function lzr_levels.get_level_pack(name) + return registered_level_packs[name] +end + +-- Returns list of all registered level packs (by name) +function lzr_levels.get_level_packs() + local packs = {} + for k,v in pairs(registered_level_packs) do + table.insert(packs, k) + end + return packs +end + -- Returns the name of the level with the given level number, translated -- (if available in level pack). -- Note that levels may have an empty name. diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 7151527e..17bfac61 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -1,13 +1,5 @@ local S = minetest.get_translator("lzr_levels_core") -local core_level_data - -lzr_levels_core = {} - -lzr_levels_core.get_level_data = function() - return core_level_data -end - if minetest.settings:get_bool("lzr_debug", false) then -- Debug command to make it easier to test the event when the player -- completed all levels. @@ -34,6 +26,10 @@ minetest.register_chatcommand("reset_progress", { params = "yes", description = S("Reset core level progress"), func = function(name, param) + local core_level_data = lzr_levels.get_level_pack("__core") + if not core_level_data then + return false + end if param == "yes" then lzr_levels.clear_level_progress(core_level_data) return true, S("Core level progress reset.") @@ -43,32 +39,13 @@ minetest.register_chatcommand("reset_progress", { end, }) -local function analyze_core_levels() - local error_type, error_msg, error_detail - core_level_data, error_type, error_msg, error_detail = lzr_levels.analyze_levels( - minetest.get_modpath("lzr_levels_core").."/data/level_data.csv", - minetest.get_modpath("lzr_levels_core").."/schematics", - minetest.get_modpath("lzr_levels_core").."/solutions" - ) - if not core_level_data then - if error_type == "csv_error" then - error("Error while parsing level_data.csv: "..tostring(error_msg)) - elseif error_type == "load_error" then - error("Could not load level_data.csv") - elseif error_type == "bad_schematic" then - error("Invalid level schematic in core level file: "..tostring(error_msg)..", problem type: "..tostring(error_detail)) - else - error("Error while loading or parsing level_data.csv") - end - end - - core_level_data.name = "__core" - core_level_data.textdomain_npc_texts = "_lzr_levels_npc_texts" - core_level_data.textdomain_level_names = "_lzr_levels_level_names" -end - --- Stuff to do on mod load time: - -analyze_core_levels() - - +lzr_levels.register_level_pack("__core", + minetest.get_modpath("lzr_levels_core").."/data/level_data.csv", + minetest.get_modpath("lzr_levels_core").."/schematics", + minetest.get_modpath("lzr_levels_core").."/solutions", + { + builtin = true, + textdomain_npc_texts = "_lzr_levels_npc_texts", + textdomain_level_names = "_lzr_levels_level_names", + } +) diff --git a/mods/lzr_menu/init.lua b/mods/lzr_menu/init.lua index 33914240..6624f02e 100644 --- a/mods/lzr_menu/init.lua +++ b/mods/lzr_menu/init.lua @@ -79,8 +79,8 @@ local build_ship = function() minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_TELEVISION_OFFSET), {name="lzr_menu:television", param2=2}) minetest.set_node(vector.add(lzr_globals.MENU_SHIP_POS, lzr_globals.MENU_SHIP_HOWTO_BOOKSHELF_OFFSET), {name="lzr_menu:bookshelf_info", param2=1}) - local level_data = lzr_levels_core.get_level_data() - if lzr_levels.are_all_levels_completed(level_data) then + local core_level_data = lzr_levels.get_level_pack("__core") + if lzr_levels.are_all_levels_completed(core_level_data) then lzr_menu.place_painting("perfect_plunderer") end diff --git a/mods/lzr_solutions/init.lua b/mods/lzr_solutions/init.lua index a599c7cf..8fb0c263 100644 --- a/mods/lzr_solutions/init.lua +++ b/mods/lzr_solutions/init.lua @@ -62,7 +62,7 @@ local test_next_core_solution_callback = function() local level_id = full_test_level minetest.log("action", "[lzr_solutions] Testing solution for core level "..level_id) - local level_data = lzr_levels_core.get_level_data() + local level_data = lzr_levels.get_level_pack("__core") if not level_data.solutions_path then -- No solutions path. Nothing to test! minetest.log("error", "[lzr_solutions] No solutions path") @@ -102,7 +102,7 @@ local test_next_core_solution_callback = function() end local test_next_core_solution = function() - local level_data = lzr_levels_core.get_level_data() + local level_data = lzr_levels.get_level_pack("__core") full_test_level = full_test_level + 1 if full_test_level > #level_data then return false From 034f8f5495d82e07fe5f4b0f1ebdad55724517e4 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 18:11:46 +0100 Subject: [PATCH 42/84] Check level pack for completion on register --- mods/lzr_levels/init.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 51e437ac..bb5c6578 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1362,6 +1362,10 @@ function lzr_levels.register_level_pack(name, level_data_file, schematic_path, s level_data.textdomain_level_names = info.textdomain_level_names registered_level_packs[name] = level_data + + if lzr_levels.are_all_levels_completed(level_data) then + level_packs_completed[name] = true + end end -- Returns level packs by name From 5d234197a6b76e47d3504fce35dd6f03649ac922 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 18:26:34 +0100 Subject: [PATCH 43/84] Fix level reset and level pack completion --- mods/lzr_levels/init.lua | 6 +++++- mods/lzr_levels_core/init.lua | 19 +------------------ mods/lzr_reset/init.lua | 10 ++++++++-- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index bb5c6578..2e09d7fd 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1041,6 +1041,9 @@ function lzr_levels.clear_level_progress(level_data) end function lzr_levels.mark_level_as_complete(level, level_data) + if level_data.is_singleton then + return + end -- Only core levels are supported if level_data.name ~= "__core" then return @@ -1067,6 +1070,7 @@ function lzr_levels.mark_level_as_complete(level, level_data) -- Place 'Perfect Plunderer' painting in ship -- as some kind of "mini-achievement" if lzr_levels.are_all_levels_completed(level_data) then + level_packs_completed[level_data.name] = true lzr_menu.place_painting("perfect_plunderer") end @@ -1374,7 +1378,7 @@ function lzr_levels.get_level_pack(name) end -- Returns list of all registered level packs (by name) -function lzr_levels.get_level_packs() +function lzr_levels.get_level_pack_names() local packs = {} for k,v in pairs(registered_level_packs) do table.insert(packs, k) diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 17bfac61..676da5d9 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -10,6 +10,7 @@ if minetest.settings:get_bool("lzr_debug", false) then privs = { server = true }, description = S("Mark all core levels as complete except the first one"), func = function(name, param) + local core_level_data = lzr_levels.get_level_pack("__core") if not core_level_data then return false end @@ -21,24 +22,6 @@ if minetest.settings:get_bool("lzr_debug", false) then }) end -minetest.register_chatcommand("reset_progress", { - privs = {}, - params = "yes", - description = S("Reset core level progress"), - func = function(name, param) - local core_level_data = lzr_levels.get_level_pack("__core") - if not core_level_data then - return false - end - if param == "yes" then - lzr_levels.clear_level_progress(core_level_data) - return true, S("Core level progress reset.") - else - return false, S("To reset level progress, use “/reset_progress yes”") - end - end, -}) - lzr_levels.register_level_pack("__core", minetest.get_modpath("lzr_levels_core").."/data/level_data.csv", minetest.get_modpath("lzr_levels_core").."/schematics", diff --git a/mods/lzr_reset/init.lua b/mods/lzr_reset/init.lua index ba84d42f..32ce16dc 100644 --- a/mods/lzr_reset/init.lua +++ b/mods/lzr_reset/init.lua @@ -6,8 +6,14 @@ minetest.register_chatcommand("reset_progress", { description = S("Reset your progress in this game"), func = function(name, param) if param == "yes" then - -- Reset level progress - lzr_levels.clear_level_progress() + -- Reset level progress of all level packs + local names = lzr_levels.get_level_pack_names() + for n=1, #names do + local level_pack = lzr_levels.get_level_pack(names[n]) + if level_pack then + lzr_levels.clear_level_progress(level_pack) + end + end -- Reset hidden parrot progress lzr_parrot_npc.clear_hidden_parrot_progress() From 8607b55153308d1cfae2df869dda8c26e1802609 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 18:41:14 +0100 Subject: [PATCH 44/84] Clean up game victory event --- mods/lzr_levels/init.lua | 11 +++++++---- mods/lzr_levels_core/init.lua | 16 +++++++++++++--- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 2e09d7fd..40a62785 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1070,7 +1070,6 @@ function lzr_levels.mark_level_as_complete(level, level_data) -- Place 'Perfect Plunderer' painting in ship -- as some kind of "mini-achievement" if lzr_levels.are_all_levels_completed(level_data) then - level_packs_completed[level_data.name] = true lzr_menu.place_painting("perfect_plunderer") end @@ -1279,10 +1278,14 @@ function lzr_levels.next_level() return end if lzr_levels.are_all_levels_completed(current_level_data) then - local celebrated = lzr_levels.game_completed() - if celebrated then - return + if current_level_data.name == "__core" then + local celebrated = lzr_levels.game_completed() + if celebrated then + level_packs_completed["__core"] = true + return + end end + level_packs_completed[current_level_data.name] = true end local player = get_singleplayer() current_level = current_level + 1 diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 676da5d9..7089bfc7 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -1,5 +1,7 @@ local S = minetest.get_translator("lzr_levels_core") +local SKIPPED_LEVEL = 2 + if minetest.settings:get_bool("lzr_debug", false) then -- Debug command to make it easier to test the event when the player -- completed all levels. @@ -8,14 +10,22 @@ if minetest.settings:get_bool("lzr_debug", false) then -- completion event. minetest.register_chatcommand("levels_almost_complete", { privs = { server = true }, - description = S("Mark all core levels as complete except the first one"), + description = S("Mark all core levels as complete except one"), func = function(name, param) local core_level_data = lzr_levels.get_level_pack("__core") if not core_level_data then return false end - for n=2, #core_level_data do - lzr_levels.mark_level_as_complete(n, core_level_data) + local skip + if #core_level_data >= SKIPPED_LEVEL then + skip = SKIPPED_LEVEL + else + skip = 1 + end + for n=1, #core_level_data do + if n ~= skip then + lzr_levels.mark_level_as_complete(n, core_level_data) + end end return true end, From 62e1e9d3904346b435d150cba5f71de24ca6ca71 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 22:07:04 +0100 Subject: [PATCH 45/84] Extend /level command --- mods/lzr_level_select/init.lua | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index c27bf2d1..b6201a06 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -208,22 +208,30 @@ end) minetest.register_chatcommand("level", { privs = { server = true }, description = S("Go to level"), - params = S(""), + params = S("[] "), func = function(name, param) - local level = tonumber(param) - if not level then - return false - end - local level_data = lzr_levels.get_level_pack("__core") - if level < 1 or level > #level_data then - return false, S("Invalid level!") - end if lzr_gamestate.get_state() == lzr_gamestate.LEVEL_TEST then return false, S("Not possible during the level solution test!") end if lzr_gamestate.is_loading() then return false, S("Can’t start a level while loading!") end + local pack, level = string.match(param, "([a-zA-Z0-9_]+) ([0-9]+)") + if not pack then + pack = "__core" + level = tonumber(param) + end + level = tonumber(level) + if not level then + return false + end + local level_data = lzr_levels.get_level_pack(pack) + if not level_data then + return false, S("Level pack “@1” doesn’t exist.", pack) + end + if level < 1 or level > #level_data then + return false, S("Level @1 does not exist in this level pack. Available levels range from @2 to @3.", level, 1, #level_data) + end lzr_levels.start_level(level, level_data) return true end, From 38ee72f27f6298e6b19e22c374ff649319442a5a Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 23:14:30 +0100 Subject: [PATCH 46/84] Display level packs in custom level select dialog --- mods/lzr_level_select/init.lua | 119 +++++++++++++++++++++++++-------- mods/lzr_levels/init.lua | 2 +- 2 files changed, 93 insertions(+), 28 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index b6201a06..2eeb49c2 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -1,16 +1,19 @@ local S = minetest.get_translator("lzr_level_select") local F = minetest.formspec_escape +local FS = function(...) return minetest.formspec_escape(S(...)) end lzr_level_select = {} -local current_level_selection = nil +local current_core_level_selection = nil local current_custom_level_selection = nil +local current_custom_level_pack_selection = "__singleton" local custom_levels +local custom_level_packs = {} local message_form = function(player, message) return "formspec_version[7]size[8,3.5]".. "textarea[0.5,0.5;7,1.8;;;"..F(message).."]".. - "button_exit[3,2.5;2,0.6;okay;"..F(S("OK")).."]" + "button_exit[3,2.5;2,0.6;okay;"..FS("OK").."]" end lzr_level_select.open_dialog = function(player, level_set) @@ -25,14 +28,44 @@ lzr_level_select.open_dialog = function(player, level_set) end local form = "formspec_version[7]size[6,10]".. "label[0.5,0.4;"..F(caption).."]".. - "button_exit[1.5,8.5;3,1;okay;"..F(S("Start")).."]".. + "button_exit[1.5,8.5;3,1;okay;"..FS("Start").."]" + + local mypacks + if level_set == "custom" then + local packs = lzr_levels.get_level_pack_names() + mypacks = {} + custom_level_packs = {} + table.insert(custom_level_packs, "__singleton") + table.insert(mypacks, FS("Single levels")) + local dropdown_idx + for p=1, #packs do + local pack = packs[p] + if pack ~= "__core" then + if pack == current_custom_level_pack_selection then + dropdown_idx = p + 1 + end + table.insert(custom_level_packs, pack) + table.insert(mypacks, minetest.formspec_escape(pack)) + end + end + if not dropdown_idx then + dropdown_idx = 1 + end + local mypacks_str = table.concat(mypacks, ",") + form = form .. + "dropdown[0.5,0.7;5,0.6;levelpack;"..mypacks_str..";"..dropdown_idx..";true]".. + "tablecolumns[color;text]".. + "table[0.5,1.5;5,6.8;levellist;" + else + form = form .. "tablecolumns[color;text]".. "table[0.5,0.8;5,7.5;levellist;" + end local list = {} local entry_header = "" local first_uncompleted_level = nil if level_set == "core" then - -- Built-in level set + -- Built-in level pack local level_data = lzr_levels.get_level_pack("__core") local completed_levels = lzr_levels.get_completed_levels(level_data) for l=1, #level_data do @@ -51,24 +84,47 @@ lzr_level_select.open_dialog = function(player, level_set) if not first_uncompleted_level then first_uncompleted_level = 1 end - current_level_selection = first_uncompleted_level + current_core_level_selection = first_uncompleted_level else - -- Custom level set (editor levels) - local list_levels = lzr_editor.get_custom_levels() - custom_levels = {} - for l=1, #list_levels do - local levelname = list_levels[l] - -- Hide the autosave level because it's not meant - -- for playing - if levelname ~= lzr_globals.AUTOSAVE_NAME then - table.insert(custom_levels, levelname) + if current_custom_level_pack_selection == "__singleton" then + -- Pseudo-levelpack containing single unsorted levels (editor levels) + local list_levels = lzr_editor.get_custom_levels() + custom_levels = {} + for l=1, #list_levels do + local levelname = list_levels[l] + -- Hide the autosave level because it's not meant + -- for playing + if levelname ~= lzr_globals.AUTOSAVE_NAME then + table.insert(custom_levels, levelname) - local proper_name = lzr_editor.get_custom_level_name(levelname, true) - table.insert(list, entry_header..","..F(proper_name)) + local proper_name = lzr_editor.get_custom_level_name(levelname, true) + table.insert(list, entry_header..","..F(proper_name)) + end end + first_uncompleted_level = 1 + current_custom_level_selection = 1 + else + -- Custom level pack + local level_data = lzr_levels.get_level_pack(current_custom_level_pack_selection) + local completed_levels = lzr_levels.get_completed_levels(level_data) + for l=1, #level_data do + local filename = level_data[l].filename + local level_id = string.sub(filename, 1, -5) + if completed_levels[level_id] then + entry_header = "#00FF00" + else + if not first_uncompleted_level then + first_uncompleted_level = l + end + entry_header = "" + end + table.insert(list, entry_header..","..F(lzr_levels.get_level_name(l, level_data, true))) + end + if not first_uncompleted_level then + first_uncompleted_level = 1 + end + current_custom_level_selection = first_uncompleted_level end - first_uncompleted_level = 1 - current_custom_level_selection = 1 end if not first_uncompleted_level then first_uncompleted_level = 1 @@ -162,27 +218,32 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if formname == "lzr_level_select:levellist" then local level_data = lzr_levels.get_level_pack("__core") if fields.okay then - if current_level_selection then - lzr_levels.start_level(current_level_selection, level_data) + if current_core_level_selection then + lzr_levels.start_level(current_core_level_selection, level_data) end elseif fields.levellist then local expl = minetest.explode_table_event(fields.levellist) if expl.type == "CHG" then - current_level_selection = expl.row + current_core_level_selection = expl.row elseif expl.type == "DCL" then - current_level_selection = expl.row - lzr_levels.start_level(current_level_selection, level_data) + current_core_level_selection = expl.row + lzr_levels.start_level(current_core_level_selection, level_data) minetest.close_formspec(player:get_player_name(), "lzr_level_select:levellist") elseif expl.type == "INV" then - current_level_selection = nil + current_core_level_selection = nil end end elseif formname == "lzr_level_select:levellist_custom" then if fields.okay then if custom_levels and current_custom_level_selection then - local level = custom_levels[current_custom_level_selection] - if level then - load_custom_level(level, player) + if current_custom_level_pack_selection == "__singleton" then + local level = custom_levels[current_custom_level_selection] + if level then + load_custom_level(level, player) + end + else + local level_data = lzr_levels.get_level_pack(current_custom_level_pack_selection) + lzr_levels.start_level(current_custom_level_selection, level_data) end end elseif fields.levellist then @@ -201,6 +262,10 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) elseif expl.type == "INV" then current_custom_level_selection = nil end + elseif fields.levelpack then + local idx = tonumber(fields.levelpack) + current_custom_level_pack_selection = custom_level_packs[idx] + lzr_level_select.open_dialog(player, "custom") end end end) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 40a62785..f16219dd 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1123,7 +1123,7 @@ Old legacy format: This means: Levels 1, 3 and 5 are completed. New format: - A table. The keys are always strings, they represent level set names. + A table. The keys are always strings, they represent level pack names. This transforms to core levels only, as the legacy completed levels list were only for core levels as well. The value of each key is an inner table. From be308bacd2f27b94122d01f2b3e54642efcd8237 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 23:44:48 +0100 Subject: [PATCH 47/84] Show messages for empty level packs --- mods/lzr_level_select/init.lua | 42 ++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index 2eeb49c2..a724d902 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -21,7 +21,7 @@ lzr_level_select.open_dialog = function(player, level_set) if level_set == "core" then caption = S("Select level:") elseif level_set == "custom" then - caption = S("Select custom level:") + caption = S("Select level pack:") else minetest.log("error", "[lzr_level_select] open_dialog called with unknown level_set!") return false @@ -31,6 +31,7 @@ lzr_level_select.open_dialog = function(player, level_set) "button_exit[1.5,8.5;3,1;okay;"..FS("Start").."]" local mypacks + local form_levellist if level_set == "custom" then local packs = lzr_levels.get_level_pack_names() mypacks = {} @@ -38,27 +39,34 @@ lzr_level_select.open_dialog = function(player, level_set) table.insert(custom_level_packs, "__singleton") table.insert(mypacks, FS("Single levels")) local dropdown_idx + local pi = 1 -- counted pack index for p=1, #packs do local pack = packs[p] if pack ~= "__core" then + pi = pi + 1 if pack == current_custom_level_pack_selection then - dropdown_idx = p + 1 + dropdown_idx = pi end table.insert(custom_level_packs, pack) table.insert(mypacks, minetest.formspec_escape(pack)) end end + if current_custom_level_pack_selection == "__singleton" then + dropdown_idx = 1 + end if not dropdown_idx then dropdown_idx = 1 end local mypacks_str = table.concat(mypacks, ",") form = form .. - "dropdown[0.5,0.7;5,0.6;levelpack;"..mypacks_str..";"..dropdown_idx..";true]".. + "dropdown[0.5,0.7;5,0.6;levelpack;"..mypacks_str..";"..dropdown_idx..";true]" + + form_levellist = + "label[0.5,1.65;"..FS("Select level:").."]".. "tablecolumns[color;text]".. - "table[0.5,1.5;5,6.8;levellist;" + "table[0.5,2;5,5.9;levellist;" else - form = form .. - "tablecolumns[color;text]".. + form_levellist = "tablecolumns[color;text]".. "table[0.5,0.8;5,7.5;levellist;" end local list = {} @@ -130,18 +138,32 @@ lzr_level_select.open_dialog = function(player, level_set) first_uncompleted_level = 1 end local list_str = table.concat(list, ",") - form = form .. list_str .. ";"..first_uncompleted_level.."]" + form_levellist = form_levellist .. list_str .. ";"..first_uncompleted_level.."]" local formname if level_set == "core" then if #list == 0 then form = message_form(player, S("There are no levels.")) + else + form = form .. form_levellist end formname = "lzr_level_select:levellist" else if #list == 0 then - form = message_form(player, - S("There are no custom levels.").."\n".. - S("Install levels from your friends or use the level editor to build your own.")) + local level_packs = lzr_levels.get_level_pack_names() + if #level_packs <= 1 then + form = message_form(player, + S("There are no level packs or custom single levels.").."\n".. + S("Install a level pack or use the level editor to build your own levels.")) + elseif current_custom_level_pack_selection == "__singleton" then + form = form .. "textarea[0.5,1.7;5,5;;;".. + FS("There are no custom single levels.").."\n".. + FS("Install one from your friends or use the level editor to build your own levels.").."]n" + else + form = form .. "textarea[0.5,1.7;5,5;;;".. + FS("This level pack is empty.").."]" + end + else + form = form .. form_levellist end formname = "lzr_level_select:levellist_custom" end From 1778ad56fb73efee6293b17efcfc9fe13564cd90 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 23:47:11 +0100 Subject: [PATCH 48/84] Add doubleclick support in custom levelpack select --- mods/lzr_level_select/init.lua | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index a724d902..78dc7732 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -274,11 +274,16 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) current_custom_level_selection = expl.row elseif expl.type == "DCL" then current_custom_level_selection = expl.row - if custom_levels then - local level = custom_levels[current_custom_level_selection] - if level then - load_custom_level(level, player) + if current_custom_level_pack_selection == "__singleton" then + if custom_levels then + local level = custom_levels[current_custom_level_selection] + if level then + load_custom_level(level, player) + end end + else + local level_data = lzr_levels.get_level_pack(current_custom_level_pack_selection) + lzr_levels.start_level(current_custom_level_selection, level_data) end minetest.close_formspec(player:get_player_name(), "lzr_level_select:levellist_custom") elseif expl.type == "INV" then From beead2fca74e2e8557ca1a383554fd33a2599224 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 02:27:45 +0100 Subject: [PATCH 49/84] Add /level_pack_stats command --- mods/lzr_level_select/init.lua | 146 +++++++++++++++++++++++++++------ mods/lzr_levels/init.lua | 34 ++++++++ 2 files changed, 156 insertions(+), 24 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index 78dc7732..868b5b09 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -2,11 +2,15 @@ local S = minetest.get_translator("lzr_level_select") local F = minetest.formspec_escape local FS = function(...) return minetest.formspec_escape(S(...)) end +-- Directory separator +local DIR_DELIM = "/" + lzr_level_select = {} local current_core_level_selection = nil local current_custom_level_selection = nil local current_custom_level_pack_selection = "__singleton" +local current_stats_level_pack_selection = "__core" local custom_levels local custom_level_packs = {} @@ -16,6 +20,34 @@ local message_form = function(player, message) "button_exit[3,2.5;2,0.6;okay;"..FS("OK").."]" end +local update_custom_level_packs = function(skip_core, level_pack_selection) + local packs = lzr_levels.get_level_pack_names() + local mypacks = {} + custom_level_packs = {} + table.insert(custom_level_packs, "__singleton") + table.insert(mypacks, FS("Single levels")) + local dropdown_idx + local pi = 1 -- counted pack index + for p=1, #packs do + local pack = packs[p] + if (not skip_core) or pack ~= "__core" then + pi = pi + 1 + if pack == level_pack_selection then + dropdown_idx = pi + end + table.insert(custom_level_packs, pack) + table.insert(mypacks, minetest.formspec_escape(pack)) + end + end + if level_pack_selection == "__singleton" then + dropdown_idx = 1 + end + if not dropdown_idx then + dropdown_idx = 1 + end + return mypacks, dropdown_idx +end + lzr_level_select.open_dialog = function(player, level_set) local caption if level_set == "core" then @@ -33,30 +65,7 @@ lzr_level_select.open_dialog = function(player, level_set) local mypacks local form_levellist if level_set == "custom" then - local packs = lzr_levels.get_level_pack_names() - mypacks = {} - custom_level_packs = {} - table.insert(custom_level_packs, "__singleton") - table.insert(mypacks, FS("Single levels")) - local dropdown_idx - local pi = 1 -- counted pack index - for p=1, #packs do - local pack = packs[p] - if pack ~= "__core" then - pi = pi + 1 - if pack == current_custom_level_pack_selection then - dropdown_idx = pi - end - table.insert(custom_level_packs, pack) - table.insert(mypacks, minetest.formspec_escape(pack)) - end - end - if current_custom_level_pack_selection == "__singleton" then - dropdown_idx = 1 - end - if not dropdown_idx then - dropdown_idx = 1 - end + local mypacks, dropdown_idx = update_custom_level_packs(true, current_custom_level_pack_selection) local mypacks_str = table.concat(mypacks, ",") form = form .. "dropdown[0.5,0.7;5,0.6;levelpack;"..mypacks_str..";"..dropdown_idx..";true]" @@ -233,6 +242,75 @@ local load_custom_level = function(level, player) end end +lzr_level_select.open_stats_dialog = function(player) + local level_packs_names = lzr_levels.get_level_pack_names() + + local mypacks, dropdown_idx = update_custom_level_packs(false, current_stats_level_pack_selection) + local mypacks_str = table.concat(mypacks, ",") + + local form = "formspec_version[7]size[6,10]".. + "box[0,0;6,0.8;#00000080]".. + "label[0.5,0.4;"..F("Level pack stats").."]".. + "label[0.5,1.3;"..F("Select level pack:").."]".. + "dropdown[0.5,1.5;5,0.6;levelpack;"..mypacks_str..";"..dropdown_idx..";true]".. + "button_exit[1.5,8.5;3,1;okay;"..FS("Okay").."]".. + "box[0.5,2.3;5,5.9;#00000020]".. + "hypertext[0.5,2.3;5,5.9;info;" + + local info + local color = "#00ff00" + local H = minetest.hypertext_escape + if current_stats_level_pack_selection == "__singleton" then + local count = #lzr_editor.get_custom_levels() + local path = ""..DIR_DELIM.."levels" + + info = + ""..H(S("Single levels")).."\n".. + ""..H(S("Description")).."\n".. + H(S("Single, unsorted levels that don’t belong to any level pack.")).."\n".. + ""..H(S("Stats")).."\n".. + H(S("• Levels: @1", count)).."\n\n".. + + ""..H(S("File location")).."\n".. + H(S("Single levels are stored in:")).."\n".. + ""..H(path).."" + else + local level_data = lzr_levels.get_level_pack(current_stats_level_pack_selection) + local treasures_total = lzr_levels.count_total_treasures(level_data) + local treasures_found = lzr_levels.count_total_collected_treasures(level_data) + local treasures_percent = string.format("%d", (treasures_found / treasures_total) * 100) + + local levels_total = #level_data + local levels_completed = lzr_levels.count_completed_levels(level_data) + + local levels_percent = string.format("%d", (levels_completed / levels_total) * 100) + + local pack_description = level_data.description or S("(no description provided)") + + info = + ""..H(level_data.name).."\n".. + ""..H(S("Description")).."\n".. + H(pack_description).."\n".. + ""..H(S("Stats")).."\n".. + H(S("• Levels: @1 (@2 completed, @3%)", levels_total, levels_completed, levels_percent)).."\n".. + H(S("• Gold blocks: @1 (@2 found, @3%)", treasures_total, treasures_found, treasures_percent)).."\n\n".. + + ""..H(S("Mod")).."\n".. + ""..H(level_data.mod_origin).."" + + local privs = minetest.get_player_privs(player:get_player_name()) + if minetest.settings:get_bool("lzr_debug", true) or privs.server or privs.debug then + info = info .."\n".. + ""..H(S("Level pack ID")).."\n".. + ""..H(level_data.name).."" + end + end + + form = form .. F(info) .. "]" + + minetest.show_formspec(player:get_player_name(), "lzr_level_select:stats", form) +end + minetest.register_on_player_receive_fields(function(player, formname, fields) if lzr_gamestate.get_state() ~= lzr_gamestate.MENU then return @@ -294,6 +372,14 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) current_custom_level_pack_selection = custom_level_packs[idx] lzr_level_select.open_dialog(player, "custom") end + elseif formname == "lzr_level_select:stats" then + if fields.levelpack then + local idx = tonumber(fields.levelpack) + current_stats_level_pack_selection = custom_level_packs[idx] + if not fields.quit then + lzr_level_select.open_stats_dialog(player) + end + end end end) @@ -330,3 +416,15 @@ minetest.register_chatcommand("level", { }) +minetest.register_chatcommand("level_pack_stats", { + description = S("Display stats about the installed level packs"), + params = "", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return false, S("No player.") + end + lzr_level_select.open_stats_dialog(player) + return true + end, +}) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index f16219dd..f72cffe4 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -80,6 +80,18 @@ function lzr_levels.count_total_collected_treasures(level_data) return total end +-- Count number of all available gold blocks in a level pack. +function lzr_levels.count_total_treasures(level_data) + local total = 0 + for level_num=1, #level_data do + local level = level_data[level_num] + if level then + total = total + level.treasures + end + end + return total +end + -- Mod storage for game progress local mod_storage = minetest.get_mod_storage() @@ -1105,6 +1117,27 @@ function lzr_levels.get_completed_levels(level_data) end end +-- Returns number of completed levels in level pack +-- or nil if not applicable +function lzr_levels.count_completed_levels(level_data) + if level_data.is_singleton then + return nil + end + local levels = minetest.deserialize(mod_storage:get_string("lzr_levels:levels"), true) + if not levels then + return 0 + end + if levels[level_data.name] then + local count = 0 + for k,v in pairs(levels[level_data.name]) do + count = count + 1 + end + return count + else + return 0 + end +end + --[[ Checks the data format of the completed levels list in mod storage and updates it to the new format if neccessary. To be executed at mod load time. @@ -1365,6 +1398,7 @@ function lzr_levels.register_level_pack(name, level_data_file, schematic_path, s end level_data.name = name + level_data.mod_origin = minetest.get_current_modname() level_data.textdomain_npc_texts = info.textdomain_npc_texts level_data.textdomain_level_names = info.textdomain_level_names From 20cc967635cbbb84b7ee1038a98be4f4804147d7 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 02:42:59 +0100 Subject: [PATCH 50/84] Add level pack description and title --- mods/lzr_level_select/init.lua | 19 +++++++++++-------- mods/lzr_levels/init.lua | 2 ++ mods/lzr_levels_core/init.lua | 2 ++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index 868b5b09..c41b5323 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -21,22 +21,24 @@ local message_form = function(player, message) end local update_custom_level_packs = function(skip_core, level_pack_selection) - local packs = lzr_levels.get_level_pack_names() + local packnames = lzr_levels.get_level_pack_names() local mypacks = {} custom_level_packs = {} table.insert(custom_level_packs, "__singleton") table.insert(mypacks, FS("Single levels")) local dropdown_idx local pi = 1 -- counted pack index - for p=1, #packs do - local pack = packs[p] - if (not skip_core) or pack ~= "__core" then + for p=1, #packnames do + local packname = packnames[p] + if (not skip_core) or packname ~= "__core" then pi = pi + 1 - if pack == level_pack_selection then + if packname == level_pack_selection then dropdown_idx = pi end - table.insert(custom_level_packs, pack) - table.insert(mypacks, minetest.formspec_escape(pack)) + table.insert(custom_level_packs, packname) + local pack = lzr_levels.get_level_pack(packname) + local title = pack.title or packname + table.insert(mypacks, minetest.formspec_escape(title)) end end if level_pack_selection == "__singleton" then @@ -285,10 +287,11 @@ lzr_level_select.open_stats_dialog = function(player) local levels_percent = string.format("%d", (levels_completed / levels_total) * 100) + local title = level_data.title or level_data.name local pack_description = level_data.description or S("(no description provided)") info = - ""..H(level_data.name).."\n".. + ""..H(title).."\n".. ""..H(S("Description")).."\n".. H(pack_description).."\n".. ""..H(S("Stats")).."\n".. diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index f72cffe4..978bfa9e 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1401,6 +1401,8 @@ function lzr_levels.register_level_pack(name, level_data_file, schematic_path, s level_data.mod_origin = minetest.get_current_modname() level_data.textdomain_npc_texts = info.textdomain_npc_texts level_data.textdomain_level_names = info.textdomain_level_names + level_data.title = info.title + level_data.description = info.description registered_level_packs[name] = level_data diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 7089bfc7..7076c436 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -37,6 +37,8 @@ lzr_levels.register_level_pack("__core", minetest.get_modpath("lzr_levels_core").."/schematics", minetest.get_modpath("lzr_levels_core").."/solutions", { + title = S("Lazarr!"), + description = S("The main adventure that comes pre-installed with the game."), builtin = true, textdomain_npc_texts = "_lzr_levels_npc_texts", textdomain_level_names = "_lzr_levels_level_names", From fc4dc029c8f31e615fec8c2367165e6830d07718 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 02:43:55 +0100 Subject: [PATCH 51/84] Level pack stats nor work in all game modes --- mods/lzr_level_select/init.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index c41b5323..7506e6f9 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -315,10 +315,10 @@ lzr_level_select.open_stats_dialog = function(player) end minetest.register_on_player_receive_fields(function(player, formname, fields) - if lzr_gamestate.get_state() ~= lzr_gamestate.MENU then - return - end if formname == "lzr_level_select:levellist" then + if lzr_gamestate.get_state() ~= lzr_gamestate.MENU then + return + end local level_data = lzr_levels.get_level_pack("__core") if fields.okay then if current_core_level_selection then @@ -337,6 +337,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end elseif formname == "lzr_level_select:levellist_custom" then + if lzr_gamestate.get_state() ~= lzr_gamestate.MENU then + return + end if fields.okay then if custom_levels and current_custom_level_selection then if current_custom_level_pack_selection == "__singleton" then From 4feafadde8a1f857a42aa2607d69688a65782475 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 13 Dec 2024 21:36:09 +0000 Subject: [PATCH 52/84] Translated using Weblate (German) Currently translated at 100.0% (35 of 35 strings) Translation: Lazarr!/_lzr_levels_level_names Translate-URL: https://translate.codeberg.org/projects/lazarr/_lzr_levels_level_names/de/ --- .../lzr_levels/locale/_lzr_levels_level_names.de.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mods/lzr_levels/locale/_lzr_levels_level_names.de.po b/mods/lzr_levels/locale/_lzr_levels_level_names.de.po index eed64a91..31265d8b 100644 --- a/mods/lzr_levels/locale/_lzr_levels_level_names.de.po +++ b/mods/lzr_levels/locale/_lzr_levels_level_names.de.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the Lazarr! package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" "POT-Creation-Date: 2024-12-10 02:45+0100\n" -"PO-Revision-Date: 2024-12-10 05:23+0100\n" -"Last-Translator: Wuzzy \n" -"Language-Team: \n" +"PO-Revision-Date: 2024-12-14 03:13+0000\n" +"Last-Translator: Wuzzy \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.4.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8.4\n" msgid "Welcome to Lazarr!" msgstr "Willkommen bei Lazarr!" @@ -91,7 +92,7 @@ msgid "Inside the Seashell" msgstr "Im Inneren der Muschel" msgid "Crystal Room" -msgstr "Kritallraum" +msgstr "Kristallraum" msgid "Watery Lights" msgstr "Wasserlichter" From b48ec05250a9782b8dd0d57e806849b1f05f9ee7 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 04:14:42 +0100 Subject: [PATCH 53/84] Remember progress of non-core level packs --- mods/lzr_levels/init.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 978bfa9e..44abe167 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1038,8 +1038,12 @@ function lzr_levels.clear_level_progress(level_data) return end level_packs_completed[level_data.name] = nil + + local levels = minetest.deserialize(mod_storage:get_string("lzr_levels:levels"), true) + levels[level_data.name] = {} + mod_storage:set_string("lzr_levels:levels", minetest.serialize(levels)) + if level_data.name == "__core" then - mod_storage:set_string("lzr_levels:levels", "") lzr_menu.remove_painting("perfect_plunderer") -- Also needs to notify mods about changed @@ -1056,13 +1060,9 @@ function lzr_levels.mark_level_as_complete(level, level_data) if level_data.is_singleton then return end - -- Only core levels are supported - if level_data.name ~= "__core" then - return - end local levels = minetest.deserialize(mod_storage:get_string("lzr_levels:levels"), true) if not levels then - levels = { __core = {} } + levels = { [level_data.name] = {} } end if not level_data[level] then return false @@ -1070,7 +1070,7 @@ function lzr_levels.mark_level_as_complete(level, level_data) local levelname = level_data[level].filename levelname = string.sub(levelname, 1, -5) -- remove .mts suffix - levels.__core[levelname] = true + levels[level_data.name][levelname] = true mod_storage:set_string("lzr_levels:levels", minetest.serialize(levels)) -- Notify mods that the treasure count has changed @@ -1081,7 +1081,7 @@ function lzr_levels.mark_level_as_complete(level, level_data) -- Place 'Perfect Plunderer' painting in ship -- as some kind of "mini-achievement" - if lzr_levels.are_all_levels_completed(level_data) then + if level_data.name == "__core" and lzr_levels.are_all_levels_completed(level_data) then lzr_menu.place_painting("perfect_plunderer") end From ad9b8b8cb3f3b844ab6bb7a537703c3fc3dd533f Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 05:03:47 +0100 Subject: [PATCH 54/84] Explain level packs --- LEVEL_EDITOR.md | 3 ++ LEVEL_PACKS.md | 72 +++++++++++++++++++++++++++++++++++ mods/lzr_levels/init.lua | 27 ++++++++++++- mods/lzr_levels_core/init.lua | 3 -- 4 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 LEVEL_PACKS.md diff --git a/LEVEL_EDITOR.md b/LEVEL_EDITOR.md index 356d1701..ab242416 100644 --- a/LEVEL_EDITOR.md +++ b/LEVEL_EDITOR.md @@ -224,6 +224,9 @@ If you think you made a nice level, send it to Wuzzy per e-mail at Wuzzy@disroot.org. This game desperately needs more levels, so submissions are appreciated. :D +If you have multiple levels, you may construct a level pack. See +`LEVEL_PACKS.md` for details. + ### Technical steps diff --git a/LEVEL_PACKS.md b/LEVEL_PACKS.md new file mode 100644 index 00000000..ce79fa65 --- /dev/null +++ b/LEVEL_PACKS.md @@ -0,0 +1,72 @@ +# Level packs + +A level pack is a collection of levels that belong together. + +This is the best way to store and share custom levels, but it requires +Lua programming skills to add a new level pack. + +To add a new level pack, a new Luanti mod must be created containing these things: + +1) Level schematic (`*.mts`) files. These are for the blocks +2) Level metadata in a level data CSV file. This contains all information that + the schematic file cannot hold, e.g. title, boundary blocks, weather, sky, etc. + The level data CSV specifies the metadata for ALL levels at once. + This file also defines the level order. Levels at the top will be played first. +3) Lua code to register the level pack (see below) + +The Lua mod must depend on `lzr_levels`. + +## File structure + +Normally, the file structure of the mod is as follows: + +* `mod.conf`: Must declare dependency on `lzr_levels` +* `init.lua`: Lua code to register level pack (see below) +* `data/level_data.csv`: CSV file for level metadata for ALL levels +* `schematics/`: The level `*.mts` files go here +* `solutions/`: (optional) Level solution files `*.sol.csv` go here. +* `locale/`: (optional) To store the locale files, if present + +Some of these file locations may be changed by parameters of the +function `lzr_levels.register_level_pack`. + +## Register the level pack + +To register a level pack, you must call `lzr_levels.register_level_pack`. +The full definition of this function can be found in the code comment above that +function in the `lzr_levels` mod. + +If successful, the level pack will appear in the game under the custom levels menu. + +### Example + +A simple example with one level, translated into German. + +First, the file structure: + +* `mod.conf` +* `init.lua` +* `schematics` + * `example.mts` +* `data` + * `level_data.csv` +* `locale` + * `example_levels.pot` + * `example_levels.po.de` + * `example_levels_level_names.pot` + * `example_levels_level_names.de.po` + * `example_levels_npc_texts.pot` + * `example_levels_npc_texts.de.po` +``` + +local S = minetest.get_translator("example_levels") + +lzr_levels.register_level_pack("example", + { + title = S("My Example Levels"), + description = S("Some example levels to test things."), + textdomain_npc_texts = "example_levels_npc_texts", + textdomain_level_names = "example_levels_level_names", + } +) +``` diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 44abe167..7c73cea1 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1379,7 +1379,32 @@ function lzr_levels.get_current_level_data() return current_level_data end -function lzr_levels.register_level_pack(name, level_data_file, schematic_path, solutions_path, info) +--[[ + Register a level pack. A level pack is a collection of levels that belong together. + For this to work, the level-related data must be present in the locations defined at + level_data_file, schematic_path and (optionally) solutions_path described below. + + If successful, the level pack will appear in the game under the custom levels menu. + + Parameters: + * name: level pack ID (string, allowed characters are a-z, A-Z, 0-9 and _ (underscore)) + * info: Table of optional additional information, with these fields: + * title: human-readable level pack title + * description: short description/explanation about this level pack. 1-3 sentences. + * textdomain_level_names: textdomain of the translation file containing the translated level names (default: no translation) + * textdomain_npc_texts: textdomain of the translation file containing the translated texts for NPCs like Goldie the Parrot (default: no translation) + * level_data_file: Path to CSV file containing metadata of all levels (default: /data/level_data.csv) + * schematic_path: Path to directory containing the level '.mts' schematic files (default: /schematics) + * solutions_path: Path to directory containing the OPTIONAL level '.sol.csv' solution files (default: /solutions) +]] +function lzr_levels.register_level_pack(name, info) + + local mod = minetest.get_current_modname() + + local level_data_file = info.level_data_path or minetest.get_modpath(mod).."/data/level_data.csv" + local schematic_path = info.schematic_path or minetest.get_modpath(mod).."/schematics" + local solutions_path = info.solutions_path or minetest.get_modpath(mod).."/solutions" + local error_type, error_msg, error_detail local level_data level_data, error_type, error_msg, error_detail = lzr_levels.analyze_levels( diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 7076c436..90842b1d 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -33,9 +33,6 @@ if minetest.settings:get_bool("lzr_debug", false) then end lzr_levels.register_level_pack("__core", - minetest.get_modpath("lzr_levels_core").."/data/level_data.csv", - minetest.get_modpath("lzr_levels_core").."/schematics", - minetest.get_modpath("lzr_levels_core").."/solutions", { title = S("Lazarr!"), description = S("The main adventure that comes pre-installed with the game."), From 959b7c41bd08ccd33cc30e88d9a26a25ce36c74e Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 12:27:10 +0100 Subject: [PATCH 55/84] Rename core level locale files --- mods/lzr_levels_core/init.lua | 4 ++-- ...ls_level_names.de.po => lzr_levels_core_level_names.de.po} | 0 ...ls_level_names.es.po => lzr_levels_core_level_names.es.po} | 0 ...ls_level_names.fr.po => lzr_levels_core_level_names.fr.po} | 0 ...ls_level_names.id.po => lzr_levels_core_level_names.id.po} | 0 ...ls_level_names.it.po => lzr_levels_core_level_names.it.po} | 0 ..._level_names.jbo.po => lzr_levels_core_level_names.jbo.po} | 0 ...ls_level_names.ms.po => lzr_levels_core_level_names.ms.po} | 0 ...levels_level_names.pot => lzr_levels_core_level_names.pot} | 0 ...el_names.pt_BR.po => lzr_levels_core_level_names.pt_BR.po} | 0 ...ls_level_names.ru.po => lzr_levels_core_level_names.ru.po} | 0 ...ls_level_names.se.po => lzr_levels_core_level_names.se.po} | 0 ...ls_level_names.sk.po => lzr_levels_core_level_names.sk.po} | 0 ...ls_level_names.tr.po => lzr_levels_core_level_names.tr.po} | 0 ...ames.zh_Hans.po => lzr_levels_core_level_names.zh_Hans.po} | 0 ...el_names.zh_TW.po => lzr_levels_core_level_names.zh_TW.po} | 0 ...levels_npc_texts.de.po => lzr_levels_core_npc_texts.de.po} | 0 ...levels_npc_texts.es.po => lzr_levels_core_npc_texts.es.po} | 0 ...levels_npc_texts.fr.po => lzr_levels_core_npc_texts.fr.po} | 0 ...levels_npc_texts.id.po => lzr_levels_core_npc_texts.id.po} | 0 ...levels_npc_texts.it.po => lzr_levels_core_npc_texts.it.po} | 0 ...vels_npc_texts.jbo.po => lzr_levels_core_npc_texts.jbo.po} | 0 ...levels_npc_texts.ms.po => lzr_levels_core_npc_texts.ms.po} | 0 ...lzr_levels_npc_texts.pot => lzr_levels_core_npc_texts.pot} | 0 ..._npc_texts.pt_BR.po => lzr_levels_core_npc_texts.pt_BR.po} | 0 ...levels_npc_texts.ru.po => lzr_levels_core_npc_texts.ru.po} | 0 ...levels_npc_texts.se.po => lzr_levels_core_npc_texts.se.po} | 0 ...levels_npc_texts.sk.po => lzr_levels_core_npc_texts.sk.po} | 0 ...levels_npc_texts.tr.po => lzr_levels_core_npc_texts.tr.po} | 0 ..._texts.zh_Hans.po => lzr_levels_core_npc_texts.zh_Hans.po} | 0 ..._texts.zh_Hant.po => lzr_levels_core_npc_texts.zh_Hant.po} | 0 31 files changed, 2 insertions(+), 2 deletions(-) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.de.po => lzr_levels_core_level_names.de.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.es.po => lzr_levels_core_level_names.es.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.fr.po => lzr_levels_core_level_names.fr.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.id.po => lzr_levels_core_level_names.id.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.it.po => lzr_levels_core_level_names.it.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.jbo.po => lzr_levels_core_level_names.jbo.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.ms.po => lzr_levels_core_level_names.ms.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.pot => lzr_levels_core_level_names.pot} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.pt_BR.po => lzr_levels_core_level_names.pt_BR.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.ru.po => lzr_levels_core_level_names.ru.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.se.po => lzr_levels_core_level_names.se.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.sk.po => lzr_levels_core_level_names.sk.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.tr.po => lzr_levels_core_level_names.tr.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.zh_Hans.po => lzr_levels_core_level_names.zh_Hans.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_level_names.zh_TW.po => lzr_levels_core_level_names.zh_TW.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.de.po => lzr_levels_core_npc_texts.de.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.es.po => lzr_levels_core_npc_texts.es.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.fr.po => lzr_levels_core_npc_texts.fr.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.id.po => lzr_levels_core_npc_texts.id.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.it.po => lzr_levels_core_npc_texts.it.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.jbo.po => lzr_levels_core_npc_texts.jbo.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.ms.po => lzr_levels_core_npc_texts.ms.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.pot => lzr_levels_core_npc_texts.pot} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.pt_BR.po => lzr_levels_core_npc_texts.pt_BR.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.ru.po => lzr_levels_core_npc_texts.ru.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.se.po => lzr_levels_core_npc_texts.se.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.sk.po => lzr_levels_core_npc_texts.sk.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.tr.po => lzr_levels_core_npc_texts.tr.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.zh_Hans.po => lzr_levels_core_npc_texts.zh_Hans.po} (100%) rename mods/lzr_levels_core/locale/{_lzr_levels_npc_texts.zh_Hant.po => lzr_levels_core_npc_texts.zh_Hant.po} (100%) diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index 90842b1d..f91817e7 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -37,7 +37,7 @@ lzr_levels.register_level_pack("__core", title = S("Lazarr!"), description = S("The main adventure that comes pre-installed with the game."), builtin = true, - textdomain_npc_texts = "_lzr_levels_npc_texts", - textdomain_level_names = "_lzr_levels_level_names", + textdomain_npc_texts = "lzr_levels_core_npc_texts", + textdomain_level_names = "lzr_levels_core_level_names", } ) diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.de.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.de.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.de.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.de.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.es.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.es.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.es.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.es.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.fr.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.fr.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.fr.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.fr.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.id.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.id.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.id.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.id.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.it.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.it.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.it.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.it.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.jbo.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.jbo.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.jbo.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.jbo.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.ms.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.ms.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.ms.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.ms.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.pot b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.pot similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.pot rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.pot diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.pt_BR.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.pt_BR.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.pt_BR.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.pt_BR.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.ru.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.ru.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.ru.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.ru.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.se.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.se.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.se.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.se.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.sk.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.sk.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.sk.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.sk.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.tr.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.tr.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.tr.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.tr.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_Hans.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.zh_Hans.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_Hans.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.zh_Hans.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_TW.po b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.zh_TW.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_level_names.zh_TW.po rename to mods/lzr_levels_core/locale/lzr_levels_core_level_names.zh_TW.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.de.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.de.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.de.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.de.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.es.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.es.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.es.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.es.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.fr.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.fr.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.fr.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.fr.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.id.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.id.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.id.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.id.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.it.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.it.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.it.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.it.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.jbo.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.jbo.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.jbo.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.jbo.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ms.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.ms.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ms.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.ms.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pot b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pot similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pot rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pot diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pt_BR.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pt_BR.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.pt_BR.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pt_BR.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ru.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.ru.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.ru.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.ru.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.se.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.se.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.se.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.se.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.sk.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.sk.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.sk.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.sk.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.tr.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.tr.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.tr.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.tr.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hans.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.zh_Hans.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hans.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.zh_Hans.po diff --git a/mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hant.po b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.zh_Hant.po similarity index 100% rename from mods/lzr_levels_core/locale/_lzr_levels_npc_texts.zh_Hant.po rename to mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.zh_Hant.po From 2c7c8549ba6fe0e0e2680d79ae8bde6a2c5e8a08 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 12:32:37 +0100 Subject: [PATCH 56/84] Move legacy_level_names.csv back to lzr_levels --- mods/{lzr_levels_core => lzr_levels}/data/legacy_level_names.csv | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mods/{lzr_levels_core => lzr_levels}/data/legacy_level_names.csv (100%) diff --git a/mods/lzr_levels_core/data/legacy_level_names.csv b/mods/lzr_levels/data/legacy_level_names.csv similarity index 100% rename from mods/lzr_levels_core/data/legacy_level_names.csv rename to mods/lzr_levels/data/legacy_level_names.csv From fb7f386b455d7fa2ead1e6f6ce666bb30be77331 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:24:58 +0100 Subject: [PATCH 57/84] Add locale for lzr_levels_core.pot --- mods/lzr_levels_core/init.lua | 1 + .../locale/lzr_levels_core.pot | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 mods/lzr_levels_core/locale/lzr_levels_core.pot diff --git a/mods/lzr_levels_core/init.lua b/mods/lzr_levels_core/init.lua index f91817e7..3e3a4341 100644 --- a/mods/lzr_levels_core/init.lua +++ b/mods/lzr_levels_core/init.lua @@ -34,6 +34,7 @@ end lzr_levels.register_level_pack("__core", { + --~ Name of main level pack, should be same as the game name title = S("Lazarr!"), description = S("The main adventure that comes pre-installed with the game."), builtin = true, diff --git a/mods/lzr_levels_core/locale/lzr_levels_core.pot b/mods/lzr_levels_core/locale/lzr_levels_core.pot new file mode 100644 index 00000000..0484c9fe --- /dev/null +++ b/mods/lzr_levels_core/locale/lzr_levels_core.pot @@ -0,0 +1,31 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Lazarr! package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Lazarr! 2.0.0\n" +"Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" +"POT-Creation-Date: 2024-12-14 13:24+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: init.lua:13 +msgid "Mark all core levels as complete except one" +msgstr "" + +#. ~ Name of main level pack, should be same as the game name +#: init.lua:38 +msgid "Lazarr!" +msgstr "" + +#: init.lua:39 +msgid "The main adventure that comes pre-installed with the game." +msgstr "" From 0b8f6fc2fa733816fef7d0207b9236735f7c8813 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:57:43 +0100 Subject: [PATCH 58/84] Add German translation for lzr_levels_core --- .../locale/lzr_levels_core.de.po | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 mods/lzr_levels_core/locale/lzr_levels_core.de.po diff --git a/mods/lzr_levels_core/locale/lzr_levels_core.de.po b/mods/lzr_levels_core/locale/lzr_levels_core.de.po new file mode 100644 index 00000000..0ef1e0a3 --- /dev/null +++ b/mods/lzr_levels_core/locale/lzr_levels_core.de.po @@ -0,0 +1,32 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Lazarr! package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Lazarr! 2.0.0\n" +"Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" +"POT-Creation-Date: 2024-12-14 13:24+0100\n" +"PO-Revision-Date: 2024-12-14 13:31+0100\n" +"Last-Translator: Wuzzy \n" +"Language-Team: \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.4.2\n" + +#: init.lua:13 +msgid "Mark all core levels as complete except one" +msgstr "Alle (außer einen) Hauptlevels als fertig markieren" + +#. ~ Name of main level pack, should be same as the game name +#: init.lua:38 +msgid "Lazarr!" +msgstr "Lazarr!" + +#: init.lua:39 +msgid "The main adventure that comes pre-installed with the game." +msgstr "Das Hauptabenteuer, das vorinstalliert mit dem Spiel kommt." From 396b70119054192ff7d9e8625e9e27a7eefd217b Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:58:02 +0100 Subject: [PATCH 59/84] Update POT files --- mods/lzr_ambience/locale/lzr_ambience.pot | 2 +- .../locale/lzr_check_movement_settings.pot | 2 +- .../locale/lzr_check_world_backend.pot | 2 +- mods/lzr_core/locale/lzr_core.pot | 2 +- mods/lzr_decor/locale/lzr_decor.pot | 2 +- mods/lzr_devmode/locale/lzr_devmode.pot | 2 +- mods/lzr_editor/locale/lzr_editor.pot | 156 +++++++++--------- mods/lzr_fallout/locale/lzr_fallout.pot | 8 +- mods/lzr_getitem/locale/lzr_getitem.pot | 2 +- mods/lzr_gui/locale/lzr_gui.pot | 2 +- mods/lzr_hook/locale/lzr_hook.pot | 8 +- .../locale/lzr_incomplete_message.pot | 12 +- mods/lzr_infobooks/locale/lzr_infobooks.pot | 2 +- mods/lzr_laser/locale/lzr_laser.pot | 12 +- .../locale/lzr_level_select.pot | 151 +++++++++++++---- mods/lzr_levels/locale/lzr_levels.pot | 70 +++----- mods/lzr_mapgen/locale/lzr_mapgen.pot | 2 +- mods/lzr_menu/locale/lzr_menu.pot | 134 ++++++++------- mods/lzr_parrot_npc/locale/lzr_parrot_npc.pot | 153 +++++++++++++++-- mods/lzr_plants/locale/lzr_plants.pot | 2 +- mods/lzr_player/locale/lzr_player.pot | 2 +- mods/lzr_sky/locale/lzr_sky.pot | 2 +- mods/lzr_solutions/locale/lzr_solutions.pot | 46 +++--- mods/lzr_stairs/locale/lzr_stairs.pot | 2 +- mods/lzr_teleporter/locale/lzr_teleporter.pot | 2 +- mods/lzr_tools/locale/lzr_tools.pot | 2 +- mods/lzr_treasure/locale/lzr_treasure.pot | 2 +- mods/lzr_triggers/locale/lzr_triggers.pot | 2 +- mods/lzr_tt/locale/lzr_tt.pot | 2 +- mods/lzr_weather/locale/lzr_weather.pot | 2 +- mods/no_multiplayer/locale/no_multiplayer.pot | 2 +- 31 files changed, 493 insertions(+), 299 deletions(-) diff --git a/mods/lzr_ambience/locale/lzr_ambience.pot b/mods/lzr_ambience/locale/lzr_ambience.pot index 7a1cace1..0a5a6042 100644 --- a/mods/lzr_ambience/locale/lzr_ambience.pot +++ b/mods/lzr_ambience/locale/lzr_ambience.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_check_movement_settings/locale/lzr_check_movement_settings.pot b/mods/lzr_check_movement_settings/locale/lzr_check_movement_settings.pot index 760dc3ee..464cc25f 100644 --- a/mods/lzr_check_movement_settings/locale/lzr_check_movement_settings.pot +++ b/mods/lzr_check_movement_settings/locale/lzr_check_movement_settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_check_world_backend/locale/lzr_check_world_backend.pot b/mods/lzr_check_world_backend/locale/lzr_check_world_backend.pot index 37390140..7680a6ab 100644 --- a/mods/lzr_check_world_backend/locale/lzr_check_world_backend.pot +++ b/mods/lzr_check_world_backend/locale/lzr_check_world_backend.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_core/locale/lzr_core.pot b/mods/lzr_core/locale/lzr_core.pot index 8b2b3973..8b330877 100644 --- a/mods/lzr_core/locale/lzr_core.pot +++ b/mods/lzr_core/locale/lzr_core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_decor/locale/lzr_decor.pot b/mods/lzr_decor/locale/lzr_decor.pot index f7f391dc..739d8512 100644 --- a/mods/lzr_decor/locale/lzr_decor.pot +++ b/mods/lzr_decor/locale/lzr_decor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_devmode/locale/lzr_devmode.pot b/mods/lzr_devmode/locale/lzr_devmode.pot index e6bb3039..a2ee0670 100644 --- a/mods/lzr_devmode/locale/lzr_devmode.pot +++ b/mods/lzr_devmode/locale/lzr_devmode.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_editor/locale/lzr_editor.pot b/mods/lzr_editor/locale/lzr_editor.pot index 3b0efafb..96a0f5c2 100644 --- a/mods/lzr_editor/locale/lzr_editor.pot +++ b/mods/lzr_editor/locale/lzr_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -38,293 +38,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.pot b/mods/lzr_fallout/locale/lzr_fallout.pot index 9665b702..8308bb79 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.pot +++ b/mods/lzr_fallout/locale/lzr_fallout.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,16 +23,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_getitem/locale/lzr_getitem.pot b/mods/lzr_getitem/locale/lzr_getitem.pot index 10a418a3..0781ec7c 100644 --- a/mods/lzr_getitem/locale/lzr_getitem.pot +++ b/mods/lzr_getitem/locale/lzr_getitem.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_gui/locale/lzr_gui.pot b/mods/lzr_gui/locale/lzr_gui.pot index 61ac1761..4bc4936b 100644 --- a/mods/lzr_gui/locale/lzr_gui.pot +++ b/mods/lzr_gui/locale/lzr_gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_hook/locale/lzr_hook.pot b/mods/lzr_hook/locale/lzr_hook.pot index 6821df08..b9825eb1 100644 --- a/mods/lzr_hook/locale/lzr_hook.pot +++ b/mods/lzr_hook/locale/lzr_hook.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,14 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pot b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pot index 31454911..ec0f6eac 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pot +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pot @@ -8,23 +8,15 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_infobooks/locale/lzr_infobooks.pot b/mods/lzr_infobooks/locale/lzr_infobooks.pot index 594a8ac0..f0c84589 100644 --- a/mods/lzr_infobooks/locale/lzr_infobooks.pot +++ b/mods/lzr_infobooks/locale/lzr_infobooks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_laser/locale/lzr_laser.pot b/mods/lzr_laser/locale/lzr_laser.pot index 123d5dc8..6568e5fb 100644 --- a/mods/lzr_laser/locale/lzr_laser.pot +++ b/mods/lzr_laser/locale/lzr_laser.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -283,7 +283,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -304,21 +304,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.pot b/mods/lzr_level_select/locale/lzr_level_select.pot index 0f8a4724..cb463950 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.pot +++ b/mods/lzr_level_select/locale/lzr_level_select.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,98 +17,185 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.pot b/mods/lzr_levels/locale/lzr_levels.pot index 6cf95f9c..165ff011 100644 --- a/mods/lzr_levels/locale/lzr_levels.pot +++ b/mods/lzr_levels/locale/lzr_levels.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,124 +17,108 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_mapgen/locale/lzr_mapgen.pot b/mods/lzr_mapgen/locale/lzr_mapgen.pot index 71888146..7aead8a1 100644 --- a/mods/lzr_mapgen/locale/lzr_mapgen.pot +++ b/mods/lzr_mapgen/locale/lzr_mapgen.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_menu/locale/lzr_menu.pot b/mods/lzr_menu/locale/lzr_menu.pot index 93cbcb23..ed923b4e 100644 --- a/mods/lzr_menu/locale/lzr_menu.pot +++ b/mods/lzr_menu/locale/lzr_menu.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,259 +18,267 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pot b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pot index a80f70bb..3e2ebb42 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pot +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pot @@ -8,52 +8,171 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_plants/locale/lzr_plants.pot b/mods/lzr_plants/locale/lzr_plants.pot index 731d50cc..1eaae04f 100644 --- a/mods/lzr_plants/locale/lzr_plants.pot +++ b/mods/lzr_plants/locale/lzr_plants.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_player/locale/lzr_player.pot b/mods/lzr_player/locale/lzr_player.pot index 6beeb61b..dbb5e4fa 100644 --- a/mods/lzr_player/locale/lzr_player.pot +++ b/mods/lzr_player/locale/lzr_player.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_sky/locale/lzr_sky.pot b/mods/lzr_sky/locale/lzr_sky.pot index de4abb53..9f672b44 100644 --- a/mods/lzr_sky/locale/lzr_sky.pot +++ b/mods/lzr_sky/locale/lzr_sky.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_solutions/locale/lzr_solutions.pot b/mods/lzr_solutions/locale/lzr_solutions.pot index 48b68106..f8e8c291 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.pot +++ b/mods/lzr_solutions/locale/lzr_solutions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,86 +17,86 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_stairs/locale/lzr_stairs.pot b/mods/lzr_stairs/locale/lzr_stairs.pot index 4298b04a..e481ae07 100644 --- a/mods/lzr_stairs/locale/lzr_stairs.pot +++ b/mods/lzr_stairs/locale/lzr_stairs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_teleporter/locale/lzr_teleporter.pot b/mods/lzr_teleporter/locale/lzr_teleporter.pot index 8815e089..9caf3227 100644 --- a/mods/lzr_teleporter/locale/lzr_teleporter.pot +++ b/mods/lzr_teleporter/locale/lzr_teleporter.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_tools/locale/lzr_tools.pot b/mods/lzr_tools/locale/lzr_tools.pot index 3140919a..ea677b3b 100644 --- a/mods/lzr_tools/locale/lzr_tools.pot +++ b/mods/lzr_tools/locale/lzr_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_treasure/locale/lzr_treasure.pot b/mods/lzr_treasure/locale/lzr_treasure.pot index 7f44db88..aaed2fac 100644 --- a/mods/lzr_treasure/locale/lzr_treasure.pot +++ b/mods/lzr_treasure/locale/lzr_treasure.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_triggers/locale/lzr_triggers.pot b/mods/lzr_triggers/locale/lzr_triggers.pot index fecc0d8a..4171fea4 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.pot +++ b/mods/lzr_triggers/locale/lzr_triggers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_tt/locale/lzr_tt.pot b/mods/lzr_tt/locale/lzr_tt.pot index db87404d..e901a263 100644 --- a/mods/lzr_tt/locale/lzr_tt.pot +++ b/mods/lzr_tt/locale/lzr_tt.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/lzr_weather/locale/lzr_weather.pot b/mods/lzr_weather/locale/lzr_weather.pot index bd552d96..35f90724 100644 --- a/mods/lzr_weather/locale/lzr_weather.pot +++ b/mods/lzr_weather/locale/lzr_weather.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mods/no_multiplayer/locale/no_multiplayer.pot b/mods/no_multiplayer/locale/no_multiplayer.pot index e94afaa3..c81a17e3 100644 --- a/mods/no_multiplayer/locale/no_multiplayer.pot +++ b/mods/no_multiplayer/locale/no_multiplayer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 86bbabf11cf048f4d4eb277ecd6e4b33fd25bf76 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:59:36 +0100 Subject: [PATCH 60/84] Update PO files --- mods/lzr_editor/locale/lzr_editor.de.po | 169 +++--- mods/lzr_editor/locale/lzr_editor.es.po | 169 +++--- mods/lzr_editor/locale/lzr_editor.fr.po | 169 +++--- mods/lzr_editor/locale/lzr_editor.id.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.it.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.jbo.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.ms.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.pt_BR.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.ru.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.se.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.sk.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.tr.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.zh_Hans.po | 156 +++--- mods/lzr_editor/locale/lzr_editor.zh_TW.po | 156 +++--- mods/lzr_fallout/locale/lzr_fallout.de.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.es.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.fr.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.id.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.it.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.jbo.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.ms.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.pt_BR.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.ru.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.se.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.sk.po | 8 +- mods/lzr_fallout/locale/lzr_fallout.tr.po | 8 +- .../lzr_fallout/locale/lzr_fallout.zh_Hans.po | 8 +- .../lzr_fallout/locale/lzr_fallout.zh_Hant.po | 8 +- mods/lzr_hook/locale/lzr_hook.de.po | 8 +- mods/lzr_hook/locale/lzr_hook.es.po | 8 +- mods/lzr_hook/locale/lzr_hook.fr.po | 8 +- mods/lzr_hook/locale/lzr_hook.id.po | 8 +- mods/lzr_hook/locale/lzr_hook.it.po | 8 +- mods/lzr_hook/locale/lzr_hook.jbo.po | 8 +- mods/lzr_hook/locale/lzr_hook.ms.po | 8 +- mods/lzr_hook/locale/lzr_hook.pt_BR.po | 8 +- mods/lzr_hook/locale/lzr_hook.ru.po | 8 +- mods/lzr_hook/locale/lzr_hook.se.po | 8 +- mods/lzr_hook/locale/lzr_hook.sk.po | 8 +- mods/lzr_hook/locale/lzr_hook.tr.po | 8 +- mods/lzr_hook/locale/lzr_hook.zh_Hans.po | 8 +- mods/lzr_hook/locale/lzr_hook.zh_Hant.po | 8 +- .../locale/lzr_incomplete_message.de.po | 17 +- .../locale/lzr_incomplete_message.es.po | 17 +- .../locale/lzr_incomplete_message.fr.po | 13 +- .../locale/lzr_incomplete_message.id.po | 10 +- .../locale/lzr_incomplete_message.it.po | 10 +- .../locale/lzr_incomplete_message.jbo.po | 10 +- .../locale/lzr_incomplete_message.ms.po | 10 +- .../locale/lzr_incomplete_message.pt_BR.po | 10 +- .../locale/lzr_incomplete_message.ru.po | 14 +- .../locale/lzr_incomplete_message.se.po | 10 +- .../locale/lzr_incomplete_message.sk.po | 10 +- .../locale/lzr_incomplete_message.tr.po | 10 +- .../locale/lzr_incomplete_message.zh_Hans.po | 10 +- .../locale/lzr_incomplete_message.zh_Hant.po | 10 +- mods/lzr_laser/locale/lzr_laser.de.po | 12 +- mods/lzr_laser/locale/lzr_laser.es.po | 12 +- mods/lzr_laser/locale/lzr_laser.fr.po | 12 +- mods/lzr_laser/locale/lzr_laser.id.po | 12 +- mods/lzr_laser/locale/lzr_laser.it.po | 12 +- mods/lzr_laser/locale/lzr_laser.jbo.po | 12 +- mods/lzr_laser/locale/lzr_laser.ms.po | 12 +- mods/lzr_laser/locale/lzr_laser.pt_BR.po | 12 +- mods/lzr_laser/locale/lzr_laser.ru.po | 12 +- mods/lzr_laser/locale/lzr_laser.se.po | 12 +- mods/lzr_laser/locale/lzr_laser.sk.po | 12 +- mods/lzr_laser/locale/lzr_laser.tr.po | 12 +- mods/lzr_laser/locale/lzr_laser.zh_Hans.po | 12 +- mods/lzr_laser/locale/lzr_laser.zh_Hant.po | 12 +- .../locale/lzr_level_select.de.po | 181 ++++-- .../locale/lzr_level_select.es.po | 181 ++++-- .../locale/lzr_level_select.fr.po | 181 ++++-- .../locale/lzr_level_select.id.po | 151 +++-- .../locale/lzr_level_select.it.po | 151 +++-- .../locale/lzr_level_select.jbo.po | 151 +++-- .../locale/lzr_level_select.ms.po | 151 +++-- .../locale/lzr_level_select.pt_BR.po | 181 ++++-- .../locale/lzr_level_select.ru.po | 181 ++++-- .../locale/lzr_level_select.se.po | 151 +++-- .../locale/lzr_level_select.sk.po | 151 +++-- .../locale/lzr_level_select.tr.po | 166 ++++-- .../locale/lzr_level_select.zh_Hans.po | 151 +++-- .../locale/lzr_level_select.zh_Hant.po | 151 +++-- mods/lzr_levels/locale/lzr_levels.de.po | 76 ++- mods/lzr_levels/locale/lzr_levels.es.po | 74 ++- mods/lzr_levels/locale/lzr_levels.fr.po | 78 ++- mods/lzr_levels/locale/lzr_levels.id.po | 70 +-- mods/lzr_levels/locale/lzr_levels.it.po | 70 +-- mods/lzr_levels/locale/lzr_levels.jbo.po | 70 +-- mods/lzr_levels/locale/lzr_levels.ms.po | 70 +-- mods/lzr_levels/locale/lzr_levels.pt_BR.po | 70 +-- mods/lzr_levels/locale/lzr_levels.ru.po | 74 ++- mods/lzr_levels/locale/lzr_levels.se.po | 70 +-- mods/lzr_levels/locale/lzr_levels.sk.po | 70 +-- mods/lzr_levels/locale/lzr_levels.tr.po | 70 +-- mods/lzr_levels/locale/lzr_levels.zh_Hans.po | 70 +-- mods/lzr_levels/locale/lzr_levels.zh_TW.po | 73 ++- mods/lzr_menu/locale/lzr_menu.de.po | 135 ++--- mods/lzr_menu/locale/lzr_menu.es.po | 135 ++--- mods/lzr_menu/locale/lzr_menu.fr.po | 135 ++--- mods/lzr_menu/locale/lzr_menu.id.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.it.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.jbo.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.ms.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.pt_BR.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.ru.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.se.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.sk.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.tr.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.zh_Hans.po | 134 ++--- mods/lzr_menu/locale/lzr_menu.zh_TW.po | 134 ++--- .../locale/lzr_parrot_npc.de.po | 167 +++++- .../locale/lzr_parrot_npc.es.po | 167 +++++- .../locale/lzr_parrot_npc.fr.po | 167 +++++- .../locale/lzr_parrot_npc.id.po | 148 ++++- .../locale/lzr_parrot_npc.it.po | 150 ++++- .../locale/lzr_parrot_npc.jbo.po | 148 ++++- .../locale/lzr_parrot_npc.ms.po | 148 ++++- .../locale/lzr_parrot_npc.pt_BR.po | 150 ++++- .../locale/lzr_parrot_npc.ru.po | 152 ++++- .../locale/lzr_parrot_npc.se.po | 150 ++++- .../locale/lzr_parrot_npc.sk.po | 152 ++++- .../locale/lzr_parrot_npc.tr.po | 150 ++++- .../locale/lzr_parrot_npc.zh_Hans.po | 150 ++++- .../locale/lzr_parrot_npc.zh_Hant.po | 150 ++++- mods/lzr_solutions/locale/lzr_solutions.de.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.es.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.fr.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.id.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.it.po | 46 +- .../lzr_solutions/locale/lzr_solutions.jbo.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.ms.po | 46 +- .../locale/lzr_solutions.pt_BR.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.ru.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.se.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.sk.po | 46 +- mods/lzr_solutions/locale/lzr_solutions.tr.po | 46 +- .../locale/lzr_solutions.zh_Hans.po | 46 +- .../locale/lzr_solutions.zh_Hant.po | 46 +- mods/lzr_tools/locale/lzr_tools.it.po | 4 +- mods/lzr_triggers/locale/lzr_triggers.de.po | 518 ++++++++--------- mods/lzr_triggers/locale/lzr_triggers.es.po | 524 ++++++++---------- mods/lzr_triggers/locale/lzr_triggers.fr.po | 524 ++++++++---------- mods/lzr_triggers/locale/lzr_triggers.id.po | 302 ++-------- mods/lzr_triggers/locale/lzr_triggers.it.po | 302 ++-------- mods/lzr_triggers/locale/lzr_triggers.jbo.po | 302 ++-------- mods/lzr_triggers/locale/lzr_triggers.ms.po | 302 ++-------- .../lzr_triggers/locale/lzr_triggers.pt_BR.po | 302 ++-------- mods/lzr_triggers/locale/lzr_triggers.ru.po | 303 ++-------- mods/lzr_triggers/locale/lzr_triggers.se.po | 302 ++-------- mods/lzr_triggers/locale/lzr_triggers.sk.po | 302 ++-------- mods/lzr_triggers/locale/lzr_triggers.tr.po | 302 ++-------- .../locale/lzr_triggers.zh_Hans.po | 302 ++-------- .../locale/lzr_triggers.zh_Hant.po | 302 ++-------- 155 files changed, 8017 insertions(+), 7608 deletions(-) diff --git a/mods/lzr_editor/locale/lzr_editor.de.po b/mods/lzr_editor/locale/lzr_editor.de.po index 1974f14b..77226cb5 100644 --- a/mods/lzr_editor/locale/lzr_editor.de.po +++ b/mods/lzr_editor/locale/lzr_editor.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,232 +34,238 @@ msgid "Rooted plant in level area" msgstr "Verwurzelte Pflanze im Levelbereich" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" -msgstr "Mehr als ein Informationsblock" +#, fuzzy +msgid "More than one parrot spawner" +msgstr "Mehr als ein Teleporter" #: mods/lzr_editor/init.lua:87 +#, fuzzy +msgid "More than one hidden parrot spawner" +msgstr "Mehr als ein Teleporter" + +#: mods/lzr_editor/init.lua:88 +msgid "Bad param2 for hidden parrot spawner" +msgstr "" + +#: mods/lzr_editor/init.lua:89 msgid "Trigger is out of bounds" msgstr "Auslöser ist außerhalb der Grenzen" -#: mods/lzr_editor/init.lua:88 +#: mods/lzr_editor/init.lua:90 msgid "Trigger ID does not match location" msgstr "Auslöser-ID passt nicht zum Ort" -#: mods/lzr_editor/init.lua:89 +#: mods/lzr_editor/init.lua:91 msgid "Laser-incompatible node found" msgstr "Laserinkompatiblen Node gefunden" -#: mods/lzr_editor/init.lua:90 +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "Keine zu sammelnde Schätze" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "• Fehler: @1" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "• Warnung: @1" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "Willkommen im Level-Editor!" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "Siehe LEVEL_EDITOR.md für die Anleitung." -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "Die folgenden Probleme wurden in diesem Level gefunden:" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "Aktuelles Level speichern" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "Nicht im Editor-Modus!" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "Das ist während des Ladevorgangs nicht möglich!" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "Keinen Levelnamen angegeben." -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "Levelname darf keinen Schrägstrich oder Backslash enthalten!" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "Level nach @1 und @2 gespeichert." #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" "Level nach @1 gespeichert, aber Metadaten konnten nicht in @2 gespeichert " "werden." -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "Fehler beim Schreiben der Level-Datei!" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" "Anmerkung: Dieses Level benutzt die veraltete Fenstergrenze. Dies wird nicht " "länger unterstützt." -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "Level laden" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "Der Editor lädt bereits einen Level!" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "Level-Datei existiert nicht!" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "Level geladen." -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "Fehler beim Lesen der Level-Datei!" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "Level-Editor starten oder beenden" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "[ enter | exit ]" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "Bereits im Level-Editor!" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "Nicht im Level-Editor!" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "Alle Auslöser entfernen und sie zu ihrem Ausgangszustand zurücksetzen" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "Die Auslöser wurden zurückgesetzt." -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "Goldi-Rede" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "Leveleinstellungen" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "Name" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "Größe" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "X" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "Y" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "Z" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "Wand-Node" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "Boden-Node" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "Decken-Node" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" -msgstr "Informationsblocktext" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" +msgstr "Goldi-Rede" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "Musik" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "Himmel" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "Wetter" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "Kulisse" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "X-Koordinate der Kulissenposition" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "Y-Koordinate der Kulissenposition" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "Z-Koordinate der Kulissenposition" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "Levelname, so, wie er dem Spieler angezeigt wird" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "Levelgröße entlang der X-Achse" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "Levelgröße entlang der Y-Achse" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "Levelgröße entlang der Z-Achse" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" @@ -267,25 +273,26 @@ msgstr "" "Itemstring des Nodes, der an den linken, vorderen, hinteren und rechten " "Levelgrenzen platziert wird" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "Itemstring des Nodes, der unterhalb des Levels platziert wird" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "Itemstring des Nodes, der oberhalb des Levels platziert wird" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +#, fuzzy +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" "Text, der angezeigt wird, wenn der Spieler mit dem Informationsblock " "interagiert" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "Welche Geräuschkulisse abgespielt werden soll" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" @@ -293,44 +300,44 @@ msgstr "" "Wie der Himmel aussieht. Beeinflusst Farbe, Sonne, Mond, Sterne, Wolken und " "die Tageszeit" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "Sichtbare Wettereffekte (keine Töne)" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "Die Welt, die den Level umgibt" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "OK" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "Abbrechen" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "Level speichern als …" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "Speichern" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "Level laden …" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "Laden" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "Dateiliste:" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "Dateiname" @@ -387,3 +394,9 @@ msgstr "Grenz-Node auswählen:" #: mods/lzr_editor/select_item.lua:219 msgid "Page @1/@2" msgstr "Seite @1/@2" + +#~ msgid "More than one information block" +#~ msgstr "Mehr als ein Informationsblock" + +#~ msgid "Information block text" +#~ msgstr "Informationsblocktext" diff --git a/mods/lzr_editor/locale/lzr_editor.es.po b/mods/lzr_editor/locale/lzr_editor.es.po index 26ae7b21..c478b852 100644 --- a/mods/lzr_editor/locale/lzr_editor.es.po +++ b/mods/lzr_editor/locale/lzr_editor.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,230 +34,236 @@ msgid "Rooted plant in level area" msgstr "Planta rota en el área del nivel" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" -msgstr "Más de un bloque de información" +#, fuzzy +msgid "More than one parrot spawner" +msgstr "Más de un teletransporte" #: mods/lzr_editor/init.lua:87 +#, fuzzy +msgid "More than one hidden parrot spawner" +msgstr "Más de un teletransporte" + +#: mods/lzr_editor/init.lua:88 +msgid "Bad param2 for hidden parrot spawner" +msgstr "" + +#: mods/lzr_editor/init.lua:89 msgid "Trigger is out of bounds" msgstr "Disparador está fuera de límites" -#: mods/lzr_editor/init.lua:88 +#: mods/lzr_editor/init.lua:90 msgid "Trigger ID does not match location" msgstr "El ID del disparador no coincide con la ubicación" -#: mods/lzr_editor/init.lua:89 +#: mods/lzr_editor/init.lua:91 msgid "Laser-incompatible node found" msgstr "Nodo del láser incompatible encontrado" -#: mods/lzr_editor/init.lua:90 +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "No hay cofres para colectar" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "• Error: @1" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "• Advertencia: @1" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "¡Bienvenido al editor del nivel!" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "Mira LEVEL_EDITOR.md para instrucciones." -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "Los siguientes problemas fueron encontrados en este nivel:" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "Guardar nivel actual" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "¡No en modo editor!" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "¡No puedes esto mientras carga!" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "Ningún nombre de nivel dado." -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "¡El nombre del nivel no debe contener barras o barras invertidas!" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "Nivel guardado a @1 y @2." #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "Nivel guardado en @1, pero no se pudieron escribir metadatos en @2." -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "¡Error al escribir el archivo de nivel!" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" "Nota: Este nivel utiliza un límite de ventana heredado, que ya no está " "soportado." -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "Cargar nivel" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "¡El editor ya está cargando un nivel!" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "¡El archivo del nivel no existe!" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "Nivel cargado." -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "¡Error al leer el archivo del nivel!" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "Inicia o sal del editor del nivel" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "[entrar | salir ]" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "¡Ya estas en un editor de nivel!" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "¡No en el editor del nivel!" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "Elimine todos los disparadores y restablezcalos a su estado inicial" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "Los disparadores has sido reiniciados." -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "Discurso de Goldie" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "Configuraciones del nivel" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "Nombre" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "Tamaño" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "X" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "Y" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "Z" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "Nodo de pared" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "Nodo del suelo" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "Nodo de techo" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" -msgstr "Información del bloque de texto" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" +msgstr "Discurso de Goldie" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "Música" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "Cielo" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "Clima" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "Telón de fondo" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "Coordenada X de la posición del telón de fondo" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "Coordenada Y de la posición del telón de fondo" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "Coordenada Z de la posición del telón de fondo" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "Nombre del nivel como se muestra al jugador" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "Tamaño del nivel a lo largo del eje X" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "Tamaño del nivel a lo largo del eje Y" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "Tamaño del nivel a lo largo del eje Z" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" @@ -265,27 +271,28 @@ msgstr "" "Itemstring del nodo que se colocará en los bordes izquierdo, delantero, " "trasero y derecho del nivel" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" "Cadena de elementos del nodo que se colocará en la parte inferior del nivel" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" "Cadena de elementos del nodo que se colocará en la parte superior del nivel" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +#, fuzzy +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" "Texto que se mostrará cuando el jugador interactúe con el bloque de " "información" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "Cuál audio de ambiente para reproducir" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" @@ -293,44 +300,44 @@ msgstr "" "Cómo se ve el cielo. Afecta el color, el sol, la luna, las estrellas, las " "nubes y la hora del día" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "Efectos climáticos visuales (sin audio)" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "El mundo que rodea el nivel" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "OK" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "Cancelar" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "Guardar nivel como …" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "Guardar" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "Cargar nivel …" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "Cargar" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "Lista de archivos:" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "Nombre del archivo" @@ -387,3 +394,9 @@ msgstr "Seleccione un nodo de límite:" #: mods/lzr_editor/select_item.lua:219 msgid "Page @1/@2" msgstr "Página @1/@2" + +#~ msgid "More than one information block" +#~ msgstr "Más de un bloque de información" + +#~ msgid "Information block text" +#~ msgstr "Información del bloque de texto" diff --git a/mods/lzr_editor/locale/lzr_editor.fr.po b/mods/lzr_editor/locale/lzr_editor.fr.po index 1dadcc65..a7249cb3 100644 --- a/mods/lzr_editor/locale/lzr_editor.fr.po +++ b/mods/lzr_editor/locale/lzr_editor.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -36,253 +36,260 @@ msgid "Rooted plant in level area" msgstr "il y a une plante à racines dans la zone interactive du niveau" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" -msgstr "trop de blocs d'information (max. 1)" +#, fuzzy +msgid "More than one parrot spawner" +msgstr "trop de téléporteurs (max. 1)" #: mods/lzr_editor/init.lua:87 +#, fuzzy +msgid "More than one hidden parrot spawner" +msgstr "trop de téléporteurs (max. 1)" + +#: mods/lzr_editor/init.lua:88 +msgid "Bad param2 for hidden parrot spawner" +msgstr "" + +#: mods/lzr_editor/init.lua:89 msgid "Trigger is out of bounds" msgstr "un déclencheur sort du niveau" -#: mods/lzr_editor/init.lua:88 +#: mods/lzr_editor/init.lua:90 msgid "Trigger ID does not match location" msgstr "l'identifiant d'un déclencheur ne correspond pas à sa position" -#: mods/lzr_editor/init.lua:89 +#: mods/lzr_editor/init.lua:91 msgid "Laser-incompatible node found" msgstr "un bloc incompatible avec les lasers est présent dans le niveau" -#: mods/lzr_editor/init.lua:90 +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "aucun trésor à trouver" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "• Erreur : @1" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "• Attention :@1" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "Bienvenue dans l'éditeur de niveaux !" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "Pour plus d'informations, voir « LEVEL_EDITOR.md »." -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "Ce niveau comporte les problèmes suivants :" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "Enregistrer le niveau" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "Vous n'êtes pas dans l'éditeur de niveaux !" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "Impossible de faire cela pendant le chargement du niveau !" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "Le niveau n'a pas été nommé." -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "Le nom du niveau ne doit contenir ni « / », ni « \\ » !" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "Le niveau a été enregistré dans @1 et @2." #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" "Le niveau a été enregistré dans @1, mais les métadonnées n'ont pas pu être " "enregistrées dans @2." -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "Une erreur est survenue pendant l'écriture du fichier du niveau !" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "Ouvrir un niveau" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "L'éditeur est déjà en train de charger un niveau !" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "Le fichier de niveau spécifié est introuvable !" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "Le niveau a été chargé." -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "Une erreur est survenue pendant la lecture du fichier du niveau !" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "Entrer ou sortir de l'éditeur de niveaux" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "[ entrer | sortir ]" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "Vous êtes déjà dans l'éditeur de niveaux !" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "Vous n'êtes pas dans l'éditeur de niveaux !" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "Supprime tous les déclencheurs et les réinitialise" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "Les déclencheurs ont été réinitialisés." -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "Texte de Goldie" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "Configuration du niveau" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "Nom" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "Taille" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "X" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "Y" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "Z" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "Bloc pour les murs" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "Bloc pour le sol" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "Bloc pour le plafond" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" -msgstr "Texte du bloc d'information" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" +msgstr "Texte de Goldie" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "Musique" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "Ciel" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "Météo" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "Arrière-plan" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "Coordonnée X de l'arrière-plan" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "Coordonnée Y de l'arrière-plan" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "Coordonnée Z de l'arrière-plan" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "Le nom du niveau qui sera montré au joueur" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "Taille du niveau selon l'axe X" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "Taille du niveau selon l'axe Y" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "Taille du niveau selon l'axe Z" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "Itemstring du bloc utilisé pour le sol du niveau" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "Itemstring du bloc utilisé pour le plafond du niveau" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +#, fuzzy +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" "Texte qui sera montré à un joueur qui interagit avec le bloc d'information" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "L'atmosphère auditive à jouer" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" @@ -290,44 +297,44 @@ msgstr "" "À quoi ressemble le ciel ; affecte sa couleur ainsi que le Soleil, la Lune, " "les étoiles, les nuages" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "Effets météo visuels (pas audio)" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "Le monde qui entoure le niveau" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "OK" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "Annuler" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "Enregistrer le niveau sous …" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "Enregistrer" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "Ouvrir le niveau …" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "Ouvrir" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "Liste des fichiers :" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "Nom du fichier" @@ -383,3 +390,9 @@ msgstr "Sélectionnez un bloc pour la limite du niveau :" #: mods/lzr_editor/select_item.lua:219 msgid "Page @1/@2" msgstr "Page @1/@2" + +#~ msgid "More than one information block" +#~ msgstr "trop de blocs d'information (max. 1)" + +#~ msgid "Information block text" +#~ msgstr "Texte du bloc d'information" diff --git a/mods/lzr_editor/locale/lzr_editor.id.po b/mods/lzr_editor/locale/lzr_editor.id.po index 840ba9a9..b018919d 100644 --- a/mods/lzr_editor/locale/lzr_editor.id.po +++ b/mods/lzr_editor/locale/lzr_editor.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.it.po b/mods/lzr_editor/locale/lzr_editor.it.po index 15a83b79..1def4751 100644 --- a/mods/lzr_editor/locale/lzr_editor.it.po +++ b/mods/lzr_editor/locale/lzr_editor.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.jbo.po b/mods/lzr_editor/locale/lzr_editor.jbo.po index 24187a61..a00907c9 100644 --- a/mods/lzr_editor/locale/lzr_editor.jbo.po +++ b/mods/lzr_editor/locale/lzr_editor.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.ms.po b/mods/lzr_editor/locale/lzr_editor.ms.po index 72e1a8bd..956d3ebe 100644 --- a/mods/lzr_editor/locale/lzr_editor.ms.po +++ b/mods/lzr_editor/locale/lzr_editor.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.pt_BR.po b/mods/lzr_editor/locale/lzr_editor.pt_BR.po index 31efb51f..4ff74be3 100644 --- a/mods/lzr_editor/locale/lzr_editor.pt_BR.po +++ b/mods/lzr_editor/locale/lzr_editor.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "OK" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.ru.po b/mods/lzr_editor/locale/lzr_editor.ru.po index 1e6c26a6..dca04b84 100644 --- a/mods/lzr_editor/locale/lzr_editor.ru.po +++ b/mods/lzr_editor/locale/lzr_editor.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -35,293 +35,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "[ enter | exit ]" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "X" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "Небо" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "ОК" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.se.po b/mods/lzr_editor/locale/lzr_editor.se.po index 292c803a..6095c182 100644 --- a/mods/lzr_editor/locale/lzr_editor.se.po +++ b/mods/lzr_editor/locale/lzr_editor.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.sk.po b/mods/lzr_editor/locale/lzr_editor.sk.po index 4dfde5af..7d77ff86 100644 --- a/mods/lzr_editor/locale/lzr_editor.sk.po +++ b/mods/lzr_editor/locale/lzr_editor.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.tr.po b/mods/lzr_editor/locale/lzr_editor.tr.po index 6aa23b0f..1af339a7 100644 --- a/mods/lzr_editor/locale/lzr_editor.tr.po +++ b/mods/lzr_editor/locale/lzr_editor.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "Tamam" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.zh_Hans.po b/mods/lzr_editor/locale/lzr_editor.zh_Hans.po index dc72d5f1..a0f3763a 100644 --- a/mods/lzr_editor/locale/lzr_editor.zh_Hans.po +++ b/mods/lzr_editor/locale/lzr_editor.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_editor/locale/lzr_editor.zh_TW.po b/mods/lzr_editor/locale/lzr_editor.zh_TW.po index 51f65b5d..a31d063e 100644 --- a/mods/lzr_editor/locale/lzr_editor.zh_TW.po +++ b/mods/lzr_editor/locale/lzr_editor.zh_TW.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -34,293 +34,297 @@ msgid "Rooted plant in level area" msgstr "" #: mods/lzr_editor/init.lua:86 -msgid "More than one information block" +msgid "More than one parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:87 -msgid "Trigger is out of bounds" +msgid "More than one hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:88 -msgid "Trigger ID does not match location" +msgid "Bad param2 for hidden parrot spawner" msgstr "" #: mods/lzr_editor/init.lua:89 -msgid "Laser-incompatible node found" +msgid "Trigger is out of bounds" msgstr "" #: mods/lzr_editor/init.lua:90 +msgid "Trigger ID does not match location" +msgstr "" + +#: mods/lzr_editor/init.lua:91 +msgid "Laser-incompatible node found" +msgstr "" + +#: mods/lzr_editor/init.lua:92 msgid "No treasures to collect" msgstr "" -#: mods/lzr_editor/init.lua:107 +#: mods/lzr_editor/init.lua:109 msgid "• Error: @1" msgstr "" -#: mods/lzr_editor/init.lua:116 +#: mods/lzr_editor/init.lua:118 msgid "• Warning: @1" msgstr "" -#: mods/lzr_editor/init.lua:202 +#: mods/lzr_editor/init.lua:204 msgid "Welcome to the Level Editor!" msgstr "" -#: mods/lzr_editor/init.lua:203 +#: mods/lzr_editor/init.lua:205 msgid "See LEVEL_EDITOR.md for instructions." msgstr "" -#: mods/lzr_editor/init.lua:244 +#: mods/lzr_editor/init.lua:246 msgid "The following problems were found in this level:" msgstr "" -#: mods/lzr_editor/init.lua:323 +#: mods/lzr_editor/init.lua:325 msgid "Save current level" msgstr "儲存目前關卡" -#: mods/lzr_editor/init.lua:324 mods/lzr_editor/init.lua:505 +#: mods/lzr_editor/init.lua:326 mods/lzr_editor/init.lua:494 msgid "" msgstr "" -#: mods/lzr_editor/init.lua:327 mods/lzr_editor/init.lua:509 -#: mods/lzr_editor/init.lua:576 mods/lzr_editor/init.lua:936 +#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:498 +#: mods/lzr_editor/init.lua:565 mods/lzr_editor/init.lua:936 #: mods/lzr_editor/init.lua:1395 msgid "Not in editor mode!" msgstr "並非處於關卡編輯器之內!" -#: mods/lzr_editor/init.lua:329 mods/lzr_editor/init.lua:543 -#: mods/lzr_editor/init.lua:556 mods/lzr_editor/init.lua:578 +#: mods/lzr_editor/init.lua:331 mods/lzr_editor/init.lua:532 +#: mods/lzr_editor/init.lua:545 mods/lzr_editor/init.lua:567 #: mods/lzr_editor/init.lua:938 mods/lzr_editor/init.lua:956 #: mods/lzr_editor/init.lua:1397 msgid "Can’t do this while loading!" msgstr "" -#: mods/lzr_editor/init.lua:332 mods/lzr_editor/init.lua:514 +#: mods/lzr_editor/init.lua:334 mods/lzr_editor/init.lua:503 #: mods/lzr_editor/init.lua:1238 mods/lzr_editor/init.lua:1258 msgid "No level name provided." msgstr "" -#: mods/lzr_editor/init.lua:336 mods/lzr_editor/init.lua:518 +#: mods/lzr_editor/init.lua:338 mods/lzr_editor/init.lua:507 msgid "Level name must not contain slash or backslash!" msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:341 mods/lzr_editor/init.lua:1267 +#: mods/lzr_editor/init.lua:343 mods/lzr_editor/init.lua:1267 msgid "Level saved to @1 and @2." msgstr "" #. ~ @1 and @2 are file locations -#: mods/lzr_editor/init.lua:344 mods/lzr_editor/init.lua:1269 +#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1269 msgid "Level saved to @1, but could not write metadata to @2." msgstr "" -#: mods/lzr_editor/init.lua:346 mods/lzr_editor/init.lua:1271 +#: mods/lzr_editor/init.lua:348 mods/lzr_editor/init.lua:1271 msgid "Error writing level file!" msgstr "寫入關卡檔案期間卡生錯誤!" #. ~ The "window boundary" refers to a special block used for the boundaries of the level to create windows in the walls. It has been removed in later versions of the game. -#: mods/lzr_editor/init.lua:399 +#: mods/lzr_editor/init.lua:388 msgid "" "Note: This level uses a legacy window boundary, which is no longer supported." msgstr "" -#: mods/lzr_editor/init.lua:504 +#: mods/lzr_editor/init.lua:493 msgid "Load level" msgstr "載入關卡" -#: mods/lzr_editor/init.lua:511 +#: mods/lzr_editor/init.lua:500 msgid "The editor is already loading a level!" msgstr "" -#: mods/lzr_editor/init.lua:522 mods/lzr_editor/init.lua:1247 +#: mods/lzr_editor/init.lua:511 mods/lzr_editor/init.lua:1247 msgid "Level file does not exist!" msgstr "關卡檔案不存在!" -#: mods/lzr_editor/init.lua:527 mods/lzr_editor/init.lua:1252 +#: mods/lzr_editor/init.lua:516 mods/lzr_editor/init.lua:1252 msgid "Level loaded." msgstr "成功載入關卡。" -#: mods/lzr_editor/init.lua:529 mods/lzr_editor/init.lua:1254 +#: mods/lzr_editor/init.lua:518 mods/lzr_editor/init.lua:1254 msgid "Error reading level file!" msgstr "讀取關卡檔案期間卡生錯誤!" -#: mods/lzr_editor/init.lua:535 +#: mods/lzr_editor/init.lua:524 msgid "Start or exit level editor" msgstr "啓動或退出關卡編輯器" -#: mods/lzr_editor/init.lua:536 +#: mods/lzr_editor/init.lua:525 msgid "[ enter | exit ]" msgstr "" -#: mods/lzr_editor/init.lua:541 +#: mods/lzr_editor/init.lua:530 msgid "Already in level editor!" msgstr "已經處於關卡編輯器之內!" -#: mods/lzr_editor/init.lua:554 +#: mods/lzr_editor/init.lua:543 msgid "Not in level editor!" msgstr "並非處於關卡編輯器之內!" -#: mods/lzr_editor/init.lua:571 +#: mods/lzr_editor/init.lua:560 msgid "Remove all triggers and reset them to their initial state" msgstr "" -#: mods/lzr_editor/init.lua:581 +#: mods/lzr_editor/init.lua:570 msgid "Triggers have been reset." msgstr "" -#: mods/lzr_editor/init.lua:670 -msgid "Goldie speech" -msgstr "" - -#: mods/lzr_editor/init.lua:687 +#: mods/lzr_editor/init.lua:673 msgid "Level settings" msgstr "" -#: mods/lzr_editor/init.lua:688 +#: mods/lzr_editor/init.lua:674 msgid "Name" msgstr "" -#: mods/lzr_editor/init.lua:689 +#: mods/lzr_editor/init.lua:675 msgid "Size" msgstr "" -#: mods/lzr_editor/init.lua:690 mods/lzr_editor/init.lua:716 +#: mods/lzr_editor/init.lua:676 mods/lzr_editor/init.lua:702 msgid "X" msgstr "" -#: mods/lzr_editor/init.lua:691 mods/lzr_editor/init.lua:717 +#: mods/lzr_editor/init.lua:677 mods/lzr_editor/init.lua:703 msgid "Y" msgstr "" -#: mods/lzr_editor/init.lua:692 mods/lzr_editor/init.lua:718 +#: mods/lzr_editor/init.lua:678 mods/lzr_editor/init.lua:704 msgid "Z" msgstr "" -#: mods/lzr_editor/init.lua:693 +#: mods/lzr_editor/init.lua:679 msgid "Wall node" msgstr "" -#: mods/lzr_editor/init.lua:694 +#: mods/lzr_editor/init.lua:680 msgid "Floor node" msgstr "" -#: mods/lzr_editor/init.lua:695 +#: mods/lzr_editor/init.lua:681 msgid "Ceiling node" msgstr "" -#: mods/lzr_editor/init.lua:700 -msgid "Information block text" +#: mods/lzr_editor/init.lua:686 +msgid "Goldie speech" msgstr "" -#: mods/lzr_editor/init.lua:702 +#: mods/lzr_editor/init.lua:688 msgid "Music" msgstr "" -#: mods/lzr_editor/init.lua:705 +#: mods/lzr_editor/init.lua:691 msgid "Sky" msgstr "" -#: mods/lzr_editor/init.lua:708 +#: mods/lzr_editor/init.lua:694 msgid "Weather" msgstr "" -#: mods/lzr_editor/init.lua:711 +#: mods/lzr_editor/init.lua:697 msgid "Backdrop" msgstr "" -#: mods/lzr_editor/init.lua:719 +#: mods/lzr_editor/init.lua:705 msgid "X coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:720 +#: mods/lzr_editor/init.lua:706 msgid "Y coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:721 +#: mods/lzr_editor/init.lua:707 msgid "Z coordinate of backdrop position" msgstr "" -#: mods/lzr_editor/init.lua:724 +#: mods/lzr_editor/init.lua:710 msgid "Level name as shown to the player" msgstr "" -#: mods/lzr_editor/init.lua:725 +#: mods/lzr_editor/init.lua:711 msgid "Level size along the X axis" msgstr "" -#: mods/lzr_editor/init.lua:726 +#: mods/lzr_editor/init.lua:712 msgid "Level size along the Y axis" msgstr "" -#: mods/lzr_editor/init.lua:727 +#: mods/lzr_editor/init.lua:713 msgid "Level size along the Z axis" msgstr "" -#: mods/lzr_editor/init.lua:728 +#: mods/lzr_editor/init.lua:714 msgid "" "Itemstring of node to be placed on the left, front, back and right level " "borders" msgstr "" -#: mods/lzr_editor/init.lua:729 +#: mods/lzr_editor/init.lua:715 msgid "Itemstring of node to be placed at the bottom of the level" msgstr "" -#: mods/lzr_editor/init.lua:730 +#: mods/lzr_editor/init.lua:716 msgid "Itemstring of node to be placed at the top of the level" msgstr "" -#: mods/lzr_editor/init.lua:731 -msgid "Text to be shown when player interacts with the information block" +#: mods/lzr_editor/init.lua:717 +msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -#: mods/lzr_editor/init.lua:732 +#: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" msgstr "" -#: mods/lzr_editor/init.lua:733 +#: mods/lzr_editor/init.lua:719 msgid "" "How the sky looks like. Affects color, sun, moon, stars, clouds and the time " "of day" msgstr "" -#: mods/lzr_editor/init.lua:734 +#: mods/lzr_editor/init.lua:720 msgid "Visual weather effects (no audio)" msgstr "" -#: mods/lzr_editor/init.lua:735 +#: mods/lzr_editor/init.lua:721 msgid "The world that surrounds the level" msgstr "" -#: mods/lzr_editor/init.lua:737 mods/lzr_editor/select_item.lua:186 +#: mods/lzr_editor/init.lua:723 mods/lzr_editor/select_item.lua:186 msgid "OK" msgstr "" -#: mods/lzr_editor/init.lua:738 mods/lzr_editor/init.lua:796 +#: mods/lzr_editor/init.lua:724 mods/lzr_editor/init.lua:782 #: mods/lzr_editor/select_item.lua:221 msgid "Cancel" msgstr "" -#: mods/lzr_editor/init.lua:751 +#: mods/lzr_editor/init.lua:737 msgid "Save level as …" msgstr "" -#: mods/lzr_editor/init.lua:752 +#: mods/lzr_editor/init.lua:738 msgid "Save" msgstr "" -#: mods/lzr_editor/init.lua:755 +#: mods/lzr_editor/init.lua:741 msgid "Load level …" msgstr "" -#: mods/lzr_editor/init.lua:756 +#: mods/lzr_editor/init.lua:742 msgid "Load" msgstr "" -#: mods/lzr_editor/init.lua:784 +#: mods/lzr_editor/init.lua:770 msgid "File list:" msgstr "" -#: mods/lzr_editor/init.lua:793 +#: mods/lzr_editor/init.lua:779 msgid "File name" msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.de.po b/mods/lzr_fallout/locale/lzr_fallout.de.po index 8221cdf9..69099b79 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.de.po +++ b/mods/lzr_fallout/locale/lzr_fallout.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "Du bist zu tief abgetaucht!" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "Wo willste hin, Landratte?" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "Du wurdest getotenkopft!" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "Du warst in der Klemme." diff --git a/mods/lzr_fallout/locale/lzr_fallout.es.po b/mods/lzr_fallout/locale/lzr_fallout.es.po index aba3e4ec..282459c0 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.es.po +++ b/mods/lzr_fallout/locale/lzr_fallout.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "¡Estás durmiendo con los peces!" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "¿A dónde crees que te vas?" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "¡Te cortaron el cráneo!" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "Estabas entre una roca y un lugar difícil." diff --git a/mods/lzr_fallout/locale/lzr_fallout.fr.po b/mods/lzr_fallout/locale/lzr_fallout.fr.po index 45551042..5c8ed219 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.fr.po +++ b/mods/lzr_fallout/locale/lzr_fallout.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,17 +19,17 @@ msgid "You’re sleeping with the fishes!" msgstr "Vous reposez avec les poissons !" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "Où vas-tu ainsi, marin d'eau douce ?" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "Votre crâne est mort écrasé !" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" "Vous avez temporairement fait partie d'un sandwich au rocher et à un autre " diff --git a/mods/lzr_fallout/locale/lzr_fallout.id.po b/mods/lzr_fallout/locale/lzr_fallout.id.po index fc738a30..bd93bc95 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.id.po +++ b/mods/lzr_fallout/locale/lzr_fallout.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.it.po b/mods/lzr_fallout/locale/lzr_fallout.it.po index 25d89576..8a190902 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.it.po +++ b/mods/lzr_fallout/locale/lzr_fallout.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.jbo.po b/mods/lzr_fallout/locale/lzr_fallout.jbo.po index afcd287c..d807a483 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.jbo.po +++ b/mods/lzr_fallout/locale/lzr_fallout.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.ms.po b/mods/lzr_fallout/locale/lzr_fallout.ms.po index 8cf279ed..e9b1f614 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.ms.po +++ b/mods/lzr_fallout/locale/lzr_fallout.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.pt_BR.po b/mods/lzr_fallout/locale/lzr_fallout.pt_BR.po index 3643fecf..23e0d1a2 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.pt_BR.po +++ b/mods/lzr_fallout/locale/lzr_fallout.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.ru.po b/mods/lzr_fallout/locale/lzr_fallout.ru.po index 543db8d9..56b2e6a2 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.ru.po +++ b/mods/lzr_fallout/locale/lzr_fallout.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -20,16 +20,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.se.po b/mods/lzr_fallout/locale/lzr_fallout.se.po index c48618c8..7cce92a3 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.se.po +++ b/mods/lzr_fallout/locale/lzr_fallout.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.sk.po b/mods/lzr_fallout/locale/lzr_fallout.sk.po index 3dc29050..be743637 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.sk.po +++ b/mods/lzr_fallout/locale/lzr_fallout.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.tr.po b/mods/lzr_fallout/locale/lzr_fallout.tr.po index 38922506..1029663e 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.tr.po +++ b/mods/lzr_fallout/locale/lzr_fallout.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.zh_Hans.po b/mods/lzr_fallout/locale/lzr_fallout.zh_Hans.po index 3b28652c..46301bf9 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.zh_Hans.po +++ b/mods/lzr_fallout/locale/lzr_fallout.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_fallout/locale/lzr_fallout.zh_Hant.po b/mods/lzr_fallout/locale/lzr_fallout.zh_Hant.po index a7e64201..eae35a79 100644 --- a/mods/lzr_fallout/locale/lzr_fallout.zh_Hant.po +++ b/mods/lzr_fallout/locale/lzr_fallout.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_fallout x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,16 +19,16 @@ msgid "You’re sleeping with the fishes!" msgstr "" #. ~ Message when you move out of the level boundaries. You may be creative in the translation -#: mods/lzr_fallout/init.lua:62 +#: mods/lzr_fallout/init.lua:61 msgid "Where yer thinks yar goin’, landlubber?" msgstr "" #. ~ Message when you got stuck inside skull blocks. You may be creative in the translation -#: mods/lzr_fallout/init.lua:68 +#: mods/lzr_fallout/init.lua:67 msgid "You were skull-crushed!" msgstr "" #. ~ Message when you got stuck inside solid blocks other than skulls. You may be creative in the translation -#: mods/lzr_fallout/init.lua:74 +#: mods/lzr_fallout/init.lua:73 msgid "You were between a rock and a hard place." msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.de.po b/mods/lzr_hook/locale/lzr_hook.de.po index 61be4008..e5031ff4 100644 --- a/mods/lzr_hook/locale/lzr_hook.de.po +++ b/mods/lzr_hook/locale/lzr_hook.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "Drehhaken" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "Hauen, um Kante zu drücken; platzieren, um Seite zu drehen" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "Schleichen, um Drehrichtung umzukehren" diff --git a/mods/lzr_hook/locale/lzr_hook.es.po b/mods/lzr_hook/locale/lzr_hook.es.po index 9b8478bf..55199678 100644 --- a/mods/lzr_hook/locale/lzr_hook.es.po +++ b/mods/lzr_hook/locale/lzr_hook.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "Gancho giratorio" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "Golpea para empujar el borde, coloca para rotar la cara" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "Agáchate para revertir la dirección de rotación" diff --git a/mods/lzr_hook/locale/lzr_hook.fr.po b/mods/lzr_hook/locale/lzr_hook.fr.po index a222cf8c..307dda08 100644 --- a/mods/lzr_hook/locale/lzr_hook.fr.po +++ b/mods/lzr_hook/locale/lzr_hook.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "Crochet tourneur" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "Frappez pour pousser une arête, placez pour tourner selon une face" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "Si vous êtes accroupi, la rotation de fera dans le sens inverse" diff --git a/mods/lzr_hook/locale/lzr_hook.id.po b/mods/lzr_hook/locale/lzr_hook.id.po index 3287780b..f3d0655b 100644 --- a/mods/lzr_hook/locale/lzr_hook.id.po +++ b/mods/lzr_hook/locale/lzr_hook.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.it.po b/mods/lzr_hook/locale/lzr_hook.it.po index 4078fa36..c779bbee 100644 --- a/mods/lzr_hook/locale/lzr_hook.it.po +++ b/mods/lzr_hook/locale/lzr_hook.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.jbo.po b/mods/lzr_hook/locale/lzr_hook.jbo.po index ce42756e..61dddbc3 100644 --- a/mods/lzr_hook/locale/lzr_hook.jbo.po +++ b/mods/lzr_hook/locale/lzr_hook.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.ms.po b/mods/lzr_hook/locale/lzr_hook.ms.po index e7ba890a..f9a04725 100644 --- a/mods/lzr_hook/locale/lzr_hook.ms.po +++ b/mods/lzr_hook/locale/lzr_hook.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.pt_BR.po b/mods/lzr_hook/locale/lzr_hook.pt_BR.po index 0e7e4cd9..32819956 100644 --- a/mods/lzr_hook/locale/lzr_hook.pt_BR.po +++ b/mods/lzr_hook/locale/lzr_hook.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.ru.po b/mods/lzr_hook/locale/lzr_hook.ru.po index 2340ba25..c195acd6 100644 --- a/mods/lzr_hook/locale/lzr_hook.ru.po +++ b/mods/lzr_hook/locale/lzr_hook.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,14 +14,14 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "Поворотный крюк" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "ЛКМ для сдвижения края, ПКМ для поворота стороны" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "Крадитесь для обратного поворота" diff --git a/mods/lzr_hook/locale/lzr_hook.se.po b/mods/lzr_hook/locale/lzr_hook.se.po index 11446434..4ee45576 100644 --- a/mods/lzr_hook/locale/lzr_hook.se.po +++ b/mods/lzr_hook/locale/lzr_hook.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.sk.po b/mods/lzr_hook/locale/lzr_hook.sk.po index 34f2bd8a..33b2964a 100644 --- a/mods/lzr_hook/locale/lzr_hook.sk.po +++ b/mods/lzr_hook/locale/lzr_hook.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.tr.po b/mods/lzr_hook/locale/lzr_hook.tr.po index b05f74f1..ecee2b9a 100644 --- a/mods/lzr_hook/locale/lzr_hook.tr.po +++ b/mods/lzr_hook/locale/lzr_hook.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.zh_Hans.po b/mods/lzr_hook/locale/lzr_hook.zh_Hans.po index e16cc7b2..d75bebb8 100644 --- a/mods/lzr_hook/locale/lzr_hook.zh_Hans.po +++ b/mods/lzr_hook/locale/lzr_hook.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_hook/locale/lzr_hook.zh_Hant.po b/mods/lzr_hook/locale/lzr_hook.zh_Hant.po index e3071d01..5cc31866 100644 --- a/mods/lzr_hook/locale/lzr_hook.zh_Hant.po +++ b/mods/lzr_hook/locale/lzr_hook.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_hook x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,14 +13,14 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_hook/init.lua:348 +#: mods/lzr_hook/init.lua:357 msgid "Rotating Hook" msgstr "" -#: mods/lzr_hook/init.lua:349 +#: mods/lzr_hook/init.lua:358 msgid "Punch to push edge, place to rotate face" msgstr "" -#: mods/lzr_hook/init.lua:350 +#: mods/lzr_hook/init.lua:359 msgid "Sneak to reverse rotation direction" msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.de.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.de.po index ad33af08..d26e09e3 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.de.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -17,12 +17,11 @@ msgstr "" msgid "This game is incomplete!" msgstr "Dieses Spiel ist unfertig!" -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" -"Die Levels sind momentan hauptsächlich nur eine Vorstellung der " -"Spieltechnik, erwarten Sie also nicht zu viel." +#~ msgid "" +#~ "The levels are mostly a tech demo right now, so don’t expect too much." +#~ msgstr "" +#~ "Die Levels sind momentan hauptsächlich nur eine Vorstellung der " +#~ "Spieltechnik, erwarten Sie also nicht zu viel." -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "Aber vielleicht wollen Sie den Level-Editor ausprobieren." +#~ msgid "You might want to give the level editor a try through." +#~ msgstr "Aber vielleicht wollen Sie den Level-Editor ausprobieren." diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.es.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.es.po index af40e265..97d57d75 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.es.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -17,12 +17,11 @@ msgstr "" msgid "This game is incomplete!" msgstr "¡Este juego está incompleto!" -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" -"Actualmente los niveles son principalmente una demostración técnica, así que " -"no esperes demasiado." +#~ msgid "" +#~ "The levels are mostly a tech demo right now, so don’t expect too much." +#~ msgstr "" +#~ "Actualmente los niveles son principalmente una demostración técnica, así " +#~ "que no esperes demasiado." -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "Pero tal vez quieras probar el editor de niveles." +#~ msgid "You might want to give the level editor a try through." +#~ msgstr "Pero tal vez quieras probar el editor de niveles." diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.fr.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.fr.po index 43140c6b..56449979 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.fr.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -17,10 +17,9 @@ msgstr "" msgid "This game is incomplete!" msgstr "Ce jeu est incomplet !" -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "Les niveaux sont surtout des démos, ne vous attendez pas à trop." +#~ msgid "" +#~ "The levels are mostly a tech demo right now, so don’t expect too much." +#~ msgstr "Les niveaux sont surtout des démos, ne vous attendez pas à trop." -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "Vous devriez essayer l'éditeur de niveaux, par contre." +#~ msgid "You might want to give the level editor a try through." +#~ msgstr "Vous devriez essayer l'éditeur de niveaux, par contre." diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.id.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.id.po index 16117201..a593c43f 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.id.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.it.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.it.po index 4bbf7ccd..cdb02138 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.it.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.jbo.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.jbo.po index 342fc390..f48e9348 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.jbo.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ms.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ms.po index 1aa6b147..789e67e1 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ms.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pt_BR.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pt_BR.po index e2969b8b..185af830 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pt_BR.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ru.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ru.po index 070cc99c..707b28e1 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ru.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -18,10 +18,10 @@ msgstr "" msgid "This game is incomplete!" msgstr "Эта игра не завершена!" -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "Уровни сейчас являются тех. демками, поэтому прошу не ожидать многого." +#~ msgid "" +#~ "The levels are mostly a tech demo right now, so don’t expect too much." +#~ msgstr "" +#~ "Уровни сейчас являются тех. демками, поэтому прошу не ожидать многого." -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "Возможно, вы захотите попробовать редактор уровней." +#~ msgid "You might want to give the level editor a try through." +#~ msgstr "Возможно, вы захотите попробовать редактор уровней." diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.se.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.se.po index 6f052351..ad81a32f 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.se.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.sk.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.sk.po index 781219c1..4a312dfb 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.sk.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.tr.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.tr.po index 33e62580..675c0ff1 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.tr.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hans.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hans.po index 7f67ce82..35182a4d 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hans.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hant.po b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hant.po index 0b5f8ab7..31295240 100644 --- a/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hant.po +++ b/mods/lzr_incomplete_message/locale/lzr_incomplete_message.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_incomplete_message x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -16,11 +16,3 @@ msgstr "" #: mods/lzr_incomplete_message/init.lua:4 msgid "This game is incomplete!" msgstr "" - -#: mods/lzr_incomplete_message/init.lua:5 -msgid "The levels are mostly a tech demo right now, so don’t expect too much." -msgstr "" - -#: mods/lzr_incomplete_message/init.lua:6 -msgid "You might want to give the level editor a try through." -msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.de.po b/mods/lzr_laser/locale/lzr_laser.de.po index 8dd9e9e5..1419d560 100644 --- a/mods/lzr_laser/locale/lzr_laser.de.po +++ b/mods/lzr_laser/locale/lzr_laser.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "Zündet benachbarte Barrikaden an und verbrennt nach einer Sekunde" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "Bombe" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "Wird in Kürze explodieren" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "@1 (fest)" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "Angezündete Bombe" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "@1 (rotierbar)" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "@1 (halbfest)" diff --git a/mods/lzr_laser/locale/lzr_laser.es.po b/mods/lzr_laser/locale/lzr_laser.es.po index a7d40371..66defaca 100644 --- a/mods/lzr_laser/locale/lzr_laser.es.po +++ b/mods/lzr_laser/locale/lzr_laser.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "Prende fuego a las barricadas vecinas y se quema después de un segundo" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "Bomba" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "Explotará pronto" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "@1 (fijado)" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "Bomba encendida" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "@1 (se puede rotar)" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "@1 (fijado suave)" diff --git a/mods/lzr_laser/locale/lzr_laser.fr.po b/mods/lzr_laser/locale/lzr_laser.fr.po index 4629e887..14495316 100644 --- a/mods/lzr_laser/locale/lzr_laser.fr.po +++ b/mods/lzr_laser/locale/lzr_laser.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -281,7 +281,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "Enflamme les barricades proches et disparaît après une seconde" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "Bombe" @@ -302,21 +302,21 @@ msgid "Will explode soon" msgstr "Est sur le point d'exploser" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "@1 (fixé)" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "Bombe allumée" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "@1 (tournable)" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "@1 (semi-fixé)" diff --git a/mods/lzr_laser/locale/lzr_laser.id.po b/mods/lzr_laser/locale/lzr_laser.id.po index e8f47985..92944d61 100644 --- a/mods/lzr_laser/locale/lzr_laser.id.po +++ b/mods/lzr_laser/locale/lzr_laser.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.it.po b/mods/lzr_laser/locale/lzr_laser.it.po index ef96a63c..416a755f 100644 --- a/mods/lzr_laser/locale/lzr_laser.it.po +++ b/mods/lzr_laser/locale/lzr_laser.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.jbo.po b/mods/lzr_laser/locale/lzr_laser.jbo.po index 879f79c0..695c954e 100644 --- a/mods/lzr_laser/locale/lzr_laser.jbo.po +++ b/mods/lzr_laser/locale/lzr_laser.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.ms.po b/mods/lzr_laser/locale/lzr_laser.ms.po index 2cf02c6d..91a3618b 100644 --- a/mods/lzr_laser/locale/lzr_laser.ms.po +++ b/mods/lzr_laser/locale/lzr_laser.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.pt_BR.po b/mods/lzr_laser/locale/lzr_laser.pt_BR.po index becc13e7..72e0ea44 100644 --- a/mods/lzr_laser/locale/lzr_laser.pt_BR.po +++ b/mods/lzr_laser/locale/lzr_laser.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.ru.po b/mods/lzr_laser/locale/lzr_laser.ru.po index fa6a8f91..919ae5d9 100644 --- a/mods/lzr_laser/locale/lzr_laser.ru.po +++ b/mods/lzr_laser/locale/lzr_laser.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -280,7 +280,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -301,21 +301,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.se.po b/mods/lzr_laser/locale/lzr_laser.se.po index 6a649766..34e40e0b 100644 --- a/mods/lzr_laser/locale/lzr_laser.se.po +++ b/mods/lzr_laser/locale/lzr_laser.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.sk.po b/mods/lzr_laser/locale/lzr_laser.sk.po index 6e447d95..9f9c416e 100644 --- a/mods/lzr_laser/locale/lzr_laser.sk.po +++ b/mods/lzr_laser/locale/lzr_laser.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.tr.po b/mods/lzr_laser/locale/lzr_laser.tr.po index 1a2e8b51..67d6e616 100644 --- a/mods/lzr_laser/locale/lzr_laser.tr.po +++ b/mods/lzr_laser/locale/lzr_laser.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.zh_Hans.po b/mods/lzr_laser/locale/lzr_laser.zh_Hans.po index cc8911d8..c05bd4f7 100644 --- a/mods/lzr_laser/locale/lzr_laser.zh_Hans.po +++ b/mods/lzr_laser/locale/lzr_laser.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_laser/locale/lzr_laser.zh_Hant.po b/mods/lzr_laser/locale/lzr_laser.zh_Hant.po index 42f2983d..5b74bc25 100644 --- a/mods/lzr_laser/locale/lzr_laser.zh_Hant.po +++ b/mods/lzr_laser/locale/lzr_laser.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_laser x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -279,7 +279,7 @@ msgid "Ignites neighboring barricades and burns up after 1 second" msgstr "" #: mods/lzr_laser/blocks.lua:1344 mods/lzr_laser/blocks.lua:1384 -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "Bomb" msgstr "" @@ -300,21 +300,21 @@ msgid "Will explode soon" msgstr "" #. ~ Annotation for a block @1. "fixed" means it cannot be picked up or rotated -#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1389 +#: mods/lzr_laser/blocks.lua:1384 mods/lzr_laser/blocks.lua:1390 #: mods/lzr_laser/elements.lua:358 msgid "@1 (fixed)" msgstr "" -#: mods/lzr_laser/blocks.lua:1389 mods/lzr_laser/blocks.lua:1410 +#: mods/lzr_laser/blocks.lua:1390 mods/lzr_laser/blocks.lua:1411 msgid "Ignited Bomb" msgstr "" -#: mods/lzr_laser/blocks.lua:1404 +#: mods/lzr_laser/blocks.lua:1405 msgid "@1 (rotatable)" msgstr "" #. ~ Annotation for a block @1. "soft-fixed" means it cannot be picked up but it CAN be rotated -#: mods/lzr_laser/blocks.lua:1410 mods/lzr_laser/elements.lua:526 +#: mods/lzr_laser/blocks.lua:1411 mods/lzr_laser/elements.lua:526 msgid "@1 (soft-fixed)" msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.de.po b/mods/lzr_level_select/locale/lzr_level_select.de.po index 5080169e..cc3ea41a 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.de.po +++ b/mods/lzr_level_select/locale/lzr_level_select.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,38 +13,64 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "OK" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +#, fuzzy +msgid "Single levels" +msgstr "Level auswählen:" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "Level auswählen:" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" -msgstr "Benutzerlevel auswählen:" +#: mods/lzr_level_select/init.lua:58 +#, fuzzy +msgid "Select level pack:" +msgstr "Level auswählen:" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "Starten" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "Es gibt keine Levels." -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +#, fuzzy +msgid "There are no level packs or custom single levels." msgstr "Es gibt keine Benutzerlevels." -#: mods/lzr_level_select/init.lua:88 -msgid "" -"Install levels from your friends or use the level editor to build your own." +#: mods/lzr_level_select/init.lua:167 +#, fuzzy +msgid "Install a level pack or use the level editor to build your own levels." msgstr "" "Installieren Sie Levels von Ihren Freunden oder benutzen Sie den Level-" "Editor, um Ihre eigenen Levels zu bauen." -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:170 +#, fuzzy +msgid "There are no custom single levels." +msgstr "Es gibt keine Benutzerlevels." + +#: mods/lzr_level_select/init.lua:171 +#, fuzzy +msgid "" +"Install one from your friends or use the level editor to build your own " +"levels." +msgstr "" +"Installieren Sie Levels von Ihren Freunden oder benutzen Sie den Level-" +"Editor, um Ihre eigenen Levels zu bauen." + +#: mods/lzr_level_select/init.lua:174 +#, fuzzy +msgid "This level pack is empty." +msgstr "Dieses Level ist unspielbar." + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." @@ -52,66 +78,149 @@ msgstr "" "Das Level konnte nicht geladen werden. Es wurde keine Level-CSV gefunden und " "der Fallback-Mechanismus schlug ebenfalls fehl." -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" "Das Level konnte nicht geladen werden. Ungültige Syntax von Level-CSV-Datei." -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "Es gibt keinen Teleporter, auf dem der Spieler starten kann." -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "Es gibt mehr als einen Teleporter." -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." -msgstr "Es gibt mehr als einen Informationsblock." +#: mods/lzr_level_select/init.lua:222 +#, fuzzy +msgid "There’s more than one Goldie the Parrot." +msgstr "Es gibt mehr als einen Teleporter." -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" "Im Level befindet sich eine Barriere oder ein barrierenähnlicher Block." -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "Im Level befindet sich ein freistehender Goldblock." -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "Im Level befindet sich eine verwurzelte Pflanze." +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "Grund: @1" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "Dieses Level ist unspielbar." -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" "Das Level konnte aufgrund eines unbekannten Fehlers nicht geladen werden." -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "Zu Level gehen" -#: mods/lzr_level_select/init.lua:204 -msgid "" -msgstr "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " +msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "Ungültiges Level!" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "Dies ist während des Levellösungstests nicht möglich!" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "Ein Level kann während des Ladens nicht gestartet werden!" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" + +#~ msgid "Select custom level:" +#~ msgstr "Benutzerlevel auswählen:" + +#~ msgid "There’s more than one information block." +#~ msgstr "Es gibt mehr als einen Informationsblock." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Invalid level!" +#~ msgstr "Ungültiges Level!" diff --git a/mods/lzr_level_select/locale/lzr_level_select.es.po b/mods/lzr_level_select/locale/lzr_level_select.es.po index 5080bbf0..0bc4bcf5 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.es.po +++ b/mods/lzr_level_select/locale/lzr_level_select.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,38 +13,64 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "OK" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +#, fuzzy +msgid "Single levels" +msgstr "Seleccionar nivel:" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "Seleccionar nivel:" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" -msgstr "Seleccionar un nivel personalizado:" +#: mods/lzr_level_select/init.lua:58 +#, fuzzy +msgid "Select level pack:" +msgstr "Seleccionar nivel:" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "Iniciar" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "No hay niveles." -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +#, fuzzy +msgid "There are no level packs or custom single levels." msgstr "No hay niveles personalizados." -#: mods/lzr_level_select/init.lua:88 -msgid "" -"Install levels from your friends or use the level editor to build your own." +#: mods/lzr_level_select/init.lua:167 +#, fuzzy +msgid "Install a level pack or use the level editor to build your own levels." msgstr "" "Instala niveles de tus amigos o usa el editor de nivel para construir el " "tuyo propio." -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:170 +#, fuzzy +msgid "There are no custom single levels." +msgstr "No hay niveles personalizados." + +#: mods/lzr_level_select/init.lua:171 +#, fuzzy +msgid "" +"Install one from your friends or use the level editor to build your own " +"levels." +msgstr "" +"Instala niveles de tus amigos o usa el editor de nivel para construir el " +"tuyo propio." + +#: mods/lzr_level_select/init.lua:174 +#, fuzzy +msgid "This level pack is empty." +msgstr "Este nivel es injugable." + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." @@ -52,64 +78,147 @@ msgstr "" "El nivel no puede ser cargado, No se encontró un archivo CSV del nivel, y el " "mecanismo de respaldo también falló." -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" "El nivel no puede ser cargado, sintaxis inválida del archivo CSV del nivel." -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "No hay ningún teletransportador para que el jugador comience." -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "Hay más de un teletransporte." -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." -msgstr "Hay más de un bloque de información." +#: mods/lzr_level_select/init.lua:222 +#, fuzzy +msgid "There’s more than one Goldie the Parrot." +msgstr "Hay más de un teletransporte." -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "Hay una barrera o un nodo parecido a una barrera en el nivel." -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "Hay un bloque de oro crudo en el nivel." -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "Hay una planta con raíces en el nivel." +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "Razón: @1" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "Este nivel es injugable." -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "El nivel no puede ser cargado dado un error desconocido." -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "Ir al nivel" -#: mods/lzr_level_select/init.lua:204 -msgid "" -msgstr "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " +msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "¡Nivel invalido!" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "¡No es posible durante la prueba de solución de nivel!" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "¡No se puede iniciar un nivel mientras se carga!" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" + +#~ msgid "Select custom level:" +#~ msgstr "Seleccionar un nivel personalizado:" + +#~ msgid "There’s more than one information block." +#~ msgstr "Hay más de un bloque de información." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Invalid level!" +#~ msgstr "¡Nivel invalido!" diff --git a/mods/lzr_level_select/locale/lzr_level_select.fr.po b/mods/lzr_level_select/locale/lzr_level_select.fr.po index ff105f76..1b6346e8 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.fr.po +++ b/mods/lzr_level_select/locale/lzr_level_select.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,38 +13,64 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "OK" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +#, fuzzy +msgid "Single levels" +msgstr "Choisissez un niveau :" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "Choisissez un niveau :" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" -msgstr "Sélectionnez un niveau personnalisé :" +#: mods/lzr_level_select/init.lua:58 +#, fuzzy +msgid "Select level pack:" +msgstr "Choisissez un niveau :" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "En avant !" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "Il n'y a aucun niveau." -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +#, fuzzy +msgid "There are no level packs or custom single levels." msgstr "Il n'y a aucun niveau personnalisé." -#: mods/lzr_level_select/init.lua:88 -msgid "" -"Install levels from your friends or use the level editor to build your own." +#: mods/lzr_level_select/init.lua:167 +#, fuzzy +msgid "Install a level pack or use the level editor to build your own levels." msgstr "" "Ajoutez des niveaux faits par vos amis, ou utilisez l'éditeur de niveaux " "pour créer le vôtre." -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:170 +#, fuzzy +msgid "There are no custom single levels." +msgstr "Il n'y a aucun niveau personnalisé." + +#: mods/lzr_level_select/init.lua:171 +#, fuzzy +msgid "" +"Install one from your friends or use the level editor to build your own " +"levels." +msgstr "" +"Ajoutez des niveaux faits par vos amis, ou utilisez l'éditeur de niveaux " +"pour créer le vôtre." + +#: mods/lzr_level_select/init.lua:174 +#, fuzzy +msgid "This level pack is empty." +msgstr "Ce niveau n'est pas jouable." + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." @@ -52,65 +78,148 @@ msgstr "" "Le niveau n'a pas pu être chargé : auucn fichier CSV associé n'a été trouvé, " "et le mécanisme de secours a également échoué." -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "Le niveau n'a pas pu être chargé. Le fichier CSV associé est malformé." -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "Il n'y a pas de téléporteur indiquant la position de départ du joueur." -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "Il y a plus d'un téléporteur." -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." -msgstr "Il y a plus d'un bloc d'information." +#: mods/lzr_level_select/init.lua:222 +#, fuzzy +msgid "There’s more than one Goldie the Parrot." +msgstr "Il y a plus d'un téléporteur." -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "Ily y a un bloc barrière (ou assimilé) dans le niveau." -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "Il y a un bloc d'or non protégé daans le niveau." -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "Il y a une plante à racines dans le niveau." +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "Raison : @1" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "Ce niveau n'est pas jouable." -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "Le niveau n'a pas pu être chargé, mais on ne sait pas pourquoi." -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "Aller au niveau" -#: mods/lzr_level_select/init.lua:204 -msgid "" -msgstr "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " +msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "Niveau invalide !" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" "Le niveau est en train de charger, il est impossible d'en commencer un " "nouveau !" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" + +#~ msgid "Select custom level:" +#~ msgstr "Sélectionnez un niveau personnalisé :" + +#~ msgid "There’s more than one information block." +#~ msgstr "Il y a plus d'un bloc d'information." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Invalid level!" +#~ msgstr "Niveau invalide !" diff --git a/mods/lzr_level_select/locale/lzr_level_select.id.po b/mods/lzr_level_select/locale/lzr_level_select.id.po index 3cc7aa9f..c465244c 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.id.po +++ b/mods/lzr_level_select/locale/lzr_level_select.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.it.po b/mods/lzr_level_select/locale/lzr_level_select.it.po index c87426b7..dadbb291 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.it.po +++ b/mods/lzr_level_select/locale/lzr_level_select.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.jbo.po b/mods/lzr_level_select/locale/lzr_level_select.jbo.po index 6d06b342..a0c81851 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.jbo.po +++ b/mods/lzr_level_select/locale/lzr_level_select.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.ms.po b/mods/lzr_level_select/locale/lzr_level_select.ms.po index 352a35f1..c47851e5 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.ms.po +++ b/mods/lzr_level_select/locale/lzr_level_select.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.pt_BR.po b/mods/lzr_level_select/locale/lzr_level_select.pt_BR.po index 8a645111..dd59e471 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.pt_BR.po +++ b/mods/lzr_level_select/locale/lzr_level_select.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,38 +13,64 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "OK" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +#, fuzzy +msgid "Single levels" +msgstr "Selecionar nível:" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "Selecionar nível:" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" -msgstr "Selecionar nível personalizado:" +#: mods/lzr_level_select/init.lua:58 +#, fuzzy +msgid "Select level pack:" +msgstr "Selecionar nível:" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "Iniciar" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "Não há níveis." -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +#, fuzzy +msgid "There are no level packs or custom single levels." msgstr "Não há níveis personalizados." -#: mods/lzr_level_select/init.lua:88 -msgid "" -"Install levels from your friends or use the level editor to build your own." +#: mods/lzr_level_select/init.lua:167 +#, fuzzy +msgid "Install a level pack or use the level editor to build your own levels." msgstr "" "Instale níveis de seus amigos ou use o editor de níveis para criar o seu " "próprio." -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:170 +#, fuzzy +msgid "There are no custom single levels." +msgstr "Não há níveis personalizados." + +#: mods/lzr_level_select/init.lua:171 +#, fuzzy +msgid "" +"Install one from your friends or use the level editor to build your own " +"levels." +msgstr "" +"Instale níveis de seus amigos ou use o editor de níveis para criar o seu " +"próprio." + +#: mods/lzr_level_select/init.lua:174 +#, fuzzy +msgid "This level pack is empty." +msgstr "Esse nível não é jogável." + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." @@ -52,64 +78,147 @@ msgstr "" "O nível não pôde ser carregado. Nenhum arquivo CSV do nível foi encontrado, " "e o mecanismo de fallback também falhou." -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" "O nível não pôde ser carregado. Sintaxe do arquivo CSV do nível é inválida." -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "Não há um transportador para o jogador começar." -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "Há mais de um transportador." -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." -msgstr "Há mais de um bloco de informação." +#: mods/lzr_level_select/init.lua:222 +#, fuzzy +msgid "There’s more than one Goldie the Parrot." +msgstr "Há mais de um transportador." -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "Há uma barreira ou um nó semelhante a uma barreira no nível." -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "Há um bloco de ouro vazio no nível." -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "Há uma planta enraizada no nível." +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "Motivo: @1" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "Esse nível não é jogável." -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "O nível não pôde ser carregado por causa de um erro desconhecido." -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "Ir para o nível" -#: mods/lzr_level_select/init.lua:204 -msgid "" -msgstr "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " +msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "Nível inválido!" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "Não é possível iniciar com o nível carragando!" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" + +#~ msgid "Select custom level:" +#~ msgstr "Selecionar nível personalizado:" + +#~ msgid "There’s more than one information block." +#~ msgstr "Há mais de um bloco de informação." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Invalid level!" +#~ msgstr "Nível inválido!" diff --git a/mods/lzr_level_select/locale/lzr_level_select.ru.po b/mods/lzr_level_select/locale/lzr_level_select.ru.po index 292f55d7..e30b4fde 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.ru.po +++ b/mods/lzr_level_select/locale/lzr_level_select.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,38 +14,64 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "ОК" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +#, fuzzy +msgid "Single levels" +msgstr "Выберите уровень:" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "Выберите уровень:" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" -msgstr "Выберите кастомный уровень:" +#: mods/lzr_level_select/init.lua:58 +#, fuzzy +msgid "Select level pack:" +msgstr "Выберите уровень:" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "Старт" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "Нет уровней." -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +#, fuzzy +msgid "There are no level packs or custom single levels." msgstr "Нет кастомных уровней." -#: mods/lzr_level_select/init.lua:88 -msgid "" -"Install levels from your friends or use the level editor to build your own." +#: mods/lzr_level_select/init.lua:167 +#, fuzzy +msgid "Install a level pack or use the level editor to build your own levels." msgstr "" "Устанавливайте уровни ваших друзей, или используйте редактор уровней для " "создания своих." -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:170 +#, fuzzy +msgid "There are no custom single levels." +msgstr "Нет кастомных уровней." + +#: mods/lzr_level_select/init.lua:171 +#, fuzzy +msgid "" +"Install one from your friends or use the level editor to build your own " +"levels." +msgstr "" +"Устанавливайте уровни ваших друзей, или используйте редактор уровней для " +"создания своих." + +#: mods/lzr_level_select/init.lua:174 +#, fuzzy +msgid "This level pack is empty." +msgstr "Этот уровень неиграбельный." + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." @@ -53,63 +79,146 @@ msgstr "" "Уровень не может быть загружен. CSV файл уровня не был найден, и механизм " "резервного копирования также не сработал." -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "Уровень не может быть загружен! Неверный синтаксис CSV файла уровня." -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "Нет телепортера для начального положения игрока." -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "Здесь больше одного телепортера." -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." -msgstr "Здесь больше одного блока информации." +#: mods/lzr_level_select/init.lua:222 +#, fuzzy +msgid "There’s more than one Goldie the Parrot." +msgstr "Здесь больше одного телепортера." -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "В уровне присутствует барьер или барьеро-видный блок." -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "В уровне присутствует обычный блок золота." -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "В уровне присутствует укорененное растение." +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "Причина: @1" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "Этот уровень неиграбельный." -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "Этот уровень не может быть загружен из-за неизвестной ошибки." -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "Перейти на уровень" -#: mods/lzr_level_select/init.lua:204 -msgid "" -msgstr "<уровень>" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " +msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "Неправильный уровень!" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "Нельзя начать уровень при загрузке!" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" + +#~ msgid "Select custom level:" +#~ msgstr "Выберите кастомный уровень:" + +#~ msgid "There’s more than one information block." +#~ msgstr "Здесь больше одного блока информации." + +#~ msgid "" +#~ msgstr "<уровень>" + +#~ msgid "Invalid level!" +#~ msgstr "Неправильный уровень!" diff --git a/mods/lzr_level_select/locale/lzr_level_select.se.po b/mods/lzr_level_select/locale/lzr_level_select.se.po index 4ff45f26..70b6c309 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.se.po +++ b/mods/lzr_level_select/locale/lzr_level_select.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.sk.po b/mods/lzr_level_select/locale/lzr_level_select.sk.po index 017f4639..6b75f0f7 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.sk.po +++ b/mods/lzr_level_select/locale/lzr_level_select.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.tr.po b/mods/lzr_level_select/locale/lzr_level_select.tr.po index 48a35ea2..4677c236 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.tr.po +++ b/mods/lzr_level_select/locale/lzr_level_select.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,100 +13,198 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "Tamam" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +#, fuzzy +msgid "Single levels" +msgstr "Bölüm seçin:" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "Bölüm seçin:" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" -msgstr "Özel bölüm seçin:" +#: mods/lzr_level_select/init.lua:58 +#, fuzzy +msgid "Select level pack:" +msgstr "Bölüm seçin:" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "Başla" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "Bölüm yok." -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +#, fuzzy +msgid "There are no level packs or custom single levels." msgstr "Özel bölüm yok." -#: mods/lzr_level_select/init.lua:88 -msgid "" -"Install levels from your friends or use the level editor to build your own." +#: mods/lzr_level_select/init.lua:167 +#, fuzzy +msgid "Install a level pack or use the level editor to build your own levels." msgstr "" "Arkadaşlarınızdan bölümler yükleyin veya bölüm editörü ile kendi " "bölümlerinizi oluşturun." -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:170 +#, fuzzy +msgid "There are no custom single levels." +msgstr "Özel bölüm yok." + +#: mods/lzr_level_select/init.lua:171 +#, fuzzy +msgid "" +"Install one from your friends or use the level editor to build your own " +"levels." +msgstr "" +"Arkadaşlarınızdan bölümler yükleyin veya bölüm editörü ile kendi " +"bölümlerinizi oluşturun." + +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" + +#~ msgid "Select custom level:" +#~ msgstr "Özel bölüm seçin:" diff --git a/mods/lzr_level_select/locale/lzr_level_select.zh_Hans.po b/mods/lzr_level_select/locale/lzr_level_select.zh_Hans.po index 3315071d..034aadb3 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.zh_Hans.po +++ b/mods/lzr_level_select/locale/lzr_level_select.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_level_select/locale/lzr_level_select.zh_Hant.po b/mods/lzr_level_select/locale/lzr_level_select.zh_Hant.po index 0f1afa83..00672259 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.zh_Hant.po +++ b/mods/lzr_level_select/locale/lzr_level_select.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,98 +13,185 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_level_select/init.lua:13 +#: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "" -#: mods/lzr_level_select/init.lua:19 +#: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 +msgid "Single levels" +msgstr "" + +#: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "" -#: mods/lzr_level_select/init.lua:21 -msgid "Select custom level:" +#: mods/lzr_level_select/init.lua:58 +msgid "Select level pack:" msgstr "" -#: mods/lzr_level_select/init.lua:28 +#: mods/lzr_level_select/init.lua:65 msgid "Start" msgstr "" -#: mods/lzr_level_select/init.lua:81 +#: mods/lzr_level_select/init.lua:156 msgid "There are no levels." msgstr "" -#: mods/lzr_level_select/init.lua:87 -msgid "There are no custom levels." +#: mods/lzr_level_select/init.lua:166 +msgid "There are no level packs or custom single levels." msgstr "" -#: mods/lzr_level_select/init.lua:88 +#: mods/lzr_level_select/init.lua:167 +msgid "Install a level pack or use the level editor to build your own levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:170 +msgid "There are no custom single levels." +msgstr "" + +#: mods/lzr_level_select/init.lua:171 msgid "" -"Install levels from your friends or use the level editor to build your own." +"Install one from your friends or use the level editor to build your own " +"levels." msgstr "" -#: mods/lzr_level_select/init.lua:109 +#: mods/lzr_level_select/init.lua:174 +msgid "This level pack is empty." +msgstr "" + +#: mods/lzr_level_select/init.lua:199 msgid "" "Level could not be loaded. No level CSV file was found, and the fallback " "mechanism failed as well." msgstr "" -#: mods/lzr_level_select/init.lua:117 +#: mods/lzr_level_select/init.lua:208 msgid "The level could not be loaded. Invalid syntax of level CSV file." msgstr "" -#: mods/lzr_level_select/init.lua:125 +#: mods/lzr_level_select/init.lua:216 +msgid "The level schematic file chould not be found." +msgstr "" + +#: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." msgstr "" -#: mods/lzr_level_select/init.lua:127 +#: mods/lzr_level_select/init.lua:220 msgid "There’s more than one teleporter." msgstr "" -#: mods/lzr_level_select/init.lua:129 -msgid "There’s more than one information block." +#: mods/lzr_level_select/init.lua:222 +msgid "There’s more than one Goldie the Parrot." msgstr "" -#: mods/lzr_level_select/init.lua:131 +#: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." msgstr "" -#: mods/lzr_level_select/init.lua:133 +#: mods/lzr_level_select/init.lua:226 msgid "There’s a bare gold block in the level." msgstr "" -#: mods/lzr_level_select/init.lua:135 +#: mods/lzr_level_select/init.lua:228 msgid "There’s a rooted plant in the level." msgstr "" +#: mods/lzr_level_select/init.lua:230 +msgid "Error while loading schematic file." +msgstr "" + #. ~ Reason shown on level loading error -#: mods/lzr_level_select/init.lua:140 +#: mods/lzr_level_select/init.lua:235 msgid "Reason: @1" msgstr "" -#: mods/lzr_level_select/init.lua:142 +#: mods/lzr_level_select/init.lua:237 msgid "This level is unplayable." msgstr "" -#: mods/lzr_level_select/init.lua:146 +#: mods/lzr_level_select/init.lua:241 msgid "The level could not be loaded due to an unknown error." msgstr "" -#: mods/lzr_level_select/init.lua:203 +#: mods/lzr_level_select/init.lua:258 +msgid "Okay" +msgstr "" + +#: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 +msgid "Description" +msgstr "" + +#: mods/lzr_level_select/init.lua:272 +msgid "Single, unsorted levels that don’t belong to any level pack." +msgstr "" + +#: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 +msgid "Stats" +msgstr "" + +#: mods/lzr_level_select/init.lua:274 +msgid "• Levels: @1" +msgstr "" + +#: mods/lzr_level_select/init.lua:276 +msgid "File location" +msgstr "" + +#: mods/lzr_level_select/init.lua:277 +msgid "Single levels are stored in:" +msgstr "" + +#: mods/lzr_level_select/init.lua:291 +msgid "(no description provided)" +msgstr "" + +#: mods/lzr_level_select/init.lua:298 +msgid "• Levels: @1 (@2 completed, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:299 +msgid "• Gold blocks: @1 (@2 found, @3%)" +msgstr "" + +#: mods/lzr_level_select/init.lua:301 +msgid "Mod" +msgstr "" + +#: mods/lzr_level_select/init.lua:307 +msgid "Level pack ID" +msgstr "" + +#: mods/lzr_level_select/init.lua:394 msgid "Go to level" msgstr "" -#: mods/lzr_level_select/init.lua:204 -msgid "" +#: mods/lzr_level_select/init.lua:395 +msgid "[] " msgstr "" -#: mods/lzr_level_select/init.lua:211 -msgid "Invalid level!" -msgstr "" - -#: mods/lzr_level_select/init.lua:214 +#: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" msgstr "" -#: mods/lzr_level_select/init.lua:217 +#: mods/lzr_level_select/init.lua:401 msgid "Can’t start a level while loading!" msgstr "" + +#: mods/lzr_level_select/init.lua:414 +msgid "Level pack “@1” doesn’t exist." +msgstr "" + +#: mods/lzr_level_select/init.lua:417 +msgid "" +"Level @1 does not exist in this level pack. Available levels range from @2 " +"to @3." +msgstr "" + +#: mods/lzr_level_select/init.lua:426 +msgid "Display stats about the installed level packs" +msgstr "" + +#: mods/lzr_level_select/init.lua:431 +msgid "No player." +msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.de.po b/mods/lzr_levels/locale/lzr_levels.de.po index 65b622e9..368fca75 100644 --- a/mods/lzr_levels/locale/lzr_levels.de.po +++ b/mods/lzr_levels/locale/lzr_levels.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,127 +13,123 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "Level abgeschlossen!" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "Hier gibt es keine Schätze!" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" "Yarr! Du hast es geschafft! Unser Schiff ist nun voller Gold. Wir sind reich!" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "Du hast jeden Schatz der bekannten Welt gesammelt!" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" "Kein Rätsel war zu schwer, kein Sicherheitsmechanismus konnte dich aufhalten." -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "Du bist der Perfekte Plünderer!" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "Letztes Level abgeschlossen!" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "Ohne Titel (@1)" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "Informationen über die Identität des aktuellen Levels anzeigen" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "• Levelname: @1" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "• Levelname (in Ihrer Sprache): @1" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "• Levelname (auf Englisch): @1" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "• Dateiname: @1" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "Haupt" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "• Leveltyp: @1" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "• Levelnummer: @1" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "Benutzer" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "Die Levelinformationen konnten nicht geholt werden." -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "Sie befinden sich im Level-Editor." -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "Es wird kein Level gespielt!" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "Aktuelles Level neustarten" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "Beim Laden kann nicht neugestartet werden!" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "Ein Neustart ist während des Levellösungstests nicht möglich!" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "Aktuelles Level verlassen" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "Verlassen ist während des Ladens nicht möglich!" -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "Levelfortschritt zurücksetzen" +#~ msgid "Reset level progress" +#~ msgstr "Levelfortschritt zurücksetzen" -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "Levelfortschritt zurückgesetzt." +#~ msgid "Level progress resetted." +#~ msgstr "Levelfortschritt zurückgesetzt." -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" -"Um den Levelfortschritt zurückzusetzen, benutzen Sie „/reset_progress yes“" +#~ msgid "To reset level progress, use “/reset_progress yes”" +#~ msgstr "" +#~ "Um den Levelfortschritt zurückzusetzen, benutzen Sie „/reset_progress yes“" -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "Alle Levels (außer dem ersten) als abgeschlossen markieren" +#~ msgid "Mark all levels as complete except the first one" +#~ msgstr "Alle Levels (außer dem ersten) als abgeschlossen markieren" diff --git a/mods/lzr_levels/locale/lzr_levels.es.po b/mods/lzr_levels/locale/lzr_levels.es.po index be10f243..438aae8e 100644 --- a/mods/lzr_levels/locale/lzr_levels.es.po +++ b/mods/lzr_levels/locale/lzr_levels.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,127 +13,123 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "¡Nivel completado!" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "¡Aquí no hay tesoros!" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" "¡Yarr! ¡Lo hicistes! Nuestro barco está lleno de oro ahora. ¡Somos ricos!" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "¡Has recogido todos los tesoros del mundo conocido!" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" "Ningún rompecabezas fue muy difícil, ningún mecanismo de seguridad puede " "detenerte." -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "¡Te has convertido en el ladrón perfecto!" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "¡Nivel final completado!" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "Sin título (@1)" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "Mostrar información sobre la identidad del nivel actual" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "• Nombre del nivel: @1" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "• Nombre del nivel (en tu idioma): @1" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "• Nombre del nivel (en inglés): @1" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "• Nombre del archivo: @1" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "básico" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "• Tipo de nivel: @1" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "• Número de nivel: @1" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "personalizado" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "No se pudo obtener información del nivel." -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "Estás en el editor de niveles." -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "¡No estás jugando en un nivel!" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "Reiniciar nivel actual" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "¡No se puede reiniciar mientras carga!" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "¡No puedes reiniciar durante la prueba de solución del nivel!" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "Abandonar el nivel actual" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "¡No puede salir mientras está cargando!" -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "Reiniciar progreso del nivel" +#~ msgid "Reset level progress" +#~ msgstr "Reiniciar progreso del nivel" -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "Progreso del nivel reiniciado." +#~ msgid "Level progress resetted." +#~ msgstr "Progreso del nivel reiniciado." -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "Para reiniciar el progreso del nivel, usa \"/reset_progress yes\"" +#~ msgid "To reset level progress, use “/reset_progress yes”" +#~ msgstr "Para reiniciar el progreso del nivel, usa \"/reset_progress yes\"" -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "Marcar todos los niveles como completados excepto el primero" +#~ msgid "Mark all levels as complete except the first one" +#~ msgstr "Marcar todos los niveles como completados excepto el primero" diff --git a/mods/lzr_levels/locale/lzr_levels.fr.po b/mods/lzr_levels/locale/lzr_levels.fr.po index 12cb039e..d1bcfd5f 100644 --- a/mods/lzr_levels/locale/lzr_levels.fr.po +++ b/mods/lzr_levels/locale/lzr_levels.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,135 +13,131 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "Niveau terminé !" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "Il n'y a aucun trésor ici !" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" "Yarr ! Vous l'avez fait ! Notre navire est rempli d'or à présent, nous " "sommes riches !" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "Vous avez trouvé tous les trésors du monde connu !" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "Aucune énigme, aucun mécanisme de sécurité n'a su vous arrêter." -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "Vous êtes devenu le Pilleur parfait !" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "Dernier niveau terminé !" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "Sans nom (@1)" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "Vous n'êtes pas en train de faire un niveau !" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "Recommencer le niveau" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" "Le niveau est en train de charger, il est impossible de le recommencer " "maintenant !" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 #, fuzzy msgid "Can’t restart during the level solution test!" msgstr "" "Le niveau est en train de charger, il est impossible de le recommencer " "maintenant !" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "Quitter le niveau" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" "Le niveau est en train de charger, il est impossible de le quitter " "maintenant !" -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "Réinitialiser la progression du niveau" +#~ msgid "Reset level progress" +#~ msgstr "Réinitialiser la progression du niveau" -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "La progression du niveau a été réinitialisée." +#~ msgid "Level progress resetted." +#~ msgstr "La progression du niveau a été réinitialisée." -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" -"Pour réinitialiser la progression du niveau, utilisez la commande « /" -"reset_progress yes »" +#~ msgid "To reset level progress, use “/reset_progress yes”" +#~ msgstr "" +#~ "Pour réinitialiser la progression du niveau, utilisez la commande « /" +#~ "reset_progress yes »" -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "Marque tous les niveaux comme « terminés », sauf le premier" +#~ msgid "Mark all levels as complete except the first one" +#~ msgstr "Marque tous les niveaux comme « terminés », sauf le premier" diff --git a/mods/lzr_levels/locale/lzr_levels.id.po b/mods/lzr_levels/locale/lzr_levels.id.po index c2de32ed..18d26ed4 100644 --- a/mods/lzr_levels/locale/lzr_levels.id.po +++ b/mods/lzr_levels/locale/lzr_levels.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.it.po b/mods/lzr_levels/locale/lzr_levels.it.po index bb9f42d5..1e1ecacc 100644 --- a/mods/lzr_levels/locale/lzr_levels.it.po +++ b/mods/lzr_levels/locale/lzr_levels.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.jbo.po b/mods/lzr_levels/locale/lzr_levels.jbo.po index 847f901e..04fc97ef 100644 --- a/mods/lzr_levels/locale/lzr_levels.jbo.po +++ b/mods/lzr_levels/locale/lzr_levels.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.ms.po b/mods/lzr_levels/locale/lzr_levels.ms.po index 47b77582..08ecae89 100644 --- a/mods/lzr_levels/locale/lzr_levels.ms.po +++ b/mods/lzr_levels/locale/lzr_levels.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.pt_BR.po b/mods/lzr_levels/locale/lzr_levels.pt_BR.po index d42c14af..462f9563 100644 --- a/mods/lzr_levels/locale/lzr_levels.pt_BR.po +++ b/mods/lzr_levels/locale/lzr_levels.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.ru.po b/mods/lzr_levels/locale/lzr_levels.ru.po index 9cc55ddf..c3e2af32 100644 --- a/mods/lzr_levels/locale/lzr_levels.ru.po +++ b/mods/lzr_levels/locale/lzr_levels.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,126 +14,122 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "Уровень пройден!" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "Здесь нет сокровищ!" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "Арр! Ты это сделал! Наш корабль полон золота. Мы богаты!" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "Вы собрали каждое сокровище во всех мирах!" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" "Никакие пазлы не были очень сложными, никакой механизм не мог вас остановить." -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "Вы стали идеальным грабителем!" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "Финальный уровень пройден!" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "Безымянный (@1)" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "Перезапустить текущий уровень" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "Нельзя перезапускать при загрузке!" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 #, fuzzy msgid "Can’t restart during the level solution test!" msgstr "Нельзя перезапускать при загрузке!" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "Покинуть текущий уровень" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "Нельзя выходить при загрузке!" -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "Сбросить прогресс уровня" +#~ msgid "Reset level progress" +#~ msgstr "Сбросить прогресс уровня" -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "Прогресс уровня сброшен." +#~ msgid "Level progress resetted." +#~ msgstr "Прогресс уровня сброшен." -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "Чтобы сбросить прогресс уровня, используйте “/reset_progress yes”" +#~ msgid "To reset level progress, use “/reset_progress yes”" +#~ msgstr "Чтобы сбросить прогресс уровня, используйте “/reset_progress yes”" -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "Отметить все уровни выполненными кроме последнего" +#~ msgid "Mark all levels as complete except the first one" +#~ msgstr "Отметить все уровни выполненными кроме последнего" diff --git a/mods/lzr_levels/locale/lzr_levels.se.po b/mods/lzr_levels/locale/lzr_levels.se.po index 89e5abf3..36112108 100644 --- a/mods/lzr_levels/locale/lzr_levels.se.po +++ b/mods/lzr_levels/locale/lzr_levels.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.sk.po b/mods/lzr_levels/locale/lzr_levels.sk.po index 7d5ae855..a5d2c4b3 100644 --- a/mods/lzr_levels/locale/lzr_levels.sk.po +++ b/mods/lzr_levels/locale/lzr_levels.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.tr.po b/mods/lzr_levels/locale/lzr_levels.tr.po index 828b7337..4ff3e109 100644 --- a/mods/lzr_levels/locale/lzr_levels.tr.po +++ b/mods/lzr_levels/locale/lzr_levels.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.zh_Hans.po b/mods/lzr_levels/locale/lzr_levels.zh_Hans.po index 5fe7b358..0b070ffc 100644 --- a/mods/lzr_levels/locale/lzr_levels.zh_Hans.po +++ b/mods/lzr_levels/locale/lzr_levels.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,124 +13,108 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 msgid "Level complete!" msgstr "" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" - -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "" - -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "" - -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" diff --git a/mods/lzr_levels/locale/lzr_levels.zh_TW.po b/mods/lzr_levels/locale/lzr_levels.zh_TW.po index 8691d929..e218e8f1 100644 --- a/mods/lzr_levels/locale/lzr_levels.zh_TW.po +++ b/mods/lzr_levels/locale/lzr_levels.zh_TW.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_levels x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,125 +13,118 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_levels/init.lua:1135 +#: mods/lzr_levels/init.lua:1248 #, fuzzy msgid "Level complete!" msgstr "最終關卡已破解!" -#: mods/lzr_levels/init.lua:1139 +#: mods/lzr_levels/init.lua:1252 msgid "There are no treasures here!" msgstr "" -#: mods/lzr_levels/init.lua:1173 +#: mods/lzr_levels/init.lua:1286 msgid "Yarr! You did it! Our ship’s full of gold now. We’re rich!" msgstr "" -#: mods/lzr_levels/init.lua:1174 +#: mods/lzr_levels/init.lua:1287 msgid "You’ve collected every treasure in the known world!" msgstr "" -#: mods/lzr_levels/init.lua:1175 +#: mods/lzr_levels/init.lua:1288 msgid "No puzzle was too hard, no security mechanism could stop you." msgstr "" -#: mods/lzr_levels/init.lua:1176 +#: mods/lzr_levels/init.lua:1289 msgid "You have become the Perfect Plunderer!" msgstr "" -#: mods/lzr_levels/init.lua:1208 +#: mods/lzr_levels/init.lua:1326 msgid "Final level completed!" msgstr "最終關卡已破解!" #. ~ Fallback name for untitled levels. @1 = technical level name based on file name -#: mods/lzr_levels/init.lua:1291 +#: mods/lzr_levels/init.lua:1471 msgid "Untitled (@1)" msgstr "" -#: mods/lzr_levels/init.lua:1552 +#: mods/lzr_levels/init.lua:1732 msgid "Display information about the identity of the current level" msgstr "" -#: mods/lzr_levels/init.lua:1568 +#: mods/lzr_levels/init.lua:1748 msgid "• Level name: @1" msgstr "" -#: mods/lzr_levels/init.lua:1570 +#: mods/lzr_levels/init.lua:1750 msgid "• Level name (in your language): @1" msgstr "" -#: mods/lzr_levels/init.lua:1571 +#: mods/lzr_levels/init.lua:1751 msgid "• Level name (in English): @1" msgstr "" -#: mods/lzr_levels/init.lua:1574 +#: mods/lzr_levels/init.lua:1754 msgid "• File name: @1" msgstr "" #. ~ Level type can be "core" or "custom" #. ~ A level type (core levels) -#: mods/lzr_levels/init.lua:1579 +#: mods/lzr_levels/init.lua:1759 msgid "core" msgstr "" #. ~ Level type can be "core" or "custom" -#: mods/lzr_levels/init.lua:1577 mods/lzr_levels/init.lua:1584 +#: mods/lzr_levels/init.lua:1757 mods/lzr_levels/init.lua:1764 msgid "• Level type: @1" msgstr "" -#: mods/lzr_levels/init.lua:1581 +#: mods/lzr_levels/init.lua:1761 msgid "• Level number: @1" msgstr "" #. ~ A level type (custom levels) -#: mods/lzr_levels/init.lua:1586 +#: mods/lzr_levels/init.lua:1766 msgid "custom" msgstr "" -#: mods/lzr_levels/init.lua:1593 +#: mods/lzr_levels/init.lua:1773 msgid "Could not get level information." msgstr "" -#: mods/lzr_levels/init.lua:1596 +#: mods/lzr_levels/init.lua:1776 msgid "You’re in the level editor." msgstr "" -#: mods/lzr_levels/init.lua:1598 mods/lzr_levels/init.lua:1619 -#: mods/lzr_levels/init.lua:1642 +#: mods/lzr_levels/init.lua:1778 mods/lzr_levels/init.lua:1799 +#: mods/lzr_levels/init.lua:1822 msgid "Not playing in a level!" msgstr "你不再關卡內!" -#: mods/lzr_levels/init.lua:1606 +#: mods/lzr_levels/init.lua:1786 msgid "Restart current level" msgstr "重新開始" -#: mods/lzr_levels/init.lua:1614 mods/lzr_levels/init.lua:1720 +#: mods/lzr_levels/init.lua:1794 mods/lzr_levels/init.lua:1868 msgid "Can’t restart while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1617 +#: mods/lzr_levels/init.lua:1797 msgid "Can’t restart during the level solution test!" msgstr "" -#: mods/lzr_levels/init.lua:1627 +#: mods/lzr_levels/init.lua:1807 msgid "Leave current level" msgstr "離開關卡" -#: mods/lzr_levels/init.lua:1632 mods/lzr_levels/init.lua:1714 +#: mods/lzr_levels/init.lua:1812 mods/lzr_levels/init.lua:1862 msgid "Can’t leave while loading!" msgstr "" -#: mods/lzr_levels/init.lua:1650 -msgid "Reset level progress" -msgstr "重設關卡進度" +#~ msgid "Reset level progress" +#~ msgstr "重設關卡進度" -#: mods/lzr_levels/init.lua:1654 -msgid "Level progress resetted." -msgstr "關卡重設完成。" +#~ msgid "Level progress resetted." +#~ msgstr "關卡重設完成。" -#: mods/lzr_levels/init.lua:1656 -msgid "To reset level progress, use “/reset_progress yes”" -msgstr "運行「/reset_progress yes」以重設關卡進度" - -#: mods/lzr_levels/init.lua:1669 -msgid "Mark all levels as complete except the first one" -msgstr "" +#~ msgid "To reset level progress, use “/reset_progress yes”" +#~ msgstr "運行「/reset_progress yes」以重設關卡進度" diff --git a/mods/lzr_menu/locale/lzr_menu.de.po b/mods/lzr_menu/locale/lzr_menu.de.po index b7720f47..22011525 100644 --- a/mods/lzr_menu/locale/lzr_menu.de.po +++ b/mods/lzr_menu/locale/lzr_menu.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,148 +14,148 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "Levelstarter" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "Mit dem Spiel beginnen" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "Benutzerlevelstarter" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "Benutzerlevels spielen" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "Level-Editor-Starter" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "Den Level-Editor betreten" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "Musik umschalten" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "(Musik ist eingeschaltet)" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "(Musik ist ausgeschaltet)" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "Lautsprecher" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "rot" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "„rote“ Laser" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "Ersatzfarbe für „rote“ Laser anpassen" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "grün" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "„grüne“ Laser" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "Ersatzfarbe für „grüne“ Laser anpassen" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "blau" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "„blaue“ Laser" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "Ersatzfarbe für „blaue“ Laser anpassen" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "gelb" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "„gelbe“ Laser" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "Ersatzfarbe für „gelbe“ Laser anpassen" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "türkis" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "„türkise“ Laser" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "Ersatzfarbe für „türkise“ Laser anpassen" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "magenta" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "„magenta“ Laser" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "Ersatzfarbe für „magenta“ Laser anpassen" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "weiß" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "„weiße“ Laser" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "Ersatzfarbe für „weiße“ Laser anpassen" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "Rot" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "Grün" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "Blau" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "Hier kann die Farbe @1 für Laser umdefiniert werden." -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" @@ -163,55 +163,55 @@ msgstr "" "andere ist." #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "−@1" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "+@1" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "@1/@2" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "Standard" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "Die Standardfarbe wählen" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "OK" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "Abbrechen" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "Diese Einstellung wird nach einem Neustart wirksam." -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "Undurchsichtige Laser" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" "Wenn aktiviert, werden Laser nicht mehr teildurchsichtig sein. Das kann die " "Performanz erhöhen." -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "Muster auf Lasern zeichnen" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." @@ -220,64 +220,73 @@ msgstr "" "Hilft dabei, die Laser zu unterscheiden, ohne sich allein auf die Farbe " "verlassen zu müssen." -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "Laserfarben:" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "Zurücksetzen" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "Alle Laserfarben zurücksetzen" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "Anwenden" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" "Das Spiel muss neu gestartet werden, damit die neuen Grafikeinstellungen " "wirksam werden." -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "Neu starten" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "Weiterspielen" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" "Sie haben das Spiel verlassen. Starten Sie das Spiel erneut, damit die " "Einstellungen wirksam werden." -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "Fernseher" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "Grafikeinstellungen anpassen" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "Infobuch-Bücherregal" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "Wie man das Spiel spielt" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "Gemälde: Perfekter Plünderer" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "Alle Schätze der bekannten Welt gefunden" + +#: mods/lzr_menu/init.lua:858 +#, fuzzy +msgid "Painting: Parrot Finder" +msgstr "Gemälde: Perfekter Plünderer" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.es.po b/mods/lzr_menu/locale/lzr_menu.es.po index be11e40d..70dddcf9 100644 --- a/mods/lzr_menu/locale/lzr_menu.es.po +++ b/mods/lzr_menu/locale/lzr_menu.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,203 +14,203 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "Nivel inicial" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "Empieza a jugar" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "Nivel inical personalizado" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "Juega niveles personalizados" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "Editor del nivel inicial" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "Entrar al editor de niveles" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "Activar música" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "(La música está activada)" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "(La música está desactivada)" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "Bocina" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "rojo" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "láseres \"rojos\"" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "Ajusta el color de remplazo para los láseres \"rojos\"" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "verde" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "láseres verdes" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "Ajusta el color de remplazo para los láseres \"verdes\"" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "azul" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "láseres \"azules\"" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "Ajusta el color de remplazo para los láseres \"azules\"" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "amarillo" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "láseres \"amarillos\"" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "Ajusta el color de remplazo para los láseres \"amarillos\"" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "cian" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "láseres \"cian\"" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "Ajusta el color de remplazo para los láseres \"cian\"" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "magenta" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "láseres magenta" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "Ajusta el color de remplazo para los láseres \"magenta\"" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "blanco" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "láseres \"blancos\"" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "Ajusta el color de remplazo para los láseres \"blancos\"" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "Rojo" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "Verde" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "Azul" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "Aquí puedes redefinir el color @1 para los láseres." -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" "El juego fingirá que esto es @1, incluso si el color de verdad es diferente." #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "−@1" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "+@1" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "@1/@2" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "Predeterminado" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "Escoge el color predeterminado" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "OK" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "Cancelar" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "Este ajuste tomará efecto después de reiniciar." -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "Láseres opacos" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" "Si está activado, los láseres no son translúcidos. Puede mejorar el " "rendimiento." -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "Dibujar patrones en los láseres" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." @@ -218,64 +218,73 @@ msgstr "" "Aparecerán patrones especiales en los láseres, uno por cada color. Ayuda a " "distingur los láseres sin depender solo en el color." -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "Colores de los láseres:" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "Restablecer" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "Restablecer los colores de todos los láseres" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "Aplicar" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" "El juego debe ser reiniciado para que los nuevos ajustes gráficos se " "apliquen." -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "Reiniciar" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "Seguir jugando" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" "Has salido del juego. Vuelve a iniciar el juego para que los ajustes se " "apliquen." -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "Televisión" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "Cambiar ajustes gráficos" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "Estantería de libros de información" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "Leer sobre cómo jugar" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "Pintura: perfecto saqueador" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "Encontré todos los tesoros del mundo conocido" + +#: mods/lzr_menu/init.lua:858 +#, fuzzy +msgid "Painting: Parrot Finder" +msgstr "Pintura: perfecto saqueador" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.fr.po b/mods/lzr_menu/locale/lzr_menu.fr.po index 4159f7c8..d22518d8 100644 --- a/mods/lzr_menu/locale/lzr_menu.fr.po +++ b/mods/lzr_menu/locale/lzr_menu.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,202 +14,202 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "Démarreur de niveau" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "Choisir un niveau" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "Démarreur de niveau personnalisé" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "Choisir un niveau personnalisé" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "Démarreur d'éditeur de niveau" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "Éditer un niveau" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "(Dés)activer la musique" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "(La musique est activée)" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "(La musique est désactivée)" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "Haut-parleur" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "rouge" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "lasers « rouges »" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "Couleur de remplacement des lasers « rouges »" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "vert" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "lasers « verts »" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "Couleur de remplacement des lasers « verts »" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "bleu" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "lasers « bleus »" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "Couleur de remplacement des lasers « bleus »" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "jaune" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "lasers « jaunes »" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "Couleur de remplacement des lasers « jaunes »" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "cyan" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "lasers « cyans »" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "Couleur de remplacement des lasers « cyans »" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "magenta" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "lasers « magenta »" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "Couleur de remplacement des lasers « magenta »" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "blanc" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "lasers « blancs »" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "Couleur de remplacement des lasers « blancs »" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "Rouge" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "Vert" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "Bleu" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "Ici, vous pouvez redéfinir la couleur @1 des lasers." -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "Le jeu considèrera que c'est du @1, même si ça n'en est pas." #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "−@1" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "+@1" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "@1/@2" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "Couleur par défaut" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "Utiliser la couleur par défaut" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "OK" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "Annuler" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "Un redémarrage est nécessaire pour que ce changement s'applique." -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "Lasers opaques" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" "Si actif, les lasers ne seront pas transparents. Peut améliorer la " "performance du jeu." -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "Lasers à motifs" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." @@ -217,63 +217,72 @@ msgstr "" "Si actif, des motifs spéciaux seront dessinés sur les lasers selon leur " "couleur. Peut aider à les distinguer sans utiliser leur couleur." -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "Couleurs des lasers :" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "Réinitialiser" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "Réinitialiser les couleurs de tous les lasers" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "Appliquer" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" "Un redémarrage est nécessaire pour que les changements soient appliqués." -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "Redémarrer" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "Continuer à jouer" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" "Vous avez quitté le jeu. Quand vous le relancerez, vos changements seront " "pris en compte." -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "Télévision" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "Modifier les paramètres graphiques" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "Bibliothèque avec livre d'information" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "Apprendre comment jouer" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "Peinture : Pilleur parfait" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "Vous avez trouvé tous les trésors du monde" + +#: mods/lzr_menu/init.lua:858 +#, fuzzy +msgid "Painting: Parrot Finder" +msgstr "Peinture : Pilleur parfait" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.id.po b/mods/lzr_menu/locale/lzr_menu.id.po index 79ed74ea..4473b637 100644 --- a/mods/lzr_menu/locale/lzr_menu.id.po +++ b/mods/lzr_menu/locale/lzr_menu.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.it.po b/mods/lzr_menu/locale/lzr_menu.it.po index d18503b6..c88f80f5 100644 --- a/mods/lzr_menu/locale/lzr_menu.it.po +++ b/mods/lzr_menu/locale/lzr_menu.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.jbo.po b/mods/lzr_menu/locale/lzr_menu.jbo.po index d57d7ddb..4ce96f79 100644 --- a/mods/lzr_menu/locale/lzr_menu.jbo.po +++ b/mods/lzr_menu/locale/lzr_menu.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.ms.po b/mods/lzr_menu/locale/lzr_menu.ms.po index bfff0145..916a08c6 100644 --- a/mods/lzr_menu/locale/lzr_menu.ms.po +++ b/mods/lzr_menu/locale/lzr_menu.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.pt_BR.po b/mods/lzr_menu/locale/lzr_menu.pt_BR.po index c888f9c2..60932627 100644 --- a/mods/lzr_menu/locale/lzr_menu.pt_BR.po +++ b/mods/lzr_menu/locale/lzr_menu.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "Nível Inicial" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "Começar a jogar" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "Nível Inicial Personalizado" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "Jogar níveis personalizados" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "Editor de Nível Inicial" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "Entrar no editor de nível" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "Alto-falante" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "vermelho" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "lasers vermelhos" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "Ajuste a cor de substituição para lasers \"vermelhos\"" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "verde" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "lasers \"verdes\"" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "azul" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "Azul" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "OK" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.ru.po b/mods/lzr_menu/locale/lzr_menu.ru.po index 75fcebf1..fbe129d6 100644 --- a/mods/lzr_menu/locale/lzr_menu.ru.po +++ b/mods/lzr_menu/locale/lzr_menu.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -15,259 +15,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "ОК" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.se.po b/mods/lzr_menu/locale/lzr_menu.se.po index 94d2b128..08fa8030 100644 --- a/mods/lzr_menu/locale/lzr_menu.se.po +++ b/mods/lzr_menu/locale/lzr_menu.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.sk.po b/mods/lzr_menu/locale/lzr_menu.sk.po index 4bbb88c3..ffc39fa7 100644 --- a/mods/lzr_menu/locale/lzr_menu.sk.po +++ b/mods/lzr_menu/locale/lzr_menu.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.tr.po b/mods/lzr_menu/locale/lzr_menu.tr.po index 76f97698..f73044fd 100644 --- a/mods/lzr_menu/locale/lzr_menu.tr.po +++ b/mods/lzr_menu/locale/lzr_menu.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "Tamam" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.zh_Hans.po b/mods/lzr_menu/locale/lzr_menu.zh_Hans.po index 142d83a7..017f109c 100644 --- a/mods/lzr_menu/locale/lzr_menu.zh_Hans.po +++ b/mods/lzr_menu/locale/lzr_menu.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_menu/locale/lzr_menu.zh_TW.po b/mods/lzr_menu/locale/lzr_menu.zh_TW.po index 1b8cdc92..f34174d8 100644 --- a/mods/lzr_menu/locale/lzr_menu.zh_TW.po +++ b/mods/lzr_menu/locale/lzr_menu.zh_TW.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,259 +14,267 @@ msgstr "" "X-Generator: ltt_convert 0.2.0\n" #. ~ A node that starts level selection -#: mods/lzr_menu/init.lua:160 +#: mods/lzr_menu/init.lua:197 msgid "Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:177 +#: mods/lzr_menu/init.lua:214 msgid "Start playing" msgstr "" #. ~ A node that starts custom level selection -#: mods/lzr_menu/init.lua:187 +#: mods/lzr_menu/init.lua:224 msgid "Custom Level Starter" msgstr "" -#: mods/lzr_menu/init.lua:204 +#: mods/lzr_menu/init.lua:241 msgid "Play custom levels" msgstr "" -#: mods/lzr_menu/init.lua:225 +#: mods/lzr_menu/init.lua:262 msgid "Level Editor Starter" msgstr "" -#: mods/lzr_menu/init.lua:242 +#: mods/lzr_menu/init.lua:279 msgid "Enter the level editor" msgstr "" -#: mods/lzr_menu/init.lua:266 +#: mods/lzr_menu/init.lua:303 msgid "Toggle music" msgstr "" -#: mods/lzr_menu/init.lua:271 +#: mods/lzr_menu/init.lua:308 msgid "(Music is enabled)" msgstr "" -#: mods/lzr_menu/init.lua:275 +#: mods/lzr_menu/init.lua:312 msgid "(Music is disabled)" msgstr "" -#: mods/lzr_menu/init.lua:291 +#: mods/lzr_menu/init.lua:328 msgid "Speaker" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "red" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "“red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:370 +#: mods/lzr_menu/init.lua:407 msgid "Adjust the replacement color for “red” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "green" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "“green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:371 +#: mods/lzr_menu/init.lua:408 msgid "Adjust the replacement color for “green” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "blue" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "“blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:372 +#: mods/lzr_menu/init.lua:409 msgid "Adjust the replacement color for “blue” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "yellow" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "“yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:373 +#: mods/lzr_menu/init.lua:410 msgid "Adjust the replacement color for “yellow” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "cyan" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "“cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:374 +#: mods/lzr_menu/init.lua:411 msgid "Adjust the replacement color for “cyan” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "magenta" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "“magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:375 +#: mods/lzr_menu/init.lua:412 msgid "Adjust the replacement color for “magenta” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "white" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "“white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:376 +#: mods/lzr_menu/init.lua:413 msgid "Adjust the replacement color for “white” lasers" msgstr "" -#: mods/lzr_menu/init.lua:399 +#: mods/lzr_menu/init.lua:436 msgid "Red" msgstr "" -#: mods/lzr_menu/init.lua:400 +#: mods/lzr_menu/init.lua:437 msgid "Green" msgstr "" -#: mods/lzr_menu/init.lua:401 +#: mods/lzr_menu/init.lua:438 msgid "Blue" msgstr "" -#: mods/lzr_menu/init.lua:418 +#: mods/lzr_menu/init.lua:455 msgid "Here you can redefine the color @1 for lasers." msgstr "" -#: mods/lzr_menu/init.lua:419 +#: mods/lzr_menu/init.lua:456 msgid "" "The game will pretend this is @1, even if the actual color is different." msgstr "" #. ~ Subtract color value in custom laser color menu -#: mods/lzr_menu/init.lua:435 +#: mods/lzr_menu/init.lua:472 msgid "−@1" msgstr "" #. ~ Add color value in custom laser color menu -#: mods/lzr_menu/init.lua:438 +#: mods/lzr_menu/init.lua:475 msgid "+@1" msgstr "" #. ~ Color value number in custom laser color menu. @1 current value, @2 maximum possible value -#: mods/lzr_menu/init.lua:446 +#: mods/lzr_menu/init.lua:483 msgid "@1/@2" msgstr "" -#: mods/lzr_menu/init.lua:462 +#: mods/lzr_menu/init.lua:499 msgid "Default" msgstr "" -#: mods/lzr_menu/init.lua:463 +#: mods/lzr_menu/init.lua:500 msgid "Pick the default color" msgstr "" -#: mods/lzr_menu/init.lua:465 +#: mods/lzr_menu/init.lua:502 msgid "OK" msgstr "" -#: mods/lzr_menu/init.lua:466 mods/lzr_menu/init.lua:584 +#: mods/lzr_menu/init.lua:503 mods/lzr_menu/init.lua:621 msgid "Cancel" msgstr "" -#: mods/lzr_menu/init.lua:475 +#: mods/lzr_menu/init.lua:512 msgid "This setting will take effect after a restart." msgstr "" -#: mods/lzr_menu/init.lua:484 +#: mods/lzr_menu/init.lua:521 msgid "Opaque lasers" msgstr "" -#: mods/lzr_menu/init.lua:492 +#: mods/lzr_menu/init.lua:529 msgid "If enabled, lasers aren’t translucent. Can improve performance." msgstr "" -#: mods/lzr_menu/init.lua:504 +#: mods/lzr_menu/init.lua:541 msgid "Draw patterns on lasers" msgstr "" -#: mods/lzr_menu/init.lua:505 +#: mods/lzr_menu/init.lua:542 msgid "" "Special patterns will appear on the lasers, one for each color. Helps to " "distinguish lasers without relying on color alone." msgstr "" -#: mods/lzr_menu/init.lua:549 +#: mods/lzr_menu/init.lua:586 msgid "Laser colors:" msgstr "" -#: mods/lzr_menu/init.lua:578 +#: mods/lzr_menu/init.lua:615 msgid "Reset" msgstr "" -#: mods/lzr_menu/init.lua:579 +#: mods/lzr_menu/init.lua:616 msgid "Reset all laser colors" msgstr "" -#: mods/lzr_menu/init.lua:583 +#: mods/lzr_menu/init.lua:620 msgid "Apply" msgstr "" -#: mods/lzr_menu/init.lua:658 +#: mods/lzr_menu/init.lua:695 msgid "" "The game needs to be restarted for the new graphics settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:659 +#: mods/lzr_menu/init.lua:696 msgid "Restart" msgstr "" -#: mods/lzr_menu/init.lua:660 +#: mods/lzr_menu/init.lua:697 msgid "Keep playing" msgstr "" -#: mods/lzr_menu/init.lua:674 +#: mods/lzr_menu/init.lua:711 msgid "" "You’ve quit the game. Start the game again for the settings to take effect." msgstr "" -#: mods/lzr_menu/init.lua:745 +#: mods/lzr_menu/init.lua:782 msgid "Television" msgstr "" -#: mods/lzr_menu/init.lua:762 +#: mods/lzr_menu/init.lua:799 msgid "Change graphics settings" msgstr "" -#: mods/lzr_menu/init.lua:767 +#: mods/lzr_menu/init.lua:804 msgid "Info Book Bookshelf" msgstr "" -#: mods/lzr_menu/init.lua:779 +#: mods/lzr_menu/init.lua:816 msgid "Read about how to play the game" msgstr "" -#: mods/lzr_menu/init.lua:798 +#: mods/lzr_menu/init.lua:835 msgid "Painting: Perfect Plunderer" msgstr "" -#: mods/lzr_menu/init.lua:815 +#: mods/lzr_menu/init.lua:852 msgid "Found every treasure of the known world" msgstr "" + +#: mods/lzr_menu/init.lua:858 +msgid "Painting: Parrot Finder" +msgstr "" + +#: mods/lzr_menu/init.lua:875 +msgid "Found every hidden parrot" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po index a5d858ee..d9ef00b8 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,174 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "Goldi der Papagei" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "Goldi" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "@1 sagt:" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" -msgstr "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" +msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +#, fuzzy +msgid "Saphie the Hidden Parrot" +msgstr "Goldi der Papagei" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +#, fuzzy +msgid "Garnie the Hidden Parrot" +msgstr "Goldi der Papagei" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +#, fuzzy +msgid "Tuckie the Hidden Parrot" +msgstr "Goldi der Papagei" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +#, fuzzy +msgid "Dimey the Hidden Parrot" +msgstr "Goldi der Papagei" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "OK" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "Papageiständer" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "Papageispawner" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" -msgstr "Informationsblockspawner" +#: mods/lzr_parrot_npc/init.lua:610 +#, fuzzy +msgid "Goldie the Parrot will spawn here" +msgstr "Goldi der Papagei" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "Hier wird ein Infoblock auftauchen" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "(nur einer pro Level erlaubt)" + +#: mods/lzr_parrot_npc/init.lua:640 +#, fuzzy +msgid "Hidden Parrot Spawner" +msgstr "Papageispawner" + +#: mods/lzr_parrot_npc/init.lua:641 +#, fuzzy +msgid "A hidden parrot will spawn here" +msgstr "Hier wird ein Infoblock auftauchen" + +#~ msgid "Information" +#~ msgstr "Information" + +#~ msgid "Information Block Spawner" +#~ msgstr "Informationsblockspawner" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.es.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.es.po index 2400dc46..21621a77 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.es.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,174 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "Goldie el pájaro" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "Goldie" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "@1 dice:" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" -msgstr "Información" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" +msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +#, fuzzy +msgid "Saphie the Hidden Parrot" +msgstr "Goldie el pájaro" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +#, fuzzy +msgid "Garnie the Hidden Parrot" +msgstr "Goldie el pájaro" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +#, fuzzy +msgid "Tuckie the Hidden Parrot" +msgstr "Goldie el pájaro" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +#, fuzzy +msgid "Dimey the Hidden Parrot" +msgstr "Goldie el pájaro" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "OK" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "Pájaro está parado" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "Spawners de pájaros" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" -msgstr "Información del bloque de spawner" +#: mods/lzr_parrot_npc/init.lua:610 +#, fuzzy +msgid "Goldie the Parrot will spawn here" +msgstr "Goldie el pájaro" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "Una bloque de información aparecerá aquí" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "(solo uno por nivel es permitido)" + +#: mods/lzr_parrot_npc/init.lua:640 +#, fuzzy +msgid "Hidden Parrot Spawner" +msgstr "Spawners de pájaros" + +#: mods/lzr_parrot_npc/init.lua:641 +#, fuzzy +msgid "A hidden parrot will spawn here" +msgstr "Una bloque de información aparecerá aquí" + +#~ msgid "Information" +#~ msgstr "Información" + +#~ msgid "Information Block Spawner" +#~ msgstr "Información del bloque de spawner" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.fr.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.fr.po index d50e5266..a644edc1 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.fr.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,174 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "Goldie le perroquet" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "Goldie" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "@1 dit :" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" -msgstr "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" +msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +#, fuzzy +msgid "Saphie the Hidden Parrot" +msgstr "Goldie le perroquet" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +#, fuzzy +msgid "Garnie the Hidden Parrot" +msgstr "Goldie le perroquet" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +#, fuzzy +msgid "Tuckie the Hidden Parrot" +msgstr "Goldie le perroquet" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +#, fuzzy +msgid "Dimey the Hidden Parrot" +msgstr "Goldie le perroquet" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "OK" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "Perchoir à perroquet" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "Créateur de perroquet" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" -msgstr "Créateur de bloc d'information" +#: mods/lzr_parrot_npc/init.lua:610 +#, fuzzy +msgid "Goldie the Parrot will spawn here" +msgstr "Goldie le perroquet" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "Un bloc d'information apparaîtra ici" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "(max. 1 par niveau)" + +#: mods/lzr_parrot_npc/init.lua:640 +#, fuzzy +msgid "Hidden Parrot Spawner" +msgstr "Créateur de perroquet" + +#: mods/lzr_parrot_npc/init.lua:641 +#, fuzzy +msgid "A hidden parrot will spawn here" +msgstr "Un bloc d'information apparaîtra ici" + +#~ msgid "Information" +#~ msgstr "Information" + +#~ msgid "Information Block Spawner" +#~ msgstr "Créateur de bloc d'information" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.id.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.id.po index f5c532d7..053e5126 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.id.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,159 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.it.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.it.po index 34a0dc23..d52777f3 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.it.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,161 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.jbo.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.jbo.po index f93c4503..087dc249 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.jbo.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,159 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ms.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ms.po index a0e53c86..8a67202d 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ms.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,159 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pt_BR.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pt_BR.po index c3baacb6..6d52008b 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pt_BR.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,161 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "OK" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ru.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ru.po index d83f6166..4abf32cc 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ru.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,43 +14,163 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "ОК" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "(разрешён только один на уровень)" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.se.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.se.po index c7510659..41046cc7 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.se.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,161 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.sk.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.sk.po index edad9665..5ecf94eb 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.sk.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,163 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.tr.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.tr.po index 195a4d5d..b4ed8a34 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.tr.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,161 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "Tamam" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hans.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hans.po index f70e9f11..f943c059 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hans.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,161 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hant.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hant.po index 6227080f..ba5850c2 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hant.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,43 +13,161 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_parrot_npc/init.lua:10 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:12 msgid "Goldie the Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:11 +#. ~ Parrot name. The player’s main companion and hint-giver. Named after gold +#: mods/lzr_parrot_npc/init.lua:14 msgid "Goldie" msgstr "" #. ~ @1 is a parrot name -#: mods/lzr_parrot_npc/init.lua:13 +#: mods/lzr_parrot_npc/init.lua:17 msgid "@1 says:" msgstr "" -#: mods/lzr_parrot_npc/init.lua:16 -msgid "Information" +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:81 +msgid "Ruby the Hidden Parrot" msgstr "" -#: mods/lzr_parrot_npc/init.lua:30 +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:83 +msgid "Emmy the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:85 +msgid "Saphie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:87 +msgid "Garnie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:89 +msgid "Tuckie the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:91 +msgid "Dimey the Hidden Parrot" +msgstr "" + +#. ~ Parrot name; named after ruby, a red gemstone +#: mods/lzr_parrot_npc/init.lua:95 +msgid "Ruby" +msgstr "" + +#. ~ Parrot name; named after emerald, a green gemstone +#: mods/lzr_parrot_npc/init.lua:97 +msgid "Emmy" +msgstr "" + +#. ~ Parrot name; named after saphire, a blue gemstone +#: mods/lzr_parrot_npc/init.lua:99 +msgid "Saphie" +msgstr "" + +#. ~ Parrot name; named after garnet, a magenta gemstone +#: mods/lzr_parrot_npc/init.lua:101 +msgid "Garnie" +msgstr "" + +#. ~ Parrot name; named after turquoise, a gemstone +#: mods/lzr_parrot_npc/init.lua:103 +msgid "Tuckie" +msgstr "" + +#. ~ Parrot name; named after diamond +#: mods/lzr_parrot_npc/init.lua:105 +msgid "Dimey" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:160 msgid "OK" msgstr "" -#: mods/lzr_parrot_npc/init.lua:90 +#. ~ Parrot speech indicating a parrot is coughing after an explosion +#: mods/lzr_parrot_npc/init.lua:198 +msgid "*cough* *cough*" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:210 +msgid "I’m sad because we don’t have any treasures." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:212 +msgid "We have @1 gold block in our possession." +msgid_plural "We have @1 gold blocks in our possession." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:424 +msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:425 +msgid "I’ve got an idea. Let me come with you, okay?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:426 +msgid "" +"I have five friends scattered around the world, I want to meet them again. " +"Their names are @1, @2, @3, @4 and @5." +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:429 +msgid "" +"Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " +"family is re-united!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:431 +msgid "" +"I’ve got a beautiful portrait of myself. You can have it. How nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:433 +msgid "" +"I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " +"nice is that?" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:438 +msgid "You found my secret hiding spot!" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:439 +msgid "Only @1 parrot is still in hiding." +msgid_plural "There are still @1 hidden parrots left to go." +msgstr[0] "" +msgstr[1] "" + +#: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" msgstr "" -#: mods/lzr_parrot_npc/init.lua:110 +#: mods/lzr_parrot_npc/init.lua:609 msgid "Parrot Spawner" msgstr "" -#: mods/lzr_parrot_npc/init.lua:114 -msgid "Information Block Spawner" +#: mods/lzr_parrot_npc/init.lua:610 +msgid "Goldie the Parrot will spawn here" msgstr "" -#: mods/lzr_parrot_npc/init.lua:115 -msgid "An info block will spawn here" -msgstr "" - -#: mods/lzr_parrot_npc/init.lua:116 +#: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "" + +#: mods/lzr_parrot_npc/init.lua:640 +msgid "Hidden Parrot Spawner" +msgstr "" + +#: mods/lzr_parrot_npc/init.lua:641 +msgid "A hidden parrot will spawn here" +msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.de.po b/mods/lzr_solutions/locale/lzr_solutions.de.po index 93bd0b1a..69def5e3 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.de.po +++ b/mods/lzr_solutions/locale/lzr_solutions.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,77 +13,77 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "Hauptlevellösungsstest BESTANDEN!" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "Levellösungstest BESTANDEN!" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" "Weltlösungspfad konnte entweder nicht erstellt werden oder es konnte nicht " "auf ihn zugegriffen werden." -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "Lösungsdatei geschrieben zu: @1" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "Lösungsdatei konnte nicht geschrieben werden." -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "Aufzeichnung abgeschlossen." -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "Aufzeichnung abgebrochen." -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" "Gespeicherte Wiederholung für das aktuelle Level abspielen, falls sie " "existiert" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "Es wird gerade nicht in einem Level gespielt!" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "Es wird bereits eine Lösung wiedergegeben!" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "Es findet bereits eine Aufzeichnung statt!" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "Keine Lösung verfügbar." -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "Wiederholung gestartet." -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "CSV-Fehler in Lösung: @1" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "Keine Lösungsdatei verfügbar." -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "Die Lösungen aller Hauptlevel testen" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" @@ -91,14 +91,14 @@ msgstr "" "Aufzeichnung der Lösung für das aktuelle Level starten oder stoppen; beim " "Stopp wird in eine Lösungsdatei geschrieben" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "Aufzeichnung gestartet." -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "Es läuft keine Aufzeichnung!" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "Aufzeichnung gestoppt." diff --git a/mods/lzr_solutions/locale/lzr_solutions.es.po b/mods/lzr_solutions/locale/lzr_solutions.es.po index 0eff92b1..e9cc9963 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.es.po +++ b/mods/lzr_solutions/locale/lzr_solutions.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,73 +13,73 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "Prueba de solución para el nivel inicial PASADA!" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "Prueba de solución de nivel PASADA!" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "No se pudo crear y/o acceder a la ruta de soluciones globales." -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "Archivo de solución creado en: @1" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "No se pudo crear archivo de solución." -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "Grabación finalizada." -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "Grabación cancelada." -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "Repetir solución guardada para el nivel actual, si existe" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "¡No estás jugando en un nivel!" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "¡Ya estas repitiendo una solución!" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "¡Ya estás grabando!" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "No hay soluciones disponibles." -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "Repetición iniciada." -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "Error de CSV en solución: @1." -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "No hay archivo de solución disponible." -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "Prueba la solución de todos los niveles básicos" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" @@ -87,14 +87,14 @@ msgstr "" "Inicia o deten la grabación de la solución para el nivel actual, se " "escribirá en un archivo de solución cuando se termine" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "Grabación iniciada." -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "¡No se está grabando!" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "Grabación detenida." diff --git a/mods/lzr_solutions/locale/lzr_solutions.fr.po b/mods/lzr_solutions/locale/lzr_solutions.fr.po index 2279b640..c3c3dd37 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.fr.po +++ b/mods/lzr_solutions/locale/lzr_solutions.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.id.po b/mods/lzr_solutions/locale/lzr_solutions.id.po index aaee87ee..d32454b5 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.id.po +++ b/mods/lzr_solutions/locale/lzr_solutions.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.it.po b/mods/lzr_solutions/locale/lzr_solutions.it.po index 5ffb2d12..4d4f32e8 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.it.po +++ b/mods/lzr_solutions/locale/lzr_solutions.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.jbo.po b/mods/lzr_solutions/locale/lzr_solutions.jbo.po index 46f8e540..c1d2e12f 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.jbo.po +++ b/mods/lzr_solutions/locale/lzr_solutions.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.ms.po b/mods/lzr_solutions/locale/lzr_solutions.ms.po index 5a2f3e71..f1ec7ed0 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.ms.po +++ b/mods/lzr_solutions/locale/lzr_solutions.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.pt_BR.po b/mods/lzr_solutions/locale/lzr_solutions.pt_BR.po index e7c9f891..bf248c89 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.pt_BR.po +++ b/mods/lzr_solutions/locale/lzr_solutions.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.ru.po b/mods/lzr_solutions/locale/lzr_solutions.ru.po index f6aebff8..d8a982f0 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.ru.po +++ b/mods/lzr_solutions/locale/lzr_solutions.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,86 +14,86 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.se.po b/mods/lzr_solutions/locale/lzr_solutions.se.po index 75208549..88292cd6 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.se.po +++ b/mods/lzr_solutions/locale/lzr_solutions.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.sk.po b/mods/lzr_solutions/locale/lzr_solutions.sk.po index 5cd18398..8f2605f8 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.sk.po +++ b/mods/lzr_solutions/locale/lzr_solutions.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.tr.po b/mods/lzr_solutions/locale/lzr_solutions.tr.po index f0ceacc4..0f1affdf 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.tr.po +++ b/mods/lzr_solutions/locale/lzr_solutions.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.zh_Hans.po b/mods/lzr_solutions/locale/lzr_solutions.zh_Hans.po index 020adaf3..939481a0 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.zh_Hans.po +++ b/mods/lzr_solutions/locale/lzr_solutions.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_solutions/locale/lzr_solutions.zh_Hant.po b/mods/lzr_solutions/locale/lzr_solutions.zh_Hant.po index a64fd9ce..3d03c5e5 100644 --- a/mods/lzr_solutions/locale/lzr_solutions.zh_Hant.po +++ b/mods/lzr_solutions/locale/lzr_solutions.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_solutions x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,86 +13,86 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_solutions/init.lua:450 +#: mods/lzr_solutions/init.lua:451 msgid "Core level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:469 +#: mods/lzr_solutions/init.lua:470 msgid "Level solution test PASSED!" msgstr "" -#: mods/lzr_solutions/init.lua:501 +#: mods/lzr_solutions/init.lua:502 msgid "Could not create and/or access world solutions path." msgstr "" -#: mods/lzr_solutions/init.lua:518 +#: mods/lzr_solutions/init.lua:519 msgid "Solution file written to: @1" msgstr "" -#: mods/lzr_solutions/init.lua:520 +#: mods/lzr_solutions/init.lua:521 msgid "Could not write solution file." msgstr "" -#: mods/lzr_solutions/init.lua:530 +#: mods/lzr_solutions/init.lua:531 msgid "Recording finished." msgstr "" -#: mods/lzr_solutions/init.lua:536 mods/lzr_solutions/init.lua:647 +#: mods/lzr_solutions/init.lua:537 mods/lzr_solutions/init.lua:648 msgid "Recording cancelled." msgstr "" -#: mods/lzr_solutions/init.lua:553 +#: mods/lzr_solutions/init.lua:554 msgid "Replay saved solution for current level, if one exists" msgstr "" -#: mods/lzr_solutions/init.lua:557 mods/lzr_solutions/init.lua:617 +#: mods/lzr_solutions/init.lua:558 mods/lzr_solutions/init.lua:618 msgid "Not playing in a level!" msgstr "" -#: mods/lzr_solutions/init.lua:561 mods/lzr_solutions/init.lua:601 -#: mods/lzr_solutions/init.lua:623 +#: mods/lzr_solutions/init.lua:562 mods/lzr_solutions/init.lua:602 +#: mods/lzr_solutions/init.lua:624 msgid "Already replaying a solution!" msgstr "" -#: mods/lzr_solutions/init.lua:563 mods/lzr_solutions/init.lua:603 -#: mods/lzr_solutions/init.lua:625 +#: mods/lzr_solutions/init.lua:564 mods/lzr_solutions/init.lua:604 +#: mods/lzr_solutions/init.lua:626 msgid "Already recording!" msgstr "" -#: mods/lzr_solutions/init.lua:571 +#: mods/lzr_solutions/init.lua:572 msgid "No solution available." msgstr "" -#: mods/lzr_solutions/init.lua:585 +#: mods/lzr_solutions/init.lua:586 msgid "Replay started." msgstr "" -#: mods/lzr_solutions/init.lua:587 +#: mods/lzr_solutions/init.lua:588 msgid "CSV error in solution: @1." msgstr "" -#: mods/lzr_solutions/init.lua:590 +#: mods/lzr_solutions/init.lua:591 msgid "No solution file available." msgstr "" -#: mods/lzr_solutions/init.lua:598 +#: mods/lzr_solutions/init.lua:599 msgid "Test the solution of all core levels" msgstr "" -#: mods/lzr_solutions/init.lua:613 +#: mods/lzr_solutions/init.lua:614 msgid "" "Start or stop recording solution for current level, writing to a solution " "file when stopping" msgstr "" -#: mods/lzr_solutions/init.lua:628 +#: mods/lzr_solutions/init.lua:629 msgid "Recording started." msgstr "" -#: mods/lzr_solutions/init.lua:632 mods/lzr_solutions/init.lua:644 +#: mods/lzr_solutions/init.lua:633 mods/lzr_solutions/init.lua:645 msgid "Not recording!" msgstr "" -#: mods/lzr_solutions/init.lua:637 mods/lzr_solutions/init.lua:639 +#: mods/lzr_solutions/init.lua:638 mods/lzr_solutions/init.lua:640 msgid "Recording stopped." msgstr "" diff --git a/mods/lzr_tools/locale/lzr_tools.it.po b/mods/lzr_tools/locale/lzr_tools.it.po index 20a4a83c..d15de48f 100644 --- a/mods/lzr_tools/locale/lzr_tools.it.po +++ b/mods/lzr_tools/locale/lzr_tools.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_tools x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 03:16+0100\n" +"POT-Creation-Date: 2024-12-14 13:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -43,7 +43,7 @@ msgstr "" #. ~ Message shown when the 'laser stepper' debug tool was used to simulate the laser travel algorithm with a set number of iterations #: mods/lzr_tools/init.lua:128 msgid "Emitted lasers with @1 iteration." -msgid_plural "Emitted lasers with @1 iterations" +msgid_plural "Emitted lasers with @1 iterations." msgstr[0] "" msgstr[1] "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.de.po b/mods/lzr_triggers/locale/lzr_triggers.de.po index 930b7c98..6022dc2e 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.de.po +++ b/mods/lzr_triggers/locale/lzr_triggers.de.po @@ -14,296 +14,262 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.8.4\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" -msgstr "Kaputte Auslöser-ID" - -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" -msgstr "Ungültiger Signaltyp von Auslöser" - -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" -msgstr "Ungültiger Empfängertyp von Auslöser" - -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" -msgstr "Kaputter Auslöser-Ort" - -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" -msgstr "Auslöser wurde einem Node zugewiesen, der keine Auslöser unterstüzt" - -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -"Abgeschlossene Truhe kann nicht geöffnet werden aufgrund fehlender Sender" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" -msgstr "Auslöser" - -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" -msgstr "Spieler" - -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" -msgstr "Start" - -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." -msgstr "Keine Auslöser." - -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" -msgstr "ID" - -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "Ort" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "Node" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "#Empf." - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "#Send." - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "Sig.-typ" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "Empf.-typ" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "Auslöser:" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "Spalten:" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "@1: Einzigartiger Auslöseridentifikator" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -"@1: Jetziger Nodeort (Start = Startposition, Spieler = in Spielerinventar)" -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "@1: Name des Nodes, der auslöst" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" +msgstr "" -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "@1: Anzahl der Empfänger, zu dem dieser Auslöser sendet" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" +msgstr "" -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "@1: Anzahl der Sender, von dem dieser Auslöser empfängt" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" +msgstr "" -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "@1: Signaltyp" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" +msgstr "" -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "@1: Empfängertyp" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" +msgstr "" -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "Signaltypen:" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" +msgstr "" -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "@1: @2" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." +msgstr "" -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "Empfängertypen:" +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" +msgstr "" -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "Typ" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" +msgstr "" -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "Empfänger" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "Sender" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "Keine" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "Signale für Auslöser @1:" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "Zeigt eine Liste aller Auslöser an" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "Kein Spieler." - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "Aktivieren AUS" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "Aktivieren EIN" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "Aktivieren UMSCHALT" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "Deaktivieren AUS" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "Deaktivieren EIN" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "Deaktivieren UMSCHALT" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "Synchron" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "Synchron invertiert" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "Umschalten" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "Umschalten AUS" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "Umschalten EIN" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "EIN-Signal bei Aktivierung senden, AUS-Signal bei Deaktivierung senden" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "AUS-Signal bei Aktivierung senden, EIN-Signal bei Deaktivierung senden" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "UMSCHALT-Signal beim Umschalten senden" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "EIN-Signal beim Umschalten senden" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "AUS-Signal beim Umschalten senden" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "EIN-Signal beim Aktivieren senden" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "UMSCHALT-Signal beim Aktivieren senden" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "AUS-Signal beim Aktivieren senden" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "EIN-Signal beim Deaktivieren senden" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "UMSCHALT-Signal beim Deaktivieren senden" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "AUS-Signal beim Deaktivieren senden" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "Beliebig" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "Synchrones UND" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "auf jedes Signal reagieren" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" -"Aktiviert sich, wenn es ein Signal empfängt und all seine synchronen Sender " -"aktiv und all seine invertierten synchronen Sender inaktiv sind; deaktiviert " -"sich, wenn es ein Signal empfängt, wenn das nicht der Fall ist" + +#~ msgid "Malformed trigger ID" +#~ msgstr "Kaputte Auslöser-ID" + +#~ msgid "Invalid signal type of trigger" +#~ msgstr "Ungültiger Signaltyp von Auslöser" + +#~ msgid "Invalid receiver type of trigger" +#~ msgstr "Ungültiger Empfängertyp von Auslöser" + +#~ msgid "Malformed trigger location" +#~ msgstr "Kaputter Auslöser-Ort" + +#~ msgid "Trigger assigned to node that doesn’t support triggers" +#~ msgstr "Auslöser wurde einem Node zugewiesen, der keine Auslöser unterstüzt" + +#~ msgid "Locked chest can’t be opened due to lack of senders" +#~ msgstr "" +#~ "Abgeschlossene Truhe kann nicht geöffnet werden aufgrund fehlender Sender" + +#~ msgid "Triggers" +#~ msgstr "Auslöser" + +#~ msgid "player" +#~ msgstr "Spieler" + +#~ msgid "start" +#~ msgstr "Start" + +#~ msgid "No triggers." +#~ msgstr "Keine Auslöser." + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Location" +#~ msgstr "Ort" + +#~ msgid "Node" +#~ msgstr "Node" + +#~ msgid "#Recv." +#~ msgstr "#Empf." + +#~ msgid "#Send." +#~ msgstr "#Send." + +#~ msgid "Sig. type" +#~ msgstr "Sig.-typ" + +#~ msgid "Recv. type" +#~ msgstr "Empf.-typ" + +#~ msgid "Triggers:" +#~ msgstr "Auslöser:" + +#~ msgid "Columns:" +#~ msgstr "Spalten:" + +#~ msgid "@1: Unique trigger identifier" +#~ msgstr "@1: Einzigartiger Auslöseridentifikator" + +#~ msgid "" +#~ "@1: Current node location (start = initial position, player = in player " +#~ "inventory)" +#~ msgstr "" +#~ "@1: Jetziger Nodeort (Start = Startposition, Spieler = in Spielerinventar)" + +#~ msgid "@1: Name of the node that triggers" +#~ msgstr "@1: Name des Nodes, der auslöst" + +#~ msgid "@1: Number of receivers this trigger sends to" +#~ msgstr "@1: Anzahl der Empfänger, zu dem dieser Auslöser sendet" + +#~ msgid "@1: Number of senders this trigger receives from" +#~ msgstr "@1: Anzahl der Sender, von dem dieser Auslöser empfängt" + +#~ msgid "@1: Signal type" +#~ msgstr "@1: Signaltyp" + +#~ msgid "@1: Receiver type" +#~ msgstr "@1: Empfängertyp" + +#~ msgid "Signal types:" +#~ msgstr "Signaltypen:" + +#~ msgid "@1: @2" +#~ msgstr "@1: @2" + +#~ msgid "Receiver types:" +#~ msgstr "Empfängertypen:" + +#~ msgid "Type" +#~ msgstr "Typ" + +#~ msgid "Receiver" +#~ msgstr "Empfänger" + +#~ msgid "Sender" +#~ msgstr "Sender" + +#~ msgid "None" +#~ msgstr "Keine" + +#~ msgid "Signals of trigger @1:" +#~ msgstr "Signale für Auslöser @1:" + +#~ msgid "Show a list of all triggers" +#~ msgstr "Zeigt eine Liste aller Auslöser an" + +#~ msgid "No player." +#~ msgstr "Kein Spieler." + +#~ msgid "Activate OFF" +#~ msgstr "Aktivieren AUS" + +#~ msgid "Activate ON" +#~ msgstr "Aktivieren EIN" + +#~ msgid "Activate TOGGLE" +#~ msgstr "Aktivieren UMSCHALT" + +#~ msgid "Deactivate OFF" +#~ msgstr "Deaktivieren AUS" + +#~ msgid "Deactivate ON" +#~ msgstr "Deaktivieren EIN" + +#~ msgid "Deactivate TOGGLE" +#~ msgstr "Deaktivieren UMSCHALT" + +#~ msgid "Synchronous" +#~ msgstr "Synchron" + +#~ msgid "Synchronous inverted" +#~ msgstr "Synchron invertiert" + +#~ msgid "Toggle" +#~ msgstr "Umschalten" + +#~ msgid "Toggle OFF" +#~ msgstr "Umschalten AUS" + +#~ msgid "Toggle ON" +#~ msgstr "Umschalten EIN" + +#~ msgid "send ON signal when activated, send OFF signal when deactivated" +#~ msgstr "" +#~ "EIN-Signal bei Aktivierung senden, AUS-Signal bei Deaktivierung senden" + +#~ msgid "send OFF signal when activated, send ON signal when deactivated" +#~ msgstr "" +#~ "AUS-Signal bei Aktivierung senden, EIN-Signal bei Deaktivierung senden" + +#~ msgid "send TOGGLE signal when toggled" +#~ msgstr "UMSCHALT-Signal beim Umschalten senden" + +#~ msgid "send ON signal when toggled" +#~ msgstr "EIN-Signal beim Umschalten senden" + +#~ msgid "send OFF signal when toggled" +#~ msgstr "AUS-Signal beim Umschalten senden" + +#~ msgid "send ON signal when activated" +#~ msgstr "EIN-Signal beim Aktivieren senden" + +#~ msgid "send TOGGLE signal when activated" +#~ msgstr "UMSCHALT-Signal beim Aktivieren senden" + +#~ msgid "send OFF signal when activated" +#~ msgstr "AUS-Signal beim Aktivieren senden" + +#~ msgid "send ON signal when deactivated" +#~ msgstr "EIN-Signal beim Deaktivieren senden" + +#~ msgid "send TOGGLE signal when deactivated" +#~ msgstr "UMSCHALT-Signal beim Deaktivieren senden" + +#~ msgid "send OFF signal when deactivated" +#~ msgstr "AUS-Signal beim Deaktivieren senden" + +#~ msgid "Synchronous AND" +#~ msgstr "Synchrones UND" + +#~ msgid "react to any signal" +#~ msgstr "auf jedes Signal reagieren" + +#~ msgid "" +#~ "activates when receiving a signal and all its synchronous senders are " +#~ "active and all its inverted synchronous senders are inactive; deactivates " +#~ "when receiving a signal when that’s not the case" +#~ msgstr "" +#~ "Aktiviert sich, wenn es ein Signal empfängt und all seine synchronen " +#~ "Sender aktiv und all seine invertierten synchronen Sender inaktiv sind; " +#~ "deaktiviert sich, wenn es ein Signal empfängt, wenn das nicht der Fall ist" diff --git a/mods/lzr_triggers/locale/lzr_triggers.es.po b/mods/lzr_triggers/locale/lzr_triggers.es.po index 57c1e3e0..5d2ac9d2 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.es.po +++ b/mods/lzr_triggers/locale/lzr_triggers.es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,300 +13,264 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" -msgstr "ID de activador mal formado" - -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" -msgstr "Señal invalida del disparador" - -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" -msgstr "Tipo de receptor inválido de disparador" - -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" -msgstr "Ubicación del disparador mal formado" - -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" -msgstr "Disparador asignado al nodo que no soporta disparadores" - -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" -msgstr "El cofre bloqueado no puede ser abierto dada la falta de remitentes" - -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" -msgstr "Disparadores" - -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" -msgstr "jugador" - -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" -msgstr "inicio" - -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." -msgstr "Sin disparadores." - -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" -msgstr "ID" - -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "Ubicación" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "Nodo" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "#Recp." - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "#Envía." - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "Sig. tipo" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "Tipo de Recp" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "Disparadores:" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "Columnas:" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "@1 : Identificador de disparador único" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -"@1: Ubicación actual del nodo (inicio = posición inicial, jugador = en el " -"inventario del jugador)" -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "@1: Nombre del nodo que activa" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "@1: Número de receptores a los que envía este disparador" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "@1: Número de remitentes de los que recibe este disparador" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "@1: Tipo de señal" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "@1: Tipo de receptor" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "Tipos de señales:" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "@1: @2" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "Tipos de receptores:" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "Tipo" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "Receptor" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "Remitente" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "Ninguno" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "Señales del disparador @1:" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "Mostrar una lista de todos los disparadores" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "Ningún jugador." - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "Activar APAGADO" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "Activar ENCENDIDO" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "Activar ALTERNANCIA" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "Desactivar APAGADO" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "Desactivar ENCENDIDO" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "Desactivar ALTERNANCIA" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "Sincrónico" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "Sincrónico invertido" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "Alternancia" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "Alternancia APAGADO" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "Alternancia ENCENDIDO" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -"envía una señal de ENCENDIDO cuando este activado, envía una señal de " -"APAGADO cuando este desactivado" -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -"enviar señal de APAGADO cuando es activado, enviar de ENCENDIDO cuando es " -"desactivado" -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "enviar señal de ALTERNANCIA cuando sea habilitada" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" +msgstr "" -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "enviar una señal de ENCENDIDO cuando sea habilitado" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" +msgstr "" -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "enviar señal de APAGADO cuando sea habilitado" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" +msgstr "" -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "enviar señal de ENCENDIDO cuando sea habilitado" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" +msgstr "" -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "enviar señal de ALTERNANCIA cuando sea activado" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" +msgstr "" -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "enviar señal de APAGADO cuando sea activado" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." +msgstr "" -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "enviar señal de ENCENDIDO cuando sea desactivado" +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" +msgstr "" -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "enviar señal de ALTERNANCIA cuando sea desactivado" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" +msgstr "" -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "enviar señal de APAGADO cuando sea desactivado" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "Cualquier" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "Sincrónico Y" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "reacciona a cualquier señal" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" -"se activa al recibir una señal y todos sus emisores síncronicos están " -"activos y todos sus emisores síncronicos invertidos están inactivos; se " -"desactiva al recibir una señal cuando ese no es el caso" + +#~ msgid "Malformed trigger ID" +#~ msgstr "ID de activador mal formado" + +#~ msgid "Invalid signal type of trigger" +#~ msgstr "Señal invalida del disparador" + +#~ msgid "Invalid receiver type of trigger" +#~ msgstr "Tipo de receptor inválido de disparador" + +#~ msgid "Malformed trigger location" +#~ msgstr "Ubicación del disparador mal formado" + +#~ msgid "Trigger assigned to node that doesn’t support triggers" +#~ msgstr "Disparador asignado al nodo que no soporta disparadores" + +#~ msgid "Locked chest can’t be opened due to lack of senders" +#~ msgstr "El cofre bloqueado no puede ser abierto dada la falta de remitentes" + +#~ msgid "Triggers" +#~ msgstr "Disparadores" + +#~ msgid "player" +#~ msgstr "jugador" + +#~ msgid "start" +#~ msgstr "inicio" + +#~ msgid "No triggers." +#~ msgstr "Sin disparadores." + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Location" +#~ msgstr "Ubicación" + +#~ msgid "Node" +#~ msgstr "Nodo" + +#~ msgid "#Recv." +#~ msgstr "#Recp." + +#~ msgid "#Send." +#~ msgstr "#Envía." + +#~ msgid "Sig. type" +#~ msgstr "Sig. tipo" + +#~ msgid "Recv. type" +#~ msgstr "Tipo de Recp" + +#~ msgid "Triggers:" +#~ msgstr "Disparadores:" + +#~ msgid "Columns:" +#~ msgstr "Columnas:" + +#~ msgid "@1: Unique trigger identifier" +#~ msgstr "@1 : Identificador de disparador único" + +#~ msgid "" +#~ "@1: Current node location (start = initial position, player = in player " +#~ "inventory)" +#~ msgstr "" +#~ "@1: Ubicación actual del nodo (inicio = posición inicial, jugador = en el " +#~ "inventario del jugador)" + +#~ msgid "@1: Name of the node that triggers" +#~ msgstr "@1: Nombre del nodo que activa" + +#~ msgid "@1: Number of receivers this trigger sends to" +#~ msgstr "@1: Número de receptores a los que envía este disparador" + +#~ msgid "@1: Number of senders this trigger receives from" +#~ msgstr "@1: Número de remitentes de los que recibe este disparador" + +#~ msgid "@1: Signal type" +#~ msgstr "@1: Tipo de señal" + +#~ msgid "@1: Receiver type" +#~ msgstr "@1: Tipo de receptor" + +#~ msgid "Signal types:" +#~ msgstr "Tipos de señales:" + +#~ msgid "@1: @2" +#~ msgstr "@1: @2" + +#~ msgid "Receiver types:" +#~ msgstr "Tipos de receptores:" + +#~ msgid "Type" +#~ msgstr "Tipo" + +#~ msgid "Receiver" +#~ msgstr "Receptor" + +#~ msgid "Sender" +#~ msgstr "Remitente" + +#~ msgid "None" +#~ msgstr "Ninguno" + +#~ msgid "Signals of trigger @1:" +#~ msgstr "Señales del disparador @1:" + +#~ msgid "Show a list of all triggers" +#~ msgstr "Mostrar una lista de todos los disparadores" + +#~ msgid "No player." +#~ msgstr "Ningún jugador." + +#~ msgid "Activate OFF" +#~ msgstr "Activar APAGADO" + +#~ msgid "Activate ON" +#~ msgstr "Activar ENCENDIDO" + +#~ msgid "Activate TOGGLE" +#~ msgstr "Activar ALTERNANCIA" + +#~ msgid "Deactivate OFF" +#~ msgstr "Desactivar APAGADO" + +#~ msgid "Deactivate ON" +#~ msgstr "Desactivar ENCENDIDO" + +#~ msgid "Deactivate TOGGLE" +#~ msgstr "Desactivar ALTERNANCIA" + +#~ msgid "Synchronous" +#~ msgstr "Sincrónico" + +#~ msgid "Synchronous inverted" +#~ msgstr "Sincrónico invertido" + +#~ msgid "Toggle" +#~ msgstr "Alternancia" + +#~ msgid "Toggle OFF" +#~ msgstr "Alternancia APAGADO" + +#~ msgid "Toggle ON" +#~ msgstr "Alternancia ENCENDIDO" + +#~ msgid "send ON signal when activated, send OFF signal when deactivated" +#~ msgstr "" +#~ "envía una señal de ENCENDIDO cuando este activado, envía una señal de " +#~ "APAGADO cuando este desactivado" + +#~ msgid "send OFF signal when activated, send ON signal when deactivated" +#~ msgstr "" +#~ "enviar señal de APAGADO cuando es activado, enviar de ENCENDIDO cuando es " +#~ "desactivado" + +#~ msgid "send TOGGLE signal when toggled" +#~ msgstr "enviar señal de ALTERNANCIA cuando sea habilitada" + +#~ msgid "send ON signal when toggled" +#~ msgstr "enviar una señal de ENCENDIDO cuando sea habilitado" + +#~ msgid "send OFF signal when toggled" +#~ msgstr "enviar señal de APAGADO cuando sea habilitado" + +#~ msgid "send ON signal when activated" +#~ msgstr "enviar señal de ENCENDIDO cuando sea habilitado" + +#~ msgid "send TOGGLE signal when activated" +#~ msgstr "enviar señal de ALTERNANCIA cuando sea activado" + +#~ msgid "send OFF signal when activated" +#~ msgstr "enviar señal de APAGADO cuando sea activado" + +#~ msgid "send ON signal when deactivated" +#~ msgstr "enviar señal de ENCENDIDO cuando sea desactivado" + +#~ msgid "send TOGGLE signal when deactivated" +#~ msgstr "enviar señal de ALTERNANCIA cuando sea desactivado" + +#~ msgid "send OFF signal when deactivated" +#~ msgstr "enviar señal de APAGADO cuando sea desactivado" + +#~ msgid "Synchronous AND" +#~ msgstr "Sincrónico Y" + +#~ msgid "react to any signal" +#~ msgstr "reacciona a cualquier señal" + +#~ msgid "" +#~ "activates when receiving a signal and all its synchronous senders are " +#~ "active and all its inverted synchronous senders are inactive; deactivates " +#~ "when receiving a signal when that’s not the case" +#~ msgstr "" +#~ "se activa al recibir una señal y todos sus emisores síncronicos están " +#~ "activos y todos sus emisores síncronicos invertidos están inactivos; se " +#~ "desactiva al recibir una señal cuando ese no es el caso" diff --git a/mods/lzr_triggers/locale/lzr_triggers.fr.po b/mods/lzr_triggers/locale/lzr_triggers.fr.po index 785d030e..9826da25 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.fr.po +++ b/mods/lzr_triggers/locale/lzr_triggers.fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,300 +13,264 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" -msgstr "Identifiant de déclencheur invalide" - -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" -msgstr "Le type de signal du déclencheur est invalide" - -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" -msgstr "Le type de récepteur du déclencheur est invalide" - -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" -msgstr "Emplacement de déclencheur invalide" - -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" -msgstr "Un déclencheur a été associé à un bloc qui ne le permet pas" - -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -"Un coffre verrouillé ne peut pas être ouvert par manque de déclencheurs" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" -msgstr "Déclencheurs" - -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" -msgstr "dans l'inventaire" - -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" -msgstr "à la position initiale" - -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." -msgstr "Aucun déclencheur." - -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" -msgstr "Identifiant" - -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "Position" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "Bloc" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "#Recv." - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "#Émetr." - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "Type de signal" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "Type de récepteur" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "Déclencheurs :" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "Colonnes :" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "@1 : identifiant de déclencheur unique" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "@1 : position initiale du bloc" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "@1 : nom du bloc déclencheur" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "@1 : Nombre de récepteurs reliés à ce déclencheur" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "@1 : Nombre d'émetteurs reliés à ce déclencheur" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "@1 : type du signal" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "@1 : type de récepteur" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "Types de signaux :" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "@1 : @2" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "Types de récepteurs :" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "Type" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "Récepteur" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "Émetteur" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "Aucun" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "Signaux du déclencheur @1 :" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "Affiche la liste de tous les déclencheurs" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "Aucun joueur." - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "DÉSACTIVER à l'activation" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "ACTIVER à l'activation" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "(DÉS)ACTIVER à l'activation" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "DÉSACTIVER à la désactivation" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "ACTIVER à la désactivation" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "(DÉS)ACTIVER à la désactivation" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "Synchrone" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "Synchrone inversé" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "activer/désactiver" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "DÉSACTIVER au changement détat" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "ACTIVER au changement détat" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -"le bloc envoie ACTIVER quand le bloc est activé, et DÉSACTIVER lorsqu'il est " -"désactivé" -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -"le bloc envoie DÉSACTIVER lorsqu'il est activé, et ACTIVER lorsqu'il est " -"désactivé" -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il change d'état" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" +msgstr "" -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "le bloc envoie ACTIVER lorsqu'il change d'état" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" +msgstr "" -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "le bloc envoie DÉSACTIVER lorsqu'il change d'état" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" +msgstr "" -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "le bloc envoie ACTIVER lorsqu'il est activé" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" +msgstr "" -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est activé" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" +msgstr "" -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "le bloc envoie DÉSACTIVER lorsqu'il est activé" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." +msgstr "" -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "le bloc envoie ACTIVER lorsqu'il est désactivé" +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" +msgstr "" -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est désactivé" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" +msgstr "" -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "le bloc envoie DÉSACTIVER lorsqu'il est désactivé" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "N'importe" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "ET synchrone" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "le bloc réagit à tous les signaux" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" -"le bloc s'active quand il reçoit un signal, que tous ses blocs émetteurs " -"synchrones sont activés et que tous ses blocs émetteurs synchrones inversés " -"sont désactivés, et se déactive quand il reçoit un signal et que ce n'est " -"pas le cas" + +#~ msgid "Malformed trigger ID" +#~ msgstr "Identifiant de déclencheur invalide" + +#~ msgid "Invalid signal type of trigger" +#~ msgstr "Le type de signal du déclencheur est invalide" + +#~ msgid "Invalid receiver type of trigger" +#~ msgstr "Le type de récepteur du déclencheur est invalide" + +#~ msgid "Malformed trigger location" +#~ msgstr "Emplacement de déclencheur invalide" + +#~ msgid "Trigger assigned to node that doesn’t support triggers" +#~ msgstr "Un déclencheur a été associé à un bloc qui ne le permet pas" + +#~ msgid "Locked chest can’t be opened due to lack of senders" +#~ msgstr "" +#~ "Un coffre verrouillé ne peut pas être ouvert par manque de déclencheurs" + +#~ msgid "Triggers" +#~ msgstr "Déclencheurs" + +#~ msgid "player" +#~ msgstr "dans l'inventaire" + +#~ msgid "start" +#~ msgstr "à la position initiale" + +#~ msgid "No triggers." +#~ msgstr "Aucun déclencheur." + +#~ msgid "ID" +#~ msgstr "Identifiant" + +#~ msgid "Location" +#~ msgstr "Position" + +#~ msgid "Node" +#~ msgstr "Bloc" + +#~ msgid "#Recv." +#~ msgstr "#Recv." + +#~ msgid "#Send." +#~ msgstr "#Émetr." + +#~ msgid "Sig. type" +#~ msgstr "Type de signal" + +#~ msgid "Recv. type" +#~ msgstr "Type de récepteur" + +#~ msgid "Triggers:" +#~ msgstr "Déclencheurs :" + +#~ msgid "Columns:" +#~ msgstr "Colonnes :" + +#~ msgid "@1: Unique trigger identifier" +#~ msgstr "@1 : identifiant de déclencheur unique" + +#~ msgid "" +#~ "@1: Current node location (start = initial position, player = in player " +#~ "inventory)" +#~ msgstr "@1 : position initiale du bloc" + +#~ msgid "@1: Name of the node that triggers" +#~ msgstr "@1 : nom du bloc déclencheur" + +#~ msgid "@1: Number of receivers this trigger sends to" +#~ msgstr "@1 : Nombre de récepteurs reliés à ce déclencheur" + +#~ msgid "@1: Number of senders this trigger receives from" +#~ msgstr "@1 : Nombre d'émetteurs reliés à ce déclencheur" + +#~ msgid "@1: Signal type" +#~ msgstr "@1 : type du signal" + +#~ msgid "@1: Receiver type" +#~ msgstr "@1 : type de récepteur" + +#~ msgid "Signal types:" +#~ msgstr "Types de signaux :" + +#~ msgid "@1: @2" +#~ msgstr "@1 : @2" + +#~ msgid "Receiver types:" +#~ msgstr "Types de récepteurs :" + +#~ msgid "Type" +#~ msgstr "Type" + +#~ msgid "Receiver" +#~ msgstr "Récepteur" + +#~ msgid "Sender" +#~ msgstr "Émetteur" + +#~ msgid "None" +#~ msgstr "Aucun" + +#~ msgid "Signals of trigger @1:" +#~ msgstr "Signaux du déclencheur @1 :" + +#~ msgid "Show a list of all triggers" +#~ msgstr "Affiche la liste de tous les déclencheurs" + +#~ msgid "No player." +#~ msgstr "Aucun joueur." + +#~ msgid "Activate OFF" +#~ msgstr "DÉSACTIVER à l'activation" + +#~ msgid "Activate ON" +#~ msgstr "ACTIVER à l'activation" + +#~ msgid "Activate TOGGLE" +#~ msgstr "(DÉS)ACTIVER à l'activation" + +#~ msgid "Deactivate OFF" +#~ msgstr "DÉSACTIVER à la désactivation" + +#~ msgid "Deactivate ON" +#~ msgstr "ACTIVER à la désactivation" + +#~ msgid "Deactivate TOGGLE" +#~ msgstr "(DÉS)ACTIVER à la désactivation" + +#~ msgid "Synchronous" +#~ msgstr "Synchrone" + +#~ msgid "Synchronous inverted" +#~ msgstr "Synchrone inversé" + +#~ msgid "Toggle" +#~ msgstr "activer/désactiver" + +#~ msgid "Toggle OFF" +#~ msgstr "DÉSACTIVER au changement détat" + +#~ msgid "Toggle ON" +#~ msgstr "ACTIVER au changement détat" + +#~ msgid "send ON signal when activated, send OFF signal when deactivated" +#~ msgstr "" +#~ "le bloc envoie ACTIVER quand le bloc est activé, et DÉSACTIVER lorsqu'il " +#~ "est désactivé" + +#~ msgid "send OFF signal when activated, send ON signal when deactivated" +#~ msgstr "" +#~ "le bloc envoie DÉSACTIVER lorsqu'il est activé, et ACTIVER lorsqu'il est " +#~ "désactivé" + +#~ msgid "send TOGGLE signal when toggled" +#~ msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il change d'état" + +#~ msgid "send ON signal when toggled" +#~ msgstr "le bloc envoie ACTIVER lorsqu'il change d'état" + +#~ msgid "send OFF signal when toggled" +#~ msgstr "le bloc envoie DÉSACTIVER lorsqu'il change d'état" + +#~ msgid "send ON signal when activated" +#~ msgstr "le bloc envoie ACTIVER lorsqu'il est activé" + +#~ msgid "send TOGGLE signal when activated" +#~ msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est activé" + +#~ msgid "send OFF signal when activated" +#~ msgstr "le bloc envoie DÉSACTIVER lorsqu'il est activé" + +#~ msgid "send ON signal when deactivated" +#~ msgstr "le bloc envoie ACTIVER lorsqu'il est désactivé" + +#~ msgid "send TOGGLE signal when deactivated" +#~ msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est désactivé" + +#~ msgid "send OFF signal when deactivated" +#~ msgstr "le bloc envoie DÉSACTIVER lorsqu'il est désactivé" + +#~ msgid "Synchronous AND" +#~ msgstr "ET synchrone" + +#~ msgid "react to any signal" +#~ msgstr "le bloc réagit à tous les signaux" + +#~ msgid "" +#~ "activates when receiving a signal and all its synchronous senders are " +#~ "active and all its inverted synchronous senders are inactive; deactivates " +#~ "when receiving a signal when that’s not the case" +#~ msgstr "" +#~ "le bloc s'active quand il reçoit un signal, que tous ses blocs émetteurs " +#~ "synchrones sont activés et que tous ses blocs émetteurs synchrones " +#~ "inversés sont désactivés, et se déactive quand il reçoit un signal et que " +#~ "ce n'est pas le cas" diff --git a/mods/lzr_triggers/locale/lzr_triggers.id.po b/mods/lzr_triggers/locale/lzr_triggers.id.po index 11da3691..011fae5c 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.id.po +++ b/mods/lzr_triggers/locale/lzr_triggers.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.it.po b/mods/lzr_triggers/locale/lzr_triggers.it.po index e1470d11..a1f072d6 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.it.po +++ b/mods/lzr_triggers/locale/lzr_triggers.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.jbo.po b/mods/lzr_triggers/locale/lzr_triggers.jbo.po index 8369cf98..4128bfe2 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.jbo.po +++ b/mods/lzr_triggers/locale/lzr_triggers.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.ms.po b/mods/lzr_triggers/locale/lzr_triggers.ms.po index ef2eb329..45e109db 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.ms.po +++ b/mods/lzr_triggers/locale/lzr_triggers.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po b/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po index ac85ccc9..b6d91735 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po +++ b/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.ru.po b/mods/lzr_triggers/locale/lzr_triggers.ru.po index a9eaafb9..2799612f 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.ru.po +++ b/mods/lzr_triggers/locale/lzr_triggers.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,291 +14,70 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "Пусто" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" -msgstr "" +#~ msgid "None" +#~ msgstr "Пусто" diff --git a/mods/lzr_triggers/locale/lzr_triggers.se.po b/mods/lzr_triggers/locale/lzr_triggers.se.po index 4a7c7988..2054cf3c 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.se.po +++ b/mods/lzr_triggers/locale/lzr_triggers.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.sk.po b/mods/lzr_triggers/locale/lzr_triggers.sk.po index 2f2103e6..e9689686 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.sk.po +++ b/mods/lzr_triggers/locale/lzr_triggers.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.tr.po b/mods/lzr_triggers/locale/lzr_triggers.tr.po index adb58902..372dfa84 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.tr.po +++ b/mods/lzr_triggers/locale/lzr_triggers.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po b/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po index c5bb18ce..64f7149e 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po +++ b/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po b/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po index 637623cc..becc4891 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po +++ b/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 04:42+0100\n" +"POT-Creation-Date: 2024-12-10 02:48+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,291 +13,67 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#: mods/lzr_triggers/check.lua:5 -msgid "Malformed trigger ID" +#. ~ Short signal type name: Activate OFF +#: init.lua:119 +msgid "A.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:6 -msgid "Invalid signal type of trigger" +#. ~ Short signal type name: Activate ON +#: init.lua:121 +msgid "A.ON" msgstr "" -#: mods/lzr_triggers/check.lua:7 -msgid "Invalid receiver type of trigger" +#. ~ Short signal type name: Activate TOGGLE +#: init.lua:123 +msgid "A.TOG" msgstr "" -#: mods/lzr_triggers/check.lua:8 -msgid "Malformed trigger location" +#. ~ Short signal type name: Deactivate OFF +#: init.lua:125 +msgid "D.OFF" msgstr "" -#: mods/lzr_triggers/check.lua:9 -msgid "Trigger assigned to node that doesn’t support triggers" +#. ~ Short signal type name: Deactivate ON +#: init.lua:127 +msgid "D.ON" msgstr "" -#: mods/lzr_triggers/check.lua:10 -msgid "Locked chest can’t be opened due to lack of senders" +#. ~ Short signal type name: Deactivate TOGGLE +#: init.lua:129 +msgid "D.TOG" msgstr "" -#: mods/lzr_triggers/dialog.lua:55 -msgid "Triggers" +#. ~ Short signal type name: Synchronized +#: init.lua:131 +msgid "Sync" msgstr "" -#: mods/lzr_triggers/dialog.lua:97 -msgid "player" +#. ~ Short signal type name: Synchronized inverted +#: init.lua:133 +msgid "Sync inv" msgstr "" -#: mods/lzr_triggers/dialog.lua:114 -msgid "start" +#. ~ Short signal type name: Toggle +#: init.lua:135 +msgid "T." msgstr "" -#: mods/lzr_triggers/dialog.lua:158 -msgid "No triggers." +#. ~ Short signal type name: Toggle OFF +#: init.lua:137 +msgid "T.OFF" msgstr "" -#. ~ Trigger list header: Trigger identifier -#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 -#: mods/lzr_triggers/dialog.lua:241 -msgid "ID" +#. ~ Short signal type name: Toggle ON +#: init.lua:139 +msgid "T.ON" msgstr "" -#. ~ Trigger list header: Trigger location -#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 -msgid "Location" -msgstr "" - -#. ~ Trigger list header: Trigger node -#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 -msgid "Node" -msgstr "" - -#. ~ Trigger list header: Number of receivers -#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 -msgid "#Recv." -msgstr "" - -#. ~ Trigger list header: Number of senders -#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 -msgid "#Send." -msgstr "" - -#. ~ Trigger list header: Signal type -#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 -msgid "Sig. type" -msgstr "" - -#. ~ Trigger list header: Receiver type -#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 -msgid "Recv. type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:184 -msgid "Triggers:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:189 -msgid "Columns:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:190 -msgid "@1: Unique trigger identifier" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:191 -msgid "" -"@1: Current node location (start = initial position, player = in player " -"inventory)" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:192 -msgid "@1: Name of the node that triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:193 -msgid "@1: Number of receivers this trigger sends to" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:194 -msgid "@1: Number of senders this trigger receives from" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:195 -msgid "@1: Signal type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:196 -msgid "@1: Receiver type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:202 -msgid "Signal types:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 -msgid "@1: @2" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:207 -msgid "Receiver types:" -msgstr "" - -#. ~ Trigger list header: Trigger type -#: mods/lzr_triggers/dialog.lua:239 -msgid "Type" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:243 -msgid "Receiver" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:250 -msgid "Sender" -msgstr "" - -#. ~ Shown when there are no triggers in a trigger list -#: mods/lzr_triggers/dialog.lua:259 -msgid "None" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:262 -msgid "Signals of trigger @1:" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:273 -msgid "Show a list of all triggers" -msgstr "" - -#: mods/lzr_triggers/dialog.lua:279 -msgid "No player." -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 -msgid "Activate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 -msgid "Activate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 -msgid "Activate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 -msgid "Deactivate OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 -msgid "Deactivate ON" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 -msgid "Deactivate TOGGLE" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 -msgid "Synchronous" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 -msgid "Synchronous inverted" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 -msgid "Toggle" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 -msgid "Toggle OFF" -msgstr "" - -#. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 -msgid "Toggle ON" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 -msgid "send ON signal when activated, send OFF signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 -msgid "send OFF signal when activated, send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 -msgid "send TOGGLE signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 -msgid "send ON signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 -msgid "send OFF signal when toggled" -msgstr "" - -#. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 -msgid "send ON signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 -msgid "send TOGGLE signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 -msgid "send OFF signal when activated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 -msgid "send ON signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 -msgid "send TOGGLE signal when deactivated" -msgstr "" - -#. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 -msgid "send OFF signal when deactivated" -msgstr "" - -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#. ~ Short receiver type name: Any +#: init.lua:239 msgid "Any" msgstr "" -#. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 -msgid "Synchronous AND" -msgstr "" - -#. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 -msgid "react to any signal" -msgstr "" - -#. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 -msgid "" -"activates when receiving a signal and all its synchronous senders are active " -"and all its inverted synchronous senders are inactive; deactivates when " -"receiving a signal when that’s not the case" +#. ~ Short receiver type name: Synchronized AND +#: init.lua:241 +msgid "S.AND" msgstr "" From c20bdc9604d10fbd9f5c04745be6d2762b4ad9c7 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 14:06:56 +0100 Subject: [PATCH 61/84] Update level names/NPC text PO files for core lvls --- mods/lzr_levels_core/locale/lzr_levels_core_level_names.pot | 5 ++++- mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pot | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mods/lzr_levels_core/locale/lzr_levels_core_level_names.pot b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.pot index 7b23cef2..a7fea524 100644 --- a/mods/lzr_levels_core/locale/lzr_levels_core_level_names.pot +++ b/mods/lzr_levels_core/locale/lzr_levels_core_level_names.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:45+0100\n" +"POT-Creation-Date: 2024-12-14 14:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -98,6 +98,9 @@ msgstr "" msgid "Withered Throne" msgstr "" +msgid "Chamber of Symmetry" +msgstr "" + msgid "One Chest at a Time" msgstr "" diff --git a/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pot b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pot index 0a8f956c..ff6469b5 100644 --- a/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pot +++ b/mods/lzr_levels_core/locale/lzr_levels_core_npc_texts.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:46+0100\n" +"POT-Creation-Date: 2024-12-14 14:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -44,8 +44,8 @@ msgid "" msgstr "" msgid "" -"Each of the three mirrors in this room is different. The first one has iron " -"screws. It can not be moved or rotated. The one I'm standing on has copper " +"Each of the three mirrors in this room is different. The one I’m standing on " +"has iron screws. It can not be moved or rotated. The next one has copper " "screws. You can rotate it but not take it. And the last mirror doesn't have " "any screws. You can pick it up, place it and rotate it." msgstr "" From 1566f428df7d23f0080c0a39f90d72cc82c5f902 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 14:11:08 +0100 Subject: [PATCH 62/84] lzr_levels print shows string origin --- mods/lzr_levels/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 7c73cea1..7f8eb0a3 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -333,7 +333,7 @@ lzr_levels.analyze_levels = function(level_list_path, levels_path, solutions_pat end if PRINT_TRANSLATABLE_LEVEL_STRINGS then - print("# TRANSLATABLE LEVEL STRINGS #") + print("# TRANSLATABLE LEVEL STRINGS FOR "..level_list_path.. " #") print("## level_names.lua: ##") for l=1, #tr_level_names do print(string.format("S(%q)", tr_level_names[l])) From 8b38e656b0edaabca4738b7a324daf099162c05b Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 14:16:36 +0100 Subject: [PATCH 63/84] Fix botched lzr_triggers PO files --- mods/lzr_triggers/locale/lzr_triggers.de.po | 520 +++++++++-------- mods/lzr_triggers/locale/lzr_triggers.es.po | 530 ++++++++++-------- mods/lzr_triggers/locale/lzr_triggers.fr.po | 524 +++++++++-------- mods/lzr_triggers/locale/lzr_triggers.id.po | 302 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.it.po | 302 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.jbo.po | 302 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.ms.po | 302 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.pot | 54 +- .../lzr_triggers/locale/lzr_triggers.pt_BR.po | 302 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.ru.po | 303 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.se.po | 302 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.sk.po | 302 ++++++++-- mods/lzr_triggers/locale/lzr_triggers.tr.po | 302 ++++++++-- .../locale/lzr_triggers.zh_Hans.po | 302 ++++++++-- .../locale/lzr_triggers.zh_Hant.po | 302 ++++++++-- 15 files changed, 3759 insertions(+), 1192 deletions(-) diff --git a/mods/lzr_triggers/locale/lzr_triggers.de.po b/mods/lzr_triggers/locale/lzr_triggers.de.po index 6022dc2e..795c7c8b 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.de.po +++ b/mods/lzr_triggers/locale/lzr_triggers.de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: 2024-12-10 04:04+0000\n" "Last-Translator: Wuzzy \n" "Language-Team: German 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" -msgstr "" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" +msgstr "Identifiant de déclencheur invalide" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" -msgstr "" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" +msgstr "Le type de signal du déclencheur est invalide" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" -msgstr "" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" +msgstr "Le type de récepteur du déclencheur est invalide" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" -msgstr "" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" +msgstr "Emplacement de déclencheur invalide" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" -msgstr "" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" +msgstr "Un déclencheur a été associé à un bloc qui ne le permet pas" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" +"Un coffre verrouillé ne peut pas être ouvert par manque de déclencheurs" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" +msgstr "Déclencheurs" + +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" +msgstr "dans l'inventaire" + +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" +msgstr "à la position initiale" + +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." +msgstr "Aucun déclencheur." + +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" +msgstr "Identifiant" + +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "Position" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "Bloc" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "#Recv." + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "#Émetr." + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "Type de signal" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "Type de récepteur" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "Déclencheurs :" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "Colonnes :" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "@1 : identifiant de déclencheur unique" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "@1 : position initiale du bloc" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "@1 : nom du bloc déclencheur" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "@1 : Nombre de récepteurs reliés à ce déclencheur" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "@1 : Nombre d'émetteurs reliés à ce déclencheur" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "@1 : type du signal" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "@1 : type de récepteur" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "Types de signaux :" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "@1 : @2" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "Types de récepteurs :" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "Type" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "Récepteur" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "Émetteur" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "Aucun" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "Signaux du déclencheur @1 :" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "Affiche la liste de tous les déclencheurs" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "Aucun joueur." + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "DÉSACTIVER à l'activation" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "ACTIVER à l'activation" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "(DÉS)ACTIVER à l'activation" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "DÉSACTIVER à la désactivation" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "ACTIVER à la désactivation" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "(DÉS)ACTIVER à la désactivation" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "Synchrone" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "Synchrone inversé" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "activer/désactiver" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "DÉSACTIVER au changement détat" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "ACTIVER au changement détat" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" msgstr "" +"le bloc envoie ACTIVER quand le bloc est activé, et DÉSACTIVER lorsqu'il est " +"désactivé" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" msgstr "" +"le bloc envoie DÉSACTIVER lorsqu'il est activé, et ACTIVER lorsqu'il est " +"désactivé" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." -msgstr "" +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il change d'état" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" -msgstr "" +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "le bloc envoie ACTIVER lorsqu'il change d'état" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" -msgstr "" +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "le bloc envoie DÉSACTIVER lorsqu'il change d'état" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "le bloc envoie ACTIVER lorsqu'il est activé" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est activé" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "le bloc envoie DÉSACTIVER lorsqu'il est activé" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "le bloc envoie ACTIVER lorsqu'il est désactivé" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est désactivé" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "le bloc envoie DÉSACTIVER lorsqu'il est désactivé" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "N'importe" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "ET synchrone" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "le bloc réagit à tous les signaux" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" - -#~ msgid "Malformed trigger ID" -#~ msgstr "Identifiant de déclencheur invalide" - -#~ msgid "Invalid signal type of trigger" -#~ msgstr "Le type de signal du déclencheur est invalide" - -#~ msgid "Invalid receiver type of trigger" -#~ msgstr "Le type de récepteur du déclencheur est invalide" - -#~ msgid "Malformed trigger location" -#~ msgstr "Emplacement de déclencheur invalide" - -#~ msgid "Trigger assigned to node that doesn’t support triggers" -#~ msgstr "Un déclencheur a été associé à un bloc qui ne le permet pas" - -#~ msgid "Locked chest can’t be opened due to lack of senders" -#~ msgstr "" -#~ "Un coffre verrouillé ne peut pas être ouvert par manque de déclencheurs" - -#~ msgid "Triggers" -#~ msgstr "Déclencheurs" - -#~ msgid "player" -#~ msgstr "dans l'inventaire" - -#~ msgid "start" -#~ msgstr "à la position initiale" - -#~ msgid "No triggers." -#~ msgstr "Aucun déclencheur." - -#~ msgid "ID" -#~ msgstr "Identifiant" - -#~ msgid "Location" -#~ msgstr "Position" - -#~ msgid "Node" -#~ msgstr "Bloc" - -#~ msgid "#Recv." -#~ msgstr "#Recv." - -#~ msgid "#Send." -#~ msgstr "#Émetr." - -#~ msgid "Sig. type" -#~ msgstr "Type de signal" - -#~ msgid "Recv. type" -#~ msgstr "Type de récepteur" - -#~ msgid "Triggers:" -#~ msgstr "Déclencheurs :" - -#~ msgid "Columns:" -#~ msgstr "Colonnes :" - -#~ msgid "@1: Unique trigger identifier" -#~ msgstr "@1 : identifiant de déclencheur unique" - -#~ msgid "" -#~ "@1: Current node location (start = initial position, player = in player " -#~ "inventory)" -#~ msgstr "@1 : position initiale du bloc" - -#~ msgid "@1: Name of the node that triggers" -#~ msgstr "@1 : nom du bloc déclencheur" - -#~ msgid "@1: Number of receivers this trigger sends to" -#~ msgstr "@1 : Nombre de récepteurs reliés à ce déclencheur" - -#~ msgid "@1: Number of senders this trigger receives from" -#~ msgstr "@1 : Nombre d'émetteurs reliés à ce déclencheur" - -#~ msgid "@1: Signal type" -#~ msgstr "@1 : type du signal" - -#~ msgid "@1: Receiver type" -#~ msgstr "@1 : type de récepteur" - -#~ msgid "Signal types:" -#~ msgstr "Types de signaux :" - -#~ msgid "@1: @2" -#~ msgstr "@1 : @2" - -#~ msgid "Receiver types:" -#~ msgstr "Types de récepteurs :" - -#~ msgid "Type" -#~ msgstr "Type" - -#~ msgid "Receiver" -#~ msgstr "Récepteur" - -#~ msgid "Sender" -#~ msgstr "Émetteur" - -#~ msgid "None" -#~ msgstr "Aucun" - -#~ msgid "Signals of trigger @1:" -#~ msgstr "Signaux du déclencheur @1 :" - -#~ msgid "Show a list of all triggers" -#~ msgstr "Affiche la liste de tous les déclencheurs" - -#~ msgid "No player." -#~ msgstr "Aucun joueur." - -#~ msgid "Activate OFF" -#~ msgstr "DÉSACTIVER à l'activation" - -#~ msgid "Activate ON" -#~ msgstr "ACTIVER à l'activation" - -#~ msgid "Activate TOGGLE" -#~ msgstr "(DÉS)ACTIVER à l'activation" - -#~ msgid "Deactivate OFF" -#~ msgstr "DÉSACTIVER à la désactivation" - -#~ msgid "Deactivate ON" -#~ msgstr "ACTIVER à la désactivation" - -#~ msgid "Deactivate TOGGLE" -#~ msgstr "(DÉS)ACTIVER à la désactivation" - -#~ msgid "Synchronous" -#~ msgstr "Synchrone" - -#~ msgid "Synchronous inverted" -#~ msgstr "Synchrone inversé" - -#~ msgid "Toggle" -#~ msgstr "activer/désactiver" - -#~ msgid "Toggle OFF" -#~ msgstr "DÉSACTIVER au changement détat" - -#~ msgid "Toggle ON" -#~ msgstr "ACTIVER au changement détat" - -#~ msgid "send ON signal when activated, send OFF signal when deactivated" -#~ msgstr "" -#~ "le bloc envoie ACTIVER quand le bloc est activé, et DÉSACTIVER lorsqu'il " -#~ "est désactivé" - -#~ msgid "send OFF signal when activated, send ON signal when deactivated" -#~ msgstr "" -#~ "le bloc envoie DÉSACTIVER lorsqu'il est activé, et ACTIVER lorsqu'il est " -#~ "désactivé" - -#~ msgid "send TOGGLE signal when toggled" -#~ msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il change d'état" - -#~ msgid "send ON signal when toggled" -#~ msgstr "le bloc envoie ACTIVER lorsqu'il change d'état" - -#~ msgid "send OFF signal when toggled" -#~ msgstr "le bloc envoie DÉSACTIVER lorsqu'il change d'état" - -#~ msgid "send ON signal when activated" -#~ msgstr "le bloc envoie ACTIVER lorsqu'il est activé" - -#~ msgid "send TOGGLE signal when activated" -#~ msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est activé" - -#~ msgid "send OFF signal when activated" -#~ msgstr "le bloc envoie DÉSACTIVER lorsqu'il est activé" - -#~ msgid "send ON signal when deactivated" -#~ msgstr "le bloc envoie ACTIVER lorsqu'il est désactivé" - -#~ msgid "send TOGGLE signal when deactivated" -#~ msgstr "le bloc envoie (DÉS)ACTIVER lorsqu'il est désactivé" - -#~ msgid "send OFF signal when deactivated" -#~ msgstr "le bloc envoie DÉSACTIVER lorsqu'il est désactivé" - -#~ msgid "Synchronous AND" -#~ msgstr "ET synchrone" - -#~ msgid "react to any signal" -#~ msgstr "le bloc réagit à tous les signaux" - -#~ msgid "" -#~ "activates when receiving a signal and all its synchronous senders are " -#~ "active and all its inverted synchronous senders are inactive; deactivates " -#~ "when receiving a signal when that’s not the case" -#~ msgstr "" -#~ "le bloc s'active quand il reçoit un signal, que tous ses blocs émetteurs " -#~ "synchrones sont activés et que tous ses blocs émetteurs synchrones " -#~ "inversés sont désactivés, et se déactive quand il reçoit un signal et que " -#~ "ce n'est pas le cas" +"le bloc s'active quand il reçoit un signal, que tous ses blocs émetteurs " +"synchrones sont activés et que tous ses blocs émetteurs synchrones inversés " +"sont désactivés, et se déactive quand il reçoit un signal et que ce n'est " +"pas le cas" diff --git a/mods/lzr_triggers/locale/lzr_triggers.id.po b/mods/lzr_triggers/locale/lzr_triggers.id.po index 011fae5c..cbcf4fcd 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.id.po +++ b/mods/lzr_triggers/locale/lzr_triggers.id.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.it.po b/mods/lzr_triggers/locale/lzr_triggers.it.po index a1f072d6..eb09bea5 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.it.po +++ b/mods/lzr_triggers/locale/lzr_triggers.it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.jbo.po b/mods/lzr_triggers/locale/lzr_triggers.jbo.po index 4128bfe2..49d70571 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.jbo.po +++ b/mods/lzr_triggers/locale/lzr_triggers.jbo.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.ms.po b/mods/lzr_triggers/locale/lzr_triggers.ms.po index 45e109db..8abea525 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.ms.po +++ b/mods/lzr_triggers/locale/lzr_triggers.ms.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.pot b/mods/lzr_triggers/locale/lzr_triggers.pot index 4171fea4..5e55d8bd 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.pot +++ b/mods/lzr_triggers/locale/lzr_triggers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Lazarr! 2.0.0\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-14 13:56+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -174,132 +174,132 @@ msgid "No player." msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:145 +#: mods/lzr_triggers/init.lua:122 msgid "Activate OFF" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:147 +#: mods/lzr_triggers/init.lua:124 msgid "Activate ON" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:149 +#: mods/lzr_triggers/init.lua:126 msgid "Activate TOGGLE" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:151 +#: mods/lzr_triggers/init.lua:128 msgid "Deactivate OFF" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:153 +#: mods/lzr_triggers/init.lua:130 msgid "Deactivate ON" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:155 +#: mods/lzr_triggers/init.lua:132 msgid "Deactivate TOGGLE" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:157 +#: mods/lzr_triggers/init.lua:134 msgid "Synchronous" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:159 +#: mods/lzr_triggers/init.lua:136 msgid "Synchronous inverted" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:161 +#: mods/lzr_triggers/init.lua:138 msgid "Toggle" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:163 +#: mods/lzr_triggers/init.lua:140 msgid "Toggle OFF" msgstr "" #. ~ Signal type name -#: mods/lzr_triggers/init.lua:165 +#: mods/lzr_triggers/init.lua:142 msgid "Toggle ON" msgstr "" #. ~ Signal type description for signal type 'Synchronous' -#: mods/lzr_triggers/init.lua:171 +#: mods/lzr_triggers/init.lua:148 msgid "send ON signal when activated, send OFF signal when deactivated" msgstr "" #. ~ Signal type description for signal type 'Synchronous inverted' -#: mods/lzr_triggers/init.lua:173 +#: mods/lzr_triggers/init.lua:150 msgid "send OFF signal when activated, send ON signal when deactivated" msgstr "" #. ~ Signal type description for signal type 'Toggle' -#: mods/lzr_triggers/init.lua:175 +#: mods/lzr_triggers/init.lua:152 msgid "send TOGGLE signal when toggled" msgstr "" #. ~ Signal type description for signal type 'Toggle ON' -#: mods/lzr_triggers/init.lua:177 +#: mods/lzr_triggers/init.lua:154 msgid "send ON signal when toggled" msgstr "" #. ~ Signal type description for signal type 'Toggle OFF' -#: mods/lzr_triggers/init.lua:179 +#: mods/lzr_triggers/init.lua:156 msgid "send OFF signal when toggled" msgstr "" #. ~ Signal type description for signal type 'Activate ON' -#: mods/lzr_triggers/init.lua:181 +#: mods/lzr_triggers/init.lua:158 msgid "send ON signal when activated" msgstr "" #. ~ Signal type description for signal type 'Activate TOGGLE' -#: mods/lzr_triggers/init.lua:183 +#: mods/lzr_triggers/init.lua:160 msgid "send TOGGLE signal when activated" msgstr "" #. ~ Signal type description for signal type 'Activate OFF' -#: mods/lzr_triggers/init.lua:185 +#: mods/lzr_triggers/init.lua:162 msgid "send OFF signal when activated" msgstr "" #. ~ Signal type description for signal type 'Deactivate ON' -#: mods/lzr_triggers/init.lua:187 +#: mods/lzr_triggers/init.lua:164 msgid "send ON signal when deactivated" msgstr "" #. ~ Signal type description for signal type 'Deactivate TOGGLE' -#: mods/lzr_triggers/init.lua:189 +#: mods/lzr_triggers/init.lua:166 msgid "send TOGGLE signal when deactivated" msgstr "" #. ~ Signal type description for signal type 'Deactivate OFF' -#: mods/lzr_triggers/init.lua:191 +#: mods/lzr_triggers/init.lua:168 msgid "send OFF signal when deactivated" msgstr "" #. ~ Receiver type name -#: mods/lzr_triggers/init.lua:246 +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" #. ~ Receiver type name -#: mods/lzr_triggers/init.lua:248 +#: mods/lzr_triggers/init.lua:221 msgid "Synchronous AND" msgstr "" #. ~ Receiver type description for type 'Any' -#: mods/lzr_triggers/init.lua:253 +#: mods/lzr_triggers/init.lua:226 msgid "react to any signal" msgstr "" #. ~ Receiver type description for type 'Synchronous AND' -#: mods/lzr_triggers/init.lua:255 +#: mods/lzr_triggers/init.lua:228 msgid "" "activates when receiving a signal and all its synchronous senders are active " "and all its inverted synchronous senders are inactive; deactivates when " diff --git a/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po b/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po index b6d91735..97f54892 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po +++ b/mods/lzr_triggers/locale/lzr_triggers.pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.ru.po b/mods/lzr_triggers/locale/lzr_triggers.ru.po index 2799612f..2f5ac025 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.ru.po +++ b/mods/lzr_triggers/locale/lzr_triggers.ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,70 +14,291 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "Пусто" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" msgstr "" -#~ msgid "None" -#~ msgstr "Пусто" +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" +msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.se.po b/mods/lzr_triggers/locale/lzr_triggers.se.po index 2054cf3c..9fcc4fa0 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.se.po +++ b/mods/lzr_triggers/locale/lzr_triggers.se.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.sk.po b/mods/lzr_triggers/locale/lzr_triggers.sk.po index e9689686..1e06e84f 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.sk.po +++ b/mods/lzr_triggers/locale/lzr_triggers.sk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.tr.po b/mods/lzr_triggers/locale/lzr_triggers.tr.po index 372dfa84..cc5c1c64 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.tr.po +++ b/mods/lzr_triggers/locale/lzr_triggers.tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po b/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po index 64f7149e..cf8a9298 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po +++ b/mods/lzr_triggers/locale/lzr_triggers.zh_Hans.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" diff --git a/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po b/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po index becc4891..ad22a36d 100644 --- a/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po +++ b/mods/lzr_triggers/locale/lzr_triggers.zh_Hant.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Luanti textdomain lzr_triggers x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" -"POT-Creation-Date: 2024-12-10 02:48+0100\n" +"POT-Creation-Date: 2024-12-14 14:15+0100\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,67 +13,291 @@ msgstr "" "Plural-Forms: \n" "X-Generator: ltt_convert 0.2.0\n" -#. ~ Short signal type name: Activate OFF -#: init.lua:119 -msgid "A.OFF" +#: mods/lzr_triggers/check.lua:5 +msgid "Malformed trigger ID" msgstr "" -#. ~ Short signal type name: Activate ON -#: init.lua:121 -msgid "A.ON" +#: mods/lzr_triggers/check.lua:6 +msgid "Invalid signal type of trigger" msgstr "" -#. ~ Short signal type name: Activate TOGGLE -#: init.lua:123 -msgid "A.TOG" +#: mods/lzr_triggers/check.lua:7 +msgid "Invalid receiver type of trigger" msgstr "" -#. ~ Short signal type name: Deactivate OFF -#: init.lua:125 -msgid "D.OFF" +#: mods/lzr_triggers/check.lua:8 +msgid "Malformed trigger location" msgstr "" -#. ~ Short signal type name: Deactivate ON -#: init.lua:127 -msgid "D.ON" +#: mods/lzr_triggers/check.lua:9 +msgid "Trigger assigned to node that doesn’t support triggers" msgstr "" -#. ~ Short signal type name: Deactivate TOGGLE -#: init.lua:129 -msgid "D.TOG" +#: mods/lzr_triggers/check.lua:10 +msgid "Locked chest can’t be opened due to lack of senders" msgstr "" -#. ~ Short signal type name: Synchronized -#: init.lua:131 -msgid "Sync" +#: mods/lzr_triggers/dialog.lua:55 +msgid "Triggers" msgstr "" -#. ~ Short signal type name: Synchronized inverted -#: init.lua:133 -msgid "Sync inv" +#: mods/lzr_triggers/dialog.lua:97 +msgid "player" msgstr "" -#. ~ Short signal type name: Toggle -#: init.lua:135 -msgid "T." +#: mods/lzr_triggers/dialog.lua:114 +msgid "start" msgstr "" -#. ~ Short signal type name: Toggle OFF -#: init.lua:137 -msgid "T.OFF" +#: mods/lzr_triggers/dialog.lua:158 +msgid "No triggers." msgstr "" -#. ~ Short signal type name: Toggle ON -#: init.lua:139 -msgid "T.ON" +#. ~ Trigger list header: Trigger identifier +#: mods/lzr_triggers/dialog.lua:164 mods/lzr_triggers/dialog.lua:190 +#: mods/lzr_triggers/dialog.lua:241 +msgid "ID" msgstr "" -#. ~ Short receiver type name: Any -#: init.lua:239 +#. ~ Trigger list header: Trigger location +#: mods/lzr_triggers/dialog.lua:166 mods/lzr_triggers/dialog.lua:191 +msgid "Location" +msgstr "" + +#. ~ Trigger list header: Trigger node +#: mods/lzr_triggers/dialog.lua:168 mods/lzr_triggers/dialog.lua:192 +msgid "Node" +msgstr "" + +#. ~ Trigger list header: Number of receivers +#: mods/lzr_triggers/dialog.lua:170 mods/lzr_triggers/dialog.lua:193 +msgid "#Recv." +msgstr "" + +#. ~ Trigger list header: Number of senders +#: mods/lzr_triggers/dialog.lua:172 mods/lzr_triggers/dialog.lua:194 +msgid "#Send." +msgstr "" + +#. ~ Trigger list header: Signal type +#: mods/lzr_triggers/dialog.lua:175 mods/lzr_triggers/dialog.lua:195 +msgid "Sig. type" +msgstr "" + +#. ~ Trigger list header: Receiver type +#: mods/lzr_triggers/dialog.lua:178 mods/lzr_triggers/dialog.lua:196 +msgid "Recv. type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:184 +msgid "Triggers:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:189 +msgid "Columns:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:190 +msgid "@1: Unique trigger identifier" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:191 +msgid "" +"@1: Current node location (start = initial position, player = in player " +"inventory)" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:192 +msgid "@1: Name of the node that triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:193 +msgid "@1: Number of receivers this trigger sends to" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:194 +msgid "@1: Number of senders this trigger receives from" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:195 +msgid "@1: Signal type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:196 +msgid "@1: Receiver type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:202 +msgid "Signal types:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:205 mods/lzr_triggers/dialog.lua:209 +msgid "@1: @2" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:207 +msgid "Receiver types:" +msgstr "" + +#. ~ Trigger list header: Trigger type +#: mods/lzr_triggers/dialog.lua:239 +msgid "Type" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:243 +msgid "Receiver" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:250 +msgid "Sender" +msgstr "" + +#. ~ Shown when there are no triggers in a trigger list +#: mods/lzr_triggers/dialog.lua:259 +msgid "None" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:262 +msgid "Signals of trigger @1:" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:273 +msgid "Show a list of all triggers" +msgstr "" + +#: mods/lzr_triggers/dialog.lua:279 +msgid "No player." +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:122 +msgid "Activate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:124 +msgid "Activate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:126 +msgid "Activate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:128 +msgid "Deactivate OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:130 +msgid "Deactivate ON" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:132 +msgid "Deactivate TOGGLE" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:134 +msgid "Synchronous" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:136 +msgid "Synchronous inverted" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:138 +msgid "Toggle" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:140 +msgid "Toggle OFF" +msgstr "" + +#. ~ Signal type name +#: mods/lzr_triggers/init.lua:142 +msgid "Toggle ON" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous' +#: mods/lzr_triggers/init.lua:148 +msgid "send ON signal when activated, send OFF signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Synchronous inverted' +#: mods/lzr_triggers/init.lua:150 +msgid "send OFF signal when activated, send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle' +#: mods/lzr_triggers/init.lua:152 +msgid "send TOGGLE signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle ON' +#: mods/lzr_triggers/init.lua:154 +msgid "send ON signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Toggle OFF' +#: mods/lzr_triggers/init.lua:156 +msgid "send OFF signal when toggled" +msgstr "" + +#. ~ Signal type description for signal type 'Activate ON' +#: mods/lzr_triggers/init.lua:158 +msgid "send ON signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate TOGGLE' +#: mods/lzr_triggers/init.lua:160 +msgid "send TOGGLE signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Activate OFF' +#: mods/lzr_triggers/init.lua:162 +msgid "send OFF signal when activated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate ON' +#: mods/lzr_triggers/init.lua:164 +msgid "send ON signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate TOGGLE' +#: mods/lzr_triggers/init.lua:166 +msgid "send TOGGLE signal when deactivated" +msgstr "" + +#. ~ Signal type description for signal type 'Deactivate OFF' +#: mods/lzr_triggers/init.lua:168 +msgid "send OFF signal when deactivated" +msgstr "" + +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:219 msgid "Any" msgstr "" -#. ~ Short receiver type name: Synchronized AND -#: init.lua:241 -msgid "S.AND" +#. ~ Receiver type name +#: mods/lzr_triggers/init.lua:221 +msgid "Synchronous AND" +msgstr "" + +#. ~ Receiver type description for type 'Any' +#: mods/lzr_triggers/init.lua:226 +msgid "react to any signal" +msgstr "" + +#. ~ Receiver type description for type 'Synchronous AND' +#: mods/lzr_triggers/init.lua:228 +msgid "" +"activates when receiving a signal and all its synchronous senders are active " +"and all its inverted synchronous senders are inactive; deactivates when " +"receiving a signal when that’s not the case" msgstr "" From 5146ac6b3c3bbeb6d8434ab421eebfdf7deb4c84 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 15:18:26 +0100 Subject: [PATCH 64/84] Remove "Boxes" level --- mods/lzr_levels_core/data/level_data.csv | 1 - .../schematics/lzr_levels_level_3.mts | Bin 334 -> 0 bytes .../solutions/lzr_levels_level_3.sol.csv | 3 --- 3 files changed, 4 deletions(-) delete mode 100644 mods/lzr_levels_core/schematics/lzr_levels_level_3.mts delete mode 100644 mods/lzr_levels_core/solutions/lzr_levels_level_3.sol.csv diff --git a/mods/lzr_levels_core/data/level_data.csv b/mods/lzr_levels_core/data/level_data.csv index a51c127d..9bbc4b22 100644 --- a/mods/lzr_levels_core/data/level_data.csv +++ b/mods/lzr_levels_core/data/level_data.csv @@ -12,7 +12,6 @@ lzr_levels_tutorial_takable_2.mts,More mobile Blocks,lzr_core:barrier||lzr_core: lzr_levels_tutorial_beam_splitter.mts,Beam Splitter,lzr_core:barrier||lzr_core:barrier|lzr_core:barrier,tiki,bright_blue,"You need to activate both detectors at the same time, but there’s only one laser. Good we have a beam splitter! When a laser enters the angled part of a beam splitter, two lasers go out: One part goes straight through, while the other one is deflected.",clear,islands,"(33,1,687)","""(11,2,7)"",send_to,""(4,1,9)"",signal_type,0,receiver_type,0 ""(4,1,9)"",send_to,,signal_type,0,receiver_type,1 ""(7,2,11)"",send_to,""(4,1,9)"",signal_type,0,receiver_type,0" -lzr_levels_level_3.mts,Boxes,lzr_core:wood||lzr_core:wood|lzr_core:barrier,tide,ocean_morning,"There are two types of boxes. Heavy and light boxes. You can only pick up the light boxes.",clear,ocean,, "hollow_barrels.mts","Hollow Barrels","lzr_core:wood||lzr_core:wood|lzr_core:barrier","tide","ocean_morning","These hollow barrels can be rotated.","clear",ocean,, lzr_levels_tutorial_barricades_v2.mts,Barricades,lzr_core:barrier||lzr_core:sand|lzr_core:barrier,tiki,bright_blue,"These barriers are blocking the path forward, but they’ll burn up when a laser touches them. Don’t worry about the huts, they are made out of fire-proof wood.",clear,islands,"(-108,1,-352)",none lzr_levels_tutorial_colors.mts,Laser Colors,lzr_core:barrier||lzr_core:sand|lzr_core:barrier,tiki,bright_blue,Colored detectors only activate with the matching laser color. (Hint: You can customize the laser colors in the main ship.),clear,islands,"(1317,2,162)","""(7,2,4)"",send_to,""(7,3,4)"",signal_type,0,receiver_type,0 diff --git a/mods/lzr_levels_core/schematics/lzr_levels_level_3.mts b/mods/lzr_levels_core/schematics/lzr_levels_level_3.mts deleted file mode 100644 index 86ad935fdb6fa960cff74e3669e1ed4f21ce95ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmeYb3HD`RVc=q5W8kU>0|rh8{+z0!_?*Pz)FP|oqQsI^2Ij=fA_j3Z(fE?Y?8Ky; zR0bi0L`rH&YH~?_5rZ&73~W%mp@9K|2tqJ5H?yQ9wJ1J6k3kkBT98;&lwT5`SCDK4 zWfm7Cmgl7wG01_WONvqxi%W}At&%fRi%a6m^Yc^UbMlk3Q&S+?OHy-E3-XJACR!nw z@%d?K6?2jk7?|7?T$Tqani-x_F#9cW;YkJ~`>8mI6eg#T=)hR_+}|@MzDZ?t4r4Q$ z^?TC9M%lyrmD!WL-M4r}cYNVVHda`g9(DV4Ox-}OE6T|m19e)6UUwjt; diff --git a/mods/lzr_levels_core/solutions/lzr_levels_level_3.sol.csv b/mods/lzr_levels_core/solutions/lzr_levels_level_3.sol.csv deleted file mode 100644 index afe9ef70..00000000 --- a/mods/lzr_levels_core/solutions/lzr_levels_level_3.sol.csv +++ /dev/null @@ -1,3 +0,0 @@ -dig,1472,"(3.25300,0.50000,4.92578)",0.84474,3.843,"(4,0,4)",lzr_laser:crate_takable,0,,, -dig,1623,"(3.25300,0.50000,4.92578)",0.87616,4.0595,"(5,0,4)",lzr_laser:crate_takable,0,,, -find_treasure,2525,"(2.61000,0.27300,4.81445)",0.56549,1.6649,"(0,0,5)",,,,, \ No newline at end of file From 8398d8303885559fc59bc9364dc033eed09748ad Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:19:27 +0000 Subject: [PATCH 65/84] Translated using Weblate (German) Currently translated at 100.0% (87 of 87 strings) Translation: Lazarr!/lzr_editor Translate-URL: https://translate.codeberg.org/projects/lazarr/lzr_editor/de/ --- mods/lzr_editor/locale/lzr_editor.de.po | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/mods/lzr_editor/locale/lzr_editor.de.po b/mods/lzr_editor/locale/lzr_editor.de.po index 77226cb5..ec123f6a 100644 --- a/mods/lzr_editor/locale/lzr_editor.de.po +++ b/mods/lzr_editor/locale/lzr_editor.de.po @@ -3,15 +3,16 @@ msgstr "" "Project-Id-Version: Luanti textdomain lzr_editor x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" "POT-Creation-Date: 2024-12-14 13:56+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" +"PO-Revision-Date: 2024-12-14 14:21+0000\n" +"Last-Translator: Wuzzy \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" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: ltt_convert 0.2.0\n" +"X-Generator: Weblate 5.8.4\n" #: mods/lzr_editor/init.lua:81 msgid "No teleporter" @@ -34,18 +35,16 @@ msgid "Rooted plant in level area" msgstr "Verwurzelte Pflanze im Levelbereich" #: mods/lzr_editor/init.lua:86 -#, fuzzy msgid "More than one parrot spawner" -msgstr "Mehr als ein Teleporter" +msgstr "Mehr als ein Papageienspawner" #: mods/lzr_editor/init.lua:87 -#, fuzzy msgid "More than one hidden parrot spawner" -msgstr "Mehr als ein Teleporter" +msgstr "Mehr als ein Versteckter-Papageispawner" #: mods/lzr_editor/init.lua:88 msgid "Bad param2 for hidden parrot spawner" -msgstr "" +msgstr "Schlechter param2 für Versteckter-Papageispawner" #: mods/lzr_editor/init.lua:89 msgid "Trigger is out of bounds" @@ -282,11 +281,9 @@ msgid "Itemstring of node to be placed at the top of the level" msgstr "Itemstring des Nodes, der oberhalb des Levels platziert wird" #: mods/lzr_editor/init.lua:717 -#, fuzzy msgid "Text to be shown when player interacts with Goldie the Parrot" msgstr "" -"Text, der angezeigt wird, wenn der Spieler mit dem Informationsblock " -"interagiert" +"Text, der angezeigt wird, wenn der Spieler mit Goldi dem Papagei interagiert" #: mods/lzr_editor/init.lua:718 msgid "Which audio ambience to play" From 056cba76aa5a4f643192a8b72c0eb67fbf1045de Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:31:55 +0000 Subject: [PATCH 66/84] Translated using Weblate (German) Currently translated at 100.0% (44 of 44 strings) Translation: Lazarr!/lzr_level_select Translate-URL: https://translate.codeberg.org/projects/lazarr/lzr_level_select/de/ --- .../locale/lzr_level_select.de.po | 75 +++++++++---------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/mods/lzr_level_select/locale/lzr_level_select.de.po b/mods/lzr_level_select/locale/lzr_level_select.de.po index cc3ea41a..452c8ace 100644 --- a/mods/lzr_level_select/locale/lzr_level_select.de.po +++ b/mods/lzr_level_select/locale/lzr_level_select.de.po @@ -3,33 +3,32 @@ msgstr "" "Project-Id-Version: Luanti textdomain lzr_level_select x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" "POT-Creation-Date: 2024-12-14 13:56+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" +"PO-Revision-Date: 2024-12-14 14:21+0000\n" +"Last-Translator: Wuzzy \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" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: ltt_convert 0.2.0\n" +"X-Generator: Weblate 5.8.4\n" #: mods/lzr_level_select/init.lua:20 msgid "OK" msgstr "OK" #: mods/lzr_level_select/init.lua:28 mods/lzr_level_select/init.lua:270 -#, fuzzy msgid "Single levels" -msgstr "Level auswählen:" +msgstr "Einzellevels" #: mods/lzr_level_select/init.lua:56 mods/lzr_level_select/init.lua:76 msgid "Select level:" msgstr "Level auswählen:" #: mods/lzr_level_select/init.lua:58 -#, fuzzy msgid "Select level pack:" -msgstr "Level auswählen:" +msgstr "Levelpaket auswählen:" #: mods/lzr_level_select/init.lua:65 msgid "Start" @@ -40,35 +39,30 @@ msgid "There are no levels." msgstr "Es gibt keine Levels." #: mods/lzr_level_select/init.lua:166 -#, fuzzy msgid "There are no level packs or custom single levels." -msgstr "Es gibt keine Benutzerlevels." +msgstr "Es gibt keine Levelpakete oder Benutzereinzellevels." #: mods/lzr_level_select/init.lua:167 -#, fuzzy msgid "Install a level pack or use the level editor to build your own levels." msgstr "" -"Installieren Sie Levels von Ihren Freunden oder benutzen Sie den Level-" -"Editor, um Ihre eigenen Levels zu bauen." +"Installieren Sie ein Levelpaket oder benutzen Sie den Level-Editor, um Ihre " +"eigenen Levels zu bauen." #: mods/lzr_level_select/init.lua:170 -#, fuzzy msgid "There are no custom single levels." -msgstr "Es gibt keine Benutzerlevels." +msgstr "Es gibt keine Benutzereinzellevels." #: mods/lzr_level_select/init.lua:171 -#, fuzzy msgid "" "Install one from your friends or use the level editor to build your own " "levels." msgstr "" -"Installieren Sie Levels von Ihren Freunden oder benutzen Sie den Level-" -"Editor, um Ihre eigenen Levels zu bauen." +"Installieren Sie eins von Ihren Freunden oder benutzen Sie den Level-Editor, " +"um Ihre eigenen Levels zu bauen." #: mods/lzr_level_select/init.lua:174 -#, fuzzy msgid "This level pack is empty." -msgstr "Dieses Level ist unspielbar." +msgstr "Dieses Levelpaket ist leer." #: mods/lzr_level_select/init.lua:199 msgid "" @@ -85,7 +79,7 @@ msgstr "" #: mods/lzr_level_select/init.lua:216 msgid "The level schematic file chould not be found." -msgstr "" +msgstr "Die Level-Schematic-Datei konnte nicht gefunden werden." #: mods/lzr_level_select/init.lua:218 msgid "There’s no teleporter for the player to start on." @@ -96,9 +90,8 @@ msgid "There’s more than one teleporter." msgstr "Es gibt mehr als einen Teleporter." #: mods/lzr_level_select/init.lua:222 -#, fuzzy msgid "There’s more than one Goldie the Parrot." -msgstr "Es gibt mehr als einen Teleporter." +msgstr "Es gibt mehr als einen Goldi den Papagei." #: mods/lzr_level_select/init.lua:224 msgid "There’s a barrier or barrier-like node in the level." @@ -115,7 +108,7 @@ msgstr "Im Level befindet sich eine verwurzelte Pflanze." #: mods/lzr_level_select/init.lua:230 msgid "Error while loading schematic file." -msgstr "" +msgstr "Fehler beim Laden der Schematic-Datei." #. ~ Reason shown on level loading error #: mods/lzr_level_select/init.lua:235 @@ -133,51 +126,51 @@ msgstr "" #: mods/lzr_level_select/init.lua:258 msgid "Okay" -msgstr "" +msgstr "Okay" #: mods/lzr_level_select/init.lua:271 mods/lzr_level_select/init.lua:295 msgid "Description" -msgstr "" +msgstr "Beschreibung" #: mods/lzr_level_select/init.lua:272 msgid "Single, unsorted levels that don’t belong to any level pack." -msgstr "" +msgstr "Einzelne unsortierte Levels, die zu keinem Levelpaket gehören." #: mods/lzr_level_select/init.lua:273 mods/lzr_level_select/init.lua:297 msgid "Stats" -msgstr "" +msgstr "Statistik" #: mods/lzr_level_select/init.lua:274 msgid "• Levels: @1" -msgstr "" +msgstr "• Levels: @1" #: mods/lzr_level_select/init.lua:276 msgid "File location" -msgstr "" +msgstr "Dateiort" #: mods/lzr_level_select/init.lua:277 msgid "Single levels are stored in:" -msgstr "" +msgstr "Einzellevels werden gespeichert in:" #: mods/lzr_level_select/init.lua:291 msgid "(no description provided)" -msgstr "" +msgstr "(keine Beschreibung angegeben)" #: mods/lzr_level_select/init.lua:298 msgid "• Levels: @1 (@2 completed, @3%)" -msgstr "" +msgstr "• Levels: @1 (@2 fertig, @3%)" #: mods/lzr_level_select/init.lua:299 msgid "• Gold blocks: @1 (@2 found, @3%)" -msgstr "" +msgstr "• Goldblöcke: @1 (@2 gefunden, @3%)" #: mods/lzr_level_select/init.lua:301 msgid "Mod" -msgstr "" +msgstr "Mod" #: mods/lzr_level_select/init.lua:307 msgid "Level pack ID" -msgstr "" +msgstr "Levelpaket-ID" #: mods/lzr_level_select/init.lua:394 msgid "Go to level" @@ -185,7 +178,7 @@ msgstr "Zu Level gehen" #: mods/lzr_level_select/init.lua:395 msgid "[] " -msgstr "" +msgstr "[] " #: mods/lzr_level_select/init.lua:398 msgid "Not possible during the level solution test!" @@ -197,21 +190,23 @@ msgstr "Ein Level kann während des Ladens nicht gestartet werden!" #: mods/lzr_level_select/init.lua:414 msgid "Level pack “@1” doesn’t exist." -msgstr "" +msgstr "Levelpaket „@1“ existiert nicht." #: mods/lzr_level_select/init.lua:417 msgid "" "Level @1 does not exist in this level pack. Available levels range from @2 " "to @3." msgstr "" +"Level @1 existiert nicht in diesem Levelpaket. Verfügbare Levels sind @2 bis " +"@3." #: mods/lzr_level_select/init.lua:426 msgid "Display stats about the installed level packs" -msgstr "" +msgstr "Statistiken über die installierten Levelpakete anzeigen" #: mods/lzr_level_select/init.lua:431 msgid "No player." -msgstr "" +msgstr "Kein Spieler." #~ msgid "Select custom level:" #~ msgstr "Benutzerlevel auswählen:" From fc9db5b450363ae8bc1ddab6a7e7c741561b7004 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:32:28 +0000 Subject: [PATCH 67/84] Translated using Weblate (German) Currently translated at 100.0% (64 of 64 strings) Translation: Lazarr!/lzr_menu Translate-URL: https://translate.codeberg.org/projects/lazarr/lzr_menu/de/ --- mods/lzr_menu/locale/lzr_menu.de.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mods/lzr_menu/locale/lzr_menu.de.po b/mods/lzr_menu/locale/lzr_menu.de.po index 22011525..0f073a57 100644 --- a/mods/lzr_menu/locale/lzr_menu.de.po +++ b/mods/lzr_menu/locale/lzr_menu.de.po @@ -3,15 +3,16 @@ msgstr "" "Project-Id-Version: Luanti textdomain lzr_menu x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" "POT-Creation-Date: 2024-12-14 13:56+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" +"PO-Revision-Date: 2024-12-14 14:21+0000\n" +"Last-Translator: Wuzzy \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" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: ltt_convert 0.2.0\n" +"X-Generator: Weblate 5.8.4\n" #. ~ A node that starts level selection #: mods/lzr_menu/init.lua:197 @@ -283,10 +284,9 @@ msgid "Found every treasure of the known world" msgstr "Alle Schätze der bekannten Welt gefunden" #: mods/lzr_menu/init.lua:858 -#, fuzzy msgid "Painting: Parrot Finder" -msgstr "Gemälde: Perfekter Plünderer" +msgstr "Gemälde: Papageienfinder" #: mods/lzr_menu/init.lua:875 msgid "Found every hidden parrot" -msgstr "" +msgstr "Jeden versteckten Papagei gefunden" From d09a1bcb28ae9725408d0bee3ea41359ce4b3717 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 13:27:48 +0000 Subject: [PATCH 68/84] Translated using Weblate (German) Currently translated at 100.0% (33 of 33 strings) Translation: Lazarr!/lzr_parrot_npc Translate-URL: https://translate.codeberg.org/projects/lazarr/lzr_parrot_npc/de/ --- .../locale/lzr_parrot_npc.de.po | 70 ++++++++++--------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po index d9ef00b8..8e44c034 100644 --- a/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po +++ b/mods/lzr_parrot_npc/locale/lzr_parrot_npc.de.po @@ -3,15 +3,16 @@ msgstr "" "Project-Id-Version: Luanti textdomain lzr_parrot_npc x.x.x\n" "Report-Msgid-Bugs-To: Wuzzy@disroot.org\n" "POT-Creation-Date: 2024-12-14 13:56+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" +"PO-Revision-Date: 2024-12-14 14:21+0000\n" +"Last-Translator: Wuzzy \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" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: ltt_convert 0.2.0\n" +"X-Generator: Weblate 5.8.4\n" #. ~ Parrot name. The player’s main companion and hint-giver. Named after gold #: mods/lzr_parrot_npc/init.lua:12 @@ -31,66 +32,62 @@ msgstr "@1 sagt:" #. ~ Parrot name; named after ruby, a red gemstone #: mods/lzr_parrot_npc/init.lua:81 msgid "Ruby the Hidden Parrot" -msgstr "" +msgstr "Rubi der Versteckte Papagei" #. ~ Parrot name; named after emerald, a green gemstone #: mods/lzr_parrot_npc/init.lua:83 msgid "Emmy the Hidden Parrot" -msgstr "" +msgstr "Emmi der Versteckte Papagei" #. ~ Parrot name; named after saphire, a blue gemstone #: mods/lzr_parrot_npc/init.lua:85 -#, fuzzy msgid "Saphie the Hidden Parrot" -msgstr "Goldi der Papagei" +msgstr "Saffi der Versteckte Papagei" #. ~ Parrot name; named after garnet, a magenta gemstone #: mods/lzr_parrot_npc/init.lua:87 -#, fuzzy msgid "Garnie the Hidden Parrot" -msgstr "Goldi der Papagei" +msgstr "Grani der Versteckte Papagei" #. ~ Parrot name; named after turquoise, a gemstone #: mods/lzr_parrot_npc/init.lua:89 -#, fuzzy msgid "Tuckie the Hidden Parrot" -msgstr "Goldi der Papagei" +msgstr "Tücki der Versteckte Papagei" #. ~ Parrot name; named after diamond #: mods/lzr_parrot_npc/init.lua:91 -#, fuzzy msgid "Dimey the Hidden Parrot" -msgstr "Goldi der Papagei" +msgstr "Dimmi der Versteckte Papagei" #. ~ Parrot name; named after ruby, a red gemstone #: mods/lzr_parrot_npc/init.lua:95 msgid "Ruby" -msgstr "" +msgstr "Rubi" #. ~ Parrot name; named after emerald, a green gemstone #: mods/lzr_parrot_npc/init.lua:97 msgid "Emmy" -msgstr "" +msgstr "Emmi" #. ~ Parrot name; named after saphire, a blue gemstone #: mods/lzr_parrot_npc/init.lua:99 msgid "Saphie" -msgstr "" +msgstr "Saffi" #. ~ Parrot name; named after garnet, a magenta gemstone #: mods/lzr_parrot_npc/init.lua:101 msgid "Garnie" -msgstr "" +msgstr "Grani" #. ~ Parrot name; named after turquoise, a gemstone #: mods/lzr_parrot_npc/init.lua:103 msgid "Tuckie" -msgstr "" +msgstr "Tücki" #. ~ Parrot name; named after diamond #: mods/lzr_parrot_npc/init.lua:105 msgid "Dimey" -msgstr "" +msgstr "Dimmi" #: mods/lzr_parrot_npc/init.lua:160 msgid "OK" @@ -99,58 +96,66 @@ msgstr "OK" #. ~ Parrot speech indicating a parrot is coughing after an explosion #: mods/lzr_parrot_npc/init.lua:198 msgid "*cough* *cough*" -msgstr "" +msgstr "*hust* *hust*" #: mods/lzr_parrot_npc/init.lua:210 msgid "I’m sad because we don’t have any treasures." -msgstr "" +msgstr "Ich bin traurig, weil wir keine Schätze haben." #: mods/lzr_parrot_npc/init.lua:212 msgid "We have @1 gold block in our possession." msgid_plural "We have @1 gold blocks in our possession." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Wir haben @1 Goldblock in unserem Besitz." +msgstr[1] "Wir haben @1 Goldblöcke in unserem Besitz." #: mods/lzr_parrot_npc/init.lua:424 msgid "Hey, you found my secret hideout! Now it’s useless, such a shame …" msgstr "" +"Hey, du hast mein Geheimversteck gefunden. Jetzt ist er nutzlos, Schade …" #: mods/lzr_parrot_npc/init.lua:425 msgid "I’ve got an idea. Let me come with you, okay?" -msgstr "" +msgstr "Ich hab ’ne Idee. Lass mich mit dir mitkommen, okay?" #: mods/lzr_parrot_npc/init.lua:426 msgid "" "I have five friends scattered around the world, I want to meet them again. " "Their names are @1, @2, @3, @4 and @5." msgstr "" +"Ich habe fünf Freunde, die quer über die Welt verstreut sind. Ich will sie " +"wieder treffen. Ihre Namen sind @1, @2, @3, @4 und @5." #: mods/lzr_parrot_npc/init.lua:429 msgid "" "Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole " "family is re-united!" msgstr "" +"Wahnsinn! Du bist es! Ich hab’ viel von deinen Reisen gehört. Jetzt ist die " +"ganze Familie wieder vereint!" #: mods/lzr_parrot_npc/init.lua:431 msgid "" "I’ve got a beautiful portrait of myself. You can have it. How nice is that?" msgstr "" +"Ich hab ein wunderschönes Portrait von mir. Du kannst es haben. Toll, oder?" #: mods/lzr_parrot_npc/init.lua:433 msgid "" "I’ve found a beautiful portrait of our friend Tuckie. You can have it. How " "nice is that?" msgstr "" +"Ich hab’ ein wunderschönes Portrait von unserem Freund Tücki gefunden. Du " +"kannst es haben. Toll, oder?" #: mods/lzr_parrot_npc/init.lua:438 msgid "You found my secret hiding spot!" -msgstr "" +msgstr "Du hast mein Geheimversteck gefunden!" #: mods/lzr_parrot_npc/init.lua:439 msgid "Only @1 parrot is still in hiding." msgid_plural "There are still @1 hidden parrots left to go." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Es versteckt sich nur noch @1 Papagei." +msgstr[1] "Es sind noch @1 versteckte Papageien übrig." #: mods/lzr_parrot_npc/init.lua:589 msgid "Parrot Stand" @@ -161,23 +166,20 @@ msgid "Parrot Spawner" msgstr "Papageispawner" #: mods/lzr_parrot_npc/init.lua:610 -#, fuzzy msgid "Goldie the Parrot will spawn here" -msgstr "Goldi der Papagei" +msgstr "Goldi der Papagei wird hier spawnen" #: mods/lzr_parrot_npc/init.lua:611 msgid "(only one per level allowed)" msgstr "(nur einer pro Level erlaubt)" #: mods/lzr_parrot_npc/init.lua:640 -#, fuzzy msgid "Hidden Parrot Spawner" -msgstr "Papageispawner" +msgstr "Versteckter-Papageispawner" #: mods/lzr_parrot_npc/init.lua:641 -#, fuzzy msgid "A hidden parrot will spawn here" -msgstr "Hier wird ein Infoblock auftauchen" +msgstr "Hier wird ein versteckter Papagei spawnen" #~ msgid "Information" #~ msgstr "Information" From 6551f89c12e182b722e2ef98bf9f41fc0140f367 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 15:22:40 +0100 Subject: [PATCH 69/84] Add translator comments --- mods/lzr_level_select/init.lua | 5 +++++ mods/lzr_parrot_npc/init.lua | 2 ++ 2 files changed, 7 insertions(+) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index 7506e6f9..c030d7dd 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -271,6 +271,7 @@ lzr_level_select.open_stats_dialog = function(player) ""..H(S("Description")).."\n".. H(S("Single, unsorted levels that don’t belong to any level pack.")).."\n".. ""..H(S("Stats")).."\n".. + --~ @1 = number of levels H(S("• Levels: @1", count)).."\n\n".. ""..H(S("File location")).."\n".. @@ -295,7 +296,9 @@ lzr_level_select.open_stats_dialog = function(player) ""..H(S("Description")).."\n".. H(pack_description).."\n".. ""..H(S("Stats")).."\n".. + --~ @1 = total number of levels, @2 = number of completed levels, @3 percentage of level completion H(S("• Levels: @1 (@2 completed, @3%)", levels_total, levels_completed, levels_percent)).."\n".. + --~ @1 = total number of gold blocks, @2 = number of found gold blocks, @3 percentage of found gold blocks H(S("• Gold blocks: @1 (@2 found, @3%)", treasures_total, treasures_found, treasures_percent)).."\n\n".. ""..H(S("Mod")).."\n".. @@ -304,6 +307,7 @@ lzr_level_select.open_stats_dialog = function(player) local privs = minetest.get_player_privs(player:get_player_name()) if minetest.settings:get_bool("lzr_debug", true) or privs.server or privs.debug then info = info .."\n".. + --~ For the technical level pack identifier ""..H(S("Level pack ID")).."\n".. ""..H(level_data.name).."" end @@ -414,6 +418,7 @@ minetest.register_chatcommand("level", { return false, S("Level pack “@1” doesn’t exist.", pack) end if level < 1 or level > #level_data then + --~ @1, @2, and @3 are level numbers return false, S("Level @1 does not exist in this level pack. Available levels range from @2 to @3.", level, 1, #level_data) end lzr_levels.start_level(level, level_data) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 5a8ada9d..cc7d90cf 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -606,6 +606,7 @@ minetest.register_node("lzr_parrot_npc:stand", { }) minetest.register_node("lzr_parrot_npc:parrot_spawner", { + --~ A block that spawns a normal parrot description = S("Parrot Spawner"), _tt_help = S("Goldie the Parrot will spawn here").."\n".. S("(only one per level allowed)"), @@ -637,6 +638,7 @@ minetest.register_node("lzr_parrot_npc:parrot_spawner", { }) minetest.register_node("lzr_parrot_npc:hidden_parrot_spawner", { + --~ A block that spawns a hidden parrot description = S("Hidden Parrot Spawner"), _tt_help = S("A hidden parrot will spawn here"), tiles = { From 260b5a11b5d306122923abcf51cd5eeecc4ce1a4 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 15:27:37 +0100 Subject: [PATCH 70/84] Rename parrot family to parrot gang --- mods/lzr_parrot_npc/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index cc7d90cf..b55c1b2a 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -426,7 +426,7 @@ local react_hidden = function(parrot, player) S("I have five friends scattered around the world, I want to meet them again. Their names are @1, @2, @3, @4 and @5.", f1, f2, f3, f4, f5) -- Last found parrot elseif found == #hidden_parrots then - text = S("Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole family is re-united!").."\n" + text = S("Incredible! It’s you! I’ve heard a lot from your journeys. Now the whole gang is re-united!").."\n" if hidden_parrot_identity == "tuckie" then text = text .. S("I’ve got a beautiful portrait of myself. You can have it. How nice is that?") else From 8ac5e0770dae3dc514a5f29af4cbdc607c17d827 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 16:10:54 +0100 Subject: [PATCH 71/84] Add missing translation marker in lzr_level_select --- mods/lzr_level_select/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/lzr_level_select/init.lua b/mods/lzr_level_select/init.lua index c030d7dd..ffc89c37 100644 --- a/mods/lzr_level_select/init.lua +++ b/mods/lzr_level_select/init.lua @@ -252,8 +252,8 @@ lzr_level_select.open_stats_dialog = function(player) local form = "formspec_version[7]size[6,10]".. "box[0,0;6,0.8;#00000080]".. - "label[0.5,0.4;"..F("Level pack stats").."]".. - "label[0.5,1.3;"..F("Select level pack:").."]".. + "label[0.5,0.4;"..FS("Level pack stats").."]".. + "label[0.5,1.3;"..FS("Select level pack:").."]".. "dropdown[0.5,1.5;5,0.6;levelpack;"..mypacks_str..";"..dropdown_idx..";true]".. "button_exit[1.5,8.5;3,1;okay;"..FS("Okay").."]".. "box[0.5,2.3;5,5.9;#00000020]".. From 70798a3a6a407e1658b480cf7cf03938d4de022a Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 16:50:54 +0100 Subject: [PATCH 72/84] Fix some untranslated parrot names --- mods/lzr_parrot_npc/init.lua | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index b55c1b2a..1176e189 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -78,31 +78,31 @@ local hidden_parrots = { } local hidden_parrot_names = { --~ Parrot name; named after ruby, a red gemstone - ruby = S("Ruby the Hidden Parrot"), + ruby = NS("Ruby the Hidden Parrot"), --~ Parrot name; named after emerald, a green gemstone - emmy = S("Emmy the Hidden Parrot"), + emmy = NS("Emmy the Hidden Parrot"), --~ Parrot name; named after saphire, a blue gemstone - saphie = S("Saphie the Hidden Parrot"), + saphie = NS("Saphie the Hidden Parrot"), --~ Parrot name; named after garnet, a magenta gemstone - garnie = S("Garnie the Hidden Parrot"), + garnie = NS("Garnie the Hidden Parrot"), --~ Parrot name; named after turquoise, a gemstone - tuckie = S("Tuckie the Hidden Parrot"), + tuckie = NS("Tuckie the Hidden Parrot"), --~ Parrot name; named after diamond - dimey = S("Dimey the Hidden Parrot"), + dimey = NS("Dimey the Hidden Parrot"), } local hidden_parrot_names_short = { --~ Parrot name; named after ruby, a red gemstone - ruby = S("Ruby"), + ruby = NS("Ruby"), --~ Parrot name; named after emerald, a green gemstone - emmy = S("Emmy"), + emmy = NS("Emmy"), --~ Parrot name; named after saphire, a blue gemstone - saphie = S("Saphie"), + saphie = NS("Saphie"), --~ Parrot name; named after garnet, a magenta gemstone - garnie = S("Garnie"), + garnie = NS("Garnie"), --~ Parrot name; named after turquoise, a gemstone - tuckie = S("Tuckie"), + tuckie = NS("Tuckie"), --~ Parrot name; named after diamond - dimey = S("Dimey"), + dimey = NS("Dimey"), } lzr_parrot_npc.get_hidden_parrot_name = function(num) @@ -146,9 +146,9 @@ lzr_parrot_npc.speak = function(player, message, speaker, is_scorched) end local title if speaker == "goldie" then - title = FS(SAYS, GOLDIE_NAME) + title = FS(SAYS, S(GOLDIE_NAME)) else - title = FS(SAYS, hidden_parrot_names[speaker]) + title = FS(SAYS, S(hidden_parrot_names[speaker])) end local form = "formspec_version[7]size[10,5.5]".. "box[0,0;10,0.8;#0000004f]".. @@ -417,7 +417,7 @@ local react_hidden = function(parrot, player) local friends = {} for h=1, #hidden_parrots do if hidden_parrots[h] ~= hidden_parrot_identity then - table.insert(friends, hidden_parrot_names_short[hidden_parrots[h]]) + table.insert(friends, S(hidden_parrot_names_short[hidden_parrots[h]])) end end local f1, f2, f3, f4, f5 = friends[1], friends[2], friends[3], friends[4], friends[5] From 0b04dd1ce229023a37b4bf58a522bb5b6f9ef86f Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 17:06:40 +0100 Subject: [PATCH 73/84] Display level pack in /level_info command --- mods/lzr_levels/init.lua | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 7f8eb0a3..0f8cadd9 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1752,18 +1752,15 @@ minetest.register_chatcommand("level_info", { end out = out .. S("• File name: @1", minetest.colorize(VALUE_COLOR, fname)) - if current_level_data.name == "__core" then - --~ Level type can be "core" or "custom" - out = out .. "\n" .. S("• Level type: @1", minetest.colorize(VALUE_COLOR, - --~ A level type (core levels) - S("core"))) + if current_level_data.is_singleton then + out = out .. "\n" .. S("• Level pack: @1", minetest.colorize(VALUE_COLOR, + S("Single levels"))) + else + local title = current_level_data.title or current_level_data.name or "???" + out = out .. "\n" .. S("• Level pack: @1", minetest.colorize(VALUE_COLOR, title)) if minetest.settings:get_bool("lzr_debug", false) then out = out .. "\n" .. S("• Level number: @1", minetest.colorize(VALUE_COLOR, current_level)) end - else - out = out .. "\n" .. S("• Level type: @1", minetest.colorize(VALUE_COLOR, - --~ A level type (custom levels) - S("custom"))) end return true, out end From 5a49a6befbd81d43da4c4edbc99578d4455c45ca Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 17:18:48 +0100 Subject: [PATCH 74/84] Hide the hidden parrot spawner ;) --- mods/lzr_parrot_npc/init.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/lzr_parrot_npc/init.lua b/mods/lzr_parrot_npc/init.lua index 1176e189..4c301b8e 100644 --- a/mods/lzr_parrot_npc/init.lua +++ b/mods/lzr_parrot_npc/init.lua @@ -662,7 +662,8 @@ minetest.register_node("lzr_parrot_npc:hidden_parrot_spawner", { paramtype = "light", sunlight_propagates = true, walkable = false, - groups = { breakable = 1, rotatable = 3, spawner = 1 }, + -- hide the hidden parrot spawner ;) + groups = { breakable = 1, rotatable = 3, spawner = 1, not_in_creative_inventory = 1 }, use_texture_alpha = "clip", sounds = { _rotate = "", From c1f10191b9235895eccbe4ec2ed72dfe939f8ff5 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 17:33:33 +0100 Subject: [PATCH 75/84] Update level packs documentation --- LEVEL_PACKS.md | 30 ++++++++++++++++++++++++++---- mods/lzr_levels/init.lua | 19 +------------------ 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/LEVEL_PACKS.md b/LEVEL_PACKS.md index ce79fa65..e7359c1e 100644 --- a/LEVEL_PACKS.md +++ b/LEVEL_PACKS.md @@ -7,7 +7,7 @@ Lua programming skills to add a new level pack. To add a new level pack, a new Luanti mod must be created containing these things: -1) Level schematic (`*.mts`) files. These are for the blocks +1) Level schematic (`*.mts`) files. These are for the blocks of the level 2) Level metadata in a level data CSV file. This contains all information that the schematic file cannot hold, e.g. title, boundary blocks, weather, sky, etc. The level data CSV specifies the metadata for ALL levels at once. @@ -33,11 +33,31 @@ function `lzr_levels.register_level_pack`. ## Register the level pack To register a level pack, you must call `lzr_levels.register_level_pack`. -The full definition of this function can be found in the code comment above that -function in the `lzr_levels` mod. +The definition of this function is as follows: + +### `lzr_levels.register_level_pack` + +Register a level pack. A level pack is a collection of levels that belong together. +For this to work, the level-related data must be present in the locations defined at +`level_data_file`, `schematic_path` and (optionally) `solutions_path` described below. If successful, the level pack will appear in the game under the custom levels menu. +Parameters: + +* `name`: level pack ID (string, allowed characters are `a-z`, `A-Z`, `0-9` and `_` (underscore)) +* `info`: Table of optional additional information, with these fields: + * `title`: human-readable level pack title + * `description`: short description/explanation about this level pack. 1-3 sentences. + * `textdomain_level_names`: textdomain of the translation file containing the translated level names (default: no translation) + * `textdomain_npc_texts`: textdomain of the translation file containing the translated texts for NPCs like Goldie the Parrot (default: no translation) + * `level_data_file`: Path to CSV file containing metadata of all levels (default: `/data/level_data.csv`) + * `schematic_path`: Path to directory containing the level '.mts' schematic files (default: `/schematics`) + * `solutions_path`: Path to directory containing the OPTIONAL level '.sol.csv' solution files (default: `/solutions`) + +If successful, the level pack will appear in the game under the custom levels menu. + + ### Example A simple example with one level, translated into German. @@ -57,8 +77,10 @@ First, the file structure: * `example_levels_level_names.de.po` * `example_levels_npc_texts.pot` * `example_levels_npc_texts.de.po` -``` +The code of `init.lua`: + +``` local S = minetest.get_translator("example_levels") lzr_levels.register_level_pack("example", diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 0f8cadd9..4e1b262f 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1379,24 +1379,7 @@ function lzr_levels.get_current_level_data() return current_level_data end ---[[ - Register a level pack. A level pack is a collection of levels that belong together. - For this to work, the level-related data must be present in the locations defined at - level_data_file, schematic_path and (optionally) solutions_path described below. - - If successful, the level pack will appear in the game under the custom levels menu. - - Parameters: - * name: level pack ID (string, allowed characters are a-z, A-Z, 0-9 and _ (underscore)) - * info: Table of optional additional information, with these fields: - * title: human-readable level pack title - * description: short description/explanation about this level pack. 1-3 sentences. - * textdomain_level_names: textdomain of the translation file containing the translated level names (default: no translation) - * textdomain_npc_texts: textdomain of the translation file containing the translated texts for NPCs like Goldie the Parrot (default: no translation) - * level_data_file: Path to CSV file containing metadata of all levels (default: /data/level_data.csv) - * schematic_path: Path to directory containing the level '.mts' schematic files (default: /schematics) - * solutions_path: Path to directory containing the OPTIONAL level '.sol.csv' solution files (default: /solutions) -]] +-- Register a level pack. See `LEVEL_PACKS.md` for documentation function lzr_levels.register_level_pack(name, info) local mod = minetest.get_current_modname() From 97da75d2f551a1ee7d70f0216c1293c64f79eecc Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 18:03:42 +0100 Subject: [PATCH 76/84] Explain solution files briefly --- LEVEL_PACKS.md | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/LEVEL_PACKS.md b/LEVEL_PACKS.md index e7359c1e..e5578967 100644 --- a/LEVEL_PACKS.md +++ b/LEVEL_PACKS.md @@ -14,7 +14,12 @@ To add a new level pack, a new Luanti mod must be created containing these thing This file also defines the level order. Levels at the top will be played first. 3) Lua code to register the level pack (see below) -The Lua mod must depend on `lzr_levels`. +The mod must depend on `lzr_levels`. + +The mod *should* follow the naming convention `lzr_pack_`. + +Apart from this, the mod can be like any other mod and may add or +change other things on top of just the levels themselves. ## File structure @@ -45,7 +50,7 @@ If successful, the level pack will appear in the game under the custom levels me Parameters: -* `name`: level pack ID (string, allowed characters are `a-z`, `A-Z`, `0-9` and `_` (underscore)) +* `name`: Level pack ID (string, allowed characters are `a-z`, `A-Z`, `0-9` and `_` (underscore)) * `info`: Table of optional additional information, with these fields: * `title`: human-readable level pack title * `description`: short description/explanation about this level pack. 1-3 sentences. @@ -53,42 +58,50 @@ Parameters: * `textdomain_npc_texts`: textdomain of the translation file containing the translated texts for NPCs like Goldie the Parrot (default: no translation) * `level_data_file`: Path to CSV file containing metadata of all levels (default: `/data/level_data.csv`) * `schematic_path`: Path to directory containing the level '.mts' schematic files (default: `/schematics`) - * `solutions_path`: Path to directory containing the OPTIONAL level '.sol.csv' solution files (default: `/solutions`) + * `solutions_path`: Path to directory containing the *optional* level '.sol.csv' solution files (default: `/solutions`) If successful, the level pack will appear in the game under the custom levels menu. +#### A note about solution files + +Solution files exist for internal purposes, for the quality assurance and game stability of +Lazarr! to ensure the levels still work after major changes to the game. This feature mainly +exists for the core levels and it’s not neccessary for custom level packs to create them. + ### Example A simple example with one level, translated into German. -First, the file structure: +We call the mod `lzr_pack_example`. + +Here’s the file structure: * `mod.conf` * `init.lua` * `schematics` - * `example.mts` + * `lzr_pack_example_example.mts` * `data` * `level_data.csv` * `locale` - * `example_levels.pot` - * `example_levels.po.de` - * `example_levels_level_names.pot` - * `example_levels_level_names.de.po` - * `example_levels_npc_texts.pot` - * `example_levels_npc_texts.de.po` + * `lzr_pack_example.pot` + * `lzr_pack_example.po.de` + * `lzr_pack_example_level_names.pot` + * `lzr_pack_example_level_names.de.po` + * `lzr_pack_example_npc_texts.pot` + * `lzr_pack_example_npc_texts.de.po` The code of `init.lua`: ``` -local S = minetest.get_translator("example_levels") +local S = minetest.get_translator("lzr_pack_example") lzr_levels.register_level_pack("example", { title = S("My Example Levels"), description = S("Some example levels to test things."), - textdomain_npc_texts = "example_levels_npc_texts", - textdomain_level_names = "example_levels_level_names", + textdomain_level_names = "lzr_pack_example_level_names", + textdomain_npc_texts = "lzr_pack_example_npc_texts", } ) ``` From 4cf715a2e1b64e854a40de24d454755578e147a8 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 18:05:55 +0100 Subject: [PATCH 77/84] Add function params in LEVEL_PACKS.md --- LEVEL_PACKS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LEVEL_PACKS.md b/LEVEL_PACKS.md index e5578967..b314c948 100644 --- a/LEVEL_PACKS.md +++ b/LEVEL_PACKS.md @@ -40,7 +40,7 @@ function `lzr_levels.register_level_pack`. To register a level pack, you must call `lzr_levels.register_level_pack`. The definition of this function is as follows: -### `lzr_levels.register_level_pack` +### `lzr_levels.register_level_pack(name, info)` Register a level pack. A level pack is a collection of levels that belong together. For this to work, the level-related data must be present in the locations defined at From b49a49e6213926764e60ebc02d60a07f10ebfe31 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 18:07:19 +0100 Subject: [PATCH 78/84] Remove redundant sentence in LEVEL_PACKS.md --- LEVEL_PACKS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/LEVEL_PACKS.md b/LEVEL_PACKS.md index b314c948..8d70faf8 100644 --- a/LEVEL_PACKS.md +++ b/LEVEL_PACKS.md @@ -42,9 +42,9 @@ The definition of this function is as follows: ### `lzr_levels.register_level_pack(name, info)` -Register a level pack. A level pack is a collection of levels that belong together. -For this to work, the level-related data must be present in the locations defined at -`level_data_file`, `schematic_path` and (optionally) `solutions_path` described below. +Register a level pack. For this to work, the level-related data must be present in the +locations defined at `level_data_file`, `schematic_path` and (optionally) `solutions_path` +described below. If successful, the level pack will appear in the game under the custom levels menu. From ea1ae7c005bb454680cf87888c77b71e2c096ffa Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 18:26:26 +0100 Subject: [PATCH 79/84] Use classic Markdown codeblock style --- LEVEL_PACKS.md | 19 ++++++++----------- mods/lzr_csv/API.md | 16 ++++++---------- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/LEVEL_PACKS.md b/LEVEL_PACKS.md index 8d70faf8..27a72fae 100644 --- a/LEVEL_PACKS.md +++ b/LEVEL_PACKS.md @@ -93,15 +93,12 @@ Here’s the file structure: The code of `init.lua`: -``` -local S = minetest.get_translator("lzr_pack_example") + local S = minetest.get_translator("lzr_pack_example") + + lzr_levels.register_level_pack("example", { + title = S("My Example Levels"), + description = S("Some example levels to test things."), + textdomain_level_names = "lzr_pack_example_level_names", + textdomain_npc_texts = "lzr_pack_example_npc_texts", + }) -lzr_levels.register_level_pack("example", - { - title = S("My Example Levels"), - description = S("Some example levels to test things."), - textdomain_level_names = "lzr_pack_example_level_names", - textdomain_npc_texts = "lzr_pack_example_npc_texts", - } -) -``` diff --git a/mods/lzr_csv/API.md b/mods/lzr_csv/API.md index 3c7b181a..037183a6 100644 --- a/mods/lzr_csv/API.md +++ b/mods/lzr_csv/API.md @@ -39,16 +39,12 @@ The length of each row *must* be equal. For example, this table: -``` -{ - {"value1", "value2", "value3"}, -- row 1 - {"value4", "value5", "value6"}, -- row 2 -}, -``` + { + {"value1", "value2", "value3"}, -- row 1 + {"value4", "value5", "value6"}, -- row 2 + }, Is equivalent to the following CSV file: -``` -value1,value2,value3 -value4,value5,value6 -``` + value1,value2,value3 + value4,value5,value6 From 4a2c3852da72f873c3ce011fd14d1fd39b448dbc Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 18:27:57 +0100 Subject: [PATCH 80/84] Add extra line in LEVEL_PACKS --- LEVEL_PACKS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/LEVEL_PACKS.md b/LEVEL_PACKS.md index 27a72fae..d2208261 100644 --- a/LEVEL_PACKS.md +++ b/LEVEL_PACKS.md @@ -93,6 +93,7 @@ Here’s the file structure: The code of `init.lua`: + local S = minetest.get_translator("lzr_pack_example") lzr_levels.register_level_pack("example", { From 92b78d2fb8386fd3e6ec5ca367eec541e0e321e4 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 19:16:40 +0100 Subject: [PATCH 81/84] Solutions tests now works for level packs, too --- CODE_DOCUMENTATION.md | 6 ++-- mods/lzr_solutions/init.lua | 61 ++++++++++++++++++++++--------------- 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/CODE_DOCUMENTATION.md b/CODE_DOCUMENTATION.md index 05294620..912d35b9 100644 --- a/CODE_DOCUMENTATION.md +++ b/CODE_DOCUMENTATION.md @@ -139,7 +139,7 @@ it only records interactions with nodes but not player movement. This feature is EXPERIMENTAL and has some rough edges, so use with care! The main use case for this feature is to record -solutions in the core levels. +solutions in level packs, most importantly the core levels. This feature is useful to test and verify if the levels are still solvable in a later update in case the behavior of a laser block was accidentally @@ -158,9 +158,9 @@ Commands: a file is saved into the world directory on success. WARNING: Existing files will be silently overwritten! * `/replay_solution`: Replay the solution for the current level. This - only works for core levels and only when you're at the beginning + only works for level pack levels and only when you're at the beginning of a level. -* `/test_core_solutions`: Mass-test ALL core levels in sequential +* `/test_pack_solutions`: Mass-test ALL levels of a level pack in sequence The solution test will halt automatically when any inconsistency was detected. You can always abort the solution test or a recording by diff --git a/mods/lzr_solutions/init.lua b/mods/lzr_solutions/init.lua index 8fb0c263..4d688871 100644 --- a/mods/lzr_solutions/init.lua +++ b/mods/lzr_solutions/init.lua @@ -8,10 +8,12 @@ local state = "idle" -- and trigger a file save local autostop = false --- true if running a full solution test of the core levels +-- true if running a full solution test of a level pack local full_test = false --- level number of currently tested core level +-- level number of currently tested level pack level local full_test_level = 0 +-- level pack name for the full solution test +local full_test_pack = nil local current_replay_time = 0 local current_action @@ -58,11 +60,11 @@ action: { ]] -local test_next_core_solution_callback = function() +local test_next_pack_solution_callback = function() local level_id = full_test_level - minetest.log("action", "[lzr_solutions] Testing solution for core level "..level_id) + minetest.log("action", "[lzr_solutions] Testing solution for level "..level_id.." of level pack '"..full_test_pack.."'") - local level_data = lzr_levels.get_level_pack("__core") + local level_data = lzr_levels.get_level_pack(full_test_pack) if not level_data.solutions_path then -- No solutions path. Nothing to test! minetest.log("error", "[lzr_solutions] No solutions path") @@ -72,13 +74,13 @@ local test_next_core_solution_callback = function() local level = level_data[level_id] if not level then -- Level does not exist - minetest.log("error", "[lzr_solutions] Core level "..tostring(level_id).." does not exist") + minetest.log("error", "[lzr_solutions] Level "..tostring(level_id).." does not exist in level pack '"..full_test_pack.."'") return false end if not level.filename_solution then -- No solution in level. Skip test. - minetest.log("error", "[lzr_solutions] Core level "..tostring(level_id).." doesn't have solution") + minetest.log("error", "[lzr_solutions] Level "..tostring(level_id).." of level pack '"..full_test_pack.."' doesn't have a solution file") return false end @@ -89,25 +91,25 @@ local test_next_core_solution_callback = function() local solution = lzr_solutions.csv_to_solution(csv) if solution then lzr_solutions.replay_solution(solution) - minetest.log("action", "[lzr_solutions] Playing solution for core level "..level_id) + minetest.log("action", "[lzr_solutions] Playing solution for level "..level_id.." of level pack '"..full_test_pack.."'") return true else - minetest.log("error", "[lzr_solutions] Error in solution CSV file for core level "..level_id) + minetest.log("error", "[lzr_solutions] Error in solution CSV file for level "..level_id.." of level pack '"..full_test_pack.."'") return false end else - minetest.log("error", "[lzr_solutions] Error while loading solution CSV file for core level "..level_id) + minetest.log("error", "[lzr_solutions] Error while loading solution CSV file for level "..level_id.." of level pack '"..full_test_pack.."'") return false end end -local test_next_core_solution = function() - local level_data = lzr_levels.get_level_pack("__core") +local test_next_pack_solution = function(pack) + local level_data = lzr_levels.get_level_pack(pack) full_test_level = full_test_level + 1 if full_test_level > #level_data then return false end - minetest.log("info", "[lzr_solutions] Loading core level "..full_test_level.." ...") + minetest.log("info", "[lzr_solutions] Loading level "..full_test_level.." of level pack '"..pack.."' ...") lzr_gamestate.set_state(lzr_gamestate.LEVEL_TEST) lzr_levels.start_level(full_test_level, level_data) return true @@ -115,14 +117,15 @@ end lzr_levels.register_on_level_start(function() minetest.log("verbose", "[lzr_solutions] on_level_start event") if full_test then - test_next_core_solution_callback() + test_next_pack_solution_callback() end end) -lzr_solutions.test_core_solutions = function() +lzr_solutions.test_pack_solutions = function(pack) full_test = true full_test_level = 0 - local ok = test_next_core_solution() + full_test_pack = pack + local ok = test_next_pack_solution(pack) if not ok then full_test = false end @@ -444,11 +447,11 @@ minetest.register_globalstep(function(dtime) if full_test then if not lzr_gamestate.is_loading() then if lzr_laser.check_level_won() then - minetest.log("action", "[lzr_solutions] Solution for core level "..full_test_level.." completed!") - local ok = test_next_core_solution() + minetest.log("action", "[lzr_solutions] Solution for level "..full_test_level.." of level pack '"..full_test_pack.."' completed!") + local ok = test_next_pack_solution(full_test_pack) if not ok then - minetest.log("action", "[lzr_solutions] Core level solution test successfully completed!") - passed_message(S("Core level solution test PASSED!")) + minetest.log("action", "[lzr_solutions] Level pack solution test for '"..full_test_pack.."' successfully completed!") + passed_message(S("Level pack solution test PASSED!")) full_test = false current_solution = nil @@ -593,18 +596,26 @@ if minetest.settings:get_bool("lzr_debug", false) == true then end, }) - minetest.register_chatcommand("test_core_solutions", { + minetest.register_chatcommand("test_pack_solutions", { privs = { debug = true, server = true }, - params = "", - description = S("Test the solution of all core levels"), + params = S("[]"), + description = S("Test the solutions of all levels of a level pack"), func = function(name, param) if state == "playing" then return false, S("Already replaying a solution!") elseif state == "recording" then return false, S("Already recording!") end - lzr_solutions.test_core_solutions() - return true + local pack = param + if pack == "" then + pack = "__core" + end + if lzr_levels.get_level_pack(pack) then + lzr_solutions.test_pack_solutions(pack) + return true + else + return false, S("This level pack doesn’t exist!") + end end, }) From a7ed534e036b52cf56b8a9e4edcfcd8c92513df1 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 19:19:50 +0100 Subject: [PATCH 82/84] Add more /leave messages on error --- mods/lzr_levels/init.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index 4e1b262f..13830c63 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -1786,14 +1786,13 @@ minetest.register_chatcommand("leave", { params = "", description = S("Leave current level"), func = function(name, param) + if lzr_gamestate.is_loading() then + return false, S("Can’t leave while loading!") + end local state = lzr_gamestate.get_state() if state == lzr_gamestate.LEVEL or state == lzr_gamestate.LEVEL_COMPLETE then - if lzr_gamestate.is_loading() then - return false, S("Can’t leave while loading!") - else - lzr_levels.leave_level() - return true - end + lzr_levels.leave_level() + return true elseif state == lzr_gamestate.LEVEL_TEST then -- during the level test, /leave aborts the level test lzr_levels.leave_level() From 0337fa5172d72657f7310cfeddcad26f5cbfb7ca Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 19:34:02 +0100 Subject: [PATCH 83/84] Give hook infinite durability --- mods/lzr_hook/init.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mods/lzr_hook/init.lua b/mods/lzr_hook/init.lua index 86c3c8eb..2ebce4e5 100644 --- a/mods/lzr_hook/init.lua +++ b/mods/lzr_hook/init.lua @@ -358,6 +358,11 @@ minetest.register_tool("lzr_hook:hook",{ _tt_help = S("Punch to push edge, place to rotate face").."\n".. S("Sneak to reverse rotation direction"), inventory_image = "lzr_hook_hook.png", + -- Ensure infinite durability if used as digging tool by automation + tool_capabilities = { + full_punch_interval = 0, + punch_attack_uses = 0, + }, on_use = function(itemstack, player, pointed_thing) return lzr_hook.use(itemstack, player, pointed_thing, false) end, From 006a0a8f3c8f16dc491168d4481bf883cabc434c Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 14 Dec 2024 20:21:32 +0100 Subject: [PATCH 84/84] Hook: Object takes precedence on use --- mods/lzr_hook/init.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/mods/lzr_hook/init.lua b/mods/lzr_hook/init.lua index 2ebce4e5..43603dbe 100644 --- a/mods/lzr_hook/init.lua +++ b/mods/lzr_hook/init.lua @@ -159,6 +159,23 @@ end -- 1: on_use parameters -> axis/amount/etc. -- 2: param2/axis/amount/etc. -> new param2 function lzr_hook.use(itemstack, player, pointed_thing, is_right_click) + -- Object interaction takes precedence + if pointed_thing.type == "object" then + local obj = pointed_thing.ref + local ent = obj:get_luaentity() + if ent then + if not is_right_click and ent.on_punch then + local dir = vector.direction(player:get_pos(), obj:get_pos()) + ent:on_punch(player, 1000000, itemstack:get_tool_capabilities(), dir) + elseif is_rightclick and ent.right_click then + ent:right_click(player) + end + end + return + end + if pointed_thing.type ~= "node" then + return + end local gs = lzr_gamestate.get_state() if gs == lzr_gamestate.LEVEL_COMPLETE or gs == lzr_gamestate.LEVEL_TEST then return