From 1386e0e7c9d982f4962b22d4fc5ab042bd9d0c82 Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Tue, 10 Jul 2018 18:59:29 +0100 Subject: [PATCH] updated Intllib support (thanks codexp) --- README.md | 2 +- admin.lua | 23 ++--- doors_chest.lua | 7 +- hud.lua | 3 +- init.lua | 56 ++++++------- intllib.lua | 45 ++++++++++ locale/de.po | 196 +++++++++++++++++++++++++++++++++++++++++++ locale/de.txt | 44 ---------- locale/fr.po | 198 ++++++++++++++++++++++++++++++++++++++++++++ locale/fr.txt | 42 ---------- locale/ru.po | 197 +++++++++++++++++++++++++++++++++++++++++++ locale/ru.txt | 45 ---------- locale/template.pot | 191 ++++++++++++++++++++++++++++++++++++++++++ locale/template.txt | 42 ---------- locale/tr.po | 195 +++++++++++++++++++++++++++++++++++++++++++ locale/tr.txt | 42 ---------- 16 files changed, 1065 insertions(+), 263 deletions(-) create mode 100644 intllib.lua create mode 100644 locale/de.po delete mode 100644 locale/de.txt create mode 100644 locale/fr.po delete mode 100644 locale/fr.txt create mode 100644 locale/ru.po delete mode 100644 locale/ru.txt create mode 100644 locale/template.pot delete mode 100644 locale/template.txt create mode 100644 locale/tr.po delete mode 100644 locale/tr.txt diff --git a/README.md b/README.md index 96dec17..799371c 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Change log: - 2.3 - Localise many of the protector functions and tidy code. - 2.4 - Update to newer functions, Minetest 0.4.16 needed to run now. - 2.5 - Added HUD text to show when player is inside a protected area (updates every 5 seconds) -- 2.6 - Add protection against CSM tampering +- 2.6 - Add protection against CSM tampering, updated Intllib support (thanks codexp) Lucky Blocks: 10 diff --git a/admin.lua b/admin.lua index e73412c..4b40476 100644 --- a/admin.lua +++ b/admin.lua @@ -5,7 +5,7 @@ protector.removal_names = "" protector.replace_names = "" minetest.register_chatcommand("protector_remove", { - params = "", + params = S(""), description = S("Remove Protectors around players (separate names with spaces)"), privs = {server = true}, func = function(name, param) @@ -13,8 +13,8 @@ minetest.register_chatcommand("protector_remove", { if not param or param == "" then minetest.chat_send_player(name, - "Protector Names to remove: " - .. protector.removal_names) + S("Protector Names to remove: @1", + protector.removal_names)) return end @@ -36,7 +36,7 @@ minetest.register_chatcommand("protector_remove", { minetest.register_chatcommand("protector_replace", { - params = " ", + params = S(" "), description = S("Replace Protector Owner with name provided"), privs = {server = true}, func = function(name, param) @@ -58,8 +58,8 @@ minetest.register_chatcommand("protector_replace", { local names = protector.replace_names:split(" ") minetest.chat_send_player(name, - "Replacing Protector name '" .. (names[1] or "") - .. "' with '" .. (names[2] or "").. "'") + S("Replacing Protector name '@1' with '@2'", + names[1] or "", names[2] or "")) return end @@ -82,7 +82,10 @@ minetest.register_abm({ return end - local meta = minetest.get_meta(pos) ; if not meta then return end + local meta = minetest.get_meta(pos); + + if not meta then return end + local owner = meta:get_string("owner") --local members = meta:get_string("members") @@ -91,7 +94,6 @@ minetest.register_abm({ local names = protector.removal_names:split(" ") for _, n in pairs(names) do - if n == owner then minetest.set_node(pos, {name = "air"}) end @@ -103,9 +105,8 @@ minetest.register_abm({ local names = protector.replace_names:split(" ") if names[1] and names[2] and owner == names[1] then - meta:set_string("owner", names[2]) - meta:set_string("infotext", "Protection (owned by " .. names[2] .. ")") + meta:set_string("infotext", S("Protection (owned by @1)", names[2])) end end @@ -116,7 +117,7 @@ minetest.register_abm({ -- show protection areas of nearby protectors owned by you (thanks agaran) minetest.register_chatcommand("protector_show", { params = "", - description = "Show protected areas of your nearby protectors", + description = S("Show protected areas of your nearby protectors"), privs = {}, func = function(name, param) diff --git a/doors_chest.lua b/doors_chest.lua index 054797d..6d4408b 100644 --- a/doors_chest.lua +++ b/doors_chest.lua @@ -4,6 +4,7 @@ -- within this mod for local use. local S = protector.intllib +local F = minetest.formspec_escape -- Registers a door function register_door(name, def) @@ -580,10 +581,10 @@ minetest.register_node("protector:chest", { .. default.gui_bg_img .. default.gui_slots .. "list[nodemeta:".. spos .. ";main;0,0.3;8,4;]" - .. "button[0,4.5;2,0.25;toup;" .. S("To Chest") .. "]" + .. "button[0,4.5;2,0.25;toup;" .. F(S("To Chest")) .. "]" .. "field[2.3,4.8;4,0.25;chestname;;" .. meta:get_string("name") .. "]" - .. "button[6,4.5;2,0.25;todn;" .. S("To Inventory") .. "]" + .. "button[6,4.5;2,0.25;todn;" .. F(S("To Inventory")) .. "]" .. "list[current_player;main;0,5;8,1;]" .. "list[current_player;main;0,6.08;8,3;8]" .. "listring[nodemeta:" .. spos .. ";main]" @@ -635,7 +636,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end end - + elseif fields.todn then -- copy contents of chest to players inventory diff --git a/hud.lua b/hud.lua index 041104b..f1f8975 100644 --- a/hud.lua +++ b/hud.lua @@ -1,4 +1,5 @@ +local S = protector.intllib local radius = (tonumber(minetest.setting_get("protector_radius")) or 5) local hud = {} local hud_timer = 0 @@ -27,7 +28,7 @@ minetest.register_globalstep(function(dtime) local meta = minetest.get_meta(npos) local nodeowner = meta:get_string("owner") - hud_text = "Owner: " .. nodeowner + hud_text = S("Owner: @1", nodeowner) end if not hud[name] then diff --git a/init.lua b/init.lua index 48e1a2d..6a699b4 100644 --- a/init.lua +++ b/init.lua @@ -1,7 +1,15 @@ +local MP = minetest.get_modpath(minetest.get_current_modname()) +-- Load support for intllib. +local S = dofile(MP .. "/intllib.lua") +local F = minetest.formspec_escape + + protector = {} protector.mod = "redo" +protector.modpath = MP protector.max_share_count = 12 +protector.intllib = S -- get minetest.conf settings protector.radius = tonumber(minetest.settings:get("protector_radius")) or 5 @@ -15,21 +23,6 @@ local statspawn = minetest.string_to_pos(minetest.settings:get("static_spawnpoin or {x = 0, y = 2, z = 0} --- Intllib -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() -else - S = function(s, a, ...) a = {a, ...} - return s:gsub("@(%d+)", function(n) - return a[tonumber(n)] - end) - end - -end -protector.intllib = S - - -- return list of members as a table local get_member_list = function(meta) @@ -115,10 +108,10 @@ local protector_formspec = function(meta) .. default.gui_bg .. default.gui_bg_img .. default.gui_slots - .. "label[2.5,0;" .. S("-- Protector interface --") .. "]" - .. "label[0,1;" .. S("PUNCH node to show protected area") .. "]" - .. "label[0,2;" .. S("Members:") .. "]" - .. "button_exit[2.5,6.2;3,0.5;close_me;" .. S("Close") .. "]" + .. "label[2.5,0;" .. F(S("-- Protector interface --")) .. "]" + .. "label[0,1;" .. F(S("PUNCH node to show protected area")) .. "]" + .. "label[0,2;" .. F(S("Members:")) .. "]" + .. "button_exit[2.5,6.2;3,0.5;close_me;" .. F(S("Close")) .. "]" .. "field_close_on_enter[protector_add_member;false]" local members = get_member_list(meta) @@ -132,17 +125,17 @@ local protector_formspec = function(meta) -- show username formspec = formspec .. "button[" .. (i % 4 * 2) .. "," .. math.floor(i / 4 + 3) - .. ";1.5,.5;protector_member;" .. members[n] .. "]" + .. ";1.5,.5;protector_member;" .. F(members[n]) .. "]" -- username remove button .. "button[" .. (i % 4 * 2 + 1.25) .. "," .. math.floor(i / 4 + 3) - .. ";.75,.5;protector_del_member_" .. members[n] .. ";X]" + .. ";.75,.5;protector_del_member_" .. F(members[n]) .. ";X]" end i = i + 1 end - + if i < npp then -- user name entry field @@ -233,7 +226,7 @@ protector.can_dig = function(r, pos, digger, onlyowner, infolevel) if onlyowner or not is_member(meta, digger) then minetest.chat_send_player(digger, - S("This area is owned by @1!", owner)) + S("This area is owned by @1", owner) .. "!") return false end @@ -242,7 +235,8 @@ protector.can_dig = function(r, pos, digger, onlyowner, infolevel) -- when using protector as tool, show protector information if infolevel == 2 then - minetest.chat_send_player(digger, S("This area is owned by @1.", owner)) + minetest.chat_send_player(digger, + S("This area is owned by @1", owner) .. ".") minetest.chat_send_player(digger, S("Protection located at: @1", minetest.pos_to_string(pos[n]))) @@ -658,14 +652,12 @@ minetest.register_node("protector:display_node", { }) -local path = minetest.get_modpath("protector") - -dofile(path .. "/doors_chest.lua") -dofile(path .. "/pvp.lua") -dofile(path .. "/admin.lua") -dofile(path .. "/tool.lua") -dofile(path .. "/hud.lua") -dofile(path .. "/lucky_block.lua") +dofile(MP .. "/doors_chest.lua") +dofile(MP .. "/pvp.lua") +dofile(MP .. "/admin.lua") +dofile(MP .. "/tool.lua") +dofile(MP .. "/hud.lua") +dofile(MP .. "/lucky_block.lua") -- stop mesecon pistons from pushing protectors diff --git a/intllib.lua b/intllib.lua new file mode 100644 index 0000000..6669d72 --- /dev/null +++ b/intllib.lua @@ -0,0 +1,45 @@ + +-- Fallback functions for when `intllib` is not installed. +-- Code released under Unlicense . + +-- Get the latest version of this file at: +-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua + +local function format(str, ...) + local args = { ... } + local function repl(escape, open, num, close) + if escape == "" then + local replacement = tostring(args[tonumber(num)]) + if open == "" then + replacement = replacement..close + end + return replacement + else + return "@"..open..num..close + end + end + return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) +end + +local gettext, ngettext +if minetest.get_modpath("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + gettext, ngettext = intllib.make_gettext_pair() + else + -- Old method using text files. + gettext = intllib.Getter() + end +end + +-- Fill in missing functions. + +gettext = gettext or function(msgid, ...) + return format(msgid, ...) +end + +ngettext = ngettext or function(msgid, msgid_plural, n, ...) + return format(n==1 and msgid or msgid_plural, ...) +end + +return gettext, ngettext diff --git a/locale/de.po b/locale/de.po new file mode 100644 index 0000000..5f8a695 --- /dev/null +++ b/locale/de.po @@ -0,0 +1,196 @@ +# German translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Xanthin , 2016. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \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" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Entferne Störschützer von bestimmten Namen in der Nähe von Spielern (trenne " +"Namen durch Leerzeichen)" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "Ersetze Besitzer der Störschützer mit neuem Besitzer" + +#: admin.lua +msgid " " +msgstr " " + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "Ersetze Besitzer der Störschützer von '@1' mit '@2'" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "Zeige geschützte Bereiche der Störschützer in der Nähe" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Störschutznamen zum Entfernen: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "Namensliste zurückgesetzt" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Geschützte Holztür" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Geschützte Stahltür" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Geschützte Falltür" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Geschützte Stahlfalltür" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Geschützte Truhe" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 verlagert Dinge in geschützte Truhe bei @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 nimmt Dinge aus geschützter Truhe bei @2" + +#: doors_chest.lua +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 verschiebt Dinge innerhalb der geschützten Truhe bei @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "Zur Truhe" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "Zum Inventar" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Geschützte Truhe (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "-- Störschutz-Interface --" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "SCHLAGE Node, um geschützten Bereich anzuzeigen oder" + +#: init.lua +msgid "USE for area check" +msgstr "BENUTZE für Bereichsprüfung" + +#: init.lua +msgid "Members:" +msgstr "Mitglieder:" + +#: init.lua +msgid "Close" +msgstr "Schließen" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Störschutz befindet sich bei: @1" + +#: init.lua +msgid "Members: @1." +msgstr "Mitglieder: @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Dieser Bereich ist nicht geschützt." + +#: init.lua +msgid "You can build here." +msgstr "Du kannst hier bauen." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "Überlappung im geschützen Bereich eines Spielers" + +#: init.lua +msgid "Protection Block" +msgstr "Störschutzblock" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Störschutz (gehört @1)" + +#: init.lua +msgid "Protection Logo" +msgstr "Störschutzlogo" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Protector Redo geladen" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "Spawn @1 ist geschützt mit einem Radius von @2 Blöcke." + +#: init.lua +msgid "This area is owned by @1" +msgstr "Dieser Bereich gehört @1" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "on_punchplayer wurde durch \"nil objects\" aufgerufen" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "pvp_protect ist nicht aktiv, aktualisiere deine Minetestversion" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "pvp_protect ist ausgeschaltet" + +#: hud.lua +msgid "Owner: @1" +msgstr "Besitzer: @1" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" +"Störschutz Platzier-Werkzeug (stehe neben Störschutz, schaue in die " +"gewünschte Richtung und anwenden)" + +#: tool.lua +msgid "Protector already in place!" +msgstr "Störschutz is bereits platziert!" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "Keine Störschützer mehr im Inventar!" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Störschutz befindet sich bei: @1" diff --git a/locale/de.txt b/locale/de.txt deleted file mode 100644 index 4bdc3c4..0000000 --- a/locale/de.txt +++ /dev/null @@ -1,44 +0,0 @@ -# German Translation for protector mod -# Deutsche Übersetzung der protector Mod -# last update: 2016/June/5 -# Author: Xanthin - -#admin.lua -Remove Protectors near players with names provided (separate names with spaces) = Entferne Stoerschuetzer von bestimmten Namen in der Naehe von Spielern (trenne Namen durch Leerzeichen) -Protector Names to remove: @1 = Stoerschutznamen zum Entfernen: @1 -Name List Reset = Namensliste zurueckgesetzt - -#doors_chest.lua -Protected Wooden Door = Geschützte Holztür -Protected Steel Door = Geschützte Stahltür -Protected Trapdoor = Geschützte Falltür -Protected Steel Trapdoor = Geschützte Stahlfalltür -Protected Chest = Geschützte Truhe -@1 moves stuff to protected chest at @2 = @1 verlagert Dinge in geschützte Truhe bei @2 -@1 takes stuff from protected chest at @2 = @1 nimmt Dinge aus geschützter Truhe bei @2 -To Chest = Zur Truhe -To Inventory = Zum Inventar -Protected Chest (@1) = Geschützte Truhe (@1) - -#init.lua --- Protector interface -- = -- Störschutz-Interface -- -PUNCH node to show protected area = SCHLAGE Node, um geschützten Bereich anzuzeigen oder -USE for area check = BENUTZE für Bereichsprüfung -Members: = Mitglieder: -Close = Schließen -This area is owned by @1! = Dieses Gebiet gehoert @1! -This area is owned by @1. = Dieses Gebiet gehoert @1. -Protection located at: @1 = Stoerschutz befindet sich bei: @1 -Members: @1. = Mitglieder: @1. -This area is not protected. = Dieses Gebiet ist nicht geschuetzt. -You can build here. = Du kannst hier bauen. -Overlaps into above players protected area = Ueberlappt in geschuetzen Bereich eines Spielers -Protection Block = Störschutzblock -Protection (owned by @1) = Störschutz (gehört @1) -Protection Logo = Störschutzlogo -[MOD] Protector Redo loaded = [MOD] Protector Redo geladen - -#pvp.lua -[Protector] on_punchplayer called with nil objects = on_punchplayer wurde durch "nil objects" aufgerufen -[Protector] pvp_protect not active, update your version of Minetest = pvp_protect ist nicht aktiv, aktualisiere deine Minetestversion -[Protector] pvp_protect is disabled = pvp_protect ist ausgeschaltet \ No newline at end of file diff --git a/locale/fr.po b/locale/fr.po new file mode 100644 index 0000000..c2fce21 --- /dev/null +++ b/locale/fr.po @@ -0,0 +1,198 @@ +# French translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Doloment, 2017. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Retirer les protecteurs près des joueurs avec les noms fournis (noms séparés " +"avec des espaces)" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "" + +#: admin.lua +msgid " " +msgstr "" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Noms de protecteurs à supprimer: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "Liste de noms réinitialiser" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Porte en bois protégée" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Porte en acier protégée" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Trappe protégé" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Trap en acier protégé" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Coffre protégé" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 déplace des objets vers le coffre protégée à @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 prend des objets du coffre protégée à @2" + +#: doors_chest.lua +#, fuzzy +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 déplace des objets à l'intérieur de du coffre protégé à @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "Vers le coffre" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "Vers l'inventaire" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Coffre protégé (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "-- Interface Protector --" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "TAPÉ le bloc pour afficher la zone protégée" + +#: init.lua +msgid "USE for area check" +msgstr "UTILISER pour vérifier la zone" + +#: init.lua +msgid "Members:" +msgstr "Membres:" + +#: init.lua +msgid "Close" +msgstr "Fermer" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Protection située à: @1" + +#: init.lua +msgid "Members: @1." +msgstr "Membres: @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Cette zone n'est pas protégée." + +#: init.lua +msgid "You can build here." +msgstr "Vous pouvez construire ici." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "Vous chevauché une zone protégé." + +#: init.lua +msgid "Protection Block" +msgstr "Bloc de protection" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Protection (détenue par @1)" + +#: init.lua +msgid "Protection Logo" +msgstr "Logo de protection" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Protector Redo chargé" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "" + +#: init.lua +#, fuzzy +msgid "This area is owned by @1" +msgstr "Cette zone appartient à @1!" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "[Protector] on_punchplayer appelé avec des objets nil" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "" +"[Protector] pvp_protect est désactivé, mettez à jour votre version de " +"Minetest" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "[Protector] pvp_protect est désactivé" + +#: hud.lua +msgid "Owner: @1" +msgstr "" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" + +#: tool.lua +msgid "Protector already in place!" +msgstr "" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Protection située à: @1" diff --git a/locale/fr.txt b/locale/fr.txt deleted file mode 100644 index 50c5770..0000000 --- a/locale/fr.txt +++ /dev/null @@ -1,42 +0,0 @@ -# Template for translations of protector mod -# last update: 2016/June/5 - -#admin.lua -Remove Protectors near players with names provided (separate names with spaces) = Retirer les protecteurs près des joueurs avec les noms fournis (noms séparés avec des espaces) -Protector Names to remove: @1 = Noms de protecteurs à supprimer: @1 -Name List Reset = Liste de noms réinitialiser - -#doors_chest.lua -Protected Wooden Door = Porte en bois protégée -Protected Steel Door = Porte en acier protégée -Protected Trapdoor = Trappe protégé -Protected Steel Trapdoor = Trap en acier protégé -Protected Chest = Coffre protégé -@1 moves stuff to protected chest at @2 = @1 déplace des objets vers le coffre protégée à @2 -@1 takes stuff from protected chest at @2 = @1 prend des objets du coffre protégée à @2 -To Chest = Vers le coffre -To Inventory = Vers l'inventaire -Protected Chest (@1) = Coffre protégé (@1) - -#init.lua --- Protector interface -- = -- Interface Protector -- -PUNCH node to show protected area = TAPÉ le bloc pour afficher la zone protégée -USE for area check = UTILISER pour vérifier la zone -Members: = Membres: -Close = Fermer -This area is owned by @1! = Cette zone appartient à @1! -This area is owned by @1. = Cette zone appartient à @1. -Protection located at: @1 = Protection située à: @1 -Members: @1. = Membres: @1. -This area is not protected. = Cette zone n'est pas protégée. -You can build here. = Vous pouvez construire ici. -Overlaps into above players protected area = Vous chevauché une zone protégé. -Protection Block = Bloc de protection -Protection (owned by @1) = Protection (détenue par @1) -Protection Logo = Logo de protection -[MOD] Protector Redo loaded = [MOD] Protector Redo chargé - -#pvp.lua -[Protector] on_punchplayer called with nil objects = [Protector] on_punchplayer appelé avec des objets nil -[Protector] pvp_protect not active, update your version of Minetest = [Protector] pvp_protect est désactivé, mettez à jour votre version de Minetest -[Protector] pvp_protect is disabled = [Protector] pvp_protect est désactivé diff --git a/locale/ru.po b/locale/ru.po new file mode 100644 index 0000000..149082f --- /dev/null +++ b/locale/ru.po @@ -0,0 +1,197 @@ +# Russian translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Doloment, 2017. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Удалить защиту рядом с игроками (перечислить имена, разделяя пробелами)" + +#: admin.lua +msgid "" +msgstr "<список имён>" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "Заменить владельца защиты новым владельцем" + +#: admin.lua +msgid " " +msgstr "<имя владельца> <имя нового владельца>" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "Заменяется владелец защиты с '@1' на '@2'" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "Показать защищенные территории с ближней защитой" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Имена защит, подлежащих удалению: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "Сброс списка имен" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Защищенная яблоневая дверь" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Защищенная стальная дверь" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Защищенный яблоневый люк" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Защищенный стальной люк" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Защищенный сундук" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 перемещает вещи в защищенный сундук на координатах @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 берет вещи из защищенного сундука на координатах @2" + +#: doors_chest.lua +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 перемещает вещи внутри защищенного сундука на координатах @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "В сундук" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "В инвентрарь" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Защищенный сундук (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "-- Настройка защиты --" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "СТУКНУТЬ узел для подсведки защищенной территории" + +#: init.lua +msgid "USE for area check" +msgstr "ЛКМ для проверки защищенной территории" + +#: init.lua +msgid "Members:" +msgstr "Участники:" + +#: init.lua +msgid "Close" +msgstr "Закрыть" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Защита находится на координатах @1" + +#: init.lua +msgid "Members: @1." +msgstr "Участники: @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Территория свободна." + +#: init.lua +msgid "You can build here." +msgstr "Здесь можно ставить блоки." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "" +"Защитный блок не может быть установлен: пересечение с областями, защищенными " +"другими игроками" + +#: init.lua +msgid "Protection Block" +msgstr "Защитный блок" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Защита игрока @1" + +#: init.lua +msgid "Protection Logo" +msgstr "Защитный знак" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Модификация \"Переделанная Защита\" загружена" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "Спаун @1 защищен в радиусе @2 блока." + +#: init.lua +msgid "This area is owned by @1" +msgstr "Эта территория пренадлежит @1" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "[Защита] on_punchplayer вызвана с нулевыми объектами" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "[Защита] pvp_protect не активен, обновите версию Minetest" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "[Защита] pvp_protect отключен" + +#: hud.lua +msgid "Owner: @1" +msgstr "Владелец: @1" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" +"Инструмент установки защиты (станьте рядом с защитой, повернитесь в нужное " +"направление и используйте)" + +#: tool.lua +msgid "Protector already in place!" +msgstr "Защита уже установлена!" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "У вас нет защитных блоков в инвентаре!" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Защита находится на координатах @1" diff --git a/locale/ru.txt b/locale/ru.txt deleted file mode 100644 index c331c7e..0000000 --- a/locale/ru.txt +++ /dev/null @@ -1,45 +0,0 @@ -# Russian Translation for protector mod -# Русский Перевод для Мода "Переделанная Защита" -# last update: 2017/October/15 -# Author: Doloment - - -#admin.lua -Remove Protectors near players with names provided (separate names with spaces) = Удалить защиту рядом с игроками с именами (перечислить, разделяя пробелами) -Protector Names to remove: @1 = Имена защит, подлежащих удалению: @1 -Name List Reset = Сброс списка имен - -#doors_chest.lua -Protected Wooden Door = Защищенная яблоневая дверь -Protected Steel Door = Защищенная стальная дверь -Protected Trapdoor = Защищенный яблоневый люк -Protected Steel Trapdoor = Защищенный стальной люк -Protected Chest = Защищенный сундук -@1 moves stuff to protected chest at @2 = @1 перемещает вещи в защищенный сундук на координатах @2 -@1 takes stuff from protected chest at @2 = @1 берет вещи из защищенного сундука на координатах @2 -To Chest = В сундук -To Inventory = В инвентрарь -Protected Chest (@1) = Защищенный сундук (@1) - -#init.lua --- Protector interface -- = -PUNCH node to show protected area = СТУКНУТЬ узел для подсведки защищенной территории -USE for area check = ЛКМ для проверки защищенной территории -Members: = Участники: -Close = Закрыть -This area is owned by @1! = Эта территория пренадлежит @1! -This area is owned by @1. = Эта территория пренадлежит @1. -Protection located at: @1 = Защита находится на координатах @1 -Members: @1. = Участники: @1. -This area is not protected. = Территория свободна. -You can build here. = Здесь можно ставить блоки. -Overlaps into above players protected area = Защитный блок не может быть установлен: пересечение с областями, защищенными другими игроками -Protection Block = Защитный блок -Protection (owned by @1) = Защита игрока @1 -Protection Logo = Защитный знак -[MOD] Protector Redo loaded = [МОДИФИКАЦИЯ] Модификация "Переделанная Защита" загружена - -#pvp.lua -[Protector] on_punchplayer called with nil objects = [Защита] on_punchplayer вызвана с нулевыми объектами -[Protector] pvp_protect not active, update your version of Minetest = [Защита] pvp_protect не активен, обновите версию Minetest -[Protector] pvp_protect is disabled = [Защита] pvp_protect отключен diff --git a/locale/template.pot b/locale/template.pot new file mode 100644 index 0000000..f8e095b --- /dev/null +++ b/locale/template.pot @@ -0,0 +1,191 @@ +# Template for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# Xanthin , 2016. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "" + +#: admin.lua +msgid " " +msgstr "" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "" + +#: admin.lua +msgid "Name List Reset" +msgstr "" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "" + +#: doors_chest.lua +msgid "@1 moves stuff inside protected chest at @2" +msgstr "" + +#: doors_chest.lua +msgid "To Chest" +msgstr "" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "" + +#: init.lua +msgid "-- Protector interface --" +msgstr "" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "" + +#: init.lua +msgid "USE for area check" +msgstr "" + +#: init.lua +msgid "Members:" +msgstr "" + +#: init.lua +msgid "Close" +msgstr "" + +#: init.lua +msgid "Protection located at: @1" +msgstr "" + +#: init.lua +msgid "Members: @1." +msgstr "" + +#: init.lua +msgid "This area is not protected." +msgstr "" + +#: init.lua +msgid "You can build here." +msgstr "" + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "" + +#: init.lua +msgid "Protection Block" +msgstr "" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "" + +#: init.lua +msgid "Protection Logo" +msgstr "" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "" + +#: init.lua +msgid "This area is owned by @1" +msgstr "" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "" + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "" + +#: hud.lua +msgid "Owner: @1" +msgstr "" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" + +#: tool.lua +msgid "Protector already in place!" +msgstr "" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "" diff --git a/locale/template.txt b/locale/template.txt deleted file mode 100644 index bd277e4..0000000 --- a/locale/template.txt +++ /dev/null @@ -1,42 +0,0 @@ -# Template for translations of protector mod -# last update: 2016/June/5 - -#admin.lua -Remove Protectors near players with names provided (separate names with spaces) = -Protector Names to remove: @1 = -Name List Reset = - -#doors_chest.lua -Protected Wooden Door = -Protected Steel Door = -Protected Trapdoor = -Protected Steel Trapdoor = -Protected Chest = -@1 moves stuff to protected chest at @2 = -@1 takes stuff from protected chest at @2 = -To Chest = -To Inventory = -Protected Chest (@1) = - -#init.lua --- Protector interface -- = -PUNCH node to show protected area = -USE for area check = -Members: = -Close = -This area is owned by @1! = -This area is owned by @1. = -Protection located at: @1 = -Members: @1. = -This area is not protected. = -You can build here. = -Overlaps into above players protected area = -Protection Block = -Protection (owned by @1) = -Protection Logo = -[MOD] Protector Redo loaded = - -#pvp.lua -[Protector] on_punchplayer called with nil objects = -[Protector] pvp_protect not active, update your version of Minetest = -[Protector] pvp_protect is disabled = \ No newline at end of file diff --git a/locale/tr.po b/locale/tr.po new file mode 100644 index 0000000..d77f9c0 --- /dev/null +++ b/locale/tr.po @@ -0,0 +1,195 @@ +# Turkish translation for PROTECTOR MOD. +# Copyright (C) 2018 TenPlus1 +# This file is distributed under the same license as the PROTECTOR MOD package. +# mahmutelmas06, 2016. +# CodeXP , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PROTECTOR MOD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-07-10 17:33+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: CodeXP \n" +"Language-Team: \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.lua +#, fuzzy +msgid "Remove Protectors around players (separate names with spaces)" +msgstr "" +"Ismi verilen oyuncuların yanındaki korumaları kaldır. (İsimleri boşlukla " +"ayır)" + +#: admin.lua +msgid "" +msgstr "" + +#: admin.lua +msgid "Replace Protector Owner with name provided" +msgstr "" + +#: admin.lua +msgid " " +msgstr "" + +#: admin.lua +msgid "Replacing Protector name '@1' with '@2'" +msgstr "" + +#: admin.lua +msgid "Show protected areas of your nearby protectors" +msgstr "" + +#: admin.lua +msgid "Protector Names to remove: @1" +msgstr "Silinecek korumaların isimleri: @1" + +#: admin.lua +msgid "Name List Reset" +msgstr "İsim listesini sıfırla" + +#: doors_chest.lua +msgid "Protected Wooden Door" +msgstr "Korumalı ahşap kapı" + +#: doors_chest.lua +msgid "Protected Steel Door" +msgstr "Korumalı çelik kapı" + +#: doors_chest.lua +msgid "Protected Trapdoor" +msgstr "Korumalı tuzak kapısı" + +#: doors_chest.lua +msgid "Protected Steel Trapdoor" +msgstr "Korumalı çelik tuzak kapısı" + +#: doors_chest.lua +msgid "Protected Chest" +msgstr "Korumalı sandık" + +#: doors_chest.lua +msgid "@1 moves stuff to protected chest at @2" +msgstr "@1 korumalı sandığa birşeyler koydu @2" + +#: doors_chest.lua +msgid "@1 takes stuff from protected chest at @2" +msgstr "@1 korumalı sandıktan birşeyler aldı @2" + +#: doors_chest.lua +#, fuzzy +msgid "@1 moves stuff inside protected chest at @2" +msgstr "@1 korumalı sandığa içinde bir şeyler taşındı @2" + +#: doors_chest.lua +msgid "To Chest" +msgstr "Sandığa" + +#: doors_chest.lua +msgid "To Inventory" +msgstr "Envantere" + +#: doors_chest.lua +msgid "Protected Chest (@1)" +msgstr "Korumalı sandık (@1)" + +#: init.lua +msgid "-- Protector interface --" +msgstr "" + +#: init.lua +msgid "PUNCH node to show protected area" +msgstr "Korunan alanı göstermek için yumruk" + +#: init.lua +msgid "USE for area check" +msgstr "Bölge kontrolü için kullan" + +#: init.lua +msgid "Members:" +msgstr "Üyeler" + +#: init.lua +msgid "Close" +msgstr "Kapat" + +#: init.lua +msgid "Protection located at: @1" +msgstr "Korumanın bulunduğu yer @1" + +#: init.lua +msgid "Members: @1." +msgstr "Üyeler @1." + +#: init.lua +msgid "This area is not protected." +msgstr "Bu alan korumalı değildir." + +#: init.lua +msgid "You can build here." +msgstr "Buraya inşaa edebilirsiniz." + +#: init.lua tool.lua +msgid "Overlaps into above players protected area" +msgstr "" + +#: init.lua +msgid "Protection Block" +msgstr "Koruma kutusu" + +#: admin.lua init.lua tool.lua +msgid "Protection (owned by @1)" +msgstr "Koruma (@1 sahibidir)" + +#: init.lua +msgid "Protection Logo" +msgstr "Koruma arması" + +#: init.lua +msgid "[MOD] Protector Redo loaded" +msgstr "[MOD] Protector Redo yüklendi" + +#: init.lua +msgid "Spawn @1 has been protected up to a @2 block radius." +msgstr "" + +#: init.lua +msgid "This area is owned by @1" +msgstr "Burasının sahibi @1!" + +#: pvp.lua +msgid "[Protector] on_punchplayer called with nil objects" +msgstr "[Protector] on_punchplayer boş objelerle çağrıldı" + +#: pvp.lua +msgid "[Protector] pvp_protect not active, update your version of Minetest" +msgstr "[Protector] pvp_protect aktif değil, Minetest sürümünüzü güncelleyin." + +#: pvp.lua +msgid "[Protector] pvp_protect is disabled" +msgstr "[Protector] pvp_protect kapatıldı." + +#: hud.lua +msgid "Owner: @1" +msgstr "" + +#: tool.lua +msgid "Protector Placer Tool (stand near protector, face direction and use)" +msgstr "" + +#: tool.lua +msgid "Protector already in place!" +msgstr "" + +#: tool.lua +msgid "No protectors available to place!" +msgstr "" + +#: tool.lua +msgid "Protector placed at @1" +msgstr "Korumanın bulunduğu yer @1" diff --git a/locale/tr.txt b/locale/tr.txt deleted file mode 100644 index 9c3629e..0000000 --- a/locale/tr.txt +++ /dev/null @@ -1,42 +0,0 @@ -# Turkish translation by mahmutelmas06 -# last update: 2016/June/5 - -#admin.lua -Remove Protectors near players with names provided (separate names with spaces) = Ismi verilen oyuncuların yanındaki korumaları kaldır. ( İsimleri boşlukla ayır) -Protector Names to remove: @1 = Silinecek korumaların isimleri: @1 -Name List Reset = İsim listesini sıfırla - -#doors_chest.lua -Protected Wooden Door = Korumalı ahşap kapı -Protected Steel Door = Korumalı çelik kapı -Protected Trapdoor = Korumalı tuzak kapısı -Protected Steel Trapdoor = Korumalı çelik tuzak kapısı -Protected Chest = Korumalı sandık -@1 moves stuff to protected chest at @2 = @1 korumalı sandığa birşeyler koydu @2 -@1 takes stuff from protected chest at @2 = @1 korumalı sandıktan birşeyler aldı @2 -To Chest = Sandığa -To Inventory = Envantere -Protected Chest (@1) = Korumalı sandık (@1) - -#init.lua --- Protector interface -- = -PUNCH node to show protected area = Korunan alanı göstermek için yumruk -USE for area check = Bölge kontrolü için kullan -Members: = Üyeler -Close = Kapat -This area is owned by @1! = Burasının sahibi @1! -This area is owned by @1. = Burasının sahibi @1. -Protection located at: @1 = Korumanın bulunduğu yer @1 -Members: @1. = Üyeler @1. -This area is not protected. = Bu alan korumalı değildir. -You can build here. = Buraya inşaa edebilirsiniz. -Overlaps into above players protected area = -Protection Block = Koruma kutusu -Protection (owned by @1) = Koruma (@1 sahibidir) -Protection Logo = Koruma arması -[MOD] Protector Redo loaded = [MOD] Protector Redo yüklendi - -#pvp.lua -[Protector] on_punchplayer called with nil objects = [Protector] on_punchplayer boş objelerle çağrıldı -[Protector] pvp_protect not active, update your version of Minetest = [Protector] pvp_protect aktif değil, Minetest sürümünüzü güncelleyin. -[Protector] pvp_protect is disabled = [Protector] pvp_protect kapatıldı.