Files
farolero/lib/l10n/app_eu.arb
T
FreeTLab 56f07364c2
Build & Deploy Farolero / Análisis de código (push) Successful in 13s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 1m22s
feat: confirm before leaving a game, and fix untranslated strings
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.
2026-07-25 23:59:57 +02:00

387 lines
16 KiB
Plaintext

{
"@@locale": "eu",
"appTitle": "Inpostorrea",
"subtitle": "Dedukzio sozialeko jokoa",
"loadingWords": "Hitzak kargatzen...",
"matchRewards": "Partidako sariak",
"newMedals": "Domina berriak",
"noNewMedalsKeepFire": "Oraingoan ez dago domina berririk. Jarraitu sua pilatzen.",
"calculatingRewards": "Sariak kalkulatzen...",
"fireLabel": "Sua",
"playersRange": "3-20 jokalari • Internetik gabe",
"createGame": "Partida sortu",
"joinGame": "Partidara batu",
"howToPlay": "Nola jolastu",
"settings": "Ezarpenak",
"gameMode": "Joko-modua",
"singleDevice": "Mugikor bakarra",
"multiDevice": "Mugikor anitz",
"category": "Kategoria",
"categoryAll": "Denak",
"categoryAnimals": "Animaliak",
"categoryFood": "Janaria",
"categoryCountries": "Herrialdeak",
"categorySports": "Kirolak",
"categoryProfessions": "Lanbideak",
"categoryObjects": "Objektuak",
"categoryPlaces": "Lekuak",
"categoryMovies": "Filmak",
"categoryMusic": "Musika",
"categoryTechnology": "Teknologia",
"playersCount": "Jokalariak ({count})",
"@playersCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"playersRangeHint": "3-20",
"playerNameHint": "Jokalariaren izena",
"playerAlreadyExists": "Izen hori duen jokalari bat badago dagoeneko",
"maxPlayersReached": "Gehienez 20 jokalari",
"minPlayersRequired": "Gutxienez 3 jokalari behar dira",
"configuration": "Konfigurazioa",
"impostors": "🎭 Inpostoreak",
"impostorClue": "🔍 Inpostorearentzako pista",
"impostorClueDescription": "Inpostoreak kategoria ezagutzen du",
"debateTime": "⏱️ Eztabaida-denbora",
"noLimit": "Mugarik gabe",
"oneMin": "1 min",
"twoMin": "2 min",
"threeMin": "3 min",
"fiveMin": "5 min",
"startGame": "Partida hasi",
"seeYourWord": "Ikusi zure hitza",
"eachPlayerMustSee": "Jokalari bakoitzak bere hitza ezkutuan ikusi behar du",
"roundNumber": "{round}. txanda",
"@roundNumber": {
"placeholders": {
"round": {
"type": "int"
}
}
},
"alreadySeen": "Bere hitza ikusi du dagoeneko",
"tapToSee": "Sakatu ikusteko",
"allSeenStartDebate": "Denek ikusi dute → Eztabaida hasi",
"playersRemaining": "{count} jokalari falta dira",
"@playersRemaining": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"youAreImpostor": "Inpostorea zara!",
"yourWordIs": "Zure hitza da:",
"clueCategory": "Pista: {category}",
"@clueCategory": {
"placeholders": {
"category": {
"type": "String"
}
}
},
"holdToSeeWord": "Sakatuta eduki zure hitza ikusteko",
"makeSureNoOneLooks": "Ziurtatu inor gehiago ez dagoela begiratzen",
"showingWord": "👁️ Erakusten...",
"holdToSee": "👆 Sakatuta eduki ikusteko",
"seenMyWord": "Nire hitza ikusi dut",
"debateRound": "Eztabaida - {round}. txanda",
"@debateRound": {
"placeholders": {
"round": {
"type": "int"
}
}
},
"timeUp": "⏰ Denbora agortu da!",
"timeRemaining": "⏱️ Geratzen den denbora",
"playersInDebate": "Eztabaidan diren jokalariak",
"activePlayersInfo": "{active} aktibo • {impostors} inpostore ezkutu",
"@activePlayersInfo": {
"placeholders": {
"active": {
"type": "int"
},
"impostors": {
"type": "int"
}
}
},
"eliminated": "Kanporatua",
"notes": "Oharrak",
"goToVoting": "Bozkatzera joan",
"voting": "🗳️ Bozketa",
"turnToVote": "Bozkatze-txanda:",
"votesProgress": "Botoak: {current}/{total}",
"@votesProgress": {
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"whoIsImpostor": "Nor da inpostorea zure ustez?",
"confirmVote": "Botoa berretsi",
"votingComplete": "🗳️ Bozketa osatua",
"allVoted": "Denek bozka eman dute!",
"tapToReveal": "Sakatu emaitza agertzeko",
"revealResult": "Emaitza agertu",
"result": "Emaitza",
"revealing": "Agertzen...",
"wasImpostor": "INPOSTOREA zen! 🎉",
"wasInnocent": "ERRUGABEA zen 😱",
"votesThisRound": "Txanda honetako botoak",
"seeEndResult": "Azken emaitza ikusi",
"impostorGuessWord": "Inpostoreak hitza asmatzen du?",
"nextRound": "Hurrengo txanda",
"impostorGuessTitle": "🎯 Inpostorearen asmaketa",
"impostorCanGuess": "Kanporatutako inpostoreak\nhitza asmatzen saia daiteke",
"ifCorrectImpostorsWin": "Asmatzen badu, inpostoreek irabazten dute!",
"guessWordHint": "Zein da hitza zure ustez?",
"dontGuess": "Ez saiatu",
"guess": "Asmatu",
"correctGuess": "Asmatu du!",
"theWordWas": "Hitza zen: {word}",
"@theWordWas": {
"placeholders": {
"word": {
"type": "String"
}
}
},
"impostorsWin": "Inpostoreek irabazi dute!",
"wrongGuess": "Ez du asmatu!",
"gameContinues": "Partida jarraitzen du...",
"gameOver": "Partidaren amaiera",
"playersWin": "Jokalariek irabazi dute!",
"theSecretWordWas": "🔍 Hitza zen:",
"categoryLabel": "Kategoria: {category}",
"@categoryLabel": {
"placeholders": {
"category": {
"type": "String"
}
}
},
"theImpostorWas": "🎭 Inpostorea zen:",
"theImpostorsWere": "🎭 Inpostoreak ziren:",
"votingHistory": "📊 Bozketen historia",
"roundElimination": "{round}. txanda: {name}",
"@roundElimination": {
"placeholders": {
"round": {
"type": "int"
},
"name": {
"type": "String"
}
}
},
"rematch": "Errebantxa",
"mainMenu": "Menu nagusia",
"notesTitle": "📝 Oharrak",
"notesSaved": "Oharrak gordeta",
"whoAreYou": "Nor zara?",
"selectYourName": "Aukeratu zure izena ohar pribatuak ikusteko",
"notesOf": "{name}-(r)en oharrak",
"@notesOf": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"notesAboutPlayers": "Jokalari bakoitzari buruzko apunteak",
"playerNoteHint": "Zer esan du? Susmagarria?",
"freeNote": "Ohar librea",
"freeNoteHint": "Apunte pertsonalak...",
"rulesTitle": "📖 Nola jolastu",
"rulesWhatIsTitle": "🎭 Zer da Inpostorrea?",
"rulesWhatIsBody": "3-20 jokalarientzako dedukzio sozialeko jokoa. Denek hitz sekretu bat jasotzen dute... inpostorea izan ezik! Zure misioa: nor ari den itxurak egiten aurkitzea.",
"rulesHowToPlayTitle": "🔍 Nola jolasten da?",
"rulesHowToPlayBody": "1. Rolak banatzen dira: denek hitz bera jasotzen dute, inpostorea/inpostoreak izan ezik.\n\n2. Eztabaida: txandaka, jokalari bakoitzak hitza deskribatzen du zuzenean ESAN gabe. Inpostoreak ezagutzen duela itxurak egin behar du.\n\n3. Bozketa: eztabaida amaitzean, denek bozkatzen dute nor den inpostorea uste duten.\n\n4. Kanporatzea: boto gehien dituena kanporatua geratzen da eta inpostorea zen ala ez agertzen da.\n\n5. Inpostorea bazen, hitza asmatzen saia daiteke. Asmatzen badu, inpostoreek irabazten dute!",
"rulesWhoWinsTitle": "🏆 Nork irabazten du?",
"rulesWhoWinsBody": "• Jokalariak: irabazten dute inpostore GUZTIAK kanporatzen badituzte.\n• Inpostoreak: irabazten dute aurkitu gabe jarraitzen badute jokalari arruntak inpostore adina edo gutxiago diren arte, edo hitza asmatzen badute kanporatu ondoren.",
"rulesTipsPlayersTitle": "💡 Jokalarientzako aholkuak",
"rulesTipsPlayersBody": "• Eman hitza ezagutzen duzula erakusten duten pista sotilak, baina ez hain argiak inpostoreak erabil ditzan.\n• Begiratu nork ematen dituen erantzun lausoak edo generikoak.\n• Erabili oharrak bakoitzak zer esaten duen apuntatzeko.\n• Ez esan hitza zuzenean, horrek inpostoreari laguntzen dio!",
"rulesTipsImpostorTitle": "🎭 Inpostorearentzako aholkuak",
"rulesTipsImpostorBody": "• Entzun arretaz besteen pistak.\n• Saiatu hitza deduzitzen pista sinesgarriak emateko.\n• Ez izan lehena hitz egiten ziur ez bazaude.\n• Kategoria pista gisa ematen badizute, erabili zure alde.\n• Salatu besteak arreta desbideratzeko.",
"rulesModesTitle": "📱 Joko-moduak",
"rulesModesBody": "• Mugikor bakarra: denek gailua partekatzen dute. Jokalari bakoitzak bere hitza ikusten du botoi bat sakatuta edukiz.\n\n• Mugikor anitz: jokalari bakoitzak bere gailua erabiltzen du. Bluetooth/WiFi Direct bidez konektatzen dira internetik behartu gabe.",
"rulesExampleTitle": "✏️ Partida-adibidea",
"rulesExampleBody": "Hitz sekretua: \"Pizza\"\n\n• Ane: \"Beroa jaten da\" ✓\n• Mikel: \"Kutxa batean dator\" ✓\n• Irati (inpostorea): \"Oso ezaguna da\" 🤔\n• Unai: \"Gazta dauka\" ✓\n\nIratik erantzun oso generikoa eman zuen... Susmagarria!",
"joinGameTitle": "Partidara batu",
"multiDeviceMode": "Mugikor anitzeko modua",
"scanQrDescription": "Eskaneatu ostalariak erakusten duen QR kodea partidara Bluetooth/WiFi Direct bidez konektatzeko.",
"comingSoon": "Laster",
"nearbyNotAvailable": "Mugikor anitzeko konexioak Nearby Connections-ekin Android gailu fisikoak behar ditu.\n\nOraingoz, erabili \"Mugikor bakarra\" modua gailu partekatuan jolasteko.",
"back": "Atzera",
"yes": "Bai",
"no": "Ez",
"cancel": "Ezeztatu",
"accept": "Onartu",
"next": "Hurrengoa",
"settingsTitle": "Ezarpenak",
"language": "Hizkuntza",
"soundVolume": "Efektuen bolumena",
"vibration": "Bibrazioa",
"about": "Honi buruz",
"version": "Bertsioa",
"developer": "Garatzailea",
"licenses": "Lizentziak",
"scanThisCodeFromAnotherPhone": "Eskaneatu kode hau beste mugikor batetik",
"gameUsers": "Partidako erabiltzaileak",
"selectedPlayers": "Hautatutako jokalariak",
"connectedPhones": "Konektatutako mugikorrak",
"selectedOnThisPhone": "Mugikor honetan hautatuta",
"selectedByAnotherDevice": "Beste gailu batean hautatuta",
"available": "Eskuragarri",
"notAvailable": "Ez dago erabilgarri",
"release": "Askatu",
"select": "Hautatu",
"delete": "Ezabatu",
"selectAtLeastThreeUsersToStart": "Hautatu gutxienez 3 erabiltzaile hasteko.",
"hostPhoneMustSelectUser": "Ostalariaren mugikorrak gutxienez erabiltzaile bat hautatu behar du.",
"roomNoLongerInLobby": "Gela jada ez dago lobbyan.",
"completeUserSelectionToStart": "Osatu erabiltzaileen hautaketa hasteko.",
"preparingSecureRoom": "Gela segurua prestatzen",
"searchingNearbyBluetoothGames": "Inguruko partidak bilatzen Bluetooth bidez",
"tapToJoin": "Sakatu batzeko",
"bluetoothLocationPermissionsRequired": "Bluetooth eta kokapen baimenak behar dira partidak bilatzeko.",
"bluetoothLocationPermissionsShort": "Bluetooth eta kokapen baimenak behar dira",
"couldNotStartSearch": "Ezin izan da bilaketa hasi. Egiaztatu Bluetooth eta kokapena.",
"couldNotConnectToHost": "Ezin izan da {host}(e)ra konektatu",
"room": "Gela",
"singleDeviceSubtitle": "Partida gailu honetan",
"singleDeviceDescription": "Ezin hobea denok elkarrekin jokatzeko mugikorra pasatuz. Konfigurazio azkarra eta zuzena.",
"multiDeviceSubtitle": "Jokalari bakoitza bere mugikorrean",
"multiDeviceDescription": "Sortu gela premium bat, partekatu QR kodea eta kudeatu erabiltzaileak lobbytik.",
"singleDeviceGameLabel": "Partida gailu honetan",
"multiDeviceGameLabel": "Gailu anitzeko partida",
"mainDeviceUser": "Gailuaren erabiltzaile nagusia",
"couldNotCreateRoom": "Ezin izan da gela sortu. Egiaztatu Bluetooth.",
"cannotStartWithReason": "Ezin da hasi: {reason}",
"invalidRoom": "gela baliogabea",
"defaultPlayerName": "Jokalaria",
"play": "Jokatu",
"history": "Historia",
"mainTagline": "Aurkitu iruzurtia berandu baino lehen",
"deviceProfile": "Gailuaren profila",
"profileName": "Izena",
"profileNick": "Ezizena",
"save": "Gorde",
"automaticLanguage": "Automatikoa",
"noSavedGames": "Oraindik ez dago gordetako partidarik.",
"errorNoGame": "Errorea: partidarik ez",
"disconnectedPlayersWarning": "Jokalari batzuek gailua deskonektatuta dute.",
"assumeOnThisPhone": "Hartu mugikor honetan",
"noResult": "Emaitzarik ez",
"historyGameSummary": "$players jokalari • $impostors inpostore • $rounds txanda\n$word • $category",
"@historyGameSummary": {
"placeholders": {
"players": {
"type": "int"
},
"impostors": {
"type": "int"
},
"rounds": {
"type": "int"
},
"word": {
"type": "String"
},
"category": {
"type": "String"
}
}
},
"voteOf": "{name}(r)en botoa",
"@voteOf": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"firstTurnInstruction": "{name} hasiko da bere hitza esanez.",
"@firstTurnInstruction": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"debate": "🗣️ Eztabaida",
"scanToJoin": "Eskaneatu QR kodea batzeko",
"connectedPlayers": "Konektatutako jokalariak",
"hostGame": "Partidaren kudeatzailea",
"waitingPlayersSeeWord": "Denek beren hitza ikusi arte itxaroten...",
"activePlayers": "Jokalari aktiboak",
"playersVoted": "Bozkatu dute",
"waitingVoting": "Botoen zain...",
"waitingForPlayers": "Jokalarien zain...",
"needMorePlayers": "{count} jokalari gehiago behar dira",
"starting": "Hasten...",
"enterNameAndScan": "Idatzi zure izena eta eskaneatu ostalariaren QR kodea",
"yourName": "Zure izena",
"nameRequired": "Idatzi zure izena",
"connectingTo": "Konektatzen",
"scanQR": "Eskaneatu QR kodea",
"scanHostQR": "Apuntatu ostalariaren QR kodera",
"connectedWaiting": "Konektatuta!",
"waitingForHost": "Ostalariak partida hasi arte itxaroten...",
"enterNameToSearch": "Idatzi zure izena inguruko partidak bilatzeko",
"searchGames": "Bilatu partidak",
"searchingGames": "Inguruko partidak bilatzen...",
"noGamesFound": "Ez da partidarik aurkitu",
"noGamesFoundHint": "Ziurtatu ostalariak gela irekita duela eta gertu zaudetela",
"orScanQR": "Ez da agertzen? Eskaneatu ostalariaren QR kodea",
"iveSeenIt": "Ikusi dut",
"clueIs": "Arrastoa: {category}",
"debatePhaseActive": "Eztabaida fasea martxan",
"debateInstructions": "Hitz egin elkarrekin eta esan nor uste duzuen dela inpostorea. Prest zaudetenean, eskatu bozketa.",
"solicitarVotacion": "Bozketa eskatu",
"votacionSolicitada": "Bozketa eskatuta",
"whoDoYouThinkIsTheImpostor": "Nor da inpostorea?",
"selectOnePlayer": "Hautatu jokalari bat bozkatzeko",
"votar": "Bozkatu",
"selectYourProfile": "Zure profila",
"selectProfile": "Hautatu profil bat",
"createNewUser": "Sortu erabiltzaile berria",
"userNameRequired": "Izena ezin da hutsik egon",
"profileSelected": "Profila hautatuta",
"availableProfiles": "Profil erabilgarriak",
"impostorsKnowEachOther": "🎭 Inpostoreek elkar ezagutzen dute",
"impostorsKnowEachOtherDescription": "Inpostore bakoitzak besteen izenak ikusiko ditu",
"impostorsKnowEachOtherNeedsTwo": "2 inpostore edo gehiagorekin soilik",
"otherImpostorsTitle": "{count, plural, =1{Beste inpostorea} other{Beste inpostoreak}}",
"youAreTheOnlyImpostor": "Zu zara inpostore bakarra",
"impostorsAdjusted": "Inpostoreak {count}era doituta jokalari kopuruagatik",
"eliminatedCannotVote": "Kanporatuta zaude: ez duzu gehiago bozkatzen",
"reconnecting": "Berriz konektatzen...",
"reconnectingHint": "Ostalariarekiko konexioa galdu da. Partidan duzun lekua gordeta dago.",
"leaveGame": "Partidatik irten",
"playerRejoined": "{name} partidara itzuli da",
"leaveGameTitle": "Partidatik irten nahi duzu?",
"leaveGameSingleDevice": "Abian den partida galduko da eta ezin izango duzu berreskuratu.",
"leaveGameHost": "Zu zara ostalaria: irtenez gero, partida jokalari guztientzat amaituko da.",
"leaveGameClient": "Partidatik aterako zara. Itzuli ahal izango zara ostalariak zabalik mantentzen duen bitartean.",
"stayInGame": "Jokatzen jarraitu",
"permissionsNeededTitle": "Baimenak behar dira",
"permissionsNeededBody": "Jokalari anitzeko modurako hau behar dugu:",
"openAppSettingsQuestion": "Aplikazioaren ezarpenak ireki nahi dituzu?",
"openSettings": "Ireki ezarpenak",
"permissionLocation": "Kokapena",
"permissionBluetoothAdvertise": "Bluetooth (iragarri)",
"permissionBluetoothConnect": "Bluetooth (konektatu)",
"permissionBluetoothScan": "Bluetooth (eskaneatu)",
"permissionNearbyWifi": "Inguruko Wi-Fi"
}