/** Turkish UI strings. */ export const tr: Record = { 'toolbar.new_folder': 'Yeni klasör', 'toolbar.upload': 'Yükle', 'toolbar.search': 'Ara', 'toolbar.search.placeholder': 'Ada ya da tag: ile ara…', 'toolbar.view.list': 'Liste', 'toolbar.view.grid': 'Izgara', 'toolbar.refresh': 'Yenile', 'toolbar.go_up': 'Üst klasör', 'ctx.open': 'Aç', 'ctx.preview': 'Önizle', 'ctx.download': 'İndir', 'ctx.archive_create': 'Arşiv oluştur…', 'ctx.archive_extract': 'Arşivi çıkar…', 'ctx.rename': 'Yeniden adlandır', 'ctx.delete': 'Sil', 'ctx.delete_perm': 'Kalıcı olarak sil', 'ctx.restore': 'Geri getir', 'ctx.share': 'Paylaş', 'ctx.move': 'Taşı', 'ctx.copy': 'Kopyala', 'ctx.cut': 'Kes', 'ctx.show_hidden': 'Gizli dosyaları göster', 'ctx.hide_hidden': 'Gizli dosyaları gizle', 'ctx.keep_local': 'Bilgisayarda tut', 'ctx.keep_online': 'Yalnızca çevrimiçi tut', 'ctx.keep_reveal': 'Yerel klasörü aç', 'ctx.keep_inherited': 'Üst klasörle bilgisayarda tutuluyor', 'keep.started': 'Bilgisayarda tutulacak - eşitleme başladı', 'keep.failed': 'Bilgisayarda tutulamadı', 'keep.badge_kept': 'Bilgisayarda', 'keep.badge_syncing': 'Eşitleniyor…', 'keep.badge_cloud': 'Yalnızca çevrimiçi', 'keep.badge_partial': 'İçinde bilgisayarda tutulanlar var', 'keep.strip_transfer': '{name} eşitleniyor - {done}/{total} (%{pct})', 'keep.strip_inventory': '{name} eşitleniyor - sunucu taranıyor…', 'keep.strip_settling': '{name} eşitleniyor - son durum kaydediliyor…', 'ctx.paste': 'Yapıştır', 'ctx.info': 'Bilgi', 'ctx.duplicate': 'Kopyasını oluştur', 'ctx.new_file': 'Yeni dosya', 'modal.delete.title': 'Silinsin mi?', 'modal.delete.message': '{count} öğe çöpe atılacak.', 'modal.delete.message_one': '{count} öğe çöpe atılacak.', 'modal.delete.confirm': 'Çöpe at', 'modal.delete.working': 'Çöpe taşınıyor…', 'modal.delete.cancel': 'Vazgeç', 'modal.delete.permanent_title': 'Kalıcı olarak silinsin mi?', 'modal.delete.permanent_message': '{count} öğe kalıcı olarak silinecek. Bu geri alınamaz.', 'modal.delete.permanent_message_one': '{count} öğe kalıcı olarak silinecek. Bu geri alınamaz.', 'modal.delete.permanent_confirm': 'Kalıcı olarak sil', 'modal.delete.permanent_working': 'Siliniyor…', 'modal.rename.title': 'Yeniden adlandır', 'modal.rename.save': 'Kaydet', 'modal.rename.saving': 'Yeniden adlandırılıyor…', 'modal.rename.cancel': 'Vazgeç', 'modal.newfolder.title': 'Yeni klasör', 'modal.newfolder.placeholder': 'Klasör adı', 'modal.newfolder.create': 'Oluştur', 'modal.newfolder.creating': 'Oluşturuluyor…', 'modal.newfolder.cancel': 'Vazgeç', 'modal.share.title': 'Paylaşım bağlantısı', 'archive.create_title': 'Arşiv oluştur', 'archive.extract_title': 'Arşivi çıkar', 'archive.create_count': '{count} öğe seçildi', 'archive.create_count_one': '{count} öğe seçildi', 'archive.filename': 'Arşiv adı', 'archive.format': 'Biçim', 'archive.password_optional': 'Parola (isteğe bağlı)', 'archive.password_confirm': 'Parolayı doğrula', 'archive.password_mismatch': 'Parolalar birbiriyle eşleşmiyor.', 'archive.encrypt_names': 'Dosya adlarını şifrele', 'archive.compression': 'Sıkıştırma', 'archive.solid': 'Katı arşiv oluştur', 'archive.dictionary_size': 'Sözlük boyutu', 'archive.dictionary_size_value': '{n} MiB', 'archive.dictionary_hint': 'Daha büyük sözlükler sıkıştırmayı iyileştirebilir ancak oluşturma ve çıkarma sırasında daha fazla bellek kullanır.', 'archive.destination_folder': 'Çıkarılacak klasör', 'archive.create': 'Oluştur', 'archive.creating': 'Oluşturuluyor…', 'archive.extract': 'Çıkar', 'archive.extract_here': 'Buraya çıkar', 'archive.extract_to_folder': 'Klasöre çıkar', 'archive.extracting': 'Çıkarılıyor…', 'archive.cancel': 'Vazgeç', 'archive.invalid_name': 'Eğik çizgi içermeyen bir dosya adı girin.', 'archive.invalid_extension': 'Arşiv adı kullanılabilir biçim uzantılarından biriyle bitmelidir.', 'archive.invalid_folder': 'Eğik çizgi içermeyen bir klasör adı girin.', 'archive.password_required': 'Bu arşiv için parola gerekiyor.', 'archive.password_title': 'Arşiv parolası', 'archive.continue': 'Devam et', 'archive.opening': 'Açılıyor…', 'archive.bad_password': 'Arşiv parolası yanlış.', 'archive.target_exists': 'Bu ada sahip bir öğe zaten var. Başka bir ad seçin veya önce mevcut öğeyi kaldırın.', 'archive.password_charset': 'ZIP parolasında yalnızca ASCII karakterler kullanılabilir; ç, ğ, ı, İ, ö, ş, ü gibi harfler kullanılamaz. Her karakteri kullanmak için 7z biçimini seçin.', 'archive.error_unsupported': 'Bu arşiv çıkarılamıyor: bu sunucu biçimini okuyamıyor ya da içinde filex’in çıkarmadığı bir şey var (bağlantı, özel dosya ya da boyutunu belirtmeyen bir dosya).', 'archive.error_limit': 'Bu arşiv, sunucunun çıkarmaya izin verdiği boyutu aşıyor.', 'archive.error_unavailable': 'Bu sunucu şu anda bu tür bir arşivi açamıyor.', 'archive.created': 'Arşiv oluşturuldu', 'archive.queued': 'Arşiv oluşturma arka planda çalışıyor', 'archive.extracted': '{count} dosya çıkarıldı', 'archive.extracted_one': '{count} dosya çıkarıldı', 'archive.extraction_queued': 'Arşiv çıkarma arka planda çalışıyor', 'archive.preparing_extract': '{name} okunuyor… çıkarılmadan önce arşivin tamamı okunur.', 'archive.already_preparing': '{name} hâlâ okunuyor - okuma bitince bir kez çıkarılacak', 'archive.extraction_completed': 'Çıkarma tamamlandı', 'archive.extraction_cancelled': 'Çıkarma {count} dosyadan sonra iptal edildi', 'archive.extraction_cancelled_one': 'Çıkarma {count} dosyadan sonra iptal edildi', 'modal.share.pin': 'PIN koruması', 'modal.share.expires': 'Son kullanma', 'modal.share.max_downloads': 'İndirme limiti', 'modal.share.create': 'Paylaş', 'modal.share.cancel': 'Vazgeç', 'modal.share.close': 'Kapat', 'modal.share.limit_applied': '(sunucu sınırı uygulandı)', 'modal.share.copy': 'Kopyala', 'modal.share.url_copied': 'Bağlantı kopyalandı', 'modal.share.pin_copied': 'PIN kopyalandı', 'modal.share.cli_copied': 'CLI komutu kopyalandı', 'upload.progress': 'Yükleniyor', 'upload.done': 'Tamamlandı', 'upload.error': 'Hata', 'upload.failed': '“{name}” yüklenemedi', 'upload.aborted': 'İptal edildi', 'upload.cancel': 'İptal', 'upload.resuming': '“{name}” %{percent} noktasından devam ediyor', 'upload.saving': 'Depoya kaydediliyor…', 'empty.folder': 'Bu klasör boş', 'empty.search': 'Sonuç bulunamadı', 'loading': 'Yükleniyor…', 'notFound.title': 'Klasör bulunamadı', 'notFound.desc': 'Bu klasör mevcut değil, taşınmış ya da erişim yetkiniz yok.', 'notFound.goRoot': 'Kök klasöre dön', 'col.name': 'Ad', 'col.size': 'Boyut', 'col.modified': 'Değiştirilme', 'col.type': 'Tür', 'unit.bytes': 'B', 'unit.kb': 'KB', 'unit.mb': 'MB', 'unit.gb': 'GB', 'unit.tb': 'TB', 'unit.pb': 'PB', 'breadcrumb.root': 'Kök', 'breadcrumb.copy_path': 'Yolu kopyala', 'breadcrumb.go_to_path': 'Yola git', 'breadcrumb.path_placeholder': 'fileman/foo/bar', 'ops.copy': 'Kopyalanıyor', 'ops.move': 'Taşınıyor', 'ops.delete': 'Siliniyor', 'ops.queued': 'sırada', 'ops.done': 'tamamlandı', 'ops.error': 'hata', 'node.trash': 'Çöp kutusu', 'node.folder': 'Klasör', // --- Zengin önizleyici chrome --- 'viewer.open_in_new_tab': 'Yeni sekmede aç', 'viewer.loading': 'Yükleniyor…', 'viewer.failed_to_load': 'Dosya yüklenemedi', 'viewer.peer_not_installed': 'Bu tür bir dosya burada gösterilemiyor. Cihazınızda açmak için indirin.', 'viewer.format_unsupported_3d': 'Önizleme yalnızca .glb, .gltf ve .usdz biçimindeki 3B modelleri gösterir. Dosyayı indirip bir 3B programında açın.', 'viewer.zoom_in': 'Yakınlaştır', 'viewer.zoom_out': 'Uzaklaştır', 'viewer.fit_width': 'Sayfa genişliğine sığdır', 'viewer.next_page': 'Sonraki sayfa', 'viewer.prev_page': 'Önceki sayfa', 'viewer.page_n_of_m': 'Sayfa {n} / {m}', 'viewer.tags': 'Etiketler', 'viewer.layers': 'Katmanlar', 'viewer.toc': 'İçindekiler', 'viewer.font_smaller': 'Yazıyı küçült', 'viewer.font_larger': 'Yazıyı büyüt', 'viewer.search': 'Ara', 'viewer.download': 'İndir', 'viewer.saving': 'Kaydediliyor…', 'viewer.save': 'Kaydet (Ctrl+S)', 'viewer.saved': 'Kaydedildi', 'viewer.save_error': 'Hata', 'viewer.editor_loading': 'Editör yükleniyor…', 'viewer.no_preview': 'Bu dosya tipi için önizleme henüz yok.', 'viewer.edit': 'Düzenle', 'viewer.close': 'Kapat', 'presence.expand': 'Adları göster', 'presence.collapse': 'Küçült', 'viewer.save_annotations': 'Açıklamaları kaydet', 'viewer.annotations_on': 'Açıklamalar: açık', 'viewer.annotations_off': 'Açıklamalar: kapalı', 'viewer.read_only': 'Salt okunur', 'viewer.csv_first_row_header': 'İlk satır başlık olsun', 'viewer.csv_filter': 'Satır filtrele…', 'viewer.epub_prev': 'Önceki', 'viewer.epub_next': 'Sonraki', /* ⚠ Eski cümle her okuyucuya bir ORTAM DEĞİŞKENİ söylüyordu ("yönetici FILEX_DRAWIO_URL'yi ayarlamalı"). Yalnızca bir diyagrama bakmak isteyen kişiye ne yapabileceği; `_admin` - düzeltebilecek kişiye - nereden düzelteceği söylenir. */ 'viewer.drawio.disabled': 'Diyagramlar burada açılamıyor: bu sunucuda draw.io yok. Başka bir yerde açmak için dosyayı indirin.', 'viewer.drawio.disabled_admin': 'Bu sunucuda draw.io kurulu değil. Yönetim panelinde Dış servisler altından kurabilirsiniz.', 'viewer.drawio.load_failed': 'Bu diyagram okunamadı. Başka bir yerde açmak için indirin.', 'viewer.drawio.save_failed': 'Diyagram kaydedilemedi. Değişiklikleriniz hâlâ düzenleyicide - yeniden deneyin.', 'viewer.archive.entries': '{n} dosya', 'viewer.archive.entries_one': '{n} dosya', 'viewer.archive.empty': 'Arşiv boş.', 'viewer.archive.error': 'Arşiv okunamadı.', 'viewer.archive.unsupported': 'Bu tür bir arşiv burada listelenemiyor. İçinde ne olduğunu görmek için indirin.', 'viewer.archive.too_large': 'Bu arşiv burada listelenemeyecek kadar büyük. İçinde ne olduğunu görmek için indirin.', 'viewer.archive.open': 'Arşivi aç', 'viewer.archive.root': 'Arşiv', 'viewer.archive.location': 'Arşiv konumu', 'viewer.archive.reading': 'Hâlâ okunuyor… İçeriği listelenmeden önce arşivin tamamı okunur; büyük bir arşivde bu biraz sürer.', 'viewer.name': 'Ad', 'viewer.size': 'Boyut', // --- cila:a - sıralama / tarih grupları / yoğunluk --- 'col.sort': 'Sırala', 'group.today': 'Bugün', 'group.yesterday': 'Dün', 'group.this_week': 'Bu hafta', 'group.this_month': 'Bu ay', 'group.no_date': 'Tarihsiz', 'toolbar.density.compact': 'Sıkışık görünüm', 'toolbar.density.comfortable': 'Rahat görünüm', // --- cila:c - komut paleti + kısayol yardımı + breadcrumb --- 'palette.placeholder': 'Dosya, klasör veya komut ara…', 'palette.files': 'Dosyalar', 'palette.commands': 'Komutlar', 'palette.goto': 'Yola git', 'palette.empty': 'Sonuç bulunamadı', 'palette.hint': '↑↓ gezin · Enter seç · Esc kapat', 'cmd.view_toggle': 'Görünümü değiştir (liste ⇄ ızgara)', 'cmd.trash': 'Çöp kutusunu aç', 'shortcuts.title': 'Klavye kısayolları', 'shortcuts.group.nav': 'Gezinme', 'shortcuts.group.selection': 'Seçim', 'shortcuts.group.file': 'Dosya işlemleri', 'shortcuts.palette': 'Komut paleti', 'shortcuts.search': 'Aramaya odaklan', 'shortcuts.go_up': 'Üst klasöre çık', 'shortcuts.open': 'Seçili öğeyi aç', 'shortcuts.close': 'Kapat / vazgeç', 'shortcuts.toggle_hidden': 'Gizli dosyaları göster/gizle', 'shortcuts.help': 'Bu yardım penceresi', 'shortcuts.select_all': 'Tümünü seç', 'shortcuts.star': 'Yıldızla / yıldızı kaldır', 'shortcuts.rename': 'Yeniden adlandır', 'shortcuts.delete': 'Sil', 'shortcuts.cut': 'Kes', 'shortcuts.copy': 'Kopyala', 'shortcuts.paste': 'Yapıştır', 'breadcrumb.more': 'Aradaki klasörler', // --- State screens + undo snackbar + connection badge (cila:b) --- 'empty.hint': 'Dosyaları buraya sürükleyip bırakın', 'empty.upload': 'Dosya yükle', 'empty.search.title': 'Aramanızla eşleşen dosya yok', 'empty.search.hint': 'Farklı bir arama terimi deneyin', 'empty.trash.title': 'Çöp kutusu boş', 'error.title': 'Liste yüklenemedi', 'error.retry': 'Yeniden dene', 'toast.undo': 'Geri al', 'toast.undone': 'Geri alındı', 'toast.undoing': 'Geri alınıyor…', 'toast.undo_queued': 'Geri alma kuyruğa alındı - bittiğini işlemler paneli gösterecek', 'toast.undo_failed': 'Geri alınamadı', 'toast.renamed': 'Yeniden adlandırıldı', 'toast.rename_queued': '“{name}” olarak yeniden adlandırılıyor…', 'toast.moved': 'Taşındı', 'toast.trashed': 'Çöpe taşındı', /* i18n:hardcoded - FileExplorer.vue'da düz string olarak duran, hiçbir dilin değiştiremediği bildirim metinleri. */ 'toast.failed': 'İşlem başarısız', 'err.status.400': 'Geçersiz istek', 'err.status.401': 'Oturum açmanız gerekiyor', 'err.status.403': 'Bu işlem için yetkiniz yok', 'err.status.404': 'Bulunamadı', 'err.status.409': 'Zaten var / çakışma', 'err.status.413': 'Dosya çok büyük', 'err.status.415': 'Bu dosya türü desteklenmiyor', 'err.status.422': 'Geçersiz veri', 'err.status.429': 'Çok fazla istek, biraz bekleyin', 'err.status.500': 'Sunucu hatası', 'err.status.501': 'Bu işlem desteklenmiyor', 'err.status.502': 'Bağlı bir servis hata verdi', 'err.status.503': 'Servis şu an kullanılamıyor', 'err.status.504': 'Bağlı bir servis zamanında yanıt vermedi', 'err.status.other': 'Sunucu bu isteği kabul etmedi.', 'err.upload_stalled': 'Yükleme ilerlemeyi bıraktı. Yeniden deneyin - kaldığı yerden devam eder.', 'err.network': 'Sunucuya ulaşılamadı. Bağlantınızı kontrol edip yeniden deneyin.', /* 0.54: sunucunun adını verdiği ret, sunucunun cümlesiyle söylenir (`message`, server.error.*). */ 'err.save_failed': 'Değişiklikleriniz kaydedilemedi.', 'err.load_failed': 'Bu dosya yüklenemedi.', 'err.viewer_failed': 'Bu dosyanın görüntüleyicisi başlatılamadı. Açmak için dosyayı indirin.', 'err.detail': 'Ayrıntı', 'toast.copied': 'Kopyalandı', 'toast.deleted': 'Silindi', 'toast.cut': 'Kesildi', 'toast.cut_ready': 'Kes → Yapıştır hazır', 'toast.copy_ready': 'Kopyala → Yapıştır hazır', 'toast.same_folder_cut': 'Aynı klasöre kesilemez', 'toast.restored': '{n} öğe geri getirildi', 'toast.restored_one': '{n} öğe geri getirildi', 'toast.delete_queued': 'Silme kuyruğa alındı', 'toast.trash_retention': 'Çöpteki öğeler saklama süresi sonunda otomatik silinir. Kalıcı silme yönetici panelinden yapılır.', /* Kalıcı silinmesi yolda olan çöp satırı (yönetici Çöp sayfasının sözleri: iki katalogda tek cümle - ders #447). */ 'trash.purging': 'Kalıcı olarak siliniyor…', 'trash.row_busy': 'Bu öğe üzerinde zaten bir iş sürüyor', 'dropzone.hint': 'Dosyaları buraya bırak', 'modal.newfolder.invalid': 'Geçersiz karakter', 'names.reserved': '“{name}” adı filex’in kendi kullanımına ayrılmış. Başka bir ad seçin.', /* ⚠ Eksik ya da bozuk belge sunucusu kelimelerle söylenir, asla HTTP katmanıyla değil (eskiden `Config fetch 503: {"error":"onlyoffice not configured"}` yazıyordu). `_admin`, düzeltebilecek kişinin okuduğu - nereden düzelteceği; diğer herkes dosyayı yine de nasıl alacağını okur. */ 'viewer.office_unconfigured': 'Ofis belgeleri burada açılamıyor: bu sunucuda ONLYOFFICE belge sunucusu yok. Dosyayı bilgisayarınızda açmak için indirin.', 'viewer.office_unconfigured_admin': 'Bu sunucuda ONLYOFFICE kurulu değil, bu yüzden ofis belgeleri burada açılamıyor. Yönetim panelinde Dış servisler altından kurabilirsiniz.', 'viewer.office_unreachable': 'Belge sunucusu şu anda yanıt vermiyor. Daha sonra yeniden deneyin ya da dosyayı indirin.', 'viewer.office_unreachable_admin': 'ONLYOFFICE belge sunucusu yanıt vermiyor. Yönetim panelinde Dış servisler altından kontrol edin.', /* Görev #92: düzenleyici başka bir kökendeki (belge sunucusunun kendi kökeni ya da arayüz kökeni) bir çerçevede çalışır ve o sayfa hiç yanıt vermedi - adres bu filex'e ulaşmıyor. */ 'viewer.office_frame_unreachable_admin': "ONLYOFFICE düzenleyici çerçevesi {origin} adresinden yüklenmedi. Oradaki vekil sunucunun çerçeveyi filex'e yönlendirdiğini kontrol edin ({env}).", 'viewer.office_failed': 'Bu belge ONLYOFFICE ile açılamadı. Bilgisayarınızda açmak için indirin.', 'viewer.csv_office_note': 'CSV olarak kaydedilir: yalnızca etkin sayfanın değerleri kalır. Biçimlendirme, formüller ve diğer sayfalar kaydedilmez.', 'viewer.office_forbidden': 'Bu belgeyi ONLYOFFICE ile açma izniniz yok.', /* ONLYOFFICE'in "Download failed" (İndirme başarısız) hatasından sonra: iki durumdan hangisi olduğu, filex'in gördüğüyle (lib/officeDiagnosis, #80). */ 'viewer.office_download_served': 'Belge sunucusu bu dosyayı filex’ten indirdi, ancak tarayıcınız dönüştürülmüş kopyayı belge sunucusundan yükleyemedi. Belge sunucusunun önündeki vekil sunucunun X-Forwarded-Proto ve X-Forwarded-Host başlıklarına bakın.', 'viewer.office_download_not_requested': 'Belge sunucusu bu dosyayı filex’ten hiç istemedi. Dosya daha önce açıldıysa belge sunucusu kendi kopyasını kullanıyor olabilir.', 'viewer.office_download_refused': 'filex, belge sunucusunun bu dosya için yaptığı isteği şu nedenle reddetti: {reason}.', 'viewer.office_fetch_reason.bad_link': 'adres bozuktu', 'viewer.office_fetch_reason.signature_expired': 'adresin süresi dolmuştu', 'viewer.office_fetch_reason.signature_bad': 'imzası eşleşmedi (JWT sırrı değişti ya da adres değiştirildi)', 'viewer.office_fetch_reason.not_found': 'dosya artık yok', 'viewer.office_fetch_reason.storage_unavailable': 'depo açılamadı', 'viewer.office_fetch_reason.body_unavailable': 'dosyanın içeriği bulunamadı', 'viewer.office_fetch_reason.object_missing': 'dosya depoda yok', 'viewer.office_fetch_reason.read_failed': 'dosya depodan okunamadı', /* Gezginin "Aç" girdisi, belge sunucusu yokken - yalnızca yöneticiye gösterilir (diğer herkese girdi hiç sunulmaz; lib/serviceGate). */ 'ctx.needs_onlyoffice': 'ONLYOFFICE kurulu değil - yönetim panelinde Dış servisler altından kurun.', 'ctx.needs_drawio': 'draw.io kurulu değil - yönetim panelinde Dış servisler altından kurun.', 'viewer.pdf_inline_failed': 'Tarayıcı PDF\'i inline açamadı.', 'viewer.too_large': 'Dosya çok büyük (>1 MB).', 'viewer.csv_rows': '{n} satır', 'viewer.csv_rows_one': '{n} satır', 'presence.others': '{n} kişi', 'presence.others_one': '{n} kişi', 'conn.offline': 'Canlı bağlantı yok - değişiklikler gecikebilir', 'conn.tooltip': 'Sunucuyla canlı bağlantı kurulamadı; liste belirli aralıklarla otomatik yenilenir. Bağlantı geri gelince bu uyarı kaybolur.', /* === bul:s3 === */ 'palette.everywhere': 'Her yerde', 'palette.searching': 'Aranıyor…', 'palette.everywhere_failed': 'Arama yapılamadı. Yeniden deneyin.', 'palette.saved': 'Kayıtlı aramalar', 'palette.save': 'Aramayı kaydet', 'palette.saved.delete': 'Kayıtlı aramayı sil', /* #168 - yönetim panelinin araması (components/PanelSearch.vue). */ 'panelsearch.label': 'Yönetim panelinde ara', 'panelsearch.trigger': 'Ara', 'panelsearch.placeholder': 'Sayfa, ayar, kişi, uygulama ara…', 'panelsearch.close': 'Aramayı kapat', 'panelsearch.clear': 'Aramayı temizle', 'panelsearch.results': 'Arama sonuçları', 'panelsearch.group.page': 'Sayfalar', 'panelsearch.group.setting': 'Ayarlar', 'panelsearch.group.app': 'Uygulamalar', 'panelsearch.group.user': 'Kullanıcılar', 'panelsearch.group.group': 'Gruplar', 'panelsearch.group.key': 'API anahtarları', 'panelsearch.group.storage': 'Depolar', 'panelsearch.group.share': 'Paylaşımlar', 'panelsearch.group.file': 'Dosyalar', 'panelsearch.group.recent': 'Son aramalar', 'panelsearch.files_all': 'Dosyalarda ara: {q}', 'panelsearch.recent_remove': 'Son aramalardan kaldır', 'panelsearch.recent_clear': 'Son aramaları temizle', 'panelsearch.empty': '“{q}” ile eşleşen bir şey yok.', 'panelsearch.searching': 'Aranıyor…', 'panelsearch.failed': 'Sonuçların bir kısmı yüklenemedi. Gelenler gösteriliyor.', 'panelsearch.prefixes': 'Tek bir türe daraltın:', 'panelsearch.count_one': '{n} sonuç', 'panelsearch.count': '{n} sonuç', 'search.in_content': 'İçerikte', 'search.truncated': 'Gösterilenden daha fazla sonuç var - aramanızı daraltın', 'nav.more_shown': '{total} öğeden {shown} tanesi gösteriliyor', 'nav.load_more': 'Daha fazla yükle', /* Katalog kapsamı (docs/LAZY-CATALOGUE.md, lib/catalogCoverage). */ 'coverage.first_scan': 'Bu deponun ilk senkronu henüz bitmedi. Bitene kadar arama, klasör boyutları ve kullanım deponun bir kısmını kapsamaz.', 'coverage.lazy_filling': 'filex bu depoyu hâlâ kataloglıyor (şimdiye kadar bulunan klasörlerin %{pct} kadarı tamam). Bitene kadar arama, klasör boyutları ve kullanım deponun bir kısmını kapsamaz.', 'coverage.lazy_on_open': 'Bu depoda yalnız açılan klasörler kataloglanır. Arama, klasör boyutları ve kullanım yalnız bu klasörleri kapsar.', 'coverage.search_some': 'Şu depoların tamamı henüz kataloglanmadı: {names}. Bu arama oradaki bazı dosyaları bulamayabilir.', 'coverage.catalog_all': 'Tümünü katalogla', 'coverage.catalog_started': 'Senkron başladı - deponun tamamı kataloglanıyor.', 'coverage.catalog_running': 'Kataloglanıyor…', 'coverage.cataloging': '{storage} kataloglanıyor… arka planda sürüyor, bittiğinde bu sayfa söyleyecek.', 'coverage.catalog_done': '{storage} baştan sona kataloglandı', 'coverage.catalog_failed': '{storage} kataloglanamadı. Nedenini yönetim panelinde, deponun senkron geçmişinde görebilirsiniz.', 'coverage.catalog_stopped': '{storage} kataloglaması bitmeden durduruldu', 'coverage.catalog_joined': '{storage} zaten taranıyordu - bittiğinde bu sayfa haber verecek.', 'coverage.catalog_gone': '{storage} kataloglanırken kaldırıldı', 'coverage.catalog_unfollowed': '{storage} arka planda kataloglanmaya devam ediyor; nasıl bittiğini yönetim panelinde deponun senkron geçmişi gösterir', 'size.at_least': '≥ {size}', 'size.partial_hint': 'Bu klasörün bir kısmı henüz kataloglanmadı; boyutu en az bu kadar.', 'size.unknown_hint': 'Bu klasör henüz kataloglanmadı; boyutu bilinmiyor.', /* === bag:b4 === */ 'toolbar.more': 'Diğer işlemler', 'toolbar.search.close': 'Aramayı kapat', 'sheet.menu': 'İşlemler', 'sheet.close': 'Kapat', /* === koru:k1 === */ 'toolbar.inspector': 'Ayrıntılar', 'ctx.details': 'Ayrıntılar', /* yildiz:s1 - yıldızlamak bir eylem, menüde de öyle görünür. */ 'ctx.star': 'Yıldızla', 'ctx.unstar': 'Yıldızı kaldır', 'star.failed': 'Yıldız değiştirilemedi', 'shortcuts.inspector': 'Ayrıntılar panelini aç/kapat', 'inspector.title': 'Ayrıntılar', 'inspector.copy_name': 'Adı kopyala', 'inspector.items': '{n} öğe', 'inspector.items_one': '{n} öğe', 'inspector.type': 'Tür', 'inspector.select_hint': 'Ayrıntılarını görmek için bir öğe seçin.', /* pane:p1 - panel SON seçilen şeyi tutar (bakımcının kararı, 2026-09-13); dolayısıyla bölünmüş pencerenin bakılmayan yarısındaki bir öğeyi anlatıyor olabilir. Bu satır hangisi olduğunu ve nerede durduğunu söyler. */ 'inspector.held': 'Son seçilen - {where} içinde', 'inspector.close': 'Kapat', 'inspector.section.general': 'Genel', 'inspector.section.tags': 'Etiketler', /* etiket:t1 - TagPicker'ın kendi çerçevesi. 2026-09-13'e kadar bu üçü katalogdan bağımsız olarak İngilizce basılıyordu; `tags.open` ise çipin yeni "bu etiketi taşıyan her şeyi göster" kapısı. */ 'tags.open': 'Etiketi aç: {tag}', 'tags.add': '+ Etiket ekle', 'tags.name': 'Etiket adı', 'tags.remove': 'Etiketi kaldır', /* etiket:k2 (v0.43.0) - etiketin iki TÜRÜ. Etiket nerede çiziliyorsa türünü simgeyle birlikte sözcükle de söyler: bu sürüme kadar her etiket sessizce sunucudaki herkesle paylaşılıyordu. */ 'tags.kind.label': 'Bu etiketi kim görür', 'tags.kind.personal': 'Kişisel', 'tags.kind.team': 'Ekip', 'tags.kind.personal_help': 'Yalnızca siz görürsünüz', 'tags.kind.team_help': 'Bu dosyayı görebilen ekibindeki herkes görür', 'tags.kind.team_locked': 'Ekip etiketi eklemek ya da kaldırmak için bu dosyada düzenleme yetkiniz olmalı.', 'tags.chip.personal': 'Kişisel etiket “{tag}” - yalnızca siz görürsünüz', 'tags.chip.team': 'Ekip etiketi “{tag}” - bu dosyayı görebilen ekibindeki herkes görür', 'tags.add_submit': 'Ekle', 'inspector.section.versions': 'Sürümler', 'inspector.section.permissions': 'İzinler', 'inspector.section.shares': 'Paylaşımlar', 'inspector.path': 'Yol', 'inspector.size': 'Boyut', 'inspector.modified': 'Değiştirilme', 'inspector.mime': 'MIME türü', 'inspector.etag': 'ETag', 'inspector.nodeId': 'Düğüm kimliği', 'inspector.copy': 'Kopyala', 'inspector.copied': 'Kopyalandı', 'inspector.error': 'Yüklenemedi', 'inspector.items_summary': '{n} öğe, toplam {size}', 'inspector.items_summary_one': '{n} öğe, toplam {size}', 'inspector.folder_items': '{n} öğe', 'inspector.folder_items_one': '{n} öğe', 'inspector.versions.empty': 'Sürüm geçmişi yok', 'inspector.versions.v': 'Sürüm {n}', 'inspector.versions.restore': 'Geri yükle', 'inspector.versions.restore_confirm': 'Bu sürüm geri yüklensin mi?', 'inspector.versions.snapshot_current': 'Önce şimdiki halin sürümünü al', 'inspector.versions.confirm': 'Onayla', 'inspector.versions.restoring': 'Geri yükleniyor…', 'inspector.versions.cancel': 'Vazgeç', 'inspector.versions.take_snapshot': 'Şimdiki halin sürümünü al', 'inspector.versions.snapshotting': 'Sürüm alınıyor…', 'inspector.versions.restored': 'Sürüm geri yüklendi', 'inspector.versions.snapshotted': 'Sürüm alındı', 'inspector.versions.unsupported': 'Sunucu bu işlemi desteklemiyor', 'inspector.perm.none': 'Erişim yok', 'inspector.perm.viewer': 'Görüntüleyen', 'inspector.perm.editor': 'Düzenleyen', 'inspector.perm.owner': 'Sahip', 'inspector.perm.manage': 'İzinleri yönet', 'inspector.shares.empty': 'Paylaşım bağlantısı yok', 'inspector.shares.copy': 'Bağlantıyı kopyala', /* wiring:c1 - tema galerisi */ 'theme.menu': 'Tema', 'theme.title': 'Tema galerisi', 'theme.hint': 'Tema yalnız renk paletini değiştirir; gündüz mü gece mi olduğu yukarıdaki seçim.', 'theme.mode.label': 'Görünüm', 'theme.mode.light': 'Gündüz', 'theme.mode.dark': 'Gece', 'theme.mode.auto': 'Otomatik', 'theme.reset': 'Varsayılana dön', 'theme.close': 'Kapat', 'theme.selected': 'Seçili', 'theme.name.default': 'Varsayılan', 'theme.name.night': 'Gece mavisi', 'theme.name.forest': 'Orman', 'theme.name.amber': 'Kehribar', 'theme.name.lilac': 'Leylak', 'theme.name.contrast': 'Yüksek kontrast', 'theme.name.gray': 'Yumuşak gri', 'theme.name.terminal': 'Terminal yeşili', /* === zaman:z3 - saat dilimi seçici (gömme penceresi + web ayarları) === */ 'tz.menu': 'Saat dilimi', 'tz.title': 'Saat dilimi', 'tz.label': 'Tarihleri şu saatle göster', 'tz.search': 'Şehir, ülke ya da saat farkı arayın - “İstanbul” veya “GMT+3” deneyin', 'tz.default.device': 'Bu cihazın saat dilimini kullan ({zone})', 'tz.default.account': 'Hesabınızın saat dilimini kullan ({zone})', 'tz.default.host': 'Bu sitenin varsayılanını kullan ({zone})', 'tz.no_match': '“{query}” ile eşleşen saat dilimi yok. Bir şehir, bir ülke ya da GMT+3 gibi bir fark deneyin.', 'tz.more': '{n} kayıt daha var - listeyi daraltmak için yazmayı sürdürün.', 'tz.hint': 'Yalnızca bu tarayıcıda saklanır. Her tarih tek bir an olarak saklanır ve burada seçtiğiniz saatle gösterilir.', 'tz.now': '{zone} bölgesinde şu an: {time}', /* === wiring:c2 - özelleştirilebilir kısayollar + hızlı bakış === */ 'shortcuts.quicklook': 'Hızlı bakış', 'shortcuts.customize': 'Özelleştir', 'shortcuts.settings.menu': 'Kısayollar', 'shortcuts.settings.title': 'Kısayol ayarları', 'shortcuts.settings.hint': 'Bir kısayolu değiştirmek için "Değiştir"e basıp yeni tuş kombinasyonuna basın. Değişiklikler yalnızca bu tarayıcıda saklanır.', 'shortcuts.settings.change': 'Değiştir', 'shortcuts.settings.capture': 'Tuşlara basın… (Esc iptal)', 'shortcuts.settings.reset': 'Varsayılana dön', 'shortcuts.settings.reset_all': 'Tümünü sıfırla', 'shortcuts.settings.unbound': 'Atanmadı', 'shortcuts.settings.fixed': 'Sabit', 'shortcuts.settings.customized': 'Özelleştirildi', 'shortcuts.settings.conflict': 'kombinasyonu "{name}" kısayolunda kullanılıyor.', 'shortcuts.settings.conflict_fixed': 'kombinasyonu "{name}" sabit kısayoluna ayrılmış - kullanılamaz.', 'shortcuts.settings.conflict_take': 'Eskisini boşa çıkar ve ata', 'shortcuts.settings.conflict_cancel': 'Vazgeç', 'quicklook.hint_close': 'kapat', 'quicklook.hint_nav': 'önceki/sonraki', 'quicklook.hint_open': 'aç', /* === /wiring:c2 === */ /* === wiring:c3 - işlem merkezi === */ 'opc.title': 'İşlemler', 'opc.aria_badge': '{n} işlem - işlem merkezini aç/kapat', 'opc.aria_badge_one': '{n} işlem - işlem merkezini aç/kapat', 'opc.close': 'Kapat', 'opc.active': 'Sürüyor', 'opc.history': 'Geçmiş', 'opc.clear': 'Temizle', 'opc.empty': 'İşlem yok', 'opc.cancel': 'İptal', 'opc.retry': 'Yeniden dene', 'opc.dismiss': 'Kapat', 'opc.queued': 'Sırada', 'opc.cancelling': 'İptal isteniyor…', 'opc.percent': '%{n}', 'opc.items': '{total} öğeden {done}', 'opc.trash_items': 'Çöpten {n} öğe', 'opc.trash_items_one': 'Çöpten {n} öğe', 'opc.status.running': 'Sürüyor', 'opc.status.done': 'Bitti', 'opc.status.error': 'Hata', 'opc.status.aborted': 'İptal edildi', 'opc.kind.upload': 'Yükleme', 'opc.kind.copy': 'Kopyalama', 'opc.kind.move': 'Taşıma', 'opc.kind.delete': 'Silme', 'opc.kind.rename': 'Yeniden adlandırma', 'opc.kind.restore': 'Geri getirme', 'opc.kind.purge': 'Kalıcı silme', 'opc.kind.convert': 'Dönüştürme', 'opc.kind.archive': 'Arşiv', 'opc.kind.plugin': 'Uygulama', 'opc.kind.trash': 'Çöp kutusunu boşaltma', 'opc.kind.thumbs': 'Küçük resim onarımı', /* A folder's contents on hover (FolderPeek, useFolderPeek). */ 'peek.items': '{n} öğe', 'peek.items_one': '{n} öğe', 'peek.more': '+{n} tane daha', 'peek.empty': 'Boş', 'peek.loading': 'İçine bakılıyor…', 'opc.open': 'Aç', /* Uygulama eklentileri - dosya menüsüne eklenen satırlar ve kuyruğa aldıkları işler (docs/APP-PLUGINS-API.md). */ 'plugin.queued': '{label} kuyruğa alındı', 'plugin.done': '{label} tamamlandı', 'plugin.failed': '{label} başarısız', 'plugin.cancel_failed': 'İş iptal edilemedi', 'plugin.not_applicable': 'Bu işlem seçime uygulanamaz', 'plugin.read_only': 'Bu depo salt okunur', 'plugin.needs_engine': '{name} bu sunucuda kurulu değil - sunucuya kurup filex\'i yeniden başlatın.', 'plugin.needs_other': '{name} bu sunucuda kullanılamıyor.', 'plugin.needs_office': 'Ofis belgeleri için {name} gerekiyor ve bu sunucuya bağlı değil - Dış servisler sayfasından bağlayın.', 'plugin.confirm.title': 'Onayla', 'plugin.confirm.cancel': 'Vazgeç', 'plugin.confirm.run': 'Çalıştır', 'plugin.view.close': 'Kapat', 'appframe.confirm_title': 'Onay', 'appframe.consent_clipboard': '{app} panonuza metin kopyalamak istiyor.', 'appframe.consent_download': '{app}, “{name}” dosyasını bilgisayarınıza kaydetmek istiyor.', 'appframe.consent_job': '{app} “{action}” işini başlatmak istiyor.', 'appframe.consent_allow': 'İzin ver', 'appframe.consent_deny': 'İzin verme', 'appframe.unsaved_title': 'Kaydedilmemiş değişiklikler', 'appframe.unsaved_text': '{app} içinde kaydedilmemiş değişiklikler var. Yine de kapatılsın mı?', 'appframe.discard': 'Kaydetmeden kapat', 'appframe.keep_open': 'Düzenlemeye devam et', 'appframe.save_close': 'Kaydet ve kapat', 'appframe.updated': '{app}, {version} sürümüne güncellendi.', 'appframe.updated_reload': 'Bir yönetici {app} uygulamasının yeni sürümünü onayladı. Yeni sürümü kullanmak için yeniden yükleyin - önce çalışmanızı kaydedin.', 'appframe.reload': 'Yeniden yükle', 'appframe.dismiss': 'Kapat', 'appframe.not_connected': '{app} başlamadı. Kapatıp yeniden açın; tekrar ederse yöneticinize haber verin.', 'appframe.save_as_title': '{app}: “{name}” nereye kaydedilsin?', 'plugin.view.busy': 'Çalışıyor…', 'plugin.view.unsupported': 'Bu ekran, bu sürümün çizemediği bir bileşen kullanıyor ({type})', 'plugin.view.error': 'Uygulama hata döndürdü', 'plugin.output_missing': 'Çıktı artık eski yerinde değil', /* M2 - surface components (components/plugin/nodes/*) */ 'plugin.view.loading': 'Yükleniyor…', 'plugin.view.preview_failed': 'Önizleme yüklenemedi', 'plugin.steps.label': 'Adımlar', 'plugin.list.empty': 'Henüz bir şey yok', 'plugin.list.actions': 'İşlemler', /* The label on a table row's ONE action control (core RowActions.vue). The explorer's handle is the ⋮ glyph; a panel row's says what it is. Owner, 2026-09-20: "adminde 'Aksiyon' diye yazmalı". */ 'row.actions': 'Aksiyon', 'plugin.people.placeholder': 'Ad veya e-posta', 'plugin.people.placeholder_email': 'E-posta adresi', 'plugin.people.add': 'Ekle', 'plugin.people.remove': '{name} kişisini kaldır', 'plugin.people.invalid_email': 'Geçerli bir e-posta adresi girin', 'plugin.people.external_off': 'Yalnızca hesabı olan kişiler eklenebilir', 'plugin.pin.label': 'PIN', 'plugin.file.choose': 'Seç…', 'plugin.file.clear': 'Temizle', 'plugin.file.none': 'Seçim yok', /* M3 - imza yolu: signature-pad + pdf-fields düğümleri ve dış katılımcının herkese açık sayfası (views/PublicSurface.vue, usePublicPage). */ 'plugin.sig.mode_draw': 'Çiz', 'plugin.sig.mode_type': 'Yaz', 'plugin.sig.mode_upload': 'Yükle', 'plugin.sig.draw_hint': 'Parmağınızla ya da fareyle buraya imzalayın', 'plugin.sig.type_placeholder': 'Adınızı yazın', 'plugin.sig.upload_pick': 'Görsel seç…', 'plugin.sig.upload_hint': 'PNG ya da JPEG, en çok {kb} KB', 'plugin.sig.upload_too_big': 'Görsel {kb} KB sınırından büyük', 'plugin.sig.upload_bad_type': 'Yalnızca PNG ya da JPEG görsel kullanılabilir', 'plugin.sig.upload_unreadable': 'Görsel okunamadı', 'plugin.sig.clear': 'İmzayı temizle', 'plugin.sig.signed': 'İmza alındı', 'plugin.pdf.load_failed': 'Belge yüklenemedi', 'plugin.pdf.palette': 'Alan türleri', 'plugin.pdf.pending': 'Yeri bekleyen kutular', 'plugin.pdf.place_box_hint': '“{name}” kutusunun gideceği yere dokunun ya da boyutlandırmak için sürükleyin', 'plugin.pdf.all_placed': 'Her kutunun bir yeri var', 'plugin.pdf.place_idle': 'Yukarıdaki kutulardan birini seçin, sonra sayfada gideceği yere dokunun.', 'plugin.pdf.place_idle_done': 'Kaldırmak ya da kopyalamak için sayfadaki bir kutuya dokunun; taşımak için sürükleyin.', 'plugin.pdf.no_boxes': 'Henüz kutu yok. Aşağıdan ekleyin: adını verin, kimin olduğunu söyleyin; yerini bir sonraki adımda belgede seçeceksiniz.', 'plugin.pdf.add_box': 'Kutu ekle', 'plugin.pdf.unplace': 'Sayfadan kaldır', 'plugin.pdf.place_hint': '{type} alanının gideceği yere dokunun ya da boyutlandırmak için sürükleyin', 'plugin.pdf.type_signature': 'İmza', 'plugin.pdf.type_initials': 'Paraf', 'plugin.pdf.type_date': 'Tarih', 'plugin.pdf.type_text': 'Metin', 'plugin.pdf.type_checkbox': 'Onay kutusu', 'plugin.pdf.tap_signature': 'İmzalamak için dokunun', 'plugin.pdf.tap_initials': 'Paraflamak için dokunun', 'plugin.pdf.tap_date': 'Bugünün tarihi için dokunun', 'plugin.pdf.tap_text': 'Metin', 'plugin.pdf.tap_checkbox': 'İşaretlemek için dokunun', 'plugin.pdf.label': 'Ad', 'plugin.pdf.assignee': 'İmzacı', 'plugin.pdf.unassigned': 'Herkes', 'plugin.pdf.filled_by': 'Dolduran', 'plugin.pdf.style': 'Nasıl imzalanır', 'plugin.pdf.style_drawn': 'Çizerek', 'plugin.pdf.style_typed': 'Yazarak', 'plugin.pdf.lines': 'Altına yazılanlar', 'plugin.pdf.lines_preview': 'İmzanın altında:', 'plugin.pdf.lines_none': 'Bu imzanın altına bir şey yazılmaz.', 'plugin.pdf.required': 'Zorunlu', 'plugin.pdf.copy_to_page': 'Sayfaya kopyala', 'plugin.pdf.copy': 'Kopyala', 'plugin.pdf.delete': 'Alanı sil', 'plugin.pdf.zoom_in': 'Yakınlaştır', 'plugin.pdf.zoom_out': 'Uzaklaştır', 'plugin.pdf.zoom_fit': 'Genişliğe sığdır', 'plugin.pdf.zoom_fit_page': 'Sayfayı ekrana sığdır', 'plugin.pdf.pad_for': '{type} alanınız', 'plugin.pdf.pad_done': 'Tamam', 'plugin.page.loading': 'Yükleniyor…', 'plugin.page.pin_title': 'Bu sayfa korumalı', 'plugin.page.pin_hint': 'Devam etmek için size verilen PIN\'i girin', 'plugin.page.pin_submit': 'Devam et', 'plugin.page.pin_wrong': 'Bu PIN doğru değil', 'plugin.page.pin_locked': 'Çok fazla yanlış PIN girildi - birkaç dakika bekleyip yeniden deneyin', 'plugin.page.unavailable_title': 'Bu bağlantı kullanılamıyor', 'plugin.page.unavailable_text': 'Süresi dolmuş, hakkı tükenmiş ya da geri çekilmiş olabilir. Gönderen kişiden yeni bir bağlantı isteyin.', 'plugin.page.accepted_title': 'Alındı, teşekkürler', 'plugin.page.accepted_text': 'Yanıtınız kaydedildi. Bu sayfayı kapatabilirsiniz.', 'plugin.page.done_title': 'Tamamlandı', 'plugin.page.done_text': 'Burada yapılacak başka bir şey kalmadı. Bu sayfayı kapatabilirsiniz.', 'plugin.page.error_title': 'Bir sorun oluştu', 'plugin.page.retry': 'Yeniden dene', 'plugin.page.files': 'Belgeler', 'plugin.page.open_file': '{name} dosyasını yeni sekmede aç', 'plugin.page.footer': 'filex ile sunuldu', /* Herkese açık sayfaların (paylaşım, dosya isteği) kendi cümleleri sunucunundur: `server.public.*` (composables/usePublicText). */ /* === Uygulama eklentileri v2 - `page` görünümü, uygulamanın dosya kilidi, işin yazdığı çıktı kipi, imza alanının yazı tipleri ve kuralları. === */ 'plugin.page_view.back': 'Dosyalara dön', 'plugin.page_view.queued_title': 'İş kuyruğa alındı', 'plugin.page_view.queued_text': 'filex işi yürütüyor. Bittiğinde bu sayfa söyler; ilerleyişi işlemler tepsisinde de görünür.', 'plugin.page_view.finished_title': 'İş bitti', 'plugin.page_view.finished_text': 'Burada yapılacak başka bir şey kalmadı. Dosyalara dönebilir ya da bu sekmeyi kapatabilirsiniz.', 'plugin.page_view.failed_title': 'İş tamamlanamadı', 'plugin.page_view.opening_title': 'Sonuç açılıyor', 'plugin.page_view.open_ops': 'İşlemler tepsisini aç', 'plugin.page_view.done_title': 'Tamamlandı', 'plugin.page_view.done_text': 'Burada yapılacak başka bir şey kalmadı. Bu sekmeyi kapatabilirsiniz.', 'plugin.page_view.error_title': 'Bu ekran açılamadı', 'plugin.page_view.retry': 'Yeniden dene', 'plugin.page_view.blocked': 'Yeni sekme engellendi - bu site için açılır pencerelere izin verin, yoksa ekran pencere içinde açılır', 'plugin.output.sibling': 'yeni dosya', 'plugin.output.version': 'yeni sürüm', 'plugin.output.sibling_title': 'Sonuç, aslının yanına yeni bir dosya olarak iner', 'plugin.output.version_title': 'Sonuç, dosyanın yerine yeni bir sürümü olarak geçer', 'plugin.sign.font_label': 'El yazısı', 'plugin.pdf.font': 'Yazı tipi', 'plugin.pdf.rule_number': 'Yalnızca sayı', 'plugin.pdf.rule_email': 'E-posta adresi', 'plugin.pdf.rule_length': '{min} ile {max} karakter arasında', 'plugin.pdf.rule_min': 'En az {min} karakter', 'plugin.pdf.rule_max': 'En çok {max} karakter', 'plugin.pdf.err_number': 'Bir sayı girin', 'plugin.pdf.err_email': 'Geçerli bir e-posta adresi girin', 'plugin.pdf.err_min': 'Çok kısa - en az {min} karakter', 'plugin.pdf.err_max': 'Çok uzun - en çok {max} karakter', 'applock.badge': 'Kilitli', 'applock.some_app': 'bir uygulama', 'applock.held': '{app} bu dosyayı kilitledi', 'applock.held_reason': '{app} bu dosyayı kilitledi: {reason}', 'applock.until': '- {date} tarihine kadar', 'applock.inspector': 'Uygulama kilidi', /* issue #34 - sunucunun İZLEMEDİĞİ sembolik bağ (lib/symlink). Rozet satırdaki kısa söz; `why` ise arkasındaki cümle - üzerine gelince, ayrıntılar panelinde ve biri açmaya kalkıştığında çıkan bildirimde. ⚠ Kırık bağ ile depo dışına çıkan bağ AYRI durumlardır ve ayrı okunmalıdır: yalnızca birinin yönetici çaresi vardır; silinmiş bir hedef için o çareyi önermek insanı işe yaramayacak bir ayar ekranına yollar. */ 'symlink.badge.outside_root': 'Depo dışında', 'symlink.badge.broken': 'Kırık bağ', 'symlink.badge.unresolved': 'Uzak bağ', 'symlink.badge.unknown': 'Bağlantı', 'symlink.why.outside_root': 'Hedefi bu deponun dışında kalan bir bağ; bu yüzden açılamıyor. Bir yönetici, deponun ayarlarındaki "Bu klasörün dışına çıkan sembolik bağları izle" seçeneğiyle buna izin verebilir.', 'symlink.why.broken': 'Hedefi artık var olmayan bir bağ; açılacak bir şey yok. Sunucuda onarılması ya da kaldırılması gerekir - hiçbir ayar silinmiş hedefi geri getirmez.', 'symlink.why.unresolved': 'Uzak sunucudaki bir bağ. filex hedefinin bu deponun içinde olup olmadığını bilemediği için bağı izlemez ve açamaz.', 'symlink.why.unknown': 'filex\'in izlemediği bir bağ, bu yüzden açılamıyor. Hedefi ya bu deponun dışında, ya kayıp, ya da filex\'in çözümleyemediği uzak bir sunucuda.', 'symlink.inspector': 'Açılamayan bir bağ', 'unavailable.why.file': 'Depo bu dosyanın hâlâ var olup olmadığını söyleyemedi. Depo yeniden yanıt verene kadar dosya açılamaz ve değiştirilemez; bir sonraki tarama yeniden denetler.', 'unavailable.why.dir': 'Depo bu klasörün hâlâ var olup olmadığını söyleyemedi. Depo yeniden yanıt verene kadar ne klasör ne de içindekiler açılabilir ya da değiştirilebilir; bir sonraki tarama yeniden denetler.', 'unavailable.withReason': '{why} Deponun yanıtı: {reason}', 'unavailable.inspector': 'Kullanılamıyor', /* 0.50 - why a file has no thumbnail, on the file itself (lib/thumbNote). */ 'thumbNote.corrupt': 'Bozuk', 'thumbNote.corrupt_why': 'Küçük resim yok: dosya okunamadı. Bozuk ya da eksik olabilir.', 'thumbNote.encrypted': 'Şifreli', 'thumbNote.encrypted_why': 'Küçük resim yok: dosya şifreli ya da parolayla korunuyor.', 'thumbNote.too_large': 'Çok büyük', 'thumbNote.too_large_why': 'Küçük resim yok: dosya, küçük resim boyut sınırından büyük.', 'thumbNote.full': '{label}. {why}', 'plugin.pdf.rule': 'Kabul ettiği', 'plugin.pdf.rule_kind_any': 'Serbest metin', 'plugin.pdf.rule_kind_number': 'Yalnızca sayı', 'plugin.pdf.rule_kind_email': 'E-posta adresi', 'plugin.pdf.rule_min_label': 'En az uzunluk', 'plugin.pdf.rule_max_label': 'En çok uzunluk', 'plugin.pdf.format': 'Tarih biçimi', 'plugin.pdf.date_order': 'Tarih sırası', 'plugin.pdf.date_separator': 'Ayraç', 'plugin.pdf.date_example': 'Örnek', 'opc.kind.archive-create': 'Arşiv oluşturuluyor', 'opc.kind.archive-extract': 'Arşiv çıkarılıyor', /* === wiring:c4 - onboarding turu + erişilebilirlik + hata kartı === */ 'tour.aria': 'Tanıtım turu', 'tour.restart': 'Turu tekrar başlat', 'tour.skip': 'Turu atla', 'tour.back': 'Geri', 'tour.next': 'İleri', 'tour.done': 'Bitti', 'tour.progress': '{n} / {m}', 'tour.step.nav.title': 'Depolar ve görünümler', 'tour.step.nav.desc': 'Ana sayfa, Benimle paylaşılanlar, Son kullanılanlar, Yıldızlılar ve Çöp kutusu hep bu panelde durur; altında da depolarınız ve bağlantılarınız. Sol üst köşedeki düğme paneli ince bir şeride indirir ve geri açar.', 'tour.step.nav.desc_closed': 'Bu düğme gezinti panelini açar: Ana sayfa, Benimle paylaşılanlar, Son kullanılanlar, Yıldızlılar ve Çöp kutusu; altında da depolarınız ve bağlantılarınız.', 'tour.step.new.title': 'Yeni bir şey ekle', 'tour.step.new.desc': 'Yeni olan her şey buradan başlar: bu cihazdan dosya yükleyebilir, klasör oluşturabilir ya da birinden dosya isteyebilirsiniz. Dosyaları pencereye sürükleyip bırakmak da yükler.', 'tour.step.new.desc_fab': 'Bu düğme bu cihazdan dosya yükler. Dosyaları pencereye sürükleyip bırakmak da çalışır.', 'tour.step.search.title': 'Arama', 'tour.step.search.desc': 'Bu alan deponun tamamında ada göre arar; ayraçları ve bir harflik yazım hatasını affeder, yani "fatura 2026" yazdığınızda fatura_2026.pdf gelir. tag:fatura yazarak etikete göre filtreleyebilirsiniz. Yanındaki sürgü düğmesi gelişmiş aramayı, {palette} ise komut paletini açar; palet komut da çalıştırır.', 'tour.step.crumb.title': 'Bulunduğunuz yer', 'tour.step.crumb.desc': 'Bu iz, ekrandaki klasörün adresidir. Adımlardan birine tıklayarak üste çıkabilir, sonuncusunun yanındaki oktan içindeki klasörleri görebilirsiniz.', 'tour.step.filters.title': 'Listeyi daralt', 'tour.step.filters.desc': 'Tür, Sahibi, Değiştirilme ve Boyut bulunduğunuz klasörü filtreler; yanındaki kutu siz yazdıkça adlara göre eşleşir, satırın sonundaki denetim ise sıralar.', 'tour.step.view.title': 'Görünümü değiştir', 'tour.step.view.desc': 'Bu klasörün nasıl çizildiğini değiştirir; seçiminiz hatırlanır.', 'tour.step.details.title': 'Ayrıntılar ve paylaşım', 'tour.step.details.desc': 'Bir dosyayı seçip bu paneli açtığınızda ayrıntılarını, hareketlerini ve paylaşım bağlantılarını görürsünüz. Tam menü için dosyaya sağ tıklayın ya da satırının sonundaki düğmeyi kullanın: oradaki "Paylaş" ile PIN ve son kullanma süresi verilebilen bir bağlantı oluşturulur.', 'tour.step.help.title': 'Kısayollar', 'tour.step.help.desc': '{help} tuşu kısayol kartını, {palette} komut paletini açar. Tema ve "Turu tekrar başlat" sağ üstteki "Diğer işlemler" menüsünde; hesabınız ve oturumu kapatma ise yanındaki avatarın arkasında.', 'error.hint': 'Bağlantı ya da sunucu kaynaklı geçici bir sorun olabilir. Yeniden deneyin.', 'error.details': 'Teknik ayrıntılar', 'col.star': 'Yıldız', 'toolbar.view_label': 'Görünüm', 'list.aria': 'Dosya listesi', 'grid.aria': 'Dosya ızgarası', /* === wiring:d1 - sekmeler + split panel === */ 'tabs.strip': 'Sekmeler', 'tabs.new': 'Yeni sekme', 'tabs.close': 'Sekmeyi kapat', 'tabs.split': 'Görünümü böl', 'tabs.split_off': 'Bölmeyi kapat', 'ctx.open_new_tab': 'Yeni sekmede aç', 'ctx.open_with': '{app} ile aç', 'ctx.open_with_builtin': "Yerleşik görüntüleyiciyle aç", 'ctx.open_with_choose': "Uygulama seç…", 'openWith.title': "Birlikte aç", 'openWith.lead': "{name} hangi uygulamayla açılsın?", 'openWith.builtin': "filex görüntüleyicisi (yerleşik)", 'openWith.onlyoffice': 'ONLYOFFICE (tablo düzenleyici)', 'openWith.now': "Şu an bununla açılıyor", 'openWith.always': "{ext} dosyalarını her zaman bu uygulamayla aç", 'openWith.hint': "Hesabınızda saklanır. Ayarlar, Varsayılan uygulamalar bölümünden değiştirebilirsiniz.", 'openWith.open': "Aç", 'shortcuts.group.tabs': 'Sekmeler', 'shortcuts.tab_new': 'Yeni sekme', 'shortcuts.tab_close': 'Sekmeyi kapat', 'shortcuts.tab_next': 'Sonraki sekme', 'shortcuts.tab_prev': 'Önceki sekme', /* tus:t1 - menü fiilleri */ 'shortcuts.new_folder': 'Yeni klasör', 'shortcuts.upload': 'Dosya yükle', 'shortcuts.refresh': 'Listeyi yenile', 'shortcuts.download': 'İndir', 'shortcuts.preview': 'Önizle', 'shortcuts.share': 'Paylaş', 'shortcuts.tags': 'Etiketler', 'shortcuts.open_tab': 'Yeni sekmede aç', 'shortcuts.copy_path': 'Yolu kopyala', 'shortcuts.copy_id': 'Kimliği kopyala', 'shortcuts.restore': 'Çöp kutusundan geri al', 'shortcuts.settings.reserved': 'tarayıcı tarafından sayfaya ulaşmadan yakalanıyor, burada hiçbir şey yapmaz. Başka bir tuş seçin.', 'shortcuts.settings.reserved_badge': 'Yalnız masaüstü uygulamasında', 'shortcuts.settings.reserved_title': 'Bu kombinasyonu tarayıcının kendisi işliyor. Masaüstü uygulamasında ve kurulu PWA’da çalışır, tarayıcı sekmesinde çalışmaz.', 'cmd.tab_new': 'Yeni sekme aç', 'cmd.split_toggle': 'Görünümü böl / birleştir', 'split.pane': 'İkincil panel', 'split.close': 'Yan paneli kapat', 'split.error': 'Liste yüklenemedi', 'split.retry': 'Yeniden dene', 'split.copy_queued': 'Kopyalama kuyruğa alındı', 'split.move_queued': 'Taşıma kuyruğa alındı', 'toast.move_kept_both': 'Taşıma kuyruğa alındı. Hedefte aynı adla bir öğe vardı, taşınan öğe onun yanına “-copy” ekiyle konacak. Bu taşıma geri alınamaz.', 'split.cross_copy': 'Depolar farklı - kopyalama kuyruğa alındı', 'dragout.downloading': 'Bırakılan klasöre indiriliyor…', 'dragout.downloading_n': 'Bırakılan klasöre indiriliyor - şimdiye dek {n} dosya…', 'dragout.downloading_n_one': 'Bırakılan klasöre indiriliyor - şimdiye dek {n} dosya…', 'dragout.stop': 'Durdur', 'dragout.stopping': 'Durduruluyor…', 'dragout.stopped': 'Durduruldu - gelenler klasörde kalıyor', 'dragout.not_found': 'Bırakılan yer bulunamadı - dosya bir klasöre değil bir uygulamaya bırakıldıysa indirme yapılamaz', 'dragout.done': 'İndirme tamamlandı', 'dragout.ready': 'Dosyalar hazır - masaüstüne sürükleyebilirsiniz', 'dragout.preparing': 'Sürükleme için hazırlanıyor…', 'split.cross_move': 'Depolar farklı - taşıma kuyruğa alındı (baytlar aktarılıp kaynak silinir)', /* === /wiring:d1 === */ /* wiring:d2 - galeri görünümü */ 'toolbar.view.gallery': 'Galeri', 'gallery.aria': 'Dosya galerisi', /* /wiring:d2 */ /* wiring:d3 - Yorumlar (inspector node comments) */ 'inspector.section.comments': 'Yorumlar', 'inspector.comments.empty': 'Henüz yorum yok.', 'inspector.comments.placeholder': 'Yorum yaz…', 'inspector.comments.send': 'Gönder', 'inspector.comments.delete': 'Yorumu sil', /* wiring:e2 - uçtan uca şifreli klasörler */ 'e2e.create.title': 'Şifreli klasör oluştur', 'e2e.create.option': 'Şifreli klasör oluştur…', 'e2e.create.pw_label': 'Klasör parolası', 'e2e.create.pw_placeholder': 'En az 8 karakter', 'e2e.create.pw2_label': 'Parolayı tekrar girin', 'e2e.create.warn_title': 'GERİ DÖNÜŞÜ YOK', 'e2e.create.warn_body': 'Bu klasördeki dosyalar yalnız bu parolayla ya da klasör oluşturulurken bir kez gösterilen kurtarma anahtarıyla açılır. Parola sunucuda TUTULMAZ; kurtarma anahtarının da filex\'te kopyası kalmaz. İkisini de kaybederseniz içerik sonsuza dek gider.', 'e2e.create.ack': 'Anladım: parolayı da kurtarma anahtarını da kaybedersem verilerim kurtarılamaz.', 'e2e.create.ack_required': 'Devam etmek için uyarıyı onaylayın.', 'e2e.create.pw_short': 'Parola en az 8 karakter olmalı.', 'e2e.create.pw_mismatch': 'Parolalar birbirini tutmuyor.', 'e2e.create.bad_name': 'Geçersiz klasör adı.', 'e2e.create.create': 'Şifreli klasörü oluştur', 'e2e.create.busy': 'Oluşturuluyor…', 'e2e.create.done': 'Şifreli klasör oluşturuldu', 'e2e.create.failed': 'Şifreli klasör oluşturulamadı', 'e2e.create.nested': 'Şifreli klasörün içine ikinci bir şifreli klasör açılamaz.', /* wiring:e2 policy - bir yöneticiden şifreleme izni istemek. */ 'e2e.request.ctx': 'Şifreleme iste…', 'e2e.request.option': 'Şifreli klasör iste…', 'e2e.request.title': '“{name}” için şifreleme iste', 'e2e.request.lead': 'Burada şifreli klasör oluşturmak için yönetici onayı gerekiyor. Neden gerektiğini yazın; yanıt size bildirilir. Onay sizin ve bu klasör içindir: hemen içinde yeni bir şifreli klasör oluşturmak için bir kez kullanılabilir.', 'e2e.request.lead_folder': 'Bu klasörü şifrelemek için yönetici onayı gerekiyor. Neden gerektiğini yazın; yanıt size bildirilir. Onay sizin ve bu klasör içindir: bu klasörü olduğu yerde şifrelemek için bir kez kullanılabilir, içindeki bir klasör için kullanılamaz.', 'e2e.request.lead_file': 'Bu dosyayı şifrelemek için yönetici onayı gerekiyor. Neden gerektiğini yazın; yanıt size bildirilir. Onay sizin ve bu dosyanın bulunduğu klasör içindir: orada yeni bir şifreli dosya için bir kez kullanılabilir.', 'e2e.request.reason': 'Gerekçe', 'e2e.request.reason_placeholder': 'İçinde ne var, neden şifrelenmesi gerekiyor', 'e2e.request.reason_required': 'Yönetici için bir gerekçe yazın.', 'e2e.request.send': 'İsteği gönder', 'e2e.request.sending': 'Gönderiliyor…', 'e2e.request.sent': 'İstek gönderildi. Bir yönetici yanıtladığında size bildirilecek.', 'e2e.request.already': 'Bunu zaten istediniz; bir yöneticinin yanıtını bekliyor.', 'e2e.request.failed': 'İstek gönderilemedi.', 'e2e.locked.title': 'Bu klasör uçtan uca şifreli', 'e2e.locked.hint': 'İçeriği görmek için klasör parolasını girin. Parola yalnız bu sekmede, bellekte tutulur.', 'e2e.locked.pw_placeholder': 'Klasör parolası', 'e2e.locked.unlock': 'Kilidi aç', 'e2e.locked.busy': 'Doğrulanıyor…', 'e2e.unlock.wrong': 'Parola yanlış.', 'e2e.unlock.damaged': 'Parola doğru ama anahtar dosyasındaki (.filex-e2e.json) klasör anahtarı açılmıyor: dosya bozulmuş. Kurtarma anahtarını deneyin.', 'e2e.unlock.marker_missing': 'Anahtar dosyası (.filex-e2e.json) okunamadı.', /* ikon:emoji - listedeki işaretin erişilebilir adı. Satır eskiden yalnız bir 🔒 basıyordu; onun yerini alan asma kilit kutunun içinde aria-hidden, dolayısıyla adı taşıyan yer bu. */ 'e2e.badge': 'Şifreli klasör', 'e2e.strip.label': 'Şifreli klasör - kilit açık', 'e2e.strip.lock': 'Kilitle', /* wiring:e2 password - klasör parolasını değiştirme */ 'e2e.password.strip_action': 'Parolayı değiştir…', 'e2e.password.title': 'Klasör parolasını değiştir', 'e2e.password.reset_title': 'Bu klasör için yeni bir parola belirleyin', 'e2e.password.reset_lead': 'Bu klasörü kurtarma anahtarıyla açtınız; parolası kaybolmuş ya da başkası tarafından biliniyor olabilir. Şimdi yeni bir parola belirleyin. Bu pencereyi kapatmak klasörü yeniden kilitler.', 'e2e.password.current': 'Mevcut parola', 'e2e.password.recovery': 'Kurtarma anahtarı', 'e2e.password.use_recovery': 'Hatırlamıyorum - kurtarma anahtarını kullan', 'e2e.password.use_current': 'Bunun yerine mevcut parolayı kullan', 'e2e.password.new': 'Yeni parola', 'e2e.password.current_required': 'Mevcut parolayı girin ya da kurtarma anahtarını kullanın.', 'e2e.password.bad_recovery': 'Bu bir kurtarma anahtarı değil (dörderli gruplar hâlinde 32 karakter).', 'e2e.password.same': 'Yeni parola mevcut parolayla aynı.', 'e2e.password.cheap_note': 'Yalnız klasörün anahtar dosyası değişir. Hiçbir dosya yeniden şifrelenmez; kurtarma anahtarı ve varsa emanet anahtarı çalışmaya devam eder.', 'e2e.password.old_copies': 'Eski parolayı bilen ve anahtar dosyasının eski bir kopyasına (bir sürüm, bir yedek) sahip olan biri klasörü onunla hâlâ açabilir. Bu bir risk ise “Klasör anahtarını da değiştir”i işaretleyin.', 'e2e.password.rotate_label': 'Klasör anahtarını da değiştir (her dosyanın anahtarı yeniden sarılır; eski parola başkasınca biliniyor olabilirse kullanın)', 'e2e.password.rekey_title': 'Bu klasör v0.31 öncesinden: anahtarı parolasından türetiliyor', 'e2e.password.rekey_body': 'Bu yüzden yeni bir parola yeni bir klasör anahtarı gerektirir ve klasördeki her dosyanın anahtarı onunla yeniden sarılır. İçerik yeniden şifrelenmez. Biraz sürebilir; yarıda kalırsa kaldığı yerden devam eder, dosyalar bu sırada da açılır.', 'e2e.password.rotate_title': 'Klasör anahtarı da değişir', 'e2e.password.rotate_body': 'Her dosyanın anahtarı yeni bir klasör anahtarıyla yeniden sarılır. İçerik yeniden şifrelenmez. Yarıda kalırsa kaldığı yerden devam eder; dosyalar bu sırada da açılır.', 'e2e.password.rekey_rk_new': 'Yeni bir kurtarma anahtarı alırsınız, bir kez gösterilir; eskisi artık çalışmaz.', 'e2e.password.rekey_rk_kept': 'Kullandığınız kurtarma anahtarı çalışmaya devam eder.', 'e2e.password.rekey_escrow': 'İşletmecinin emanet anahtarı çalışmaya devam eder: yuvası yeni klasör anahtarına mühürlenir.', 'e2e.password.rekey_ack': 'Anlıyorum: bu, klasördeki her dosyanın anahtarını yeniden sarar.', 'e2e.password.submit': 'Parolayı değiştir', 'e2e.password.busy': 'Değiştiriliyor…', 'e2e.password.lock_instead': 'Bunun yerine klasörü kilitle', 'e2e.password.wrong_current': 'Parola yanlış.', 'e2e.password.wrong_recovery': 'Kurtarma anahtarı yanlış.', 'e2e.password.escrow_blocked': 'Bu klasörün, bu kurulumda bulunmayan bir anahtar için emanet yuvası var; klasör anahtarını değiştirmek onu kaybettirir. Hiçbir şey değiştirilmedi.', 'e2e.password.failed': 'Parola değiştirilemedi. Hiçbir şey değiştirilmedi.', 'e2e.password.done': 'Parola değişti. Eski parola bu klasörü artık açmıyor.', 'e2e.password.resume_title': 'Dosya anahtarları hâlâ yeniden sarılıyor', 'e2e.password.resume_body': 'Parola değişti ve yeni bir klasör anahtarı verildi. Bazı dosyaların anahtarı hâlâ öncekinin altında; her iki durumda da açılırlar. Bitirmek için devam edin.', 'e2e.password.progress': 'Şu ana kadar {n} dosya yeniden sarıldı · {failed} başarısız', 'e2e.password.progress_one': 'Şu ana kadar {n} dosya yeniden sarıldı · {failed} başarısız', 'e2e.password.rekey_partial': '{n} dosya yeniden sarılamadı. Önceki anahtarla hâlâ açılıyorlar; yeniden denemek için devam edin.', 'e2e.password.rekey_partial_one': '{n} dosya yeniden sarılamadı. Önceki anahtarla hâlâ açılıyor; yeniden denemek için devam edin.', 'e2e.password.rekey_done': 'Yeni klasör anahtarı yerinde ({n} dosya yeniden sarıldı). Eski parola burada artık hiçbir şey açmıyor.', 'e2e.password.rekey_done_one': 'Yeni klasör anahtarı yerinde ({n} dosya yeniden sarıldı). Eski parola burada artık hiçbir şey açmıyor.', 'e2e.recovery.lead_replaced': 'Klasörün yeni bir anahtarı var, bu yüzden yeni bir kurtarma anahtarı da var - eskisi artık açmıyor. Bir kez gösterilir; filex kopyasını tutmaz.', /* wiring:e2 names - şifreli dosya ve klasör adları */ 'e2e.unlock.unsupported': 'Bu klasör daha yeni bir filex istiyor: bu sürümün tanımadığı bir özellik kullanıyor ({features}). Hiçbir şey değiştirilmedi.', 'e2e.settings.open': 'Şifreleme ayarları…', 'e2e.settings.title': 'Şifreleme ayarları', 'e2e.settings.level': 'Şifreleme seviyesi', 'e2e.settings.password': 'Parola', 'e2e.settings.escrow': 'Emanet anahtarı', 'e2e.settings.close': 'Kapat', 'e2e.level.content': 'Yalnız içerik', 'e2e.level.names': 'İçerik ve adlar', 'e2e.level.content_hint': 'Dosya içerikleri şifrelenir. Dosya ve klasör adları sunucuya açık kalır; böylece WebDAV, komut satırı ve masaüstü senkronu adlarla çalışmayı sürdürür ve 0.31\'den beri her filex klasörü açar.', 'e2e.level.names_hint': 'İçerik de dosya ve klasör adları da şifrelenir: sunucu yalnız karıştırılmış adlar görür. WebDAV, komut satırı ve masaüstü senkronu da adları karıştırılmış görür; filex 0.47 ve öncesi klasörü açmaz.', 'e2e.level.pending': 'seviye değişikliği bitmedi', 'e2e.level.change': 'Seviyeyi değiştir…', 'e2e.level.raise_title': 'Bu klasör “İçerik ve adlar” seviyesine geçsin mi?', 'e2e.level.raise_body': 'filex buradaki her dosya ve klasöre bu tarayıcıda şifreli bir ad verir. İçeriğe dokunulmaz; yarıda kalırsa kaldığı yerden devam eder. filex açık adlara geri dönüş yolu sunmaz.', 'e2e.level.raise_ack': 'Neyin değiştiğini anladım', 'e2e.level.raise_go': 'Adları şifrele', /* wiring:e2 vault - 3. seviye, kasa (docs/E2E-VAULT-FORMAT.md) */ 'e2e.level.vault': 'Kasa', 'e2e.level.vault_hint': 'İçerik, adlar ve bütün ağaç şifrelenir: sunucu yalnız aynı boyda paketler tutar; kaç dosya olduğunu, adlarını, boyutlarını ve tarihlerini görmez.', 'e2e.level.vault_cost': 'Bedeli: aynı anda yalnız bir kişi yazar ve kasayı yalnız filex açar (web, masaüstü, filex decrypt ve filex vault mount). WebDAV, klasör eşitleme, paylaşım bağlantıları ve sunucudaki önizlemeler içine ulaşmaz.', 'e2e.vault.pack_label': 'Paket boyutu', 'e2e.vault.pack_4': '4 MiB', 'e2e.vault.pack_4_help': 'Varsayılan. En küçük değişiklik 4 MiB yükler.', 'e2e.vault.pack_16': '16 MiB', 'e2e.vault.pack_16_help': 'Sunucuda daha az ve daha büyük dosya. Her değişiklik en az 16 MiB yükler.', 'e2e.vault.pack_hint': 'Yalnız şimdi seçilir, sonra değişmez. Sunucudaki her paket bu boydadır; kullanılmayan yeri rastgele baytlarla doldurulur.', 'e2e.vault.read_only': 'Salt okunur. Bir yükleme, yeni bir klasör ya da başka bir değişiklik, kimse tutmuyorsa yazma kilidini alır.', 'e2e.vault.writing': 'Bu kasaya şu an siz yazıyorsunuz. {left} boyunca hiçbir şey yapmazsanız salt okunura döner.', 'e2e.vault.lock_countdown': '{left} boyunca içinde hiçbir şey yapılmazsa kasa kilitlenir ve parolayı yeniden sorar.', 'e2e.vault.held_by': '{name} {since} tarihinden beri yazıyor. Kasa sizin için salt okunur.', 'e2e.vault.someone': 'Biri', 'e2e.vault.take_over': 'Devral', 'e2e.vault.lost_idle': '{n} dakika boyunca hiçbir şey yapmadığınız için kasa salt okunura döndü. Hiçbir şey kaybolmadı.', 'e2e.vault.lost_idle_one': '{n} dakika boyunca hiçbir şey yapmadığınız için kasa salt okunura döndü. Hiçbir şey kaybolmadı.', 'e2e.vault.lost_taken': 'Yazmayı başka biri devraldı. Kaydettikleriniz yerinde duruyor; kasa sizin için salt okunur.', 'e2e.vault.lost_taken_by': '{name} yazmayı devraldı. Kaydettikleriniz yerinde duruyor; kasa sizin için salt okunur.', 'e2e.vault.lost_broken_by': '{name} yazma kilidinizi kaldırdı. Kaydettikleriniz yerinde duruyor; kasa sizin için salt okunur.', 'e2e.vault.lost_connection': 'Bağlantı koptuğu için kasa salt okunura döndü.', 'e2e.vault.lost_expired': 'Yazma kilidinin süresi dolduğu için kasa salt okunura döndü.', 'e2e.vault.unsaved': 'Kaydedilmedi: {names}. Kasa boşalınca yeniden yapın.', 'e2e.vault.saving': 'Kaydediliyor…', 'e2e.vault.saving_progress': 'Kaydediliyor: {total} içinden {done}', 'e2e.vault.dismiss': 'Tamam', 'e2e.vault.continue': 'Bu durumdan devam et', 'e2e.vault.ro_damaged': 'Bu kasanın en yeni durumu bozuk. {when} tarihli durumu görüyorsunuz, salt okunur.', 'e2e.vault.ro_damaged_short': 'Bu kasanın en yeni durumu bozuk. Daha eski bir durumu görüyorsunuz, salt okunur.', 'e2e.vault.ro_rollback': 'Sunucu bu kasanın, bu sekmenin daha önce gördüğünden eski bir durumunu sunuyor. Kasa burada salt okunur kalır.', 'e2e.vault.ro_newer': 'Bu kasayı daha yeni bir filex yazmış. Bu sürüm onu okur ama değiştirmez.', 'e2e.vault.unreadable': 'Bu kasanın hiçbir durumu okunamıyor: hiçbir şey gösterilemez ve hiçbir şey yazılmaz.', 'e2e.vault.limit_warn': 'Bu kasa en fazla {max} dosya ve klasör tutabilir; şu an {held} tane tutuyor.', 'e2e.vault.cross': 'Sunucuda kasa ile dışındaki klasörler arasında hiçbir şey taşınmaz: birinden indirin, sonra ötekine yükleyin.', 'e2e.vault.dl_too_big': 'Bu tarayıcı bu kadar büyük bir dosyayı bellekten kaydedemez. Doğrudan diske kaydeden bir tarayıcı (Chrome, Edge) ya da filex decrypt kullanın.', 'e2e.vault.damaged_file': 'Bu dosya kasada bozuk ve okunamadı.', 'e2e.vault.level_fixed': 'Kasa kasa olarak kalır: seviyesi değişmez, anahtarı yenilenmez. Yeni bir anahtarla baştan başlamak için yeni bir kasa oluşturup dosyaları içine taşıyın.', 'e2e.vault.locked_idle_toast': '“{name}” içinde 15 dakika hiçbir şey yapılmadığı için kasa kendini kilitledi. Yeniden açmak için parolayı girin.', 'e2e.vault.open_failed': 'Kasa açılamadı.', 'e2e.vault.err.parent_missing': 'İçine gideceği klasör artık yok.', 'e2e.vault.err.parent_not_folder': '“{name}” bir klasör değil, bir dosya.', 'e2e.vault.err.name_taken': 'Orada “{name}” adı zaten var.', 'e2e.vault.err.bad_name': '“{name}” kasada ad olamaz: 1 ile 255 bayt arası olmalı, eğik çizgi ya da denetim karakteri içermemeli, . ya da .. olmamalı.', 'e2e.vault.err.too_deep': 'Kasada klasörler en fazla 256 düzey iç içe olabilir.', 'e2e.vault.err.not_found': '“{name}” artık kasada yok.', 'e2e.vault.err.is_folder': '“{name}” bir klasör.', 'e2e.vault.err.into_itself': 'Bir klasör kendi içine taşınamaz.', 'e2e.vault.err.too_many_entries': 'Bu kasa dolu: en fazla 250 000 dosya ve klasör tutar. Hiçbir şey değiştirilmedi.', 'e2e.vault.err.index_too_large': 'Bu kasanın dizini sınırına ulaştı. Hiçbir şey değiştirilmedi.', 'e2e.vault.err.newer_format': 'Bu kasayı daha yeni bir filex yazmış. Bu sürüm onu okur ama değiştirmez.', 'e2e.vault.err.size_mismatch': 'Bir dosya yüklenirken değişti. Yeniden yükleyin.', 'e2e.vault.err.failed': 'Değişiklik kaydedilemedi.', 'userSettings.vault.idle': 'Kasa: salt okunura dönme süresi', 'userSettings.vault.idle_help': 'Yazdığınız bir kasada hiçbir şey yapmadığınızda kasanın ne kadar süre sizde kalacağı. Sonra başkaları yazabilir; kasanız salt okunura döner ve 15 dakika sonra kilitlenir.', 'userSettings.vault.minutes': '{n} dakika', 'userSettings.vault.minutes_one': '{n} dakika', 'userSettings.vault.saved': 'Kaydedildi', 'userSettings.vault.failed': 'Kasa ayarı kaydedilemedi.', 'e2e.names.move_unreadable': 'Taşınmadı: öğelerden birinin adı okunamıyor.', 'e2e.names.move_taken': 'Taşınmadı: o klasörde “{name}” adı zaten var. Önce ikisinden birinin adını değiştirin.', 'e2e.convert.ctx': 'E2EE ile şifrele…', 'e2e.convert.title': '“{name}” klasörünü şifrele', 'e2e.convert.lead': 'Bu klasördeki her dosya bulunduğu yerde, bu tarayıcıda, aşağıdaki parolayla şifrelenir. Hiçbir şey yer değiştirmez; 1. seviyede adlar olduğu gibi kalır. Yarıda kalırsa klasörü yeniden açınca devam eder.', 'e2e.convert.past_title': 'Sunucuda zaten olanlar', 'e2e.convert.past_body': 'Şifreleme bu dosyaları bundan sonrası için korur. Şimdiye kadar sunucu onları açık hâlde tuttu ve bazı kopyalar kalır: filex küçük resimlerini ve arama için çıkardığı metni siler; bu klasörün eski sürümlerini ve çöp kutusundaki kayıtlarını da silebilir.', 'e2e.convert.drop_versions': 'Bu dosyaların eski sürümlerini sil (şifresizdirler)', 'e2e.convert.drop_trash': 'Bu klasörden çöp kutusuna gidenleri sil', 'e2e.convert.past_outside': 'Yedekler, kopya sunucular ve birinin önceden aldığı kopyalar filex\'in dışındadır ve olduğu gibi kalır.', 'e2e.convert.submit': 'Klasörü şifrele', 'e2e.convert.nested': 'Bu klasörün içinde şifreli bir klasör var. Şifreli klasörler iç içe olamaz; hiçbir şey değiştirilmedi.', 'e2e.convert.failed': 'Klasör şifrelenemedi. Şifrelenmiş dosyalar öyle kalır; devam etmek için klasörü açın.', 'e2e.convert.stopped': '{n} dosyadan sonra durduruldu. Klasörün üstündeki şeritten devam edebilirsiniz.', 'e2e.convert.stopped_one': '{n} dosyadan sonra durduruldu. Klasörün üstündeki şeritten devam edebilirsiniz.', 'e2e.convert.partial': '{n} dosya şifrelenemedi (bu arada değişti, çok büyük ya da yazılamıyor). Hâlâ şifresizler; devam etmek için yeniden deneyin.', 'e2e.convert.partial_one': '{n} dosya şifrelenemedi (bu arada değişti, çok büyük ya da yazılamıyor). Hâlâ şifresiz; devam etmek için yeniden deneyin.', 'e2e.convert.too_large_here': '{n} dosya bu tarayıcının tek parçada gönderebileceğinden büyük ve bu sunucu parça parça yükleme almıyor; bu yüzden yerlerinde şifrelenemediler. Hâlâ şifresizler ve onlar şifrelenene kadar klasörün şifrelenmesi tamamlanmış sayılmaz.', 'e2e.convert.too_large_here_one': '{n} dosya bu tarayıcının tek parçada gönderebileceğinden büyük ve bu sunucu parça parça yükleme almıyor; bu yüzden yerinde şifrelenemedi. Hâlâ şifresiz ve o şifrelenene kadar klasörün şifrelenmesi tamamlanmış sayılmaz.', 'e2e.convert.large_progress': '“{name}” şifreleniyor: %{percent}', 'e2e.convert.busy': 'Klasör şifreleniyor…', 'e2e.convert.resume_title': 'Bu klasörü şifrelemeyi bitirin', 'e2e.convert.resume_body': 'Bu klasörü şifreleme işi başladı ama bitmedi. Henüz ulaşılmayan dosyalar sunucuda hâlâ şifresiz. Devam ederseniz kaldığı yerden sürer.', 'e2e.convert.progress': '{total} dosyanın {n} tanesi şifrelendi · {failed} dosya kaldı', 'e2e.convert.progress_one': '{total} dosyanın {n} tanesi şifrelendi · {failed} dosya kaldı', 'e2e.convert.done': 'Klasör şifrelendi ({n} dosya). Silinen eski sürüm: {versions}; silinen çöp kaydı: {trash}.', 'e2e.convert.done_one': 'Klasör şifrelendi ({n} dosya). Silinen eski sürüm: {versions}; silinen çöp kaydı: {trash}.', 'e2e.convert.cleanup_failed': 'Klasör şifrelendi ama eski sürümleri ve çöp kayıtları silinemedi - bunu yalnız klasörün sahibi ya da bir yönetici yapabilir.', 'e2e.names.locked_item': '🔒 Şifreli öğe', 'e2e.names.unreadable_item': '🔒 Adı okunamıyor', 'e2e.names.key_failed': 'Anahtar dosyası bu klasördeki adların şifreli olduğunu söylüyor ama ad anahtarı bu anahtarla açılmıyor. Hiçbir şey değiştirilmedi.', 'e2e.names.write_failed': 'Uzun bir adın ad dosyası yazılamadı, bu yüzden hiçbir şey yüklenmedi.', 'e2e.names.bad_name': '“{name}” şifreli klasörde kullanılamaz: ad 1-255 bayt olmalı; bölü, ters bölü ya da kontrol karakteri içeremez.', 'e2e.names.offer_cost': 'Ne değişir: WebDAV, komut satırı ve masaüstü senkronu adları karıştırılmış görür; filex 0.47 ve öncesi bu klasörü açmayı reddeder. Sunucu kaç öğe olduğunu ve boyutlarını hâlâ görür.', 'e2e.names.resume_title': 'Adları şifrelemeyi bitirin', 'e2e.names.resume_body': 'Bu klasördeki adları şifreleme işi başladı ama bitmedi. Henüz ulaşılmayan öğelerin adları hâlâ açık. Devam ederseniz kaldığı yerden sürer.', 'e2e.names.resume': 'Devam et', 'e2e.names.stop': 'Durdur', 'e2e.names.busy': 'Adlar şifreleniyor…', 'e2e.names.progress': 'Şu ana kadar {n} ad şifrelendi · {failed} öğe yeniden adlandırılamadı', 'e2e.names.progress_one': 'Şu ana kadar {n} ad şifrelendi · {failed} öğe yeniden adlandırılamadı', 'e2e.names.done': 'Adlar şifrelendi ({n} öğe yeniden adlandırıldı). Sunucu artık adları göremiyor.', 'e2e.names.done_one': 'Adlar şifrelendi ({n} öğe yeniden adlandırıldı). Sunucu artık adları göremiyor.', 'e2e.names.stopped': '{n} addan sonra durduruldu. Kalanlar siz devam edene kadar açık adlarını korur.', 'e2e.names.stopped_one': '{n} addan sonra durduruldu. Kalanlar siz devam edene kadar açık adlarını korur.', 'e2e.names.partial': '{n} öğe yeniden adlandırılamadı (izin yok ya da ad bir diskte tutulamıyor). Adları açık kalıyor; devam etmek için yeniden deneyin.', 'e2e.names.partial_one': '{n} öğe yeniden adlandırılamadı (izin yok ya da ad bir diskte tutulamıyor). Adı açık kalıyor; devam etmek için yeniden deneyin.', 'e2e.names.failed': 'Adlar şifrelenemedi. Zaten yeniden adlandırılanlar kaybolmaz; devam etmek için yeniden deneyin.', 'e2e.names.strip_fix': '{n} adı düzelt (açık kalmış ya da filex dışından taşınmış)', 'e2e.names.strip_fix_one': '{n} adı düzelt (açık kalmış ya da filex dışından taşınmış)', 'e2e.create.names_root_hint': 'Klasörün kendi adı her durumda açık kalır - şifresiz bir klasörün içinde durur. Hiçbir şey ele vermeyen bir ad seçin.', 'e2e.locked_toast': 'Klasör kilitlendi', 'e2e.upload.locked': 'Önce klasörün kilidini açın', 'e2e.decrypting': 'Çözülüyor…', 'e2e.decrypt_failed': 'Dosya çözülemedi (parola değişmiş ya da dosya bozulmuş olabilir).', /* wiring:e2 recovery - kurtarma anahtarı + yönetici escrow'u */ 'e2e.create.escrow_title': 'Bu sunucunun da bir anahtarı var', 'e2e.create.escrow_body': 'Bu kurulumda anahtar emaneti (escrow) açık: sunucunun işletmecisi bu klasörü parolanız olmadan açabilir. O anahtar kullanıldığında size bildirim gelir. Escrow sunucu kurulurken sabitlenir; bir klasör için kapatılamaz.', 'e2e.locked.use_recovery': 'Parolayı mı kaybettiniz? Kurtarma anahtarı kullanın', 'e2e.recovery.title': 'Kurtarma anahtarınızı saklayın', 'e2e.recovery.title_upgraded': 'Kurtarma anahtarınız', 'e2e.recovery.lead': 'Bu anahtar klasörü parolasız açar. Yalnız bir kez gösterilir - filex bu anahtarı saklamaz ve bir daha gösteremez.', 'e2e.recovery.lead_upgraded': 'Bu klasörün artık bir kurtarma anahtarı var. Klasörü parolasız açar, yalnız bir kez gösterilir ve filex\'te kopyası kalmaz.', 'e2e.recovery.copy': 'Kopyala', 'e2e.recovery.copied': 'Kopyalandı', 'e2e.recovery.download': 'Dosya olarak indir', 'e2e.recovery.warn_title': 'BUNU PAROLA GİBİ SAKLAYIN', 'e2e.recovery.warn_body': 'Bu anahtarı eline geçiren herkes klasörü okuyabilir. Parolanızdan ayrı bir yerde tutun - parolanın yanında duran bir anahtar sizi unutmaya karşı korur, başkasına karşı değil.', 'e2e.recovery.escrow_title': 'Bu sunucunun da bir anahtarı var', 'e2e.recovery.escrow_body': 'Bu kurulumda anahtar emaneti açık: sunucunun işletmecisi bu klasörü parolanız olmadan açabilir. O anahtar kullanıldığında size bildirim gelir.', 'e2e.recovery.escrow_kid': 'Emanet anahtarı', 'e2e.recovery.ack': 'Bu anahtarı güvenli bir yere kaydettim.', 'e2e.recovery.done': 'Tamam', 'e2e.recover.title': 'Parolasız kilit açma', 'e2e.recover.none': 'Bu klasör kurtarma anahtarları eklenmeden önce oluşturulmuş, bu yüzden anahtarı yok. Tek giriş yolu parolası. Bir kez parolayla açın, filex kurtarma anahtarı eklemeyi önerecek.', 'e2e.recover.tab_recovery': 'Kurtarma anahtarı', 'e2e.recover.tab_escrow': 'Emanet anahtarı', 'e2e.recover.recovery_hint': 'Klasör oluşturulurken bir kez gösterilen anahtar.', 'e2e.recover.recovery_placeholder': 'XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX', 'e2e.recover.escrow_warn_title': 'Klasörün sahibine haber gidecek', 'e2e.recover.escrow_warn_body': 'Emanet anahtarıyla açılan klasörün sahibine bildirim gönderilir. Yalnız yetkiniz olduğunda kullanın.', 'e2e.recover.escrow_kid': 'Emanet anahtarı', 'e2e.recover.escrow_predates': 'Bu kurulumun emanet anahtarı var ama bu klasörün yok. Klasör, emanet burada açılmadan önce oluşturulmuş; ana anahtarı emanet kimliğine hiç sarmalanmadı. Emanet anahtarı bu klasörü açmaz. İşletmecinin yapabileceği hiçbir şey bunu değiştirmez - sarmalama için klasörün parolası gerekir ve sunucu onu hiçbir zaman görmedi. Klasörün sahibi verebilir: parolayla kilidi açıp işletmeciye anahtar vermeyi seçebilir. O yapılana kadar parolayı ya da kurtarma anahtarını kullanın.', 'e2e.recover.escrow_other_key': 'Bu klasör BAŞKA bir kurulumun emanet anahtarını taşıyor. Başka yerde oluşturulup buraya geri yüklenmiş, bu yüzden bu kurulumun emanet anahtarı onu açmaz. Yalnızca sarmalandığı emanet anahtarının özel yarısı açabilir.', 'e2e.recover.escrow_placeholder': 'Emanet özel anahtarını yapıştırın (PKCS#8, base64 ya da PEM)', 'e2e.recover.bad_format': 'Bu bir kurtarma anahtarına benzemiyor. Dörtlü sekiz grup, toplam 32 karakter olmalı.', 'e2e.recover.escrow_required': 'Emanet özel anahtarını yapıştırın.', 'e2e.recover.wrong_recovery': 'Bu kurtarma anahtarı bu klasörü açmıyor.', 'e2e.recover.wrong_escrow': 'Bu emanet anahtarı bu klasörü açmıyor. Emanet açılmadan önce oluşturulmuş bir klasörün, sahibi izin verene kadar emanet anahtarı yoktur - o zamana kadar parolayı ya da kurtarma anahtarını kullanın.', 'e2e.recover.bad_escrow_key': 'Bu okunabilir bir özel anahtar değil (PKCS#8, base64 ya da PEM bekleniyor).', 'e2e.recover.notify_failed': 'Klasör sahibine bildirim gönderilemedi, bu yüzden kilit açılmadı. Emanet anahtarının kullanımı her zaman duyurulur.', 'e2e.recover.recovery_done': 'Kurtarma anahtarıyla açıldı', 'e2e.recover.escrow_done': 'Emanet anahtarıyla açıldı - klasör sahibine bildirildi', 'e2e.recover.unlock': 'Kilidi aç', 'e2e.recover.busy': 'Açılıyor…', 'e2e.escrowoffer.title': 'İşletmeciye bu klasörün anahtarı verilsin mi?', 'e2e.escrowoffer.body': 'Bu klasör, burada anahtar emaneti açılmadan önce oluşturulmuş; bu yüzden kurulumun işletmecisi onu açamıyor. Şu anda - parolanız bellekteyken - filex bu klasörü emanet anahtarına sarmalayabilir. Dosyalarınız yeniden şifrelenmez, hiçbir yere taşınmaz; yalnızca anahtar dosyası değişir.', 'e2e.escrowoffer.consequence': 'Bunun anlamı: işletmeci, parolanız olmadan bu klasöre giren ikinci ve kalıcı bir yol kazanır. O anahtar kullanıldığında size bildirim gelir, ama bu bildirim bir denetim değil yalnızca bir duyurudur.', 'e2e.escrowoffer.learn_more': 'Emanet anahtarı neyi yapar, neyi yapamaz', 'e2e.escrowoffer.password_label': 'Klasör parolası', 'e2e.escrowoffer.password_required': 'Klasör parolasını girin.', 'e2e.escrowoffer.wrong_password': 'Bu, bu klasörün parolası değil.', 'e2e.escrowoffer.accept': 'İşletmeciye anahtar ver', 'e2e.escrowoffer.decline': 'Hayır, bende kalsın', 'e2e.escrowoffer.cancel': 'Vazgeç', 'e2e.escrowoffer.busy': 'Sarmalanıyor…', 'e2e.escrowoffer.done': 'İşletmeci artık bu klasörü emanet anahtarıyla açabilir', 'e2e.escrowoffer.declined_toast': 'Sizde kaldı. filex bu klasör için bir daha sormayacak.', 'e2e.escrowoffer.decline_failed': 'Cevabınız kaydedilemedi, bu yüzden filex bir dahakine yine soracak. Klasörde hiçbir şey değişmedi.', 'e2e.escrowoffer.failed': 'İşletmeciye bu klasörün anahtarı verilemedi', 'e2e.escrowoffer.strip_action': 'Emanet anahtarı…', 'e2e.upgrade.title': 'Bu klasörün kurtarma anahtarı yok', 'e2e.upgrade.body': 'Kurtarma anahtarları eklenmeden önce oluşturulmuş, bu yüzden tek giriş yolu parolası. Şu anda - ve yalnız şu anda, parola bellekteyken - filex bir tane ekleyebilir. Dosyalarınız yeniden şifrelenmez, hiçbir yere taşınmaz.', 'e2e.upgrade.escrow_note': 'Not: bu kurulumda anahtar emaneti açık; kurtarma anahtarı eklemek aynı zamanda işletmecinin bu klasörü parolanız olmadan açabilmesi demektir.', 'e2e.upgrade.accept': 'Kurtarma anahtarı oluştur', 'e2e.upgrade.decline': 'Şimdi değil', 'e2e.upgrade.busy': 'Oluşturuluyor…', 'e2e.upgrade.failed': 'Bu klasöre kurtarma anahtarı eklenemedi', 'e2e.download.failed': 'Şifreli dosya indirilemedi.', /* /wiring:e2 */ /* ── connections: storage config + "how to connect" ────────────── `storages.*` keys are the ones the BACKEND's driver descriptors name (each driver package declares one next to its Init). They are kept identical to web/src/locales/*.json on purpose: the same descriptor is rendered on both surfaces, so a field that reads "Base path" in the admin panel and something else in the desktop app would be the same drift this whole mechanism exists to stop. */ 'conn.title': 'Depo bağlantıları', 'conn.subtitle': '{host} sunucusuna kendi bilgisayarınızdan nasıl erişilir: bağlayın ya da bir istemciyi buraya yönlendirin.', 'conn.close': 'Kapat', 'conn.list.disabled': 'Kapalı', 'conn.form.required': 'Zorunlu', 'conn.form.advanced': 'Gelişmiş ayarlar', 'conn.form.yes': 'Evet', 'conn.form.no': 'Hayır', 'conn.form.noFields': 'Bu sunucu bu sürücü için hiçbir ayar tanımlamadı.', 'conn.form.reveal': 'Göster', 'conn.form.hide': 'Gizle', 'conn.guide.protocol': 'Protokol', 'conn.guide.storage': 'Depo', 'conn.guide.allStorages': 'Tüm depolar', 'conn.guide.copy': 'Kopyala', 'conn.guide.copied': 'Kopyalandı', 'conn.guide.goodToKnow': 'Bilmekte fayda var', 'conn.guide.userPlaceholder': 'eposta@ornek.com', 'conn.guide.secretPlaceholder': 'parolanız-ya-da-api-anahtarınız', 'conn.guide.fact.url': 'Adres', 'conn.guide.fact.urlRootHint': 'Görebildiğiniz her depo bu adresin altında bir klasör olarak görünür.', 'conn.guide.fact.urlStorageHint': 'Doğrudan “{storage}” deposunu bağlar. Son parçayı silerseniz tüm depoları görürsünüz.', 'conn.guide.fact.user': 'Kullanıcı adı', 'conn.guide.fact.password': 'Parola', 'conn.guide.webdav.summary': 'WebDAV, filex’i bir sürücü gibi bağlar: Windows Gezgini, macOS Finder, Linux, rclone ve Cyberduck bu protokolü konuşur ve yapılan her değişiklik filex’e yansır.', 'conn.guide.webdav.userHint': 'Kullanıcı adınız ya da e-postanız - görünen adınız değil.', 'conn.guide.webdav.passwordHint': 'Hesap parolanız ya da bir API anahtarı (gezinti panelindeki API anahtarları bölümü). İki adımlı doğrulaması açık bir hesap ZORUNLU olarak API anahtarı kullanır: Basic kimlik doğrulamasında ikinci adım için yer yoktur.', 'conn.guide.webdav.win.s1': 'Dosya Gezgini’ni açın, Bu bilgisayar’a sağ tıklayın ve “Ağ sürücüsü bağla…” deyin.', 'conn.guide.webdav.win.s2': 'Bir sürücü harfi seçin ve klasör olarak {url} adresini girin.', 'conn.guide.webdav.win.s3': '“Farklı kimlik bilgileri kullanarak bağlan” kutusunu işaretleyin ve yukarıdaki kullanıcı adı/parola ile girin.', 'conn.guide.webdav.win.cmdCaption': 'Komut İstemi (sihirbaz olmadan aynı iş)', 'conn.guide.webdav.win.limits': 'Windows’un tam olarak filex hatası gibi görünen üç yerleşik sınırı vardır: aktarımlar ~47,7 MB’ta durur, yaklaşık bin dosyalı klasörler açılmaz (“Disk biçimlendirilmemiş”) ve her iki ayarı değiştirdikten sonra WebClient hizmeti yeniden başlatılmalıdır.', 'conn.guide.webdav.win.regCaption': 'Yönetici olarak çalıştırın, sonra sürücüyü yeniden bağlayın', 'conn.guide.webdav.win.https': 'HTTPS zorunludur. Windows Basic kimlik bilgilerini yalnızca TLS üzerinden gönderir; düz http:// üzerinde hiçbir açıklama vermeden reddeder. BasicAuthLevel değerini 2 yapmayın - TLS kullanın.', 'conn.guide.webdav.win.persist': 'Bağlanan sürücü oturum kapatmayı atlatamaz: Windows 7’den beri Basic kimlik bilgileri Kimlik Bilgisi Yöneticisi’nde saklanamaz ve /persistent:yes bunu değiştirmez. Kendiliğinden geri gelsin istiyorsanız komutu bir oturum açma betiğinden yeniden çalıştırın.', 'conn.guide.webdav.win.service': 'Hiç bağlanamıyorsa WebClient hizmetinin çalıştığından emin olun: sc config WebClient start= auto && net start WebClient.', 'conn.guide.webdav.mac.s1': 'Finder’da Git → Sunucuya Bağlan… (⌘K) yolunu izleyin.', 'conn.guide.webdav.mac.s2': '{url} adresini girip bağlanın.', 'conn.guide.webdav.mac.s3': 'Yukarıdaki kullanıcı adı ve parolayla kimliğinizi doğrulayın.', 'conn.guide.webdav.mac.note': 'Sürücü Konumlar altında görünür; her depo en üst düzeyde bir klasördür.', 'conn.guide.webdav.linux.mountCaption': 'davfs2 ya da masaüstü dosya yöneticisi (GNOME Dosyalar, Dolphin)', 'conn.guide.webdav.linux.gvfsComment': 'ya da bu adresi GNOME Dosyalar / Dolphin icine yapistirin', 'conn.guide.webdav.linux.locks': 'davfs2 için kilitler kapatılmalıdır. filex WebDAV kilitlerini süreç belleğinde tutar; yeniden başlatmayı atlatamazlar ve kopyalar arasında paylaşılmazlar - davfs2 tersini varsayar ve takılır.', 'conn.guide.webdav.rclone.obscureCaption': 'rclone parolayı gizlenmiş biçimde saklar - önce bunu çalıştırıp çıktısını aşağıya yapıştırın', 'conn.guide.webdav.rclone.passPlaceholder': '', 'conn.guide.webdav.rclone.useCaption': 'Kullanımı', 'conn.guide.webdav.duck.s1': 'Yeni Yer İmi → WebDAV (HTTPS).', 'conn.guide.webdav.duck.s2': 'Sunucu {host}, port 443.', 'conn.guide.webdav.duck.s3': 'Yol {path}.', 'conn.guide.webdav.duck.s4': 'Kullanıcı adı {user}, parola yukarıdaki gibi.', 'conn.guide.webdav.note.delete': 'WebDAV üzerinden silme kalıcıdır. Web arayüzü dosyaları filex çöp kutusuna taşır; istemciden silme ise nesneyi doğrudan arka uçtan kaldırır.', 'conn.guide.webdav.note.locks': 'Kilitler sunucu belleğinde durur: yeniden başlatmayı atlatamazlar ve kopyalar arasında paylaşılmazlar. Windows ile Office’i memnun etmek için varlar, eşzamanlı düzenlemeyi hakemlemek için değil.', 'conn.guide.webdav.note.permissions': 'Web arayüzünde ne görüyorsanız burada da onu görürsünüz. Kök yalnızca açabildiğiniz depoları listeler; yetkiniz dışındaki bir yol 403 değil 404 döner, böylece ağaç neyin var olduğunu sızdırmaz.', 'conn.guide.webdav.note.http': 'Bu sunucuya düz http:// ile erişiliyor. Windows kimlik bilgilerinizi hiç göndermez, diğer tüm istemciler ise parolanızı açık metin olarak yollar. Bağlamadan önce filex’i TLS arkasına alın.', // ── S3 ucu: anahtarlar ve rehber ───────────────────────────────── 'conn.s3keys.title': 'S3 erişim anahtarları', 'conn.s3keys.lead': 'Bir erişim anahtarı, S3 konuşan her istemcinin - rclone, restic, AWS CLI, mc, s3fs, Cyberduck - filex’e bağlanmasını sağlar. Anahtar sizin yetkinizi taşır, bir fazlasını değil.', 'conn.s3keys.disabled': 'Bu sunucuda S3 ucu kapalı (FILEX_S3). Burada üretilen anahtar, yönetici ucu tekrar açana kadar bağlanmaz.', 'conn.s3keys.cannotMint': 'Erişim anahtarı üretebilecek bir hesapla oturum açmış değilsiniz. Aşağıdaki talimatlar yine geçerli - bir anahtar isteyip yapıştırmanız yeter.', 'conn.s3keys.label': 'Ne için? (dizüstü yedeği, CI, …)', 'conn.s3keys.defaultLabel': 'erişim anahtarı', 'conn.s3keys.everyBucket': 'Görebildiğim tüm kovalar', 'conn.s3keys.prefix': 'Kova içindeki klasör (isteğe bağlı)', 'conn.s3keys.mint': 'Anahtar oluştur', 'conn.s3keys.inheritNote': 'Bir anahtar sahip olduğunuz yetkiyi yalnızca DARALTABİLİR: yetkileriniz ve rolünüz. Anahtarı tek bir kovaya ya da klasöre kısıtlamak, bir dizüstü yedeği ile her şeyi okuyabilen bir kimlik arasındaki farktır.', 'conn.s3keys.once': 'Gizli anahtarı şimdi kopyalayın - bir daha gösterilmeyecek.', 'conn.s3keys.accessKeyID': 'Erişim anahtarı kimliği', 'conn.s3keys.secret': 'Gizli anahtar', 'conn.s3keys.dismiss': 'Kopyaladım', 'conn.s3keys.col.label': 'Etiket', 'conn.s3keys.col.key': 'Erişim anahtarı kimliği', 'conn.s3keys.col.scope': 'Kapsam', 'conn.s3keys.col.lastUsed': 'Son kullanım', 'conn.s3keys.scopeAll': 'görebildiğiniz her şey', 'conn.s3keys.noLabel': '(etiketsiz)', 'conn.s3keys.neverUsed': 'hiç', 'conn.s3keys.enable': 'Aç', 'conn.s3keys.disable': 'Kapat', 'conn.s3keys.revoke': 'İptal et', 'conn.s3keys.confirm': 'Emin misiniz?', 'conn.s3keys.empty': 'Henüz erişim anahtarı yok.', 'conn.guide.s3.summary': 'S3 ucu, S3 konuşan her şeyin - yedekleme, eşitleme araçları, SDK’lar - hedefi olarak filex’i kullanmanızı sağlar; hem de zaten sahip olduğunuz depolarla.', 'conn.guide.s3.keyPlaceholder': 'yukarıdan bir anahtar oluşturun', 'conn.guide.s3.secretPlaceholder': 'anahtarı oluştururken bir kez gösterilir', 'conn.guide.s3.fact.endpoint': 'Uç adresi', 'conn.guide.s3.fact.endpointHint': 'İstemciyi buraya yöneltin, filex’in web adresine değil.', 'conn.guide.s3.fact.bucket': 'Kova', 'conn.guide.s3.fact.bucketHint': 'Kova = filex deposu. Kovaları istemci değil yönetici oluşturur.', 'conn.guide.s3.fact.key': 'Erişim anahtarı kimliği', 'conn.guide.s3.fact.keyHint': 'Genel yarısı; her istekte gider.', 'conn.guide.s3.fact.secret': 'Gizli anahtar', 'conn.guide.s3.fact.secretHint': 'Yalnızca anahtar oluşturulurken bir kez gösterilir. filex bir daha gösteremez - kaybolduysa yeni anahtar üretin.', 'conn.guide.s3.fact.region': 'Bölge', 'conn.guide.s3.fact.regionHint': 'filex’te bölge yok; hangi değeri verirseniz aynen geri döner. Yine de istemciler bir değer ister.', 'conn.guide.s3.fact.addressing': 'Adresleme', 'conn.guide.s3.fact.pathStyle': 'yol tabanlı (zorunlu)', 'conn.guide.s3.fact.pathStyleHint': 'Bu kurulumda S3’e ayrılmış bir alan adı yok, yani kova.host çözülmez.', 'conn.guide.s3.fact.virtualHosted': 'sanal-host ya da yol tabanlı', 'conn.guide.s3.fact.virtualHostedHint': 'Bu kurulumun kendi S3 alan adı var, iki adresleme de çalışır.', 'conn.guide.s3.rclone.useCaption': 'Kullanımı', 'conn.guide.s3.rclone.mtime': 'filex dosyanın değişiklik zamanını taşır (x-amz-meta-mtime); böylece rclone sync ilk turdan sonra oturur, her seferinde her şeyi yeniden yüklemez.', 'conn.guide.s3.aws.configureCaption': 'Bir kez ayarlayın', 'conn.guide.s3.aws.useCaption': 'Kullanımı', 'conn.guide.s3.aws.pathStyle': 'AWS yapılandırmanıza yol tabanlı adreslemeyi ekleyin; yoksa her komut DNS aşamasında düşer.', 'conn.guide.s3.restic.envCaption': 'Ortam değişkenleri', 'conn.guide.s3.restic.useCaption': 'Yedekle, doğrula, buda', 'conn.guide.s3.restic.verified': 'Bu uca karşı ölçüldü: restic check --read-data her pack’i bayt bayt okuyor ve hata bulmuyor.', 'conn.guide.s3.mc.aliasCaption': 'Takma adı ekleyin', 'conn.guide.s3.mc.useCaption': 'Kullanımı', 'conn.guide.s3.s3fs.credsCaption': 'Kimlik dosyası', 'conn.guide.s3.s3fs.mountCaption': 'Bağlayın', 'conn.guide.s3.s3fs.note': 's3fs üzerinden bir dosyayı düzenlemek nesnenin tamamını yeniden yazar; silme ise filex çöp kutusuna gider. Paylaşılan bir klasör için iyi, veritabanı için değil.', 'conn.guide.s3.duck.s1': 'Yeni yer imi → Amazon S3.', 'conn.guide.s3.duck.s2': 'Sunucu: {host}.', 'conn.guide.s3.duck.s3': 'Erişim anahtarı kimliği: {key}, gizli anahtar yukarıdaki.', 'conn.guide.s3.duck.s4': 'Yer imini açın; kovalar sizin filex depolarınızdır.', 'conn.guide.s3.duck.pathStyle': 'Tercihler → S3 altında "Use virtual host style" seçeneğini KAPATIN - bu kurulumda joker S3 alan adı yok.', 'conn.guide.s3.sdk.note': 'SigV4 konuşan her istemci aynı şekilde çalışır: uç adresi, anahtar, gizli anahtar ve bu kurulumun kendi S3 alan adı yoksa yol tabanlı adresleme.', 'conn.guide.s3.note.buckets': 'Kova = filex deposu. İstemci kovanın İÇİNDE klasör ve nesne oluşturabilir, ama kovanın kendisini oluşturamaz: kova bir sürücü ve bir yol ister, bunu bir S3 isteği ifade edemez.', 'conn.guide.s3.note.permissions': 'Anahtar tam olarak sizin gördüğünüzü görür. Açamayacağınız bir kova "yasak" değil "böyle bir kova yok" der; böylece uç, neyin var olduğunu sızdırmaz.', 'conn.guide.s3.note.trash': 'Silme her yerdeki gibi filex çöp kutusuna gider ve saklama politikası süpürene kadar geri alınabilir.', 'conn.guide.s3.note.mtime': 'Yüklemeler değişiklik zamanını taşır; istemcinin gönderdiği sağlama toplamları (Content-MD5, x-amz-checksum-*) doğrulanır - bozulmuş bir yükleme saklanmaz, reddedilir.', 'conn.guide.s3.note.pathStyle': 'Bu kurulumda S3’e ayrılmış alan adı yok; istemcilere yol tabanlı adresleme söylenmeli. Söylenmezse güncel bir SDK, ne filex’i ne de sebebi anan bir DNS hatasıyla düşer.', 'conn.guide.s3.note.http': 'Bu uç düz http://. İmzalar isteği yine korur ama nesneler açık metin gider. Bir yedeği buraya yöneltmeden önce filex’i TLS arkasına alın.', // ── SFTP ucu: anahtarlar ve rehber ─────────────────────────────── 'conn.sshkeys.title': 'SSH anahtarları', 'conn.sshkeys.lead': 'Bir açık anahtar kaydedin; SSH konuşan her istemci - sftp, scp, WinSCP, FileZilla, rclone, sshfs - parolanızı göndermeden bağlansın.', 'conn.sshkeys.disabled': 'Bu sunucuda SFTP ucu kapalı (FILEX_SFTP). Burada kaydedilen anahtar, yönetici ucu açana kadar bağlanmaz.', 'conn.sshkeys.cannotAdd': 'Anahtar kaydedebilecek bir hesapla oturum açmış değilsiniz.', 'conn.sshkeys.paste': '~/.ssh/id_ed25519.pub dosyasının içeriğini yapıştırın', 'conn.sshkeys.name': 'Ad (isteğe bağlı - boşsa anahtarın kendi yorumu kullanılır)', 'conn.sshkeys.add': 'Anahtar ekle', 'conn.sshkeys.noCopyId': 'ssh-copy-id burada çalışamaz: kabuk üzerinden ~/.ssh/authorized_keys dosyasına ekler, filex’in kabuğu yoktur. Anahtar eklemenin yolu bu kutudur.', 'conn.sshkeys.col.name': 'Ad', 'conn.sshkeys.col.fingerprint': 'Parmak izi', 'conn.sshkeys.col.added': 'Eklendi', 'conn.sshkeys.col.lastUsed': 'Son kullanım', 'conn.sshkeys.noName': '(adsız)', 'conn.sshkeys.neverUsed': 'hiç', 'conn.sshkeys.enable': 'Aç', 'conn.sshkeys.disable': 'Kapat', 'conn.sshkeys.remove': 'Sil', 'conn.sshkeys.confirm': 'Emin misiniz?', 'conn.sshkeys.empty': 'Henüz anahtar yok. Anahtarsız istemciler hesap parolanızla oturum açar.', 'conn.guide.sftp.summary': 'SFTP, filex’i SSH konuşan her şeyin erişebileceği hâle getirir: bir yedekleme işi, bir tarayıcı, WinSCP, rclone ya da bağlanmış bir klasör.', 'conn.guide.sftp.fact.host': 'Sunucu', 'conn.guide.sftp.fact.hostHint': 'Web uygulamasıyla aynı makine, kendine ait bir portta.', 'conn.guide.sftp.fact.port': 'Port', 'conn.guide.sftp.fact.portHint': 'Ne 22 ne 443: SFTP ham TCP’dir, web vekilinin içinden geçemez.', 'conn.guide.sftp.fact.userHint': 'Kullanıcı adınız. İçinde @ işareti olsaydı çoğu istemcinin ayar dosyasında tırnaklanması gerekirdi; kullanıcı adı tam da bunu ortadan kaldırır.', 'conn.guide.sftp.fact.auth': 'Oturum açma yöntemi', 'conn.guide.sftp.fact.authKey': 'kayıtlı SSH anahtarınız (ya da parolanız)', 'conn.guide.sftp.fact.authPassword': 'hesap parolanız - ya da yukarıdan bir anahtar kaydedin', 'conn.guide.sftp.fact.authHint': 'API anahtarı da parola yerine geçer ve tek başına iptal edilebilir. İki adımlı doğrulaması açık bir hesap SSH anahtarı ya da API anahtarı kullanmalıdır.', 'conn.guide.sftp.fact.path': 'Yol', 'conn.guide.sftp.fact.pathHint': 'İlk klasör bir depodur; kök, açabildiğiniz depoları listeler.', 'conn.guide.sftp.openssh.connectCaption': 'Bağlan, gönder, al', 'conn.guide.sftp.openssh.noShell': 'Burada kabuk yok, yalnız SFTP alt sistemi var. `ssh sunucu komut` bilerek reddedilir; scp çalışır çünkü OpenSSH 9 onun için de SFTP konuşur.', 'conn.guide.sftp.key.tab': 'Anahtar kurulumu', 'conn.guide.sftp.key.s1': 'Bağlanacak makinede bir anahtar çifti üretin (zaten varsa atlayın).', 'conn.guide.sftp.key.s2': 'AÇIK yarısını kopyalayın - .pub dosyası, asla diğeri değil.', 'conn.guide.sftp.key.s3': 'Yukarıdaki kutuya yapıştırıp bağlanın; o andan sonra parola gönderilmez.', 'conn.guide.sftp.key.genCaption': 'Kendi makinenizde', 'conn.guide.sftp.key.noCopyId': 'ssh-copy-id filex’e karşı ÇALIŞMAZ: ~/.ssh/authorized_keys dosyasına eklemek için kabuğa ihtiyacı var, filex’te kabuk yok. Anahtarı yukarıdan yapıştırın.', 'conn.guide.sftp.winscp.s1': 'Yeni site → Dosya protokolü: SFTP.', 'conn.guide.sftp.winscp.s2': 'Sunucu adı: {host}, port: {port}.', 'conn.guide.sftp.winscp.s3': 'Kullanıcı adı: {user}. Anahtar için: Gelişmiş → SSH → Kimlik Doğrulama → özel anahtar dosyası.', 'conn.guide.sftp.winscp.s4': 'WinSCP .ppk biçiminde özel anahtar ister - OpenSSH anahtarını kendi aracıyla (Araçlar → PuTTYgen) bir kez dönüştürün.', 'conn.guide.sftp.filezilla.s1': 'Dosya → Site Yöneticisi → Yeni site, Protokol: SFTP.', 'conn.guide.sftp.filezilla.s2': 'Sunucu: {host}, port: {port}.', 'conn.guide.sftp.filezilla.s3': 'Kullanıcı: {user}. Giriş türü: parola için Normal, anahtar için Anahtar dosyası.', 'conn.guide.sftp.rclone.useCaption': 'Kullanımı', 'conn.guide.sftp.sshfs.mountCaption': 'Bağla ve çöz', 'conn.guide.sftp.sshfs.note': 'Bağlanmış bir klasörde her kayıt dosyanın tamamını yeniden yazar. Belgeler için iyi; veritabanı ya da yerinde düzenlediğiniz bir video için değil.', 'conn.guide.sftp.note.storages': 'Kök bir ev dizini değildir: açabildiğiniz depoları listeler ve yolun ilk parçası bir depoyu adlandırır.', 'conn.guide.sftp.note.permissions': 'İstemcinizin çizdiği izin bitleri buradaki erişim seviyenizden gelir; yani salt-okunur görünen bir dosya sizin için gerçekten öyledir.', 'conn.guide.sftp.note.trash': 'Silme her yerdeki gibi filex çöp kutusuna gider ve saklama politikası süpürene kadar geri alınabilir.', 'conn.guide.sftp.note.totp': 'Hesabınızda iki adımlı doğrulama açıksa parola burada çalışmaz - SSH’ın kodu soracak bir kanalı yok. Bir SSH anahtarı kaydedin ya da parola yerine API anahtarı kullanın.', 'conn.guide.sftp.note.disabled': 'Bu sunucuda SFTP ucu kapalı. Yönetici açtığında bu talimatlar çalışacaktır.', // ── FTPS ───────────────────────────────────────────────────────── 'conn.guide.ftps.summary': 'FTPS, yalnızca FTP öğrenmiş ekipman için var: tarayıp-klasöre-atan yazıcılar, EDI muhatapları, eski laboratuvar ve endüstri yazılımları. Her zaman TLS üzerinden.', 'conn.guide.ftps.fact.host': 'Sunucu', 'conn.guide.ftps.fact.hostHint': 'Web uygulamasıyla aynı makine, kendine ait bir portta.', 'conn.guide.ftps.fact.port': 'Port', 'conn.guide.ftps.fact.portHint': 'Kontrol kanalı. Veri, aşağıdaki pasif aralıktan ayrı bir porttan akar.', 'conn.guide.ftps.fact.mode': 'Şifreleme', 'conn.guide.ftps.fact.modeValue': 'FTPS - açık (explicit) TLS, zorunlu', 'conn.guide.ftps.fact.modeHint': 'Düz FTP, parola okunmadan reddedilir. "Require explicit FTP over TLS" seçin; "plain FTP" ya da "implicit" asla.', 'conn.guide.ftps.fact.userHint': 'Kullanıcı adınız ya da e-postanız. Parola yerine bir API anahtarı da kullanılabilir ve tek başına iptal edilebilir.', 'conn.guide.ftps.fact.passwordHint': 'Hesap parolanız ya da bir API anahtarı. İki adımlı doğrulaması açık bir hesap API anahtarı kullanmalıdır - FTP\'nin kodu soracak bir yolu yok.', 'conn.guide.ftps.fact.pasv': 'Pasif portlar', 'conn.guide.ftps.fact.pasvHint': 'Veri bağlantıları buraya düşer. Güvenlik duvarınız bu aralığı kapatıyorsa aktarım iki tarafta da hata vermeden ASILI KALIR - FTP\'nin klasik arızası budur.', 'conn.guide.ftps.filezilla.s1': 'Dosya → Site Yöneticisi → Yeni site, Protokol: FTP.', 'conn.guide.ftps.filezilla.s2': 'Sunucu: {host}, port: {port}.', 'conn.guide.ftps.filezilla.s3': 'Şifreleme: "Require explicit FTP over TLS". Giriş türü: Normal, kullanıcı: {user}.', 'conn.guide.ftps.filezilla.s4': 'Aktarım ayarları → Pasif. Bu sunucu aktif modu reddeder.', 'conn.guide.ftps.winscp.s1': 'Yeni site → Dosya protokolü: FTP, Şifreleme: TLS/SSL Explicit encryption.', 'conn.guide.ftps.winscp.s2': 'Sunucu adı: {host}, port: {port}.', 'conn.guide.ftps.winscp.s3': 'Kullanıcı adı: {user}, parola yukarıdaki.', 'conn.guide.ftps.curl.caption': 'Gönder ve al', 'conn.guide.ftps.curl.sslReqd': '--ssl-reqd isteğe bağlı değil: curl\'ün düz metne geri düşmek yerine TLS\'i ZORUNLU kılmasını sağlar. Bu sunucu zaten düz metni reddediyor, ama alışkanlık sizi reddetmeyen sunuculara karşı korur.', 'conn.guide.ftps.lftp.caption': 'Bağlan', 'conn.guide.ftps.lftp.protectData': 'ssl-protect-data yalnız oturum açmayı değil DOSYAYI da şifreler. Olmazsa lftp TLS ile oturum açar ve dosyayı açık metin gönderir - sahada en sık yapılan FTPS yanlışı budur.', 'conn.guide.ftps.rclone.useCaption': 'Kullanımı', 'conn.guide.ftps.printer.tab': 'Tarayıcı / yazıcı', 'conn.guide.ftps.printer.s1': 'Cihazın tara-ve-FTP\'ye-gönder ayarlarında: sunucu {host}, port {port}.', 'conn.guide.ftps.printer.s2': 'Kullanıcı: {user}, parola yukarıdaki. Cihaz için kendi parolanız yerine bir API anahtarı oluşturun - başka hiçbir şeyi değiştirmeden iptal edilebilir.', 'conn.guide.ftps.printer.s3': 'Yol: {path} - ya da önceden oluşturduğunuz bir alt klasör. Cihaz depo oluşturamaz.', 'conn.guide.ftps.printer.s4': '"SSL/TLS" ya da "FTPS explicit" seçeneğini AÇIN ve PASİF modu seçin.', 'conn.guide.ftps.printer.noTLS': 'Tara-ve-gönder yazılımlarının önemli bir kısmı TLS konuşamıyor. Bu sunucu öyle bir cihazla konuşmayacak ve bu bilinçli: alternatifi, belgelerinizin ve parolanızın ofis ağında açık metin dolaşması.', 'conn.guide.ftps.note.tls': 'TLS zorunludur ve kapatan bir düğme yoktur. Düz FTP parolanızı açık metin gönderir, ardından dosyanızı da.', 'conn.guide.ftps.note.passive': 'Yalnızca pasif mod. Aktif modda sunucu istemciyi geri arar; bu NAT arkasında çalışmaz ve çoğu güvenlik duvarı tarafından engellenir.', 'conn.guide.ftps.note.storages': 'Kök bir ev dizini değildir: açabildiğiniz depoları listeler ve yolun ilk parçası bir depoyu adlandırır.', 'conn.guide.ftps.note.trash': 'Silme her yerdeki gibi filex çöp kutusuna gider ve saklama politikası süpürene kadar geri alınabilir.', 'conn.guide.ftps.note.prefer': 'İstemci SFTP konuşabiliyorsa onu tercih edin: tek bağlantı, tek port, pasif mod sürprizi yok.', 'conn.guide.ftps.note.selfSigned': 'Bu sunucu kendinden imzalı bir sertifika kullanıyor. Kanalı şifreler ama karşı tarafın kim olduğunu kanıtlamaz; çoğu istemci bir kez onay ister. Önemli bir iş için gerçek sertifika koyun.', 'conn.guide.ftps.note.disabled': 'Bu sunucuda FTPS ucu kapalı. Yönetici açtığında bu talimatlar çalışacaktır.', // ── NFS ────────────────────────────────────────────────────────── 'conn.nfs.title': 'NFS export\'ları', 'conn.nfs.lead': 'Bir export, ağınızdaki bir makinenin filex\'i sürücü olarak bağlamasını sağlar - medya oynatıcı, derleme sunucusu, yedek kutusu.', 'conn.nfs.pathIsSecret': '⚠ Export yolu PAROLANIN TA KENDİSİDİR. NFS, Kerberos olmadan istemciye kim olduğunu soramaz; bu yüzden filex yola 32 rastgele bayt koyar: yolu bilen sizin adınıza bağlanır. Bağlama satırını bir kimlik bilgisi gibi saklayın - /etc/fstab çoğu sistemde herkes tarafından okunabilir.', 'conn.nfs.disabled': 'Bu sunucuda NFS ucu kapalı (FILEX_NFS). Burada oluşturulan export, yönetici ucu açana kadar bağlanmaz.', 'conn.nfs.cannotMint': 'Export oluşturabilecek bir hesapla oturum açmış değilsiniz.', 'conn.nfs.label': 'Ne için? (medya oynatıcı, yedek kutusu, …)', 'conn.nfs.defaultLabel': 'nfs export', 'conn.nfs.everyStorage': 'Görebildiğim tüm depolar', 'conn.nfs.prefix': 'Depo içindeki klasör (isteğe bağlı)', 'conn.nfs.allowCidrs': 'İzinli adresler, örn. 192.168.1.0/24 (isteğe bağlı)', 'conn.nfs.readOnly': 'Salt okunur', 'conn.nfs.readOnlyHint': 'Bir makine için güvenli varsayılan salt okunurdur: sizin yetkiniz ne olursa olsun bu bağlantı üzerinden her yazmayı reddeder. Adres listesi daha da daraltır - listenin dışından gelen bağlanamaz.', 'conn.nfs.mint': 'Export oluştur', 'conn.nfs.once': 'Şimdi kopyalayın - yol yalnızca bir kez gösterilir ve geri alınamaz.', 'conn.nfs.dismiss': 'Kopyaladım', 'conn.nfs.col.label': 'Etiket', 'conn.nfs.col.scope': 'Kapsam', 'conn.nfs.col.mode': 'Mod', 'conn.nfs.col.lastUsed': 'Son bağlanma', 'conn.nfs.scopeAll': 'görebildiğiniz her şey', 'conn.nfs.modeRead': 'salt okunur', 'conn.nfs.modeWrite': 'okuma/yazma', 'conn.nfs.noLabel': '(etiketsiz)', 'conn.nfs.neverUsed': 'hiç', 'conn.nfs.enable': 'Aç', 'conn.nfs.disable': 'Kapat', 'conn.nfs.revoke': 'İptal et', 'conn.nfs.confirm': 'Emin misiniz?', 'conn.nfs.empty': 'Henüz export yok.', 'conn.guide.nfs.summary': 'NFS, filex\'i kendi ağınızdaki bir makinede sürücü olarak bağlar - NAS protokolü, onu bekleyen cihazlar için.', 'conn.guide.nfs.pathPlaceholder': 'yukarıdan bir export oluşturun', 'conn.guide.nfs.fact.host': 'Sunucu', 'conn.guide.nfs.fact.hostHint': 'Web uygulamasıyla aynı makine, kendine ait bir portta.', 'conn.guide.nfs.fact.port': 'Port', 'conn.guide.nfs.fact.portHint': 'Hem port= hem mountport= buna ayarlanmalı; filex mount ve NFS servislerini tek portta veriyor.', 'conn.guide.nfs.fact.export': 'Export yolu', 'conn.guide.nfs.fact.exportHint': 'Kimlik bilgisi budur. Export oluşturulurken bir kez gösterilir ve hash\'li saklanır - filex bir daha gösteremez.', 'conn.guide.nfs.fact.options': 'Bağlama seçenekleri', 'conn.guide.nfs.fact.optionsHint': 'nolock, çünkü filex NFS kilit yöneticisini çalıştırmıyor; nfsvers=3, çünkü bu sunucunun konuştuğu sürüm bu.', 'conn.guide.nfs.linux.mountCaption': 'Bağla', 'conn.guide.nfs.linux.fstabSecret': 'Bu yolu içeren bir /etc/fstab satırı, herkesin okuyabildiği bir dosyadaki paroladır. Ortamınızda önemliyse kimlik korumalı automount kullanın ya da bağlamayı yalnız root\'un okuyabildiği bir unit dosyasında tutun.', 'conn.guide.nfs.mac.mountCaption': 'Bağla', 'conn.guide.nfs.mac.resvport': 'macOS resvport ister: istemcisi ayrıcalıklı bir kaynak portta ısrar eder ve olmadan bağlantıyı reddeder.', 'conn.guide.nfs.win.s1': 'Windows Özellikleri\'nden "Services for NFS" → "Client for NFS" bileşenini açın (yalnız Pro ve Enterprise; Home\'da yok).', 'conn.guide.nfs.win.s2': 'Komut İstemi\'ni yönetici olarak açın.', 'conn.guide.nfs.win.s3': 'Aşağıdaki komutla export\'u bir sürücü harfine bağlayın.', 'conn.guide.nfs.win.cmdCaption': 'Z: sürücüsüne bağla', 'conn.guide.nfs.win.port': 'Windows\'un mount servisinin portunu söyleme imkânı yok; yalnızca standart 2049 portundaki bir NFS sunucusuna erişebilir. Bu sunucu başka bir porttaysa SFTP\'yi ya da filex masaüstü uygulamasını kullanın.', 'conn.guide.nfs.nas.tab': 'NAS / medya oynatıcı', 'conn.guide.nfs.nas.s1': 'Cihazın NFS ayarlarında: sunucu {host}, port {port} (ayrı ayrı soruyorsa hem NFS hem mount portunu ayarlayın).', 'conn.guide.nfs.nas.s2': 'Uzak yol: yukarıdaki export yolu, birebir.', 'conn.guide.nfs.nas.s3': 'NFS sürüm 3, kilitleme kapalı. Cihazın gerçekten yazması gerekmiyorsa export\'u salt okunur oluşturun.', 'conn.guide.nfs.note.unencrypted': 'NFSv3 şifreli değildir. Trafiği okuyabilen dosyalarınızı görür, yolu öğrenen bağlanabilir. Ev/ofis ağında ya da VPN üzerinden kullanın - internet üzerinden asla.', 'conn.guide.nfs.note.pathIsSecret': 'Export yolu kimlik bilgisinin tamamıdır. Sızarsa yukarıdaki listeden iptal edin; değiştirilecek başka bir şey yok.', 'conn.guide.nfs.note.noPortmapper': '111 portunda portmapper yok; portu söylenmeyen istemci sunucuyu bulamaz. Buradaki her komutun port= ve mountport= taşımasının sebebi bu.', 'conn.guide.nfs.note.uid': 'İstemcinizin gönderdiği kullanıcı ve grup kimlikleri yok sayılır: bağlantı zaten kime ait olduğunu biliyor. Gördüğünüz izinler filex\'teki erişiminizden gelir.', 'conn.guide.nfs.note.trash': 'Silme her yerdeki gibi filex çöp kutusuna gider ve saklama politikası süpürene kadar geri alınabilir.', 'conn.guide.nfs.note.revoke': 'İptal anında değil, bir sonraki istekte etkili olur: NFS\'te sonlandırılacak bir oturum yok, bağlantısı açık olan istemci sıradaki işleminde hata alır.', 'conn.guide.nfs.note.disabled': 'Bu sunucuda NFS ucu kapalı. Yönetici açtığında bu talimatlar çalışacaktır.', 'conn.tokens.title': 'API anahtarları', 'conn.tokens.lead': 'FTPS, WebDAV ve filex mount hesap parolanız yerine bir API anahtarıyla oturum açar. Buradan oluşturun - tek başına iptal edilebilir, ayrıca iki adımlı doğrulaması açık bir hesap bunlarda parolasını zaten kullanamaz.', 'conn.tokens.mint': 'API anahtarı oluştur', 'conn.tokens.once': 'Şimdi kopyalayın - yalnızca bir kez gösterilir. Sunucuda yalnız özeti saklandığı için bir daha gösterilemez.', 'conn.tokens.dismiss': 'Kopyaladım', 'conn.tokens.cannotMint': 'Bu oturum API anahtarı oluşturamıyor. Kendi hesabınızla oturum açıp oluşturun.', 'conn.tokens.empty': 'Henüz API anahtarı yok.', 'conn.tokens.neverUsed': 'hiç', 'conn.tokens.revoke': 'İptal et', 'conn.tokens.confirm': 'Emin misiniz?', 'conn.tokens.col.label': 'Ad', 'conn.tokens.col.scopes': 'İzinler', 'conn.tokens.col.comments': 'Yorumlar', 'conn.tokens.col.used': 'Son kullanım', 'conn.tokens.revokeHint': 'İptal, yalnız bir sonraki oturum açmayı değil AÇIK bağlantıyı da durdurur: SFTP ya da FTPS oturumu kesilir, bağlı bir sürücü yarım dakika içinde çalışmayı bırakır.', 'conn.guide.mount.summary': 'filex mount, uzaktaki bir filex sunucusunu bu makinede bir klasöre bağlar - tarayıcının kullandığı aynı HTTPS üzerinden. Buradakilerin her yerden çalışan tek yöntemi: yerel ağ da gerekmez, ek sunucu da, üçüncü parti bir istemci de.', 'conn.guide.mount.fact.url': 'Sunucu adresi', 'conn.guide.mount.fact.urlHint': 'Tarayıcıda kullandığınız adresin aynısı. Başka hiçbir şeye erişilebilir olması gerekmez.', 'conn.guide.mount.fact.token': 'API anahtarı', 'conn.guide.mount.fact.tokenPlaceholder': 'API anahtarları bölümünden oluşturun', 'conn.guide.mount.fact.tokenHint': 'Parolanız değil, bir API anahtarı - tek başına iptal edilebilir, ayrıca 2FA açık bir hesap burada parolasını zaten kullanamaz.', 'conn.guide.mount.fact.remote': 'Neyi bağlayacağınız', 'conn.guide.mount.fact.remoteHint': '--remote vermezseniz her depo bir klasör olarak görünür; tek bir depoyu - ya da onun içindeki bir klasörü - adlandırırsanız yalnızca o bağlanır.', 'conn.guide.mount.linux.mountCaption': 'Bağlayın', 'conn.guide.mount.linux.umountCaption': 'Ayırın', 'conn.guide.mount.linux.umountWarn': 'Süreci öldürerek değil, fusermount ile ayırın. Ayrılmadan ölen bir bağlantı, birileri elle fusermount çalıştırana kadar her ls komutunun asılı kaldığı bir klasör bırakır.', 'conn.guide.mount.linux.systemdCaption': 'Oturum açılınca otomatik bağlansın (systemd kullanıcı birimi)', 'conn.guide.mount.win.winfsp': "Windows'ta bir kez WinFsp kurulması gerekiyor - ücretsiz ve açık kaynak: https://winfsp.dev. Başka bir şey gerekmiyor, sonrasında yönetici hakkı da istemiyor.", 'conn.guide.mount.win.mountCaption': 'Sürücü olarak bağlayın', 'conn.guide.mount.win.freeLetter': 'BOŞ bir sürücü harfi seçin. Harf bağlama sırasında oluşturulur, var olan bir şeye eklenmez; kullanımdaki bir harfi verirseniz bunu söylemeyen bir hatayla başarısız olur.', 'conn.guide.mount.win.stop': 'O pencerede Ctrl-C ile durdurun. Sürücü kaybolur ve bu makinede hiçbir şey kalmaz.', 'conn.guide.mount.mac.unsupported': "filex mount macOS'ta çalışmıyor. macFUSE gerekiyor; lisansı filex gibi bir programın onu sizin yerinize kurmasına izin vermiyor ve Go bağlaması filex'in bilinçli olarak kullanmadığı bir C derleyicisi istiyor. Komut burada çalışıyormuş gibi görünüp hiçbir şey yapmak yerine açıkça reddediyor.", 'conn.guide.mount.mac.alternatives': "macOS'ta filex masaüstü uygulamasını klasör eşitlemesiyle kullanın (dosyalar diskte durur) ya da sürücü bağlayabilen bir istemciyle SFTP.", 'conn.guide.mount.note.notASync': 'Bu bir eşitleme değildir. Küçük bir okuma önbelleği dışında bu makineye hiçbir şey kopyalanmaz; yüz bin dosyanın içinden birini gerisini indirmeden açar. Dosyaları çevrimdışıyken istiyorsanız klasör eşitlemesini kullanın.', 'conn.guide.mount.note.reachable': 'Sunucuya, tarayıcının geçtiği hangi vekil ya da tünel varsa oradan ulaşır - çünkü altında aynı API vardır. İzinleriniz ve depolarınız da birlikte gelir.', 'conn.guide.mount.note.wholeFileWrites': 'Bağlantı üzerinden yazdığınız dosya, yazılırken değil, program onu kapattığında yüklenir. Çok büyük bir dosyayı yerinde düzenlemek burada yerel diskten yavaştır; içeri ve dışarı kopyalamak değildir.', 'conn.guide.mount.note.trash': 'Silme her yerdeki gibi filex çöp kutusuna gider ve saklama politikası süpürene kadar geri alınabilir.', 'conn.guide.mount.note.revoke': 'Bir bağlantıyı durdurmak için API anahtarını iptal edin. Bağlantı hâlâ takılı olsa bile yarım dakika içinde hizmet vermeyi bırakır.', 'storages.driver.ftp': 'FTP / FTPS', 'storages.driver.local': 'Yerel dosya sistemi', 'storages.driver.s3': 'S3 / Hetzner / MinIO', 'storages.driver.sftp': 'SFTP', 'storages.driver.smb': 'SMB / CIFS (NAS)', 'storages.driver.webdav': 'WebDAV', 'storages.fieldHelp.smbShare': "Sunucu adı olmadan yalnızca paylaşım adı: `\\\\nas\\media` değil, `media`.", 'storages.fieldHelp.smbDomain': 'Yalnızca Windows etki alanı hesabı için. NAS kullanıyorsanız boş bırakın.', 'storages.fieldHelp.smbRoot': 'Paylaşımın içindeki alt klasör. Paylaşımın tamamı için boş bırakın.', 'storages.fields.share': 'Paylaşım', 'storages.fields.domain': 'Etki alanı / çalışma grubu', 'storages.fieldHelp.disablePresign': 'Varsayılan olarak açık: yüklemeler ve herkese açık paylaşım bağlantılarındaki indirmeler filex üzerinden akar; kova endpoint\'inin tarayıcıdan erişilebilir olması gerekmez (yalnız yerel ağdaki MinIO doğrudan çalışır). Yalnızca endpoint kullanıcıların tarayıcısından erişilebiliyorsa (AWS, herkese açık MinIO) ve tarayıcının kovayla doğrudan konuşmasını istiyorsanız kapatın - çok büyük dosyalarda daha hızlıdır, ama depo SDK\'nın imzaladığı URL\'leri kabul etmelidir (Ceph RGW / bazı Hetzner kurulumları SignatureDoesNotMatch döner).', 'storages.fieldHelp.endpoint': 'AWS S3 için boş bırakın. S3 uyumlu diğer tüm depolar kendi endpoint\'ini ister.', 'storages.fieldHelp.hostKey': 'authorized_keys / known_hosts satır biçiminde tek bir açık anahtar.', 'storages.fieldHelp.insecureSkipHostKey': 'Her sunucu anahtarını kabul eder. Yalnızca geçici sunucular için.', 'storages.fieldHelp.keyPath': 'Sunucudaki anahtar dosyasının yolu; depo başlarken okunur. PEM alanı boşken kullanılır.', 'storages.fieldHelp.knownHosts': 'Katı sunucu anahtarı denetimi için OpenSSH known_hosts yolu. Varsayılan, ~/.filex/known_hosts içinde ilk bağlantıda güven.', 'storages.fieldHelp.passive': 'Kapatmak aktif moda geçirir; bu, sunucunun bu makineye geri bağlanmasını gerektirir.', 'storages.fieldHelp.path': 'Sunucudaki dizin. Yoksa oluşturulur; filex asla / dizinini mount etmez.', 'storages.fieldHelp.pathStyle': 'AWS dışındaki tüm depolarda açık olmalı. Endpoint girildiyse ve bu alana hiç dokunulmadıysa kendiliğinden açılır.', 'storages.fieldHelp.prefix': 'Kova içindeki alt klasör. Zorunlu: filex kova kökünün sahipliğini asla almaz.', 'storages.fieldHelp.region': 'Boş bırakılırsa "auto" kullanılır.', 'storages.fieldHelp.root': 'Arka uçtaki alt klasör. Zorunlu: filex hesabın kökünü asla mount etmez.', 'storages.fieldHelp.sftpAuth': 'Parola ya da özel anahtardan biri zorunludur.', 'storages.fieldHelp.tls': 'Düz FTP kimlik bilgilerini açık metin gönderir - sunucu destekliyorsa açın.', 'storages.fields.accessKey': 'Access key', 'storages.fields.basePath': 'Temel yol', 'storages.fields.bucket': 'Kova', 'storages.fields.disablePresign': 'Aktarımları filex üzerinden geçir', 'storages.fields.endpoint': 'Endpoint', 'storages.fields.host': 'Sunucu', 'storages.fields.hostKey': 'Sabitlenmiş sunucu anahtarı', 'storages.fields.insecureSkipHostKey': 'Sunucu anahtarı doğrulamasını atla (güvensiz)', 'storages.fields.keyPath': 'Özel anahtar dosyası', 'storages.fields.knownHosts': 'known_hosts dosyası', 'storages.fields.name': 'Görünen ad', 'storages.fields.namePlaceholder': 'Kişisel fotoğraflar', 'storages.fields.passive': 'Pasif mod (PASV)', 'storages.fields.password': 'Parola', 'storages.fields.path': 'Dizin yolu', 'storages.fields.pathStyle': 'Path-style URL kullan (Hetzner, MinIO)', 'storages.fields.port': 'Port', 'storages.fields.prefix': 'Önek (prefix)', 'storages.fields.privateKey': 'Özel anahtar (PEM)', 'storages.fields.rbac': 'Öğe bazlı erişim denetimi (RBAC)', 'storages.fields.rbacHint': 'Açıkken yönetici olmayanlar yalnızca kendilerine yetki verilen dosya ve klasörleri görür (Klasör erişimi sayfasında listelenir). Kapalıyken herkes depoyu rolüne göre açar.', 'storages.fields.readOnly': 'Salt okunur mount', 'storages.fields.region': 'Bölge', 'storages.fields.root': 'Temel yol', 'storages.fields.secretKey': 'Secret key', 'storages.fields.tls': 'FTPS (açık AUTH TLS)', 'storages.fields.url': 'Temel URL', 'storages.fields.user': 'Kullanıcı', 'storages.fields.s3AttemptTimeout': 'Deneme zaman aşımı (saniye)', 'storages.fields.s3MaxAttempts': 'İstek başına deneme sayısı', 'storages.fields.s3TotalTimeout': 'Vazgeçme süresi (saniye)', 'storages.fieldHelp.s3AttemptTimeout': 'Tek bir denemenin depodan bir yaşam belirtisi için bekleyebileceği süre: bağlanma, TLS el sıkışması, istek gönderildikten sonraki cevap ve cevabın her yeni parçası. İlerleyen bir aktarım, süresi ne olursa olsun hiçbir zaman kesilmez; deponun almayı bıraktığı bir yükleme 60 saniye sonra, bu değer daha uzunsa bu kadar sonra kesilir. Kopyalama ve yeniden adlandırma cevap için 10 dakikaya kadar bekler, çünkü depo bunları ancak kopya bittiğinde cevaplar.', 'storages.fieldHelp.s3MaxAttempts': 'Hata geçebilecek türdeyse bir isteğin toplamda kaç kez deneneceği: ağ hatası, zaman aşımı, 5xx cevabı, hız sınırlaması. 1 yeniden denemeyi kapatır. Bir ret (403, bulunmayan bir kova, çözümlenmeyen bir sunucu adı) hiçbir zaman yeniden denenmez.', 'storages.fieldHelp.s3TotalTimeout': 'İlk denemeden itibaren bu kadar saniye içinde bitemeyecek yeni bir deneme başlatılmaz; böylece çalışmayan bir depoya yükleme ya da listeleme, kesintiyi bu süre içinde bildirir. Sürmekte olan bir aktarım kesilmez. Zaman aşımına uğrayan bir istek ancak bu değer deneme zaman aşımının en az iki katıysa yeniden denenir.', 'storages.fields.attemptTimeout': 'Deneme zaman aşımı (saniye)', 'storages.fields.maxAttempts': 'İstek başına deneme sayısı', 'storages.fields.totalTimeout': 'Vazgeçme süresi (saniye)', 'storages.fieldHelp.attemptTimeout': 'Tek bir denemenin sunucudan bir yaşam belirtisi için bekleyebileceği süre: bağlanma, oturum açma, her isteğin cevabı ve bir aktarımın her yeni parçası. İlerleyen bir aktarım, süresi ne olursa olsun hiçbir zaman kesilmez; sunucunun almayı bıraktığı bir yükleme 60 saniye sonra, bu değer daha uzunsa bu kadar sonra kesilir.', 'storages.fieldHelp.webdavAttemptTimeout': 'Tek bir denemenin sunucudan bir yaşam belirtisi için bekleyebileceği süre: bağlanma, oturum açma, her isteğin cevabı ve bir aktarımın her yeni parçası. İlerleyen bir aktarım, süresi ne olursa olsun hiçbir zaman kesilmez; sunucunun almayı bıraktığı bir yükleme 60 saniye sonra, bu değer daha uzunsa bu kadar sonra kesilir. Kopyalama, taşıma ve silme cevap için 10 dakikaya kadar bekler, çünkü sunucu bunları ancak iş bittiğinde cevaplar.', 'storages.fieldHelp.maxAttempts': 'Hata geçebilecek türdeyse bir isteğin toplamda kaç kez deneneceği: bağlantı reddedilir ya da kopar, cevap zamanında gelmez, sunucu şu an hizmet veremediğini söyler (5xx). 1 yeniden denemeyi kapatır. Bir ret (yanlış parola, bulunmayan bir klasör, doğrulanamayan bir sertifika) hiçbir zaman yeniden denenmez; gönderilmeye başlamış bir yükleme de yeniden denenmez.', 'storages.fieldHelp.totalTimeout': 'İlk denemeden itibaren bu kadar saniye içinde bitemeyecek yeni bir deneme başlatılmaz; böylece çalışmayan bir sunucu bu süre içinde bildirilir. Sürmekte olan bir aktarım kesilmez. Zaman aşımına uğrayan bir istek ancak bu değer deneme zaman aşımının en az iki katıysa yeniden denenir.', /* === gezinti:g1 - gezinti paneli (SideNav) === */ 'sidenav.title': 'Gezinti', 'sidenav.views': 'Görünümler', 'sidenav.storages': 'Depolar', 'sidenav.home': 'Ana sayfa', 'sidenav.myfiles': 'Dosyalarım', 'sidenav.recent': 'Son kullanılanlar', 'sidenav.starred': 'Yıldızlılar', 'sidenav.shared': 'Benimle paylaşılanlar', // Üstteki satırın aynası ve tam altında durur: gelen ile giden. 'sidenav.myshares': 'Paylaştıklarım', 'sidenav.trash': 'Çöp kutusu', 'sidenav.collapse': 'Gezintiyi daralt', 'sidenav.expand': 'Gezintiyi genişlet', 'sidenav.close': 'Gezintiyi kapat', // ⚠ aç/kapat çifti ÇEKMECENİN, daralt/genişlet çifti yerleşik PANELİN - // ikisi birbirinin yerine kullanılamaz; bkz. en.ts'teki not ve Toolbar.vue // içindeki `navToggleLabel`. 560px altında panel listenin üzerine gelen bir // çekmecedir: raya inmez, hiç ekranda değildir; "genişlet" olmayan bir // genişliği büyütmeyi vaat ederdi. 'sidenav.open': 'Gezintiyi aç', 'sidenav.storage.shared': 'Paylaşılan', 'sidenav.storage.readOnly': 'Salt okunur', // #57 - depo satırının sıralama menüsü (sağ tık, uzun basış, Shift+F10). // "Ada göre sırala" bir mod değildir; kişinin elle düzeltmeye devam // edebileceği bir sıra yazar. "Varsayılan sırayı kullan" kişinin kendi // sırasını bırakır: panel yöneticinin sırasına (yoksa sunucununkine) döner. 'sidenav.storage.moveUp': 'Yukarı taşı', 'sidenav.storage.moveDown': 'Aşağı taşı', 'sidenav.storage.sortName': 'Ada göre sırala', 'sidenav.storage.sortName.done': 'Zaten ada göre sıralı', 'sidenav.storage.defaultOrder': 'Varsayılan sırayı kullan', 'sidenav.storage.defaultOrder.none': 'Zaten varsayılan sırada', // ⚠ `toolbar.nav` KALDIRILDI, yerine bir şey konmadı - bkz. en.ts'teki not. // Paneli daraltan tek denetimin etiketiydi; önce "Gezinti" (panelin adı, // düğmenin ne yaptığını söylemiyor), sonra "Gezintiyi göster/gizle" (sabit // geçici çözüm). Gerçek düzeltme yukarıdaki dört `sidenav.*` fiili: // etiket `navOpen`'a bağlı, daraltacaksa "daralt", genişletecekse // "genişlet" yazıyor. 'node.home': 'Ana sayfa', 'node.recent': 'Son kullanılanlar', 'node.starred': 'Yıldızlılar', 'node.shared': 'Benimle paylaşılanlar', 'empty.recent.title': 'Henüz hiçbir şey açılmadı', 'empty.recent.hint': 'Açtığınız dosyalar burada görünür', 'empty.starred.title': 'Henüz yıldızlı dosya yok', 'empty.starred.hint': 'Bir dosyayı yıldızlayın; burada bulursunuz', 'empty.shared.title': 'Sizinle henüz bir şey paylaşılmadı', 'empty.shared.hint': 'Başkalarının paylaştığı klasör ve dosyalar burada görünür', /* etiket:t1 */ 'sidenav.tags': 'Etiketler', 'sidenav.tags.empty': 'Henüz etiket yok - bir dosyaya sağ tıklayıp Etiketler’den ekleyebilirsiniz.', 'sidenav.tags.more': '{count} tane daha göster', 'sidenav.tags.less': 'Daha az göster', 'sidenav.tags.personal': 'Kişisel', 'sidenav.tags.team': 'Ekip', 'empty.tag.title': '“{tag}” etiketli hiçbir şey yok', 'empty.tag.hint': 'Bir dosyaya sağ tıklayıp Etiketler’i seçin; dosya burada görünür', 'sidenav.connections': 'Bağlantılar', 'sidenav.apps': 'Uygulamalar', // #162 - mağaza ekranı: yöneticinin açtığı mağazaların kataloğu. 'sidenav.appstore': 'Uygulama mağazası', 'sidenav.connect': 'Nasıl bağlanılır', 'sidenav.apikeys': 'API anahtarları', 'overlay.close': 'Kapat', 'conn.tokens.scopes': 'İzinler', 'conn.tokens.root': 'Tek bir klasörle sınırla (isteğe bağlı)', 'conn.tokens.rootPlaceholder': 'depo://klasör', 'conn.tokens.expiry': 'Geçerlilik (gün)', 'conn.tokens.expiryNever': 'süresiz', 'conn.tokens.defaultName': 'API anahtarı {date}', 'conn.tokens.namePlaceholder': 'Ad - ör. yedekleme betiği', 'conn.tokens.capNote': 'Tavan kendi erişiminizdir - sahip olmadığınız bir izin reddedilir, verilmez.', 'conn.tokens.scopesRequired': 'En az bir izin seçin - hiçbir izni olmayan bir API anahtarı verilmez.', 'conn.tokens.comments': 'Yorumlar', 'conn.tokens.commentsRead': 'Okuma', 'conn.tokens.commentsRw': 'Okuma ve yazma', 'conn.tokens.commentsHint': 'Yorum eklemek ve silmek ayrı bir izindir - “write” bunu kapsamaz. Her API anahtarı yorumları okur.', 'conn.tokens.commentsToRw': 'Yorumlar: yazmaya izin ver', 'conn.tokens.commentsToRead': 'Yorumlar: yalnız okuma', /* === /gezinti:g1 === */ /* === surucu:d1 - kabuk (GitHub #14); artık `uiProfile: 'drive'` ile gelen bir seçenek değil, her profilde çizilir === */ 'drive.new': 'Yeni', 'drive.new.upload': 'Dosya yükle', 'drive.new.folder': 'Yeni klasör', 'drive.new.request': 'Dosya iste', 'drive.new.document': 'Yeni belge', /* === belge:n1 - "Yeni belge": + Yeni altındaki seçici ================== Tür adları BURADA durmuyor. Her kutucuk sözcüklerini lib/fileIcons `typeLabelFor`den okur - listedeki Tür sütununun okuduğu tablonun aynısı - böylece ".docx" iki yerde de aynı adla anılır ve yeni bir tür için hiç dizge gerekmez. Aşağıda yalnız bu pencerenin kendi metni var. */ 'newdoc.title': 'Yeni belge', 'newdoc.type.label': 'Belge türü', 'newdoc.group.document': 'Belgeler', 'newdoc.group.text': 'Metin ve kod', 'newdoc.group.diagram': 'Çizimler', 'newdoc.group.app': 'Uygulamalar', /* ⚠ Her servisin tek adı, kendi projesinin kullandığı ad: draw.io ("drawio" ya da "diagrams.net" değil) ve ONLYOFFICE. */ 'newdoc.withheld.onlyoffice': 'Ofis belgeleri için bir belge sunucusu (ONLYOFFICE) gerekir; burada kurulu değil.', 'newdoc.withheld.drawio': 'Çizimler için draw.io gerekir; burada kurulu değil.', 'newdoc.withheld_admin': 'Yönetim panelinde Dış servisler altından kurabilirsiniz.', 'newdoc.empty.title': 'Kullanılabilir belge türü yok', 'newdoc.empty.body': 'Bu sunucu, bu uygulamanın oluşturabileceği bir tür sunmadı.', 'newdoc.empty.blocked': 'Bu sunucunun oluşturabildiği her tür, burada tanımlı olmayan bir düzenleyici servisine bağlı.', 'newdoc.name': 'Ad', 'newdoc.name.placeholder': 'Dosya adı, ör. notlar.txt ya da LICENSE', 'newdoc.untitled': 'Adsız', 'newdoc.err.slash': 'Ad eğik çizgi içeremez.', 'newdoc.err.exists': '{name} burada zaten var. Başka bir ad seçin.', 'newdoc.err.bare_ext': 'Dosyaya yalnız bir uzantı değil, bir ad verin.', 'newdoc.err.ext_needs_type': '.{ext} dosyası kendi türüyle oluşturulmalı - boş bir dosya açılmaz. O türü ya da başka bir uzantıyı seçin.', 'newdoc.hint.ext_added': 'Bu tür uzantısını korur; dosya {name} adıyla oluşturulacak.', // Drafts (issue #71): a new document is a draft until its first save. 'sidenav.drafts': 'Taslaklar', 'sidenav.drafts.count': '{n} taslak', 'sidenav.drafts.count_one': '{n} taslak', 'node.drafts': 'Taslaklar', 'empty.drafts.title': 'Taslak yok', 'empty.drafts.hint': 'Yeni bir belge, ait olduğu yere kaydedilene kadar burada bekler.', 'drafts.lead': 'Henüz kaydedilmemiş yeni belgeler. Bunları yalnızca siz görebilirsiniz.', 'drafts.count_of': '{n} / {limit} taslak', 'drafts.col.target': 'Kaydedileceği yer', 'drafts.col.storage': 'Depo', 'drafts.action.save': 'Diske kaydet', 'drafts.open_hint': '{name} dosyasını aç', 'drafts.no_match': 'Filtreye uyan taslak yok.', 'draft.badge': 'Taslak', 'draft.bar.target': '{folder} konumuna kaydedilecek', 'draft.save': 'Kaydet', 'draft.saved_to': '{name}, {folder} konumuna kaydedildi.', 'draft.discarded': '{name} çöp kutusuna taşındı.', 'draft.kept': 'Taslaklarda tutuluyor', 'draft.editing': 'Düzenleniyor…', 'draft.close.title': 'Bu taslak kapatılsın mı?', 'draft.close.body': '{name}, {folder} için bir taslak ve henüz oraya kaydedilmedi.', 'draft.close.hint': 'Tutulan taslak Taslaklar’da bekler. Çöpe at, taslağı çöp kutusuna taşır.', 'draft.close.save': 'Diske kaydet', 'draft.close.keep': 'Taslaklarda tut', 'draft.close.discard': 'Çöpe at', 'outside.title': 'Bu dosya dışarıda değişti', 'outside.body': '{name} burada açıkken başka bir yerde değiştirildi ve bu düzenleyicide de değişiklikler var. Hangi sürüm kalsın?', 'outside.theirs': 'Dışarıdakini koru', 'outside.theirs_hint': 'burada yapılan değişiklikler atılır, dışarıdaki sürüm yüklenir.', 'outside.mine': 'Benimkini yaz', 'outside.mine_hint': 'kaydedildiğinde sizin sürümünüz dışarıdakinin üstüne yazılır.', 'outside.both': 'İkisini de tut', 'outside.both_hint': 'dışarıdaki sürüm yerinde kalır, sizinki yanına ayrı bir kopya olarak kaydedilir (ad.filex-conflict-zaman).', 'outside.hint': 'Siz seçene kadar hiçbir sürümün üstüne yazılmaz.', 'outside.pending': 'Bu dosya dışarıda değişti. Hangi sürümün kalacağını seçene kadar hiçbir sürümün üstüne yazılmaz.', 'outside.choose': 'Seç…', 'outside.note.reloaded': 'Dosya dışarıda güncellendi, yeni sürüm yüklendi.', 'outside.note.theirs': 'Dışarıdaki sürüm yüklendi; burada yapılan değişiklikler atıldı.', 'outside.note.mine': 'Sizin sürümünüz kaydedildiğinde dışarıdakinin üstüne yazılacak.', 'outside.note.both': 'Dışarıdaki sürüm yerinde kalıyor; sizinki kaydedildiğinde yanına ayrı bir kopya olarak yazılacak.', 'draft.taken.title': 'Bu adda bir dosya zaten var', 'draft.taken.body': '{folder} konumunda {name} adında bir dosya zaten var. Taslak {suggested} olarak kaydedilsin mi?', 'draft.taken.confirm': '{name} olarak kaydet', 'upload.taken.body': '{folder} konumunda {name} adında bir öğe zaten var ve kasa eski sürümleri saklamaz. {suggested} olarak yüklensin mi?', 'upload.taken.confirm': '{name} olarak yükle', 'newdoc.hint.draft': 'Taslak olarak açılır: siz kaydedene kadar klasörde hiçbir şey oluşturulmaz.', 'newdoc.err.draft_limit': 'Bu sunucunun izin verdiği kadar taslağınız var ({limit}). Önce Taslaklar’da bazılarını kaydedin ya da silin.', 'newdoc.err.draft_limit_any': 'Bu sunucunun izin verdiği sayıda taslağınız var. Önce Taslaklar’da bazılarını kaydedin ya da silin.', 'newdoc.open_drafts': 'Taslakları aç', 'newdoc.location': 'Konum', 'newdoc.location.none': 'Bir klasör seçin', 'newdoc.location.change': 'Değiştir', 'newdoc.location.noaccess': 'Bu klasöre kaydedemezsiniz.', 'newdoc.create': 'Oluştur', 'newdoc.creating': 'Oluşturuluyor…', 'newdoc.cancel': 'Vazgeç', 'drive.search.placeholder': '{scope} deposunda ara', 'drive.search.placeholder_all': 'Tüm depolarda ara', 'drive.search.hint_title': 'Her yerde ara ve komut çalıştır ({combo})', 'drive.storage.used': '{total} alanın {used} kadarı dolu', 'drive.storage.used_unlimited': '{used} kullanılıyor', 'drive.storage.used_partial': 'en az {used} kullanılıyor', 'drive.storage.label': 'Depolama', /* === gorunum:v3-shell - Ana sayfa görünümü (kabuğun içindeki genel bakış) * Bölüm başlıkları `sidenav.storages` / `sidenav.recent` / `sidenav.starred`, * boş durumlar da `empty.recent.*` / `empty.starred.*` - bilerek: Ana * sayfadaki "Son kullanılanlar" başlığı ile yanındaki panel satırı aynı * şeydir, ikisine ayrı metin yazmak onları çeviri çeviri birbirinden * ayırmanın yoludur. Aşağıda yalnızca başka hiçbir yerde olmayanlar var. */ 'home.title': 'Ana sayfa', 'home.storages.empty': 'Henüz depo yok', 'home.storages.hint': 'Depo, filex’in okuyup yazdığı yerdir - depoları yönetici ekler.', 'drive.section.folders': 'Klasörler', 'drive.section.files': 'Dosyalar', 'filter.aria': 'Filtreler', 'filter.type': 'Tür', 'filter.type.any': 'Her tür', 'filter.type.folder': 'Klasörler', 'filter.type.document': 'Belgeler', 'filter.type.spreadsheet': 'Hesap tabloları', 'filter.type.presentation': 'Sunumlar', 'filter.type.pdf': 'PDF’ler', 'filter.type.image': 'Görseller', 'filter.type.video': 'Videolar', 'filter.type.audio': 'Ses dosyaları', 'filter.type.archive': 'Arşivler', 'filter.type.code': 'Kod', 'filter.modified': 'Değiştirilme', 'filter.modified.any': 'Her zaman', 'filter.modified.today': 'Bugün', 'filter.modified.7d': 'Son 7 gün', 'filter.modified.30d': 'Son 30 gün', 'filter.modified.year': 'Bu yıl', 'filter.size': 'Boyut', 'filter.size.any': 'Her boyut', 'filter.size.lt1': '1 MB altı', 'filter.size.1to10': '1 - 10 MB', 'filter.size.10to100': '10 - 100 MB', 'filter.size.gt100': '100 MB üstü', /* surucu:d1-actions - filtre satırının sonundaki ⋮ menüsü. Yalnızca menünün KENDİ adı yeni: içindeki her satır o eylemin zaten sahip olduğu metni kullanır (`toolbar.new_folder`, `toolbar.upload`, `ctx.paste`, `shortcuts.select_all`, `selection.clear`) - bir komutu yeniden adlandıran menü, okuyucuya aynı şeyi iki kez öğretir. */ 'filter.actions': 'Liste işlemleri', 'filter.clear': 'Filtreleri temizle', 'filter.empty.title': 'Bu filtrelere uyan bir şey yok', 'filter.empty.hint': 'Bir filtreyi kaldırın ya da yukarıdaki alandan her yerde arayın.', 'filter.count': '{total} öğeden {shown} tanesi', 'inspector.tab.details': 'Ayrıntılar', 'inspector.tab.activity': 'Etkinlik', 'inspector.people': 'Erişimi olan kişiler', 'inspector.people.you': 'Siz', 'inspector.people.inherited': 'üst klasörden', 'inspector.people.empty': 'Yalnızca siz ve aşağıdaki bağlantıya sahip olanlar.', 'inspector.people.manage': 'Erişimi yönet', 'inspector.link': 'Paylaşım bağlantısı', 'inspector.link.none': 'Paylaşılmadı', 'inspector.link.create': 'Bağlantı oluştur', 'inspector.link.copy': 'Bağlantıyı kopyala', 'inspector.activity.empty': 'Bu öğe için henüz etkinlik kaydı yok.', 'inspector.activity.hint': 'Sürümler dosya değiştikçe, yorumlar ise insanlar yazdıkça birikir.', 'inspector.activity.version': '{n}. sürüm kaydedildi', 'inspector.activity.comment': '{who} yorum yaptı', 'inspector.activity.select': 'Etkinliğini görmek için bir dosya ya da klasör seçin.', /* === /surucu:d1 === */ /* === gorunum:v1-chrome - filtre satırındaki ad kutusu === */ 'filter.find': 'Bu klasörde filtrele…', /* surucu:d1-scope - satırların bir klasörün içeriği olmadığı yerlerde aynı kutu. Neyi daralttığını söylemek zorunda: depo listesinde "bu klasör" hiçbir şeyi adlandırmaz, Ana sayfada ise üç bloğu birden adlandırırdı. */ 'filter.find.storages': 'Depolarda filtrele…', 'filter.find.home': 'Ana sayfada filtrele…', /* === gorunum:v1-viewer - tam ekran görüntüleyicinin kendi çerçevesi === */ 'viewer.share': 'Paylaş', 'viewer.nav_prev': 'Önceki dosya', 'viewer.nav_next': 'Sonraki dosya', /* Üst çubuğun künye satırındaki sayaç: "246,3 KB • 9 Eyl 2026 • 1 / 9". */ 'viewer.counter': '{i} / {n}', 'viewer.zoom_reset': 'Yakınlaştırmayı sıfırla', 'viewer.fullscreen': 'Tam ekran', 'viewer.exit_fullscreen': 'Tam ekrandan çık', 'viewer.md_placeholder': '# Markdown buraya…', /* === gorunum:v1-selbar - filtre satırının yerini alan seçim çubuğu === */ 'selection.count': '{n} seçildi', 'selection.clear': 'Seçimi temizle', /* === gorunum:v1-preview - türün adı, kelimeyle ======================= Tür sütunu eskiden uzantıyı büyük harfle yazıyordu; artık bunları yazıyor. Hangisinin seçileceğine `lib/fileIcons.ts` karar verir (`typeLabelKey`) - bir türü adlandıran yalnız iki yer var: o tablo ve bu liste. Eşleşmeyen her şey yine büyük harfli uzantıya düşer. `Klasör` burada DEĞİL: o `node.folder`, grid kartının alt yazısı zaten onu basar. */ 'ftype.typescript': 'TypeScript', 'ftype.javascript': 'JavaScript', 'ftype.vue': 'Vue bileşeni', 'ftype.python': 'Python', 'ftype.go': 'Go', 'ftype.rust': 'Rust', 'ftype.php': 'PHP', 'ftype.ruby': 'Ruby', 'ftype.java': 'Java', 'ftype.kotlin': 'Kotlin', 'ftype.swift': 'Swift', 'ftype.c': 'C kaynağı', 'ftype.cpp': 'C++ kaynağı', 'ftype.csharp': 'C# kaynağı', 'ftype.stylesheet': 'Stil dosyası', 'ftype.html': 'HTML belgesi', 'ftype.json': 'JSON verisi', 'ftype.yaml': 'YAML', 'ftype.xml': 'XML', 'ftype.toml': 'TOML', 'ftype.sql': 'SQL', 'ftype.shell': 'Kabuk betiği', 'ftype.powershell': 'PowerShell betiği', 'ftype.markdown': 'Markdown', 'ftype.plaintext': 'Düz metin', 'ftype.log': 'Günlük dosyası', 'ftype.config': 'Ayar dosyası', 'ftype.sheet': 'Hesap tablosu', 'ftype.drawio': 'draw.io diyagramı', 'ftype.figma': 'Figma tasarımı', 'ftype.design': 'Tasarım dosyası', 'ftype.image': 'Görsel', 'ftype.video': 'Video', 'ftype.audio': 'Ses', 'ftype.pdf': 'PDF belgesi', 'ftype.document': 'Belge', 'ftype.slides': 'Sunum', 'ftype.archive': 'Arşiv', 'ftype.code': 'Kod', /* === gorunum:v1-advsearch - Gelişmiş arama penceresi =================== * İki `filter.*` anahtarı kardeşlerinin yanında değil burada: paylaşılan * birleşimlere pencerenin eklediği yeni üyeler (`modified: 'around'`, * `size: 'range'`). Filtre satırı bunları hiç seçmez ama biri oraya * ulaşırsa `chipLabel` ham anahtarı yazardı. */ 'filter.modified.around': 'Bir tarihin çevresinde', 'filter.size.range': 'Özel aralık', 'advsearch.open': 'Gelişmiş arama', 'advsearch.title': 'Gelişmiş arama', 'advsearch.subtitle': 'Dosyaları ada, içeriğe, yola ya da etikete göre bulun.', 'advsearch.close': 'Kapat', 'advsearch.content.heading': 'İçerik araması', 'advsearch.viewall': 'Tüm sonuçları gör', 'advsearch.where.any_short': 'Her yerde', 'advsearch.where.here_short': 'Yalnız burada', 'advsearch.where.skip_short': 'Burayı atla', 'advsearch.server.legend': 'Sunucunun aradığı', 'advsearch.client.legend': 'Gelen sonuçları daralt', 'advsearch.query.label': 'Kelimeler', 'advsearch.query.placeholder': 'Adın bir parçası ya da dosyanın içindeki kelimeler', 'advsearch.scope.label': 'Nerede arasın', 'advsearch.scope.name': 'Ad ve yol', 'advsearch.scope.content': 'Dosya içeriği', 'advsearch.scope.all': 'İkisi de', 'advsearch.scope.hint': 'İçerik, dizinden aranır; dizin metin türü dosyaların ilk 200 KB’ını kapsar.', 'advsearch.people.name_only': 'Sahip, gelen satırlardan okunur; sahip bilgisi taşıyan satırları da yalnız ad araması döndürür.', 'advsearch.scope.name_only': 'Burada yalnız ad ve yol: içerik sonucu gezgine hangi depodan geldiği bilgisi olmadan ulaşır, bu yüzden içerik araması yalnız tek depolu kurulumlarda sunulur.', 'advsearch.tags.label': 'Etiketler', 'advsearch.tags.placeholder': 'fatura, üç aylık rapor', 'advsearch.tags.exclude': 'Şu etiketler hariç', 'advsearch.tags.exclude_placeholder': 'arşiv', 'advsearch.tags.hint': 'Virgülle ayırın. Etiket daraltır: birden çok etiket hepsini birden taşıyan dosyalar demektir, hiç kullanılmamış bir etiket ise hiçbir şey döndürmez. Bir ad, o adı taşıyan kişisel etiketinizi de ekibinizin etiketini de bulur.', 'advsearch.where.label': 'Klasör', 'advsearch.where.any': 'Bu deponun her yerinde', 'advsearch.where.here': 'Yalnız {folder} içinde', 'advsearch.where.skip': '{folder} dışındaki her yerde', 'advsearch.around.label': 'Şu kadar içinde', 'advsearch.around.date': 'Tarih ve saat', 'advsearch.around.h1': '1 saat', 'advsearch.around.d1': '1 gün', 'advsearch.around.w1': '1 hafta', 'advsearch.size.range_label': 'Şunun arasında', 'advsearch.size.from': 'En az', 'advsearch.size.to': 'En çok', 'advsearch.count.idle': 'Bir şeyler yazın ya da etiket seçin.', 'advsearch.count.counting': 'Sayılıyor…', 'advsearch.count.result': '{n} eşleşen öğe', 'advsearch.count.capped': 'Sonuçların ilk sayfasında {n} eşleşen öğe', 'advsearch.count.result_one': '{n} eşleşen öğe', 'advsearch.count.capped_one': 'Sonuçların ilk sayfasında {n} eşleşen öğe', 'advsearch.count.error': 'Sayım çalıştırılamadı.', 'advsearch.count.cost': 'Sayım bu aramayı çalıştırır. Tür, sahip, tarih, boyut ve klasör bulduğu sonuçları daraltır.', 'advsearch.wire': 'Bir dahaki sefere arama kutusuna şunu yazabilirsiniz:', 'advsearch.reset': 'Sıfırla', 'advsearch.cancel': 'Vazgeç', 'advsearch.submit': 'Ara', /* === gorunum:v2-topbar - sayfanın üst barı kalktı; onun taşıdıklarını artık gezginin kendi başlığı ve kırıntı satırı taşıyor. === */ 'breadcrumb.subfolders': 'Alt klasörler', 'breadcrumb.subfolders.empty': 'Burada alt klasör yok', 'header.admin': 'Yönetim paneli', 'header.settings': 'Ayarlar', 'header.signout': 'Oturumu kapat', 'ai.assistant': 'AI asistanı', 'ai.soon': 'Yakında', 'ai.assistant.soon': 'AI asistanı - yakında', /* gorunum:v2-share - Paylaş / İzinler penceresinin kendi çerçevesi. İçindeki denetimler eski metinlerini koruyor; buradakiler yeni kabuk: başlık, tek anahtar, "şu anda kim açabilir" cümlesi ve her şeyin katlandığı üç adlı bölüm. */ 'access.title': '"{name}" paylaşımı', 'access.close': 'Kapat', 'access.done': 'Bitti', 'access.copy': 'Kopyala', 'access.copied': 'Kopyalandı', 'access.link.switch': 'Bağlantı paylaşımı', 'access.who.private': 'Yalnızca erişimi olan kişiler açabilir.', 'access.who.link': 'Bağlantıyı bilen herkes açabilir.', 'access.who.pin': "Bağlantıyı ve PIN'i bilen herkes açabilir.", 'access.who.existing': 'Bağlantı paylaşımı açık - {n} bağlantı var.', 'access.who.existing_one': 'Bağlantı paylaşımı açık - {n} bağlantı var.', 'access.section.link': 'Bağlantı seçenekleri', 'access.section.people': 'Erişimi olanlar', 'access.section.drop': 'Dosya iste', 'access.sum.pin_on': 'PIN var', 'access.sum.pin_off': 'PIN yok', 'access.sum.people': '{n} kişi', 'access.sum.people_one': '{n} kişi', 'access.sum.people_none': 'Henüz kimse yok', 'access.sum.groups': '{n} grup', 'access.sum.groups_one': '{n} grup', 'access.sum.drop': '{n} yükleme bağlantısı', 'access.sum.drop_one': '{n} yükleme bağlantısı', 'access.sum.drop_none': 'Yükleme bağlantısı yok', /* Sahiplik - Sahibi sütunu ve Kişiler çipi. "Sistem", filex üzerinden kimsenin koymadığı satırın dürüst karşılığıdır (tarayıcı buldu ya da doğrudan kovaya yazıldı); boşluk değil, gerçek bir cevaptır. */ 'col.owner': 'Sahibi', 'owner.you': 'Siz', 'owner.system': 'Sistem', 'owner.unknown': 'Bilinmiyor', 'owner.external': 'Yükleme bağlantısıyla geldi', 'owner.last_actor': 'Son değiştiren: {who}', 'filter.people': 'Sahibi', 'filter.people.any': 'Herkes', 'filter.people.me': 'Siz', 'filter.people.system': 'Sistem', 'filter.people.someone': 'Başka biri', /* surucu:d1-sort - filtre satırının sağ ucundaki sıralama denetimi. Dört ölçütün adı `col.*`: menü, liste görünümünün sütun başlıklarındaki sözcüklerin aynısını sunar - tek bir sıralamayı süren iki denetim onu farklı adlarla anamaz. */ 'sort.by': 'Sıralama ölçütü', 'sort.asc': 'Artan', 'sort.desc': 'Azalan', /* Bir ARAMA SONUCUNUN sırası. Beşinci bir sıralama ölçütü değildir - ekrandaki satırları sunucu sıraladığında denetim, ölçüt adı yerine bunu yazar; böylece yapmadığı bir sıralamayı üstlenmez. `_why` denetimin neden kapalı olduğudur: bakımcı, denetimin sessizce işlevsizleşmesini değil nedeninin yazılmasını istedi. */ 'sort.relevance': 'Alaka', 'sort.relevance_why': 'Arama sonuçları eşleşme yakınlığına göre listelenir. Seçtiğiniz sıralama, aramadan çıkınca geri gelir.', /* === tablo:t1 - tablonun kendi yapılandırması ========================== v0.43'ten beri bir klasörün görünüşüne dair her şey - görünüm, sıralama VE sütunlar - değiştirildiği klasöre aittir; kimsenin değiştirmediği klasör kişinin varsayılanıyla (ayarlarından), o yoksa kurulumunkiyle açılır. `folder_hint` bu kuralı tek cümlede, tam da ona şaşıracak kişinin okuyabileceği yerde söyler. */ 'col.location': 'Konum', 'col.deleted': 'Silinme', 'col.deleted_from': 'Silindiği yer', 'col.deleted_by': 'Silen', 'col.remaining': 'Kalan süre', 'cols.menu': 'Sütun seçenekleri', 'cols.title': 'Sütunlar', 'cols.resize': '{col} sütununu yeniden boyutlandır', 'cols.move_left': '{col} sütununu sola taşı', 'cols.move_right': '{col} sütununu sağa taşı', 'cols.reset': 'Sütunları sıfırla', 'cols.folder_title': 'Klasör görünümü', 'cols.folder_hint': 'Burada yaptığınız değişiklik bu klasörde kalır. Hiç değiştirmediğiniz klasörler varsayılan görünümünüzle açılır (Ayarlar → Varsayılan klasör görünümü).', 'cols.forget_folder': 'Bu klasörün görünümünü unut', 'cols.apply_all': 'Bunu tüm klasörler için varsayılanım yap ({count} klasör hatırlanıyor)', /* === tablo:t3 - TEK TABLO (components/DataTable.vue) ==================== Üründeki her tablo bunları konuşur; Türkçe bir sayfada sütun menüsü ya da sayfalayıcı İngilizce kalmasın. */ 'table.empty': 'Henüz burada bir şey yok', 'table.prev': 'Önceki sayfa', 'table.next': 'Sonraki sayfa', 'table.sort_paged': 'Bu liste sayfalara bölünmüş. Sıralama yalnızca ekrandaki sayfayı yeniden dizerdi, bu yüzden burada kapalı - listeyi arama ya da filtrelerle daraltın.', /* === tablo:t1 - çöp kutusu bilgi şeridi ================================ ⚠ `retention` yalnızca kurulum bize sayıyı SÖYLEDİĞİNDE kullanılır (GET /api/admin/protection). Diğer her durumda `retention_unknown` aynı şeyi, doğrulayamadığımız bir süreyi taahhüt etmeden söyler: yanlış saklama süresi yazan bir şerit, hiç şerit olmamasından kötüdür - insanlar ona bakıp karar verir. */ 'trash.retention': 'Çöp kutusundaki öğeler {days} gün sonra kalıcı olarak silinir.', 'trash.retention_one': 'Çöp kutusundaki öğeler {days} gün sonra kalıcı olarak silinir.', 'trash.retention_unknown': 'Çöp kutusundaki öğeler, yöneticinizin belirlediği saklama süresi dolunca kalıcı olarak silinir.', 'trash.empty_action': 'Çöp kutusunu boşalt', 'trash.empty_confirm_title': 'Çöp kutusu boşaltılsın mı?', 'trash.empty_counting': 'Çöp kutusundakiler sayılıyor…', 'trash.show_more': 'Daha fazla göster', 'trash.shown_of': '{total} öğenin {shown} tanesi gösteriliyor', 'trash.days_remaining': '{n} gün', 'trash.days_remaining_one': '{n} gün', 'trash.days_remaining_due': 'Silinmek üzere', 'trash.deleted_by_nobody': 'Kayıt yok: virüs taraması karantinaya almış ya da filex bunu tutmaya başlamadan önce silinmiş', 'empty.trash.hint': 'Sildiğiniz dosyalar önce buraya düşer, böylece geri alabilirsiniz.', /* tasi:m1 - hedef klasör seçici (modals/DestinationPickerModal.vue) ve üzerine kurulan iki seçim eylemi. */ 'destpicker.title.move': 'Şuraya taşı', 'destpicker.title.copy': 'Şuraya kopyala', 'destpicker.title.choose': 'Klasör seç', 'destpicker.confirm.move': 'Buraya taşı', 'destpicker.confirm.copy': 'Buraya kopyala', 'destpicker.confirm.choose': 'Bu klasörü seç', 'destpicker.title.choose_file': 'Dosya seç', 'destpicker.confirm.choose_file': 'Bu dosyayı seç', 'destpicker.title.save': 'Şuraya kaydet', 'destpicker.confirm.save': 'Buraya kaydet', 'destpicker.pick_a_file': 'Listeden bir dosya seçin.', 'destpicker.empty_files': 'Bu klasör boş', 'destpicker.cancel': 'Vazgeç', 'destpicker.up': 'Bir üst klasör', 'destpicker.crumbs': 'Konum', 'destpicker.drives': 'Depolar', 'destpicker.loading': 'Yükleniyor…', 'destpicker.empty': 'Burada alt klasör yok', 'destpicker.unreadable': 'Bu klasör açılamıyor.', 'destpicker.readonly': 'Salt okunur', 'destpicker.readonly_here': 'Bu klasöre yazamazsınız.', 'destpicker.pick_a_drive': 'Bir klasör seçmek için önce bir depo açın.', 'destpicker.target': 'Hedef: {name}', 'destpicker.tag.blocked': 'Uygun değil', 'destpicker.blocked.self': 'Bir klasör kendi içine taşınamaz.', 'destpicker.blocked.descendant': 'Bir klasör kendi alt klasörlerinden birine taşınamaz.', 'destpicker.tag.vault': 'Kasa', 'destpicker.blocked.vault_in': 'Buradan kasaya bir şey konmaz: kasanın içinden yükleyin.', 'destpicker.blocked.vault_out': 'Kasadakiler yalnız o kasanın içinde taşınır. Dışarı almak için indirin.', 'ctx.move_to': 'Şuraya taşı…', 'ctx.copy_to': 'Şuraya kopyala…', 'ctx.access.one_only': 'Paylaşım aynı anda tek öğe için çalışır.', 'toast.archive.preparing': 'Arşiv hazırlanıyor…', 'toast.archive.started': '{name} indiriliyor ({count} dosya)', 'toast.archive.started_one': '{name} indiriliyor ({count} dosya)', 'toast.archive.empty': 'İndirilecek bir şey yok - seçimde okunabilir dosya bulunmuyor.', 'toast.moved_to': '{name} klasörüne taşıma kuyruğa alındı', 'toast.copied_to': '{name} klasörüne kopyalama kuyruğa alındı', 'toast.already_there': 'Seçilen öğeler zaten {name} içinde - hiçbir şey gönderilmedi', /* ── dil:paket - bkz. en.ts */ 'ctx.tags_menu': 'Etiketler…', 'toast.node_id_copied': 'Node id {id} kopyalandı', 'toast.read_only_here': 'Burada yazma yetkiniz yok', 'recents.title': 'Son açılanlar', 'recents.refresh': 'Yenile', 'recents.empty': 'Henüz bir şey yok.', 'recents.loading': 'Yükleniyor…', 'recents.close': 'Kapat', 'tags.title': 'Etiketler', 'tags.close': 'Kapat', 'share.ttl.never': 'Bu bağlantının süresi yoktur.', 'share.ttl.until': 'Bu bağlantı {when} tarihine kadar geçerli.', 'share.ttl.ceiling': 'Bağlantılar en fazla {days} gün geçerli olabilir (sunucu ayarı).', 'share.ttl.ceiling_one': 'Bağlantılar en fazla {days} gün geçerli olabilir (sunucu ayarı).', /* ── dil:paket - paylaşım / erişim penceresi (bkz. en.ts) */ 'access.ui.level_viewer': 'Görüntüleyen', 'access.ui.level_viewer_desc': 'görüntüle + indir', 'access.ui.level_editor': 'Düzenleyen', 'access.ui.level_editor_desc': 'oku + yaz + sil', 'access.ui.level_owner': 'Sahip', 'access.ui.level_owner_desc': 'düzenle + izin yönet', 'access.ui.never': 'Süresiz', 'access.ui.days': '{days} gün', 'access.ui.days_one': '{days} gün', 'access.ui.unlimited': 'Sınırsız', 'access.ui.downloads': '{count} indirme', 'access.ui.downloads_one': '{count} indirme', 'access.ui.inherited_from': 'Üst klasörden gelir', 'access.ui.access_granted': 'Yetki verildi.', 'access.ui.enter_a_valid_email': 'Geçerli bir e-posta girin.', 'access.ui.recipient_lang': 'Alıcının dili', 'access.ui.recipient_lang_server': 'Sunucunun dili', 'access.ui.user_created_invite_emailed': 'Kullanıcı açıldı, davet e-postası gönderildi.', 'access.ui.user_created_share_the_temp_password': 'Kullanıcı açıldı. Geçici parolayı iletin.', 'access.ui.server_limit_applied': '(sunucu sınırı uygulandı)', 'access.ui.protect_with_a_pin': 'PIN ile koru', 'access.ui.expiry': 'Süre', 'access.ui.download_limit': 'İndirme limiti', 'access.ui.create_link': 'Bağlantı oluştur', 'access.ui.replace_link': 'Bağlantıyı bu ayarlarla yenile', 'access.ui.replace_link_hint': 'Adres değişir: şu anki bağlantı çalışmayı bırakır.', 'access.ui.create_then_send': 'Bir bağlantı oluşturun, ardından {email} adresine gönderin.', 'access.ui.command_line': 'Komut satırı', 'access.ui.share': 'Paylaş', 'access.ui.existing_links': 'Mevcut bağlantılar', 'access.ui.rbac_off_here': 'Bu depoda öğe bazlı erişim denetimi kapalı - herkes depoyu rolüne göre açar, burada eklenen kişiler bir şey değiştirmez. Yönetim panelinde Depolar altından (bu depo → Öğe bazlı erişim denetimi) açın.', 'access.ui.other_links': 'Diğer bağlantılar', 'access.ui.revoke': 'İptal', 'access.ui.loading': 'Yükleniyor…', 'access.ui.name_or_email': 'Ad ya da e-posta', 'access.ui.add': 'Ekle', 'access.ui.no_account_for_this_email_what_next': 'Bu e-postada hesap yok. Ne yapmak istersiniz?', 'access.ui.user': 'Kullanıcı', 'access.ui.viewer': 'Görüntüleyen', 'access.ui.create_user_grant': 'Kullanıcı oluştur + yetki ver', 'access.ui.just_send_a_share_link': 'Yalnızca paylaşım bağlantısı gönder →', 'access.ui.temp_password': 'Geçici parola:', 'access.ui.people_with_access': 'Erişimi olanlar', 'access.ui.group': 'Grup', 'access.ui.group_title': '“{name}” grubu - içindeki herkes', 'access.ui.group_owner_confirm': 'Sahip düzeyi, “{name}” grubundaki herkesin buraya kimin erişebileceğini yönetmesine izin verir - başka kişi ve gruplarla paylaşmak dâhil. Gruba Sahip verilsin mi?', 'access.ui.group_owner_give': 'Sahip yap', 'access.ui.not_shared_with_anyone_yet': 'Henüz kimseyle paylaşılmadı.', 'access.ui.remove': 'Kaldır', 'access.ui.a_public_link_that_lets_anyone_upload_fi': 'Bu klasöre herkesin dosya YÜKLEYEBİLECEĞİ herkese açık bir bağlantı. Yükleyenler klasördeki mevcut dosyaları göremez.', 'access.ui.hide_upload_limits': 'Yükleme sınırlarını gizle', 'access.ui.upload_limits': 'Yükleme sınırları', 'access.ui.max_files': 'En fazla dosya', 'access.ui.mb_file': 'Dosya başı MB', 'access.ui.allowed_types': 'İzinli türler', 'access.ui.all_e_g_pdf_jpg': 'hepsi (örn. pdf, jpg)', 'access.ui.ask_uploader_name': 'Yükleyenin adını sor', 'access.ui.emails_comma_separated': 'e-posta(lar) - virgülle ayırın', 'access.ui.send': 'Gönder', 'access.ui.mail_not_set_up': 'E-posta kurulu değil - yönetim panelinde Ayarlar altından (E-posta / SMTP) kurun.', /* ── wiring:e2 fxe - tek şifreli dosyalar (.fxe), akışlı indirmeler ── */ 'e2e.fxe.type': 'Şifreli dosya', 'e2e.fxe.ctx_encrypt': 'E2EE ile şifrele…', 'e2e.fxe.ctx_download_raw': 'Şifreli dosyayı indir', 'e2e.fxe.ctx_password': 'Parolayı değiştir…', 'e2e.fxe.ctx_remove': 'Şifrelemeyi kaldır…', 'e2e.fxe.encrypt_title': 'Bu dosyayı şifrele', 'e2e.fxe.encrypt_lead': '“{name}” bu tarayıcıda, kendine ait bir parolayla şifrelenir. Sunucu yalnızca şifreli veriyi saklar. Dosyayı parola ya da kurtarma anahtarı açar - burada ya da çevrimdışı olarak filex decrypt ile.', 'e2e.fxe.pw_label': 'Dosya parolası', 'e2e.fxe.hide_label': 'Dosya adını da gizle', 'e2e.fxe.hide_on_hint': '“{stored}” olarak saklanır: sunucu ne adı ne de türü görür. Gerçek ad dosyanın içinde mühürlüdür; dosyayı burada açınca görünür.', 'e2e.fxe.hide_off_hint': '“{stored}” olarak saklanır: ad sunucu tarafından okunabilir kalır, içerik kalmaz.', 'e2e.fxe.seen_title': 'Sunucunun zaten gördükleri', 'e2e.fxe.seen_lead': 'Bu dosya şimdiye kadar şifresiz saklandı ve şifrelemek bunu geri almaz:', 'e2e.fxe.seen_trash': 'Asıl dosya çöp kutusuna gider ve çöp kutusunun saklama süresi dolana ya da bir yönetici boşaltana kadar orada kalır. Kalıcı olarak kendiniz silemezsiniz.', 'e2e.fxe.seen_versions': 'Önceki sürümleri sürüm geçmişinde kalır; onları yalnızca bir yönetici silebilir.', 'e2e.fxe.seen_thumb': 'Ondan üretilmiş bir küçük resim, asıl dosya kalıcı olarak silinene kadar sunucuda kalır. Arama dizinindeki kaydı, dosya çöp kutusuna gidince kaldırılır.', 'e2e.fxe.seen_backups': 'Bundan önce alınmış yedekler, kopyalar ve indirmeler onu hâlâ içerir.', 'e2e.fxe.warn_body': 'Bu dosya yalnızca bu parolayla ya da şifrelemeden sonra bir kez gösterilen kurtarma anahtarıyla açılır. filex ikisini de saklamaz. İkisini de kaybederseniz içerik kalıcı olarak kaybolur.', 'e2e.fxe.escrow_body': 'Bu kurulumda anahtar emaneti açık: işletmecisi, bu dosyayı parolanız olmadan açan bir anahtara sahip.', 'e2e.fxe.encrypt_submit': 'Şifrele', 'e2e.fxe.encrypt_busy': 'Şifreleniyor ve yükleniyor… %{percent}', 'e2e.fxe.size_unknown': 'Bu dosyanın boyutu henüz bilinmiyor. Klasörü yenileyip tekrar deneyin.', 'e2e.fxe.bad_name': 'Bu ad şifreli bir dosyanın içine mühürlenemez (255 baytı aşıyor ya da eğik çizgi veya denetim karakteri içeriyor). Önce dosyayı yeniden adlandırın.', 'e2e.fxe.name_too_long': 'Ad, sonuna “.fxe” eklenemeyecek kadar uzun. “Dosya adını da gizle” kutusunu işaretleyin ya da önce dosyayı yeniden adlandırın.', 'e2e.fxe.encrypted': '“{name}” şifrelendi. Asıl dosya çöp kutusunda.', 'e2e.fxe.original_kept': 'Şifreli kopya kaydedildi, ancak “{name}” çöp kutusuna taşınamadı. Asıl dosyayı kendiniz silin.', 'e2e.fxe.upload_too_big': 'Bu sunucuda parçalı yükleme yok ve dosya bu tarayıcıdan tek parça gönderilemeyecek kadar büyük.', 'e2e.fxe.unlock_title_open': 'Şifreli dosyayı aç', 'e2e.fxe.unlock_title_download': 'Çözerek indir', 'e2e.fxe.unlock_title_remove': 'Şifrelemeyi kaldır', 'e2e.fxe.unlock_lead': '“{name}” şifreli. Parolası burada, bu tarayıcıda denetlenir ve asla sunucuya gönderilmez.', 'e2e.fxe.known_note': 'Bu sekmede zaten açıldı - parola gerekmiyor.', 'e2e.fxe.use_password': 'Onun yerine parolayı kullan', 'e2e.fxe.remove_warn_title': 'Şifresiz içerik sunucuya geri döner', 'e2e.fxe.remove_warn_body': 'Dosya burada çözülür ve özgün adıyla şifresiz bir dosya olarak yüklenir: sunucu, yöneticileri, küçük resimler, arama ve yedekler onu yeniden okuyabilir. Şifreli dosya çöp kutusuna gider.', 'e2e.fxe.unlock_open': 'Aç', 'e2e.fxe.unlock_download': 'İndir', 'e2e.fxe.unlock_remove': 'Şifrelemeyi kaldır', 'e2e.fxe.unlock_busy': 'İşleniyor…', 'e2e.fxe.save_again': 'Kilit açıldı. Tarayıcınız, dosyanın nereye kaydedileceğini sormadan önce bir tıklama daha istiyor.', 'e2e.fxe.save_button': 'Kaydet…', 'e2e.fxe.progress': '%{percent} tamamlandı', 'e2e.fxe.wrong_password': 'Parola yanlış.', 'e2e.fxe.wrong_recovery': 'Bu kurtarma anahtarı bu dosyayı açmıyor.', 'e2e.fxe.damaged': 'Bu dosya bozuk ya da kurcalanmış (veya açıldığından beri değişmiş). Hiçbir şey kaydedilmedi.', 'e2e.fxe.not_readable': 'Bu bir filex şifreli dosyası değil ya da başlığı bozuk.', 'e2e.fxe.unsupported': 'Bu dosya daha yeni bir filex gerektiriyor (gereken: {features}).', 'e2e.fxe.downloaded': '“{name}” kaydedildi.', 'e2e.fxe.removed': 'Şifreleme kaldırıldı: “{name}” yeniden şifresiz bir dosya. Şifreli dosya çöp kutusunda.', 'e2e.fxe.password_title': 'Dosya parolasını değiştir', 'e2e.fxe.password_cost': 'Yalnızca dosyanın başlığı değişir: içerik bayt bayt aynen geri gönderilir ve kurtarma anahtarı çalışmaya devam eder.', 'e2e.fxe.password_old_copies': 'Bu dosyanın önceki bir sürümü - sürüm geçmişi, bir yedek, birinin indirdiği bir kopya - ESKİ parolayla açılmaya devam eder.', 'e2e.fxe.password_done': 'Parola değişti. Eski parola bu dosyayı artık açmıyor.', 'e2e.recovery.warn_body_file': 'Bu anahtara sahip olan herkes dosyayı okuyabilir. Onu paroladan ayrı bir yerde saklayın - parolanın yanında duran bir anahtar sizi unutmaktan korur, başkalarından değil.', 'e2e.recovery.lead_file': 'Bu anahtar dosyayı parolası olmadan açar. Yalnızca bir kez gösterilir - filex onu saklamaz ve bir daha gösteremez.', 'e2e.dl.ctx_encrypted_copy': 'Şifreli kopyayı indir', 'e2e.dl.too_big': 'Bu tarayıcı tek seferde en çok {limit} çözülmüş veri kaydedebilir, bu ise {size}. Chrome ya da Edge (doğrudan diske kaydeder), filex masaüstü uygulamasını kullanın ya da şifreli dosyayı indirip filex decrypt çalıştırın.', 'e2e.dl.click_again': 'Nereye kaydedileceğini seçmek için İndir’e bir kez daha tıklayın.', 'e2e.dl.zip_started': '“{name}” içine çözülerek yazılıyor…', 'e2e.dl.zip_done': '“{name}” kaydedildi - çözülmüş, gerçek adlarla.', 'e2e.dl.zip_done_plain': '“{name}” kaydedildi. İçindeki {n} dosya hiç şifrelenmemişti ve olduğu gibi eklendi.', 'e2e.dl.zip_done_plain_one': '“{name}” kaydedildi. İçindeki {n} dosya hiç şifrelenmemişti ve olduğu gibi eklendi.', 'e2e.dl.zip_damaged': 'Klasördeki bir dosya bozuk ya da kurcalanmış. İndirme durduruldu ve hiçbir şey kaydedilmedi.', 'e2e.upload.streaming_unsupported': 'Bu dosya 200 MB’tan büyük ve bu sunucuda onu parça parça şifreli göndermek için parçalı yükleme yok.', /* wiring:e2 fxe escrow - emanet anahtarı tek bir dosyayı açar, sahibine haber gider */ 'e2e.fxe.use_escrow': 'Emanet anahtarını kullan', 'e2e.fxe.escrow_warn_title': 'Dosyanın sahibine haber gidecek', 'e2e.fxe.escrow_warn_body': 'Emanet anahtarıyla açılan dosyanın sahibine, dosya açılmadan önce bildirim gönderilir. Yalnız yetkiniz olduğunda kullanın.', 'e2e.fxe.escrow_predates': 'Bu kurulumun emanet anahtarı var, ama bu dosya onsuz şifrelenmiş (emanet burada açılmadan önce), bu yüzden emanet anahtarı onu açmaz. Parolayı ya da kurtarma anahtarını kullanın.', 'e2e.fxe.escrow_other_key': 'Bu dosya BAŞKA bir kurulumun emanet anahtarına mühürlenmiş, bu yüzden bu kurulumun emanet anahtarı onu açmaz.', 'e2e.fxe.wrong_escrow': 'Bu emanet anahtarı bu dosyayı açmıyor.', 'e2e.fxe.escrow_notify_failed': 'Dosyanın sahibine bildirim gönderilemedi, bu yüzden dosya açılmadı. Emanet anahtarının kullanımı her zaman duyurulur.', 'e2e.fxe.escrow_done': 'Emanet anahtarıyla açıldı - dosya sahibine bildirildi', /* wiring:e2 fxe purge - yönetici aslını kalıcı olarak siler */ 'e2e.fxe.seen_trash_admin': 'Asıl dosya çöp kutusuna gider ve çöp kutusunun saklama süresi dolana kadar orada kalır - aşağıda kalıcı olarak silmediğiniz sürece.', 'e2e.fxe.seen_versions_admin': 'Önceki sürümleri sürüm geçmişinde kalır - aşağıda kalıcı olarak silmediğiniz sürece.', 'e2e.fxe.purge_label': 'Aslını kalıcı olarak sil (yönetici)', 'e2e.fxe.purge_hint': 'Şifreli kopya kaydedilir kaydedilmez önceki sürümleri ve çöp kutusundaki kaydı silinir; açık hâlinden bu sunucuda hiçbir şey kalmaz. Geri alınamaz. Daha önce alınmış yedeklere ve kopyalara ulaşılmaz.', 'e2e.fxe.purge_others': 'Bu dosya sizin değil, {owner} adlı kullanıcının. Onun aslını ve sürümlerini kalıcı olarak sil.', 'e2e.fxe.purge_others_unknown': 'Bu dosyanın kayıtlı bir sahibi yok - sizin değil. Aslını ve sürümlerini kalıcı olarak sil.', 'e2e.fxe.purge_others_required': 'Başkasının dosyasını kalıcı olarak sildiğinizi onaylayın.', 'e2e.fxe.purge_no_id': 'Bu dosya henüz katalogda değil, bu yüzden kalıcı olarak silinemez. Klasörü yenileyip tekrar deneyin.', 'e2e.fxe.purged': '“{name}” şifrelendi. Aslı, sürümleri ve çöp kutusundaki kaydı kalıcı olarak silindi.', 'e2e.fxe.purge_failed': '“{name}” dosyasının şifreli kopyası kaydedildi, ama aslı kalıcı olarak silinemedi ({reason}). Çöp kutusundan ve sürüm geçmişinden silin.', /* wiring:e2 fxe big - bu tarayıcının belleğine sığmayan çözülmüş indirme */ 'e2e.big.title': 'Bu tarayıcıda çözülemeyecek kadar büyük', 'e2e.big.lead': '“{name}” çözüldüğünde {size}. Bu tarayıcı indirmeyi belleğinde çözer ve en çok {limit} tutabilir, bu yüzden hiçbir şey indirilmedi.', 'e2e.big.lead_grew': '“{name}” çözülürken {limit} sınırını aştı. Bu tarayıcı indirmeyi belleğinde çözer ve daha fazlasını tutamaz, bu yüzden hiçbir şey kaydedilmedi.', 'e2e.big.instead': 'Bunun yerine kendi bilgisayarınızda çözün:', 'e2e.big.step_file': 'Şifreli dosyayı olduğu gibi indirin (aşağıdaki düğme).', 'e2e.big.step_folder': 'Şifreli klasörü zip olarak indirin (aşağıdaki düğme) - klasörün anahtar dosyası da içindedir.', 'e2e.big.step_run': 'Kaydettiğiniz klasörde filex decrypt komutunu çalıştırıp parolayı girin:', 'e2e.big.copy': 'Kopyala', 'e2e.big.copied': 'Kopyalandı', 'e2e.big.other_ways': 'Chrome, Edge ve filex masaüstü uygulaması, boyutu ne olursa olsun doğrudan diske çözer.', 'e2e.big.close': 'Kapat', 'e2e.big.download_file': 'Şifreli dosyayı indir', 'e2e.big.download_folder': 'Şifreli klasörü indir (zip)', /* /wiring:e2 fxe */ /* ── dil:paket - İngilizce sabit yazılmış erişilebilir adlar */ 'breadcrumb.aria': 'Konum yolu', 'e2e.recovery_key_aria': 'Kurtarma anahtarı', 'modal.close': 'Kapat', 'modal.busy_close.keep': 'Devam etsin', 'modal.busy_close.confirm': 'Durdur ve kapat', /* ── zil ve hesap menüsü (2026-09-27: masaüstü uygulamasının gezgini de aynılarını çizsin diye yönetim uygulamasından buraya taşındı). ⚠ ORTAK anahtarlar: yönetim uygulamasının kataloğunda her biri aynı adla, aynı İngilizce ve Türkçeyle durur (web/tests/i18n/langPackCatalogue.test.ts), bir dil paketi her birini iki ekran için bir kez çevirir. */ 'notifications.bell': 'Bildirim çanı', 'notifications.unreadCount': '{n} okunmamış', 'notifications.title': 'Bildirimler', 'notifications.markAllRead': 'Tümünü okundu işaretle', 'notifications.markRead': 'Okundu işaretle', 'notifications.empty': 'Henüz bildirim yok', 'notifications.viewAll': 'Tüm bildirimleri gör', 'notifications.manageAdmin': 'Bildirim yönetimi', 'notifications.openTarget': 'Bildirimin konusunu aç', 'notifications.unreadOnly': 'Sadece okunmamış', 'notifications.pageOf': 'Sayfa {page} / {pages} · toplam {total}', 'notifications.severity.info': 'Bilgi', 'notifications.severity.warning': 'Uyarı', 'notifications.severity.error': 'Hata', 'notifications.severity.critical': 'Kritik', 'common.prev': 'Önceki', 'common.next': 'İleri', 'explore.account': 'Hesap', /* ── kullanıcı ayarları penceresi (2026-09-27: masaüstü uygulaması aynı pencereyi kendi içinde açsın diye yönetim uygulamasından buraya taşındı). ⚠ ORTAK anahtarlar; ardından gelenler bu tablonun kendisinin (yönetim kataloğu onları yalnız vue-i18n'in anladığı sözdizimiyle yazar). */ 'common.cancel': "İptal", 'common.close': "Kapat", 'common.confirm': "Onayla", 'common.currentPassword': "Mevcut parola", 'common.email': "E-posta", 'common.loading': "Yükleniyor…", 'common.newPassword': "Yeni parola", 'common.remove': "Kaldır", 'common.save': "Kaydet", 'common.saving': "Kaydediliyor…", 'errors.generic': "Bir şeyler ters gitti", 'errors.validationFailed': "Lütfen işaretli alanları kontrol edin", 'install.desktopAllDownloads': "Tüm indirmeler ve sürüm notları", 'install.desktopSubtitle': "Klasörleri bu bilgisayara eşitleyin, arka planda güncel kalsınlar. {platform} için mevcut.", 'install.install': "Kur", 'install.menuInstructions': "Tarayıcınızın menüsünü açıp “Uygulamayı yükle” ya da “Ana ekrana ekle”yi seçin.", 'install.iosInstructions': "Paylaş'a dokunun (iOS 26'da önce ⋯, sonra Paylaş), ardından “Ana Ekrana Ekle” ve Ekle'ye dokunun.", 'nav.themeAuto': "Otomatik", 'nav.themeDark': "Karanlık", 'nav.themeLight': "Aydınlık", 'notifications.prefs.browser': "Tarayıcı bildirimleri", 'notifications.prefs.browserHint': "Yeni bir şey geldiğinde sekmenin dışında bildirim göster. Bildirime tıklayınca konusu olan dosya, klasör ya da paylaşım açılır.", 'notifications.prefs.desktopHandled': "Masaüstü uygulaması bunları kendisi gösteriyor", 'notifications.prefs.enableBrowser': "Bildirimlere izin ver", 'notifications.prefs.inApp': "Uygulama içi çan", 'notifications.prefs.inAppHint': "Kapatırsanız çanınız boşalır. Hiçbir kayıt silinmez - yönetici tüm olayları görmeye devam eder.", 'notifications.prefs.iosHomeScreen': "iPhone ve iPad'de bildirimler tarayıcı sekmesinde değil, ana ekrana eklenmiş filex'te çalışır (iOS 16.4 ve sonrası).", 'notifications.prefs.movedToSettings': "Kendi bildirim ayarlarınız - zil, tarayıcı bildirimleri, hangi olaylar - kullanıcı ayarlarınızda.", 'notifications.prefs.openSettings': "Bildirim ayarlarımı aç", 'notifications.prefs.permDefault': "İzin henüz istenmedi", 'notifications.prefs.permDenied': "Bu tarayıcıda engellendi", 'notifications.prefs.permDeniedHint': "Tarayıcı ayarlarından bu siteye bildirim iznini yeniden verin.", 'notifications.prefs.permGranted': "Bu tarayıcıda izin verildi", 'notifications.prefs.permUnsupported': "Bu tarayıcı bildirim gösteremiyor", 'notifications.prefs.push': "Bu cihazda anlık bildirim", 'notifications.prefs.pushAdded': "Eklendi: {date}", 'notifications.prefs.pushDevices': "Anlık bildirim alan cihazlar", 'notifications.prefs.pushDisabled': "Sunucuda kapatılmış (FILEX_PUSH_ENABLED).", 'notifications.prefs.pushFailed': "Bu cihazda anlık bildirimler açılamadı.", 'notifications.prefs.pushHint': "Zilinizin size söyledikleri, filex kapalıyken de bu telefona ya da tarayıcıya ulaşır: aynı bildirimler, aynı anda.", 'notifications.prefs.pushKeyUnreadable': "Sunucunun anlık bildirim anahtarı artık açılamıyor (FILEX_SECRET_KEY değişmiş). Yönetim → Bildirimler sayfasında anahtarı yenileyin.", 'notifications.prefs.pushNoSecretKey': "Anlık bildirimler için sunucuda FILEX_SECRET_KEY tanımlı olmalı: bildirimleri imzalayan anahtar onunla şifrelenerek saklanır.", 'notifications.prefs.pushOn': "Bu cihazda açık", 'notifications.prefs.pushRemove': "Kaldır", 'notifications.prefs.pushRemoveLabel': "Kaldır: {device}", 'notifications.prefs.pushTest': "Deneme gönder", 'notifications.prefs.pushTestNone': "Deneme hiçbir cihaza ulaşmadı.", 'notifications.prefs.pushTestSent': "Deneme {count} cihaza gönderildi", 'notifications.prefs.pushTestSent_one': "Deneme {count} cihaza gönderildi", 'notifications.prefs.pushThisDevice': "Bu cihaz", 'notifications.prefs.pushUnavailable': "Bu sunucuda kullanılamıyor", 'notifications.prefs.pushUnnamed': "Bir cihaz", 'notifications.prefs.pushUnsupported': "Bu tarayıcı anlık bildirim alamıyor", 'notifications.prefs.saved': "Tercih kaydedildi", 'notifications.prefs.title': "Bildirimleriniz", 'profile.avatar.change': "Fotoğrafı değiştir", 'profile.avatar.failed': "Bu görsel işlenemedi - başka bir tane deneyin.", 'profile.avatar.help': "Adınızın yanında ve dosya yöneticisinin işbirliği çubuğunda görünür - hesabınızla açılan her istemcide. Otomatik olarak 160 piksele küçültülür.", 'profile.avatar.label': "Profil fotoğrafı", 'profile.avatar.notImage': "Lütfen bir görsel dosyası seçin.", 'profile.locale': "Dil", 'profile.passwordChanged': "Parola değiştirildi", 'profile.saved': "Profil kaydedildi", 'profile.totp.code': "Doğrulama kodu", 'profile.totp.disable': "2FA'yı kapat", 'profile.totp.disabled': "Pasif", 'profile.totp.enable': "2FA'yı aç", 'profile.totp.enabled': "Aktif", 'profile.totp.recoveryHint': "Bunları şimdi kaydedin - doğrulayıcınızı kaybederseniz her biri bir kez oturum açmanızı sağlar. Yalnızca bu sefer gösterilir.", 'profile.totp.recoveryTitle': "Kurtarma kodları", 'profile.totp.scanHint': "Bu QR kodu doğrulayıcı uygulamanızla tarayın, sonra 6 haneli kodu girin.", 'profile.totp.title': "İki adımlı doğrulama", 'profile.username.label': "Kullanıcı adı", 'quota.title': "Depolama kotası", 'quota.tooltip': "{used} / {limit} kullanıldı ({percent})", 'quota.unlimitedTooltip': "{used} kullanıldı · sınırsız", 'userSettings.adminBadge': "Yönetici", 'userSettings.ai.body': "Bu sürümde kullanıcıya özel asistan ayarı yok. filex'in sunduğu AI özellikleri tüm kurulum için yönetici tarafından yapılandırılır; bu yüzden burada sizin açıp kapatacağınız bir şey henüz bulunmuyor.", 'userSettings.ai.soon': "Yakında", 'userSettings.demoReadOnly': "Bu ortak bir demo hesabı; profili, parolası ve ikinci faktörü değiştirilemez.", 'userSettings.footNote.ai': "Bu sekmede kaydedilecek bir şey yok.", 'userSettings.footNote.notifications': "Değiştirdiğiniz anda kaydedilir.", 'userSettings.footNote.preferences': "Değiştirdiğiniz anda kaydedilir.", 'userSettings.footNote.profile': "Bu sekmedeki değişiklikler Kaydet'e bastığınızda kaydedilir.", 'userSettings.footNote.security': "Buradaki her işlem kendi başına uygulanır.", 'userSettings.heading': "Kullanıcı ayarları", 'userSettings.headingSub': "Profilinizi, tercihlerinizi ve güvenliğinizi yönetin.", 'userSettings.notifications.adminAlerts': "Yönetici uyarıları", 'userSettings.notifications.adminAlertsHint': "Güncellemeler, kopyalar, oturum açma sağlayıcıları, kiracı alan adları ve yöneticilere yönelik diğer uyarılar", 'userSettings.notifications.digestHint': "Acil olarak işaretlenen türler size hemen ulaşır. Diğerleri {minutes} dakika bekletilir ve klasör klasör tek bir özet olarak gelir.", 'userSettings.notifications.digestOffHint': "Her tür size hemen ulaşır. Bir türün Acil anahtarını kapatırsanız o tür, klasör klasör tek bir özet olarak gelir.", 'userSettings.notifications.events.archive_created': "Bir arşiv oluşturulduğunda", 'userSettings.notifications.events.archive_extracted': "Bir arşiv çıkarıldığında", 'userSettings.notifications.events.comment_added': "Biri bir dosyaya yorum yaptığında", 'userSettings.notifications.events.drop_received': "İstek bağlantısıyla bir dosya geldiğinde", 'userSettings.notifications.events.e2e_escrow_used': "Şifreli bir klasör emanet anahtarıyla açıldığında", 'userSettings.notifications.events.e2e_password_changed': "Şifreli klasörünüzün parolası değiştiğinde", 'userSettings.notifications.events.e2e_request_created': "Biri bir klasörü ya da dosyayı şifrelemek istediğinde", 'userSettings.notifications.events.e2e_request_decided': "Şifreleme isteğiniz yanıtlandığında", 'userSettings.notifications.events.file_deleted': "Bir dosya kalıcı olarak silindiğinde", 'userSettings.notifications.events.file_infected': "Bir dosyada virüs bulunduğunda", 'userSettings.notifications.events.file_moved': "Bir dosya taşındığında ya da adı değiştiğinde", 'userSettings.notifications.events.file_trashed': "Bir dosya çöp kutusuna taşındığında", 'userSettings.notifications.events.file_updated': "Bir dosya değiştiğinde", 'userSettings.notifications.events.file_upload_failed': "Bir yükleme tamamlanmadığında", 'userSettings.notifications.events.file_uploaded': "Yeni bir dosya geldiğinde", 'userSettings.notifications.events.notification_digest': "Acil olarak işaretlemediğim bildirimlerin özeti", 'userSettings.notifications.events.plugin_notice': "Kurulu bir uygulama size mesaj gönderdiğinde", 'userSettings.notifications.events.share_created': "Biri paylaşım bağlantısı oluşturduğunda", 'userSettings.notifications.eventsHint': "Birini kapatmak onu zilinizin dışında tutar. Hiçbir şey kaydedilmekten çıkmaz - yönetici her olayı görmeye devam eder.", 'userSettings.notifications.eventsTitle': "Nelerden haberdar olayım", 'userSettings.notifications.urgent': "Acil", 'userSettings.notifications.urgentFor': "Hemen bildir: {event}", 'userSettings.open': "Kullanıcı ayarları", 'userSettings.prefs.appearance': "Görünüm", 'userSettings.prefs.compact': "Sıkışık dosya listesi kullan", 'userSettings.prefs.compactHint': "Dosya gezgininde daha dar satırlar.", 'userSettings.prefs.desktopApp': "Masaüstü uygulaması", 'userSettings.prefs.desktopAppHint': "Uygulamanın köşesindeki hatırlatmayı kapattığınızda bir daha çıkmaz - indirmeler burada kalır.", 'userSettings.prefs.folderView': "Varsayılan klasör görünümü", 'userSettings.prefs.folderViewHint': "Hiç değiştirmediğiniz bir klasörün nasıl açılacağı. Değiştirdiğiniz klasörler kendi görünümünü korur - bu ayar onlara dokunmaz.", 'userSettings.prefs.fvColumns': "Varsayılan sütunlarınız özelleştirilmiş (“Bunu tüm klasörler için varsayılanım yap” ile ayarlandı).", 'userSettings.prefs.fvColumnsReset': "Sıfırla", 'userSettings.prefs.fvDir': "Yön", 'userSettings.prefs.fvDir_asc': "Artan", 'userSettings.prefs.fvDir_desc': "Azalan", 'userSettings.prefs.fvForget': "Hepsini unut", 'userSettings.prefs.fvInherit': "Sunucu varsayılanı ({value})", 'userSettings.prefs.fvMode': "Görünüm", 'userSettings.prefs.fvSort': "Sıralama", 'userSettings.prefs.fvSort_modified': "Değiştirilme", 'userSettings.prefs.fvSort_name': "Ad", 'userSettings.prefs.fvSort_size': "Boyut", 'userSettings.prefs.fvSort_type': "Tür", 'userSettings.prefs.fvView_gallery': "Galeri", 'userSettings.prefs.fvView_grid': "Izgara", 'userSettings.prefs.fvView_list': "Liste", 'userSettings.prefs.installApp': "Web uygulaması olarak kur", 'userSettings.prefs.installAppLead': "filex'i bu cihazın ana ekranına ekleyin: bir uygulama gibi kendi penceresinde açılır.", 'userSettings.prefs.languageHint': "Burada hemen uygulanır; bir sonraki tarayıcıda da açılsın diye hesabınıza kaydedilir.", 'userSettings.prefs.mode': "Aydınlık ya da karanlık", 'userSettings.prefs.modeHint': "Hangi sürümün çizileceği. Otomatik, işletim sisteminizi izler.", 'userSettings.prefs.openTrigger': "Dosyaları açma", 'userSettings.prefs.openTriggerDouble': "Çift tık", 'userSettings.prefs.openTriggerHint': "Farenin dosyayı nasıl açtığı. Dokunmatik ekranda tek dokunuş her zaman açar, kutucuk her zaman seçer.", 'userSettings.prefs.openTriggerSingle': "Tek tık", 'userSettings.prefs.palette': "Renk paleti", 'userSettings.prefs.paletteHint': "O sürümün hangi renklerden oluştuğu. Her paletin aydınlık ve karanlık bir sürümü vardır; bu ayarla üstteki ayar birlikte çalışır.", 'userSettings.prefs.startPage': "Açılış sayfası", 'userSettings.prefs.startPageHint': "Oturum açtığınızda ya da ana adrese geldiğinizde filex burayı açar. Doğrudan bir sayfanın bağlantısına tıkladığınızda yine o sayfaya gidersiniz.", 'userSettings.prefs.startPage_admin': "Yönetim paneli", 'userSettings.prefs.startPage_files': "Dosyalar", 'userSettings.prefs.startPage_home': "Ana sayfa", 'userSettings.prefs.timezone': "Saat dilimi", 'userSettings.prefs.timezoneHint': "Tarihler bir an olarak saklanır ve burada seçtiğiniz saatle gösterilir; böylece herkes aynı anı kendi saatiyle görür. Hesabınıza kaydedilir, başka bir tarayıcıda da geçerli olur.", 'userSettings.prefs.timezoneNow': "{zone} bölgesinde şu an: {time}", 'userSettings.saveChanges': "Değişiklikleri kaydet", 'userSettings.security.passwordTitle': "Parolayı değiştir", 'userSettings.security.totpDisabled': "İki adımlı doğrulama kapalı", 'userSettings.security.totpEnabled': "İki adımlı doğrulama açık", 'userSettings.subtitle.ai': "Burada henüz ayarlayabileceğiniz bir şey yok.", 'userSettings.subtitle.notifications': "Zilinize ve masaüstünüze neyin ulaşacağı.", 'userSettings.subtitle.preferences': "Uygulamanın cihazlarınızda nasıl göründüğü ve okunduğu.", 'userSettings.subtitle.profile': "Adınız, e-postanız ve fotoğrafınız - başkalarının gördüğü bilgiler.", 'userSettings.subtitle.security': "Parolanız ve ikinci faktörünüz.", 'userSettings.tabs.ai': "AI asistanı", 'userSettings.tabs.notifications': "Bildirimler", 'userSettings.tabs.preferences': "Tercihler", 'userSettings.tabs.profile': "Profil", 'userSettings.tabs.security': "Güvenlik", 'userSettings.apps.title': "Varsayılan uygulamalar", 'userSettings.apps.lead': "Bir dosyanın menüsünden seçin: Birlikte aç, Uygulama seç…, sonra \"Her zaman bu uygulamayla aç\" kutusunu işaretleyin. Yalnız yöneticinizin o tür için açık bıraktığı uygulamalar sunulur.", 'userSettings.apps.empty': "Henüz hiçbir dosya türü için uygulama seçmediniz: her dosya, yöneticinizin ilk sıraya koyduğu uygulamayla açılır.", 'userSettings.apps.reset': "Sıfırla", 'userSettings.apps.resetAll': "Tümünü sıfırla", 'userSettings.apps.unavailable': "Artık kullanılamıyor: siz yeniden seçene kadar {app} ile açılıyor.", 'userSettings.apps.change': "{ext} dosyalarını açan uygulama", 'userSettings.title': "Ayarlar", 'users.fields.displayName': "Görünen ad", 'profile.username.helpText': "Kullanıcı adınız. Oturum açarken bunu da e-postanızı da kullanabilirsiniz - bağlantı istemcileri (SFTP, FTP) için ise bu ad gerekir, çünkü oturum açtıkları addaki @ işareti onların ayar dosyalarında kaçış gerektirir.", 'userSettings.prefs.fvKeptCount': "{count} klasör kendi görünümünü koruyor.", 'userSettings.prefs.fvKeptCount_one': "{count} klasör kendi görünümünü koruyor.", };