{
  "common": {
    "login": "Connexion",
    "signup": "S'inscrire",
    "getStarted": "Commencer",
    "getStartedFree": "Commencer gratuitement",
    "learnMore": "En savoir plus",
    "startNow": "Commencer maintenant",
    "tryPro": "Essayer Pro",
    "contactSales": "Contacter les ventes",
    "seeDemo": "Voir la démo",
    "free": "Gratuit",
    "popular": "Populaire",
    "month": "mois",
    "onRequest": "Sur devis",
    "monthly": "Mensuel",
    "yearly": "Annuel",
    "save20": "−20 %"
  },
  "nav": {
    "features": "Fonctionnalités",
    "pricing": "Tarifs",
    "enterprise": "Entreprise"
  },
  "hero": {
    "title": "Traduisez vos documents Office.",
    "titleHighlight": "Gardez le format.",
    "subtitle": "Traduisez instantanément vos fichiers Excel, Word et PowerPoint tout en préservant leur mise en page originale. Sécurisé, précis et propulsé par l'IA.",
    "cta": "Commencer gratuitement",
    "demoCta": "Voir la démo",
    "badge1": "0 données stockées",
    "badge2": "Suppression en 60 min"
  },
  "trustBadges": {
    "title": "Ils nous font confiance"
  },
  "features": {
    "title": "La puissance de la traduction professionnelle",
    "subtitle": "Compatible avec tous vos formats de bureau essentiels, propulsé par une IA de pointe pour une précision inégalée.",
    "excel": {
      "title": "Expert Excel",
      "description": "Traduction des cellules et formules sans casser le tableur. Vos données restent intactes."
    },
    "word": {
      "title": "Word Parfait",
      "description": "Paragraphes, polices et styles conservés à l'identique. Prêt à imprimer."
    },
    "powerpoint": {
      "title": "PowerPoint Intact",
      "description": "Mise en page des diapositives préservée pixel par pixel. Idéal pour vos présentations."
    },
    "ai": {
      "title": "Multi-Modèles IA",
      "description": "Choisissez le moteur qui convient à votre contenu : GPT-4, Claude 3 ou Llama 3."
    },
    "privacy": {
      "title": "Confidentialité Ollama",
      "description": "Option de traitement local pour une confidentialité maximale. Vos données ne quittent pas votre serveur."
    },
    "speed": {
      "title": "Vitesse Éclair",
      "description": "Traduction de documents volumineux en quelques secondes grâce à notre infrastructure optimisée."
    }
  },
  "pricing": {
    "title": "Tarification simple et transparente",
    "subtitle": "Commencez gratuitement, évoluez selon vos besoins.",
    "starter": {
      "name": "Starter",
      "description": "Pour les particuliers et petits projets.",
      "priceMonthly": "9€",
      "priceYearly": "7.20€",
      "billedYearly": "Facturé 86.40€ / an",
      "features": [
        "50 documents / mois",
        "Traductions standards (Google/DeepL)",
        "Fichiers jusqu'à 10 Mo",
        "Support e-mail"
      ]
    },
    "pro": {
      "name": "Pro",
      "description": "Pour les professionnels en croissance.",
      "priceMonthly": "19€",
      "priceYearly": "15.20€",
      "billedYearly": "Facturé 182.40€ / an",
      "features": [
        "200 documents / mois",
        "IA Essentielle (DeepSeek V3)",
        "Fichiers jusqu'à 25 Mo",
        "Glossaires personnalisés"
      ]
    },
    "business": {
      "name": "Business",
      "description": "Pour les grandes équipes.",
      "priceMonthly": "49€",
      "priceYearly": "39.20€",
      "billedYearly": "Facturé 470.40€ / an",
      "features": [
        "1 000 documents / mois",
        "IA Premium (Claude Haiku)",
        "Accès API (10K appels)",
        "Support dédié"
      ]
    }
  },
  "cta": {
    "title": "Prêt à internationaliser vos documents ?",
    "subtitle": "Rejoignez plus de 10 000 professionnels qui gagnent des heures de travail chaque semaine avec Office Translator.",
    "button": "Commencer maintenant"
  },
  "footer": {
    "privacy": "Confidentialité",
    "terms": "CGU",
    "contact": "Contact",
    "copyright": "© 2026 Office Translator. Tous droits réservés."
  },
  "cookieConsent": {
    "title": "Cookies sur Office Translator",
    "description": "Nous utilisons des cookies strictement nécessaires au fonctionnement du service (session, sécurité, langue). Avec votre accord, nous pouvons aussi utiliser des cookies optionnels pour mesurer l’audience et améliorer le produit. Choisissez « Tout accepter » pour les autoriser, ou « Nécessaires uniquement » pour les refuser.",
    "acceptAll": "Tout accepter",
    "essentialOnly": "Nécessaires uniquement",
    "learnMore": "En savoir plus sur notre site",
    "footerHint": "Vous pouvez effacer les données du site dans votre navigateur à tout moment pour revoir ce message."
  },
  "glossaries": {
    "title": "Glossaires",
    "description": "Gérez la terminologie personnalisée pour vos traductions LLM.",
    "createNew": "Créer un glossaire",
    "yourGlossaries": "Vos glossaires",
    "yourGlossariesDesc": "Créez et gérez des glossaires pour des traductions cohérentes",
    "count_one": "{count} glossaire",
    "count_other": "{count} glossaires",
    "defineTerms": "Définissez des paires de termes pour personnaliser vos traductions LLM",
    "empty": "Aucun glossaire",
    "emptyDesc": "Créez votre premier glossaire pour personnaliser les traductions",
    "aboutTitle": "À propos des glossaires",
    "aboutDesc": "Les glossaires vous permettent de définir une terminologie personnalisée. En mode traduction LLM, vos termes seront appliqués pour garantir des traductions cohérentes.",
    "aboutFormat": "Format : chaque terme possède une source (original) et une cible (traduction).",
    "dialog": {
      "title": "Nouveau glossaire",
      "description": "Importez un template prédéfini, un fichier avec votre jargon métier, ou saisissez vos termes manuellement.",
      "nameLabel": "Nom du glossaire",
      "namePlaceholder": "ex : Glossaire Juridique FR-EN",
      "tabTemplates": "Templates prédéfinis",
      "tabFile": "Importer un fichier",
      "tabManual": "Saisie manuelle",
      "templatesDesc": "Choisissez un glossaire prédéfini couvrant la terminologie de votre domaine.",
      "templatesEmpty": "Aucun template disponible.",
      "terms": "termes",
      "cancel": "Annuler",
      "importing": "Importation…",
      "creating": "Création…",
      "importBtn": "Importer ({count} termes)",
      "createBtn": "Créer ({count} termes)",
      "createEmpty": "Créer le glossaire",
      "selectPrompt": "Sélectionnez un template",
      "dropTitle": "Glissez-déposez votre fichier ici",
      "dropOr": "ou cliquez pour parcourir",
      "dropFormats": "CSV, XLSX, XLS, ODS • max 500 termes",
      "parsing": "Analyse du fichier…",
      "termsImported": "{count} termes importés",
      "changeFile": "Changer de fichier",
      "retry": "Réessayer",
      "formatTitle": "Format attendu :",
      "formatDesc": "Deux colonnes avec en-têtes :",
      "formatNote": "La première ligne peut être un en-tête (source/target) ou directement des données.",
      "errorFormat": "Format non supporté. Utilisez CSV, XLSX, XLS ou ODS.",
      "errorSize": "Fichier trop volumineux (max {max} Mo). Divisez le fichier.",
      "errorEmpty": "Aucun terme valide trouvé. Vérifiez les deux colonnes (source, cible).",
      "errorRead": "Impossible de lire le fichier. Vérifiez le format."
    },
    "toast": {
      "created": "Glossaire créé",
      "createdDesc": "« {name} » a été créé avec succès.",
      "imported": "Template importé",
      "importedDesc": "« {name} » a été importé avec succès.",
      "updated": "Glossaire mis à jour",
      "updatedDesc": "« {name} » a été mis à jour avec succès.",
      "deleted": "Glossaire supprimé",
      "deletedDesc": "Le glossaire a été supprimé avec succès.",
      "error": "Erreur",
      "errorCreate": "Impossible de créer le glossaire. Veuillez réessayer.",
      "errorImport": "Impossible d'importer le template. Veuillez réessayer.",
      "errorUpdate": "Impossible de mettre à jour le glossaire. Veuillez réessayer.",
      "errorDelete": "Impossible de supprimer le glossaire. Veuillez réessayer."
    },
    "card": {
      "term": "terme",
      "terms": "termes",
      "created": "Créé le"
    },
    "termEditor": {
      "sourceTerm": "Terme source",
      "targetTranslation": "Traduction cible",
      "addTerm": "Ajouter un terme",
      "maxReached": "Maximum {max} termes par glossaire atteint."
    }
  },
  "auth": {
    "loading": "Chargement…",
    "or": "ou",
    "brandName": "Office Translator",
    "google": {
      "continue": "Continuer avec Google",
      "signUp": "S'inscrire avec Google",
      "connecting": "Connexion…",
      "errorGeneric": "Erreur lors de la connexion Google.",
      "errorFailed": "La connexion Google a échoué. Veuillez réessayer.",
      "devHint": "Pour activer Google : ajoutez {envKey} dans {envFile} (voir {exampleFile})."
    },
    "login": {
      "title": "Bon retour",
      "welcomeBack": "Bon retour",
      "signInToContinue": "Connectez-vous pour continuer à traduire",
      "email": "E-mail",
      "password": "Mot de passe",
      "emailPlaceholder": "vous@exemple.com",
      "forgotPassword": "Mot de passe oublié ?",
      "signingIn": "Connexion…",
      "signIn": "Se connecter",
      "errorTitle": "Erreur de connexion",
      "noAccount": "Pas encore de compte ?",
      "signUpFree": "Créer un compte gratuitement",
      "orContinueWith": "ou continuer avec email"
    },
    "register": {
      "title": "Créer un compte",
      "subtitle": "Commencez à traduire gratuitement",
      "name": "Nom",
      "namePlaceholder": "Votre nom",
      "email": "Adresse e-mail",
      "emailPlaceholder": "vous@exemple.com",
      "password": "Mot de passe",
      "confirmPassword": "Confirmer le mot de passe",
      "createAccount": "Créer mon compte",
      "creating": "Création du compte…",
      "hasAccount": "Vous avez déjà un compte ?",
      "signIn": "Se connecter",
      "termsPrefix": "En créant un compte, vous acceptez notre",
      "termsService": "conditions d'utilisation du service",
      "registerFailed": "L'inscription a échoué",
      "errors": {
        "nameMin": "Le nom doit contenir au moins 2 caractères",
        "emailInvalid": "Adresse e-mail invalide",
        "passwordShort": "Mot de passe trop court (minimum 8 caractères)",
        "passwordMismatch": "Les mots de passe ne correspondent pas"
      },
      "passwordStrength": {
        "label": "Force",
        "weak": "Faible",
        "medium": "Moyen",
        "strong": "Fort"
      },
      "toggle": {
        "hide": "Masquer",
        "show": "Afficher",
        "hidePassword": "Masquer le mot de passe",
        "showPassword": "Afficher le mot de passe"
      }
    }
  },
  "dashboard": {
    "nav": {
      "overview": "Vue d’ensemble",
      "profile": "Mon profil",
      "translate": "Traduire",
      "apiKeys": "Clés API",
      "glossaries": "Glossaires"
    },
    "header": {
      "title": "Tableau de bord",
      "subtitle": "Gérez votre API et vos paramètres de traduction",
      "toggleMenu": "Ouvrir le menu",
      "profileTitle": "Mon profil"
    },
    "sidebar": {
      "theme": "Thème",
      "signOut": "Déconnexion",
      "backHome": "Retour à l’accueil"
    },
    "tier": {
      "free": "Gratuit",
      "starter": "Starter",
      "pro": "Pro",
      "business": "Business",
      "enterprise": "Entreprise"
    },
    "translate": {
      "errorNotificationTitle": "Erreur de traduction",
      "pageTitle": "Traduire un document",
      "pageSubtitle": "Importez un fichier Excel, Word ou PowerPoint, choisissez les langues et le moteur, puis téléchargez le document traduit — mise en page conservée.",
      "document": {
        "title": "Document",
        "descReady": "Fichier prêt — vous pouvez le remplacer ou continuer ci-dessous.",
        "descEmpty": "Glissez-déposez ou parcourez vos fichiers. Formats Office Open XML pris en charge.",
        "supportedFormats": "Formats pris en charge : Excel (.xlsx), Word (.docx), PowerPoint (.pptx)"
      },
      "settings": {
        "title": "Paramètres de traduction",
        "description": "Langues et moteur. Les options LLM nécessitent Pro le cas échéant.",
        "howItWorks": "Comment ça marche",
        "step1": "Ajoutez votre fichier dans le panneau de gauche (ou au-dessus sur petit écran).",
        "step2": "Choisissez la langue source et la langue cible.",
        "step3": "Sélectionnez un fournisseur de traduction, puis lancez la tâche.",
        "runHint": "Quand vous êtes prêt, nous envoyons le fichier et démarrons la traduction. Vous pouvez annuler pendant l’exécution."
      },
      "actions": {
        "translate": "Traduire le document",
        "uploading": "Envoi en cours…",
        "cancel": "Annuler",
        "tryAgain": "Réessayer",
        "statusComplete": "Traduction terminée",
        "statusIssue": "Problème de traduction",
        "statusProgress": "En cours",
        "filePrefix": "Fichier :"
      },
      "trust": {
        "zeroRetention": "Aucune conservation des données",
        "deletedAfter": "Fichiers supprimés après 60 minutes"
      },
      "dropzone": {
        "title": "Glissez-déposez votre fichier .xlsx, .docx ou .pptx ici",
        "subtitle": "ou cliquez pour choisir un fichier",
        "uploadAria": "Téléverser un fichier",
        "replaceFile": "Remplacer le fichier"
      },
      "language": {
        "loadErrorPrefix": "Impossible de charger les langues :",
        "source": "Langue source",
        "target": "Langue cible",
        "loading": "Chargement…",
        "autoDetect": "Détection automatique",
        "selectPlaceholder": "Choisir une langue"
      },
      "provider": {
        "loading": "Chargement des fournisseurs…",
        "noneConfigured": "Aucun fournisseur n’est configuré. Demandez à un administrateur d’en activer au moins un dans les réglages admin.",
        "sectionTitle": "Fournisseur de traduction",
        "llmDivider": "LLM · Contextuel",
        "llmDividerPro": "Pro",
        "upgrade": "Passer à Pro",
        "upgradeSuffix": "pour utiliser la traduction par LLM.",
        "modelTitle": "Modèle (défini par l’admin) :"
      },
      "progress": {
        "failedTitle": "Échec de la traduction",
        "processingFallback": "Traitement…",
        "connectionLost": "Connexion perdue. Nouvelle tentative…",
        "timeSeconds": "{seconds} s restantes",
        "timeMinutes": "{minutes} min restantes",
        "timeMixed": "{minutes} min {seconds} s restantes",
        "ariaProgress": "Progression de la traduction"
      },
      "complete": {
        "title": "Traduction terminée !",
        "descNamed": "« {name} » a été traduit avec succès.",
        "descGeneric": "Votre document a été traduit avec succès.",
        "downloading": "Téléchargement…",
        "download": "Télécharger le fichier traduit",
        "newTranslation": "Nouvelle traduction",
        "toastOkTitle": "Téléchargement terminé",
        "toastOkDesc": "{name} a été téléchargé avec succès.",
        "toastFailTitle": "Échec du téléchargement",
        "toastFailDesc": "Impossible de télécharger le fichier traduit."
      },
      "steps": {
        "uploading": "Envoi du fichier…",
        "starting": "Démarrage de la traduction…",
        "translating": "Traduction en cours…"
      },
      "errors": {
        "jobNotFound": "Tâche de traduction introuvable",
        "translationFailed": "La traduction a échoué",
        "connectionLost": "Connexion au service de traduction perdue. Vérifiez votre connexion internet et réessayez."
      },
      "translateImages": "Traduire les images",
      "translateImagesDesc": "Extraire et traduire le texte des images (vision requise)"
    }
  },
  "landing": {
    "heroDoc": {
      "fileName": "Note_technique_CVC.docx",
      "ribbonFile": "Fichier",
      "ribbonHome": "Accueil",
      "ribbonInsert": "Insertion",
      "ribbonLayout": "Mise en page",
      "badgeOriginal": "Original (EN)",
      "badgeTranslated": "Traduction (FR)",
      "caption": "Un seul fichier Word : l’anglais à gauche, le français à droite — la mise en forme reste identique."
    }
  }
}