<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Zoto IPA</title>
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
    <style>
        :root {
            --primary-color: #6f1d99; /* Couleur principale */
            --secondary-color: #2e86de; /* Couleur secondaire */
            --accent-color: #ff6b81; /* Couleur d'accent */
            --bg-color: #f5f5f5; /* Couleur de fond */
            --text-color: #212121; /* Couleur du texte */
            --shadow-color: rgba(0, 0, 0, 0.15); /* Couleur d'ombre */
            --popup-bg-color: #fff9f0; /* Couleur de fond du popup */
            --popup-border-color: #ffecb3; /* Couleur de bord du popup */
            --container-bg-color: #ffffff; /* Couleur de fond du conteneur */
            --input-bg-color: #e6f7ff; /* Couleur de fond des inputs */
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Roboto', sans-serif;
        }

        body {
            background: var(--bg-color);
            color: var(--text-color);
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 2rem 1rem;
            min-height: 100vh;
            transition: background 0.3s ease;
        }

.coins {
    position: fixed;
    bottom: 20px; /* Position ajustée */
    left: 20px;   /* Position ajustée */
    background: var(--secondary-color);
    border-radius: 10px; /* Coins arrondis */
    padding: 10px 15px; /* Espacement interne réduit */
    box-shadow: 0 6px 12px var(--shadow-color); /* Ombre réduite */
    color: white; /* Couleur du texte */
    font-weight: bold; /* Texte en gros caractères */
    font-size: 1rem; /* Taille de police réduite */
    transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s; /* Transition ajoutée */
    border: 2px solid var(--accent-color); /* Bordure colorée */
    z-index: 1000; /* Pour s'assurer qu'il reste au-dessus des autres éléments */
    opacity: 0; /* Commence invisible */
    animation: fadeInUp 0.5s forwards; /* Animation d'apparition */
}

@keyframes fadeInUp {
    from {
        opacity: 0; /* Début transparent */
        transform: translateY(20px); /* Début légèrement dessous */
    }
    to {
        opacity: 1; /* Fin non transparente */
        transform: translateY(0); /* Position finale */
    }
}

.coins:hover {
    transform: scale(1.05); /* Agrandissement au survol */
    box-shadow: 0 12px 24px var(--shadow-color); /* Ombre amplifiée */
    background-color: var(--accent-color); /* Changement de couleur au survol */
}

@media (max-width: 768px) {
    .coins {
        font-size: 0.9rem; /* Réduire la taille de la police pour petits écrans */
        padding: 8px 12px; /* Réduire l'espacement interne pour petits écrans */
    }
}

        .popup {
            display: none;
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: var(--popup-bg-color);
            border: 2px solid var(--popup-border-color);
            box-shadow: 0 5px 20px var(--shadow-color);
            z-index: 100;
            width: 90%;
            max-width: 420px;
            padding: 30px;
            border-radius: 15px;
            animation: fadeIn 0.3s ease, slideIn 0.3s ease;
            text-align: center;
            overflow: hidden;
        }

        .popup.active {
            display: block;
        }

        .popup .close:hover {
            background: var(--accent-color);
            transform: translateY(-2px);
        }

 .popup-buttons {
    display: flex;
    justify-content: center;
    gap: 10px; /* Espacement entre les boutons */
    margin-top: 20px; /* Ajoute un peu d'espace au-dessus des boutons */
}

.popup button {
    margin-top: 10px; /* Espacement entre les boutons ajusté */
    padding: 8px 16px; /* Réduire le rembourrage pour rendre plus compact */
    font-size: 0.9rem; /* Réduction de la taille de la police */
    font-weight: bold; /* Maintenir le poids du texte pour la lisibilité */
    background-color: var(--secondary-color); /* Couleur de fond */
    color: white; /* Couleur du texte */
    border: 2px solid var(--secondary-color); /* Bordure correspondante à la couleur de fond */
    border-radius: 5px; /* Coins légèrement arrondis */
    cursor: pointer; /* Curseur de main */
    transition: background 0.3s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 3px 8px var(--shadow-color); /* Ombre réduite */
}

.popup button:hover {
    background-color: var(--accent-color); /* Changement de couleur au survol */
    transform: translateY(-1px); /* Léger effet d'élévation */
    box-shadow: 0 4px 12px var(--shadow-color); /* Ombre plus marquée au survol */
}

.popup .close {
    background: var(--primary-color); /* Couleur de fond pour le bouton de fermeture */
}

