- ServicioNearby completo: P2P_STAR, auto-accept, protocolo mensajes - PantallaLobbyHost: QR code + lista jugadores tiempo real - PantallaUnirse: escaneo QR + conexión + sala espera - Protocolo MensajeP2P: salaInfo, partidaInicio, fase, voto, resultado, fin - Manejo desconexiones jugador/host - l10n: nuevas keys es/en - Version bump 1.1.0+5
518 lines
13 KiB
Dart
518 lines
13 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Italian (`it`).
|
|
class AppLocalizationsIt extends AppLocalizations {
|
|
AppLocalizationsIt([String locale = 'it']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'Farolero';
|
|
|
|
@override
|
|
String get subtitle => 'Gioco di deduzione sociale';
|
|
|
|
@override
|
|
String get loadingWords => 'Caricamento parole...';
|
|
|
|
@override
|
|
String get playersRange => '3-20 giocatori • Senza internet';
|
|
|
|
@override
|
|
String get createGame => 'Crea partita';
|
|
|
|
@override
|
|
String get joinGame => 'Unisciti alla partita';
|
|
|
|
@override
|
|
String get howToPlay => 'Come giocare';
|
|
|
|
@override
|
|
String get settings => 'Impostazioni';
|
|
|
|
@override
|
|
String get gameMode => 'Modalità di gioco';
|
|
|
|
@override
|
|
String get singleDevice => 'Un solo dispositivo';
|
|
|
|
@override
|
|
String get multiDevice => 'Multi-dispositivo';
|
|
|
|
@override
|
|
String get category => 'Categoria';
|
|
|
|
@override
|
|
String get categoryAll => 'Tutte';
|
|
|
|
@override
|
|
String get categoryAnimals => 'Animali';
|
|
|
|
@override
|
|
String get categoryFood => 'Cibo';
|
|
|
|
@override
|
|
String get categoryCountries => 'Paesi';
|
|
|
|
@override
|
|
String get categorySports => 'Sport';
|
|
|
|
@override
|
|
String get categoryProfessions => 'Professioni';
|
|
|
|
@override
|
|
String get categoryObjects => 'Oggetti';
|
|
|
|
@override
|
|
String get categoryPlaces => 'Luoghi';
|
|
|
|
@override
|
|
String get categoryMovies => 'Film';
|
|
|
|
@override
|
|
String get categoryMusic => 'Musica';
|
|
|
|
@override
|
|
String get categoryTechnology => 'Tecnologia';
|
|
|
|
@override
|
|
String playersCount(int count) {
|
|
return 'Giocatori ($count)';
|
|
}
|
|
|
|
@override
|
|
String get playersRangeHint => '3-20';
|
|
|
|
@override
|
|
String get playerNameHint => 'Nome del giocatore';
|
|
|
|
@override
|
|
String get playerAlreadyExists => 'Esiste già un giocatore con questo nome';
|
|
|
|
@override
|
|
String get maxPlayersReached => 'Massimo 20 giocatori';
|
|
|
|
@override
|
|
String get minPlayersRequired => 'Servono almeno 3 giocatori';
|
|
|
|
@override
|
|
String get configuration => 'Configurazione';
|
|
|
|
@override
|
|
String get impostors => '🎭 Impostori';
|
|
|
|
@override
|
|
String get impostorClue => '🔍 Indizio per l\'impostore';
|
|
|
|
@override
|
|
String get impostorClueDescription => 'L\'impostore conosce la categoria';
|
|
|
|
@override
|
|
String get debateTime => '⏱️ Tempo di discussione';
|
|
|
|
@override
|
|
String get noLimit => 'Senza limite';
|
|
|
|
@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 => 'Inizia partita';
|
|
|
|
@override
|
|
String get seeYourWord => 'Vedi la tua parola';
|
|
|
|
@override
|
|
String get eachPlayerMustSee =>
|
|
'Ogni giocatore deve vedere la propria parola in segreto';
|
|
|
|
@override
|
|
String roundNumber(int round) {
|
|
return 'Round $round';
|
|
}
|
|
|
|
@override
|
|
String get alreadySeen => 'Ha già visto la sua parola';
|
|
|
|
@override
|
|
String get tapToSee => 'Tocca per vedere';
|
|
|
|
@override
|
|
String get allSeenStartDebate => 'Tutti hanno visto → Inizia discussione';
|
|
|
|
@override
|
|
String playersRemaining(int count) {
|
|
return 'Mancano $count giocatori';
|
|
}
|
|
|
|
@override
|
|
String get youAreImpostor => 'Sei l\'impostore!';
|
|
|
|
@override
|
|
String get yourWordIs => 'La tua parola è:';
|
|
|
|
@override
|
|
String clueCategory(String category) {
|
|
return 'Indizio: $category';
|
|
}
|
|
|
|
@override
|
|
String get holdToSeeWord => 'Tieni premuto per vedere la tua parola';
|
|
|
|
@override
|
|
String get makeSureNoOneLooks => 'Assicurati che nessun altro stia guardando';
|
|
|
|
@override
|
|
String get showingWord => '👁️ Mostrando...';
|
|
|
|
@override
|
|
String get holdToSee => '👆 Tieni premuto per vedere';
|
|
|
|
@override
|
|
String get seenMyWord => 'Ho visto la mia parola';
|
|
|
|
@override
|
|
String debateRound(int round) {
|
|
return 'Discussione - Round $round';
|
|
}
|
|
|
|
@override
|
|
String get timeUp => '⏰ Tempo scaduto!';
|
|
|
|
@override
|
|
String get timeRemaining => '⏱️ Tempo rimanente';
|
|
|
|
@override
|
|
String get playersInDebate => 'Giocatori in discussione';
|
|
|
|
@override
|
|
String activePlayersInfo(int active, int impostors) {
|
|
return '$active attivi • $impostors impostore/i nascosti';
|
|
}
|
|
|
|
@override
|
|
String get eliminated => 'Eliminato';
|
|
|
|
@override
|
|
String get notes => 'Note';
|
|
|
|
@override
|
|
String get goToVoting => 'Vai alla votazione';
|
|
|
|
@override
|
|
String get voting => '🗳️ Votazione';
|
|
|
|
@override
|
|
String get turnToVote => 'Turno di votare:';
|
|
|
|
@override
|
|
String votesProgress(int current, int total) {
|
|
return 'Voti: $current/$total';
|
|
}
|
|
|
|
@override
|
|
String get whoIsImpostor => 'Chi pensi sia l\'impostore?';
|
|
|
|
@override
|
|
String get confirmVote => 'Conferma voto';
|
|
|
|
@override
|
|
String get votingComplete => '🗳️ Votazione completata';
|
|
|
|
@override
|
|
String get allVoted => 'Tutti hanno votato!';
|
|
|
|
@override
|
|
String get tapToReveal => 'Tocca per rivelare il risultato';
|
|
|
|
@override
|
|
String get revealResult => 'Rivela risultato';
|
|
|
|
@override
|
|
String get result => 'Risultato';
|
|
|
|
@override
|
|
String get revealing => 'Rivelando...';
|
|
|
|
@override
|
|
String get wasImpostor => 'Era un IMPOSTORE! 🎉';
|
|
|
|
@override
|
|
String get wasInnocent => 'Era INNOCENTE 😱';
|
|
|
|
@override
|
|
String get votesThisRound => 'Voti di questo round';
|
|
|
|
@override
|
|
String get seeEndResult => 'Vedi risultato finale';
|
|
|
|
@override
|
|
String get impostorGuessWord => 'L\'impostore indovina la parola?';
|
|
|
|
@override
|
|
String get nextRound => 'Prossimo round';
|
|
|
|
@override
|
|
String get impostorGuessTitle => '🎯 Tentativo dell\'impostore';
|
|
|
|
@override
|
|
String get impostorCanGuess =>
|
|
'L\'impostore eliminato può\nprovare a indovinare la parola';
|
|
|
|
@override
|
|
String get ifCorrectImpostorsWin => 'Se indovina, gli impostori vincono!';
|
|
|
|
@override
|
|
String get guessWordHint => 'Qual è secondo te la parola?';
|
|
|
|
@override
|
|
String get dontGuess => 'Non provare';
|
|
|
|
@override
|
|
String get guess => 'Indovina';
|
|
|
|
@override
|
|
String get correctGuess => 'Ha indovinato!';
|
|
|
|
@override
|
|
String theWordWas(String word) {
|
|
return 'La parola era: $word';
|
|
}
|
|
|
|
@override
|
|
String get impostorsWin => 'Gli impostori vincono!';
|
|
|
|
@override
|
|
String get wrongGuess => 'Non ha indovinato!';
|
|
|
|
@override
|
|
String get gameContinues => 'La partita continua...';
|
|
|
|
@override
|
|
String get gameOver => 'Fine della partita';
|
|
|
|
@override
|
|
String get playersWin => 'I giocatori vincono!';
|
|
|
|
@override
|
|
String get theSecretWordWas => '🔍 La parola era:';
|
|
|
|
@override
|
|
String categoryLabel(String category) {
|
|
return 'Categoria: $category';
|
|
}
|
|
|
|
@override
|
|
String get theImpostorWas => '🎭 L\'impostore era:';
|
|
|
|
@override
|
|
String get theImpostorsWere => '🎭 Gli impostori erano:';
|
|
|
|
@override
|
|
String get votingHistory => '📊 Cronologia delle votazioni';
|
|
|
|
@override
|
|
String roundElimination(int round, String name) {
|
|
return 'Round $round: $name';
|
|
}
|
|
|
|
@override
|
|
String get rematch => 'Rivincita';
|
|
|
|
@override
|
|
String get mainMenu => 'Menu principale';
|
|
|
|
@override
|
|
String get notesTitle => '📝 Note';
|
|
|
|
@override
|
|
String get notesSaved => 'Note salvate';
|
|
|
|
@override
|
|
String get whoAreYou => 'Chi sei?';
|
|
|
|
@override
|
|
String get selectYourName =>
|
|
'Seleziona il tuo nome per vedere le tue note private';
|
|
|
|
@override
|
|
String notesOf(String name) {
|
|
return 'Note di $name';
|
|
}
|
|
|
|
@override
|
|
String get notesAboutPlayers => 'Appunti su ogni giocatore';
|
|
|
|
@override
|
|
String get playerNoteHint => 'Cosa ha detto? Sospetto?';
|
|
|
|
@override
|
|
String get freeNote => 'Nota libera';
|
|
|
|
@override
|
|
String get freeNoteHint => 'Appunti personali...';
|
|
|
|
@override
|
|
String get rulesTitle => '📖 Come giocare';
|
|
|
|
@override
|
|
String get rulesWhatIsTitle => '🎭 Cos\'è L\'Impostore?';
|
|
|
|
@override
|
|
String get rulesWhatIsBody =>
|
|
'Un gioco di deduzione sociale per 3-20 giocatori. Tutti ricevono una parola segreta... tranne l\'impostore! La tua missione: scoprire chi sta fingendo.';
|
|
|
|
@override
|
|
String get rulesHowToPlayTitle => '🔍 Come si gioca?';
|
|
|
|
@override
|
|
String get rulesHowToPlayBody =>
|
|
'1. Si assegnano i ruoli: tutti ricevono la stessa parola, tranne l\'impostore/gli impostori.\n\n2. Discussione: a turno, ogni giocatore descrive la parola SENZA dirla direttamente. L\'impostore deve fingere di conoscerla.\n\n3. Votazione: al termine della discussione, tutti votano chi pensano sia l\'impostore.\n\n4. Eliminazione: il più votato viene eliminato e si rivela se era l\'impostore o meno.\n\n5. Se era l\'impostore, può provare a indovinare la parola. Se indovina, gli impostori vincono!';
|
|
|
|
@override
|
|
String get rulesWhoWinsTitle => '🏆 Chi vince?';
|
|
|
|
@override
|
|
String get rulesWhoWinsBody =>
|
|
'• Giocatori: vincono se eliminano TUTTI gli impostori.\n• Impostori: vincono se non vengono scoperti finché non restano pari o meno giocatori normali rispetto agli impostori, oppure se indovinano la parola al momento dell\'eliminazione.';
|
|
|
|
@override
|
|
String get rulesTipsPlayersTitle => '💡 Consigli per i giocatori';
|
|
|
|
@override
|
|
String get rulesTipsPlayersBody =>
|
|
'• Dai indizi sottili che dimostrino che conosci la parola, ma non così ovvi da permettere all\'impostore di usarli.\n• Osserva chi dà risposte vaghe o generiche.\n• Usa le note per appuntare quello che dice ognuno.\n• Non dire la parola direttamente, questo aiuta l\'impostore!';
|
|
|
|
@override
|
|
String get rulesTipsImpostorTitle => '🎭 Consigli per l\'impostore';
|
|
|
|
@override
|
|
String get rulesTipsImpostorBody =>
|
|
'• Ascolta attentamente gli indizi degli altri.\n• Cerca di dedurre la parola per dare indizi credibili.\n• Non essere il primo a parlare se non sei sicuro.\n• Se ti danno la categoria come indizio, usala a tuo vantaggio.\n• Accusa gli altri per deviare l\'attenzione.';
|
|
|
|
@override
|
|
String get rulesModesTitle => '📱 Modalità di gioco';
|
|
|
|
@override
|
|
String get rulesModesBody =>
|
|
'• Un solo dispositivo: tutti condividono il dispositivo. Ogni giocatore vede la propria parola tenendo premuto un pulsante.\n\n• Multi-dispositivo: ogni giocatore usa il proprio dispositivo. Si connettono tramite Bluetooth/WiFi Direct senza bisogno di internet.';
|
|
|
|
@override
|
|
String get rulesExampleTitle => '✏️ Esempio di partita';
|
|
|
|
@override
|
|
String get rulesExampleBody =>
|
|
'Parola segreta: \"Pizza\"\n\n• Marco: \"Si mangia calda\" ✓\n• Giulia: \"Arriva in una scatola\" ✓\n• Luca (impostore): \"È molto popolare\" 🤔\n• Sofia: \"Ha il formaggio\" ✓\n\nLuca ha dato una risposta molto generica... Sospetto!';
|
|
|
|
@override
|
|
String get joinGameTitle => 'Unisciti alla partita';
|
|
|
|
@override
|
|
String get multiDeviceMode => 'Modalità multi-dispositivo';
|
|
|
|
@override
|
|
String get scanQrDescription =>
|
|
'Scansiona il codice QR mostrato dall\'host per connetterti alla partita tramite Bluetooth/WiFi Direct.';
|
|
|
|
@override
|
|
String get comingSoon => 'Prossimamente';
|
|
|
|
@override
|
|
String get nearbyNotAvailable =>
|
|
'La connessione multi-dispositivo con Nearby Connections richiede dispositivi Android fisici.\n\nPer ora, usa la modalità \"Un solo dispositivo\" per giocare su un dispositivo condiviso.';
|
|
|
|
@override
|
|
String get back => 'Indietro';
|
|
|
|
@override
|
|
String get yes => 'Sì';
|
|
|
|
@override
|
|
String get no => 'No';
|
|
|
|
@override
|
|
String get cancel => 'Annulla';
|
|
|
|
@override
|
|
String get accept => 'Accetta';
|
|
|
|
@override
|
|
String get next => 'Avanti';
|
|
|
|
@override
|
|
String get settingsTitle => 'Impostazioni';
|
|
|
|
@override
|
|
String get language => 'Lingua';
|
|
|
|
@override
|
|
String get soundVolume => 'Volume effetti';
|
|
|
|
@override
|
|
String get vibration => 'Vibrazione';
|
|
|
|
@override
|
|
String get about => 'Informazioni';
|
|
|
|
@override
|
|
String get version => 'Versione';
|
|
|
|
@override
|
|
String get developer => 'Sviluppatore';
|
|
|
|
@override
|
|
String get licenses => 'Licenze';
|
|
|
|
@override
|
|
String get scanToJoin => 'Escanea el QR para unirte';
|
|
|
|
@override
|
|
String get connectedPlayers => 'Jugadores conectados';
|
|
|
|
@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...';
|
|
}
|