Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Convertisseurs » : différence entre les versions

De Sèida
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
= Convertisseur Èlyan (en lettre latines) vers Èlyan =
= Convertisseur Èlyan (en lettre latines) vers Èlyan =


<code>
<syntaxhighlight lang="python">
-- Tableau de correspondance Latin -> Èlyan
-- Tableau de correspondance Latin -> Èlyan
local latinToElyan = {
local latinToElyan = {
Ligne 60 : Ligne 60 :
local backToLatin = toLatin(sampleElyan)
local backToLatin = toLatin(sampleElyan)
print("Èlyan -> Latin : " .. backToLatin)
print("Èlyan -> Latin : " .. backToLatin)
</code>
 
</syntaxhighlight >

Version du 12 septembre 2025 à 14:17

Convertisseur Èlyan (en lettre latines) vers Èlyan

-- Tableau de correspondance Latin -> Èlyan
local latinToElyan = {
    ["p"]="ᚷ", ["b"]="Ⱈ", ["t"]="𐑛", ["d"]="𐑄", ["k"]="ᚲ", ["g"]="𐌂",
    ["f"]="𐑧", ["v"]="𐑬", ["s"]="ᐞ", ["z"]="Ⱍ", ["sh"]="𐑕", ["j"]="𐑚",
    ["m"]="ᛗ", ["n"]="ᚾ", ["l"]="Ⰾ", ["r"]="𐑤", ["c"]="ᚳ", ["ch"]="𐑩",
    ["i"]="ა", ["e"]="ე", ["è"]="ո", ["a"]="𐐄", ["u"]="უ", ["ù"]="𐐆",
    ["o"]="𐐅", ["ò"]="𐐇",
    ["y"]="ⵡ", ["w"]="ⵯ", ["h"]="𐡅"
}

-- Tableau de correspondance Èlyan -> Latin
local elyanToLatin = {}
for k,v in pairs(latinToElyan) do
    elyanToLatin[v] = k
end

-- Fonction pour convertir du latin vers Elyan
local function toElyan(text)
    text = text:lower()
    local result = ""
    local i = 1
    while i <= #text do
        local two = text:sub(i,i+1)
        local one = text:sub(i,i)
        if latinToElyan[two] then
            result = result .. latinToElyan[two]
            i = i + 2
        elseif latinToElyan[one] then
            result = result .. latinToElyan[one]
            i = i + 1
        else
            result = result .. one
            i = i + 1
        end
    end
    return result
end

-- Fonction pour convertir de Elyan vers latin
local function toLatin(text)
    local result = ""
    for uchar in text:gmatch(utf8.charpattern) do
        if elyanToLatin[uchar] then
            result = result .. elyanToLatin[uchar]
        else
            result = result .. uchar
        end
    end
    return result
end

-- Exemple d'utilisation
local sampleLatin = "GolDoRoSoDo"
local sampleElyan = toElyan(sampleLatin)
print("Latin -> Èlyan : " .. sampleElyan)

local backToLatin = toLatin(sampleElyan)
print("Èlyan -> Latin : " .. backToLatin)