.popup .close:hover {
    background: var(--accent-color); /* Changement de couleur au survol */
}

        .popup .timer {
            font-weight: bold;
            margin-top: 15px;
            font-size: 1.5rem;
            color: var(--accent-color);
        }

        .container {
            max-width: 900px;
            width: 100%;
            background: var(--container-bg-color);
            padding: 2rem;
            border-radius: 15px;
            box-shadow: 0 10px 30px var(--shadow-color);
            animation: slideIn 0.6s ease-out;
            transition: all 0.3s;
        }

        h1 {
            color: var(--primary-color);
            text-align: center;
            margin-bottom: 1.5rem;
            font-size: 2.5rem;
            font-weight: 700;
            text-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        }

        h1::after {
            content: '';
            display: block;
            position: relative;
            height: 4px;
            width: 60px;
            background: var(--accent-color);
            margin: 10px auto;
            border-radius: 2px;
        }

        p {
            text-align: center;
            margin-bottom: 1.5rem;
            font-size: 1.1rem;
            opacity: 0.8;
        }

        .input-container {
            padding: 1.5rem;
            border-radius: 10px;
            margin-bottom: 1.5rem;
            background: var(--input-bg-color);
            box-shadow: 0 2px 6px var(--shadow-color);
        }

        .input-group {
            display: flex;
            gap: 0.75rem;
            margin-bottom: 1rem;
            justify-content: center;
        }

        input {
            flex: 1;
            text-align: center;
            padding: 12px 15px;
            border: 2px solid #e0e0e0; 
            border-radius: 8px; 
            font-size: 1rem;
            transition: border-color 0.3s ease;
        }

        input:focus {
            border-color: var(--accent-color);
            outline: none;
            box-shadow: 0 0 0 3px rgba(57, 73, 171, 0.1);
        }

        button {
            background: var(--accent-color); 
            color: white; 
            border: none; 
            padding: 12px 20px;
            border-radius: 8px; 
            cursor: pointer; 
            font-size: 1rem; 
            font-weight: 600; 
            text-transform: uppercase;
            transition: background 0.3s ease, transform 0.2s ease;
        }

        button:hover {
            background: var(--primary-color); 
            transform: translateY(-2px); 
            box-shadow: 0 4px 8px var(--shadow-color);
        }

        #output {
            background: #f8f9fa; 
            padding: 1.5rem; 
            border-radius: 10px; 
            font-size: 1.2rem; 
            text-align: center;
            min-height: 60px; 
            border: 2px solid #e0e0e0; 
            transition: all 0.3s ease;
        }

        @media (max-width: 768px) {
            .container { padding: 1.5rem; }
            .input-group { flex-direction: column; }
            button { width: 100%; }
            h1 { font-size: 2rem; }
        }

        @keyframes slideIn {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
    .contact-button {
    position: fixed;
    bottom: 20px; /* Distance du bas de l'écran */
    right: 20px; /* Distance du côté droit de l'écran */
    width: 70px; /* Largeur du bouton */
    height: 70px; /* Hauteur du bouton */
    background-color: #FF5733; /* Couleur de fond */
    border-radius: 50%; /* Pour rendre le bouton rond */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7); /* Ombre */
    color: white; /* Couleur de l'icône */
    font-size: 2.5rem; /* Taille de l'icône */
    text-decoration: none; /* Enlever le soulignement */
    animation: bounce 2s infinite; /* Animation de rebondissement */
    transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s; /* Effets de transition */
}

/* Animation de rebondissement */
@keyframes bounce {
    0%, 100% {
        transform: translateY(0); /* Position de départ */
    }
    50% {
        transform: translateY(-15px); /* Élevée */
    }
}

.contact-button a {
    color: white; /* Couleur de l'icône */
}

/* Effet de survol */
.contact-button:hover {
    background-color: #C70039; /* Couleur au survol */
    transform: rotate(360deg) scale(1.1); /* Rotation complète au survol */
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.8); /* Ombre plus marquée au survol */
}

/* Effet d'animation pendant le clic */
.contact-button:active {
    transform: scale(0.9); /* Réduction de taille pendant le clic */
    transition: transform 0.1s; /* Transition rapide lors du clic */
}
.home-button-container {
    position: fixed;
    bottom: 90px; /* Ajustez selon la hauteur du bouton de contact */
    right: 20px;  /* Position par rapport à l'écran */
    z-index: 1000; /* Assurez-vous qu'il est au-dessus des autres éléments */
}

.home-button {
    width: 70px; /* Largeur du bouton */
    height: 70px; /* Hauteur du bouton */
    background-color: var(--secondary-color);
    border-radius: 50%; /* Pour un aspect rond */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 2.5rem; /* Taille de l'icône */
    text-decoration: none;
    animation: bounce 1s infinite;
    transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s;
}

.home-button:hover {
    transform: scale(1.1);
    background-color: var(--accent-color); /* Changer la couleur au survol */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.8); /* Ombre plus marquée au survol */
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}
    </style>
</head>
<body>
    <div class="coins">Crédits Restants: <span id="coinCount">3</span></div>

<div class="popup" id="coinsPopup">
    <p id="popupMessage">Votre quota de crédits est épuisé. Veuillez attendre <span class="timer" id="remainingTime">1000</span> secondes ou acheter des crédits supplémentaires.</p>

    <!-- Boutons d'achat et de fermeture -->
    <div class="popup-buttons">
        <button id="purchaseBtn" onclick="showPayPalForm()">Acheter des crédits</button>
        <button id="closeBtn" class="close" onclick="closePopup()">Fermer</button>
    </div>
    
    <!-- Formulaire PayPal caché par défaut -->
    <form id="paypalForm" action="https://www.paypal.com/ncp/payment/UGVNSEMC29ZRW" method="post" target="_top" style="display:none;">
        <input class="pp-UGVNSEMC29ZRW" type="submit" id="payNowBtn" value="Acheter maintenant" />
        <img src="https://www.paypalobjects.com/images/Debit_Credit_APM.svg" alt="cards" />
        <section> Powered by <img src="https://www.paypalobjects.com/paypal-ui/logos/svg/paypal-wordmark-color.svg" alt="paypal" style="height:0.875rem;vertical-align:middle;" /></section>
    </form>
