feat(i18n): complete message parity across all 25 locales
Gitea Actions Runner Test / test-job (push) Successful in 1s
CI / check (push) Successful in 37s
CI / tests-unit (push) Successful in 1m49s
CI / tests-integration (push) Successful in 1m50s
CI / tests-ui (push) Successful in 2m29s
CI / preflight (push) Skipped
CI / deploy (push) Failing after 1m37s
Gitea Actions Runner Test / test-job (push) Successful in 1s
CI / check (push) Successful in 37s
CI / tests-unit (push) Successful in 1m49s
CI / tests-integration (push) Successful in 1m50s
CI / tests-ui (push) Successful in 2m29s
CI / preflight (push) Skipped
CI / deploy (push) Failing after 1m37s
The admin.studio.nitroCleanup section (102 keys) only existed in en and nl, so 23 locales fell back to English for the entire Nitro Cleanup panel. The referrals and dailyRewards keys were missing from the same 23 locales, and en itself was missing 6 keys that nl had. Add the missing keys to every locale with translations, so all 25 locales now carry the same 6063 keys.
This commit is contained in:
1 parent
944527e078
commit
bc00ecf08c
24 files changed
+4483
-182
No files matched your search
+194
-7
@@ -818,7 +818,7 @@
|
||||
"rateLimit": "Too many attempts. Please wait before trying again."
|
||||
},
|
||||
"title": "Bağlı hesaplar",
|
||||
"subtitle": "Tek tıklamayla oturum açabilmek için bir sosyal hesap bağlayın",
|
||||
"subtitle": "Tek tıklamayla giriş için sosyal hesap bağlayın",
|
||||
"connected": "Bağlı",
|
||||
"unavailable": "Kullanılamıyor",
|
||||
"login": {
|
||||
@@ -882,7 +882,9 @@
|
||||
"hidePassword": "Hide",
|
||||
"accountDetails": "Account details",
|
||||
"credentials": "Credentials & security",
|
||||
"newestCitizens": "Newest citizens"
|
||||
"newestCitizens": "Newest citizens",
|
||||
"ageVerified": "18+ yaşındayım ve yaş gereksinimini kabul ediyorum.",
|
||||
"invitedBy": "{username} tarafından davet edildi"
|
||||
},
|
||||
"forgot": {
|
||||
"title": "Şifreyi sıfırla",
|
||||
@@ -1048,7 +1050,9 @@
|
||||
"cmsErrors": "CMS errors",
|
||||
"themeBuilder": "Theme builder",
|
||||
"openSidebar": "Open menu",
|
||||
"closeSidebar": "Close menu"
|
||||
"closeSidebar": "Close menu",
|
||||
"referrals": "Tavsiyeler",
|
||||
"dailyRewards": "Günlük Ödüller"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Kontrol Paneli",
|
||||
@@ -1255,7 +1259,7 @@
|
||||
"delete": "Sil",
|
||||
"noAds": "Henüz reklam yok",
|
||||
"confirmDelete": "Bu reklam silinsin mi?",
|
||||
"colId": "Kimlik",
|
||||
"colId": "ID",
|
||||
"colName": "İsim",
|
||||
"colImage": "Resim",
|
||||
"colUrl": "URL'si",
|
||||
@@ -4336,7 +4340,9 @@
|
||||
"importAudit": "Audit",
|
||||
"themeBuilder": "Theme Builder",
|
||||
"studio": "Studio",
|
||||
"cmsErrors": "CMS errors"
|
||||
"cmsErrors": "CMS errors",
|
||||
"referrals": "Tavsiyeler",
|
||||
"dailyRewards": "Günlük Ödüller"
|
||||
},
|
||||
"events": "Events",
|
||||
"eventsSubtitle": "Hotel events and event types",
|
||||
@@ -5843,6 +5849,64 @@
|
||||
"NoscopescreatedyetAddonebelow": "No scopes created yet. Add one below.",
|
||||
"Rename": "Rename"
|
||||
}
|
||||
},
|
||||
"referrals": {
|
||||
"title": "Tavsiyeler",
|
||||
"subtitle": "Davet Sistemi",
|
||||
"referralsToday": "Bugünkü tavsiyeler",
|
||||
"referralsTotal": "Toplam tavsiye",
|
||||
"invitedTotal": "Sayılan davetler",
|
||||
"claims": "Alınan ödüller",
|
||||
"settings": "Ödül Ayarları",
|
||||
"needed": "Gerekli tavsiyeler",
|
||||
"rewardAmount": "Ödül Tutarı",
|
||||
"rewardCurrency": "Ödül Para Birimi",
|
||||
"blockSameIp": "Davetçinin mevcut IP'sini paylaşan tavsiyeleri reddet",
|
||||
"save": "Ayarları Kaydet",
|
||||
"saving": "Kaydediliyor…",
|
||||
"saved": "Tavsiye ayarları kaydedildi.",
|
||||
"saveError": "Tavsiye ayarları kaydedilemedi.",
|
||||
"recent": "Son tavsiyeler",
|
||||
"unavailable": "Tavsiye verileri geçici olarak kullanılamıyor.",
|
||||
"empty": "Henüz tavsiye yok.",
|
||||
"inviter": "Davetçi",
|
||||
"invitee": "Davet edilen kullanıcı",
|
||||
"ip": "IP",
|
||||
"date": "Tarih"
|
||||
},
|
||||
"dailyRewards": {
|
||||
"title": "Günlük Giriş Ödülleri",
|
||||
"subtitle": "Günlük Giriş Ödül Programı",
|
||||
"enabled": "Özellik Durumu",
|
||||
"yes": "Etkin",
|
||||
"no": "Devre Dışı",
|
||||
"scheduleDays": "Program Günleri",
|
||||
"claimsToday": "Bugünkü alımlar",
|
||||
"claimsTotal": "Toplam alım",
|
||||
"status": "Özellik Durumu",
|
||||
"statusHint": "Devre dışıyken ödül kartı gizlenir ve yeni alımlar reddedilir.",
|
||||
"disable": "Devre Dışı Bırak",
|
||||
"enable": "Etkinleştir",
|
||||
"schedule": "Ödül Programı",
|
||||
"day": "Gün {day}",
|
||||
"reward": "Ödül",
|
||||
"amount": "Tutar",
|
||||
"actions": "İşlemler",
|
||||
"addDay": "Gün",
|
||||
"add": "Gün Ekle",
|
||||
"save": "Kaydet",
|
||||
"saving": "Kaydediliyor…",
|
||||
"saved": "Ödül programı kaydedildi.",
|
||||
"cancel": "İptal",
|
||||
"edit": "Düzenle",
|
||||
"delete": "Sil",
|
||||
"created": "Ödül günü eklendi.",
|
||||
"updated": "Ödül günü güncellendi.",
|
||||
"deleted": "Ödül günü kaldırıldı.",
|
||||
"saveError": "Ödül günü kaydedilemedi.",
|
||||
"deleteError": "Ödül günü kaldırılamadı.",
|
||||
"confirmDeleteTitle": "Ödül gününü kaldır",
|
||||
"confirmDeleteBody": "Bu ödül günü artık verilmeyecek. Geçmiş alımlar kayıtlı kalacak."
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -6223,8 +6287,27 @@
|
||||
"empty": "You're all caught up. No actions waiting.",
|
||||
"unavailable": "Some actions could not be checked. Available actions are shown above.",
|
||||
"retry": "Try again",
|
||||
"rewardUnavailable": "Referral progress is temporarily unavailable. Please try again."
|
||||
}
|
||||
"rewardUnavailable": "Referral progress is temporarily unavailable. Please try again.",
|
||||
"dailyReward": "Günlük ödülünüz alınmaya hazır"
|
||||
},
|
||||
"dailyClaimed": "Günlük ödül alındı — yarın görüşürüz!",
|
||||
"dailyErrors": {
|
||||
"already_claimed": "Bugünkü günlük ödülü zaten aldınız.",
|
||||
"disabled": "Günlük ödüller şu anda devre dışı.",
|
||||
"bad_config": "Günlük ödül programı doğru yapılandırılmamış. Personelle iletişime geçin.",
|
||||
"ratelimit": "Çok fazla deneme. Biraz bekleyin ve tekrar deneyin.",
|
||||
"error": "Günlük ödül alınamadı. Lütfen tekrar deneyin."
|
||||
},
|
||||
"dailyRewardTitle": "Günlük Ödüller",
|
||||
"dailyRewardHint": "Her gün giriş yapın ve ödülünüzü alın — seriler büyük günlere kadar büyür.",
|
||||
"dailyRewardDay": "Gün {day}",
|
||||
"dailyRewardStreak": "{count, plural, one {Seri: # gün} other {Seri: # gün}}",
|
||||
"dailyRewardNextClaim": "Sonraki alım: {amount} {currency}",
|
||||
"dailyRewardTomorrow": "Yarın: {amount} {currency}",
|
||||
"dailyRewardClaim": "Günlük ödülü al",
|
||||
"dailyRewardClaimedToday": "Bugün alındı — sonraki ödül için yarın tekrar gelin.",
|
||||
"dailyRewardDisabled": "Günlük ödüller şu anda devre dışı. Oteli keşfedebilirsiniz.",
|
||||
"dailyRewardUnavailable": "Günlük ödül programı yüklenemedi. Lütfen tekrar deneyin."
|
||||
},
|
||||
"housekeeping": {
|
||||
"preview": {
|
||||
@@ -6502,6 +6585,110 @@
|
||||
},
|
||||
"admin": {
|
||||
"studio": {
|
||||
"nitroCleanup": {
|
||||
"alreadyRunning": "Bir tarama zaten çalışıyor — ona bağlandı.",
|
||||
"ageUnknown": "yaş bilinmiyor",
|
||||
"ageBelow": "< 1g",
|
||||
"scanButton": "Mobilya varlıklarını tara",
|
||||
"scanningAssets": "Varlıklar taranıyor…",
|
||||
"cancelButton": "İptal",
|
||||
"deleteSelected": "Seçilenleri sil ({count})",
|
||||
"deleting": "Siliniyor…",
|
||||
"redownloadBroken": "Hasarlıları yeniden indir",
|
||||
"redownloading": "Yeniden indiriliyor…",
|
||||
"autoClean": "Eski sahteleri otomatik temizle",
|
||||
"cleaning": "Temizleniyor…",
|
||||
"exportManifest": "Listeyi dışa aktar",
|
||||
"exporting": "Dışa aktarılıyor…",
|
||||
"phaseStems": "Mobilya sapları yükleniyor…",
|
||||
"phaseReaddir": "Varlık dizinleri okunuyor…",
|
||||
"phaseValidate": ".nitro paketleri doğrulanıyor…",
|
||||
"phaseScanning": "Taranıyor…",
|
||||
"scanProgressFiles": "{count} dosya",
|
||||
"repairProgress": "ok {ok}, başarısız {failed}",
|
||||
"attachedNotice": "Tarama arka planda devam ediyor — sonuçlar bitince görünecek.",
|
||||
"sessionCancelled": "Tarama iptal edildi.",
|
||||
"onlyOldLabel": "Sadece şundan eski dosyaları göster",
|
||||
"onlyOldAgeLabel": "Görüntüleme için minimum gün yaşı",
|
||||
"onlyOldToggle": "Son dosyaları gizle",
|
||||
"daysLabel": "gün",
|
||||
"autoAgeLabel": "Otomatik temizlik için minimum gün yaşı",
|
||||
"loadingResult": "Tarama sonucu yükleniyor…",
|
||||
"scannedStat": "taranan varlık dosyası",
|
||||
"cachedNotice": "(önbellekte — dizinler değişmedi)",
|
||||
"fakeStat": "Sahte nitro (eşleşen öğe yok)",
|
||||
"brokenStat": "Hasarlı nitro (okunamıyor)",
|
||||
"groupEmpty": "Hiçbir şey bulunamadı",
|
||||
"selectedCount": "{count} seçildi",
|
||||
"copiesBadge": "{count} kopya",
|
||||
"groupFakeLabel": "Sahte nitro",
|
||||
"groupFakeDescription": "Bu dosyalar items_base'deki hiçbir öğeyle eşleşmiyor — silinmiş veya yeniden adlandırılmış mobilyaların kalıntıları.",
|
||||
"groupBrokenLabel": "Hasarlı nitro",
|
||||
"groupBrokenDescription": "Bu dosyalar bir öğeye ait ancak geçerli bir Nitro paketi olarak okunamıyor.",
|
||||
"groupSwfLabel": "Yetim SWF'ler",
|
||||
"groupSwfDescription": "items_base'deki hiçbir öğeyle eşleşmeyen .swf dosyaları.",
|
||||
"groupIconLabel": "Yetim simgeler",
|
||||
"groupIconDescription": "items_base'deki hiçbir öğeyle eşleşmeyen simge dosyaları.",
|
||||
"warningText": "Hasarlı bir .nitro'yi silmek öğesini veritabanında paket bırakmaz — yeniden indirmeyi tercih edin veya katalog denetiminin sonradan temin etmesine izin verin. Bu araçla veritabanı satırları asla silinmez.",
|
||||
"onlyAssetsTouched": "Sadece varlık dosyaları değişir — FurnitureData.json ve veritabanı satırları aynen kalır.",
|
||||
"emptyHint": "Sahte ve hasarlı nitro paketlerini ve yetim SWF'leri ve simgeleri bulmak için her mobilya varlık dizinini tarayın. Silin, hasarlıları yeniden indirin veya eski kalıntıları otomatik temizleyin.",
|
||||
"noResult": "Henüz tarama sonucu yok — önce bir mobilya varlık taraması çalıştırın.",
|
||||
"scanFailed": "Tarama başarısız oldu.",
|
||||
"confirmDeleteTitle": "{count} varlık dosyası silinsin mi?",
|
||||
"confirmDeleteDescription": "Dosyalar her dizinden kaldırılacak (public + yansıtılmış gamedata). Veritabanı satırları asla değişmez.",
|
||||
"confirmDeleteLabel": "Sil",
|
||||
"confirmRepairTitle": "{count} hasarlı .nitro paketi yeniden indirilsin mi?",
|
||||
"confirmRepairDescription": "Paketler yapılandırılmış nitro kaynaklarından yeniden alınacak ve her dizinin üzerine yazılacak (public + yansıtılmış gamedata).",
|
||||
"confirmRepairLabel": "Yeniden indir",
|
||||
"confirmAutoCleanTitle": "{days} günden eski sahte nitro'lar otomatik temizlensin mi?",
|
||||
"confirmAutoCleanDescription": "Sadece eşik değerinden eski sahte .nitro dosyaları (eşleşen öğe yok) kaldırılır. Hasarlı paketler ve son dosyalar asla değişmez.",
|
||||
"confirmAutoCleanLabel": "Otomatik temizle",
|
||||
"toastDeletePartial": "{copies} kopya silindi ancak bazı dosyalar kaldırılamadı",
|
||||
"toastDeleteDone": "{copies} dosya kopyası silindi ({deleted} dosya)",
|
||||
"toastRepairDone": "{count} .nitro paketi onarıldı",
|
||||
"toastRepairFailed": "Hiçbir paket temin edilemedi ({failed} başarısız)",
|
||||
"toastRepairCancelled": "Onarım iptal edildi",
|
||||
"toastAutoCleanDone": "{deleted} eski sahte .nitro dosyası temizlendi ({copies} kopya). {recent} sıradan + {broken} hasarlı atlandı.",
|
||||
"toastAutoCleanNothing": "Kaldıracak kadar eski bir şey yok ({recent} sıradan, {broken} hasarlı atlandı)",
|
||||
"toastManifestDownload": "Tarama listesi indirildi",
|
||||
"gamedataTitle": "Oyun verilerini temizle",
|
||||
"gamedataHint": "Önce önizleme: Bu, FurnitureData.json, FigureMap.json ve FigureData.json dosyalarının üzerine yazar. Yukarıdaki varlık araçlarının aksine, hiçbir şeye başvurmayan satırları kaldırır — çalıştırmadan önce sayıları inceleyin.",
|
||||
"gamedataScan": "Oyun verilerini önizle",
|
||||
"gamedataScanning": "Taranıyor…",
|
||||
"gamedataRun": "Seçilenleri çalıştır",
|
||||
"gamedataRunning": "Temizleniyor…",
|
||||
"gamedataNoResult": "Henüz önizleme yok — önce oyun verileri JSON dosyalarını tarayın.",
|
||||
"gamedataCount_duplicates": "FurnitureData yinelenenleri",
|
||||
"gamedataCount_orphans": "FurnitureData yetimleri",
|
||||
"gamedataCount_figureMap": "FigureMap sorunları",
|
||||
"gamedataCount_figureData": "Kullanılmayan FigureData",
|
||||
"gamedataPass_dedupeFurnitureData": "FurnitureData yinelenenlerini kaldır",
|
||||
"gamedataPassDesc_dedupeFurnitureData": "Bir bölüm içinde tekrarlanan classnames'leri kaldırır ve en yüksek revizyona sahip girişi korur.",
|
||||
"gamedataPass_cleanFurnitureData": "FurnitureData'yı temizle",
|
||||
"gamedataPassDesc_cleanFurnitureData": ".nitro paketinin hiçbir dizinde bulunmayan girişleri kaldırır.",
|
||||
"gamedataPass_cleanFigureMap": "FigureMap'i temizle",
|
||||
"gamedataPassDesc_cleanFigureMap": "FigureData'da eksik olan bir küme işaret eden parçaları ve tam yinelenenleri kaldırır.",
|
||||
"gamedataPass_cleanFigureData": "FigureData'yı temizle",
|
||||
"gamedataPassDesc_cleanFigureData": "Hiçbir FigureMap parçasının başvurmadığı kümeleri, ardından hiçbir küme türünün kullanmadığı paletleri kaldırır. FigureMap'i temizle işleminden sonra çalıştırılmalıdır.",
|
||||
"gamedataNothingSelected": "En az bir temizleme adımı seçin",
|
||||
"gamedataConfirmTitle": "Oyun verileri JSON dosyaları üzerine yazılsın mı?",
|
||||
"gamedataConfirmDescription": "{passes} adım, {duplicates} yinelenen grup, {orphans} yetim satır, {figureMap} FigureMap sorunu ve {figureData} kullanılmayan FigureData girişine karşı çalışacak. Satırlar yedek kopya olmadan kaldırılır — bu geri alınamaz.",
|
||||
"gamedataConfirmLabel": "Dosyaları üzerine yaz",
|
||||
"gamedataDifferingWarning": "En az bir yinelenen, korunan girişin tam bir kopyası değil, bu yüzden silinen satır, hayatta kalanın sahip olmadığı verileri barındırıyordu.",
|
||||
"gamedataCrossSectionNote": "{count} classname(ler) hem roomitemtypes hem de wallitemtypes içinde var. Bunlar sadece rapor edilir — birini kaldırmak bir öğenin türünü değiştirir.",
|
||||
"gamedataToastDone": "Oyun verileri temizliği {removed} satır kaldırdı",
|
||||
"gamedataToastNothing": "Oyun verileri zaten temizdi",
|
||||
"gamedataMaxRemovalsLabel": "Adım başına maks. satır",
|
||||
"gamedataMaxRemovalsHint": "0, varsayılan 500'ü kullanır. Daha fazlasını kaldıracak bir adım, yazmak yerine durur ve sorar.",
|
||||
"gamedataLimitTitle": "{pass}, {maxRemovals} sınırının üzerinde {wouldRemove} satır kaldırırdı.",
|
||||
"gamedataLimitDescription": "Bu adım hiçbir şey yazmadı, bu yüzden dosyalar değişmedi. Önce varlık yollarını kontrol edin — yanlış bir dizin her satırı yetim gibi gösterir. Sınırı yükseltmek ayrı, bilinçli bir çalıştırmadır.",
|
||||
"gamedataLimitOverride": "Yine de {wouldRemove} satır kaldır",
|
||||
"historyTitle": "Otomatik temizlik geçmişi",
|
||||
"historyScheduled": "planlandı",
|
||||
"historyManual": "manuel",
|
||||
"historyEntry": "{deleted} kaldırıldı ({copies} kopya); {recent} sıradan ve {broken} hasarlı atlandı",
|
||||
"historyErrors": "{count} hata"
|
||||
},
|
||||
"importDiagnostics": {
|
||||
"attempts": "Dosya tanılaması",
|
||||
"preliminary": "Adreslerin ön kontrolü; içerik içe aktarma sırasında doğrulanır.",
|
||||
|
||||
Reference in new issue
Block a user