Moduulin artikkeliaakkostaja käyttöohje
{{#invoke:artikkeliaakkostaja|Aakkostusavain|kieli=kielikoodi|teksti}}
Seuraaville kielille on määritetty erityinen aakkostaja. Muissa käytetään oletusta.
Useimmissa kielissä voi käyttää alla olevaa pohjaa, johon merkkijonoon aakkoset kirjoitetaan kielen sallitut kirjaimet. Taulukkoon muunnokset kirjoitetaan ne kirjaimet, jotka aakkostetaan toisen kirjaimen tai merkkijonon mukaan, esim. jos ß aakkostetaan ss:ksi tulee taulukkoon rivi = "ss"
. Näiden muunnosten lisäksi kaikki alla olevalla tavalla tehdyt aakkostajat poistavat tarkkeet kaikista niistä merkeistä, joita ei ole annettu aakkosissa tai muunnoksissa. Tarvittaessa voi perusaakkostajan metodit korvata kokonaan, ks. esim. ].
local perus = require("Moduuli:artikkeliaakkostaja/perus") local p = perus:kopioi() p.asetukset{ aakkoset = "", muunnokset = { } } return p
local p = {}
--- Palauttaa annetun kielelle käytetyn aakkostajan
-- Jos kielelle on määritetty oma aakkostaja palauttaa sen muuten
-- oletusaakkostajan. Aakkostajat sijaitsevat moduulin alasivuilla.
-- Alasivun nimen tulee olla kielen kielikoodi.
-- @param lang alasivun nimi, jolla aakkostaja on
-- @return kielelle käytettävä aakkostaja
function p.lataa_aakkostaja(lang)
local aakkostaja
local stat
stat, aakkostaja = pcall(require, "Moduuli:artikkeliaakkostaja/" .. lang)
if stat == false then
-- Käytetään oletusaakkostajaa
stat, aakkostaja = pcall(require, "Moduuli:artikkeliaakkostaja/oletus")
if stat == false then
error("Ei oletusaakkostajaa")
end
end
return aakkostaja
end
--- Muuttaa `tekstin` kielen `lang` mukaiseksi aakkostusavaimeksi.
-- @param teksti tyypillisesti artikkelin nimi
-- @param lang kielikoodi. TODO vaihtoehtoisten kielikoodien normalisointi
-- @return aakkostusavain
function p.hae_aakkostusavain(teksti, lang)
local aakkostaja = p.lataa_aakkostaja(lang)
return aakkostaja.kuvaa_merkkijono(teksti)
end
function p.Aakkostusavain(frame)
-- Muutettava artikkelin nimi
local teksti = frame.args or mw.title.getCurrentTitle().text
local lang = frame.args.kieli -- Kielitunnus (alisivun nimi)
if not teksti or not lang then
error("Virheelliset parametrit")
end
return p.hae_aakkostusavain(teksti, lang)
end
return p