Saltu al enhavo

Modulo:Langs

El Vikinovaĵoj, libera retgazeto

Dokumentado por ĉi tiu modulo povas esti kreata ĉe Modulo:Langs/dokumentado

--[[
------------------------------------------
--             Langs
-- Модуль для заполнения в модулях шабона lang. 
------------------------------------------
--]]

local Langs = {}

local Declension = require("Module:Declension")

-- Wrapper for invoke
-- Usage:
-- {{#invoke:Langs|getPrefixByCodeInvoke|code}}
function Langs.getPrefixByCodeInvoke(frame) 
 return Langs.getPrefixByCode(frame.args[1])
end

function Langs.getPrefixByCode(code)
 local l1, l2, l3, l4, l5 = Langs.processCode(code)
 return mw.ustring.lower(l1)
end

-- Wrapper for invoke
-- Usage:
-- {{#invoke:Langs|launch|code|text}}
function Langs.launchInvoke(frame) 
 return Langs.launch(frame.args[1], frame.args[2])
end

function Langs.launch(code, text)
 if(text == nil) then text = "Module:Langs.launch Error: empty text" end
 if(code == nil) then code = "Module:Langs.launch Error: empty code" end
 local l1, l2, l3, l4, l5 = Langs.processCode(code)
 if(l4 == false)  then return "[[" .. l1 ..  " lingvo|" .. l2 ..  "]] ''" .. text .. "''[[Kategorio:Enhavas tekston en " .. l3 .. " lingvo]][[Kategorio:En modulo Langs mankas priskribo de la lingvo]]" 
  elseif (code == "ar") then return "[[" .. l1 ..  " lingvo|" .. l2 ..  "]]" .. " ‏" .. text .. "‎[[Kategorio:Enhavas tekston en " .. l3 .. " lingvo]]" 
  elseif (code == "fa") then return "[[" .. l1 ..  " lingvo|" .. l2 ..  "]]" .. " ‏" .. text .. "‎[[Kategorio:Enhavas tekston en " .. l3 .. " lingvo]]" 
  elseif (code == "he") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Kategorio:Enhavas tekston en " .. l3 .. "]]" 
  elseif (code == "ru") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Kategorio:Enhavas tekston en " .. l3 .. " lingvo]]" 
  elseif (code == "fa") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Kategorio:Enhavas tekston en " .. l3 .. " lingvo]]"   	
  elseif (code == "ps") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Kategorio:Enhavas tekston en " .. l3 .. "]]" 
  elseif (code == "sah") then return "[[lingvo " .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Kategorio:Enhavas tekston en lingvo " .. l3 .. "]]" 
  elseif (code == "yi") then return "[[" .. l1 .. "|" .. l2 .. "]]" .. " ''‏" .. text .. "‎''[[Kategorio:Enhavas tekston en " .. l3 .. "]]"  
 end
-- Не добавлять слово "язык" при его названии, например "хинди" - "Содержит текст на хинди".
 if(l5 == false) then return "[[" .. l1 ..  "|" .. l2 ..  "]]" .. " ''" .. text .. "''[[Kategorio:Enhavas tekston en " .. l3 .. "]]"
  else return "[[" .. l1 ..  " lingvo|" .. l2 ..  "]]" .. " ''" .. text .. "''[[Kategorio:Enhavas tekston en " .. l3 .. " lingvo]]"
 end
end

