Moduuli:kielikoodit

Hei, olet tullut tänne etsimään sanan Moduuli:kielikoodit merkitystä. DICTIOUS-sanakirjasta löydät paitsi kaikki sanan Moduuli:kielikoodit sanakirjamerkitykset, myös sen etymologian, ominaisuudet ja sen, miten Moduuli:kielikoodit sanotaan yksikössä ja monikossa. Kaikki mitä sinun tarvitsee tietää sanasta Moduuli:kielikoodit on tässä. Sanan Moduuli:kielikoodit määritelmä auttaa sinua olemaan täsmällisempi ja oikeampi puhuessasi tai kirjoittaessasi tekstejäsi. Kun tunnet sananModuuli:kielikoodit määritelmän sekä muiden sanojen määritelmät, rikastutat sanavarastoasi ja saat lisää ja parempia kielellisiä resursseja.

Moduulin kielikoodit käyttöohje

Kielten nimien ja tunnusten hakemiseen.

Kielikoodimääritykset tehdään tiedostoon Module:kielikoodit/taulukot.

Funktiot

nimi

  • nimi(tunnus)

Palauttaa tunnusta vastaavan kielen nimen. Huom. saman asian saa tehtyä mw.language.fetchLanguageName-funktiolla.

tunnus

tunnus(nimi) Palauttaa nimeä vastaavan kielitunnuksen. Huom. saman asian saa tehtyä kieliolion mw.language:getCode-metodilla.

tunnus_genetiiville

tunnus_genetiiville(nimi) Palauttaa nimeä vastaavan kielitunnuksen.

genetiivissa

genetiivissa(tunnus) Palauttaa tunnusta vastaavan kielen genetiivimuodon.

partitiivissa

partitiivissa(tunnus) Palauttaa tunnusta vastaavan kielen partitiivimuodon.

translatiivissa

translatiivissa(tunnus) Palauttaa tunnusta vastaavan kielen translatiivimuodon.

lajitteluarvo

lajitteluarvo(tunnus) Palauttaa tunnusta vastaavan kielen lajitteluarvon, joita vertaamalla tietää kahden kielen välisen järjestyksen.

lajitteluarvo_nimelle

lajitteluarvo_nimelle(nimi) Palauttaa nimeä vastaavan kielen lajitteluarvon, joita vertaamalla tietää kahden kielen välisen järjestyksen.

#invokella kutsuttavat funktiot

