Support Intlib added.
parent
6f176ff2c5
commit
14ddde689e
|
@ -1 +1,3 @@
|
||||||
|
intllib?
|
||||||
unified_inventory?
|
unified_inventory?
|
||||||
|
|
||||||
|
|
141
init.lua
141
init.lua
|
@ -1,6 +1,9 @@
|
||||||
poi_namefilter = {}
|
poi_namefilter = {}
|
||||||
poi_categories = {}
|
poi_categories = {}
|
||||||
|
|
||||||
|
-- Load support for intllib.
|
||||||
|
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||||
|
local S, NS = dofile(MP.."/intllib.lua")
|
||||||
|
|
||||||
dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/namefilter.lua") -- avoid servercrash loop if someone decided to rename the modfolder !
|
dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/namefilter.lua") -- avoid servercrash loop if someone decided to rename the modfolder !
|
||||||
dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/categories.lua")
|
dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/categories.lua")
|
||||||
|
@ -31,7 +34,7 @@ local drop_down = 0
|
||||||
local catlist = ""
|
local catlist = ""
|
||||||
|
|
||||||
|
|
||||||
minetest.register_privilege("poi", "Player may set and manage Points of Interest.")
|
minetest.register_privilege("poi", S("Player may set and manage Points of Interest."))
|
||||||
|
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
|
@ -68,7 +71,7 @@ function poi.list_filter(name)
|
||||||
end -- for key, value
|
end -- for key, value
|
||||||
|
|
||||||
poi.print(name, list, orange)
|
poi.print(name, list, orange)
|
||||||
poi.print(name, index .. " Filter in List.", green)
|
poi.print(name, index .. S(" Filter in List."), green)
|
||||||
|
|
||||||
end -- poi.list_filter()
|
end -- poi.list_filter()
|
||||||
|
|
||||||
|
@ -83,7 +86,7 @@ function poi.list_categories(name)
|
||||||
end -- for key,value
|
end -- for key,value
|
||||||
|
|
||||||
poi.print(name, list, orange) -- Send List to Player
|
poi.print(name, list, orange) -- Send List to Player
|
||||||
poi.print(name, index .. " Categories in List.", green) -- Send List to Player
|
poi.print(name, index .. S(" Categories in List."), green) -- Send List to Player
|
||||||
|
|
||||||
end -- poi.list_categories()
|
end -- poi.list_categories()
|
||||||
|
|
||||||
|
@ -127,10 +130,10 @@ function poi.list(name, option)
|
||||||
end
|
end
|
||||||
|
|
||||||
if (idx > 0) then
|
if (idx > 0) then
|
||||||
poi.print(name, "Point's of Interest in Categorie " .. poi.get_categoriename(idx) .. " are:", green)
|
poi.print(name, S("Point's of Interest in Categorie ") .. poi.get_categoriename(idx) .. S(" are:"), green)
|
||||||
|
|
||||||
else
|
else
|
||||||
poi.print(name, poi.count() .. " Point's of Interest are:", green)
|
poi.print(name, poi.count() .. S(" Point's of Interest are:"), green)
|
||||||
|
|
||||||
end -- if(idx > 0)
|
end -- if(idx > 0)
|
||||||
|
|
||||||
|
@ -150,7 +153,7 @@ function poi.list(name, option)
|
||||||
|
|
||||||
else -- if(idx > 0)
|
else -- if(idx > 0)
|
||||||
if all then
|
if all then
|
||||||
list = list .. key .. ": " .. pos .. " Categorie: " .. poi.get_categoriename(cat) .. "\n"
|
list = list .. key .. ": " .. pos .. S(" Categorie: ") .. poi.get_categoriename(cat) .. "\n"
|
||||||
|
|
||||||
else
|
else
|
||||||
list = list .. key .. "\n"
|
list = list .. key .. "\n"
|
||||||
|
@ -182,7 +185,7 @@ function poi.set(name, poi_name)
|
||||||
if poi.exist(p_name) then -- Ups, Name exists
|
if poi.exist(p_name) then -- Ups, Name exists
|
||||||
if(poi.get_categorie(p_name) ~= categorie) then -- ok, we want to change the Categorie
|
if(poi.get_categorie(p_name) ~= categorie) then -- ok, we want to change the Categorie
|
||||||
if(categorie == -1) then -- Invalid Categoriename?
|
if(categorie == -1) then -- Invalid Categoriename?
|
||||||
poi.print(name, "Given Categorie don't exists.", red)
|
poi.print(name, S("Given Categorie don't exists."), red)
|
||||||
return false
|
return false
|
||||||
|
|
||||||
end -- if(poi.get_categoriename())
|
end -- if(poi.get_categoriename())
|
||||||
|
@ -191,13 +194,13 @@ function poi.set(name, poi_name)
|
||||||
local pos, cat
|
local pos, cat
|
||||||
pos, cat = poi.split_pos_cat(poi.points[p_name])
|
pos, cat = poi.split_pos_cat(poi.points[p_name])
|
||||||
poi.points[p_name] = pos .. "{" .. tonumber(categorie) .. "}" -- Changes the Entry
|
poi.points[p_name] = pos .. "{" .. tonumber(categorie) .. "}" -- Changes the Entry
|
||||||
poi.print(name, name .. " has changed the POI: " .. p_name .. " at " .. pos .. " Categorie: " .. poi.get_categoriename(cat) .. " to Categorie: " .. poi.get_categoriename(categorie) .. "\n", log)
|
poi.print(name, name .. S(" has changed the POI: ") .. p_name .. S(" at ") .. pos .. S(" Categorie: ") .. poi.get_categoriename(cat) .. S(" to Categorie: ") .. poi.get_categoriename(categorie) .. "\n", log)
|
||||||
poi.print(name, "POI: " .. p_name .. " at " .. pos .." in Categorie: " .. poi.get_categoriename(cat) .." changed to Categorie: " .. poi.get_categoriename(categorie), green)
|
poi.print(name, "POI: " .. p_name .. S(" at ") .. pos .. S(" in Categorie: ") .. poi.get_categoriename(cat) .. S(" changed to Categorie: ") .. poi.get_categoriename(categorie), green)
|
||||||
poi.save()
|
poi.save()
|
||||||
return true
|
return true
|
||||||
|
|
||||||
else
|
else
|
||||||
poi.print(name, "PoI <" .. p_name .. "> in Categorie <" .. categorie .. " - " .. poi.get_categoriename(categorie) .. "> already exists.", red)
|
poi.print(name, "PoI <" .. p_name .. S("> in Categorie <") .. categorie .. " - " .. poi.get_categoriename(categorie) .. S("> already exists."), red)
|
||||||
return false -- Name exists, leave function
|
return false -- Name exists, leave function
|
||||||
|
|
||||||
end -- if(poi.get_categorie)
|
end -- if(poi.get_categorie)
|
||||||
|
@ -206,21 +209,21 @@ function poi.set(name, poi_name)
|
||||||
|
|
||||||
if not poi.check_name(p_name) then
|
if not poi.check_name(p_name) then
|
||||||
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
||||||
poi.print(name, "Invalid or Forbidden Name <" .. p_name .. "> for PoI.", red)
|
poi.print(name, S("Invalid or Forbidden Name <") .. p_name .. S("> for PoI."), red)
|
||||||
return false
|
return false
|
||||||
|
|
||||||
end -- if poi.check_name
|
end -- if poi.check_name
|
||||||
|
|
||||||
if(categorie == -1) then -- Checks invalid Categoriename, then set it on new Entry to 1
|
if(categorie == -1) then -- Checks invalid Categoriename, then set it on new Entry to 1
|
||||||
poi.print(name, "Warning: Unkown Categorie, set to Categorie 1.", red)
|
poi.print(name, S("Warning: Unkown Categorie, set to Categorie 1."), red)
|
||||||
categorie = 1
|
categorie = 1
|
||||||
end
|
end
|
||||||
|
|
||||||
poi.points[p_name] = minetest.pos_to_string(currpos) .. "{" .. tonumber(categorie) .. "}"-- Insert the new Entry
|
poi.points[p_name] = minetest.pos_to_string(currpos) .. "{" .. tonumber(categorie) .. "}"-- Insert the new Entry
|
||||||
poi.save() -- and write the new List
|
poi.save() -- and write the new List
|
||||||
|
|
||||||
poi.print(name, name .. " has set the POI: " .. p_name .. " at " .. minetest.pos_to_string(currpos) .. " Categorie: {" .. poi.get_categoriename(categorie) .. "}\n", log)
|
poi.print(name, name .. S(" has set the POI: ") .. p_name .. S(" at ") .. minetest.pos_to_string(currpos) .. S(" Categorie: ") .. "{" .. poi.get_categoriename(categorie) .. "}\n", log)
|
||||||
poi.print(name, "POI: " .. p_name .. " at " .. minetest.pos_to_string(currpos) .." in Categorie: " .. poi.get_categoriename(categorie) .." stored.", green)
|
poi.print(name, "POI: " .. p_name .. S(" at ") .. minetest.pos_to_string(currpos) .. S(" in Categorie: ") .. poi.get_categoriename(categorie) .. S(" stored."), green)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
end -- poi.set()
|
end -- poi.set()
|
||||||
|
@ -230,7 +233,7 @@ function poi.delete(name, poi_name)
|
||||||
|
|
||||||
if(poi_name == nil or poi_name == "") then -- No PoI-Name given ..
|
if(poi_name == nil or poi_name == "") then -- No PoI-Name given ..
|
||||||
|
|
||||||
poi.print(name, "Name of the PoI needed.", red)
|
poi.print(name, S("Name of the PoI needed."), red)
|
||||||
return false -- can't delete a non-existing Entry, leave function
|
return false -- can't delete a non-existing Entry, leave function
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -238,7 +241,7 @@ function poi.delete(name, poi_name)
|
||||||
if poi.exist(poi_name) == false then
|
if poi.exist(poi_name) == false then
|
||||||
|
|
||||||
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
||||||
poi.print(name, "PoI <" .. poi_name .. "> unknown to delete.", red)
|
poi.print(name, "PoI <" .. poi_name .. S("> unknown to delete."), red)
|
||||||
return false -- can't delete a non-existing Entry, leave function
|
return false -- can't delete a non-existing Entry, leave function
|
||||||
|
|
||||||
end -- if poi.exist
|
end -- if poi.exist
|
||||||
|
@ -248,8 +251,8 @@ function poi.delete(name, poi_name)
|
||||||
list = poi_name .. ": " .. poi.points[poi_name] -- Get the full Name of the PoI and save it in a temporary var
|
list = poi_name .. ": " .. poi.points[poi_name] -- Get the full Name of the PoI and save it in a temporary var
|
||||||
poi.points[poi_name] = nil -- and delete it
|
poi.points[poi_name] = nil -- and delete it
|
||||||
|
|
||||||
poi.print(name, name .. " has deleted POI-Name: " .. list .. "\n", log)
|
poi.print(name, name .. S(" has deleted POI-Name: ") .. list .. "\n", log)
|
||||||
poi.print(name, list .. " deleted.", red)
|
poi.print(name, list .. S(" deleted."), red)
|
||||||
poi.save() -- Write the new list at the server
|
poi.save() -- Write the new list at the server
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
@ -261,7 +264,7 @@ function poi.reload(name)
|
||||||
poi.points = nil -- Deletes the List of PoI's
|
poi.points = nil -- Deletes the List of PoI's
|
||||||
poi.openlist() -- and Load it new
|
poi.openlist() -- and Load it new
|
||||||
|
|
||||||
poi.print(name, "POI-List reloaded.", red)
|
poi.print(name, S("POI-List reloaded."), red)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
end -- poi.reload()
|
end -- poi.reload()
|
||||||
|
@ -271,7 +274,7 @@ function poi.jump(name, poi_name)
|
||||||
|
|
||||||
if (poi.exist(poi_name) == false) then -- Unknown or not existing Point of Interest
|
if (poi.exist(poi_name) == false) then -- Unknown or not existing Point of Interest
|
||||||
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
||||||
poi.print(name, "Unknown Point of Interest: " .. poi_name .. ".", red)
|
poi.print(name, S("Unknown Point of Interest: ") .. poi_name .. ".", red)
|
||||||
return false -- POI not in List, leave function
|
return false -- POI not in List, leave function
|
||||||
|
|
||||||
end -- if poi.exist
|
end -- if poi.exist
|
||||||
|
@ -284,7 +287,7 @@ function poi.jump(name, poi_name)
|
||||||
|
|
||||||
poi.play_soundeffect(name, "teleport") -- Play's a Sound
|
poi.play_soundeffect(name, "teleport") -- Play's a Sound
|
||||||
player:setpos(minetest.string_to_pos(Position)) -- Move Player to Point
|
player:setpos(minetest.string_to_pos(Position)) -- Move Player to Point
|
||||||
poi.print(name, "You are moved to POI: " .. poi_name .. ".", green)
|
poi.print(name, S("You are moved to POI: ") .. poi_name .. ".", green)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
end -- poi.jump()
|
end -- poi.jump()
|
||||||
|
@ -346,36 +349,36 @@ function poi.gui(player_name, showup, main)
|
||||||
end -- for key,value
|
end -- for key,value
|
||||||
|
|
||||||
if minetest.get_player_privs(player_name).poi then
|
if minetest.get_player_privs(player_name).poi then
|
||||||
manageme = "button[5,6.5;2,1;poimanager;Manage_PoI]"
|
manageme = "button[5,6.5;2,1;poimanager;" .. S("Manage_PoI]")
|
||||||
end
|
end
|
||||||
|
|
||||||
if main then
|
if main then
|
||||||
minetest.show_formspec(player_name,"minetest_poi:thegui", -- The main gui for everyone with interact
|
minetest.show_formspec(player_name,"minetest_poi:thegui", -- The main gui for everyone with interact
|
||||||
"size[7,8]" ..
|
"size[7,8]" ..
|
||||||
"label[0.4,0;> Doubleclick on destination to teleport <]"..
|
"label[0.4,0;> ".. S("Doubleclick on destination to teleport") .. " <]"..
|
||||||
--showcat..
|
--showcat..
|
||||||
"textlist[0.4,1;3,5;name;"..list..";selected_idx;false]"..
|
"textlist[0.4,1;3,5;name;"..list..";selected_idx;false]"..
|
||||||
"label[0.6,6;".. count .. " Points in List]"..
|
"label[0.6,6;".. count .. S(" Points in List]") ..
|
||||||
"label[4.3,0.5; Categories ]"..
|
"label[4.3,0.5; ".. S("Categories ]") ..
|
||||||
"dropdown[4,1;2,1;dname;"..catlist..";"..drop_down.."]"..
|
"dropdown[4,1;2,1;dname;"..catlist..";"..drop_down.."]"..
|
||||||
"button[0.4,6.5;1,1;poitelme;Go]"..
|
"button[0.4,6.5;1,1;poitelme;".. S("Go]") ..
|
||||||
"button[1.4,6.5;2,1;poishowall;ShowAll]"..manageme..
|
"button[1.4,6.5;2,1;poishowall;" .. S("ShowAll]") ..manageme..
|
||||||
"button_exit[0.4,7.4;3.4,1;poiexit;Quit]"
|
"button_exit[0.4,7.4;3.4,1;poiexit;" .. S("Quit]")
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
minetest.show_formspec(player_name,"minetest_poi:manager", -- The management gui for people with poi priv
|
minetest.show_formspec(player_name,"minetest_poi:manager", -- The management gui for people with poi priv
|
||||||
"size[7,9]" ..
|
"size[7,9]" ..
|
||||||
"textlist[0.4,0;3,5;maname;"..list..";"..choosen_name..";false]"..
|
"textlist[0.4,0;3,5;maname;"..list..";"..choosen_name..";false]"..
|
||||||
"textlist[4,0;2,2;madname;"..catlist..";"..selected_category..";false]"..
|
"textlist[4,0;2,2;madname;"..catlist..";"..selected_category..";false]"..
|
||||||
"button[4,2.5;2,1;reload;Reload]"..
|
"button[4,2.5;2,1;reload;" .. S("Reload") .. "]" ..
|
||||||
"button[4,3.5;2,1;validate;Validate]"..
|
"button[4,3.5;2,1;validate;" .. S("Validate") .. "]"..
|
||||||
"field[0.3,5.4;7,1;managename; - enter name -;"..selected_point.."]"..
|
"field[0.3,5.4;7,1;managename; - enter name -;"..selected_point.."]"..
|
||||||
"button[0.4,6;6,1;set;Set Point or change Categorie]"..
|
"button[0.4,6;6,1;set;" .. S("Set Point or change Categorie") .. "]"..
|
||||||
"button[0.4,7;2,1;rename;Rename]"..
|
"button[0.4,7;2,1;rename;" .. S("Rename") .. "]"..
|
||||||
"button[2.4,7;2,1;move;Move]"..
|
"button[2.4,7;2,1;move;" .. S("Move") .. "]"..
|
||||||
"image_button[5.4,7;1,1;minetest_poi_deleteme.png;delete;]"..
|
"image_button[5.4,7;1,1;minetest_poi_deleteme.png;delete;]"..
|
||||||
"button_exit[0.4,8;3,1;doexit;Quit]"..
|
"button_exit[0.4,8;3,1;doexit;" .. S("Quit") .. "]"..
|
||||||
"button[3.4,8;3,1;goback;Back]"
|
"button[3.4,8;3,1;goback;" .. S("Back") .. "]"
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end -- poi.gui()
|
end -- poi.gui()
|
||||||
|
@ -468,7 +471,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
poi.delete(player:get_player_name(),selected_point)
|
poi.delete(player:get_player_name(),selected_point)
|
||||||
poi.gui(player:get_player_name(), nil, false)
|
poi.gui(player:get_player_name(), nil, false)
|
||||||
else
|
else
|
||||||
poi.print(player:get_player_name()," >>> Sorry this button is for admin only, please use /poi_delete "..selected_point,red)
|
poi.print(player:get_player_name(),S(" >>> Sorry this button is for admin only, please use /poi_delete ")..selected_point,red)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -524,7 +527,7 @@ function poi.move(name, poi_name)
|
||||||
|
|
||||||
if (poi.exist(poi_name) == false) then
|
if (poi.exist(poi_name) == false) then
|
||||||
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
poi_name = poi.convertnil(poi_name) -- convert possible NIL
|
||||||
poi.print(name, "Unknown PoI <" .. poi_name .. ">.", red)
|
poi.print(name, S("Unknown PoI <") .. poi_name .. ">.", red)
|
||||||
return false
|
return false
|
||||||
|
|
||||||
end -- if poi.exist
|
end -- if poi.exist
|
||||||
|
@ -537,8 +540,8 @@ function poi.move(name, poi_name)
|
||||||
poi.points[poi_name] = minetest.pos_to_string(currpos) .. "{" .. tonumber(cat) .. "}" -- Write the Position new
|
poi.points[poi_name] = minetest.pos_to_string(currpos) .. "{" .. tonumber(cat) .. "}" -- Write the Position new
|
||||||
poi.save() -- and write the List
|
poi.save() -- and write the List
|
||||||
|
|
||||||
poi.print(name, name .. " has moved the POI: " .. poi_name .. " at " .. oldpos .. " to Position: " .. minetest.pos_to_string(currpos) .. "\n", log)
|
poi.print(name, name .. S(" has moved the POI: ") .. poi_name .. S(" at ") .. oldpos .. S(" to Position: ") .. minetest.pos_to_string(currpos) .. "\n", log)
|
||||||
poi.print(name, "POI: " .. poi_name .. " at " .. oldpos .." moved to Position: " .. minetest.pos_to_string(currpos) .."\n", green)
|
poi.print(name, "POI: " .. poi_name .. S(" at ") .. oldpos .. S(" moved to Position: ") .. minetest.pos_to_string(currpos) .."\n", green)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
end -- poi.move
|
end -- poi.move
|
||||||
|
@ -548,26 +551,26 @@ function poi.rename(name, poi_name)
|
||||||
local oldname, newname
|
local oldname, newname
|
||||||
|
|
||||||
if string.find(poi_name, ",") == nil then
|
if string.find(poi_name, ",") == nil then
|
||||||
poi.print(name, "/poi_rename: No new Name for Point given.\n", red)
|
poi.print(name, S("/poi_rename: No new Name for Point given.") .. "\n", red)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
oldname = poi.trim(string.sub(poi_name,1, string.find(poi_name, ",")-1))
|
oldname = poi.trim(string.sub(poi_name,1, string.find(poi_name, ",")-1))
|
||||||
|
|
||||||
if not poi.exist(oldname) then
|
if not poi.exist(oldname) then
|
||||||
poi.print(name, "Point to rename not found.\n", red)
|
poi.print(name, S("Point to rename not found.") .. "\n", red)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
newname = poi.trim(string.sub(poi_name, string.find(poi_name, ",") + 1, -1))
|
newname = poi.trim(string.sub(poi_name, string.find(poi_name, ",") + 1, -1))
|
||||||
|
|
||||||
if not poi.check_name(newname) then
|
if not poi.check_name(newname) then
|
||||||
poi.print(name, "Invalid new Pointname.\n", red)
|
poi.print(name, S("Invalid new Pointname.") .. "\n", red)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
if poi.exist(newname) then
|
if poi.exist(newname) then
|
||||||
poi.print(name, "New Pointname already exists.\n", red)
|
poi.print(name, S("New Pointname already exists.") .. "\n", red)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -578,8 +581,8 @@ function poi.rename(name, poi_name)
|
||||||
poi.points[oldname] = nil -- now deletes the old one
|
poi.points[oldname] = nil -- now deletes the old one
|
||||||
poi.save() -- saves the List
|
poi.save() -- saves the List
|
||||||
|
|
||||||
poi.print(name, name .. " has renamed POI-Name: " .. oldname .. " to: " .. newname .. " - Position: " .. old_position .. "\n", log)
|
poi.print(name, name .. S(" has renamed POI-Name: ") .. oldname .. S(" to: ") .. newname .. S(" - Position: ") .. old_position .. "\n", log)
|
||||||
poi.print(name, "PoI-Name: " .. oldname .. " renamed to " .. newname .. " - Position: " .. old_position .. "\n", green)
|
poi.print(name, S("PoI-Name: ") .. oldname .. S(" renamed to ") .. newname .. S(" - Position: ") .. old_position .. "\n", green)
|
||||||
|
|
||||||
end -- poi.rename()
|
end -- poi.rename()
|
||||||
|
|
||||||
|
@ -644,12 +647,12 @@ function poi.validate(name)
|
||||||
if (count > 0) or (invalid_cat > 0) then
|
if (count > 0) or (invalid_cat > 0) then
|
||||||
poi.print(name, name .. " has deleted with validate " .. count .. " PoI's.\n", log)
|
poi.print(name, name .. " has deleted with validate " .. count .. " PoI's.\n", log)
|
||||||
poi.print(name, name .. " has found " .. invalid_cat .. " Entries with an invalid Categorie.\n", log)
|
poi.print(name, name .. " has found " .. invalid_cat .. " Entries with an invalid Categorie.\n", log)
|
||||||
poi.print(name, count .. " invalid PoI's found and deleted.", red)
|
poi.print(name, count .. S(" invalid PoI's found and deleted."), red)
|
||||||
poi.print(name, invalid_cat .. " PoI's with an invalid Categorie found and set to 1.", red)
|
poi.print(name, invalid_cat .. S(" PoI's with an invalid Categorie found and set to 1."), red)
|
||||||
poi.save()
|
poi.save()
|
||||||
|
|
||||||
else
|
else
|
||||||
poi.print(name, "No invalid PoI found.\n", green)
|
poi.print(name, S("No invalid PoI found.") .. "\n", green)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -921,8 +924,8 @@ end -- poi.convertnil()
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_set", {
|
minetest.register_chatcommand("poi_set", {
|
||||||
params = "<poi_name, Categorie[number]>",
|
params = S("<poi_name, Categorie[number]>"),
|
||||||
description = "Set's a Point of Interest or changes the Categorie of an existing Point.",
|
description = S("Set's a Point of Interest or changes the Categorie of an existing Point."),
|
||||||
privs = {poi = true},
|
privs = {poi = true},
|
||||||
func = function(name, poi_name)
|
func = function(name, poi_name)
|
||||||
|
|
||||||
|
@ -933,7 +936,7 @@ minetest.register_chatcommand("poi_set", {
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_gui", {
|
minetest.register_chatcommand("poi_gui", {
|
||||||
params = "",
|
params = "",
|
||||||
description = "Shows PoIs in a GUI.",
|
description = S("Shows PoIs in a GUI."),
|
||||||
privs = {interact = true},
|
privs = {interact = true},
|
||||||
func = function(name)
|
func = function(name)
|
||||||
|
|
||||||
|
@ -942,8 +945,8 @@ minetest.register_chatcommand("poi_gui", {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
minetest.register_chatcommand("poi_list", {
|
minetest.register_chatcommand("poi_list", {
|
||||||
params = "<-a> <-c> <-f> <-i [Categorie[Number]]>",
|
params = S("<-a> <-c> <-f> <-i [Categorie[Number]]>"),
|
||||||
description = "Shows Point's of Interest.\nOption -a shows Point's of Interest with Coordinates.\nOption -c shows you Categories.\nOption -f shows you the Namefilter\nOption -i <Categorie[number]]> shows only the Entries of the given Categorienumber or Name",
|
description = S("Shows Point's of Interest.\nOption -a shows Point's of Interest with Coordinates.\nOption -c shows you Categories.\nOption -f shows you the Namefilter\nOption -i <Categorie[number]]> shows only the Entries of the given Categorienumber or Name"),
|
||||||
privs = {interact = true},
|
privs = {interact = true},
|
||||||
func = function(name, arg)
|
func = function(name, arg)
|
||||||
|
|
||||||
|
@ -953,8 +956,8 @@ minetest.register_chatcommand("poi_list", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_delete", {
|
minetest.register_chatcommand("poi_delete", {
|
||||||
params = "<poi_name>",
|
params = S("<POI-Name>"),
|
||||||
description = "Deletes a Point of Interest.",
|
description = S("Deletes a Point of Interest."),
|
||||||
privs = {poi = true},
|
privs = {poi = true},
|
||||||
func = function(name, poi_name)
|
func = function(name, poi_name)
|
||||||
|
|
||||||
|
@ -965,7 +968,7 @@ minetest.register_chatcommand("poi_delete", {
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_reload", {
|
minetest.register_chatcommand("poi_reload", {
|
||||||
params = "",
|
params = "",
|
||||||
description = "Loads the List of POI's new.",
|
description = S("Loads the List of POI's new."),
|
||||||
privs = {poi = true},
|
privs = {poi = true},
|
||||||
func = function(name)
|
func = function(name)
|
||||||
|
|
||||||
|
@ -976,8 +979,8 @@ minetest.register_chatcommand("poi_reload", {
|
||||||
|
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_jump", {
|
minetest.register_chatcommand("poi_jump", {
|
||||||
params = "<POI-Name>",
|
params = S("<POI-Name>"),
|
||||||
description = "Jumps to the Position of the Point of Interest.",
|
description = S("Jumps to the Position of the Point of Interest."),
|
||||||
privs = {interact = true},
|
privs = {interact = true},
|
||||||
func = function(name, poi_name)
|
func = function(name, poi_name)
|
||||||
|
|
||||||
|
@ -987,8 +990,8 @@ minetest.register_chatcommand("poi_jump", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_move", {
|
minetest.register_chatcommand("poi_move", {
|
||||||
params = "<POI-Name>",
|
params = S("<POI-Name>"),
|
||||||
description = "Changes the Position of the Point of Interest.",
|
description = S("Changes the Position of the Point of Interest."),
|
||||||
privs = {interact = true},
|
privs = {interact = true},
|
||||||
func = function(name, poi_name)
|
func = function(name, poi_name)
|
||||||
|
|
||||||
|
@ -998,8 +1001,8 @@ minetest.register_chatcommand("poi_move", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_rename", {
|
minetest.register_chatcommand("poi_rename", {
|
||||||
params = "<POI Old Name>,<POI New Name>",
|
params = S("<POI Old Name>,<POI New Name>"),
|
||||||
description = "Changes the Name of the Point of Interest.",
|
description = S("Changes the Name of the Point of Interest."),
|
||||||
privs = {interact = true},
|
privs = {interact = true},
|
||||||
func = function(name, poi_name)
|
func = function(name, poi_name)
|
||||||
|
|
||||||
|
@ -1010,7 +1013,7 @@ minetest.register_chatcommand("poi_rename", {
|
||||||
|
|
||||||
minetest.register_chatcommand("poi_validate", {
|
minetest.register_chatcommand("poi_validate", {
|
||||||
params = "",
|
params = "",
|
||||||
description = "Validates the List of PoI's.",
|
description = S("Validates the List of PoI's."),
|
||||||
privs = {poi = true},
|
privs = {poi = true},
|
||||||
func = function(name)
|
func = function(name)
|
||||||
|
|
||||||
|
@ -1025,7 +1028,7 @@ if (minetest.get_modpath("unified_inventory")) then
|
||||||
unified_inventory.register_button("minetest_poi", {
|
unified_inventory.register_button("minetest_poi", {
|
||||||
type = "image",
|
type = "image",
|
||||||
image = "minetest_poi_button_32x32.png",
|
image = "minetest_poi_button_32x32.png",
|
||||||
tooltip = "Show Points of Interest",
|
tooltip = S("Show Points of Interest"),
|
||||||
hide_lite=true,
|
hide_lite=true,
|
||||||
action = function(player)
|
action = function(player)
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
|
@ -1033,7 +1036,7 @@ if (minetest.get_modpath("unified_inventory")) then
|
||||||
if minetest.check_player_privs(player_name, {interact=true}) then
|
if minetest.check_player_privs(player_name, {interact=true}) then
|
||||||
poi.gui(player_name,nil,true)
|
poi.gui(player_name,nil,true)
|
||||||
else
|
else
|
||||||
minetest.chat_send_player(player_name,core.colorize(red, "You need the")..core.colorize(green," interact")..core.colorize(red," priv, please type")..core.colorize(green," /rules")..core.colorize(red," and search for the keyword"))
|
minetest.chat_send_player(player_name,core.colorize(red, S("You need the"))..core.colorize(green, S(" interact"))..core.colorize(red,S(" priv, please type"))..core.colorize(green,S(" /rules"))..core.colorize(red,S(" and search for the keyword")))
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
@ -1049,10 +1052,4 @@ poi.openlist() -- Initalize the List on Start
|
||||||
poi.filter = poi_namefilter
|
poi.filter = poi_namefilter
|
||||||
poi.categories = poi_categories
|
poi.categories = poi_categories
|
||||||
poi.max_categories = poi.count_categories()
|
poi.max_categories = poi.count_categories()
|
||||||
poi.build_cat_list()
|
poi.build_cat_list()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
|
||||||
|
-- Fallback functions for when `intllib` is not installed.
|
||||||
|
-- Code released under Unlicense <http://unlicense.org>.
|
||||||
|
|
||||||
|
-- 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
|
|
@ -0,0 +1,340 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-12-24 03:51+0100\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Player may set and manage Points of Interest."
|
||||||
|
msgstr "Spieler dürfen Sehenswürdigkeiten setzen und verwalten."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Filter in List."
|
||||||
|
msgstr "Filter in Liste."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Categories in List."
|
||||||
|
msgstr "Kategorien in Liste."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Point's of Interest in Categorie "
|
||||||
|
msgstr "Sehenswürdigkeiten in Kategorie "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " are:"
|
||||||
|
msgstr " sind:"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Point's of Interest are:"
|
||||||
|
msgstr " Sehenswürdigkeiten sind:"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Categorie: "
|
||||||
|
msgstr " Kategorie: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Given Categorie don't exists."
|
||||||
|
msgstr "Gegebene Kategorie gibt es nicht."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has changed the POI: "
|
||||||
|
msgstr " veränderte den POI: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " at "
|
||||||
|
msgstr " bei "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " to Categorie: "
|
||||||
|
msgstr " zur Kategorie: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " in Categorie: "
|
||||||
|
msgstr " in der Kategorie: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " changed to Categorie: "
|
||||||
|
msgstr " verändert zur Kategorie: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> in Categorie <"
|
||||||
|
msgstr "> in Kategorie <"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> already exists."
|
||||||
|
msgstr "> gibts es bereits."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Invalid or Forbidden Name <"
|
||||||
|
msgstr " Ungültiger oder verbotener Name <"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> for PoI."
|
||||||
|
msgstr "> für PoI."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Warning: Unkown Categorie, set to Categorie 1."
|
||||||
|
msgstr "Warnung: Unbekannte Kategorie, auf Kategorie 1 gesetzt."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has set the POI: "
|
||||||
|
msgstr " hat den POI gesetzt: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " stored."
|
||||||
|
msgstr " gespeichert."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Name of the PoI needed."
|
||||||
|
msgstr "Namen der Sehenswürdigkeit benötigt."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> unknown to delete."
|
||||||
|
msgstr "> unbekannt um zu löschen."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has deleted POI-Name: "
|
||||||
|
msgstr " löschte POI-Name: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " deleted."
|
||||||
|
msgstr " gelöscht."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "POI-List reloaded."
|
||||||
|
msgstr "POI-Liste neu geladen."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Unknown Point of Interest: "
|
||||||
|
msgstr "Unbekannte Sehenswürdigkeit: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "You are moved to POI: "
|
||||||
|
msgstr "Du wurdest verschoben zur Sehenswürdigkeit: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Manage_PoI]"
|
||||||
|
msgstr "Verwalte PoI"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Points in List]"
|
||||||
|
msgstr " Punkte in Liste]"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Categories ]"
|
||||||
|
msgstr " Kategorien ]"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Go]"
|
||||||
|
msgstr "Los]"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "ShowAll]"
|
||||||
|
msgstr "ZeigeAlles]"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Quit]"
|
||||||
|
msgstr "Ende]"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Doubleclick on destination to teleport"
|
||||||
|
msgstr "Doppelklick auf Ziel zum Teleportieren"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Neu laden"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Validate"
|
||||||
|
msgstr "Überprüfen"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Set Point or change Categorie"
|
||||||
|
msgstr "Erstelle Punkt oder ändere die Kategorie"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Rename"
|
||||||
|
msgstr "Umbenennen"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Move"
|
||||||
|
msgstr "Verschieben"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Quit"
|
||||||
|
msgstr "Ende"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Zurück"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " >>> Sorry this button is for admin only, please use /poi_delete "
|
||||||
|
msgstr " >>> Tut mir leid, dieser Knopf ist nur für Admin, verwende stattdessen bitte /poi_delete "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Unknown PoI <"
|
||||||
|
msgstr "Unbekannter PoI <"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has moved the POI: "
|
||||||
|
msgstr " verschob den POI: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " to Position: "
|
||||||
|
msgstr " auf Position: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " moved to Position: "
|
||||||
|
msgstr " verschoben zu Position: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "/poi_rename: No new Name for Point given."
|
||||||
|
msgstr "/poi_rename: Keinen neuen Namen für Punkt angegeben."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Point to rename not found."
|
||||||
|
msgstr "Punkt zum Umbenennen nicht gefunden."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Invalid new Pointname."
|
||||||
|
msgstr "Ungültiger neuer Punktnamen."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "New Pointname already exists."
|
||||||
|
msgstr "Neuen Punktnamen gibt es bereits."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has renamed POI-Name: "
|
||||||
|
msgstr "hat POI-Name umbenannt: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " to: "
|
||||||
|
msgstr " zu: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " - Position: "
|
||||||
|
msgstr " - Position: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "PoI-Name: "
|
||||||
|
msgstr "PoI-Name: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " renamed to "
|
||||||
|
msgstr " umbenannt zu "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " invalid PoI's found and deleted."
|
||||||
|
msgstr " ungültige PoI's gefunden und gelöscht."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " PoI's with an invalid Categorie found and set to 1."
|
||||||
|
msgstr " PoI's mit ungültiger Kategorie gefunden und auf 1 gesetzt."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "No invalid PoI found."
|
||||||
|
msgstr "Keinen ungültigen PoI gefunden."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<poi_name, Categorie[number]>"
|
||||||
|
msgstr "<poi_name, Kategorie[nummer]>"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid ""
|
||||||
|
"Set's a Point of Interest or changes the Categorie of an existing Point."
|
||||||
|
msgstr ""
|
||||||
|
"Erstellt eine Sehenswürdigkeit oder verändert die Kategorie einer existierenden Sehenswürdigkeit."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Shows PoIs in a GUI."
|
||||||
|
msgstr "Zeigt PoIs in einer GUI"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<-a> <-c> <-f> <-i [Categorie[Number]]>"
|
||||||
|
msgstr "<-a> <-c> <-f> <-i [Kategorie[Nummer]]>"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid ""
|
||||||
|
"Shows Point's of Interest.\n"
|
||||||
|
"Option -a shows Point's of Interest with Coordinates.\n"
|
||||||
|
"Option -c shows you Categories.\n"
|
||||||
|
"Option -f shows you the Namefilter\n"
|
||||||
|
"Option -i <Categorie[number]]> shows only the Entries of the given "
|
||||||
|
"Categorienumber or Name"
|
||||||
|
msgstr ""
|
||||||
|
"Zeigt Sehenswürdigkeiten.\n"
|
||||||
|
"Option -a zeigt Sehenswürdigkeiten mit Koordinaten.\n"
|
||||||
|
"Option -c zeigt dir die Kategorien.\n"
|
||||||
|
"Option -f zeigt dir den Namensfilter\n"
|
||||||
|
"Option -i <Kategorie[nummer]]> zeigt nur die Einträge der gegebenen "
|
||||||
|
"Kategorienummer oder Name"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<POI-Name>"
|
||||||
|
msgstr "<POI-Name>"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Deletes a Point of Interest."
|
||||||
|
msgstr "Löscht eine Sehenswürdigkeit."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Loads the List of POI's new."
|
||||||
|
msgstr "Lädt die Liste der POI's neu."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Jumps to the Position of the Point of Interest."
|
||||||
|
msgstr "Springt zur Position der Sehenswürdigkeit."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Changes the Position of the Point of Interest."
|
||||||
|
msgstr "Verändert die Position der Sehenswürdigkeit."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<POI Old Name>,<POI New Name>"
|
||||||
|
msgstr "<POI alter Name>,<POI neuer Name>"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Changes the Name of the Point of Interest."
|
||||||
|
msgstr "Verändert den Namen der Sehenswürdigkeit."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Validates the List of PoI's."
|
||||||
|
msgstr "Überprüft die Liste der PoI's."
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Show Points of Interest"
|
||||||
|
msgstr "Zeit Sehenswürdigkeiten"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "You need the"
|
||||||
|
msgstr "Du brauchst"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " interact"
|
||||||
|
msgstr " interact"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " priv, please type"
|
||||||
|
msgstr " priv, bitte gib"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " /rules"
|
||||||
|
msgstr " /rules"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " and search for the keyword"
|
||||||
|
msgstr " und suche nach dem Schlüsselwort"
|
|
@ -0,0 +1,333 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2017-12-24 04:05+0100\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Player may set and manage Points of Interest."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Filter in List."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Categories in List."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Point's of Interest in Categorie "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " are:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Point's of Interest are:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Categorie: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Given Categorie don't exists."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has changed the POI: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " at "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " to Categorie: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " in Categorie: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " changed to Categorie: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> in Categorie <"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> already exists."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Invalid or Forbidden Name <"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> for PoI."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Warning: Unkown Categorie, set to Categorie 1."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has set the POI: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " stored."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Name of the PoI needed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "> unknown to delete."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has deleted POI-Name: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "POI-List reloaded."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Unknown Point of Interest: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "You are moved to POI: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Manage_PoI]"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Doubleclick on destination to teleport"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " Points in List]"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Categories ]"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Go]"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "ShowAll]"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Quit]"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Validate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Set Point or change Categorie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Rename"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Move"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Quit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Back"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " >>> Sorry this button is for admin only, please use /poi_delete "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Unknown PoI <"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has moved the POI: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " to Position: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " moved to Position: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "/poi_rename: No new Name for Point given."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Point to rename not found."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Invalid new Pointname."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "New Pointname already exists."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " has renamed POI-Name: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " to: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " - Position: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "PoI-Name: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " renamed to "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " invalid PoI's found and deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " PoI's with an invalid Categorie found and set to 1."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "No invalid PoI found."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<poi_name, Categorie[number]>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid ""
|
||||||
|
"Set's a Point of Interest or changes the Categorie of an existing Point."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Shows PoIs in a GUI."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<-a> <-c> <-f> <-i [Categorie[Number]]>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid ""
|
||||||
|
"Shows Point's of Interest.\n"
|
||||||
|
"Option -a shows Point's of Interest with Coordinates.\n"
|
||||||
|
"Option -c shows you Categories.\n"
|
||||||
|
"Option -f shows you the Namefilter\n"
|
||||||
|
"Option -i <Categorie[number]]> shows only the Entries of the given "
|
||||||
|
"Categorienumber or Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<POI-Name>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Deletes a Point of Interest."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Loads the List of POI's new."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Jumps to the Position of the Point of Interest."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Changes the Position of the Point of Interest."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "<POI Old Name>,<POI New Name>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Changes the Name of the Point of Interest."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Validates the List of PoI's."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Show Points of Interest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "You need the"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " interact"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " priv, please type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " /rules"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " and search for the keyword"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,142 @@
|
||||||
|
#! /usr/bin/env lua
|
||||||
|
|
||||||
|
local me = arg[0]:gsub(".*[/\\](.*)$", "%1")
|
||||||
|
|
||||||
|
local function err(fmt, ...)
|
||||||
|
io.stderr:write(("%s: %s\n"):format(me, fmt:format(...)))
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
local output
|
||||||
|
local inputs = { }
|
||||||
|
local lang
|
||||||
|
local author
|
||||||
|
|
||||||
|
local i = 1
|
||||||
|
|
||||||
|
local function usage()
|
||||||
|
print([[
|
||||||
|
Usage: ]]..me..[[ [OPTIONS] FILE...
|
||||||
|
|
||||||
|
Extract translatable strings from the given FILE(s).
|
||||||
|
|
||||||
|
Available options:
|
||||||
|
-h,--help Show this help screen and exit.
|
||||||
|
-o,--output X Set output file (default: stdout).
|
||||||
|
-a,--author X Set author.
|
||||||
|
-l,--lang X Set language name.
|
||||||
|
]])
|
||||||
|
os.exit(0)
|
||||||
|
end
|
||||||
|
|
||||||
|
while i <= #arg do
|
||||||
|
local a = arg[i]
|
||||||
|
if (a == "-h") or (a == "--help") then
|
||||||
|
usage()
|
||||||
|
elseif (a == "-o") or (a == "--output") then
|
||||||
|
i = i + 1
|
||||||
|
if i > #arg then
|
||||||
|
err("missing required argument to `%s'", a)
|
||||||
|
end
|
||||||
|
output = arg[i]
|
||||||
|
elseif (a == "-a") or (a == "--author") then
|
||||||
|
i = i + 1
|
||||||
|
if i > #arg then
|
||||||
|
err("missing required argument to `%s'", a)
|
||||||
|
end
|
||||||
|
author = arg[i]
|
||||||
|
elseif (a == "-l") or (a == "--lang") then
|
||||||
|
i = i + 1
|
||||||
|
if i > #arg then
|
||||||
|
err("missing required argument to `%s'", a)
|
||||||
|
end
|
||||||
|
lang = arg[i]
|
||||||
|
elseif a:sub(1, 1) ~= "-" then
|
||||||
|
table.insert(inputs, a)
|
||||||
|
else
|
||||||
|
err("unrecognized option `%s'", a)
|
||||||
|
end
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if #inputs == 0 then
|
||||||
|
err("no input files")
|
||||||
|
end
|
||||||
|
|
||||||
|
local outfile = io.stdout
|
||||||
|
|
||||||
|
local function printf(fmt, ...)
|
||||||
|
outfile:write(fmt:format(...))
|
||||||
|
end
|
||||||
|
|
||||||
|
if output then
|
||||||
|
local e
|
||||||
|
outfile, e = io.open(output, "w")
|
||||||
|
if not outfile then
|
||||||
|
err("error opening file for writing: %s", e)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if author or lang then
|
||||||
|
outfile:write("\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
if lang then
|
||||||
|
printf("# Language: %s\n", lang)
|
||||||
|
end
|
||||||
|
|
||||||
|
if author then
|
||||||
|
printf("# Author: %s\n", author)
|
||||||
|
end
|
||||||
|
|
||||||
|
if author or lang then
|
||||||
|
outfile:write("\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
local escapes = {
|
||||||
|
["\n"] = "\\n",
|
||||||
|
["="] = "\\=",
|
||||||
|
["\\"] = "\\\\",
|
||||||
|
}
|
||||||
|
|
||||||
|
local function escape(s)
|
||||||
|
return s:gsub("[\\\n=]", escapes)
|
||||||
|
end
|
||||||
|
|
||||||
|
local messages = { }
|
||||||
|
|
||||||
|
for _, file in ipairs(inputs) do
|
||||||
|
local infile, e = io.open(file, "r")
|
||||||
|
if infile then
|
||||||
|
for line in infile:lines() do
|
||||||
|
for s in line:gmatch('S%("([^"]*)"') do
|
||||||
|
table.insert(messages, s)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
infile:close()
|
||||||
|
else
|
||||||
|
io.stderr:write(("%s: WARNING: error opening file: %s\n"):format(me, e))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
table.sort(messages)
|
||||||
|
|
||||||
|
local last_msg
|
||||||
|
|
||||||
|
for _, msg in ipairs(messages) do
|
||||||
|
if msg ~= last_msg then
|
||||||
|
printf("%s =\n", escape(msg))
|
||||||
|
end
|
||||||
|
last_msg = msg
|
||||||
|
end
|
||||||
|
|
||||||
|
if output then
|
||||||
|
outfile:close()
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[
|
||||||
|
TESTS:
|
||||||
|
S("foo") S("bar")
|
||||||
|
S("bar")
|
||||||
|
S("foo")
|
||||||
|
]]
|
|
@ -0,0 +1,131 @@
|
||||||
|
#! /usr/bin/env lua
|
||||||
|
|
||||||
|
local basedir = ""
|
||||||
|
if arg[0]:find("[/\\]") then
|
||||||
|
basedir = arg[0]:gsub("(.*[/\\]).*$", "%1"):gsub("\\", "/")
|
||||||
|
end
|
||||||
|
if basedir == "" then basedir = "./" end
|
||||||
|
|
||||||
|
-- Required by load_strings()
|
||||||
|
function string.trim(s) -- luacheck: ignore
|
||||||
|
return s:gsub("^%s*(.-)%s*$", "%1")
|
||||||
|
end
|
||||||
|
|
||||||
|
dofile(basedir.."/../lib.lua")
|
||||||
|
|
||||||
|
local me = arg[0]:gsub(".*[/\\](.*)$", "%1")
|
||||||
|
|
||||||
|
local function err(fmt, ...)
|
||||||
|
io.stderr:write(("%s: %s\n"):format(me, fmt:format(...)))
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
local output, outfile, template
|
||||||
|
local catalogs = { }
|
||||||
|
|
||||||
|
local function usage()
|
||||||
|
print([[
|
||||||
|
Usage: ]]..me..[[ [OPTIONS] TEMPLATE CATALOG...
|
||||||
|
|
||||||
|
Update a catalog with new strings from a template.
|
||||||
|
|
||||||
|
Available options:
|
||||||
|
-h,--help Show this help screen and exit.
|
||||||
|
-o,--output X Set output file (default: stdout).
|
||||||
|
|
||||||
|
Messages in the template that are not on the catalog are added to the
|
||||||
|
catalog at the end.
|
||||||
|
|
||||||
|
This tool also checks messages that are in the catalog but not in the
|
||||||
|
template, and reports such lines. It's up to the user to remove such
|
||||||
|
lines, if so desired.
|
||||||
|
]])
|
||||||
|
os.exit(0)
|
||||||
|
end
|
||||||
|
|
||||||
|
local i = 1
|
||||||
|
|
||||||
|
while i <= #arg do
|
||||||
|
local a = arg[i]
|
||||||
|
if (a == "-h") or (a == "--help") then
|
||||||
|
usage()
|
||||||
|
elseif (a == "-o") or (a == "--output") then
|
||||||
|
i = i + 1
|
||||||
|
if i > #arg then
|
||||||
|
err("missing required argument to `%s'", a)
|
||||||
|
end
|
||||||
|
output = arg[i]
|
||||||
|
elseif a:sub(1, 1) ~= "-" then
|
||||||
|
if not template then
|
||||||
|
template = a
|
||||||
|
else
|
||||||
|
table.insert(catalogs, a)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
err("unrecognized option `%s'", a)
|
||||||
|
end
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if not template then
|
||||||
|
err("no template specified")
|
||||||
|
elseif #catalogs == 0 then
|
||||||
|
err("no catalogs specified")
|
||||||
|
end
|
||||||
|
|
||||||
|
local f, e = io.open(template, "r")
|
||||||
|
if not f then
|
||||||
|
err("error opening template: %s", e)
|
||||||
|
end
|
||||||
|
|
||||||
|
local escapes = { ["\n"] = "\\n", ["="] = "\\=", ["\\"] = "\\\\", }
|
||||||
|
local function escape(s)
|
||||||
|
return s:gsub("[\\\n=]", escapes)
|
||||||
|
end
|
||||||
|
|
||||||
|
if output then
|
||||||
|
outfile, e = io.open(output, "w")
|
||||||
|
if not outfile then
|
||||||
|
err("error opening file for writing: %s", e)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local template_msgs = intllib.load_strings(template)
|
||||||
|
|
||||||
|
for _, file in ipairs(catalogs) do
|
||||||
|
print("Processing: "..file)
|
||||||
|
local catalog_msgs = intllib.load_strings(file)
|
||||||
|
local dirty_lines = { }
|
||||||
|
if catalog_msgs then
|
||||||
|
-- Add new entries from template.
|
||||||
|
for k in pairs(template_msgs) do
|
||||||
|
if not catalog_msgs[k] then
|
||||||
|
print("NEW: "..k)
|
||||||
|
table.insert(dirty_lines, escape(k).." =")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- Check for old messages.
|
||||||
|
for k, v in pairs(catalog_msgs) do
|
||||||
|
if not template_msgs[k] then
|
||||||
|
print("OLD: "..k)
|
||||||
|
table.insert(dirty_lines, "OLD: "..escape(k).." = "..escape(v))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if #dirty_lines > 0 then
|
||||||
|
local outf
|
||||||
|
outf, e = io.open(file, "a+")
|
||||||
|
if outf then
|
||||||
|
outf:write("\n")
|
||||||
|
for _, line in ipairs(dirty_lines) do
|
||||||
|
outf:write(line)
|
||||||
|
outf:write("\n")
|
||||||
|
end
|
||||||
|
outf:close()
|
||||||
|
else
|
||||||
|
io.stderr:write(("%s: WARNING: cannot write: %s\n"):format(me, e))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
io.stderr:write(("%s: WARNING: could not load catalog\n"):format(me))
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,33 @@
|
||||||
|
@echo off
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
set me=%~n0
|
||||||
|
|
||||||
|
rem # Uncomment the following line if gettext is not in your PATH.
|
||||||
|
rem # Value must be absolute and end in a backslash.
|
||||||
|
rem set gtprefix=C:\path\to\gettext\bin\
|
||||||
|
|
||||||
|
if "%1" == "" (
|
||||||
|
echo Usage: %me% FILE... 1>&2
|
||||||
|
exit 1
|
||||||
|
)
|
||||||
|
|
||||||
|
set xgettext=%gtprefix%xgettext.exe
|
||||||
|
set msgmerge=%gtprefix%msgmerge.exe
|
||||||
|
|
||||||
|
md locale > nul 2>&1
|
||||||
|
echo Generating template... 1>&2
|
||||||
|
echo %xgettext% --from-code=UTF-8 -kS -kNS:1,2 -k_ -o locale/template.pot %*
|
||||||
|
%xgettext% --from-code=UTF-8 -kS -kNS:1,2 -k_ -o locale/template.pot %*
|
||||||
|
if %ERRORLEVEL% neq 0 goto done
|
||||||
|
|
||||||
|
cd locale
|
||||||
|
|
||||||
|
for %%f in (*.po) do (
|
||||||
|
echo Updating %%f... 1>&2
|
||||||
|
%msgmerge% --update %%f template.pot
|
||||||
|
)
|
||||||
|
|
||||||
|
echo DONE! 1>&2
|
||||||
|
|
||||||
|
:done
|
|
@ -0,0 +1,27 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
me=$(basename "${BASH_SOURCE[0]}");
|
||||||
|
|
||||||
|
if [[ $# -lt 1 ]]; then
|
||||||
|
echo "Usage: $me FILE..." >&2;
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p locale;
|
||||||
|
echo "Generating template..." >&2;
|
||||||
|
xgettext --from-code=UTF-8 \
|
||||||
|
--keyword=S \
|
||||||
|
--keyword=NS:1,2 \
|
||||||
|
--keyword=N_ \
|
||||||
|
--add-comments='Translators:' \
|
||||||
|
--add-location=file \
|
||||||
|
-o locale/template.pot \
|
||||||
|
"$@" \
|
||||||
|
|| exit;
|
||||||
|
|
||||||
|
find locale -name '*.po' -type f | while read -r file; do
|
||||||
|
echo "Updating $file..." >&2;
|
||||||
|
msgmerge --update "$file" locale/template.pot;
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "DONE!" >&2;
|
Loading…
Reference in New Issue