Module:Lang: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(use code for categories, not args.code;) |
(promote code to ISO 639-1 if synonymous;) |
||
Line 10: | Line 10: | ||
local getArgs = require ('Module:Arguments').getArgs; |
local getArgs = require ('Module:Arguments').getArgs; |
||
local lang_name_table = mw.loadData ('Module:Language/name/data'); |
local lang_name_table = mw.loadData ('Module:Language/name/data'); |
||
local synonym_table = mw.loadData ('Module:Lang/ISO 639 synonyms'); -- ISO 639-2/639-2T code translation to 639-1 code |
|||
local lang_data = mw.loadData ('Module:Lang/data'); -- language name override and transliteration tool-tip tables |
local lang_data = mw.loadData ('Module:Lang/data'); -- language name override and transliteration tool-tip tables |
||
local namespace = mw.title.getCurrentTitle().namespace; -- used for categorization |
local namespace = mw.title.getCurrentTitle().namespace; -- used for categorization |
||
local maint_cats = {}; -- maintenance categories go here |
|||
Line 185: | Line 189: | ||
if not (lang_data.override[code] or lang_name_table.lang[code]) then |
if not (lang_data.override[code] or lang_name_table.lang[code]) then |
||
return nil, nil, nil, nil, table.concat {'unrecognized language code: ', code}; -- invalid language code, don't know about the others (don't care?) |
return nil, nil, nil, nil, table.concat {'unrecognized language code: ', code}; -- invalid language code, don't know about the others (don't care?) |
||
end |
|||
if synonym_table[code] then -- if 639-2/639-2T code has a 639-1 synonym |
|||
table.insert (maint_cats, {'Lang or lang-xx code promoted to ISO 639-1', code}); |
|||
code = synonym_table[code][1]; -- use the synonym |
|||
end |
end |
||
Line 559: | Line 568: | ||
table.insert (out, make_text_span (args.code, args.text, args.rtl, args.italic, args.size)); |
table.insert (out, make_text_span (args.code, args.text, args.rtl, args.italic, args.size)); |
||
table.insert (out, make_category (code, language_name, args.nocat)); |
table.insert (out, make_category (code, language_name, args.nocat)); |
||
if 0 < #maint_cats then |
|||
for _, cat_tbl in ipairs (maint_cats) do |
|||
table.insert (out, table.concat ({'[[Category:', cat_tbl[1], '|', cat_tbl[2], ']]'})); |
|||
end |
|||
end |
|||
return table.concat (out); -- put it all together and done |
return table.concat (out); -- put it all together and done |
||
end |
end |