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
Aucun résumé des modifications
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= Convertisseur Èlyan (en lettre latines) vers Èlyan =
= Convertisseur Èlyan (en lettre latines) vers Èlyan =
Il est possible d'utiliser facilement les convertisseurs suivants sur des sites de compilateur lua en ligne comme https://onecompiler.com/lua/


<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- Tableau de correspondance Latin -> Èlyan
-- Tableau de correspondance Latin -> Èlyan
-- Tableau de correspondance Latin -> Èlyan
local latinToElyan = {
local latinToElyan = {
    ["p"]="Ϥ",  
  -- Consonnes
    ["b"]="Ϥ°",  
  ["p"]="Ϥ",  
    ["t"]="ϟ",  
  ["b"]="",  
    ["d"]="ϟ°",  
  ["t"]="ϟ",  
    ["k"]="Ϩ",  
  ["d"]="",  
    ["g"]="Ϩ°",
  ["k"]="Ϩ",  
    ["f"]="Ꜫ",  
  ["g"]="",
    ["v"]="ϣ",  
  ["f"]="Ꜫ",  
    ["s"]="Ϭ",  
  ["v"]="ϣ",  
    ["z"]="Ϭ°",  
  ["s"]="Ϭ",  
    ["sh"]="ʒ",  
  ["z"]="",  
    ["j"]="ʒ°",
  ["sh"]="ʒ",  
    ["m"]="Ϡ",  
  ["j"]="",
    ["n"]="Ϡ°",  
  ["m"]="",  
    ["l"]="ϻ",  
  ["n"]="",  
    ["r"]="ϻ°",  
  ["l"]="ϻ",  
    ["c"]="",
  ["r"]="ϻ°",  
    ["ch"]="",
  ["c"]="",
   
  ["ch"]="",
    ["i"]="",
 
    ["e"]="",  
  -- Voyelles
    ["è"]="+",  
  ["i"]="",
    ["a"]="",  
  ["e"]="",  
    ["u"]="",  
  ["è"]="",  
    ["ù"]="",
  ["a"]="",  
    ["o"]="",
  ["u"]="",  
    ["ò"]="",
  ["ù"]="",
   
  ["o"]="",
    ["y"]="",  
  ["ò"]="",
    ["w"]="",
 
    ["h"]="",
  -- Glissantes
   
  ["y"]="",  
    -- Ponctuation
  ["w"]="",
    ["."]="。",
  ["h"]="",
    ["..."]="…",
 
    ["!"]="!",
  -- Ponctuation
    ["?"]="?",
  ["."]="。",
    [","]=",",
  ["..."]="…",
    [":"]=":",
  ["!"]="!",
    [";"]=";",
  ["?"]="?",
    ["'"]="’"
  [","]=",",
  [":"]=":",
  [";"]=";",
  ["'"]="’"
}
}


Ligne 106 : Ligne 110 :


-- Exemples d'utilisation
-- Exemples d'utilisation
local sampleLatin = "Mèn Che ThaLaEk"
local sampleLatin = "Belda’ ce fi che dannaek."
local sampleElyan = toElyan(sampleLatin)
local sampleElyan = toElyan(sampleLatin)
print("Latin -> Èlyan : " .. sampleElyan)
print("Latin -> Èlyan : " .. sampleElyan)


local sampleElyan2 = "Ϡ+Ϡ° っ═ ϟ亅ㅆϻㅆ═Ϩ"
local sampleElyan2 = "ცპϻქძ’ ფპ Ꜫე ჯპ ქძდდძპϨ。"
local backToLatin = toLatin(sampleElyan2)
local backToLatin = toLatin(sampleElyan2)
print("Èlyan -> Latin : " .. backToLatin)
print("Èlyan -> Latin : " .. backToLatin)
</syntaxhighlight >
</syntaxhighlight >

Dernière version du 12 septembre 2025 à 17:44

Convertisseur Èlyan (en lettre latines) vers Èlyan

Il est possible d'utiliser facilement les convertisseurs suivants sur des sites de compilateur lua en ligne comme https://onecompiler.com/lua/

-- Tableau de correspondance Latin -> Èlyan
local latinToElyan = {
  -- Consonnes
  ["p"]="Ϥ", 
  ["b"]="ც", 
  ["t"]="ϟ", 
  ["d"]="ქ", 
  ["k"]="Ϩ", 
  ["g"]="ზ",
  ["f"]="Ꜫ", 
  ["v"]="ϣ", 
  ["s"]="Ϭ", 
  ["z"]="ჭ", 
  ["sh"]="ʒ", 
  ["j"]="ჟ",
  ["m"]="ლ", 
  ["n"]="დ", 
  ["l"]="ϻ", 
  ["r"]="ϻ°", 
  ["c"]="ფ",
  ["ch"]="ჯ",
  
  -- Voyelles
  ["i"]="ე",
  ["e"]="პ", 
  ["è"]="კ", 
  ["a"]="ძ", 
  ["u"]="ღ", 
  ["ù"]="ა",
  ["o"]="ბ",
  ["ò"]="ი",
  
  -- Glissantes
  ["y"]="ყ", 
  ["w"]="ს",
  ["h"]="ჩ",
  
  -- Ponctuation
  ["."]="。",
  ["..."]="…",
  ["!"]="!",
  ["?"]="?",
  [","]=",",
  [":"]=":",
  [";"]=";",
  ["'"]="’"
}

-- Tableau de correspondance Èlyan -> Latin
-- Attention : on met d'abord les symboles les plus longs pour gérer digrammes
local elyanToLatin = {}
local sortedKeys = {}

for k,v in pairs(latinToElyan) do
    elyanToLatin[v] = k
    table.insert(sortedKeys, v)
end

-- Trier par longueur décroissante pour gérer les symboles sur plusieurs caractères
table.sort(sortedKeys, function(a,b) return #a > #b 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 = ""
    local i = 1
    while i <= #text do
        local matched = false
        for _, key in ipairs(sortedKeys) do
            if text:sub(i,i+#key-1) == key then
                result = result .. elyanToLatin[key]
                i = i + #key
                matched = true
                break
            end
        end
        if not matched then
            result = result .. text:sub(i,i)
            i = i + 1
        end
    end
    return result
end

-- Exemples d'utilisation
local sampleLatin = "Belda’ ce fi che dannaek."
local sampleElyan = toElyan(sampleLatin)
print("Latin -> Èlyan : " .. sampleElyan)

local sampleElyan2 = "ცპϻქძ’ ფპ Ꜫე ჯპ ქძდდძპϨ。"
local backToLatin = toLatin(sampleElyan2)
print("Èlyan -> Latin : " .. backToLatin)