</div>

<div class="popup" id="encouragePopup">
    <p id="popupMessage2">Bonjour. Encouragez Pr. Zoto à améliorer ses inventions en achetant la version payante.</p>
    <div class="popup-buttons">
        <button id="purchaseBtn2" onclick="showPayPalForm2()">Acheter</button>
        <button id="closeBtn2" class="close" onclick="closeEncouragePopup()">Plus tard</button>
       </div>
    <!-- Formulaire PayPal caché par défaut -->
    <form id="paypalForm2" action="https://www.paypal.com/ncp/payment/UGVNSEMC29ZRW" method="post" target="_top" style="display:none;">
        <input class="pp-UGVNSEMC29ZRW" type="submit" id="payNowBtn2" value="Acheter maintenant" />
        <img src="https://www.paypalobjects.com/images/Debit_Credit_APM.svg" alt="cards" />
        <section> Powered by <img src="https://www.paypalobjects.com/paypal-ui/logos/svg/paypal-wordmark-color.svg" alt="paypal" style="height:0.875rem;vertical-align:middle;" /></section>
    </form>
</div>

    <div class="container">
        <h1 id="title">ZOTO IPA</h1>
        <p id="description">Convertisseur de mots malgaches en phonétique IPA</p>
        <div class="input-container">
            <div class="input-group">
                <input type="text" id="inputText" placeholder="Entrez un mot malgache" autocomplete="off" />
                <button id="btn" onclick="convertToPhonetic()">Convertir</button>
            </div>
        </div>
        <div id="output"></div>
    </div>
    <div class="contact-button">
    <a href="mailto:ezrdn@mbox.re">✉️</a>
</div>
<div class="home-button-container">
    <button class="home-button">
        <i class="fas fa-home"></i>
    </button>
</div>

    <script src="https://cdn.jsdelivr.net/npm/js-cookie/src/js.cookie.js"></script>
    <script>
        let credits = parseInt(localStorage.getItem("credits")) || 3;
        let isBlocked = false;
        let blockEndTime = parseInt(localStorage.getItem("blockEndTime")) || null;

        function displayCoins() {
            if (isBlocked) {
                document.getElementById("coinCount").innerText = 0;
            } else {
                document.getElementById("coinCount").innerText = credits;
            }

            if (credits <= 0 && !isBlocked) {
                blockUser();
            }
        }

        function blockUser() {
            isBlocked = true;
            credits = 0; // Fixer les crédits à 0
            localStorage.setItem("credits", credits);
            blockEndTime = Date.now() + (1000 * 1000); // 1000 secondes
            localStorage.setItem("blockEndTime", blockEndTime);
            startCountdown();
            displayCoins(); // Mettre à jour l'affichage des crédits
            document.getElementById("coinsPopup").classList.add('active');
        }

        function startCountdown() {
            const countdownInterval = setInterval(() => {
                const remaining = Math.max(0, blockEndTime - Date.now());
                if (remaining <= 0) {
                    clearInterval(countdownInterval);
                    isBlocked = false;
                    credits = 3; // Réinitialiser les crédits après le blocage
                    localStorage.setItem("credits", credits);
                    displayCoins();
                    closePopup();
                }
                document.getElementById("remainingTime").innerText = Math.floor(remaining / 1000);
            }, 1000);
        }

        function closePopup() {
            document.getElementById("coinsPopup").classList.remove('active');
        }

        function initialize() {
            credits = parseInt(localStorage.getItem("credits")) || 3;
            blockEndTime = parseInt(localStorage.getItem("blockEndTime")) || null;

            if (blockEndTime && blockEndTime > Date.now()) {
                isBlocked = true;
                credits = 0;
                startCountdown();
            }

            displayCoins();
        }
        
        function showPayPalForm() {
    // Cacher le bouton d'achat et le bouton de fermeture 
    document.getElementById("purchaseBtn").style.display = 'none';
    document.getElementById("closeBtn").style.display = 'none';
    
    // Afficher le formulaire PayPal
    document.getElementById("paypalForm").style.display = 'block';
}

function showPayPalForm2() {
    // Cacher le bouton d'achat et le bouton de fermeture 
    document.getElementById("purchaseBtn2").style.display = 'none';
    document.getElementById("closeBtn2").style.display = 'none';
    
    // Afficher le formulaire PayPal
    document.getElementById("paypalForm2").style.display = 'block';
}

        function handlePayPalSubmit() {
    alert('Vous serez redirigé vers PayPal pour finaliser votre paiement.');
    return true; // Continue le formulaire vers PayPal
}

