summaryrefslogtreecommitdiff
path: root/unified_inventory
diff options
context:
space:
mode:
Diffstat (limited to 'unified_inventory')
-rw-r--r--unified_inventory/api.lua12
-rw-r--r--unified_inventory/bags.lua24
-rw-r--r--unified_inventory/init.lua25
-rw-r--r--unified_inventory/internal.lua58
-rw-r--r--unified_inventory/intllib.lua45
-rw-r--r--unified_inventory/locale/de.po366
-rw-r--r--unified_inventory/locale/de.txt98
-rw-r--r--unified_inventory/locale/es.po366
-rw-r--r--unified_inventory/locale/es.txt72
-rw-r--r--unified_inventory/locale/fr.po364
-rw-r--r--unified_inventory/locale/fr.txt69
-rw-r--r--unified_inventory/locale/ms.po369
-rw-r--r--unified_inventory/locale/pl.po359
-rw-r--r--unified_inventory/locale/pl.txt68
-rw-r--r--unified_inventory/locale/pt.po366
-rw-r--r--unified_inventory/locale/pt.txt107
-rw-r--r--unified_inventory/locale/ru.po366
-rw-r--r--unified_inventory/locale/ru.txt73
-rw-r--r--unified_inventory/locale/template.pot358
-rw-r--r--unified_inventory/locale/template.txt104
-rw-r--r--unified_inventory/locale/tr.po360
-rw-r--r--unified_inventory/locale/tr.txt69
-rw-r--r--unified_inventory/register.lua60
-rw-r--r--unified_inventory/waypoints.lua30
24 files changed, 3421 insertions, 767 deletions
diff --git a/unified_inventory/api.lua b/unified_inventory/api.lua
index 2b63922..f6afec5 100644
--- a/unified_inventory/api.lua
+++ b/unified_inventory/api.lua
@@ -1,5 +1,5 @@
local S = unified_inventory.gettext
-local F = unified_inventory.fgettext
+local F = minetest.formspec_escape
-- Create detached creative inventory after loading all mods
minetest.after(0.01, function()
@@ -233,7 +233,7 @@ end
unified_inventory.register_craft_type("normal", {
- description = F("Crafting"),
+ description = F(S("Crafting")),
icon = "ui_craftgrid_icon.png",
width = 3,
height = 3,
@@ -249,7 +249,7 @@ unified_inventory.register_craft_type("normal", {
unified_inventory.register_craft_type("shapeless", {
- description = F("Mixing"),
+ description = F(S("Mixing")),
icon = "ui_craftgrid_icon.png",
width = 3,
height = 3,
@@ -264,7 +264,7 @@ unified_inventory.register_craft_type("shapeless", {
unified_inventory.register_craft_type("cooking", {
- description = F("Cooking"),
+ description = F(S("Cooking")),
icon = "default_furnace_front.png",
width = 1,
height = 1,
@@ -272,7 +272,7 @@ unified_inventory.register_craft_type("cooking", {
unified_inventory.register_craft_type("digging", {
- description = F("Digging"),
+ description = F(S("Digging")),
icon = "default_tool_steelpick.png",
width = 1,
height = 1,
@@ -303,6 +303,6 @@ end
function unified_inventory.is_creative(playername)
return minetest.check_player_privs(playername, {creative=true})
- or minetest.setting_getbool("creative_mode")
+ or minetest.settings:get_bool("creative_mode")
end
diff --git a/unified_inventory/bags.lua b/unified_inventory/bags.lua
index e93a317..a946cb0 100644
--- a/unified_inventory/bags.lua
+++ b/unified_inventory/bags.lua
@@ -4,22 +4,22 @@
-- License: GPLv3
local S = unified_inventory.gettext
-local F = unified_inventory.fgettext
+local F = minetest.formspec_escape
unified_inventory.register_page("bags", {
get_formspec = function(player)
local player_name = player:get_player_name()
local formspec = "background[0.06,0.99;7.92,7.52;ui_bags_main_form.png]"
- formspec = formspec.."label[0,0;"..F("Bags").."]"
- formspec = formspec.."button[0,2;2,0.5;bag1;"..F("Bag 1").."]"
- formspec = formspec.."button[2,2;2,0.5;bag2;"..F("Bag 2").."]"
- formspec = formspec.."button[4,2;2,0.5;bag3;"..F("Bag 3").."]"
- formspec = formspec.."button[6,2;2,0.5;bag4;"..F("Bag 4").."]"
+ formspec = formspec.."label[0,0;"..F(S("Bags")).."]"
+ formspec = formspec.."button[0,2;2,0.5;bag1;"..F(S("Bag @1", 1)).."]"
+ formspec = formspec.."button[2,2;2,0.5;bag2;"..F(S("Bag @1", 2)).."]"
+ formspec = formspec.."button[4,2;2,0.5;bag3;"..F(S("Bag @1", 3)).."]"
+ formspec = formspec.."button[6,2;2,0.5;bag4;"..F(S("Bag @1", 4)).."]"
formspec = formspec.."listcolors[#00000000;#00000000]"
- formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag1;0.5,1;1,1;]"
- formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag2;2.5,1;1,1;]"
- formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag3;4.5,1;1,1;]"
- formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag4;6.5,1;1,1;]"
+ formspec = formspec.."list[detached:"..F(player_name).."_bags;bag1;0.5,1;1,1;]"
+ formspec = formspec.."list[detached:"..F(player_name).."_bags;bag2;2.5,1;1,1;]"
+ formspec = formspec.."list[detached:"..F(player_name).."_bags;bag3;4.5,1;1,1;]"
+ formspec = formspec.."list[detached:"..F(player_name).."_bags;bag4;6.5,1;1,1;]"
return {formspec=formspec}
end,
})
@@ -45,7 +45,7 @@ for i = 1, 4 do
local stack = get_player_bag_stack(player, bi)
local image = stack:get_definition().inventory_image
local formspec = ("image[7,0;1,1;"..image.."]"
- .."label[0,0;"..F("Bag @1", bi).."]"
+ .."label[0,0;"..F(S("Bag @1", bi)).."]"
.."listcolors[#00000000;#00000000]"
.."list[current_player;bag"..bi.."contents;0,1;8,3;]"
.."listring[current_name;bag"..bi.."contents]"
@@ -78,7 +78,7 @@ for i = 1, 4 do
end
end
local img = def.inventory_image
- local label = F("Bag @1", i).."\n"..used.."/"..size
+ local label = F(S("Bag @1", i)).."\n"..used.."/"..size
button = "image_button["..(i+1)..",0;1,1;"..img..";bag"..i..";"..label.."]"
else
button = ""
diff --git a/unified_inventory/init.lua b/unified_inventory/init.lua
index 6929600..1c73fad 100644
--- a/unified_inventory/init.lua
+++ b/unified_inventory/init.lua
@@ -1,16 +1,10 @@
--- Unified Inventory for Minetest 0.4.8+
+-- Unified Inventory for Minetest >= 0.4.16
local modpath = minetest.get_modpath(minetest.get_current_modname())
local worldpath = minetest.get_worldpath()
-local mygettext
-if rawget(_G, "intllib") then
- mygettext = intllib.Getter()
-else
- function mygettext(s, ...)
- local t = { ... }
- return (s:gsub("@(%d+)", function(n) return t[tonumber(n)] end))
- end
-end
+
+-- Intllib
+local S, NS = dofile(modpath .. "/intllib.lua")
-- Data tables definitions
unified_inventory = {
@@ -40,14 +34,13 @@ unified_inventory = {
default = "craft",
-- intllib
- gettext = mygettext,
- fgettext = function(...) return minetest.formspec_escape(mygettext(...)) end,
+ gettext = S,
-- "Lite" mode
- lite_mode = minetest.setting_getbool("unified_inventory_lite"),
-
+ lite_mode = minetest.settings:get_bool("unified_inventory_lite"),
+
-- Trash enabled
- trash_enabled = (minetest.setting_getbool("unified_inventory_trash") ~= false),
+ trash_enabled = (minetest.settings:get_bool("unified_inventory_trash") ~= false),
pagecols = 8,
pagerows = 10,
@@ -80,7 +73,7 @@ dofile(modpath.."/internal.lua")
dofile(modpath.."/callbacks.lua")
dofile(modpath.."/register.lua")
-if minetest.setting_getbool("unified_inventory_bags") ~= false then
+if minetest.settings:get_bool("unified_inventory_bags") ~= false then
dofile(modpath.."/bags.lua")
end
diff --git a/unified_inventory/internal.lua b/unified_inventory/internal.lua
index 4e78a89..06967d2 100644
--- a/unified_inventory/internal.lua
+++ b/unified_inventory/internal.lua
@@ -1,5 +1,5 @@
local S = unified_inventory.gettext
-local F = unified_inventory.fgettext
+local F = minetest.formspec_escape
-- This pair of encoding functions is used where variable text must go in
-- button names, where the text might contain formspec metacharacters.
@@ -94,7 +94,7 @@ function unified_inventory.get_formspec(player, page)
local filtered_inv_buttons = {}
for i, def in pairs(unified_inventory.buttons) do
- if not (draw_lite_mode and def.hide_lite) then
+ if not (draw_lite_mode and def.hide_lite) then
table.insert(filtered_inv_buttons, def)
end
end
@@ -111,16 +111,16 @@ function unified_inventory.get_formspec(player, page)
formspec[n] = "image_button["
formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4)
formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;"
- formspec[n+3] = minetest.formspec_escape(def.image)..";"
- formspec[n+4] = minetest.formspec_escape(def.name)..";]"
- formspec[n+5] = "tooltip["..minetest.formspec_escape(def.name)
+ formspec[n+3] = F(def.image)..";"
+ formspec[n+4] = F(def.name)..";]"
+ formspec[n+5] = "tooltip["..F(def.name)
formspec[n+6] = ";"..(def.tooltip or "").."]"
n = n+7
else
formspec[n] = "image["
formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4)
formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;"
- formspec[n+3] = minetest.formspec_escape(def.image).."^[colorize:#808080:alpha]"
+ formspec[n+3] = F(def.image).."^[colorize:#808080:alpha]"
n = n+4
end
@@ -145,39 +145,39 @@ function unified_inventory.get_formspec(player, page)
formspec[n] =
"image_button[" .. (start_x + 0.6 * 0)
.. ",9;.8,.8;ui_skip_backward_icon.png;start_list;]"
- .. "tooltip[start_list;" .. F("First page") .. "]"
+ .. "tooltip[start_list;" .. F(S("First page")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 1)
.. ",9;.8,.8;ui_doubleleft_icon.png;rewind3;]"
- .. "tooltip[rewind3;" .. F("Back three pages") .. "]"
+ .. "tooltip[rewind3;" .. F(S("Back three pages")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 2)
.. ",9;.8,.8;ui_left_icon.png;rewind1;]"
- .. "tooltip[rewind1;" .. F("Back one page") .. "]"
+ .. "tooltip[rewind1;" .. F(S("Back one page")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 3)
.. ",9;.8,.8;ui_right_icon.png;forward1;]"
- .. "tooltip[forward1;" .. F("Forward one page") .. "]"
+ .. "tooltip[forward1;" .. F(S("Forward one page")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 4)
.. ",9;.8,.8;ui_doubleright_icon.png;forward3;]"
- .. "tooltip[forward3;" .. F("Forward three pages") .. "]"
+ .. "tooltip[forward3;" .. F(S("Forward three pages")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 5)
.. ",9;.8,.8;ui_skip_forward_icon.png;end_list;]"
- .. "tooltip[end_list;" .. F("Last page") .. "]"
+ .. "tooltip[end_list;" .. F(S("Last page")) .. "]"
else
formspec[n] =
"image_button[" .. (8.2 + 0.65 * 0)
.. ",5.8;.8,.8;ui_skip_backward_icon.png;start_list;]"
- .. "tooltip[start_list;" .. F("First page") .. "]"
+ .. "tooltip[start_list;" .. F(S("First page")) .. "]"
.. "image_button[" .. (8.2 + 0.65 * 1)
.. ",5.8;.8,.8;ui_left_icon.png;rewind1;]"
- .. "tooltip[rewind1;" .. F("Back one page") .. "]"
+ .. "tooltip[rewind1;" .. F(S("Back one page")) .. "]"
.. "image_button[" .. (8.2 + 0.65 * 2)
.. ",5.8;.8,.8;ui_right_icon.png;forward1;]"
- .. "tooltip[forward1;" .. F("Forward one page") .. "]"
+ .. "tooltip[forward1;" .. F(S("Forward one page")) .. "]"
.. "image_button[" .. (8.2 + 0.65 * 3)
.. ",5.8;.8,.8;ui_skip_forward_icon.png;end_list;]"
- .. "tooltip[end_list;" .. F("Last page") .. "]"
+ .. "tooltip[end_list;" .. F(S("Last page")) .. "]"
end
n = n+1
@@ -187,26 +187,26 @@ function unified_inventory.get_formspec(player, page)
if not draw_lite_mode then
formspec[n] = "field[9.5,8.325;3,1;searchbox;;"
- .. minetest.formspec_escape(unified_inventory.current_searchbox[player_name]) .. "]"
+ .. F(unified_inventory.current_searchbox[player_name]) .. "]"
formspec[n+1] = "image_button[12.2,8.1;.8,.8;ui_search_icon.png;searchbutton;]"
- .. "tooltip[searchbutton;" ..F("Search") .. "]"
+ .. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
formspec[n+2] = "image_button[12.9,8.1;.8,.8;ui_reset_icon.png;searchresetbutton;]"
- .. "tooltip[searchbutton;" ..F("Search") .. "]"
- .. "tooltip[searchresetbutton;" ..F("Reset search and display everything") .. "]"
+ .. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
+ .. "tooltip[searchresetbutton;" ..F(S("Reset search and display everything")) .. "]"
else
formspec[n] = "field[8.5,5.225;2.2,1;searchbox;;"
- .. minetest.formspec_escape(unified_inventory.current_searchbox[player_name]) .. "]"
+ .. F(unified_inventory.current_searchbox[player_name]) .. "]"
formspec[n+1] = "image_button[10.3,5;.8,.8;ui_search_icon.png;searchbutton;]"
- .. "tooltip[searchbutton;" ..F("Search") .. "]"
+ .. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
formspec[n+2] = "image_button[11,5;.8,.8;ui_reset_icon.png;searchresetbutton;]"
- .. "tooltip[searchbutton;" ..F("Search") .. "]"
- .. "tooltip[searchresetbutton;" ..F("Reset search and display everything") .. "]"
+ .. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
+ .. "tooltip[searchresetbutton;" ..F(S("Reset search and display everything")) .. "]"
end
n = n+3
- local no_matches = "No matching items"
+ local no_matches = S("No matching items")
if draw_lite_mode then
- no_matches = "No matches."
+ no_matches = S("No matches.")
end
-- Items list
@@ -246,14 +246,14 @@ function unified_inventory.get_formspec(player, page)
end
end
end
- formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";"..F("Page") .. ": "
+ formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";"..F(S("Page")) .. ": "
.. S("%s of %s"):format(page,pagemax).."]"
end
n= n+1
if unified_inventory.activefilter[player_name] ~= "" then
- formspec[n] = "label[8.2,"..(ui_peruser.form_header_y + 0.4)..";" .. F("Filter") .. ":]"
- formspec[n+1] = "label[9.1,"..(ui_peruser.form_header_y + 0.4)..";"..minetest.formspec_escape(unified_inventory.activefilter[player_name]).."]"
+ formspec[n] = "label[8.2,"..(ui_peruser.form_header_y + 0.4)..";" .. F(S("Filter")) .. ":]"
+ formspec[n+1] = "label[9.1,"..(ui_peruser.form_header_y + 0.4)..";"..F(unified_inventory.activefilter[player_name]).."]"
end
return table.concat(formspec, "")
end
diff --git a/unified_inventory/intllib.lua b/unified_inventory/intllib.lua
new file mode 100644
index 0000000..6669d72
--- /dev/null
+++ b/unified_inventory/intllib.lua
@@ -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
diff --git a/unified_inventory/locale/de.po b/unified_inventory/locale/de.po
new file mode 100644
index 0000000..1231f1a
--- /dev/null
+++ b/unified_inventory/locale/de.po
@@ -0,0 +1,366 @@
+# German translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# Xanthin
+# CodeXP <codexp@gmx.net>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 13:41+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: CodeXP <codexp@gmx.net>\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"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr "Fertigung"
+
+#: api.lua
+msgid "Mixing"
+msgstr "Mischen"
+
+#: api.lua
+msgid "Cooking"
+msgstr "Kochen"
+
+#: api.lua
+msgid "Digging"
+msgstr "Graben"
+
+#: bags.lua
+msgid "Bags"
+msgstr "Taschen"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "Tasche @1"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Kleine Tasche"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Mittelgroße Tasche"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Große Tasche"
+
+#: group.lua
+msgid " and "
+msgstr " und "
+
+#: internal.lua
+msgid "First page"
+msgstr "Erste Seite"
+
+#: internal.lua
+msgid "Back three pages"
+msgstr "3 Seiten zurückblättern"
+
+#: internal.lua
+msgid "Back one page"
+msgstr "1 Seite zurückblättern"
+
+#: internal.lua
+msgid "Forward one page"
+msgstr "1 Seite vorblättern"
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr "3 Seiten vorblättern"
+
+#: internal.lua
+msgid "Last page"
+msgstr "Letzte Seite"
+
+#: internal.lua
+msgid "Search"
+msgstr "Suchen"
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr "Suche zurücksetzen und alles anzeigen"
+
+#: internal.lua
+msgid "No matching items"
+msgstr "Keine passenden Gegenstände"
+
+#: internal.lua
+msgid "No matches."
+msgstr "Keine Treffer"
+
+#: internal.lua
+msgid "Page"
+msgstr "Seite"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s von %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Filter"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr "Kann das Kreativinventar nutzen"
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr "Fertigungsraster"
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr "Fertigungsführer"
+
+#: register.lua
+msgid "Set home position"
+msgstr "Heimatposition setzen"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Heimatposition nach: %s gesetzt"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "Du hast das \"home\"-Privileg nicht!"
+
+#: register.lua
+msgid "Go home"
+msgstr "Nach Hause gehen"
+
+#: register.lua
+msgid "Set time to day"
+msgstr "Zur Tageszeit wechseln"
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Tageszeit auf 6 Uhr gesetzt"
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr "Du hast das \"settime\"-Privileg nicht!"
+
+#: register.lua
+msgid "Set time to night"
+msgstr "Zur Nachtzeit wechseln"
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Tageszeit auf 21 Uhr gesetzt"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr "Inventar leeren"
+
+#: register.lua
+#, fuzzy
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+"Diese Funktion ist außerhalb des Kreativmodus deaktiviert, um ein "
+"versehentliches Löschen des ganzen Inventars zu verhindern.\n"
+"Nutze stattdessen das Müllfeld."
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "Inventar geleert!"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Müll:"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Nachfüllen:"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr "Irgendein Gegenstand, der zur Gruppe %s gehört"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr "Irgendein Gegenstand, der zu den Gruppen %s gehört"
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "Rezept %d von %d"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr "Verwendung %d von %d"
+
+#: register.lua
+msgid "No recipes"
+msgstr "Keine Rezepte"
+
+#: register.lua
+msgid "No usages"
+msgstr "Keine Verwendungen"
+
+#: register.lua
+msgid "Result"
+msgstr "Ergebnis"
+
+#: register.lua
+msgid "Ingredient"
+msgstr "Zutat"
+
+#: register.lua
+msgid "Show next recipe"
+msgstr "Nächstes Rezept zeigen"
+
+#: register.lua
+msgid "Show next usage"
+msgstr "Nächste Verwendung zeigen"
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr "Vorheriges Rezept zeigen"
+
+#: register.lua
+msgid "Show previous usage"
+msgstr "Vorherige Verwendung zeigen"
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr "Gib mir:"
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+"Dieses Rezept ist zu\n"
+"groß, um angezeigt\n"
+"zu werden."
+
+#: register.lua
+msgid "To craft grid:"
+msgstr "Ins Fertigungsraster:"
+
+#: register.lua
+msgid "All"
+msgstr "Alles"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Weiß"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Gelb"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Rot"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Grün"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Blau"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Wegpunkte"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr "Wegpunkt Nr. %d auswählen"
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "Wegpunkt Nr. %d"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr "Setze Wegpunkt zur derzeitigen Position"
+
+#: waypoints.lua
+msgid "invisible"
+msgstr "unsichtbar"
+
+#: waypoints.lua
+msgid "visible"
+msgstr "sichtbar"
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr "Wegpunkt @1 machen"
+
+#: waypoints.lua
+msgid "Disable"
+msgstr "ausschalten"
+
+#: waypoints.lua
+msgid "Enable"
+msgstr "einschalten"
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr "Anzeige der Wegpunktkoordinaten @1"
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr "Farbe der Darstellung der Wegpunkte ändern"
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr "Name des Wegpunkts ändern"
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Wegpunkt aktiv"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Wegpunkt inaktiv"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr "Bearbeitung abschließen"
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Weltposition"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "Name"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "HUD-Textfarbe"
diff --git a/unified_inventory/locale/de.txt b/unified_inventory/locale/de.txt
deleted file mode 100644
index ad8009d..0000000
--- a/unified_inventory/locale/de.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-# Translation mostly by Xanthin
-
-### api.lua ###
-Digging (by chance) = Graben (durch Zufall)
-
-### bags.lua ###
-Bags = Taschen
-Bag @1 = Tasche @1
-Small Bag = Kleine Tasche
-Medium Bag = Mittelgroße Tasche
-Large Bag = Große Tasche
-
-### inernal.lua ###
-First page = Erste Seite
-Back three pages = Drei Seiten zurueckblättern
-Back one page = Eine Seite zurueckblättern
-Forward one page = Eine Seite vorblättern
-Forward three pages = Drei Seiten vorblättern
-Last page = Letzte Seite
-No matching items = Keine passenden Gegenstände
-Page = Seite
-%s of %s = %s von %s
-Filter = Filter
-Search = Suchen
-Reset search and display everything = Suche zurücksetzen und alles anzeigen
-
-### register.lua ###
-Can use the creative inventory = Kann das Kreativinventar nutzen
-Home position set to: %s = Heimatposition nach: %s gesetzt
-Time of day set to 6am = Tageszeit auf 6 Uhr geändert
-You don't have the settime privilege! = Du hast nicht das „settime“-Privileg!
-Time of day set to 9pm = Tageszeit auf 21 Uhr geändert
-This button has been disabled outside of creative mode to prevent accidental inventory trashing. Use the trash slot instead. = Diese Funktion ist außerhalb des Kreativmodus deaktiviert, um ein versehentliches Löschen des ganzen Inventars zu verhindern.\nNutze stattdessen das Müllfeld.
-Inventory cleared! = Inventar geleert!
-Crafting = Fertigung
-Digging = Graben
-Cooking = Kochen
-Mixing = Mischen
-Trash: = Müll:
-Refill: = Nachfüllen:
-Crafting Guide = Fertigungsführer
-Method: = Methode:
-Result: %s = Ergebnis: %s
-crafting = Bauen
-shapeless crafting = Formlose Fertigung
-cooking = Kochen
-alloy cooking = Legierung Kochen
-Copy to craft grid: = Ins Fertigungsraster kopieren:
-All = Alles
-Alternate = Alternative
-Crafting Grid = Fertigungsraster
-Show next recipe = Nächstes Rezept zeigen
-Show next usage = Nächste Verwendung zeigen
-Show previous recipe = Vorheriges Rezept zeigen
-Show previous usage = Vorherige Verwendung zeigen
-This recipe is too\nlarge to be displayed. = Dieses Rezept ist zu\ngroß, um angezeigt\nzu werden.
-Any item belonging to the %s group = Irgendein Gegenstand, der zur Gruppe %s gehört
-Any item belonging to the groups %s = Irgendein Gegenstand, der zu den Gruppen %s gehört
-Recipe %d of %d = Rezept %d von %d
-Usage %d of %d = Verwendung %d von %d
-No recipes = Keine Rezepte
-No usages = Keine Verwendungen
-Result = Ergebnis
-Ingredient = Zutat
-Set time to day = Zur Tageszeit wechseln
-Set time to night = Zur Nachtzeit wechseln
-Set home position = Heimatposition setzen
-Go home = Nach Hause gehen
-Clear inventory = Inventar leeren
-Give me: = Gib mir:
-To craft grid: = Ins Fertigungsraster:
-
-### group.lua ###
-\sand\s=\sund\s
-
-### waypoints.lua ###
-White = Weiß
-Yellow = Gelb
-Red = Rot
-Green = Grün
-Blue = Blau
-Waypoints = Wegpunkte
-Waypoint %d = Wegpunkt Nr. %d
-Waypoint active = Wegpunkt aktiv
-Waypoint inactive = Wegpunkt inaktiv
-World position = Weltposition
-Name = Name
-HUD text color = HUD-Textfarbe
-Edit waypoint name = Name des Wegpunkts ändern
-Rename waypoint = Wegpunkt umbenennen
-Change color of waypoint display = Farbe der Darstellung der Wegpunkte ändern
-Set waypoint to current location = Setze Wegpunkt zur derzeitigen Position
-Make waypoint visible = Wegpunkt sichtbar machen
-Make waypoint invisible = Wegpunkt verstecken
-Disable display of waypoint coordinates = Anzeige der Wegpunktkoordinaten deaktivieren
-Enable display of waypoint coordinates = Anzeige der Wegpunktkoordinaten aktivieren
-Finish editing = Bearbeitung abschließen
-Select Waypoint #%d = Wegpunkt Nr. %d auswählen
diff --git a/unified_inventory/locale/es.po b/unified_inventory/locale/es.po
new file mode 100644
index 0000000..a49a76d
--- /dev/null
+++ b/unified_inventory/locale/es.po
@@ -0,0 +1,366 @@
+# Spanish translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# Diego Martínez <kaeza>
+# CodeXP <codexp@gmx.net>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 16:15+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: CodeXP <codexp@gmx.net>\n"
+"Language-Team: \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr "Elaboración"
+
+#: api.lua
+msgid "Mixing"
+msgstr ""
+
+#: api.lua
+#, fuzzy
+msgid "Cooking"
+msgstr "hornear"
+
+#: api.lua
+msgid "Digging"
+msgstr ""
+
+#: bags.lua
+msgid "Bags"
+msgstr "Bolsas"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "Bolsa @1"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Bolsa Pequeña"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Bolsa Mediana"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Bolsa Grande"
+
+#: group.lua
+msgid " and "
+msgstr ""
+
+#: internal.lua
+msgid "First page"
+msgstr ""
+
+#: internal.lua
+msgid "Back three pages"
+msgstr ""
+
+#: internal.lua
+msgid "Back one page"
+msgstr ""
+
+#: internal.lua
+msgid "Forward one page"
+msgstr ""
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr ""
+
+#: internal.lua
+msgid "Last page"
+msgstr ""
+
+#: internal.lua
+msgid "Search"
+msgstr ""
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr ""
+
+#: internal.lua
+msgid "No matching items"
+msgstr ""
+
+#: internal.lua
+msgid "No matches."
+msgstr ""
+
+#: internal.lua
+msgid "Page"
+msgstr "Página"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s de %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Filtro"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr "Puede usar el inventario creativo"
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr "Guía de Elaboración"
+
+#: register.lua
+#, fuzzy
+msgid "Set home position"
+msgstr "Posición en el mundo"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Posición de hogar cambiada a: %s"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "¡No tienes el privilegio \"home\"!"
+
+#: register.lua
+msgid "Go home"
+msgstr ""
+
+#: register.lua
+msgid "Set time to day"
+msgstr ""
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Hora del día cambiada a 6AM"
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr "¡No tienes el privilegio \"settime\"!"
+
+#: register.lua
+msgid "Set time to night"
+msgstr ""
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Hora del día cambiada a 9PM"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr ""
+
+#: register.lua
+#, fuzzy
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+"Éste botón ha sido deshabilitado para prevenir la destrucción accidental del "
+"inventario.\n"
+"Usa la ranura para basura en su lugar."
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "¡Inventario limpio!"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Basura:"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Rellenar:"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "Receta %d de %d"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr ""
+
+#: register.lua
+msgid "No recipes"
+msgstr ""
+
+#: register.lua
+msgid "No usages"
+msgstr ""
+
+#: register.lua
+msgid "Result"
+msgstr "Resultado"
+
+#: register.lua
+msgid "Ingredient"
+msgstr ""
+
+#: register.lua
+msgid "Show next recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show next usage"
+msgstr ""
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show previous usage"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr ""
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+
+#: register.lua
+#, fuzzy
+msgid "To craft grid:"
+msgstr "Copiar al cuadro de elaboración"
+
+#: register.lua
+msgid "All"
+msgstr "Todos"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Blanco"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Amarillo"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Rojo"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Verde"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Azul"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Puntos de paso"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr ""
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "Puntos de paso %d"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr ""
+
+#: waypoints.lua
+msgid "invisible"
+msgstr ""
+
+#: waypoints.lua
+msgid "visible"
+msgstr ""
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr ""
+
+#: waypoints.lua
+msgid "Disable"
+msgstr ""
+
+#: waypoints.lua
+msgid "Enable"
+msgstr ""
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr ""
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr ""
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr ""
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Punto de paso activo"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Punto de paso inactivo"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr ""
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Posición en el mundo"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "Nombre"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "Color del HUD"
diff --git a/unified_inventory/locale/es.txt b/unified_inventory/locale/es.txt
deleted file mode 100644
index d8c0dd6..0000000
--- a/unified_inventory/locale/es.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-# Translation by Diego Martínez <kaeza>
-
-### api.lua ###
-Digging (by chance) = Excavado (por azar)
-
-# Template
-### bags.lua ###
-Bags = Bolsas
-Bag @1 = Bolsa @1
-Small Bag = Bolsa Pequeña
-Medium Bag = Bolsa Mediana
-Large Bag = Bolsa Grande
-
-### inernal.lua ###
-First page =
-Back three pages =
-Back one page =
-Forward one page =
-Forward three pages =
-Last page =
-No matching items =
-Page = Página
-%s of %s = %s de %s
-Filter = Filtro
-Search =
-
-### register.lua ###
-Can use the creative inventory = Puede usar el inventario creativo
-Home position set to: %s = Posición de hogar cambiada a: %s
-Time of day set to 6am = Hora del día cambiada a 6AM
-You don't have the settime priviledge! = ¡No tienes el privilegio `settime'!
-Time of day set to 9pm = Hora del día cambiada a 9PM
-This button has been disabled outside of creative mode to prevent accidental inventory trashing. Use the trash slot instead. = Éste botón ha sido deshabilitado para prevenir la destrucción accidental del inventario.\nUsa la ranura para basura en su lugar.
-Inventory cleared! = ¡Inventario limpio!
-Crafting = Elaboración
-Trash: = Basura:
-Refill: = Rellenar:
-Crafting Guide = Guía de Elaboración
-Method: = Método:
-Result: %s = Resultado: %s
-crafting = elaboración
-shapeless crafting = elaboración sin forma
-cooking = hornear
-alloy cooking = horneado de aleación
-Copy to craft grid: = Copiar al cuadro de elaboración
-All = Todos
-Recipe %s of %s = Receta %s de %s
-Alternate = Alternar
-Crafting Grid =
-
-### waypoints.lua ###
-White = Blanco
-Yellow = Amarillo
-Red = Rojo
-Green = Verde
-Blue = Azul
-Waypoints = Puntos de paso
-Waypoint active = Punto de paso activo
-Waypoint inactive = Punto de paso inactivo
-World position = Posición en el mundo
-Name = Nombre
-HUD text color = Color del HUD
-Edit waypoint name =
-Rename waypoint =
-Change color of waypoint display =
-Set waypoint to current location =
-Make waypoint visible =
-Make waypoint invisible =
-Disable display of waypoint coordinates =
-Enable display of waypoint coordinates =
-Finish editing =
-Select Waypoint #%d =
diff --git a/unified_inventory/locale/fr.po b/unified_inventory/locale/fr.po
new file mode 100644
index 0000000..f6af706
--- /dev/null
+++ b/unified_inventory/locale/fr.po
@@ -0,0 +1,364 @@
+# French translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# kilbith
+# CodeXP <codexp@gmx.net>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 16:15+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: CodeXP <codexp@gmx.net>\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"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr "Création"
+
+#: api.lua
+msgid "Mixing"
+msgstr ""
+
+#: api.lua
+msgid "Cooking"
+msgstr "Cuisson"
+
+#: api.lua
+msgid "Digging"
+msgstr "Creuser"
+
+#: bags.lua
+msgid "Bags"
+msgstr "Sacs"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "Sac @1"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Petit sac"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Sac moyen"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Grand sac"
+
+#: group.lua
+msgid " and "
+msgstr " et "
+
+#: internal.lua
+msgid "First page"
+msgstr "1ère page"
+
+#: internal.lua
+msgid "Back three pages"
+msgstr "3 pages en arrière"
+
+#: internal.lua
+msgid "Back one page"
+msgstr "Page précédente"
+
+#: internal.lua
+msgid "Forward one page"
+msgstr "Page suivante"
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr "3 pages en avant"
+
+#: internal.lua
+msgid "Last page"
+msgstr "Dernière page"
+
+#: internal.lua
+msgid "Search"
+msgstr "Rechercher"
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr ""
+
+#: internal.lua
+msgid "No matching items"
+msgstr "Aucun élément correspondant"
+
+#: internal.lua
+msgid "No matches."
+msgstr "Aucun match"
+
+#: internal.lua
+msgid "Page"
+msgstr "Page"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s de %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Filtre"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr "Vous pouvez utiliser l'inventaire créatif"
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr "Grille de création"
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr "Guide de création"
+
+#: register.lua
+#, fuzzy
+msgid "Set home position"
+msgstr "Position dans le monde"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Position de votre base fixée à: %s"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "Vous n'avez pas le privilège \"home\"!"
+
+#: register.lua
+msgid "Go home"
+msgstr ""
+
+#: register.lua
+msgid "Set time to day"
+msgstr ""
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Heure fixée à 6h"
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr "Vous n'avez pas le privilège \"settime\"!"
+
+#: register.lua
+msgid "Set time to night"
+msgstr ""
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Heure fixée à 21h"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr ""
+
+#: register.lua
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+"Ce bouton a été désactivé en dehors du mode créatif pour éviter des saccages "
+"dans l'inventaire.\n"
+"Utilisez plutôt la case poubelle."
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "Inventaire vidé !"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Poubelle :"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Remplir :"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "Recette %d de %d"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr ""
+
+#: register.lua
+msgid "No recipes"
+msgstr ""
+
+#: register.lua
+msgid "No usages"
+msgstr ""
+
+#: register.lua
+msgid "Result"
+msgstr "Résultat"
+
+#: register.lua
+msgid "Ingredient"
+msgstr ""
+
+#: register.lua
+msgid "Show next recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show next usage"
+msgstr ""
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show previous usage"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr ""
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+
+#: register.lua
+msgid "To craft grid:"
+msgstr "Sur de création:"
+
+#: register.lua
+msgid "All"
+msgstr "Tout"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Blanc"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Jaune"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Rouge"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Vert"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Bleu"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Point de passage"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr "Choisir un point de passage #%d"
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "Point de passage %d"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr "Marquer un point de passage à la position actuelle"
+
+#: waypoints.lua
+msgid "invisible"
+msgstr ""
+
+#: waypoints.lua
+msgid "visible"
+msgstr ""
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr "Rendre @1 le point de passage"
+
+#: waypoints.lua
+msgid "Disable"
+msgstr ""
+
+#: waypoints.lua
+msgid "Enable"
+msgstr ""
+
+#: waypoints.lua
+#, fuzzy
+msgid "@1 display of waypoint coordinates"
+msgstr "@1 montrer les coordonnées des points de passages"
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr "Changer la couleur du point de passage"
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr "Editer le nom du point de passage"
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Point de passage actif"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Point de passage inactif"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr "Terminer l'édition"
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Position dans le monde"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "Nom"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "Couleur de texte du HUD"
diff --git a/unified_inventory/locale/fr.txt b/unified_inventory/locale/fr.txt
deleted file mode 100644
index 43c52f0..0000000
--- a/unified_inventory/locale/fr.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-# Translation by kilbith
-
-# Template
-### bags.lua ###
-Bags = Sacs
-Bag @1 = Sac @1
-Small Bag = Petit sac
-Medium Bag = Sac moyen
-Large Bag = Grand sac
-
-### inernal.lua ###
-First page = 1ère page
-Back three pages = 3 pages en arrière
-Back one page = Page précédente
-Forward one page = Page suivante
-Forward three pages = 3 pages en avant
-Last page = Dernière page
-No matching items = Aucun élément correspondant
-Page = Page
-%s of %s = %s de %s
-Filter = Filtre
-Search = Rechercher
-
-### register.lua ###
-Can use the creative inventory = Vous pouvez utiliser l'inventaire créatif
-Home position set to: %s = Position de votre base fixée à : %s
-Time of day set to 6am = Heure fixée à 6h
-You don't have the settime priviledge! = Vous n'avez pas le privilège 'settime' !
-Time of day set to 9pm = Heure fixée à 21h
-This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Ce bouton a été désactivé en dehors du mode créatif pour éviter des saccages dans l'inventaire.\nUtilisez plutôt la case poubelle.
-Inventory cleared! = Inventaire vidé !
-Crafting = Création
-Trash: = Poubelle :
-Refill: = Remplir :
-Crafting Guide = Guide de création
-Method: = Méthode :
-Result: %s = Résultat : %s
-crafting = fabrication
-shapeless crafting = fabrication sans forme
-cooking = cuisson
-alloy cooking = cuisson des métaux
-Copy to craft grid: = Copier sur la grille de création
-All = Tout
-Recipe %s of %s = Recette %s de %d
-Alternate = Alternative
-Crafting Grid = Grille de création
-
-### waypoints.lua ###
-White = Blanc
-Yellow = Jaune
-Red = Rouge
-Green = Vert
-Blue = Bleu
-Waypoints = Point de passage
-Waypoint active = Point de passage actif
-Waypoint inactive = Point de passage inactif
-World position = Position dans le monde
-Name = Nom
-HUD text color = Couleur de texte du HUD
-Edit waypoint name = Editer le nom du point de passage
-Rename waypoint = Renommer le point de passage
-Change color of waypoint display = Changer la couleur du point de passage
-Set waypoint to current location = Marquer un point de passage à la position actuelle
-Make waypoint visible = Rendre visible le point de passage
-Make waypoint invisible = Rendre invisible le point de passage
-Disable display of waypoint coordinates = Masquer les coordonnées des points de passages
-Enable display of waypoint coordinates = Montrer les coordonnées des points de passages
-Finish editing = Terminer l'édition
-Select Waypoint #%d = Choisir un point de passage #%d
diff --git a/unified_inventory/locale/ms.po b/unified_inventory/locale/ms.po
new file mode 100644
index 0000000..518fcb3
--- /dev/null
+++ b/unified_inventory/locale/ms.po
@@ -0,0 +1,369 @@
+# Malay translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# muhdnurhidayat <translation@mnh48.moe>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 03:34+0200\n"
+"PO-Revision-Date: 2018-07-17 20:14+0800\n"
+"Language-Team: muhdnurhidayat <translation@mnh48.moe>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.9\n"
+"Last-Translator: muhdnurhidayat <translation@mnh48.moe>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: ms\n"
+"X-Poedit-Flags-xgettext: --add-comments\n"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr "Pertukangan"
+
+#: api.lua
+msgid "Mixing"
+msgstr "Pencampuran"
+
+#: api.lua
+msgid "Cooking"
+msgstr "Pemasakan"
+
+#: api.lua
+msgid "Digging"
+msgstr "Penggalian"
+
+#: bags.lua
+msgid "Bags"
+msgstr "Beg"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "Beg @1"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Beg Kecil"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Beg Sederhana"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Beg Besar"
+
+#: group.lua
+msgid " and "
+msgstr " dan "
+
+#: internal.lua
+msgid "First page"
+msgstr "Halaman pertama"
+
+#: internal.lua
+msgid "Back three pages"
+msgstr "Tiga halaman sebelumnya"
+
+#: internal.lua
+msgid "Back one page"
+msgstr "Halaman sebelumnya"
+
+#: internal.lua
+msgid "Forward one page"
+msgstr "Halaman seterusnya"
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr "Tiga halaman seterusnya"
+
+#: internal.lua
+msgid "Last page"
+msgstr "Halaman terakhir"
+
+#: internal.lua
+msgid "Search"
+msgstr "Cari"
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr "Set semula carian dan tunjukkan semua benda"
+
+#: internal.lua
+msgid "No matching items"
+msgstr "Tiada item sepadan"
+
+#: internal.lua
+msgid "No matches."
+msgstr "Tiada padanan."
+
+#: internal.lua
+msgid "Page"
+msgstr "Halaman"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s drpd %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Tapis"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr "Boleh guna inventori kreatif"
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+"Memaksa Unified Inventory untuk dipaparkan dalam mod Full jika mod Lite "
+"ditetapkan secara global"
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr "Grid Pertukangan"
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr "Panduan Pertukangan"
+
+#: register.lua
+msgid "Set home position"
+msgstr "Tetapkan kedudukan rumah"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Kedudukan rumah ditetapkan ke: %s"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "Anda tidak ada keistimewaan \"home\"!"
+
+#: register.lua
+msgid "Go home"
+msgstr "Balik rumah"
+
+#: register.lua
+msgid "Set time to day"
+msgstr "Tetapkan masa jadi siang"
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Masa ditetapkan ke 6 pagi"
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr "Anda tidak ada keistimewaan settime!"
+
+#: register.lua
+msgid "Set time to night"
+msgstr "Tetapkan masa jadi malam"
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Masa ditetapkan ke 9 malam"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr "Kosongkan inventori"
+
+#: register.lua
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+"Butang ini dilumpuhkan di luar mod kreatif untuk mengelakkan pengosongan "
+"inventori secara tidak sengaja.\n"
+"Sebaliknya, gunakan slot tong sampah."
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "Inventori dikosongkan!"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Buang:"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Isi balik:"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr "Sebarang item dari kumpulan %s"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr "Sebarang item dari kumpulan %s"
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "Resipi %d drpd %d"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr "Kegunaan %d drpd %d"
+
+#: register.lua
+msgid "No recipes"
+msgstr "Tiada resipi"
+
+#: register.lua
+msgid "No usages"
+msgstr "Tiada kegunaan"
+
+#: register.lua
+msgid "Result"
+msgstr "Hasil"
+
+#: register.lua
+msgid "Ingredient"
+msgstr "Bahan"
+
+#: register.lua
+msgid "Show next recipe"
+msgstr "Tunjuk resipi seterusnya"
+
+#: register.lua
+msgid "Show next usage"
+msgstr "Tunjuk kegunaan seterusnya"
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr "Tunjuk resipi sebelumnya"
+
+#: register.lua
+msgid "Show previous usage"
+msgstr "Tunjuk kegunaan sebelumnya"
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: register.lua
+msgid "Give me:"
+msgstr "Beri saya:"
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+"Resipi ini terlalu\n"
+"besar untuk paparan."
+
+#: register.lua
+msgid "To craft grid:"
+msgstr "Ke grid pertukangan:"
+
+#: register.lua
+msgid "All"
+msgstr ""
+"SE\n"
+"MUA"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Putih"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Kuning"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Merah"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Hijau"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Biru"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Titik Arah"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr "Pilih Titik Arah #%d"
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "Titik Arah %d"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr "Tetapkan titik arah ke lokasi semasa"
+
+#: waypoints.lua
+msgid "invisible"
+msgstr "Sembunyikan"
+
+#: waypoints.lua
+msgid "visible"
+msgstr "Paparkan"
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr "@1 titik arah"
+
+#: waypoints.lua
+msgid "Disable"
+msgstr "Sembunyikan"
+
+#: waypoints.lua
+msgid "Enable"
+msgstr "Paparkan"
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr "@1 koordinat untuk titik arah"
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr "Tukar warna paparan titik arah"
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr "Edit nama titik arah"
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Titik arah aktif"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Titik arah tidak aktif"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr "Selesai edit"
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Kedudukan dunia"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "Nama"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "Warna tulisan HUD"
diff --git a/unified_inventory/locale/pl.po b/unified_inventory/locale/pl.po
new file mode 100644
index 0000000..5a3f412
--- /dev/null
+++ b/unified_inventory/locale/pl.po
@@ -0,0 +1,359 @@
+# Polish translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# RealBadAngel
+# CodeXP <codexp@gmx.net>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 16:30+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: CodeXP <codexp@gmx.net>\n"
+"Language-Team: \n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr ""
+
+#: api.lua
+msgid "Mixing"
+msgstr ""
+
+#: api.lua
+msgid "Cooking"
+msgstr ""
+
+#: api.lua
+msgid "Digging"
+msgstr ""
+
+#: bags.lua
+msgid "Bags"
+msgstr "Plecaki"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "Plecak @1"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Maly plecak"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Sredni plecak"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Duzy plecak"
+
+#: group.lua
+msgid " and "
+msgstr " i "
+
+#: internal.lua
+msgid "First page"
+msgstr "Pierwsza strona"
+
+#: internal.lua
+msgid "Back three pages"
+msgstr "3 strony w tyl"
+
+#: internal.lua
+msgid "Back one page"
+msgstr "1 strona w tyl"
+
+#: internal.lua
+msgid "Forward one page"
+msgstr "1 strona do przodu"
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr "3 strony do przodu"
+
+#: internal.lua
+msgid "Last page"
+msgstr "Ostatnia strona"
+
+#: internal.lua
+msgid "Search"
+msgstr "Szukaj"
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr ""
+
+#: internal.lua
+msgid "No matching items"
+msgstr "Brak pasujacych przedmiotow"
+
+#: internal.lua
+msgid "No matches."
+msgstr "Brak wyników"
+
+#: internal.lua
+msgid "Page"
+msgstr "Strona"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s z %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Filtr"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr ""
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr ""
+
+#: register.lua
+msgid "Set home position"
+msgstr "Ustaw pozycję wyjściową"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Pozycja domowa ustawiona na: %s"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "Nie masz uprawnien do zmiany czasu \"home\"!"
+
+#: register.lua
+msgid "Go home"
+msgstr "Idź do domu"
+
+#: register.lua
+msgid "Set time to day"
+msgstr "Ustaw czas na dzień"
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Czas ustawiony na 6:00"
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr "Nie masz uprawnien do zmiany czasu \"settime\"!"
+
+#: register.lua
+msgid "Set time to night"
+msgstr "Ustaw czas na noc"
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Czas ustawiony na 21:00"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr "Wyczyść zapasy"
+
+#: register.lua
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "Zapasy zostały wyczyszczone!"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Smietnik:"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Uzupelnianie:"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "Recepta %d z %d"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr "Użycie %d z %d"
+
+#: register.lua
+msgid "No recipes"
+msgstr "Brak recepty"
+
+#: register.lua
+msgid "No usages"
+msgstr "Bez użycia"
+
+#: register.lua
+msgid "Result"
+msgstr "Wynik"
+
+#: register.lua
+msgid "Ingredient"
+msgstr "Składnik"
+
+#: register.lua
+msgid "Show next recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show next usage"
+msgstr ""
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show previous usage"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr "Daj mi:"
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+
+#: register.lua
+msgid "To craft grid:"
+msgstr ""
+
+#: register.lua
+msgid "All"
+msgstr "Wszystko"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Bialy"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Zolty"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Czerwony"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Zielony"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Niebieski"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Punkty orientacyjne"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr "Wybierz punkt #%d"
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "Punkty orientacyjne %d"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr "Ustaw punkt orientacyjny na biezacej pozycji"
+
+#: waypoints.lua
+msgid "invisible"
+msgstr "niewidzialny"
+
+#: waypoints.lua
+msgid "visible"
+msgstr "widomy"
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr "Robić punkt @1"
+
+#: waypoints.lua
+msgid "Disable"
+msgstr ""
+
+#: waypoints.lua
+msgid "Enable"
+msgstr ""
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr "@1 koordynatow punktu"
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr "Zmien kolor punktu"
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr "Edytuj nazwe punktu"
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Punkt wlaczony"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Punkt wylaczony"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr "Zakoncz edycje"
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Pozycja"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "Nazwa"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "Kolor tekstu HUD"
diff --git a/unified_inventory/locale/pl.txt b/unified_inventory/locale/pl.txt
deleted file mode 100644
index ef3e821..0000000
--- a/unified_inventory/locale/pl.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-# Translation by RealBadAngel
-
-### bags.lua ###
-Bags = Plecaki
-Bag @1 = Plecak @1
-Small Bag = Maly plecak
-Medium Bag = Sredni plecak
-Large Bag = Duzy plecak
-
-### inernal.lua ###
-First page = Pierwsza strona
-Back three pages = 3 strony w tyl
-Back one page = 1 strona w tyl
-Forward one page = 1 strona do przodu
-Forward three pages = 3 strony do przodu
-Last page = Ostatnia strona
-No matching items = Brak pasujacych przedmiotow
-Page = Strona
-%s of %s = %s z %s
-Filter = Filtr
-Search = Szukaj
-
-### register.lua ###
-Can use the creative inventory =
-Home position set to: %s = Pozycja domowa ustawiona na: %s
-Time of day set to 6am = Czas ustawiony na 6:00
-You don't have the settime priviledge! = Nie masz uprawnien do zmiany czasu (settime)!
-Time of day set to 9pm = Czas ustawiony na 21:00
-This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. =
-Inventory cleared! =
-Crafting =
-Trash: = Smietnik:
-Refill: = Uzupelnianie:
-Crafting Guide =
-Method: = Metoda:
-Result: %s = Wynik: %s
-crafting =
-shapeless crafting =
-cooking =
-alloy cooking =
-Copy to craft grid: =
-All = Wszystko
-Recipe %s of %s = Recepta %s z %s
-Alternate = Alternatywa
-Crafting Grid =
-
-### waypoints.lua ###
-White = Bialy
-Yellow = Zolty
-Red = Czerwony
-Green = Zielony
-Blue = Niebieski
-Waypoints = Punkty orientacyjne
-Waypoint active = Punkt wlaczony
-Waypoint inactive = Punkt wylaczony
-World position = Pozycja
-Name = Nazwa
-HUD text color = Kolor tekstu HUD
-Edit waypoint name = Edytuj nazwe punktu
-Rename waypoint = Zmien nazwe punktu
-Change color of waypoint display = Zmien kolor punktu
-Set waypoint to current location = Ustaw punkt orientacyjny na biezacej pozycji
-Make waypoint visible = Pokaz punkt
-Make waypoint invisible = Nie pokazuj punktu
-Disable display of waypoint coordinates = Pokazuj koordynaty punktu
-Enable display of waypoint coordinates = Nie pokazuj koordynatow punktu
-Finish editing = Zakoncz edycje
-Select Waypoint #%d = Wybierz punkt #%d
diff --git a/unified_inventory/locale/pt.po b/unified_inventory/locale/pt.po
new file mode 100644
index 0000000..ff9cc3a
--- /dev/null
+++ b/unified_inventory/locale/pt.po
@@ -0,0 +1,366 @@
+# Portuguese translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# Lunovox <lunovox@openmailbox.org>
+# CodeXP <codexp@gmx.net>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 16:48+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: CodeXP <codexp@gmx.net>\n"
+"Language-Team: \n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr "Artesanato"
+
+#: api.lua
+msgid "Mixing"
+msgstr "Muistura"
+
+#: api.lua
+msgid "Cooking"
+msgstr "Cozimento"
+
+#: api.lua
+msgid "Digging"
+msgstr "Escavação"
+
+#: bags.lua
+msgid "Bags"
+msgstr "Bolsas"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "Bolsa @1"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Bolsa Pequena"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Bolsa Média"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Bolsa Grande"
+
+#: group.lua
+msgid " and "
+msgstr " e "
+
+#: internal.lua
+msgid "First page"
+msgstr "Primeira Página"
+
+#: internal.lua
+msgid "Back three pages"
+msgstr "Voltar 3 Páginas"
+
+#: internal.lua
+msgid "Back one page"
+msgstr "Voltar 1 Página"
+
+#: internal.lua
+msgid "Forward one page"
+msgstr "Avançar 1 Página"
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr "Avançar 3 Páginas"
+
+#: internal.lua
+msgid "Last page"
+msgstr "Ultima Página"
+
+#: internal.lua
+msgid "Search"
+msgstr "Pesquisar"
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr "Redefinir pesquisa e exibir tudo"
+
+#: internal.lua
+msgid "No matching items"
+msgstr "Nenhum item correspondente"
+
+#: internal.lua
+msgid "No matches."
+msgstr "Sem correspondências"
+
+#: internal.lua
+msgid "Page"
+msgstr "Página"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s de %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Filtro"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr "Pode usar o inventário do criativo"
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+"Força o Unified Inventory a ser exibido no modo Full se o modo Lite estiver "
+"configurado globalmente"
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr "Grade de Artesanato"
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr "Guia de Artesanato"
+
+#: register.lua
+msgid "Set home position"
+msgstr "Definir posição de casa"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Posição inicial definida para: %s"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "Você não tem o privilégio de \"home\"!"
+
+#: register.lua
+msgid "Go home"
+msgstr "Transportar para Casa"
+
+#: register.lua
+msgid "Set time to day"
+msgstr "Definir turno para dia"
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Hora do dia definida para 06h"
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr "Você não tem o privilégio de \"settime\"!"
+
+#: register.lua
+msgid "Set time to night"
+msgstr "Definir turno para noite"
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Hora do dia ajustada para 21h"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr "Limpar Inventário"
+
+#: register.lua
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+"Este botão foi desativado fora do modo de criativo para evitar o descarte "
+"acidental de inventário. \n"
+"Use o slot de lixo em vez disso."
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "Inventário Apagado!"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Lixo:"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Recarga:"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr "Qualquer item pertencente ao grupo '%s'."
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr "Qualquer item pertencente aos grupos '%s'."
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "Receita %d de %d"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr "Utilização %d de %d"
+
+#: register.lua
+msgid "No recipes"
+msgstr "Sem Receita"
+
+#: register.lua
+msgid "No usages"
+msgstr "Sem Utilização"
+
+#: register.lua
+msgid "Result"
+msgstr "Resultado"
+
+#: register.lua
+msgid "Ingredient"
+msgstr "Ingrediente"
+
+#: register.lua
+msgid "Show next recipe"
+msgstr "Exibir Próxima Receita"
+
+#: register.lua
+msgid "Show next usage"
+msgstr "Mostrar Próxima Utilização"
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr "Exibir Receita Anterior"
+
+#: register.lua
+msgid "Show previous usage"
+msgstr "Exibir Utilização Anterior"
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr "Gerado:"
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+"Esta receita é grande \n"
+"demais para ser apresentada."
+
+#: register.lua
+msgid "To craft grid:"
+msgstr "Para Grade de Artesanato"
+
+#: register.lua
+msgid "All"
+msgstr "MAX"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Branco"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Amarelo"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Vermelho"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Verde"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Azul"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Apontador de Direção"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr "Seleção de Apontador de Direção #%02d"
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "Apontador de Direção %d"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr "Configurar localização atual do Apontador de Direção"
+
+#: waypoints.lua
+msgid "invisible"
+msgstr "invisível"
+
+#: waypoints.lua
+msgid "visible"
+msgstr "visível"
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr "Fazer Apontador de Direção @1"
+
+#: waypoints.lua
+msgid "Disable"
+msgstr ""
+
+#: waypoints.lua
+msgid "Enable"
+msgstr ""
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr "@1 exibição de coordenadas de Fazer Apontador de Direção"
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr "Mudar cor exibida do Apontador de Direção"
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr "Editar Nome de Apontador de Direção"
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Apontador de Direção Ativo"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Apontador de Direção Inativo"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr "Edição Finalizada"
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Posição Mundial"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "Nome"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "Cor de HUD"
diff --git a/unified_inventory/locale/pt.txt b/unified_inventory/locale/pt.txt
deleted file mode 100644
index 28ff76d..0000000
--- a/unified_inventory/locale/pt.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-# Translation by Lunovox <lunovox@openmailbox.org>
-
-### api.lua ###
-Digging (by chance) = Cavando (por acaso)
-
-# Template
-### bags.lua ###
-Bags = Bolsas
-Bag @1 = Bolsa @1
-Small Bag = Bolsa Pequena
-Medium Bag = Bolsa Média
-Large Bag = Bolsa Grande
-
-### inernal.lua ###
-First page = Primeira Página
-Back three pages = Voltar 3 Páginas
-Back one page = Voltar 1 Página
-Forward one page = Avançar 1 Página
-Forward three pages = Avançar 3 Páginas
-Last page = Ultima Página
-No matching items = Nenhum item correspondente
-Page = Página
-%s of %s = %s de %s
-Filter = Filtro
-Search = Pesquisar
-Reset search and display everything = Redefinir pesquisa e exibir tudo
-
-### register.lua ###
-Can use the creative inventory = Pode usar o inventário do criativo
-Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally = Força o Unified Inventory a ser exibido no modo Full se o modo Lite estiver configurado globalmente
-Home position set to: %s = Posição inicial definida para: %s
-Time of day set to 6am = Hora do dia definida para 06h
-You don't have the settime priviledge! = Você não tem o privilégio de 'settime'!
-Time of day set to 9pm = Hora do dia ajustada para 21h
-This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Este botão foi desativado fora do modo de criativo para evitar o descarte acidental de inventário. \nUse o slot de lixo em vez disso.
-Inventory cleared! = Inventário Apagado!
-Crafting = Artesanato
-Digging = Escavação
-Cooking = Cozimento
-Mixing = Muistura
-Trash: = Lixo:
-Refill: = Recarga:
-Crafting Guide = Guia de Artesanato
-Method: = Método:
-Result: %s = Resultado: %s
-crafting = artesanato
-shapeless crafting = artesanato sem formato
-cooking = cozinhar
-alloy cooking = Cozinhar em liga
-Copy to craft grid: = Copiar para grade de artesanato:
-All = MAX
-Alternate = Alternar
-Crafting Grid = Grade de Artesanato
-Show next recipe = Exibir Próxima Receita
-Show next usage = Mostrar Próxima Utilização
-Show previous recipe = Exibir Receita Anterior
-Show previous usage = Exibir Utilização Anterior
-
-# Shown for huge crafting recipes; try to keep the line length short and use multiple line breaks as needed
-This recipe is too\nlarge to be displayed. = Esta receita é grande \ndemais para ser apresentada.
-
-# %s = group name (e.g. wool)
-Any item belonging to the %s group = Qualquer item pertencente ao grupo '%s'.
-
-# %s = List of “and”-concatenated group names
-Any item belonging to the groups %s = Qualquer item pertencente aos grupos '%s'.
-Recipe %d of %d = Receita %s de %s
-Usage %d of %d = Utilização %s de %s
-No recipes = Sem Receita
-No usages = Sem Utilização
-Result = Resultado
-Ingredient = Ingrediente
-Set time to day = Definir turno para dia
-Set time to night = Definir turno para noite
-Set home position = Definir posição de casa
-Go home = Transportar para Casa
-Clear inventory = Limpar Inventário
-Give me: = Gerado:
-To craft grid: = Para Grade de Artesanato
-
-### group.lua ###
-# Logical connective, example: “Any item belonging to the groups foo and bar”
-\sand\s =
-
-### waypoints.lua ###
-White = Branco
-Yellow = Amarelo
-Red = Vermelho
-Green = Verde
-Blue = Azul
-Waypoints = Apontador de Direção
-Waypoint %d = Apontador de Direção %002
-Waypoint active = Apontador de Direção Ativo
-Waypoint inactive = Apontador de Direção Inativo
-World position = Posição Mundial
-Name = Nome
-HUD text color = Cor de HUD
-Edit waypoint name = Editar Nome de Apontador de Direção
-Rename waypoint = Renomear Apontador de Direção
-Change color of waypoint display = Mudar cor exibida do Apontador de Direção
-Set waypoint to current location = Configurar localização atual do Apontador de Direção
-Make waypoint visible = Fazer Apontador de Direção Visível
-Make waypoint invisible = Fazer Apontador de Direção Invisível
-Disable display of waypoint coordinates = Desativar exibição de coordenadas de Fazer Apontador de Direção
-Enable display of waypoint coordinates = Ativar exibição de coordenadas de Fazer Apontador de Direção
-Finish editing = Edição Finalizada
-Select Waypoint #%d = Seleção de Apontador de Direção #%02d
diff --git a/unified_inventory/locale/ru.po b/unified_inventory/locale/ru.po
new file mode 100644
index 0000000..7cf6144
--- /dev/null
+++ b/unified_inventory/locale/ru.po
@@ -0,0 +1,366 @@
+# Russian translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# eternal_sorrow
+# CodeXP <codexp@gmx.net>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 03:34+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: CodeXP <codexp@gmx.net>\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"
+
+#: api.lua register.lua
+#, fuzzy
+msgid "Crafting"
+msgstr "Крафт"
+
+#: api.lua
+msgid "Mixing"
+msgstr "Мешать"
+
+#: api.lua
+msgid "Cooking"
+msgstr "Варить"
+
+#: api.lua
+msgid "Digging"
+msgstr "Копать"
+
+#: bags.lua
+msgid "Bags"
+msgstr "Сумки"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "Сумка @1"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Малая сумка"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Средняя сумка"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Большая сумка"
+
+#: group.lua
+msgid " and "
+msgstr " и "
+
+#: internal.lua
+msgid "First page"
+msgstr "Первая страница"
+
+#: internal.lua
+msgid "Back three pages"
+msgstr "3 страницы назад"
+
+#: internal.lua
+msgid "Back one page"
+msgstr "1 страницу назад"
+
+#: internal.lua
+msgid "Forward one page"
+msgstr "1 страницу вперёд"
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr "3 страницы вперёд"
+
+#: internal.lua
+msgid "Last page"
+msgstr "Последняя страница"
+
+#: internal.lua
+msgid "Search"
+msgstr "Поиск"
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr "Сброс поиска, показать всё"
+
+#: internal.lua
+msgid "No matching items"
+msgstr "Нет подходящих элементов"
+
+#: internal.lua
+msgid "No matches."
+msgstr "Ничего не найдено"
+
+#: internal.lua
+msgid "Page"
+msgstr "Страница"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s из %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Фильтр"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr "Можно использовать инвентарь творческого режима"
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr "Решетка крафта"
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr "Книга рецептов"
+
+#: register.lua
+msgid "Set home position"
+msgstr "Установить позицию дома"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Дом теперь расположен по коодинатам: %s"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "У вас нет привилегии \"home\"!"
+
+#: register.lua
+msgid "Go home"
+msgstr "Отправиться домой"
+
+#: register.lua
+msgid "Set time to day"
+msgstr "День"
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Установлено время 6 утра"
+
+#: register.lua
+#, fuzzy
+msgid "You don't have the settime privilege!"
+msgstr "Вам не разрешено устанавливать время! (нет привилегии \"settime\")"
+
+#: register.lua
+msgid "Set time to night"
+msgstr "Ночь"
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Установлено время 9 вечера"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr "Очистить инвентарь"
+
+#: register.lua
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+"Эта кнопка отключена вне творческого режима, чтобы предотвратить случайное "
+"уничтожение предметов.\n"
+"Используйте слот корзины вместо нее."
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "Инвентарь очищен!"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Мусор:"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Наполнить:"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr "Любой элемент из группы: %s"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr "Любой элемент из группы: %s"
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "Рецепт %s из %s"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr "Вариант %d of %d"
+
+#: register.lua
+msgid "No recipes"
+msgstr "Рецептов нет"
+
+#: register.lua
+msgid "No usages"
+msgstr "Не используется"
+
+#: register.lua
+msgid "Result"
+msgstr "Результат"
+
+#: register.lua
+msgid "Ingredient"
+msgstr "Состав"
+
+#: register.lua
+msgid "Show next recipe"
+msgstr "Следующий рецепт"
+
+#: register.lua
+msgid "Show next usage"
+msgstr "Следующее использование"
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr "Прошлый рецепт"
+
+#: register.lua
+msgid "Show previous usage"
+msgstr "Прошлая страница"
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr "Дай мне:"
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+"Этот рецепт не\n"
+"помещается в решетку."
+
+#: register.lua
+msgid "To craft grid:"
+msgstr "На решeтку крафта:"
+
+#: register.lua
+msgid "All"
+msgstr "Все"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Белый"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Желтый"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Красный"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Зелёный"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Синий"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Путевые точки"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr "Выбрать путевую точку №%d"
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "Путевая точка %d"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr "Установить путевую точку по текущей позиции"
+
+#: waypoints.lua
+msgid "invisible"
+msgstr "невидимой"
+
+#: waypoints.lua
+msgid "visible"
+msgstr "видимой"
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr "Сделать путевую точку @1"
+
+#: waypoints.lua
+msgid "Disable"
+msgstr "Выключить"
+
+#: waypoints.lua
+msgid "Enable"
+msgstr "Включить"
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr "@1 показ координат путевых точек"
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr "Поменять цвет путевой точки"
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr "Переименовать путевую точку"
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Путевая точка включена"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Путевая точка выключена"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr "Закончить редакцию"
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Позиция мира"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "Имя"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "Цвет текста HUDа"
diff --git a/unified_inventory/locale/ru.txt b/unified_inventory/locale/ru.txt
deleted file mode 100644
index a7bbe54..0000000
--- a/unified_inventory/locale/ru.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-# Translation by eternal_sorrow
-
-# Template
-### bags.lua ###
-Bags = Сумки
-Bag @1 = Сумка @1
-Small Bag = Малая сумка
-Medium Bag = Средняя сумка
-Large Bag = Большая сумка
-
-### inernal.lua ###
-First page = Первая страница
-Back three pages = Назад на три страницы
-Back one page = Назад на одну страницу
-Forward one page = Вперед на одну страницу
-Forward three pages = Вперед на три страницы
-Last page = Последняя страница
-No matching items = Совпадений нет
-Page = Страница
-%s of %s = %s из %s
-Filter = Фильтр
-Search = Поиск
-
-### register.lua ###
-Can use the creative inventory = Можно использовать инвентарь творческого режима
-Home position set to: %s = Дом теперь расположен по коодинатам: %s
-Time of day set to 6am = Установлено время 6 утра
-You don't have the settime priviledge! = Вам не разрешено устанавливать время!
-Time of day set to 9pm = Установлено время 9 вечера
-This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Эта кнопка отключена вне творческого режима, чтобы предотвратить случайное уничтожение предметов.\nИспользуйте слот корзины вместо нее.
-Inventory cleared! = Инвентарь очищен!
-Crafting = Крафт
-Trash: = Корзина:
-Refill: = Размножить:
-Crafting Guide = Книга рецептов
-Method: = Способ:
-Result: %s = Результат: %s
-crafting = крафт
-shapeless crafting = бесформенный крафт
-cooking = жарка
-alloy cooking = приготовление сплавов
-Copy to craft grid: = В решетку крафта:
-All = Все
-Recipe %s of %s = Рецепт %s из %s
-Alternate = Следующий
-Crafting Grid = Решетка крафта
-Go home = Отправиться домой
-Set time to day = День
-Set time to night = Ночь
-Clear inventory = Очистить инвентарь
-
-### waypoints.lua ###
-White = Белый
-Yellow = Желтый
-Red = Красный
-Green = Зелёный
-Blue = Синий
-Waypoints = Путевые точки
-Waypoint active = Путевая точка активна
-Waypoint inactive = Путевая точка неактивна
-World position = Позиция
-Name = Имя
-HUD text color = Цвет текста
-Edit waypoint name = Редактировать имя путевой точки
-Rename waypoint = Переименовать путевую точку
-Change color of waypoint display = Изменить цвет путевой точки
-Set waypoint to current location = Установить путевую точку в текущем местоположении
-Make waypoint visible = Сделать путевую точку видимой
-Make waypoint invisible = Сделать путевую точку невидимой
-Disable display of waypoint coordinates = Отключить отображение координат путевой точки
-Enable display of waypoint coordinates = Включить отображение координат путевой точки
-Finish editing = Завершить редактирование
-Select Waypoint #%d = Выбрать путевую точку №%d
diff --git a/unified_inventory/locale/template.pot b/unified_inventory/locale/template.pot
new file mode 100644
index 0000000..105fd64
--- /dev/null
+++ b/unified_inventory/locale/template.pot
@@ -0,0 +1,358 @@
+# LANGUAGE translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 03:34+0200\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=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr ""
+
+#: api.lua
+msgid "Mixing"
+msgstr ""
+
+#: api.lua
+msgid "Cooking"
+msgstr ""
+
+#: api.lua
+msgid "Digging"
+msgstr ""
+
+#: bags.lua
+msgid "Bags"
+msgstr ""
+
+#: bags.lua
+msgid "Bag @1"
+msgstr ""
+
+#: bags.lua
+msgid "Small Bag"
+msgstr ""
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr ""
+
+#: bags.lua
+msgid "Large Bag"
+msgstr ""
+
+#: group.lua
+msgid " and "
+msgstr ""
+
+#: internal.lua
+msgid "First page"
+msgstr ""
+
+#: internal.lua
+msgid "Back three pages"
+msgstr ""
+
+#: internal.lua
+msgid "Back one page"
+msgstr ""
+
+#: internal.lua
+msgid "Forward one page"
+msgstr ""
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr ""
+
+#: internal.lua
+msgid "Last page"
+msgstr ""
+
+#: internal.lua
+msgid "Search"
+msgstr ""
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr ""
+
+#: internal.lua
+msgid "No matching items"
+msgstr ""
+
+#: internal.lua
+msgid "No matches."
+msgstr ""
+
+#: internal.lua
+msgid "Page"
+msgstr ""
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr ""
+
+#: internal.lua
+msgid "Filter"
+msgstr ""
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr ""
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr ""
+
+#: register.lua
+msgid "Set home position"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr ""
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr ""
+
+#: register.lua
+msgid "Go home"
+msgstr ""
+
+#: register.lua
+msgid "Set time to day"
+msgstr ""
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr ""
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr ""
+
+#: register.lua
+msgid "Set time to night"
+msgstr ""
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr ""
+
+#: register.lua
+msgid "Clear inventory"
+msgstr ""
+
+#: register.lua
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr ""
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr ""
+
+#: register.lua
+msgid "Trash:"
+msgstr ""
+
+#: register.lua
+msgid "Refill:"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr ""
+
+#: register.lua
+msgid "No recipes"
+msgstr ""
+
+#: register.lua
+msgid "No usages"
+msgstr ""
+
+#: register.lua
+msgid "Result"
+msgstr ""
+
+#: register.lua
+msgid "Ingredient"
+msgstr ""
+
+#: register.lua
+msgid "Show next recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show next usage"
+msgstr ""
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show previous usage"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr ""
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+
+#: register.lua
+msgid "To craft grid:"
+msgstr ""
+
+#: register.lua
+msgid "All"
+msgstr ""
+
+#: waypoints.lua
+msgid "White"
+msgstr ""
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr ""
+
+#: waypoints.lua
+msgid "Red"
+msgstr ""
+
+#: waypoints.lua
+msgid "Green"
+msgstr ""
+
+#: waypoints.lua
+msgid "Blue"
+msgstr ""
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr ""
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr ""
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr ""
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr ""
+
+#: waypoints.lua
+msgid "invisible"
+msgstr ""
+
+#: waypoints.lua
+msgid "visible"
+msgstr ""
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr ""
+
+#: waypoints.lua
+msgid "Disable"
+msgstr ""
+
+#: waypoints.lua
+msgid "Enable"
+msgstr ""
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr ""
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr ""
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr ""
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr ""
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr ""
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr ""
+
+#: waypoints.lua
+msgid "World position"
+msgstr ""
+
+#: waypoints.lua
+msgid "Name"
+msgstr ""
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr ""
diff --git a/unified_inventory/locale/template.txt b/unified_inventory/locale/template.txt
deleted file mode 100644
index 0ea805b..0000000
--- a/unified_inventory/locale/template.txt
+++ /dev/null
@@ -1,104 +0,0 @@
-# Translation by
-
-### api.lua ###
-Digging (by chance) =
-
-# Template
-### bags.lua ###
-Bags =
-Bag @1 =
-Small Bag =
-Medium Bag =
-Large Bag =
-
-### inernal.lua ###
-First page =
-Back three pages =
-Back one page =
-Forward one page =
-Forward three pages =
-Last page =
-No matching items =
-Page =
-%s of %s =
-Filter =
-Search =
-Reset search and display everything =
-
-### register.lua ###
-Can use the creative inventory =
-Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally =
-Home position set to: %s =
-Time of day set to 6am =
-You don't have the settime priviledge! =
-Time of day set to 9pm =
-This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. =
-Inventory cleared! =
-Crafting =
-Digging =
-Cooking =
-Mixing =
-Trash: =
-Refill: =
-Crafting Guide =
-Method: =
-Result: %s =
-crafting =
-shapeless crafting =
-cooking =
-alloy cooking =
-Copy to craft grid: =
-All =
-Alternate =
-Crafting Grid =
-Show next recipe =
-Show next usage =
-Show previous recipe =
-Show previous usage =
-# Shown for huge crafting recipes; try to keep the line length short and use multiple line breaks as needed
-This recipe is too\nlarge to be displayed. =
-# %s = group name (e.g. wool)
-Any item belonging to the %s group =
-# %s = List of “and”-concatenated group names
-Any item belonging to the groups %s =
-Recipe %d of %d =
-Usage %d of %d =
-No recipes =
-No usages =
-Result =
-Ingredient =
-Set time to day =
-Set time to night =
-Set home position =
-Go home =
-Clear inventory =
-Give me: =
-To craft grid: =
-
-### group.lua ###
-# Logical connective, example: “Any item belonging to the groups foo and bar”
-\sand\s =
-
-### waypoints.lua ###
-White =
-Yellow =
-Red =
-Green =
-Blue =
-Waypoints =
-Waypoint %d =
-Waypoint active =
-Waypoint inactive =
-World position =
-Name =
-HUD text color =
-Edit waypoint name =
-Rename waypoint =
-Change color of waypoint display =
-Set waypoint to current location =
-Make waypoint visible =
-Make waypoint invisible =
-Disable display of waypoint coordinates =
-Enable display of waypoint coordinates =
-Finish editing =
-Select Waypoint #%d =
diff --git a/unified_inventory/locale/tr.po b/unified_inventory/locale/tr.po
new file mode 100644
index 0000000..2b6211f
--- /dev/null
+++ b/unified_inventory/locale/tr.po
@@ -0,0 +1,360 @@
+# Turkish translation for the unified_inventory mod.
+# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
+# This file is distributed under the same license as the unified_inventory package.
+# Mahmutelmas06@hotmail.com
+# CodeXP <codexp@gmx.net>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: unified_inventory\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-04-02 13:41+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: CodeXP <codexp@gmx.net>\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"
+
+#: api.lua register.lua
+msgid "Crafting"
+msgstr "Üretim"
+
+#: api.lua
+msgid "Mixing"
+msgstr "Karıştırma"
+
+#: api.lua
+msgid "Cooking"
+msgstr "Pişirme"
+
+#: api.lua
+msgid "Digging"
+msgstr "Kazma"
+
+#: bags.lua
+msgid "Bags"
+msgstr "Çantalarım"
+
+#: bags.lua
+msgid "Bag @1"
+msgstr "@1. Çanta"
+
+#: bags.lua
+msgid "Small Bag"
+msgstr "Küçük Çanta"
+
+#: bags.lua
+msgid "Medium Bag"
+msgstr "Çanta"
+
+#: bags.lua
+msgid "Large Bag"
+msgstr "Büyük Çanta"
+
+#: group.lua
+msgid " and "
+msgstr " ve "
+
+#: internal.lua
+msgid "First page"
+msgstr "İlk Sayfa"
+
+#: internal.lua
+msgid "Back three pages"
+msgstr "3 Sayfa Gerile"
+
+#: internal.lua
+msgid "Back one page"
+msgstr "Geri"
+
+#: internal.lua
+msgid "Forward one page"
+msgstr "İleri"
+
+#: internal.lua
+msgid "Forward three pages"
+msgstr "3 Sayfa İlerile"
+
+#: internal.lua
+msgid "Last page"
+msgstr "Son Sayfa"
+
+#: internal.lua
+msgid "Search"
+msgstr "Ara"
+
+#: internal.lua
+msgid "Reset search and display everything"
+msgstr ""
+
+#: internal.lua
+msgid "No matching items"
+msgstr "Eşleşme yok"
+
+#: internal.lua
+msgid "No matches."
+msgstr "Eşleşme yok"
+
+#: internal.lua
+msgid "Page"
+msgstr "Sayfa"
+
+#: internal.lua
+#, lua-format
+msgid "%s of %s"
+msgstr "%s dan %s"
+
+#: internal.lua
+msgid "Filter"
+msgstr "Süzgeç"
+
+#: register.lua
+msgid "Can use the creative inventory"
+msgstr "Yaratıcı envanteri kullanabilir"
+
+#: register.lua
+msgid ""
+"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
+"configured globally"
+msgstr ""
+
+#: register.lua
+msgid "Crafting Grid"
+msgstr "Üretim tablosu"
+
+#: register.lua
+msgid "Crafting Guide"
+msgstr "Kılavuz"
+
+#: register.lua
+msgid "Set home position"
+msgstr "Set ev pozisyon"
+
+#: register.lua
+#, lua-format
+msgid "Home position set to: %s"
+msgstr "Yeni eviniz: %s"
+
+#: register.lua
+msgid "You don't have the \"home\" privilege!"
+msgstr "\"home\" yetkiniz yok!"
+
+#: register.lua
+msgid "Go home"
+msgstr "Eve git"
+
+#: register.lua
+msgid "Set time to day"
+msgstr "Güne zaman ayarla"
+
+#: register.lua
+msgid "Time of day set to 6am"
+msgstr "Saat 06:00 olarak ayarlandı"
+
+#: register.lua
+msgid "You don't have the settime privilege!"
+msgstr "\"settime\" yetkiniz yok!"
+
+#: register.lua
+msgid "Set time to night"
+msgstr "Geceye zaman ayarla"
+
+#: register.lua
+msgid "Time of day set to 9pm"
+msgstr "Saat 19:00 olarak ayarlandı"
+
+#: register.lua
+msgid "Clear inventory"
+msgstr ""
+
+#: register.lua
+msgid ""
+"This button has been disabled outside of creative mode to prevent accidental "
+"inventory trashing.\n"
+"Use the trash slot instead."
+msgstr "Yaratıcı modu dışında iken bu tuş kullanılamaz."
+
+#: register.lua
+msgid "Inventory cleared!"
+msgstr "Envanter temizlendi!"
+
+#: register.lua
+msgid "Trash:"
+msgstr "Çöp"
+
+#: register.lua
+msgid "Refill:"
+msgstr "Doldur"
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the %s group"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Any item belonging to the groups %s"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "Recipe %d of %d"
+msgstr "%d dan %d tarifi"
+
+#: register.lua
+#, lua-format
+msgid "Usage %d of %d"
+msgstr "Kullanım %d/%d"
+
+#: register.lua
+msgid "No recipes"
+msgstr "Tarifi yok"
+
+#: register.lua
+msgid "No usages"
+msgstr "Kullanım yok"
+
+#: register.lua
+msgid "Result"
+msgstr "Çıktı"
+
+#: register.lua
+msgid "Ingredient"
+msgstr "Bileşen"
+
+#: register.lua
+msgid "Show next recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show next usage"
+msgstr ""
+
+#: register.lua
+msgid "Show previous recipe"
+msgstr ""
+
+#: register.lua
+msgid "Show previous usage"
+msgstr ""
+
+#: register.lua
+#, lua-format
+msgid "%s (%s)"
+msgstr ""
+
+#: register.lua
+msgid "Give me:"
+msgstr "Ver bana:"
+
+#: register.lua
+msgid ""
+"This recipe is too\n"
+"large to be displayed."
+msgstr ""
+
+#: register.lua
+#, fuzzy
+msgid "To craft grid:"
+msgstr "Üretim tablosuna kopyala"
+
+#: register.lua
+msgid "All"
+msgstr "Tümü"
+
+#: waypoints.lua
+msgid "White"
+msgstr "Beyaz"
+
+#: waypoints.lua
+msgid "Yellow"
+msgstr "Sarı"
+
+#: waypoints.lua
+msgid "Red"
+msgstr "Kırmızı"
+
+#: waypoints.lua
+msgid "Green"
+msgstr "Yeşil"
+
+#: waypoints.lua
+msgid "Blue"
+msgstr "Mavi"
+
+#: waypoints.lua
+msgid "Waypoints"
+msgstr "Konum Noktaları"
+
+#: waypoints.lua
+#, lua-format
+msgid "Select Waypoint #%d"
+msgstr "#%d konum noktası seç"
+
+#: waypoints.lua
+#, lua-format
+msgid "Waypoint %d"
+msgstr "%d Konum Noktaları"
+
+#: waypoints.lua
+msgid "Set waypoint to current location"
+msgstr "Bulunduğun noktayı işaretle"
+
+#: waypoints.lua
+msgid "invisible"
+msgstr "görünmez"
+
+#: waypoints.lua
+msgid "visible"
+msgstr "görünür"
+
+#: waypoints.lua
+msgid "Make waypoint @1"
+msgstr "Yol noktası @1"
+
+#: waypoints.lua
+msgid "Disable"
+msgstr ""
+
+#: waypoints.lua
+msgid "Enable"
+msgstr ""
+
+#: waypoints.lua
+msgid "@1 display of waypoint coordinates"
+msgstr "Yol noktası koordinatlarının görüntülenmesini @1"
+
+#: waypoints.lua
+msgid "Change color of waypoint display"
+msgstr "Konum Gösterge Rengi"
+
+#: waypoints.lua
+msgid "Edit waypoint name"
+msgstr "Konum Noktasını Düzenle"
+
+#: waypoints.lua
+msgid "Waypoint active"
+msgstr "Konum Etkin"
+
+#: waypoints.lua
+msgid "Waypoint inactive"
+msgstr "Konum Devredışı"
+
+#: waypoints.lua
+msgid "Finish editing"
+msgstr "Düzenleme bitti"
+
+#: waypoints.lua
+msgid "World position"
+msgstr "Dünya konumu"
+
+#: waypoints.lua
+msgid "Name"
+msgstr "İsim"
+
+#: waypoints.lua
+msgid "HUD text color"
+msgstr "Metin rengi"
diff --git a/unified_inventory/locale/tr.txt b/unified_inventory/locale/tr.txt
deleted file mode 100644
index e171fd6..0000000
--- a/unified_inventory/locale/tr.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-# Translation by Mahmutelmas06@hotmail.com
-
-# Template
-### bags.lua ###
-Bags = Çantalarım
-Bag @1 = @1. Çanta
-Small Bag = Küçük Çanta
-Medium Bag = Çanta
-Large Bag = Büyük Çanta
-
-### inernal.lua ###
-First page = İlk Sayfa
-Back three pages = 3 Sayfa Gerile
-Back one page = Geri
-Forward one page = İleri
-Forward three pages = 3 Sayfa İlerile
-Last page = Son Sayfa
-No matching items = Eşleşme yok
-Page = Sayfa
-%s of %s = %s dan %s
-Filter = Süzgeç
-Search = Ara
-
-### register.lua ###
-Can use the creative inventory = Yaratıcı envanteri kullanabilir
-Home position set to: %s = Yeni eviniz: %s
-Time of day set to 6am = Saat 06:00 olarak ayarlandı
-You don't have the settime priviledge = Saati düzenleme yetkiniz yok!
-Time of day set to 9pm = Saat 19:00 olarak ayarlandı
-This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Yaratıcı modu dışında iken bu tuş kullanılamaz.
-Inventory cleared! = Envanter temizlendi!
-Crafting = Üretim
-Trash: = Çöp
-Refill: = Doldur
-Crafting Guide = Kılavuz
-Method: = Yöntem
-Result: %s = Çıktı: %s
-crafting = üretim
-shapeless crafting = şekilsiz üretim
-cooking = pişirme
-alloy cooking = karıştırma
-Copy to craft grid: = Üretim tablosuna kopyala
-All = Tümü
-Recipe %s of %s = %s dan %s tarifi
-Alternate = Altarnatif
-Crafting Grid = Üretim tablosu
-
-### waypoints.lua ###
-White = Beyaz
-Yellow = Sarı
-Red = Kırmızı
-Green = Yeşil
-Blue = Mavi
-Waypoints = Konum Noktaları
-Waypoint active = Konum Etkin
-Waypoint inactive = Konum Devredışı
-World position = Dünya konumu
-Name = İsim
-HUD text color = Metin rengi
-Edit waypoint name = Konum Noktasını Düzenle
-Rename waypoint = Konum Noktasını Adlandır
-Change color of waypoint display = Konum Gösterge Rengi
-Set waypoint to current location = Bulunduğun noktayı işaretle
-Make waypoint visible = Konumlar görünür
-Make waypoint invisible = Konumlar gözükmez
-Disable display of waypoint coordinates = Koordinatları gizle
-Enable display of waypoint coordinates = Koordinatları göster
-Finish editing = Düzenleme bitti
-Select Waypoint #%d = #%d konum noktası seç
diff --git a/unified_inventory/register.lua b/unified_inventory/register.lua
index bd6a13b..dd2b3cc 100644
--- a/unified_inventory/register.lua
+++ b/unified_inventory/register.lua
@@ -1,5 +1,5 @@
local S = unified_inventory.gettext
-local F = unified_inventory.fgettext
+local F = minetest.formspec_escape
minetest.register_privilege("creative", {
description = S("Can use the creative inventory"),
@@ -171,20 +171,20 @@ unified_inventory.register_page("craft", {
local player_name = player:get_player_name()
local formspec = "background[2,"..formspecy..";6,3;ui_crafting_form.png]"
formspec = formspec.."background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]"
- formspec = formspec.."label[0,"..formheadery..";" ..F("Crafting").."]"
+ formspec = formspec.."label[0,"..formheadery..";" ..F(S("Crafting")).."]"
formspec = formspec.."listcolors[#00000000;#00000000]"
formspec = formspec.."list[current_player;craftpreview;6,"..formspecy..";1,1;]"
formspec = formspec.."list[current_player;craft;2,"..formspecy..";3,3;]"
if unified_inventory.trash_enabled or unified_inventory.is_creative(player_name) or minetest.get_player_privs(player_name).give then
- formspec = formspec.."label[7,"..(formspecy + 1.5)..";" .. F("Trash:") .. "]"
+ formspec = formspec.."label[7,"..(formspecy + 1.5)..";" .. F(S("Trash:")) .. "]"
formspec = formspec.."background[7,"..(formspecy + 2)..";1,1;ui_single_slot.png]"
formspec = formspec.."list[detached:trash;main;7,"..(formspecy + 2)..";1,1;]"
end
formspec = formspec.."listring[current_name;craft]"
formspec = formspec.."listring[current_player;main]"
if unified_inventory.is_creative(player_name) then
- formspec = formspec.."label[0,"..(formspecy + 1.5)..";" .. F("Refill:") .. "]"
- formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."refill;main;0,"..(formspecy +2)..";1,1;]"
+ formspec = formspec.."label[0,"..(formspecy + 1.5)..";" .. F(S("Refill:")) .. "]"
+ formspec = formspec.."list[detached:"..F(player_name).."refill;main;0,"..(formspecy +2)..";1,1;]"
end
return {formspec=formspec}
end,
@@ -211,10 +211,10 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item)
selectitem = group_item.sole and displayitem or name
end
local label = show_is_group and "G" or ""
- local buttonname = minetest.formspec_escape(buttonname_prefix..unified_inventory.mangle_for_formspec(selectitem))
+ local buttonname = F(buttonname_prefix..unified_inventory.mangle_for_formspec(selectitem))
local button = string.format("item_image_button[%f,%f;%f,%f;%s;%s;%s]",
x, y, w, h,
- minetest.formspec_escape(displayitem), buttonname, label)
+ F(displayitem), buttonname, label)
if show_is_group then
local groupstring, andcount = unified_inventory.extract_groupnames(name)
local grouptip
@@ -223,7 +223,7 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item)
elseif andcount > 1 then
grouptip = string.format(S("Any item belonging to the groups %s"), groupstring)
end
- grouptip = minetest.formspec_escape(grouptip)
+ grouptip = F(grouptip)
if andcount >= 1 then
button = button .. string.format("tooltip[%s;%s]", buttonname, grouptip)
end
@@ -232,24 +232,24 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item)
end
local recipe_text = {
- recipe = "Recipe %d of %d",
- usage = "Usage %d of %d",
+ recipe = S("Recipe %d of %d"),
+ usage = S("Usage %d of %d"),
}
local no_recipe_text = {
- recipe = "No recipes",
- usage = "No usages",
+ recipe = S("No recipes"),
+ usage = S("No usages"),
}
local role_text = {
- recipe = "Result",
- usage = "Ingredient",
+ recipe = S("Result"),
+ usage = S("Ingredient"),
}
local next_alt_text = {
- recipe = "Show next recipe",
- usage = "Show next usage",
+ recipe = S("Show next recipe"),
+ usage = S("Show next usage"),
}
local prev_alt_text = {
- recipe = "Show previous recipe",
- usage = "Show previous usage",
+ recipe = S("Show previous recipe"),
+ usage = S("Show previous usage"),
}
local other_dir = {
recipe = "usage",
@@ -268,7 +268,7 @@ unified_inventory.register_page("craftguide", {
local player_privs = minetest.get_player_privs(player_name)
local formspec = ""
formspec = formspec.."background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]"
- formspec = formspec.."label[0,"..formheadery..";" .. F("Crafting Guide") .. "]"
+ formspec = formspec.."label[0,"..formheadery..";" .. F(S("Crafting Guide")) .. "]"
formspec = formspec.."listcolors[#00000000;#00000000]"
local item_name = unified_inventory.current_item[player_name]
if not item_name then return {formspec=formspec} end
@@ -290,23 +290,25 @@ unified_inventory.register_page("craftguide", {
alternates = #crafts
craft = crafts[alternate]
end
+ local has_creative = player_privs.give or player_privs.creative or
+ minetest.settings:get_bool("creative_mode")
formspec = formspec.."background[0.5,"..(formspecy + 0.2)..";8,3;ui_craftguide_form.png]"
formspec = formspec.."textarea["..craftresultx..","..craftresulty
- ..";10,1;;"..minetest.formspec_escape(F(role_text[dir])..": "..item_name_shown)..";]"
+ ..";10,1;;"..F(role_text[dir])..": "..item_name_shown..";]"
formspec = formspec..stack_image_button(0, formspecy, 1.1, 1.1, "item_button_"
.. rdir .. "_", ItemStack(item_name))
if not craft then
formspec = formspec.."label[5.5,"..(formspecy + 2.35)..";"
- ..minetest.formspec_escape(F(no_recipe_text[dir])).."]"
+ ..F(no_recipe_text[dir]).."]"
local no_pos = dir == "recipe" and 4.5 or 6.5
local item_pos = dir == "recipe" and 6.5 or 4.5
formspec = formspec.."image["..no_pos..","..formspecy..";1.1,1.1;ui_no.png]"
formspec = formspec..stack_image_button(item_pos, formspecy, 1.1, 1.1, "item_button_"
..other_dir[dir].."_", ItemStack(item_name))
- if player_privs.give == true or player_privs.creative == true or minetest.setting_getbool("creative_mode") == true then
- formspec = formspec.."label[0,"..(formspecy + 2.10)..";" .. F("Give me:") .. "]"
+ if has_creative then
+ formspec = formspec.."label[0,"..(formspecy + 2.10)..";" .. F(S("Give me:")) .. "]"
.."button[0, "..(formspecy + 2.7)..";0.6,0.5;craftguide_giveme_1;1]"
.."button[0.6,"..(formspecy + 2.7)..";0.7,0.5;craftguide_giveme_10;10]"
.."button[1.3,"..(formspecy + 2.7)..";0.8,0.5;craftguide_giveme_99;99]"
@@ -319,7 +321,7 @@ unified_inventory.register_page("craftguide", {
if craft_type.icon then
formspec = formspec..string.format(" image[%f,%f;%f,%f;%s]",5.7,(formspecy + 0.05),0.5,0.5,craft_type.icon)
end
- formspec = formspec.."label[5.5,"..(formspecy + 1)..";" .. minetest.formspec_escape(craft_type.description).."]"
+ formspec = formspec.."label[5.5,"..(formspecy + 1)..";" .. F(craft_type.description).."]"
formspec = formspec..stack_image_button(6.5, formspecy, 1.1, 1.1, "item_button_usage_", ItemStack(craft.output))
local display_size = craft_type.dynamic_display_size and craft_type.dynamic_display_size(craft) or { width = craft_type.width, height = craft_type.height }
local craft_width = craft_type.get_shaped_craft_width and craft_type.get_shaped_craft_width(craft) or display_size.width
@@ -373,17 +375,17 @@ unified_inventory.register_page("craftguide", {
-- Error
formspec = formspec.."label["
..tostring(2)..","..tostring(formspecy)
- ..";"..minetest.formspec_escape(S("This recipe is too\nlarge to be displayed.")).."]"
+ ..";"..F(S("This recipe is too\nlarge to be displayed.")).."]"
end
if craft_type.uses_crafting_grid and display_size.width <= 3 then
- formspec = formspec.."label[0,"..(formspecy + 0.9)..";" .. F("To craft grid:") .. "]"
+ formspec = formspec.."label[0,"..(formspecy + 0.9)..";" .. F(S("To craft grid:")) .. "]"
.."button[0, "..(formspecy + 1.5)..";0.6,0.5;craftguide_craft_1;1]"
.."button[0.6,"..(formspecy + 1.5)..";0.7,0.5;craftguide_craft_10;10]"
- .."button[1.3,"..(formspecy + 1.5)..";0.8,0.5;craftguide_craft_max;" .. F("All") .. "]"
+ .."button[1.3,"..(formspecy + 1.5)..";0.8,0.5;craftguide_craft_max;" .. F(S("All")) .. "]"
end
- if player_privs.give == true or player_privs.creative == true or minetest.setting_getbool("creative_mode") == true then
- formspec = formspec.."label[0,"..(formspecy + 2.1)..";" .. F("Give me:") .. "]"
+ if has_creative then
+ formspec = formspec.."label[0,"..(formspecy + 2.1)..";" .. F(S("Give me:")) .. "]"
.."button[0, "..(formspecy + 2.7)..";0.6,0.5;craftguide_giveme_1;1]"
.."button[0.6,"..(formspecy + 2.7)..";0.7,0.5;craftguide_giveme_10;10]"
.."button[1.3,"..(formspecy + 2.7)..";0.8,0.5;craftguide_giveme_99;99]"
diff --git a/unified_inventory/waypoints.lua b/unified_inventory/waypoints.lua
index 3ab7eb7..3f9ee58 100644
--- a/unified_inventory/waypoints.lua
+++ b/unified_inventory/waypoints.lua
@@ -1,5 +1,5 @@
local S = unified_inventory.gettext
-local F = unified_inventory.fgettext
+local F = minetest.formspec_escape
local hud_colors = {
{"#FFFFFF", 0xFFFFFF, S("White")},
@@ -25,7 +25,7 @@ unified_inventory.register_page("waypoints", {
local waypoints = datastorage.get(player_name, "waypoints")
local formspec = "background[0,4.5;8,4;ui_main_inventory.png]" ..
"image[0,0;1,1;ui_waypoints_icon.png]" ..
- "label[1,0;" .. F("Waypoints") .. "]"
+ "label[1,0;" .. F(S("Waypoints")) .. "]"
-- Tabs buttons:
for i = 1, 5, 1 do
@@ -49,43 +49,43 @@ unified_inventory.register_page("waypoints", {
"ui_waypoint_set_icon.png;"..
"set_waypoint"..i..";]"..
"tooltip[set_waypoint" .. i .. ";"
- .. F("Set waypoint to current location").."]"
+ .. F(S("Set waypoint to current location")).."]"
formspec = formspec ..
"image_button[5.2,3.7;.8,.8;"..
(waypoint.active and "ui_on_icon.png" or "ui_off_icon.png")..";"..
"toggle_waypoint"..i..";]"..
"tooltip[toggle_waypoint" .. i .. ";"
- .. F("Make waypoint "
- ..(waypoint.active and "invisible" or "visible")).."]"
+ .. F(S("Make waypoint @1",
+ waypoint.active and S("invisible") or S("visible"))).."]"
formspec = formspec ..
"image_button[5.9,3.7;.8,.8;"..
(waypoint.display_pos and "ui_green_icon_background.png" or "ui_red_icon_background.png").."^ui_xyz_icon.png;"..
"toggle_display_pos" .. i .. ";]"..
"tooltip[toggle_display_pos" .. i .. ";"
- .. F((waypoint.display_pos and "Disable" or "Enable")
- .." display of waypoint coordinates").."]"
+ .. F(S("@1 display of waypoint coordinates",
+ waypoint.display_pos and S("Disable") or S("Enable"))) .."]"
formspec = formspec ..
"image_button[6.6,3.7;.8,.8;"..
"ui_circular_arrows_icon.png;"..
"toggle_color"..i..";]"..
"tooltip[toggle_color" .. i .. ";"
- .. F("Change color of waypoint display").."]"
+ .. F(S("Change color of waypoint display")).."]"
formspec = formspec ..
"image_button[7.3,3.7;.8,.8;"..
"ui_pencil_icon.png;"..
"rename_waypoint"..i..";]"..
"tooltip[rename_waypoint" .. i .. ";"
- .. F("Edit waypoint name").."]"
+ .. F(S("Edit waypoint name")).."]"
-- Waypoint's info:
if waypoint.active then
- formspec = formspec .. "label[1,0.8;"..F("Waypoint active").."]"
+ formspec = formspec .. "label[1,0.8;"..F(S("Waypoint active")).."]"
else
- formspec = formspec .. "label[1,0.8;"..F("Waypoint inactive").."]"
+ formspec = formspec .. "label[1,0.8;"..F(S("Waypoint inactive")).."]"
end
if temp.edit then
@@ -96,13 +96,13 @@ unified_inventory.register_page("waypoints", {
"ui_ok_icon.png;"..
"confirm_rename"..i.. ";]"..
"tooltip[confirm_rename" .. i .. ";"
- .. F("Finish editing").."]"
+ .. F(S("Finish editing")).."]"
end
- formspec = formspec .. "label[1,1.3;"..F("World position")..": " ..
+ formspec = formspec .. "label[1,1.3;"..F(S("World position"))..": " ..
minetest.pos_to_string(waypoint.world_pos or vector.new()) .. "]" ..
- "label[1,1.8;"..F("Name")..": ".. (waypoint.name or default_name) .. "]" ..
- "label[1,2.3;"..F("HUD text color")..": " ..
+ "label[1,1.8;"..F(S("Name"))..": ".. (waypoint.name or default_name) .. "]" ..
+ "label[1,2.3;"..F(S("HUD text color"))..": " ..
hud_colors[waypoint.color or 1][3] .. "]"
return {formspec=formspec}