Files
farolero/lib/l10n/app_tr.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
15 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"@@locale": "tr",
"appTitle": "Sahtekar",
"subtitle": "Sosyal çıkarım oyunu",
"loadingWords": "Kelimeler yükleniyor...",
"matchRewards": "Oyun ödülleri",
"newMedals": "Yeni madalyalar",
"noNewMedalsKeepFire": "Bu kez yeni madalya yok. Ateşini büyütmeye devam et.",
"calculatingRewards": "Ödüller hesaplanıyor...",
"fireLabel": "Ateş",
"playersRange": "3-20 oyuncu • İnternet gerektirmez",
"createGame": "Oyun oluştur",
"joinGame": "Oyuna katıl",
"howToPlay": "Nasıl oynanır",
"settings": "Ayarlar",
"gameMode": "Oyun modu",
"singleDevice": "Tek cihaz",
"multiDevice": "Çoklu cihaz",
"category": "Kategori",
"categoryAll": "Tümü",
"categoryAnimals": "Hayvanlar",
"categoryFood": "Yiyecekler",
"categoryCountries": "Ülkeler",
"categorySports": "Sporlar",
"categoryProfessions": "Meslekler",
"categoryObjects": "Nesneler",
"categoryPlaces": "Yerler",
"categoryMovies": "Filmler",
"categoryMusic": "Müzik",
"categoryTechnology": "Teknoloji",
"playersCount": "Oyuncular ({count})",
"@playersCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"playersRangeHint": "3-20",
"playerNameHint": "Oyuncu adı",
"playerAlreadyExists": "Bu isimde bir oyuncu zaten var",
"maxPlayersReached": "En fazla 20 oyuncu",
"minPlayersRequired": "En az 3 oyuncu gerekli",
"configuration": "Yapılandırma",
"impostors": "🎭 Sahtekarlar",
"impostorClue": "🔍 Sahtekar için ipucu",
"impostorClueDescription": "Sahtekar kategoriyi bilir",
"debateTime": "⏱️ Tartışma süresi",
"noLimit": "Sınırsız",
"oneMin": "1 dk",
"twoMin": "2 dk",
"threeMin": "3 dk",
"fiveMin": "5 dk",
"startGame": "Oyunu başlat",
"seeYourWord": "Kelimeni gör",
"eachPlayerMustSee": "Her oyuncu kelimesini gizlice görmelidir",
"roundNumber": "Tur {round}",
"@roundNumber": {
"placeholders": {
"round": {
"type": "int"
}
}
},
"alreadySeen": "Kelimesini zaten gördü",
"tapToSee": "Görmek için dokun",
"allSeenStartDebate": "Herkes gördü → Tartışmayı başlat",
"playersRemaining": "{count} oyuncu kaldı",
"@playersRemaining": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"youAreImpostor": "Sen sahtekarsın!",
"yourWordIs": "Kelimen:",
"clueCategory": "İpucu: {category}",
"@clueCategory": {
"placeholders": {
"category": {
"type": "String"
}
}
},
"holdToSeeWord": "Kelimeni görmek için basılı tut",
"makeSureNoOneLooks": "Kimsenin bakmadığından emin ol",
"showingWord": "👁️ Gösteriliyor...",
"holdToSee": "👆 Görmek için basılı tut",
"seenMyWord": "Kelimemi gördüm",
"debateRound": "Tartışma - Tur {round}",
"@debateRound": {
"placeholders": {
"round": {
"type": "int"
}
}
},
"timeUp": "⏰ Süre doldu!",
"timeRemaining": "⏱️ Kalan süre",
"playersInDebate": "Tartışmadaki oyuncular",
"activePlayersInfo": "{active} aktif • {impostors} gizli sahtekar",
"@activePlayersInfo": {
"placeholders": {
"active": {
"type": "int"
},
"impostors": {
"type": "int"
}
}
},
"eliminated": "Elendi",
"notes": "Notlar",
"goToVoting": "Oylamaya geç",
"voting": "🗳️ Oylama",
"turnToVote": "Oy verme sırası:",
"votesProgress": "Oylar: {current}/{total}",
"@votesProgress": {
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"whoIsImpostor": "Sahtekarın kim olduğunu düşünüyorsun?",
"confirmVote": "Oyu onayla",
"votingComplete": "🗳️ Oylama tamamlandı",
"allVoted": "Herkes oy verdi!",
"tapToReveal": "Sonucu görmek için dokun",
"revealResult": "Sonucu göster",
"result": "Sonuç",
"revealing": "Gösteriliyor...",
"wasImpostor": "SAHTEKAR'dı! 🎉",
"wasInnocent": "MASUM'du 😱",
"votesThisRound": "Bu turun oyları",
"seeEndResult": "Nihai sonucu gör",
"impostorGuessWord": "Sahtekar kelimeyi tahmin edecek mi?",
"nextRound": "Sonraki tur",
"impostorGuessTitle": "🎯 Sahtekarın tahmini",
"impostorCanGuess": "Elenen sahtekar\nkelimeyi tahmin etmeyi deneyebilir",
"ifCorrectImpostorsWin": "Doğru tahmin ederse sahtekarlar kazanır!",
"guessWordHint": "Kelime ne olabilir?",
"dontGuess": "Tahmin etme",
"guess": "Tahmin et",
"correctGuess": "Doğru tahmin!",
"theWordWas": "Kelime şuydu: {word}",
"@theWordWas": {
"placeholders": {
"word": {
"type": "String"
}
}
},
"impostorsWin": "Sahtekarlar kazandı!",
"wrongGuess": "Yanlış tahmin!",
"gameContinues": "Oyun devam ediyor...",
"gameOver": "Oyun bitti",
"playersWin": "Oyuncular kazandı!",
"theSecretWordWas": "🔍 Kelime şuydu:",
"categoryLabel": "Kategori: {category}",
"@categoryLabel": {
"placeholders": {
"category": {
"type": "String"
}
}
},
"theImpostorWas": "🎭 Sahtekar şuydu:",
"theImpostorsWere": "🎭 Sahtekarlar şunlardı:",
"votingHistory": "📊 Oylama geçmişi",
"roundElimination": "Tur {round}: {name}",
"@roundElimination": {
"placeholders": {
"round": {
"type": "int"
},
"name": {
"type": "String"
}
}
},
"rematch": "Rövanş",
"mainMenu": "Ana menü",
"notesTitle": "📝 Notlar",
"notesSaved": "Notlar kaydedildi",
"whoAreYou": "Sen kimsin?",
"selectYourName": "Özel notlarını görmek için adını seç",
"notesOf": "{name} adlı oyuncunun notları",
"@notesOf": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"notesAboutPlayers": "Her oyuncu hakkında notlar",
"playerNoteHint": "Ne dedi? Şüpheli mi?",
"freeNote": "Serbest not",
"freeNoteHint": "Kişisel notlar...",
"rulesTitle": "📖 Nasıl oynanır",
"rulesWhatIsTitle": "🎭 Sahtekar nedir?",
"rulesWhatIsBody": "3-20 oyuncu için sosyal bir çıkarım oyunu. Herkes gizli bir kelime alır... sahtekar hariç! Görevin: kimin numaraya yattığını bul.",
"rulesHowToPlayTitle": "🔍 Nasıl oynanır?",
"rulesHowToPlayBody": "1. Roller dağıtılır: sahtekar(lar) hariç herkes aynı kelimeyi alır.\n\n2. Tartışma: sırayla her oyuncu kelimeyi doğrudan söylemeden tarif eder. Sahtekar biliyormuş gibi yapmalıdır.\n\n3. Oylama: tartışma bitince herkes sahtekar olduğunu düşündüğü kişiye oy verir.\n\n4. Eleme: en çok oy alan elenir ve sahtekar olup olmadığı açıklanır.\n\n5. Sahtekar idiyse kelimeyi tahmin etmeyi deneyebilir. Doğru tahmin ederse sahtekarlar kazanır!",
"rulesWhoWinsTitle": "🏆 Kim kazanır?",
"rulesWhoWinsBody": "• Oyuncular: TÜM sahtekarları elerse kazanır.\n• Sahtekarlar: keşfedilmeden normal oyuncu sayısı sahtekar sayısına eşit veya altına düşerse kazanır; ya da elenince kelimeyi doğru tahmin ederlerse kazanır.",
"rulesTipsPlayersTitle": "💡 Oyuncular için ipuçları",
"rulesTipsPlayersBody": "• Kelimeyi bildiğini kanıtlayan ince ipuçları ver, ama sahtekarın kullanabileceği kadar açık olmasın.\n• Kimin belirsiz veya genel cevaplar verdiğini gözlemle.\n• Herkesin ne dediğini yazmak için notları kullan.\n• Kelimeyi doğrudan söyleme, bu sahtekara yardım eder!",
"rulesTipsImpostorTitle": "🎭 Sahtekar için ipuçları",
"rulesTipsImpostorBody": "• Diğerlerinin ipuçlarını dikkatle dinle.\n• İnandırıcı ipuçları vermek için kelimeyi çıkarmaya çalış.\n• Emin değilsen ilk konuşan olma.\n• Kategori ipucu verildiyse bunu avantajına kullan.\n• Dikkati dağıtmak için başkalarını suçla.",
"rulesModesTitle": "📱 Oyun modları",
"rulesModesBody": "• Tek cihaz: herkes aynı cihazı paylaşır. Her oyuncu bir düğmeye basılı tutarak kelimesini görür.\n\n• Çoklu cihaz: her oyuncu kendi cihazını kullanır. Bluetooth/WiFi Direct ile bağlanılır, internet gerekmez.",
"rulesExampleTitle": "✏️ Örnek oyun",
"rulesExampleBody": "Gizli kelime: \"Pizza\"\n\n• Ali: \"Sıcak yenir\" ✓\n• Ayşe: \"Kutu içinde gelir\" ✓\n• Zeynep (sahtekar): \"Çok popüler\" 🤔\n• Mehmet: \"Üstünde peynir var\" ✓\n\nZeynep çok genel bir cevap verdi... Şüpheli!",
"joinGameTitle": "Oyuna katıl",
"multiDeviceMode": "Çoklu cihaz modu",
"scanQrDescription": "Bluetooth/WiFi Direct ile oyuna bağlanmak için sunucunun gösterdiği QR kodunu tara.",
"comingSoon": "Yakında",
"nearbyNotAvailable": "Nearby Connections ile çoklu cihaz bağlantısı fiziksel Android cihazları gerektirir.\n\nŞimdilik paylaşılan bir cihazda oynamak için \"Tek cihaz\" modunu kullanın.",
"back": "Geri",
"yes": "Evet",
"no": "Hayır",
"cancel": "İptal",
"accept": "Kabul et",
"next": "Sonraki",
"settingsTitle": "Ayarlar",
"language": "Dil",
"soundVolume": "Efekt ses düzeyi",
"vibration": "Titreşim",
"about": "Hakkında",
"version": "Sürüm",
"developer": "Geliştirici",
"licenses": "Lisanslar",
"scanThisCodeFromAnotherPhone": "Bu kodu başka bir telefondan tarayın",
"gameUsers": "Oyun kullanıcıları",
"selectedPlayers": "Seçilen oyuncular",
"connectedPhones": "Bağlı telefonlar",
"selectedOnThisPhone": "Bu telefonda seçildi",
"selectedByAnotherDevice": "Başka bir cihazda seçildi",
"available": "Uygun",
"notAvailable": "Uygun değil",
"release": "Bırak",
"select": "Seç",
"delete": "Sil",
"selectAtLeastThreeUsersToStart": "Başlamak için en az 3 kullanıcı seç.",
"hostPhoneMustSelectUser": "Sunucu telefonu en az bir kullanıcı seçmeli.",
"roomNoLongerInLobby": "Oda artık lobide değil.",
"completeUserSelectionToStart": "Başlamak için kullanıcı seçimini tamamla.",
"preparingSecureRoom": "Güvenli oda hazırlanıyor",
"searchingNearbyBluetoothGames": "Bluetooth ile yakındaki oyunlar aranıyor",
"tapToJoin": "Katılmak için dokun",
"bluetoothLocationPermissionsRequired": "Oyun aramak için Bluetooth ve konum izinleri gerekli.",
"bluetoothLocationPermissionsShort": "Bluetooth ve konum izinleri gerekli",
"couldNotStartSearch": "Arama başlatılamadı. Bluetooth ve konumu kontrol et.",
"couldNotConnectToHost": "{host} bağlantısı kurulamadı",
"room": "Oda",
"singleDeviceSubtitle": "Bu cihazda oyun",
"singleDeviceDescription": "Telefonu elden ele dolaştırarak birlikte oynamak için ideal. Hızlı ve doğrudan kurulum.",
"multiDeviceSubtitle": "Her oyuncu kendi telefonunda",
"multiDeviceDescription": "Premium bir oda oluştur, QR kodu paylaş ve kullanıcıları lobiden yönet.",
"singleDeviceGameLabel": "Bu cihazda oyun",
"multiDeviceGameLabel": "Çok cihazlı oyun",
"mainDeviceUser": "Cihazın ana kullanıcısı",
"couldNotCreateRoom": "Oda oluşturulamadı. Bluetooth'u kontrol et.",
"cannotStartWithReason": "Başlatılamıyor: {reason}",
"invalidRoom": "geçersiz oda",
"defaultPlayerName": "Oyuncu",
"play": "Oyna",
"history": "Geçmiş",
"mainTagline": "Çok geç olmadan sahtekârı bul",
"deviceProfile": "Cihaz profili",
"profileName": "Ad",
"profileNick": "Takma ad",
"save": "Kaydet",
"automaticLanguage": "Otomatik",
"noSavedGames": "Henüz kaydedilmiş oyun yok.",
"errorNoGame": "Hata: oyun yok",
"disconnectedPlayersWarning": "Bazı oyuncuların cihazı bağlantısız.",
"assumeOnThisPhone": "Bu telefonda devral",
"noResult": "Sonuç yok",
"historyGameSummary": "$players oyuncu • $impostors sahtekar • $rounds tur\n$word • $category",
"@historyGameSummary": {
"placeholders": {
"players": {
"type": "int"
},
"impostors": {
"type": "int"
},
"rounds": {
"type": "int"
},
"word": {
"type": "String"
},
"category": {
"type": "String"
}
}
},
"voteOf": "{name} için oy",
"@voteOf": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"firstTurnInstruction": "{name} kelimesini söyleyerek başlar.",
"@firstTurnInstruction": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"debate": "🗣️ Tartışma",
"scanToJoin": "Katılmak için QR kodu okut",
"connectedPlayers": "Bağlı oyuncular",
"hostGame": "Oyun yönetimi",
"waitingPlayersSeeWord": "Herkesin kelimesini görmesi bekleniyor...",
"activePlayers": "Aktif oyuncular",
"playersVoted": "Oy verdi",
"waitingVoting": "Oylar bekleniyor...",
"waitingForPlayers": "Oyuncular bekleniyor...",
"needMorePlayers": "{count} oyuncu daha gerekli",
"starting": "Başlatılıyor...",
"enterNameAndScan": "Adını yaz ve sunucunun QR kodunu okut",
"yourName": "Adın",
"nameRequired": "Adını yaz",
"connectingTo": "Bağlanılıyor:",
"scanQR": "QR kodu okut",
"scanHostQR": "Sunucunun QR koduna doğrult",
"connectedWaiting": "Bağlandı!",
"waitingForHost": "Sunucunun oyunu başlatması bekleniyor...",
"enterNameToSearch": "Yakındaki oyunları aramak için adını yaz",
"searchGames": "Oyun ara",
"searchingGames": "Yakındaki oyunlar aranıyor...",
"noGamesFound": "Oyun bulunamadı",
"noGamesFoundHint": "Sunucunun odayı açık tuttuğundan ve yakın olduğunuzdan emin ol",
"orScanQR": "Görünmüyor mu? Sunucunun QR kodunu okut",
"iveSeenIt": "Gördüm",
"clueIs": "İpucu: {category}",
"debatePhaseActive": "Tartışma aşaması sürüyor",
"debateInstructions": "Birbirinizle konuşun ve sahtekârın kim olduğunu düşündüğünüzü söyleyin. Hazır olduğunuzda oylama isteyin.",
"solicitarVotacion": "Oylama iste",
"votacionSolicitada": "Oylama istendi",
"whoDoYouThinkIsTheImpostor": "Sahtekâr kim?",
"selectOnePlayer": "Oy vermek için bir oyuncu seç",
"votar": "Oy ver",
"selectYourProfile": "Profilin",
"selectProfile": "Bir profil seç",
"createNewUser": "Yeni kullanıcı oluştur",
"userNameRequired": "Ad boş olamaz",
"profileSelected": "Profil seçildi",
"availableProfiles": "Kullanılabilir profiller",
"impostorsKnowEachOther": "🎭 Sahtekârlar birbirini tanır",
"impostorsKnowEachOtherDescription": "Her sahtekâr diğerlerinin adlarını görür",
"impostorsKnowEachOtherNeedsTwo": "Yalnızca 2 veya daha fazla sahtekârla geçerli",
"otherImpostorsTitle": "{count, plural, =1{Diğer sahtekâr} other{Diğer sahtekârlar}}",
"youAreTheOnlyImpostor": "Tek sahtekâr sensin",
"impostorsAdjusted": "Oyuncu sayısına göre sahtekâr sayısı {count} olarak ayarlandı",
"eliminatedCannotVote": "Elendin: artık oy vermiyorsun",
"reconnecting": "Yeniden bağlanılıyor...",
"reconnectingHint": "Sunucuyla bağlantı koptu. Oyundaki yerin korunuyor.",
"leaveGame": "Oyundan ayrıl",
"playerRejoined": "{name} oyuna geri döndü",
"leaveGameTitle": "Oyundan çıkılsın mı?",
"leaveGameSingleDevice": "Devam eden oyun kaybolur ve geri getirilemez.",
"leaveGameHost": "Sunucu sensin: çıkarsan oyun herkes için biter.",
"leaveGameClient": "Oyundan çıkacaksın. Sunucu odayı açık tuttuğu sürece geri dönebilirsin.",
"stayInGame": "Oynamaya devam et",
"permissionsNeededTitle": "Gerekli izinler",
"permissionsNeededBody": "Çok oyunculu mod için şunlar gerekli:",
"openAppSettingsQuestion": "Uygulama ayarları açılsın mı?",
"openSettings": "Ayarları aç",
"permissionLocation": "Konum",
"permissionBluetoothAdvertise": "Bluetooth (yayın)",
"permissionBluetoothConnect": "Bluetooth (bağlanma)",
"permissionBluetoothScan": "Bluetooth (tarama)",
"permissionNearbyWifi": "Yakındaki Wi-Fi"
}