function handlePaymentSuccess() {
    credits += 100; // Ajoute 100 crédits en cas de succès
    localStorage.setItem("credits", credits);
    displayCoins();
    
    // Affiche l'alerte traduite
    alert(translations[currentLanguage].alertPurchaseSuccess); // Utilise la langue courante
    closePopup();
}

function blockUser() {
    isBlocked = true;
    credits = 0; // Fixer les crédits à 0
    localStorage.setItem("credits", credits);
    blockEndTime = Date.now() + (5000 * 1000); 
    localStorage.setItem("blockEndTime", blockEndTime);
    startCountdown();
    displayCoins(); // Met à jour l'affichage des crédits
    document.getElementById("coinsPopup").classList.add('active');
    
    // Affiche l'alerte pour l'utilisateur bloqué
    alert(translations[currentLanguage].alertBlockedUser);
}

        window.onload = initialize;
        
       // Empêcher le clic droit
  document.addEventListener('contextmenu', (e) => e.preventDefault());
  document.addEventListener('keydown', (e) => {
    if (e.key === 'F12' || (e.ctrlKey && e.shiftKey && (e.key === 'I' || e.key === 'J')) || (e.ctrlKey && e.key === 'U')) {
      e.preventDefault();
    }
  });
  
  // Anti-débogage
  (function () {
    const element = new Image();
    Object.defineProperty(element, 'id', {
      get: function () {
        throw new Error('Debugging is not allowed.');
      },
    });
    setInterval(() => {
      console.log(element);
    }, 1000);
  })();
  
  // règles 
  const noAccentWords = ["manao ahoana", "fananana", "aotra", "aoka", "mizaka", "misaotra", "mitete", "midoka", "mabdoka", "tsotsotra", "mitsotra", "mifoka", "miloka",  "fanambarana", "maratra", "makà", "mialà", "miasà", "miomàna", "miomàna", "mihomàna", "mifonà", "mamanà", "mijanòna", "manomàna", "mamelà", "fizarana", "rà", "fizaràna", "karàna", "karana", "tanàna", "lalàna", "asa", "isa", "iza", "izy", "ivy",  "avy", "ovy", "iva", "aza", "ary", "àry", "ilo", "indro", "any", "eny", "iny", "iry", "ito", "aty", "abo", "ebo", "ala", "elo", "ela", "va", "ve", "vy", "zo", "izaho", "na", "sa", "sy", "ta", "te", "ny", "no", "ra", "ro", "ry", "fa", "fo", "ho", "ka", "manao akôry", "manao akory", "mantsana", "ianao", "aho", "efa", "sina", "zoma", "ity", "sharia", "ilay", "oisikia", "abidy", "soalà", "soala", "na aiza na aiza", "mikotaoaza", "katolika", "politika", "sosialy", "zo", "na inona na inona"]; // Ajoutez vos mots sans accent ici
            
        function splitIntoSyllables(word) {
            return word.match(/([aeiouy]+[^aeiouy]*)/g) || [word];
        }

        function applyAccent(outputText, accentPosition) {
            const syllables = outputText.split(/(?=[aioue])/);
            if (syllables.length > accentPosition) {
                const syllableToAccent = syllables[accentPosition];
                const consonantIndex = syllableToAccent.search(/[^aeiou]/);
                if (consonantIndex !== -1) {
                    syllables[accentPosition] = syllableToAccent.slice(0, consonantIndex) + "'" + syllableToAccent.slice(consonantIndex);
                }
            }
            return syllables.join('');
        }

        function removeExtraApostrophes(outputText) {
            const apostropheOccurences = outputText.split("'");
            if (apostropheOccurences.length > 2) {
                const validApostrophe = apostropheOccurences[0];
                const rest = apostropheOccurences.slice(1).join('').replace(/'/g, '');
                return validApostrophe + "'" + rest;
            }
            return outputText;
        }

        function determineAccent(inputText) {
            const trimmedInput = inputText.trim().toLowerCase();
            const syllables = splitIntoSyllables(trimmedInput); 
            const syllableNum = syllables.length;
            
             // Exception 6 : Si le mot se termine par "iaka", "iana" ou "iatra" ou etc
            if (/iaka$|iana$|iatra$|oaka$|oana$|oatra$|oika$|oina$|oitra$/.test(trimmedInput)) {
                const accentIndex = syllables.findIndex(syllable => syllable.includes('ø'));
                return accentIndex !== -1 ? accentIndex : syllableNum - 2; 
            } 
            
            if (/oy$|oa$/.test(trimmedInput)) {
                const accentIndex = syllables.findIndex(syllable => syllable.includes('ø'));
                return accentIndex !== -1 ? accentIndex : syllableNum - 1; 
            } 
            
            // Exception 5 : Si le mot se termine par "ia"
            if (trimmedInput.endsWith("ia")) {
                return syllableNum - 1; // Accent sur la dernière syllabe
            } 
        

      // Exception 2 et 3 : Pour les mots commencant par "FI" ou "FA"
            if ((trimmedInput.startsWith("fi") && (syllableNum === 4 || syllableNum === 6)) || 
                (trimmedInput.startsWith("fa") && (syllableNum === 4 || syllableNum === 5))) {
                return syllableNum - 2; // Accentuate second syllable from end
            } 
            
            // Règles standards
            if (trimmedInput.endsWith("ka") || trimmedInput.endsWith("na") || trimmedInput.endsWith("tra")) {
                return syllableNum >= 3 ? syllableNum - 3 : syllableNum - 2; // Accentuate third syllable from end
            } 

            // Exception 4 : Accent sur les syllabes contenant les voyelles spécifiées
function determineAccent(word) {
    const syllables = splitIntoSyllables(word);

    // Recherche des voyelles spéciales (e, à, ì, ò, ỳ)
    const specialVowels = /[eàìòỳ]/;
    for (let i = 0; i < syllables.length; i++) {
        if (specialVowels.test(syllables[i])) {
            return i; // Retourne l'index de la syllabe contenant une voyelle spéciale
        }
    }

    // Si aucune voyelle spéciale n'est trouvée, retourne l'avant-dernière syllabe
    return Math.max(syllables.length - 2, 0);
}

            // Par défaut, l'accent est sur la deuxième syllabe à partir de la fin
            return syllableNum >= 2 ? syllableNum - 2 : syllableNum - 1;
        }

        function removeAccents(word) {
            return word
                .replace(/[éèêë]/g, 'e')
                .replace(/[àâ]/g, 'a')
                .replace(/[îï]/g, 'i')
                .replace(/[ôö]/g, 'o')
                .replace(/[ùûü]/g, 'u')
                // Ajoutez d'autres remplacements si nécessaire
        }

        function getPhoneticWriting(inputText) {
            const accentIndex = determineAccent(inputText);
            const syllables = splitIntoSyllables(inputText);

            let phoneticOutput = syllables.map((syllable, index) => {
                return index === accentIndex ? syllable.toUpperCase() : removeAccents(syllable);
            }).join('-');

            return phoneticOutput;
        }
        
        function convertToPhonetic() {
            if (isBlocked) {
                document.getElementById("coinsPopup").classList.add('active');
                return;
            }

            if (credits <= 0) {
                blockUser();
                return;
            }

            credits--; // Décrémenter les crédits s'ils sont disponibles
            localStorage.setItem("credits", credits);
            displayCoins();

            let inputText = document.getElementById("inputText").value.trim().toLowerCase();
            let outputText = inputText;

            if (inputText === "manao akôry" || inputText === "manao akory") {
                outputText = "mana'kɔːri̥";
            } else if (inputText === "manao ahoana") {
                outputText = "mana'wɔːnḁ";
            } else if (inputText === "mantsana") {
                outputText = "man'tsanḁ";
            } else if (inputText === "ianao") {
                outputText = "e'naw || a'naw";
            } else if (inputText === "aho") {
                outputText = "ahu̥";
            } else if (inputText === "efa") {
                outputText = "fḁ";
            } else if (inputText === "sina") {
                outputText = "'sinnḁ";
            } else if (inputText === "soalà" || inputText === "soala") {
                outputText = "swaˈlaa";
            } else if (inputText === "soala" || inputText === "soala") {
                outputText = "swaˈlaa";
            } else if (inputText === "zoma") {
                outputText = "zu'maa";
            } else if (inputText === "abidy") {
                outputText = "abi'di";
            } else if (inputText === "ity") {
                outputText = "'ti";
            } else if (inputText === "ilay") {
                outputText = "laj";
            } else if (inputText === "oisikia") {
                outputText = "wis'ki";
            } else if (inputText === "na inona na inona") {
                outputText = "ninni'nnḁ";
            } else if (inputText === "na aiza na aiza") {
                outputText = "naiza'naizḁ";
             } else if (inputText === "sharia") {
                outputText = "ʃa'rjḁ";
            } else if (inputText === "mikotaoaza") {
                outputText = "mi'kuta'wazḁ";
            } else if (inputText === "katolika") {
                outputText = "katɔː'likḁ";
            } else if (inputText === "politika") {
                outputText = "pɔːli'tikḁ";
            }
            else if (inputText === "sosialy") {
                outputText = "sɔːsiali̥";
            } 
            else if (inputText === "fa") {
                outputText = "faa";
            } 
            else if (inputText === "fo") {
                outputText = "fu";
            } 
            else if (inputText === "ho") {
                outputText = "hu";
            } 
            else if (inputText === "ka") {
                outputText = "ku";
            } 
            else if (inputText === "na") {
                outputText = "naa";
            } 
            else if (inputText === "no") {
                outputText = "nu";
            } 
            else if (inputText === "ny") {
                outputText = "ni";
            } 
            else if (inputText === "ra") {
                outputText = "raa";
            } 
            else if (inputText === "rà") {
                outputText = "raa";
            } 
           else if (inputText === "ro") {
                outputText = "ru";
            } 
            else if (inputText === "ry") {
                outputText = "ri";
            } 
            else if (inputText === "sa") {
                outputText = "saa";
            } 
            else if (inputText === "sy") {
                outputText = "si";
            } 
            else if (inputText === "ta") {
                outputText = "taa";
            } 
            else if (inputText === "te") {
                outputText = "te";
            } 
            else if (inputText === "va") {
                outputText = "vaa";
            } 
            else if (inputText === "ve") {
                outputText = "ve";
            } 
            else if (inputText === "vy") {
                outputText = "vi";
            } 
            else if (inputText === "zo") {
                outputText = "zu";
            } 
            else if (inputText === "izaho") {
                outputText = "za(w)";
            } 
            else if (inputText === "abo") {
                outputText = "'abu̥";
            } 
            else if (inputText === "ebo") {
                outputText = "'ebu̥";
            } 
            else if (inputText === "ala") {
                outputText = "'alḁ";
            } 
            else if (inputText === "elo") {
                outputText = "'elu̥";
            } 
            else if (inputText === "ela") {
                outputText = "'elḁ";
            } 
            else if (inputText === "ilo") {
                outputText = "'ilu̥";
            } 
            else if (inputText === "indro") {
                outputText = "'indru̥";
            } 
            else if (inputText === "any") {
                outputText = "'any";
            } 
            else if (inputText === "eny") {
                outputText = "'eni̥";
            } 
            else if (inputText === "iny") {
                outputText = "'ini̥";
            } 
            else if (inputText === "ary") {
                outputText = "'ari̥ (et) || a’ri (là-bas)";
            } 
            else if (inputText === "iry") {
                outputText = "ri";
            } 
            else if (inputText === "ito") {
                outputText = "'itu̥";
            } 
            else if (inputText === "aty") {
                outputText = "'ati̥ (foie) || a’ti (ici)";
            } 
            
            else if (inputText === "avy") {
                outputText = "avi̥";
            } 
            
            else if (inputText === "ovy") {
                outputText = "'uvi̥";
            } 
            
            else if (inputText === "iva") {
                outputText = "'ivḁ";
            } 
            
            else if (inputText === "aza") {
                outputText = "'aza";
            } 
            else if (inputText === "iza") {
                outputText = "'izḁ";
            } 
            
            else if (inputText === "izy") {
                outputText = "'izi̥";
            } 
            
            else if (inputText === "ivy") {
                outputText = "'ivi̥";
            } 
            
            else if (inputText === "asa") {
                outputText = "'asḁ";
            } 
            else if (inputText === "isa") {
                outputText = "'isḁ";
            } 
            else if (inputText === "fananana") {
                outputText = "fa'nananḁ";
            } 
            else if (inputText === "lalàna") {
                outputText = "la'lanḁ";
            } 
            else if (inputText === "tanàna") {
                outputText = "tan'anḁ";
            } 
            else if (inputText === "karàna") {
                outputText = "kar'anḁ";
            } 
            else if (inputText === "karana") {
                outputText = "1. 'karanḁ || 2. ka'ranḁ";
            } 
            else if (inputText === "fizaràna") {
                outputText = "fizar'anḁ";
            } 
            else if (inputText === "fizarana") {
                outputText = "1. fi'zaranḁ || 2. fiza'ranḁ";
            } 
            else if (inputText === "makà") {
                outputText = "ma'kaa";
            } 
            else if (inputText === "mialà") {
                outputText = "me'laa";
            } 
            else if (inputText === "miasà") {
                outputText = "me'saa";
            } 
            else if (inputText === "mifonà") {
                outputText = "mifu'naa";
            } 
            else if (inputText === "mamanà") {
                outputText = "mama'naa";
            } 
            else if (inputText === "mamelà") {
                outputText = "mame'laa";
            } 
            else if (inputText === "manomàna") {
                outputText = "manu'manḁ";
            } 
            else if (inputText === "miomàna") {
                outputText = "miw'manḁ";
            } 
           else if (inputText === "mihomàna") {
                outputText = "mihu'manḁ";
            } 
            else if (inputText === "fanambarana") {
                outputText = "1. fanamba'ranḁ || 2. fana’mbaranḁ";
            } 
            else if (inputText === "maratra") {
                outputText = "ma'raʈ͡ʂḁ";
            } 
            else if (inputText === "misaotra") {
                outputText = "mi'sɔːʈ͡ʂḁ";
            } 
            else if (inputText === "tsotsotra") {
                outputText = "tsu't͡suʈ͡ʂḁ";
            } 
            else if (inputText === "mitsotra") {
                outputText = "mi't͡suʈ͡ʂḁ";
            } 
            else if (inputText === "mifoka") {
                outputText = "mi'fukḁ";
            } 
            else if (inputText === "mitsoka") {
                outputText = "mi't͡sokḁ";
            } 
            else if (inputText === "miloka") {
                outputText = "mi'lukḁ";
            } 
            else if (inputText === "midoka") {
                outputText = "mi'dukḁ";
            } 
            else if (inputText === "mandoka") {
                outputText = "man'dukḁ";
            } 
            else if (inputText === "mitete") {
                outputText = "mite'te";
            } 
            else if (inputText === "mizaka") {
                outputText = "mi'zakḁ";
            } 
               else if (inputText === "mijanòna") {
                outputText = "mija'nunḁ";
            } 
            else if (inputText === "aoka") {
                outputText = "'awkḁ || ’ɔːkḁ";
            } 
            else if (inputText === "aotra") {
                outputText = "'awʈ͡ʂḁ ";
            } 
            

            const isNoAccentWord = noAccentWords.includes(inputText);            

            const rules = [
                { regex: /io/g, replacement: "iw" },
                { regex: /oitra$/g, replacement: "uiʈ͡ʂḁ" },
                { regex: /oika$/g, replacement: "uikḁ" },
                { regex: /oina$/g, replacement: "u(i)nḁ" },
                { regex: /j/g, replacement: "d͡z" },
                { regex: /ziana/g, replacement: "z'jannḁ" },
                { regex: /peana/g, replacement: "pe'jannḁ" },
                { regex: /mima/g, replacement: "mmḁ" },
                { regex: /mina/g, replacement: "mma" },
                { regex: /nina/g, replacement: "nnḁ" },
                { regex: /nona/g, replacement: "nnḁ" },
                { regex: /iaka$/g, replacement: "ikḁ" },
                { regex: /iana$/g, replacement: "inḁ" },
                { regex: /iatra$/g, replacement: "iʈ͡ʂḁ" },
                { regex: /ia$/g, replacement: "i" },
                { regex: /ia/g, replacement: "ja" },
                { regex: /dr/g, replacement: "ɖ͡ʐ" },
                { regex: /ts/g, replacement: "t͡s" },
                { regex: /tr/g, replacement: "ʈ͡ʂ" },
                { regex: /sh/g, replacement: "ʃ" },
                { regex: /oana$/g, replacement: "unḁ" },
                 { regex: /^hoa/g, replacement: "wa" },
                 { regex: /^oa/g, replacement: "wa" },
                { regex: /oa$/g, replacement: "u(wḁ)" },
                { regex: /oa/g, replacement: "ɔː" },
                { regex: /a$/g, replacement: "ḁ" },
                { regex: /ay/g, replacement: "aj" },
                { regex: /ey/g, replacement: "ej" },
                { regex: /oy$/g, replacement: "uj" },
                { regex: /y$/g, replacement: "i̥" },
                { regex: /ao/g, replacement: "aw" },
                { regex: /ô/g, replacement: "ɔː" },
                { regex: /oe/g, replacement: "we" },
                { regex: /oi/g, replacement: "wi" },
                { regex: /o$/g, replacement: "u̥" },
                { regex: /o/g, replacement: "u" },
                { regex: /h/g, replacement: "(h)" },
                { regex: /aa/g, replacement: "a" },
                { regex: /aḁ/g, replacement: "a" },
                { regex: /ae/g, replacement: "eje" },
                { regex: /ai/g, replacement: "aj" },
                { regex: /ee/g, replacement: "e" },
                { regex: /ea/g, replacement: "e" },
                { regex: /eḁ/g, replacement: "e" },
                { regex: /ei/g, replacement: "ej" },
                { regex: /ii/g, replacement: "i" },
                { regex: /ie/g, replacement: "ije" },
                { regex: /ea$/g, replacement: "e" },
                { regex: /à/g, replacement: "a" },
                { regex: /ò/g, replacement: "u" },
                { regex: /ì/g, replacement: "i" },
                { regex: /ỳ/g, replacement: "y" },
            ];
            
            rules.forEach(rule => {
                outputText = outputText.replace(rule.regex, rule.replacement);
            });

            if (!isNoAccentWord) {
                const accentPosition = determineAccent(inputText);
                outputText = applyAccent(outputText, accentPosition);
            }

            outputText = removeExtraApostrophes(outputText);

            document.getElementById("output").innerText = "[ " + outputText + " ]";
        }
        
        // traductions automatiques 
        const translations = {
    fr: {
        title: "ZOTO IPA",
        description: "Convertisseur de mots malgaches en phonétique IPA",
        placeholder: "Entrez un mot malgache",
        btn: "Convertir",
        popupMessage: "Votre quota de crédits est épuisé. Veuillez attendre <span class='timer' id='remainingTime'>1000</span> secondes ou acheter des crédits supplémentaires.",
        closeBtn: "Fermer",
        purchaseBtn: "Acheter des crédits",
        popupMessage2: "Bonjour. Encouragez Pr. Zoto à améliorer ses inventions en achetant la version payante.",
        closeBtn2: "Plus tard",
        purchaseBtn2: "Acheter",
        payNow: "Acheter maintenant",
        payNow2: "Acheter maintenant",
        alertPurchaseSuccess: "Achat réussi ! Vous avez reçu 100 crédits supplémentaires.", // Nouvelle ligne pour le succès d'achat
        alertBlockedUser: "Votre quota de crédits est épuisé. Veuillez attendre quelques instants.", // Alerte pour l'utilisateur bloqué
        coinText: "Crédits Restants: <span id='coinCount'>3</span>"
    },
    en: {
        title: "ZOTO IPA",
        description: "Malagasy words to IPA phonetic converter",
        placeholder: "Enter a Malagasy word",
        btn: "Convert",
        popupMessage: "Your credit quota is exhausted. Please wait <span class='timer' id='remainingTime'>1000</span> seconds or purchase additional credits.",
        closeBtn: "Close",
        purchaseBtn: "Buy Credits",
        popupMessage2: "Hello, support Prof. Zoto in improving his inventions by purchasing the premium version.",
        closeBtn2: "Later",
        purchaseBtn2: "Buy",
        payNow: "Buy now",
        payNow2: "Buy now",
        alertPurchaseSuccess: "Purchase successful! You have received 100 additional credits.", // Nouvelle ligne pour le succès d'achat
        alertBlockedUser: "Your credit quota is exhausted. Please wait a moment.", // Alerte pour l'utilisateur bloqué
        coinText: "Remaining Credits: <span id='coinCount'>3</span>"
    },
    ar: {
        title: "زوتو فونيتيك",
        description: "محول الكلمات الملغاشية إلى الفونيتيك الدولي",
        placeholder: "أدخل كلمة ملغاشية",
        btn: "تحويل",
        popupMessage: "تم استنفاد رصيدك. يرجى الانتظار <span class='timer' id='remainingTime'>1000</span> ثانية أو شراء أرصدة إضافية.",
        closeBtn: "إغلاق",
        purchaseBtn: "شراء أرصدة",
        popupMessage2: "مرحبًا، ادعموا الأستاذ زوتو في تطوير ابتكاراته من خلال شراء النسخة المدفوعة",
        closeBtn2: "لاحقا",
        purchaseBtn2: "شراء",
        payNow: "شراء الآن",
        payNow2: "شراء الآن",
        alertPurchaseSuccess: "تم شراء بنجاح! لقد حصلت على 100 رصيد إضافي.", // Nouvelle ligne pour le succès d'achat
        alertBlockedUser: "لقد استنفدت رصيدك. يرجى الانتظار لبعض الوقت.", // Alerte pour l'utilisateur bloqué
        coinText: "الرصيد المتبقي: <span id='coinCount'>3</span>"
    }
};

let currentLanguage = 'fr'; // Valeur par défaut
function setLanguage(lang) {
	currentLanguage = lang; // Définit la langue actuelle
    document.getElementById("title").innerText = translations[lang].title;
    document.getElementById("description").innerText = translations[lang].description;
    document.getElementById("inputText").placeholder = translations[lang].placeholder;
    document.getElementById("btn").innerText = translations[lang].btn;

    const popupMessageElement = document.getElementById("popupMessage");
    if (popupMessageElement) {
        popupMessageElement.innerHTML = translations[lang].popupMessage;
    }
    
    const popupMessage2Element = document.getElementById("popupMessage2");
    if (popupMessage2Element) {
        popupMessage2Element.innerHTML = translations[lang].popupMessage2;
    }

    document.getElementById("closeBtn").innerText = translations[lang].closeBtn;
    document.getElementById("closeBtn2").innerText = translations[lang].closeBtn2;
    
    // Met à jour le texte du bouton d'achat
    document.getElementById("purchaseBtn").innerText = translations[lang].purchaseBtn; // Mettez à jour ici !
    document.getElementById("purchaseBtn2").innerText = translations[lang].purchaseBtn2; // Mettez à jour ici !
    
    // Assurez-vous également que le bouton "Payer maintenant" est mis à jour ici si nécessaire
    document.getElementById("payNowBtn").value = translations[lang].payNow; // Ceci est pour le bouton PayPal.
    document.getElementById("payNowBtn2").value = translations[lang].payNow2; 
 
    // Mettez à jour le texte des crédits restants
    document.querySelector(".coins").innerHTML = translations[lang].coinText;
}

// Detecter et appliquer la langue de l'utilisateur
document.addEventListener('DOMContentLoaded', () => {
    const userLang = navigator.language || navigator.userLanguage; // Détecte la langue de l'utilisateur
    const lang = userLang.startsWith('ar') ? 'ar' : (userLang.startsWith('en') ? 'en' : 'fr');
    setLanguage(lang); // Configure la langue
});

// Vérifiez si c'est un nouveau visiteur
const hasVisited = localStorage.getItem('hasVisited');
if (!hasVisited) {
    setTimeout(showEncouragePopup, 2000); // Afficher le popup après 2 secondes
    localStorage.setItem('hasVisited', 'true'); // Marquer comme visité
}

// Fonction pour afficher le popup d'encouragement
function showEncouragePopup() {
    document.getElementById("encouragePopup").classList.add('active');
}

function closeEncouragePopup() {
    document.getElementById("encouragePopup").classList.remove('active');
}


// Redirige vers la page d'accueil lors du clic
document.querySelector('.home-button').addEventListener('click', function() {
    window.location.href = 'https://husnedine.github.io/rz3/index'; // Modifiez ici pour votre URL d'accueil
});

    </script>
</body>
</html>