// AGPL-3.0-only
//
// This is free software for the public good of a permacomputer
// hosted at permacomputer.com, an always-on computer by the people, for the
// people. One which is durable, easy to repair, and distributed like tap water
// for machine learning intelligence.
//
// The permacomputer is community-owned infrastructure optimized around
// four values:
//
//   TRUTH    - First principles, math & science, open source code
//   FREEDOM  - Voluntary partnerships, freedom from tyranny & corporate control
//   HARMONY  - Minimal waste, self-renewing systems with diverse connections
//   LOVE     - Be yourself without hurting others, cooperation through natural law
//
// This software contributes to that vision by making machine learning
// accessible to everyone through a free, open, embeddable chat interface.
// Code is seeds to sprout on any abandoned technology.
//
// Learn more: https://www.permacomputer.com
//
// NO WARRANTY. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
//
// Copyright 2025-2026 TimeHexOn & foxhop & russell@unturf
// https://www.permacomputer.com

// French (Français) UI Translations
export const fr = {
	// Main buttons
	readPage: "📖 Lire la Page",
	ttsAnything: "🔊 TTS Tout",
	translate: "🌐 Traduire",
	smartTranslate: "🤖 Traduction Intelligente",
	uploadFile: "📁 Télécharger Fichier",

	// Actions
	refreshModels: "🔄 Actualiser Modèles",
	clearChat: "🗑️ Effacer Chat",
	fullChatRaw: "📋 Chat Complet Brut",
	fullChatHTML: "📄 Chat Complet HTML",
	fullPageRaw: "📝 Page Complète Brute",
	downloadChat: "💾 Télécharger Chat",

	// Chat UI
	sendButton: "Envoyer",
	typePlaceholder: "Tapez votre message...",
	clearChatConfirm: "Effacer tout l'historique de conversation ?",
	askAnythingPlaceholder: "Demandez n'importe quoi...",
	askPagePlaceholder: "Demandez à propos de cette page...",
	enterTextToSpeakPlaceholder: "Entrez le texte à prononcer...",
	processingTokens: "🤖 Traitement de {tokens} jetons...",

	// Modal headers
	aiAssistantTitle: "Assistant IA",
	ttsModalTitle: "Texte vers Parole",
	translateModalTitle: "Traduire",

	// System messages
	pageContentPrefix: "Voici le contenu de la page web :",
	additionalContext:
		"Vous êtes intégré sur cette page. En répondant aux questions, considérez le contenu et le contexte de la page.",

	// Notifications and alerts
	languageChanged:
		"Langue définie sur {lang}. Actualisez la page pour voir tous les éléments d'interface dans votre langue préférée.",
	translationFailed: "La traduction a échoué : {error}",
	ttsFailed: "TTS a échoué : {error}",
	fullChatCopied: "Chat complet copié en tant que markdown brut !",
	fullChatHTMLCopied: "Chat complet copié en tant que HTML !",
	fullPageCopied: "Page complète copiée en tant que markdown !",
	failedToCopy: "Échec de la copie : {error}",
	failedToCopyPage: "Échec de la copie de la page : {error}",
	failedToCopyCode: "Échec de la copie du code : {error}",
	errorOpeningModal: "Erreur lors de l'ouverture du modal IA : {error}",
	failedToReadPage: "Échec de la lecture de la page : {error}",
	languageDetectionFailed: "La détection de langue a échoué : {error}",

	// Dropdown labels
	currentPage: "Page actuelle : {lang}",
	translatingTo: "Traduction en cours...",
	detectingLanguage: "🔍 Détection...",

	// Intro/header text
	hermesIntro:
		'présente le modèle de langage large <a href="https://nousresearch.com/hermes3/" target="_blank" style="color: rgba(255,255,255,0.9); text-decoration: underline;">hermes</a> de nous research',
	discussingPage: "Vous discutez",

	// TTS placeholder
	ttsPlaceholder:
		"texte vers parole : écrivez n'importe quel message et faites-le parler par l'intelligence artificielle !",
	translatePlaceholder: "Entrez n'importe quel texte à traduire...",

	// Read page status messages
	processingContent: "Traitement du contenu...",
	readingPageClickToPause: "Lecture de la page... Cliquez pour mettre en pause",
	pausedClickToResume: "En pause. Cliquez pour reprendre",
	downloadPageAudio: "Téléchargez le fichier .mp3 de synthèse vocale pour cette page.",
	downloadChatAudio: "Télécharger ce message en fichier .mp3.",
	deleteMessage: "Supprimer le message",
	copyRawMarkdown: "Copier le texte brut (Markdown)",
	copyHTML: "Copier HTML",

	// Translation modal tabs
	translatePageTab: "📄 Traduire la Page",
	customTextTab: "✏️ Texte Personnalisé",

	// TTS modal components
	speedLabel: "Vitesse:",
	playText: "Lire le Texte",

	// Translation modal content
	translatePageInfo: "Traduisez le contenu de la page actuelle dans votre langue choisie:",
	translateToLabel: "Traduire vers:",
	translateButton: "🌐 Traduire",
	translatePageButton: "🌐 Traduire la Page",
	translateTextButton: "🌐 Traduire le Texte",
	processingText: "Traitement...",

	// Button labels for UI
	translationModal: "🌐 Modal de Traduction",
	translationModalHeading: "Modal de Traduction",

	// System prompt components
	systemPromptIntro: "Vous êtes Hermes AI, alimenté par Nous Research, intégré sur une page web via uncloseai.com. Votre tâche est de générer une introduction contextuellement intelligente de 3 paragraphes qui démontre une compréhension approfondie du contenu spécifique de la page, de son objectif et de son public.",
	systemPromptTask1: "1. Commencez naturellement en identifiant le sujet de cette page - soyez spécifique : mentionnez le titre de la page, le sujet principal, le nom de l'auteur s'il est présent, ou l'objectif clé. Montrez une compréhension immédiate du type de contenu (article, documentation, page produit, etc.)",
	systemPromptTask2: "2. Référez-vous à 2-3 détails très spécifiques de la page - citez des phrases exactes, mentionnez des points de données spécifiques, évoquez des sections particulières ou des fonctionnalités que vous remarquez. Démontrez que vous avez analysé le contenu réel, pas seulement survolé.",
	systemPromptTask3: "3. Offrez une assistance contextuellement pertinente basée sur le type de page - pour la documentation technique, proposez d'expliquer les concepts ; pour les articles, proposez de discuter des idées ; pour les produits, répondez sur les fonctionnalités. Soyez spécifique sur COMMENT vous pouvez aider avec CE contenu particulier.",
	systemPromptInstructions: "Soyez conversationnel mais compétent. Ancrez votre introduction dans le contenu réel de la page. Évitez les déclarations génériques. Écrivez naturellement en",

	// More alerts and messages
	pleaseEnterText: "Veuillez d'abord entrer du texte !",
	pleaseSelectFile: "Veuillez d'abord sélectionner un fichier !",
	pleaseEnterTranslateText: "Veuillez entrer du texte à traduire !",
	aiModalNotAvailable: "Le modal IA n'est pas disponible dans ce contexte",
	useCustomAPI: "Utiliser un point de terminaison personnalisé compatible OpenAI.",
	remoteUrlTab: "🌐 URL Distante",
	remoteUrlInfo: "Entrez une URL à récupérer et traduire:",
	remoteUrlPlaceholder: "https://exemple.com",
	fetchAndTranslate: "🌐 Récupérer et Traduire",

	// Unsandbox code execution settings
	useUnsandbox: "Utiliser les clés API unsandbox.com pour l'exécution de code.",
	unsandboxPublicKey: "Clé publique (unsb-pk-...)",
	unsandboxSecretKey: "Clé secrète (unsb-sk-...)",

	// Vault settings
	vaultLoggedIn: "Connecté",
	vaultLocked: "Paramètres verrouillés",
	vaultUnlocked: "Paramètres déverrouillés",
	vaultCreate: "Enregistrer les paramètres",
	vaultUnlock: "Déverrouiller les paramètres",
	vaultLock: "Verrouiller",
	vaultLockTooltip: "Verrouiller vos paramètres (se déconnecter)",
	vaultPassword: "Mot de passe",
	vaultPasswordPlaceholder: "Choisissez un mot de passe...",
	vaultConfirmPassword: "Confirmer le mot de passe",
	vaultConfirmPlaceholder: "Confirmez votre mot de passe...",
	vaultWrongPassword: "Ce mot de passe n'a pas fonctionné. Veuillez réessayer.",
	vaultPasswordMismatch: "Les mots de passe ne correspondent pas.",
	vaultPasswordTooShort: "Le mot de passe doit contenir au moins 8 caractères.",
	vaultCreated: "Paramètres enregistrés !",
	vaultUnlockedMsg: "Bon retour !",
	vaultLockedMsg: "Paramètres verrouillés.",
	vaultRequired: "Entrez votre mot de passe pour accéder aux paramètres.",
	vaultWelcome: "Vos paramètres (modèle, voix, clés API) et vos conversations sont chiffrés avec un mot de passe de votre choix. Cela les garde privés sur cet appareil.",
	vaultLine1: "Vos paramètres et conversations sont chiffrés avec un mot de passe.",
	vaultLine2: "Cela les garde privés sur cet appareil.",
	vaultWelcomeBack: "Bon retour ! Entrez votre mot de passe pour accéder à vos paramètres et conversations enregistrés.",
	vaultCreateInfo: "Choisissez un mot de passe pour protéger vos paramètres et conversations. Vos préférences, clés API et historique de chat seront chiffrés et stockés localement.",
	vaultSessionInfo: "Vous resterez connecté jusqu'à ce que vous verrouilliez vos paramètres.",
	vaultChangePassword: "Changer le mot de passe",
	vaultDeleteVault: "Supprimer les paramètres",
	vaultDeleteConfirm: "Êtes-vous sûr ? Cela supprimera tous vos paramètres enregistrés de cet appareil.",
	vaultCurrentPassword: "Mot de passe actuel",
	vaultNewPassword: "Nouveau mot de passe",
	vaultPasswordChanged: "Mot de passe changé !",
	vaultDeleted: "Paramètres supprimés.",

	// Vault gate
	vaultGateTitle: "uncloseai.",
	vaultGateNew: "Votre historique de chat, vos clés API et vos paramètres sont chiffrés avec AES-256 à l'aide d'un mot de passe que vous choisissez et d'un sel spécifique à l'appareil. Chaque site web possède son propre coffre-fort — vous pouvez utiliser un mot de passe différent pour chaque site. Choisissez un mot de passe pour commencer.",
	vaultGateReturning: "Votre historique de chat chiffré, vos clés API et vos paramètres vous attendent. Entrez votre mot de passe pour déverrouiller le coffre-fort de ce site.",
	vaultGateCreate: "Créer le Coffre-fort",
	vaultGateUnlock: "Déverrouiller",
};