const translations = {
    429: {
        de: {
            title: "Zu viele Anfragen",
            subtitle: "HTTP Fehlercode 429",
            message: "Ihr Netzwerk sendet aktuell zu viele Anfragen an diese Webseite, weshalb diese IP-Adresse temporär blockiert wurde. Versuchen Sie die Seite in wenigen Sekunden neu zu laden."
        },
        en: {
            title: "Too Many Requests",
            subtitle: "HTTP Error Code 429",
            message: "Your network is currently sending too many requests to this website, which is why this IP address has been temporarily blocked. Please try reloading the page in a few seconds."
        },
        fr: {
            title: "Trop de requêtes",
            subtitle: "Code d'erreur HTTP 429",
            message: "Votre réseau envoie actuellement trop de requêtes à ce site web, c'est pourquoi cette adresse IP a été temporairement bloquée. Veuillez réessayer de charger la page dans quelques secondes."
        },
        it: {
            title: "Troppe richieste",
            subtitle: "Codice di errore HTTP 429",
            message: "La tua rete sta attualmente inviando troppe richieste a questo sito web, motivo per cui questo indirizzo IP è stato temporaneamente bloccato. Prova a ricaricare la pagina tra pochi secondi."
        }
    },
    403: {
        de: {
            title: "Anfrage verboten",
            subtitle: "HTTP Fehlercode 403",
            message: "Sie haben keine Berechtigung diesen Inhalt anzuzeigen."
        },
        en: {
            title: "Forbidden",
            subtitle: "HTTP Error Code 403",
            message: "You do not have permission to view this content."
        },
        fr: {
            title: "Accès interdit",
            subtitle: "Code d'erreur HTTP 403",
            message: "Vous n'avez pas l'autorisation d'afficher ce contenu."
        },
        it: {
            title: "Accesso vietato",
            subtitle: "Codice di errore HTTP 403",
            message: "Non hai il permesso di visualizzare questo contenuto."
        }
    },
    400: {
        de: {
            title: "Ungültige Anfrage",
            subtitle: "HTTP Fehlercode 400",
            message: "Ihre Anfrage ist fehlerhaft und das gesuchte Ziel kann nicht gefunden werden."
        },
        en: {
            title: "Bad Request",
            subtitle: "HTTP Error Code 400",
            message: "Your request is malformed and the destination you are looking for cannot be found."
        },
        fr: {
            title: "Requête incorrecte",
            subtitle: "Code d'erreur HTTP 400",
            message: "Votre requête est incorrecte et la destination recherchée est introuvable."
        },
        it: {
            title: "Richiesta errata",
            subtitle: "Codice di errore HTTP 400",
            message: "La tua richiesta è errata e la destinazione cercata non è rintracciabile."
        }
    },
    500: {
        de: {
            title: "Kritischer Fehler beim Laden der Seite",
            subtitle: "HTTP Fehlercode 500",
            message: "Diese Seite konnte aufgrund von Problemen auf dem Server nicht geladen werden. Bitte versuchen Sie es später erneut. Die Behebung dieses Fehlers kann einige Zeit in Anspruch nehmen."
        },
        en: {
            title: "Critical Error Loading Page",
            subtitle: "HTTP Error Code 500",
            message: "This page could not be loaded due to problems on the server. Please try again later. Resolving this error may take some time."
        },
        fr: {
            title: "Erreur critique lors du chargement de la page",
            subtitle: "Code d'erreur HTTP 500",
            message: "Cette page n'a pas pu être chargée en raison de problèmes sur le serveur. Veuillez réessayer plus tard. La résolution de cette erreur peut prendre un certain temps."
        },
        it: {
            title: "Errore critico durante il caricamento della pagina",
            subtitle: "Codice di errore HTTP 500",
            message: "Impossibile caricare la pagina a causa di problemi sul server. Si prega di riprovare più tardi. La risoluzione di questo errore potrebbe richiedere del tempo."
        }
    }
};

const errortype = window.ERROR_CODE;

function translatePage(lang) {
    document.documentElement.lang = lang;
    
    document.getElementById('title').textContent = translations[errortype][lang].title;
    document.getElementById('subtitle').textContent = translations[errortype][lang].subtitle;
    document.getElementById('message').textContent = translations[errortype][lang].message;
}

window.addEventListener('DOMContentLoaded', () => {

    const browserLang = navigator.language || navigator.userLanguage;
    
    const shortLang = browserLang.toLowerCase().split('-')[0];
    
    const supportedLangs = ['de', 'en', 'fr', 'it'];
    
    if (supportedLangs.includes(shortLang)) {
        const selectEl = document.getElementById('langSelect');
        selectEl.value = shortLang; // Changes the dropdown visual state
        translatePage(shortLang);   // Runs your translation function
    }
}); 