forked from minetest-mods/unified_inventory
		
	refactor code to use with intllib tool
This commit is contained in:
		
							
								
								
									
										10
									
								
								api.lua
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								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, | ||||
|   | ||||
							
								
								
									
										24
									
								
								bags.lua
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								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, | ||||
| }) | ||||
| @@ -38,7 +38,7 @@ for i = 1, 4 do | ||||
| 			local stack = player:get_inventory():get_stack("bag"..bi, 1) | ||||
| 			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]" | ||||
| @@ -71,7 +71,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 = "" | ||||
|   | ||||
							
								
								
									
										17
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								init.lua
									
									
									
									
									
								
							| @@ -2,15 +2,9 @@ | ||||
|  | ||||
| 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,12 +34,11 @@ 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"), | ||||
| 	 | ||||
|  | ||||
| 	-- Trash enabled | ||||
| 	trash_enabled = (minetest.setting_getbool("unified_inventory_trash") ~= false), | ||||
|  | ||||
|   | ||||
							
								
								
									
										58
									
								
								internal.lua
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								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 | ||||
|   | ||||
							
								
								
									
										45
									
								
								intllib.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								intllib.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
							
								
								
									
										58
									
								
								register.lua
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								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,28 +232,28 @@ 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", | ||||
| 	usage = "recipe", | ||||
| 	recipe = S("usage"), | ||||
| 	usage = S("recipe"), | ||||
| } | ||||
|  | ||||
| unified_inventory.register_page("craftguide", { | ||||
| @@ -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 | ||||
| @@ -293,20 +293,20 @@ unified_inventory.register_page("craftguide", { | ||||
|  | ||||
| 		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:") .. "]" | ||||
| 				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 +319,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 +373,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:") .. "]" | ||||
| 			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]" | ||||
|   | ||||
| @@ -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} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user