function Langs.processCode(code)
	
 if (code == "ar") then return "Araba", "araba", "araba", true, true
  elseif (code == "az") then return "Azerbajĝana", "azerbajĝana", "azerbajĝana", true, true
  elseif (code == "ba") then return "Baŝkira", "baŝkira", "baŝkira", true, true
  elseif (code == "be") then return "Belorusa", "belorusa", "belorusa", true, true
  elseif (code == "bg") then return "Bolgara", "bolgara", "bolgara", true, true
  elseif (code == "bn") then return "Bengala", "bengala", "bengala", true, true
  elseif (code == "bua") then return "Burjata", "burjata", "burjata", true, true
  elseif (code == "ca") then return "Kataluna", "kataluna", "kataluna", true, true
  elseif (code == "ce") then return "Ĉeĉena", "ĉeĉena", "ĉeĉena", true, true
  elseif (code == "cs") then return "Ĉeĥa", "ĉeĥa", "ĉeĥa", true, true
  elseif (code == "da") then return "Dana", "dana", "dana", true, true
  elseif (code == "de") then return "Germana", "germana", "germana", true, true
  elseif (code == "el") then return "Greka", "greka", "greka", true, true
  elseif (code == "en") then return "Angla", "angla", "angla", true, true
  elseif (code == "en-gb") then return "Britia angla", "britia angla", "britia angla", true, false
  elseif (code == "en-us") then return "Usona angla", "usona angla", "usona angla", true, false
  elseif (code == "es") then return "Hispana", "hispana", "hispana", true, true
  elseif (code == "eu") then return "Баскский", "баск.", "баскском", true, true
  elseif (code == "et") then return "Estona", "estona", "estona", true, true
  elseif (code == "fa") then return "Persa", "persa", "persa", true, true
  elseif (code == "fi") then return "Finna", "finna", "finna", true, true
  elseif (code == "fit") then return "Tornival-finna", "tornival-finna", "tornival-finna", true, true
  elseif (code == "fr") then return "Franca", "franca", "franca", true, true
  elseif (code == "haw") then return "Havaja", "havaja", "havaja", true, true
  elseif (code == "he") then return "Hebrea", "hebrea", "hebrea", true, true
  elseif (code == "hi") then return "Hindia", "hindia", "hindia", true, false
  elseif (code == "hr") then return "Kroata", "kroata", "kroata", true, true
  elseif (code == "hu") then return "Hungara", "hungara", "hungara", true, true
  elseif (code == "hy") then return "Armena", "armena", "armena", true, true
  elseif (code == "id") then return "Indonezia", "indonezia", "indonezia", true, true
  elseif (code == "inh") then return "Inguŝa", "inguŝa", "inguŝa", true, true
  elseif (code == "it") then return "Itala", "itala", "itala", true, true
  elseif (code == "ja") then return "Japana", "japana", "japana", true, true
  elseif (code == "ka") then return "Kartvela", "kartvela", "kartvela", true, true
  elseif (code == "kk") then return "Kazaĥa", "kazaĥa", "kazaĥa", true, true
  elseif (code == "ko") then return "Korea", "korea", "korea", true, true
  elseif (code == "kv") then return "Komia", "komia", "komia", true, true
  elseif (code == "ky") then return "Korgiza", "kirgiza", "kirgiza", true, true
  elseif (code == "la") then return "Latina", "latina", "latina", true, true
  elseif (code == "lez") then return "Lezga", "lezga", "lezga", true, true
  elseif (code == "lt") then return "Litova", "litova", "litova", true, true
  elseif (code == "lv") then return "Latva", "latva", "latva", true, true
  elseif (code == "mi") then return "Maoria", "maoria", "maoria", true, false
  elseif (code == "mk") then return "Makedona", "makedona", "makedona", true, true
  elseif (code == "mn") then return "Mongola", "mongola", "mongola", true, true
  elseif (code == "ms") then return "Malaja", "malaja", "malaja", true, true
  elseif (code == "nl") then return "Nederlanda", "nederlanda", "nederlanda", true, true
  elseif (code == "no") then return "Norvega", "norvega", "norvega", true, true
  elseif (code == "nor") then return "Norvega", "norvega", "norvega", true, true
  elseif (code == "oc") then return "Okcitana", "okcitana", "okcitana", true, true
  elseif (code == "ovd") then return "Elfdalia", "elfdalia", "elfdalia", true, true
  elseif (code == "pl") then return "Pola", "pola", "pola", true, true
  elseif (code == "ps") then return "Puŝtuna", "puŝtuna", "puŝtuna", true, true
  elseif (code == "pt") then return "Portugala", "portugala", "portugala", true, true
  elseif (code == "rm") then return "Romanĉa", "romanĉa", "romanĉa", true, true
  elseif (code == "ro") then return "Rumana", "rumana", "rumana", true, true
  elseif (code == "rom") then return "Romaa", "romaa", "romaa", true, true
  elseif (code == "ru") then return "Rusa", "rusa", "rusa", true, true
  elseif (code == "sah") then return "Jakuta", "jakuta", "jakuta", true, true
  elseif (code == "sk") then return "Slovaka", "slovaka", "slovaka", true, true
  elseif (code == "sl") then return "Slovena", "slovena", "slovena", true, true
  elseif (code == "sma") then return "Sud-samea", "sud-samea", "sud-samea", true, true
  elseif (code == "smi") then return "Samea", "samea", "samea", true, true
 elseif (code == "sq") then return "Albana", "albana", "albana", true, true
  elseif (code == "sr") then return "Serba", "serba", "serba", true, true
  elseif (code == "sv") then return "Sveda", "sveda", "sveda", true, true
  elseif (code == "tk") then return "Turkmena", "turkmena", "turkmena", true, true
  elseif (code == "tr") then return "Turka", "turka", "turka", true, true
  elseif (code == "tt") then return "Tatara", "tatara", "tatara", true, true
  elseif (code == "tt-cyrl") then return "Tatara", "tatara", "tatara", true, true
  elseif (code == "uz") then return "Uzbeka", "uzbeka", "uzbeka", true, true
  elseif (code == "uk") then return "Ukraina", "ukraina", "ukraina", true, true
  elseif (code == "vec") then return "Venecia", "venecia", "venecia", true, true
  elseif (code == "vi") then return "Vjetnama", "vjetnama", "vjetnama", true, true
  elseif (code == "vls") then return "Okcidentflandra", "okcidentflandra", "okcidentflandra", true, true
  elseif (code == "yi") then return "Jido", "jido", "jido", true, false
  elseif (code == "zh") then return "Ĉina", "ĉina", "ĉina", true, true 
  elseif (code == "zh-cn") then return "Ĉina", "ĉina", "ĉina", true, true   	
  else return code, code..".", code, false, false
 end
end

return Langs