Module:Lang: Difference between revisionsGive feedback
Jump to navigation
Jump to search
m get_string now handles both internal calls and external invokes, and non-1st args all named |
m fallback param added to get_string |
||
| Line 29: | Line 29: | ||
-- Get a localized string by the raw key | -- Get a localized string by the raw key | ||
p.get_string = function(key, lang_code_override, remove_var_index, upper_lower) | p.get_string = function(key, lang_code_override, fallback_str, remove_var_index, upper_lower) | ||
-- If called internally (direct Lua call), args will be passed directly. | -- If called internally (direct Lua call), args will be passed directly. | ||
-- If called from wikitext, `key` will be the `frame` object, and we get args from `frame.args`. | -- If called from wikitext, `key` will be the `frame` object, and we get args from `frame.args`. | ||
local lang_code_override | local lang_code_override | ||
local fallback_str | |||
local remove_var_index | local remove_var_index | ||
local upper_lower | local upper_lower | ||
| Line 41: | Line 42: | ||
key = frame.args[1] | key = frame.args[1] | ||
lang_code_override = frame.args["lang_code_override"] | lang_code_override = frame.args["lang_code_override"] | ||
fallback_str = frame.args["fallback_str"] | |||
remove_var_index = frame.args["remove_var_index"] | remove_var_index = frame.args["remove_var_index"] | ||
upper_lower = frame.args["upper_lower"] | upper_lower = frame.args["upper_lower"] | ||
| Line 59: | Line 61: | ||
-- Localize | -- Localize | ||
local label = data[KEY_OVERRIDES[key] or key] | local label = data[KEY_OVERRIDES[key] or key] | ||
if (label == nil) then | if (label == nil) then | ||
-- Apply fallback | |||
if (fallback_str == 'en') then | |||
return p.get_string(key, lang_code_override, nil, remove_var_index, upper_lower) | |||
elseif fallback_str ~= nil then | |||
return fallback_str | |||
end | |||
return '' | return '' | ||
end | end | ||