- Discovery: busca hosts cercanos automáticamente y los muestra en lista - Cada host aparece como tile tocable con nombre de la sala - QR fallback: botón 'Escanear QR' debajo de la lista - ServicioNearby: hostsEncontrados map, pararBusqueda(), no auto-connect - Flujo: nombre → buscar → lista de salas (o QR) → conectar → espera - l10n: searchGames, searchingGames, noGamesFound, orScanQR (es/en)
538 lines
13 KiB
Dart
538 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 Polish (`pl`).
|
|
class AppLocalizationsPl extends AppLocalizations {
|
|
AppLocalizationsPl([String locale = 'pl']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'Oszust';
|
|
|
|
@override
|
|
String get subtitle => 'Gra dedukcji społecznej';
|
|
|
|
@override
|
|
String get loadingWords => 'Ładowanie słów...';
|
|
|
|
@override
|
|
String get playersRange => '3-20 graczy • Bez internetu';
|
|
|
|
@override
|
|
String get createGame => 'Utwórz grę';
|
|
|
|
@override
|
|
String get joinGame => 'Dołącz do gry';
|
|
|
|
@override
|
|
String get howToPlay => 'Jak grać';
|
|
|
|
@override
|
|
String get settings => 'Ustawienia';
|
|
|
|
@override
|
|
String get gameMode => 'Tryb gry';
|
|
|
|
@override
|
|
String get singleDevice => 'Jedno urządzenie';
|
|
|
|
@override
|
|
String get multiDevice => 'Wiele urządzeń';
|
|
|
|
@override
|
|
String get category => 'Kategoria';
|
|
|
|
@override
|
|
String get categoryAll => 'Wszystkie';
|
|
|
|
@override
|
|
String get categoryAnimals => 'Zwierzęta';
|
|
|
|
@override
|
|
String get categoryFood => 'Jedzenie';
|
|
|
|
@override
|
|
String get categoryCountries => 'Kraje';
|
|
|
|
@override
|
|
String get categorySports => 'Sport';
|
|
|
|
@override
|
|
String get categoryProfessions => 'Zawody';
|
|
|
|
@override
|
|
String get categoryObjects => 'Przedmioty';
|
|
|
|
@override
|
|
String get categoryPlaces => 'Miejsca';
|
|
|
|
@override
|
|
String get categoryMovies => 'Filmy';
|
|
|
|
@override
|
|
String get categoryMusic => 'Muzyka';
|
|
|
|
@override
|
|
String get categoryTechnology => 'Technologia';
|
|
|
|
@override
|
|
String playersCount(int count) {
|
|
return 'Gracze ($count)';
|
|
}
|
|
|
|
@override
|
|
String get playersRangeHint => '3-20';
|
|
|
|
@override
|
|
String get playerNameHint => 'Imię gracza';
|
|
|
|
@override
|
|
String get playerAlreadyExists => 'Gracz o takim imieniu już istnieje';
|
|
|
|
@override
|
|
String get maxPlayersReached => 'Maksymalnie 20 graczy';
|
|
|
|
@override
|
|
String get minPlayersRequired => 'Potrzeba co najmniej 3 graczy';
|
|
|
|
@override
|
|
String get configuration => 'Konfiguracja';
|
|
|
|
@override
|
|
String get impostors => '🎭 Oszuści';
|
|
|
|
@override
|
|
String get impostorClue => '🔍 Wskazówka dla oszusta';
|
|
|
|
@override
|
|
String get impostorClueDescription => 'Oszust zna kategorię';
|
|
|
|
@override
|
|
String get debateTime => '⏱️ Czas debaty';
|
|
|
|
@override
|
|
String get noLimit => 'Bez limitu';
|
|
|
|
@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 => 'Rozpocznij grę';
|
|
|
|
@override
|
|
String get seeYourWord => 'Zobacz swoje słowo';
|
|
|
|
@override
|
|
String get eachPlayerMustSee =>
|
|
'Każdy gracz musi zobaczyć swoje słowo w tajemnicy';
|
|
|
|
@override
|
|
String roundNumber(int round) {
|
|
return 'Runda $round';
|
|
}
|
|
|
|
@override
|
|
String get alreadySeen => 'Już widział swoje słowo';
|
|
|
|
@override
|
|
String get tapToSee => 'Dotknij, aby zobaczyć';
|
|
|
|
@override
|
|
String get allSeenStartDebate => 'Wszyscy widzieli → Rozpocznij debatę';
|
|
|
|
@override
|
|
String playersRemaining(int count) {
|
|
return 'Pozostało $count graczy';
|
|
}
|
|
|
|
@override
|
|
String get youAreImpostor => 'Jesteś oszustem!';
|
|
|
|
@override
|
|
String get yourWordIs => 'Twoje słowo to:';
|
|
|
|
@override
|
|
String clueCategory(String category) {
|
|
return 'Wskazówka: $category';
|
|
}
|
|
|
|
@override
|
|
String get holdToSeeWord => 'Przytrzymaj, aby zobaczyć swoje słowo';
|
|
|
|
@override
|
|
String get makeSureNoOneLooks => 'Upewnij się, że nikt inny nie patrzy';
|
|
|
|
@override
|
|
String get showingWord => '👁️ Pokazuję...';
|
|
|
|
@override
|
|
String get holdToSee => '👆 Przytrzymaj, aby zobaczyć';
|
|
|
|
@override
|
|
String get seenMyWord => 'Widziałem swoje słowo';
|
|
|
|
@override
|
|
String debateRound(int round) {
|
|
return 'Debata - Runda $round';
|
|
}
|
|
|
|
@override
|
|
String get timeUp => '⏰ Czas minął!';
|
|
|
|
@override
|
|
String get timeRemaining => '⏱️ Pozostały czas';
|
|
|
|
@override
|
|
String get playersInDebate => 'Gracze w debacie';
|
|
|
|
@override
|
|
String activePlayersInfo(int active, int impostors) {
|
|
return '$active aktywnych • $impostors ukrytych oszustów';
|
|
}
|
|
|
|
@override
|
|
String get eliminated => 'Wyeliminowany';
|
|
|
|
@override
|
|
String get notes => 'Notatki';
|
|
|
|
@override
|
|
String get goToVoting => 'Przejdź do głosowania';
|
|
|
|
@override
|
|
String get voting => '🗳️ Głosowanie';
|
|
|
|
@override
|
|
String get turnToVote => 'Kolej na głosowanie:';
|
|
|
|
@override
|
|
String votesProgress(int current, int total) {
|
|
return 'Głosy: $current/$total';
|
|
}
|
|
|
|
@override
|
|
String get whoIsImpostor => 'Kto twoim zdaniem jest oszustem?';
|
|
|
|
@override
|
|
String get confirmVote => 'Potwierdź głos';
|
|
|
|
@override
|
|
String get votingComplete => '🗳️ Głosowanie zakończone';
|
|
|
|
@override
|
|
String get allVoted => 'Wszyscy zagłosowali!';
|
|
|
|
@override
|
|
String get tapToReveal => 'Dotknij, aby odkryć wynik';
|
|
|
|
@override
|
|
String get revealResult => 'Odkryj wynik';
|
|
|
|
@override
|
|
String get result => 'Wynik';
|
|
|
|
@override
|
|
String get revealing => 'Odkrywam...';
|
|
|
|
@override
|
|
String get wasImpostor => 'To był OSZUST! 🎉';
|
|
|
|
@override
|
|
String get wasInnocent => 'Był NIEWINNY 😱';
|
|
|
|
@override
|
|
String get votesThisRound => 'Głosy w tej rundzie';
|
|
|
|
@override
|
|
String get seeEndResult => 'Zobacz wynik końcowy';
|
|
|
|
@override
|
|
String get impostorGuessWord => 'Czy oszust odgadnie słowo?';
|
|
|
|
@override
|
|
String get nextRound => 'Następna runda';
|
|
|
|
@override
|
|
String get impostorGuessTitle => '🎯 Zgadywanie oszusta';
|
|
|
|
@override
|
|
String get impostorCanGuess =>
|
|
'Wyeliminowany oszust może\nspróbować odgadnąć słowo';
|
|
|
|
@override
|
|
String get ifCorrectImpostorsWin => 'Jeśli trafi, oszuści wygrywają!';
|
|
|
|
@override
|
|
String get guessWordHint => 'Jakie twoim zdaniem jest to słowo?';
|
|
|
|
@override
|
|
String get dontGuess => 'Nie próbuj';
|
|
|
|
@override
|
|
String get guess => 'Zgaduj';
|
|
|
|
@override
|
|
String get correctGuess => 'Trafił!';
|
|
|
|
@override
|
|
String theWordWas(String word) {
|
|
return 'Słowo brzmiało: $word';
|
|
}
|
|
|
|
@override
|
|
String get impostorsWin => 'Oszuści wygrywają!';
|
|
|
|
@override
|
|
String get wrongGuess => 'Nie trafił!';
|
|
|
|
@override
|
|
String get gameContinues => 'Gra toczy się dalej...';
|
|
|
|
@override
|
|
String get gameOver => 'Koniec gry';
|
|
|
|
@override
|
|
String get playersWin => 'Gracze wygrywają!';
|
|
|
|
@override
|
|
String get theSecretWordWas => '🔍 Słowo brzmiało:';
|
|
|
|
@override
|
|
String categoryLabel(String category) {
|
|
return 'Kategoria: $category';
|
|
}
|
|
|
|
@override
|
|
String get theImpostorWas => '🎭 Oszustem był:';
|
|
|
|
@override
|
|
String get theImpostorsWere => '🎭 Oszustami byli:';
|
|
|
|
@override
|
|
String get votingHistory => '📊 Historia głosowań';
|
|
|
|
@override
|
|
String roundElimination(int round, String name) {
|
|
return 'Runda $round: $name';
|
|
}
|
|
|
|
@override
|
|
String get rematch => 'Rewanż';
|
|
|
|
@override
|
|
String get mainMenu => 'Menu główne';
|
|
|
|
@override
|
|
String get notesTitle => '📝 Notatki';
|
|
|
|
@override
|
|
String get notesSaved => 'Notatki zapisane';
|
|
|
|
@override
|
|
String get whoAreYou => 'Kim jesteś?';
|
|
|
|
@override
|
|
String get selectYourName =>
|
|
'Wybierz swoje imię, aby zobaczyć prywatne notatki';
|
|
|
|
@override
|
|
String notesOf(String name) {
|
|
return 'Notatki gracza $name';
|
|
}
|
|
|
|
@override
|
|
String get notesAboutPlayers => 'Zapiski o każdym graczu';
|
|
|
|
@override
|
|
String get playerNoteHint => 'Co powiedział? Podejrzany?';
|
|
|
|
@override
|
|
String get freeNote => 'Wolna notatka';
|
|
|
|
@override
|
|
String get freeNoteHint => 'Osobiste zapiski...';
|
|
|
|
@override
|
|
String get rulesTitle => '📖 Jak grać';
|
|
|
|
@override
|
|
String get rulesWhatIsTitle => '🎭 Czym jest Oszust?';
|
|
|
|
@override
|
|
String get rulesWhatIsBody =>
|
|
'Gra dedukcji społecznej dla 3-20 graczy. Wszyscy otrzymują tajne słowo... oprócz oszusta! Twoja misja: odkryj, kto udaje.';
|
|
|
|
@override
|
|
String get rulesHowToPlayTitle => '🔍 Jak się gra?';
|
|
|
|
@override
|
|
String get rulesHowToPlayBody =>
|
|
'1. Rozdanie ról: wszyscy otrzymują to samo słowo, oprócz oszusta/oszustów.\n\n2. Debata: po kolei każdy gracz opisuje słowo BEZ wypowiadania go wprost. Oszust musi udawać, że je zna.\n\n3. Głosowanie: po zakończeniu debaty wszyscy głosują na osobę, którą uważają za oszusta.\n\n4. Eliminacja: gracz z największą liczbą głosów zostaje wyeliminowany i ujawnia się, czy był oszustem.\n\n5. Jeśli to był oszust, może spróbować odgadnąć słowo. Jeśli trafi, oszuści wygrywają!';
|
|
|
|
@override
|
|
String get rulesWhoWinsTitle => '🏆 Kto wygrywa?';
|
|
|
|
@override
|
|
String get rulesWhoWinsBody =>
|
|
'• Gracze: wygrywają, jeśli wyeliminują WSZYSTKICH oszustów.\n• Oszuści: wygrywają, jeśli nie zostaną odkryci, dopóki zwykłych graczy nie będzie tyle samo lub mniej niż oszustów, albo jeśli odgadną słowo po eliminacji.';
|
|
|
|
@override
|
|
String get rulesTipsPlayersTitle => '💡 Wskazówki dla graczy';
|
|
|
|
@override
|
|
String get rulesTipsPlayersBody =>
|
|
'• Dawaj subtelne wskazówki, które pokażą, że znasz słowo, ale nie na tyle oczywiste, by oszust mógł je wykorzystać.\n• Obserwuj, kto daje niejasne lub ogólnikowe odpowiedzi.\n• Używaj notatek, by zapisywać, co mówi każdy gracz.\n• Nie mów słowa wprost — to pomaga oszustowi!';
|
|
|
|
@override
|
|
String get rulesTipsImpostorTitle => '🎭 Wskazówki dla oszusta';
|
|
|
|
@override
|
|
String get rulesTipsImpostorBody =>
|
|
'• Uważnie słuchaj wskazówek innych.\n• Spróbuj wydedukować słowo, by dawać wiarygodne wskazówki.\n• Nie mów pierwszy, jeśli nie jesteś pewien.\n• Jeśli dostaniesz kategorię jako wskazówkę, wykorzystaj ją.\n• Oskarżaj innych, by odwrócić uwagę.';
|
|
|
|
@override
|
|
String get rulesModesTitle => '📱 Tryby gry';
|
|
|
|
@override
|
|
String get rulesModesBody =>
|
|
'• Jedno urządzenie: wszyscy dzielą jedno urządzenie. Każdy gracz widzi swoje słowo, przytrzymując przycisk.\n\n• Wiele urządzeń: każdy gracz używa własnego urządzenia. Łączą się przez Bluetooth/WiFi Direct bez potrzeby internetu.';
|
|
|
|
@override
|
|
String get rulesExampleTitle => '✏️ Przykładowa gra';
|
|
|
|
@override
|
|
String get rulesExampleBody =>
|
|
'Tajne słowo: \"Pizza\"\n\n• Kasia: \"Je się na ciepło\" ✓\n• Tomek: \"Przychodzi w pudełku\" ✓\n• Ola (oszust): \"Jest bardzo popularna\" 🤔\n• Marek: \"Ma ser\" ✓\n\nOla dała bardzo ogólnikową odpowiedź... Podejrzana!';
|
|
|
|
@override
|
|
String get joinGameTitle => 'Dołącz do gry';
|
|
|
|
@override
|
|
String get multiDeviceMode => 'Tryb wielu urządzeń';
|
|
|
|
@override
|
|
String get scanQrDescription =>
|
|
'Zeskanuj kod QR wyświetlany przez hosta, aby połączyć się z grą przez Bluetooth/WiFi Direct.';
|
|
|
|
@override
|
|
String get comingSoon => 'Wkrótce';
|
|
|
|
@override
|
|
String get nearbyNotAvailable =>
|
|
'Połączenie wielourządzeniowe z Nearby Connections wymaga fizycznych urządzeń z Androidem.\n\nNa razie użyj trybu \"Jedno urządzenie\", aby grać na wspólnym urządzeniu.';
|
|
|
|
@override
|
|
String get back => 'Wstecz';
|
|
|
|
@override
|
|
String get yes => 'Tak';
|
|
|
|
@override
|
|
String get no => 'Nie';
|
|
|
|
@override
|
|
String get cancel => 'Anuluj';
|
|
|
|
@override
|
|
String get accept => 'Akceptuj';
|
|
|
|
@override
|
|
String get next => 'Dalej';
|
|
|
|
@override
|
|
String get settingsTitle => 'Ustawienia';
|
|
|
|
@override
|
|
String get language => 'Język';
|
|
|
|
@override
|
|
String get soundVolume => 'Głośność efektów';
|
|
|
|
@override
|
|
String get vibration => 'Wibracje';
|
|
|
|
@override
|
|
String get about => 'O aplikacji';
|
|
|
|
@override
|
|
String get version => 'Wersja';
|
|
|
|
@override
|
|
String get developer => 'Programista';
|
|
|
|
@override
|
|
String get licenses => 'Licencje';
|
|
|
|
@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...';
|
|
|
|
@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';
|
|
}
|