@brftech/filex-core 0.40.0 → 0.41.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 +32 -25
- package/dist/ArchiveViewer-DxxjhYZD.js +124 -0
- package/dist/ArchiveViewer-DxxjhYZD.js.map +1 -0
- package/dist/CsvViewer-CyuwENI_.js +141 -0
- package/dist/CsvViewer-CyuwENI_.js.map +1 -0
- package/dist/{DrawioViewer-BNALOB04.js → DrawioViewer-BIYsTX97.js} +48 -42
- package/dist/DrawioViewer-BIYsTX97.js.map +1 -0
- package/dist/EpubViewer-K9PjCMmS.js +163 -0
- package/dist/EpubViewer-K9PjCMmS.js.map +1 -0
- package/dist/IpynbViewer-DYU6Zgz2.js +184 -0
- package/dist/IpynbViewer-DYU6Zgz2.js.map +1 -0
- package/dist/MermaidViewer-Bp73aId8.js +137 -0
- package/dist/MermaidViewer-Bp73aId8.js.map +1 -0
- package/dist/PsdViewer-C2eLivw1.js +122 -0
- package/dist/PsdViewer-C2eLivw1.js.map +1 -0
- package/dist/TiffViewer-DsHg5gcz.js +142 -0
- package/dist/TiffViewer-DsHg5gcz.js.map +1 -0
- package/dist/Viewer3D-C_dc2HN9.js +75 -0
- package/dist/Viewer3D-C_dc2HN9.js.map +1 -0
- package/dist/filex-core.js +218 -20361
- package/dist/filex-core.js.map +1 -1
- package/dist/filex-core.umd.cjs +61 -62
- package/dist/filex-core.umd.cjs.map +1 -1
- package/dist/index-vxMZpYb-.js +26700 -0
- package/dist/index-vxMZpYb-.js.map +1 -0
- package/dist/index.d.ts +4212 -862
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/FileExplorer.vue +2154 -506
- package/src/components/AdvancedSearch.vue +870 -0
- package/src/components/Breadcrumb.vue +191 -19
- package/src/components/CommandPalette.vue +66 -22
- package/src/components/ConnectionsPanel.vue +6 -2
- package/src/components/ContextMenu.vue +39 -2
- package/src/components/EncryptedFolderModal.vue +31 -25
- package/src/components/FilePane.vue +951 -0
- package/src/components/FilterBar.vue +568 -72
- package/src/components/GalleryView.vue +172 -56
- package/src/components/GridView.vue +331 -82
- package/src/components/HomeView.vue +331 -0
- package/src/components/InspectorPanel.vue +296 -53
- package/src/components/ListView.vue +1173 -194
- package/src/components/NFSExportsPanel.vue +7 -4
- package/src/components/OnboardingTour.vue +156 -33
- package/src/components/QuickLook.vue +26 -1
- package/src/components/RecentlyOpened.vue +17 -2
- package/src/components/S3KeysPanel.vue +7 -4
- package/src/components/SSHKeysPanel.vue +7 -4
- package/src/components/ShortcutSettings.vue +6 -2
- package/src/components/ShortcutsHelp.vue +4 -1
- package/src/components/SideNav.vue +206 -140
- package/src/components/StorageFields.vue +19 -1
- package/src/components/TabBar.vue +87 -1
- package/src/components/TagPicker.vue +77 -6
- package/src/components/ThemeGallery.vue +13 -198
- package/src/components/ThemePalette.vue +244 -0
- package/src/components/TimeZoneDialog.vue +135 -0
- package/src/components/TimeZonePicker.vue +696 -0
- package/src/components/TokensPanel.vue +35 -14
- package/src/components/Toolbar.vue +953 -465
- package/src/components/ViewSwitcher.vue +9 -4
- package/src/composables/useConnections.ts +35 -4
- package/src/composables/useExplorerTimeZone.ts +89 -0
- package/src/composables/useFileApi.ts +53 -4
- package/src/composables/useLocale.ts +382 -26
- package/src/composables/useRowTouch.ts +95 -0
- package/src/index.ts +177 -3
- package/src/lib/actionIcons.ts +330 -0
- package/src/lib/advSearch.ts +162 -0
- package/src/lib/dateGroups.ts +197 -0
- package/src/lib/destinationTree.ts +235 -0
- package/src/lib/downloadSelection.ts +154 -0
- package/src/lib/fileFilters.ts +319 -12
- package/src/lib/fileIcons.ts +299 -5
- package/src/lib/filePreview.ts +605 -0
- package/src/lib/listing.ts +72 -0
- package/src/lib/shareTtl.ts +31 -2
- package/src/lib/sortOrder.ts +459 -0
- package/src/lib/themes.ts +151 -116
- package/src/lib/timezone.ts +501 -0
- package/src/lib/uiProfile.ts +82 -0
- package/src/lib/viewPrefs.ts +1036 -0
- package/src/locales/en.ts +416 -26
- package/src/locales/tr.ts +409 -26
- package/src/modals/ConvertModal.vue +23 -3
- package/src/modals/DestinationPickerModal.vue +341 -0
- package/src/modals/Modal.vue +18 -4
- package/src/modals/NewDocumentModal.vue +525 -0
- package/src/modals/NewFolderModal.vue +15 -9
- package/src/modals/PermissionsModal.vue +557 -476
- package/src/modals/PreviewModal.vue +516 -156
- package/src/styles/base.css +5409 -8
- package/src/styles/variables.css +139 -65
- package/src/types/Connections.ts +9 -0
- package/src/types/ExplorerConfig.ts +144 -39
- package/src/types/FileNode.ts +28 -0
- package/src/viewers/ArchiveViewer.vue +46 -8
- package/src/viewers/CsvViewer.vue +19 -2
- package/src/viewers/DrawioViewer.vue +12 -1
- package/src/viewers/EpubViewer.vue +50 -6
- package/src/viewers/IpynbViewer.vue +19 -2
- package/src/viewers/MermaidViewer.vue +20 -3
- package/src/viewers/PdfViewer.vue +24 -4
- package/src/viewers/PsdViewer.vue +28 -4
- package/src/viewers/TiffViewer.vue +19 -2
- package/src/viewers/Viewer3D.vue +36 -2
- package/dist/ArchiveViewer-Cdfv9LFC.js +0 -99
- package/dist/ArchiveViewer-Cdfv9LFC.js.map +0 -1
- package/dist/CsvViewer-CqWeV8VO.js +0 -131
- package/dist/CsvViewer-CqWeV8VO.js.map +0 -1
- package/dist/DrawioViewer-BNALOB04.js.map +0 -1
- package/dist/EpubViewer-BPmlImG7.js +0 -145
- package/dist/EpubViewer-BPmlImG7.js.map +0 -1
- package/dist/IpynbViewer-CDlQmuCV.js +0 -175
- package/dist/IpynbViewer-CDlQmuCV.js.map +0 -1
- package/dist/MermaidViewer-sfZWdR-d.js +0 -127
- package/dist/MermaidViewer-sfZWdR-d.js.map +0 -1
- package/dist/PsdViewer-DwuySZsb.js +0 -112
- package/dist/PsdViewer-DwuySZsb.js.map +0 -1
- package/dist/TiffViewer-BDQ3d3CQ.js +0 -132
- package/dist/TiffViewer-BDQ3d3CQ.js.map +0 -1
- package/dist/Viewer3D-CJJJgkuv.js +0 -60
- package/dist/Viewer3D-CJJJgkuv.js.map +0 -1
- package/src/components/SecondaryPane.vue +0 -447
- package/src/modals/ShareModal.vue +0 -139
package/src/locales/tr.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Turkish UI strings. */
|
|
2
2
|
export const tr: Record<string, string> = {
|
|
3
|
-
'toolbar.new_folder': 'Yeni
|
|
3
|
+
'toolbar.new_folder': 'Yeni klasör',
|
|
4
4
|
'toolbar.upload': 'Yükle',
|
|
5
5
|
'toolbar.search': 'Ara',
|
|
6
6
|
'toolbar.search.placeholder': 'Ada ya da tag: ile ara…',
|
|
@@ -13,7 +13,7 @@ export const tr: Record<string, string> = {
|
|
|
13
13
|
'ctx.preview': 'Önizle',
|
|
14
14
|
'ctx.download': 'İndir',
|
|
15
15
|
'ctx.convert': 'Dönüştür',
|
|
16
|
-
'ctx.rename': 'Yeniden
|
|
16
|
+
'ctx.rename': 'Yeniden adlandır',
|
|
17
17
|
'ctx.delete': 'Sil',
|
|
18
18
|
'ctx.delete_perm': 'Kalıcı Olarak Sil',
|
|
19
19
|
'ctx.restore': 'Geri Getir',
|
|
@@ -39,18 +39,19 @@ export const tr: Record<string, string> = {
|
|
|
39
39
|
'ctx.paste': 'Yapıştır',
|
|
40
40
|
'ctx.info': 'Bilgi',
|
|
41
41
|
'ctx.duplicate': 'Kopyasını Oluştur',
|
|
42
|
-
'ctx.new_file': 'Yeni
|
|
42
|
+
'ctx.new_file': 'Yeni dosya',
|
|
43
43
|
|
|
44
44
|
'modal.delete.title': 'Silinsin mi?',
|
|
45
45
|
'modal.delete.message': '{count} öğe çöpe atılacak.',
|
|
46
|
+
'modal.delete.message_one': '{count} öğe çöpe atılacak.',
|
|
46
47
|
'modal.delete.confirm': 'Çöpe At',
|
|
47
48
|
'modal.delete.cancel': 'Vazgeç',
|
|
48
49
|
|
|
49
|
-
'modal.rename.title': 'Yeniden
|
|
50
|
+
'modal.rename.title': 'Yeniden adlandır',
|
|
50
51
|
'modal.rename.save': 'Kaydet',
|
|
51
52
|
'modal.rename.cancel': 'Vazgeç',
|
|
52
53
|
|
|
53
|
-
'modal.newfolder.title': 'Yeni
|
|
54
|
+
'modal.newfolder.title': 'Yeni klasör',
|
|
54
55
|
'modal.newfolder.placeholder': 'Klasör adı',
|
|
55
56
|
'modal.newfolder.create': 'Oluştur',
|
|
56
57
|
'modal.newfolder.cancel': 'Vazgeç',
|
|
@@ -96,10 +97,11 @@ export const tr: Record<string, string> = {
|
|
|
96
97
|
'unit.mb': 'MB',
|
|
97
98
|
'unit.gb': 'GB',
|
|
98
99
|
'unit.tb': 'TB',
|
|
100
|
+
'unit.pb': 'PB',
|
|
99
101
|
|
|
100
102
|
'breadcrumb.root': 'Kök',
|
|
101
|
-
'breadcrumb.copy_path': 'Yolu
|
|
102
|
-
'breadcrumb.go_to_path': 'Yola
|
|
103
|
+
'breadcrumb.copy_path': 'Yolu kopyala',
|
|
104
|
+
'breadcrumb.go_to_path': 'Yola git',
|
|
103
105
|
'breadcrumb.path_placeholder': 'fileman/foo/bar',
|
|
104
106
|
|
|
105
107
|
'ops.copy': 'Kopyalanıyor',
|
|
@@ -110,9 +112,10 @@ export const tr: Record<string, string> = {
|
|
|
110
112
|
'ops.error': 'hata',
|
|
111
113
|
|
|
112
114
|
'node.trash': 'Çöp Kutusu',
|
|
115
|
+
'node.folder': 'Klasör',
|
|
113
116
|
|
|
114
117
|
// ——— Zengin önizleyici chrome ———
|
|
115
|
-
'viewer.open_in_new_tab': 'Yeni
|
|
118
|
+
'viewer.open_in_new_tab': 'Yeni sekmede aç',
|
|
116
119
|
'viewer.loading': 'Yükleniyor…',
|
|
117
120
|
'viewer.failed_to_load': 'Dosya yüklenemedi',
|
|
118
121
|
'viewer.peer_not_installed': 'Bu dosya tipi için opsiyonel kütüphane kurulu değil. Peer dependency yükle veya İndir düğmesini kullan.',
|
|
@@ -150,6 +153,7 @@ export const tr: Record<string, string> = {
|
|
|
150
153
|
'viewer.epub_next': 'Sonraki',
|
|
151
154
|
'viewer.drawio.disabled': 'diagrams.net editörü bu filex kurulumunda yapılandırılmamış — yönetici FILEX_DRAWIO_URL\'yi ayarlamalı.',
|
|
152
155
|
'viewer.archive.entries': '{n} dosya',
|
|
156
|
+
'viewer.archive.entries_one': '{n} dosya',
|
|
153
157
|
'viewer.archive.empty': 'Arşiv boş.',
|
|
154
158
|
'viewer.archive.error': 'Arşiv okunamadı.',
|
|
155
159
|
'viewer.name': 'Ad',
|
|
@@ -218,6 +222,9 @@ export const tr: Record<string, string> = {
|
|
|
218
222
|
'toast.copy_ready': 'Kopyala → Yapıştır hazır',
|
|
219
223
|
'toast.same_folder_cut': 'Aynı klasöre kesilemez',
|
|
220
224
|
'toast.restored': '{n} öğe geri getirildi',
|
|
225
|
+
'toast.restored_one': '{n} öğe geri getirildi',
|
|
226
|
+
'toast.restore_taken': '{n} öğe geri getirilmedi: aynı adla bir şey zaten var. Oradakinin adını değiştirip yeniden deneyin.',
|
|
227
|
+
'toast.restore_taken_one': '“{name}” geri getirilmedi: aynı adla bir şey zaten var. Oradakinin adını değiştirip yeniden deneyin.',
|
|
221
228
|
'toast.delete_queued': 'Silme kuyruğa alındı',
|
|
222
229
|
'toast.trash_retention': 'Çöpteki öğeler saklama süresi sonunda otomatik silinir. Kalıcı silme yönetici panelinden yapılır.',
|
|
223
230
|
'dropzone.hint': 'Dosyaları buraya bırak',
|
|
@@ -226,7 +233,9 @@ export const tr: Record<string, string> = {
|
|
|
226
233
|
'viewer.pdf_inline_failed': 'Tarayıcı PDF\'i inline açamadı.',
|
|
227
234
|
'viewer.too_large': 'Dosya çok büyük (>1 MB).',
|
|
228
235
|
'viewer.csv_rows': '{n} satır',
|
|
236
|
+
'viewer.csv_rows_one': '{n} satır',
|
|
229
237
|
'presence.others': '{n} kişi',
|
|
238
|
+
'presence.others_one': '{n} kişi',
|
|
230
239
|
'conn.offline': 'Canlı bağlantı yok — değişiklikler gecikebilir',
|
|
231
240
|
'conn.tooltip': 'Sunucuyla canlı bağlantı kurulamadı; liste belirli aralıklarla otomatik yenilenir. Bağlantı geri gelince bu uyarı kaybolur.',
|
|
232
241
|
|
|
@@ -253,8 +262,25 @@ export const tr: Record<string, string> = {
|
|
|
253
262
|
'star.failed': 'Yıldız değiştirilemedi',
|
|
254
263
|
'shortcuts.inspector': 'Ayrıntılar panelini aç/kapat',
|
|
255
264
|
'inspector.title': 'Ayrıntılar',
|
|
265
|
+
'inspector.copy_name': 'Adı kopyala',
|
|
266
|
+
'inspector.items': '{n} öğe',
|
|
267
|
+
'inspector.items_one': '{n} öğe',
|
|
268
|
+
'inspector.type': 'Tür',
|
|
269
|
+
'inspector.select_hint': 'Ayrıntılarını görmek için bir öğe seçin.',
|
|
270
|
+
/* pane:p1 — panel SON seçilen şeyi tutar (Burak'ın kararı, 2026-09-13);
|
|
271
|
+
dolayısıyla bölünmüş pencerenin bakılmayan yarısındaki bir öğeyi
|
|
272
|
+
anlatıyor olabilir. Bu satır hangisi olduğunu ve nerede durduğunu söyler. */
|
|
273
|
+
'inspector.held': 'Son seçilen — {where} içinde',
|
|
256
274
|
'inspector.close': 'Kapat',
|
|
257
275
|
'inspector.section.general': 'Genel',
|
|
276
|
+
'inspector.section.tags': 'Etiketler',
|
|
277
|
+
/* etiket:t1 — TagPicker'ın kendi çerçevesi. 2026-09-13'e kadar bu üçü
|
|
278
|
+
katalogdan bağımsız olarak İngilizce basılıyordu; `tags.open` ise çipin
|
|
279
|
+
yeni "bu etiketi taşıyan her şeyi göster" kapısı. */
|
|
280
|
+
'tags.open': 'Etiketi aç: {tag}',
|
|
281
|
+
'tags.add': '+ Etiket ekle',
|
|
282
|
+
'tags.name': 'Etiket adı',
|
|
283
|
+
'tags.remove': 'Etiketi kaldır',
|
|
258
284
|
'inspector.section.versions': 'Sürümler',
|
|
259
285
|
'inspector.section.permissions': 'İzinler',
|
|
260
286
|
'inspector.section.shares': 'Paylaşımlar',
|
|
@@ -263,11 +289,14 @@ export const tr: Record<string, string> = {
|
|
|
263
289
|
'inspector.modified': 'Değiştirilme',
|
|
264
290
|
'inspector.mime': 'MIME türü',
|
|
265
291
|
'inspector.etag': 'ETag',
|
|
292
|
+
'inspector.nodeId': 'Düğüm kimliği',
|
|
266
293
|
'inspector.copy': 'Kopyala',
|
|
267
294
|
'inspector.copied': 'Kopyalandı',
|
|
268
295
|
'inspector.error': 'Yüklenemedi',
|
|
269
296
|
'inspector.items_summary': '{n} öğe, toplam {size}',
|
|
297
|
+
'inspector.items_summary_one': '{n} öğe, toplam {size}',
|
|
270
298
|
'inspector.folder_items': '{n} öğe',
|
|
299
|
+
'inspector.folder_items_one': '{n} öğe',
|
|
271
300
|
'inspector.versions.empty': 'Sürüm geçmişi yok',
|
|
272
301
|
'inspector.versions.v': 'Sürüm {n}',
|
|
273
302
|
'inspector.versions.restore': 'Geri yükle',
|
|
@@ -306,7 +335,18 @@ export const tr: Record<string, string> = {
|
|
|
306
335
|
'theme.name.contrast': 'Yüksek Kontrast',
|
|
307
336
|
'theme.name.gray': 'Yumuşak Gri',
|
|
308
337
|
'theme.name.terminal': 'Terminal Yeşili',
|
|
309
|
-
|
|
338
|
+
/* === zaman:z3 — saat dilimi seçici (gömme penceresi + web ayarları) === */
|
|
339
|
+
'tz.menu': 'Saat dilimi',
|
|
340
|
+
'tz.title': 'Saat dilimi',
|
|
341
|
+
'tz.label': 'Tarihleri şu saatle göster',
|
|
342
|
+
'tz.search': 'Şehir, ülke ya da saat farkı arayın — “İstanbul” veya “GMT+3” deneyin',
|
|
343
|
+
'tz.default.device': 'Bu cihazın saat dilimini kullan ({zone})',
|
|
344
|
+
'tz.default.account': 'Hesabın saat dilimini kullan ({zone})',
|
|
345
|
+
'tz.default.host': 'Bu sitenin varsayılanını kullan ({zone})',
|
|
346
|
+
'tz.no_match': '“{query}” ile eşleşen saat dilimi yok. Bir şehir, bir ülke ya da GMT+3 gibi bir fark deneyin.',
|
|
347
|
+
'tz.more': '{n} kayıt daha var — listeyi daraltmak için yazmayı sürdürün.',
|
|
348
|
+
'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.',
|
|
349
|
+
'tz.now': '{zone} bölgesinde şu an: {time}',
|
|
310
350
|
/* === wiring:c2 — özelleştirilebilir kısayollar + hızlı bakış === */
|
|
311
351
|
'shortcuts.quicklook': 'Hızlı bakış',
|
|
312
352
|
'shortcuts.customize': 'Özelleştir',
|
|
@@ -331,6 +371,7 @@ export const tr: Record<string, string> = {
|
|
|
331
371
|
/* === wiring:c3 — işlem merkezi === */
|
|
332
372
|
'opc.title': 'İşlemler',
|
|
333
373
|
'opc.aria_badge': '{n} işlem — işlem merkezini aç/kapat',
|
|
374
|
+
'opc.aria_badge_one': '{n} işlem — işlem merkezini aç/kapat',
|
|
334
375
|
'opc.close': 'Kapat',
|
|
335
376
|
'opc.active': 'Sürüyor',
|
|
336
377
|
'opc.history': 'Geçmiş',
|
|
@@ -359,24 +400,34 @@ export const tr: Record<string, string> = {
|
|
|
359
400
|
'tour.next': 'İleri',
|
|
360
401
|
'tour.done': 'Bitti',
|
|
361
402
|
'tour.progress': '{n} / {m}',
|
|
362
|
-
'tour.step.nav.title': '
|
|
403
|
+
'tour.step.nav.title': 'Depolar ve görünümler',
|
|
363
404
|
'tour.step.nav.desc':
|
|
364
|
-
'
|
|
365
|
-
'tour.step.
|
|
366
|
-
|
|
367
|
-
|
|
405
|
+
'Ana sayfa, Benimle paylaşılanlar, Son kullanılanlar, Yıldızlılar ve Çöp Kutusu hep bu panelde durur; altında da depoların ve bağlantıların. Sol üst köşedeki düğme paneli ince bir şeride indirir ve geri açar.',
|
|
406
|
+
'tour.step.nav.desc_closed':
|
|
407
|
+
'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 ve bağlantıların.',
|
|
408
|
+
'tour.step.new.title': 'Yeni bir şey ekle',
|
|
409
|
+
'tour.step.new.desc':
|
|
410
|
+
'Yeni olan her şey buradan başlar: bu cihazdan dosya yükleyebilir, klasör oluşturabilir ya da birinden dosya isteyebilirsin. Dosyaları pencereye sürükleyip bırakmak da yükler.',
|
|
411
|
+
'tour.step.new.desc_fab':
|
|
412
|
+
'Bu düğme bu cihazdan dosya yükler. Dosyaları pencereye sürükleyip bırakmak da çalışır.',
|
|
368
413
|
'tour.step.search.title': 'Arama',
|
|
369
414
|
'tour.step.search.desc':
|
|
370
|
-
'Bu
|
|
415
|
+
'Bu alan deponun tamamında ada göre arar; ayraçları ve bir harflik yazım hatasını affeder, yani "fatura 2026" yazdığında fatura_2026.pdf gelir. tag:fatura yazarak etikete göre süzebilirsin. Yanındaki sürgü düğmesi gelişmiş aramayı, {palette} ise komut paletini açar; palet komut da çalıştırır.',
|
|
416
|
+
'tour.step.crumb.title': 'Bulunduğun yer',
|
|
417
|
+
'tour.step.crumb.desc':
|
|
418
|
+
'Bu iz, ekrandaki klasörün adresidir. Adımlardan birine tıklayarak üste çıkabilir, sonuncusunun yanındaki oktan içindeki klasörleri görebilirsin.',
|
|
419
|
+
'tour.step.filters.title': 'Listeyi daralt',
|
|
420
|
+
'tour.step.filters.desc':
|
|
421
|
+
'Tür, Kişiler, Değiştirilme ve Boyut bulunduğun klasörü süzer; yanındaki kutu yazdıkça adlara göre eşleşir, satırın sonundaki denetim ise sıralar.',
|
|
371
422
|
'tour.step.view.title': 'Görünümü değiştir',
|
|
372
423
|
'tour.step.view.desc':
|
|
373
|
-
'
|
|
374
|
-
'tour.step.
|
|
375
|
-
'tour.step.
|
|
376
|
-
'Bir dosyaya sağ
|
|
424
|
+
'Bu klasörün nasıl çizildiğini değiştirir; seçimin hatırlanır.',
|
|
425
|
+
'tour.step.details.title': 'Ayrıntılar ve paylaşım',
|
|
426
|
+
'tour.step.details.desc':
|
|
427
|
+
'Bir dosyayı seçip bu paneli açtığında ayrıntılarını, hareketlerini ve paylaşım bağlantılarını görürsün. Tam menü için dosyaya sağ tıkla ya da satırının sonundaki düğmeyi kullan: oradaki "Paylaş / İzinler" ile PIN ve son kullanma süresi verilebilen bir bağlantı oluşturulur.',
|
|
377
428
|
'tour.step.help.title': 'Kısayollar',
|
|
378
429
|
'tour.step.help.desc':
|
|
379
|
-
'{help} tuşu kısayol kartını, {palette} komut paletini açar.
|
|
430
|
+
'{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 ve çıkış ise yanındaki avatarın arkasında.',
|
|
380
431
|
'error.hint': 'Bağlantı ya da sunucu kaynaklı geçici bir sorun olabilir. Yeniden deneyin.',
|
|
381
432
|
'error.details': 'Teknik ayrıntılar',
|
|
382
433
|
'col.star': 'Yıldız',
|
|
@@ -422,6 +473,7 @@ export const tr: Record<string, string> = {
|
|
|
422
473
|
'split.retry': 'Yeniden dene',
|
|
423
474
|
'split.copy_queued': 'Kopyalama kuyruğa alındı',
|
|
424
475
|
'split.move_queued': 'Taşıma kuyruğa alındı',
|
|
476
|
+
'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.',
|
|
425
477
|
'split.cross_copy': 'Depolar farklı — kopyalama kuyruğa alındı',
|
|
426
478
|
'dragout.downloading': 'Bırakılan klasöre indiriliyor…',
|
|
427
479
|
'dragout.not_found': 'Bırakılan yer bulunamadı — dosya bir klasöre değil bir uygulamaya bırakıldıysa indirme yapılamaz',
|
|
@@ -443,8 +495,9 @@ export const tr: Record<string, string> = {
|
|
|
443
495
|
/* wiring:e2 — uçtan uca şifreli klasörler */
|
|
444
496
|
'e2e.create.title': 'Şifreli klasör oluştur',
|
|
445
497
|
'e2e.create.option': 'Şifreli klasör oluştur…',
|
|
446
|
-
'e2e.create.
|
|
447
|
-
'e2e.create.
|
|
498
|
+
'e2e.create.pw_label': 'Klasör parolası',
|
|
499
|
+
'e2e.create.pw_placeholder': 'En az 8 karakter',
|
|
500
|
+
'e2e.create.pw2_label': 'Parolayı tekrar girin',
|
|
448
501
|
'e2e.create.warn_title': 'GERİ DÖNÜŞÜ YOK',
|
|
449
502
|
'e2e.create.warn_body':
|
|
450
503
|
'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.',
|
|
@@ -465,6 +518,10 @@ export const tr: Record<string, string> = {
|
|
|
465
518
|
'e2e.locked.busy': 'Doğrulanıyor…',
|
|
466
519
|
'e2e.unlock.wrong': 'Parola yanlış.',
|
|
467
520
|
'e2e.unlock.marker_missing': 'Şifre dosyası (.filex-e2e.json) okunamadı.',
|
|
521
|
+
/* ikon:emoji — listedeki işaretin erişilebilir adı. Satır eskiden yalnız
|
|
522
|
+
bir 🔒 basıyordu; onun yerini alan asma kilit kutunun içinde
|
|
523
|
+
aria-hidden, dolayısıyla adı taşıyan yer bu. */
|
|
524
|
+
'e2e.badge': 'Şifreli klasör',
|
|
468
525
|
'e2e.strip.label': 'Şifreli klasör — kilit açık',
|
|
469
526
|
'e2e.strip.lock': 'Kilitle',
|
|
470
527
|
'e2e.locked_toast': 'Klasör kilitlendi',
|
|
@@ -576,6 +633,7 @@ export const tr: Record<string, string> = {
|
|
|
576
633
|
'conn.denied.guideHint': 'Zaten görebildiğiniz depolara kendi bilgisayarınızdan bağlanmak için yönetici yetkisi gerekmez.',
|
|
577
634
|
'conn.denied.guideCta': 'Nasıl bağlanacağımı göster',
|
|
578
635
|
'conn.list.count': '{n} depo',
|
|
636
|
+
'conn.list.count_one': '{n} depo',
|
|
579
637
|
'conn.list.add': 'Depo ekle',
|
|
580
638
|
'conn.list.empty': 'Henüz yapılandırılmış depo yok. Bir tane ekleyin, dosyalar dosya yöneticisinde görünsün.',
|
|
581
639
|
'conn.list.edit': 'Düzenle',
|
|
@@ -595,6 +653,7 @@ export const tr: Record<string, string> = {
|
|
|
595
653
|
'conn.form.test': 'Bağlantıyı sına',
|
|
596
654
|
'conn.form.testing': 'Sınanıyor…',
|
|
597
655
|
'conn.form.testOk': 'Bağlandı. Kökte {count} öğe var.',
|
|
656
|
+
'conn.form.testOk_one': 'Bağlandı. Kökte {count} öğe var.',
|
|
598
657
|
'conn.form.testFail': 'Bağlanılamadı: {error}',
|
|
599
658
|
'conn.form.save': 'Kaydet',
|
|
600
659
|
'conn.form.saving': 'Kaydediliyor…',
|
|
@@ -972,6 +1031,8 @@ export const tr: Record<string, string> = {
|
|
|
972
1031
|
'sidenav.title': 'Gezinti',
|
|
973
1032
|
'sidenav.views': 'Görünümler',
|
|
974
1033
|
'sidenav.storages': 'Depolar',
|
|
1034
|
+
'sidenav.home': 'Ana sayfa',
|
|
1035
|
+
'sidenav.myfiles': 'Dosyalarım',
|
|
975
1036
|
'sidenav.recent': 'Son kullanılanlar',
|
|
976
1037
|
'sidenav.starred': 'Yıldızlılar',
|
|
977
1038
|
'sidenav.shared': 'Benimle paylaşılanlar',
|
|
@@ -979,8 +1040,20 @@ export const tr: Record<string, string> = {
|
|
|
979
1040
|
'sidenav.collapse': 'Gezintiyi daralt',
|
|
980
1041
|
'sidenav.expand': 'Gezintiyi genişlet',
|
|
981
1042
|
'sidenav.close': 'Gezintiyi kapat',
|
|
1043
|
+
// ⚠ aç/kapat çifti ÇEKMECENİN, daralt/genişlet çifti yerleşik PANELİN —
|
|
1044
|
+
// ikisi birbirinin yerine kullanılamaz; bkz. en.ts'teki not ve Toolbar.vue
|
|
1045
|
+
// içindeki `navToggleLabel`. 560px altında panel listenin üzerine gelen bir
|
|
1046
|
+
// çekmecedir: raya inmez, hiç ekranda değildir; "genişlet" olmayan bir
|
|
1047
|
+
// genişliği büyütmeyi vaat ederdi.
|
|
1048
|
+
'sidenav.open': 'Gezintiyi aç',
|
|
982
1049
|
'sidenav.storage.shared': 'Paylaşılan',
|
|
983
|
-
|
|
1050
|
+
// ⚠ `toolbar.nav` KALDIRILDI, yerine bir şey konmadı — bkz. en.ts'teki not.
|
|
1051
|
+
// Paneli daraltan tek denetimin etiketiydi; önce "Gezinti" (panelin adı,
|
|
1052
|
+
// düğmenin ne yaptığını söylemiyor), sonra "Gezintiyi göster/gizle" (sabit
|
|
1053
|
+
// geçici çözüm). Gerçek düzeltme yukarıdaki dört `sidenav.*` fiili:
|
|
1054
|
+
// etiket `navOpen`'a bağlı, daraltacaksa "daralt", genişletecekse
|
|
1055
|
+
// "genişlet" yazıyor.
|
|
1056
|
+
'node.home': 'Ana sayfa',
|
|
984
1057
|
'node.recent': 'Son kullanılanlar',
|
|
985
1058
|
'node.starred': 'Yıldızlılar',
|
|
986
1059
|
'node.shared': 'Benimle paylaşılanlar',
|
|
@@ -1006,20 +1079,61 @@ export const tr: Record<string, string> = {
|
|
|
1006
1079
|
'conn.tokens.rootPlaceholder': 'depo://klasör',
|
|
1007
1080
|
'conn.tokens.expiry': 'Geçerlilik (gün)',
|
|
1008
1081
|
'conn.tokens.expiryNever': 'süresiz',
|
|
1082
|
+
'conn.tokens.defaultName': 'API anahtarı {date}',
|
|
1083
|
+
'conn.tokens.namePlaceholder': 'Ad — ör. yedekleme betiği',
|
|
1009
1084
|
'conn.tokens.capNote': 'Tavan hesabın ve yetkilerin — sahip olduğundan fazlasını istemek reddedilir, verilmez.',
|
|
1010
1085
|
/* === /gezinti:g1 === */
|
|
1011
1086
|
|
|
1012
|
-
/* === surucu:d1 —
|
|
1087
|
+
/* === surucu:d1 — kabuk (GitHub #14); artık `uiProfile: 'drive'` ile
|
|
1088
|
+
gelen bir seçenek değil, her profilde çizilir === */
|
|
1013
1089
|
'drive.new': 'Yeni',
|
|
1014
1090
|
'drive.new.upload': 'Dosya yükle',
|
|
1015
1091
|
'drive.new.folder': 'Yeni klasör',
|
|
1016
1092
|
'drive.new.request': 'Dosya iste',
|
|
1093
|
+
'drive.new.document': 'Yeni belge',
|
|
1094
|
+
|
|
1095
|
+
/* === belge:n1 — "Yeni belge": + Yeni altındaki seçici ==================
|
|
1096
|
+
Tür adları BURADA durmuyor. Her kutucuk sözcüklerini lib/fileIcons
|
|
1097
|
+
`typeLabelFor`den okur — listedeki Tür sütununun okuduğu tablonun
|
|
1098
|
+
aynısı — böylece ".docx" iki yerde de aynı adla anılır ve yeni bir tür
|
|
1099
|
+
için hiç dizge gerekmez. Aşağıda yalnız bu pencerenin kendi metni var. */
|
|
1100
|
+
'newdoc.title': 'Yeni belge',
|
|
1101
|
+
'newdoc.type.label': 'Belge türü',
|
|
1102
|
+
'newdoc.group.document': 'Belgeler',
|
|
1103
|
+
'newdoc.group.text': 'Metin ve kod',
|
|
1104
|
+
'newdoc.group.diagram': 'Çizimler',
|
|
1105
|
+
'newdoc.withheld.onlyoffice': 'Ofis belgeleri için bir belge sunucusu (OnlyOffice) gerekir; burada tanımlı değil.',
|
|
1106
|
+
'newdoc.withheld.drawio': 'Çizimler için drawio servisi gerekir; burada tanımlı değil.',
|
|
1107
|
+
'newdoc.empty.title': 'Kullanılabilir belge türü yok',
|
|
1108
|
+
'newdoc.empty.body': 'Bu sunucu, bu uygulamanın oluşturabileceği bir tür sunmadı.',
|
|
1109
|
+
'newdoc.empty.blocked': 'Bu sunucunun oluşturabildiği her tür, burada tanımlı olmayan bir düzenleyici servisine bağlı.',
|
|
1110
|
+
'newdoc.name': 'Ad',
|
|
1111
|
+
'newdoc.name.placeholder': 'Belge adı',
|
|
1112
|
+
'newdoc.untitled': 'Adsız',
|
|
1113
|
+
'newdoc.err.slash': 'Ad eğik çizgi içeremez.',
|
|
1114
|
+
'newdoc.err.exists': '{name} burada zaten var. Başka bir ad seçin.',
|
|
1115
|
+
'newdoc.location': 'Konum',
|
|
1116
|
+
'newdoc.location.none': 'Bir klasör seçin',
|
|
1117
|
+
'newdoc.location.change': 'Değiştir',
|
|
1118
|
+
'newdoc.location.noaccess': 'Bu klasöre kaydedemezsiniz.',
|
|
1119
|
+
'newdoc.create': 'Oluştur',
|
|
1120
|
+
'newdoc.creating': 'Oluşturuluyor…',
|
|
1121
|
+
'newdoc.cancel': 'Vazgeç',
|
|
1017
1122
|
'drive.search.placeholder': '{scope} içinde ara',
|
|
1018
1123
|
'drive.search.placeholder_all': 'Dosyalarında ara',
|
|
1019
1124
|
'drive.search.hint_title': 'Her yerde ara ve komut çalıştır ({combo})',
|
|
1020
1125
|
'drive.storage.used': '{total} alanın {used} kadarı dolu',
|
|
1021
1126
|
'drive.storage.used_unlimited': '{used} kullanılıyor',
|
|
1022
1127
|
'drive.storage.label': 'Depolama',
|
|
1128
|
+
/* === gorunum:v3-shell — Ana sayfa görünümü (kabuğun içindeki genel bakış)
|
|
1129
|
+
* Bölüm başlıkları `sidenav.storages` / `sidenav.recent` / `sidenav.starred`,
|
|
1130
|
+
* boş durumlar da `empty.recent.*` / `empty.starred.*` — bilerek: Ana
|
|
1131
|
+
* sayfadaki "Son kullanılanlar" başlığı ile yanındaki panel satırı aynı
|
|
1132
|
+
* şeydir, ikisine ayrı metin yazmak onları çeviri çeviri birbirinden
|
|
1133
|
+
* ayırmanın yoludur. Aşağıda yalnızca başka hiçbir yerde olmayanlar var. */
|
|
1134
|
+
'home.title': 'Ana sayfa',
|
|
1135
|
+
'home.storages.empty': 'Henüz depo yok',
|
|
1136
|
+
'home.storages.hint': 'Depo, filex’in okuyup yazdığı sürücüdür — depoları yönetici ekler.',
|
|
1023
1137
|
'drive.section.folders': 'Klasörler',
|
|
1024
1138
|
'drive.section.files': 'Dosyalar',
|
|
1025
1139
|
'filter.aria': 'Süzgeçler',
|
|
@@ -1047,10 +1161,16 @@ export const tr: Record<string, string> = {
|
|
|
1047
1161
|
'filter.size.1to10': '1 - 10 MB',
|
|
1048
1162
|
'filter.size.10to100': '10 - 100 MB',
|
|
1049
1163
|
'filter.size.gt100': '100 MB üstü',
|
|
1164
|
+
/* surucu:d1-actions — filtre satırının sonundaki ⋮ menüsü. Yalnızca menünün
|
|
1165
|
+
KENDİ adı yeni: içindeki her satır o eylemin zaten sahip olduğu metni
|
|
1166
|
+
kullanır (`toolbar.new_folder`, `toolbar.upload`, `ctx.paste`,
|
|
1167
|
+
`shortcuts.select_all`, `selection.clear`) — bir komutu yeniden adlandıran
|
|
1168
|
+
menü, okuyucuya aynı şeyi iki kez öğretir. */
|
|
1169
|
+
'filter.actions': 'Liste işlemleri',
|
|
1050
1170
|
'filter.clear': 'Süzgeçleri temizle',
|
|
1051
1171
|
'filter.empty.title': 'Bu süzgeçlere uyan bir şey yok',
|
|
1052
1172
|
'filter.empty.hint': 'Bir süzgeci kaldır ya da yukarıdaki alandan her yerde ara.',
|
|
1053
|
-
'filter.count': '{total}
|
|
1173
|
+
'filter.count': '{total} öğeden {shown} tanesi',
|
|
1054
1174
|
'inspector.tab.details': 'Ayrıntılar',
|
|
1055
1175
|
'inspector.tab.activity': 'Etkinlik',
|
|
1056
1176
|
'inspector.people': 'Erişimi olan kişiler',
|
|
@@ -1062,7 +1182,7 @@ export const tr: Record<string, string> = {
|
|
|
1062
1182
|
'inspector.link.none': 'Paylaşılmadı',
|
|
1063
1183
|
'inspector.link.create': 'Bağlantı oluştur',
|
|
1064
1184
|
'inspector.link.copy': 'Bağlantıyı kopyala',
|
|
1065
|
-
'inspector.activity.empty': 'Bu
|
|
1185
|
+
'inspector.activity.empty': 'Bu öğe için henüz etkinlik kaydı yok.',
|
|
1066
1186
|
'inspector.activity.hint': 'Sürümler dosya değiştikçe, yorumlar ise insanlar yazdıkça birikir.',
|
|
1067
1187
|
'inspector.activity.version': '{n}. sürüm kaydedildi',
|
|
1068
1188
|
'inspector.activity.comment': '{who} yorum yaptı',
|
|
@@ -1081,4 +1201,267 @@ export const tr: Record<string, string> = {
|
|
|
1081
1201
|
'convert.unsupported_input': 'Bu dosya tipi için kaynak format bulunamadı.',
|
|
1082
1202
|
'convert.converting': 'Dönüştürülüyor…',
|
|
1083
1203
|
'convert.convert': 'Dönüştür',
|
|
1204
|
+
/* === gorunum:v1-chrome — filtre satırındaki ad kutusu === */
|
|
1205
|
+
'filter.find': 'Bu klasörde filtrele…',
|
|
1206
|
+
/* surucu:d1-scope — satırların bir klasörün içeriği olmadığı yerlerde aynı
|
|
1207
|
+
kutu. Neyi daralttığını söylemek zorunda: depo listesinde "bu klasör" hiçbir
|
|
1208
|
+
şeyi adlandırmaz, Ana sayfada ise üç bloğu birden adlandırırdı. */
|
|
1209
|
+
'filter.find.storages': 'Depolarda filtrele…',
|
|
1210
|
+
'filter.find.home': 'Ana sayfada filtrele…',
|
|
1211
|
+
/* === gorunum:v1-viewer — tam ekran görüntüleyicinin kendi çerçevesi === */
|
|
1212
|
+
'viewer.share': 'Paylaş',
|
|
1213
|
+
'viewer.nav_prev': 'Önceki dosya',
|
|
1214
|
+
'viewer.nav_next': 'Sonraki dosya',
|
|
1215
|
+
/* Üst çubuğun künye satırındaki sayaç: "246,3 KB • 9 Eyl 2026 • 1 / 9". */
|
|
1216
|
+
'viewer.counter': '{i} / {n}',
|
|
1217
|
+
'viewer.zoom_reset': 'Yakınlaştırmayı sıfırla',
|
|
1218
|
+
'viewer.fullscreen': 'Tam ekran',
|
|
1219
|
+
'viewer.exit_fullscreen': 'Tam ekrandan çık',
|
|
1220
|
+
'viewer.md_placeholder': '# Markdown buraya…',
|
|
1221
|
+
/* === gorunum:v1-selbar — filtre satırının yerini alan seçim çubuğu === */
|
|
1222
|
+
'selection.count': '{n} seçildi',
|
|
1223
|
+
'selection.clear': 'Seçimi temizle',
|
|
1224
|
+
/* === gorunum:v1-preview — türün adı, kelimeyle =======================
|
|
1225
|
+
Tür sütunu eskiden uzantıyı büyük harfle yazıyordu; artık bunları
|
|
1226
|
+
yazıyor. Hangisinin seçileceğine `lib/fileIcons.ts` karar verir
|
|
1227
|
+
(`typeLabelKey`) — bir türü adlandıran yalnız iki yer var: o tablo ve bu
|
|
1228
|
+
liste. Eşleşmeyen her şey yine büyük harfli uzantıya düşer. `Klasör`
|
|
1229
|
+
burada DEĞİL: o `node.folder`, grid kartının alt yazısı zaten onu basar. */
|
|
1230
|
+
'ftype.typescript': 'TypeScript',
|
|
1231
|
+
'ftype.javascript': 'JavaScript',
|
|
1232
|
+
'ftype.vue': 'Vue bileşeni',
|
|
1233
|
+
'ftype.python': 'Python',
|
|
1234
|
+
'ftype.go': 'Go',
|
|
1235
|
+
'ftype.rust': 'Rust',
|
|
1236
|
+
'ftype.php': 'PHP',
|
|
1237
|
+
'ftype.ruby': 'Ruby',
|
|
1238
|
+
'ftype.java': 'Java',
|
|
1239
|
+
'ftype.kotlin': 'Kotlin',
|
|
1240
|
+
'ftype.swift': 'Swift',
|
|
1241
|
+
'ftype.c': 'C kaynağı',
|
|
1242
|
+
'ftype.cpp': 'C++ kaynağı',
|
|
1243
|
+
'ftype.csharp': 'C# kaynağı',
|
|
1244
|
+
'ftype.stylesheet': 'Stil dosyası',
|
|
1245
|
+
'ftype.html': 'HTML belgesi',
|
|
1246
|
+
'ftype.json': 'JSON verisi',
|
|
1247
|
+
'ftype.yaml': 'YAML',
|
|
1248
|
+
'ftype.xml': 'XML',
|
|
1249
|
+
'ftype.toml': 'TOML',
|
|
1250
|
+
'ftype.sql': 'SQL',
|
|
1251
|
+
'ftype.shell': 'Kabuk betiği',
|
|
1252
|
+
'ftype.powershell': 'PowerShell betiği',
|
|
1253
|
+
'ftype.markdown': 'Markdown',
|
|
1254
|
+
'ftype.plaintext': 'Düz metin',
|
|
1255
|
+
'ftype.log': 'Günlük dosyası',
|
|
1256
|
+
'ftype.config': 'Ayar dosyası',
|
|
1257
|
+
'ftype.sheet': 'Hesap tablosu',
|
|
1258
|
+
'ftype.figma': 'Figma tasarımı',
|
|
1259
|
+
'ftype.design': 'Tasarım dosyası',
|
|
1260
|
+
'ftype.image': 'Görsel',
|
|
1261
|
+
'ftype.video': 'Video',
|
|
1262
|
+
'ftype.audio': 'Ses',
|
|
1263
|
+
'ftype.pdf': 'PDF belgesi',
|
|
1264
|
+
'ftype.document': 'Belge',
|
|
1265
|
+
'ftype.slides': 'Sunum',
|
|
1266
|
+
'ftype.archive': 'Arşiv',
|
|
1267
|
+
'ftype.code': 'Kod',
|
|
1268
|
+
/* === gorunum:v1-advsearch — Gelişmiş arama penceresi ===================
|
|
1269
|
+
* İki `filter.*` anahtarı kardeşlerinin yanında değil burada: paylaşılan
|
|
1270
|
+
* birleşimlere pencerenin eklediği yeni üyeler (`modified: 'around'`,
|
|
1271
|
+
* `size: 'range'`). Filtre satırı bunları hiç seçmez ama biri oraya
|
|
1272
|
+
* ulaşırsa `chipLabel` ham anahtarı yazardı. */
|
|
1273
|
+
'filter.modified.around': 'Bir tarihin çevresinde',
|
|
1274
|
+
'filter.size.range': 'Özel aralık',
|
|
1275
|
+
|
|
1276
|
+
'advsearch.open': 'Gelişmiş arama',
|
|
1277
|
+
'advsearch.title': 'Gelişmiş arama',
|
|
1278
|
+
'advsearch.subtitle': 'Dosyaları ada, içeriğe, yola ya da etikete göre bulun.',
|
|
1279
|
+
'advsearch.close': 'Kapat',
|
|
1280
|
+
'advsearch.content.heading': 'İçerik araması',
|
|
1281
|
+
'advsearch.viewall': 'Tüm sonuçları gör',
|
|
1282
|
+
'advsearch.where.any_short': 'Her yerde',
|
|
1283
|
+
'advsearch.where.here_short': 'Yalnız burada',
|
|
1284
|
+
'advsearch.where.skip_short': 'Burayı atla',
|
|
1285
|
+
'advsearch.server.legend': 'Sunucunun aradığı',
|
|
1286
|
+
'advsearch.client.legend': 'Gelen sonuçları daralt',
|
|
1287
|
+
'advsearch.query.label': 'Kelimeler',
|
|
1288
|
+
'advsearch.query.placeholder': 'Adın bir parçası ya da dosyanın içindeki kelimeler',
|
|
1289
|
+
'advsearch.scope.label': 'Nerede arasın',
|
|
1290
|
+
'advsearch.scope.name': 'Ad ve yol',
|
|
1291
|
+
'advsearch.scope.content': 'Dosya içeriği',
|
|
1292
|
+
'advsearch.scope.all': 'İkisi de',
|
|
1293
|
+
'advsearch.scope.hint':
|
|
1294
|
+
'İçerik, dizinden aranır; dizin metin türü dosyaların ilk 200 KB’ını kapsar.',
|
|
1295
|
+
'advsearch.people.name_only':
|
|
1296
|
+
'Sahip, gelen satırlardan okunur; sahip bilgisi taşıyan satırları da yalnız ad araması döndürür.',
|
|
1297
|
+
'advsearch.scope.name_only':
|
|
1298
|
+
'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.',
|
|
1299
|
+
'advsearch.tags.label': 'Etiketler',
|
|
1300
|
+
'advsearch.tags.placeholder': 'fatura, üç aylık rapor',
|
|
1301
|
+
'advsearch.tags.exclude': 'Şu etiketler hariç',
|
|
1302
|
+
'advsearch.tags.exclude_placeholder': 'arşiv',
|
|
1303
|
+
'advsearch.tags.hint':
|
|
1304
|
+
'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.',
|
|
1305
|
+
'advsearch.where.label': 'Klasör',
|
|
1306
|
+
'advsearch.where.any': 'Bu deponun her yerinde',
|
|
1307
|
+
'advsearch.where.here': 'Yalnız {folder} içinde',
|
|
1308
|
+
'advsearch.where.skip': '{folder} dışındaki her yerde',
|
|
1309
|
+
'advsearch.around.label': 'Şu kadar içinde',
|
|
1310
|
+
'advsearch.around.date': 'Tarih ve saat',
|
|
1311
|
+
'advsearch.around.h1': '1 saat',
|
|
1312
|
+
'advsearch.around.d1': '1 gün',
|
|
1313
|
+
'advsearch.around.w1': '1 hafta',
|
|
1314
|
+
'advsearch.size.range_label': 'Şunun arasında',
|
|
1315
|
+
'advsearch.size.from': 'En az',
|
|
1316
|
+
'advsearch.size.to': 'En çok',
|
|
1317
|
+
'advsearch.count.idle': 'Bir şeyler yazın ya da etiket seçin.',
|
|
1318
|
+
'advsearch.count.counting': 'Sayılıyor…',
|
|
1319
|
+
'advsearch.count.result': '{n} eşleşen öğe',
|
|
1320
|
+
'advsearch.count.capped': 'Sonuçların ilk sayfasında {n} eşleşen öğe',
|
|
1321
|
+
'advsearch.count.result_one': '1 eşleşen öğe',
|
|
1322
|
+
'advsearch.count.capped_one': 'Sonuçların ilk sayfasında 1 eşleşen öğe',
|
|
1323
|
+
'advsearch.count.error': 'Sayım çalıştırılamadı.',
|
|
1324
|
+
'advsearch.count.cost':
|
|
1325
|
+
'Sayım bu aramayı çalıştırır. Tür, sahip, tarih, boyut ve klasör sunucuda değil, gelen satırlar üzerinde uygulanır.',
|
|
1326
|
+
'advsearch.wire': 'Gönderilen',
|
|
1327
|
+
'advsearch.reset': 'Sıfırla',
|
|
1328
|
+
'advsearch.cancel': 'Vazgeç',
|
|
1329
|
+
'advsearch.submit': 'Ara',
|
|
1330
|
+
|
|
1331
|
+
/* === gorunum:v2-topbar — sayfanın üst barı kalktı; onun taşıdıklarını
|
|
1332
|
+
artık gezginin kendi başlığı ve kırıntı satırı taşıyor. === */
|
|
1333
|
+
'breadcrumb.subfolders': 'Alt klasörler',
|
|
1334
|
+
'breadcrumb.subfolders.empty': 'Burada alt klasör yok',
|
|
1335
|
+
'header.admin': 'Yönetim paneli',
|
|
1336
|
+
'header.settings': 'Ayarlar',
|
|
1337
|
+
'header.signout': 'Çıkış yap',
|
|
1338
|
+
'ai.assistant': 'AI asistanı',
|
|
1339
|
+
'ai.soon': 'Yakında',
|
|
1340
|
+
'ai.assistant.soon': 'AI asistanı — yakında',
|
|
1341
|
+
|
|
1342
|
+
/* gorunum:v2-share — Paylaş / İzinler penceresinin kendi çerçevesi. İçindeki
|
|
1343
|
+
denetimler eski metinlerini koruyor; buradakiler yeni kabuk: başlık, tek
|
|
1344
|
+
anahtar, "şu anda kim açabilir" cümlesi ve her şeyin katlandığı üç adlı
|
|
1345
|
+
bölüm. */
|
|
1346
|
+
'access.title': '"{name}" paylaşımı',
|
|
1347
|
+
'access.close': 'Kapat',
|
|
1348
|
+
'access.done': 'Bitti',
|
|
1349
|
+
'access.copy': 'Kopyala',
|
|
1350
|
+
'access.copied': 'Kopyalandı',
|
|
1351
|
+
'access.link.switch': 'Bağlantı paylaşımı',
|
|
1352
|
+
'access.who.private': 'Yalnızca erişimi olan kişiler açabilir.',
|
|
1353
|
+
'access.who.link': 'Bağlantıyı bilen herkes açabilir.',
|
|
1354
|
+
'access.who.pin': "Bağlantıyı ve PIN'i bilen herkes açabilir.",
|
|
1355
|
+
'access.who.existing': 'Bağlantı paylaşımı açık — {n} bağlantı var.',
|
|
1356
|
+
'access.who.existing_one': 'Bağlantı paylaşımı açık — {n} bağlantı var.',
|
|
1357
|
+
'access.section.link': 'Bağlantı seçenekleri',
|
|
1358
|
+
'access.section.people': 'Erişimi olanlar',
|
|
1359
|
+
'access.section.drop': 'Dosya iste',
|
|
1360
|
+
'access.sum.pin_on': 'PIN var',
|
|
1361
|
+
'access.sum.pin_off': 'PIN yok',
|
|
1362
|
+
'access.sum.people': '{n} kişi',
|
|
1363
|
+
'access.sum.people_one': '{n} kişi',
|
|
1364
|
+
'access.sum.people_none': 'Henüz kimse yok',
|
|
1365
|
+
'access.sum.drop': '{n} yükleme bağlantısı',
|
|
1366
|
+
'access.sum.drop_one': '{n} yükleme bağlantısı',
|
|
1367
|
+
'access.sum.drop_none': 'Yükleme bağlantısı yok',
|
|
1368
|
+
/* Sahiplik — Sahibi sütunu ve Kişiler çipi. "Sistem", filex üzerinden kimsenin
|
|
1369
|
+
koymadığı satırın dürüst karşılığıdır (tarayıcı buldu ya da doğrudan kovaya
|
|
1370
|
+
yazıldı); boşluk değil, gerçek bir cevaptır. */
|
|
1371
|
+
'col.owner': 'Sahibi',
|
|
1372
|
+
'owner.you': 'Siz',
|
|
1373
|
+
'owner.system': 'Sistem',
|
|
1374
|
+
'owner.unknown': 'Bilinmiyor',
|
|
1375
|
+
'owner.external': 'Yükleme bağlantısıyla geldi',
|
|
1376
|
+
'owner.last_actor': 'Son değiştiren: {who}',
|
|
1377
|
+
'filter.people': 'Kişiler',
|
|
1378
|
+
'filter.people.any': 'Herkes',
|
|
1379
|
+
'filter.people.me': 'Siz',
|
|
1380
|
+
'filter.people.system': 'Sistem',
|
|
1381
|
+
'filter.people.someone': 'Başka biri',
|
|
1382
|
+
/* surucu:d1-sort — filtre satırının sağ ucundaki sıralama denetimi. Dört
|
|
1383
|
+
ölçütün adı `col.*`: menü, liste görünümünün sütun başlıklarındaki
|
|
1384
|
+
sözcüklerin aynısını sunar — tek bir sıralamayı süren iki denetim onu
|
|
1385
|
+
farklı adlarla anamaz. */
|
|
1386
|
+
'sort.by': 'Sıralama ölçütü',
|
|
1387
|
+
'sort.asc': 'Artan',
|
|
1388
|
+
'sort.desc': 'Azalan',
|
|
1389
|
+
/* Bir ARAMA SONUCUNUN sırası. Beşinci bir sıralama ölçütü değildir —
|
|
1390
|
+
ekrandaki satırları sunucu sıraladığında denetim, ölçüt adı yerine bunu
|
|
1391
|
+
yazar; böylece yapmadığı bir sıralamayı üstlenmez. `_why` denetimin neden
|
|
1392
|
+
kapalı olduğudur: Burak, denetimin sessizce işlevsizleşmesini değil
|
|
1393
|
+
nedeninin yazılmasını istedi. */
|
|
1394
|
+
'sort.relevance': 'Alaka',
|
|
1395
|
+
'sort.relevance_why':
|
|
1396
|
+
'Arama sonuçları eşleşme yakınlığına göre listelenir. Seçtiğiniz sıralama, aramadan çıkınca geri gelir.',
|
|
1397
|
+
/* === tablo:t1 — tablonun kendi yapılandırması ==========================
|
|
1398
|
+
Sütun genişlikleri ve görünürlüğü EKRANINIZA dair bir tercihtir; bir
|
|
1399
|
+
klasörün hangi görünümle açılacağı ise KLASÖRE dair bir olgudur. İkisi de
|
|
1400
|
+
buradan ayarlanır; `folder_hint` kuralı tek cümlede, tam da ona şaşıracak
|
|
1401
|
+
kişinin okuyabileceği yerde söyler. */
|
|
1402
|
+
'col.location': 'Konum',
|
|
1403
|
+
'cols.menu': 'Sütun seçenekleri',
|
|
1404
|
+
'cols.title': 'Sütunlar',
|
|
1405
|
+
'cols.resize': '{col} sütununu yeniden boyutlandır',
|
|
1406
|
+
'cols.move_left': '{col} sütununu sola taşı',
|
|
1407
|
+
'cols.move_right': '{col} sütununu sağa taşı',
|
|
1408
|
+
'cols.reset': 'Sütunları sıfırla',
|
|
1409
|
+
'cols.folder_title': 'Klasör görünümü',
|
|
1410
|
+
'cols.folder_hint':
|
|
1411
|
+
'Ayarladığınız klasörler kendi görünümünü korur. Son seçiminiz diğer her yerde varsayılan olur.',
|
|
1412
|
+
'cols.forget_folder': 'Bu klasörün görünümünü unut',
|
|
1413
|
+
'cols.apply_all': 'Tüm klasörlere uygula ({count} klasör hatırlanıyor)',
|
|
1414
|
+
/* === tablo:t1 — çöp kutusu bilgi şeridi ================================
|
|
1415
|
+
⚠ `retention` yalnızca kurulum bize sayıyı SÖYLEDİĞİNDE kullanılır
|
|
1416
|
+
(GET /api/admin/protection). Diğer her durumda `retention_unknown` aynı
|
|
1417
|
+
şeyi, doğrulayamadığımız bir süreyi taahhüt etmeden söyler: yanlış saklama
|
|
1418
|
+
süresi yazan bir şerit, hiç şerit olmamasından kötüdür — insanlar ona
|
|
1419
|
+
bakıp karar verir. */
|
|
1420
|
+
'trash.retention': 'Çöp kutusundaki öğeler {days} gün sonra kalıcı olarak silinir.',
|
|
1421
|
+
'trash.retention_one': 'Çöp kutusundaki öğeler {days} gün sonra kalıcı olarak silinir.',
|
|
1422
|
+
'trash.retention_unknown':
|
|
1423
|
+
'Çöp kutusundaki öğeler, yöneticinizin belirlediği saklama süresi dolunca kalıcı olarak silinir.',
|
|
1424
|
+
'trash.empty_action': 'Çöp kutusunu boşalt',
|
|
1425
|
+
'trash.empty_confirm_title': 'Çöp kutusu boşaltılsın mı?',
|
|
1426
|
+
'trash.empty_confirm_body_one': 'Bu işlem 1 öğeyi ({size}) kalıcı olarak siler. Geri alınamaz.',
|
|
1427
|
+
'trash.empty_confirm_body':
|
|
1428
|
+
'Bu işlem {count} öğeyi ({size}) kalıcı olarak siler. Geri alınamaz.',
|
|
1429
|
+
'trash.empty_confirm_body_nosize_one': 'Bu işlem 1 öğeyi kalıcı olarak siler. Geri alınamaz.',
|
|
1430
|
+
'trash.empty_confirm_body_nosize': 'Bu işlem {count} öğeyi kalıcı olarak siler. Geri alınamaz.',
|
|
1431
|
+
'trash.emptied': 'Çöp kutusu boşaltıldı',
|
|
1432
|
+
'empty.trash.hint': 'Sildiğiniz dosyalar önce buraya düşer, böylece geri alabilirsiniz.',
|
|
1433
|
+
|
|
1434
|
+
/* tasi:m1 — hedef klasör seçici (modals/DestinationPickerModal.vue) ve
|
|
1435
|
+
üzerine kurulan iki seçim eylemi. */
|
|
1436
|
+
'destpicker.title.move': 'Şuraya taşı',
|
|
1437
|
+
'destpicker.title.copy': 'Şuraya kopyala',
|
|
1438
|
+
'destpicker.title.choose': 'Klasör seç',
|
|
1439
|
+
'destpicker.confirm.move': 'Buraya taşı',
|
|
1440
|
+
'destpicker.confirm.copy': 'Buraya kopyala',
|
|
1441
|
+
'destpicker.confirm.choose': 'Bu klasörü seç',
|
|
1442
|
+
'destpicker.cancel': 'Vazgeç',
|
|
1443
|
+
'destpicker.up': 'Bir üst klasör',
|
|
1444
|
+
'destpicker.crumbs': 'Konum',
|
|
1445
|
+
'destpicker.drives': 'Sürücüler',
|
|
1446
|
+
'destpicker.loading': 'Yükleniyor…',
|
|
1447
|
+
'destpicker.empty': 'Burada alt klasör yok',
|
|
1448
|
+
'destpicker.unreadable': 'Bu klasör açılamıyor.',
|
|
1449
|
+
'destpicker.readonly': 'Salt okunur',
|
|
1450
|
+
'destpicker.readonly_here': 'Bu klasöre yazamazsınız.',
|
|
1451
|
+
'destpicker.pick_a_drive': 'Bir klasör seçmek için önce bir depo açın.',
|
|
1452
|
+
'destpicker.target': 'Hedef: {name}',
|
|
1453
|
+
'destpicker.tag.blocked': 'Uygun değil',
|
|
1454
|
+
'destpicker.blocked.self': 'Bir klasör kendi içine taşınamaz.',
|
|
1455
|
+
'destpicker.blocked.descendant': 'Bir klasör kendi alt klasörlerinden birine taşınamaz.',
|
|
1456
|
+
|
|
1457
|
+
'ctx.move_to': 'Şuraya taşı…',
|
|
1458
|
+
'ctx.copy_to': 'Şuraya kopyala…',
|
|
1459
|
+
'ctx.access.one_only': 'Paylaşım aynı anda tek öğe için çalışır.',
|
|
1460
|
+
|
|
1461
|
+
'toast.archive.preparing': 'Arşiv hazırlanıyor…',
|
|
1462
|
+
'toast.archive.started': '{name} indiriliyor ({count} dosya)',
|
|
1463
|
+
'toast.archive.started_one': '{name} indiriliyor ({count} dosya)',
|
|
1464
|
+
'toast.archive.empty': 'İndirilecek bir şey yok — seçimde okunabilir dosya bulunmuyor.',
|
|
1465
|
+
'toast.moved_to': '{name} klasörüne taşındı',
|
|
1466
|
+
'toast.copied_to': '{name} klasörüne kopyalama kuyruğa alındı',
|
|
1084
1467
|
};
|