<?php
/**
 * Indexing labels per language.
 *
 * Provides user-friendly labels for the combined "indexing" process
 * (crawling + embedding) in simple, non-technical language.
 *
 * @package Inqyra
 */

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
    die;
}

/**
 * Indexing labels class.
 */
class Inqyra_Indexing_Labels {

    /**
     * Get labels for a given language.
     *
     * @param string $language Language code (e.g. 'nl', 'en', 'de').
     * @return array<string, string> Labels keyed by identifier.
     */
    public static function get( $language = 'en' ) {
        $all = self::get_all();
        return $all[ $language ] ?? $all['en'];
    }

    /**
     * Get all labels keyed by language code.
     *
     * @return array<string, array<string, string>>
     */
    public static function get_all() {
        return [
            'nl' => [
                'index_button'       => 'Start Indexering',
                'reindex_button'     => 'Herindexeren',
                'step_title'         => 'Content Indexeren',
                'step_description'   => 'We gaan nu je website-content doorlezen en verwerken zodat de chatbot er slim in kan zoeken. Dit gebeurt automatisch in twee stappen.',
                'step1_label'        => 'Je content wordt gelezen...',
                'step2_label'        => 'Content wordt doorzoekbaar gemaakt...',
                'step_of'            => 'Stap %1$d van %2$d',
                'complete'           => 'Je content is geïndexeerd! De chatbot kan nu je pagina\'s doorzoeken.',
                'skip'               => 'Sla over',
                'skip_note'          => 'Je kunt de indexering later uitvoeren vanuit het Knowledge Base-overzicht. Zonder indexering gebruikt de chatbot alleen zoekopdrachten op trefwoorden.',
                'pages_read'         => 'Pagina\'s gelezen',
                'items_processed'    => 'Onderdelen verwerkt',
                'auto_index_notice'  => 'Er zijn %d nieuwe onderdelen gevonden. Indexering loopt op de achtergrond.',
                'model_download'     => 'Let op: bij de eerste keer wordt er een zoekmodel (~50MB) naar je browser gedownload. Dit hoeft maar één keer.',
                'process_pending'    => 'Doorzoekbaar maken',
                'embedding_explain'  => 'Er zijn onderdelen die alleen gelezen zijn maar nog niet doorzoekbaar zijn gemaakt. Klik op de knop om dit af te ronden.',
            ],
            'en' => [
                'index_button'       => 'Start Indexing',
                'reindex_button'     => 'Re-index',
                'step_title'         => 'Index Content',
                'step_description'   => 'We\'ll now read and process your website content so the chatbot can search through it intelligently. This happens automatically in two steps.',
                'step1_label'        => 'Reading your content...',
                'step2_label'        => 'Making content searchable...',
                'step_of'            => 'Step %1$d of %2$d',
                'complete'           => 'Your content is indexed! The chatbot can now search your pages.',
                'skip'               => 'Skip for now',
                'skip_note'          => 'You can run the indexing later from the Knowledge Base overview. Without indexing, the chatbot will use keyword search only.',
                'pages_read'         => 'Pages read',
                'items_processed'    => 'Items processed',
                'auto_index_notice'  => '%d new items found. Indexing in progress.',
                'model_download'     => 'Note: The first run downloads a search model (~50MB) to your browser. This only happens once.',
                'process_pending'    => 'Make searchable',
                'embedding_explain'  => 'Some items have been read but not yet made searchable. Click the button to finish this process.',
            ],
            'de' => [
                'index_button'       => 'Indexierung starten',
                'reindex_button'     => 'Neu indexieren',
                'step_title'         => 'Inhalte indexieren',
                'step_description'   => 'Wir lesen und verarbeiten jetzt deine Website-Inhalte, damit der Chatbot intelligent darin suchen kann. Das geschieht automatisch in zwei Schritten.',
                'step1_label'        => 'Inhalte werden gelesen...',
                'step2_label'        => 'Inhalte werden durchsuchbar gemacht...',
                'step_of'            => 'Schritt %1$d von %2$d',
                'complete'           => 'Deine Inhalte sind indexiert! Der Chatbot kann jetzt deine Seiten durchsuchen.',
                'skip'               => 'Überspringen',
                'skip_note'          => 'Du kannst die Indexierung später über die Wissensdatenbank durchführen. Ohne Indexierung nutzt der Chatbot nur die Stichwortsuche.',
                'pages_read'         => 'Seiten gelesen',
                'items_processed'    => 'Elemente verarbeitet',
                'auto_index_notice'  => '%d neue Elemente gefunden. Indexierung läuft im Hintergrund.',
                'model_download'     => 'Hinweis: Beim ersten Mal wird ein Suchmodell (~50MB) in deinen Browser heruntergeladen. Das passiert nur einmal.',
                'process_pending'    => 'Durchsuchbar machen',
                'embedding_explain'  => 'Einige Elemente wurden gelesen, aber noch nicht durchsuchbar gemacht. Klicke auf die Schaltfläche, um diesen Vorgang abzuschließen.',
            ],
            'fr' => [
                'index_button'       => 'Démarrer l\'indexation',
                'reindex_button'     => 'Réindexer',
                'step_title'         => 'Indexer le contenu',
                'step_description'   => 'Nous allons maintenant lire et traiter le contenu de votre site web afin que le chatbot puisse y rechercher intelligemment. Cela se fait automatiquement en deux étapes.',
                'step1_label'        => 'Lecture de votre contenu...',
                'step2_label'        => 'Le contenu est rendu recherchable...',
                'step_of'            => 'Étape %1$d sur %2$d',
                'complete'           => 'Votre contenu est indexé ! Le chatbot peut maintenant rechercher dans vos pages.',
                'skip'               => 'Passer pour le moment',
                'skip_note'          => 'Vous pouvez lancer l\'indexation plus tard depuis la base de connaissances. Sans indexation, le chatbot utilisera uniquement la recherche par mots-clés.',
                'pages_read'         => 'Pages lues',
                'items_processed'    => 'Éléments traités',
                'auto_index_notice'  => '%d nouveaux éléments trouvés. Indexation en cours.',
                'model_download'     => 'Note : la première exécution télécharge un modèle de recherche (~50 Mo) dans votre navigateur. Cela ne se produit qu\'une seule fois.',
                'process_pending'    => 'Rendre recherchable',
                'embedding_explain'  => 'Certains éléments ont été lus mais n\'ont pas encore été rendus recherchables. Cliquez sur le bouton pour terminer ce processus.',
            ],
            'es' => [
                'index_button'       => 'Iniciar indexación',
                'reindex_button'     => 'Reindexar',
                'step_title'         => 'Indexar contenido',
                'step_description'   => 'Ahora leeremos y procesaremos el contenido de tu sitio web para que el chatbot pueda buscar en él de forma inteligente. Esto ocurre automáticamente en dos pasos.',
                'step1_label'        => 'Leyendo tu contenido...',
                'step2_label'        => 'Haciendo el contenido buscable...',
                'step_of'            => 'Paso %1$d de %2$d',
                'complete'           => '¡Tu contenido está indexado! El chatbot ahora puede buscar en tus páginas.',
                'skip'               => 'Saltar por ahora',
                'skip_note'          => 'Puedes ejecutar la indexación más tarde desde la base de conocimientos. Sin indexación, el chatbot solo usará búsqueda por palabras clave.',
                'pages_read'         => 'Páginas leídas',
                'items_processed'    => 'Elementos procesados',
                'auto_index_notice'  => '%d nuevos elementos encontrados. Indexación en progreso.',
                'model_download'     => 'Nota: la primera ejecución descarga un modelo de búsqueda (~50 MB) en tu navegador. Esto solo ocurre una vez.',
                'process_pending'    => 'Hacer buscable',
                'embedding_explain'  => 'Algunos elementos han sido leídos pero aún no se han hecho buscables. Haz clic en el botón para completar este proceso.',
            ],
        ];
    }
}
