Files
farolero/lib/l10n/app_pl.arb
ShanaiaBot 1bca50af1d v0.2.0: i18n 18 idiomas + pantalla ajustes + bancos multiidioma
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
2026-04-04 01:18:09 +02:00

225 lines
8.6 KiB
Plaintext

{
"@@locale": "pl",
"appTitle": "Oszust",
"subtitle": "Gra dedukcji społecznej",
"loadingWords": "Ładowanie słów...",
"playersRange": "3-20 graczy • Bez internetu",
"createGame": "Utwórz grę",
"joinGame": "Dołącz do gry",
"howToPlay": "Jak grać",
"settings": "Ustawienia",
"gameMode": "Tryb gry",
"singleDevice": "Jedno urządzenie",
"multiDevice": "Wiele urządzeń",
"category": "Kategoria",
"categoryAll": "Wszystkie",
"categoryAnimals": "Zwierzęta",
"categoryFood": "Jedzenie",
"categoryCountries": "Kraje",
"categorySports": "Sport",
"categoryProfessions": "Zawody",
"categoryObjects": "Przedmioty",
"categoryPlaces": "Miejsca",
"categoryMovies": "Filmy",
"categoryMusic": "Muzyka",
"categoryTechnology": "Technologia",
"playersCount": "Gracze ({count})",
"@playersCount": {
"placeholders": {
"count": {"type": "int"}
}
},
"playersRangeHint": "3-20",
"playerNameHint": "Imię gracza",
"playerAlreadyExists": "Gracz o takim imieniu już istnieje",
"maxPlayersReached": "Maksymalnie 20 graczy",
"minPlayersRequired": "Potrzeba co najmniej 3 graczy",
"configuration": "Konfiguracja",
"impostors": "🎭 Oszuści",
"impostorClue": "🔍 Wskazówka dla oszusta",
"impostorClueDescription": "Oszust zna kategorię",
"debateTime": "⏱️ Czas debaty",
"noLimit": "Bez limitu",
"oneMin": "1 min",
"twoMin": "2 min",
"threeMin": "3 min",
"fiveMin": "5 min",
"startGame": "Rozpocznij grę",
"seeYourWord": "Zobacz swoje słowo",
"eachPlayerMustSee": "Każdy gracz musi zobaczyć swoje słowo w tajemnicy",
"roundNumber": "Runda {round}",
"@roundNumber": {
"placeholders": {
"round": {"type": "int"}
}
},
"alreadySeen": "Już widział swoje słowo",
"tapToSee": "Dotknij, aby zobaczyć",
"allSeenStartDebate": "Wszyscy widzieli → Rozpocznij debatę",
"playersRemaining": "Pozostało {count} graczy",
"@playersRemaining": {
"placeholders": {
"count": {"type": "int"}
}
},
"youAreImpostor": "Jesteś oszustem!",
"yourWordIs": "Twoje słowo to:",
"clueCategory": "Wskazówka: {category}",
"@clueCategory": {
"placeholders": {
"category": {"type": "String"}
}
},
"holdToSeeWord": "Przytrzymaj, aby zobaczyć swoje słowo",
"makeSureNoOneLooks": "Upewnij się, że nikt inny nie patrzy",
"showingWord": "👁️ Pokazuję...",
"holdToSee": "👆 Przytrzymaj, aby zobaczyć",
"seenMyWord": "Widziałem swoje słowo",
"debateRound": "Debata - Runda {round}",
"@debateRound": {
"placeholders": {
"round": {"type": "int"}
}
},
"timeUp": "⏰ Czas minął!",
"timeRemaining": "⏱️ Pozostały czas",
"playersInDebate": "Gracze w debacie",
"activePlayersInfo": "{active} aktywnych • {impostors} ukrytych oszustów",
"@activePlayersInfo": {
"placeholders": {
"active": {"type": "int"},
"impostors": {"type": "int"}
}
},
"eliminated": "Wyeliminowany",
"notes": "Notatki",
"goToVoting": "Przejdź do głosowania",
"voting": "🗳️ Głosowanie",
"turnToVote": "Kolej na głosowanie:",
"votesProgress": "Głosy: {current}/{total}",
"@votesProgress": {
"placeholders": {
"current": {"type": "int"},
"total": {"type": "int"}
}
},
"whoIsImpostor": "Kto twoim zdaniem jest oszustem?",
"confirmVote": "Potwierdź głos",
"votingComplete": "🗳️ Głosowanie zakończone",
"allVoted": "Wszyscy zagłosowali!",
"tapToReveal": "Dotknij, aby odkryć wynik",
"revealResult": "Odkryj wynik",
"result": "Wynik",
"revealing": "Odkrywam...",
"wasImpostor": "To był OSZUST! 🎉",
"wasInnocent": "Był NIEWINNY 😱",
"votesThisRound": "Głosy w tej rundzie",
"seeEndResult": "Zobacz wynik końcowy",
"impostorGuessWord": "Czy oszust odgadnie słowo?",
"nextRound": "Następna runda",
"impostorGuessTitle": "🎯 Zgadywanie oszusta",
"impostorCanGuess": "Wyeliminowany oszust może\nspróbować odgadnąć słowo",
"ifCorrectImpostorsWin": "Jeśli trafi, oszuści wygrywają!",
"guessWordHint": "Jakie twoim zdaniem jest to słowo?",
"dontGuess": "Nie próbuj",
"guess": "Zgaduj",
"correctGuess": "Trafił!",
"theWordWas": "Słowo brzmiało: {word}",
"@theWordWas": {
"placeholders": {
"word": {"type": "String"}
}
},
"impostorsWin": "Oszuści wygrywają!",
"wrongGuess": "Nie trafił!",
"gameContinues": "Gra toczy się dalej...",
"gameOver": "Koniec gry",
"playersWin": "Gracze wygrywają!",
"theSecretWordWas": "🔍 Słowo brzmiało:",
"categoryLabel": "Kategoria: {category}",
"@categoryLabel": {
"placeholders": {
"category": {"type": "String"}
}
},
"theImpostorWas": "🎭 Oszustem był:",
"theImpostorsWere": "🎭 Oszustami byli:",
"votingHistory": "📊 Historia głosowań",
"roundElimination": "Runda {round}: {name}",
"@roundElimination": {
"placeholders": {
"round": {"type": "int"},
"name": {"type": "String"}
}
},
"rematch": "Rewanż",
"mainMenu": "Menu główne",
"notesTitle": "📝 Notatki",
"notesSaved": "Notatki zapisane",
"whoAreYou": "Kim jesteś?",
"selectYourName": "Wybierz swoje imię, aby zobaczyć prywatne notatki",
"notesOf": "Notatki gracza {name}",
"@notesOf": {
"placeholders": {
"name": {"type": "String"}
}
},
"notesAboutPlayers": "Zapiski o każdym graczu",
"playerNoteHint": "Co powiedział? Podejrzany?",
"freeNote": "Wolna notatka",
"freeNoteHint": "Osobiste zapiski...",
"rulesTitle": "📖 Jak grać",
"rulesWhatIsTitle": "🎭 Czym jest Oszust?",
"rulesWhatIsBody": "Gra dedukcji społecznej dla 3-20 graczy. Wszyscy otrzymują tajne słowo... oprócz oszusta! Twoja misja: odkryj, kto udaje.",
"rulesHowToPlayTitle": "🔍 Jak się gra?",
"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ą!",
"rulesWhoWinsTitle": "🏆 Kto wygrywa?",
"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.",
"rulesTipsPlayersTitle": "💡 Wskazówki dla graczy",
"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!",
"rulesTipsImpostorTitle": "🎭 Wskazówki dla oszusta",
"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ę.",
"rulesModesTitle": "📱 Tryby gry",
"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.",
"rulesExampleTitle": "✏️ Przykładowa gra",
"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!",
"joinGameTitle": "Dołącz do gry",
"multiDeviceMode": "Tryb wielu urządzeń",
"scanQrDescription": "Zeskanuj kod QR wyświetlany przez hosta, aby połączyć się z grą przez Bluetooth/WiFi Direct.",
"comingSoon": "Wkrótce",
"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.",
"back": "Wstecz",
"yes": "Tak",
"no": "Nie",
"cancel": "Anuluj",
"accept": "Akceptuj",
"next": "Dalej",
"settingsTitle": "Ustawienia",
"language": "Język",
"soundVolume": "Głośność efektów",
"vibration": "Wibracje",
"about": "O aplikacji",
"version": "Wersja",
"developer": "Programista",
"licenses": "Licencje"
}