Nimi

  • {{#invoke:kielikoodit|Nimi|tunnus}}
  • {{#invoke:kielikoodit|Nimi|tunnus|isolla=1}}

Palauttaa tunnusta vastaavan kielen nimen. Jos parametri isolla on annettu, palauttaa nimen isolla alkukirjaimella.

Tunnus

  • {{#invoke:kielikoodit|Tunnus|nimi}}

Palauttaa nimeä vastaavan kielen tunnuksen.

  • {{#invoke:kielikoodit|Tunnus|nimi}}

Palauttaa nimeä vastaavan kielen tunnuksen. Jos kielikoodistandardi on annettu, palauttaa sen mukaisen kielikoodin, muuten oletuksksi asetetun.

Genetiivissa

  • {{#invoke:kielikoodit|Genetiivissa|tunnus}}
  • {{#invoke:kielikoodit|Genetiivissa|tunnus|isolla=1}}

Palauttaa tunnusta vastaavan kielen genetiivimuodon. Jos parametri isolla on annettu, palauttaa nimen isolla alkukirjaimella.

Tunnus_genetiiville

  • {{#invoke:kielikoodit|Tunnus_genetiiville|nimen genetiivi}}

Palauttaa nimen genetiiviä vastaavan kielen tunnuksen.

Partitiivissa

  • {{#invoke:kielikoodit|Partitiivissa|tunnus}}
  • {{#invoke:kielikoodit|Partitiivissa|tunnus|isolla=1}}

Palauttaa tunnusta vastaavan kielen partitiivimuodon. Jos parametri isolla on annettu, palauttaa nimen isolla alkukirjaimella.

Translatiivissa

  • {{#invoke:kielikoodit|Translatiivissa|tunnus}}
  • {{#invoke:kielikoodit|Translatiivissa|tunnus|isolla=1}}

Palauttaa tunnusta vastaavan kielen translatiivimuodon. Jos parametri isolla on annettu, palauttaa nimen isolla alkukirjaimella.

Testit

Nimi
  • KOODI: {{#invoke:kielikoodit|Nimi|hu}}
    TULOS: unkari
  • KOODI: {{#invoke:kielikoodit|Nimi|hu|isolla=1}}
    TULOS: Unkari
  • KOODI: {{#invoke:kielikoodit|Nimi|kud}}
    TULOS: 'auhelawaOK
  • KOODI: {{#invoke:kielikoodit|Nimi|kud|isolla=1}}
    TULOS: 'AuhelawaOK
  • KOODI: {{#invoke:kielikoodit|Nimi|ovd}}
    TULOS: älvdalskaOK
  • KOODI: {{#invoke:kielikoodit|Nimi|ovd|isolla=1}}
    TULOS: ÄlvdalskaOK
Genetiivissa
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|hu}}
    TULOS: unkarin
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|hu|isolla=1}}
    TULOS: Unkarin
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|dlm}}
    TULOS: dalmatian
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|dlm|isolla=1}}
    TULOS: Dalmatian
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|kud}}
    TULOS: 'auhelawanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|kud|isolla=1}}
    TULOS: 'AuhelawanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|ovd}}
    TULOS: älvdalskanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa|ovd|isolla=1}}
    TULOS: ÄlvdalskanOK
Partitiivissa
  • KOODI: {{#invoke:kielikoodit|Partitiivissa|hu}}
    TULOS: unkaria
  • KOODI: {{#invoke:kielikoodit|Partitiivissa|hu|isolla=1}}
    TULOS: Unkaria
Translatiivissa
  • KOODI: {{#invoke:kielikoodit|Translatiivissa|hu}}
    TULOS: unkariksi
  • KOODI: {{#invoke:kielikoodit|Translatiivissa|hu|isolla=1}}
    TULOS: Unkariksi
Tunnus
  • KOODI: {{#invoke:kielikoodit|Tunnus|pandžabi}}
    TULOS: pa
  • KOODI: {{#invoke:kielikoodit|Tunnus|pörde}}
    TULOS:
  • KOODI: {{#invoke:kielikoodit|Tunnus|saksa|ISO 639-1}}
    TULOS: deOK
  • KOODI: {{#invoke:kielikoodit|Tunnus|saksa|ISO 639-2}}
    TULOS: gerOK
  • KOODI: {{#invoke:kielikoodit|Tunnus|saksa|ISO 639-3}}
    TULOS: deuOK
  • KOODI: {{#invoke:kielikoodit|Tunnus|saksa}}
    TULOS: deOK
Tunnus_tunnukselle
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|de|ISO 639-1}}
    TULOS: deOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|de|ISO 639-2}}
    TULOS: gerOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|de|ISO 639-3}}
    TULOS: deuOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|ger|ISO 639-1}}
    TULOS: deOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|ger|ISO 639-2}}
    TULOS: gerOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|ger|ISO 639-3}}
    TULOS: deuOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|deu|ISO 639-1}}
    TULOS: deOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|deu|ISO 639-2}}
    TULOS: gerOK
  • KOODI: {{#invoke:kielikoodit|Tunnus_tunnukselle|deu|ISO 639-3}}
    TULOS: deuOK
Tunnus_genetiiville
  • KOODI: {{#invoke:kielikoodit|Tunnus_genetiiville|liivin}}
    TULOS: liv
  • KOODI: {{#invoke:kielikoodit|Tunnus_genetiiville|Liivin}}
    TULOS: liv
Tunnus_genetiiville
  • KOODI: {{#invoke:kielikoodit|Tunnus_genetiiville|klassisen pörden}}
    TULOS:
  • KOODI: {{#invoke:kielikoodit|Tunnus_genetiiville|dalmatian}}
    TULOS: dlm
  • KOODI: {{#invoke:kielikoodit|Tunnus_genetiiville|dalmaatin}}
    TULOS: dlm
Nimi2
  • KOODI: {{#invoke:kielikoodit|Nimi2|dak|isolla=1}}
    TULOS: DakotaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|dakota|isolla=1}}
    TULOS: DakotaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dakota|isolla=1}}
    TULOS: DakotaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|dakotan|isolla=1}}
    TULOS: DakotaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dakotan|isolla=1}}
    TULOS: DakotaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Mouk-Aria|isolla=1}}
    TULOS (0 tavua): NG
    ODOTETTU (9 tavua): mouk-aria
  • KOODI: {{#invoke:kielikoodit|Nimi2|mouk-Aria|isolla=1}}
    TULOS (0 tavua): NG
    ODOTETTU (9 tavua): mouk-aria
Nimi2 - kielellä vaihtoehtoinen nimi
  • KOODI: {{#invoke:kielikoodit|Nimi2|dlm|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|dalmatia|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dalmatia|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|dalmatian|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dalmatian|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|dalmaatti|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dalmaatti|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|dalmaatin|isolla=1}}
    TULOS: DalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dalmaatin|isolla=1}}
    TULOS: DalmatiaOK
Nimi2 - tulostus pienellä
  • KOODI: {{#invoke:kielikoodit|Nimi2|dak}}
    TULOS: dakotaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dakotan}}
    TULOS: dakotaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dalmatia}}
    TULOS: dalmatiaOK
  • KOODI: {{#invoke:kielikoodit|Nimi2|Dalmaatin}}
    TULOS: dalmatiaOK
Genetiivissa2
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dak}}
    TULOS: DakotanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|nmn}}
    TULOS (7 tavua): !XóõnNG
    ODOTETTU (8 tavua): ǃXóõn
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|kud}}
    TULOS: 'AuhelawanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|ǃxóõ}}
    TULOS (7 tavua): !XóõnNG
    ODOTETTU (8 tavua): ǃXóõn
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dakota}}
    TULOS: DakotanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|Dakota}}
    TULOS: DakotanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dakotan}}
    TULOS: DakotanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|Dakotan}}
    TULOS: DakotanOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|Mouk-Aria}}
    TULOS (0 tavua): NG
    ODOTETTU (10 tavua): mouk-arian
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|mouk-Aria}}
    TULOS (0 tavua): NG
    ODOTETTU (10 tavua): mouk-arian
Genetiivissa2 - kielellä vaihtoehtoinen nimi
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dlm}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dalmatia}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|Dalmatia}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dalmatian}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|Dalmatian}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dalmaatti}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|Dalmaatti}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|dalmaatin}}
    TULOS: DalmatianOK
  • KOODI: {{#invoke:kielikoodit|Genetiivissa2|Dalmaatin}}
    TULOS: DalmatianOK

ɧ


 -- http://fi.wiktionary.orghttps://dictious.com/fi/Wikisanakirja:Kielimallineet

local m = {}

local taulukot = mw.loadData('Module:kielikoodit/taulukot')

-- Muuttaa sanan s ensimmäisen kirjaimen isoksi vaikka sana ei alkaisi 
-- kirjaimella. Esim. versaaliksi("'auhelawa") --> "'Auhelawa"
function m.versaalilla (s)
	local lang_fi = mw.language.new("fi");

   -- Erotetaan erikoismerkit alusta, koska mw.lang:ucfirst ei muuta nillä
   -- alkavia nimiä oikein
   s = string.gsub(s, "^(*)(.+)", function (a, b)
	                         	      return a .. lang_fi:ucfirst(b)
					                end)

   return s
end

function m.gemenalla (s)
	local lang_fi = mw.language.new("fi");

   s = string.gsub(s, "^(*)(.+)", function (a, b)
	                         	      return a .. lang_fi:lcfirst(b)
					                end)

   return s
end



-- Palauttaa annetun tunnuksen kielen nimen nominatiivissa. 
-- Jos valinnainen parametri 'isolla' on true, alkaa palautettu sana isolla kirjaimella.
function m.nimi(tunnus, isolla)
    local kt = taulukot.tunnukset
    if kt then
        if isolla then
            return m.versaalilla(kt)
        end
        return kt
    end
    return nil
end

--- Kielen osioiden otsikkona käytetty teksti.
--
-- Yleensä sama kuin m.nimi isolla, muttei aina.
function m.kieliotsikko(tunnus)
	if tunnus == "rmf" then
		return "Suomen romani"
	end
	return m.nimi(tunnus, true)
end



-- Palauttaa annetun tunnuksen kielen nimen genetiivissä.
-- Jos valinnainen parametri 'isolla' on true, alkaa palautettu sana isolla kirjaimella.
function m.genetiivi_tunnukselle(tunnus, isolla)
    local kt = taulukot.tunnukset
    if kt and kt then
        if isolla then
            return m.versaalilla(kt)
        end
        return kt
    end
    return nil
end

function m.genetiivi_nimelle(kieli, isolla)
    if taulukot.nimet then
        return taulukot.nimet
    end
    return nil
end

function m.genetiivissa(k, isolla)
	local t
	
	if taulukot.tunnukset then
		t = k
	else
		t = m.tunnus_genetiiville(k) or m.tunnus(k, nil)
	end
	
	return m.genetiivi_tunnukselle(t, isolla) or k
end

function m.tunnus_genetiiville(gen)
    -- muutetaan pienellä alkavaksi
    local s = m.gemenalla(gen)
    if taulukot.genetiivit then
        return taulukot.genetiivit
    end
    return nil
end 

-- Palauttaa annetun tunnuksen kielen nimen partitiivissa.
-- Jos valinnainen parametri 'isolla' on true, alkaa palautettu sana isolla kirjaimella.
-- TODO
function m.partitiivissa(tunnus, isolla)
    kt = taulukot.tunnukset
    if kt then
        if isolla and kt then
            return m.versaalilla(kt)
        end
        return kt
    end
    return nil
end

function m.partitiivi_nimelle(kieli, isolla)
    if taulukot.nimet then
        return taulukot.nimet
    end
    return nil
end


function m.translatiivissa(tunnus, isolla)
    g = m.genetiivissa(tunnus, isolla)
    if g then
		return string.match(g, "^(.*)n$") .. "ksi"
    end
    return nil
end

-- Palauttaa arvon, joka kertoo kielen paikan akkosjärjesyksessä.
-- TODO
function m.lajitteluarvo(tunnus)
    kt = taulukot.tunnukset
    if kt then
        return kt
    end
    return -1
end 


function m.lajitteluarvo_nimelle(nimi)
    kt = taulukot.nimet
    if kt then
        return kt
    end
    return -1
end 

function m._tunnus(tunnukset, tark)
    local iso1 = nil
    local iso2 = nil
    local iso3 = nil

    if tark == nil then
        return tunnukset
    end
    
    for i,v in ipairs(tunnukset) do
        if v:len() == 2 then
	    iso1 = v
	    if tark == "ISO 639-1" then
	        return v
	    end
	    elseif v:len() == 3 and iso3 == nil then
	        iso3 = v
	        if tark == "ISO 639-3" then
	            return v
	        end
	    elseif v:len() == 3 and iso3 ~= nil  then
	        iso2 = v
	        if tark == "ISO 639-2" then
	            return v
	        end
	    end
    end
    return nil
end

-- Palauttaa annetun kielen kielitunnuksen.
function m.tunnus(kieli, tark)
	local s = m.gemenalla(kieli)
    if taulukot.nimet then
        return m._tunnus(taulukot.nimet, tark)
    end
    return nil
end



-- #invokella kutsuttavat funktiot

function m.Nimi(frame)
    return m.nimi(frame.args, frame.args.isolla and frame.args.isolla ~= "")
end

function m.Tunnus(frame)
    local ret = m.tunnus(frame.args, frame.args)
    if ret then
    	return ret
    end	
    return frame.args.oletus or ""
end

function m.Tunnus_tunnukselle(frame)
    kt = taulukot.tunnukset]
    if kt then
        local ret = m._tunnus(kt, frame.args)
        if ret then
    	    return ret
        end	
    end
    return frame.args.oletus or ""
end

function m.Genetiivissa(frame)
    local ret = m.genetiivissa(frame.args, frame.args.isolla and frame.args.isolla ~= "")
    if ret then
    	return ret
    end	
    return frame.args.oletus or ""
end

function m.Tunnus_genetiiville(frame)
    local ret = m.tunnus_genetiiville(frame.args)
    if ret then
    	return ret
    end	
    return frame.args.oletus or ""
end

function m.Partitiivissa(frame)
    local ret = m.partitiivissa(frame.args, frame.args.isolla and frame.args.isolla ~= "")
    if ret then
    	return ret
    end	
    return frame.args.oletus or ""
end

function m.Translatiivissa(frame)
    local ret = m.translatiivissa(frame.args, frame.args.isolla and frame.args.isolla ~= "")
    if ret then
    	return ret
    end	
    return frame.args.oletus or ""
end

function m.Tulosta_kielet(frame)

    local teksti = "{| class='wikitable sortable' border=1\n|-\n! Kielikoodi !! Nimi!!Wikisanakirjassa käytetty nimi\n"

    for i,v in ipairs(taulukot.tiedot) do
    	local jnro = v
    	local nimi = v
    	local kielikoodit = v
    	local viittaus = v
    	local kaytetty_nimi = ""
    	if (kielikoodit == nil or next(kielikoodit) == nil) and viittaus then
    		rivi = taulukot.tunnukset
    		if rivi then
    				kielikoodit = rivi
    				kaytetty_nimi = " .. "]]"
    		end
    	end
    	if kielikoodit then
	        for j,koodi in ipairs(kielikoodit) do
        		teksti = teksti .. "|-\n| " .. koodi .. " ||data-sort-value=\"" .. jnro .. "\"| ] || " .. kaytetty_nimi .. "\n"
        	end
       	end
    end
    teksti = teksti .. "|}"
    return teksti
end

-- Yhteensopivuusfunkto vanhoille {{Kieliaakkostus}}- ja {{Kieliaakkostus-2}} -mallineille.
-- Palauttaa kielen nominatiivin, kun kieli on annettu genetiivimuodossa tai kielikoodina.
function m.Nimi2(frame)
	local tunnus = frame.args
    -- Etsitään ensisijaisesti kielikoodilla, koska toisen kielen kielikoodi
    -- ja toisen nimi voivat olla samat (iiri, ga).
    if m.nimi(tunnus) == nil then
    	tunnus = m.tunnus(tunnus, nil) or m.tunnus_genetiiville(tunnus)
    end
    if tunnus then
 		local ret = m.nimi(tunnus, frame.args.isolla and frame.args.isolla ~= "")
    	if ret then
    		if frame.args.isolla == 1 then
    			return m.versaalilla(ret)
    		else
    			return ret
    		end
    	end
    end
    return frame.args.oletus or ""
end

-- Yhteensopivuusfunkto vanhoille {{Kieliaakkostus}}- ja {{Kieliaakkostus-2}} -mallineille.
-- Palauttaa kielen nominatiivin, kun kieli on annettu nominatiivimuodossa tai kielikoodina.
function m.Genetiivissa2(frame)
	local tunnus = frame.args
    -- Etsitään ensisijaisesti kielikoodilla, koska toisen kielen kielikoodi
    -- ja toisen nimi voivat olla samat (iiri, ga).
    if m.nimi(tunnus) == nil then
    	tunnus = m.tunnus(tunnus, nil) or m.tunnus_genetiiville(tunnus)
    end
    if tunnus then
 		local ret = m.genetiivi_tunnukselle(tunnus, 1)
    	if ret then
    		return ret
    	end
    end
    return frame.args.oletus or ""
end

function m.Testi(frame)
	return m.nimi(frame.args) .. "<br/>" .. m.lajitteluarvo_nimelle(frame.args) .. "<br/>" .. m.lajitteluarvo_nimelle(m.nimi(frame.args))
end


return m