Module:Lang: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(+|label= support;) |
(-transl experiment;) |
||
Line 944: | Line 944: | ||
end |
end |
||
--[[--------------------------< T R A N S L >------------------------------------------------------------------ |
|||
Prospective replacement for the template {{transl}} |
|||
]] |
|||
function p.transl (frame) |
|||
local args = getArgs(frame); -- no {{#invoke:}} parameters |
|||
local language_name; -- language name that matches language code; used for tool tip |
|||
local translit; -- translitterated text to display |
|||
local script; -- IANA script |
|||
if is_set (args[1]) then |
|||
args.code = args[1]:lower(); -- IANA language code used for html lang= attribute; or ISO 15924 script code; lower case because indexes are lower case |
|||
end |
|||
if lang_data.override[args.code] then |
|||
language_name = lang_data.override[args.code][1]; |
|||
elseif lang_name_table.lang[args.code] then |
|||
language_name = lang_name_table.lang[args.code][1]; |
|||
elseif lang_name_table.script[args.code] then |
|||
language_name = lang_name_table.script[args.code][1]; |
|||
script = args.code; -- code was an ISO 15924 script so use that instead |
|||
args.code = ''; |
|||
else |
|||
return make_error_msg (table.concat ({'unrecognized language code: ', args})); -- invalid language code, don't know about the others (don't care?) |
|||
end |
|||
if is_set (args[3]) then -- [3] set when {{transl|code|standard|text}} |
|||
args.translit_std = args[2]; -- get the standard |
|||
args.translit = args[3]; -- get the transliterated text |
|||
else |
|||
if is_set (args[2]) then -- [2] set when {{transl|code|text}} |
|||
args.translit = args[2]; -- get the transliterated text |
|||
else |
|||
return make_error_msg ('no text', args); |
|||
end |
|||
end |
|||
translit = make_translit (args.code, language_name, args.translit, args.translit_std, script); |
|||
if not is_set (translit) then |
|||
return make_error_msg ('translit fail', args); |
|||
end |
|||
return translit; |
|||
end |
|||