Internacionalización completa: - 18 ficheros .arb: es, en, fr, pt, de, it, ru, ja, ko, zh, zh_TW, ar, hi, tr, pl, nl, ca, eu - Todos los strings extraídos de todas las pantallas - Detección automática de idioma del sistema - Selector manual en pantalla de ajustes Pantalla de ajustes nueva: - Selector de idioma con banderas emoji - Vibración ON/OFF - Acerca de (versión, desarrollador) Bancos de palabras multiidioma: - palabras.json (castellano, 1000 palabras) - palabras_en.json (inglés, 1000 palabras) - palabras_fr.json (francés, 1000 palabras) - Fallback a castellano si no hay banco del idioma 13138 líneas Dart, 39 ficheros, 0 issues en flutter analyze
477 lines
12 KiB
Dart
477 lines
12 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Catalan Valencian (`ca`).
|
|
class AppLocalizationsCa extends AppLocalizations {
|
|
AppLocalizationsCa([String locale = 'ca']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'L\'Impostor';
|
|
|
|
@override
|
|
String get subtitle => 'Joc de deducció social';
|
|
|
|
@override
|
|
String get loadingWords => 'Carregant paraules...';
|
|
|
|
@override
|
|
String get playersRange => '3-20 jugadors • Sense internet';
|
|
|
|
@override
|
|
String get createGame => 'Crear partida';
|
|
|
|
@override
|
|
String get joinGame => 'Unir-se a partida';
|
|
|
|
@override
|
|
String get howToPlay => 'Com jugar';
|
|
|
|
@override
|
|
String get settings => 'Configuració';
|
|
|
|
@override
|
|
String get gameMode => 'Mode de joc';
|
|
|
|
@override
|
|
String get singleDevice => 'Un sol mòbil';
|
|
|
|
@override
|
|
String get multiDevice => 'Multimòbil';
|
|
|
|
@override
|
|
String get category => 'Categoria';
|
|
|
|
@override
|
|
String get categoryAll => 'Totes';
|
|
|
|
@override
|
|
String get categoryAnimals => 'Animals';
|
|
|
|
@override
|
|
String get categoryFood => 'Menjar';
|
|
|
|
@override
|
|
String get categoryCountries => 'Països';
|
|
|
|
@override
|
|
String get categorySports => 'Esports';
|
|
|
|
@override
|
|
String get categoryProfessions => 'Professions';
|
|
|
|
@override
|
|
String get categoryObjects => 'Objectes';
|
|
|
|
@override
|
|
String get categoryPlaces => 'Llocs';
|
|
|
|
@override
|
|
String get categoryMovies => 'Pel·lícules';
|
|
|
|
@override
|
|
String get categoryMusic => 'Música';
|
|
|
|
@override
|
|
String get categoryTechnology => 'Tecnologia';
|
|
|
|
@override
|
|
String playersCount(int count) {
|
|
return 'Jugadors ($count)';
|
|
}
|
|
|
|
@override
|
|
String get playersRangeHint => '3-20';
|
|
|
|
@override
|
|
String get playerNameHint => 'Nom del jugador';
|
|
|
|
@override
|
|
String get playerAlreadyExists => 'Ja existeix un jugador amb aquest nom';
|
|
|
|
@override
|
|
String get maxPlayersReached => 'Màxim 20 jugadors';
|
|
|
|
@override
|
|
String get minPlayersRequired => 'Calen almenys 3 jugadors';
|
|
|
|
@override
|
|
String get configuration => 'Configuració';
|
|
|
|
@override
|
|
String get impostors => '🎭 Impostors';
|
|
|
|
@override
|
|
String get impostorClue => '🔍 Pista per a l\'impostor';
|
|
|
|
@override
|
|
String get impostorClueDescription => 'L\'impostor coneix la categoria';
|
|
|
|
@override
|
|
String get debateTime => '⏱️ Temps de debat';
|
|
|
|
@override
|
|
String get noLimit => 'Sense límit';
|
|
|
|
@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 => 'Veure la teva paraula';
|
|
|
|
@override
|
|
String get eachPlayerMustSee =>
|
|
'Cada jugador ha de veure la seva paraula en secret';
|
|
|
|
@override
|
|
String roundNumber(int round) {
|
|
return 'Ronda $round';
|
|
}
|
|
|
|
@override
|
|
String get alreadySeen => 'Ja ha vist la seva paraula';
|
|
|
|
@override
|
|
String get tapToSee => 'Toca per veure';
|
|
|
|
@override
|
|
String get allSeenStartDebate => 'Tots han vist → Iniciar debat';
|
|
|
|
@override
|
|
String playersRemaining(int count) {
|
|
return 'Falten $count jugadors';
|
|
}
|
|
|
|
@override
|
|
String get youAreImpostor => 'Ets l\'impostor!';
|
|
|
|
@override
|
|
String get yourWordIs => 'La teva paraula és:';
|
|
|
|
@override
|
|
String clueCategory(String category) {
|
|
return 'Pista: $category';
|
|
}
|
|
|
|
@override
|
|
String get holdToSeeWord => 'Mantén premut per veure la teva paraula';
|
|
|
|
@override
|
|
String get makeSureNoOneLooks => 'Assegura\'t que ningú més mira';
|
|
|
|
@override
|
|
String get showingWord => '👁️ Mostrant...';
|
|
|
|
@override
|
|
String get holdToSee => '👆 Mantén premut per veure';
|
|
|
|
@override
|
|
String get seenMyWord => 'He vist la meva paraula';
|
|
|
|
@override
|
|
String debateRound(int round) {
|
|
return 'Debat - Ronda $round';
|
|
}
|
|
|
|
@override
|
|
String get timeUp => '⏰ Temps esgotat!';
|
|
|
|
@override
|
|
String get timeRemaining => '⏱️ Temps restant';
|
|
|
|
@override
|
|
String get playersInDebate => 'Jugadors en debat';
|
|
|
|
@override
|
|
String activePlayersInfo(int active, int impostors) {
|
|
return '$active actius • $impostors impostor(s) ocults';
|
|
}
|
|
|
|
@override
|
|
String get eliminated => 'Eliminat';
|
|
|
|
@override
|
|
String get notes => 'Notes';
|
|
|
|
@override
|
|
String get goToVoting => 'Anar a votació';
|
|
|
|
@override
|
|
String get voting => '🗳️ Votació';
|
|
|
|
@override
|
|
String get turnToVote => 'Torn de votar:';
|
|
|
|
@override
|
|
String votesProgress(int current, int total) {
|
|
return 'Vots: $current/$total';
|
|
}
|
|
|
|
@override
|
|
String get whoIsImpostor => 'Qui creus que és l\'impostor?';
|
|
|
|
@override
|
|
String get confirmVote => 'Confirmar vot';
|
|
|
|
@override
|
|
String get votingComplete => '🗳️ Votació completa';
|
|
|
|
@override
|
|
String get allVoted => 'Tots han votat!';
|
|
|
|
@override
|
|
String get tapToReveal => 'Toca per revelar el resultat';
|
|
|
|
@override
|
|
String get revealResult => 'Revelar resultat';
|
|
|
|
@override
|
|
String get result => 'Resultat';
|
|
|
|
@override
|
|
String get revealing => 'Revelant...';
|
|
|
|
@override
|
|
String get wasImpostor => 'Era IMPOSTOR! 🎉';
|
|
|
|
@override
|
|
String get wasInnocent => 'Era INNOCENT 😱';
|
|
|
|
@override
|
|
String get votesThisRound => 'Vots d\'aquesta ronda';
|
|
|
|
@override
|
|
String get seeEndResult => 'Veure resultat final';
|
|
|
|
@override
|
|
String get impostorGuessWord => 'L\'impostor endevina la paraula?';
|
|
|
|
@override
|
|
String get nextRound => 'Següent ronda';
|
|
|
|
@override
|
|
String get impostorGuessTitle => '🎯 Endevinalla de l\'impostor';
|
|
|
|
@override
|
|
String get impostorCanGuess =>
|
|
'L\'impostor eliminat pot\nintentar endevinar la paraula';
|
|
|
|
@override
|
|
String get ifCorrectImpostorsWin => 'Si encerta, els impostors guanyen!';
|
|
|
|
@override
|
|
String get guessWordHint => 'Quina creus que és la paraula?';
|
|
|
|
@override
|
|
String get dontGuess => 'No intentar';
|
|
|
|
@override
|
|
String get guess => 'Endevinar';
|
|
|
|
@override
|
|
String get correctGuess => 'Ha encertat!';
|
|
|
|
@override
|
|
String theWordWas(String word) {
|
|
return 'La paraula era: $word';
|
|
}
|
|
|
|
@override
|
|
String get impostorsWin => 'Els impostors guanyen!';
|
|
|
|
@override
|
|
String get wrongGuess => 'No ha encertat!';
|
|
|
|
@override
|
|
String get gameContinues => 'La partida continua...';
|
|
|
|
@override
|
|
String get gameOver => 'Fi de partida';
|
|
|
|
@override
|
|
String get playersWin => 'Els jugadors guanyen!';
|
|
|
|
@override
|
|
String get theSecretWordWas => '🔍 La paraula era:';
|
|
|
|
@override
|
|
String categoryLabel(String category) {
|
|
return 'Categoria: $category';
|
|
}
|
|
|
|
@override
|
|
String get theImpostorWas => '🎭 L\'impostor era:';
|
|
|
|
@override
|
|
String get theImpostorsWere => '🎭 Els impostors eren:';
|
|
|
|
@override
|
|
String get votingHistory => '📊 Historial de votacions';
|
|
|
|
@override
|
|
String roundElimination(int round, String name) {
|
|
return 'Ronda $round: $name';
|
|
}
|
|
|
|
@override
|
|
String get rematch => 'Revenja';
|
|
|
|
@override
|
|
String get mainMenu => 'Menú principal';
|
|
|
|
@override
|
|
String get notesTitle => '📝 Notes';
|
|
|
|
@override
|
|
String get notesSaved => 'Notes desades';
|
|
|
|
@override
|
|
String get whoAreYou => 'Qui ets?';
|
|
|
|
@override
|
|
String get selectYourName =>
|
|
'Selecciona el teu nom per veure les teves notes privades';
|
|
|
|
@override
|
|
String notesOf(String name) {
|
|
return 'Notes de $name';
|
|
}
|
|
|
|
@override
|
|
String get notesAboutPlayers => 'Apunts sobre cada jugador';
|
|
|
|
@override
|
|
String get playerNoteHint => 'Què ha dit? Sospitós?';
|
|
|
|
@override
|
|
String get freeNote => 'Nota lliure';
|
|
|
|
@override
|
|
String get freeNoteHint => 'Apunts personals...';
|
|
|
|
@override
|
|
String get rulesTitle => '📖 Com jugar';
|
|
|
|
@override
|
|
String get rulesWhatIsTitle => '🎭 Què és L\'Impostor?';
|
|
|
|
@override
|
|
String get rulesWhatIsBody =>
|
|
'Un joc de deducció social per a 3-20 jugadors. Tots reben una paraula secreta... excepte l\'impostor! La teva missió: descobrir qui fingeix.';
|
|
|
|
@override
|
|
String get rulesHowToPlayTitle => '🔍 Com es juga?';
|
|
|
|
@override
|
|
String get rulesHowToPlayBody =>
|
|
'1. Es reparteixen els rols: tots reben la mateixa paraula, excepte l\'impostor/els impostors.\n\n2. Debat: per torns, cada jugador descriu la paraula SENSE dir-la directament. L\'impostor ha de fingir que la coneix.\n\n3. Votació: en acabar el debat, tots voten qui creuen que és l\'impostor.\n\n4. Eliminació: el més votat queda eliminat i es revela si era impostor o no.\n\n5. Si era impostor, pot intentar endevinar la paraula. Si encerta, els impostors guanyen!';
|
|
|
|
@override
|
|
String get rulesWhoWinsTitle => '🏆 Qui guanya?';
|
|
|
|
@override
|
|
String get rulesWhoWinsBody =>
|
|
'• Jugadors: guanyen si eliminen TOTS els impostors.\n• Impostors: guanyen si no són descoberts fins que quedin igual o menys jugadors normals que impostors, o si endevinen la paraula en ser eliminats.';
|
|
|
|
@override
|
|
String get rulesTipsPlayersTitle => '💡 Consells per als jugadors';
|
|
|
|
@override
|
|
String get rulesTipsPlayersBody =>
|
|
'• Dona pistes subtils que demostrin que coneixes la paraula, però no tan evidents que l\'impostor les pugui fer servir.\n• Observa qui dona respostes vagues o genèriques.\n• Fes servir les notes per apuntar el que diu cadascú.\n• No diguis la paraula directament, això ajuda l\'impostor!';
|
|
|
|
@override
|
|
String get rulesTipsImpostorTitle => '🎭 Consells per a l\'impostor';
|
|
|
|
@override
|
|
String get rulesTipsImpostorBody =>
|
|
'• Escolta atentament les pistes dels altres.\n• Intenta deduir la paraula per donar pistes creïbles.\n• No siguis el primer a parlar si no n\'estàs segur.\n• Si et donen la categoria com a pista, aprofita-la.\n• Acusa els altres per desviar l\'atenció.';
|
|
|
|
@override
|
|
String get rulesModesTitle => '📱 Modes de joc';
|
|
|
|
@override
|
|
String get rulesModesBody =>
|
|
'• Un sol mòbil: tots comparteixen el dispositiu. Cada jugador veu la seva paraula prement i mantenint un botó.\n\n• Multimòbil: cada jugador fa servir el seu propi dispositiu. Es connecten per Bluetooth/WiFi Direct sense necessitat d\'internet.';
|
|
|
|
@override
|
|
String get rulesExampleTitle => '✏️ Exemple de partida';
|
|
|
|
@override
|
|
String get rulesExampleBody =>
|
|
'Paraula secreta: \"Pizza\"\n\n• Laia: \"Es menja calenta\" ✓\n• Jordi: \"Ve en una capsa\" ✓\n• Marta (impostor): \"És molt popular\" 🤔\n• Pau: \"Té formatge\" ✓\n\nLa Marta va donar una resposta molt genèrica... Sospitosa!';
|
|
|
|
@override
|
|
String get joinGameTitle => 'Unir-se a partida';
|
|
|
|
@override
|
|
String get multiDeviceMode => 'Mode multimòbil';
|
|
|
|
@override
|
|
String get scanQrDescription =>
|
|
'Escaneja el codi QR que mostra l\'amfitrió per connectar-te a la partida via Bluetooth/WiFi Direct.';
|
|
|
|
@override
|
|
String get comingSoon => 'Properament';
|
|
|
|
@override
|
|
String get nearbyNotAvailable =>
|
|
'La connexió multimòbil amb Nearby Connections requereix dispositius Android físics.\n\nDe moment, fes servir el mode \"Un sol mòbil\" per jugar en un dispositiu compartit.';
|
|
|
|
@override
|
|
String get back => 'Tornar';
|
|
|
|
@override
|
|
String get yes => 'Sí';
|
|
|
|
@override
|
|
String get no => 'No';
|
|
|
|
@override
|
|
String get cancel => 'Cancel·lar';
|
|
|
|
@override
|
|
String get accept => 'Acceptar';
|
|
|
|
@override
|
|
String get next => 'Següent';
|
|
|
|
@override
|
|
String get settingsTitle => 'Configuració';
|
|
|
|
@override
|
|
String get language => 'Idioma';
|
|
|
|
@override
|
|
String get soundVolume => 'Volum d\'efectes';
|
|
|
|
@override
|
|
String get vibration => 'Vibració';
|
|
|
|
@override
|
|
String get about => 'Quant a';
|
|
|
|
@override
|
|
String get version => 'Versió';
|
|
|
|
@override
|
|
String get developer => 'Desenvolupador';
|
|
|
|
@override
|
|
String get licenses => 'Llicències';
|
|
}
|