A modult a Modul:Ital-translit/doc lapon tudod dokumentálni
local export = {}
-- Standard transcription
local common_rules = {
= 'a',
= 'b',
= 'c',
= 'd',
= 'e',
= 'v',
= 'z',
= 'h',
= 'θ',
= 'i',
= 'k',
= 'l',
= 'm',
= 'n',
= 'š',
= 'o',
= 'p',
= 'ś',
= 'q',
= 'r',
= 's',
= 't',
= 'u',
= 'x',
= 'φ',
= 'χ',
= 'f',
= 'ř',
= 'ç',
= 'í',
= 'ú',
= 'k',
-- Numerals
= 'Ⅰ',
= 'Ⅴ',
= 'Ⅹ',
= 'Ⅼ',
-- Punctuation
= ' ',
= ' ',
= ' ',
}
local lang_rules = {
= { -- Etruscan
= 'Ⅽ',
};
= { -- Old Latin
= 'f',
};
= { -- Noric
= 'g',
= 'd',
= 'g',
};
= { -- North Picene
= 'g',
};
= { -- Oscan
= 'g',
};
= { -- South Picene
= 'g',
= 'í',
= 'o',
= 'f',
};
= { -- Camunic
= 'ś',
= 'g',
= 'b',
= 's',
= 'þþ',
= 'þ',
};
= { -- Raetic
= 'þ',
= '?',
};
= { -- Umbrian
= 't',
};
= { -- Venetic
= 'j',
= 'd',
= 'f',
= 'b',
= 'g',
};
}
function export.tr(text, lang, sc)
-- If the script is not Ital, do not transliterate
if sc ~= "Ital" then
return
end
-- Transliterate language-specific exceptions
if lang == "xve" then
text = mw.ustring.gsub(text, '𐌇𐌅', 'f')
end
if lang_rules then
text = mw.ustring.gsub(text, '.', lang_rules)
end
-- Transliterate remaining characters
text = mw.ustring.gsub(text, '.', common_rules)
return text
end
return export