diff options
| -rw-r--r-- | barter.lua | 28 | ||||
| -rw-r--r-- | craftitems.lua | 12 | ||||
| -rw-r--r-- | depends.txt | 4 | ||||
| -rw-r--r-- | income.lua | 8 | ||||
| -rw-r--r-- | init.lua | 20 | ||||
| -rw-r--r-- | intllib.lua | 45 | ||||
| -rw-r--r-- | locale/template.pot | 177 | ||||
| -rw-r--r-- | loot.lua | 30 | ||||
| -rw-r--r-- | safe.lua | 38 | ||||
| -rw-r--r-- | shop.lua | 38 | 
10 files changed, 334 insertions, 66 deletions
| @@ -1,5 +1,9 @@  barter = {}
 +-- internationalization boilerplate
 +local MP = minetest.get_modpath(minetest.get_current_modname())
 +local S, NS = dofile(MP.."/intllib.lua")
 +
  barter.chest = {}
  barter.chest.formspec = {
  	main = "size[8,9]"..
 @@ -7,20 +11,20 @@ barter.chest.formspec = {  		"list[current_name;pl2;5,0;3,4;]"..
  		"list[current_player;main;0,5;8,4;]",
  	pl1 = {
 -		start = "button[3,1;1,1;pl1_start;Start]",
 +		start = "button[3,1;1,1;pl1_start;" .. S("Start") .. "]",
  		player = function(name) return "label[3,0;"..name.."]" end,
 -		accept1 = "button[3,1;1,1;pl1_accept1;Confirm]"..
 -				"button[3,2;1,1;pl1_cancel;Cancel]",
 -		accept2 = "button[3,1;1,1;pl1_accept2;Exchange]"..
 -				"button[3,2;1,1;pl1_cancel;Cancel]",
 +		accept1 = "button[3,1;1,1;pl1_accept1;" .. S("Confirm") .. "]"..
 +				"button[3,2;1,1;pl1_cancel;" .. S("Cancel") .. "]",
 +		accept2 = "button[3,1;1,1;pl1_accept2;" .. S("Exchange") .. "]"..
 +				"button[3,2;1,1;pl1_cancel;" .. S("Cancel") .. "]",
  	},
  	pl2 = {
 -		start = "button[4,1;1,1;pl2_start;Start]",
 +		start = "button[4,1;1,1;pl2_start;" .. S("Start") .. "]",
  		player = function(name) return "label[4,0;"..name.."]" end,
 -		accept1 = "button[4,1;1,1;pl2_accept1;Confirm]"..
 -				"button[4,2;1,1;pl2_cancel;Cancel]",
 -		accept2 = "button[4,1;1,1;pl2_accept2;Exchange]"..
 -				"button[4,2;1,1;pl2_cancel;Cancel]",
 +		accept1 = "button[4,1;1,1;pl2_accept1;" .. S("Confirm") .. "]"..
 +				"button[4,2;1,1;pl2_cancel;" .. S("Cancel") .. "]",
 +		accept2 = "button[4,1;1,1;pl2_accept2;" .. S("Exchange") .. "]"..
 +				"button[4,2;1,1;pl2_cancel;" .. S("Cancel") .. "]",
  	},
  }
 @@ -90,7 +94,7 @@ end  minetest.register_node("currency:barter", {
          drawtype = "nodebox",
 -	description = "Barter Table",
 +	description = S("Barter Table"),
  	paramtype = "light",
  	paramtype2 = "facedir",
  	tiles = {"barter_top.png",
 @@ -111,7 +115,7 @@ minetest.register_node("currency:barter", {  	sounds = default.node_sound_wood_defaults(),
  	on_construct = function(pos)
  		local meta = minetest.get_meta(pos)
 -		meta:set_string("infotext", "Barter Table")
 +		meta:set_string("infotext", S("Barter Table"))
  		meta:set_string("pl1","")
  		meta:set_string("pl2","")
  		barter.chest.update_formspec(meta)
 diff --git a/craftitems.lua b/craftitems.lua index 47ad953..a8d7570 100644 --- a/craftitems.lua +++ b/craftitems.lua @@ -1,26 +1,30 @@ +-- internationalization boilerplate
 +local MP = minetest.get_modpath(minetest.get_current_modname())
 +local S, NS = dofile(MP.."/intllib.lua")
 +
  minetest.register_craftitem("currency:minegeld", {
 -    description = "1 MineGeld Note",
 +    description = S("1 MineGeld Note"),
      inventory_image = "minegeld.png",
          stack_max = 30000,
  		groups = {minegeld = 1}
  })
  minetest.register_craftitem("currency:minegeld_5", {
 -    description = "5 MineGeld Note",
 +    description = S("5 MineGeld Note"),
      inventory_image = "minegeld_5.png",
          stack_max = 30000,
  		groups = {minegeld = 1}
  })
  minetest.register_craftitem("currency:minegeld_10", {
 -    description = "10 MineGeld Note",
 +    description = S("10 MineGeld Note"),
      inventory_image = "minegeld_10.png",
          stack_max = 30000,
  		groups = {minegeld = 1}
  })
  minetest.register_craftitem("currency:minegeld_bundle", {
 -    description = "Bundle of random Minegeld notes",
 +    description = S("Bundle of random Minegeld notes"),
      inventory_image = "minegeld_bundle.png",
          stack_max = 30000,
  })
 diff --git a/depends.txt b/depends.txt index 331d858..b474c2d 100644 --- a/depends.txt +++ b/depends.txt @@ -1 +1,3 @@ -default
\ No newline at end of file +default +intllib? +loot?
\ No newline at end of file @@ -1,5 +1,9 @@  players_income = {} +-- internationalization boilerplate +local MP = minetest.get_modpath(minetest.get_current_modname()) +local S, NS = dofile(MP.."/intllib.lua") +  local timer = 0  minetest.register_globalstep(function(dtime)      timer = timer + dtime; @@ -11,7 +15,7 @@ minetest.register_globalstep(function(dtime)                      players_income[name] = 0                  end                  players_income[name] = 1 -                minetest.log("info", "[Currency] basic income for "..name.."") +                minetest.log("info", S("[Currency] basic income for @1", name))          end      end  end) @@ -27,7 +31,7 @@ earn_income = function(player)          local inv = player:get_inventory()          inv:add_item("main", {name="currency:minegeld_5", count=count})          players_income[name] = 0 -        minetest.log("info", "[Currency] added basic income for "..name.." to inventory") +        minetest.log("info", S("[Currency] added basic income for @1 to inventory", name))      end  end @@ -1,20 +1,24 @@ -minetest.log("info", " Currency mod loading... ")
  local modpath = minetest.get_modpath("currency")
 +-- internationalization boilerplate
 +local S, NS = dofile(modpath.."/intllib.lua")
 +
 +minetest.log("info", S("Currency mod loading..."))
 +
  dofile(modpath.."/craftitems.lua")
 -minetest.log("info", "[Currency] Craft_items Loaded!")
 +minetest.log("info", S("[Currency] Craft_items Loaded!"))
  dofile(modpath.."/shop.lua")
 -minetest.log("info", "[Currency] Shop Loaded!")
 +minetest.log("info", S("[Currency] Shop Loaded!"))
  dofile(modpath.."/barter.lua")
 -minetest.log("info", "[Currency]  Barter Loaded!")
 +minetest.log("info", S("[Currency] Barter Loaded!"))
  dofile(modpath.."/safe.lua")
 -minetest.log("info", "[Currency] Safe Loaded!")
 +minetest.log("info", S("[Currency] Safe Loaded!"))
  dofile(modpath.."/crafting.lua")
 -minetest.log("info", "[Currency] Crafting Loaded!")
 +minetest.log("info", S("[Currency] Crafting Loaded!"))
  if minetest.setting_getbool("creative_mode") then
 -	minetest.log("info", "[Currency] Creative mode in use, skipping basic income.")
 +	minetest.log("info", S("[Currency] Creative mode in use, skipping basic income."))
  else
  	dofile(modpath.."/income.lua")
 -	minetest.log("info", "[Currency] Income Loaded!")
 +	minetest.log("info", S("[Currency] Income Loaded!"))
  end
 diff --git a/intllib.lua b/intllib.lua new file mode 100644 index 0000000..6669d72 --- /dev/null +++ b/intllib.lua @@ -0,0 +1,45 @@ + +-- Fallback functions for when `intllib` is not installed. +-- Code released under Unlicense <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/locale/template.pot b/locale/template.pot new file mode 100644 index 0000000..aaae543 --- /dev/null +++ b/locale/template.pot @@ -0,0 +1,177 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-11 21:23-0700\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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: barter.lua:14 barter.lua:22 +msgid "Start" +msgstr "" + +#: barter.lua:16 barter.lua:24 +msgid "Confirm" +msgstr "" + +#: barter.lua:17 barter.lua:19 barter.lua:25 barter.lua:27 +msgid "Cancel" +msgstr "" + +#: barter.lua:18 barter.lua:26 shop.lua:20 +msgid "Exchange" +msgstr "" + +#: barter.lua:97 barter.lua:118 +msgid "Barter Table" +msgstr "" + +#: craftitems.lua:6 +msgid "1 MineGeld Note" +msgstr "" + +#: craftitems.lua:13 +msgid "5 MineGeld Note" +msgstr "" + +#: craftitems.lua:20 +msgid "10 MineGeld Note" +msgstr "" + +#: craftitems.lua:27 +msgid "Bundle of random Minegeld notes" +msgstr "" + +#: income.lua:18 +msgid "[Currency] basic income for @1" +msgstr "" + +#: income.lua:34 +msgid "[Currency] added basic income for @1 to inventory" +msgstr "" + +#: init.lua:6 +msgid "Currency mod loading..." +msgstr "" + +#: init.lua:9 +msgid "[Currency] Craft_items Loaded!" +msgstr "" + +#: init.lua:11 +msgid "[Currency] Shop Loaded!" +msgstr "" + +#: init.lua:13 +msgid "[Currency] Barter Loaded!" +msgstr "" + +#: init.lua:15 +msgid "[Currency] Safe Loaded!" +msgstr "" + +#: init.lua:17 +msgid "[Currency] Crafting Loaded!" +msgstr "" + +#: init.lua:20 +msgid "[Currency] Creative mode in use, skipping basic income." +msgstr "" + +#: init.lua:23 +msgid "[Currency] Income Loaded!" +msgstr "" + +#: safe.lua:29 +msgid "Safe" +msgstr "" + +#: safe.lua:44 +msgid "Safe (owned by @1)" +msgstr "" + +#: safe.lua:61 safe.lua:70 safe.lua:79 +msgid "@1 tried to access a safe belonging to @2 at @3" +msgstr "" + +#: safe.lua:86 +msgid "@1 moves stuff in safe at @2" +msgstr "" + +#: safe.lua:89 +msgid "@1 moves stuff to safe at @2" +msgstr "" + +#: safe.lua:92 +msgid "@1 takes stuff from safe at @2" +msgstr "" + +#: shop.lua:11 +msgid "Customer gives (pay here!)" +msgstr "" + +#: shop.lua:13 +msgid "Customer gets:" +msgstr "" + +#: shop.lua:15 +msgid "Owner wants:" +msgstr "" + +#: shop.lua:17 +msgid "Owner gives:" +msgstr "" + +#: shop.lua:26 +msgid "Customers gave:" +msgstr "" + +#: shop.lua:28 +msgid "Your stock:" +msgstr "" + +#: shop.lua:30 +msgid "You want:" +msgstr "" + +#: shop.lua:32 +msgid "In exchange, you give:" +msgstr "" + +#: shop.lua:34 +msgid "Owner, Use (E)+Place (right mouse button) for customer interface" +msgstr "" + +#: shop.lua:88 +msgid "Shop" +msgstr "" + +#: shop.lua:102 +msgid "Exchange shop (owned by @1)" +msgstr "" + +#: shop.lua:151 +msgid "This is your own shop, you can't exchange to yourself!" +msgstr "" + +#: shop.lua:188 +msgid "Exchanged!" +msgstr "" + +#: shop.lua:191 +msgid "Exchange can not be done, contact the shop owner." +msgstr "" + +#: shop.lua:193 +msgid "Exchange can not be done, check if you put all items!" +msgstr "" diff --git a/loot.lua b/loot.lua new file mode 100644 index 0000000..c66fbb5 --- /dev/null +++ b/loot.lua @@ -0,0 +1,30 @@ +if not minetest.get_modpath("loot") then +	return +end + +loot.register_loot({ +	weights = { generic = 50 }, +	payload = { +		stack = ItemStack("currency:minegeld"), +		min_size = 1, +		max_size = 50, +	}, +}) + +loot.register_loot({ +	weights = { generic = 50 }, +	payload = { +		stack = ItemStack("currency:minegeld_5"), +		min_size = 1, +		max_size = 10, +	}, +}) + +loot.register_loot({ +	weights = { generic = 50 }, +	payload = { +		stack = ItemStack("currency:minegeld_10"), +		min_size = 1, +		max_size = 5, +	}, +})
\ No newline at end of file @@ -1,3 +1,7 @@ +-- internationalization boilerplate
 +local MP = minetest.get_modpath(minetest.get_current_modname())
 +local S, NS = dofile(MP.."/intllib.lua")
 +
  function default.get_safe_formspec(pos)
  	local spos = pos.x .. "," .. pos.y .. "," ..pos.z
  	local formspec =
 @@ -22,12 +26,12 @@ local function has_safe_privilege(meta, player)  end
  minetest.register_node("currency:safe", {
 -        description = "Safe",
 +	description = S("Safe"),
  	inventory_image = "safe_front.png",
  	paramtype = "light",
  	paramtype2 = "facedir",
  	tiles = {"safe_side.png",
 -	                "safe_side.png",
 +	        "safe_side.png",
  			"safe_side.png",
  			"safe_side.png",
  			"safe_side.png",
 @@ -37,8 +41,7 @@ minetest.register_node("currency:safe", {  	after_place_node = function(pos, placer)
  		local meta = minetest.get_meta(pos)
  		meta:set_string("owner", placer:get_player_name() or "")
 -		meta:set_string("infotext", "Safe (owned by "..
 -				meta:get_string("owner")..")")
 +		meta:set_string("infotext", S("Safe (owned by @1)", meta:get_string("owner")))
  	end,
  	on_construct = function(pos)
  		local meta = minetest.get_meta(pos)
 @@ -55,10 +58,8 @@ minetest.register_node("currency:safe", {  	allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
  		local meta = minetest.get_meta(pos)
  		if not has_safe_privilege(meta, player) then
 -			minetest.log("action", player:get_player_name()..
 -					" tried to access a safe belonging to "..
 -					meta:get_string("owner").." at "..
 -					minetest.pos_to_string(pos))
 +			minetest.log("action", S("@1 tried to access a safe belonging to @2 at @3",
 +				player:get_player_name(), meta:get_string("owner"),	minetest.pos_to_string(pos)))
  			return 0
  		end
  		return count
 @@ -66,10 +67,8 @@ minetest.register_node("currency:safe", {      allow_metadata_inventory_put = function(pos, listname, index, stack, player)
  		local meta = minetest.get_meta(pos)
  		if not has_safe_privilege(meta, player) then
 -			minetest.log("action", player:get_player_name()..
 -					" tried to access a safe belonging to "..
 -					meta:get_string("owner").." at "..
 -					minetest.pos_to_string(pos))
 +			minetest.log("action", S("@1 tried to access a safe belonging to @2 at @3",
 +				player:get_player_name(), meta:get_string("owner"), minetest.pos_to_string(pos)))
  			return 0
  		end
  		return stack:get_count()
 @@ -77,25 +76,20 @@ minetest.register_node("currency:safe", {      allow_metadata_inventory_take = function(pos, listname, index, stack, player)
  		local meta = minetest.get_meta(pos)
  		if not has_safe_privilege(meta, player) then
 -			minetest.log("action", player:get_player_name()..
 -					" tried to access a safe belonging to "..
 -					meta:get_string("owner").." at "..
 -					minetest.pos_to_string(pos))
 +			minetest.log("action", S("@1 tried to access a safe belonging to @2 at @3",
 +				player:get_player_name(), meta:get_string("owner"), minetest.pos_to_string(pos)))
  			return 0
  		end
  		return stack:get_count()
  	end,
  	on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
 -		minetest.log("action", player:get_player_name()..
 -				" moves stuff in safe at "..minetest.pos_to_string(pos))
 +		minetest.log("action", S("@1 moves stuff in safe at @2", player:get_player_name(), minetest.pos_to_string(pos)))
  	end,
      on_metadata_inventory_put = function(pos, listname, index, stack, player)
 -		minetest.log("action", player:get_player_name()..
 -				" moves stuff to safe at "..minetest.pos_to_string(pos))
 +		minetest.log("action", S("@1 moves stuff to safe at @2", player:get_player_name(), minetest.pos_to_string(pos)))
  	end,
      on_metadata_inventory_take = function(pos, listname, index, stack, player)
 -		minetest.log("action", player:get_player_name()..
 -				" takes stuff from safe at "..minetest.pos_to_string(pos))
 +		minetest.log("action", S("@1 takes stuff from safe at @2", player:get_player_name(), minetest.pos_to_string(pos)))
  	end,
  	on_rightclick = function(pos, node, clicker)
  		local meta = minetest.get_meta(pos)
 @@ -1,33 +1,37 @@ +-- internationalization boilerplate
 +local MP = minetest.get_modpath(minetest.get_current_modname())
 +local S, NS = dofile(MP.."/intllib.lua")
 +
  default.shop = {}
  default.shop.current_shop = {}
  default.shop.formspec = {
  	customer = function(pos)
  		local list_name = "nodemeta:"..pos.x..','..pos.y..','..pos.z
  		local formspec = "size[8,9.5]"..
 -		"label[0,0;Customer gives (pay here !)]"..
 +		"label[0,0;" .. S("Customer gives (pay here!)") .. "]"..
  		"list[current_player;customer_gives;0,0.5;3,2;]"..
 -		"label[0,2.5;Customer gets]"..
 +		"label[0,2.5;" .. S("Customer gets:") .. "]"..
  		"list[current_player;customer_gets;0,3;3,2;]"..
 -		"label[5,0;Owner wants]"..
 +		"label[5,0;" .. S("Owner wants:") .. "]"..
  		"list["..list_name..";owner_wants;5,0.5;3,2;]"..
 -		"label[5,2.5;Owner gives]"..
 +		"label[5,2.5;" .. S("Owner gives:") .. "]"..
  		"list["..list_name..";owner_gives;5,3;3,2;]"..
  		"list[current_player;main;0,5.5;8,4;]"..
 -		"button[3,2;2,1;exchange;Exchange]"
 +		"button[3,2;2,1;exchange;" .. S("Exchange") .. "]"
  		return formspec
  	end,
  	owner = function(pos)
  		local list_name = "nodemeta:"..pos.x..','..pos.y..','..pos.z
  		local formspec = "size[8,9.5]"..
 -		"label[0,0;Customers gave:]"..
 +		"label[0,0;" .. S("Customers gave:") .. "]"..
  		"list["..list_name..";customers_gave;0,0.5;3,2;]"..
 -		"label[0,2.5;Your stock:]"..
 +		"label[0,2.5;" .. S("Your stock:") .. "]"..
  		"list["..list_name..";stock;0,3;3,2;]"..
 -		"label[5,0;You want:]"..
 +		"label[5,0;" .. S("You want:") .. "]"..
  		"list["..list_name..";owner_wants;5,0.5;3,2;]"..
 -		"label[5,2.5;In exchange, you give:]"..
 +		"label[5,2.5;" .. S("In exchange, you give:") .. "]"..
  		"list["..list_name..";owner_gives;5,3;3,2;]"..
 -		"label[0,5;Owner, Use(E)+Place(RMB) for customer interface]"..
 +		"label[0,5;" .. S("Owner, Use (E)+Place (right mouse button) for customer interface") .. "]"..
  		"list[current_player;main;0,5.5;8,4;]"
  		return formspec
  	end,
 @@ -81,10 +85,10 @@ default.shop.exchange = function(meta)  end
  minetest.register_node("currency:shop", {
 -	description = "Shop",
 +	description = S("Shop"),
  	paramtype2 = "facedir",
  	tiles = {"shop_top.png",
 -	                "shop_top.png",
 +			"shop_top.png",
  			"shop_side.png",
  			"shop_side.png",
  			"shop_side.png",
 @@ -95,7 +99,7 @@ minetest.register_node("currency:shop", {  	after_place_node = function(pos, placer, itemstack)
  		local owner = placer:get_player_name()
  		local meta = minetest.get_meta(pos)
 -		meta:set_string("infotext", "Exchange shop (owned by "..owner..")")
 +		meta:set_string("infotext", S("Exchange shop (owned by @1)", owner))
  		meta:set_string("owner",owner)
  		--[[meta:set_string("pl1","")
  		meta:set_string("pl2","")]]
 @@ -144,7 +148,7 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)  		local pos = default.shop.current_shop[name]
  		local meta = minetest.get_meta(pos)
  		if meta:get_string("owner") == name then
 -			minetest.chat_send_player(name,"This is your own shop, you can't exchange to yourself !")
 +			minetest.chat_send_player(name,S("This is your own shop, you can't exchange to yourself!"))
  		else
  			local minv = meta:get_inventory()
  			local pinv = sender:get_inventory()
 @@ -181,12 +185,12 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)  					minv:remove_item("stock",item)
  					pinv:add_item("customer_gets",item)
  				end
 -				minetest.chat_send_player(name,"Exchanged!")
 +				minetest.chat_send_player(name,S("Exchanged!"))
  			else
  				if owners_fault then
 -					minetest.chat_send_player(name,"Exchange can not be done, contact the shop owner.")
 +					minetest.chat_send_player(name,S("Exchange can not be done, contact the shop owner."))
  				else
 -					minetest.chat_send_player(name,"Exchange can not be done, check if you put all items !")
 +					minetest.chat_send_player(name,S("Exchange can not be done, check if you put all items!"))
  				end
  			end
  		end
 | 
