@brftech/filex-core 0.19.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -4
- package/dist/filex-core.js +10626 -6501
- package/dist/filex-core.js.map +1 -1
- package/dist/filex-core.umd.cjs +94 -63
- package/dist/filex-core.umd.cjs.map +1 -1
- package/dist/index.d.ts +1026 -7
- package/dist/style.css +1 -1
- package/package.json +3 -3
- package/src/FileExplorer.vue +103 -68
- package/src/components/ConnectionGuideView.vue +333 -0
- package/src/components/ConnectionsPanel.vue +912 -0
- package/src/components/NFSExportsPanel.vue +283 -0
- package/src/components/S3KeysPanel.vue +381 -0
- package/src/components/SSHKeysPanel.vue +222 -0
- package/src/components/StorageFields.vue +362 -0
- package/src/components/TokensPanel.vue +191 -0
- package/src/components/UploadProgress.vue +5 -1
- package/src/composables/useConnections.ts +271 -0
- package/src/composables/useFileApi.ts +15 -2
- package/src/composables/useNFSExports.ts +148 -0
- package/src/composables/useS3Keys.ts +175 -0
- package/src/composables/useSSHKeys.ts +119 -0
- package/src/composables/useThumbs.ts +1 -1
- package/src/composables/useTokens.ts +121 -0
- package/src/composables/useUploadChunked.ts +433 -164
- package/src/index.ts +77 -2
- package/src/lib/connectionGuides.ts +1279 -0
- package/src/lib/realtime.ts +1 -1
- package/src/lib/uploadResume.ts +157 -0
- package/src/locales/en.ts +413 -0
- package/src/locales/tr.ts +416 -0
- package/src/modals/ConvertModal.vue +1 -1
- package/src/styles/base.css +12 -12
- package/src/types/Connections.ts +122 -0
- package/src/types/ExplorerConfig.ts +23 -2
- package/src/types/NFSExports.ts +47 -0
- package/src/types/S3Keys.ts +55 -0
- package/src/types/SSHKeys.ts +54 -0
- package/src/types/Tokens.ts +39 -0
package/src/locales/tr.ts
CHANGED
|
@@ -59,6 +59,9 @@ export const tr: Record<string, string> = {
|
|
|
59
59
|
'upload.failed': '“{name}” yüklenemedi',
|
|
60
60
|
'upload.aborted': 'İptal edildi',
|
|
61
61
|
'upload.cancel': 'İptal',
|
|
62
|
+
'upload.resuming': '“{name}” %{percent} noktasından devam ediyor',
|
|
63
|
+
'upload.committing': 'Tamamlanıyor',
|
|
64
|
+
'upload.transferring': 'Depolamaya aktarılıyor',
|
|
62
65
|
|
|
63
66
|
'empty.folder': 'Bu klasör boş',
|
|
64
67
|
'empty.search': 'Sonuç bulunamadı',
|
|
@@ -407,4 +410,417 @@ export const tr: Record<string, string> = {
|
|
|
407
410
|
'e2e.decrypt_failed': 'Dosya çözülemedi (parola değişmiş ya da dosya bozulmuş olabilir).',
|
|
408
411
|
'e2e.download.failed': 'Şifreli dosya indirilemedi.',
|
|
409
412
|
/* /wiring:e2 */
|
|
413
|
+
|
|
414
|
+
/* ── connections: storage config + "how to connect" ──────────────
|
|
415
|
+
`storages.*` keys are the ones the BACKEND's driver descriptors
|
|
416
|
+
name (each driver package declares one next to its Init). They are
|
|
417
|
+
kept identical to web/src/locales/*.json on purpose: the same
|
|
418
|
+
descriptor is rendered on both surfaces, so a field that reads
|
|
419
|
+
"Base path" in the admin panel and something else in the desktop
|
|
420
|
+
app would be the same drift this whole mechanism exists to stop. */
|
|
421
|
+
'conn.title': 'Depo bağlantıları',
|
|
422
|
+
'conn.subtitle': '{host} sunucusunu bir arka uca bağlayın ya da kendi bilgisayarınızı {host} sunucusuna bağlayın.',
|
|
423
|
+
'conn.close': 'Kapat',
|
|
424
|
+
'conn.tab.storages': 'Depolar',
|
|
425
|
+
'conn.tab.connect': 'Nasıl bağlanılır',
|
|
426
|
+
'conn.loading': 'Yükleniyor…',
|
|
427
|
+
'conn.visibleOnly': 'bu depoya göz atabilirsiniz',
|
|
428
|
+
'conn.denied.title': 'Buraya depo ekleyebilen tek kişi yöneticidir',
|
|
429
|
+
'conn.denied.none': 'Hesabınız dosyalara göz atabilir ama bu sunucunun nereye bağlı olduğunu değiştiremez. Depo eklemek ya da düzenlemek için sunucunun yöneticisine başvurun.',
|
|
430
|
+
'conn.denied.anonymous': 'Bu sunucuda oturum açmış değilsiniz.',
|
|
431
|
+
'conn.denied.unreachable': 'Sunucu yanıt vermedi: {error}',
|
|
432
|
+
'conn.denied.guideHint': 'Zaten görebildiğiniz depolara kendi bilgisayarınızdan bağlanmak için yönetici yetkisi gerekmez.',
|
|
433
|
+
'conn.denied.guideCta': 'Nasıl bağlanacağımı göster',
|
|
434
|
+
'conn.list.count': '{n} depo',
|
|
435
|
+
'conn.list.add': 'Depo ekle',
|
|
436
|
+
'conn.list.empty': 'Henüz yapılandırılmış depo yok. Bir tane ekleyin, dosyalar dosya yöneticisinde görünsün.',
|
|
437
|
+
'conn.list.edit': 'Düzenle',
|
|
438
|
+
'conn.list.remove': 'Kaldır',
|
|
439
|
+
'conn.list.confirm': 'Gerçekten kaldırılsın mı?',
|
|
440
|
+
'conn.list.readOnly': 'salt okunur',
|
|
441
|
+
'conn.list.disabled': 'kapalı',
|
|
442
|
+
'conn.form.newTitle': 'Yeni depo',
|
|
443
|
+
'conn.form.editTitle': '“{name}” düzenleniyor',
|
|
444
|
+
'conn.form.name': 'Görünen isim',
|
|
445
|
+
'conn.form.namePlaceholder': 'fotograflar',
|
|
446
|
+
'conn.form.nameHelp': 'Bu deponun her yerdeki adı: dosya yöneticisinde, yollarda (isim://klasor) ve WebDAV adreslerinde.',
|
|
447
|
+
'conn.form.driver': 'Tür',
|
|
448
|
+
'conn.form.driverLocked': 'Bir deponun türü oluşturulduktan sonra değiştirilemez — yollar zaten ona işaret ediyor.',
|
|
449
|
+
'conn.form.readOnly': 'Salt okunur (bu depoya hiçbir şey yazılamaz)',
|
|
450
|
+
'conn.form.enabled': 'Etkin',
|
|
451
|
+
'conn.form.test': 'Bağlantıyı sına',
|
|
452
|
+
'conn.form.testing': 'Sınanıyor…',
|
|
453
|
+
'conn.form.testOk': 'Bağlandı. Kökte {count} öğe var.',
|
|
454
|
+
'conn.form.testFail': 'Bağlanılamadı: {error}',
|
|
455
|
+
'conn.form.save': 'Kaydet',
|
|
456
|
+
'conn.form.saving': 'Kaydediliyor…',
|
|
457
|
+
'conn.form.cancel': 'Vazgeç',
|
|
458
|
+
'conn.form.nameRequired': 'Depoya bir isim verin.',
|
|
459
|
+
'conn.form.fillRequired': '* ile işaretli alanları doldurun.',
|
|
460
|
+
'conn.form.required': 'Zorunlu',
|
|
461
|
+
'conn.form.advanced': 'Gelişmiş ayarlar',
|
|
462
|
+
'conn.form.noFields': 'Bu sunucu bu sürücü için hiçbir ayar tanımlamadı.',
|
|
463
|
+
'conn.form.reveal': 'Göster',
|
|
464
|
+
'conn.form.hide': 'Gizle',
|
|
465
|
+
'conn.guide.protocol': 'Protokol',
|
|
466
|
+
'conn.guide.storage': 'Depo',
|
|
467
|
+
'conn.guide.allStorages': 'Tüm depolar',
|
|
468
|
+
'conn.guide.copy': 'Kopyala',
|
|
469
|
+
'conn.guide.copied': 'Kopyalandı',
|
|
470
|
+
'conn.guide.goodToKnow': 'Bilmekte fayda var',
|
|
471
|
+
'conn.guide.userPlaceholder': 'eposta@ornek.com',
|
|
472
|
+
'conn.guide.secretPlaceholder': 'parolaniz-ya-da-token',
|
|
473
|
+
'conn.guide.fact.url': 'Adres',
|
|
474
|
+
'conn.guide.fact.urlRootHint': 'Görebildiğiniz her depo bu adresin altında bir klasör olarak görünür.',
|
|
475
|
+
'conn.guide.fact.urlStorageHint': 'Doğrudan “{storage}” deposunu bağlar. Son parçayı silerseniz tüm depoları görürsünüz.',
|
|
476
|
+
'conn.guide.fact.user': 'Kullanıcı adı',
|
|
477
|
+
'conn.guide.fact.password': 'Parola',
|
|
478
|
+
'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.',
|
|
479
|
+
'conn.guide.webdav.userHint': 'filex hesabınızın e-posta adresi — görünen adınız değil.',
|
|
480
|
+
'conn.guide.webdav.passwordHint': 'Hesap parolanız ya da bir API token (Ayarlar → API token). İki adımlı doğrulaması açık bir hesap ZORUNLU olarak token kullanır: Basic kimlik doğrulamasında ikinci adım için yer yoktur.',
|
|
481
|
+
'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.',
|
|
482
|
+
'conn.guide.webdav.win.s2': 'Bir sürücü harfi seçin ve klasör olarak {url} adresini girin.',
|
|
483
|
+
'conn.guide.webdav.win.s3': '“Farklı kimlik bilgileri kullanarak bağlan” kutusunu işaretleyin ve yukarıdaki kullanıcı adı/parola ile girin.',
|
|
484
|
+
'conn.guide.webdav.win.cmdCaption': 'Komut İstemi (sihirbaz olmadan aynı iş)',
|
|
485
|
+
'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.',
|
|
486
|
+
'conn.guide.webdav.win.regCaption': 'Yönetici olarak çalıştırın, sonra sürücüyü yeniden bağlayın',
|
|
487
|
+
'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.',
|
|
488
|
+
'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.',
|
|
489
|
+
'conn.guide.webdav.win.service': 'Hiç bağlanamıyorsa WebClient hizmetinin çalıştığından emin olun: sc config WebClient start= auto && net start WebClient.',
|
|
490
|
+
'conn.guide.webdav.mac.s1': 'Finder’da Git → Sunucuya Bağlan… (⌘K) yolunu izleyin.',
|
|
491
|
+
'conn.guide.webdav.mac.s2': '{url} adresini girip bağlanın.',
|
|
492
|
+
'conn.guide.webdav.mac.s3': 'Yukarıdaki kullanıcı adı ve parolayla kimliğinizi doğrulayın.',
|
|
493
|
+
'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.',
|
|
494
|
+
'conn.guide.webdav.linux.mountCaption': 'davfs2 ya da masaüstü dosya yöneticisi (GNOME Dosyalar, Dolphin)',
|
|
495
|
+
'conn.guide.webdav.linux.gvfsComment': 'ya da bu adresi GNOME Dosyalar / Dolphin icine yapistirin',
|
|
496
|
+
'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.',
|
|
497
|
+
'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',
|
|
498
|
+
'conn.guide.webdav.rclone.passPlaceholder': '<rclone obscure çıktısı>',
|
|
499
|
+
'conn.guide.webdav.rclone.useCaption': 'Kullanımı',
|
|
500
|
+
'conn.guide.webdav.duck.s1': 'Yeni Yer İmi → WebDAV (HTTPS).',
|
|
501
|
+
'conn.guide.webdav.duck.s2': 'Sunucu {host}, port 443.',
|
|
502
|
+
'conn.guide.webdav.duck.s3': 'Yol {path}.',
|
|
503
|
+
'conn.guide.webdav.duck.s4': 'Kullanıcı adı {user}, parola yukarıdaki gibi.',
|
|
504
|
+
'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.',
|
|
505
|
+
'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.',
|
|
506
|
+
'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.',
|
|
507
|
+
'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.',
|
|
508
|
+
// ── S3 ucu: anahtarlar ve rehber ─────────────────────────────────
|
|
509
|
+
'conn.s3keys.title': 'S3 erişim anahtarları',
|
|
510
|
+
'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.',
|
|
511
|
+
'conn.s3keys.disabled': 'Bu sunucuda S3 ucu kapalı (FILEX_S3). Burada üretilen anahtar, yönetici ucu tekrar açana kadar bağlanmaz.',
|
|
512
|
+
'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.',
|
|
513
|
+
'conn.s3keys.label': 'Ne için? (dizüstü yedeği, CI, …)',
|
|
514
|
+
'conn.s3keys.defaultLabel': 'erişim anahtarı',
|
|
515
|
+
'conn.s3keys.everyBucket': 'Görebildiğim tüm kovalar',
|
|
516
|
+
'conn.s3keys.prefix': 'Kova içindeki klasör (isteğe bağlı)',
|
|
517
|
+
'conn.s3keys.mint': 'Anahtar oluştur',
|
|
518
|
+
'conn.s3keys.inheritNote': 'Bir anahtar sahip olduğunuz yetkiyi yalnızca DARALTABİLİR: yetkileriniz, kiracınız, 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.',
|
|
519
|
+
'conn.s3keys.once': 'Gizli anahtarı şimdi kopyalayın — bir daha gösterilmeyecek.',
|
|
520
|
+
'conn.s3keys.accessKeyID': 'Erişim anahtarı kimliği',
|
|
521
|
+
'conn.s3keys.secret': 'Gizli anahtar',
|
|
522
|
+
'conn.s3keys.dismiss': 'Kopyaladım',
|
|
523
|
+
'conn.s3keys.col.label': 'Etiket',
|
|
524
|
+
'conn.s3keys.col.key': 'Erişim anahtarı kimliği',
|
|
525
|
+
'conn.s3keys.col.scope': 'Kapsam',
|
|
526
|
+
'conn.s3keys.col.lastUsed': 'Son kullanım',
|
|
527
|
+
'conn.s3keys.scopeAll': 'görebildiğiniz her şey',
|
|
528
|
+
'conn.s3keys.noLabel': '(etiketsiz)',
|
|
529
|
+
'conn.s3keys.neverUsed': 'hiç',
|
|
530
|
+
'conn.s3keys.enable': 'Aç',
|
|
531
|
+
'conn.s3keys.disable': 'Kapat',
|
|
532
|
+
'conn.s3keys.revoke': 'İptal et',
|
|
533
|
+
'conn.s3keys.confirm': 'Emin misiniz?',
|
|
534
|
+
'conn.s3keys.empty': 'Henüz erişim anahtarı yok.',
|
|
535
|
+
'conn.guide.s3.summary': 'S3 ucu, S3 konuşan her şeyin — yedekleme, senkron araçları, SDK’lar — hedefi olarak filex’i kullanmanızı sağlar; hem de zaten sahip olduğunuz depolarla.',
|
|
536
|
+
'conn.guide.s3.keyPlaceholder': 'yukarıdan bir anahtar oluşturun',
|
|
537
|
+
'conn.guide.s3.secretPlaceholder': 'anahtarı oluştururken bir kez gösterilir',
|
|
538
|
+
'conn.guide.s3.fact.endpoint': 'Uç adresi',
|
|
539
|
+
'conn.guide.s3.fact.endpointHint': 'İstemciyi buraya yöneltin, filex’in web adresine değil.',
|
|
540
|
+
'conn.guide.s3.fact.bucket': 'Kova',
|
|
541
|
+
'conn.guide.s3.fact.bucketHint': 'Kova = filex deposu. Kovaları istemci değil yönetici oluşturur.',
|
|
542
|
+
'conn.guide.s3.fact.key': 'Erişim anahtarı kimliği',
|
|
543
|
+
'conn.guide.s3.fact.keyHint': 'Genel yarısı; her istekte gider.',
|
|
544
|
+
'conn.guide.s3.fact.secret': 'Gizli anahtar',
|
|
545
|
+
'conn.guide.s3.fact.secretHint': 'Yalnızca anahtar oluşturulurken bir kez gösterilir. filex bir daha gösteremez — kaybolduysa yeni anahtar üretin.',
|
|
546
|
+
'conn.guide.s3.fact.region': 'Bölge',
|
|
547
|
+
'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.',
|
|
548
|
+
'conn.guide.s3.fact.addressing': 'Adresleme',
|
|
549
|
+
'conn.guide.s3.fact.pathStyle': 'yol tabanlı (zorunlu)',
|
|
550
|
+
'conn.guide.s3.fact.pathStyleHint': 'Bu kurulumda S3’e ayrılmış bir alan adı yok, yani kova.host çözülmez.',
|
|
551
|
+
'conn.guide.s3.fact.virtualHosted': 'sanal-host ya da yol tabanlı',
|
|
552
|
+
'conn.guide.s3.fact.virtualHostedHint': 'Bu kurulumun kendi S3 alan adı var, iki adresleme de çalışır.',
|
|
553
|
+
'conn.guide.s3.rclone.useCaption': 'Kullanımı',
|
|
554
|
+
'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.',
|
|
555
|
+
'conn.guide.s3.aws.configureCaption': 'Bir kez ayarlayın',
|
|
556
|
+
'conn.guide.s3.aws.useCaption': 'Kullanımı',
|
|
557
|
+
'conn.guide.s3.aws.pathStyle': 'AWS yapılandırmanıza yol tabanlı adreslemeyi ekleyin; yoksa her komut DNS aşamasında düşer.',
|
|
558
|
+
'conn.guide.s3.restic.envCaption': 'Ortam değişkenleri',
|
|
559
|
+
'conn.guide.s3.restic.useCaption': 'Yedekle, doğrula, buda',
|
|
560
|
+
'conn.guide.s3.restic.verified': 'Bu uca karşı ölçüldü: restic check --read-data her pack’i bayt bayt okuyor ve hata bulmuyor.',
|
|
561
|
+
'conn.guide.s3.mc.aliasCaption': 'Takma adı ekleyin',
|
|
562
|
+
'conn.guide.s3.mc.useCaption': 'Kullanımı',
|
|
563
|
+
'conn.guide.s3.s3fs.credsCaption': 'Kimlik dosyası',
|
|
564
|
+
'conn.guide.s3.s3fs.mountCaption': 'Bağlayın',
|
|
565
|
+
'conn.guide.s3.s3fs.note': 's3fs üzerinden bir dosyayı düzenlemek nesnenin tamamını yeniden yazar; silme ise filex çöpüne gider. Paylaşılan bir klasör için iyi, veritabanı için değil.',
|
|
566
|
+
'conn.guide.s3.duck.s1': 'Yeni yer imi → Amazon S3.',
|
|
567
|
+
'conn.guide.s3.duck.s2': 'Sunucu: {host}.',
|
|
568
|
+
'conn.guide.s3.duck.s3': 'Erişim anahtarı kimliği: {key}, gizli anahtar yukarıdaki.',
|
|
569
|
+
'conn.guide.s3.duck.s4': 'Yer imini açın; kovalar sizin filex depolarınızdır.',
|
|
570
|
+
'conn.guide.s3.duck.pathStyle': 'Tercihler → S3 altında "Use virtual host style" seçeneğini KAPATIN — bu kurulumda joker S3 alan adı yok.',
|
|
571
|
+
'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.',
|
|
572
|
+
'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.',
|
|
573
|
+
'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.',
|
|
574
|
+
'conn.guide.s3.note.trash': 'Silme her yerdeki gibi filex çöpüne gider ve saklama politikası süpürene kadar geri alınabilir.',
|
|
575
|
+
'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.',
|
|
576
|
+
'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.',
|
|
577
|
+
'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.',
|
|
578
|
+
// ── SFTP ucu: anahtarlar ve rehber ───────────────────────────────
|
|
579
|
+
'conn.sshkeys.title': 'SSH anahtarları',
|
|
580
|
+
'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.',
|
|
581
|
+
'conn.sshkeys.disabled': 'Bu sunucuda SFTP ucu kapalı (FILEX_SFTP). Burada kaydedilen anahtar, yönetici ucu açana kadar bağlanmaz.',
|
|
582
|
+
'conn.sshkeys.cannotAdd': 'Anahtar kaydedebilecek bir hesapla oturum açmış değilsiniz.',
|
|
583
|
+
'conn.sshkeys.paste': '~/.ssh/id_ed25519.pub dosyasının içeriğini yapıştırın',
|
|
584
|
+
'conn.sshkeys.name': 'Ad (isteğe bağlı — boşsa anahtarın kendi yorumu kullanılır)',
|
|
585
|
+
'conn.sshkeys.add': 'Anahtar ekle',
|
|
586
|
+
'conn.sshkeys.noCopyId': 'ssh-copy-id burada çalışamaz: kabuk üzerinden ~/.ssh/authorized_keys dosyasına ekler, filex’in kabuğu yoktur. Giriş yolu bu kutudur.',
|
|
587
|
+
'conn.sshkeys.col.name': 'Ad',
|
|
588
|
+
'conn.sshkeys.col.fingerprint': 'Parmak izi',
|
|
589
|
+
'conn.sshkeys.col.added': 'Eklendi',
|
|
590
|
+
'conn.sshkeys.col.lastUsed': 'Son kullanım',
|
|
591
|
+
'conn.sshkeys.noName': '(adsız)',
|
|
592
|
+
'conn.sshkeys.neverUsed': 'hiç',
|
|
593
|
+
'conn.sshkeys.enable': 'Aç',
|
|
594
|
+
'conn.sshkeys.disable': 'Kapat',
|
|
595
|
+
'conn.sshkeys.remove': 'Sil',
|
|
596
|
+
'conn.sshkeys.confirm': 'Emin misiniz?',
|
|
597
|
+
'conn.sshkeys.empty': 'Henüz anahtar yok. Anahtarsız istemciler hesap parolanızla giriş yapar.',
|
|
598
|
+
'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.',
|
|
599
|
+
'conn.guide.sftp.fact.host': 'Sunucu',
|
|
600
|
+
'conn.guide.sftp.fact.hostHint': 'Web uygulamasıyla aynı makine, kendine ait bir portta.',
|
|
601
|
+
'conn.guide.sftp.fact.port': 'Port',
|
|
602
|
+
'conn.guide.sftp.fact.portHint': 'Ne 22 ne 443: SFTP ham TCP’dir, web vekilinin içinden geçemez.',
|
|
603
|
+
'conn.guide.sftp.fact.userHint': 'Kısa giriş adınız. Giriş adındaki @ işareti çoğu istemcinin ayar dosyasında tırnaklanmak zorundadır; bu alan tam da onu ortadan kaldırır.',
|
|
604
|
+
'conn.guide.sftp.fact.auth': 'Giriş yöntemi',
|
|
605
|
+
'conn.guide.sftp.fact.authKey': 'kayıtlı SSH anahtarınız (ya da parolanız)',
|
|
606
|
+
'conn.guide.sftp.fact.authPassword': 'hesap parolanız — ya da yukarıdan bir anahtar kaydedin',
|
|
607
|
+
'conn.guide.sftp.fact.authHint': 'API token da parola yerine geçer ve tek başına iptal edilebilir. İki adımlı doğrulaması açık bir hesap anahtar ya da token kullanmalıdır.',
|
|
608
|
+
'conn.guide.sftp.fact.path': 'Yol',
|
|
609
|
+
'conn.guide.sftp.fact.pathHint': 'İlk klasör bir depodur; kök, açabildiğiniz depoları listeler.',
|
|
610
|
+
'conn.guide.sftp.openssh.connectCaption': 'Bağlan, gönder, al',
|
|
611
|
+
'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.',
|
|
612
|
+
'conn.guide.sftp.key.tab': 'Anahtar kurulumu',
|
|
613
|
+
'conn.guide.sftp.key.s1': 'Bağlanacak makinede bir anahtar çifti üretin (zaten varsa atlayın).',
|
|
614
|
+
'conn.guide.sftp.key.s2': 'AÇIK yarısını kopyalayın — .pub dosyası, asla diğeri değil.',
|
|
615
|
+
'conn.guide.sftp.key.s3': 'Yukarıdaki kutuya yapıştırıp bağlanın; o andan sonra parola gönderilmez.',
|
|
616
|
+
'conn.guide.sftp.key.genCaption': 'Kendi makinenizde',
|
|
617
|
+
'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.',
|
|
618
|
+
'conn.guide.sftp.winscp.s1': 'Yeni site → Dosya protokolü: SFTP.',
|
|
619
|
+
'conn.guide.sftp.winscp.s2': 'Sunucu adı: {host}, port: {port}.',
|
|
620
|
+
'conn.guide.sftp.winscp.s3': 'Kullanıcı adı: {user}. Anahtar için: Gelişmiş → SSH → Kimlik Doğrulama → özel anahtar dosyası.',
|
|
621
|
+
'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.',
|
|
622
|
+
'conn.guide.sftp.filezilla.s1': 'Dosya → Site Yöneticisi → Yeni site, Protokol: SFTP.',
|
|
623
|
+
'conn.guide.sftp.filezilla.s2': 'Sunucu: {host}, port: {port}.',
|
|
624
|
+
'conn.guide.sftp.filezilla.s3': 'Kullanıcı: {user}. Giriş türü: parola için Normal, anahtar için Anahtar dosyası.',
|
|
625
|
+
'conn.guide.sftp.rclone.useCaption': 'Kullanımı',
|
|
626
|
+
'conn.guide.sftp.sshfs.mountCaption': 'Bağla ve çöz',
|
|
627
|
+
'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.',
|
|
628
|
+
'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.',
|
|
629
|
+
'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.',
|
|
630
|
+
'conn.guide.sftp.note.trash': 'Silme her yerdeki gibi filex çöpüne gider ve saklama politikası süpürene kadar geri alınabilir.',
|
|
631
|
+
'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 anahtar kaydedin ya da parola yerine API token kullanın.',
|
|
632
|
+
'conn.guide.sftp.note.disabled': 'Bu sunucuda SFTP ucu kapalı. Yönetici açtığında bu talimatlar çalışacaktır.',
|
|
633
|
+
// ── FTPS ─────────────────────────────────────────────────────────
|
|
634
|
+
'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.',
|
|
635
|
+
'conn.guide.ftps.fact.host': 'Sunucu',
|
|
636
|
+
'conn.guide.ftps.fact.hostHint': 'Web uygulamasıyla aynı makine, kendine ait bir portta.',
|
|
637
|
+
'conn.guide.ftps.fact.port': 'Port',
|
|
638
|
+
'conn.guide.ftps.fact.portHint': 'Kontrol kanalı. Veri, aşağıdaki pasif aralıktan ayrı bir porttan akar.',
|
|
639
|
+
'conn.guide.ftps.fact.mode': 'Şifreleme',
|
|
640
|
+
'conn.guide.ftps.fact.modeValue': 'FTPS — açık (explicit) TLS, zorunlu',
|
|
641
|
+
'conn.guide.ftps.fact.modeHint': 'Düz FTP, parola okunmadan reddedilir. "Require explicit FTP over TLS" seçin; "plain FTP" ya da "implicit" asla.',
|
|
642
|
+
'conn.guide.ftps.fact.userHint': 'Kısa giriş adınız ya da e-postanız. Parola yerine API token da geçer ve tek başına iptal edilebilir.',
|
|
643
|
+
'conn.guide.ftps.fact.passwordHint': 'Hesap parolanız ya da bir API token. İki adımlı doğrulaması açık hesap token kullanmalıdır — FTP\'nin kodu soracak bir yolu yok.',
|
|
644
|
+
'conn.guide.ftps.fact.pasv': 'Pasif portlar',
|
|
645
|
+
'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.',
|
|
646
|
+
'conn.guide.ftps.filezilla.s1': 'Dosya → Site Yöneticisi → Yeni site, Protokol: FTP.',
|
|
647
|
+
'conn.guide.ftps.filezilla.s2': 'Sunucu: {host}, port: {port}.',
|
|
648
|
+
'conn.guide.ftps.filezilla.s3': 'Şifreleme: "Require explicit FTP over TLS". Giriş türü: Normal, kullanıcı: {user}.',
|
|
649
|
+
'conn.guide.ftps.filezilla.s4': 'Aktarım ayarları → Pasif. Bu sunucu aktif modu reddeder.',
|
|
650
|
+
'conn.guide.ftps.winscp.s1': 'Yeni site → Dosya protokolü: FTP, Şifreleme: TLS/SSL Explicit encryption.',
|
|
651
|
+
'conn.guide.ftps.winscp.s2': 'Sunucu adı: {host}, port: {port}.',
|
|
652
|
+
'conn.guide.ftps.winscp.s3': 'Kullanıcı adı: {user}, parola yukarıdaki.',
|
|
653
|
+
'conn.guide.ftps.curl.caption': 'Gönder ve al',
|
|
654
|
+
'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.',
|
|
655
|
+
'conn.guide.ftps.lftp.caption': 'Bağlan',
|
|
656
|
+
'conn.guide.ftps.lftp.protectData': 'ssl-protect-data yalnız girişi değil DOSYAYI da şifreler. Olmazsa lftp TLS ile giriş yapar ve dosyayı açık metin gönderir — sahada en sık yapılan FTPS yanlışı budur.',
|
|
657
|
+
'conn.guide.ftps.rclone.useCaption': 'Kullanımı',
|
|
658
|
+
'conn.guide.ftps.printer.tab': 'Tarayıcı / yazıcı',
|
|
659
|
+
'conn.guide.ftps.printer.s1': 'Cihazın tara-ve-FTP\'ye-gönder ayarlarında: sunucu {host}, port {port}.',
|
|
660
|
+
'conn.guide.ftps.printer.s2': 'Kullanıcı: {user}, parola yukarıdaki. Cihaz için kendi parolanız yerine bir API token üretin — başka hiçbir şeyi değiştirmeden iptal edilebilir.',
|
|
661
|
+
'conn.guide.ftps.printer.s3': 'Yol: {path} — ya da önceden oluşturduğunuz bir alt klasör. Cihaz depo oluşturamaz.',
|
|
662
|
+
'conn.guide.ftps.printer.s4': '"SSL/TLS" ya da "FTPS explicit" seçeneğini AÇIN ve PASİF modu seçin.',
|
|
663
|
+
'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ı.',
|
|
664
|
+
'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.',
|
|
665
|
+
'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.',
|
|
666
|
+
'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.',
|
|
667
|
+
'conn.guide.ftps.note.trash': 'Silme her yerdeki gibi filex çöpüne gider ve saklama politikası süpürene kadar geri alınabilir.',
|
|
668
|
+
'conn.guide.ftps.note.prefer': 'İstemci SFTP konuşabiliyorsa onu tercih edin: tek bağlantı, tek port, pasif mod sürprizi yok.',
|
|
669
|
+
'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.',
|
|
670
|
+
'conn.guide.ftps.note.disabled': 'Bu sunucuda FTPS ucu kapalı. Yönetici açtığında bu talimatlar çalışacaktır.',
|
|
671
|
+
// ── NFS ──────────────────────────────────────────────────────────
|
|
672
|
+
'conn.nfs.title': 'NFS export\'ları',
|
|
673
|
+
'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.',
|
|
674
|
+
'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.',
|
|
675
|
+
'conn.nfs.disabled': 'Bu sunucuda NFS ucu kapalı (FILEX_NFS). Burada oluşturulan export, yönetici ucu açana kadar bağlanmaz.',
|
|
676
|
+
'conn.nfs.cannotMint': 'Export oluşturabilecek bir hesapla oturum açmış değilsiniz.',
|
|
677
|
+
'conn.nfs.label': 'Ne için? (medya oynatıcı, yedek kutusu, …)',
|
|
678
|
+
'conn.nfs.defaultLabel': 'nfs export',
|
|
679
|
+
'conn.nfs.everyStorage': 'Görebildiğim tüm depolar',
|
|
680
|
+
'conn.nfs.prefix': 'Depo içindeki klasör (isteğe bağlı)',
|
|
681
|
+
'conn.nfs.allowCidrs': 'İzinli adresler, örn. 192.168.1.0/24 (isteğe bağlı)',
|
|
682
|
+
'conn.nfs.readOnly': 'Salt okunur',
|
|
683
|
+
'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.',
|
|
684
|
+
'conn.nfs.mint': 'Export oluştur',
|
|
685
|
+
'conn.nfs.once': 'Şimdi kopyalayın — yol yalnızca bir kez gösterilir ve geri alınamaz.',
|
|
686
|
+
'conn.nfs.dismiss': 'Kopyaladım',
|
|
687
|
+
'conn.nfs.col.label': 'Etiket',
|
|
688
|
+
'conn.nfs.col.scope': 'Kapsam',
|
|
689
|
+
'conn.nfs.col.mode': 'Mod',
|
|
690
|
+
'conn.nfs.col.lastUsed': 'Son bağlanma',
|
|
691
|
+
'conn.nfs.scopeAll': 'görebildiğiniz her şey',
|
|
692
|
+
'conn.nfs.modeRead': 'salt okunur',
|
|
693
|
+
'conn.nfs.modeWrite': 'okuma/yazma',
|
|
694
|
+
'conn.nfs.noLabel': '(etiketsiz)',
|
|
695
|
+
'conn.nfs.neverUsed': 'hiç',
|
|
696
|
+
'conn.nfs.enable': 'Aç',
|
|
697
|
+
'conn.nfs.disable': 'Kapat',
|
|
698
|
+
'conn.nfs.revoke': 'İptal et',
|
|
699
|
+
'conn.nfs.confirm': 'Emin misiniz?',
|
|
700
|
+
'conn.nfs.empty': 'Henüz export yok.',
|
|
701
|
+
'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.',
|
|
702
|
+
'conn.guide.nfs.pathPlaceholder': 'yukarıdan bir export oluşturun',
|
|
703
|
+
'conn.guide.nfs.fact.host': 'Sunucu',
|
|
704
|
+
'conn.guide.nfs.fact.hostHint': 'Web uygulamasıyla aynı makine, kendine ait bir portta.',
|
|
705
|
+
'conn.guide.nfs.fact.port': 'Port',
|
|
706
|
+
'conn.guide.nfs.fact.portHint': 'Hem port= hem mountport= buna ayarlanmalı; filex mount ve NFS servislerini tek portta veriyor.',
|
|
707
|
+
'conn.guide.nfs.fact.export': 'Export yolu',
|
|
708
|
+
'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.',
|
|
709
|
+
'conn.guide.nfs.fact.options': 'Bağlama seçenekleri',
|
|
710
|
+
'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.',
|
|
711
|
+
'conn.guide.nfs.linux.mountCaption': 'Bağla',
|
|
712
|
+
'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.',
|
|
713
|
+
'conn.guide.nfs.mac.mountCaption': 'Bağla',
|
|
714
|
+
'conn.guide.nfs.mac.resvport': 'macOS resvport ister: istemcisi ayrıcalıklı bir kaynak portta ısrar eder ve olmadan bağlantıyı reddeder.',
|
|
715
|
+
'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).',
|
|
716
|
+
'conn.guide.nfs.win.s2': 'Komut İstemi\'ni yönetici olarak açın.',
|
|
717
|
+
'conn.guide.nfs.win.s3': 'Aşağıdaki komutla export\'u bir sürücü harfine bağlayın.',
|
|
718
|
+
'conn.guide.nfs.win.cmdCaption': 'Z: sürücüsüne bağla',
|
|
719
|
+
'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.',
|
|
720
|
+
'conn.guide.nfs.nas.tab': 'NAS / medya oynatıcı',
|
|
721
|
+
'conn.guide.nfs.nas.s1': 'Cihazın NFS ayarlarında: sunucu {host}, port {port} (ayrı ayrı soruyorsa hem NFS hem mount portunu ayarlayın).',
|
|
722
|
+
'conn.guide.nfs.nas.s2': 'Uzak yol: yukarıdaki export yolu, birebir.',
|
|
723
|
+
'conn.guide.nfs.nas.s3': 'NFS sürüm 3, kilitleme kapalı. Cihazın gerçekten yazması gerekmiyorsa export\'u salt okunur oluşturun.',
|
|
724
|
+
'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.',
|
|
725
|
+
'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.',
|
|
726
|
+
'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.',
|
|
727
|
+
'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.',
|
|
728
|
+
'conn.guide.nfs.note.trash': 'Silme her yerdeki gibi filex çöpüne gider ve saklama politikası süpürene kadar geri alınabilir.',
|
|
729
|
+
'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.',
|
|
730
|
+
'conn.guide.nfs.note.disabled': 'Bu sunucuda NFS ucu kapalı. Yönetici açtığında bu talimatlar çalışacaktır.',
|
|
731
|
+
'conn.tokens.title': 'API jetonları',
|
|
732
|
+
'conn.tokens.lead': 'FTPS, WebDAV ve filex mount hesap parolanız yerine bir jetonla giriş yapar. Buradan üretin — tek başına iptal edilebilir, ayrıca iki adımlı doğrulaması açık bir hesap bunlarda parolasını zaten kullanamaz.',
|
|
733
|
+
'conn.tokens.mint': 'Jeton oluştur',
|
|
734
|
+
'conn.tokens.once': 'Şimdi kopyalayın — yalnızca bir kez gösterilir. Sunucuda yalnız özeti saklandığı için bir daha gösterilemez.',
|
|
735
|
+
'conn.tokens.dismiss': 'Kopyaladım',
|
|
736
|
+
'conn.tokens.cannotMint': 'Bu oturum jeton üretemiyor. Kendi hesabınızla giriş yapıp oluşturun.',
|
|
737
|
+
'conn.tokens.empty': 'Henüz jeton yok.',
|
|
738
|
+
'conn.tokens.neverUsed': 'hiç',
|
|
739
|
+
'conn.tokens.revoke': 'İptal et',
|
|
740
|
+
'conn.tokens.confirm': 'Emin misin?',
|
|
741
|
+
'conn.tokens.col.label': 'Ad',
|
|
742
|
+
'conn.tokens.col.scopes': 'Yetkisi',
|
|
743
|
+
'conn.tokens.col.used': 'Son kullanım',
|
|
744
|
+
'conn.tokens.revokeHint': 'İptal, yalnız bir sonraki girişi 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.',
|
|
745
|
+
'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.',
|
|
746
|
+
'conn.guide.mount.fact.url': 'Sunucu adresi',
|
|
747
|
+
'conn.guide.mount.fact.urlHint': 'Tarayıcıda kullandığınız adresin aynısı. Başka hiçbir şeye erişilebilir olması gerekmez.',
|
|
748
|
+
'conn.guide.mount.fact.token': 'API jetonu',
|
|
749
|
+
'conn.guide.mount.fact.tokenPlaceholder': 'Jetonlar bölümünden oluşturun',
|
|
750
|
+
'conn.guide.mount.fact.tokenHint': 'Parolanız değil, jeton — tek başına iptal edilebilir, ayrıca 2FA açık bir hesap burada parolasını zaten kullanamaz.',
|
|
751
|
+
'conn.guide.mount.fact.remote': 'Neyi bağlayacağınız',
|
|
752
|
+
'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.',
|
|
753
|
+
'conn.guide.mount.linux.mountCaption': 'Bağlayın',
|
|
754
|
+
'conn.guide.mount.linux.umountCaption': 'Ayırın',
|
|
755
|
+
'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.',
|
|
756
|
+
'conn.guide.mount.linux.systemdCaption': 'Girişte otomatik bağlansın (systemd kullanıcı birimi)',
|
|
757
|
+
'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.",
|
|
758
|
+
'conn.guide.mount.win.mountCaption': 'Sürücü olarak bağlayın',
|
|
759
|
+
'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.',
|
|
760
|
+
'conn.guide.mount.win.stop': 'O pencerede Ctrl-C ile durdurun. Sürücü kaybolur ve bu makinede hiçbir şey kalmaz.',
|
|
761
|
+
'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.",
|
|
762
|
+
'conn.guide.mount.mac.alternatives': "macOS'ta filex masaüstü uygulamasını klasör senkronuyla kullanın (dosyalar diskte durur) ya da sürücü bağlayabilen bir istemciyle SFTP.",
|
|
763
|
+
'conn.guide.mount.note.notASync': 'Bu bir senkronizasyon 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 senkronunu kullanın.',
|
|
764
|
+
'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, depolarınız ve çok kiracılı bir sunucuda kiracınız da birlikte gelir.',
|
|
765
|
+
'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.',
|
|
766
|
+
'conn.guide.mount.note.trash': 'Silme her yerdeki gibi filex çöp kutusuna gider ve saklama politikası süpürene kadar geri alınabilir.',
|
|
767
|
+
'conn.guide.mount.note.revoke': 'Bir bağlantıyı durdurmak için jetonu iptal edin. Bağlantı hâlâ takılı olsa bile yarım dakika içinde hizmet vermeyi bırakır.',
|
|
768
|
+
'storages.driver.ftp': 'FTP / FTPS',
|
|
769
|
+
'storages.driver.local': 'Yerel dosya sistemi',
|
|
770
|
+
'storages.driver.s3': 'S3 / Hetzner / MinIO',
|
|
771
|
+
'storages.driver.sftp': 'SFTP',
|
|
772
|
+
'storages.driver.smb': 'SMB / CIFS (NAS)',
|
|
773
|
+
'storages.driver.webdav': 'WebDAV',
|
|
774
|
+
'storages.fieldHelp.smbShare':
|
|
775
|
+
"Sunucu adı olmadan yalnızca paylaşım adı: `\\\\nas\\media` değil, `media`.",
|
|
776
|
+
'storages.fieldHelp.smbDomain':
|
|
777
|
+
'Yalnızca Windows etki alanı hesabı için. NAS kullanıyorsanız boş bırakın.',
|
|
778
|
+
'storages.fieldHelp.smbRoot':
|
|
779
|
+
'Paylaşımın içindeki alt klasör. Paylaşımın tamamı için boş bırakın.',
|
|
780
|
+
'storages.fields.share': 'Paylaşım',
|
|
781
|
+
'storages.fields.domain': 'Etki alanı / çalışma grubu',
|
|
782
|
+
'storages.fields.dialTimeout': 'Bağlanma zaman aşımı (saniye)',
|
|
783
|
+
'storages.fieldHelp.disablePresign': 'Depo, SDK\'nın imzaladığı URL\'leri reddediyorsa açın (Ceph RGW / bazı Hetzner kurulumları SignatureDoesNotMatch döner); yüklemeler o zaman arka uç üzerinden akar.',
|
|
784
|
+
'storages.fieldHelp.endpoint': 'AWS S3 için boş bırakın. S3 uyumlu diğer tüm depolar kendi endpoint\'ini ister.',
|
|
785
|
+
'storages.fieldHelp.hostKey': 'authorized_keys / known_hosts satır biçiminde tek bir açık anahtar.',
|
|
786
|
+
'storages.fieldHelp.insecureSkipHostKey': 'Her sunucu anahtarını kabul eder. Yalnızca geçici sunucular için.',
|
|
787
|
+
'storages.fieldHelp.keyPath': 'Sunucudaki anahtar dosyasının yolu; depo başlarken okunur. PEM alanı boşken kullanılır.',
|
|
788
|
+
'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.',
|
|
789
|
+
'storages.fieldHelp.passive': 'Kapatmak aktif moda geçirir; bu, sunucunun bu makineye geri bağlanmasını gerektirir.',
|
|
790
|
+
'storages.fieldHelp.path': 'Sunucudaki dizin. Yoksa oluşturulur; filex asla / dizinini mount etmez.',
|
|
791
|
+
'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.',
|
|
792
|
+
'storages.fieldHelp.prefix': 'Bucket içindeki alt klasör. Zorunlu: filex bucket kökünün sahipliğini asla almaz.',
|
|
793
|
+
'storages.fieldHelp.region': 'Boş bırakılırsa "auto" kullanılır.',
|
|
794
|
+
'storages.fieldHelp.root': 'Arka uçtaki alt klasör. Zorunlu: filex hesabın kökünü asla mount etmez.',
|
|
795
|
+
'storages.fieldHelp.sftpAuth': 'Parola ya da özel anahtardan biri zorunludur.',
|
|
796
|
+
'storages.fieldHelp.tls': 'Düz FTP kimlik bilgilerini açık metin gönderir — sunucu destekliyorsa açın.',
|
|
797
|
+
'storages.fields.accessKey': 'Access key',
|
|
798
|
+
'storages.fields.basePath': 'Temel yol',
|
|
799
|
+
'storages.fields.bucket': 'Bucket',
|
|
800
|
+
'storages.fields.disablePresign': 'İmzalı URL\'leri kapat',
|
|
801
|
+
'storages.fields.endpoint': 'Endpoint',
|
|
802
|
+
'storages.fields.host': 'Sunucu',
|
|
803
|
+
'storages.fields.hostKey': 'Sabitlenmiş sunucu anahtarı',
|
|
804
|
+
'storages.fields.insecureSkipHostKey': 'Sunucu anahtarı doğrulamasını atla (güvensiz)',
|
|
805
|
+
'storages.fields.keyPath': 'Özel anahtar dosyası',
|
|
806
|
+
'storages.fields.knownHosts': 'known_hosts dosyası',
|
|
807
|
+
'storages.fields.name': 'Görünen isim',
|
|
808
|
+
'storages.fields.namePlaceholder': 'Kişisel fotoğraflar',
|
|
809
|
+
'storages.fields.passive': 'Pasif mod (PASV)',
|
|
810
|
+
'storages.fields.password': 'Parola',
|
|
811
|
+
'storages.fields.path': 'Dizin yolu',
|
|
812
|
+
'storages.fields.pathStyle': 'Path-style URL kullan (Hetzner, MinIO)',
|
|
813
|
+
'storages.fields.port': 'Port',
|
|
814
|
+
'storages.fields.prefix': 'Önek (prefix)',
|
|
815
|
+
'storages.fields.privateKey': 'Özel anahtar (PEM)',
|
|
816
|
+
'storages.fields.rbac': 'Öğe bazlı erişim denetimi (RBAC)',
|
|
817
|
+
'storages.fields.rbacHint': 'Açıkken admin olmayanlar yalnızca izin panelinden kendilerine verilen dosya/klasörleri görür. Kapalıyken depo tüm kullanıcılara açıktır (yetki role göre).',
|
|
818
|
+
'storages.fields.readOnly': 'Salt okunur mount',
|
|
819
|
+
'storages.fields.region': 'Bölge',
|
|
820
|
+
'storages.fields.root': 'Temel yol',
|
|
821
|
+
'storages.fields.secretKey': 'Secret key',
|
|
822
|
+
'storages.fields.tls': 'FTPS (açık AUTH TLS)',
|
|
823
|
+
'storages.fields.url': 'Temel URL',
|
|
824
|
+
'storages.fields.user': 'Kullanıcı',
|
|
825
|
+
|
|
410
826
|
};
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
|
|
18
18
|
|
|
19
19
|
const props = defineProps<{
|
|
20
|
-
/** Converter base, e.g. https://fm.
|
|
20
|
+
/** Converter base, e.g. https://fm.example.com/convert */
|
|
21
21
|
convertUrl: string;
|
|
22
22
|
/** Source file name with extension, e.g. "clip.avi" */
|
|
23
23
|
fileName: string;
|
package/src/styles/base.css
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/* FileExplorer — unscoped stylesheet (lib consumers apply once). */
|
|
2
2
|
|
|
3
|
-
/* ⚠⚠
|
|
4
|
-
(`.fe *` = 0,1,0)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
/* ⚠⚠ This block belongs at the TOP of the file, not the bottom. Component
|
|
4
|
+
rules of the same specificity (`.fe *` = 0,1,0) win the cascade when they
|
|
5
|
+
sit BELOW it; while it sat at the bottom it overrode the tab strip's own
|
|
6
|
+
"hide the bar" rule and dropped a scrollbar under the tabs (2026-08-12,
|
|
7
|
+
reported). The general default comes first, the component writes its own
|
|
8
|
+
exception afterwards. */
|
|
9
|
+
|
|
10
|
+
/* === ui-fix — scrollbars ==============================================
|
|
10
11
|
The platform scrollbar ignores the theme completely: on Terminal Green or
|
|
11
12
|
any dark variant it paints a wide light-grey slab down the edge of the
|
|
12
13
|
panel. Chromium/WebKit honour the -webkit pseudo-elements and Firefox the
|
|
@@ -1183,8 +1184,8 @@ filex-explorer {
|
|
|
1183
1184
|
height: 78vh;
|
|
1184
1185
|
background: var(--fe-bg);
|
|
1185
1186
|
}
|
|
1186
|
-
/* CodeMirror 6 editor surface —
|
|
1187
|
-
|
|
1187
|
+
/* CodeMirror 6 editor surface — V1.5 follow-up #4: the Monaco editor did
|
|
1188
|
+
not work, so CodeMirror replaced it. */
|
|
1188
1189
|
.fe-preview__code-wrap {
|
|
1189
1190
|
display: flex;
|
|
1190
1191
|
flex-direction: column;
|
|
@@ -2944,7 +2945,6 @@ filex-explorer {
|
|
|
2944
2945
|
}
|
|
2945
2946
|
}
|
|
2946
2947
|
/* /wiring:c3 */
|
|
2947
|
-
=======
|
|
2948
2948
|
/* === wiring:c4 — onboarding turu, erişilebilirlik ve etkileşim cilası === */
|
|
2949
2949
|
|
|
2950
2950
|
/* ---------- Focus ring: grid cards (list rows already had one) ---------- */
|
|
@@ -3171,7 +3171,7 @@ filex-explorer {
|
|
|
3171
3171
|
* wider than the window pushed the whole explorer sideways instead of
|
|
3172
3172
|
* overflowing into `.fe-tabs__scroll`: measured 63 tabs → a 4903px strip in
|
|
3173
3173
|
* a 1264px window, the layout running off the right edge with no scrollbar
|
|
3174
|
-
* anywhere (2026-08-12,
|
|
3174
|
+
* anywhere (2026-08-12, reported as "it overflowed the screen and keeps sliding"). Allowing the
|
|
3175
3175
|
* strip to shrink is what hands the overflow to the scroller inside it. */
|
|
3176
3176
|
min-width: 0;
|
|
3177
3177
|
padding: 4px 6px 0;
|
|
@@ -3189,7 +3189,7 @@ filex-explorer {
|
|
|
3189
3189
|
/* ⚠ EXPLICIT `hidden`, not left to default. `overflow-x: auto` alone makes
|
|
3190
3190
|
* the other axis compute to `auto` too, so the strip grew a VERTICAL
|
|
3191
3191
|
* scrollbar with nothing to scroll — a bar down the side of a row of tabs
|
|
3192
|
-
* (2026-08-12,
|
|
3192
|
+
* (2026-08-12, reported). */
|
|
3193
3193
|
overflow-y: hidden;
|
|
3194
3194
|
/* Enough tabs and they run off the edge; a strip that scrolls without
|
|
3195
3195
|
* saying so is a strip whose overflow is invisible. Thin, on its own axis,
|