Moduł:Superjurek/transliteracja/PL-CYR
Wygląd
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Superjurek/transliteracja/PL-CYR/opis
--Ten moduł służy Superjurkowi do ćwiczenia czytania polskiej cyrylicy.
local p = {}
local errcat = '[[Kategoria:Błąd w transliteracji]]'
local commonTransliteration = {
["-"] = "-",
["–"] = "–",
["—"] = "—",
["="] = "=",
[","] = ",",
["."] = ".",
["/"] = "/",
[";"] = ";",
["'"] = "'",
["["] = "[",
["]"] = "]",
["\\"] = "\\",
["`"] = "`",
["~"] = "~",
["!"] = "!",
["@"] = "@",
["#"] = "#",
["$"] = "$",
["%"] = "%",
["^"] = "^",
["&"] = "&",
["*"] = "*",
["("] = "(",
[")"] = ")",
["_"] = "_",
["+"] = "+",
["{"] = "{",
["}"] = "}",
["|"] = "|",
[":"] = ":",
["\""] = "\"",
["<"] = "<",
[">"] = ">",
["?"] = "?" ,
[" "] = " "
}
local transliterationCyr = {
["P"] = {
["S" ] = "Ѱ",
["s" ] = "Ѱ",
[false] = "П"},
["p"] = {
["s" ] = "ѱ",
[false] = "п"},
["K"] = {
["S" ] = "Ѯ",
["s" ] = "Ѯ",
[false] = "К"},
["k"] = {
["s" ] = "ѯ",
[false] = "к"},
["X"] = "Ѯ",
["x"] = "ѯ",
["S"] = {
["Z" ] = {
["CZ" ] = "Щ",
[false] = "Ш"},
["z" ] = {
["cz" ] ="Щ",
[false] = "Ш"},
[false] = "С"},
["s"] = {
["z" ] = {
["cz" ] ="щ",
[false] = "ш"},
[false] = "с"},
["D"] = {
["Z" ] = "Ѕ",
["z" ] = "Ѕ",
["Ź" ] = "Ђ",
["ź" ] = "Ђ",
["Ż" ] = "Џ",
["ż" ] = "Џ",
[false] = "Д"},
["d"] = {
["z" ] = "ѕ",
["ź" ] = "ђ",
["ż" ] = "џ",
[false] = "д"},
["C"] = {
["Z" ] = "Ч",
["z" ] = "Ч",
["H" ] = "Х",
["h" ] = "Х",
[false] = "Ц"},
["c"] = {
["z" ] = "ч",
["h" ] = "х",
[false] = "ц"},
["R"] = {
["Z" ] = "̌Р",
["z" ] = "̌Р",
[false] = "Р"},
["r"] = {
["z" ] = "̌р",
[false] = "р"},
["I"] = {
["A" ] = "Я",
["a" ] = "Я",
["Ą" ] = "Ѭ",
["ą" ] = "Ѭ",
["E" ] = "Є",
["e" ] = "Є",
["Ę" ] = "Ѩ",
["ę" ] = "Ѩ",
["O" ] = "Ё",
["o" ] = "Ё",
["U" ] = "Ю",
["u" ] = "Ю",
[false] = "И"},
["i"] = {
["a" ] = "я",
["ą" ] = "ѭ",
["e" ] = "є",
["ę" ] = "ѩ",
["o" ] = "ё",
["u" ] = "ю",
[false] = "и"},
["J"] = {
["A" ] = "Я",
["a" ] = "Я",
["Ą" ] = "Ѭ",
["ą" ] = "Ѭ",
["E" ] = "Є",
["e" ] = "Є",
["Ę" ] = "Ѩ",
["ę" ] = "Ѩ",
["O" ] = "Ё",
["o" ] = "Ё",
["U" ] = "Ю",
["u" ] = "Ю",
[false] = "Й"},
["j"] = {
["a" ] = "я",
["ą" ] = "ѭ",
["e" ] = "є",
["ę" ] = "ѩ",
["o" ] = "ё",
["u" ] = "ю",
[false] = "й"},
["A"] = "А",
["a"] = "а",
["Ą"] = "Ѫ",
["ą"] = "ѫ",
["B"] = "Б",
["b"] = "б",
["Ć"] = "Ћ",
["ć"] = "ћ",
["Е"] = "E",
["e"] = "е",
["Ę"] = "Ѧ",
["ę"] = "ѧ",
["F"] = "Ф",
["f"] = "ф",
["G"] = "Г",
["g"] = "г",
["H"] = "Ҳ",
["h"] = "ҳ",
["I"] = "И",
["i"] = "и",
["J"] = "Й",
["j"] = "й",
["K"] = "К",
["k"] = "к",
["L"] = "Љ",
["l"] = "љ",
["Ł"] = "Л",
["ł"] = "л",
["M"] = "М",
["m"] = "м",
["N"] = "Н",
["n"] = "н",
["Ń"] = "Њ",
["ń"] = "њ",
["O"] = "О",
["o"] = "о",
["Ó"] = "Ѻ",
["ó"] = "ѻ",
["S"] = "С",
["s"] = "с",
["Ś"] = "Ҫ",
["ś"] = "ҫ",
["T"] = "Т",
["t"] = "т",
["U"] = "У",
["u"] = "у",
["W"] = "В",
["w"] = "в",
["Y"] = "Ы",
["y"] = "ы",
["Z"] = "З",
["z"] = "з",
["Ź"] = "Ҙ",
["ź"] = "ҙ",
["Ż"] = "Ж",
["ż"] = "ж",
}
local transliterations = {
["cyr"] = transliterationCyr
}
local function sanitizeText( text )
local result = text
result = string.gsub( result, "'", "'" )
result = string.gsub( result, """, "\"" )
result = string.gsub( result, "&", "&" )
return result
end
function p.transliterate( frame )
local language = frame.args[1]
local text = sanitizeText( frame.args[2] )
local transliteration = transliterations[ language ]
if transliteration == nil then
return "Błędny kod języka: " .. language end
for codepoint in mw.ustring.gcodepoint( text ) do
local untransliterated = mw.ustring.char( codepoint )
local transliterated = commonTransliteration[ untransliterated ]
if transliterated == nil then
transliterated = transliteration[ untransliterated ]
result = transliterated
table.concat(result, '')
end
return result
end end
return p
--jeszcze nie skończyłem pisać, zrobię to później