Exit confirmation - A dialog in the app's own style now guards every in-game screen. The safe action is the prominent one, so a stray tap keeps you in the game. - Eleven screens covered, against both the system back gesture and the close buttons. The message adapts: a single-device game is lost, a host ends it for everyone, a client can rejoin. - The two screens the host also opens from the manager take a flag so that back there just closes them instead of offering to quit. Translations - 21 keys were still holding the English text in Arabic, Basque, Hindi, Japanese, Korean, Dutch, Polish, Russian, Turkish and both Chinese variants: 231 strings, covering the whole multi-device flow, permissions and the mode picker. Nothing failed, the app just showed English. - The permissions dialog was hardcoded in Spanish; it is localized now. - Portuguese used Spanish gerunds where pt-PT takes "a + infinitive". Checked what looked untranslated but is not: Animals and Notes are correct Catalan, Configuration and Vibration correct French, Version correct German. Those are whitelisted in the new test rather than silently rewritten. l10n_cobertura_test guards all of it: no missing or orphan keys, no empty values, no English left outside the whitelist, and placeholders preserved.
890 lines
21 KiB
Dart
890 lines
21 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Spanish Castilian (`es`).
|
|
class AppLocalizationsEs extends AppLocalizations {
|
|
AppLocalizationsEs([String locale = 'es']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'Farolero';
|
|
|
|
@override
|
|
String get subtitle => 'Juego de deducción social';
|
|
|
|
@override
|
|
String get loadingWords => 'Cargando palabras...';
|
|
|
|
@override
|
|
String get matchRewards => 'Recompensas de partida';
|
|
|
|
@override
|
|
String get newMedals => 'Nuevas medallas';
|
|
|
|
@override
|
|
String get noNewMedalsKeepFire =>
|
|
'Sin medallas nuevas esta vez. Sigue acumulando fuego.';
|
|
|
|
@override
|
|
String get calculatingRewards => 'Calculando recompensas...';
|
|
|
|
@override
|
|
String get fireLabel => 'Fuego';
|
|
|
|
@override
|
|
String get playersRange => '3-20 jugadores • Sin internet';
|
|
|
|
@override
|
|
String get createGame => 'Crear partida';
|
|
|
|
@override
|
|
String get joinGame => 'Unirse a partida';
|
|
|
|
@override
|
|
String get howToPlay => 'Cómo jugar';
|
|
|
|
@override
|
|
String get settings => 'Ajustes';
|
|
|
|
@override
|
|
String get gameMode => 'Modo de juego';
|
|
|
|
@override
|
|
String get singleDevice => 'Un solo móvil';
|
|
|
|
@override
|
|
String get multiDevice => 'Multimóvil';
|
|
|
|
@override
|
|
String get category => 'Categoría';
|
|
|
|
@override
|
|
String get categoryAll => 'Todas';
|
|
|
|
@override
|
|
String get categoryAnimals => 'Animales';
|
|
|
|
@override
|
|
String get categoryFood => 'Comida';
|
|
|
|
@override
|
|
String get categoryCountries => 'Países';
|
|
|
|
@override
|
|
String get categorySports => 'Deportes';
|
|
|
|
@override
|
|
String get categoryProfessions => 'Profesiones';
|
|
|
|
@override
|
|
String get categoryObjects => 'Objetos';
|
|
|
|
@override
|
|
String get categoryPlaces => 'Lugares';
|
|
|
|
@override
|
|
String get categoryMovies => 'Películas';
|
|
|
|
@override
|
|
String get categoryMusic => 'Música';
|
|
|
|
@override
|
|
String get categoryTechnology => 'Tecnología';
|
|
|
|
@override
|
|
String playersCount(int count) {
|
|
return 'Jugadores ($count)';
|
|
}
|
|
|
|
@override
|
|
String get playersRangeHint => '3-20';
|
|
|
|
@override
|
|
String get playerNameHint => 'Nombre del jugador';
|
|
|
|
@override
|
|
String get playerAlreadyExists => 'Ya existe un jugador con ese nombre';
|
|
|
|
@override
|
|
String get maxPlayersReached => 'Máximo 20 jugadores';
|
|
|
|
@override
|
|
String get minPlayersRequired => 'Se necesitan al menos 3 jugadores';
|
|
|
|
@override
|
|
String get configuration => 'Configuración';
|
|
|
|
@override
|
|
String get impostors => '🎭 Impostores';
|
|
|
|
@override
|
|
String get impostorClue => '🔍 Pista para impostor';
|
|
|
|
@override
|
|
String get impostorClueDescription => 'El impostor conoce la categoría';
|
|
|
|
@override
|
|
String get debate => '🗣️ Debate';
|
|
|
|
@override
|
|
String get debateTime => '⏱️ Tiempo de debate';
|
|
|
|
@override
|
|
String get noLimit => 'Sin límite';
|
|
|
|
@override
|
|
String get oneMin => '1 min';
|
|
|
|
@override
|
|
String get twoMin => '2 min';
|
|
|
|
@override
|
|
String get threeMin => '3 min';
|
|
|
|
@override
|
|
String get fiveMin => '5 min';
|
|
|
|
@override
|
|
String get startGame => 'Iniciar partida';
|
|
|
|
@override
|
|
String get seeYourWord => 'Ver tu palabra';
|
|
|
|
@override
|
|
String get eachPlayerMustSee => 'Cada jugador debe ver su palabra en secreto';
|
|
|
|
@override
|
|
String roundNumber(int round) {
|
|
return 'Ronda $round';
|
|
}
|
|
|
|
@override
|
|
String get alreadySeen => 'Ya ha visto su palabra';
|
|
|
|
@override
|
|
String get tapToSee => 'Pulsa para ver';
|
|
|
|
@override
|
|
String get allSeenStartDebate => 'Todos han visto → Iniciar debate';
|
|
|
|
@override
|
|
String playersRemaining(int count) {
|
|
return 'Faltan $count jugadores';
|
|
}
|
|
|
|
@override
|
|
String get youAreImpostor => '¡Eres el impostor!';
|
|
|
|
@override
|
|
String get yourWordIs => 'Tu palabra es:';
|
|
|
|
@override
|
|
String clueCategory(String category) {
|
|
return 'Pista: $category';
|
|
}
|
|
|
|
@override
|
|
String get holdToSeeWord => 'Mantén pulsado para ver tu palabra';
|
|
|
|
@override
|
|
String get makeSureNoOneLooks => 'Asegúrate de que nadie más mira';
|
|
|
|
@override
|
|
String get showingWord => '👁️ Mostrando...';
|
|
|
|
@override
|
|
String get holdToSee => '👆 Mantén pulsado para ver';
|
|
|
|
@override
|
|
String get seenMyWord => 'He visto mi palabra';
|
|
|
|
@override
|
|
String debateRound(int round) {
|
|
return 'Debate - Ronda $round';
|
|
}
|
|
|
|
@override
|
|
String get timeUp => '⏰ ¡Tiempo agotado!';
|
|
|
|
@override
|
|
String get timeRemaining => '⏱️ Tiempo restante';
|
|
|
|
@override
|
|
String get playersInDebate => 'Jugadores en debate';
|
|
|
|
@override
|
|
String activePlayersInfo(int active, int impostors) {
|
|
return '$active activos • $impostors impostor(es) ocultos';
|
|
}
|
|
|
|
@override
|
|
String get eliminated => 'Eliminado';
|
|
|
|
@override
|
|
String get notes => 'Notas';
|
|
|
|
@override
|
|
String get goToVoting => 'Ir a votación';
|
|
|
|
@override
|
|
String get voting => '🗳️ Votación';
|
|
|
|
@override
|
|
String get turnToVote => 'Turno de votar:';
|
|
|
|
@override
|
|
String votesProgress(int current, int total) {
|
|
return 'Votos: $current/$total';
|
|
}
|
|
|
|
@override
|
|
String get whoIsImpostor => '¿Quién crees que es el impostor?';
|
|
|
|
@override
|
|
String get confirmVote => 'Confirmar voto';
|
|
|
|
@override
|
|
String get votingComplete => '🗳️ Votación completa';
|
|
|
|
@override
|
|
String get allVoted => '¡Todos han votado!';
|
|
|
|
@override
|
|
String get tapToReveal => 'Pulsa para revelar el resultado';
|
|
|
|
@override
|
|
String get revealResult => 'Revelar resultado';
|
|
|
|
@override
|
|
String get result => 'Resultado';
|
|
|
|
@override
|
|
String get revealing => 'Revelando...';
|
|
|
|
@override
|
|
String get wasImpostor => '¡Era IMPOSTOR! 🎉';
|
|
|
|
@override
|
|
String get wasInnocent => 'Era INOCENTE 😱';
|
|
|
|
@override
|
|
String get votesThisRound => 'Votos de esta ronda';
|
|
|
|
@override
|
|
String get seeEndResult => 'Ver resultado final';
|
|
|
|
@override
|
|
String get impostorGuessWord => '¿El impostor adivina la palabra?';
|
|
|
|
@override
|
|
String get nextRound => 'Siguiente ronda';
|
|
|
|
@override
|
|
String get impostorGuessTitle => '🎯 Adivinanza del impostor';
|
|
|
|
@override
|
|
String get impostorCanGuess =>
|
|
'El impostor eliminado puede\nintentar adivinar la palabra';
|
|
|
|
@override
|
|
String get ifCorrectImpostorsWin => 'Si acierta, ¡los impostores ganan!';
|
|
|
|
@override
|
|
String get guessWordHint => '¿Cuál crees que es la palabra?';
|
|
|
|
@override
|
|
String get dontGuess => 'No intentar';
|
|
|
|
@override
|
|
String get guess => 'Adivinar';
|
|
|
|
@override
|
|
String get correctGuess => '¡Ha acertado!';
|
|
|
|
@override
|
|
String theWordWas(String word) {
|
|
return 'La palabra era: $word';
|
|
}
|
|
|
|
@override
|
|
String get impostorsWin => '¡Los impostores ganan!';
|
|
|
|
@override
|
|
String get wrongGuess => '¡No ha acertado!';
|
|
|
|
@override
|
|
String get gameContinues => 'La partida continúa...';
|
|
|
|
@override
|
|
String get gameOver => 'Fin de partida';
|
|
|
|
@override
|
|
String get playersWin => '¡Los jugadores ganan!';
|
|
|
|
@override
|
|
String get theSecretWordWas => '🔍 La palabra era:';
|
|
|
|
@override
|
|
String categoryLabel(String category) {
|
|
return 'Categoría: $category';
|
|
}
|
|
|
|
@override
|
|
String get theImpostorWas => '🎭 El impostor era:';
|
|
|
|
@override
|
|
String get theImpostorsWere => '🎭 Los impostores eran:';
|
|
|
|
@override
|
|
String get votingHistory => '📊 Historial de votaciones';
|
|
|
|
@override
|
|
String roundElimination(int round, String name) {
|
|
return 'Ronda $round: $name';
|
|
}
|
|
|
|
@override
|
|
String get rematch => 'Revancha';
|
|
|
|
@override
|
|
String get mainMenu => 'Menú principal';
|
|
|
|
@override
|
|
String get notesTitle => '📝 Notas';
|
|
|
|
@override
|
|
String get notesSaved => 'Notas guardadas';
|
|
|
|
@override
|
|
String get whoAreYou => '¿Quién eres?';
|
|
|
|
@override
|
|
String get selectYourName =>
|
|
'Selecciona tu nombre para ver tus notas privadas';
|
|
|
|
@override
|
|
String notesOf(String name) {
|
|
return 'Notas de $name';
|
|
}
|
|
|
|
@override
|
|
String get notesAboutPlayers => 'Apuntes sobre cada jugador';
|
|
|
|
@override
|
|
String get playerNoteHint => '¿Qué ha dicho? ¿Sospechoso?';
|
|
|
|
@override
|
|
String get freeNote => 'Nota libre';
|
|
|
|
@override
|
|
String get freeNoteHint => 'Apuntes personales...';
|
|
|
|
@override
|
|
String get rulesTitle => '📖 Cómo jugar';
|
|
|
|
@override
|
|
String get rulesWhatIsTitle => '🎭 ¿Qué es Farolero?';
|
|
|
|
@override
|
|
String get rulesWhatIsBody =>
|
|
'Un juego de deducción social para 3-20 jugadores. Todos reciben una palabra secreta... ¡excepto el impostor! Tu misión: descubrir quién finge.';
|
|
|
|
@override
|
|
String get rulesHowToPlayTitle => '🔍 ¿Cómo se juega?';
|
|
|
|
@override
|
|
String get rulesHowToPlayBody =>
|
|
'1. Se reparten los roles: todos reciben la misma palabra, excepto el/los impostores.\n\n2. Debate: por turnos, cada jugador describe la palabra SIN decirla directamente. El impostor debe fingir que la conoce.\n\n3. Votación: al terminar el debate, todos votan a quién creen que es el impostor.\n\n4. Eliminación: el más votado queda eliminado y se revela si era impostor o no.\n\n5. Si era impostor, puede intentar adivinar la palabra. Si acierta, ¡los impostores ganan!';
|
|
|
|
@override
|
|
String get rulesWhoWinsTitle => '🏆 ¿Quién gana?';
|
|
|
|
@override
|
|
String get rulesWhoWinsBody =>
|
|
'• Jugadores: ganan si eliminan a TODOS los impostores.\n• Impostores: ganan si no son descubiertos hasta que queden igual o menos jugadores normales que impostores, o si adivinan la palabra al ser eliminados.';
|
|
|
|
@override
|
|
String get rulesTipsPlayersTitle => '💡 Consejos para jugadores';
|
|
|
|
@override
|
|
String get rulesTipsPlayersBody =>
|
|
'• Da pistas sutiles que demuestren que conoces la palabra, pero no tan obvias que el impostor las use.\n• Observa quién da respuestas vagas o genéricas.\n• Usa las notas para apuntar lo que dice cada uno.\n• No digas la palabra directamente, ¡eso ayuda al impostor!';
|
|
|
|
@override
|
|
String get rulesTipsImpostorTitle => '🎭 Consejos para el impostor';
|
|
|
|
@override
|
|
String get rulesTipsImpostorBody =>
|
|
'• Escucha atentamente las pistas de los demás.\n• Intenta deducir la palabra para dar pistas creíbles.\n• No seas el primero en hablar si no estás seguro.\n• Si te dan la categoría como pista, úsala a tu favor.\n• Acusa a otros para desviar la atención.';
|
|
|
|
@override
|
|
String get rulesModesTitle => '📱 Modos de juego';
|
|
|
|
@override
|
|
String get rulesModesBody =>
|
|
'• Un solo móvil: todos comparten el dispositivo. Cada jugador ve su palabra pulsando y manteniendo un botón.\n\n• Multimóvil: cada jugador usa su propio dispositivo. Se conectan por Bluetooth/WiFi Direct sin necesidad de internet.';
|
|
|
|
@override
|
|
String get rulesExampleTitle => '✏️ Ejemplo de partida';
|
|
|
|
@override
|
|
String get rulesExampleBody =>
|
|
'Palabra secreta: \"Pizza\"\n\n• Ana: \"Se come caliente\" ✓\n• Carlos: \"Viene en una caja\" ✓\n• Eva (impostor): \"Es muy popular\" 🤔\n• David: \"Tiene queso\" ✓\n\nEva dio una respuesta muy genérica... ¡Sospechosa!';
|
|
|
|
@override
|
|
String get joinGameTitle => 'Unirse a partida';
|
|
|
|
@override
|
|
String get multiDeviceMode => 'Modo multimóvil';
|
|
|
|
@override
|
|
String get scanQrDescription =>
|
|
'Escanea el código QR que muestra el host para conectarte a la partida vía Bluetooth/WiFi Direct.';
|
|
|
|
@override
|
|
String get comingSoon => 'Próximamente';
|
|
|
|
@override
|
|
String get nearbyNotAvailable =>
|
|
'La conexión multimóvil con Nearby Connections requiere dispositivos Android físicos.\n\nPor ahora, usa el modo \"Un solo móvil\" para jugar en un dispositivo compartido.';
|
|
|
|
@override
|
|
String get back => 'Volver';
|
|
|
|
@override
|
|
String get yes => 'Sí';
|
|
|
|
@override
|
|
String get no => 'No';
|
|
|
|
@override
|
|
String get cancel => 'Cancelar';
|
|
|
|
@override
|
|
String get accept => 'Aceptar';
|
|
|
|
@override
|
|
String get next => 'Siguiente';
|
|
|
|
@override
|
|
String get settingsTitle => 'Ajustes';
|
|
|
|
@override
|
|
String get language => 'Idioma';
|
|
|
|
@override
|
|
String get soundVolume => 'Volumen de efectos';
|
|
|
|
@override
|
|
String get vibration => 'Vibración';
|
|
|
|
@override
|
|
String get about => 'Acerca de';
|
|
|
|
@override
|
|
String get version => 'Versión';
|
|
|
|
@override
|
|
String get developer => 'Desarrollador';
|
|
|
|
@override
|
|
String get licenses => 'Licencias';
|
|
|
|
@override
|
|
String get scanToJoin => 'Escanea el QR para unirte';
|
|
|
|
@override
|
|
String get connectedPlayers => 'Jugadores conectados';
|
|
|
|
@override
|
|
String get hostGame => 'Gestor de partida';
|
|
|
|
@override
|
|
String get waitingPlayersSeeWord => 'Esperando que todos vean su palabra...';
|
|
|
|
@override
|
|
String get activePlayers => 'Jugadores activos';
|
|
|
|
@override
|
|
String get playersVoted => 'Han votado';
|
|
|
|
@override
|
|
String get waitingVoting => 'Esperando que voten...';
|
|
|
|
@override
|
|
String get waitingForPlayers => 'Esperando jugadores...';
|
|
|
|
@override
|
|
String needMorePlayers(int count) {
|
|
return 'Faltan $count jugadores más';
|
|
}
|
|
|
|
@override
|
|
String get starting => 'Iniciando...';
|
|
|
|
@override
|
|
String get enterNameAndScan => 'Escribe tu nombre y escanea el QR del host';
|
|
|
|
@override
|
|
String get yourName => 'Tu nombre';
|
|
|
|
@override
|
|
String get nameRequired => 'Escribe tu nombre';
|
|
|
|
@override
|
|
String get connectingTo => 'Conectando a';
|
|
|
|
@override
|
|
String get scanQR => 'Escanear QR';
|
|
|
|
@override
|
|
String get scanHostQR => 'Apunta al QR del host';
|
|
|
|
@override
|
|
String get connectedWaiting => '¡Conectado!';
|
|
|
|
@override
|
|
String get waitingForHost => 'Esperando a que el host inicie la partida...';
|
|
|
|
@override
|
|
String get enterNameToSearch =>
|
|
'Escribe tu nombre para buscar partidas cercanas';
|
|
|
|
@override
|
|
String get searchGames => 'Buscar partidas';
|
|
|
|
@override
|
|
String get searchingGames => 'Buscando partidas cercanas...';
|
|
|
|
@override
|
|
String get noGamesFound => 'No se encontraron partidas';
|
|
|
|
@override
|
|
String get noGamesFoundHint =>
|
|
'Asegúrate de que el host tiene la sala abierta y estáis cerca';
|
|
|
|
@override
|
|
String get orScanQR => '¿No aparece? Escanea el QR del host';
|
|
|
|
@override
|
|
String get iveSeenIt => 'Ya la he visto';
|
|
|
|
@override
|
|
String clueIs(String category) {
|
|
return 'La pista es: $category';
|
|
}
|
|
|
|
@override
|
|
String get debatePhaseActive => 'Fase de debate activa';
|
|
|
|
@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.';
|
|
|
|
@override
|
|
String get solicitarVotacion => 'Solicitar votación';
|
|
|
|
@override
|
|
String get votacionSolicitada => 'Votación solicitada';
|
|
|
|
@override
|
|
String get whoDoYouThinkIsTheImpostor => '¿Quién es el impostor?';
|
|
|
|
@override
|
|
String get selectOnePlayer => 'Selecciona a un jugador para votar';
|
|
|
|
@override
|
|
String get votar => 'Votar';
|
|
|
|
@override
|
|
String get selectYourProfile => 'Tu perfil';
|
|
|
|
@override
|
|
String get selectProfile => 'Selecciona un perfil';
|
|
|
|
@override
|
|
String get createNewUser => 'Crear nuevo usuario';
|
|
|
|
@override
|
|
String get userNameRequired => 'El nombre no puede estar vacio';
|
|
|
|
@override
|
|
String get profileSelected => 'Perfil seleccionado';
|
|
|
|
@override
|
|
String get availableProfiles => 'Perfiles disponibles';
|
|
|
|
@override
|
|
String get scanThisCodeFromAnotherPhone =>
|
|
'Escanea este código desde otro móvil';
|
|
|
|
@override
|
|
String get gameUsers => 'Usuarios de la partida';
|
|
|
|
@override
|
|
String get selectedPlayers => 'Jugadores seleccionados';
|
|
|
|
@override
|
|
String get connectedPhones => 'Móviles conectados';
|
|
|
|
@override
|
|
String get selectedOnThisPhone => 'Seleccionado en este móvil';
|
|
|
|
@override
|
|
String get selectedByAnotherDevice => 'Seleccionado en otro dispositivo';
|
|
|
|
@override
|
|
String get available => 'Disponible';
|
|
|
|
@override
|
|
String get notAvailable => 'No disponible';
|
|
|
|
@override
|
|
String get release => 'Liberar';
|
|
|
|
@override
|
|
String get select => 'Seleccionar';
|
|
|
|
@override
|
|
String get delete => 'Eliminar';
|
|
|
|
@override
|
|
String get selectAtLeastThreeUsersToStart =>
|
|
'Selecciona al menos 3 usuarios para iniciar.';
|
|
|
|
@override
|
|
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.';
|
|
|
|
@override
|
|
String get preparingSecureRoom => 'Preparando la sala segura';
|
|
|
|
@override
|
|
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.';
|
|
|
|
@override
|
|
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.';
|
|
|
|
@override
|
|
String couldNotConnectToHost(String host) {
|
|
return 'No se pudo conectar a $host';
|
|
}
|
|
|
|
@override
|
|
String get room => 'Sala';
|
|
|
|
@override
|
|
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.';
|
|
|
|
@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.';
|
|
|
|
@override
|
|
String get singleDeviceGameLabel => 'Partida en este dispositivo';
|
|
|
|
@override
|
|
String get multiDeviceGameLabel => 'Partida multidispositivo';
|
|
|
|
@override
|
|
String get mainDeviceUser => 'Usuario principal del dispositivo';
|
|
|
|
@override
|
|
String get couldNotCreateRoom =>
|
|
'No se pudo crear la sala. Verifica Bluetooth.';
|
|
|
|
@override
|
|
String cannotStartWithReason(String reason) {
|
|
return 'No se puede iniciar: $reason';
|
|
}
|
|
|
|
@override
|
|
String get invalidRoom => 'sala inválida';
|
|
|
|
@override
|
|
String get defaultPlayerName => 'Jugador';
|
|
|
|
@override
|
|
String get play => 'Jugar';
|
|
|
|
@override
|
|
String get history => 'Historial';
|
|
|
|
@override
|
|
String get mainTagline => 'Descubre al impostor antes de que sea tarde';
|
|
|
|
@override
|
|
String get deviceProfile => 'Perfil del dispositivo';
|
|
|
|
@override
|
|
String get profileName => 'Nombre';
|
|
|
|
@override
|
|
String get profileNick => 'Nick';
|
|
|
|
@override
|
|
String get save => 'Guardar';
|
|
|
|
@override
|
|
String get automaticLanguage => 'Automático';
|
|
|
|
@override
|
|
String get noSavedGames => 'Todavía no hay partidas guardadas.';
|
|
|
|
@override
|
|
String get errorNoGame => 'Error: sin partida';
|
|
|
|
@override
|
|
String get disconnectedPlayersWarning =>
|
|
'Hay jugadores con el dispositivo desconectado.';
|
|
|
|
@override
|
|
String get assumeOnThisPhone => 'Asumir en este móvil';
|
|
|
|
@override
|
|
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';
|
|
}
|
|
|
|
@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';
|
|
}
|
|
|
|
@override
|
|
String get leaveGameTitle => '¿Salir de la partida?';
|
|
|
|
@override
|
|
String get leaveGameSingleDevice =>
|
|
'Se perderá la partida en curso y no podrás recuperarla.';
|
|
|
|
@override
|
|
String get leaveGameHost =>
|
|
'Eres el anfitrión: si sales, la partida termina para todos los jugadores.';
|
|
|
|
@override
|
|
String get leaveGameClient =>
|
|
'Saldrás de la partida. Podrás volver mientras el anfitrión la mantenga abierta.';
|
|
|
|
@override
|
|
String get stayInGame => 'Seguir jugando';
|
|
|
|
@override
|
|
String get permissionsNeededTitle => 'Permisos necesarios';
|
|
|
|
@override
|
|
String get permissionsNeededBody => 'Para el modo multijugador necesitamos:';
|
|
|
|
@override
|
|
String get openAppSettingsQuestion => '¿Abrir la configuración de la app?';
|
|
|
|
@override
|
|
String get openSettings => 'Abrir configuración';
|
|
|
|
@override
|
|
String get permissionLocation => 'Ubicación';
|
|
|
|
@override
|
|
String get permissionBluetoothAdvertise => 'Bluetooth (anunciar)';
|
|
|
|
@override
|
|
String get permissionBluetoothConnect => 'Bluetooth (conectar)';
|
|
|
|
@override
|
|
String get permissionBluetoothScan => 'Bluetooth (escanear)';
|
|
|
|
@override
|
|
String get permissionNearbyWifi => 'Wi-Fi cercano';
|
|
}
|