Modul:langfortemplate
Dokumentation för denna modul finns på /dok (redigera), /test
Parametrar
- konvertera språkkod till språknamn, resultat är "okänt språk" för okända språkkod eller icke-tom ogiltig inmatning
- (anonym och obligatorisk) språkkod enligt Modul:lang/data
- (namngiven och optionell) "u=1" versalisera begynnelsebokstaven
- (namngiven och optionell) "e=" med möjliga värden "alsoetym" och "onlyetym"
- validera två språkkoder (för Mall:härledning), möjliga resultat är "2" (båda bra) eller "1" (åtminstone en okänd) eller "0" (åtminstone en ogiltig)
- (anonym och obligatorisk) språkkod
- (anonym och obligatorisk) språkkod
- (namngiven och optionell) "e=" med möjliga värden "alsoetym" och "onlyetym"
- konvertera språknamn till språkkod, resultat är "xx" för okända språknamn eller icke-tom ogiltig inmatning
- (namngiven och obligatorisk) "reverse=" språknamn enligt Modul:lang/data men skiftlägesindifferent
- (namngiven och optionell) "e=" med möjliga värden "alsoetym" och "onlyetym"
Anmärkningar
Den här modulen anropas också från MediaWiki:Gadget-translation editor.js.
Exempel och självtest
{{#invoke:langfortemplate|go|sv}}
- "svenska"
"svenska"
{{#invoke:langfortemplate|go|grc}}
- "klassisk grekiska"
"klassisk grekiska"
{{#invoke:langfortemplate|go|EN}}
- FEL, "okänt språk"
"okänt språk"
{{#invoke:langfortemplate|go|En}}
- FEL, "okänt språk"
- "okänt språk"
{{#invoke:langfortemplate|go|sv|u=1}}
- versalisera
"Svenska"
{{#invoke:langfortemplate|go|sgs|u=1}}
- versalisera icke-ASCII tecken
- "Žemaitiska"
{{#invoke:langfortemplate|go|aad}}
- koden "aad" är okänd
"okänt språk"
{{#invoke:langfortemplate|go|swe}}
- koden "swe" är förbjuden
- "okänt språk"
{{#invoke:langfortemplate|go|svenska}}
- fel
"okänt språk"
{{#invoke:langfortemplate|go|bokMÅL}}
- fel
- "okänt språk"
{{#invoke:langfortemplate|go}}
- fel
""
{{#invoke:langfortemplate|go|}}
- fel
- ""
{{#invoke:langfortemplate|go|sv|eo}}
- två koder
"2"
{{#invoke:langfortemplate|go|ban|grc}}
- två längre koder
- "2"
{{#invoke:langfortemplate|go|sv|aad}}
- koden "aad" är okänd
"1"
{{#invoke:langfortemplate|go|aad|id}}
- koden "aad" är okänd
- "1"
{{#invoke:langfortemplate|go|sv|zxx}}
- koden "zxx" är förbjuden
"0"
{{#invoke:langfortemplate|go|zxx|id}}
- koden "zxx" är förbjuden
- "0"
{{#invoke:langfortemplate|go|nonsens|skräp}}
- fel
"0"
{{#invoke:langfortemplate|go|reverse=bokMÅL}}
- omvänd konvertering
- "no"
{{#invoke:langfortemplate|go|reverse=žemaitiska}}
- omvänd konvertering
"sgs"
{{#invoke:langfortemplate|go||u=1|id|ko|sv|blah-blah|reverse=tyska}}
- omvänd konvertering, tvivelaktig användning, parameter "reverse=" slår ut övriga parametrar
- "de"
{{#invoke:langfortemplate|go|reverse=zemaitiska}}
- omvänd konvertering, okänt språk
"xx"
{{#invoke:langfortemplate|go|id|reverse=}}
- försök till omvänd konvertering, tom inmatning funkar inte, det blir "indonesiska"
- "indonesiska"
{{#invoke:langfortemplate|go|reverse=grc}}
- omvänd konvertering, språkkod funkar inte för inmatning, det blir "xx"
"xx"
{{#invoke:langfortemplate|go|nn}}
- nynorska
- "nynorska"
{{#invoke:langfortemplate|go|h-nor}}
- etymologisk kod funkar ej utan vidare, det blir "okänt språk"
"okänt språk"
{{#invoke:langfortemplate|go|h-nor|e=alsoetym}}
- etymologisk kod funkar, "norska"
"norska"
Behövda submoduler
local exporttbl = {}
local lang_import = require ("Modul:lang")
function exporttbl.go (arxframent)
local arxourown = 0
local parameter_1 = ""
local parameter_2 = ""
local parameter_e = ""
local parameter_u1 = false
local parameter_reverse = ""
local result = ""
arxourown = arxframent.args
parameter_1 = arxourown[1] or ""
parameter_2 = arxourown[2] or ""
parameter_e = arxourown["e"] or ""
parameter_u1 = (arxourown["u"]=="1")
parameter_reverse = arxourown["reverse"] or ""
while (true) do
if (parameter_reverse~="") then
result = lang_import.getCode(parameter_reverse,parameter_e)
break
end--if
if (parameter_1=="") then
break
end--if
if (parameter_u1) then
result = lang_import.getLanguageUCFirst(parameter_1,parameter_e)
break
end--if
if (parameter_2=="") then
result = lang_import.getLanguage(parameter_1,parameter_e)
break
end--if
result = "0"
if (lang_import.isObviouslyInvalid(parameter_1)) then -- NOT "parameter_e" here
break
end--if
if (lang_import.isObviouslyInvalid(parameter_2)) then -- NOT "parameter_e" here
break
end--if
result = "1"
if (lang_import.hasLanguage(parameter_1,parameter_e)==false) then
break
end--if
if (lang_import.hasLanguage(parameter_2,parameter_e)==false) then
break
end--if
result = "2"
break
end--while
return result
end
return exporttbl