Content deleted Content added
No edit summary |
No edit summary |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 6:
local namespace = mw.title.getCurrentTitle().namespace; -- used for categorization
local err_texts = { -- because wrapper templates have Latn/non-Latn text ordered according to the wrapper template's name
['lang-sh-cyrl-latn'] = true, -- this template has |1=cyrl script |2=latn script
}
Line 11 ⟶ 15:
assembles an error message from template name, message text, help link, and error category.
<span style="font-family: monospace, monospace;">{{', template, '}}</span>
]]
local function error_msg_make (msg, template,
local out = {};
local category = 'Lang and lang-xx';
table.insert (out, table.concat ({'<span style=\"color:#d33\">Error: <span style="font-family: monospace, monospace;">{{', template, '}}</span>: '}));
table.insert (out, msg);
table.insert (out, table.concat ({' ([[Template:
table.insert (out, '</span>');
if (0 == namespace or 10 == namespace) and not
table.insert (out, table.concat ({'[[Category:Lang and lang-xx template errors]]'}));
end
Line 149 ⟶ 153:
local text2 = args_t.text2 or args_t[3];
local translation = args_t.translation or args_t[4];
local template_name = args_t.template_name or 'lang-x2';
local nocat = ('yes' == args_t.nocat) or ('no' == args_t.cat); -- boolean
if not (tag and text1 and text2) then
return error_msg_make ('missing a required argument',
end
if tag:find ('-', 1, true) then
return error_msg_make ('invalid language tag: <
end
if not is_latn then
return error_msg_make ('<span style="font-family: monospace, monospace;"><' .. ((err_texts[template_name:lower()] and 'text2') or 'text1') .. '></span> is not Latin script (pos ' .. pos .. ')', template_name, nocat);
end
if is_latn then
return error_msg_make ('<span style="font-family: monospace, monospace;"><' .. ((err_texts[template_name:lower()] and 'text1') or 'text2') .. '></span> is Latin script (pos ' .. pos .. ')', template_name, nocat);
end
Line 168 ⟶ 176:
local ietf_tags = ietf_tag_make (args_t, tag, swap); -- for calls to {{lang}}
-- create base-form arguments tables
local lang_xx_args_t = {['code']=tag, ['label']=args_t.label, ['link']=args_t.link, ['cat']=args_t.cat, ['nocat']=args_t.nocat, ['cat']=args_t.cat}; -- for whichever <textn> renders first
local lang_args_t = {['code']=ietf_tags, ['cat']=args_t.cat, ['nocat']=args_t.nocat, ['cat']=args_t.cat}; -- for whichever <textn> renders second
param_select (args_t, lang_args_t, lang_xx_args_t, swap); -- load <lang_args_t>, <lang_xx_args_t> tables with appropriate enumerated parameters from <args_t> table according to <swap>
|