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