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.
This commit is contained in:
2026-07-25 20:36:39 +02:00
parent 863690168c
commit b1b12cc8af
36 changed files with 3677 additions and 1206 deletions
+140 -71
View File
@@ -18,19 +18,20 @@ class AppLocalizationsFr extends AppLocalizations {
String get loadingWords => 'Chargement des mots...';
@override
String get matchRewards => "Récompenses de partie";
String get matchRewards => 'Récompenses de partie';
@override
String get newMedals => "Nouvelles médailles";
String get newMedals => 'Nouvelles médailles';
@override
String get noNewMedalsKeepFire => "Pas de nouvelles médailles cette fois. Continue à entretenir ta flamme.";
String get noNewMedalsKeepFire =>
'Pas de nouvelles médailles cette fois. Continue à entretenir ta flamme.';
@override
String get calculatingRewards => "Calcul des récompenses...";
String get calculatingRewards => 'Calcul des récompenses...';
@override
String get fireLabel => "Flamme";
String get fireLabel => 'Flamme';
@override
String get playersRange => '3-20 joueurs • Sans internet';
@@ -125,7 +126,7 @@ class AppLocalizationsFr extends AppLocalizations {
String get impostorClueDescription => 'L\'imposteur connaît la catégorie';
@override
String get debate => '🗣️ Debate';
String get debate => '🗣️ Débat';
@override
String get debateTime => '⏱️ Temps de débat';
@@ -214,16 +215,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get playersInDebate => 'Joueurs en débat';
@override
String voteOf(String name) {
return "Vote de $name";
}
@override
String firstTurnInstruction(String name) {
return "$name commence en disant son mot.";
}
@override
String activePlayersInfo(int active, int impostors) {
return '$active actifs • $impostors imposteur(s) caché(s)';
@@ -503,131 +494,133 @@ class AppLocalizationsFr extends AppLocalizations {
String get licenses => 'Licences';
@override
String get scanToJoin => 'Escanea el QR para unirte';
String get scanToJoin => 'Scannez le QR code pour rejoindre';
@override
String get connectedPlayers => 'Jugadores conectados';
String get connectedPlayers => 'Joueurs connectés';
@override
String get hostGame => 'Gestor de partida';
String get hostGame => 'Gestion de la partie';
@override
String get waitingPlayersSeeWord => 'Esperando que todos vean su palabra...';
String get waitingPlayersSeeWord => 'En attente que chacun voie son mot...';
@override
String get activePlayers => 'Jugadores activos';
String get activePlayers => 'Joueurs actifs';
@override
String get playersVoted => 'Han votado';
String get playersVoted => 'Ont voté';
@override
String get waitingVoting => 'Esperando que voten...';
String get waitingVoting => 'En attente des votes...';
@override
String get waitingForPlayers => 'Esperando jugadores...';
String get waitingForPlayers => 'En attente de joueurs...';
@override
String needMorePlayers(int count) {
return 'Faltan $count jugadores más';
return 'Il manque encore $count joueurs';
}
@override
String get starting => 'Iniciando...';
String get starting => 'Démarrage...';
@override
String get enterNameAndScan => 'Escribe tu nombre y escanea el QR del host';
String get enterNameAndScan =>
'Saisissez votre nom et scannez le QR code de l\'hôte';
@override
String get yourName => 'Tu nombre';
String get yourName => 'Votre nom';
@override
String get nameRequired => 'Escribe tu nombre';
String get nameRequired => 'Saisissez votre nom';
@override
String get connectingTo => 'Conectando a';
String get connectingTo => 'Connexion à';
@override
String get scanQR => 'Escanear QR';
String get scanQR => 'Scanner le QR code';
@override
String get scanHostQR => 'Apunta al QR del host';
String get scanHostQR => 'Visez le QR code de l\'hôte';
@override
String get connectedWaiting => '¡Conectado!';
String get connectedWaiting => 'Connecté !';
@override
String get waitingForHost => 'Esperando a que el host inicie la partida...';
String get waitingForHost => 'En attente que l\'hôte lance la partie...';
@override
String get enterNameToSearch =>
'Escribe tu nombre para buscar partidas cercanas';
'Saisissez votre nom pour chercher des parties à proximité';
@override
String get searchGames => 'Buscar partidas';
String get searchGames => 'Chercher des parties';
@override
String get searchingGames => 'Buscando partidas cercanas...';
String get searchingGames => 'Recherche de parties à proximité...';
@override
String get noGamesFound => 'No se encontraron partidas';
String get noGamesFound => 'Aucune partie trouvée';
@override
String get noGamesFoundHint =>
'Asegúrate de que el host tiene la sala abierta y estáis cerca';
'Assurez-vous que l\'hôte a ouvert le salon et que vous êtes à proximité';
@override
String get orScanQR => '¿No aparece? Escanea el QR del host';
String get orScanQR => 'Rien n\'apparaît ? Scannez le QR code de l\'hôte';
@override
String get iveSeenIt => 'Ya la he visto';
String get iveSeenIt => 'Je l\'ai vu';
@override
String clueIs(String category) {
return 'La pista es: $category';
return 'L\'indice est : $category';
}
@override
String get debatePhaseActive => 'Fase de debate activa';
String get debatePhaseActive => 'Phase de débat en cours';
@override
String get debateInstructions =>
'Hablad entre vosotros y decid quién creéis que es el impostor. Cuando estéis listos, solicitad la votación.';
'Discutez entre vous et dites qui vous pensez être l\'imposteur. Quand vous êtes prêts, demandez le vote.';
@override
String get solicitarVotacion => 'Solicitar votación';
String get solicitarVotacion => 'Demander le vote';
@override
String get votacionSolicitada => 'Votación solicitada';
String get votacionSolicitada => 'Vote demandé';
@override
String get whoDoYouThinkIsTheImpostor => '¿Quién es el impostor?';
String get whoDoYouThinkIsTheImpostor => 'Qui est l\'imposteur ?';
@override
String get selectOnePlayer => 'Selecciona a un jugador para votar';
String get selectOnePlayer => 'Sélectionnez un joueur pour voter';
@override
String get votar => 'Votar';
String get votar => 'Voter';
@override
String get selectYourProfile => 'Tu perfil';
String get selectYourProfile => 'Votre profil';
@override
String get selectProfile => 'Selecciona un perfil';
String get selectProfile => 'Sélectionnez un profil';
@override
String get createNewUser => 'Crear nuevo usuario';
String get createNewUser => 'Créer un nouvel utilisateur';
@override
String get userNameRequired => 'El nombre no puede estar vacio';
String get userNameRequired => 'Le nom ne peut pas être vide';
@override
String get profileSelected => 'Perfil seleccionado';
String get profileSelected => 'Profil sélection';
@override
String get availableProfiles => 'Perfiles disponibles';
String get availableProfiles => 'Profils disponibles';
@override
String get scanThisCodeFromAnotherPhone => 'Scanne ce code depuis un autre mobile';
String get scanThisCodeFromAnotherPhone =>
'Scanne ce code depuis un autre mobile';
@override
String get gameUsers => 'Utilisateurs de la partie';
@@ -660,34 +653,41 @@ class AppLocalizationsFr extends AppLocalizations {
String get delete => 'Supprimer';
@override
String get selectAtLeastThreeUsersToStart => 'Sélectionne au moins 3 utilisateurs pour commencer.';
String get selectAtLeastThreeUsersToStart =>
'Sélectionne au moins 3 utilisateurs pour commencer.';
@override
String get hostPhoneMustSelectUser => 'Le mobile hôte doit sélectionner au moins un utilisateur.';
String get hostPhoneMustSelectUser =>
'Le mobile hôte doit sélectionner au moins un utilisateur.';
@override
String get roomNoLongerInLobby => 'Le salon nest plus dans le lobby.';
@override
String get completeUserSelectionToStart => 'Termine la sélection des utilisateurs pour commencer.';
String get completeUserSelectionToStart =>
'Termine la sélection des utilisateurs pour commencer.';
@override
String get preparingSecureRoom => 'Préparation du salon sécurisé';
@override
String get searchingNearbyBluetoothGames => 'Recherche de parties proches par Bluetooth';
String get searchingNearbyBluetoothGames =>
'Recherche de parties proches par Bluetooth';
@override
String get tapToJoin => 'Touche pour rejoindre';
@override
String get bluetoothLocationPermissionsRequired => 'Les autorisations Bluetooth et localisation sont nécessaires pour rechercher des parties.';
String get bluetoothLocationPermissionsRequired =>
'Les autorisations Bluetooth et localisation sont nécessaires pour rechercher des parties.';
@override
String get bluetoothLocationPermissionsShort => 'Autorisations Bluetooth et localisation nécessaires';
String get bluetoothLocationPermissionsShort =>
'Autorisations Bluetooth et localisation nécessaires';
@override
String get couldNotStartSearch => 'Impossible de lancer la recherche. Vérifie le Bluetooth et la localisation.';
String get couldNotStartSearch =>
'Impossible de lancer la recherche. Vérifie le Bluetooth et la localisation.';
@override
String couldNotConnectToHost(String host) {
@@ -701,13 +701,15 @@ class AppLocalizationsFr extends AppLocalizations {
String get singleDeviceSubtitle => 'Partie sur cet appareil';
@override
String get singleDeviceDescription => 'Idéal pour jouer ensemble en se passant le mobile. Configuration rapide et directe.';
String get singleDeviceDescription =>
'Idéal pour jouer ensemble en se passant le mobile. Configuration rapide et directe.';
@override
String get multiDeviceSubtitle => 'Chaque joueur sur son mobile';
@override
String get multiDeviceDescription => 'Crée un salon premium, partage le QR et gère les utilisateurs depuis le lobby.';
String get multiDeviceDescription =>
'Crée un salon premium, partage le QR et gère les utilisateurs depuis le lobby.';
@override
String get singleDeviceGameLabel => 'Partie sur cet appareil';
@@ -719,7 +721,8 @@ class AppLocalizationsFr extends AppLocalizations {
String get mainDeviceUser => 'Utilisateur principal de lappareil';
@override
String get couldNotCreateRoom => 'Impossible de créer le salon. Vérifie le Bluetooth.';
String get couldNotCreateRoom =>
'Impossible de créer le salon. Vérifie le Bluetooth.';
@override
String cannotStartWithReason(String reason) {
@@ -731,6 +734,7 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get defaultPlayerName => 'Joueur';
@override
String get play => 'Jouer';
@@ -738,7 +742,8 @@ class AppLocalizationsFr extends AppLocalizations {
String get history => 'Historique';
@override
String get mainTagline => 'Découvre limposteur avant quil ne soit trop tard';
String get mainTagline =>
'Découvre limposteur avant quil ne soit trop tard';
@override
String get deviceProfile => 'Profil de lappareil';
@@ -762,7 +767,8 @@ class AppLocalizationsFr extends AppLocalizations {
String get errorNoGame => 'Erreur : aucune partie';
@override
String get disconnectedPlayersWarning => 'Des joueurs ont un appareil déconnecté.';
String get disconnectedPlayersWarning =>
'Des joueurs ont un appareil déconnecté.';
@override
String get assumeOnThisPhone => 'Reprendre sur ce mobile';
@@ -771,8 +777,71 @@ class AppLocalizationsFr extends AppLocalizations {
String get noResult => 'Aucun résultat';
@override
String historyGameSummary(int players, int impostors, int rounds, String word, String category) {
return '$players joueurs • $impostors imposteur(s) • $rounds manche(s)\n$word$category';
String historyGameSummary(
int players,
int impostors,
int rounds,
String word,
String category,
) {
return '\$players joueurs • \$impostors imposteur(s) • \$rounds manche(s)\n\$word • \$category';
}
}
@override
String voteOf(String name) {
return 'Vote de $name';
}
@override
String firstTurnInstruction(String name) {
return '$name commence en disant son mot.';
}
@override
String get impostorsKnowEachOther => '🎭 Les imposteurs se connaissent';
@override
String get impostorsKnowEachOtherDescription =>
'Chaque imposteur verra les noms des autres';
@override
String get impostorsKnowEachOtherNeedsTwo =>
'S\'applique uniquement à partir de 2 imposteurs';
@override
String otherImpostorsTitle(num count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Les autres imposteurs',
one: 'L\'autre imposteur',
);
return '$_temp0';
}
@override
String get youAreTheOnlyImpostor => 'Vous êtes le seul imposteur';
@override
String impostorsAdjusted(int count) {
return 'Imposteurs ajustés à $count selon le nombre de joueurs';
}
@override
String get eliminatedCannotVote => 'Vous êtes éliminé : vous ne votez plus';
@override
String get reconnecting => 'Reconnexion...';
@override
String get reconnectingHint =>
'Connexion à l\'hôte perdue. Votre place dans la partie est conservée.';
@override
String get leaveGame => 'Quitter la partie';
@override
String playerRejoined(String name) {
return '$name a rejoint la partie';
}
}