Files
farolero/lib/l10n/app_fr.arb
T
FreeTLab b1b12cc8af feat(i18n): fill the translation backlog and add the new strings
40 keys existed only in app_es.arb and fell back to Spanish everywhere else
(15 of them in English). Most were multi-device screens: hostGame, votar,
clueIs, whoDoYouThinkIsTheImpostor, waitingPlayersSeeWord.

Adds those plus the new keys for impostor awareness, the adjusted impostor
count, the eliminated-player notice and the reconnection screen.

51 keys across the 18 supported languages.
2026-07-25 20:36:39 +02:00

373 lines
15 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"@@locale": "fr",
"appTitle": "Farolero",
"subtitle": "Jeu de déduction sociale",
"loadingWords": "Chargement des mots...",
"matchRewards": "Récompenses de partie",
"newMedals": "Nouvelles médailles",
"noNewMedalsKeepFire": "Pas de nouvelles médailles cette fois. Continue à entretenir ta flamme.",
"calculatingRewards": "Calcul des récompenses...",
"fireLabel": "Flamme",
"playersRange": "3-20 joueurs • Sans internet",
"createGame": "Créer une partie",
"joinGame": "Rejoindre une partie",
"howToPlay": "Comment jouer",
"settings": "Paramètres",
"gameMode": "Mode de jeu",
"singleDevice": "Un seul téléphone",
"multiDevice": "Multi-téléphone",
"category": "Catégorie",
"categoryAll": "Toutes",
"categoryAnimals": "Animaux",
"categoryFood": "Nourriture",
"categoryCountries": "Pays",
"categorySports": "Sports",
"categoryProfessions": "Métiers",
"categoryObjects": "Objets",
"categoryPlaces": "Lieux",
"categoryMovies": "Films",
"categoryMusic": "Musique",
"categoryTechnology": "Technologie",
"playersCount": "Joueurs ({count})",
"@playersCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"playersRangeHint": "3-20",
"playerNameHint": "Nom du joueur",
"playerAlreadyExists": "Un joueur avec ce nom existe déjà",
"maxPlayersReached": "Maximum 20 joueurs",
"minPlayersRequired": "Il faut au moins 3 joueurs",
"configuration": "Configuration",
"impostors": "🎭 Imposteurs",
"impostorClue": "🔍 Indice pour l'imposteur",
"impostorClueDescription": "L'imposteur connaît la catégorie",
"debateTime": "⏱️ Temps de débat",
"noLimit": "Sans limite",
"oneMin": "1 min",
"twoMin": "2 min",
"threeMin": "3 min",
"fiveMin": "5 min",
"startGame": "Lancer la partie",
"seeYourWord": "Voir ton mot",
"eachPlayerMustSee": "Chaque joueur doit voir son mot en secret",
"roundNumber": "Manche {round}",
"@roundNumber": {
"placeholders": {
"round": {
"type": "int"
}
}
},
"alreadySeen": "A déjà vu son mot",
"tapToSee": "Appuie pour voir",
"allSeenStartDebate": "Tous ont vu → Lancer le débat",
"playersRemaining": "Encore {count} joueurs",
"@playersRemaining": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"youAreImpostor": "Tu es l'imposteur !",
"yourWordIs": "Ton mot est :",
"clueCategory": "Indice : {category}",
"@clueCategory": {
"placeholders": {
"category": {
"type": "String"
}
}
},
"holdToSeeWord": "Maintiens appuyé pour voir ton mot",
"makeSureNoOneLooks": "Assure-toi que personne d'autre ne regarde",
"showingWord": "👁️ Affichage...",
"holdToSee": "👆 Maintiens appuyé pour voir",
"seenMyWord": "J'ai vu mon mot",
"debateRound": "Débat - Manche {round}",
"@debateRound": {
"placeholders": {
"round": {
"type": "int"
}
}
},
"timeUp": "⏰ Temps écoulé !",
"timeRemaining": "⏱️ Temps restant",
"playersInDebate": "Joueurs en débat",
"activePlayersInfo": "{active} actifs • {impostors} imposteur(s) caché(s)",
"@activePlayersInfo": {
"placeholders": {
"active": {
"type": "int"
},
"impostors": {
"type": "int"
}
}
},
"eliminated": "Éliminé",
"notes": "Notes",
"goToVoting": "Passer au vote",
"voting": "🗳️ Vote",
"turnToVote": "Au tour de voter :",
"votesProgress": "Votes : {current}/{total}",
"@votesProgress": {
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"whoIsImpostor": "Qui est l'imposteur selon toi ?",
"confirmVote": "Confirmer le vote",
"votingComplete": "🗳️ Vote terminé",
"allVoted": "Tout le monde a voté !",
"tapToReveal": "Appuie pour révéler le résultat",
"revealResult": "Révéler le résultat",
"result": "Résultat",
"revealing": "Révélation...",
"wasImpostor": "C'était l'IMPOSTEUR ! 🎉",
"wasInnocent": "C'était un INNOCENT 😱",
"votesThisRound": "Votes de cette manche",
"seeEndResult": "Voir le résultat final",
"impostorGuessWord": "L'imposteur devine-t-il le mot ?",
"nextRound": "Manche suivante",
"impostorGuessTitle": "🎯 Devinette de l'imposteur",
"impostorCanGuess": "L'imposteur éliminé peut\ntenter de deviner le mot",
"ifCorrectImpostorsWin": "S'il trouve, les imposteurs gagnent !",
"guessWordHint": "Quel est le mot selon toi ?",
"dontGuess": "Ne pas tenter",
"guess": "Deviner",
"correctGuess": "Il a trouvé !",
"theWordWas": "Le mot était : {word}",
"@theWordWas": {
"placeholders": {
"word": {
"type": "String"
}
}
},
"impostorsWin": "Les imposteurs gagnent !",
"wrongGuess": "Il n'a pas trouvé !",
"gameContinues": "La partie continue...",
"gameOver": "Fin de partie",
"playersWin": "Les joueurs gagnent !",
"theSecretWordWas": "🔍 Le mot était :",
"categoryLabel": "Catégorie : {category}",
"@categoryLabel": {
"placeholders": {
"category": {
"type": "String"
}
}
},
"theImpostorWas": "🎭 L'imposteur était :",
"theImpostorsWere": "🎭 Les imposteurs étaient :",
"votingHistory": "📊 Historique des votes",
"roundElimination": "Manche {round} : {name}",
"@roundElimination": {
"placeholders": {
"round": {
"type": "int"
},
"name": {
"type": "String"
}
}
},
"rematch": "Revanche",
"mainMenu": "Menu principal",
"notesTitle": "📝 Notes",
"notesSaved": "Notes sauvegardées",
"whoAreYou": "Qui es-tu ?",
"selectYourName": "Sélectionne ton nom pour voir tes notes privées",
"notesOf": "Notes de {name}",
"@notesOf": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"notesAboutPlayers": "Notes sur chaque joueur",
"playerNoteHint": "Qu'a-t-il dit ? Suspect ?",
"freeNote": "Note libre",
"freeNoteHint": "Notes personnelles...",
"rulesTitle": "📖 Comment jouer",
"rulesWhatIsTitle": "🎭 Qu'est-ce que L'Imposteur ?",
"rulesWhatIsBody": "Un jeu de déduction sociale pour 3-20 joueurs. Tout le monde reçoit un mot secret... sauf l'imposteur ! Ta mission : découvrir qui bluff.",
"rulesHowToPlayTitle": "🔍 Comment joue-t-on ?",
"rulesHowToPlayBody": "1. Distribution des rôles : tout le monde reçoit le même mot, sauf le(s) imposteur(s).\n\n2. Débat : à tour de rôle, chaque joueur décrit le mot SANS le dire directement. L'imposteur doit faire semblant de le connaître.\n\n3. Vote : à la fin du débat, tout le monde vote pour celui qu'il pense être l'imposteur.\n\n4. Élimination : le plus voté est éliminé et on révèle s'il était imposteur ou non.\n\n5. Si c'était l'imposteur, il peut tenter de deviner le mot. S'il trouve, les imposteurs gagnent !",
"rulesWhoWinsTitle": "🏆 Qui gagne ?",
"rulesWhoWinsBody": "• Joueurs : ils gagnent s'ils éliminent TOUS les imposteurs.\n• Imposteurs : ils gagnent s'ils ne sont pas découverts jusqu'à ce qu'il reste autant ou moins de joueurs normaux que d'imposteurs, ou s'ils devinent le mot en étant éliminés.",
"rulesTipsPlayersTitle": "💡 Conseils pour les joueurs",
"rulesTipsPlayersBody": "• Donne des indices subtils qui prouvent que tu connais le mot, mais pas trop évidents pour que l'imposteur ne les utilise pas.\n• Observe qui donne des réponses vagues ou génériques.\n• Utilise les notes pour noter ce que chacun dit.\n• Ne dis pas le mot directement, ça aide l'imposteur !",
"rulesTipsImpostorTitle": "🎭 Conseils pour l'imposteur",
"rulesTipsImpostorBody": "• Écoute attentivement les indices des autres.\n• Essaie de déduire le mot pour donner des indices crédibles.\n• Ne sois pas le premier à parler si tu n'es pas sûr.\n• Si on te donne la catégorie comme indice, utilise-la à ton avantage.\n• Accuse les autres pour détourner l'attention.",
"rulesModesTitle": "📱 Modes de jeu",
"rulesModesBody": "• Un seul téléphone : tout le monde partage l'appareil. Chaque joueur voit son mot en appuyant et maintenant un bouton.\n\n• Multi-téléphone : chaque joueur utilise son propre appareil. Ils se connectent par Bluetooth/WiFi Direct sans avoir besoin d'internet.",
"rulesExampleTitle": "✏️ Exemple de partie",
"rulesExampleBody": "Mot secret : \"Pizza\"\n\n• Marie : \"Ça se mange chaud\" ✓\n• Lucas : \"Ça arrive dans une boîte\" ✓\n• Julie (imposteur) : \"C'est très populaire\" 🤔\n• Thomas : \"Il y a du fromage\" ✓\n\nJulie a donné une réponse très générique... Suspecte !",
"joinGameTitle": "Rejoindre une partie",
"multiDeviceMode": "Mode multi-téléphone",
"scanQrDescription": "Scanne le code QR affiché par l'hôte pour te connecter à la partie via Bluetooth/WiFi Direct.",
"comingSoon": "Prochainement",
"nearbyNotAvailable": "La connexion multi-téléphone avec Nearby Connections nécessite des appareils Android physiques.\n\nPour l'instant, utilise le mode \"Un seul téléphone\" pour jouer sur un appareil partagé.",
"back": "Retour",
"yes": "Oui",
"no": "Non",
"cancel": "Annuler",
"accept": "Accepter",
"next": "Suivant",
"settingsTitle": "Paramètres",
"language": "Langue",
"soundVolume": "Volume des effets",
"vibration": "Vibration",
"about": "À propos",
"version": "Version",
"developer": "Développeur",
"licenses": "Licences",
"scanThisCodeFromAnotherPhone": "Scanne ce code depuis un autre mobile",
"gameUsers": "Utilisateurs de la partie",
"selectedPlayers": "Joueurs sélectionnés",
"connectedPhones": "Mobiles connectés",
"selectedOnThisPhone": "Sélectionné sur ce mobile",
"selectedByAnotherDevice": "Sélectionné sur un autre appareil",
"available": "Disponible",
"notAvailable": "Indisponible",
"release": "Libérer",
"select": "Sélectionner",
"delete": "Supprimer",
"selectAtLeastThreeUsersToStart": "Sélectionne au moins 3 utilisateurs pour commencer.",
"hostPhoneMustSelectUser": "Le mobile hôte doit sélectionner au moins un utilisateur.",
"roomNoLongerInLobby": "Le salon nest plus dans le lobby.",
"completeUserSelectionToStart": "Termine la sélection des utilisateurs pour commencer.",
"preparingSecureRoom": "Préparation du salon sécurisé",
"searchingNearbyBluetoothGames": "Recherche de parties proches par Bluetooth",
"tapToJoin": "Touche pour rejoindre",
"bluetoothLocationPermissionsRequired": "Les autorisations Bluetooth et localisation sont nécessaires pour rechercher des parties.",
"bluetoothLocationPermissionsShort": "Autorisations Bluetooth et localisation nécessaires",
"couldNotStartSearch": "Impossible de lancer la recherche. Vérifie le Bluetooth et la localisation.",
"couldNotConnectToHost": "Impossible de se connecter à {host}",
"room": "Salon",
"singleDeviceSubtitle": "Partie sur cet appareil",
"singleDeviceDescription": "Idéal pour jouer ensemble en se passant le mobile. Configuration rapide et directe.",
"multiDeviceSubtitle": "Chaque joueur sur son mobile",
"multiDeviceDescription": "Crée un salon premium, partage le QR et gère les utilisateurs depuis le lobby.",
"singleDeviceGameLabel": "Partie sur cet appareil",
"multiDeviceGameLabel": "Partie multiappareil",
"mainDeviceUser": "Utilisateur principal de lappareil",
"couldNotCreateRoom": "Impossible de créer le salon. Vérifie le Bluetooth.",
"cannotStartWithReason": "Impossible de démarrer : {reason}",
"invalidRoom": "salon invalide",
"defaultPlayerName": "Joueur",
"play": "Jouer",
"history": "Historique",
"mainTagline": "Découvre limposteur avant quil ne soit trop tard",
"deviceProfile": "Profil de lappareil",
"profileName": "Nom",
"profileNick": "Pseudo",
"save": "Enregistrer",
"automaticLanguage": "Automatique",
"noSavedGames": "Aucune partie enregistrée pour le moment.",
"errorNoGame": "Erreur : aucune partie",
"disconnectedPlayersWarning": "Des joueurs ont un appareil déconnecté.",
"assumeOnThisPhone": "Reprendre sur ce mobile",
"noResult": "Aucun résultat",
"historyGameSummary": "$players joueurs • $impostors imposteur(s) • $rounds manche(s)\n$word • $category",
"@historyGameSummary": {
"placeholders": {
"players": {
"type": "int"
},
"impostors": {
"type": "int"
},
"rounds": {
"type": "int"
},
"word": {
"type": "String"
},
"category": {
"type": "String"
}
}
},
"voteOf": "Vote de {name}",
"@voteOf": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"firstTurnInstruction": "{name} commence en disant son mot.",
"@firstTurnInstruction": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"debate": "🗣️ Débat",
"scanToJoin": "Scannez le QR code pour rejoindre",
"connectedPlayers": "Joueurs connectés",
"hostGame": "Gestion de la partie",
"waitingPlayersSeeWord": "En attente que chacun voie son mot...",
"activePlayers": "Joueurs actifs",
"playersVoted": "Ont voté",
"waitingVoting": "En attente des votes...",
"waitingForPlayers": "En attente de joueurs...",
"needMorePlayers": "Il manque encore {count} joueurs",
"starting": "Démarrage...",
"enterNameAndScan": "Saisissez votre nom et scannez le QR code de l'hôte",
"yourName": "Votre nom",
"nameRequired": "Saisissez votre nom",
"connectingTo": "Connexion à",
"scanQR": "Scanner le QR code",
"scanHostQR": "Visez le QR code de l'hôte",
"connectedWaiting": "Connecté !",
"waitingForHost": "En attente que l'hôte lance la partie...",
"enterNameToSearch": "Saisissez votre nom pour chercher des parties à proximité",
"searchGames": "Chercher des parties",
"searchingGames": "Recherche de parties à proximité...",
"noGamesFound": "Aucune partie trouvée",
"noGamesFoundHint": "Assurez-vous que l'hôte a ouvert le salon et que vous êtes à proximité",
"orScanQR": "Rien n'apparaît ? Scannez le QR code de l'hôte",
"iveSeenIt": "Je l'ai vu",
"clueIs": "L'indice est : {category}",
"debatePhaseActive": "Phase de débat en cours",
"debateInstructions": "Discutez entre vous et dites qui vous pensez être l'imposteur. Quand vous êtes prêts, demandez le vote.",
"solicitarVotacion": "Demander le vote",
"votacionSolicitada": "Vote demandé",
"whoDoYouThinkIsTheImpostor": "Qui est l'imposteur ?",
"selectOnePlayer": "Sélectionnez un joueur pour voter",
"votar": "Voter",
"selectYourProfile": "Votre profil",
"selectProfile": "Sélectionnez un profil",
"createNewUser": "Créer un nouvel utilisateur",
"userNameRequired": "Le nom ne peut pas être vide",
"profileSelected": "Profil sélectionné",
"availableProfiles": "Profils disponibles",
"impostorsKnowEachOther": "🎭 Les imposteurs se connaissent",
"impostorsKnowEachOtherDescription": "Chaque imposteur verra les noms des autres",
"impostorsKnowEachOtherNeedsTwo": "S'applique uniquement à partir de 2 imposteurs",
"otherImpostorsTitle": "{count, plural, =1{L'autre imposteur} other{Les autres imposteurs}}",
"youAreTheOnlyImpostor": "Vous êtes le seul imposteur",
"impostorsAdjusted": "Imposteurs ajustés à {count} selon le nombre de joueurs",
"eliminatedCannotVote": "Vous êtes éliminé : vous ne votez plus",
"reconnecting": "Reconnexion...",
"reconnectingHint": "Connexion à l'hôte perdue. Votre place dans la partie est conservée.",
"leaveGame": "Quitter la partie",
"playerRejoined": "{name} a rejoint la partie"
}