{
  "app": {
    "name": "RenameFlow",
    "tagline": "Renommez vos fichiers médias en quelques secondes",
    "description": "La façon intelligente d'organiser vos films, séries, animés et musique. Aucun téléchargement nécessaire - tout se passe sur votre ordinateur.",
    "moduleLoadError": "Cette section n'a pas pu se charger, sans doute parce que RenameFlow vient d'être mis à jour. Recharge la page pour continuer."
  },
  "nav": {
    "home": "Accueil",
    "app": "Application",
    "pricing": "Tarifs",
    "login": "Connexion",
    "signup": "Inscription",
    "logout": "Déconnexion",
    "account": "Compte",
    "settings": "Paramètres"
  },
  "hero": {
    "title": "Renommez vos fichiers médias",
    "titleHighlight": "intelligemment",
    "flip": {
      "text": "Renomme. Classe.",
      "words": [
        "Films",
        "Séries",
        "Animés",
        "Musique",
        "Sous-titres"
      ]
    },
    "subtitle": "Renommez films, séries, animés et musique au format attendu par Plex, Jellyfin et Kodi, en quelques secondes. Tout se passe en local sur votre ordinateur : aucun fichier n'est envoyé.",
    "cta": "Commencer maintenant",
    "ctaSecondary": "Voir les tarifs",
    "free": "Gratuit • 15 fichiers/jour",
    "ctaDemo": "Voir la démo",
    "heading": "Renommage de fichiers médias pour Plex, Jellyfin et Kodi"
  },
  "features": {
    "title": "Tout ce dont vous avez besoin",
    "subtitle": "Des fonctionnalités puissantes pour organiser votre bibliothèque média",
    "local": {
      "title": "100% Local",
      "description": "Vos fichiers ne quittent jamais votre ordinateur. Nous utilisons l'API File System Access pour le renommage direct.",
      "details": "Confidentialité totale pour vos fichiers. Toutes les opérations sur les fichiers se font directement dans votre navigateur via des API Web modernes : aucun upload, aucun stockage de vos médias dans le cloud. Seules les informations nécessaires à l'identification de vos médias (comme les titres détectés dans vos noms de fichiers) sont transmises aux services de métadonnées. Votre médiathèque reste sur votre machine.",
      "tags": [
        "Privé",
        "Sécurisé",
        "Sans upload"
      ]
    },
    "smart": {
      "title": "Détection intelligente",
      "description": "Détecte automatiquement les films, séries, animés et musique à partir des noms de fichiers.",
      "details": "Notre analyseur IA extrait le titre, l'année, la saison, l'épisode, la qualité et le codec à partir des noms de fichiers. Fonctionne avec les releases scene, torrents et encodages personnels.",
      "tags": [
        "IA",
        "Auto-détection",
        "Précis"
      ]
    },
    "sources": {
      "title": "Sources multiples",
      "description": "TMDB, TheTVDB, AniList, MusicBrainz - nous cherchons partout pour trouver vos médias.",
      "details": "Nous interrogeons plusieurs bases de données simultanément pour garantir le meilleur résultat. Données croisées de TMDB, TheTVDB, AniList pour les animés, et MusicBrainz pour les métadonnées musicales.",
      "tags": [
        "TMDB",
        "TVDB",
        "OpenSubtitles"
      ]
    },
    "patterns": {
      "title": "Patterns personnalisés",
      "description": "Créez vos propres patterns de nommage ou utilisez les préréglages pour Plex, Kodi, Jellyfin.",
      "details": "Concevez votre schéma de nommage parfait avec des variables comme {title}, {year}, {season}, {episode}, {quality}. Sauvegardez vos patterns et basculez entre eux instantanément.",
      "tags": [
        "Plex",
        "Kodi",
        "Jellyfin"
      ]
    }
  },
  "demo": {
    "title": "Voyez-le en action",
    "before": "Avant",
    "after": "Après",
    "arrow": "→"
  },
  "landing": {
    "partners": {
      "title": "Propulsé par des APIs officielles"
    },
    "demo": {
      "rename": {
        "tag": "Renommage intelligent",
        "subtitle": "Films, Séries, Animes & Musiques",
        "examples": [
          {
            "before": "The.Matrix.1999.1080p.BluRay.x264.mkv",
            "after": "The Matrix (1999) [1080p].mkv",
            "type": "movie"
          },
          {
            "before": "Breaking.Bad.S01E03.720p.WEBRip.mkv",
            "after": "Breaking Bad - S01E03 - And the Bag's in the River.mkv",
            "type": "series"
          },
          {
            "before": "One.Piece.1045.VOSTFR.1080p.mkv",
            "after": "One Piece - 1045 - VOSTFR [1080p].mkv",
            "type": "anime"
          },
          {
            "before": "Daft.Punk-Get.Lucky.flac",
            "after": "Daft Punk - Get Lucky.flac",
            "type": "music"
          }
        ]
      },
      "subtitles": {
        "tag": "Recherche de sous-titres",
        "title": "Trouvez des sous-titres instantanément",
        "subtitle": "Détection automatique via hash ou recherche manuelle",
        "exampleQuery": "Inception 2010 1080p",
        "downloads": "téléchargements",
        "downloadCta": "Télécharger"
      },
      "episodes": {
        "tag": "Explorateur d'épisodes",
        "title": "Explorez les épisodes de séries",
        "subtitle": "Parcourez les listes complètes depuis TVDB & TMDB",
        "exampleTitle": "Stranger Things",
        "exampleEp1": "La disparition de Will Byers",
        "exampleEp2": "La folle de Maple Street",
        "exampleEp3": "Holly, Jolly",
        "exampleEp4": "Le corps",
        "note": "Parcourez une saison et gardez les visuels à portée de vue pendant la sélection.",
        "posterAlt": {
          "scifi": "Affiche science-fiction",
          "crime": "Affiche polar",
          "fantasy": "Affiche fantasy",
          "anime": "Affiche animé",
          "noir": "Affiche film noir",
          "space": "Affiche espace"
        }
      },
      "verify": {
        "tag": "Vérification de fichiers",
        "title": "Vérifiez l'intégrité des fichiers",
        "subtitle": "Calculez les hashs MD5, SHA-1, SHA-256 instantanément",
        "match": "Les checksums correspondent ✓"
      }
    },
    "cta": {
      "title": "Prêt à organiser votre bibliothèque média ?",
      "subtitle": "Gratuit : 15 fichiers/jour, compte gratuit en 30 secondes, aucun upload."
    },
    "faq": {
      "account": {
        "a": "Un compte gratuit (30 secondes, sans carte bancaire) nous permet d'appliquer équitablement les 15 fichiers/jour gratuits et de garder ton historique de renommage. Tes fichiers, eux, ne sont jamais envoyés : le renommage se fait dans ton navigateur, sur ton ordinateur.",
        "q": "Pourquoi faut-il un compte ?"
      },
      "seeAll": "Voir toutes les questions"
    },
    "nav": {
      "demo": "Démo",
      "features": "Fonctionnalités",
      "language": "Langue : {{language}}",
      "main": "Navigation principale",
      "openApp": "Ouvrir l'app",
      "openMenu": "Ouvrir le menu",
      "partners": "Intégrations",
      "pricing": "Tarifs"
    }
  },
  "pricing": {
    "seoTitle": "Tarifs : Gratuit, Pro 2,99 €/mois ou 6,99 €/an | RenameFlow",
    "seoDescription": "Découvrez nos forfaits gratuit, mensuel, annuel et à vie pour renommer vos fichiers multimédia intelligemment.",
    "title": "Tarification simple",
    "subtitle": "Choisissez le plan qui vous convient",
    "currentPlan": "Plan actuel",
    "checkoutFailed": "Échec du paiement",
    "manageInAccount": "Gérez votre abonnement dans votre",
    "free": {
      "name": "Gratuit",
      "price": "0",
      "period": "pour toujours",
      "features": [
        "15 fichiers par jour",
        "Sources TMDB & TVDB",
        "3 sous-titres par mois",
        "Support basique"
      ],
      "cta": "Commencer gratuitement"
    },
    "monthly": {
      "name": "Pro Mensuel",
      "price": "2.99",
      "period": "/mois",
      "features": [
        "Fichiers illimités",
        "Toutes les sources",
        "Sous-titres illimités",
        "Support prioritaire"
      ],
      "cta": "S'abonner"
    },
    "annual": {
      "name": "Pro Annuel",
      "price": "6.99",
      "period": "/an",
      "badge": "Populaire",
      "savings": "Économisez 80%",
      "features": [
        "Tout du Mensuel",
        "Meilleur rapport qualité-prix",
        "Patterns personnalisés",
        "Historique des renommages"
      ],
      "cta": "S'abonner annuellement"
    },
    "lifetime": {
      "name": "À vie",
      "price": "49",
      "originalPrice": "69",
      "period": "une fois",
      "badge": "Offre limitée",
      "remaining": "{{count}}/100 restants",
      "soldOut": "Épuisé",
      "features": [
        "Tout pour toujours",
        "Payez une fois",
        "Toutes les mises à jour",
        "Accès anticipé"
      ],
      "cta": "Obtenir l'accès à vie",
      "launchOffer": "Offre de lancement : prix bloqué à vie",
      "sameAsPro": "Identique au plan Pro (mêmes fonctionnalités) : paiement unique, mises à jour incluses."
    },
    "backToApp": "Retour à l'application",
    "billingPeriod": "Période de facturation",
    "includedInLifetime": "Inclus dans votre offre À vie",
    "includesFree": "Tout ce qui est dans Gratuit",
    "pro": {
      "name": "Pro"
    },
    "switchToAnnual": "Passer à la facturation annuelle",
    "switchToMonthly": "Passer à la facturation mensuelle",
    "trust": {
      "free": "Accès immédiat · Aucun paiement requis",
      "lifetime": "Paiement unique · Accès permanent",
      "pro": "Paiement sécurisé · Résiliable à tout moment",
      "switchPlan": "Prorata automatique · Géré dans le portail sécurisé Stripe"
    },
    "termsNotice": "En achetant, tu acceptes les <terms>Conditions générales de vente</terms>."
  },
  "checkout": {
    "successSeoTitle": "Paiement confirmé - RenameFlow",
    "cancelSeoTitle": "Paiement annulé - RenameFlow",
    "cancelTitle": "Paiement annulé",
    "cancelBody": "Pas de souci — tu peux réessayer quand tu veux. Si tu as eu un souci, essaie une autre carte ou réessaie dans quelques secondes.",
    "cancelToast": "Aucun débit n'a été effectué. Tu peux réessayer quand tu veux.",
    "retryCta": "Réessayer",
    "backHome": "Retour à l'accueil",
    "backToPricing": "Retour aux tarifs",
    "activating": "Activation de votre accès…",
    "activationDelayed": "Votre paiement est confirmé, mais l'activation prend plus de temps que prévu. Elle sera appliquée automatiquement : actualisez l'application dans une minute, ou contactez-nous si rien ne change.",
    "createAccount": "Créer mon compte",
    "emailMismatchBody": "Ce paiement a été fait avec {{email}}. Connectez-vous avec cette adresse pour l'activer, ou contactez-nous et nous le transférerons sur ce compte.",
    "emailMismatchBodyNoEmail": "Ce paiement a été fait avec une autre adresse e-mail. Connectez-vous avec cette adresse pour l'activer, ou contactez-nous et nous le transférerons sur ce compte.",
    "emailMismatchTitle": "Paiement fait avec un autre e-mail",
    "errorTitle": "Paiement non confirmé",
    "goBack": "Revenir en arrière",
    "goToApp": "Aller à l'application",
    "haveAccount": "J'ai déjà un compte",
    "processingBody": "Votre paiement est en cours de confirmation par votre banque (quelques jours pour un prélèvement). Votre accès sera activé automatiquement dès sa validation.",
    "processingTitle": "Paiement en cours de traitement",
    "redirectingToApp": "Redirection vers l'application…",
    "signupHint": "Paiement détecté : crée ton compte avec le même email pour activer l'accès.",
    "successBody": "Pour activer votre accès, créez votre compte ou connectez-vous avec le même e-mail que lors du paiement :",
    "successTitle": "Paiement confirmé"
  },
  "auth": {
    "login": "Connexion",
    "signup": "Inscription",
    "email": "Email",
    "password": "Mot de passe",
    "confirmPassword": "Confirmer le mot de passe",
    "forgotPassword": "Mot de passe oublié ?",
    "showPassword": "Afficher le mot de passe",
    "hidePassword": "Masquer le mot de passe",
    "validation": {
      "required": "Ce champ est requis.",
      "emailInvalid": "Veuillez saisir une adresse email valide.",
      "emailTooLong": "L’email doit faire 255 caractères maximum.",
      "passwordMin": "Le mot de passe doit contenir au moins {{min}} caractères.",
      "passwordTooLong": "Le mot de passe est trop long.",
      "passwordMismatch": "Les mots de passe ne correspondent pas."
    },
    "forgot": {
      "seoTitle": "Mot de passe oublié - RenameFlow",
      "title": "Réinitialiser le mot de passe",
      "subtitle": "Entrez votre email et nous vous enverrons un lien de réinitialisation.",
      "emailPlaceholder": "vous@exemple.com",
      "sendCta": "Envoyer le lien",
      "sentTitle": "Email envoyé",
      "sentDesc": "Si un compte existe pour cet email, vous recevrez un lien sous peu.",
      "backToLogin": "Retour à la connexion",
      "resend": "Renvoyer",
      "resendIn": "Renvoyer ({{seconds}} s)",
      "sentTo": "Si un compte existe pour {{email}}, un lien de réinitialisation arrive. Ça peut prendre une minute ; regarde aussi dans tes spams."
    },
    "reset": {
      "seoTitle": "Réinitialiser le mot de passe - RenameFlow",
      "title": "Choisir un nouveau mot de passe",
      "subtitle": "Définissez un nouveau mot de passe pour votre compte.",
      "newPassword": "Nouveau mot de passe",
      "newPasswordPlaceholder": "Au moins 6 caractères",
      "confirmPasswordPlaceholder": "Répétez le nouveau mot de passe",
      "saveCta": "Mettre à jour",
      "successTitle": "Mot de passe mis à jour",
      "successDesc": "Vous pouvez maintenant continuer sur RenameFlow.",
      "backToLogin": "Retour à la connexion",
      "backToForgot": "Redemander un lien",
      "invalidLink": "Ce lien est invalide ou expiré. Veuillez en demander un nouveau.",
      "mismatch": "Les mots de passe ne correspondent pas",
      "minLength": "Le mot de passe doit faire au moins 6 caractères"
    },
    "noAccount": "Pas encore de compte ?",
    "hasAccount": "Déjà un compte ?",
    "or": "ou",
    "continueWithGoogle": "Continuer avec Google",
    "loginSuccess": "Bon retour parmi nous !",
    "signupSuccess": "Compte créé avec succès !",
    "logoutSuccess": "Déconnexion réussie",
    "confirm": {
      "title": "Vérifie ta boîte mail",
      "desc": "On a envoyé un lien de confirmation à {{email}}. Clique dessus pour activer ton compte.",
      "resend": "Renvoyer le lien",
      "resendSent": "Email de confirmation renvoyé.",
      "notConfirmed": "Ton email n'est pas encore confirmé. Vérifie ta boîte mail (et les spams), puis réessaie.",
      "checkoutHint": "Ton paiement sera activé dès que ton email sera confirmé.",
      "changeEmail": "Utiliser un autre email",
      "confirmedToast": "Email confirmé, bienvenue !",
      "continue": "J'ai confirmé, continuer",
      "otherDevice": "Ouvre le lien sur cet appareil. Pour renommer tes fichiers, RenameFlow a ensuite besoin de Chrome, Edge ou Opera sur un ordinateur.",
      "resendIn": "Renvoyer le lien ({{seconds}} s)",
      "sameDevice": "Ouvre le lien sur cet ordinateur. Cette page continue toute seule dès que ton email est confirmé.",
      "spamHint": "Tu ne le trouves pas ? Regarde dans tes spams.",
      "stillPending": "Ton email n'est pas encore confirmé. Clique sur le lien de l'email qu'on t'a envoyé, puis réessaie.",
      "waiting": "En attente de ta confirmation…"
    },
    "createAccount": "Créer un compte gratuit",
    "errors": {
      "alreadyRegistered": "Un compte existe déjà avec cet email.",
      "generic": "Une erreur est survenue. Réessaie.",
      "invalidCredentials": "Email ou mot de passe incorrect.",
      "network": "Problème de connexion. Vérifie ta connexion internet et réessaie.",
      "rateLimit": "Trop de tentatives. Attends une minute puis réessaie.",
      "samePassword": "Choisis un mot de passe différent de l'actuel.",
      "signupBlocked": "Impossible de créer un compte avec cette adresse. Si c'est une adresse temporaire, utilise ton email habituel.",
      "weakPassword": "Ce mot de passe est trop faible ou trop courant. Choisis-en un plus long."
    },
    "exists": {
      "desc": "Un compte existe déjà pour {{email}}. Connecte-toi, ou réinitialise ton mot de passe si tu l'as oublié.",
      "title": "Tu as déjà un compte"
    },
    "noAccountDesc": "Crée un compte gratuit pour commencer à renommer tes fichiers.",
    "signupCompat": "RenameFlow renomme tes fichiers sur ordinateur, avec Chrome, Edge ou Opera. Tu peux créer ton compte maintenant et continuer sur ton ordinateur : on t'enverra le lien par email.",
    "signupLegal": "En créant un compte, tu acceptes les <terms>Conditions générales d'utilisation et de vente</terms> et reconnais avoir pris connaissance de la <privacy>Politique de confidentialité</privacy>."
  },
  "renamer": {
    "filesLoaded": "fichiers chargés",
    "toMatch": "pour matcher",
    "toRename": "pour renommer",
    "title": "Renommeur de fichiers",
    "selectFiles": "Sélectionner des fichiers",
    "selectFolder": "Sélectionner un dossier",
    "selectFilesToStart": "Sélectionnez des fichiers ou dossiers pour commencer",
    "dropHere": "Déposez des fichiers ou dossiers ici",
    "orClick": "ou cliquez pour parcourir",
    "analyzing": "Analyse en cours...",
    "filesSelected": "fichiers sélectionnés",
    "originalName": "Original",
    "detectedName": "Détecté",
    "newName": "Nouveau nom",
    "status": "Statut",
    "pending": "En attente",
    "ready": "Prêt",
    "renamed": "Renommé",
    "error": "Erreur",
    "ambiguous": "Correspondances multiples",
    "renameAll": "Tout renommer",
    "renameSelected": "Renommer la sélection",
    "clear": "Effacer",
    "selectMatch": "Sélectionnez la bonne correspondance",
    "noResults": "Aucun résultat trouvé",
    "searchManually": "Rechercher manuellement",
    "usageRemaining": "fichiers restants aujourd'hui",
    "unlimited": "Illimité",
    "upgradeCta": "Passer à l'illimité",
    "folderTip": "Astuce : Sélectionnez un dossier au lieu de fichiers individuels pour éviter les multiples demandes de permission",
    "errorSearchFailed": "Échec de la recherche d'informations média",
    "errorRenameFailed": "Échec du renommage de ce fichier",
    "errorMoveNotSupported": "Votre navigateur ne supporte pas l'opération de déplacement de fichier",
    "browserNotSupported": "Navigateur non supporté",
    "browserNotSupportedDesc": "Veuillez utiliser Chrome, Edge ou Opera pour une fonctionnalité complète.",
    "compat": {
      "mobileTitle": "Navigateur desktop requis",
      "mobileDesc": "RenameFlow a besoin d'accéder à vos fichiers locaux, ce qui n'est possible que sur un navigateur desktop comme Chrome ou Edge.",
      "firefoxTitle": "Firefox n'est pas supporté",
      "firefoxDesc": "Firefox ne prend pas en charge l'API File System Access. Veuillez ouvrir RenameFlow dans Chrome ou Edge.",
      "safariTitle": "Safari n'est pas supporté",
      "safariDesc": "Safari ne prend pas en charge l'API File System Access. Veuillez ouvrir RenameFlow dans Chrome ou Edge.",
      "unknownTitle": "Navigateur non supporté",
      "unknownDesc": "Votre navigateur ne prend pas en charge l'API File System Access. Veuillez utiliser Chrome ou Edge.",
      "copyLink": "Copier le lien pour desktop",
      "linkCopied": "Lien copié !",
      "recommendedBrowsers": "Recommandé : Google Chrome ou Microsoft Edge (desktop)",
      "braveDesc": "Brave désactive l'API File System Access par défaut. Ouvre brave://flags/#file-system-access-api, choisis « Enabled », relance Brave, puis recharge cette page.",
      "braveTitle": "Active l'accès aux fichiers dans Brave",
      "copyFailed": "Copiez ce lien sur votre ordinateur :"
    },
    "limitReached": "Vous ne pouvez renommer que {{remaining}} fichiers aujourd'hui. Passez à Premium pour l'illimité.",
    "renameResult": "{{success}}/{{total}} fichiers renommés",
    "originalFiles": "Fichiers originaux",
    "newNames": "Nouveaux noms",
    "match": "Matcher",
    "rename": "Renommer",
    "load": "Charger",
    "refresh": "Actualiser",
    "matchesFound": "correspondances trouvées",
    "clickToSelect": "cliquer pour sélectionner",
    "fetchData": "Récupérer les données",
    "noFilesSelected": "Aucun fichier sélectionné",
    "files": "Fichiers",
    "folder": "Dossier",
    "noPreviewYet": "Aucun aperçu disponible",
    "permissionDenied": "RenameFlow a besoin de l’autorisation de modifier ces fichiers. Cliquez à nouveau sur « Renommer » et choisissez « Autoriser » quand le navigateur le demande.",
    "search": "Rechercher",
    "searching": "Recherche en cours...",
    "tryDifferentSearch": "Essayez un autre terme de recherche",
    "sortByEpisode": "Trier par épisode",
    "sortByName": "Trier par nom",
    "sortOriginal": "Ordre original",
    "sorted": "Trié",
    "batchMatch": {
      "title": "Sélectionner la série pour tous les épisodes",
      "description": "{{count}} épisodes détectés pour \"{{title}}\"",
      "hint": "Une seule sélection, tous les épisodes matchés",
      "hintDesc": "Choisissez la bonne série et tous les épisodes seront automatiquement associés à leurs métadonnées.",
      "detected": "Lot détecté",
      "applyToAll": "Appliquer à tous",
      "skipBatch": "Matcher individuellement",
      "noEpisodeDetected": "Numéro d'épisode non détecté dans le nom du fichier",
      "episodeNotFound": "Épisode S{{season}}E{{episode}} non trouvé dans la base",
      "seasonNotFound": "Saison {{season}} non trouvée sur TMDB (disponibles : {{availableSeasons}})",
      "absoluteEpisodeNotFound": "Épisode absolu {{episode}} non trouvé dans la base",
      "absoluteMappingRequiresTMDB": "Pour les animes à épisodes absolus (E0010), sélectionne un résultat TMDB."
    },
    "errorTitle": "Pourquoi cette erreur ?",
    "recentFolders": "Dossiers récents",
    "reopenFolder": "Rouvrir",
    "installForPermissions": "Installez l'app pour des permissions persistantes",
    "installPWA": "Installer l'app",
    "demo": {
      "title": "Pas encore de fichiers ? Testez la démo",
      "description": "Voyez RenameFlow identifier de vrais films et séries depuis des noms de fichiers d'exemple — sans rien installer.",
      "cta": "Lancer la démo",
      "previewTitle": "Aperçu de la démo",
      "previewDescription": "Ce sont des fichiers d'exemple. Chargez vos propres fichiers pour les renommer réellement sur le disque.",
      "unsupportedNotice": "Mode démo. Pour renommer vos propres fichiers, ouvrez RenameFlow sur un ordinateur avec Chrome ou Edge."
    },
    "firstRename": {
      "title": "🎉 Premier fichier renommé !",
      "description": "Bravo ! Il vous reste {{remaining}}/{{limit}} renommages aujourd'hui."
    },
    "recommended": "Recommandé",
    "folderTipTitle": "Astuce permission en 1 clic",
    "folderTipShort": "1 clic pour autoriser tous les fichiers du dossier.",
    "permissionLost": {
      "title": "Permission perdue",
      "description": "Le navigateur a révoqué l'accès aux fichiers en cours de renommage. Cliquez ci-dessous pour ré-autoriser et continuer avec les fichiers restants.",
      "reauthorize": "Ré-autoriser et continuer"
    },
    "a11y": {
      "moveDown": "Descendre {{name}}",
      "moveUp": "Monter {{name}}",
      "removeSelected": "Retirer les fichiers sélectionnés de la liste",
      "selectAll": "Sélectionner tous les fichiers",
      "selectFile": "Sélectionner {{name}}"
    },
    "autoBadge": "Auto",
    "autoMatchedHint": "Choisi automatiquement — résultats trouvés : {{total}}",
    "autoMatchedSingle": "Seul résultat trouvé — choisi automatiquement",
    "change": "Changer",
    "changeMatchFor": "Changer la correspondance de {{name}}",
    "choose": "Choisir",
    "chooseMatchFor": "Choisir la correspondance pour {{name}}",
    "dropUnsupportedDesc": "Utilisez plutôt « Sélectionner un dossier » ou « Sélectionner des fichiers ».",
    "dropUnsupportedTitle": "Le glisser-déposer n’est pas disponible ici",
    "errors": {
      "duplicateSummary": "Fichiers qui auraient écrasé un autre fichier : {{count}}. Vérifiez les fichiers signalés par un avertissement.",
      "duplicateTarget": "Destination en double : un autre fichier de ce dossier s’appellerait aussi « {{name}} ». Désélectionnez l’un des deux ou choisissez une autre correspondance.",
      "duplicateTargetLoose": "Destination en double : un autre fichier sélectionné s’appellerait aussi « {{name}} ». Désélectionnez l’un des deux, choisissez une autre correspondance, ou utilisez « Sélectionner un dossier » s’ils viennent de dossiers différents.",
      "nothingRenamedTitle": "Aucun fichier renommé",
      "searchTimeout": "La recherche a pris trop de temps. Cliquez sur « Matcher » pour réessayer.",
      "skippedSummary": "Ignorés pour ne pas écraser un autre fichier : {{skipped}} (signalés par un avertissement).",
      "targetExists": "Un fichier nommé « {{name}} » existe déjà dans ce dossier."
    },
    "looseFilesHint": "Fichiers ajoutés un par un : RenameFlow ne peut les comparer qu’aux fichiers chargés ici, pas au reste de leur dossier. Pour être sûr qu’aucun fichier existant ne sera remplacé, ouvrez plutôt le dossier entier.",
    "noMediaInFolderTitle": "Aucun fichier vidéo ou audio dans ce dossier",
    "noMediaTitle": "Aucun fichier vidéo ou audio trouvé",
    "picker": {
      "blockedDesc": "Le navigateur bloque l’accès à cet emplacement (dossier système ou protégé). Choisissez un dossier classique, comme Vidéos ou Téléchargements.",
      "errorTitle": "Impossible d’ouvrir vos fichiers",
      "folderCancelledDesc": "Si vous avez cliqué sur « Annuler » quand le navigateur demandait d’autoriser RenameFlow à modifier les fichiers, choisissez à nouveau le dossier et acceptez : cette autorisation est nécessaire pour renommer.",
      "folderCancelledTitle": "Aucun dossier sélectionné"
    },
    "quota": {
      "banner": "Offre gratuite — fichiers sélectionnés : {{selected}} sur {{total}} · renommages restants aujourd’hui : {{remaining}}",
      "bannerNone": "Offre gratuite : plus de renommages aujourd’hui. Vos fichiers restent associés : renommez-les demain ou passez en illimité maintenant.",
      "checkFailedDesc": "Impossible de vérifier votre quota du jour : les fichiers restants n’ont pas été renommés. Vérifiez votre connexion et réessayez.",
      "checkFailedTitle": "Renommage interrompu",
      "loadingPlan": "Vérification de votre offre… réessayez dans une seconde.",
      "noneLeftDesc": "Vos fichiers sont chargés et seront associés. Pour les renommer, passez Premium ou attendez la remise à zéro de demain.",
      "noneLeftTitle": "Plus de renommages gratuits aujourd’hui",
      "preselectDesc": "Fichiers sélectionnés : {{remaining}} sur {{total}}. Passez en illimité pour tout renommer d’un coup.",
      "preselectTitle": "Offre gratuite — renommages restants aujourd’hui : {{remaining}}",
      "seePlans": "Voir les offres"
    },
    "searchMatchFor": "Rechercher une correspondance pour {{name}}",
    "supportedFormats": "Formats pris en charge : {{formats}}",
    "undo": {
      "action": "Annuler",
      "doneDesc": "Noms d’origine restaurés : {{count}}.",
      "doneTitle": "Renommage annulé",
      "hint": "Pas le résultat attendu ? Vous pouvez annuler pendant 60 secondes.",
      "lastBatch": "Annuler le dernier renommage",
      "partialDesc": "Restaurés : {{restored}} · non restaurés : {{failed}} ({{reason}})",
      "partialTitle": "Annulation incomplète",
      "reasonChanged": "« {{name}} » a été modifié ou remplacé après le renommage",
      "reasonExists": "un fichier nommé « {{name}} » existe déjà",
      "reasonMissing": "« {{name}} » n’est plus dans son dossier",
      "reasonOther": "erreur inattendue ({{name}})",
      "reasonPermission": "l’autorisation de modifier « {{name}} » a été refusée",
      "renamedTitle": "Fichiers renommés : {{count}}"
    }
  },
  "settings": {
    "title": "Paramètres",
    "language": "Langue",
    "theme": "Thème",
    "light": "Clair",
    "dark": "Sombre",
    "system": "Système",
    "pattern": "Pattern de nommage",
    "patternHelp": "Variables disponibles : {series}, {season}, {episode}, {title}, {year}, {quality}",
    "presets": "Préréglages",
    "plex": "Plex",
    "kodi": "Kodi",
    "jellyfin": "Jellyfin",
    "custom": "Personnalisé",
    "save": "Enregistrer",
    "saved": "Paramètres enregistrés",
    "proOnly": "Réservé aux comptes Pro",
    "proOnlyDescription": "Créez vos propres patterns de nommage avec un abonnement Pro.",
    "upgradeCta": "Passer en Pro",
    "customDisabled": "Les presets standards sont disponibles. Le pattern personnalisé nécessite un compte Pro.",
    "subtitle": "Configure tes préférences",
    "languageDesc": "Sélectionne ta langue préférée",
    "themeDesc": "Choisis ton thème de couleurs",
    "patternDesc": "Configure le format de nommage des fichiers"
  },
  "account": {
    "title": "Compte",
    "profile": "Profil",
    "subscription": "Abonnement",
    "currentPlan": "Plan actuel",
    "usage": "Utilisation aujourd'hui",
    "history": "Historique des renommages",
    "noHistory": "Aucun historique de renommage",
    "manageBilling": "Gérer la facturation",
    "cancelSubscription": "Annuler l'abonnement",
    "upgradeToPremium": "Passer à Premium",
    "billingError": "Impossible d'ouvrir le portail de facturation",
    "paymentsTitle": "Paiements",
    "paymentsDesc": "Plan actuel et gestion",
    "lifetimeBadge": "Permanent",
    "lifetimeNote": "Accès à vie activé — aucun renouvellement.",
    "subtitle": "Gère ton compte et ton abonnement",
    "delete": {
      "confirmBody": "Cette action est irréversible. Votre compte, votre historique de renommage, vos modèles personnalisés et vos réglages seront supprimés, et tout abonnement actif sera résilié immédiatement, sans remboursement de la période en cours.",
      "confirmCta": "Supprimer définitivement",
      "confirmTitle": "Supprimer votre compte ?",
      "cta": "Supprimer mon compte",
      "description": "Supprime définitivement votre compte, votre historique de renommage, vos modèles personnalisés et vos réglages. Les abonnements actifs sont résiliés.",
      "doneBody": "Votre compte et vos données ont été supprimés.",
      "doneTitle": "Compte supprimé",
      "inputLabel": "Tapez {{word}} pour confirmer",
      "lifetimeWarning": "Votre accès à vie sera également perdu.",
      "title": "Supprimer mon compte",
      "typeToConfirm": "Tapez {{word}} pour confirmer."
    },
    "historyDesc": "Vos 10 derniers renommages",
    "loginRequired": "Connectez-vous pour voir votre compte",
    "loginRequiredDesc": "Votre offre, votre utilisation et votre historique de renommage s'affichent ici une fois connecté.",
    "periodEnds": "Période en cours jusqu'au {{date}}",
    "usageDesc": "Fichiers renommés aujourd'hui (remise à zéro chaque jour à minuit UTC)"
  },
  "footer": {
    "product": "Produit",
    "company": "Entreprise",
    "legal": "Légal",
    "about": "À propos",
    "blog": "Blog",
    "privacy": "Confidentialité",
    "terms": "Conditions",
    "contact": "Contact",
    "copyright": "© 2024 RenameFlow. Tous droits réservés.",
    "faq": "FAQ",
    "howTo": "Comment ça marche",
    "alternatives": "Alternatives",
    "support": "Support",
    "cookies": "Cookies",
    "rights": "Tous droits réservés.",
    "legalNotice": "Mentions légales",
    "cookieSettings": "Gérer les cookies"
  },
  "marketing": {
    "guides": "Guides",
    "common": {
      "yes": "Oui",
      "no": "Non"
    },
    "guidesPage": {
      "seoTitle": "Guides RenameFlow — Plex, Kodi, Jellyfin, alternative à FileBot",
      "seoDescription": "Parcourez nos guides : conventions de nommage Plex/Kodi/Jellyfin et comparaison avec FileBot.",
      "title": "Guides & Articles",
      "subtitle": "Des guides pratiques (SEO-friendly) pour organiser votre médiathèque.",
      "read": "Lire"
    },
    "filebot": {
      "seoTitle": "Alternative à FileBot — RenameFlow",
      "seoDescription": "Compare RenameFlow et FileBot pour renommer et organiser tes films, séries TV et animes (Plex, Kodi, Jellyfin).",
      "keywords": "alternative filebot, renameflow vs filebot, renommeur de médias, renommage en masse, renommer films, renommer séries tv, renommer animes, nommage plex, nommage kodi, nommage jellyfin",
      "cardTitle": "Alternative à FileBot",
      "cardDesc": "Comparaison rapide : RenameFlow vs FileBot pour le renommage en masse et les serveurs multimédias.",
      "h1": "Alternative à FileBot : RenameFlow",
      "intro": "RenameFlow est un outil pour renommer les fichiers multimédias (films, séries TV, animes) conçu pour produire des noms propres et standardisés pour une détection fiable dans Plex, Kodi et Jellyfin.",
      "quickComparison": "Comparaison rapide",
      "table": {
        "feature": "Fonctionnalité",
        "renameflow": "RenameFlow",
        "filebot": "FileBot"
      },
      "note": "Note : comparaison indicative et non exhaustive (les fonctionnalités peuvent évoluer).",
      "whyTitle": "Pourquoi c'est important pour Plex / Kodi / Jellyfin",
      "whyP1": "Les serveurs multimédias détectent le contenu à partir de la structure des dossiers et des noms de fichiers. Un bon nommage réduit les mauvaises correspondances, les saisons mélangées, les titres tronqués et les affiches incorrectes.",
      "whyP2": "RenameFlow accélère ce processus : importe tes fichiers, trouve les correspondances, vérifie, puis renomme en masse.",
      "whyP3Prefix": "Pour des exemples concrets (films, séries, animes), consulte :",
      "whyP3Link": "Conventions de nommage Plex/Kodi/Jellyfin",
      "ctaTitle": "Essaie RenameFlow maintenant",
      "ctaBody": "Si tu cherches une alternative à FileBot, le plus rapide est de tester avec un vrai dossier et de comparer les résultats.",
      "ctaPrimary": "Ouvre l'app",
      "ctaSecondary": "Voir les tarifs",
      "rows": {
        "bulk": "Renommage en masse",
        "sources": "Films / Séries / Animes (correspondance via base de données)",
        "sourcesRenameflow": "TMDB / TheTVDB / AniList",
        "sourcesFilebot": "Correspondance via base de données en ligne",
        "conventions": "Conventions Plex / Kodi / Jellyfin",
        "subtitles": "Sous-titres (recherche / téléchargement)",
        "ui": "Interface moderne (application web)",
        "uiFilebot": "Dépend de l'OS / de la licence"
      },
      "jsonLd": {
        "articleHeadline": "Alternative à FileBot : RenameFlow",
        "articleDescription": "Comparaison claire entre RenameFlow et FileBot pour renommer les films, séries TV et animes pour Plex/Kodi/Jellyfin.",
        "faq": {
          "q1": "Est-ce que RenameFlow est une bonne alternative à FileBot ?",
          "a1": "Oui, si ton besoin principal est de renommer et organiser une médiathèque (films, séries TV, animes) pour Plex/Kodi/Jellyfin avec un workflow moderne (correspondance → renommage).",
          "q2": "Quelles conventions de nommage sont importantes pour Plex et Kodi ?",
          "a2": "La plupart des conventions utilisent titre + année pour les films, et S01E01 pour les séries. Un nommage propre évite les doublons, les mauvaises correspondances et les erreurs d'affichage dans Plex/Kodi/Jellyfin.",
          "q3": "Est-ce que RenameFlow prend en charge le renommage en masse ?",
          "a3": "Oui, RenameFlow est conçu pour le renommage en masse de médiathèques entières."
        }
      },
      "hero": {
        "newH1": "Alternative à Filebot 2026 : Gratuite, Web, Sans Installation",
        "newLead": "L'outil de renommage que tu cherchais si l'abonnement de Filebot, son installation Java ou son interface des années 2010 t'ont finalement poussé à chercher ailleurs. Même précision de nommage, interface moderne, fonctionne dans ton navigateur, et gratuit pour les 15 premiers fichiers chaque jour.",
        "problemSummary": "Filebot a régné pendant 17 ans comme la référence du renommage de médias. En 2024, le modèle d'abonnement a changé (6€ tous les 4 mois pour le desktop), la friction liée à Java/AppImage est restée, et l'interface n'a pas eu de mise à jour significative depuis presque une décennie. Pour la plupart des utilisateurs aujourd'hui, cette combinaison est finalement suffisante pour commencer à chercher des alternatives.",
        "promise": "Cette page compare les deux outils en toute honnêteté — là où Filebot est encore meilleur, là où RenameFlow l'emporte, et comment migrer si tu décides de changer. À la fin, tu sauras si cette alternative est judicieuse pour ta médiathèque, ou s'il vaut mieux rester sur Filebot.",
        "trust1": "100 % gratuit jusqu'à 15 fichiers / jour",
        "trust2": "Fonctionne dans ton navigateur — sans Java, sans installation",
        "trust3": "Approuvé par les utilisateurs qui migrent depuis Filebot depuis 2026",
        "ctaPrimary": "Essaie-le gratuitement : 15 fichiers/jour, compte gratuit en 30 secondes",
        "readingTime": "Lecture : ~6 min"
      },
      "state": {
        "h2": "L'état de Filebot en 2026",
        "intro": "Avant de parler d'une alternative, il est juste de reconnaître ce qu'est Filebot et pourquoi il a dominé le secteur si longtemps. Ce n'est pas un article à charge — Filebot a créé un bon produit. Mais l'écart entre ce qu'il était et ce dont les utilisateurs ont besoin en 2026 s'est creusé, et les récents changements ont accéléré cette tendance.",
        "history": "Filebot a été lancé en 2007 par Reinhard Pointner. Pendant la majeure partie de son existence, c'était une application de bureau gratuite pour Windows, macOS et Linux qui récupérait les métadonnées de TheTVDB, TheMovieDB, AniDB et d'autres bases de données pour renommer les fichiers multimédias avec une précision chirurgicale. Son moteur de script (basé sur Groovy) était d'une puissance unique. La communauté sur le forum officiel et le /r/FileBot de Reddit a maintenu la base de connaissances vivante. Pour les amateurs de médiathèques, c'était la recommandation par défaut sur tous les fils de discussion de support Plex et Kodi pendant près de 15 ans.",
        "subscriptionChange": "En 2017, Filebot est passé à un modèle de licence perpétuelle — paie une fois, utilise-le à vie. En 2024, cela a changé : Filebot nécessite désormais un abonnement (5,99 EUR tous les 4 mois fin 2025) pour l'application de bureau GUI. Le CLI reste gratuit avec des limitations, et les détenteurs de licences perpétuelles existantes conservent leurs droits. Les raisons invoquées par le développeur (pérennité, lutte contre les reconditionneurs commerciaux) sont légitimes. La réaction de la communauté l'a été moins — le forum officiel et le /r/FileBot de Reddit regorgent de longs fils de discussion d'utilisateurs qui se sont sentis pris au dépourvu par ce changement. Que tu sois du côté du développeur ou des utilisateurs, l'effet pratique est le même : Filebot n'est plus l'option gratuite évidente qu'elle a été pendant une décennie.",
        "javaProblem": "Filebot est écrit en Java. Cela implique : une installation de plus de 200 Mo, des dépendances JRE, des avertissements occasionnels « cette app n'est pas signée » sur macOS, des frictions avec AppImage sur Linux, un démarrage lent à froid et une consommation mémoire élevée sur les grosses médiathèques. Aucun de ces points n'est rédhibitoire en soi. Ensemble, ils créent le genre de friction que les utilisateurs modernes comparent défavorablement à « il suffit d'ouvrir un onglet et de glisser les fichiers ».",
        "uiProblem": "L'interface de Filebot n'a pas été significativement repensée depuis le milieu des années 2010. Elle fonctionne, elle est dense, elle fait ce dont les utilisateurs avancés ont besoin, mais son apparence et son comportement sont ceux d'un outil d'une autre époque. Pour les utilisateurs qui ont commencé l'auto-hébergement ces 3 dernières années, le décalage visuel avec les applications modernes (Linear, Vercel, la propre interface repensée de Plex) est frappant. C'est subjectif. Mais « Je veux juste glisser mes fichiers et les voir se renommer » devient de plus en plus une attente de base.",
        "dominanceReason": "Malgré tout cela, Filebot domine toujours Google pour les recherches « media renamer » et « rename TV shows ». La raison n'est pas seulement la qualité — ce sont 17 ans de backlinks, de fils de discussion, de réponses sur Stack Overflow et de tutoriels YouTube. L'inertie du SEO est réelle. La première vague d'alternatives (mnamer CLI, les fonctions de renommage de MediaElch, TinyMediaManager) a grignoté les bords mais n'a jamais menacé la position centrale de Filebot. La vague d'alternatives web, dont RenameFlow fait partie, constitue le premier véritable défi.",
        "jellyfinLink": "passer de Filebot à un workflow Jellyfin"
      },
      "wedge": {
        "h2": "Pourquoi RenameFlow existe",
        "intro": "RenameFlow n'essaie pas de remplacer Filebot fonctionnalité par fonctionnalité. Il cible les 80 % des cas d'usage de Filebot dont la plupart des utilisateurs ont réellement besoin, plus trois choses que Filebot ne peut pas faire.",
        "web": "Première différence : RenameFlow fonctionne entièrement dans ton navigateur. Pas d'installation, pas de Java, pas d'AppImage. Ouvre l'URL, glisse un dossier sur la page, visualise les renommages proposés, et confirme. Les fichiers ne sont jamais envoyés nulle part — le renommage se fait localement via l'API File System Access (supportée par Chrome, Edge, Brave, Opera, Vivaldi). Firefox et Safari ne la supportent pas, ce qui est la seule vraie limite de compatibilité. Pour tous les autres, le temps entre « Je dois renommer ces fichiers » et « ils sont renommés » est de moins de 60 secondes la première fois, et moins de 20 secondes les fois suivantes. Pas de mises à jour à installer, pas de Java système à gérer, aucun risque qu'un antivirus mette un fichier JAR en quarantaine.",
        "freeTier": "Deuxième différence : RenameFlow est gratuit pour les 15 premiers fichiers chaque jour, avec un compte gratuit créé en 30 secondes et sans saisie de carte bancaire. C'est suffisant pour un usage occasionnel — un téléchargement de film typique, une saison de série TV, un batch de podcasts. Pour les power users avec des milliers de fichiers, la version payante est un paiement unique de 49 EUR pour un accès à vie (jamais d'abonnement récurrent) avec des options mensuelles à 2,99 EUR. La tarification est délibérément structurée pour rendre le choix évident : si tu as moins de 100 fichiers à traiter par an, tu ne paies vraiment jamais. La version CLI gratuite de Filebot existe mais est intentionnellement limitée pour pousser les utilisateurs vers la version payante avec interface graphique (GUI).",
        "modernUx": "Troisième différence : l'interface est conçue pour ce que les utilisateurs font le plus — glisser des fichiers, examiner les renommages proposés dans un aperçu clair côte à côte, et cliquer sur confirmer. Glisser-déposer, raccourcis clavier (Ctrl+Entrée pour confirmer), recherche instantanée parmi les fournisseurs de métadonnées, mapping automatique des épisodes d'anime (AniList intégré, pas de plugin à installer), et un volet de prévisualisation qui montre l'avant/après renommage pour chaque fichier avant que quoi que ce soit ne touche au disque. L'interface (UI) de Filebot fonctionne mais suppose que tu vas l'apprendre ; celle de RenameFlow part du principe que tu as d'autres choses à faire.",
        "plexLink": "Modèles de nommage Plex"
      },
      "comparison": {
        "h2": "RenameFlow vs Filebot — Comparaison Détaillée",
        "intro": "Plus de vingt critères objectifs sur lesquels les deux outils diffèrent, et sur lesquels ils sont équivalents. Mis à jour pour Filebot 5.x et RenameFlow 1.x à la mi-2026.",
        "toolRenameflow": "RenameFlow",
        "toolFilebot": "Filebot",
        "categoryFeature": "Fonctionnalité",
        "catDistribution": "Distribution",
        "catPricing": "Tarifs",
        "catMetadata": "Sources de métadonnées",
        "catFeatures": "Fonctionnalités",
        "catWorkflow": "Workflow",
        "catPrivacy": "Confidentialité",
        "criteria": [
          {
            "cat": "catDistribution",
            "label": "Installation",
            "values": [
              "Basé sur le navigateur, sans installation",
              "Application de bureau (Windows/macOS/Linux)"
            ]
          },
          {
            "cat": "catDistribution",
            "label": "Système d'exploitation",
            "values": [
              "Chrome / Edge / Brave / Opera / Vivaldi",
              "Windows, macOS, Linux"
            ]
          },
          {
            "cat": "catDistribution",
            "label": "Java requis",
            "values": [
              false,
              true
            ]
          },
          {
            "cat": "catDistribution",
            "label": "Taille d'installation",
            "values": [
              "0 Mo (web)",
              "~200 Mo + JRE"
            ]
          },
          {
            "cat": "catPricing",
            "label": "Offre gratuite",
            "values": [
              "15 fichiers / jour, compte gratuit",
              "CLI uniquement (GUI limitée)"
            ]
          },
          {
            "cat": "catPricing",
            "label": "Offre payante",
            "values": [
              "2,99 €/mois, 6,99 €/an ou 49 € à vie",
              "5,99 € tous les 4 mois (18 €/an)"
            ]
          },
          {
            "cat": "catPricing",
            "label": "Option à vie",
            "values": [
              true,
              "Utilisateurs historiques uniquement"
            ]
          },
          {
            "cat": "catPricing",
            "label": "Essai gratuit sans carte bancaire",
            "values": [
              true,
              false
            ]
          },
          {
            "cat": "catMetadata",
            "label": "TheMovieDB (TMDB)",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catMetadata",
            "label": "TheTVDB",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catMetadata",
            "label": "Métadonnées anime (AniDB / AniList)",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catMetadata",
            "label": "MusicBrainz",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catMetadata",
            "label": "OpenSubtitles",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catFeatures",
            "label": "Renommage par lot",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catFeatures",
            "label": "Mapping d'épisodes absolus pour animes",
            "values": [
              "Intégré",
              "Intégré"
            ]
          },
          {
            "cat": "catFeatures",
            "label": "Modèles de nommage personnalisés",
            "values": [
              "Éditeur visuel + presets",
              "Scripting Groovy (puissant)"
            ]
          },
          {
            "cat": "catFeatures",
            "label": "Intégration du téléchargement de sous-titres",
            "values": [
              "Intégré (OpenSubtitles)",
              "Intégré"
            ]
          },
          {
            "cat": "catFeatures",
            "label": "Glisser-déposer",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catFeatures",
            "label": "Raccourcis clavier",
            "values": [
              true,
              true
            ]
          },
          {
            "cat": "catWorkflow",
            "label": "Temps de configuration (1ère utilisation)",
            "values": [
              "~10 secondes",
              "~5 minutes (install + licence)"
            ]
          },
          {
            "cat": "catWorkflow",
            "label": "Interface utilisateur moderne",
            "values": [
              true,
              "Style 2015"
            ]
          },
          {
            "cat": "catWorkflow",
            "label": "Support mobile",
            "values": [
              "Lecture seule (API Fichiers non dispo sur mobile)",
              false
            ]
          },
          {
            "cat": "catWorkflow",
            "label": "Localisation",
            "values": [
              "EN, FR, DE, ES, IT + fr-CA, es-MX",
              "EN + traductions communautaires"
            ]
          },
          {
            "cat": "catPrivacy",
            "label": "Télémétrie",
            "values": [
              "Données analytiques optionnelles (avec consentement)",
              "Vérification de licence uniquement"
            ]
          },
          {
            "cat": "catPrivacy",
            "label": "Les fichiers quittent l'appareil",
            "values": [
              false,
              false
            ]
          }
        ]
      },
      "useCases": {
        "h2": "Cinq cas d'usage concrets",
        "intro": "Un tableau comparatif répond à la question « lequel est le meilleur ? » de manière abstraite. Ces cinq scénarios montrent comment ce choix se traduit concrètement dans des flux de travail réels.",
        "verdictRenameflow": "RenameFlow l'emporte",
        "verdictFilebot": "Filebot l'emporte",
        "verdictTie": "Égalité",
        "verdictLabel": "Verdict",
        "filebotLabel": "Filebot",
        "renameflowLabel": "RenameFlow",
        "scenarioLabel": "Scénario",
        "single": {
          "title": "Renommer un seul film téléchargé",
          "scenario": "Tu viens de télécharger un film. Tu veux qu'il soit prêt pour Plex en 30 secondes.",
          "filebot": "Ouvre l'application de bureau, navigue jusqu'au fichier ou glisse-le, clique sur « Match », confirme. Ça marche bien, ça prend environ 20 secondes une fois Filebot déjà ouvert. Démarrage à froid : ajoute 10 secondes de plus.",
          "renameflow": "Glisse le fichier sur l'onglet ouvert, la suggestion apparaît en 2 secondes, appuie sur Ctrl+Entrée. ~5 secondes au total. Pas d'appli à lancer, pas de JRE à chauffer.",
          "verdict": "RenameFlow l'emporte en vitesse pour les fichiers uniques, surtout si Filebot n'est pas déjà lancé. Pour un power user avec Filebot toujours ouvert, la différence est moindre.",
          "winner": "renameflow"
        },
        "batch": {
          "title": "Renommer une bibliothèque entière de 1000 fichiers",
          "scenario": "Tu consolides des années de téléchargements et tu veux que tout soit compatible avec Plex.",
          "filebot": "Le traitement par lots natif est extrêmement rapide à grande échelle — Filebot peut traiter 1000 fichiers en 2-3 minutes sur une machine moderne, avec une flexibilité totale des scripts Groovy pour les cas particuliers. Pour les utilisateurs à l'aise avec l'écriture de schémas personnalisés, c'est inégalé.",
          "renameflow": "Gère sans problème des lots jusqu'à ~500 fichiers en un seul glisser-déposer. Pour les bibliothèques plus volumineuses, divise-les en dossiers d'environ 500 fichiers. Le renommage par fichier est rapide (requêtes API parallèles aux fournisseurs de métadonnées) mais tu devras vérifier les aperçus par lots. Temps total écoulé pour 1000 fichiers : ~10 minutes, y compris la vérification humaine.",
          "verdict": "Filebot l'emporte sur le débit brut à grande échelle. RenameFlow gagne si tu veux vérifier avant les modifications sur le disque. Le bon outil dépend de ta confiance dans la correspondance automatique.",
          "winner": "filebot"
        },
        "anime": {
          "title": "Bibliothèque d'animes avec numérotation absolue des épisodes",
          "scenario": "One Piece à l'épisode 1 064, Naruto Shippuden, Détective Conan — des séries avec une numérotation absolue qui ne correspond pas au découpage en saisons de TheTVDB.",
          "filebot": "L'intégration AniDB est excellente, surtout avec le bon script et les bons paramètres. Les utilisateurs avancés ont configuré Filebot pour gérer correctement tous les cas de numérotation absolue. La courbe d'apprentissage pour y parvenir est importante.",
          "renameflow": "Les métadonnées anime (AniList) sont intégrées par défaut, avec une correspondance automatique des épisodes absolus vers les saisons pour les cas courants. Aucun réglage de script. Les cas particuliers (découpages en milieu de saison, conflits de noms) peuvent encore nécessiter une confirmation manuelle, mais les paramètres par défaut couvrent 90 % des animes grand public.",
          "verdict": "Pour les utilisateurs prêts à s'investir dans les scripts Filebot, Filebot est plus puissant. Pour tous les autres, la gestion AniList prête à l'emploi de RenameFlow l'emporte. Égalité pour les utilisateurs avancés ; victoire nette pour RenameFlow pour les bibliothèques d'animes occasionnelles.",
          "winner": "renameflow",
          "animeLink": "les défis des animes en détail"
        },
        "music": {
          "title": "Ré-étiquetage d'une bibliothèque musicale de 5 000 morceaux",
          "scenario": "Tu as hérité ou accumulé une bibliothèque musicale avec des tags ID3 en désordre et tu veux que tout soit conforme à MusicBrainz.",
          "filebot": "Gère le renommage de musique avec la recherche MusicBrainz, mais c'est avant tout un outil de nom de fichier. La véritable réécriture des tags nécessite MusicBrainz Picard ou beets en parallèle.",
          "renameflow": "Le mode Musique lit MusicBrainz et produit des noms de fichiers précis + une structure de dossiers Plex/Jellyfin (Artist/Album/Track). Comme Filebot, il n'écrit pas directement les tags ID3 — utilise MusicBrainz Picard pour cela. L'interface de traitement par lots + aperçu de RenameFlow rend le scénario de plusieurs milliers de morceaux plus gérable.",
          "verdict": "Égalité. Les deux outils gèrent la couche des noms de fichiers ; tous deux nécessitent un tagueur dédié pour les ID3. Le volet d'aperçu de RenameFlow est plus confortable pour les gros lots ; les scripts de Filebot sont plus flexibles pour les structures de collection inhabituelles.",
          "winner": "tie"
        },
        "plexMigration": {
          "title": "Nettoyer une bibliothèque Plex avant de migrer vers Jellyfin",
          "scenario": "Tu as décidé de passer de Plex à Jellyfin et ta bibliothèque a des noms spécifiques à Plex (éditions entre accolades, ID de dossier HAMA, etc.).",
          "filebot": "Possible avec des scripts personnalisés, mais tu devrais écrire ou adapter un script Filebot qui reconnaît les schémas spécifiques à Plex et les réécrit pour Jellyfin. C'est réaliste, mais cela prend une heure de script et de test.",
          "renameflow": "Le guide de nommage Jellyfin sur ce site explique exactement ce qui change entre les conventions de Plex et de Jellyfin. Glisse ta bibliothèque nommée pour Plex dans RenameFlow, sélectionne le preset de nommage \"Jellyfin\", et les renommages proposés tiennent déjà compte des changements de syntaxe ({edition-X} en [edition-X], [anidb-X] en [anidbid-X]). Vérifie et confirme.",
          "verdict": "RenameFlow l'emporte haut la main pour les flux de migration. Filebot peut le faire avec des efforts ; RenameFlow le fait grâce à un preset intégré.",
          "winner": "renameflow"
        },
        "readyToSwitchCta": "Prêt à changer ? Essaie RenameFlow gratuitement : 15 fichiers/jour, compte gratuit en 30 secondes, aucun upload."
      },
      "migration": {
        "h2": "Migrer de Filebot vers RenameFlow",
        "intro": "Si tu as décidé d'essayer RenameFlow en remplacement de Filebot, voici la marche à suivre pour la migration. La plupart des utilisateurs la terminent en moins de 15 minutes.",
        "whereTitle": "Par où commencer",
        "whereSteps": [
          "Ouvre renameflow.com/app dans Chrome, Edge, Brave, Opera ou Vivaldi. Firefox et Safari ne sont pas encore pris en charge — c'est une limitation de l'API File System Access, pas une fonctionnalité manquante, et le statut de l'API est suivi publiquement par Mozilla et Apple. Utilise l'un des navigateurs compatibles pour renommer ; tu peux lire cette page dans n'importe quel navigateur.",
          "Essaie d'abord la version gratuite. Glisse 5 à 10 fichiers d'un dossier non critique sur la page. Confirme que l'aperçu des renommages correspond à tes attentes. Si ton échantillon de test est correct, le reste de ta bibliothèque le sera aussi — la logique de correspondance sous-jacente est la même pour 10 fichiers ou 10 000.",
          "Choisis une offre si tu dépasses la version gratuite. L'annuel (6,99 EUR par an) est le moyen le moins cher de renommer sans limite ; la licence à vie (49 EUR, paiement unique) convient aux bibliothèques que tu maintiendras pendant de nombreuses années ; le mensuel (2,99 EUR) est adapté à une migration ponctuelle ou à un projet de batch court.",
          "Annule ton abonnement Filebot si tu en as un, ou arrête de renouveler les mises à jour de la licence perpétuelle. Ton installation existante de Filebot continuera de fonctionner — ça vaut le coup de la garder pour les rares cas extrêmes où le scripting Groovy de Filebot a encore l'avantage."
        ],
        "whatTitle": "À quoi s'attendre",
        "whatParagraphs": [
          "La précision des métadonnées est comparable à celle de Filebot pour les films, les séries TV et les animes — RenameFlow interroge les mêmes points d'accès TMDB, TVDB, AniList et MusicBrainz. Les différences dans la qualité des correspondances proviennent de l'heuristique (analyseur de nom de fichier, préférences de langue, gestion de l'année), et pour la grande majorité des contenus grand public, les résultats sont identiques.",
          "L'interface est le plus grand changement. La disposition dense à plusieurs volets de Filebot est compressée dans le flux à trois panneaux de RenameFlow : fichiers à gauche, correspondances de métadonnées au milieu, aperçu à droite. Les fonctionnalités avancées de script Groovy (chaînes de formatage personnalisées avec conditions, remplacements par regex, chaînes de secours multi-sources) ne sont pas exposées dans l'interface de RenameFlow — si tu dépendais de la profondeur du scripting de Filebot, RenameFlow te semblera limité. Si tu utilisais Filebot uniquement via son interface graphique, la transition est principalement soustractive : moins de boutons, mêmes résultats.",
          "La situation sur mobile est différente. Filebot n'a pas du tout d'application mobile. L'interface web de RenameFlow se charge sur mobile, mais l'API File System Access n'y est pas disponible — tu peux prévisualiser mais pas réellement renommer depuis un téléphone. La plupart des utilisateurs ne renomment pas depuis un téléphone, donc cela a rarement d'importance en pratique."
        ],
        "patternsTitle": "Équivalents des modèles de nommage",
        "patternsIntro": "Modèle Filebot → Équivalent RenameFlow (cas les plus courants) :",
        "patterns": [
          {
            "filebot": "{n} ({y})",
            "renameflow": "{title} ({year})",
            "note": "Films"
          },
          {
            "filebot": "{n}/Season {s}/{n} - {s00e00} - {t}",
            "renameflow": "{title}/Season {season}/{title} - s{season}e{episode} - {episodeTitle}",
            "note": "Séries TV"
          },
          {
            "filebot": "{n} ({y}) - {edition}",
            "renameflow": "{title} ({year}) - {edition}",
            "note": "Éditions Plex"
          },
          {
            "filebot": "{n} ({y}) - {edition}",
            "renameflow": "{title} ({year}) [edition-{edition}]",
            "note": "Éditions Jellyfin"
          },
          {
            "filebot": "{n}/{album}/{pi} {t}",
            "renameflow": "{artist}/{album} ({year})/{track} - {title}",
            "note": "Musique"
          }
        ],
        "patternsFooter": "Pour les schémas de nommage inhabituels, l'éditeur personnalisé de RenameFlow utilise des variables similaires — consulte la référence complète dans le guide pas à pas. La plupart des schémas Filebot se traduisent directement ; les rares exceptions dépendent généralement de scripts Groovy, que nous avons volontairement choisi de ne pas prendre en charge.",
        "walkthroughLink": "guide pas à pas"
      },
      "faq": {
        "h2": "Filebot vs RenameFlow — Foire Aux Questions",
        "seeAllLink": "voir toute la FAQ",
        "items": [
          {
            "q": "Filebot vaut-il encore le coup en 2026 ?",
            "a": "Pour les utilisateurs avancés qui dépendent du scripting Groovy et que l'abonnement ne dérange pas, oui. La précision des métadonnées ne s'est pas dégradée, le développement est toujours actif, et il n'y a pas d'autre outil avec la même profondeur de scripting. Pour tous les autres — utilisation occasionnelle à modérée, bibliothèques de moins de quelques milliers de fichiers, pas de besoins en scripting — les alternatives modernes et gratuites ont suffisamment comblé l'écart pour que l'abonnement soit plus difficile à justifier."
          },
          {
            "q": "Pourquoi Filebot nécessite-t-il maintenant un abonnement ?",
            "a": "Le développeur (Reinhard Pointner) a évoqué la pérennité du développement en solo et la lutte contre les revendeurs commerciaux qui vendaient Filebot sous d'autres noms. Que tu sois d'accord ou non avec cette décision, ce changement mi-2024 a été le catalyseur qui a poussé de nombreux utilisateurs de longue date à chercher des alternatives. RenameFlow bénéficie de ce changement mais ne l'a pas provoqué."
          },
          {
            "q": "RenameFlow peut-il gérer les mêmes cas d'animes que Filebot ?",
            "a": "Pour 90 % des cas d'animes populaires (One Piece, Naruto, Demon Slayer, L'Attaque des Titans, shonen modernes) : oui, sans aucune configuration. Pour les cas limites (découpages en plusieurs 'cours' avec des noms non standards, ordres d'OVA inhabituels, variantes doublées/sous-titrées dans un même dossier) : le scripting de Filebot les gère un peu mieux. RenameFlow les gère avec une confirmation manuelle sur les quelques correspondances ambiguës par série."
          },
          {
            "q": "Dois-je installer quelque chose pour essayer RenameFlow ?",
            "a": "Aucune installation. Ouvre renameflow.com dans Chrome, Edge, Brave, Opera ou Vivaldi sur ordinateur, crée un compte gratuit (30 secondes, sans carte bancaire) et glisse tes fichiers. Gratuit : 15 fichiers/jour, et rien n'est envoyé sur un serveur."
          },
          {
            "q": "La version gratuite de RenameFlow est-elle suffisante pour un usage occasionnel ?",
            "a": "Pour renommer un film ou un épisode de série de temps en temps, au fur et à mesure que tu les télécharges : oui, largement. La limite de 15 fichiers par jour est remise à zéro chaque jour à minuit UTC — pour un usage normal, ce n'est jamais une contrainte. Là où ça devient insuffisant, c'est quand tu fais un grand nettoyage de ta bibliothèque d'un seul coup. C'est à ça que servent les offres payantes : l'annuel (6,99 EUR par an) est le moyen le moins cher de renommer sans limite, et l'offre à vie (49 EUR, paiement unique) t'évite tout renouvellement."
          },
          {
            "q": "Puis-je utiliser Filebot et RenameFlow en même temps ?",
            "a": "Oui, ils n'entrent aucunement en conflit. De nombreux utilisateurs gardent Filebot installé pour les rares cas limites nécessitant du scripting et utilisent RenameFlow comme outil principal au quotidien pour tout le reste. La version en ligne de commande (CLI) de Filebot reste gratuite, donc cette configuration hybride ne coûte rien si ton flux de travail habituel reste dans les limites de la version gratuite de RenameFlow."
          },
          {
            "q": "Mes scripts Filebot fonctionneront-ils dans RenameFlow ?",
            "a": "Non — RenameFlow n'expose pas de moteur de scripting. Les schémas de nommage sont basés sur des modèles avec un ensemble limité de variables (title, year, season, episode, episodeTitle, edition, etc.) et un constructeur de schémas personnalisés pour de légères variations. Pour la plupart des schémas Filebot, il existe un équivalent direct montré dans le tableau de migration ci-dessus. Pour les scripts Groovy complexes avec des conditions ou des regex, tu devras soit rester avec Filebot pour ces cas spécifiques, soit les retravailler en plusieurs presets RenameFlow."
          },
          {
            "q": "Et qu'en est-il de Filebot Node ?",
            "a": "Filebot Node (l'outil d'automatisation côté serveur) est un produit différent qui cible les pipelines de type Sonarr/Radarr. RenameFlow est axé sur le bureau, sans composant serveur. Si ton flux de travail est déjà entièrement automatisé via Sonarr + Radarr, tu n'as probablement besoin ni de Filebot Node ni de RenameFlow pour le pipeline principal — les deux servent à combler les lacunes de renommage manuel que l'automatisation ne couvre pas."
          }
        ]
      },
      "cta": {
        "h2": "Essaie RenameFlow gratuitement",
        "primary": "Gratuit : 15 fichiers/jour avec un compte gratuit (30 secondes, sans carte bancaire). Glisse un dossier, vois les renommages proposés, confirme s'ils te plaisent. Ça prend 60 secondes.",
        "secondary": "Ou consulte les tarifs complets — y compris l'option à vie à 49 EUR (aucun abonnement récurrent, jamais).",
        "primaryButton": "Ouvrir RenameFlow",
        "secondaryButton": "Voir les tarifs"
      },
      "tocLabels": {
        "state": "L'état de Filebot",
        "wedge": "Pourquoi RenameFlow",
        "comparison": "Comparaison",
        "useCases": "Cas d'usage",
        "migration": "Migration",
        "faq": "FAQ"
      },
      "seoTitleV2": "Alternative à Filebot 2026 : gratuite, en ligne | RenameFlow",
      "seoDescriptionV2": "L'alternative moderne à Filebot : en ligne, gratuite jusqu'à 15 fichiers/jour, sans Java, compatible Plex, Jellyfin et Kodi."
    },
    "plex": {
      "seoTitle": "Conventions de nommage Plex/Kodi/Jellyfin — RenameFlow",
      "seoDescription": "Guide pratique pour renommer films, séries et anime afin qu'ils soient parfaitement reconnus par Plex, Kodi et Jellyfin.",
      "keywords": "plex naming convention, kodi naming convention, jellyfin rename files, renommer séries, renommer films, bulk rename, anime naming, S01E01",
      "cardTitle": "Guide Plex/Kodi/Jellyfin",
      "cardDesc": "Conventions de nommage (films, séries, anime) pour éviter les mauvais matchs.",
      "h1": "Comment renommer ses fichiers pour Plex, Kodi et Jellyfin",
      "intro": "Plex, Kodi et Jellyfin se basent sur les noms de fichiers et la structure des dossiers pour identifier correctement les contenus. Ce guide donne des conventions simples + les erreurs classiques à éviter.",
      "tocTitle": "Sommaire",
      "toc": {
        "movies": "Films : titre + année",
        "tv": "Séries : S01E01 + structure Saison",
        "anime": "Anime : numérotation + specials",
        "mistakes": "Erreurs classiques"
      },
      "sections": {
        "moviesTitle": "Films : titre + année",
        "moviesBody": "Pour les films, l'année aide à distinguer les remakes et à améliorer le match. Une structure par dossier est souvent plus fiable.",
        "tvTitle": "Séries : S01E01 + structure Saison",
        "tvBody": "Le format S01E01 est le plus universel. Range chaque saison dans un dossier dédié pour limiter les erreurs.",
        "animeTitle": "Anime : numérotation + specials",
        "animeBody": "Les anime ont parfois des numérotations différentes (spéciaux, OVA, saison 0). Les conventions basées sur S00E01 pour les specials fonctionnent bien.",
        "mistakesTitle": "Erreurs classiques à éviter",
        "mistakes": [
          "Nommer “Episode 1 final.mkv” sans S01E01",
          "Mélanger plusieurs séries dans un même dossier",
          "Oublier l'année sur les films au titre ambigu",
          "Mettre la qualité/codec au milieu du titre si ça casse le match"
        ]
      },
      "ctaTitle": "Renommer en masse avec RenameFlow",
      "ctaBodyPrefix": "Workflow idéal : importer un dossier complet, matcher (TMDB/TheTVDB/AniList), vérifier et appliquer le renommage. Si tu compares des outils, regarde aussi",
      "ctaBodyLink": "RenameFlow vs FileBot",
      "ctaPrimary": "Commencer gratuitement",
      "ctaSecondary": "Voir les tarifs",
      "jsonLd": {
        "articleHeadline": "Comment renommer ses fichiers pour Plex, Kodi et Jellyfin",
        "articleDescription": "Guide pratique de conventions de nommage (films, séries, anime) pour une détection parfaite dans Plex, Kodi et Jellyfin.",
        "faq": {
          "q1": "Quel format de nom est le plus fiable pour les séries ?",
          "a1": "Le format le plus universel est S01E01. Il est compris par Plex, Kodi et Jellyfin et limite les erreurs.",
          "q2": "Pourquoi ajouter l'année pour les films ?",
          "a2": "L'année réduit les ambiguïtés entre remakes et titres identiques, ce qui améliore le match et l'affichage des métadonnées.",
          "q3": "Comment renommer en masse une bibliothèque ?",
          "a3": "Importe un dossier complet, lance le match, vérifie, puis applique le renommage par lots."
        }
      }
    }
  },
  "common": {
    "all": "Tout",
    "loading": "Chargement...",
    "error": "Une erreur est survenue",
    "retry": "Réessayer",
    "cancel": "Annuler",
    "confirm": "Confirmer",
    "save": "Enregistrer",
    "delete": "Supprimer",
    "edit": "Modifier",
    "close": "Fermer",
    "back": "Retour",
    "next": "Suivant",
    "search": "Rechercher",
    "film": "Film",
    "series": "Série TV",
    "anime": "Animé",
    "music": "Musique",
    "active": "Actif",
    "success": "Succès"
  },
  "sidebar": {
    "modules": "Modules",
    "rename": "Renommer",
    "episodes": "Épisodes",
    "subtitles": "Sous-titres",
    "verify": "Vérifier",
    "filter": "Filtrer",
    "list": "Liste",
    "history": "Historique",
    "soon": "Bientôt",
    "dailyUsage": "Utilisation quotidienne",
    "upgrade": "Passer à Premium",
    "premiumActive": "Premium Actif",
    "fileRenamer": "Renommeur de fichiers",
    "preferences": "Préférences",
    "usageWarning": "Bientôt à la limite",
    "usageReached": "Limite quotidienne atteinte",
    "adminStats": "Stats",
    "collapse": "Replier la barre latérale",
    "expand": "Déplier la barre latérale",
    "legal": "Infos légales et cookies",
    "opensInNewTab": "(s'ouvre dans un nouvel onglet)"
  },
  "history": {
    "title": "Historique des renommages",
    "subtitle": "{{count}} fichiers renommés",
    "originalName": "Nom original",
    "newName": "Nouveau nom",
    "date": "Date",
    "noHistory": "Aucun historique de renommage",
    "noSearchResults": "Aucun résultat trouvé",
    "exported": "Historique exporté",
    "exportedDesc": "{{count}} entrées exportées",
    "deleted": "Entrées supprimées",
    "deletedDesc": "{{count}} entrées supprimées",
    "deleteConfirm": "Supprimer les entrées sélectionnées ?",
    "deleteConfirmDesc": "Cela supprimera définitivement {{count}} entrées.",
    "fetchError": "Échec du chargement de l'historique",
    "deleteError": "Échec de la suppression",
    "loginRequired": "Connexion requise",
    "loginRequiredDesc": "Connectez-vous pour voir votre historique",
    "deleteAria": "Supprimer les entrées sélectionnées",
    "exportAria": "Exporter l’historique (JSON)",
    "selectAllAria": "Sélectionner toutes les entrées",
    "selectEntryAria": "Sélectionner {{name}}",
    "undo": {
      "action": "Annuler ce lot",
      "batchLabel": "Renommé à {{time}} — fichiers : {{count}}",
      "doneDesc": "Noms d’origine restaurés : {{count}}.",
      "doneTitle": "Lot annulé",
      "partialDesc": "Restaurés : {{restored}} · non restaurés : {{failed}} ({{reason}})",
      "partialTitle": "Annulation incomplète"
    },
    "deleteAll": "Tout supprimer",
    "deleteAllConfirm": "Supprimer tout ton historique ?",
    "deleteAllConfirmDesc": "Toutes les entrées de ton historique de renommage seront définitivement supprimées de ton compte, y compris celles qui ne s’affichent pas dans cette liste. Tes fichiers ne sont pas modifiés. Cette action est irréversible.",
    "deleteAllAction": "Supprimer tout l’historique",
    "deletedAll": "Historique supprimé",
    "deletedAllDesc": "Entrées supprimées : {{count}}.",
    "exportError": "Impossible d’exporter ton historique. Réessaie.",
    "limitNote": "Affichage de tes {{limit}} renommages les plus récents. L’export (bouton de téléchargement) contient tout ton historique."
  },
  "verify": {
    "title": "Vérification de fichiers",
    "subtitle": "Calculer et vérifier les sommes de contrôle",
    "noFiles": "Aucun fichier sélectionné",
    "noFilesDesc": "Sélectionnez des fichiers pour calculer les hash",
    "compareWith": "Comparer avec",
    "pasteHash": "Collez un hash pour vérifier...",
    "computing": "Calcul des hash",
    "complete": "Hash calculés",
    "completeDesc": "Hash calculés pour {{count}} fichiers",
    "copied": "Hash copié",
    "match": "Correspond",
    "mismatch": "Ne correspond pas",
    "computed": "calculés",
    "export": "Exporter",
    "compute": "Calculer",
    "selectFiles": "Fichiers",
    "selectFolder": "Dossier",
    "computeError": "Échec du calcul du hash",
    "copyAria": "Copier l’empreinte de {{name}}"
  },
  "episodes": {
    "searchPlaceholder": "Rechercher une série TV...",
    "searchToStart": "Recherchez une série pour commencer",
    "selectSeries": "Sélectionnez une série pour voir les épisodes",
    "selectSeriesFirst": "Sélectionnez une série dans le panneau de gauche",
    "season": "Saison",
    "episode": "Épisode",
    "episodesCount": "{{count}} épisodes",
    "noEpisodes": "Aucun épisode trouvé pour cette saison",
    "searchError": "Échec de la recherche",
    "loadError": "Échec du chargement des épisodes",
    "detailsTitle": "Détails de l’épisode",
    "selectEpisode": "Sélectionnez un épisode pour voir les détails",
    "overview": "Résumé",
    "noOverview": "Aucune description disponible.",
    "airDate": "Date de diffusion",
    "rating": "Note",
    "votes": "votes",
    "runtime": "Durée",
    "guestStars": "Invités",
    "crew": "Équipe",
    "sourceFallbackTitle": "Source",
    "sourceFallbackDesc": "Les listes d’épisodes sont actuellement chargées depuis TMDB."
  },
  "subtitles": {
    "title": "Recherche de sous-titres",
    "subtitle": "Trouvez et téléchargez des sous-titres pour vos vidéos",
    "searchPlaceholder": "Rechercher des sous-titres...",
    "noFiles": "Aucun fichier vidéo sélectionné",
    "noFilesDesc": "Sélectionnez des fichiers vidéo pour trouver les sous-titres",
    "noVideoFiles": "Aucun fichier vidéo détecté",
    "computing": "Calcul du hash...",
    "searching": "Recherche des sous-titres...",
    "found": "{{count}} sous-titres trouvés",
    "noResults": "Aucun sous-titre trouvé",
    "trySearch": "Essayez de cliquer sur Rechercher ou affinez votre requête",
    "downloadSelected": "Télécharger la sélection",
    "downloaded": "Sous-titre téléchargé",
    "downloadError": "Échec du téléchargement",
    "searchError": "Échec de la recherche",
    "selectFirst": "Sélectionnez au moins un sous-titre",
    "language": "Langue",
    "format": "Format",
    "downloads": "Téléchargements",
    "rating": "Note",
    "selectLanguages": "Choisir les langues",
    "allLanguages": "Toutes les langues",
    "hashComputed": "Hash calculé",
    "selectFile": "Sélectionnez un fichier pour rechercher",
    "selectFiles": "Sélectionner des fichiers",
    "selectedCount": "{{count}} sélectionnés",
    "enterQuery": "Veuillez entrer un terme de recherche",
    "selectFileOrSearch": "Déposez une vidéo ou recherchez par titre",
    "selectFileOrSearchDesc": "Déposez un fichier vidéo pour une correspondance automatique, ou tapez un titre pour chercher manuellement",
    "autoSearching": "Recherche des sous-titres correspondants...",
    "monthlyRemaining": "ce mois",
    "limitReached": "Limite atteinte. Il vous reste {{remaining}} téléchargement(s) ce mois.",
    "hashError": "Erreur de hash",
    "removeFileAria": "Retirer {{name}}"
  },
  "feedback": {
    "title": "Nous contacter",
    "subjectPlaceholder": "Sujet",
    "messagePlaceholder": "Décrivez votre demande...",
    "send": "Envoyer",
    "sent": "Message envoyé ! Nous vous répondrons bientôt.",
    "error": "Erreur lors de l'envoi. Réessayez.",
    "fillFields": "Veuillez remplir tous les champs",
    "types": {
      "feature": "Demande de fonctionnalité",
      "bug": "Rapport de bug",
      "support": "Assistance",
      "other": "Autre"
    },
    "rateLimited": "Trop de messages envoyés. Réessayez un peu plus tard."
  },
  "install": {
    "mobile": "Installer RenameFlow",
    "desktop": "Ajouter au bureau",
    "description": "Accès rapide sans ouvrir le navigateur",
    "button": "Installer",
    "later": "Plus tard",
    "iosTitle": "Installer sur iOS",
    "iosStep1": "Appuyez sur le bouton Partager",
    "iosStep2": "Faites défiler et appuyez sur \"Sur l'écran d'accueil\"",
    "iosStep3": "Appuyez sur \"Ajouter\" pour confirmer"
  },
  "consent": {
    "title": "Cookies et confidentialité",
    "description": "Avec ton accord, nous utilisons des cookies pour mesurer l'audience du site (Google Analytics) et enregistrer des sessions de navigation (Microsoft Clarity) afin d'améliorer RenameFlow. « Tout accepter » nous permet en plus de mesurer nos campagnes publicitaires Google. Tu peux aussi n'accepter que les analytics, ou refuser tous les cookies non essentiels.",
    "acceptAll": "Tout accepter",
    "analyticsOnly": "Analytics uniquement",
    "reject": "Tout refuser",
    "learnMore": "En savoir plus"
  },
  "cookies": {
    "seoTitle": "Politique de cookies — RenameFlow",
    "seoDescription": "Découvrez les cookies que nous utilisons, pourquoi nous les utilisons et comment gérer vos préférences.",
    "title": "Politique de cookies",
    "intro": "Cette page explique ce que sont les cookies, comment nous les utilisons et comment vous pouvez contrôler vos préférences.",
    "whatAre": {
      "title": "Qu'est-ce qu'un cookie ?",
      "description": "Les cookies sont de petits fichiers texte placés sur votre ordinateur ou appareil mobile lorsque vous visitez un site web. Ils sont largement utilisés pour faire fonctionner les sites web plus efficacement et fournir des informations aux propriétaires du site.",
      "storage": "Nous utilisons aussi des technologies similaires, comme le stockage local de votre navigateur (localStorage, sessionStorage et IndexedDB), soumises aux mêmes règles. Dans cette politique, le terme « cookies » désigne l'ensemble de ces technologies."
    },
    "typesTitle": "Types de cookies que nous utilisons",
    "types": {
      "essential": {
        "title": "Cookies essentiels",
        "description": "Indispensables au fonctionnement du site : vous garder connecté, mémoriser vos choix en matière de cookies, votre langue et vos préférences d'affichage, activer un achat et mémoriser les dossiers que vous autorisez l'application à ouvrir. Ils sont dispensés de consentement, ne peuvent pas être désactivés et ne servent jamais à vous suivre."
      },
      "analytics": {
        "title": "Cookies d'analyse",
        "description": "Déposés uniquement si vous les acceptez. Ils nous permettent de mesurer l'audience du site (Google Analytics 4), de comprendre les problèmes d'ergonomie grâce à des cartes de chaleur et des enregistrements de sessions (Microsoft Clarity) et, si vous créez un compte, d'enregistrer comment vous nous avez connus (lien de campagne ou site d'origine)."
      },
      "advertising": {
        "title": "Cookies publicitaires",
        "description": "Déposés uniquement si vous choisissez « Tout accepter ». Ils permettent à Google de mesurer l'efficacité de nos campagnes publicitaires, par exemple si une visite faisant suite à une annonce a abouti à une inscription. Ils ne servent jamais à personnaliser des publicités, et RenameFlow n'affiche aucune publicité."
      }
    },
    "optional": "Optionnel",
    "required": "Requis",
    "ga": {
      "title": "Google Analytics",
      "description": "Nous utilisons Google Analytics pour comprendre comment les visiteurs interagissent avec notre site. Cela nous aide à améliorer notre service et l'expérience utilisateur. Google Analytics utilise des cookies pour collecter des informations sur votre visite, notamment les pages consultées, le temps passé sur le site et comment vous êtes arrivé ici.",
      "consentMode": "Nous utilisons le mode Consentement v2 de Google (Consent Mode v2). Tant que vous n'avez pas accepté la mesure d'audience, le consentement est « refusé » par défaut : Google Analytics ne dépose ni ne lit aucun cookie et peut tout au plus recevoir des signaux techniques sans cookie (comme la page consultée et l'état du consentement), que Google utilise pour une modélisation statistique agrégée.",
      "loadedAfterConsent": "La balise Google (gtag.js) n'est chargée qu'après votre acceptation de la mesure d'audience : avant votre choix, ou si vous refusez, aucune requête n'est envoyée à Google Analytics et aucun cookie Google Analytics n'est déposé. Une fois chargée, elle applique exactement votre choix grâce au mode Consentement v2 de Google (Consent Mode v2) : par exemple, les cookies publicitaires restent désactivés si vous n'acceptez que la mesure d'audience."
    },
    "manage": {
      "title": "Gérer vos préférences",
      "description": "Vous pouvez modifier vos préférences de cookies à tout moment en cliquant sur le bouton ci-dessous. Cela réinitialisera votre consentement et affichera à nouveau la bannière de cookies.",
      "button": "Réinitialiser les préférences",
      "note": "Le retrait de votre consentement met fin à toute nouvelle collecte. Les cookies déjà déposés peuvent être supprimés depuis les paramètres de votre navigateur."
    },
    "browser": {
      "title": "Paramètres du navigateur",
      "description": "Vous pouvez également contrôler les cookies via les paramètres de votre navigateur. La plupart des navigateurs vous permettent de refuser les cookies ou de supprimer les cookies déjà définis. Veuillez noter que la désactivation des cookies peut affecter le fonctionnement de ce site et d'autres sites que vous visitez."
    },
    "contact": {
      "title": "Des questions ?",
      "description": "Si vous avez des questions sur notre utilisation des cookies, veuillez nous contacter à"
    },
    "lastUpdated": "Dernière mise à jour : janvier 2026",
    "clarity": {
      "description": "Nous utilisons aussi Microsoft Clarity pour produire des cartes de chaleur et des enregistrements de sessions qui nous aident à comprendre les problèmes d'ergonomie et à corriger les bugs. Clarity n'est chargé qu'après votre acceptation de la mesure d'audience : si vous refusez, ou n'acceptez que les cookies essentiels, Clarity ne s'exécute jamais et aucun cookie Clarity n'est déposé. Clarity masque le contenu des champs de formulaire ; lorsque vous êtes connecté, il peut recevoir l'identifiant interne de votre compte, mais jamais votre adresse e-mail."
    },
    "consentRules": {
      "p1": "Conformément à l'article 82 de la loi Informatique et Libertés et aux lignes directrices de la CNIL, les cookies strictement nécessaires au Service ou que vous demandez expressément sont dispensés de consentement. Tous les autres cookies (mesure d'audience, enregistrement de sessions, publicité) ne sont déposés que si vous les acceptez via le bandeau affiché lors de votre première visite.",
      "p2": "Refuser est aussi simple qu'accepter, et votre choix est sans effet sur votre accès au Service. Vous pouvez changer d'avis à tout moment grâce au bouton en bas de cette page.",
      "title": "Votre consentement"
    },
    "duration": {
      "clarity": "_clck : 1 an ; _clsk : 1 jour",
      "consentMonths": "{{months}} mois, ou jusqu'à ce que vous modifiiez votre choix",
      "days90": "90 jours",
      "minutes30": "30 minutes",
      "months": "{{months}} mois",
      "persistent": "Jusqu'à ce que vous effaciez les données de votre navigateur",
      "session": "Jusqu'à la fermeture de l'onglet",
      "untilActivated": "Jusqu'à l'activation de l'achat",
      "untilChange": "Jusqu'à ce que vous modifiiez votre choix ou que cette politique évolue",
      "untilLogout": "Jusqu'à la déconnexion",
      "upTo13Months": "Jusqu'à 13 mois"
    },
    "list": {
      "banners": "Mémorise que vous avez fermé un bandeau d'information.",
      "checkout": "Active un achat effectué avant votre connexion.",
      "chunkReload": "Après une mise à jour de l'application, permet à la page de se recharger d'elle-même pour charger la nouvelle version, au plus une fois par minute.",
      "clarity": "Microsoft Clarity : relie les pages d'une visite et les visites successives pour les cartes de chaleur et les enregistrements de sessions.",
      "clarityThirdParty": "Microsoft Clarity (domaines Microsoft) : reconnaît votre navigateur sur les sites qui utilisent Clarity.",
      "consent": "Enregistre vos choix en matière de cookies.",
      "duration": "Durée",
      "firstTouch": "Mémorise comment vous êtes arrivé sur le site (paramètres de campagne du lien suivi, site d'origine), afin de l'enregistrer avec votre compte si vous vous inscrivez.",
      "folders": "Mémorise les dossiers que vous avez autorisé l'application à ouvrir, pour vous permettre de les rouvrir. Ne quitte jamais votre appareil.",
      "ga": "Google Analytics 4 : distingue les visiteurs et les visites afin de produire des statistiques d'audience.",
      "gclau": "Google : associe une visite à une campagne publicitaire pour en mesurer l'efficacité.",
      "googleDomains": "Déposés par Google sur ses propres domaines, selon sa propre politique, si vous avez accepté tous les cookies.",
      "googleDomainsNames": "Cookies Google (par ex. IDE, NID)",
      "installPrompt": "Détermine quand vous proposer d'installer l'application : nombre de fois où vous l'avez utilisée et date à laquelle vous avez fermé cette suggestion.",
      "language": "Cookie qui mémorise la langue que vous avez choisie, afin que les pages s'affichent directement dans cette langue.",
      "name": "Nom",
      "preferences": "Mémorise votre langue et le thème d'affichage.",
      "productHunt": "Déposé par Cloudflare pour Product Hunt lorsque votre navigateur charge le badge Product Hunt affiché en bas des pages : protection contre les robots, selon la politique de Product Hunt.",
      "progress": "Mémorise votre progression de prise en main et les messages déjà affichés.",
      "purpose": "Finalité",
      "session": "Vous garde connecté (session Supabase).",
      "signupPending": "Mémorise que le formulaire d'inscription a été envoyé depuis ce navigateur, afin de finaliser correctement votre inscription une fois votre adresse e-mail confirmée.",
      "thirdPartyTitle": "Contenus tiers",
      "title": "Liste détaillée",
      "welcomeOnce": "Garantit que l'e-mail de bienvenue n'est demandé qu'une seule fois depuis ce navigateur. Son nom contient votre identifiant interne de compte ; il ne contient aucune autre donnée personnelle.",
      "analyticsOnce": "Enregistrés uniquement si vous acceptez la mesure d'audience : garantissent qu'une inscription finalisée, un achat ou une étape de prise en main n'est compté qu'une seule fois depuis ce navigateur. Ils ne contiennent aucune donnée personnelle, hormis, dans certains noms, votre identifiant interne de compte."
    }
  },
  "faqPage": {
    "seoTitle": "FAQ — RenameFlow",
    "seoDescription": "Questions fréquentes sur RenameFlow : sécurité, compatibilité, prix, formats supportés et plus.",
    "title": "Questions fréquentes",
    "subtitle": "Tout ce que vous devez savoir sur RenameFlow",
    "cta": "Essayer RenameFlow gratuitement",
    "moreQuestions": "Encore des questions ?",
    "q1": {
      "q": "RenameFlow est-il sûr ? Mes fichiers sont-ils uploadés ?",
      "a": "Oui, totalement. RenameFlow utilise l'API File System Access pour renommer vos fichiers directement sur votre ordinateur. Vos fichiers ne quittent jamais votre appareil."
    },
    "q2": {
      "q": "Quels navigateurs sont compatibles ?",
      "a": "RenameFlow fonctionne sur Google Chrome et Microsoft Edge (desktop). Firefox et Safari ne supportent pas encore l'API File System Access."
    },
    "q3": {
      "q": "RenameFlow est-il gratuit ?",
      "a": "Oui ! Le plan gratuit permet de renommer jusqu'à 15 fichiers par jour. Pour un usage illimité, les téléchargements de sous-titres et les modèles personnalisés, Pro coûte 6,99 € par an ou 2,99 € par mois, ou 49 € en une fois pour un accès à vie."
    },
    "q4": {
      "q": "Quels types de médias sont supportés ?",
      "a": "Films, séries TV, anime et musique. Nous recherchons sur TMDB, TheTVDB et MusicBrainz pour trouver les métadonnées exactes."
    },
    "q5": {
      "q": "Quelle est la différence avec FileBot ?",
      "a": "RenameFlow est 100% web — aucune installation requise. Il fonctionne dans votre navigateur et ne télécharge jamais vos fichiers. FileBot est une application desktop payante."
    },
    "q6": {
      "q": "Puis-je personnaliser le format de nommage ?",
      "a": "Oui ! Les utilisateurs Pro peuvent créer des patterns personnalisés avec des variables comme {title}, {year}, {season}, {episode}, {quality} et plus."
    },
    "q7": {
      "q": "RenameFlow fonctionne-t-il avec Plex, Kodi et Jellyfin ?",
      "a": "Absolument. RenameFlow suit les conventions de nommage standard attendues par Plex, Kodi, Jellyfin et Emby."
    },
    "q8": {
      "q": "Peut-on renommer les sous-titres aussi ?",
      "a": "Oui ! RenameFlow peut matcher et renommer les fichiers de sous-titres (.srt, .ass, .sub). Les utilisateurs Pro peuvent aussi rechercher et télécharger des sous-titres."
    },
    "q9": {
      "q": "Y a-t-il une limite de fichiers ?",
      "a": "Les utilisateurs gratuits peuvent renommer 15 fichiers/jour. Les utilisateurs Pro ont un renommage illimité."
    },
    "q10": {
      "q": "Ça fonctionne sur Mac/Linux ?",
      "a": "Oui ! Comme RenameFlow fonctionne dans le navigateur, il marche sur Windows, macOS et Linux avec Chrome ou Edge."
    },
    "q11": {
      "q": "Peut-on annuler un renommage ?",
      "a": "Oui. Juste après un lot, cliquez sur « Annuler » dans la notification (pendant 60 secondes), ou utilisez « Annuler ce lot » dans l’Historique tant que l’onglet reste ouvert : vos fichiers retrouvent leur nom d’origine. RenameFlow garde aussi l’historique de chaque renommage, pour retrouver les noms d’origine à tout moment."
    },
    "q12": {
      "q": "Comment fonctionne le renommage par lot ?",
      "a": "Sélectionnez un dossier avec vos fichiers médias, RenameFlow les analyse tous en une fois, détecte la série/le film, et vous prévisualise les changements avant de les appliquer."
    }
  },
  "howTo": {
    "seoTitle": "Comment renommer ses fichiers médias — RenameFlow",
    "seoDescription": "Guide étape par étape pour renommer automatiquement vos films, séries, anime et musique avec RenameFlow.",
    "title": "Comment renommer vos fichiers médias",
    "intro": "Renommez vos films, séries, anime et musique en 4 étapes simples. Aucun logiciel à installer — tout fonctionne dans votre navigateur.",
    "step1": {
      "title": "Sélectionnez vos fichiers",
      "desc": "Cliquez sur le bouton dossier pour ouvrir votre dossier de médias. RenameFlow lit vos fichiers directement depuis votre ordinateur.",
      "detail": "Vos fichiers ne quittent jamais votre appareil. Nous utilisons l'API File System Access du navigateur."
    },
    "step2": {
      "title": "Détection automatique",
      "desc": "RenameFlow analyse les noms de fichiers et détecte le type de média : film, série, anime ou musique.",
      "detail": "Le parser extrait titre, année, saison, épisode, qualité et codec même des noms les plus complexes."
    },
    "step3": {
      "title": "Correspondance avec les bases de données",
      "desc": "Nous recherchons sur TMDB, TheTVDB et MusicBrainz pour trouver la correspondance exacte.",
      "detail": "Vous pouvez vérifier chaque correspondance et choisir la bonne si plusieurs résultats sont trouvés."
    },
    "step4": {
      "title": "Prévisualiser et renommer",
      "desc": "Vérifiez les nouveaux noms dans le panneau de prévisualisation, puis cliquez sur Renommer.",
      "detail": "Les changements sont appliqués directement sur votre système de fichiers."
    },
    "examplesTitle": "Exemples avant / après",
    "formatsTitle": "Formats supportés",
    "formatsDesc": "RenameFlow fonctionne avec tous les formats de fichiers médias courants :",
    "whyTitle": "Pourquoi choisir RenameFlow ?",
    "why1": "100% dans le navigateur — aucun logiciel à installer",
    "why2": "Vos fichiers ne quittent jamais votre ordinateur",
    "why3": "Compatible avec les conventions Plex, Kodi, Jellyfin et Emby",
    "why4": "Gratuit avec 15 fichiers/jour — passez en Pro à tout moment",
    "relatedTitle": "Guides associés",
    "relatedFilebot": "RenameFlow vs FileBot — Comparaison détaillée",
    "relatedPlex": "Guide de nommage Plex & Kodi",
    "relatedFaq": "Questions fréquentes",
    "cta": "Essayer RenameFlow gratuitement",
    "ctaAlternatives": "Comparer les alternatives"
  },
  "alt": {
    "seoTitle": "Meilleures alternatives FileBot 2026 — Outils gratuits",
    "seoDescription": "Comparez les meilleures alternatives à FileBot pour renommer films, séries et anime. Options gratuites et payantes.",
    "title": "Meilleures alternatives à FileBot en 2026",
    "intro": "Vous cherchez une alternative gratuite ou meilleure à FileBot ? Nous comparons les 5 meilleurs outils de renommage de fichiers médias.",
    "table": {
      "feature": "Fonctionnalité",
      "price": "Prix",
      "free15": "Gratuit (15/jour)",
      "free": "Gratuit",
      "webBased": "Web (sans installation)",
      "noInstall": "Aucune installation",
      "tmdb": "Intégration TMDB",
      "tvdb": "Intégration TheTVDB",
      "anime": "Support anime",
      "music": "Métadonnées musique",
      "subtitles": "Gestion sous-titres",
      "customPatterns": "Patterns personnalisés",
      "batchRename": "Renommage par lot",
      "privacy": "100% local / privé",
      "crossPlatform": "Plateforme",
      "openSource": "Open source"
    },
    "detailsTitle": "Comparatif détaillé",
    "details": {
      "renameflow": "RenameFlow est le seul outil de renommage média 100% web. Il fonctionne dans votre navigateur sans installation. Vos fichiers ne quittent jamais votre ordinateur. Plan gratuit : 15 fichiers/jour ; accès illimité à 6,99 €/an, 2,99 €/mois ou 49 € une fois pour un accès à vie.",
      "filebot": "FileBot est l'outil de renommage desktop le plus établi. Il supporte films, séries, anime et musique avec des capacités de scripting puissantes. Cependant, il nécessite une installation et coûte 6$/an ou 48$ à vie.",
      "tmm": "Tiny Media Manager est un gestionnaire de médias gratuit et open source. Il est riche en fonctionnalités mais a une courbe d'apprentissage plus raide et un support anime limité.",
      "renamemaster": "Rename Master est un outil gratuit Windows pour le renommage par lot. Simple mais sans intégration de bases de données média.",
      "bru": "Bulk Rename Utility est un outil gratuit Windows puissant avec regex et règles. Très flexible mais pas spécialisé pour les fichiers médias."
    },
    "verdictTitle": "Notre verdict",
    "verdictDesc": "Si vous voulez la façon la plus rapide et simple de renommer vos fichiers médias sans rien installer, RenameFlow est votre meilleur choix. Pour les utilisateurs avancés qui préfèrent un logiciel desktop avec scripting, FileBot reste solide. Pour une alternative gratuite open source, Tiny Media Manager vaut le détour.",
    "relatedTitle": "Articles associés",
    "relatedFilebot": "RenameFlow vs FileBot — Comparaison directe",
    "relatedHowTo": "Comment renommer vos fichiers médias",
    "relatedPlex": "Guide de nommage Plex, Kodi & Jellyfin",
    "cta": "Essayer RenameFlow gratuitement"
  },
  "activation": {
    "title": "Premiers pas",
    "shareText": "Je viens de découvrir RenameFlow pour organiser ma médiathèque !",
    "steps": {
      "account": "Compte créé",
      "load": "Charger des fichiers (ou essayer la démo)",
      "match": "Identifier avec la base en ligne",
      "rename": "Renommer le 1er fichier"
    },
    "celebrate": {
      "title": "Vous êtes prêt !",
      "description": "Vous maîtrisez RenameFlow. Aidez d'autres à le découvrir !",
      "share": "Partager RenameFlow",
      "close": "Fermer"
    },
    "collapse": "Masquer les étapes",
    "dismiss": "Fermer la liste",
    "expand": "Afficher les étapes"
  },
  "paywall": {
    "soft": {
      "title": "Vous aimez RenameFlow ?",
      "description": "Vous avez déjà renommé plusieurs fichiers. Passez Premium pour des renommages illimités et des fonctions avancées.",
      "benefit1": "Renommages illimités — fini la limite de 15 fichiers",
      "benefit2": "Téléchargement de sous-titres prioritaire et matching plus rapide",
      "benefit3": "Offre à vie disponible — un seul paiement, à vie",
      "cta": "Voir les offres",
      "later": "Plus tard"
    },
    "comparePlans": "Comparer toutes les offres",
    "countdown": {
      "hoursMinutes": "{{h}} h {{m}} min",
      "minutes": "{{m}} min"
    },
    "cta": {
      "continue": "Continuer vers le paiement sécurisé"
    },
    "limit": {
      "description": "Passez à Premium pour continuer à renommer dès maintenant, sans limite quotidienne.",
      "partial": "{{renamed}} fichiers renommés, {{pending}} en attente. Passez à Premium pour tous les renommer maintenant.",
      "resetIn": "Vos renommages gratuits reviennent dans {{duration}} (à {{time}}).",
      "title": "Vous avez utilisé vos {{limit}} renommages gratuits du jour"
    },
    "plans": {
      "cancelAnytime": "Résiliable à tout moment",
      "label": "Choisissez une offre",
      "payOnce": "Un seul paiement, à vous pour toujours",
      "perMonth": "≈ {{price}} / mois"
    },
    "subtitles": {
      "description": "Premium inclut les téléchargements de sous-titres illimités.",
      "resetOn": "Vos sous-titres gratuits reviennent le {{date}}.",
      "title": "Vous avez utilisé vos {{limit}} sous-titres gratuits du mois"
    },
    "trust": "Paiement sécurisé par Stripe · Abonnements résiliables à tout moment",
    "upgrade": {
      "description": "Renommages illimités, toutes les sources de métadonnées et sous-titres illimités.",
      "title": "Passez à Premium"
    }
  },
  "compat": {
    "table": {
      "browser": "Navigateur",
      "support": "Compatible",
      "mobile": "Mobile (iOS / Android)",
      "notSupported": "Non compatible",
      "supported": "Compatible",
      "brave": "Brave (après activation d'un réglage)",
      "braveHint": "Active {{flag}}, puis relance Brave."
    },
    "banner": {
      "mobileTitle": "Navigateur de bureau requis",
      "mobileDesc": "RenameFlow a besoin d'accéder aux fichiers locaux — ouvre cette page sur un ordinateur avec Chrome ou Edge.",
      "firefoxTitle": "Firefox n'est pas supporté",
      "firefoxDesc": "Utilise Chrome, Edge ou Opera pour renommer tes fichiers (Brave fonctionne après avoir activé un réglage).",
      "safariTitle": "Safari n'est pas supporté",
      "safariDesc": "Apple Safari ne permet pas de renommer les fichiers locaux. Passe sur Chrome ou Edge.",
      "unknownTitle": "Navigateur non supporté",
      "unknownDesc": "Ton navigateur ne supporte pas l'API File System Access. Utilise Chrome ou Edge.",
      "copyLink": "Copier le lien",
      "linkCopied": "Lien copié !",
      "braveDesc": "Brave désactive l'accès aux fichiers locaux par défaut. Active brave://flags/#file-system-access-api, relance Brave, et c'est bon.",
      "braveTitle": "Brave : un réglage à activer"
    },
    "pricing": {
      "requiresChrome": "Nécessite Chrome ou Edge",
      "disabledHint": "Ouvre cette page dans Chrome ou Edge pour souscrire"
    },
    "fallback": {
      "downloadChrome": "Télécharger Chrome",
      "downloadEdge": "Télécharger Edge"
    }
  },
  "pillar": {
    "plex": {
      "seoTitle": "Guide nommage Plex 2026 : films, séries, anime | RenameFlow",
      "seoDescription": "Maîtrise la convention de nommage Plex pour tes films, séries, anime et musique. Exemples, dépannage et méthode la plus rapide pour renommer.",
      "keywords": "convention nommage plex, renommer fichiers plex, nommage films plex, nommage séries plex, nommage anime plex, bibliothèque plex, scanner plex, agent plex",
      "h1": "Guide de nommage Plex : films, séries, anime et musique (2026)",
      "readingTime": "~12 min de lecture",
      "trust": {
        "updated": "À jour pour Plex 2026",
        "crossRef": "Documentation Plex officielle recoupée",
        "builtBy": "Conçu par des obsédés des bibliothèques médias"
      },
      "intro": {
        "lead": "Plex n'est jamais plus intelligent que tes noms de fichiers. Soigne le nommage et le scanner trouve les posters, résumés et génériques en quelques secondes. Rate-le et tu fixes des avertissements « unmatched » pendant des heures.",
        "problem": "Ce guide est la référence pratique et sans bla-bla qu'on aurait aimé avoir à nos débuts sur Plex. Il couvre tous les types de médias gérés par les agents Plex — films, séries, anime, musique — avec les patterns exacts attendus par le scanner, les cas tordus qui font trébucher tout le monde (versions 4K, saisons d'anime, daily shows datés, musique avec Various Artists), et les étapes de dépannage quand rien ne match. Les exemples sont basés sur la doc officielle Plex et vérifiés sur de vraies bibliothèques.",
        "promise": "À la fin, soit tu sauras exactement comment renommer chaque fichier de ta library à la main — soit tu auras évité l'exercice entièrement avec un outil qui le fait en 60 secondes.",
        "heroCta": "Ou évite le manuel : renomme ta bibliothèque en 60 s avec RenameFlow"
      },
      "toc": {
        "fundamentals": "Fondamentaux",
        "movies": "Films",
        "tvShows": "Séries TV",
        "anime": "Anime",
        "music": "Musique",
        "troubleshooting": "Dépannage",
        "faster": "Méthode rapide",
        "faq": "FAQ"
      },
      "fundamentals": {
        "h2": "Les fondamentaux du nommage Plex",
        "intro": "Avant de plonger dans les patterns par type de média, comprends comment le scanner Plex raisonne. Deux choses déterminent si un fichier va matcher : le dossier dans lequel il vit, et le nom du fichier lui-même. Les deux comptent, et Plex utilise parfois l'un pour combler les manques de l'autre.",
        "folderVsFileTitle": "Structure de dossiers vs nom de fichier",
        "folderVsFile": "La structure de dossiers indique à Plex ce qu'est un fichier — un film, un épisode TV, un album. Le nom de fichier précise ensuite lequel. Les films sont matchés principalement sur le nom de fichier (avec l'année comme signal le plus fort). Les épisodes TV sont matchés sur le dossier de saison + le token sXXeYY dans le nom de fichier. La musique se match sur une combinaison des tags ID3 et de la hiérarchie de dossiers Artiste/Album/Piste.\n\nUn fichier parfaitement nommé dans le mauvais dossier va échouer. Un nom de fichier chaotique dans un dossier parfait aussi. Combine les deux correctement et Plex matche avec certitude en moins d'une seconde par fichier.",
        "scannerModelTitle": "Comment le scanner Plex raisonne",
        "scannerModel": "Le pipeline du scanner Plex tourne en trois étapes. D'abord, il regroupe les fichiers en « items » en se basant sur ta structure de dossiers et ton nommage. Ensuite, il interroge l'agent configuré (TMDB pour les films, TVDB ou TMDB pour les séries, plus l'agent musique pour les pistes) pour récupérer les métadonnées. Enfin, il stocke la correspondance et télécharge les artworks.\n\nChaque étape a ses propres modes de défaillance. Mauvaise structure de dossiers → échec du regroupement (une série devient 12 séries, ou deux films fusionnent en un seul). Mauvais nom de fichier → la requête à l'agent renvoie le mauvais titre ou aucun match. Des artworks manquants malgré un match propre indiquent en général que l'agent a réussi mais que le CDN d'artwork était lent — relance « Refresh Metadata ».",
        "fourRulesTitle": "Les quatre règles qui évitent 95 % des problèmes",
        "fourRulesIntro": "Quatre règles évitent 95 % des problèmes de matching Plex. Applique-les partout et tu ne reverras quasiment plus jamais « unmatched ».",
        "rules": [
          {
            "title": "Mets toujours l'année de sortie pour les films",
            "description": "Deux films partagent un titre étonnamment souvent (pense à Casino Royale 1967 vs 2006). L'année est le moyen le moins coûteux de désambiguïser.",
            "bad": "Casino Royale.mkv",
            "good": "Casino Royale (2006).mkv"
          },
          {
            "title": "Utilise toujours le format sXXeYY pour les séries",
            "description": "Deux chiffres, complétés par un zéro, en minuscules. La regex de Plex est tolérante, mais des patterns prévisibles réduisent les cas limites.",
            "bad": "Breaking Bad Ep 1.mkv",
            "good": "Breaking Bad - s01e01.mkv"
          },
          {
            "title": "Un seul film ou une seule série par dossier",
            "description": "Des sous-dossiers pour les saisons. Ne mélange jamais deux séries dans le même dossier parent.",
            "bad": "TV/All My Shows/...",
            "good": "TV/Breaking Bad (2008)/Season 01/..."
          },
          {
            "title": "Ne te fie jamais au seul nom de fichier pour la musique",
            "description": "Les tags ID3 priment sur tout. Utilise MusicBrainz Picard, Mp3tag ou le mode musique de RenameFlow pour corriger les tags avant de t'occuper des noms de fichiers.",
            "bad": "01.mp3 (aucun tag)",
            "good": "01 - Speak to Me.flac (tags ID3 complets)"
          }
        ],
        "walkthroughLinkText": "tutoriel pas à pas"
      },
      "movies": {
        "h2": "Nommer les films pour Plex",
        "intro": "Les films sont le type de média le plus simple à réussir parce que Plex extrait les métadonnées presque entièrement du nom de fichier et du dossier. Deux layouts valides existent — un dossier par film (recommandé) et tout à plat — plus des extensions pour les multi-versions, les éditions et les bonus.",
        "folderStructureTitle": "Structure de dossiers",
        "folderStructure": "Le layout recommandé par Plex place chaque film dans son propre dossier, nommé d'après le film avec son année de sortie entre parenthèses. Le fichier vidéo à l'intérieur reprend ce même nom. Sous-titres, bandes-annonces et bonus vivent à côté.",
        "folderStructureExample": "Movies/\n├── Blade Runner (1982)/\n│   ├── Blade Runner (1982).mkv\n│   ├── Blade Runner (1982).en.srt\n│   └── trailer.mp4\n├── Blade Runner 2049 (2017)/\n│   └── Blade Runner 2049 (2017).mkv\n└── Dune (1984)/\n    └── Dune (1984).mkv",
        "folderStructureNote": "Le nom du dossier est ce que Plex lit en premier. Le nom de fichier interne sert de repli. Les garder identiques est le pattern le plus propre et celui que la doc Plex recommande explicitement.",
        "yearTitle": "L'année n'est pas négociable",
        "year": "L'année n'est pas négociable. Plex utilise TMDB comme agent film par défaut, et TMDB compte des milliers de titres en doublon distinguables uniquement par l'année. « Dune (1984) » et « Dune (2021) » ne partagent aucune métadonnée ; sans l'année, Plex en choisit un au hasard selon le ranking de popularité TMDB, ce qui n'est presque jamais ce que tu veux.\n\nMets l'année entre parenthèses juste après le titre, avec un seul espace avant la parenthèse ouvrante : « Title (YYYY) ». Pas « Title YYYY », ni « Title [YYYY] », ni « Title.YYYY ». Les parenthèses font partie de la regex de matching de Plex.",
        "multiVersionTitle": "Multi-version (1080p + 4K)",
        "multiVersionIntro": "Plex gère plusieurs versions du même film dans une seule entrée de bibliothèque — pratique pour stocker une copie 1080p et une 4K sans dupliquer les métadonnées. Il existe deux patterns officiels.",
        "multiVersionA": "Pattern A — Suffixe de résolution dans le nom de fichier :",
        "multiVersionAExample": "Avatar (2009)/\n├── Avatar (2009) - 1080p.mkv\n└── Avatar (2009) - 2160p.mkv",
        "multiVersionB": "Pattern B — Sous-dossiers par version (plus propre pour de nombreuses éditions) :",
        "multiVersionBExample": "Avatar (2009)/\n├── 1080p/\n│   └── Avatar (2009).mkv\n└── 2160p/\n    └── Avatar (2009).mkv",
        "multiVersionOutcome": "Plex affiche les deux versions sur une seule fiche film avec un sélecteur de version. Les utilisateurs Plex Pass en Direct Play sur un appareil 4K récupèrent le fichier 4K ; les autres reçoivent le 1080p sans transcodage. C'est la plus grosse amélioration de confort dont la plupart des bibliothèques manquent.",
        "editionsTitle": "Éditions (director's cut, theatrical, extended)",
        "editionsIntro": "Pour les director's cuts, extended cuts, sorties cinéma et autres, Plex 2024+ gère un tag d'édition explicite entre accolades :",
        "editionsExample": "Movies/\n├── Blade Runner (1982)/\n│   ├── Blade Runner (1982) - {edition-Final Cut}.mkv\n│   └── Blade Runner (1982) - {edition-Theatrical}.mkv\n└── Apocalypse Now (1979)/\n    ├── Apocalypse Now (1979) - {edition-Theatrical}.mkv\n    └── Apocalypse Now (1979) - {edition-Redux}.mkv",
        "editionsOutcome": "Ces fichiers apparaissent comme des films séparés dans ta bibliothèque — pas des versions fusionnées comme avec le pattern résolution. Utilise les éditions quand la durée, le contenu ou le récit diffère vraiment ; utilise le multi-version quand c'est le même film à des qualités différentes.",
        "concertsTitle": "Concerts et stand-ups",
        "concerts": "Les films de concert et les stand-ups ont besoin d'une année (même approximative) et vivent dans ta bibliothèque Films, pas dans une bibliothèque séparée. Plex n'a pas de type de média dédié « concerts » et TMDB liste la plupart des concerts sous leur année de sortie. Garde le même pattern « Title (Year).ext ».\n\nPour les stand-ups absents de TMDB, tu devras peut-être verrouiller les métadonnées manuellement après que le scanner a abandonné. Plex Web → menu ⋯ → « Fix Match » → recherche par nom.",
        "mistakesTitle": "Cinq erreurs de nommage de films",
        "mistakes": "Les cinq erreurs qui causent la plupart des échecs de matching de films :\n\n1. Année absente ou mal formatée. « Inception 2010.mkv » sans parenthèses ne marche que par chance.\n2. Caractères spéciaux issus des releases scene laissés en place : « Inception.2010.BluRay.x264-SPARKS.mkv » matche mais c'est moche. Plex le parse ; les humains le lisent mal.\n3. Fichier film à la racine de la bibliothèque au lieu d'un dossier. Marche pour le scan mais casse la détection des sous-titres et bonus.\n4. Versions 1080p et 2160p nommées à l'identique sans suffixe de résolution. Plex en choisit une au hasard.\n5. Tag d'édition avec parenthèses ou crochets au lieu d'accolades. Seul « {edition-X} » est parsé.",
        "examplesTitle": "Exemples concrets",
        "examples": "Movies/\n├── The Matrix (1999)/\n│   └── The Matrix (1999).mkv\n├── Dune (1984)/\n│   └── Dune (1984) - {edition-Theatrical Cut}.mkv\n├── Dune (2021)/\n│   ├── Dune (2021) - 1080p.mkv\n│   └── Dune (2021) - 2160p.mkv\n├── Apocalypse Now (1979)/\n│   ├── Apocalypse Now (1979) - {edition-Theatrical}.mkv\n│   └── Apocalypse Now (1979) - {edition-Redux}.mkv\n└── Lord of the Rings - The Fellowship of the Ring (2001)/\n    ├── Lord of the Rings - The Fellowship of the Ring (2001) - {edition-Theatrical} - 2160p.mkv\n    └── Lord of the Rings - The Fellowship of the Ring (2001) - {edition-Extended} - 2160p.mkv",
        "filebotLinkText": "la méthode FileBot",
        "ctaSoft": "Marre de taper (2021) sur 500 films ? RenameFlow traite un dossier en 60 secondes."
      },
      "tvShows": {
        "h2": "Nommer les séries TV pour Plex",
        "intro": "La TV, c'est là que la plupart des bibliothèques cassent. La hiérarchie de dossiers est obligatoire, le token saison-épisode est rigide, et les cas limites — specials, séries datées, fichiers multi-épisodes, mini-séries — ont chacun leur pattern. Fais-le bien une fois et Plex ne te redemande plus rien.",
        "folderStructureTitle": "Structure de dossiers (obligatoire)",
        "folderStructure": "Le layout requis fait deux niveaux de profondeur : un dossier série, puis un dossier par saison. Plex ne regroupera pas correctement les épisodes si tu mets tout dans un seul dossier.",
        "folderStructureExample": "TV Shows/\n├── Breaking Bad (2008)/\n│   ├── Season 01/\n│   │   ├── Breaking Bad - s01e01 - Pilot.mkv\n│   │   └── Breaking Bad - s01e02 - Cat's in the Bag....mkv\n│   ├── Season 02/\n│   │   └── Breaking Bad - s02e01.mkv\n│   └── Specials/\n│       └── Breaking Bad - s00e01 - Behind the Scenes.mkv\n└── The Wire (2002)/\n    └── Season 01/\n        └── The Wire - s01e01.mkv",
        "folderStructureNote": "Format du dossier série : « Show Title (Year) ». L'année désambiguïse les remakes (pense à « The Office (2001) » UK vs « The Office (2005) » US). Format du dossier saison : « Season XX » avec deux chiffres et zéro de remplissage, ou « Specials » pour la saison 0.",
        "filenameTitle": "Format du nom de fichier : sXXeYY",
        "filenameFormat": "Le token de nom de fichier d'épisode compris par Plex est sXXeYY — « s » et « e » en minuscules, deux chiffres avec zéro de remplissage. Les variantes acceptées par Plex incluent SXXEYY (majuscules), Season XX Episode YY (verbeux) et 1x01 (séparé par un point). Mais mélanger les styles dans la même série perturbe certains scanners. Choisis-en un et tiens-t'y ; sXXeYY en minuscules est le plus sûr.\n\nAjoute le titre de l'épisode après un tiret pour la lisibilité — c'est optionnel pour le matching mais ça se lit mieux dans l'UI Plex quand les métadonnées tardent à charger :",
        "filenameExample": "Breaking Bad - s05e14 - Ozymandias.mkv",
        "filenameNote": "Le titre de l'épisode N'EST PAS utilisé pour le matching. L'agent de métadonnées écrase ce que tu as écrit avec le titre officiel de TVDB ou TMDB.",
        "specialsTitle": "Specials et OVA",
        "specials": "Les specials, OVA, making-of et bonus vont dans un dossier « Specials » (nom littéral) ou « Season 00 ». Plex traite les deux comme la saison zéro. À l'intérieur, nomme-les s00e01, s00e02, etc. L'ordre doit suivre la liste officielle des « specials » sur TVDB.\n\nCertaines séries ont des specials qui passent entre les saisons. Tu peux utiliser l'ordre absolu de diffusion, ou suivre la numérotation des specials de TVDB. L'agent TVDB de Plex utilise la numérotation TVDB par défaut, donc vérifie là en premier pour éviter les mismatchs.",
        "dateBasedTitle": "Daily shows (datés)",
        "dateBasedIntro": "Les daily shows (The Daily Show, talk-shows nocturnes, JT) ne rentrent pas dans le pattern sXXeYY parce que les épisodes n'ont pas de numéros saison/épisode — ils ont des dates. Plex gère un schéma de nommage daté :",
        "dateBasedExample": "The Daily Show (1996)/\n├── Season 28/\n│   ├── The Daily Show - 2024-01-15.mkv\n│   └── The Daily Show - 2024-01-16.mkv",
        "dateBasedNote": "Formate la date en YYYY-MM-DD. Plex s'en sert pour matcher les épisodes contre l'index daté de TVDB. La section de bibliothèque doit avoir l'agent TVDB sélectionné ; l'agent TMDB gère mal les daily shows.",
        "multiEpisodeTitle": "Fichiers multi-épisodes",
        "multiEpisodeIntro": "Pour les double-épisodes ou les season finales qui occupent deux slots d'épisode dans un seul fichier, utilise la syntaxe en plage :",
        "multiEpisodeExample": "Breaking Bad - s05e15-e16 - Granite State + Felina.mkv",
        "multiEpisodeNote": "Plex crée un seul fichier lisible qui mappe vers les deux épisodes dans les métadonnées. Tu peux aussi utiliser s05e15-s05e16 (répétition complète) et Plex accepte les deux, mais la forme en plage est plus propre.",
        "miniSeriesTitle": "Mini-séries",
        "miniSeries": "Les mini-séries en saison unique (Chernobyl, Band of Brothers, The Queen's Gambit) suivent le même pattern que les séries normales, avec « Season 01 » comme seul dossier de saison. Ne sois pas tenté de mettre les épisodes à la racine du dossier série — le scanner Plex attend la couche dossier de saison.",
        "failuresTitle": "Échecs TV courants et corrections",
        "failures": "Les échecs de scanner TV les plus fréquents et leurs causes :\n\n— « Episode unmatched » mais la saison est OK : le token du nom de fichier est malformé. Vérifie que sXXeYY est en minuscules et complété par un zéro.\n\n— Saison entière unmatched : le nom du dossier ne commence pas par « Season ». « S1 » ou « Season1 » ne matche pas. L'espace est obligatoire.\n\n— Mauvaise série matchée : année manquante sur un titre courant. « The Office » matche la version US, plus populaire, peu importe celle que tu as. Ajoute (2001) ou (2005) au dossier série.\n\n— Épisodes regroupés en saison 1 alors qu'ils sont en saison 2 et plus : les fichiers sont à la racine de la série, pas dans des dossiers de saison. Déplace chaque fichier dans « Season XX/ ».\n\n— « Episode title » affiché incorrect : l'agent de métadonnées a écrasé ton nom de fichier. C'est voulu. Si le titre est faux sur TVDB lui-même, corrige-le sur TVDB et relance « Refresh Metadata ». Plex envoie une requête quotidienne de refresh cache, donc les changements se propagent en 24 h.",
        "examplesTitle": "Exemples concrets",
        "examples": "TV Shows/\n├── Breaking Bad (2008)/\n│   ├── Season 01/\n│   │   ├── Breaking Bad - s01e01 - Pilot.mkv\n│   │   └── Breaking Bad - s01e02 - Cat's in the Bag....mkv\n│   ├── Season 05/\n│   │   └── Breaking Bad - s05e15-e16 - Granite State + Felina.mkv\n│   └── Specials/\n│       └── Breaking Bad - s00e01 - No Half Measures.mkv\n├── The Office (2005)/\n│   └── Season 03/\n│       └── The Office - s03e12 - Back from Vacation.mkv\n├── Chernobyl (2019)/\n│   └── Season 01/\n│       └── Chernobyl - s01e01 - 1:23:45.mkv\n└── The Daily Show (1996)/\n    └── Season 29/\n        └── The Daily Show - 2024-03-15.mkv"
      },
      "anime": {
        "h2": "Nommer l'anime pour Plex",
        "intro": "L'anime, c'est là que le scanner Plex par défaut s'écroule et où les threads Reddit se multiplient. Le problème de fond : l'anime est suivi dans trois bases (TMDB, TVDB, AniDB) qui ne sont pas d'accord sur ce qui compte comme une saison, ce qui compte comme une série, et comment numéroter les épisodes. La base interrogée par ton agent Plex conditionne tout le reste. Deux stratégies valides existent ; choisis-en une et tiens-t'y.",
        "challengeTitle": "Le défi de fond",
        "challenge": "Exemple concret : One Piece. AniDB le liste comme une série continue de 1 000+ épisodes en numérotation absolue (épisode 1, 2, 3 … 1064). TVDB le découpe en 21+ « saisons » selon les arcs de production. TMDB fait son propre truc, en miroir partiel de TVDB.\n\nSi ta bibliothèque anime Plex utilise l'agent TMDB (par défaut) et que tes noms de fichiers utilisent la numérotation absolue (« One Piece - 1064.mkv »), rien ne matche parce que TMDB attend saison-et-épisode. Si tes noms de fichiers utilisent le mapping saison/épisode de TVDB (« One Piece - s21e62.mkv ») et que tu changes d'agent, le mapping casse.\n\nDeux stratégies pour t'en sortir, par effort croissant :\n\nStratégie 1 — Utiliser les saisons/épisodes de TVDB partout, accepter que certains numéros d'épisode semblent arbitraires. Coût de mise en place minimal. Fidélité réduite pour les séries en numérotation absolue.\n\nStratégie 2 — Installer le scanner et l'agent HAMA (maintenu par la communauté sur GitHub) qui parle AniDB nativement. Fidélité maximale. Installation manuelle. Recommandé pour les bibliothèques anime sérieuses.",
        "absoluteTitle": "Numérotation absolue avec HAMA",
        "absoluteIntro": "Avec HAMA installé, tu peux nommer les fichiers d'anime avec des numéros d'épisode absolus et HAMA les mappera correctement :",
        "absoluteExample": "Anime/\n├── One Piece [anidb-69]/\n│   ├── Season 01/\n│   │   ├── One Piece - s01e001.mkv\n│   │   ├── One Piece - s01e002.mkv\n│   │   └── ...",
        "absoluteNote": "Le suffixe [anidb-69] est l'indice d'ID explicite de HAMA — il force l'agent à utiliser l'entrée AniDB de One Piece (ID 69 dans leur catalogue) au lieu de deviner à partir du titre. Utilise-le pour toute série au titre ambigu (plusieurs saisons portant le même nom, orthographes alternatives).\n\nPour la numérotation absolue sans HAMA — avec juste l'agent Plex par défaut — nomme les fichiers avec le numéro absolu dans le slot épisode de la saison 1 : « Show - s01e0064.mkv ». Plex les affichera comme épisodes 1 à N de la saison 1, ce qui perd le contexte de saison mais matche au moins.",
        "hamaTitle": "Installation de HAMA en 5 étapes",
        "hama": "Installation de HAMA en cinq étapes :\n\n1. Télécharge HAMA depuis github.com/ZeroQI/Hama.bundle et place-le dans le dossier « Plug-ins » de Plex.\n2. Télécharge Absolute Series Scanner (ASS) depuis github.com/ZeroQI/Absolute-Series-Scanner et place-le dans le dossier « Scanners/Series » de Plex.\n3. Redémarre le serveur Plex.\n4. Crée une nouvelle section de bibliothèque, type « TV Shows », et dans les paramètres avancés règle le scanner sur « Absolute Series Scanner » et l'agent sur « HAMA ».\n5. Pointe la section vers ton dossier anime et lance un scan.\n\nHAMA lit les IDs AniDB, MyAnimeList et TVDB depuis le nom de dossier entre crochets. Tu peux mélanger par série. AniDB est meilleur pour la fidélité de nommage ; TVDB est meilleur pour les séries avec métadonnées de doublage anglais.",
        "splitSeasonsTitle": "Saisons découpées (Attack on Titan)",
        "splitSeasons": "Attack on Titan est le cas d'école du problème de saison découpée. AniDB et TVDB ne sont pas d'accord pour savoir si « Final Season » est la saison 4, la saison 5 ou une série à part. La Final Season a été découpée en trois « parts » traitées différemment selon les bases.\n\nSolution : choisis la base qui correspond à ta façon de voir la série, installe l'agent correspondant si besoin (HAMA pour AniDB, agent par défaut pour TVDB), et tiens-t'y pour tout ton anime. Mélanger les bases dans une seule bibliothèque casse plus de choses que ça n'en répare.\n\nSi tu es team TVDB et que la structure des saisons te semble bizarre, vérifie la section « Aliases » de la série sur TVDB — parfois l'alias maintenu pointe vers la structure que la plupart des spectateurs attendent.",
        "ovaTitle": "OVA et films liés",
        "ova": "Les OVA, films liés à une série et specials vont tous en Season 00 avec une numérotation séquentielle s00e01, s00e02. L'ordre suit la base que tu utilises.\n\nPour les films liés à une série (Demon Slayer: Mugen Train, your name., les multiples films Naruto), il y a un débat permanent : faut-il les ranger dans la bibliothèque TV en tant que specials, ou dans la bibliothèque Films comme films à part entière ? La bibliothèque Films est généralement plus simple — moins de cas limites côté scanner. Le défaut : ils n'apparaissent pas dans la vue de la série parente.",
        "subDubTitle": "Sub vs dub",
        "subDubIntro": "Le nommage sub vs dub ne change pas le matching mais influe sur la piste audio qui passe par défaut. Plex prend la première piste audio sauf si tu as défini une piste par défaut dans le fichier ou dans tes préférences de compte.\n\nSi tu stockes à la fois une version sub-only et une version doublée du même épisode, utilise le nommage multi-version (pattern suffixe de résolution) avec la langue audio en suffixe :",
        "subDubExample": "Show - s01e01 - JPN.mkv\nShow - s01e01 - ENG.mkv",
        "subDubNote": "Ces fichiers sont fusionnés en une seule entrée d'épisode avec un sélecteur de version, exactement comme les versions 1080p/2160p des films.",
        "examplesTitle": "Exemples concrets",
        "examplesA": "Bibliothèque basée sur HAMA :\nAnime/\n├── One Piece [anidb-69]/\n│   ├── Season 01/\n│   │   ├── One Piece - s01e001.mkv\n│   │   └── One Piece - s01e002.mkv\n│   └── Season 00/\n│       └── One Piece - s00e001 - Movie 14: Stampede.mkv\n└── Attack on Titan [anidb-9541]/\n    ├── Season 01/\n    └── Season 02/",
        "examplesB": "Bibliothèque basée sur TVDB (agent par défaut, sans HAMA) :\nAnime/\n├── Demon Slayer (2019)/\n│   ├── Season 01/\n│   │   ├── Demon Slayer - s01e01.mkv\n│   │   └── Demon Slayer - s01e02.mkv\n│   └── Season 02/\n│       └── Demon Slayer - s02e01 - Mugen Train Arc.mkv\n└── Spy x Family (2022)/\n    └── Season 01/\n        └── Spy x Family - s01e01.mkv",
        "kodiJellyfinLinkText": "équivalents Kodi et Jellyfin",
        "ctaSoft": "Marre de taper s01e01 sur 500 épisodes ? RenameFlow le fait en 60 secondes."
      },
      "music": {
        "h2": "Nommer la musique pour Plex et Plexamp",
        "intro": "La musique est le seul type de média où les noms de fichiers passent au second plan. L'agent musique de Plex lit d'abord les tags ID3 et retombe sur la structure de dossiers quand les tags manquent ou sont faux. Les bibliothèques les plus propres font les deux ; les bibliothèques tags-only ou dossiers-only finissent par développer des trous bizarres.",
        "folderStructureTitle": "Structure de dossiers",
        "folderStructureIntro": "La structure recommandée reflète la façon dont la plupart des apps musique raisonnent : artiste, puis album, puis piste.",
        "folderStructureExample": "Music/\n├── Pink Floyd/\n│   ├── The Dark Side of the Moon (1973)/\n│   │   ├── 01 - Speak to Me.flac\n│   │   ├── 02 - Breathe (In the Air).flac\n│   │   └── ...\n│   └── Wish You Were Here (1975)/\n│       └── 01 - Shine On You Crazy Diamond Pts. 1-5.flac\n└── Daft Punk/\n    └── Random Access Memories (2013)/\n        └── 01 - Give Life Back to Music.flac",
        "folderStructureNote": "L'année d'album entre parenthèses est optionnelle mais utile — elle désambiguïse les rééditions et aide à matcher la bonne release MusicBrainz. Les noms de fichiers de pistes commencent par un numéro de piste à deux chiffres complété par un zéro, suivi d'un tiret et du titre.",
        "id3Title": "Les tags ID3 d'abord",
        "id3": "Les tags ID3 sont ce que l'agent musique de Plex lit vraiment. Les tags requis sont : artist, album, title, track number. Tags additionnels recommandés : album artist (différent du track artist sur les compilations), year, genre, disc number.\n\nRenommer les fichiers sans corriger les tags n'aide pas Plex à matcher correctement. Si tes tags sont faux, installe MusicBrainz Picard (gratuit) ou Mp3tag (gratuit sous Windows) et lance une réécriture de tags d'abord, puis occupe-toi des noms de fichiers ensuite. Le mode musique de RenameFlow lit MusicBrainz et met à jour les noms de fichiers ; il n'écrit pas les tags ID3, donc utilise-le après un tagger.",
        "variousArtistsTitle": "Various Artists (compilations, BO)",
        "variousArtistsIntro": "Les compilations et BO ont besoin d'un album artist « Various Artists » sinon elles explosent en dizaines d'« artistes » à une seule piste dans ta vue de bibliothèque. Le réglage vit dans l'ID3 :\n\nTag : Album Artist = « Various Artists »\nTag : Artist = (l'artiste réel de la piste)\n\nLe pattern de dossier devient alors :",
        "variousArtistsExample": "Music/\n└── Various Artists/\n    └── Rocky IV Soundtrack (1985)/\n        ├── 01 - Burning Heart - Survivor.flac\n        └── 02 - Heart's on Fire - John Cafferty.flac",
        "variousArtistsNote": "Plex affiche l'album sous « Various Artists » mais chaque piste montre son interprète réel.",
        "trackNumberingTitle": "Numérotation des pistes",
        "trackNumbering": "Les numéros de piste se mettent en premier dans le nom de fichier, deux chiffres complétés par un zéro. Ne saute pas de numéros (pas de 1, 3, 4 — ça casse l'ordre de lecture sur les agents qui rebasculent en ordre alphabétique quand les tags de piste manquent).\n\nPattern de nom de fichier : « 01 - Track Title.ext » ou juste « 01 Track Title.ext ». Les deux marchent. Évite de mettre l'artiste dans chaque nom de fichier de piste — c'est redondant avec le dossier et ça pollue l'UI quand Plexamp retombe sur l'affichage par nom de fichier.",
        "multiDiscTitle": "Albums multi-disques",
        "multiDiscIntro": "Les albums multi-disques utilisent une couche de sous-dossier « Disc XX » entre l'album et les pistes, et le tag ID3 « Disc Number » doit être renseigné sur chaque fichier :",
        "multiDiscExample": "Music/\n└── Tool/\n    └── Lateralus (2001)/\n        ├── Disc 01/\n        │   ├── 01 - The Grudge.flac\n        │   └── ...\n        └── Disc 02/\n            └── 01 - Faaip de Oiad.flac",
        "multiDiscNote": "Plexamp fusionne ces fichiers dans une vue d'album continue avec des séparateurs de disques. Sans le tag disc, les pistes du disque 2 collisionnent avec celles du disque 1 (deux « track 01 », deux « track 02 », et Plex prend celle qu'il voit en premier).",
        "examplesTitle": "Exemples concrets",
        "examples": "Music/\n├── Pink Floyd/\n│   ├── The Dark Side of the Moon (1973)/\n│   │   ├── 01 - Speak to Me.flac\n│   │   ├── 02 - Breathe (In the Air).flac\n│   │   └── 10 - Eclipse.flac\n│   └── The Wall (1979)/\n│       ├── Disc 01/\n│       │   ├── 01 - In the Flesh?.flac\n│       │   └── ...\n│       └── Disc 02/\n│           └── 01 - Hey You.flac\n├── Various Artists/\n│   └── Pulp Fiction Soundtrack (1994)/\n│       ├── 01 - Pumpkin and Honey Bunny - Tim Roth.flac\n│       └── 02 - Misirlou - Dick Dale.flac\n└── Daft Punk/\n    └── Random Access Memories (2013)/\n        ├── 01 - Give Life Back to Music.flac\n        └── 13 - Contact.flac"
      },
      "troubleshooting": {
        "h2": "Dépannage du nommage Plex",
        "intro": "Même avec un nommage parfait, les bibliothèques cassent de manière prévisible. Voici les six défaillances qui couvrent environ 90 % des plaintes réelles sur le nommage Plex, avec les étapes exactes de correction.",
        "causesLabel": "Causes probables",
        "stepsLabel": "Étapes de correction",
        "items": [
          {
            "problem": "Plex affiche le film comme unmatched",
            "causes": [
              "Année absente du nom de fichier ou du dossier",
              "Caractères spéciaux d'une release scene (ex. « BluRay.x264-SPARKS ») qui perturbent le parser sur des titres rares",
              "Fichier film à la racine de la bibliothèque au lieu d'un dossier",
              "Titre très différent du titre TMDB (titre espagnol vs titre anglais)"
            ],
            "steps": [
              "Ajoute (YYYY) entre parenthèses juste après le titre, dans le dossier ET le nom de fichier",
              "Retire tout ce qui suit l'année — garde uniquement « Title (Year).ext »",
              "Déplace le fichier dans un dossier nommé exactement comme le fichier",
              "Dans Plex Web → menu ⋯ sur le film → « Fix Match » → Search Options → entre directement l'ID TMDB"
            ]
          },
          {
            "problem": "Mauvaise série matchée (la version US de The Office alors que tu as la UK)",
            "causes": [
              "Le dossier série ne contient pas l'année",
              "Le titre matche plusieurs séries sur TVDB/TMDB et Plex prend la plus populaire"
            ],
            "steps": [
              "Renomme le dossier série en « Title (Year) » avec l'année de diffusion originale",
              "Plex Library → ⋯ → « Refresh Metadata »",
              "Si toujours faux : ⋯ → « Match » → recherche par ID TVDB ou TMDB et sélectionne la bonne entrée"
            ]
          },
          {
            "problem": "Titre d'épisode manquant ou faux",
            "causes": [
              "Le token du nom de fichier était malformé (sXXeYY non complété par un zéro, mélange majuscules/minuscules)",
              "TVDB/TMDB a le mauvais titre — Plex affiche ce que dit l'agent"
            ],
            "steps": [
              "Vérifie que le nom de fichier utilise le format « sXXeYY », les deux lettres en minuscules et les deux nombres à deux chiffres",
              "Si le nom de fichier est correct : c'est l'agent lui-même qui est faux. Soit corrige le titre sur TVDB et attends 24 h pour le refresh, soit dans Plex Web → édite l'épisode → modifie le titre manuellement"
            ]
          },
          {
            "problem": "Saison entière unmatched alors que les épisodes sont bien nommés",
            "causes": [
              "Le nom du dossier de saison ne commence pas par « Season »",
              "Les épisodes sont à la racine de la série, pas dans un dossier de saison",
              "Le dossier de saison utilise un jeu de caractères non latins qui perturbe le scanner"
            ],
            "steps": [
              "Renomme le dossier de saison en « Season 01 » (avec espace, deux chiffres)",
              "Déplace chaque fichier d'épisode dans le bon dossier « Season XX »",
              "Pour les specials, utilise soit « Specials » (littéral) soit « Season 00 »"
            ]
          },
          {
            "problem": "Anime découpé dans les mauvaises saisons",
            "causes": [
              "Décalage entre ta numérotation de fichiers et la structure de saisons de l'agent (AniDB vs TVDB vs TMDB)",
              "Usage de l'agent par défaut pour des séries en numérotation absolue comme One Piece"
            ],
            "steps": [
              "Choisis une seule base (TVDB pour le moins de friction, AniDB via HAMA pour la meilleure fidélité) et tiens-t'y",
              "Si TVDB : renomme les fichiers pour coller au découpage saison/épisode de TVDB pour cette série",
              "Si HAMA : voir la section installation de HAMA plus haut. Re-scan après installation"
            ]
          },
          {
            "problem": "La bibliothèque ne scanne pas du tout (rien ne se passe quand tu déclenches un scan)",
            "causes": [
              "Le serveur Plex n'a pas la permission de lecture sur le dossier de la bibliothèque",
              "La bibliothèque est vide ou le chemin a changé (partage réseau démonté, disque renommé)",
              "Le scanner Plex est en pause (rare, mais vérifie Settings → Library → Scan)"
            ],
            "steps": [
              "Clic droit sur le dossier de bibliothèque dans ton OS, vérifie que le compte utilisateur Plex a au moins l'accès en lecture",
              "Plex Web → Settings → Manage → Libraries → vérifie que le chemin est joignable",
              "Tente un scan manuel depuis le menu ⋯ de la carte de bibliothèque",
              "Redémarre le processus Plex Media Server si le scan continue d'échouer silencieusement"
            ]
          }
        ]
      },
      "faster": {
        "h2": "L'alternative en 60 secondes",
        "intro": "Tout ce qui précède, c'est la méthode manuelle : comprendre les règles, taper les bons noms de fichiers, corriger toi-même les cas limites. Fait une fois avec soin, une bibliothèque reste propre pendant des années. Mais « avec soin » survit rarement à un arriéré de 2 000 fichiers.",
        "manualWayTitle": "La méthode manuelle",
        "manualWay": "Le constat honnête : à la main, compte environ une minute par film ou par épisode une fois que tu es fluide — chercher l'année sur TMDB ou IMDb, taper le titre canonique, mettre le bon format sXXeYY. Une série de 500 épisodes, c'est huit heures de frappe. Une bibliothèque mixte de 2 000 fichiers, c'est un week-end.",
        "fasterWayTitle": "La méthode en 60 secondes",
        "fasterWay": "RenameFlow fait le même boulot en quelques secondes. Tu déposes un dossier, il parse chaque nom de fichier, interroge TMDB/TheTVDB/AniList/MusicBrainz en parallèle, affiche le nom prêt pour Plex, et renomme les fichiers en local quand tu confirmes. Rien ne part en upload — l'API File System Access fait le renommage sur ton propre disque. Gratuit jusqu'à 15 fichiers par jour ; Lifetime unique à 49 € pour l'illimité.\n\nLes patterns de nommage sont exactement ceux de ce guide, validés contre chaque exemple ci-dessus. Si tu as déjà tapé la moitié de ta bibliothèque à la main, RenameFlow peut finir le reste en 60 secondes.",
        "pricingLinkText": "les forfaits RenameFlow",
        "cta": "Gratuit : 15 fichiers/jour, compte gratuit en 30 secondes, aucun upload."
      },
      "faq": {
        "h2": "Nommage Plex — questions fréquentes",
        "seeAllLinkText": "voir toutes les FAQ",
        "items": [
          {
            "question": "Quelle est LA règle la plus importante pour nommer ses fichiers Plex ?",
            "answer": "Mets toujours l'année pour les films et le format « sXXeYY » pour les séries. Ces deux patterns à eux seuls corrigent environ 80 % des échecs de matching courants."
          },
          {
            "question": "Est-ce que Plex a vraiment besoin de l'année sur chaque film ?",
            "answer": "Oui dès que tu as des films qui partagent leur titre avec d'autres, ce qui est plus courant qu'on ne le pense (Dune 1984 vs 2021, Casino Royale 1967 vs 2006, La Momie 1932/1959/1999/2017). Sans l'année, TMDB renvoie le match le plus populaire, ce qui n'est souvent pas celui que tu as. Mets l'année systématiquement — le coût est nul et le gain, c'est des matchs corrects pour toujours."
          },
          {
            "question": "Faut-il utiliser Season 00 ou Specials pour les épisodes spéciaux ?",
            "answer": "Les deux marchent — Plex les traite à l'identique. « Specials » est plus lisible pour un humain ; « Season 00 » est plus cohérent si tu utilises un script pour générer les dossiers. Choisis-en un et applique-le à toutes tes séries."
          },
          {
            "question": "Pourquoi Plex prend la mauvaise version d'un titre en doublon même après que j'ai ajouté l'année ?",
            "answer": "Soit le nom de dossier n'a pas l'année (Plex lit le dossier en premier), soit tu as mis l'année entre crochets au lieu de parenthèses. La regex de Plex matche spécifiquement « (YYYY) » — les crochets et les points ne marchent pas. Vérifie à la fois le dossier et le nom de fichier."
          },
          {
            "question": "L'extension du fichier compte-t-elle ? MKV vs MP4 vs AVI ?",
            "answer": "Pas pour le matching. Plex scanne toutes les extensions vidéo courantes à l'identique. Ça compte pour les performances de lecture — MKV avec H.264 ou H.265 passe le mieux sur tous les clients. Les AVI nécessitent souvent du transcodage sur mobile et TV. Le choix du container affecte la compatibilité, pas les métadonnées."
          },
          {
            "question": "Que se passe-t-il si je renomme des fichiers après que Plex les a déjà scannés ?",
            "answer": "Plex les re-matche au prochain scan. Les métadonnées locales (statut vu, playlists, posters perso) sont préservées tant que le nouveau nom de fichier matche toujours la même entrée TMDB/TVDB. Si le nouveau nom provoque un autre match, le statut vu migre via le GUID et survit en général — mais les posters perso et éditions locales peuvent disparaître."
          },
          {
            "question": "Faut-il renommer ses fichiers d'anime pour l'agent Plex par défaut ou installer HAMA ?",
            "answer": "Pour moins de ~200 épisodes au total, utilise l'agent par défaut et accepte quelques bizarreries de saison — le temps d'installation de HAMA n'en vaut pas la peine. Pour des bibliothèques anime plus grosses ou tout ce qui est en numérotation absolue (One Piece, Detective Conan, Naruto, Boruto), installe HAMA. Le gain de fidélité est énorme et l'installation est un coût unique."
          },
          {
            "question": "Comment automatiser le renommage pour ne plus avoir à y penser à chaque ajout de fichiers ?",
            "answer": "Deux options : intègre Sonarr + Radarr dans ton pipeline de téléchargement pour que les fichiers arrivent déjà nommés, ou utilise RenameFlow comme outil de batch manuel à l'import. Sonarr/Radarr marchent le mieux pour les chaînes entièrement automatisées ; RenameFlow marche le mieux quand tu veux relire chaque renommage avant qu'il soit appliqué."
          }
        ]
      },
      "related": {
        "h2": "Pour aller plus loin",
        "items": [
          {
            "title": "Tutoriel pas à pas pour renommer",
            "href": "/how-to-rename"
          },
          {
            "title": "Comparatif détaillé RenameFlow vs FileBot",
            "href": "/alternatives#filebot"
          },
          {
            "title": "Équivalents de nommage Kodi et Jellyfin",
            "href": "/plex-kodi-jellyfin"
          },
          {
            "title": "Toutes les FAQ RenameFlow",
            "href": "/faq"
          }
        ]
      },
      "guidesHub": {
        "cardTitle": "Guide de nommage Plex",
        "cardDesc": "La référence exhaustive de 7 000 mots pour nommer films, séries, anime et musique sur Plex. Avec dépannage et exemples copier-coller.",
        "cardBadge": "Nouveau"
      },
      "externalLinks": {
        "plexNaming": "Convention de nommage Plex (officiel)",
        "plexMultiVersion": "Nommage multi-version Plex (officiel)",
        "hamaGithub": "Scanner HAMA (GitHub)"
      },
      "howTo": {
        "name": "Comment nommer les fichiers de films pour Plex",
        "description": "La méthode, étape par étape, pour nommer tes fichiers de films afin que le scanner de Plex les reconnaisse du premier coup.",
        "step1": {
          "name": "Crée un dossier par film",
          "text": "Chaque film a son propre dossier, nommé « Titre (Année) », par exemple « Blade Runner (1982) ». Le fichier vidéo à l'intérieur reprend exactement ce nom."
        },
        "step2": {
          "name": "Ajoute l'année de sortie entre parenthèses",
          "text": "Plex utilise TMDB et départage les titres identiques grâce à l'année. Utilise toujours des parenthèses, jamais de crochets ni de points : « Dune (2021) », et non « Dune 2021 » ou « Dune [2021] »."
        },
        "step3": {
          "name": "Gère les films en plusieurs versions",
          "text": "Pour plusieurs résolutions d'un même film, ajoute la résolution à la fin du nom de fichier : « Dune (2021) - 1080p.mkv » et « Dune (2021) - 2160p.mkv » dans le même dossier. Plex les regroupe en une seule entrée de bibliothèque, avec un sélecteur de version."
        },
        "step4": {
          "name": "Lance un scan de la bibliothèque Plex",
          "text": "Dans Plex Web, ouvre la bibliothèque, clique sur le menu ⋯ et choisis « Scan Library Files ». Plex associe les nouveaux fichiers à TMDB en quelques secondes. Utilise « Refresh Metadata » pour récupérer à nouveau les visuels et la distribution."
        }
      }
    },
    "jellyfin": {
      "seoTitle": "Guide nommage Jellyfin 2026 : Films, Séries, Anime, Musique",
      "seoDescription": "Maîtrise la convention de nommage Jellyfin pour films, séries, animes et musique. Migration depuis Plex, dépannage et organisation de ta bibliothèque.",
      "keywords": "convention nommage Jellyfin, renommer Jellyfin, Jellyfin films séries, migrer Plex Jellyfin, nommage série jellyfin, nommage film jellyfin, jellyfin anime",
      "h1": "Guide de nommage Jellyfin : Films, Séries TV, Anime, Musique & Migration depuis Plex (2026)",
      "readingTime": "~11 min de lecture",
      "trust": {
        "updated": "Mis à jour en 2026",
        "crossRef": "Vérifié avec la doc de Jellyfin 10.10+",
        "builtBy": "Créé par l'équipe derrière RenameFlow"
      },
      "guidesHub": {
        "cardTitle": "Guide de nommage Jellyfin",
        "cardDesc": "La référence complète pour nommer tes films, séries, animes et musiques pour Jellyfin — plus la checklist de migration Plex vers Jellyfin.",
        "cardBadge": "Nouveau"
      },
      "intro": {
        "lead": "Jellyfin est plus indulgent que Plex sur le nommage — mais jusqu'à un certain point. Avec la bonne structure, le scanner est rapide, précis et gratuit à vie. Si tu te trompes, tu passeras des heures à corriger des entrées « non identifiées » qui auraient dû matcher instantanément.",
        "problem": "Ce guide est la référence pratique pour nommer les fichiers multimédias dans Jellyfin — chaque type de média, chaque cas particulier, et le chemin de migration pour quiconque vient de Plex. Les exemples suivent la documentation officielle de Jellyfin et sont vérifiés sur la version 10.10+. Un focus particulier sur les deux cas qui piègent les utilisateurs de Plex : la gestion des épisodes spéciaux (saison zéro) par Jellyfin, et comment il gère les animes sans équivalent à HAMA.",
        "promise": "À la fin, tu sauras exactement comment structurer une bibliothèque Jellyfin qui se scanne proprement du premier coup — que tu partes de zéro, que tu migres depuis Plex, ou que tu corriges une bibliothèque qui a grandi de manière chaotique pendant des années.",
        "heroCta": "Évite le travail manuel — laisse RenameFlow gérer les conventions pour toi."
      },
      "toc": {
        "fundamentals": "Les bases",
        "movies": "Films",
        "tvShows": "Séries TV",
        "anime": "Animes (sans HAMA)",
        "music": "Musique",
        "migration": "Migration Plex → Jellyfin",
        "troubleshooting": "Dépannage",
        "faster": "L'alternative en 60 secondes",
        "faq": "FAQ"
      },
      "fundamentals": {
        "h2": "Les bases du nommage Jellyfin",
        "intro": "L'architecture du scanner de Jellyfin est différente de celle de Plex, et comprendre cette différence évite les trois quarts des frustrations du type « Jellyfin ne trouve pas mes fichiers ». La bonne nouvelle : la plupart des noms compatibles avec Plex fonctionnent directement dans Jellyfin. Le piège : la flexibilité de Jellyfin signifie que tu peux utiliser des conventions de nommage valides qui fonctionneront pour une bibliothèque mais pas pour une autre, selon les providers que tu as activés.",
        "openSourceTitle": "Open source, scanner intégré",
        "openSourceModel": "Jellyfin est open source, auto-hébergé et gratuit à vie — pas d'abonnement premium, pas de télémétrie, pas de plugins payants. Le scanner fait partie du serveur lui-même, ce n'est pas un plugin séparé comme chez Plex. Cela signifie que les mises à jour de Jellyfin apportent des améliorations de nommage via le cycle de sortie régulier (actuellement quasi-mensuel), et tu peux lire le code de parsing exact sur GitHub si un comportement te surprend.\n\nLe compromis par rapport à Plex : l'interface des métadonnées de Jellyfin est plus brute, la configuration de l'accélération matérielle est plus manuelle, et quelques fonctionnalités de Plex (DVR du Plex Pass, analyse sonique de Plexamp) n'ont pas d'équivalent direct. Pour le nommage, rien de tout cela n'a d'importance — tu disposes des mêmes pipelines que Plex (TMDB, TVDB, AniDB, MusicBrainz, OMDb), juste configurés différemment.",
        "providersTitle": "Metadata providers (pas des « agents »)",
        "providers": "Là où Plex a des « agents », Jellyfin a des « metadata providers » configurés par bibliothèque. Quand tu crées une bibliothèque, tu choisis quels providers interroger et dans quel ordre. Pour les films, le défaut est TheMovieDB ; tu peux ajouter OMDb, TVDb, ou aucun. Pour les séries, ce sont TheMovieDB et TheTVDB, avec The Open Movie Database (OMDb) en solution de repli. Pour les animes, tu peux ajouter AniDB et AniList directement (pas besoin de plugin externe de type HAMA).\n\nL'ordre des providers est crucial : Jellyfin les interroge de haut en bas et utilise le premier match réussi. Si TheMovieDB renvoie la mauvaise série à cause d'un titre similaire, mettre TheTVDB en premier peut régler le problème. Cette configuration par bibliothèque est plus puissante que le choix d'agent imposé par Plex — et c'est le secret pour faire fonctionner les animes sans scanners tiers.",
        "fourRulesTitle": "Quatre règles qui corrigent la plupart des échecs de matching",
        "fourRules": "Quatre règles qui préviennent la grande majorité des problèmes de matching sur Jellyfin :\n\nRègle 1 — Utilise une structure d'un dossier par élément. Les films dans leurs propres dossiers, les séries TV avec des sous-dossiers de saison explicites. Jellyfin scanne l'arborescence des dossiers pour comprendre les limites des éléments avant de lire les noms de fichiers.\n\nRègle 2 — Inclus l'année de sortie entre parenthèses pour les films, comme sur Plex : « Titre (AAAA) ». Le matcher de Jellyfin utilise l'année de la même manière que celui de Plex.\n\nRègle 3 — Utilise le format sXXeYY pour les épisodes. Jellyfin accepte plus de variantes que Plex (la doc liste plus de 8 formats valides), mais sXXeYY en minuscules avec des zéros non significatifs est le plus sûr et le plus lisible.\n\nRègle 4 — En cas de doute, intègre l'ID du provider dans le nom du dossier. Jellyfin supporte les suffixes « [tmdbid-12345] », « [tvdbid-67890] », « [imdbid-tt1234567] » qui forcent un match exact. Utilise-les chaque fois qu'un titre est ambigu.",
        "walkthroughLinkText": "renommage étape par étape"
      },
      "movies": {
        "h2": "Nommer les films pour Jellyfin",
        "intro": "Les films sont le type de média le plus simple sur Jellyfin. La structure d'un dossier par film correspond à celle de Plex ; l'année est obligatoire pour lever les ambiguïtés ; les fichiers multi-versions sont supportés avec une convention de nommage légèrement différente de celle de Plex. Si tu viens de Plex, tu n'as que trois petites différences à retenir.",
        "folderStructureTitle": "Structure des dossiers",
        "folderStructure": "Chaque film doit être dans son propre dossier, nommé « Titre (Année) ». Le fichier vidéo à l'intérieur répète ce nom à l'identique. Les sous-titres, extras, affiches et bandes-annonces sont placés à côté.",
        "folderStructureExample": "Movies/\n├── Blade Runner (1982)/\n│   ├── Blade Runner (1982).mkv\n│   ├── Blade Runner (1982).en.srt\n│   ├── poster.jpg\n│   └── trailers/\n│       └── teaser.mp4\n├── Dune (2021)/\n│   └── Dune (2021).mkv\n└── The Matrix (1999)/\n    └── The Matrix (1999).mkv",
        "folderStructureNote": "Jellyfin lit d'abord le nom du dossier, puis le nom du fichier. Les garder identiques est la convention la plus propre et te permet de stocker des extras et des affiches sans risque de conflit de nommage.",
        "yearTitle": "L'année est non-négociable",
        "year": "L'année est non-négociable pour la même raison que sur Plex : TheMovieDB renvoie les titres homonymes triés par popularité, et sans l'année, tu obtiendras la version la plus célèbre sur TMDB aujourd'hui.\n\nFormat : « Titre (AAAA) » avec l'année entre parenthèses. La regex de Jellyfin est souple — elle accepte « Titre.AAAA.mkv » et « Titre AAAA.mkv » — mais ces formats posent problème quand les titres contiennent des chiffres (« 2001 : L'Odyssée de l'espace », « 1917 »). Les parenthèses sont sans ambiguïté. Utilise-les systématiquement.",
        "multiVersionTitle": "Films en plusieurs versions",
        "multiVersionIntro": "Jellyfin gère plusieurs versions du même film regroupées en une seule entrée dans la bibliothèque, de façon similaire à Plex mais avec une convention de nommage différente. La convention officielle de Jellyfin utilise des tirets et des étiquettes de version :",
        "multiVersionAExample": "Dune (2021)/\n├── Dune (2021) - 1080p.mkv\n└── Dune (2021) - 2160p.mkv",
        "multiVersionB": "Ou la structure en sous-dossiers, qui fonctionne de la même manière dans Jellyfin et qui est plus propre pour les bibliothèques avec de nombreuses éditions :",
        "multiVersionBExample": "Dune (2021)/\n├── 1080p/\n│   └── Dune (2021).mkv\n└── 2160p/\n    └── Dune (2021).mkv",
        "multiVersionOutcome": "Les deux fichiers apparaissent comme une seule fiche de film avec un sélecteur de version. Jellyfin choisit automatiquement le fichier de la plus haute qualité que le client peut lire directement ; si aucun client ne peut lire du 4K HEVC, il se rabat sur la copie en plus basse résolution sans transcodage.",
        "editionsTitle": "Éditions (Director's Cut, Cinéma, Version Longue)",
        "editionsIntro": "Pour les Director's cuts, versions cinéma et éditions longues, Jellyfin supporte le suffixe « [edition-X] », qui diffère de la convention de Plex avec les accolades « {edition-X} ». Fais attention lors de la migration — la structure avec accolades est ignorée silencieusement par Jellyfin :",
        "editionsExample": "Movies/\n├── Blade Runner (1982)/\n│   ├── Blade Runner (1982) [edition-Theatrical].mkv\n│   └── Blade Runner (1982) [edition-Final Cut].mkv\n└── Apocalypse Now (1979)/\n    ├── Apocalypse Now (1979) [edition-Theatrical].mkv\n    └── Apocalypse Now (1979) [edition-Redux].mkv",
        "editionsOutcome": "Chaque édition apparaît comme un film distinct dans la bibliothèque (non fusionné comme les multi-versions). À utiliser pour des montages avec des différences significatives de durée ou de contenu ; utilise le multi-version pour un même montage à différentes résolutions.",
        "extrasTitle": "Bandes-annonces, coulisses et extras",
        "extras": "Jellyfin traite les extras (bandes-annonces, coulisses, scènes coupées, interviews) comme du contenu de premier plan. Place-les dans des sous-dossiers à l'intérieur du dossier du film en utilisant ces noms exacts : `trailers/`, `behind the scenes/`, `deleted scenes/`, `interviews/`, `featurettes/`, `scenes/`, `shorts/`. Les fichiers dans ces dossiers héritent des métadonnées du film et apparaissent dans le lecteur Jellyfin comme contenu associé.",
        "extrasExample": "Dune (2021)/\n├── Dune (2021).mkv\n├── trailers/\n│   ├── trailer-1.mp4\n│   └── trailer-2.mp4\n└── behind the scenes/\n    └── making-of.mp4",
        "extrasNote": "La même convention fonctionne pour les séries TV — les extras au niveau de la série vont dans des sous-dossiers d'extras à la racine de la série.",
        "mistakesTitle": "Les erreurs responsables de la plupart des échecs de matching",
        "mistakes": "Les quatre erreurs responsables de la plupart des échecs de matching des films sur Jellyfin :\n\n1. Utiliser la syntaxe d'édition de Plex avec accolades `{edition-X}`. Jellyfin l'ignore silencieusement — le suffixe est intégré au titre à matcher, ce qui casse la recherche.\n\n2. Année manquante sur un titre non unique. « Inception.mkv » matche grâce à sa popularité ; « Dune.mkv » choisira la version de Villeneuve de 2021 plutôt que le film de Lynch de 1984 100% du temps sur TMDB.\n\n3. Bibliothèque de fichiers uniques à la racine (sans dossier). Fonctionne pour le matching mais casse le support des extras, des affiches et des multi-versions.\n\n4. Mauvais encodage des caractères dans les titres non latins. Les caractères grecs, cyrilliques et japonais nécessitent un encodage de nom de fichier en UTF-8 ; certains anciens extracteurs de zip écrivent en Latin-1 à la place.",
        "examplesTitle": "Exemples concrets",
        "examples": "Movies/\n├── The Matrix (1999)/\n│   └── The Matrix (1999).mkv\n├── Dune (2021)/\n│   ├── Dune (2021) - 1080p.mkv\n│   └── Dune (2021) - 2160p.mkv\n├── Blade Runner (1982)/\n│   ├── Blade Runner (1982) [edition-Theatrical].mkv\n│   └── Blade Runner (1982) [edition-Final Cut].mkv\n├── 1917 (2019)/\n│   └── 1917 (2019).mkv\n└── Spirited Away (2001)/\n    ├── Spirited Away (2001).mkv\n    └── trailers/\n        └── trailer.mp4",
        "plexLinkText": "Équivalents Plex",
        "ctaSoft": "Tu as une bibliothèque Plex à convertir ? Essaye le mode batch de RenameFlow."
      },
      "tvShows": {
        "h2": "Nommer les séries TV pour Jellyfin",
        "intro": "Les séries TV, c'est là où la flexibilité de Jellyfin brille et piège les nouveaux utilisateurs. Huit conventions de nommage valides sont acceptées par le scanner, ce qui semble génial jusqu'à ce que tu les mélanges dans le même dossier de série et que le matcher se trompe. La solution est de choisir une seule convention et de l'appliquer de manière cohérente — sXXeYY en minuscules étant la seule convention universellement sûre.",
        "folderStructureTitle": "Structure des dossiers",
        "folderStructure": "Deux niveaux : le dossier de la série, puis le dossier de la saison. Comme sur Plex. Jellyfin ne regroupera pas correctement les épisodes si tu aplatit la structure.",
        "folderStructureExample": "TV Shows/\n├── Breaking Bad (2008)/\n│   ├── Season 01/\n│   │   ├── Breaking Bad - s01e01 - Pilot.mkv\n│   │   └── Breaking Bad - s01e02 - Cat's in the Bag.mkv\n│   ├── Season 02/\n│   │   └── Breaking Bad - s02e01.mkv\n│   └── Specials/\n│       └── Breaking Bad - s00e01 - Behind the Scenes.mkv\n└── The Wire (2002)/\n    └── Season 01/\n        └── The Wire - s01e01.mkv",
        "folderStructureNote": "Format du dossier de la série : « Titre (Année) ». L'année permet de différencier les remakes (The Office UK 2001 vs US 2005, House of Cards UK 1990 vs US 2013). Format du dossier de saison : « Season XX » avec un zéro non significatif, ou « Specials » pour la saison 0.",
        "providerIdTitle": "Forcer un match avec un provider spécifique",
        "providerIdIntro": "Bonus : ajoute « [tmdbid-X] » ou « [tvdbid-Y] » au nom du dossier de la série. Jellyfin l'utilise comme identifiant canonique et ignore le matching basé sur le titre :",
        "providerIdExample": "The Office (2005) [tmdbid-2316]/\n└── Season 01/\n    └── The Office - s01e01.mkv",
        "filenameTitle": "Convention de nom de fichier",
        "filenameFormat": "Le scanner de Jellyfin accepte ces formats d'épisodes :\n\n- `Show - s01e01.mkv` (minuscules, recommandé)\n- `Show - S01E01.mkv` (majuscules)\n- `Show - 1x01.mkv` (style avec 'x')\n- `Show.S01.E01.mkv` (séparé par des points)\n- `Show s01e01 Title.mkv` (sans tiret)\n- `Show 101.mkv` (compact — risqué)\n- `Show 1.01.mkv` (compact avec point — risqué)\n- `Show Season 1 Episode 1.mkv` (verbeux)\n\nChoisis-en un et tiens-t'y. Les formes « compactes » (Show 101) fonctionnent mais échouent pour les séries avec plus de 100 épisodes par saison ou une numérotation absolue à trois chiffres. Le format sXXeYY en minuscules est la convention universelle la plus sûre.",
        "filenameExample": "Breaking Bad - s05e14 - Ozymandias.mkv",
        "filenameNote": "Tu peux ajouter un titre d'épisode pour une meilleure lisibilité. Le titre de l'épisode n'est pas utilisé pour le matching — le metadata provider de Jellyfin le remplacera par le titre canonique de TVDB/TMDB.",
        "specialsTitle": "Épisodes spéciaux, OAVs et extras par saison",
        "specials": "Les épisodes spéciaux, OAVs, coulisses et extras liés à une saison vont dans un dossier « Specials » à la racine de la série, ou dans « Season 00 ». Jellyfin traite les deux de manière identique. À l'intérieur, nomme les fichiers s00e01, s00e02, dans l'ordre.\n\nLes extras par saison (bandes-annonces, scènes coupées) peuvent aussi être placés dans des sous-dossiers d'extras à l'intérieur de leur dossier de saison parent, en utilisant les mêmes conventions que pour les extras de films (`trailers/`, `deleted scenes/`, etc.).",
        "dateBasedTitle": "Émissions quotidiennes basées sur la date",
        "dateBasedIntro": "Les émissions quotidiennes (talk-shows, journaux télévisés) sans numérotation de saison/épisode utilisent le format de date :",
        "dateBasedExample": "The Daily Show (1996)/\n└── Season 29/\n    └── The Daily Show - 2024-03-15.mkv",
        "dateBasedNote": "Format AAAA-MM-JJ. Jellyfin effectue le matching par rapport à l'index de dates de TheTVDB pour les émissions quotidiennes — assure-toi que TheTVDB est activé comme provider pour la bibliothèque.",
        "multiEpisodeTitle": "Fichiers multi-épisodes",
        "multiEpisodeIntro": "Pour les épisodes doubles dans un seul fichier :",
        "multiEpisodeExample": "Breaking Bad - s05e15-e16 - Granite State + Felina.mkv",
        "multiEpisodeNote": "Jellyfin crée un seul élément lisible qui correspond aux deux épisodes dans les métadonnées. La forme avec intervalle (`e15-e16`) est plus propre ; la forme avec répétition complète (`s05e15-s05e16`) fonctionne aussi.",
        "miniSeriesTitle": "Mini-séries et séries limitées",
        "miniSeries": "Les mini-séries et séries limitées (Chernobyl, Band of Brothers, Le Jeu de la Dame) suivent la convention standard avec « Season 01 » comme unique dossier de saison. N'aplatis pas les épisodes à la racine de la série — le scanner de Jellyfin s'attend à trouver le niveau du dossier de saison même pour les séries d'une seule saison.",
        "failuresTitle": "Les échecs les plus courants pour les séries TV",
        "failures": "Les échecs les plus courants pour les séries TV sur Jellyfin et leurs causes :\n\n— « Épisode non matché » mais la saison est correcte : la convention du nom de fichier est malformée ou mélange les styles (s01E01 — 'E' majuscule avec 's' minuscule). Standardise tout en sXXeYY minuscules.\n\n— Saison entière non matchée : le nom du dossier de saison ne commence pas par « Season » (avec un espace). « S1 », « Season1 » et « s01 » ne fonctionnent pas.\n\n— Mauvaise série matchée : année manquante sur un titre avec des homonymes. Ajoute `(AAAA)` au dossier de la série, ou utilise `[tmdbid-X]` pour une désambiguïsation absolue.\n\n— Épisodes répartis dans les mauvaises saisons : si tu as renommé des fichiers mais que Jellyfin affiche toujours les anciennes informations, force un rafraîchissement des métadonnées depuis le menu ⋯ de la série → « Refresh metadata » → « Replace all metadata » → « Force ».\n\n— Épisodes spéciaux apparaissant en saison 1 : le fichier est à la racine de la série au lieu d'être dans un dossier « Specials/ » ou « Season 00/ ». Déplace le fichier.\n\n— Mini-série affichée comme un seul grand épisode : tous les épisodes sont à la racine de la série sans dossier de saison. Ajoute un dossier « Season 01/ » et déplace les fichiers à l'intérieur.",
        "examplesTitle": "Exemples concrets",
        "examples": "TV Shows/\n├── Breaking Bad (2008)/\n│   ├── Season 01/\n│   │   ├── Breaking Bad - s01e01 - Pilot.mkv\n│   │   └── Breaking Bad - s01e02 - Cat's in the Bag.mkv\n│   ├── Season 05/\n│   │   └── Breaking Bad - s05e15-e16 - Granite State + Felina.mkv\n│   └── Specials/\n│       └── Breaking Bad - s00e01 - No Half Measures.mkv\n├── The Office (2005) [tmdbid-2316]/\n│   └── Season 03/\n│       └── The Office - s03e12 - Back from Vacation.mkv\n├── Chernobyl (2019)/\n│   └── Season 01/\n│       └── Chernobyl - s01e01 - 1:23:45.mkv\n└── The Daily Show (1996)/\n    └── Season 29/\n        └── The Daily Show - 2024-03-15.mkv"
      },
      "anime": {
        "h2": "Nommer les animes pour Jellyfin (sans HAMA)",
        "intro": "C'est là que Jellyfin prend de l'avance sur Plex pour la plupart des utilisateurs. Plex nécessite le plugin communautaire HAMA pour gérer AniDB correctement — installation manuelle, mises à jour manuelles, et ça peut casser. Jellyfin intègre AniDB et AniList comme des metadata providers natifs que tu actives dans les paramètres de la bibliothèque. Pas de scanners externes, pas de dossier de plugin GitHub, pas de permissions de plugin à accorder.",
        "providersTitle": "Providers natifs AniDB + AniList",
        "providers": "Pour une bibliothèque d'animes, crée une nouvelle bibliothèque de type « Séries TV » et dans la liste des metadata providers :\n\n1. AniDB — le plus précis pour les séries à numérotation absolue (One Piece, Détective Conan, Bleach)\n2. AniList — secondaire, utile pour les shonen modernes et les animes saisonniers\n3. TheTVDB — en repli pour les séries avec de bons doublages anglais\n4. TheMovieDB — en dernier recours, souvent erroné pour les animes\n\nMets AniDB en premier. La plupart des plaintes sur Reddit du type « les animes Jellyfin ne matchent pas » viennent du fait que TheMovieDB est prioritaire par défaut.",
        "providersIdIntro": "Pour les séries avec une ambiguïté de titre (plusieurs animes partageant un nom à travers les décennies), force l'ID AniDB directement dans le nom du dossier :",
        "providersIdExample": "Anime/\n└── One Piece [anidbid-69]/\n    └── Season 01/",
        "providersIdNote": "Jellyfin lit `[anidbid-X]`, `[tvdbid-X]`, `[tmdbid-X]` depuis le nom du dossier et les utilise comme identifiant de référence, ignorant complètement le matching approximatif basé sur le titre. C'est l'équivalent le plus proche dans Jellyfin du scanner HAMA de Plex — et ça marche sans aucune configuration.",
        "absoluteTitle": "Numérotation absolue (One Piece, Naruto)",
        "absoluteIntro": "Pour les séries à numérotation absolue (One Piece épisode 1064, Naruto Shippuden épisode 500), AniDB catalogue tout comme étant la saison 1 par défaut. Nomme les fichiers en conséquence :",
        "absoluteExample": "One Piece [anidbid-69]/\n└── Season 01/\n    ├── One Piece - s01e0001.mkv\n    ├── One Piece - s01e0002.mkv\n    └── One Piece - s01e1064.mkv",
        "absoluteNote": "Le remplissage à quatre chiffres (`e0001` au lieu de `e1`) n'est pas strictement obligatoire mais permet de conserver un ordre de tri dans le système de fichiers qui correspond à l'ordre de lecture — pratique quand tu explores le dossier en dehors de Jellyfin.\n\nSi tu préfères une division en saisons de style TVDB (One Piece découpé en plus de 21 arcs), retire l'ID d'AniDB et laisse le provider TheTVDB prendre le relais. Choisis un modèle et reste cohérent pour toute la série.",
        "splitSeasonsTitle": "Saisons découpées & cours (L'Attaque des Titans, Demon Slayer)",
        "splitSeasonsIntro": "Les animes modernes découpés en plusieurs « saisons » ou « cours » (L'Attaque des Titans Saison Finale Parties 1/2/3, l'arc du train de l'infini de Demon Slayer vs l'arc du quartier des plaisirs) sont la source la plus courante de problèmes de « mauvaise saison matchée ».\n\nLa solution est la même que pour Plex : décide quelle base de données correspond à ton modèle mental de la série, définis l'ordre des providers en conséquence, et utilise les ID au niveau du dossier pour forcer les matchs :",
        "splitSeasonsExample": "Anime/\n├── Attack on Titan [anidbid-9541]/\n│   ├── Season 01/\n│   ├── Season 02/\n│   ├── Season 03/\n│   └── Season 04/                    ← Final Season part 1\n├── Attack on Titan - Final Season Part 2 [anidbid-15689]/\n│   └── Season 01/                    ← split as its own AniDB entry\n└── Demon Slayer (2019)/\n    ├── Season 01/\n    ├── Season 02/                    ← Mugen Train + Entertainment District\n    └── Season 03/                    ← Swordsmith Village",
        "ovaTitle": "OAVs et films d'animation",
        "ova": "Les OAVs, les films d'animation liés à une série et les épisodes spéciaux vont tous dans « Specials » ou « Season 00 » avec une numérotation séquentielle. AniDB a des métadonnées riches pour ceux-ci — la plupart des cas d'« OAV ambigu » de style Plex se résolvent correctement dans Jellyfin sans configuration supplémentaire.\n\nPour les films d'animation autonomes (Your Name, Le Voyage de Chihiro, Akira), place-les dans ta bibliothèque de Films, pas dans une bibliothèque d'animes (séries). Le provider d'animes de Jellyfin gère mieux les films que son provider de séries.",
        "subDubTitle": "VOST vs VF/VA",
        "subDubIntro": "Comme Plex, Jellyfin peut stocker plusieurs pistes audio par fichier ou stocker des fichiers VOST/VF séparés en tant que versions multiples. Le format multi-version permet aux spectateurs de choisir via le sélecteur de version :",
        "subDubExample": "Show - s01e01 - JPN.mkv\nShow - s01e01 - ENG.mkv\n\nOr use the resolution-suffix pattern with audio language:\nShow - s01e01 - 1080p JPN.mkv\nShow - s01e01 - 1080p ENG.mkv",
        "subDubNote": "Un fichier unique avec plusieurs pistes audio intégrées est plus propre — Jellyfin lit les balises de langue audio du conteneur et permet aux spectateurs de choisir une piste dans l'interface du lecteur.",
        "examplesTitle": "Exemples concrets",
        "examples": "Anime/\n├── One Piece [anidbid-69]/\n│   └── Season 01/\n│       ├── One Piece - s01e0001.mkv\n│       └── One Piece - s01e1064.mkv\n├── Attack on Titan [anidbid-9541]/\n│   ├── Season 01/\n│   ├── Season 02/\n│   └── Specials/\n│       └── Attack on Titan - s00e01 - Ilse's Notebook.mkv\n└── Demon Slayer (2019)/\n    └── Season 02/\n        └── Demon Slayer - s02e01.mkv",
        "plexHamaLinkText": "Comparer avec Plex + HAMA"
      },
      "music": {
        "h2": "Nommer la musique pour Jellyfin",
        "intro": "La gestion de la musique par Jellyfin est l'un de ses points forts — intégration complète avec MusicBrainz, analyse sonique pour des « mix instantanés » (similaire à Plexamp), et des applications Android/iOS correctes. Côté nommage, les règles sont très proches de celles de Plex, avec deux différences mineures dans la gestion des disques et le support des Artistes Variés.",
        "folderStructureTitle": "Structure des dossiers",
        "folderStructureIntro": "Artiste → Album → Piste, tout comme Plex :",
        "folderStructureExample": "Music/\n├── Pink Floyd/\n│   ├── The Dark Side of the Moon (1973)/\n│   │   ├── 01 - Speak to Me.flac\n│   │   └── 02 - Breathe.flac\n│   └── Wish You Were Here (1975)/\n│       └── 01 - Shine On You Crazy Diamond Pts. 1-5.flac\n└── Daft Punk/\n    └── Random Access Memories (2013)/\n        └── 01 - Give Life Back to Music.flac",
        "folderStructureNote": "L'année de l'album est recommandée dans le nom du dossier. Les noms de fichiers des pistes commencent par un numéro de piste avec zéro non significatif, suivi d'un tiret et du titre.",
        "id3Title": "Les tags ID3 priment sur les noms de fichiers",
        "id3": "Jellyfin lit les tags ID3 avant les noms de fichiers, comme Plex. Tags requis : Artiste, Album, Titre, Numéro de piste. Fortement recommandés : Artiste de l'album (distinct de l'artiste de la piste sur les compilations), Année, Genre, Numéro de disque.\n\nRenomme les fichiers sans corriger les tags et Jellyfin se fiera toujours aux mauvais tags. Le flux de travail le plus propre est : d'abord corriger les tags avec MusicBrainz Picard ou Mp3tag, puis s'occuper des noms de fichiers. Le mode musique de RenameFlow lit MusicBrainz pour suggérer des noms de fichiers mais n'écrit pas les tags — utilise-le après un tagueur.",
        "variousArtistsTitle": "Artistes Variés / compilations",
        "variousArtistsIntro": "Les compilations et bandes originales utilisent un tag « Artiste de l'album » réglé sur « Various Artists » — même principe que Plex :\n\nTag ID3 : Artiste de l'album = « Various Artists »\nTag ID3 : Artiste = (artiste de la piste individuelle)\n\nStructure des dossiers :",
        "variousArtistsExample": "Music/\n└── Various Artists/\n    └── Pulp Fiction Soundtrack (1994)/\n        ├── 01 - Misirlou - Dick Dale.flac\n        └── 02 - Royale with Cheese - John Travolta.flac",
        "variousArtistsNote": "Jellyfin affiche les compilations sous « Various Artists » mais chaque piste conserve le crédit de son véritable interprète.",
        "trackNumberingTitle": "Numérotation des pistes",
        "trackNumbering": "Numéro de piste à deux chiffres avec zéro non significatif d'abord, puis un tiret optionnel et le titre :\n\n01 - Track Title.flac\n\nOu simplement `01 Track Title.flac`. Les deux fonctionnent. Évite de mettre l'artiste dans chaque nom de fichier de piste — c'est redondant avec la hiérarchie des dossiers.",
        "multiDiscTitle": "Albums multi-disques",
        "multiDiscIntro": "Les albums multi-disques utilisent des sous-dossiers « Disc XX » entre l'album et les pistes, ainsi que le tag ID3 « Numéro de disque » sur chaque fichier :",
        "multiDiscExample": "Music/\n└── Pink Floyd/\n    └── The Wall (1979)/\n        ├── Disc 01/\n        │   └── 01 - In the Flesh?.flac\n        └── Disc 02/\n            └── 01 - Hey You.flac",
        "multiDiscNote": "Jellyfin les fusionne en une vue d'album continue avec des séparateurs de disque. Sans le tag de disque, les pistes du disque 2 entrent en conflit avec celles du disque 1 (deux « 01 », deux « 02 », et le scanner en choisit un au hasard).",
        "examplesTitle": "Exemples concrets",
        "examples": "Music/\n├── Pink Floyd/\n│   ├── The Dark Side of the Moon (1973)/\n│   │   ├── 01 - Speak to Me.flac\n│   │   └── 10 - Eclipse.flac\n│   └── The Wall (1979)/\n│       ├── Disc 01/\n│       │   └── 01 - In the Flesh?.flac\n│       └── Disc 02/\n│           └── 01 - Hey You.flac\n└── Various Artists/\n    └── Pulp Fiction Soundtrack (1994)/\n        ├── 01 - Misirlou - Dick Dale.flac\n        └── 02 - Royale with Cheese.flac"
      },
      "migration": {
        "h2": "Migrer de Plex à Jellyfin",
        "intro": "Si tu passes de Plex à Jellyfin (lassitude de l'abonnement, inquiétudes sur la télémétrie, ou simplement l'envie de plus de contrôle), voici la bonne nouvelle : environ 80% de tes noms de fichiers compatibles avec Plex fonctionneront dans Jellyfin sans modification. Les 20% restants — éditions, animes, et quelques cas particuliers — nécessitent des renommages ciblés. Cette section est la checklist complète.",
        "namingCompatibilityTitle": "Ce qui est conservé, ce qui ne l'est pas",
        "namingCompatibility": "Ce qui est conservé à l'identique de Plex à Jellyfin :\n\n- Nommage des dossiers de films : « Titre (Année)/Titre (Année).mkv » fonctionne de la même manière.\n- Nommage des dossiers de séries TV : « Série (Année)/Saison XX/Série - sXXeYY.mkv » fonctionne de la même manière.\n- Suffixe de résolution pour les multi-versions : « Titre (Année) - 1080p.mkv » fonctionne sur les deux.\n- Musique : La structure Artiste/Album/Piste est transférée sans changement.\n- Gestion des spéciaux et de la « Saison 00 » : même logique.\n- Émissions quotidiennes datées (AAAA-MM-JJ) : même format.\n\nCe que tu dois renommer :\n\n- Éditions de films : Plex utilise `{edition-X}` (accolades), Jellyfin utilise `[edition-X]` (crochets). Fais un rechercher-remplacer sur toute ta bibliothèque de films.\n- Bibliothèques d'animes basées sur le scanner HAMA de Plex : supprime les tags spécifiques à HAMA et réactive AniDB comme metadata provider dans la nouvelle bibliothèque Jellyfin. Les ID de dossier `[anidbid-X]` sont conservés et fonctionnent directement.\n- ID de provider dans les noms de dossiers : le raccourci de Plex `[tmdb-X]` devient `[tmdbid-X]` dans Jellyfin (note le suffixe `id`). Idem pour tvdbid, imdbid, anidbid.",
        "watchedStatusTitle": "Migration du statut de visionnage",
        "watchedStatus": "Le statut de visionnage ne migre pas automatiquement — Plex le stocke dans sa propre base de données, pas dans les fichiers. Trois options :\n\nOption 1 — Plex Watched History Importer (plugin communautaire Jellyfin). Lit l'export de la base de données de Plex et importe les statuts de visionnage par utilisateur. Ça fonctionne, mais nécessite que Plex soit encore actif le temps de faire l'export.\n\nOption 2 — Synchronisation Trakt.tv. Si tu utilises déjà le scrobbling vers Trakt depuis Plex (via le plugin Trakt), active aussi la synchro Trakt dans Jellyfin. Ton historique de visionnage sera transféré via Trakt qui sert de pont.\n\nOption 3 — Accepter la perte et repartir de zéro. Pour les bibliothèques de moins de quelques centaines d'éléments, c'est souvent la solution la plus simple.\n\nPour les familles avec plusieurs utilisateurs, la synchro Trakt est la plus fiable.",
        "plexPassFeaturesTitle": "Fonctionnalités Plex Pass sans équivalent direct",
        "plexPassFeatures": "Certaines fonctionnalités du Plex Pass n'ont pas d'équivalent direct sur Jellyfin. À savoir avant de migrer :\n\n- DVR / TV en direct : Jellyfin gère la TV en direct via des tuners (HDHomeRun, clés USB) mais l'interface de programmation du DVR est plus rudimentaire que celle de Plex.\n- Analyse sonique de Plexamp : Jellyfin propose une détection basique de l'ambiance/genre mais pas de similarité basée sur l'empreinte sonique. Symfonium ou Manet sur mobile sont de bons clients de type Plexamp.\n- \"Passer l'intro\" (exclusif Plex Pass) : Jellyfin a des plugins communautaires pour cela (Jellyscrub, Intro Skipper) — à installer séparément.\n- Synchro mobile Plex : les applications mobiles de Jellyfin supportent la synchro, mais elle est moins aboutie que celle de Plex.\n- Tone Mapping / Transcodage accéléré matériellement de Plex : Jellyfin supporte toutes les principales accélérations matérielles mais nécessite une configuration manuelle pour chaque plateforme.\n\nCe ne sont pas des problèmes de nommage, mais ils influencent la décision de migrer ou non. Aucun d'eux ne bloque une migration propre de la bibliothèque elle-même.",
        "whenTitle": "Quand migrer (et quand rester)",
        "when": "Tu es un bon candidat à la migration si :\n- L'augmentation du prix du Plex Pass a changé ton calcul (250 $ à vie contre Jellyfin gratuit pour toujours).\n- Tu veux que ton historique de visionnage reste privé, sans télémétrie.\n- Tu es sous Linux/BSD/unRAID et tu préfères apt/Docker aux paquets officiels de Plex.\n- Tu n'as pas besoin de la programmation DVR pour la TV en direct.\n- Ça ne te dérange pas de passer un après-midi à configurer l'accélération matérielle.\n\nTu devrais rester sur Plex si :\n- Les membres de ta famille comptent sur la synchro mobile de Plex.\n- Tu dépends de la découverte soignée de Plex (Watchlist universelle, recommandations).\n- Le DVR est ton cas d'usage principal.\n- Tu préfères payer une fois pour un produit fini plutôt que de t'auto-héberger.\n\nLa migration du nommage en elle-même est une affaire de 30 minutes pour la plupart des bibliothèques — la conversion éditoriale (`{edition}` → `[edition]`) est un simple rechercher-remplacer. Utilise le mode batch de RenameFlow pour l'automatiser.",
        "examplesTitle": "Avant / après",
        "examples": "Before (Plex):\nMovies/Blade Runner (1982)/Blade Runner (1982) - {edition-Final Cut}.mkv\nTV/The Office (2005)/Season 03/The Office - s03e12 - Back from Vacation.mkv\nAnime [HAMA]/One Piece [anidb-69]/Season 01/One Piece - s01e1064.mkv\n\nAfter (Jellyfin):\nMovies/Blade Runner (1982)/Blade Runner (1982) [edition-Final Cut].mkv\nTV/The Office (2005)/Season 03/The Office - s03e12 - Back from Vacation.mkv\nAnime/One Piece [anidbid-69]/Season 01/One Piece - s01e1064.mkv\n\nTrois changements: accolades vers crochets sur l'édition du film, suppression du dossier préfixé HAMA, et renommage de `[anidb-X]` en `[anidbid-X]`.",
        "filebotLinkText": "Utilisateurs de FileBot venant de Plex"
      },
      "troubleshooting": {
        "h2": "Dépannage du nommage Jellyfin",
        "intro": "Six problèmes couvrent environ 85% des plaintes concernant le nommage sur Jellyfin. Chacun a une cause prévisible et une solution claire.",
        "causesLabel": "Causes probables",
        "stepsLabel": "Étapes de correction",
        "items": [
          {
            "problem": "Le film s'affiche comme non identifié",
            "causes": [
              "Année manquante ou au mauvais format (crochets au lieu de parenthèses)",
              "Tag d'édition en accolades {edition-X} de Plex copié sans conversion",
              "Fichier de film à la racine de la bibliothèque sans dossier",
              "Caractères spéciaux d'une release scene ('BluRay.x264-SPARKS') qui interfèrent avec le parser sur des titres rares"
            ],
            "steps": [
              "Ajoute (AAAA) entre parenthèses juste après le titre dans le nom du dossier et du fichier",
              "Convertis {edition-X} en [edition-X] (accolades → crochets)",
              "Déplace le fichier dans un dossier nommé exactement comme le fichier",
              "Depuis le tableau de bord Jellyfin → Bibliothèque → Modifier les métadonnées du film → « Identify » → recherche directement par ID TMDB"
            ]
          },
          {
            "problem": "La mauvaise série est matchée",
            "causes": [
              "Conflit de titre (The Office UK vs US, House of Cards UK vs US, etc.)",
              "Metadata providers dans le mauvais ordre — TheMovieDB renvoie la variante la plus populaire"
            ],
            "steps": [
              "Ajoute (Année) au dossier de la série",
              "Force le match : ajoute [tmdbid-X] ou [tvdbid-X] au nom du dossier de la série",
              "Paramètres de la bibliothèque → Metadata providers → remonte TheTVDB au-dessus de TheMovieDB si la série a une forte identité dans cette base de données"
            ]
          },
          {
            "problem": "Les épisodes ne matchent pas alors que la série est correcte",
            "causes": [
              "Formats de nom de fichier mélangés dans une même saison (certains en s01e01, d'autres S01E01, d'autres 1x01)",
              "Minuscule 's' avec majuscule 'E' (s01E01) — Jellyfin le matche mais cela peut casser des cas particuliers",
              "Le titre de l'épisode contient des caractères qui ressemblent à des marqueurs d'épisode (chiffres, x)"
            ],
            "steps": [
              "Standardise tous les fichiers d'épisodes d'une saison à un seul format. Le format sXXeYY en minuscules est le plus sûr",
              "Utilise un outil de renommage par lots pour normaliser toute la saison d'un coup",
              "Si un épisode spécifique échoue toujours, ajoute le titre de l'épisode clairement séparé : 'Série - s01e01 - Titre.mkv'"
            ]
          },
          {
            "problem": "Animes répartis dans les mauvaises saisons",
            "causes": [
              "AniDB n'est pas activé comme metadata provider sur la bibliothèque d'animes",
              "TheMovieDB fournit une répartition en saisons qui ne correspond pas à la structure canonique d'AniDB",
              "L'ID [anidbid-X] manque dans le nom du dossier"
            ],
            "steps": [
              "Paramètres de la bibliothèque → Metadata providers → active AniDB, déplace-le tout en haut",
              "Ajoute [anidbid-X] au nom du dossier de la série (trouve l'ID sur anidb.net)",
              "Rafraîchir les métadonnées : ⋯ → « Refresh metadata » → « Replace all metadata » → « Force »"
            ]
          },
          {
            "problem": "Le scan de la bibliothèque se termine mais la bibliothèque est vide",
            "causes": [
              "Le serveur Jellyfin n'a pas les droits de lecture sur le dossier de la bibliothèque",
              "Partage réseau non monté ou chemin d'accès modifié",
              "Mauvais type de bibliothèque (créée comme « Films » mais pointant vers un dossier de séries TV)"
            ],
            "steps": [
              "Vérifie que l'utilisateur système de Jellyfin a au moins les permissions de lecture+exécution sur le chemin d'accès",
              "Tableau de bord → Bibliothèques → vérifie que le chemin est toujours accessible, remonte le partage réseau si nécessaire",
              "Vérifie que le type de bibliothèque correspond au contenu. Recréer la bibliothèque est plus rapide que de corriger le type"
            ]
          },
          {
            "problem": "Les métadonnées semblent incorrectes (affiche, résumé, liste d'épisodes)",
            "causes": [
              "Des métadonnées en cache d'un ancien mauvais match s'affichent toujours",
              "Le provider a retourné des données partielles et Jellyfin a comblé les vides avec des données de repli en cache",
              "Champ verrouillé — modifié manuellement puis supposé se mettre à jour automatiquement plus tard"
            ],
            "steps": [
              "Menu ⋯ de la série/du film → « Refresh metadata » → « Replace all metadata » → « Force ». Remplace l'entrée de zéro",
              "Déverrouille les champs que tu avais précédemment verrouillés : Modifier les métadonnées → icône du champ → déverrouiller",
              "Si c'est toujours incorrect : « Identify » → recherche manuellement et choisis la bonne entrée TMDB/TVDB"
            ]
          }
        ]
      },
      "faster": {
        "h2": "L'alternative en 60 secondes",
        "intro": "Tout ce qui précède est la méthode manuelle : comprendre les conventions, taper les noms de fichiers, corriger les cas particuliers. Ça vaut le coup une fois pour une nouvelle bibliothèque. C'est pénible pour une migration Plex avec 2 000 fichiers à convertir.",
        "manualWayTitle": "La méthode manuelle",
        "manualWay": "À la main, une conversion de nommage Plex vers Jellyfin prend environ 30 secondes par élément si tu es discipliné — rechercher-remplacer la syntaxe d'édition, vérifier les ID des dossiers d'animes, corriger les formats d'épisodes compacts. Pour une bibliothèque de 2 000 fichiers, c'est plus de 16 heures de saisie minutieuse.",
        "oneSixtySecondWayTitle": "La méthode en 60 secondes",
        "oneSixtySecondWay": "RenameFlow fait la conversion en quelques secondes. Glisse le dossier nommé pour Plex, le parser détecte la convention existante, suggère l'équivalent compatible Jellyfin, et renomme localement après confirmation. Pas d'upload — les fichiers restent sur ton disque via l'API File System Access. Gratuit jusqu'à 15 fichiers par jour ; 49 € à vie pour toute la bibliothèque en une seule passe.\n\nPour une nouvelle bibliothèque Jellyfin partant de releases scene brutes (sans nommage Plex à convertir), RenameFlow interroge TheMovieDB, TheTVDB, AniList et MusicBrainz en parallèle et produit directement la convention compatible Jellyfin — en respectant les règles exactes de ce guide.",
        "pricingLinkText": "Abonnements RenameFlow",
        "cta": "Gratuit : 15 fichiers/jour, compte gratuit en 30 secondes, aucun upload."
      },
      "faq": {
        "h2": "Nommage Jellyfin — Foire Aux Questions",
        "seeAllLinkText": "Voir toutes les FAQ de RenameFlow",
        "items": [
          {
            "question": "convention nommage jellyfin compatible plex ?",
            "answer": "Oui à environ 80 %. La structure des dossiers, l'année pour les films, le format sXXeYY pour les séries, la structure Artiste/Album/Piste pour la musique — tout est identique. Les principales différences sont : les éditions de films utilisent des crochets [edition-X] dans Jellyfin contre des accolades {edition-X} dans Plex ; les ID de providers utilisent le suffixe 'id' (tmdbid, tvdbid, anidbid) dans Jellyfin ; et les animes utilisent le provider AniDB natif de Jellyfin au lieu du plugin HAMA. Prévois environ 30 minutes de travail de rechercher-remplacer pour une migration classique."
          },
          {
            "question": "faut-il HAMA pour les animes sur jellyfin ?",
            "answer": "Non. Jellyfin intègre AniDB et AniList comme des metadata providers natifs — il suffit de les activer dans les paramètres de la bibliothèque. La syntaxe d'ID de dossier [anidbid-X] fonctionne directement. C'est l'un des plus grands avantages de Jellyfin par rapport à Plex pour les bibliothèques d'animes."
          },
          {
            "question": "pourquoi jellyfin matche la mauvaise version d'un film ?",
            "answer": "Pour la même raison que Plex : TheMovieDB renvoie les correspondances triées par popularité. Corrige cela en ajoutant l'année entre parenthèses '(AAAA)' au dossier et au nom du fichier. Pour les cas tenaces, force le match avec '[tmdbid-X]' dans le nom du dossier."
          },
          {
            "question": "quel est le nom de fichier le plus sûr pour les épisodes de série sur jellyfin ?",
            "answer": "En minuscules, avec des zéros non significatifs : sXXeYY. Exemple : 'Série - s01e01 - Titre.mkv'. Jellyfin accepte plus de 8 variantes, mais les mélanger au sein d'une même série est la cause la plus fréquente d'échecs de matching partiel de saison."
          },
          {
            "question": "puis-je utiliser jellyfin et plex sur le même dossier bibliothèque ?",
            "answer": "Oui, tant que le nommage fonctionne pour les deux. La structure de dossiers compatible avec Plex fonctionne dans Jellyfin pour les films, les séries et la musique. Les éditions de films sont la seule exception — choisis la syntaxe du serveur que tu utilises le plus, et accepte que l'autre affiche une étiquette d'édition incorrecte (ou générique)."
          },
          {
            "question": "jellyfin supporte le 4K HDR et dolby vision comme plex ?",
            "answer": "Oui pour le HDR10 (la plupart des clients). Le support du Dolby Vision dépend du client — le serveur Jellyfin gère bien le fichier, mais la lecture DV nécessite un client qui supporte le profil DV de ton fichier (profil 5, 7, 8). La plupart des clients modernes supportent le profil DV 8.1. Côté nommage, utilise simplement le multi-version avec le suffixe de résolution et Jellyfin gère automatiquement la sélection du client."
          },
          {
            "question": "pourquoi mes scans jellyfin sont si lents comparés à plex ?",
            "answer": "Deux raisons principales : des metadata providers bavards (surtout TheTVDB) et l'étape d'extraction des chapitres lors du premier scan. Accélère le processus en désactivant l'extraction des chapitres dans les paramètres de la bibliothèque (tu peux la réactiver à la demande pour des séries spécifiques), en réduisant le nombre de providers activés (un principal + un de secours suffisent), et en lançant les scans pendant les heures creuses. La plupart des bibliothèques atteignent une vitesse raisonnable après le premier scan complet."
          },
          {
            "question": "comment automatiser le nommage pour les nouveaux téléchargements jellyfin ?",
            "answer": "Oui, deux approches. Pour les chaînes automatisées : Sonarr + Radarr pré-nomment les fichiers avant qu'ils n'arrivent dans ta bibliothèque — configure la convention de nommage de Sonarr pour qu'elle corresponde aux modèles Jellyfin de ce guide. Pour une révision manuelle : utilise RenameFlow comme outil de traitement par lots lors de l'importation — il interroge les mêmes metadata providers que Jellyfin (TMDB, TVDB, AniList, MusicBrainz) et produit des noms de fichiers conformes à Jellyfin."
          }
        ]
      },
      "related": {
        "h2": "Continuer la lecture",
        "items": [
          {
            "title": "Guide de nommage Plex (les équivalents)",
            "href": "/plex-naming-guide"
          },
          {
            "title": "Tutoriel de renommage étape par étape",
            "href": "/how-to-rename"
          },
          {
            "title": "RenameFlow vs FileBot, TinyMediaManager, et autres",
            "href": "/alternatives"
          },
          {
            "title": "Toutes les FAQ de RenameFlow",
            "href": "/faq"
          }
        ]
      },
      "externalLinks": {
        "jellyfinMovies": "Nommage films Jellyfin (officiel)",
        "jellyfinShows": "Nommage séries Jellyfin (officiel)",
        "jellyfinMusic": "Nommage musique Jellyfin (officiel)",
        "jellyfinExtras": "Extras Jellyfin (officiel)",
        "jellyfinGithub": "Jellyfin sur GitHub"
      },
      "howTo": {
        "name": "Comment nommer les fichiers de films pour Jellyfin",
        "description": "La méthode, étape par étape, pour nommer tes fichiers de films afin que le scanner de Jellyfin les reconnaisse du premier coup.",
        "step1": {
          "name": "Crée un dossier par film",
          "text": "Chaque film a son propre dossier, nommé « Titre (Année) », par exemple « Blade Runner (1982) ». Le fichier vidéo à l'intérieur reprend exactement ce nom."
        },
        "step2": {
          "name": "Ajoute l'année de sortie entre parenthèses",
          "text": "Jellyfin utilise TMDB et départage les titres identiques grâce à l'année. Utilise toujours des parenthèses : « Dune (2021) »."
        },
        "step3": {
          "name": "Utilise [edition-X] pour les montages, un tiret + un libellé pour les résolutions",
          "text": "Les director's cuts s'écrivent [edition-Final Cut], entre crochets (et non entre accolades comme sur Plex). Pour plusieurs résolutions, place des fichiers « Titre (Année) - 1080p.mkv » côte à côte dans le même dossier."
        },
        "step4": {
          "name": "Lance un scan de la bibliothèque Jellyfin",
          "text": "Tableau de bord → Médiathèques → ⋯ → « Scan library ». Pour forcer une nouvelle identification complète d'un élément bloqué : ⋯ → « Refresh metadata » → « Replace all metadata » → « Force »."
        }
      }
    },
    "kodi": {
      "seoTitle": "Guide Kodi 2026 : Films, Séries et NFO",
      "seoDescription": "Maîtrise le nommage Kodi pour les films, séries, anime, musique et fichiers NFO. Résous les problèmes de scan et organise ta bibliothèque rapidement.",
      "keywords": "convention de nommage kodi, nommage fichier kodi, nommage série tv kodi, nommage film kodi, kodi anime, fichiers nfo kodi, bibliothèque kodi ne scanne pas",
      "h1": "Guide de nommage Kodi : Films, Séries TV, Anime, Musique & Fichiers NFO (2026)",
      "readingTime": "~12 min de lecture",
      "trust": {
        "updated": "Mis à jour en 2026",
        "crossRef": "Vérifié avec le wiki de Kodi 21 (Omega)",
        "builtBy": "Créé par l'équipe derrière RenameFlow"
      },
      "guidesHub": {
        "cardTitle": "Guide de nommage Kodi",
        "cardDesc": "La référence complète pour nommer les films, séries, animes et musique pour Kodi — plus une analyse détaillée des fichiers NFO, des scrapers et du dépannage de la bibliothèque.",
        "cardBadge": "Nouveau"
      },
      "intro": {
        "lead": "Kodi est réputé pour sa flexibilité quant au nommage de tes fichiers — et c'est précisément pourquoi tant de bibliothèques se cassent. Le scanner accepte une douzaine de modèles valides mais les applique de manière incohérente selon les scrapers. Choisis le bon modèle pour ton scraper et Kodi trouvera les affiches, résumés et titres d'épisodes en quelques secondes. Fais-le mal et tu fixeras \"aucune information trouvée\" pendant des heures.",
        "problem": "Ce guide est la référence pratique que nous aurions aimé avoir en créant notre première bibliothèque Kodi — chaque type de média, chaque bizarrerie de scraper, le système de fichiers NFO qui te permet de contourner complètement les scrapers, et les étapes de dépannage quand la bibliothèque refuse de scanner. Les exemples suivent le wiki officiel de Kodi et sont vérifiés sur le comportement de Kodi 21 (Omega), avec des notes de compatibilité pour Kodi 20 (Nexus) et les versions antérieures.",
        "promise": "À la fin, tu auras une bibliothèque Kodi qui se scanne proprement du premier coup — que tu partes de zéro, que tu répares un bazar existant, ou que tu viennes de Plex ou Jellyfin en te demandant pourquoi \"les modèles que j'ai toujours utilisés\" ont soudainement cessé de fonctionner.",
        "heroCta": "Évite le travail manuel — renomme un dossier en quelques secondes"
      },
      "toc": {
        "fundamentals": "Les bases",
        "movies": "Films",
        "tvShows": "Séries TV",
        "anime": "Anime (scraper Hama)",
        "music": "Musique",
        "nfo": "Fichiers NFO",
        "troubleshooting": "Dépannage",
        "faster": "L'alternative en 60 secondes",
        "faq": "FAQ"
      },
      "fundamentals": {
        "h2": "Les bases du nommage sur Kodi",
        "intro": "Trois concepts sur la manière dont Kodi scanne diffèrent suffisamment de Plex et Jellyfin pour mériter leur propre explication. Saute cette section et tu continueras à rencontrer les trois mêmes échecs : mauvais scraper pour ta bibliothèque, type de contenu mal configuré, et des fichiers NFO inattendus qui écrasent tes scrapes.",
        "scrapersTitle": "Des scrapers, pas des agents",
        "scrapersVsAgents": "Là où Plex a des \"agents\" et Jellyfin des \"fournisseurs de métadonnées\", Kodi a des \"scrapers\" — des add-ons maintenus par la communauté qui interrogent des bases de données spécifiques. Par défaut, on trouve le scraper The Movie Database pour les films, le scraper The Movie Database ou le scraper The TVDB pour les séries TV, et le Universal Album Scraper pour la musique. L'anime est la grande exception : Kodi n'a pas de scraper d'anime intégré, donc les utilisateurs installent des add-ons communautaires comme Hama (le même que celui utilisé dans Plex) pour l'intégration d'AniDB.\n\nLe choix du scraper se fait par source, pas par bibliothèque. Ouvre une source vidéo Kodi dans l'explorateur de fichiers, modifie-la, et choisis \"Définir le contenu\" pour assigner un scraper. La même source peut être scrapée par différents add-ons sur des appareils Kodi du même réseau — c'est l'une des raisons pour lesquelles la situation \"mon Kodi fonctionne mais pas celui de mon ami\" est si courante.",
        "sourcesTitle": "Sources de bibliothèque et types de contenu",
        "librarySources": "La bibliothèque de Kodi est construite à partir de « sources » que tu ajoutes manuellement — des dossiers, des partages réseau ou des chemins distants. Quand tu ajoutes une source, tu indiques à Kodi quel type de contenu elle contient (Movies, TV shows, Music videos, Music, None) et quel scraper utiliser pour ce contenu. Mélanger les types de contenu dans une seule source est une cause fréquente de fichiers non reconnus : un dossier contenant à la fois des films et des séries TV ne peut être analysé que comme l'un ou l'autre.\n\nLa solution est de séparer les contenus mixtes dans des dossiers de premier niveau distincts, chacun étant sa propre source, avec son propre type de contenu. C'est plus rigide que la détection de bibliothèque par dossier de Plex, mais plus prévisible une fois que tu t'engages à respecter la structure.",
        "fourRulesTitle": "Quatre règles pour éviter 90 % des échecs",
        "fourRules": "Quatre règles qui évitent la grande majorité des échecs d'analyse de Kodi :\n\nRule 1 — Un seul type de contenu par source. Ne mélange pas les films et les séries TV dans un seul dossier que Kodi analyse en tant que « Movies ».\n\nRule 2 — Définis le type de contenu et le scraper AVANT la première analyse. Les modifier plus tard nécessite un « Refresh » et parfois une suppression complète de la base de données pour nettoyer les anciennes correspondances erronées.\n\nRule 3 — Utilise sXXeYY pour les épisodes de séries TV, en minuscules, avec des zéros non significatifs. Kodi accepte plus de variantes que Plex, mais des schémas prévisibles évitent les cas limites des scrapers.\n\nRule 4 — Quand un scraper échoue de manière répétée sur un élément spécifique, dépose un fichier NFO à côté. Les fichiers NFO remplacent entièrement les scrapers — c'est la porte de sortie de Kodi.",
        "walkthroughLinkText": "guide pas à pas"
      },
      "movies": {
        "h2": "Nommer les films pour Kodi",
        "intro": "Kodi accepte deux organisations valides pour les films — un dossier par film et une structure plate. La structure par dossier est recommandée pour les mêmes raisons que pour Plex et Jellyfin (extras, affiches, fichiers NFO), plus une fonctionnalité spécifique à Kodi : les films en plusieurs parties (stacked), que Kodi gère nativement, contrairement à Plex et Jellyfin.",
        "folderStructureTitle": "Structure de dossiers recommandée",
        "folderStructureIntro": "La structure de dossiers recommandée :",
        "folderStructureExample": "Movies/\n├── Blade Runner (1982)/\n│   ├── Blade Runner (1982).mkv\n│   ├── Blade Runner (1982).en.srt\n│   ├── movie.nfo\n│   ├── poster.jpg\n│   └── fanart.jpg\n├── Dune (2021)/\n│   └── Dune (2021).mkv\n└── The Matrix (1999)/\n    └── The Matrix (1999).mkv",
        "folderStructureNote": "Le nom du fichier correspond au nom du dossier. Les fichiers d'illustrations utilisent les noms locaux de Kodi : poster.jpg, fanart.jpg, clearart.png, landscape.jpg. Les sous-titres suivent la convention Title (Year).en.srt, .fr.srt etc. — Kodi lit le code de langue à partir du suffixe séparé par un point.",
        "yearTitle": "Le suffixe (Année) n'est pas optionnel",
        "year": "L'année entre parenthèses n'est pas négociable pour les mêmes raisons que pour Plex et Jellyfin : TheMovieDB renvoie les correspondances de titres en double triées par popularité, et Kodi choisira silencieusement la mauvaise. Format : Title (YYYY). Les crochets [YYYY], les points Title.YYYY et les années seules fonctionnent avec certains scrapers mais échouent avec d'autres — les parenthèses sont universelles.\n\nPour les films totalement absents de TMDB (films d'art et d'essai rares, sorties régionales), un fichier NFO avec un ID TMDB manuel est la seule solution fiable. Consulte la section NFO ci-dessous.",
        "stackedTitle": "Films en plusieurs parties (stacked) (spécifique à Kodi)",
        "stackedIntro": "Kodi prend en charge nativement les films en plusieurs parties stockés dans des fichiers séparés — une fonctionnalité de l'ère du rip de DVD qui reste utile pour les films très longs (LotR Extended, Once Upon a Time in America) répartis sur plusieurs disques. Utilise les schémas de suffixe cd1 / cd2 / partN / dvdN :",
        "stackedExample": "Movies/\n└── Lord of the Rings - The Fellowship of the Ring (2001)/\n    ├── Lord of the Rings - The Fellowship of the Ring (2001) - cd1.mkv\n    └── Lord of the Rings - The Fellowship of the Ring (2001) - cd2.mkv",
        "stackedNote": "Kodi les lit à la suite comme un seul film et les scrape comme une seule entrée dans la médiathèque. Le format de nommage est insensible à la casse et accepte cd, part, dvd, pt et quelques autres — mais cd1/cd2 est le plus sûr et le mieux documenté.",
        "multiVersionTitle": "Plusieurs versions du même film",
        "multiVersion": "Kodi n'a pas la fonctionnalité de fusion multi-version que proposent Plex et Jellyfin — tu ne peux pas stocker une version 1080p et une 4K sous une seule entrée et laisser Kodi choisir la bonne pour le client. Chaque fichier devient sa propre entrée dans la médiathèque. Deux solutions de contournement :\n\nApproche 1 — Garde une version par film dans la médiathèque de Kodi, et stocke les autres versions en dehors de la source scrapée. Change la source de la médiathèque manuellement quand tu veux l'autre qualité.\n\nApproche 2 — Sépare en deux médiathèques (Movies-1080p, Movies-4K) avec deux sources. Utilise les profils Kodi ou les raccourcis de skin pour basculer entre elles. C'est plus de travail, mais ça permet à toutes les versions de coexister dans la même installation de Kodi.\n\nSi le multi-version est central dans ton workflow, c'est le seul domaine où Plex et Jellyfin sont objectivement plus performants.",
        "setsTitle": "Sagas de films et collections",
        "sets": "Kodi gère les sagas de films (parfois appelées \"collections\") — Star Wars, Marvel Cinematic Universe, Lord of the Rings — regroupant les films sous un seul nœud de collection navigable. Les sagas sont peuplées automatiquement à partir des données de collection de TMDB pour les films qui en font partie. Aucun changement de nom n'est requis ; Kodi lit l'ID de la collection depuis les métadonnées TMDB scrapées.\n\nPour les sagas personnalisées (ton propre regroupement qui n'est pas sur TMDB), utilise un fichier NFO au niveau du film avec une balise <set> pointant vers un nom de saga personnalisé.",
        "mistakesTitle": "Quatre erreurs responsables de la plupart des échecs de scraping",
        "mistakes": "1. Type de contenu de la source défini sur \"Aucun\" ou sur le mauvais type. Sans type de contenu, Kodi ne le scanne pas du tout comme des films.\n\n2. Année manquante ou entre crochets. \"Inception 2010.mkv\" est trouvé par chance ; \"Inception [2010].mkv\" échoue avec le scraper TMDB.\n\n3. Fichier de film à la racine de la source sans dossier. Ça fonctionne pour la correspondance mais casse les illustrations, les NFO et les fonctionnalités de fichiers en plusieurs parties.\n\n4. Entrées obsolètes d'un précédent scraping incorrect. Même après avoir corrigé les noms, Kodi affiche l'ancienne mauvaise correspondance. Solution : menu contextuel de la médiathèque → \"Nettoyer la médiathèque\" → puis relancer un scan.",
        "examplesTitle": "Exemples complets",
        "examples": "Movies/\n├── The Matrix (1999)/\n│   ├── The Matrix (1999).mkv\n│   ├── movie.nfo\n│   └── fanart.jpg\n├── Lord of the Rings - The Fellowship of the Ring (2001)/\n│   ├── Lord of the Rings - The Fellowship of the Ring (2001) - cd1.mkv\n│   └── Lord of the Rings - The Fellowship of the Ring (2001) - cd2.mkv\n├── Dune (2021)/\n│   └── Dune (2021).mkv\n└── 1917 (2019)/\n    └── 1917 (2019).mkv",
        "plexLinkText": "Équivalents pour Plex",
        "ctaSoft": "Évite la saisie manuelle — renomme un dossier de films en quelques secondes"
      },
      "tvShows": {
        "h2": "Nommer les séries TV pour Kodi",
        "intro": "C'est pour les séries TV que la flexibilité de Kodi est la plus utile — plusieurs formats de nom de fichier valides sont acceptés, et le scraper est tolérant aux variations mineures. Le compromis : quand quelque chose ne correspond pas, la cause est rarement évidente. Cette section couvre les formats sûrs et les cas où Kodi diffère de Plex/Jellyfin.",
        "folderStructureTitle": "Structure des dossiers",
        "folderStructureIntro": "Structure standard à deux niveaux : un dossier pour la série, puis des sous-dossiers par saison.",
        "folderStructureExample": "TV Shows/\n├── Breaking Bad (2008)/\n│   ├── tvshow.nfo\n│   ├── poster.jpg\n│   ├── Season 01/\n│   │   ├── Breaking Bad - s01e01 - Pilot.mkv\n│   │   └── Breaking Bad - s01e02 - Cat's in the Bag.mkv\n│   └── Season 02/\n│       └── Breaking Bad - s02e01.mkv\n└── The Office (2005)/\n    └── Season 03/\n        └── The Office - s03e12.mkv",
        "folderStructureNote": "Nom du dossier de la série : \"Title (Year)\". L'année permet de différencier les remakes — The Office UK 2001 vs US 2005, House of Cards UK 1990 vs US 2013. Dossier de saison : \"Season XX\" avec un zéro initial pour les nombres à deux chiffres, ou \"Season 0\" (ou \"Season 00\") pour les épisodes spéciaux. Kodi accepte à la fois \"Season 0\" et \"Season 00\" ; choisis-en un et sois cohérent.\n\nContrairement à la convention de dossier \"Specials\" de Plex, Kodi ne reconnaît PAS un nom de dossier littéral \"Specials\". Utilise Season 0 ou Season 00.",
        "filenameTitle": "Format du nom de fichier d'épisode",
        "filenameFormat": "Le format de nom de fichier d'épisode recommandé par Kodi :\n\nShow Name - sXXeYY - Episode Title.ext\n\nLettres minuscules, numéros à deux chiffres avec zéro initial, titre d'épisode optionnel pour la lisibilité. Kodi accepte les majuscules (SXXEYY), Show.S01E01, Show 1x01, Show 101 et plusieurs autres variantes — mais la forme en minuscules séparée par des tirets est la plus fiable pour tous les scrapers.\n\nLe titre de l'épisode dans le nom de fichier n'est là que pour la lisibilité humaine — le scraper de Kodi le remplace par le titre canonique de TheTVDB ou TheMovieDB. Si le titre fourni par le scraper est incorrect, modifie-le via l'interface de Kodi (clic droit sur l'épisode → \"Information\" → \"Modifier\") ou via le fichier NFO (abordé plus loin).",
        "season0Title": "Épisodes spéciaux dans Season 0",
        "season0": "Les épisodes spéciaux, OAV, épisodes pilotes, coulisses et contenus bonus vont dans \"Season 0\" (ou \"Season 00\" — Kodi traite les deux de manière identique). À l'intérieur, utilise une numérotation séquentielle : Show - s00e01.mkv, Show - s00e02.mkv.\n\nL'ordre de numérotation doit correspondre à la liste des épisodes spéciaux de TheTVDB pour cette série. La communauté TheTVDB organise ces épisodes dans un ordre spécifique (souvent basé sur la date de diffusion) ; Kodi s'attend à ce que tu suives cet ordre. Si tes épisodes spéciaux semblent en désordre dans l'interface de Kodi, vérifie l'onglet des spéciaux sur TheTVDB pour la série et réorganise tes numéros s00eYY en conséquence.",
        "multiEpisodeTitle": "Fichiers multi-épisodes",
        "multiEpisodeIntro": "Pour les épisodes doubles dans un seul fichier :",
        "multiEpisodeExample": "Breaking Bad - s05e15-e16 - Granite State + Felina.mkv",
        "multiEpisodeNote": "Kodi crée un seul élément lisible qui correspond aux deux épisodes dans les métadonnées. La forme avec une plage (e15-e16) est plus propre ; la forme alternative (s05e15-s05e16) fonctionne également. Les deux s'étendent aux épisodes triples ou quadruples si nécessaire (e15-e16-e17), bien que ce soit rare en pratique.",
        "dailyTitle": "Séries quotidiennes (basées sur la date)",
        "dailyIntro": "Les séries quotidiennes (talk-shows, actualités) sans numéros de saison/épisode traditionnels utilisent le format de date YYYY-MM-DD :",
        "dailyExample": "The Daily Show (1996)/\n└── Season 29/\n    └── The Daily Show - 2024-03-15.mkv",
        "dailyNote": "Le scraper TheTVDB de Kodi fait correspondre la date avec l'index des dates de la série quotidienne. Assure-toi que la source utilise le scraper TheTVDB, et non TheMovieDB — TheMovieDB a un support limité pour les séries quotidiennes.",
        "examplesTitle": "Exemples complets",
        "examples": "TV Shows/\n├── Breaking Bad (2008)/\n│   ├── tvshow.nfo\n│   ├── Season 01/\n│   │   ├── Breaking Bad - s01e01 - Pilot.mkv\n│   │   └── Breaking Bad - s01e02 - Cat's in the Bag.mkv\n│   ├── Season 05/\n│   │   └── Breaking Bad - s05e15-e16 - Granite State + Felina.mkv\n│   └── Season 00/\n│       └── Breaking Bad - s00e01 - No Half Measures.mkv\n├── Chernobyl (2019)/\n│   └── Season 01/\n│       └── Chernobyl - s01e01 - 1:23:45.mkv\n└── The Daily Show (1996)/\n    └── Season 29/\n        └── The Daily Show - 2024-03-15.mkv",
        "jellyfinLinkText": "Équivalents pour Jellyfin"
      },
      "anime": {
        "h2": "Nommer les animes pour Kodi (avec le scraper Hama)",
        "intro": "Kodi n'a pas de scraper d'anime intégré. Les add-ons par défaut TheMovieDB et TheTVDB traitent les animes comme des séries TV normales, ce qui fonctionne pour les shonen saisonniers modernes mais échoue avec les séries à numérotation absolue (One Piece, Détective Conan, Bleach). La solution est Hama, le même scraper communautaire utilisé dans Plex pour les bibliothèques d'animes. L'installer une seule fois débloque l'intégration d'AniDB pour toutes tes sources d'animes sur Kodi.",
        "hamaTitle": "Configurer Hama (10 minutes, une seule fois)",
        "hamaSetup": "La configuration de Hama dans Kodi prend environ 10 minutes :\n\n1. Télécharge Hama depuis github.com/ZeroQI/Hama.bundle (le bundle Plex fonctionne pour Kodi via le wrapper de l'add-on Hama pour Kodi). Alternative : installe \"Hama\" depuis le dépôt d'add-ons officiel de Kodi s'il est disponible dans ta version de Kodi.\n\n2. Dans Kodi : Paramètres → Add-ons → Installer depuis un dépôt → Fournisseurs d'informations → Séries TV → installe Hama (et Hama.bundle s'il est listé séparément).\n\n3. Crée une source dédiée aux animes. Ajoute une source vidéo pointant vers ton dossier d'animes, définis le type de contenu sur \"Séries TV\", et choisis \"Hama\" comme scraper au lieu de TheMovieDB ou TheTVDB.\n\n4. Par défaut, Hama utilise AniDB comme base de données principale. Tu peux changer l'ordre de priorité via les paramètres du scraper — AniDB en premier est recommandé pour les séries à numérotation absolue ; TVDB en premier pour les séries dont tu veux les métadonnées en anglais (doublage).\n\n5. Lance un scrape sur la source. Le premier scrape est lent (Hama interroge plusieurs bases de données) — sois patient. Les scrapes suivants sont beaucoup plus rapides.",
        "absoluteTitle": "Numérotation absolue des épisodes",
        "absoluteIntro": "Pour les séries à numérotation absolue comme One Piece (épisode 1064), utilise la saison 01 avec les numéros d'épisodes absolus paddés sur 4 chiffres :",
        "absoluteExample": "Anime/\n└── One Piece [anidbid-69]/\n    └── Season 01/\n        ├── One Piece - s01e0001.mkv\n        ├── One Piece - s01e0002.mkv\n        └── One Piece - s01e1064.mkv",
        "absoluteNote": "Le suffixe [anidbid-X] dans le nom du dossier force Hama à utiliser directement l'entrée AniDB, en ignorant la recherche approximative par titre. Trouve l'ID sur anidb.net en cherchant la série — l'ID se trouve dans l'URL.\n\nLe padding sur 4 chiffres n'est pas requis pour la détection mais permet de conserver un ordre de tri dans le système de fichiers qui correspond à l'ordre de lecture. Sans padding, le fichier e1064 est trié après e11 au lieu d'être après e1063, ce qui rend la navigation dans le dossier déroutante en dehors de Kodi.",
        "splitSeasonsTitle": "Saisons découpées et arcs narratifs",
        "splitSeasonsIntro": "Les animes modernes découpés en \"parties\" (Attack on Titan Final Season Parties 1/2/3, les arcs de Demon Slayer) causent la même confusion de scraping que sur Plex et Jellyfin. La solution : décide quelle base de données correspond à ta vision de la structure de la série, force-la via le suffixe ID dans le nom du dossier, et reste cohérent pour tous tes animes.",
        "splitSeasonsExample": "Anime/\n├── Attack on Titan [anidbid-9541]/\n│   ├── Season 01/\n│   ├── Season 02/\n│   ├── Season 03/\n│   └── Season 04/   ← Partie 1 de la Saison Finale\n├── Attack on Titan - Final Season Part 2 [anidbid-15689]/\n│   └── Season 01/   ← AniDB traite la Partie 2 comme une entrée séparée\n└── Demon Slayer (2019)/\n    ├── Season 01/\n    ├── Season 02/   ← Arc du Train de l'Infini + Arc du Quartier des Plaisirs\n    └── Season 03/",
        "examplesTitle": "Exemples complets",
        "examples": "Anime/\n├── One Piece [anidbid-69]/\n│   ├── Season 01/\n│   │   ├── One Piece - s01e0001.mkv\n│   │   └── One Piece - s01e1064.mkv\n│   └── Season 00/\n│       └── One Piece - s00e001 - Movie 14 Stampede.mkv\n├── Attack on Titan [anidbid-9541]/\n│   ├── Season 01/\n│   └── Season 04/\n└── Demon Slayer (2019)/\n    └── Season 02/\n        └── Demon Slayer - s02e01.mkv",
        "plexAnimeLinkText": "Animes sur Plex (HAMA, même scraper)"
      },
      "music": {
        "h2": "Nommer la musique pour Kodi",
        "intro": "Dans Kodi, la musique est d'abord gérée par les tags, puis par les dossiers — exactement comme pour Plex et Jellyfin. Le Universal Album Scraper (par défaut dans Kodi 19+) lit les tags ID3 et interroge MusicBrainz et TheAudioDB pour obtenir les illustrations et les métadonnées. Corrige d'abord les tags, et ne t'occupe de la structure des dossiers qu'après.",
        "folderStructureTitle": "Structure de dossiers recommandée",
        "folderStructureIntro": "Structure recommandée :",
        "folderStructureExample": "Music/\n├── Pink Floyd/\n│   ├── The Dark Side of the Moon (1973)/\n│   │   ├── 01 - Speak to Me.flac\n│   │   └── 02 - Breathe.flac\n│   └── Wish You Were Here (1975)/\n│       └── 01 - Shine On You Crazy Diamond Pts. 1-5.flac\n├── Various Artists/\n│   └── Pulp Fiction Soundtrack (1994)/\n│       ├── 01 - Misirlou - Dick Dale.flac\n│       └── 02 - Royale with Cheese - John Travolta.flac\n└── Tool/\n    └── Lateralus (2001)/\n        ├── Disc 01/\n        │   └── 01 - The Grudge.flac\n        └── Disc 02/\n            └── 01 - Faaip de Oiad.flac",
        "folderStructureNote": "Il est recommandé d'inclure l'année de l'album dans le nom du dossier. Les albums multi-disques utilisent des sous-dossiers \"Disc XX\". Les compilations utilisent un tag d'artiste d'album \"Various Artists\" (le tag Album Artist est \"Various Artists\", tandis que le tag Artist individuel reste l'interprète de la piste).",
        "tagsTitle": "Les tags ID3 que Kodi utilise vraiment",
        "tags": "Tags ID3 requis pour une correspondance propre dans Kodi : Artist, Album, Title, Track Number. Fortement recommandés : Album Artist (distinct de Artist sur les compilations), Year, Genre, Disc Number, MusicBrainz IDs.\n\nLes ID MusicBrainz (Album ID et Recording ID, intégrés en tant que trames TXXX ID3v2.3 ou commentaires Vorbis) permettent au Universal Album Scraper de Kodi de faire une correspondance exacte, en évitant la correspondance approximative par titre. Utilise MusicBrainz Picard pour écrire ces ID une bonne fois pour toutes et ta bibliothèque Kodi deviendra quasi infaillible.\n\nLe mode musique de RenameFlow lit MusicBrainz et produit des noms de fichiers et une structure de dossiers précis ; il n'écrit pas de tags ID3. Utilise-le après un tagueur comme Picard, pas en remplacement.",
        "examplesTitle": "Exemples complets",
        "examples": "Music/\n└── Pink Floyd/\n    ├── The Dark Side of the Moon (1973)/\n    │   ├── 01 - Speak to Me.flac\n    │   └── 10 - Eclipse.flac\n    └── The Wall (1979)/\n        ├── Disc 01/\n        │   └── 01 - In the Flesh?.flac\n        └── Disc 02/\n            └── 01 - Hey You.flac"
      },
      "nfo": {
        "h2": "Fichiers NFO — Le système de surcharge des métadonnées de Kodi",
        "intro": "Les fichiers NFO sont la plus grande différence entre Kodi et Plex/Jellyfin en matière de nommage. Un NFO est un petit fichier XML que tu places à côté d'une vidéo, et Kodi le lit AU LIEU d'interroger les scrapers en ligne. Ils sont optionnels mais extrêmement utiles : ils te permettent de corriger les mauvaises correspondances du scraper, de documenter des collections personnalisées et de figer des métadonnées qui pourraient autrement changer avec les mises à jour des bases de données en ligne.\n\nPlex n'a pas d'équivalent ; Jellyfin offre un support partiel via des images locales et un XML minimal. Le système NFO de Kodi est l'implémentation la plus mature de tous les media centers open-source.",
        "whenToUseTitle": "Quand créer des fichiers NFO (et quand ne pas le faire)",
        "whenToUse": "Tu n'as pas besoin de fichiers NFO pour tout — les scrapers gèrent correctement 90 % des correspondances. Voici les quatre scénarios où les fichiers NFO valent le coup :\n\n1. Le scraper choisit le mauvais film/la mauvaise série et la fonction \"Modifier\" dans l'interface de Kodi ne sauvegarde pas le changement (fréquent pour les séries avec de nombreux remakes).\n\n2. Un film ou une série n'est pas du tout sur TMDB/TheTVDB (sorties régionales, fan edits, contenu de niche).\n\n3. Tu veux des regroupements de collections personnalisés au-delà de ce que propose TMDB (ton propre ensemble \"Meilleure SF des années 90\", par exemple).\n\n4. Tu stockes des métadonnées que tu ne peux pas te permettre de perdre — la bibliothèque de Kodi peut être reconstruite uniquement à partir des fichiers NFO si la base de données est corrompue.\n\nPour les bibliothèques de moins de 200 éléments, les fichiers NFO sont généralement superflus. Pour les bibliothèques de plus de 1 000 éléments où tu as passé du temps à corriger les métadonnées, ils sont une assurance.",
        "movieTitle": "movie.nfo — le NFO le plus utile",
        "movieIntro": "Format NFO pour les films. Place le fichier à côté du film sous le nom movie.nfo (ou Title (Year).nfo pour correspondre au nom du fichier vidéo — les deux fonctionnent, movie.nfo est la convention) :",
        "movieExample": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<movie>\n  <title>Blade Runner</title>\n  <originaltitle>Blade Runner</originaltitle>\n  <year>1982</year>\n  <plot>A blade runner must pursue and terminate four replicants...</plot>\n  <runtime>117</runtime>\n  <mpaa>R</mpaa>\n  <genre>Science Fiction</genre>\n  <genre>Thriller</genre>\n  <director>Ridley Scott</director>\n  <actor>\n    <name>Harrison Ford</name>\n    <role>Rick Deckard</role>\n  </actor>\n  <uniqueid type=\"tmdb\" default=\"true\">78</uniqueid>\n  <uniqueid type=\"imdb\">tt0083658</uniqueid>\n  <set>\n    <name>Blade Runner Collection</name>\n  </set>\n</movie>",
        "movieNote": "Le champ <uniqueid type=\"tmdb\"> force Kodi à utiliser l'entrée TMDB spécifique au lieu d'une correspondance floue sur le titre. C'est la balise la plus utile — si tu ne dois écrire qu'une seule chose dans tes fichiers NFO, écris celle-ci.",
        "tvTitle": "tvshow.nfo — Remplacements au niveau de la série",
        "tvIntro": "Les fichiers NFO pour les séries TV se placent dans le dossier racine de la série, nommés tvshow.nfo. Le format est similaire à movie.nfo mais avec des champs spécifiques à la série :",
        "tvExample": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<tvshow>\n  <title>Breaking Bad</title>\n  <year>2008</year>\n  <plot>A high school chemistry teacher diagnosed with cancer...</plot>\n  <genre>Crime</genre>\n  <genre>Drama</genre>\n  <uniqueid type=\"tvdb\" default=\"true\">81189</uniqueid>\n  <uniqueid type=\"tmdb\">1396</uniqueid>\n  <uniqueid type=\"imdb\">tt0903747</uniqueid>\n  <status>Ended</status>\n  <studio>AMC</studio>\n</tvshow>",
        "tvNote": "La balise <uniqueid type=\"tvdb\"> est le verrouillage le plus fiable pour les séries TV, car TheTVDB est le scraper TV par défaut de Kodi pour la plupart des utilisateurs.",
        "episodeTitle": "NFO par épisode (rarement nécessaire)",
        "episodeIntro": "Les fichiers NFO par épisode sont rarement nécessaires — le NFO de la série et les métadonnées d'épisode récupérées par le scraper couvrent la plupart des cas. Utilise-les uniquement lorsqu'un épisode spécifique est mal identifié et que l'actualisation de la série ne résout pas le problème. Format : place le fichier Show - s01e01.nfo à côté du fichier vidéo :",
        "episodeExample": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<episodedetails>\n  <title>Pilot</title>\n  <season>1</season>\n  <episode>1</episode>\n  <aired>2008-01-20</aired>\n  <plot>Walter White, a struggling high school chemistry teacher...</plot>\n  <uniqueid type=\"tvdb\" default=\"true\">349232</uniqueid>\n</episodedetails>",
        "examplesTitle": "Comment les fichiers NFO sont placés à côté de tes médias",
        "examples": "Movies/\n└── Blade Runner (1982)/\n    ├── Blade Runner (1982).mkv\n    ├── movie.nfo               ← ID TMDB verrouillé\n    └── poster.jpg\n\nTV Shows/\n└── Breaking Bad (2008)/\n    ├── tvshow.nfo              ← ID TVDB verrouillé\n    ├── Season 01/\n    │   ├── Breaking Bad - s01e01 - Pilot.mkv\n    │   └── Breaking Bad - s01e01.nfo   ← remplacement par épisode (rare)\n    └── Season 02/",
        "filebotLinkText": "ou utiliser l'éditeur NFO de Filebot",
        "advancedTagsTitle": "Balises de métadonnées avancées",
        "advancedTags": "Au-delà des balises de base <title>, <year>, <plot>, Kodi comprend un riche ensemble de champs de métadonnées qui te permettent de personnaliser l'affichage des éléments dans ta bibliothèque. Les plus utiles pour les utilisateurs avancés :\n\n<originaltitle> — le titre dans la langue originale, affiché sur les pages d'info à côté du titre localisé. Crucial pour les films étrangers où le titre du distributeur local diffère grandement de l'original (pense à Spirited Away vs Sen to Chihiro no Kamikakushi).\n\n<sorttitle> — remplace le comportement de tri par défaut. Utilise-la pour forcer \"The Matrix\" à être trié sous \"M\" au lieu de \"T\", ou pour regrouper les suites indépendamment de leurs titres officiels. Exemple : trier tous les films Mission: Impossible comme \"Mission Impossible 01\", \"Mission Impossible 02\", etc.\n\n<tagline> — la courte phrase d'accroche marketing affichée sous le titre (pense à \"In space, no one can hear you scream\"). Ajoute une touche de finition aux pages d'info de ta bibliothèque.\n\n<status> pour les séries TV — \"Continuing\", \"Ended\" ou \"Returning Series\". Permet au skin de Kodi d'afficher des indicateurs appropriés sur les fiches des séries.\n\n<premiered> — la date de première diffusion officielle. Utile pour les séries d'anthologie ou les animes où la date du scraper est fausse.\n\nblocs <fileinfo> — métadonnées de fichier pré-mises en cache (codec, résolution, pistes audio). Utile si tu génères des fichiers NFO par programme et veux sauter l'analyse des médias au premier scan de Kodi.",
        "multipleRatingsTitle": "Plusieurs sources de notation côte à côte",
        "multipleRatingsIntro": "Kodi 19+ prend en charge l'affichage simultané de plusieurs sources de notation. Ajoute un bloc <ratings> avec autant de sources que tu le souhaites :",
        "multipleRatingsExample": "<ratings>\n  <rating name=\"imdb\" max=\"10\" default=\"true\">\n    <value>8.1</value>\n    <votes>826543</votes>\n  </rating>\n  <rating name=\"themoviedb\" max=\"10\">\n    <value>8.2</value>\n    <votes>9876</votes>\n  </rating>\n  <rating name=\"rottentomatoes\" max=\"100\">\n    <value>89</value>\n    <votes>410</votes>\n  </rating>\n</ratings>",
        "multipleRatingsNote": "Les skins par défaut de Kodi affichent la note \"default\" en évidence et te permettent de parcourir les autres dans la boîte de dialogue d'information. Pour les bibliothèques où tu as sélectionné les sources auxquelles tu fais confiance, c'est une amélioration significative de la qualité de vie par rapport à la note unique provenant du scraper.",
        "musicNfoTitle": "Fichiers NFO pour la musique (artiste, album, piste)",
        "musicNfoIntro": "La musique a son propre format NFO à trois niveaux — artiste, album et par piste. Le NFO au niveau de l'artiste se place à la racine du dossier de l'artiste, nommé artist.nfo :",
        "musicNfoExample": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<artist>\n  <name>Pink Floyd</name>\n  <disambiguation>British rock band</disambiguation>\n  <formed>1965</formed>\n  <disbanded>2014</disbanded>\n  <genre>Progressive Rock</genre>\n  <musicBrainzArtistID>83d91898-7763-47d7-b03b-b92132375c47</musicBrainzArtistID>\n</artist>",
        "musicNfoNote": "L'ID d'artiste MusicBrainz permet à la bibliothèque musicale de Kodi de faire le lien avec l'entrée canonique sans correspondance approximative — extrêmement utile pour les artistes aux noms courants ou ayant plusieurs formations.\n\nLe NFO au niveau de l'album (album.nfo dans le dossier de l'album) accepte des champs similaires plus <title>, <year>, <musicBrainzAlbumID>. Le NFO par piste est rarement utilisé ; le modèle musical de Kodi, basé sur les tags, gère les pistes via les tags ID3 plutôt que par des fichiers NFO.",
        "commonPitfallsTitle": "Pièges courants avec les NFO",
        "commonPitfalls": "Quatre erreurs qui cassent les fichiers NFO en pratique :\n\n1. XML invalide — caractères &, < ou > non échappés dans les balises <plot> ou <title>. La solution : encapsule le contenu textuel dans <![CDATA[...]]> ou échappe-le manuellement (&amp;, &lt;, &gt;).\n\n2. Mauvais encodage — les fichiers NFO DOIVENT être en UTF-8. Certains éditeurs de texte Windows enregistrent en Windows-1252 par défaut, ce qui corrompt les caractères non-ASCII (accents, cyrillique, japonais). Utilise un éditeur compatible UTF-8 (VS Code, Sublime Text, Notepad++).\n\n3. Déclaration XML manquante — la première ligne <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> est obligatoire. Sans elle, certaines versions de Kodi ignorent silencieusement le fichier.\n\n4. Conflits entre NFO et métadonnées du scraper — si un NFO et un scraper fournissent des données pour le même champ, Kodi donne la priorité au NFO. C'est généralement ce que tu veux, mais cela surprend parfois les utilisateurs qui ne réalisent pas que leur NFO écrase les mises à jour en ligne. Pour revenir aux données du scraper, supprime le NFO et actualise."
      },
      "troubleshooting": {
        "h2": "Dépannage du nommage pour Kodi",
        "intro": "Six problèmes couvrent environ 85 % des plaintes concernant le nommage sur Kodi. Chacun a une cause prévisible et une solution simple.",
        "causesLabel": "Causes probables",
        "stepsLabel": "Étapes de résolution",
        "items": [
          {
            "problem": "La bibliothèque ne scanne rien du tout — rien ne se passe lors d'un nouveau scan",
            "causes": [
              "Type de contenu de la source défini sur 'Aucun'",
              "Chemin de la source inaccessible (partage réseau non monté, lecteur renommé)",
              "Add-on de scraper désactivé ou désinstallé",
              "Service Kodi en pause"
            ],
            "steps": [
              "Clic droit sur la source → 'Changer le contenu' → définir sur Films / Séries TV / Musique",
              "Vérifie que le chemin est accessible : Fichiers → navigue manuellement jusqu'à la source",
              "Paramètres → Add-ons → Mes add-ons → Fournisseurs d'informations → vérifie que le scraper est activé",
              "Redémarre Kodi si le problème persiste"
            ]
          },
          {
            "problem": "Un film s'affiche comme 'Aucune information trouvée'",
            "causes": [
              "Année manquante ou au mauvais format",
              "Le titre contient des caractères spéciaux qui embrouillent le scraper",
              "Film absent de TMDB (sortie régionale rare)"
            ],
            "steps": [
              "Ajoute (AAAA) entre parenthèses au dossier et au nom de fichier",
              "Supprime les tags de la scène : 'Title.YYYY.BluRay.x264-SPARKS' → 'Title (YYYY)'",
              "Crée un fichier movie.nfo avec <uniqueid type='tmdb'> pointant vers le bon ID, ou <uniqueid type='imdb'> si TMDB ne l'a pas"
            ]
          },
          {
            "problem": "Mauvaise série identifiée (The Office US vs The Office UK)",
            "causes": [
              "Année manquante dans le dossier de la série",
              "Le scraper a choisi la version la plus populaire",
              "Entrée obsolète d'un précédent scan incorrect"
            ],
            "steps": [
              "Ajoute (Année) au nom du dossier de la série",
              "Crée un fichier tvshow.nfo avec <uniqueid type='tvdb' default='true'> défini sur le bon ID",
              "Menu contextuel de la bibliothèque → 'Rafraîchir' sur la série, ou 'Nettoyer la bibliothèque' pour supprimer les entrées obsolètes"
            ]
          },
          {
            "problem": "Épisodes non identifiés mais la série est correcte",
            "causes": [
              "Formats de noms de fichiers mélangés au sein d'une même saison",
              "Identifiant d'épisode mal saisi (s01E01 avec casse mixte, ou s1e1 sans padding)",
              "Fichiers à la racine de la série au lieu d'un sous-dossier Saison XX"
            ],
            "steps": [
              "Standardise tous les épisodes d'une saison sur un seul format. Le format sXXeYY en minuscules est recommandé",
              "Utilise un renommeur par lot (batch renamer) pour normaliser toute la saison",
              "Déplace les épisodes dans des sous-dossiers 'Saison XX/' s'ils sont à la racine de la série"
            ]
          },
          {
            "problem": "Épisodes d'anime associés aux mauvaises saisons",
            "causes": [
              "Le scraper par défaut de Kodi (TheMovieDB / TheTVDB) ne comprend pas la structure d'AniDB",
              "Scraper Hama non installé ou non sélectionné comme scraper de la source",
              "Tag [anidbid-X] manquant dans le nom du dossier pour une série au titre ambigu"
            ],
            "steps": [
              "Installe Hama depuis le dépôt d'add-ons de Kodi",
              "Modifier la source → définir le 'Fournisseur d'informations' sur Hama",
              "Ajoute [anidbid-X] au dossier de la série (trouve l'ID sur anidb.net)",
              "Clic droit sur la série → 'Rafraîchir' pour rescanner avec le nouveau fournisseur"
            ]
          },
          {
            "problem": "La bibliothèque affiche d'anciennes métadonnées erronées même après avoir corrigé les fichiers",
            "causes": [
              "Kodi met en cache les métadonnées scannées jusqu'à ce que tu les rafraîchisses explicitement",
              "Des entrées obsolètes d'une précédente identification incorrecte sont toujours dans la base de données",
              "Champ verrouillé — modifié manuellement, puis censé se mettre à jour automatiquement"
            ],
            "steps": [
              "Clic droit sur l'élément → 'Rafraîchir' (récupère à nouveau les données du scraper)",
              "Menu contextuel de la bibliothèque → 'Nettoyer la bibliothèque' pour supprimer les entrées orphelines",
              "Pour une réinitialisation complète : Paramètres → Média → Bibliothèque → 'Nettoyer la bibliothèque' globalement, puis relancer un scan"
            ]
          }
        ]
      },
      "faster": {
        "h2": "L'alternative en 60 secondes",
        "intro": "Tout ce qui précède est la méthode manuelle : comprendre les scrapers, saisir les bons noms de fichiers, écrire des fichiers NFO pour les cas récalcitrants. Ça vaut le coup de le faire une fois pour une nouvelle bibliothèque. C'est pénible pour une bibliothèque de 2 000 fichiers héritée d'années de téléchargements non structurés.",
        "manualWayTitle": "La méthode manuelle",
        "manualWay": "À la main, renommer un élément de la bibliothèque Kodi prend environ 30 à 60 secondes — vérifier le titre, formater l'année, obtenir le bon format sXXeYY, et écrire des fichiers NFO pour les quelques cas problématiques. Une bibliothèque de 2 000 fichiers, c'est un long week-end de travail.",
        "oneSixtySecondWayTitle": "La méthode en 60 secondes",
        "oneSixtySecondWay": "RenameFlow renomme tes fichiers en quelques secondes. Glisse-dépose un dossier, l'analyseur détecte s'il s'agit de films / séries TV / animes, interroge TMDB / TheTVDB / AniList / MusicBrainz en parallèle, et affiche un aperçu du renommage compatible Kodi. Confirme, et les fichiers sont renommés localement sur ton disque via l'API File System Access — aucun upload. Gratuit pour les 15 premiers fichiers par jour ; paiement unique de 49 EUR pour un usage illimité.\n\nPour la génération de fichiers NFO, RenameFlow ne les écrit pas directement — mais il produit des noms de fichiers qui se scannent parfaitement avec les scrapers par défaut de Kodi, ce qui élimine le besoin de fichiers NFO dans 90 % des cas. Pour les 10 % restants, écrire le NFO à la main est un effort unique.",
        "pricingLinkText": "Tarifs de RenameFlow",
        "cta": "Gratuit : 15 fichiers/jour, compte gratuit en 30 secondes, aucun upload."
      },
      "faq": {
        "h2": "Nommage Kodi — Questions fréquentes",
        "seeAllLinkText": "Voir toutes les FAQ de RenameFlow",
        "items": [
          {
            "question": "Quelle est la règle de nommage la plus importante pour Kodi ?",
            "answer": "Choisis un modèle de nom de fichier par type de contenu et applique-le de manière cohérente. Le scanner de Kodi est tolérant aux variations de modèles entre les bibliothèques, mais des modèles incohérents au sein d'un même dossier de série ou de film provoquent les échecs les plus courants où seule la moitié d'une saison est identifiée."
          },
          {
            "question": "Dois-je vraiment installer Hama pour les animes dans Kodi ?",
            "answer": "Pour les animes saisonniers modernes qui correspondent bien aux saisons de TheMovieDB ou TheTVDB (Demon Slayer, Spy x Family, Jujutsu Kaisen), non — les scrapers par défaut s'en chargent. Pour les séries avec une numérotation absolue (One Piece, Naruto Shippuden, Detective Conan, Bleach), oui — Hama est la seule option réaliste. L'installation ne prend que 10 minutes, une seule fois."
          },
          {
            "question": "Quelle est la différence entre movie.nfo et Title (Year).nfo ?",
            "answer": "Les deux fonctionnent de manière identique. movie.nfo est la convention car il est indépendant du nom de fichier (renomme le fichier vidéo et le NFO s'appliquera toujours). Title (Year).nfo lie le NFO à ce nom de fichier vidéo précis — utile si tu as plusieurs fichiers vidéo dans un même dossier et que tu veux des NFO par fichier. La plupart des utilisateurs emploient movie.nfo."
          },
          {
            "question": "Dois-je utiliser Season 0 ou Season 00 pour les épisodes spéciaux ?",
            "answer": "Les deux fonctionnent — Kodi les traite de manière identique. Season 00 se trie proprement à côté de Season 01, Season 02, etc. Season 0 est plus court. Choisis-en un et applique-le à toutes tes séries pour rester cohérent."
          },
          {
            "question": "Pourquoi le scan de Kodi est-il plus lent que celui de Plex sur les mêmes fichiers ?",
            "answer": "Kodi interroge les scrapers de manière plus 'bavarde' que les agents de Plex — il récupère les métadonnées et les illustrations pour chaque épisode séparément. Accélère le processus en réduisant la résolution des illustrations dans les paramètres du scraper, en désactivant le téléchargement des 'fanart' si tu ne les utilises pas, et en lançant les scans pendant les heures creuses lorsque les bases de données externes sont plus réactives."
          },
          {
            "question": "Kodi peut-il partager sa bibliothèque sur plusieurs appareils ?",
            "answer": "Oui, via un backend MySQL (configuration avancée) ou via l'export intégré des NFO et des illustrations. Avec l'export NFO activé dans les paramètres, chaque instance de Kodi pointant vers les mêmes fichiers lit des métadonnées identiques sans avoir à refaire de scraping. C'est le moyen le plus rapide de garder une bibliothèque partagée par la famille cohérente sur plusieurs téléviseurs."
          },
          {
            "question": "Puis-je importer une bibliothèque nommée pour Plex ou Jellyfin dans Kodi sans la renommer ?",
            "answer": "Oui, en grande partie. Le nommage des dossiers de films et les conventions sXXeYY pour les séries sont directement compatibles. Les principales incompatibilités : les éditions entre accolades de Plex ({edition-X}) et les balises d'édition de Jellyfin ([edition-X]) sont toutes deux ignorées par Kodi — l'information d'édition n'est pas conservée à moins de l'écrire dans un NFO. Pour une migration typique de Plex vers Kodi, attends-toi à passer 30 minutes à convertir les éditions des films ; tout le reste est transféré."
          },
          {
            "question": "Puis-je automatiser le nommage pour les nouveaux téléchargements de Kodi ?",
            "answer": "Oui. Il y a deux approches. Pour les chaînes automatisées : Sonarr + Radarr pré-nomment les fichiers avant qu'ils n'arrivent dans ta bibliothèque Kodi — configure la convention de nommage de Sonarr avec les modèles Kodi de ce guide. Pour une révision manuelle : utilise RenameFlow comme un outil de traitement par lot lors de l'importation. Les deux approches produisent des noms compatibles avec Kodi ; le choix dépend du niveau de révision manuelle que tu souhaites."
          },
          {
            "question": "Puis-je utiliser Sonarr et Radarr pour gérer une bibliothèque Kodi ?",
            "answer": "Oui, et c'est l'un des workflows les plus populaires. Configure les modèles de nommage de Sonarr et Radarr pour qu'ils correspondent aux conventions de Kodi (sXXeYY pour les épisodes, Title (Year) pour les films), fais-les pointer vers les mêmes dossiers que Kodi scrape, et active les mises à jour de la bibliothèque Kodi via la fonction de connexion des *arr. Sonarr peut déclencher une actualisation de la bibliothèque Kodi après l'arrivée de chaque nouvel épisode, ainsi ta bibliothèque reste à jour sans scans manuels."
          },
          {
            "question": "Quelle est la différence entre Kodi et Plex/Jellyfin en matière de nommage ?",
            "answer": "Trois différences principales. Premièrement, Kodi n'a pas de service de métadonnées en ligne — ta bibliothèque réside entièrement sur ton appareil ou ton réseau. Deuxièmement, Kodi accepte plus de variations de modèles de noms de fichiers que les regex stricts de Plex, ce qui est plus tolérant mais aussi moins prévisible en cas de problème. Troisièmement, le système de fichiers NFO de Kodi te donne un contrôle local total pour outrepasser n'importe quelle métadonnée récupérée par un scraper, ce qui n'a pas d'équivalent dans Plex (et n'est que partiellement supporté dans Jellyfin). Si tu accordes de l'importance à une structure stricte et à la synchronisation en ligne, Plex l'emporte. Si tu préfères le contrôle local et la profondeur de personnalisation, Kodi l'emporte. Jellyfin se situe entre les deux."
          }
        ]
      },
      "related": {
        "h2": "À lire aussi",
        "items": [
          {
            "title": "Guide de nommage Plex (les équivalents)",
            "href": "/plex-naming-guide"
          },
          {
            "title": "Guide de nommage Jellyfin",
            "href": "/jellyfin-naming-guide"
          },
          {
            "title": "Tutoriel de renommage pas à pas",
            "href": "/how-to-rename"
          },
          {
            "title": "Toutes les FAQ de RenameFlow",
            "href": "/faq"
          }
        ]
      },
      "externalLinks": {
        "kodiVideo": "Nommage des fichiers vidéo pour Kodi (wiki officiel)",
        "kodiNfo": "Fichiers NFO pour Kodi (wiki officiel)",
        "hama": "Scraper Hama sur GitHub"
      },
      "howTo": {
        "name": "Comment nommer les fichiers de films pour Kodi",
        "description": "La méthode, étape par étape, pour nommer tes fichiers de films afin que le scanner de Kodi les reconnaisse du premier coup.",
        "step1": {
          "name": "Crée un dossier par film",
          "text": "Chaque film a son propre dossier, nommé « Titre (Année) », par exemple « Blade Runner (1982) ». Le fichier vidéo à l'intérieur reprend exactement ce nom."
        },
        "step2": {
          "name": "Ajoute l'année de sortie entre parenthèses",
          "text": "Le scraper TMDB de Kodi départage les titres identiques grâce à l'année. Utilise toujours des parenthèses : « Dune (2021) »."
        },
        "step3": {
          "name": "Définis le type de contenu de la source avant le premier scan",
          "text": "Modifie la source vidéo → « Set content » → « Movies » → choisis le scraper The Movie Database. Lance ensuite le scraping."
        },
        "step4": {
          "name": "Ajoute un movie.nfo pour les erreurs d'identification tenaces",
          "text": "Si le scraper choisit le mauvais film, crée un fichier movie.nfo avec <uniqueid type=\"tmdb\"> renseigné avec le bon identifiant TMDB. Kodi lit les fichiers NFO au lieu d'interroger le scraper."
        }
      }
    },
    "code": {
      "copied": "Copié",
      "copy": "Copier le code"
    },
    "comparison": {
      "no": "Non",
      "yes": "Oui"
    },
    "cta": {
      "start": "Commencer gratuitement",
      "try": "Essayer RenameFlow gratuitement"
    },
    "officialReferences": "Références officielles :",
    "common": {
      "seeLink": "Voir <link>{{label}}</link>.",
      "alsoUsefulLink": "À lire aussi : <link>{{label}}</link>."
    }
  },
  "admin": {
    "funnel": {
      "allBrowsers": "Tous les navigateurs",
      "app": "App ouverte",
      "browserFilter": "Navigateur",
      "byBrowser": "Par navigateur (8 semaines)",
      "checkout": "Paiement",
      "desc": "Utilisateurs ayant terminé leur inscription chaque semaine (UTC), et combien ont ensuite atteint chaque étape. % des inscrits. Navigateur = première visite de l'app.",
      "empty": "Aucune inscription enregistrée sur les 8 dernières semaines.",
      "files": "Fichiers choisis",
      "paywall": "Paywall",
      "rename": "Renommage",
      "signup": "Inscrits",
      "title": "Entonnoir d'activation (par semaine et par navigateur)",
      "truncated": "Trop d'événements pour tout charger : les inscriptions les plus anciennes, ou les derniers événements des utilisateurs les plus actifs, peuvent manquer.",
      "unavailable": "Données de l'entonnoir indisponibles (table activation_events absente ou illisible).",
      "week": "Semaine du"
    }
  },
  "authConfirmed": {
    "brave": "Brave bloque l'accès aux fichiers locaux par défaut. Active-le dans brave://flags/#file-system-access-api, relance Brave, puis ouvre l'app.",
    "browser": "Ce navigateur ne peut pas renommer de fichiers locaux. Ouvre RenameFlow dans Chrome, Edge ou Opera sur ton ordinateur.",
    "checkingTitle": "Confirmation de ton compte…",
    "copied": "Copié",
    "copyBraveFlag": "Copier l'adresse du réglage Brave",
    "copyLink": "Copier le lien",
    "desc": "RenameFlow fonctionne sur ordinateur avec Chrome, Edge ou Opera.",
    "expiredDesc": "Les liens de confirmation ne marchent qu'une fois et pendant un temps limité. Déjà confirmé ? Connecte-toi. Sinon, demande un nouveau lien.",
    "expiredTitle": "Ce lien a expiré",
    "mobile": "Tu es sur un téléphone ou une tablette. Continue sur ton ordinateur : on peut t'envoyer le lien par email.",
    "noSessionDesc": "On n'a pas pu ouvrir ta session automatiquement. Connecte-toi pour continuer.",
    "noSessionTitle": "Presque fini",
    "openAnyway": "Découvrir l'app quand même",
    "resendCta": "M'envoyer un nouveau lien",
    "resent": "Un nouveau lien arrive. Ouvre-le sur l'ordinateur où tu utiliseras RenameFlow.",
    "title": "Compte confirmé"
  },
  "billing": {
    "errors": {
      "already_active": "Vous avez déjà cette offre.",
      "already_claimed": "Cet achat est déjà rattaché à un autre compte. Contactez-nous si ce n'est pas normal.",
      "already_lifetime": "Vous avez déjà l'offre À vie : inutile de la racheter.",
      "already_subscribed": "Vous avez déjà un abonnement. Changez de formule depuis l'espace de facturation : la différence de prix est calculée au prorata.",
      "billing_cancel_failed": "Impossible de résilier votre abonnement : votre compte n'a donc pas été supprimé. Réessayez ou contactez-nous.",
      "checkout_failed": "Impossible de lancer le paiement. Veuillez réessayer.",
      "checkout_lookup_failed": "Impossible de confirmer ce paiement pour le moment. Actualisez cette page dans une minute.",
      "claim_failed": "Impossible d'activer cet achat pour le moment. Une nouvelle tentative aura lieu automatiquement : actualisez dans une minute.",
      "confirmation_required": "Tapez DELETE pour confirmer.",
      "delete_failed": "Impossible de supprimer votre compte. Veuillez réessayer.",
      "email_mismatch": "Ce paiement a été fait avec une autre adresse e-mail.",
      "invalid_email": "Saisissez une adresse e-mail valide.",
      "invalid_input": "Vérifiez votre message et réessayez.",
      "invalid_price": "Cette offre n'est pas disponible. Actualisez la page et réessayez.",
      "lifetime_sold_out": "L'offre À vie est épuisée.",
      "missing_email": "Aucune adresse e-mail n'a été trouvée pour ce paiement. Contactez-nous et nous réglerons cela.",
      "missing_session": "Impossible de retrouver ce paiement.",
      "no_customer": "Aucun compte de facturation trouvé pour cet e-mail. Contactez-nous si vous avez payé avec une autre adresse.",
      "not_completed": "Ce paiement n'a pas abouti. Aucun montant n'a été débité.",
      "not_found": "Impossible de retrouver ce paiement.",
      "payment_pending": "Votre paiement est encore en cours de confirmation.",
      "payment_refunded": "Ce paiement a été remboursé ou annulé.",
      "portal_failed": "Impossible d'ouvrir l'espace de facturation. Veuillez réessayer.",
      "rate_limited": "Trop de tentatives. Réessayez dans quelques minutes.",
      "recent_payment": "Un paiement pour cette offre est encore en cours de traitement. Patientez une minute puis actualisez ; si vous avez déjà payé, vérifiez vos e-mails.",
      "send_failed": "Votre message n'a pas pu être envoyé. Veuillez réessayer.",
      "sync_failed": "Impossible de vérifier votre offre pour le moment. Réessayez dans une minute.",
      "unauthorized": "Veuillez vous reconnecter.",
      "unknown": "Une erreur est survenue. Veuillez réessayer.",
      "unknown_plan": "Impossible d'identifier l'offre de ce paiement. Contactez-nous et nous réglerons cela."
    }
  },
  "breadcrumbs": {
    "alternatives": "Alternatives",
    "faq": "FAQ",
    "filebot": "Alternative à Filebot",
    "guides": "Guides",
    "home": "Accueil",
    "howToRename": "Comment renommer",
    "label": "Fil d'Ariane",
    "plexKodiJellyfin": "Plex / Kodi / Jellyfin",
    "pricing": "Tarifs"
  },
  "contactPage": {
    "emailLabel": "Email (optionnel)",
    "emailPlaceholder": "ton@email.com",
    "messageLabel": "Message",
    "messagePlaceholder": "Décris ton besoin…",
    "send": "Envoyer",
    "sending": "Envoi…",
    "subtitle": "Une question, un bug, une demande ? Écris-nous ici.",
    "title": "Contact",
    "toast": {
      "errorDescription": "Impossible d'envoyer le message. Réessaie.",
      "errorTitle": "Erreur",
      "requiredDescription": "Écris un message avant d'envoyer.",
      "requiredTitle": "Message requis",
      "sentDescription": "Merci ! On revient vers toi rapidement.",
      "sentTitle": "Envoyé"
    }
  },
  "creator": {
    "bio": "Passionné de cinéma et de technologie, j'ai créé RenameFlow parce que j'en avais marre de renommer mes fichiers média à la main. Après des années à galérer avec des noms de fichiers incompréhensibles, j'ai décidé de créer l'outil que j'aurais toujours voulu avoir.",
    "cta": "En savoir plus sur moi",
    "greeting": "Salut, moi c'est Thomas 👋",
    "label": "À propos du créateur",
    "mission": "Mon objectif ? Rendre l'organisation de votre médiathèque aussi simple qu'un clic. Plus de fichiers mal nommés, plus de temps perdu – juste une bibliothèque parfaitement organisée.",
    "photoLinkLabel": "Thomas Bidault sur LinkedIn"
  },
  "desktopLink": {
    "alreadySent": "Lien déjà envoyé",
    "alreadySentDesc": "Regarde ta boîte mail (et les spams). Tu pourras le renvoyer dans une heure.",
    "copied": "Lien copié",
    "copiedDesc": "Colle-le dans Chrome, Edge ou Opera sur ton ordinateur.",
    "copyCta": "Copier le lien pour mon ordinateur",
    "cta": "M'envoyer le lien pour mon ordinateur",
    "error": "Impossible d'envoyer l'email",
    "errorCopied": "Le lien a été copié à la place : colle-le dans Chrome, Edge ou Opera sur ton ordinateur.",
    "retry": "Réessayer l'envoi",
    "sending": "Envoi…",
    "sent": "Lien envoyé",
    "sentDesc": "Ouvre l'email sur ton ordinateur pour commencer à renommer.",
    "sentShort": "Lien envoyé, regarde ta boîte mail"
  },
  "errorPage": {
    "description": "Un problème est survenu pendant le chargement de cette page. Tu peux réessayer ou revenir à l'accueil.",
    "home": "Retour à l'accueil",
    "retry": "Réessayer",
    "title": "Cette page ne s'est pas chargée"
  },
  "header": {
    "darkTheme": "Passer au thème sombre",
    "lightTheme": "Passer au thème clair"
  },
  "languages": {
    "french": "Français",
    "german": "Allemand",
    "spanish": "Espagnol"
  },
  "legal": {
    "common": {
      "documents": "Documents juridiques",
      "eyebrow": "Informations légales",
      "lastUpdatedLabel": "Dernière mise à jour :",
      "onThisPage": "Sur cette page",
      "questionsText": "Pour toute question sur ce document ou sur vos données personnelles, écrivez-nous par e-mail ou utilisez le formulaire de contact.",
      "questionsTitle": "Une question ?"
    },
    "fields": {
      "address": "Adresse",
      "email": "E-mail",
      "legalForm": "Statut juridique",
      "name": "Nom",
      "phone": "Téléphone",
      "region": "Région d'hébergement des données",
      "registration": "Immatriculation",
      "siret": "SIRET",
      "vatNumber": "N° de TVA intracommunautaire",
      "website": "Site web"
    },
    "links": {
      "account": "Ouvrir mon compte",
      "contact": "Formulaire de contact",
      "cookies": "Politique cookies",
      "history": "Ouvrir mon historique",
      "notice": "Mentions légales",
      "pricing": "Tarifs",
      "privacy": "Politique de confidentialité",
      "terms": "Conditions générales d'utilisation et de vente"
    },
    "notice": {
      "contact": {
        "text": "Pour toute question relative au site ou au service, écrivez-nous par e-mail ou utilisez le formulaire de contact.",
        "title": "Contact"
      },
      "credits": {
        "anilist": "Métadonnées d'anime fournies par AniList.",
        "intro": "RenameFlow identifie vos médias à l'aide des services suivants :",
        "musicbrainz": "Métadonnées musicales fournies par MusicBrainz (MetaBrainz Foundation) et pochettes fournies par le Cover Art Archive.",
        "opensubtitles": "Sous-titres fournis par OpenSubtitles.com.",
        "title": "Sources de données",
        "tmdb": "Ce produit utilise l'API TMDB mais n'est ni approuvé ni certifié par TMDB.",
        "tvdb": "Métadonnées de séries fournies par TheTVDB."
      },
      "data": {
        "text": "Le traitement de vos données personnelles est décrit dans notre politique de confidentialité, et l'utilisation des cookies dans notre politique cookies. L'utilisation du service est régie par nos conditions générales d'utilisation et de vente.",
        "title": "Données personnelles et cookies"
      },
      "director": {
        "text": "Le directeur de la publication est {{name}}.",
        "title": "Directeur de la publication"
      },
      "hosting": {
        "data": "Les données de l'application (comptes, historique de renommage, abonnements) sont hébergées par :",
        "platform": "Il est conçu et déployé avec la plateforme Lovable, exploitée par :",
        "title": "Hébergement",
        "web": "Le site est diffusé par :"
      },
      "intro": "Conformément aux articles 1-1 et 19 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique (LCEN), dans sa rédaction issue de la loi n° 2024-449 du 21 mai 2024 (SREN), cette page présente l'éditeur et les hébergeurs du site renameflow.com.",
      "ip": {
        "text": "Le nom et le logo RenameFlow, le site et l'application (code, interface, textes et éléments graphiques) sont protégés par le droit de la propriété intellectuelle. Toute reproduction ou représentation, totale ou partielle, sans autorisation écrite préalable est interdite, sauf dans les cas prévus par la loi.",
        "thirdParty": "Les titres, affiches et autres métadonnées de films, séries et albums affichés dans l'application proviennent de bases de données tierces et restent la propriété de leurs titulaires respectifs.",
        "title": "Propriété intellectuelle"
      },
      "payments": {
        "card": "Les données de carte sont saisies sur la page de paiement sécurisée de Stripe : RenameFlow n'a jamais accès à votre numéro de carte complet.",
        "text": "Les paiements en ligne sont traités par :",
        "title": "Paiements"
      },
      "publisher": {
        "intro": "Le site renameflow.com et le service RenameFlow sont édités par :",
        "title": "Éditeur"
      },
      "seoDescription": "Éditeur, directeur de la publication, hébergeurs et coordonnées de RenameFlow (renameflow.com).",
      "seoTitle": "Mentions légales — RenameFlow",
      "title": "Mentions légales"
    },
    "privacy": {
      "changes": {
        "p1": "Nous pouvons mettre à jour cette politique pour tenir compte de l'évolution du Service ou de la réglementation. La date de la dernière mise à jour figure en haut de cette page ; nous vous informons de toute modification substantielle par e-mail ou dans l'application.",
        "title": "Modification de cette politique"
      },
      "controller": {
        "p1": "Le responsable des traitements décrits dans cette politique est {{publisher}}, éditeur de RenameFlow (coordonnées complètes dans les mentions légales).",
        "p2": "Compte tenu de la taille du Service, aucun délégué à la protection des données n'a été désigné : les demandes sont traitées directement par l'éditeur.",
        "title": "Responsable du traitement"
      },
      "cookies": {
        "p1": "Nous utilisons des cookies et des technologies similaires (le stockage local de votre navigateur) comme décrit dans notre politique cookies. Les cookies de mesure d'audience et publicitaires ne sont déposés qu'avec votre consentement.",
        "p2": "Avant que vous ayez fait un choix, et si vous refusez, la balise Google envoie tout de même à Google les signaux sans cookie décrits plus haut (Consent Mode v2) ; elle ne dépose ni ne lit aucun cookie.",
        "title": "Cookies et stockage local"
      },
      "intro": "RenameFlow est conçu pour fonctionner en local : vos fichiers multimédias sont renommés sur votre ordinateur et ne sont jamais envoyés sur nos serveurs. Pour fournir le Service, nous traitons néanmoins certaines données personnelles. Cette politique explique lesquelles, pourquoi, pendant combien de temps et quels sont vos droits, conformément au Règlement général sur la protection des données (RGPD) et à la loi Informatique et Libertés.",
      "labels": {
        "basis": "Base légale",
        "data": "Données",
        "location": "Localisation",
        "purpose": "Finalités",
        "retention": "Durée de conservation",
        "role": "Rôle"
      },
      "local": {
        "p1": "Le contenu de vos fichiers multimédias n'est jamais envoyé : les fichiers sont lus et renommés localement grâce à l'API File System Access de votre navigateur. Les autorisations d'accès à vos dossiers peuvent être mémorisées par votre navigateur (IndexedDB) pour vous permettre de les rouvrir ; elles ne quittent jamais votre appareil.",
        "p2": "En revanche, pour identifier vos médias et conserver votre historique, certaines informations issues de vos fichiers sont transmises à nos serveurs et à des services de métadonnées, comme détaillé ci-dessous : notamment les titres détectés dans vos noms de fichiers, les noms de fichiers eux-mêmes lorsque vous recherchez des sous-titres et, une fois un renommage validé, les noms de fichiers d'origine et les nouveaux noms.",
        "title": "Ce qui reste sur votre ordinateur"
      },
      "minors": {
        "p1": "Le Service ne s'adresse pas aux enfants de moins de 15 ans. Si vous avez moins de 15 ans, vous ne pouvez l'utiliser, et consentir aux cookies de mesure d'audience, qu'avec l'accord d'un titulaire de l'autorité parentale.",
        "title": "Mineurs"
      },
      "processing": {
        "account": {
          "basis": "Exécution du contrat (art. 6.1.b du RGPD) ; pour le questionnaire facultatif, notre intérêt légitime à comprendre comment les utilisateurs découvrent le Service (art. 6.1.f) ; pour la manière dont vous nous avez connus, votre consentement à la mesure d'audience (art. 6.1.a).",
          "data": "Adresse e-mail, mot de passe (conservé uniquement sous forme hachée par notre prestataire d'authentification), nom d'affichage, préférences de langue et de nommage, modèles de nommage personnalisés, réponses au questionnaire d'accueil facultatif, comment vous nous avez connus (paramètres UTM du lien suivi et site d'origine, enregistrés à l'inscription uniquement si vous avez accepté la mesure d'audience), dates de création du compte et de connexion.",
          "purpose": "Créer et gérer votre compte, vous authentifier et vous fournir le Service.",
          "retention": "Pendant toute la durée du compte. En l'absence de connexion pendant 3 ans, le compte peut être supprimé après information préalable par e-mail.",
          "title": "Votre compte"
        },
        "analytics": {
          "basis": "Votre consentement (art. 6.1.a du RGPD et article 82 de la loi Informatique et Libertés), recueilli via le bandeau cookies et que vous pouvez retirer à tout moment avec le lien « Gérer les cookies » ou depuis la page Politique cookies. Sans votre consentement, Clarity n'est pas chargé et aucun cookie de mesure d'audience ou publicitaire n'est déposé.",
          "data": "Pages consultées, clics, défilement et mouvements de souris, appareil, navigateur, localisation approximative déduite de l'adresse IP, identifiants pseudonymes stockés dans des cookies ; lorsque vous êtes connecté, Microsoft Clarity peut recevoir l'identifiant interne de votre compte, jamais votre adresse e-mail.",
          "purpose": "Mesurer l'audience du site (Google Analytics 4) et comprendre les problèmes d'ergonomie grâce à des cartes de chaleur et des enregistrements de sessions (Microsoft Clarity). Clarity masque le contenu des champs de formulaire, mais un enregistrement peut montrer d'autres textes affichés à l'écran, comme des noms de fichiers dans l'application. Si vous acceptez tous les cookies, les cookies publicitaires de Google sont également autorisés afin de mesurer l'efficacité de nos campagnes publicitaires ; RenameFlow n'affiche aucune publicité.",
          "retention": "Cookies Google Analytics : {{gaMonths}} mois au plus ; cookies Microsoft Clarity : 13 mois au plus. Données Google Analytics : 14 mois au plus. Clarity : enregistrements de sessions 30 jours (jusqu'à 13 mois pour ceux que nous conservons pour analyse), statistiques agrégées 13 mois.",
          "title": "Mesure d'audience et enregistrement de sessions (uniquement avec votre consentement)"
        },
        "billing": {
          "basis": "Exécution du contrat (art. 6.1.b) ; respect de nos obligations comptables et fiscales (art. 6.1.c) ; notre intérêt légitime à prévenir la fraude (art. 6.1.f).",
          "data": "Adresse e-mail, offre achetée, montant, dates, identifiants client, d'abonnement et de paiement Stripe, numéro de commande de l'offre À vie ; pour un achat effectué sans compte, l'adresse e-mail saisie lors du paiement jusqu'au rattachement de l'achat à un compte. Les données de carte sont collectées directement par Stripe et ne transitent jamais par nos serveurs.",
          "purpose": "Traiter les commandes et les paiements, gérer les abonnements, activer les achats effectués sans compte (y compris par un e-mail de rappel si un achat n'a pas été activé), traiter les remboursements, prévenir la fraude et respecter nos obligations comptables.",
          "retention": "Pendant toute la relation contractuelle, puis 10 ans pour les pièces comptables (article L123-22 du Code de commerce).",
          "title": "Achats et facturation"
        },
        "consentMode": {
          "basis": "Notre intérêt légitime à mesurer l'audience du site de manière agrégée (art. 6.1.f du RGPD).",
          "data": "Page consultée et page de provenance, état du consentement, informations techniques sur votre navigateur et votre appareil et, comme pour toute requête émise par votre navigateur, votre adresse IP ; aucun cookie ni identifiant publicitaire.",
          "purpose": "La balise Google est chargée sur chaque page en mode Consentement v2 (Consent Mode v2) : avant que vous ayez fait un choix, et si vous refusez, elle envoie ces signaux sans cookie afin que Google produise des statistiques d'audience et de campagnes agrégées et modélisées.",
          "retention": "Nous ne recevons jamais ces signaux individuellement. Google les traite selon sa propre politique ; les données Google Analytics qui en résultent sont conservées 14 mois au plus.",
          "title": "Signaux Google sans cookie avant votre choix"
        },
        "emails": {
          "basis": "Exécution du contrat (art. 6.1.b) ; pour les e-mails de prise en main, notre intérêt légitime à vous aider à utiliser le Service (art. 6.1.f) — vous pouvez vous y opposer à tout moment en nous écrivant ou, le cas échéant, grâce au lien de désinscription figurant dans ces e-mails.",
          "data": "Adresse e-mail, langue, contenu et statut de distribution des e-mails qui vous sont envoyés.",
          "purpose": "Envoyer les e-mails nécessaires au Service (confirmation d'adresse, réinitialisation du mot de passe, confirmations de commande, liens que vous demandez à recevoir, par exemple pour ouvrir l'application sur votre ordinateur) et, le cas échéant, des e-mails d'aide à la prise en main. Nous n'envoyons pas de lettre d'information et ne vendons jamais votre adresse e-mail.",
          "retention": "Les journaux d'envoi sont conservés par notre prestataire d'e-mails pendant une durée limitée (30 jours au plus) ; nous conservons la trace des e-mails de service déjà envoyés pendant toute la durée du compte.",
          "title": "E-mails"
        },
        "fileNames": "Les noms de fichiers peuvent révéler des informations vous concernant (par exemple ce que vous regardez ou écoutez). La rubrique Historique de l'application affiche vos {{limit}} renommages les plus récents ; depuis cette rubrique, vous pouvez à tout moment exporter l'intégralité de votre historique en JSON ou le supprimer entièrement, et la suppression de votre compte l'efface également.",
        "intro": "Pour chaque traitement, voici les données concernées, l'usage que nous en faisons, la base légale (article 6 du RGPD) et leur durée de conservation.",
        "product": {
          "basis": "Notre intérêt légitime à améliorer le Service (art. 6.1.f). Vous pouvez vous y opposer à tout moment en nous écrivant.",
          "data": "Pour les utilisateurs connectés : le nom d'événements produit (par exemple ouverture de l'application, sélection de fichiers, renommage réussi, limite atteinte) avec leur date et des détails techniques (nombre de fichiers, compatibilité du navigateur), rattachés à l'identifiant de votre compte. Ces événements ne contiennent jamais votre adresse e-mail ni vos noms de fichiers.",
          "purpose": "Mesurer et améliorer le Service : comprendre où les nouveaux utilisateurs rencontrent des difficultés, corriger les erreurs et faire évoluer le produit. Ces statistiques internes sont stockées dans notre propre base de données, ne sont pas partagées avec des tiers et ne servent pas à la publicité.",
          "retention": "24 mois, après quoi les événements sont supprimés ou anonymisés.",
          "title": "Statistiques d'utilisation du produit"
        },
        "renaming": {
          "basis": "Exécution du contrat (art. 6.1.b du RGPD).",
          "data": "Titres, années, numéros de saison et d'épisode détectés dans vos noms de fichiers, requêtes de recherche et langue demandée ; pour les sous-titres, le nom du fichier sans son extension (ou la recherche que vous saisissez) et une empreinte technique (hash) du fichier vidéo calculée sur votre ordinateur ; pour chaque renommage validé : nom de fichier d'origine, nouveau nom, titre identifié, type, année, date et identifiant de lot ; compteurs d'utilisation quotidiens et mensuels.",
          "purpose": "Identifier vos médias auprès des services de métadonnées, vous proposer des noms, vous permettre de consulter, d'exporter et de retrouver les noms d'origine de vos renommages passés, et appliquer les limites de l'offre gratuite.",
          "retention": "Les requêtes de recherche ne sont pas enregistrées dans notre base de données une fois la demande traitée (elles peuvent figurer brièvement dans des journaux techniques). L'historique de renommage est conservé jusqu'à ce que vous supprimiez les entrées concernées (rubrique Historique), que vous nous demandiez de l'effacer ou que vous supprimiez votre compte. Les compteurs d'utilisation sont conservés pendant toute la durée du compte.",
          "title": "Identification des médias et historique de renommage"
        },
        "security": {
          "basis": "Notre intérêt légitime à assurer la sécurité et le bon fonctionnement du Service (art. 6.1.f).",
          "data": "Adresse IP, type de navigateur (user agent), dates et heures des connexions et des requêtes, domaine de l'adresse e-mail utilisée à l'inscription, journaux techniques de nos serveurs et prestataires.",
          "purpose": "Sécuriser le Service et les comptes, limiter les abus (limitation du nombre de requêtes par adresse IP, blocage des adresses e-mail jetables, détection des comptes multiples) et diagnostiquer les erreurs.",
          "retention": "Compteurs de limitation des requêtes : 48 heures ; sessions de connexion : jusqu'à la déconnexion ou à leur expiration ; journaux techniques : de quelques jours à quelques semaines selon le prestataire, et 12 mois au plus.",
          "title": "Sécurité et prévention des abus"
        },
        "support": {
          "basis": "Notre intérêt légitime à vous répondre (art. 6.1.f) ; notre obligation légale pour les demandes d'exercice de droits (art. 6.1.c).",
          "data": "Nom et adresse e-mail que vous indiquez, contenu de votre message et informations nécessaires au traitement de votre demande.",
          "purpose": "Répondre à vos questions, retours et demandes, y compris vos demandes d'exercice de droits.",
          "retention": "3 ans à compter de notre dernier échange.",
          "title": "Assistance et contact"
        },
        "title": "Données traitées, finalités, bases légales et durées de conservation"
      },
      "recipients": {
        "authorities": "Nous pouvons également communiquer des données aux autorités compétentes lorsque la loi l'exige.",
        "cloudflare": {
          "location": "États-Unis (réseau mondial).",
          "role": "Diffusion du site et protection contre les attaques (sous-traitant)."
        },
        "google": {
          "location": "Irlande (UE) et États-Unis.",
          "role": "Mesure d'audience (Google Analytics 4) et mesure publicitaire — uniquement avec votre consentement.",
          "roleConsentMode": "Mesure d'audience (Google Analytics 4) et mesure publicitaire avec votre consentement ; avant votre choix, ou si vous refusez, uniquement les signaux sans cookie décrits plus haut."
        },
        "googleAssets": {
          "location": "États-Unis (réseau mondial).",
          "role": "Fourniture des polices de caractères et de l'icône du site, que votre navigateur charge directement auprès de Google sur chaque page, avant tout choix en matière de cookies : Google reçoit votre adresse IP et des informations techniques (navigateur, adresse de la page), sans cookie. Base légale : notre intérêt légitime à afficher correctement le site (art. 6.1.f du RGPD)."
        },
        "intro": "Vos données sont destinées à l'éditeur et ne sont jamais vendues. Elles ne sont communiquées qu'aux prestataires suivants, strictement pour les finalités décrites ci-dessus :",
        "lovable": {
          "location": "Suède (UE), avec d'éventuels transferts hors de l'UE.",
          "role": "Plateforme de conception, d'hébergement et d'exploitation de l'application (sous-traitant)."
        },
        "metadata": "Services de métadonnées : pour identifier vos médias et trouver des sous-titres, nos serveurs envoient des requêtes de recherche (titre détecté, année, saison et épisode, langue et, pour les sous-titres, le nom du fichier sans son extension ou la recherche que vous avez saisie, ainsi que l'empreinte du fichier) à The Movie Database (TMDB), TheTVDB, AniList, MusicBrainz et OpenSubtitles.com, principalement situés aux États-Unis. Ces requêtes partant de nos serveurs, ces services ne reçoivent ni votre adresse e-mail ni l'identifiant de votre compte. En revanche, les affiches et pochettes sont chargées directement par votre navigateur depuis les serveurs d'images de TMDB, TheTVDB, AniList et du Cover Art Archive, et les fichiers de sous-titres sont téléchargés directement depuis OpenSubtitles.com : ces services reçoivent donc votre adresse IP, comme pour tout contenu web. Ils traitent ces données selon leurs propres politiques de confidentialité.",
        "microsoft": {
          "location": "Irlande (UE) et États-Unis.",
          "role": "Cartes de chaleur et enregistrements de sessions (Microsoft Clarity) — uniquement avec votre consentement."
        },
        "productHunt": {
          "location": "États-Unis.",
          "role": "Affichage du badge « Featured on Product Hunt » en bas des pages du site : votre navigateur charge cette image directement depuis les serveurs de Product Hunt lorsque le pied de page s'affiche, si bien que Product Hunt reçoit votre adresse IP et des informations techniques (navigateur, adresse de la page) ; son prestataire Cloudflare peut déposer un cookie de sécurité (__cf_bm, 30 minutes). Base légale : notre intérêt légitime à présenter cette distinction (art. 6.1.f du RGPD)."
        },
        "resend": {
          "location": "États-Unis.",
          "role": "Envoi des e-mails (sous-traitant)."
        },
        "startupFame": {
          "location": "Servi depuis le réseau mondial de Vercel Inc. (États-Unis).",
          "role": "Affichage du badge « Featured on Startup Fame » en bas des pages du site : votre navigateur charge cette image directement depuis les serveurs de Startup Fame lorsque le pied de page s'affiche, si bien que Startup Fame reçoit votre adresse IP et des informations techniques (navigateur, adresse de la page), sans cookie. Base légale : notre intérêt légitime à présenter cette distinction (art. 6.1.f du RGPD)."
        },
        "stripe": {
          "location": "Irlande (UE), avec des transferts vers Stripe, Inc. aux États-Unis.",
          "role": "Paiements, abonnements et portail client (sous-traitant, et responsable de traitement distinct pour ses propres obligations légales, comme la lutte contre la fraude et le blanchiment)."
        },
        "supabase": {
          "location": "Singapour (société) ; infrastructure cloud pouvant être située hors de l'UE.",
          "role": "Base de données, authentification et fonctions serveur (sous-traitant)."
        },
        "title": "Destinataires et sous-traitants"
      },
      "required": {
        "p1": "Votre adresse e-mail et un mot de passe sont nécessaires à la création d'un compte : sans eux, nous ne pouvons pas vous fournir le Service. Les autres informations (nom d'affichage, réponses au questionnaire) sont facultatives. Nous ne prenons aucune décision fondée exclusivement sur un traitement automatisé produisant des effets juridiques à votre égard.",
        "title": "Données obligatoires et décisions automatisées"
      },
      "rights": {
        "access": "Accès : obtenir la confirmation que vos données sont traitées et en recevoir une copie.",
        "complaint": "Si vous estimez que vos droits ne sont pas respectés, vous pouvez introduire une réclamation auprès de la CNIL (Commission nationale de l'informatique et des libertés, 3 place de Fontenoy, TSA 80715, 75334 Paris Cedex 07, www.cnil.fr) ou de l'autorité de protection des données de votre pays de résidence.",
        "consent": "Retrait du consentement : retirer à tout moment votre consentement aux cookies de mesure d'audience avec le lien « Gérer les cookies » en bas des pages du site et dans le menu de l'application, ou depuis la page Politique cookies, sans remettre en cause la licéité des traitements effectués auparavant.",
        "erasure": "Effacement : vous pouvez supprimer vous-même votre compte à tout moment depuis la rubrique Compte de l'application, ce qui efface votre profil, votre historique de renommage, vos préférences et vos données d'utilisation ; les données que la loi nous oblige à conserver (pièces comptables) sont conservées séparément pendant la durée légale. Vous pouvez aussi supprimer tout votre historique de renommage à tout moment depuis la rubrique Historique, ou nous demander de le faire.",
        "exercise": "Pour exercer vos droits, écrivez à {{email}} depuis l'adresse e-mail de votre compte (ou indiquez-nous le compte concerné). Nous vous répondons dans un délai d'un mois, qui peut être prolongé de deux mois pour les demandes complexes. En cas de doute raisonnable sur votre identité, nous pouvons vous demander des informations complémentaires.",
        "intro": "Conformément au RGPD, vous disposez des droits suivants sur vos données :",
        "objection": "Opposition : vous opposer à tout moment, pour des raisons tenant à votre situation particulière, aux traitements fondés sur notre intérêt légitime (statistiques produit, e-mails de prise en main), et sans motif à toute prospection.",
        "portability": "Portabilité : recevoir les données que vous nous avez fournies dans un format structuré et lisible par machine ; la rubrique Historique exporte en JSON l'intégralité de votre historique de renommage, et nous vous transmettons le reste de vos données sur demande.",
        "postMortem": "Directives post mortem : définir des directives relatives à la conservation, à l'effacement et à la communication de vos données après votre décès (article 85 de la loi Informatique et Libertés).",
        "rectification": "Rectification : faire corriger des données inexactes ; la plupart de vos informations sont modifiables directement dans l'application.",
        "restriction": "Limitation : nous demander de geler temporairement l'utilisation de vos données, par exemple le temps d'en vérifier l'exactitude.",
        "title": "Vos droits"
      },
      "security": {
        "p1": "Nous mettons en œuvre des mesures techniques et organisationnelles appropriées : connexions chiffrées (HTTPS), contrôle d'accès dans notre base de données pour que chaque utilisateur n'accède qu'à ses propres données, mots de passe conservés sous forme hachée, accès aux outils d'administration réservé à l'éditeur, et paiements traités par un prestataire certifié PCI DSS.",
        "title": "Sécurité"
      },
      "title": "Politique de confidentialité",
      "transfers": {
        "p1": "Certains des prestataires ci-dessus sont situés, ou font appel à des sous-traitants situés, hors de l'Espace économique européen, notamment aux États-Unis et à Singapour. Ces transferts sont encadrés par la décision d'adéquation de la Commission européenne relative aux États-Unis (Data Privacy Framework UE–États-Unis) lorsque le destinataire est certifié, et à défaut par les clauses contractuelles types de la Commission européenne, complétées si nécessaire par des mesures supplémentaires telles que le chiffrement. Vous pouvez obtenir une copie de ces garanties en nous écrivant.",
        "title": "Transferts hors de l'Union européenne"
      }
    },
    "terms": {
      "account": {
        "p1": "L'utilisation du Service nécessite un compte créé avec une adresse e-mail valide et un mot de passe. Vous vous engagez à fournir des informations exactes et à garder vos identifiants confidentiels ; toute action effectuée depuis votre compte est réputée l'avoir été par vous.",
        "p2": "Chaque personne ne peut détenir qu'un seul compte gratuit. Pour souscrire une offre payante, vous devez être majeur ou disposer de l'autorisation de votre représentant légal.",
        "p3": "Vous pouvez supprimer votre compte à tout moment depuis la rubrique Compte de l'application. La suppression est définitive et met fin aux présentes Conditions : sous réserve de votre droit de rétractation (article 8), tout abonnement en cours est résilié immédiatement sans remboursement de la période entamée, et l'accès À vie éventuellement rattaché au compte est définitivement perdu.",
        "title": "Compte utilisateur"
      },
      "changes": {
        "p1": "Nous pouvons modifier les présentes Conditions, notamment pour tenir compte de l'évolution du Service ou de la réglementation. La version applicable est celle en vigueur à la date de votre commande ou de votre utilisation. Toute modification substantielle vous est notifiée par e-mail ou dans l'application au moins 30 jours avant son entrée en vigueur.",
        "p2": "Si vous refusez une modification, vous pouvez résilier votre abonnement sans frais avant son entrée en vigueur. Les modifications portant sur le prix ou sur les caractéristiques essentielles d'une offre payante ne vous sont opposables qu'à l'issue de ce délai et jamais rétroactivement ; elles ne peuvent réduire les caractéristiques essentielles d'un accès À vie déjà acquis. La poursuite de l'utilisation du Service après la date d'entrée en vigueur vaut acceptation des nouvelles Conditions.",
        "title": "Modification des Conditions"
      },
      "conformity": {
        "p1": "En tant que consommateur, vous bénéficiez de la garantie légale de conformité applicable aux contenus et services numériques (articles L224-25-1 et suivants du Code de la consommation). Le Service étant fourni de manière continue (abonnement ou accès À vie), nous répondons des défauts de conformité qui apparaissent pendant toute la durée de fourniture.",
        "p2": "En cas de défaut de conformité, vous avez droit à la mise en conformité du Service, sans frais et dans un délai raisonnable. Si elle est impossible, n'intervient pas dans un délai raisonnable ou si le défaut est grave, vous pouvez obtenir une réduction du prix ou la résolution du contrat avec remboursement. Signalez-nous tout problème à {{email}}.",
        "p3": "Nous fournissons les mises à jour nécessaires au maintien de la conformité du Service. Nous pouvons également faire évoluer le Service ; si une évolution a une incidence négative importante sur votre accès ou votre utilisation, nous vous en informons à l'avance et vous pouvez résilier le contrat sans frais dans un délai de 30 jours.",
        "title": "Garantie légale de conformité"
      },
      "contact": {
        "p1": "Pour toute question, réclamation ou demande relative à votre compte ou à une commande, contactez-nous :",
        "title": "Service client"
      },
      "data": {
        "p1": "Nous traitons vos données personnelles conformément au Règlement général sur la protection des données (RGPD) et à la loi Informatique et Libertés. Les finalités, destinataires, durées de conservation et vos droits sont décrits dans notre politique de confidentialité, et l'utilisation des cookies dans notre politique cookies.",
        "title": "Données personnelles"
      },
      "disputes": {
        "mediator": "Le médiateur de la consommation que nous avons désigné est :",
        "p1": "Pour toute réclamation, contactez-nous d'abord à {{email}} : nous ferons notre possible pour trouver une solution amiable.",
        "p2": "Conformément aux articles L611-1 et suivants du Code de la consommation, si votre réclamation écrite auprès de nous n'a pas abouti, vous pouvez recourir gratuitement à un médiateur de la consommation, dans un délai d'un an à compter de cette réclamation écrite.",
        "title": "Réclamations et médiation de la consommation"
      },
      "intro": "Les présentes conditions régissent votre utilisation de RenameFlow et tout achat d'une offre payante. Merci de les lire attentivement : la création d'un compte ou la passation d'une commande vaut acceptation de ces conditions.",
      "ip": {
        "p1": "Le Service, ses logiciels, son interface, ses textes et la marque RenameFlow sont la propriété de l'Éditeur. Vous bénéficiez d'un droit d'utilisation personnel, non exclusif et incessible du Service, pour la durée de votre compte et conformément aux présentes Conditions. Les métadonnées et images issues de bases tierces restent la propriété de leurs titulaires et sont soumises à leurs propres conditions.",
        "title": "Propriété intellectuelle"
      },
      "law": {
        "p1": "Les présentes Conditions sont soumises au droit français. Si vous êtes un consommateur résidant dans un autre pays de l'Union européenne, vous bénéficiez en outre des dispositions impératives protectrices des consommateurs de votre pays de résidence.",
        "p2": "En cas de litige, et à défaut de solution amiable, le consommateur peut saisir, à son choix, l'une des juridictions territorialement compétentes en vertu du Code de procédure civile ou la juridiction du lieu où il demeurait au moment de la conclusion du contrat ou de la survenance du fait dommageable (article R631-3 du Code de la consommation).",
        "p3": "Les présentes Conditions sont rédigées en français ; les traductions sont fournies à titre de commodité et seule la version française fait foi.",
        "title": "Droit applicable et juridiction"
      },
      "liability": {
        "p1": "Vous gardez la maîtrise de chaque renommage : le Service affiche un aperçu des noms proposés, ne les applique qu'après votre validation, et l'historique vous permet de retrouver les noms d'origine. Les métadonnées proviennent de bases tierces et peuvent être incomplètes ou inexactes : vérifiez l'aperçu avant de valider.",
        "p2": "Le renommage porte sur des fichiers stockés sur vos propres appareils, sous votre contrôle. Nous vous recommandons vivement de conserver une sauvegarde de vos fichiers, en particulier avant toute opération par lots importante.",
        "p3": "Nous sommes responsables de la bonne exécution des obligations prévues par les présentes Conditions. Notre responsabilité ne peut toutefois être engagée lorsque le dommage est imputable à votre propre fait (par exemple la validation d'un renommage dont l'erreur était visible dans l'aperçu), au fait imprévisible et insurmontable d'un tiers ou à un cas de force majeure.",
        "p4": "Le Service est fourni en ligne et peut être temporairement interrompu pour maintenance, mise à jour ou pour des raisons indépendantes de notre volonté. Nous mettons en œuvre des moyens raisonnables pour en assurer la disponibilité.",
        "p5": "Si vous utilisez le Service à des fins professionnelles, notre responsabilité totale est limitée aux sommes que vous nous avez versées au cours des douze mois précédant le fait générateur, et les dommages indirects (perte de données, perte d'exploitation) sont exclus.",
        "p6": "Aucune stipulation des présentes Conditions ne limite les droits que vous tenez, en tant que consommateur, de dispositions légales impératives.",
        "title": "Responsabilité"
      },
      "lifetime": {
        "p1": "L'offre À vie est un paiement unique qui donne au compte utilisé lors de l'achat l'accès aux fonctionnalités incluses dans les offres Pro, y compris celles qui y seraient ajoutées ultérieurement, pendant toute la durée d'exploitation du Service par l'Éditeur ou ses successeurs. Elle est personnelle et incessible.",
        "p2": "Elle est proposée en édition limitée de {{cap}} exemplaires au total ; une fois ceux-ci vendus, l'offre n'est plus disponible. Le nombre d'exemplaires restants affiché l'est à titre indicatif.",
        "p3": "« À vie » s'entend de la durée de vie du Service, et non de celle de l'utilisateur. En cas d'arrêt définitif du Service, nous vous en informerons par e-mail au moins trois mois à l'avance, sans préjudice des droits que vous tenez de la loi.",
        "p4": "L'accès À vie peut être retiré en cas de remboursement, de contestation du paiement (rétrofacturation) ou de manquement grave aux présentes Conditions.",
        "title": "Offre À vie"
      },
      "order": {
        "p1": "Pour souscrire, choisissez une offre sur la page des tarifs ou dans l'application, puis réglez sur la page sécurisée de notre prestataire de paiement Stripe. Avant de payer, vous pouvez vérifier l'offre choisie, son prix et les présentes Conditions. Le contrat est conclu à la confirmation de votre paiement.",
        "p2": "Le paiement s'effectue par carte bancaire ou par tout autre moyen proposé par Stripe. Les abonnements sont débités à la commande puis au début de chaque nouvelle période ; l'offre À vie n'est débitée qu'une seule fois. Les données de paiement sont traitées exclusivement par Stripe Payments Europe, Limited : nous n'avons jamais accès à votre numéro de carte complet.",
        "p3": "Une confirmation de commande vous est adressée par e-mail. Votre historique de facturation est disponible dans le portail client Stripe, accessible depuis votre compte, ou sur simple demande par e-mail. Si vous payez sans être connecté, l'achat est rattaché à l'adresse e-mail utilisée lors du paiement et s'active lorsque vous vous connectez ou créez un compte avec cette adresse.",
        "p4": "En cas d'échec du paiement d'un renouvellement, Stripe peut effectuer de nouvelles tentatives ; en cas d'échec persistant, l'accès Pro est suspendu et votre compte repasse à l'offre gratuite jusqu'à régularisation du paiement.",
        "title": "Commande et paiement"
      },
      "plans": {
        "annual": "Pro Annuel : {{price}} par an, abonnement reconduit automatiquement chaque année.",
        "free": "Gratuit : {{files}} fichiers renommés par jour et {{subtitles}} téléchargements de sous-titres par mois, sans frais et sans carte bancaire.",
        "intro": "Le Service est proposé selon les offres suivantes :",
        "lifetime": "À vie : {{price}} en paiement unique, dans la limite de {{cap}} exemplaires au total, donnant accès aux fonctionnalités Pro pendant toute la durée d'exploitation du Service (voir l'article 7).",
        "monthly": "Pro Mensuel : {{price}} par mois, abonnement reconduit automatiquement chaque mois.",
        "p2": "Les offres Pro (Pro Mensuel, Pro Annuel ou À vie) lèvent la limite quotidienne de fichiers et la limite mensuelle de sous-titres, dans les limites d'un usage normal (article 9). Les fonctionnalités incluses dans chaque offre sont celles présentées sur la page des tarifs au moment de votre commande.",
        "p3": "Les prix sont indiqués en euros, toutes taxes comprises. Le prix applicable est celui affiché au moment de la commande et confirmé sur la page de paiement Stripe.",
        "p4": "Nous pouvons faire évoluer nos prix pour l'avenir. Une modification de prix ne s'applique jamais à une commande déjà payée ; pour un abonnement en cours, elle ne s'applique qu'à compter du renouvellement suivant, après information préalable dans les conditions de l'article 15.",
        "title": "Offres et prix"
      },
      "purpose": {
        "p1": "RenameFlow (le « Service »), accessible à l'adresse renameflow.com, est édité par {{publisher}} (l'« Éditeur », « nous »). Les informations complètes relatives à l'Éditeur figurent dans les mentions légales.",
        "p2": "Les présentes conditions générales d'utilisation et de vente (les « Conditions ») définissent les modalités d'accès et d'utilisation du Service par tout utilisateur (« vous ») ainsi que les conditions de vente des offres payantes. Elles s'appliquent à l'exclusion de toutes autres conditions.",
        "p3": "Sauf mention contraire, les Conditions s'adressent à des consommateurs. Si vous utilisez le Service à des fins professionnelles, les dispositions réservées aux consommateurs (notamment le droit de rétractation, la garantie légale de conformité et la médiation de la consommation) ne vous sont pas applicables.",
        "title": "Éditeur et objet"
      },
      "refunds": {
        "p1": "En dehors des cas prévus par la loi (rétractation, défaut de conformité, défaut d'information sur la reconduction) et par les présentes Conditions, les sommes versées ne sont pas remboursables, notamment pour une période entamée ou pour un accès À vie déjà activé.",
        "p2": "Les paiements en double ou erronés sont intégralement remboursés dès que nous en avons connaissance.",
        "p3": "Les remboursements sont effectués sur le moyen de paiement utilisé lors de la commande et peuvent apparaître sous 5 à 10 jours ouvrés selon votre banque. Avant de contester un paiement auprès de votre banque, contactez-nous afin que nous puissions trouver une solution.",
        "title": "Remboursements"
      },
      "service": {
        "p1": "RenameFlow est une application web qui vous aide à renommer et à organiser vos fichiers multimédias (films, séries, anime, musique) selon les conventions de nommage de Plex, Jellyfin, Kodi et des logiciels similaires. Il identifie les titres à l'aide de bases de données tierces, vous présente un aperçu des noms proposés et n'applique le renommage qu'après votre validation.",
        "p2": "Vos fichiers sont renommés localement, directement sur votre ordinateur, grâce à l'API File System Access de votre navigateur : ils ne sont jamais envoyés sur nos serveurs. Pour identifier vos médias, les titres détectés dans vos noms de fichiers (et, pour la recherche de sous-titres, les noms de fichiers eux-mêmes) sont transmis à des services de métadonnées, comme décrit dans la politique de confidentialité.",
        "p3": "Le Service nécessite un ordinateur équipé d'un navigateur compatible (actuellement Google Chrome, Microsoft Edge ou Opera sur ordinateur) et une connexion internet ; il ne fonctionne pas sur les appareils mobiles, ni sous Firefox ou Safari. Avant de souscrire une offre payante, vérifiez avec l'offre gratuite que le Service fonctionne avec votre configuration.",
        "title": "Description du Service"
      },
      "subscriptions": {
        "p1": "Les abonnements Pro Mensuel et Pro Annuel sont conclus pour une période initiale d'un mois ou d'un an, à compter de la date de paiement. À l'issue de chaque période, ils sont reconduits tacitement pour une durée identique, au prix alors en vigueur, sauf résiliation de votre part.",
        "p2": "Vous pouvez résilier à tout moment, gratuitement et en quelques clics, depuis la rubrique Compte de l'application (bouton « {{button}} »), qui ouvre le portail client sécurisé de Stripe. Vous pouvez également résilier en écrivant à {{email}}. La résiliation prend effet à la fin de la période en cours : vous conservez l'accès Pro jusqu'à cette date et aucun nouveau prélèvement n'est effectué. La période en cours n'est pas remboursée, sauf dans les cas prévus aux articles 8 (rétractation) et 10 (garantie légale de conformité).",
        "p3": "Pour l'abonnement annuel, conformément à l'article L215-1 du Code de la consommation, nous vous informons par e-mail, au plus tôt trois mois et au plus tard un mois avant la date de reconduction, de la possibilité de ne pas reconduire le contrat. Si cette information ne vous a pas été adressée, vous pouvez mettre gratuitement un terme à l'abonnement à tout moment à compter de la date de reconduction ; les avances effectuées après la dernière date de reconduction vous sont alors remboursées dans un délai de trente jours à compter de la résiliation, déduction faite des sommes correspondant à l'exécution du contrat jusqu'à celle-ci.",
        "p4": "Nous pouvons suspendre ou résilier votre accès en cas de manquement grave aux présentes Conditions (article 9), après une mise en demeure restée sans effet pendant huit jours, sauf urgence (fraude, atteinte à la sécurité du Service). Si nous mettons fin à une offre payante pour une raison qui ne vous est pas imputable, nous vous remboursons la part non utilisée de la période en cours.",
        "title": "Durée, reconduction et résiliation des abonnements"
      },
      "title": "Conditions générales d'utilisation et de vente",
      "use": {
        "automation": "utiliser le Service ou ses interfaces de manière automatisée (scripts, robots, extraction de données) ou d'une manière qui lui impose une charge anormale, notamment sur les services de métadonnées qu'il utilise ;",
        "copy": "copier, modifier ou décompiler le Service, hors les cas autorisés par la loi.",
        "fairUse": "Les offres illimitées s'entendent d'un usage normal et non automatisé ; nous pouvons limiter temporairement un usage manifestement anormal afin de protéger le Service.",
        "files": "Vous êtes seul responsable des fichiers que vous traitez avec le Service et de la licéité de leur détention et de leur utilisation.",
        "intro": "Vous vous engagez à utiliser le Service conformément à la loi et aux présentes Conditions. Il vous est notamment interdit de :",
        "multiAccount": "créer plusieurs comptes gratuits ou utiliser des adresses e-mail jetables pour contourner les limites de l'offre gratuite ;",
        "security": "tenter d'accéder aux données d'autres utilisateurs, de contourner les mesures de sécurité ou les limites d'utilisation, ou de perturber le fonctionnement du Service ;",
        "share": "partager votre compte ou revendre un accès au Service ;",
        "title": "Règles d'utilisation"
      },
      "withdrawal": {
        "form": {
          "address": "Adresse du (des) consommateur(s) / adresse e-mail du compte :",
          "date": "Date :",
          "delete": "(*) Rayez la mention inutile.",
          "name": "Nom du (des) consommateur(s) :",
          "note": "(Veuillez compléter et renvoyer le présent formulaire uniquement si vous souhaitez vous rétracter du contrat.)",
          "notice": "Je/Nous (*) vous notifie/notifions (*) par la présente ma/notre (*) rétractation du contrat portant sur la prestation de services ci-dessous :",
          "orderedOn": "Commandé le (*) :",
          "signature": "Signature du (des) consommateur(s) (uniquement en cas de notification du présent formulaire sur papier) :",
          "title": "Formulaire type de rétractation",
          "to": "À l'attention de : {{recipient}}"
        },
        "p1": "En tant que consommateur, vous disposez en principe d'un délai de 14 jours à compter de la conclusion d'un contrat à distance pour vous rétracter, sans avoir à motiver votre décision (article L221-18 du Code de la consommation).",
        "p2": "Les fonctionnalités Pro sont mises à votre disposition dès la confirmation de votre paiement. Pour les abonnements Pro Mensuel et Pro Annuel, vous conservez votre droit de rétractation pendant 14 jours, même si vous avez commencé à utiliser les fonctionnalités Pro. Ayant demandé que l'exécution du Service commence avant la fin du délai de rétractation, vous êtes alors redevable d'un montant proportionnel au service fourni jusqu'à la communication de votre décision de vous rétracter (article L221-25 du Code de la consommation), et nous vous remboursons le solde.",
        "p3": "Pour l'offre À vie, dans la mesure où elle constitue la fourniture d'un contenu numérique non fourni sur un support matériel : lorsque, lors de la commande, vous avez expressément demandé cet accès immédiat avant l'expiration du délai de rétractation et reconnu perdre ainsi votre droit de rétractation, et que nous vous avons adressé la confirmation de cet accord sur un support durable (e-mail), vous ne pouvez plus exercer ce droit (article L221-28 13° du Code de la consommation). À défaut (notamment sans cette demande expresse et cette reconnaissance), vous conservez votre droit de rétractation pendant 14 jours et, si vous l'exercez, vous n'êtes redevable d'aucune somme et êtes intégralement remboursé (article L221-26 du Code de la consommation).",
        "p4": "Pour exercer votre droit de rétractation, adressez-nous avant l'expiration du délai une déclaration dénuée d'ambiguïté à {{email}}, par exemple au moyen du formulaire type ci-dessous. Nous vous remboursons les sommes dues dans un délai de 14 jours à compter de la réception de votre décision, par le même moyen de paiement que celui utilisé pour la transaction initiale, sans frais pour vous.",
        "title": "Droit de rétractation"
      }
    },
    "vatExempt": "TVA non applicable, article 293 B du Code général des impôts."
  },
  "notFound": {
    "description": "L'URL {{path}} n'existe pas (ou a été déplacée).",
    "eyebrow": "Erreur 404",
    "home": "Accueil",
    "pricing": "Voir les prix",
    "support": "Support",
    "title": "Page introuvable"
  },
  "onboarding": {
    "discovery": {
      "subtitle": "Une seule question, facultative : ça nous aide beaucoup.",
      "title": "Comment as-tu découvert RenameFlow ?"
    },
    "options": {
      "chatgpt": "ChatGPT / Perplexity",
      "friend": "Un ami / le bouche-à-oreille",
      "google": "Recherche Google",
      "other": "Autre",
      "reddit": "Reddit",
      "twitter": "Twitter / X",
      "youtube": "YouTube"
    },
    "other": {
      "placeholder": "Où ça ? (facultatif)"
    },
    "send": "Envoyer",
    "skip": "Passer",
    "thanks": "Merci pour ta réponse !"
  },
  "seoPages": {
    "contact": {
      "description": "Une question, un bug ou une idée ? Écris à l'équipe RenameFlow.",
      "title": "Contact — RenameFlow"
    },
    "privacy": {
      "description": "Quelles données personnelles RenameFlow traite, pourquoi, pendant combien de temps, qui les reçoit et comment exercer vos droits RGPD.",
      "title": "Politique de confidentialité — RenameFlow"
    },
    "terms": {
      "description": "Les conditions d'utilisation de RenameFlow et d'achat des offres Pro et À vie : prix, reconduction, résiliation, rétractation et remboursements.",
      "title": "Conditions générales d'utilisation et de vente — RenameFlow"
    }
  },
  "seoSection": {
    "b1": "Renommage par lots (bulk rename) pour bibliothèques entières",
    "b2": "Détection intelligente : titre, année, saison/épisode, version",
    "b3": "Compatible avec les conventions de nommage Plex / Kodi / Jellyfin",
    "b4": "Traitement orienté local : vous gardez le contrôle sur vos fichiers",
    "compareLink": "Voir la comparaison FileBot",
    "guideLink": "Voir le guide Plex/Kodi/Jellyfin",
    "guidesTitle": "Guides de nommage par serveur multimédia",
    "h3a": "Guide : conventions Plex/Kodi/Jellyfin",
    "h3aDesc": "Exemples concrets de formats (films, séries, anime) + erreurs à éviter pour une détection parfaite.",
    "h3b": "Comparatif : RenameFlow vs FileBot",
    "h3bDesc": "Un tableau clair et une FAQ pour comprendre les différences et choisir l'outil adapté.",
    "kicker": "Pour Plex, Kodi, Jellyfin",
    "p1": "RenameFlow est un renommeur de fichiers multimédia conçu pour standardiser les noms de vos vidéos (films, séries TV, anime) afin qu'ils soient correctement reconnus par Plex, Kodi et Jellyfin.",
    "p2": "L'objectif : renommer en masse vos fichiers téléchargés ou mal nommés, récupérer un match fiable via des bases comme TMDB / TheTVDB / AniList, et appliquer un pattern cohérent en quelques secondes.",
    "title": "Renommer et organiser sa médiathèque (films, séries, anime) — rapidement et proprement"
  }
}
