Module:Lang: Difference between revisions

Jump to navigation Jump to search
1,865 bytes removed ,  6 years ago
-transl experiment;
(+|label= support;)
(-transl experiment;)
Line 944:
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
 
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu