@kernhq/module-quire 0.13.1 → 0.14.0

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.
Files changed (97) hide show
  1. package/dist/contract/models.d.ts +185 -0
  2. package/dist/contract/models.d.ts.map +1 -1
  3. package/dist/contract/models.js +133 -0
  4. package/dist/contract/models.js.map +1 -1
  5. package/dist/contract/permissions.d.ts +14 -0
  6. package/dist/contract/permissions.d.ts.map +1 -1
  7. package/dist/contract/permissions.js +82 -0
  8. package/dist/contract/permissions.js.map +1 -1
  9. package/dist/contract/properties.d.ts +4 -4
  10. package/dist/contract/router.d.ts +535 -8
  11. package/dist/contract/router.d.ts.map +1 -1
  12. package/dist/contract/router.js +133 -1
  13. package/dist/contract/router.js.map +1 -1
  14. package/dist/server/_impl.d.ts +519 -8
  15. package/dist/server/_impl.d.ts.map +1 -1
  16. package/dist/server/_impl.js +128 -0
  17. package/dist/server/_impl.js.map +1 -1
  18. package/dist/server/export/html.d.ts +67 -0
  19. package/dist/server/export/html.d.ts.map +1 -0
  20. package/dist/server/export/html.js +206 -0
  21. package/dist/server/export/html.js.map +1 -0
  22. package/dist/server/export/markdown.d.ts +51 -0
  23. package/dist/server/export/markdown.d.ts.map +1 -0
  24. package/dist/server/export/markdown.js +312 -0
  25. package/dist/server/export/markdown.js.map +1 -0
  26. package/dist/server/export/pdf.d.ts +20 -0
  27. package/dist/server/export/pdf.d.ts.map +1 -0
  28. package/dist/server/export/pdf.js +91 -0
  29. package/dist/server/export/pdf.js.map +1 -0
  30. package/dist/server/export/zip.d.ts +31 -0
  31. package/dist/server/export/zip.d.ts.map +1 -0
  32. package/dist/server/export/zip.js +158 -0
  33. package/dist/server/export/zip.js.map +1 -0
  34. package/dist/server/import/csv.d.ts +77 -0
  35. package/dist/server/import/csv.d.ts.map +1 -0
  36. package/dist/server/import/csv.js +263 -0
  37. package/dist/server/import/csv.js.map +1 -0
  38. package/dist/server/import/html.d.ts +52 -0
  39. package/dist/server/import/html.d.ts.map +1 -0
  40. package/dist/server/import/html.js +472 -0
  41. package/dist/server/import/html.js.map +1 -0
  42. package/dist/server/import/markdown.d.ts +63 -0
  43. package/dist/server/import/markdown.d.ts.map +1 -0
  44. package/dist/server/import/markdown.js +692 -0
  45. package/dist/server/import/markdown.js.map +1 -0
  46. package/dist/server/import/plan.d.ts +70 -0
  47. package/dist/server/import/plan.d.ts.map +1 -0
  48. package/dist/server/import/plan.js +761 -0
  49. package/dist/server/import/plan.js.map +1 -0
  50. package/dist/server/import/ydoc.d.ts +35 -0
  51. package/dist/server/import/ydoc.d.ts.map +1 -0
  52. package/dist/server/import/ydoc.js +91 -0
  53. package/dist/server/import/ydoc.js.map +1 -0
  54. package/dist/server/import/zip.d.ts +63 -0
  55. package/dist/server/import/zip.d.ts.map +1 -0
  56. package/dist/server/import/zip.js +308 -0
  57. package/dist/server/import/zip.js.map +1 -0
  58. package/dist/server/index.d.ts.map +1 -1
  59. package/dist/server/index.js +3 -1
  60. package/dist/server/index.js.map +1 -1
  61. package/dist/server/schema.d.ts +445 -1
  62. package/dist/server/schema.d.ts.map +1 -1
  63. package/dist/server/schema.js +146 -0
  64. package/dist/server/schema.js.map +1 -1
  65. package/dist/server/services/databases.d.ts +5 -5
  66. package/dist/server/services/export.d.ts +176 -0
  67. package/dist/server/services/export.d.ts.map +1 -0
  68. package/dist/server/services/export.js +822 -0
  69. package/dist/server/services/export.js.map +1 -0
  70. package/dist/server/services/import.d.ts +109 -0
  71. package/dist/server/services/import.d.ts.map +1 -0
  72. package/dist/server/services/import.js +570 -0
  73. package/dist/server/services/import.js.map +1 -0
  74. package/dist/server/services/index.d.ts +26 -1
  75. package/dist/server/services/index.d.ts.map +1 -1
  76. package/dist/server/services/index.js +60 -1
  77. package/dist/server/services/index.js.map +1 -1
  78. package/dist/server/services/versions.d.ts +1 -1
  79. package/migrations/0010_transfers.sql +154 -0
  80. package/migrations/meta/_journal.json +7 -0
  81. package/package.json +1 -1
  82. package/src/client/components/ExportDialog.svelte +685 -0
  83. package/src/client/components/ImportDialog.svelte +702 -0
  84. package/src/client/components/ImportReport.svelte +310 -0
  85. package/src/client/components/SidebarSpaces.svelte +79 -0
  86. package/src/client/i18n.ts +614 -0
  87. package/src/client/index.ts +32 -0
  88. package/src/client/mock.ts +318 -0
  89. package/src/client/module.ts +36 -0
  90. package/src/client/pages/PageView.svelte +36 -0
  91. package/src/client/pages/TransfersPage.svelte +570 -0
  92. package/src/client/permissions.ts +11 -0
  93. package/src/client/query.ts +23 -0
  94. package/src/client/transfers.ts +142 -0
  95. package/src/contract/models.ts +152 -0
  96. package/src/contract/permissions.ts +84 -0
  97. package/src/contract/router.ts +147 -0
@@ -525,6 +525,124 @@ export const en: Record<string, Message> = {
525
525
  'quire.public_chip': 'Public',
526
526
  'quire.public_chip_root': 'Anyone with the link can read this page and everything under it',
527
527
  'quire.public_chip_child': 'This page is part of a published site anyone can read',
528
+
529
+ // --- getting work out ---
530
+ 'quire.export_title': 'Export',
531
+ 'quire.export_menu': 'Export',
532
+ 'quire.export_space_menu': 'Export this space',
533
+ 'quire.export_scope': 'What to export',
534
+ 'quire.export_scope_page': 'This page',
535
+ 'quire.export_scope_page_desc': 'Only “{title}”, on its own.',
536
+ 'quire.export_scope_subtree': 'This page and everything under it',
537
+ 'quire.export_scope_subtree_desc': 'The page, and every page nested below it.',
538
+ 'quire.export_scope_space': 'The whole space',
539
+ 'quire.export_scope_space_desc': 'Every page in this space.',
540
+ 'quire.export_count': {
541
+ one: '{n} page',
542
+ other: '{n} pages',
543
+ },
544
+ 'quire.export_format': 'Format',
545
+ 'quire.export_format_markdown': 'Markdown',
546
+ 'quire.export_format_markdown_desc':
547
+ 'A folder of .md files, one for each page, with its pictures beside it. Zipped.',
548
+ 'quire.export_format_html': 'HTML',
549
+ 'quire.export_format_html_desc': 'A folder of .html files that open in any browser. Zipped.',
550
+ 'quire.export_format_pdf': 'PDF',
551
+ 'quire.export_format_pdf_desc': 'One document, with a page break between pages.',
552
+ 'quire.export_format_docx': 'Word',
553
+ 'quire.export_no_docx': 'Word documents are not available yet. Word opens both HTML and PDF.',
554
+ 'quire.export_only_readable':
555
+ 'An export holds only the pages you can read. The rest are counted and left out.',
556
+ 'quire.export_start': 'Export',
557
+ 'quire.export_of': '{scope} · {name} · {format}',
558
+ 'quire.export_of_unnamed': '{scope} · {format}',
559
+ 'quire.export_counting': 'Working out what goes in…',
560
+ 'quire.export_progress': '{done} of {total} pages',
561
+ 'quire.export_empty': 'Nothing went into this file: every page in it was one you cannot read.',
562
+ 'quire.export_skipped': {
563
+ one: '{n} page was left out, because you cannot read it.',
564
+ other: '{n} pages were left out, because you cannot read them.',
565
+ },
566
+ 'quire.export_kept': 'A finished export is kept for seven days, then deleted.',
567
+ 'quire.export_started': 'Started {when}',
568
+ 'quire.export_download': 'Download',
569
+ 'quire.export_no_link': 'The file could not be reached. Storage may not be set up on this instance.',
570
+ 'quire.export_new': 'New export',
571
+
572
+ // --- getting work in ---
573
+ 'quire.import_title': 'Import',
574
+ 'quire.import_menu': 'Import into this space',
575
+ 'quire.import_source': 'Where it comes from',
576
+ 'quire.import_source_notion': 'Notion',
577
+ 'quire.import_source_notion_desc':
578
+ 'The zip Notion makes when you export as Markdown & CSV. Each CSV becomes a database.',
579
+ 'quire.import_source_confluence': 'Confluence',
580
+ 'quire.import_source_confluence_desc': 'The zip Confluence makes when you export a space as HTML.',
581
+ 'quire.import_source_markdown': 'A folder of Markdown',
582
+ 'quire.import_source_markdown_desc': 'A zip of .md files. The folders in it become the page tree.',
583
+ 'quire.import_choose': 'Choose a file, or drop one here',
584
+ 'quire.import_file_hint': 'A .zip file, up to {max}.',
585
+ 'quire.import_wrong_type': 'That is not a .zip file. Export it again as a zip, then choose it here.',
586
+ 'quire.import_too_big':
587
+ 'That file is {size}, and an import can read up to {max}. Export it in smaller pieces — one space at a time.',
588
+ 'quire.import_consequence_title': 'What this does to {name}',
589
+ 'quire.import_consequence_adds': 'Every page in the archive is added to {name}, in the shape it has there.',
590
+ 'quire.import_consequence_keeps': 'Nothing already in {name} is changed, moved or deleted.',
591
+ 'quire.import_consequence_undo':
592
+ 'There is no single way back. Undoing it means finding the pages it made and moving them to the trash.',
593
+ 'quire.import_consequence_report':
594
+ 'Every file that could not be brought in is listed afterwards, with the reason.',
595
+ 'quire.import_start': 'Import into {name}',
596
+ 'quire.import_uploading': 'Sending the file…',
597
+ 'quire.import_of': 'A {source} export, into {name}',
598
+ 'quire.import_reading': 'Reading the archive. Nothing is written until every file in it has been read.',
599
+ 'quire.import_failed_nothing': 'Nothing was written. The space is exactly as it was.',
600
+ 'quire.import_started': 'Started {when}',
601
+ 'quire.import_another': 'New import',
602
+ 'quire.import_open_space': 'Open the space',
603
+ 'quire.import_outcome_all': 'Files',
604
+ 'quire.import_outcome_imported': 'Imported',
605
+ 'quire.import_outcome_skipped': 'Skipped',
606
+ 'quire.import_outcome_failed': 'Failed',
607
+ 'quire.import_copy_failures': {
608
+ one: 'Copy the failure',
609
+ other: 'Copy all {n} failures',
610
+ },
611
+ 'quire.import_open_page': 'Open',
612
+ 'quire.import_report_none': 'No file in this import matches.',
613
+ 'quire.import_report_capped': 'Showing the first {shown} of {total}.',
614
+ 'quire.import_report_more': 'Show more',
615
+
616
+ // --- both directions ---
617
+ 'quire.transfers': 'Transfers',
618
+ 'quire.transfers_subtitle': 'Files you have taken out of Quire, and archives you have brought in',
619
+ 'quire.transfers_exports': 'Exports',
620
+ 'quire.transfers_imports': 'Imports',
621
+ 'quire.transfers_error': 'This could not be loaded',
622
+ 'quire.transfers_error_desc': 'Try again in a moment.',
623
+ 'quire.transfers_exports_none': 'You have not exported anything',
624
+ 'quire.transfers_exports_none_desc': 'Export a page, a section or a whole space from its menu.',
625
+ 'quire.transfers_imports_none': 'You have not imported anything',
626
+ 'quire.transfers_imports_none_desc':
627
+ 'Bring a Notion, Confluence or Markdown export in from the space menu.',
628
+ 'quire.transfers_none_allowed': 'Nothing to show here',
629
+ 'quire.transfers_none_allowed_desc': 'You cannot export pages out of this workspace, or import them in.',
630
+ 'quire.transfer_queued': 'Waiting to start',
631
+ 'quire.transfer_running': 'Running',
632
+ 'quire.transfer_done': 'Finished',
633
+ 'quire.transfer_failed': 'Failed',
634
+ 'quire.transfer_close': 'Close',
635
+ 'quire.transfer_copy': 'Copy',
636
+ 'quire.transfer_copied': 'Copied',
637
+ 'quire.transfer_gone_space': 'A space you can no longer open',
638
+ 'quire.transfer_gone_page': 'A page you can no longer open',
639
+ 'quire.transfer_export_meta': '{scope} · {format} · {state} · {when}',
640
+ 'quire.transfer_import_meta': '{source} · {state} · {when}',
641
+ 'quire.transfer_import_counts': '{imported} imported · {skipped} skipped · {failed} failed',
642
+ 'quire.transfer_report': 'Report',
643
+ 'quire.transfer_hide_report': 'Hide report',
644
+ 'quire.cmd_transfers': 'Quire transfers',
645
+ 'quire.space_actions': 'Space actions',
528
646
  }
529
647
 
530
648
  export type QuireMessageKey = keyof typeof en
@@ -1057,6 +1175,133 @@ const ar: Record<string, Message> = {
1057
1175
  'quire.public_chip': 'عام',
1058
1176
  'quire.public_chip_root': 'كل من يملك الرابط يقرأ هذه الصفحة وكل ما تحتها',
1059
1177
  'quire.public_chip_child': 'هذه الصفحة جزء من موقع منشور يقرؤه الجميع',
1178
+
1179
+ // --- getting work out ---
1180
+ 'quire.export_title': 'تصدير',
1181
+ 'quire.export_menu': 'تصدير',
1182
+ 'quire.export_space_menu': 'تصدير هذه المساحة',
1183
+ 'quire.export_scope': 'ما الذي يُصدَّر',
1184
+ 'quire.export_scope_page': 'هذه الصفحة',
1185
+ 'quire.export_scope_page_desc': '«{title}» وحدها.',
1186
+ 'quire.export_scope_subtree': 'هذه الصفحة وكل ما تحتها',
1187
+ 'quire.export_scope_subtree_desc': 'الصفحة وكل صفحة متفرّعة عنها.',
1188
+ 'quire.export_scope_space': 'المساحة كاملة',
1189
+ 'quire.export_scope_space_desc': 'كل صفحة في هذه المساحة.',
1190
+ 'quire.export_count': {
1191
+ zero: 'لا صفحات',
1192
+ one: 'صفحة واحدة',
1193
+ two: 'صفحتان',
1194
+ few: '{n} صفحات',
1195
+ many: '{n} صفحة',
1196
+ other: '{n} صفحة',
1197
+ },
1198
+ 'quire.export_format': 'الصيغة',
1199
+ 'quire.export_format_markdown': 'Markdown',
1200
+ 'quire.export_format_markdown_desc': 'مجلّد من ملفات md، ملف لكل صفحة وصورها بجانبه، داخل ملف مضغوط.',
1201
+ 'quire.export_format_html': 'HTML',
1202
+ 'quire.export_format_html_desc': 'مجلّد من ملفات html يفتحها أي متصفّح، داخل ملف مضغوط.',
1203
+ 'quire.export_format_pdf': 'PDF',
1204
+ 'quire.export_format_pdf_desc': 'مستند واحد، مع فاصل بين كل صفحة وأخرى.',
1205
+ 'quire.export_format_docx': 'Word',
1206
+ 'quire.export_no_docx': 'مستندات Word غير متاحة بعد. ويفتح Word كلًّا من HTML وPDF.',
1207
+ 'quire.export_only_readable':
1208
+ 'لا يحوي التصدير إلا الصفحات التي تستطيع قراءتها. أمّا البقية فتُحسب وتُترك خارجه.',
1209
+ 'quire.export_start': 'تصدير',
1210
+ 'quire.export_of': '{scope} · {name} · {format}',
1211
+ 'quire.export_of_unnamed': '{scope} · {format}',
1212
+ 'quire.export_counting': 'جارٍ تحديد ما سيدخل فيه…',
1213
+ 'quire.export_progress': '{done} من {total} صفحة',
1214
+ 'quire.export_empty': 'لم يدخل شيء في هذا الملف: كل صفحة فيه كانت صفحة لا تستطيع قراءتها.',
1215
+ 'quire.export_skipped': {
1216
+ zero: 'لم تُترك أي صفحة خارجه.',
1217
+ one: 'تُركت صفحة واحدة خارجه لأنك لا تستطيع قراءتها.',
1218
+ two: 'تُركت صفحتان خارجه لأنك لا تستطيع قراءتهما.',
1219
+ few: 'تُركت {n} صفحات خارجه لأنك لا تستطيع قراءتها.',
1220
+ many: 'تُركت {n} صفحة خارجه لأنك لا تستطيع قراءتها.',
1221
+ other: 'تُركت {n} صفحة خارجه لأنك لا تستطيع قراءتها.',
1222
+ },
1223
+ 'quire.export_kept': 'يُحفظ التصدير المكتمل سبعة أيام ثم يُحذف.',
1224
+ 'quire.export_started': 'بدأ {when}',
1225
+ 'quire.export_download': 'تنزيل',
1226
+ 'quire.export_no_link': 'تعذّر الوصول إلى الملف. قد لا يكون التخزين مُعدًّا في هذه النسخة.',
1227
+ 'quire.export_new': 'تصدير جديد',
1228
+
1229
+ // --- getting work in ---
1230
+ 'quire.import_title': 'استيراد',
1231
+ 'quire.import_menu': 'استيراد إلى هذه المساحة',
1232
+ 'quire.import_source': 'من أين يأتي',
1233
+ 'quire.import_source_notion': 'Notion',
1234
+ 'quire.import_source_notion_desc':
1235
+ 'الملف المضغوط الذي ينشئه Notion عند التصدير بصيغة Markdown وCSV. ويصير كل ملف CSV قاعدة بيانات.',
1236
+ 'quire.import_source_confluence': 'Confluence',
1237
+ 'quire.import_source_confluence_desc': 'الملف المضغوط الذي ينشئه Confluence عند تصدير مساحة بصيغة HTML.',
1238
+ 'quire.import_source_markdown': 'مجلّد من Markdown',
1239
+ 'quire.import_source_markdown_desc': 'ملف مضغوط من ملفات md، وتصير مجلّداته شجرة الصفحات.',
1240
+ 'quire.import_choose': 'اختر ملفًا أو أفلته هنا',
1241
+ 'quire.import_file_hint': 'ملف مضغوط (zip) حتى {max}.',
1242
+ 'quire.import_wrong_type': 'هذا ليس ملفًا مضغوطًا. صدّره مرة أخرى بصيغة zip ثم اختره هنا.',
1243
+ 'quire.import_too_big':
1244
+ 'حجم هذا الملف {size}، والاستيراد يقرأ حتى {max}. صدّره على أجزاء أصغر — مساحة واحدة في كل مرة.',
1245
+ 'quire.import_consequence_title': 'ما الذي يفعله هذا بـ{name}',
1246
+ 'quire.import_consequence_adds': 'تُضاف كل صفحة في الأرشيف إلى {name} بالشكل الذي هي عليه فيه.',
1247
+ 'quire.import_consequence_keeps': 'لا يتغيّر شيء ممّا في {name} ولا يُنقل ولا يُحذف.',
1248
+ 'quire.import_consequence_undo':
1249
+ 'لا توجد خطوة واحدة للتراجع. التراجع يعني إيجاد الصفحات التي أنشأها ونقلها إلى المهملات.',
1250
+ 'quire.import_consequence_report': 'يُدرَج بعد ذلك كل ملف تعذّر إدخاله، مع السبب.',
1251
+ 'quire.import_start': 'استيراد إلى {name}',
1252
+ 'quire.import_uploading': 'جارٍ إرسال الملف…',
1253
+ 'quire.import_of': 'تصدير من {source} إلى {name}',
1254
+ 'quire.import_reading': 'جارٍ قراءة الأرشيف. لا يُكتب شيء حتى تُقرأ كل ملفاته.',
1255
+ 'quire.import_failed_nothing': 'لم يُكتب شيء. المساحة كما كانت تمامًا.',
1256
+ 'quire.import_started': 'بدأ {when}',
1257
+ 'quire.import_another': 'استيراد جديد',
1258
+ 'quire.import_open_space': 'فتح المساحة',
1259
+ 'quire.import_outcome_all': 'الملفات',
1260
+ 'quire.import_outcome_imported': 'مستوردة',
1261
+ 'quire.import_outcome_skipped': 'متروكة',
1262
+ 'quire.import_outcome_failed': 'فاشلة',
1263
+ 'quire.import_copy_failures': {
1264
+ zero: 'نسخ الإخفاقات',
1265
+ one: 'نسخ الإخفاق',
1266
+ two: 'نسخ الإخفاقين',
1267
+ few: 'نسخ {n} إخفاقات',
1268
+ many: 'نسخ {n} إخفاقًا',
1269
+ other: 'نسخ {n} إخفاق',
1270
+ },
1271
+ 'quire.import_open_page': 'فتح',
1272
+ 'quire.import_report_none': 'لا ملف في هذا الاستيراد يطابق.',
1273
+ 'quire.import_report_capped': 'تُعرض أول {shown} من {total}.',
1274
+ 'quire.import_report_more': 'عرض المزيد',
1275
+
1276
+ // --- both directions ---
1277
+ 'quire.transfers': 'عمليات النقل',
1278
+ 'quire.transfers_subtitle': 'ملفات أخرجتها من Quire، وأرشيفات أدخلتها إليه',
1279
+ 'quire.transfers_exports': 'التصديرات',
1280
+ 'quire.transfers_imports': 'الاستيرادات',
1281
+ 'quire.transfers_error': 'تعذّر تحميل هذا',
1282
+ 'quire.transfers_error_desc': 'أعد المحاولة بعد قليل.',
1283
+ 'quire.transfers_exports_none': 'لم تصدّر شيئًا بعد',
1284
+ 'quire.transfers_exports_none_desc': 'صدّر صفحة أو قسمًا أو مساحة كاملة من قائمتها.',
1285
+ 'quire.transfers_imports_none': 'لم تستورد شيئًا بعد',
1286
+ 'quire.transfers_imports_none_desc': 'أدخل تصديرًا من Notion أو Confluence أو Markdown من قائمة المساحة.',
1287
+ 'quire.transfers_none_allowed': 'لا شيء لعرضه هنا',
1288
+ 'quire.transfers_none_allowed_desc': 'لا تستطيع تصدير الصفحات من مساحة العمل هذه ولا استيرادها إليها.',
1289
+ 'quire.transfer_queued': 'في انتظار البدء',
1290
+ 'quire.transfer_running': 'قيد التنفيذ',
1291
+ 'quire.transfer_done': 'انتهى',
1292
+ 'quire.transfer_failed': 'أخفق',
1293
+ 'quire.transfer_close': 'إغلاق',
1294
+ 'quire.transfer_copy': 'نسخ',
1295
+ 'quire.transfer_copied': 'نُسخ',
1296
+ 'quire.transfer_gone_space': 'مساحة لم تعد تستطيع فتحها',
1297
+ 'quire.transfer_gone_page': 'صفحة لم تعد تستطيع فتحها',
1298
+ 'quire.transfer_export_meta': '{scope} · {format} · {state} · {when}',
1299
+ 'quire.transfer_import_meta': '{source} · {state} · {when}',
1300
+ 'quire.transfer_import_counts': '{imported} مستوردة · {skipped} متروكة · {failed} فاشلة',
1301
+ 'quire.transfer_report': 'التقرير',
1302
+ 'quire.transfer_hide_report': 'إخفاء التقرير',
1303
+ 'quire.cmd_transfers': 'عمليات نقل Quire',
1304
+ 'quire.space_actions': 'إجراءات المساحة',
1060
1305
  }
1061
1306
 
1062
1307
  const de: Record<string, Message> = {
@@ -1560,6 +1805,134 @@ const de: Record<string, Message> = {
1560
1805
  'quire.public_chip': 'Öffentlich',
1561
1806
  'quire.public_chip_root': 'Wer den Link hat, kann diese Seite und alles darunter lesen',
1562
1807
  'quire.public_chip_child': 'Diese Seite gehört zu einer veröffentlichten Website, die jeder lesen kann',
1808
+
1809
+ // --- getting work out ---
1810
+ 'quire.export_title': 'Exportieren',
1811
+ 'quire.export_menu': 'Exportieren',
1812
+ 'quire.export_space_menu': 'Diesen Bereich exportieren',
1813
+ 'quire.export_scope': 'Was exportiert wird',
1814
+ 'quire.export_scope_page': 'Diese Seite',
1815
+ 'quire.export_scope_page_desc': 'Nur „{title}“, für sich allein.',
1816
+ 'quire.export_scope_subtree': 'Diese Seite und alles darunter',
1817
+ 'quire.export_scope_subtree_desc': 'Die Seite und jede Seite, die darunter liegt.',
1818
+ 'quire.export_scope_space': 'Der ganze Bereich',
1819
+ 'quire.export_scope_space_desc': 'Jede Seite in diesem Bereich.',
1820
+ 'quire.export_count': {
1821
+ one: '{n} Seite',
1822
+ other: '{n} Seiten',
1823
+ },
1824
+ 'quire.export_format': 'Format',
1825
+ 'quire.export_format_markdown': 'Markdown',
1826
+ 'quire.export_format_markdown_desc':
1827
+ 'Ein Ordner mit .md-Dateien, eine je Seite, mit ihren Bildern daneben. Gezippt.',
1828
+ 'quire.export_format_html': 'HTML',
1829
+ 'quire.export_format_html_desc': 'Ein Ordner mit .html-Dateien, die jeder Browser öffnet. Gezippt.',
1830
+ 'quire.export_format_pdf': 'PDF',
1831
+ 'quire.export_format_pdf_desc': 'Ein einziges Dokument, mit einem Seitenumbruch zwischen den Seiten.',
1832
+ 'quire.export_format_docx': 'Word',
1833
+ 'quire.export_no_docx': 'Word-Dokumente gibt es noch nicht. Word öffnet sowohl HTML als auch PDF.',
1834
+ 'quire.export_only_readable':
1835
+ 'Ein Export enthält nur die Seiten, die du lesen darfst. Der Rest wird gezählt und weggelassen.',
1836
+ 'quire.export_start': 'Exportieren',
1837
+ 'quire.export_of': '{scope} · {name} · {format}',
1838
+ 'quire.export_of_unnamed': '{scope} · {format}',
1839
+ 'quire.export_counting': 'Es wird ermittelt, was hineinkommt…',
1840
+ 'quire.export_progress': '{done} von {total} Seiten',
1841
+ 'quire.export_empty':
1842
+ 'In diese Datei ist nichts hineingekommen: Jede Seite darin war eine, die du nicht lesen darfst.',
1843
+ 'quire.export_skipped': {
1844
+ one: '{n} Seite wurde weggelassen, weil du sie nicht lesen darfst.',
1845
+ other: '{n} Seiten wurden weggelassen, weil du sie nicht lesen darfst.',
1846
+ },
1847
+ 'quire.export_kept': 'Ein fertiger Export wird sieben Tage aufbewahrt und dann gelöscht.',
1848
+ 'quire.export_started': 'Gestartet {when}',
1849
+ 'quire.export_download': 'Herunterladen',
1850
+ 'quire.export_no_link':
1851
+ 'Die Datei war nicht erreichbar. Auf dieser Instanz ist womöglich kein Speicher eingerichtet.',
1852
+ 'quire.export_new': 'Neuer Export',
1853
+
1854
+ // --- getting work in ---
1855
+ 'quire.import_title': 'Importieren',
1856
+ 'quire.import_menu': 'In diesen Bereich importieren',
1857
+ 'quire.import_source': 'Woher es kommt',
1858
+ 'quire.import_source_notion': 'Notion',
1859
+ 'quire.import_source_notion_desc':
1860
+ 'Das ZIP, das Notion beim Export als Markdown & CSV erzeugt. Jede CSV wird zu einer Datenbank.',
1861
+ 'quire.import_source_confluence': 'Confluence',
1862
+ 'quire.import_source_confluence_desc':
1863
+ 'Das ZIP, das Confluence beim Export eines Bereichs als HTML erzeugt.',
1864
+ 'quire.import_source_markdown': 'Ein Ordner mit Markdown',
1865
+ 'quire.import_source_markdown_desc': 'Ein ZIP mit .md-Dateien. Die Ordner darin werden zum Seitenbaum.',
1866
+ 'quire.import_choose': 'Datei auswählen oder hier ablegen',
1867
+ 'quire.import_file_hint': 'Eine ZIP-Datei, bis {max}.',
1868
+ 'quire.import_wrong_type':
1869
+ 'Das ist keine ZIP-Datei. Exportiere es noch einmal als ZIP und wähle es dann hier aus.',
1870
+ 'quire.import_too_big':
1871
+ 'Diese Datei ist {size} groß, ein Import liest bis {max}. Exportiere sie in kleineren Teilen — einen Bereich nach dem anderen.',
1872
+ 'quire.import_consequence_title': 'Was das mit {name} macht',
1873
+ 'quire.import_consequence_adds':
1874
+ 'Jede Seite im Archiv wird zu {name} hinzugefügt, in der Form, die sie dort hat.',
1875
+ 'quire.import_consequence_keeps':
1876
+ 'Nichts, was schon in {name} liegt, wird geändert, verschoben oder gelöscht.',
1877
+ 'quire.import_consequence_undo':
1878
+ 'Es gibt keinen einzelnen Weg zurück. Rückgängig machen heißt, die erzeugten Seiten zu suchen und in den Papierkorb zu legen.',
1879
+ 'quire.import_consequence_report':
1880
+ 'Jede Datei, die nicht hereingekommen ist, wird danach mit dem Grund aufgelistet.',
1881
+ 'quire.import_start': 'In {name} importieren',
1882
+ 'quire.import_uploading': 'Die Datei wird gesendet…',
1883
+ 'quire.import_of': 'Ein {source}-Export, nach {name}',
1884
+ 'quire.import_reading':
1885
+ 'Das Archiv wird gelesen. Es wird nichts geschrieben, bevor jede Datei darin gelesen ist.',
1886
+ 'quire.import_failed_nothing': 'Es wurde nichts geschrieben. Der Bereich ist genau so, wie er war.',
1887
+ 'quire.import_started': 'Gestartet {when}',
1888
+ 'quire.import_another': 'Neuer Import',
1889
+ 'quire.import_open_space': 'Bereich öffnen',
1890
+ 'quire.import_outcome_all': 'Dateien',
1891
+ 'quire.import_outcome_imported': 'Importiert',
1892
+ 'quire.import_outcome_skipped': 'Übersprungen',
1893
+ 'quire.import_outcome_failed': 'Fehlgeschlagen',
1894
+ 'quire.import_copy_failures': {
1895
+ one: 'Fehler kopieren',
1896
+ other: 'Alle {n} Fehler kopieren',
1897
+ },
1898
+ 'quire.import_open_page': 'Öffnen',
1899
+ 'quire.import_report_none': 'Keine Datei in diesem Import passt.',
1900
+ 'quire.import_report_capped': 'Die ersten {shown} von {total} werden gezeigt.',
1901
+ 'quire.import_report_more': 'Mehr anzeigen',
1902
+
1903
+ // --- both directions ---
1904
+ 'quire.transfers': 'Transfers',
1905
+ 'quire.transfers_subtitle':
1906
+ 'Dateien, die du aus Quire geholt hast, und Archive, die du hereingebracht hast',
1907
+ 'quire.transfers_exports': 'Exporte',
1908
+ 'quire.transfers_imports': 'Importe',
1909
+ 'quire.transfers_error': 'Das konnte nicht geladen werden',
1910
+ 'quire.transfers_error_desc': 'Versuche es gleich noch einmal.',
1911
+ 'quire.transfers_exports_none': 'Du hast noch nichts exportiert',
1912
+ 'quire.transfers_exports_none_desc':
1913
+ 'Exportiere eine Seite, einen Abschnitt oder einen ganzen Bereich aus dessen Menü.',
1914
+ 'quire.transfers_imports_none': 'Du hast noch nichts importiert',
1915
+ 'quire.transfers_imports_none_desc':
1916
+ 'Bring einen Notion-, Confluence- oder Markdown-Export über das Bereichsmenü herein.',
1917
+ 'quire.transfers_none_allowed': 'Hier gibt es nichts zu sehen',
1918
+ 'quire.transfers_none_allowed_desc':
1919
+ 'Du kannst aus diesem Workspace keine Seiten exportieren und keine hereinholen.',
1920
+ 'quire.transfer_queued': 'Wartet auf den Start',
1921
+ 'quire.transfer_running': 'Läuft',
1922
+ 'quire.transfer_done': 'Fertig',
1923
+ 'quire.transfer_failed': 'Fehlgeschlagen',
1924
+ 'quire.transfer_close': 'Schließen',
1925
+ 'quire.transfer_copy': 'Kopieren',
1926
+ 'quire.transfer_copied': 'Kopiert',
1927
+ 'quire.transfer_gone_space': 'Ein Bereich, den du nicht mehr öffnen kannst',
1928
+ 'quire.transfer_gone_page': 'Eine Seite, die du nicht mehr öffnen kannst',
1929
+ 'quire.transfer_export_meta': '{scope} · {format} · {state} · {when}',
1930
+ 'quire.transfer_import_meta': '{source} · {state} · {when}',
1931
+ 'quire.transfer_import_counts': '{imported} importiert · {skipped} übersprungen · {failed} fehlgeschlagen',
1932
+ 'quire.transfer_report': 'Bericht',
1933
+ 'quire.transfer_hide_report': 'Bericht ausblenden',
1934
+ 'quire.cmd_transfers': 'Quire-Transfers',
1935
+ 'quire.space_actions': 'Bereichsaktionen',
1563
1936
  }
1564
1937
 
1565
1938
  const fa: Record<string, Message> = {
@@ -2045,6 +2418,125 @@ const fa: Record<string, Message> = {
2045
2418
  'quire.public_chip': 'عمومی',
2046
2419
  'quire.public_chip_root': 'هر کس پیوند را داشته باشد این صفحه و هر چه زیر آن است را می‌خواند',
2047
2420
  'quire.public_chip_child': 'این صفحه بخشی از سایتی منتشرشده است که همه می‌خوانند',
2421
+
2422
+ // --- getting work out ---
2423
+ 'quire.export_title': 'برون‌بری',
2424
+ 'quire.export_menu': 'برون‌بری',
2425
+ 'quire.export_space_menu': 'برون‌بری این فضا',
2426
+ 'quire.export_scope': 'چه چیزی برون‌بری شود',
2427
+ 'quire.export_scope_page': 'همین صفحه',
2428
+ 'quire.export_scope_page_desc': 'فقط «{title}»، به‌تنهایی.',
2429
+ 'quire.export_scope_subtree': 'این صفحه و هر چه زیر آن است',
2430
+ 'quire.export_scope_subtree_desc': 'این صفحه و هر صفحه‌ای که زیر آن جا گرفته است.',
2431
+ 'quire.export_scope_space': 'کل فضا',
2432
+ 'quire.export_scope_space_desc': 'هر صفحه در این فضا.',
2433
+ 'quire.export_count': {
2434
+ one: '{n} صفحه',
2435
+ other: '{n} صفحه',
2436
+ },
2437
+ 'quire.export_format': 'قالب',
2438
+ 'quire.export_format_markdown': 'Markdown',
2439
+ 'quire.export_format_markdown_desc':
2440
+ 'پوشه‌ای از فایل‌های md، یکی برای هر صفحه، با تصویرهایش در کنارش. فشرده‌شده.',
2441
+ 'quire.export_format_html': 'HTML',
2442
+ 'quire.export_format_html_desc': 'پوشه‌ای از فایل‌های html که هر مرورگری بازشان می‌کند. فشرده‌شده.',
2443
+ 'quire.export_format_pdf': 'PDF',
2444
+ 'quire.export_format_pdf_desc': 'یک سند، با یک شکست صفحه میان هر دو صفحه.',
2445
+ 'quire.export_format_docx': 'Word',
2446
+ 'quire.export_no_docx': 'سند Word هنوز در دسترس نیست. Word هم HTML را باز می‌کند و هم PDF را.',
2447
+ 'quire.export_only_readable':
2448
+ 'یک خروجی فقط صفحه‌هایی را دارد که می‌توانید بخوانید. بقیه شمرده و کنار گذاشته می‌شوند.',
2449
+ 'quire.export_start': 'برون‌بری',
2450
+ 'quire.export_of': '{scope} · {name} · {format}',
2451
+ 'quire.export_of_unnamed': '{scope} · {format}',
2452
+ 'quire.export_counting': 'در حال تعیین آنچه وارد فایل می‌شود…',
2453
+ 'quire.export_progress': '{done} از {total} صفحه',
2454
+ 'quire.export_empty': 'چیزی وارد این فایل نشد: هر صفحه‌ای در آن، صفحه‌ای بود که نمی‌توانید بخوانید.',
2455
+ 'quire.export_skipped': {
2456
+ one: '{n} صفحه کنار گذاشته شد، چون نمی‌توانید آن را بخوانید.',
2457
+ other: '{n} صفحه کنار گذاشته شد، چون نمی‌توانید آن‌ها را بخوانید.',
2458
+ },
2459
+ 'quire.export_kept': 'خروجی آماده هفت روز نگه داشته و سپس حذف می‌شود.',
2460
+ 'quire.export_started': 'آغاز {when}',
2461
+ 'quire.export_download': 'دریافت',
2462
+ 'quire.export_no_link': 'فایل در دسترس نبود. شاید فضای ذخیره‌سازی روی این نمونه راه‌اندازی نشده باشد.',
2463
+ 'quire.export_new': 'برون‌بری تازه',
2464
+
2465
+ // --- getting work in ---
2466
+ 'quire.import_title': 'درون‌ریزی',
2467
+ 'quire.import_menu': 'درون‌ریزی به این فضا',
2468
+ 'quire.import_source': 'از کجا می‌آید',
2469
+ 'quire.import_source_notion': 'Notion',
2470
+ 'quire.import_source_notion_desc':
2471
+ 'فایل فشرده‌ای که Notion هنگام خروجی گرفتن با Markdown و CSV می‌سازد. هر CSV یک پایگاه‌داده می‌شود.',
2472
+ 'quire.import_source_confluence': 'Confluence',
2473
+ 'quire.import_source_confluence_desc':
2474
+ 'فایل فشرده‌ای که Confluence هنگام خروجی گرفتن از یک فضا با HTML می‌سازد.',
2475
+ 'quire.import_source_markdown': 'پوشه‌ای از Markdown',
2476
+ 'quire.import_source_markdown_desc': 'فایلی فشرده از فایل‌های md. پوشه‌هایش درخت صفحه‌ها می‌شوند.',
2477
+ 'quire.import_choose': 'یک فایل برگزینید یا اینجا رهایش کنید',
2478
+ 'quire.import_file_hint': 'یک فایل فشرده (zip)، تا {max}.',
2479
+ 'quire.import_wrong_type': 'این فایل فشرده نیست. دوباره به شکل zip خروجی بگیرید و اینجا برگزینیدش.',
2480
+ 'quire.import_too_big':
2481
+ 'این فایل {size} است و درون‌ریزی تا {max} می‌خواند. آن را در بخش‌های کوچک‌تر خروجی بگیرید — هر بار یک فضا.',
2482
+ 'quire.import_consequence_title': 'این کار با {name} چه می‌کند',
2483
+ 'quire.import_consequence_adds': 'هر صفحه در بایگانی، با همان شکلی که آنجا دارد، به {name} افزوده می‌شود.',
2484
+ 'quire.import_consequence_keeps':
2485
+ 'هیچ‌چیزی که از پیش در {name} است تغییر نمی‌کند، جابه‌جا نمی‌شود و حذف نمی‌شود.',
2486
+ 'quire.import_consequence_undo':
2487
+ 'راه بازگشتی در یک گام نیست. بازگرداندن یعنی یافتن صفحه‌هایی که ساخته و بردنشان به زباله‌دان.',
2488
+ 'quire.import_consequence_report': 'هر فایلی که نتوانست وارد شود، پس از آن با دلیلش فهرست می‌شود.',
2489
+ 'quire.import_start': 'درون‌ریزی به {name}',
2490
+ 'quire.import_uploading': 'در حال فرستادن فایل…',
2491
+ 'quire.import_of': 'یک خروجی {source}، به {name}',
2492
+ 'quire.import_reading': 'در حال خواندن بایگانی. تا همهٔ فایل‌هایش خوانده نشود چیزی نوشته نمی‌شود.',
2493
+ 'quire.import_failed_nothing': 'چیزی نوشته نشد. فضا دقیقاً همان است که بود.',
2494
+ 'quire.import_started': 'آغاز {when}',
2495
+ 'quire.import_another': 'درون‌ریزی تازه',
2496
+ 'quire.import_open_space': 'گشودن فضا',
2497
+ 'quire.import_outcome_all': 'فایل‌ها',
2498
+ 'quire.import_outcome_imported': 'واردشده',
2499
+ 'quire.import_outcome_skipped': 'کنارگذاشته',
2500
+ 'quire.import_outcome_failed': 'ناکام',
2501
+ 'quire.import_copy_failures': {
2502
+ one: 'رونوشت از ناکامی',
2503
+ other: 'رونوشت از هر {n} ناکامی',
2504
+ },
2505
+ 'quire.import_open_page': 'گشودن',
2506
+ 'quire.import_report_none': 'هیچ فایلی در این درون‌ریزی همخوان نیست.',
2507
+ 'quire.import_report_capped': '{shown} تای نخست از {total} نشان داده می‌شود.',
2508
+ 'quire.import_report_more': 'نمایش بیشتر',
2509
+
2510
+ // --- both directions ---
2511
+ 'quire.transfers': 'انتقال‌ها',
2512
+ 'quire.transfers_subtitle': 'فایل‌هایی که از Quire بیرون برده‌اید و بایگانی‌هایی که به آن آورده‌اید',
2513
+ 'quire.transfers_exports': 'برون‌بری‌ها',
2514
+ 'quire.transfers_imports': 'درون‌ریزی‌ها',
2515
+ 'quire.transfers_error': 'این بارگذاری نشد',
2516
+ 'quire.transfers_error_desc': 'کمی بعد دوباره تلاش کنید.',
2517
+ 'quire.transfers_exports_none': 'هنوز چیزی برون‌بری نکرده‌اید',
2518
+ 'quire.transfers_exports_none_desc': 'یک صفحه، یک بخش یا کل یک فضا را از منوی خودش برون‌بری کنید.',
2519
+ 'quire.transfers_imports_none': 'هنوز چیزی درون‌ریزی نکرده‌اید',
2520
+ 'quire.transfers_imports_none_desc': 'خروجی Notion، Confluence یا Markdown را از منوی فضا بیاورید.',
2521
+ 'quire.transfers_none_allowed': 'چیزی برای نشان دادن نیست',
2522
+ 'quire.transfers_none_allowed_desc':
2523
+ 'نه می‌توانید صفحه‌ها را از این فضای کاری بیرون ببرید و نه به آن بیاورید.',
2524
+ 'quire.transfer_queued': 'در انتظار آغاز',
2525
+ 'quire.transfer_running': 'در حال اجرا',
2526
+ 'quire.transfer_done': 'پایان‌یافته',
2527
+ 'quire.transfer_failed': 'ناکام',
2528
+ 'quire.transfer_close': 'بستن',
2529
+ 'quire.transfer_copy': 'رونوشت',
2530
+ 'quire.transfer_copied': 'رونوشت شد',
2531
+ 'quire.transfer_gone_space': 'فضایی که دیگر نمی‌توانید بگشایید',
2532
+ 'quire.transfer_gone_page': 'صفحه‌ای که دیگر نمی‌توانید بگشایید',
2533
+ 'quire.transfer_export_meta': '{scope} · {format} · {state} · {when}',
2534
+ 'quire.transfer_import_meta': '{source} · {state} · {when}',
2535
+ 'quire.transfer_import_counts': '{imported} واردشده · {skipped} کنارگذاشته · {failed} ناکام',
2536
+ 'quire.transfer_report': 'گزارش',
2537
+ 'quire.transfer_hide_report': 'پنهان کردن گزارش',
2538
+ 'quire.cmd_transfers': 'انتقال‌های Quire',
2539
+ 'quire.space_actions': 'کنش‌های فضا',
2048
2540
  }
2049
2541
 
2050
2542
  const tr: Record<string, Message> = {
@@ -2536,6 +3028,128 @@ const tr: Record<string, Message> = {
2536
3028
  'quire.public_chip': 'Herkese açık',
2537
3029
  'quire.public_chip_root': 'Bağlantısı olan herkes bu sayfayı ve altındaki her şeyi okuyabilir',
2538
3030
  'quire.public_chip_child': 'Bu sayfa, herkesin okuyabildiği yayımlanmış bir sitenin parçası',
3031
+
3032
+ // --- getting work out ---
3033
+ 'quire.export_title': 'Dışa aktar',
3034
+ 'quire.export_menu': 'Dışa aktar',
3035
+ 'quire.export_space_menu': 'Bu alanı dışa aktar',
3036
+ 'quire.export_scope': 'Ne dışa aktarılacak',
3037
+ 'quire.export_scope_page': 'Bu sayfa',
3038
+ 'quire.export_scope_page_desc': 'Yalnızca “{title}”, tek başına.',
3039
+ 'quire.export_scope_subtree': 'Bu sayfa ve altındaki her şey',
3040
+ 'quire.export_scope_subtree_desc': 'Sayfanın kendisi ve altına yerleşmiş her sayfa.',
3041
+ 'quire.export_scope_space': 'Alanın tamamı',
3042
+ 'quire.export_scope_space_desc': 'Bu alandaki her sayfa.',
3043
+ 'quire.export_count': {
3044
+ one: '{n} sayfa',
3045
+ other: '{n} sayfa',
3046
+ },
3047
+ 'quire.export_format': 'Biçim',
3048
+ 'quire.export_format_markdown': 'Markdown',
3049
+ 'quire.export_format_markdown_desc':
3050
+ 'Her sayfa için bir tane olmak üzere .md dosyalarından oluşan bir klasör, görselleri yanında. Sıkıştırılmış.',
3051
+ 'quire.export_format_html': 'HTML',
3052
+ 'quire.export_format_html_desc':
3053
+ 'Her tarayıcının açtığı .html dosyalarından oluşan bir klasör. Sıkıştırılmış.',
3054
+ 'quire.export_format_pdf': 'PDF',
3055
+ 'quire.export_format_pdf_desc': 'Tek bir belge, sayfalar arasında sayfa sonu ile.',
3056
+ 'quire.export_format_docx': 'Word',
3057
+ 'quire.export_no_docx': 'Word belgeleri henüz yok. Word hem HTML’i hem PDF’i açar.',
3058
+ 'quire.export_only_readable':
3059
+ 'Bir dışa aktarım yalnızca okuyabildiğiniz sayfaları içerir. Kalanlar sayılır ve dışarıda bırakılır.',
3060
+ 'quire.export_start': 'Dışa aktar',
3061
+ 'quire.export_of': '{scope} · {name} · {format}',
3062
+ 'quire.export_of_unnamed': '{scope} · {format}',
3063
+ 'quire.export_counting': 'İçine ne gireceği belirleniyor…',
3064
+ 'quire.export_progress': '{total} sayfadan {done} tanesi',
3065
+ 'quire.export_empty': 'Bu dosyaya hiçbir şey girmedi: içindeki her sayfa okuyamadığınız bir sayfaydı.',
3066
+ 'quire.export_skipped': {
3067
+ one: '{n} sayfa dışarıda bırakıldı, çünkü onu okuyamıyorsunuz.',
3068
+ other: '{n} sayfa dışarıda bırakıldı, çünkü onları okuyamıyorsunuz.',
3069
+ },
3070
+ 'quire.export_kept': 'Tamamlanan bir dışa aktarım yedi gün saklanır, sonra silinir.',
3071
+ 'quire.export_started': '{when} başladı',
3072
+ 'quire.export_download': 'İndir',
3073
+ 'quire.export_no_link': 'Dosyaya ulaşılamadı. Bu örnekte depolama kurulu olmayabilir.',
3074
+ 'quire.export_new': 'Yeni dışa aktarım',
3075
+
3076
+ // --- getting work in ---
3077
+ 'quire.import_title': 'İçe aktar',
3078
+ 'quire.import_menu': 'Bu alana içe aktar',
3079
+ 'quire.import_source': 'Nereden geliyor',
3080
+ 'quire.import_source_notion': 'Notion',
3081
+ 'quire.import_source_notion_desc':
3082
+ 'Notion’un Markdown & CSV olarak dışa aktarırken oluşturduğu zip. Her CSV bir veri tabanı olur.',
3083
+ 'quire.import_source_confluence': 'Confluence',
3084
+ 'quire.import_source_confluence_desc':
3085
+ 'Confluence’ın bir alanı HTML olarak dışa aktarırken oluşturduğu zip.',
3086
+ 'quire.import_source_markdown': 'Markdown klasörü',
3087
+ 'quire.import_source_markdown_desc':
3088
+ '.md dosyalarından oluşan bir zip. İçindeki klasörler sayfa ağacı olur.',
3089
+ 'quire.import_choose': 'Bir dosya seçin ya da buraya bırakın',
3090
+ 'quire.import_file_hint': 'Bir .zip dosyası, {max} boyutuna kadar.',
3091
+ 'quire.import_wrong_type':
3092
+ 'Bu bir .zip dosyası değil. Zip olarak yeniden dışa aktarın, sonra burada seçin.',
3093
+ 'quire.import_too_big':
3094
+ 'Bu dosya {size}; bir içe aktarım {max} boyutuna kadar okuyabilir. Daha küçük parçalar hâlinde dışa aktarın — her seferinde bir alan.',
3095
+ 'quire.import_consequence_title': 'Bu, {name} alanına ne yapar',
3096
+ 'quire.import_consequence_adds': 'Arşivdeki her sayfa, oradaki biçimiyle {name} alanına eklenir.',
3097
+ 'quire.import_consequence_keeps': '{name} içinde hâlihazırda olan hiçbir şey değişmez, taşınmaz, silinmez.',
3098
+ 'quire.import_consequence_undo':
3099
+ 'Tek adımda geri dönüş yok. Geri almak, oluşturduğu sayfaları bulup çöpe taşımak demektir.',
3100
+ 'quire.import_consequence_report': 'İçeri alınamayan her dosya, nedeniyle birlikte sonrasında listelenir.',
3101
+ 'quire.import_start': '{name} alanına aktar',
3102
+ 'quire.import_uploading': 'Dosya gönderiliyor…',
3103
+ 'quire.import_of': 'Bir {source} dışa aktarımı, {name} alanına',
3104
+ 'quire.import_reading': 'Arşiv okunuyor. İçindeki her dosya okunana kadar hiçbir şey yazılmaz.',
3105
+ 'quire.import_failed_nothing': 'Hiçbir şey yazılmadı. Alan tam olarak eskisi gibi.',
3106
+ 'quire.import_started': '{when} başladı',
3107
+ 'quire.import_another': 'Yeni içe aktarım',
3108
+ 'quire.import_open_space': 'Alanı aç',
3109
+ 'quire.import_outcome_all': 'Dosyalar',
3110
+ 'quire.import_outcome_imported': 'Aktarıldı',
3111
+ 'quire.import_outcome_skipped': 'Atlandı',
3112
+ 'quire.import_outcome_failed': 'Başarısız',
3113
+ 'quire.import_copy_failures': {
3114
+ one: 'Hatayı kopyala',
3115
+ other: '{n} hatanın hepsini kopyala',
3116
+ },
3117
+ 'quire.import_open_page': 'Aç',
3118
+ 'quire.import_report_none': 'Bu içe aktarımda eşleşen dosya yok.',
3119
+ 'quire.import_report_capped': '{total} kaydın ilk {shown} tanesi gösteriliyor.',
3120
+ 'quire.import_report_more': 'Daha fazla göster',
3121
+
3122
+ // --- both directions ---
3123
+ 'quire.transfers': 'Aktarımlar',
3124
+ 'quire.transfers_subtitle': 'Quire’dan çıkardığınız dosyalar ve içeri getirdiğiniz arşivler',
3125
+ 'quire.transfers_exports': 'Dışa aktarımlar',
3126
+ 'quire.transfers_imports': 'İçe aktarımlar',
3127
+ 'quire.transfers_error': 'Bu yüklenemedi',
3128
+ 'quire.transfers_error_desc': 'Birazdan yeniden deneyin.',
3129
+ 'quire.transfers_exports_none': 'Henüz bir şey dışa aktarmadınız',
3130
+ 'quire.transfers_exports_none_desc':
3131
+ 'Bir sayfayı, bir bölümü ya da bir alanın tamamını kendi menüsünden dışa aktarın.',
3132
+ 'quire.transfers_imports_none': 'Henüz bir şey içe aktarmadınız',
3133
+ 'quire.transfers_imports_none_desc':
3134
+ 'Notion, Confluence ya da Markdown dışa aktarımını alan menüsünden getirin.',
3135
+ 'quire.transfers_none_allowed': 'Burada gösterilecek bir şey yok',
3136
+ 'quire.transfers_none_allowed_desc': 'Bu çalışma alanından sayfa dışa aktaramaz, içeri de alamazsınız.',
3137
+ 'quire.transfer_queued': 'Başlamayı bekliyor',
3138
+ 'quire.transfer_running': 'Çalışıyor',
3139
+ 'quire.transfer_done': 'Bitti',
3140
+ 'quire.transfer_failed': 'Başarısız',
3141
+ 'quire.transfer_close': 'Kapat',
3142
+ 'quire.transfer_copy': 'Kopyala',
3143
+ 'quire.transfer_copied': 'Kopyalandı',
3144
+ 'quire.transfer_gone_space': 'Artık açamadığınız bir alan',
3145
+ 'quire.transfer_gone_page': 'Artık açamadığınız bir sayfa',
3146
+ 'quire.transfer_export_meta': '{scope} · {format} · {state} · {when}',
3147
+ 'quire.transfer_import_meta': '{source} · {state} · {when}',
3148
+ 'quire.transfer_import_counts': '{imported} aktarıldı · {skipped} atlandı · {failed} başarısız',
3149
+ 'quire.transfer_report': 'Rapor',
3150
+ 'quire.transfer_hide_report': 'Raporu gizle',
3151
+ 'quire.cmd_transfers': 'Quire aktarımları',
3152
+ 'quire.space_actions': 'Alan işlemleri',
2539
3153
  }
2540
3154
 
2541
3155
  /** In the shape `defineClientModule().messages` expects. */