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
+97 -30
View File
@@ -18,19 +18,20 @@ class AppLocalizationsEs extends AppLocalizations {
String get loadingWords => 'Cargando palabras...';
@override
String get matchRewards => "Recompensas de partida";
String get matchRewards => 'Recompensas de partida';
@override
String get newMedals => "Nuevas medallas";
String get newMedals => 'Nuevas medallas';
@override
String get noNewMedalsKeepFire => "Sin medallas nuevas esta vez. Sigue acumulando fuego.";
String get noNewMedalsKeepFire =>
'Sin medallas nuevas esta vez. Sigue acumulando fuego.';
@override
String get calculatingRewards => "Calculando recompensas...";
String get calculatingRewards => 'Calculando recompensas...';
@override
String get fireLabel => "Fuego";
String get fireLabel => 'Fuego';
@override
String get playersRange => '3-20 jugadores • Sin internet';
@@ -213,16 +214,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get playersInDebate => 'Jugadores en debate';
@override
String voteOf(String name) {
return "Voto de $name";
}
@override
String firstTurnInstruction(String name) {
return "Empieza $name diciendo su palabra.";
}
@override
String activePlayersInfo(int active, int impostors) {
return '$active activos • $impostors impostor(es) ocultos';
@@ -626,7 +617,8 @@ class AppLocalizationsEs extends AppLocalizations {
String get availableProfiles => 'Perfiles disponibles';
@override
String get scanThisCodeFromAnotherPhone => 'Escanea este código desde otro móvil';
String get scanThisCodeFromAnotherPhone =>
'Escanea este código desde otro móvil';
@override
String get gameUsers => 'Usuarios de la partida';
@@ -659,34 +651,41 @@ class AppLocalizationsEs extends AppLocalizations {
String get delete => 'Eliminar';
@override
String get selectAtLeastThreeUsersToStart => 'Selecciona al menos 3 usuarios para iniciar.';
String get selectAtLeastThreeUsersToStart =>
'Selecciona al menos 3 usuarios para iniciar.';
@override
String get hostPhoneMustSelectUser => 'El móvil servidor debe seleccionar al menos un usuario.';
String get hostPhoneMustSelectUser =>
'El móvil servidor debe seleccionar al menos un usuario.';
@override
String get roomNoLongerInLobby => 'La sala ya no está en el lobby.';
@override
String get completeUserSelectionToStart => 'Completa la selección de usuarios para iniciar.';
String get completeUserSelectionToStart =>
'Completa la selección de usuarios para iniciar.';
@override
String get preparingSecureRoom => 'Preparando la sala segura';
@override
String get searchingNearbyBluetoothGames => 'Buscando partidas cercanas por Bluetooth';
String get searchingNearbyBluetoothGames =>
'Buscando partidas cercanas por Bluetooth';
@override
String get tapToJoin => 'Toca para unirte';
@override
String get bluetoothLocationPermissionsRequired => 'Se necesitan permisos de Bluetooth y ubicación para buscar partidas.';
String get bluetoothLocationPermissionsRequired =>
'Se necesitan permisos de Bluetooth y ubicación para buscar partidas.';
@override
String get bluetoothLocationPermissionsShort => 'Se necesitan permisos de Bluetooth y ubicación';
String get bluetoothLocationPermissionsShort =>
'Se necesitan permisos de Bluetooth y ubicación';
@override
String get couldNotStartSearch => 'No se pudo iniciar la búsqueda. Verifica Bluetooth y ubicación.';
String get couldNotStartSearch =>
'No se pudo iniciar la búsqueda. Verifica Bluetooth y ubicación.';
@override
String couldNotConnectToHost(String host) {
@@ -700,13 +699,15 @@ class AppLocalizationsEs extends AppLocalizations {
String get singleDeviceSubtitle => 'Partida en este dispositivo';
@override
String get singleDeviceDescription => 'Ideal para jugar todos juntos pasando el móvil. Configuración rápida y directa.';
String get singleDeviceDescription =>
'Ideal para jugar todos juntos pasando el móvil. Configuración rápida y directa.';
@override
String get multiDeviceSubtitle => 'Cada jugador en su móvil';
@override
String get multiDeviceDescription => 'Crea una sala premium, comparte el QR y gestiona usuarios desde el lobby.';
String get multiDeviceDescription =>
'Crea una sala premium, comparte el QR y gestiona usuarios desde el lobby.';
@override
String get singleDeviceGameLabel => 'Partida en este dispositivo';
@@ -718,7 +719,8 @@ class AppLocalizationsEs extends AppLocalizations {
String get mainDeviceUser => 'Usuario principal del dispositivo';
@override
String get couldNotCreateRoom => 'No se pudo crear la sala. Verifica Bluetooth.';
String get couldNotCreateRoom =>
'No se pudo crear la sala. Verifica Bluetooth.';
@override
String cannotStartWithReason(String reason) {
@@ -730,6 +732,7 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get defaultPlayerName => 'Jugador';
@override
String get play => 'Jugar';
@@ -761,7 +764,8 @@ class AppLocalizationsEs extends AppLocalizations {
String get errorNoGame => 'Error: sin partida';
@override
String get disconnectedPlayersWarning => 'Hay jugadores con el dispositivo desconectado.';
String get disconnectedPlayersWarning =>
'Hay jugadores con el dispositivo desconectado.';
@override
String get assumeOnThisPhone => 'Asumir en este móvil';
@@ -770,8 +774,71 @@ class AppLocalizationsEs extends AppLocalizations {
String get noResult => 'Sin resultado';
@override
String historyGameSummary(int players, int impostors, int rounds, String word, String category) {
return '$players jugadores • $impostors impostor(es) • $rounds ronda(s)\n$word$category';
String historyGameSummary(
int players,
int impostors,
int rounds,
String word,
String category,
) {
return '\$players jugadores • \$impostors impostor(es) • \$rounds ronda(s)\n\$word • \$category';
}
}
@override
String voteOf(String name) {
return 'Voto de $name';
}
@override
String firstTurnInstruction(String name) {
return 'Empieza $name diciendo su palabra.';
}
@override
String get impostorsKnowEachOther => '🎭 Los impostores se conocen';
@override
String get impostorsKnowEachOtherDescription =>
'Cada impostor verá los nombres del resto';
@override
String get impostorsKnowEachOtherNeedsTwo =>
'Solo se aplica con 2 o más impostores';
@override
String otherImpostorsTitle(num count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Los otros impostores',
one: 'El otro impostor',
);
return '$_temp0';
}
@override
String get youAreTheOnlyImpostor => 'Eres el único impostor';
@override
String impostorsAdjusted(int count) {
return 'Impostores ajustados a $count por el número de jugadores';
}
@override
String get eliminatedCannotVote => 'Estás eliminado: ya no votas';
@override
String get reconnecting => 'Reconectando...';
@override
String get reconnectingHint =>
'Se perdió la conexión con el host. Tu sitio en la partida se mantiene.';
@override
String get leaveGame => 'Salir de la partida';
@override
String playerRejoined(String name) {
return '$name ha vuelto a la partida';
}
}