Module:Lang: Difference between revisions

From Deadlock Wiki
Jump to navigation Jump to search
Saag (talk | contribs)
No edit summary
Saag (talk | contribs)
swapped argument order
Line 13: Line 13:
-- Get a localized string by the raw key
-- Get a localized string by the raw key
p.get_string = function(frame)
p.get_string = function(frame)
local lang_code = frame.args[1]
local key = frame.args[1]
local key = frame.args[2]
local lang_code = frame.args[2]
local data = get_lang_file(lang_code)
local data = get_lang_file(lang_code)
Line 31: Line 31:
-- Search for a localized string using its English label
-- Search for a localized string using its English label
p.search_string = function(frame)
p.search_string = function(frame)
local lang_code = frame.args[1]
local key = frame.args[1]
local attr_key = frame.args[2]
local lang_code = frame.args[2]
local data = get_lang_file(lang_code)
local data = get_lang_file(lang_code)
end
end


return p
return p

Revision as of 12:45, 15 September 2024

Documentation for this module may be created at Module:Lang/doc

local p = {}

function get_lang_file(lang_code)
	local file_name = string.format("Data:Lang_%s.json", lang_code)
    local success, data = pcall(mw.loadJsonData, file_name)
    if success then
        return data
    else
        return nil
    end
end

-- Get a localized string by the raw key
p.get_string = function(frame)
	local key = frame.args[1]
	local lang_code = frame.args[2]
	
	local data = get_lang_file(lang_code)
	if (data == nil) then
		return string.format("Language code '%s' not found", lang_code)	
	end
	
	local label = data[key]
	if (label == nil) then 
		return string.format("Key '%s' not found", key) 
	end
	
	return label
end

-- Search for a localized string using its English label
p.search_string = function(frame)
	local key = frame.args[1]
	local lang_code = frame.args[2]
	local data = get_lang_file(lang_code)
end

return p