feat: type the plugin host record, move plugin strings out of core and add lint checks

This commit is contained in:
LukeGus committed 2026-09-29 13:08:39 -05:00
1 parent bba06f7ff6
commit b8bbcd2196
626 files changed
+23884 -4590

No files matched your search

+2 -114
View File
@@ -324,10 +324,6 @@
"appearanceIntro": "Bir tema, bir vurgu rengi ve dil seçin. Bu üçü de daha sonra Ayarlar'dan değiştirilebilir.",
"featuresTitle": "Termix başka neler yapıyor?",
"featuresIntro": "Kaydettiğiniz her sunucu, terminalden daha fazlasında açılabilir. Soldaki simgelerin arkasında sizi bekleyenler şunlardır.",
"feature_files": "Dosya yöneticisi",
"feature_files_desc": "Uygulamadan çıkmadan SFTP üzerinden dosyalara göz atın, yükleyin, indirin ve düzenleyin.",
"feature_tunnels": "Tüneller",
"feature_tunnels_desc": "Sunucu üzerinden port yönlendirmesi yaparak, erişime açık olmayan hizmetlere ulaşabilirsiniz.",
"feature_snippets": "Kısa bölümler",
"feature_snippets_desc": "Sık kullandığınız komutları kaydedin ve tek tıklamayla terminale gönderin.",
"featuresRailHint": "Bunlardan birine ihtiyacınız yok mu? Ayarlar'da, Gezinme altında bulunan kenar çubuğundaki herhangi bir simgeyi gizleyebilirsiniz.",
@@ -449,7 +445,6 @@
"passwordSaved": "Parola kaydedildi, değiştirmek için tuşlayın.",
"key": "Anahtar",
"credential": "Kimlik Bilgisi",
"none": "Hiçbiri",
"sshPrivateKey": "SSH Özel Anahtarı",
"keyType": "Anahtar Türü",
"uploadFile": "Dosya Yükle",
@@ -611,17 +606,12 @@
"keepaliveIntervalLabel": "Canlı Tutma Aralığı (saniye)",
"maxKeepaliveMisses": "Maksimum Keepalive Kaçırma",
"sameHost": "Bu ana bilgisayar (doğrudan tünel)",
"bindHost": "Bağlanma Ana Bilgisayarı",
"connectionToolbar": "Bağlantı Araç Çubuğu",
"showConnectionToolbar": "Bağlantı araç çubuğunu göster",
"showConnectionToolbarDesc": "Bu sunucunun SSH, RDP, VNC ve Telnet oturumlarında araç çubuğunu gösterin. Ayrıca, araç çubuğundan geçici olarak gizleyebilirsiniz.",
"proxmoxLastSyncStatus": {
"success": "Başarılı"
},
"proxmoxGuestsSelected_one": "{{count}} misafir — {{selected}} seçili",
"proxmoxGuestsSelected_other": "{{count}} misafir — {{selected}} seçili",
"proxmoxImportButton_one": "{{count}} ana makineyi içe aktar",
"proxmoxImportButton_other": "{{count}} sunucuyu içe aktar",
"proxmoxResultSkippedNoIp": "{{count}} atlandı (IP adresi bulunamadı)",
"proxmoxStatsUrlCopied": "Proxmox İstatistikleri URL'si panoya kopyalandı",
"copyProxmoxStatsUrlAction": "Proxmox İstatistikleri URL'sini Kopyala",
@@ -896,13 +886,11 @@
"updatedCount": "{{count}} host güncellendi",
"friendlyNameLabel": "Gösterim Adı",
"descriptionLabel": "Açıklama",
"loadingHost": "Host yükleniyor...",
"loadingHosts": "Hostlar yükleniyor...",
"loadingCredentials": "Kimlik bilgileri yükleniyor...",
"noHostsYet": "Henüz host yok",
"noHostsYetHint": "Terminalleri açmak, dosyalara göz atmak ve ölçümleri görmek için bir sunucu ekleyin.",
"noHostsMatchSearch": "Aramanızla eşleşen host yok",
"hostNotFound": "Host bulunamadı",
"searchHosts": "Host ara...",
"sortHosts": "Hostları Sırala",
"sortDefault": "Varsayılan Sıralama",
@@ -925,7 +913,6 @@
"filterAuthKey": "SSH Anahtarı",
"filterAuthCredential": "Kimlik Bilgisi",
"filterAuthNone": "Yok",
"filterAuthOpkssh": "OPKSSH",
"filterAuthStepca": "Adım CA",
"filterProtocolGroup": "Protokol",
"filterProtocolSsh": "SSH",
@@ -1114,13 +1101,7 @@
"connect": "Sunucuya Bağlan",
"clear": "Temizle",
"paste": "Yapıştır",
"connected": "Bağlandı",
"clipboardWriteFailed": "Panoya kopyalama başarısız oldu. Sayfanın HTTPS veya localhost üzerinden sunulduğundan emin olun.",
"clipboardReadFailed": "Panodan okuma başarısız oldu. Pano izinlerinin verildiğinden emin olun.",
"tmuxDetach": "tmux oturumundan ayrıl",
"terminalTitle": "Terminal - {{host}}",
"terminalWithPath": "Terminal - {{host}}:{{path}}",
"runTitle": "Çalıştırılıyor: {{command}} - {{host}}",
"totpRequired": "İki Faktörlü Kimlik Doğrulama Gerekli",
"totpCodeLabel": "Doğrulama Kodu",
"totpVerify": "Doğrula",
@@ -1148,109 +1129,20 @@
}
},
"transfer": {
"copyToHost": "Sunucuya kopyala…",
"moveToHost": "Sunucuya taşı…",
"copyItemsToHost": "{{count}} öğeyi sunucuya kopyala…",
"moveItemsToHost": "{{count}} öğeyi ana bilgisayara taşı…",
"noHostsConnected": "Kullanılabilir başka dosya yöneticisi ana bilgisayarı yok.",
"noHostsConnectedHint": "Ana Bilgisayar Yöneticisi'nde Dosya Yöneticisi etkinleştirilmiş başka bir SSH ana bilgisayarı ekleyin.",
"selectDestinationHost": "Hedef ana bilgisayarı seçin",
"destinationPath": "Hedef yol",
"recentDestinations": "Son hedefler",
"collapseRecentDestinations": "Son hedefleri daralt",
"expandRecentDestinations": "Son hedefleri genişlet",
"browseFolders": "Hedef klasörlere göz at",
"browseDestination": "Göz at veya yol gir",
"confirmCopy": "Kopyala",
"confirmMove": "Taşı",
"transferring": "Aktarılıyor…",
"progressVerifying": "Dosya bütünlüğünün doğrulanması…",
"progressBenchmarking": "En hızlı aktarma rotasını seçme…",
"compressing": "Sıkıştırılıyor…",
"extracting": "Çıkartılıyor…",
"transferringItems": "{{current}} / {{total}} öğe aktarılıyor…",
"transferSuccess": "Aktarım tamamlandı",
"transferError": "Aktarım başarısız",
"transferPartial": "Aktarım {{count}} hatayla tamamlandı",
"transferPartialHint": "Aktarılamadı: {{paths}}",
"itemsSummary": "{{count}} öğe",
"destMustBeDirectory": "Çoklu öğe aktarımları için hedef bir dizin olmalıdır",
"selectThisFolder": "Bu klasörü seç",
"browsePathWillBeCreated": "Bu klasör henüz mevcut değil. Aktarım başladığında oluşturulacak.",
"browsePathError": "Hedef ana bilgisayarda bu yol açılamadı.",
"goUp": "Yukarı",
"copyFolderToHost": "Klasörü ana bilgisayara kopyala…",
"moveFolderToHost": "Klasörü ana bilgisayara taşı…",
"hostReady": "Hazır",
"hostConnecting": "Bağlanıyor…",
"hostDisconnected": "Bağlı değil",
"hostAuthRequired": "Kimlik doğrulama gerekli — önce bu ana bilgisayarda Dosya Yöneticisi'ni açın",
"hostConnectionFailed": "Bağlantı başarısız",
"metricsTitle": "Aktarım zamanlamaları",
"metricsPrepare": "Hedefi hazırla: {{duration}}",
"metricsCompress": "Kaynakta sıkıştırma: {{duration}}",
"metricsHopSourceRead": "Kaynak → sunucu: {{throughput}}",
"metricsHopDestSftpWrite": "Sunucu → hedef (SFTP): {{throughput}}",
"metricsHopDestLocalWrite": "Sunucu → hedef (yerel): {{throughput}}",
"metricsTransfer": "Uçtan uca: {{throughput}} ({{duration}})",
"metricsExtract": "Hedefte çıkarma: {{duration}}",
"metricsVerify": "SHA-256 ile doğrulandı: {{duration}}",
"metricsRouteBenchmark": "Rota sondası — doğrudan: {{direct}}, röle: {{relay}}",
"metricsSourceDelete": "Kaynaktan silme: {{duration}}",
"metricsTotal": "Toplam: {{duration}}",
"progressCompressing": "Kaynak sunucuda sıkıştırılıyor…",
"progressExtracting": "Hedefte çıkarılıyor…",
"progressTransferring": "Veri aktarılıyor…",
"progressReconnecting": "Yeniden bağlanılıyor…",
"parallelSegmentsLabel": "Paralel aktarım yolları",
"parallelSegmentsOption": "{{count}} yol",
"parallelSegmentsHint": "Büyük dosyalar 256 MB'lık parçalara bölünür. Çoklu yollar, daha yüksek toplam aktarım hızı için ayrı bağlantılar kullanır (birden fazla aktarım başlatmak gibi).",
"progressTotalSpeed": "{{speed}} toplam ({{lanes}} yol)",
"progressTransferringItems": "Dosyalar aktarılıyor ({{current}} / {{total}})…",
"progressBytes": "{{transferred}} / {{total}}",
"progressItems": "{{current}} / {{total}} dosya",
"sourceNotDeletedPartial": "Kaynak dosyalar korundu (kısmi aktarım)",
"jumpHostLimitation": "Her iki sunucuya da Termix sunucusundan erişilebilir olmalıdır. Sunucular arası doğrudan yönlendirme desteklenmez.",
"cancel": "İptal",
"methodLabel": "Aktarım yöntemi",
"methodAuto": "Otomatik",
"methodTar": "Tar arşivi",
"methodItemSftp": "Dosya başına SFTP",
"methodAutoHint": "Dosya sayısı, boyutu ve sıkıştırılabilirliğe bağlı olarak tar veya dosya başına SFTP seçer. Tek dosyalar her zaman akış SFTP'si kullanır.",
"methodTarHint": "Kaynakta sıkıştır, tek arşiv aktar, hedefte çıkar. Her iki Unix sunucuda tar gerektirir.",
"methodItemSftpHint": "Her dosyayı SFTP üzerinden tek tek aktarır. Windows dahil tüm sunucularda çalışır.",
"methodPreviewLoading": "Aktarım yöntemi hesaplanıyor…",
"methodPreviewError": "Aktarım yöntemi önizlenemedi. Başlattığınızda sunucu yine de bir yöntem seçecektir.",
"methodPreviewWillUseTar": "Kullanılacak: Tar arşivi",
"methodPreviewWillUseItemSftp": "Kullanılacak: Dosya başına SFTP",
"methodPreviewScanSummary": "{{fileCount}} dosya, toplam {{totalSize}} (kaynak sunucuda tarandı).",
"methodItemSftpLimitation": "Her dosya, tek bir dosya kopyasıyla aynı SFTP akışını sırayla kullanır. İlerleme tüm dosyalar için birleştirilmiştir, bu nedenle büyük dosyalar sırasında çubuk yavaş hareket eder.",
"methodReason": {
"user_item_sftp": "Dosya bazında SFTP seçtiniz.",
"user_tar": "Tar arşivi seçtiniz.",
"tar_unavailable": "Bir veya her iki ana bilgisayarda Tar kullanılamıyor — bunun yerine dosya bazında SFTP kullanılacak.",
"windows_host": "Windows ana bilgisayarı söz konusu — tar kullanılmaz.",
"auto_multi_large": "Otomatik: sıkıştırılabilir veriye sahip büyük bir dosya ({{largestSize}}) dahil birden çok dosya — tar tek bir aktarımda birleştirir.",
"auto_single_large_in_archive": "Otomatik: bu kümede bir büyük dosya ({{largestSize}}) — dosya bazında SFTP.",
"auto_many_incompressible": "Otomatik: çoğunlukla sıkıştırılamayan veri — dosya bazında SFTP.",
"auto_many_files": "Otomatik: çok sayıda dosya ({{fileCount}}) — tar dosya başına ek yükü azaltır.",
"auto_default": "Otomatik: bu küme için dosya bazında SFTP."
},
"progressCancel": "İptal",
"progressCancelling": "İptal ediliyor…",
"progressStalled": "Askıda",
"resumedHint": "Başka bir pencerede başlatılan aktif bir aktarıma yeniden bağlanıldı.",
"transferCancelled": "Aktarım iptal edildi",
"transferCancelledCopyHint": "Hedefte kısmi dosyalar kalabilir.",
"transferCancelledMoveHint": "Hedefte kısmi dosyalar kalabilir. Kaynak dosyalar silinmedi.",
"cleanupDestFiles": "Hedefi temizle",
"cleanupDestFilesSuccess": "Hedefteki kısmi dosyalar kaldırıldı",
"cleanupDestFilesPartial": "Bazı kısmi dosyalar kaldırılamadı",
"cleanupDestFilesNothing": "Hedefte temizlenecek bir şey yok",
"cleanupDestFilesError": "Temizleme başarısız oldu",
"retryTransfer": "Yeniden dene",
"retryTransferError": "Yeniden deneme başarısız oldu",
"transferFailedRetryHint": "Hedefte kısmi veri tutuldu. Bağlantı geri geldiğinde yeniden deneme devam edecek."
"sourceNotDeletedPartial": "Kaynak dosyalar korundu (kısmi aktarım)"
},
"tunnels": {
"connect": "Bağlan",
@@ -1261,8 +1153,6 @@
"clientTunnel": "İstemci Tüneli",
"addClientTunnel": "İstemci Tüneli Ekle",
"active": "Aktif",
"start": "Başlat",
"stop": "Durdur",
"typeServerLocalDesc": "Geçerli sunucudan uç noktaya.",
"typeServerRemoteDesc": "Uç noktadan geçerli sunucuya.",
"typeClientLocalDesc": "Yerel bilgisayardan uç noktaya.",
@@ -1374,8 +1264,7 @@
"resetCodeRateLimitedWithTime": "Hız sınırlaması: Çok fazla doğrulama denemesi. Lütfen tekrar denemeden önce {{time}} saniye bekleyin.",
"authTokenSaveFailed": "Kimlik doğrulama belirteci kaydedilemedi",
"authTokenMissing": "Sunucu yeni bir kimlik doğrulama belirteci döndürmedi. Lütfen tekrar giriş yapın.",
"failedToLoadServer": "Sunucu yüklenemedi",
"remoteServerRequired": "Uzak sunucu gereklidir. Bu bağlantı türünü kullanmak için Ayarlar'dan bir uzak sunucu bağlayın."
"failedToLoadServer": "Sunucu yüklenemedi"
},
"messages": {
"registrationDisabled": "Yeni hesap kaydı şu anda bir yönetici tarafından devre dışı bırakıldı. Lütfen giriş yapın veya bir yöneticiyle iletişime geçin.",
@@ -1831,7 +1720,6 @@
"protocolLabel": "Protokol",
"domainLabel": "İhtisas",
"domainPlaceholder": "isteğe bağlı",
"connectToTerminal": "Terminale Bağlan",
"connectToFiles": "Dosyalara Bağlan"
},
"splitScreen": {