Modul:бу́квы
Vzhled
Dokumentaci tohoto modulu lze vytvořit na stránce Nápověda:Modul:бу́квы
p = {}
local OrdinaryNumbers = {
"první", "druhé", "třetí", "čtvrté", "páté", "šesté", "sedmé", "osmé", "deváté", "desáté",
"jedenácté", "dvanácté", "třinácté", "čtrnácté", "patnácté", "šestnácté", "sedmnácté", "osmnácté", "devatenácté", "dvacáté",
"dvacáté první", "dvacáté druhé", "dvacáté třetí", "dvacáté čtvrté", "dvacáté páté", "dvacáté šesté", "dvacáté sedmé", "dvacáté osmé", "dvacáté deváté", "třicáté",
"třicáté první", "třicáté druhé", "třicáté třetí", "třicáté čtvrté", "třícáté páté", "třicáté šesté", "třicáté sedmé", "třicáté osmé", "třicáté deváté", "čtyřicáté"
}
local Alphabets = {
["ru"] = {
["all caps"] = { "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я" },
["small caps"] = { "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я" },
}
}
local AlphabetsNames = {
["ru"] = "ruské abecedy (azbuky, moderní cyrilice)"
}
local Categories = {
["ru"] = "Písmena azbuky"
}
function AlphabetExists (alphabet)
for entry in pairs (Alphabets) do
if entry == alphabet then
return true
end
end
return false
end
function p.print (frame)
local out = ""
local arg = frame:getParent().args
local lang = arg[1]
if not lang or lang == "" then
return "CHYBA: Nezadán kód jazyka abecedy"
end
local page = mw.title.getCurrentTitle()
local pagename = page.text
if not AlphabetExists (lang) then
return "CHYBA: Zadán chybný nebo dosud nepřidaný kód jazyka abecedy"
end
local order = false
local case = false
for typeset in pairs (Alphabets[lang]) do
for letter in pairs (Alphabets[lang][typeset]) do
if Alphabets[lang][typeset][letter] == pagename then
order = letter
case = typeset
end
end
end
if not order or not case then
return "CHYBA: " .. pagename .. " není písmeno nebo toto písmeno nebylo přidáno do seznamu písmen jazyka s kódem " .. lang
end
out = OrdinaryNumbers[order] .. " písmeno " .. AlphabetsNames[lang]
if order == 1 then
out = out .. " předcházející písmeno [[" .. Alphabets[lang][case][order+1] .. "#písmeno|" .. Alphabets[lang][case][order+1] .. "]]"
else
out = out .. " následující za písmenem [[" .. Alphabets[lang][case][order-1] .. "#písmeno|" .. Alphabets[lang][case][order-1] .. "]]"
if order ~= # Alphabets[lang][case] then
out = out .. " a předcházející písmeno [[" .. Alphabets[lang][case][order+1] .. "#písmeno|" .. Alphabets[lang][case][order+1] .. "]]"
end
end
out = out .. "[[Category:" .. Categories[lang] .. "]]"
return out
end
return p