@kernhq/module-quire 0.6.0 → 0.7.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.
- package/dist/server/formula.d.ts +13 -3
- package/dist/server/formula.d.ts.map +1 -1
- package/dist/server/formula.js +4 -4
- package/dist/server/formula.js.map +1 -1
- package/package.json +15 -3
- package/src/client/api-instance.ts +29 -0
- package/src/client/components/CommentsPanel.svelte +305 -0
- package/src/client/components/NewSpaceDialog.svelte +141 -0
- package/src/client/components/PageEditor.svelte +83 -0
- package/src/client/components/PageInline.svelte +44 -0
- package/src/client/components/PageTreeRow.svelte +147 -0
- package/src/client/components/SidebarSpaces.svelte +248 -0
- package/src/client/components/VersionHistory.svelte +159 -0
- package/src/client/i18n.ts +443 -0
- package/src/client/index.ts +4 -10
- package/src/client/mock.ts +287 -0
- package/src/client/module.ts +98 -0
- package/src/client/pages/PageView.svelte +406 -0
- package/src/client/pages/SpacePage.svelte +79 -0
- package/src/client/pages/SpacesPage.svelte +141 -0
- package/src/client/permissions.ts +39 -0
- package/src/client/query.ts +15 -0
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quire's own strings, in every locale the platform ships.
|
|
3
|
+
*
|
|
4
|
+
* A module ships separately from the app, so Paraglide cannot compile these — the shell merges
|
|
5
|
+
* them into the framework's message runtime when it registers this module, and `t()` resolves
|
|
6
|
+
* against the merged map. Keys are namespaced by module id, which is what keeps two modules from
|
|
7
|
+
* colliding in that one map.
|
|
8
|
+
*
|
|
9
|
+
* Bundles are thunks so a locale is only fetched when it is the one in use; English is the
|
|
10
|
+
* fallback and is therefore always loaded.
|
|
11
|
+
*/
|
|
12
|
+
import { type Message, scopedT } from '@kernhq/ui'
|
|
13
|
+
|
|
14
|
+
export const en: Record<string, Message> = {
|
|
15
|
+
'quire.archive': 'Archive',
|
|
16
|
+
'quire.archived': 'Archived',
|
|
17
|
+
'quire.cmd_new_space': 'New space',
|
|
18
|
+
'quire.cmd_open': 'Open Quire',
|
|
19
|
+
'quire.collapse': 'Collapse',
|
|
20
|
+
'quire.comment_edited': 'edited',
|
|
21
|
+
'quire.comment_orphaned': 'The text this was about has been deleted',
|
|
22
|
+
'quire.comment_placeholder': 'Ask about this…',
|
|
23
|
+
'quire.comment_post': 'Comment',
|
|
24
|
+
'quire.comment_reply': 'Reply',
|
|
25
|
+
'quire.comment_resolve': 'Resolve',
|
|
26
|
+
'quire.comments': 'Comments',
|
|
27
|
+
'quire.comments_empty': 'No comments yet',
|
|
28
|
+
'quire.comments_empty_desc': 'Select some text to ask about it.',
|
|
29
|
+
'quire.edited_ago': 'Edited {when}',
|
|
30
|
+
'quire.editor_mock': 'Not connected to the collaboration service',
|
|
31
|
+
'quire.editor_mock_desc':
|
|
32
|
+
'This is the demo interface, which has no server behind it. Writing here would not be saved.',
|
|
33
|
+
'quire.editor_no_session': 'You are not signed in',
|
|
34
|
+
'quire.editor_no_session_desc': 'Sign in again to write in this page.',
|
|
35
|
+
'quire.editor_placeholder': 'Write something…',
|
|
36
|
+
'quire.expand': 'Expand',
|
|
37
|
+
'quire.history': 'Version history',
|
|
38
|
+
'quire.history_empty': 'Nothing saved yet',
|
|
39
|
+
'quire.history_empty_desc': 'Versions are kept as the page is written, and whenever it is published.',
|
|
40
|
+
'quire.history_error': 'The history could not be loaded',
|
|
41
|
+
'quire.kind_live': 'Live doc',
|
|
42
|
+
'quire.move_to_trash': 'Move to trash',
|
|
43
|
+
'quire.nav': 'Quire',
|
|
44
|
+
'quire.new_child_page': 'New page inside this one',
|
|
45
|
+
'quire.new_page': 'New page',
|
|
46
|
+
'quire.new_space': 'New space',
|
|
47
|
+
'quire.new_space_desc': 'A space holds a tree of pages, with its own members and its own permissions.',
|
|
48
|
+
'quire.no_spaces': 'No spaces yet',
|
|
49
|
+
'quire.no_spaces_desc':
|
|
50
|
+
'A space is where a set of pages lives — a handbook, a team’s notes, a product’s documentation.',
|
|
51
|
+
'quire.page_actions': 'Page actions',
|
|
52
|
+
'quire.page_error': 'This page could not be loaded',
|
|
53
|
+
'quire.page_error_desc': 'Try again in a moment.',
|
|
54
|
+
'quire.page_missing': 'Page not found',
|
|
55
|
+
'quire.page_missing_desc': 'It may have been deleted, or you may not have access to it.',
|
|
56
|
+
'quire.page_title': 'Page title',
|
|
57
|
+
'quire.people_here': {
|
|
58
|
+
one: '{n} other person here',
|
|
59
|
+
other: '{n} others here',
|
|
60
|
+
},
|
|
61
|
+
'quire.publish': 'Publish',
|
|
62
|
+
'quire.restore': 'Restore',
|
|
63
|
+
'quire.restoring': 'Restoring…',
|
|
64
|
+
'quire.revert': 'Discard the draft',
|
|
65
|
+
'quire.search_none': 'Nothing in this space matches.',
|
|
66
|
+
'quire.search_results': 'Results',
|
|
67
|
+
'quire.search_space': 'Search this space',
|
|
68
|
+
'quire.space_description': 'Description',
|
|
69
|
+
'quire.space_empty': 'This space has no pages',
|
|
70
|
+
'quire.space_empty_desc': 'Create the first page and start writing.',
|
|
71
|
+
'quire.space_key': 'Address',
|
|
72
|
+
'quire.space_key_hint': 'Used in the address of every page in this space.',
|
|
73
|
+
'quire.space_missing': 'Space not found',
|
|
74
|
+
'quire.space_missing_desc': 'It may have been archived, or you may not have access to it.',
|
|
75
|
+
'quire.space_name': 'Name',
|
|
76
|
+
'quire.space_name_hint': 'Handbook',
|
|
77
|
+
'quire.space_visibility': 'Who can see it',
|
|
78
|
+
'quire.spaces_error': 'The spaces could not be loaded',
|
|
79
|
+
'quire.spaces_error_desc': 'Try again in a moment.',
|
|
80
|
+
'quire.subtitle': 'Spaces, pages and documents your team writes together',
|
|
81
|
+
'quire.title': 'Quire',
|
|
82
|
+
'quire.tree_error': 'The page tree could not be loaded',
|
|
83
|
+
'quire.tree_error_desc': 'Try again in a moment.',
|
|
84
|
+
'quire.unarchive': 'Take out of the archive',
|
|
85
|
+
'quire.unpublished': 'This draft has changes readers cannot see yet',
|
|
86
|
+
'quire.untitled': 'Untitled',
|
|
87
|
+
'quire.version_auto': 'While writing',
|
|
88
|
+
'quire.version_imported': 'Imported',
|
|
89
|
+
'quire.version_live': 'What readers see',
|
|
90
|
+
'quire.version_published': 'Published',
|
|
91
|
+
'quire.version_restored': 'Restored',
|
|
92
|
+
'quire.visibility_open': 'Everyone in the workspace',
|
|
93
|
+
'quire.visibility_private': 'Only people you add',
|
|
94
|
+
'quire.visibility_restricted': 'Members, page by page',
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export type QuireMessageKey = keyof typeof en
|
|
98
|
+
|
|
99
|
+
const ar: Record<string, Message> = {
|
|
100
|
+
'quire.archive': 'أرشفة',
|
|
101
|
+
'quire.archived': 'مؤرشفة',
|
|
102
|
+
'quire.cmd_new_space': 'مساحة جديدة',
|
|
103
|
+
'quire.cmd_open': 'فتح Quire',
|
|
104
|
+
'quire.collapse': 'طي',
|
|
105
|
+
'quire.comment_edited': 'مُعدّل',
|
|
106
|
+
'quire.comment_orphaned': 'حُذف النص الذي كان هذا بشأنه',
|
|
107
|
+
'quire.comment_placeholder': 'اسأل عن هذا…',
|
|
108
|
+
'quire.comment_post': 'تعليق',
|
|
109
|
+
'quire.comment_reply': 'رد',
|
|
110
|
+
'quire.comment_resolve': 'إغلاق',
|
|
111
|
+
'quire.comments': 'التعليقات',
|
|
112
|
+
'quire.comments_empty': 'لا توجد تعليقات بعد',
|
|
113
|
+
'quire.comments_empty_desc': 'حدّد نصًا لتسأل عنه.',
|
|
114
|
+
'quire.edited_ago': 'عُدّلت {when}',
|
|
115
|
+
'quire.editor_mock': 'غير متصل بخدمة التعاون',
|
|
116
|
+
'quire.editor_mock_desc': 'هذه واجهة العرض التجريبي، ولا يوجد خادم خلفها. لن يُحفظ ما تكتبه هنا.',
|
|
117
|
+
'quire.editor_no_session': 'لم تسجّل الدخول',
|
|
118
|
+
'quire.editor_no_session_desc': 'سجّل الدخول مرة أخرى للكتابة في هذه الصفحة.',
|
|
119
|
+
'quire.editor_placeholder': 'اكتب شيئًا…',
|
|
120
|
+
'quire.expand': 'توسيع',
|
|
121
|
+
'quire.history': 'سجل النسخ',
|
|
122
|
+
'quire.history_empty': 'لم يُحفظ شيء بعد',
|
|
123
|
+
'quire.history_empty_desc': 'تُحفظ النسخ أثناء كتابة الصفحة، وعند كل نشر.',
|
|
124
|
+
'quire.history_error': 'تعذّر تحميل السجل',
|
|
125
|
+
'quire.kind_live': 'مستند حي',
|
|
126
|
+
'quire.move_to_trash': 'نقل إلى المهملات',
|
|
127
|
+
'quire.nav': 'Quire',
|
|
128
|
+
'quire.new_child_page': 'صفحة جديدة داخل هذه',
|
|
129
|
+
'quire.new_page': 'صفحة جديدة',
|
|
130
|
+
'quire.new_space': 'مساحة جديدة',
|
|
131
|
+
'quire.new_space_desc': 'تحتوي كل مساحة على شجرة من الصفحات، بأعضائها وصلاحياتها الخاصة.',
|
|
132
|
+
'quire.no_spaces': 'لا توجد مساحات بعد',
|
|
133
|
+
'quire.no_spaces_desc':
|
|
134
|
+
'المساحة هي المكان الذي تعيش فيه مجموعة من الصفحات: دليل، ملاحظات فريق، أو توثيق منتج.',
|
|
135
|
+
'quire.page_actions': 'إجراءات الصفحة',
|
|
136
|
+
'quire.page_error': 'تعذّر تحميل هذه الصفحة',
|
|
137
|
+
'quire.page_error_desc': 'حاول مرة أخرى بعد قليل.',
|
|
138
|
+
'quire.page_missing': 'لم يتم العثور على الصفحة',
|
|
139
|
+
'quire.page_missing_desc': 'ربما حُذفت، أو ربما لا تملك صلاحية الوصول إليها.',
|
|
140
|
+
'quire.page_title': 'عنوان الصفحة',
|
|
141
|
+
'quire.people_here': {
|
|
142
|
+
zero: 'لا أحد آخر هنا',
|
|
143
|
+
one: 'شخص آخر واحد هنا',
|
|
144
|
+
two: 'شخصان آخران هنا',
|
|
145
|
+
few: '{n} أشخاص آخرين هنا',
|
|
146
|
+
many: '{n} شخصًا آخر هنا',
|
|
147
|
+
other: '{n} شخص آخر هنا',
|
|
148
|
+
},
|
|
149
|
+
'quire.publish': 'نشر',
|
|
150
|
+
'quire.restore': 'استعادة',
|
|
151
|
+
'quire.restoring': 'جارٍ الاستعادة…',
|
|
152
|
+
'quire.revert': 'تجاهل المسودة',
|
|
153
|
+
'quire.search_none': 'لا شيء في هذه المساحة يطابق البحث.',
|
|
154
|
+
'quire.search_results': 'النتائج',
|
|
155
|
+
'quire.search_space': 'ابحث في هذه المساحة',
|
|
156
|
+
'quire.space_description': 'الوصف',
|
|
157
|
+
'quire.space_empty': 'لا تحتوي هذه المساحة على صفحات',
|
|
158
|
+
'quire.space_empty_desc': 'أنشئ الصفحة الأولى وابدأ الكتابة.',
|
|
159
|
+
'quire.space_key': 'العنوان',
|
|
160
|
+
'quire.space_key_hint': 'يُستخدم في عنوان كل صفحة في هذه المساحة.',
|
|
161
|
+
'quire.space_missing': 'لم يتم العثور على المساحة',
|
|
162
|
+
'quire.space_missing_desc': 'ربما تمت أرشفتها، أو ربما لا تملك صلاحية الوصول إليها.',
|
|
163
|
+
'quire.space_name': 'الاسم',
|
|
164
|
+
'quire.space_name_hint': 'الدليل',
|
|
165
|
+
'quire.space_visibility': 'من يمكنه رؤيتها',
|
|
166
|
+
'quire.spaces_error': 'تعذّر تحميل المساحات',
|
|
167
|
+
'quire.spaces_error_desc': 'حاول مرة أخرى بعد قليل.',
|
|
168
|
+
'quire.subtitle': 'مساحات وصفحات ومستندات يكتبها فريقك معًا',
|
|
169
|
+
'quire.title': 'Quire',
|
|
170
|
+
'quire.tree_error': 'تعذّر تحميل شجرة الصفحات',
|
|
171
|
+
'quire.tree_error_desc': 'حاول مرة أخرى بعد قليل.',
|
|
172
|
+
'quire.unarchive': 'إخراج من الأرشيف',
|
|
173
|
+
'quire.unpublished': 'تحتوي هذه المسودة على تغييرات لا يراها القرّاء بعد',
|
|
174
|
+
'quire.untitled': 'بلا عنوان',
|
|
175
|
+
'quire.version_auto': 'أثناء الكتابة',
|
|
176
|
+
'quire.version_imported': 'مستوردة',
|
|
177
|
+
'quire.version_live': 'ما يراه القرّاء',
|
|
178
|
+
'quire.version_published': 'نُشرت',
|
|
179
|
+
'quire.version_restored': 'استُعيدت',
|
|
180
|
+
'quire.visibility_open': 'كل من في مساحة العمل',
|
|
181
|
+
'quire.visibility_private': 'فقط من تضيفهم',
|
|
182
|
+
'quire.visibility_restricted': 'الأعضاء، صفحةً صفحة',
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const de: Record<string, Message> = {
|
|
186
|
+
'quire.archive': 'Archivieren',
|
|
187
|
+
'quire.archived': 'Archiviert',
|
|
188
|
+
'quire.cmd_new_space': 'Neuer Bereich',
|
|
189
|
+
'quire.cmd_open': 'Quire öffnen',
|
|
190
|
+
'quire.collapse': 'Zuklappen',
|
|
191
|
+
'quire.comment_edited': 'bearbeitet',
|
|
192
|
+
'quire.comment_orphaned': 'Der Text, um den es hier ging, wurde gelöscht',
|
|
193
|
+
'quire.comment_placeholder': 'Frag dazu etwas…',
|
|
194
|
+
'quire.comment_post': 'Kommentieren',
|
|
195
|
+
'quire.comment_reply': 'Antworten',
|
|
196
|
+
'quire.comment_resolve': 'Erledigen',
|
|
197
|
+
'quire.comments': 'Kommentare',
|
|
198
|
+
'quire.comments_empty': 'Noch keine Kommentare',
|
|
199
|
+
'quire.comments_empty_desc': 'Markiere Text, um dazu etwas zu fragen.',
|
|
200
|
+
'quire.edited_ago': 'Bearbeitet {when}',
|
|
201
|
+
'quire.editor_mock': 'Nicht mit dem Kollaborationsdienst verbunden',
|
|
202
|
+
'quire.editor_mock_desc':
|
|
203
|
+
'Dies ist die Demo-Oberfläche, hinter der kein Server steht. Was du hier schreibst, wird nicht gespeichert.',
|
|
204
|
+
'quire.editor_no_session': 'Du bist nicht angemeldet',
|
|
205
|
+
'quire.editor_no_session_desc': 'Melde dich erneut an, um in dieser Seite zu schreiben.',
|
|
206
|
+
'quire.editor_placeholder': 'Schreib etwas…',
|
|
207
|
+
'quire.expand': 'Aufklappen',
|
|
208
|
+
'quire.history': 'Versionsverlauf',
|
|
209
|
+
'quire.history_empty': 'Noch nichts gespeichert',
|
|
210
|
+
'quire.history_empty_desc': 'Versionen entstehen beim Schreiben und bei jeder Veröffentlichung.',
|
|
211
|
+
'quire.history_error': 'Der Verlauf konnte nicht geladen werden',
|
|
212
|
+
'quire.kind_live': 'Live-Dokument',
|
|
213
|
+
'quire.move_to_trash': 'In den Papierkorb',
|
|
214
|
+
'quire.nav': 'Quire',
|
|
215
|
+
'quire.new_child_page': 'Neue Seite darin',
|
|
216
|
+
'quire.new_page': 'Neue Seite',
|
|
217
|
+
'quire.new_space': 'Neuer Bereich',
|
|
218
|
+
'quire.new_space_desc':
|
|
219
|
+
'Ein Bereich enthält einen Seitenbaum mit eigenen Mitgliedern und eigenen Berechtigungen.',
|
|
220
|
+
'quire.no_spaces': 'Noch keine Bereiche',
|
|
221
|
+
'quire.no_spaces_desc':
|
|
222
|
+
'In einem Bereich lebt eine Sammlung von Seiten — ein Handbuch, die Notizen eines Teams, die Dokumentation eines Produkts.',
|
|
223
|
+
'quire.page_actions': 'Seitenaktionen',
|
|
224
|
+
'quire.page_error': 'Diese Seite konnte nicht geladen werden',
|
|
225
|
+
'quire.page_error_desc': 'Versuch es gleich noch einmal.',
|
|
226
|
+
'quire.page_missing': 'Seite nicht gefunden',
|
|
227
|
+
'quire.page_missing_desc': 'Vielleicht wurde sie gelöscht, oder du hast keinen Zugriff darauf.',
|
|
228
|
+
'quire.page_title': 'Seitentitel',
|
|
229
|
+
'quire.people_here': {
|
|
230
|
+
one: '{n} weitere Person hier',
|
|
231
|
+
other: '{n} weitere Personen hier',
|
|
232
|
+
},
|
|
233
|
+
'quire.publish': 'Veröffentlichen',
|
|
234
|
+
'quire.restore': 'Wiederherstellen',
|
|
235
|
+
'quire.restoring': 'Wird wiederhergestellt…',
|
|
236
|
+
'quire.revert': 'Entwurf verwerfen',
|
|
237
|
+
'quire.search_none': 'Nichts in diesem Bereich passt.',
|
|
238
|
+
'quire.search_results': 'Ergebnisse',
|
|
239
|
+
'quire.search_space': 'In diesem Bereich suchen',
|
|
240
|
+
'quire.space_description': 'Beschreibung',
|
|
241
|
+
'quire.space_empty': 'Dieser Bereich hat keine Seiten',
|
|
242
|
+
'quire.space_empty_desc': 'Lege die erste Seite an und schreib los.',
|
|
243
|
+
'quire.space_key': 'Adresse',
|
|
244
|
+
'quire.space_key_hint': 'Steht in der Adresse jeder Seite dieses Bereichs.',
|
|
245
|
+
'quire.space_missing': 'Bereich nicht gefunden',
|
|
246
|
+
'quire.space_missing_desc': 'Vielleicht wurde er archiviert, oder du hast keinen Zugriff darauf.',
|
|
247
|
+
'quire.space_name': 'Name',
|
|
248
|
+
'quire.space_name_hint': 'Handbuch',
|
|
249
|
+
'quire.space_visibility': 'Wer ihn sehen kann',
|
|
250
|
+
'quire.spaces_error': 'Die Bereiche konnten nicht geladen werden',
|
|
251
|
+
'quire.spaces_error_desc': 'Versuch es gleich noch einmal.',
|
|
252
|
+
'quire.subtitle': 'Bereiche, Seiten und Dokumente, die euer Team gemeinsam schreibt',
|
|
253
|
+
'quire.title': 'Quire',
|
|
254
|
+
'quire.tree_error': 'Der Seitenbaum konnte nicht geladen werden',
|
|
255
|
+
'quire.tree_error_desc': 'Versuch es gleich noch einmal.',
|
|
256
|
+
'quire.unarchive': 'Aus dem Archiv holen',
|
|
257
|
+
'quire.unpublished': 'Dieser Entwurf hat Änderungen, die Lesende noch nicht sehen',
|
|
258
|
+
'quire.untitled': 'Ohne Titel',
|
|
259
|
+
'quire.version_auto': 'Beim Schreiben',
|
|
260
|
+
'quire.version_imported': 'Importiert',
|
|
261
|
+
'quire.version_live': 'Was Lesende sehen',
|
|
262
|
+
'quire.version_published': 'Veröffentlicht',
|
|
263
|
+
'quire.version_restored': 'Wiederhergestellt',
|
|
264
|
+
'quire.visibility_open': 'Alle im Workspace',
|
|
265
|
+
'quire.visibility_private': 'Nur wer hinzugefügt wird',
|
|
266
|
+
'quire.visibility_restricted': 'Mitglieder, Seite für Seite',
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
const fa: Record<string, Message> = {
|
|
270
|
+
'quire.archive': 'بایگانی کردن',
|
|
271
|
+
'quire.archived': 'بایگانیشده',
|
|
272
|
+
'quire.cmd_new_space': 'فضای تازه',
|
|
273
|
+
'quire.cmd_open': 'باز کردن Quire',
|
|
274
|
+
'quire.collapse': 'بستن',
|
|
275
|
+
'quire.comment_edited': 'ویرایششده',
|
|
276
|
+
'quire.comment_orphaned': 'متنی که این دربارهٔ آن بود حذف شده است',
|
|
277
|
+
'quire.comment_placeholder': 'دربارهٔ این بپرسید…',
|
|
278
|
+
'quire.comment_post': 'ثبت دیدگاه',
|
|
279
|
+
'quire.comment_reply': 'پاسخ',
|
|
280
|
+
'quire.comment_resolve': 'بستن',
|
|
281
|
+
'quire.comments': 'دیدگاهها',
|
|
282
|
+
'quire.comments_empty': 'هنوز دیدگاهی نیست',
|
|
283
|
+
'quire.comments_empty_desc': 'متنی را انتخاب کنید تا دربارهٔ آن بپرسید.',
|
|
284
|
+
'quire.edited_ago': 'ویرایش {when}',
|
|
285
|
+
'quire.editor_mock': 'به سرویس همکاری وصل نیست',
|
|
286
|
+
'quire.editor_mock_desc': 'این نسخهٔ نمایشی است و سروری پشت آن نیست. آنچه اینجا بنویسید ذخیره نمیشود.',
|
|
287
|
+
'quire.editor_no_session': 'وارد نشدهاید',
|
|
288
|
+
'quire.editor_no_session_desc': 'برای نوشتن در این صفحه دوباره وارد شوید.',
|
|
289
|
+
'quire.editor_placeholder': 'چیزی بنویسید…',
|
|
290
|
+
'quire.expand': 'باز کردن',
|
|
291
|
+
'quire.history': 'تاریخچهٔ نسخهها',
|
|
292
|
+
'quire.history_empty': 'هنوز چیزی ذخیره نشده',
|
|
293
|
+
'quire.history_empty_desc': 'نسخهها همانطور که صفحه نوشته میشود و هر بار که منتشر شود نگه داشته میشوند.',
|
|
294
|
+
'quire.history_error': 'تاریخچه بارگذاری نشد',
|
|
295
|
+
'quire.kind_live': 'سند زنده',
|
|
296
|
+
'quire.move_to_trash': 'انتقال به زبالهدان',
|
|
297
|
+
'quire.nav': 'Quire',
|
|
298
|
+
'quire.new_child_page': 'صفحهٔ تازه درون این صفحه',
|
|
299
|
+
'quire.new_page': 'صفحهٔ تازه',
|
|
300
|
+
'quire.new_space': 'فضای تازه',
|
|
301
|
+
'quire.new_space_desc': 'هر فضا درختی از صفحهها را نگه میدارد، با اعضا و دسترسیهای خودش.',
|
|
302
|
+
'quire.no_spaces': 'هنوز فضایی ساخته نشده',
|
|
303
|
+
'quire.no_spaces_desc':
|
|
304
|
+
'فضا جایی است که مجموعهای از صفحهها در آن جا میگیرد؛ یک راهنما، یادداشتهای یک تیم، یا مستندات یک محصول.',
|
|
305
|
+
'quire.page_actions': 'کنشهای صفحه',
|
|
306
|
+
'quire.page_error': 'این صفحه بارگذاری نشد',
|
|
307
|
+
'quire.page_error_desc': 'چند لحظه بعد دوباره تلاش کنید.',
|
|
308
|
+
'quire.page_missing': 'صفحه پیدا نشد',
|
|
309
|
+
'quire.page_missing_desc': 'شاید حذف شده باشد، یا شما به آن دسترسی نداشته باشید.',
|
|
310
|
+
'quire.page_title': 'عنوان صفحه',
|
|
311
|
+
'quire.people_here': {
|
|
312
|
+
one: '{n} نفر دیگر اینجاست',
|
|
313
|
+
other: '{n} نفر دیگر اینجا هستند',
|
|
314
|
+
},
|
|
315
|
+
'quire.publish': 'انتشار',
|
|
316
|
+
'quire.restore': 'بازگرداندن',
|
|
317
|
+
'quire.restoring': 'در حال بازگرداندن…',
|
|
318
|
+
'quire.revert': 'دور انداختن پیشنویس',
|
|
319
|
+
'quire.search_none': 'چیزی در این فضا پیدا نشد.',
|
|
320
|
+
'quire.search_results': 'نتیجهها',
|
|
321
|
+
'quire.search_space': 'جستوجو در این فضا',
|
|
322
|
+
'quire.space_description': 'توضیح',
|
|
323
|
+
'quire.space_empty': 'این فضا هیچ صفحهای ندارد',
|
|
324
|
+
'quire.space_empty_desc': 'نخستین صفحه را بسازید و بنویسید.',
|
|
325
|
+
'quire.space_key': 'نشانی',
|
|
326
|
+
'quire.space_key_hint': 'در نشانی همهٔ صفحههای این فضا به کار میرود.',
|
|
327
|
+
'quire.space_missing': 'فضا پیدا نشد',
|
|
328
|
+
'quire.space_missing_desc': 'شاید بایگانی شده باشد، یا شما به آن دسترسی نداشته باشید.',
|
|
329
|
+
'quire.space_name': 'نام',
|
|
330
|
+
'quire.space_name_hint': 'راهنما',
|
|
331
|
+
'quire.space_visibility': 'چه کسانی میبینند',
|
|
332
|
+
'quire.spaces_error': 'فضاها بارگذاری نشد',
|
|
333
|
+
'quire.spaces_error_desc': 'چند لحظه بعد دوباره تلاش کنید.',
|
|
334
|
+
'quire.subtitle': 'فضاها، صفحهها و سندهایی که تیم با هم مینویسد',
|
|
335
|
+
'quire.title': 'Quire',
|
|
336
|
+
'quire.tree_error': 'درخت صفحهها بارگذاری نشد',
|
|
337
|
+
'quire.tree_error_desc': 'چند لحظه بعد دوباره تلاش کنید.',
|
|
338
|
+
'quire.unarchive': 'خارج کردن از بایگانی',
|
|
339
|
+
'quire.unpublished': 'این پیشنویس تغییرهایی دارد که خوانندگان هنوز نمیبینند',
|
|
340
|
+
'quire.untitled': 'بیعنوان',
|
|
341
|
+
'quire.version_auto': 'هنگام نوشتن',
|
|
342
|
+
'quire.version_imported': 'وارد شد',
|
|
343
|
+
'quire.version_live': 'آنچه خوانندگان میبینند',
|
|
344
|
+
'quire.version_published': 'منتشر شد',
|
|
345
|
+
'quire.version_restored': 'بازگردانده شد',
|
|
346
|
+
'quire.visibility_open': 'همهٔ اعضای فضای کاری',
|
|
347
|
+
'quire.visibility_private': 'فقط کسانی که اضافه میکنید',
|
|
348
|
+
'quire.visibility_restricted': 'اعضا، صفحه به صفحه',
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
const tr: Record<string, Message> = {
|
|
352
|
+
'quire.archive': 'Arşivle',
|
|
353
|
+
'quire.archived': 'Arşivlendi',
|
|
354
|
+
'quire.cmd_new_space': 'Yeni alan',
|
|
355
|
+
'quire.cmd_open': 'Quire’ı aç',
|
|
356
|
+
'quire.collapse': 'Daralt',
|
|
357
|
+
'quire.comment_edited': 'düzenlendi',
|
|
358
|
+
'quire.comment_orphaned': 'Bunun konusu olan metin silinmiş',
|
|
359
|
+
'quire.comment_placeholder': 'Bunun hakkında sorun…',
|
|
360
|
+
'quire.comment_post': 'Yorumla',
|
|
361
|
+
'quire.comment_reply': 'Yanıtla',
|
|
362
|
+
'quire.comment_resolve': 'Kapat',
|
|
363
|
+
'quire.comments': 'Yorumlar',
|
|
364
|
+
'quire.comments_empty': 'Henüz yorum yok',
|
|
365
|
+
'quire.comments_empty_desc': 'Hakkında soru sormak için bir metin seçin.',
|
|
366
|
+
'quire.edited_ago': '{when} düzenlendi',
|
|
367
|
+
'quire.editor_mock': 'İş birliği hizmetine bağlı değil',
|
|
368
|
+
'quire.editor_mock_desc': 'Bu, arkasında sunucu olmayan tanıtım arayüzü. Burada yazdıklarınız kaydedilmez.',
|
|
369
|
+
'quire.editor_no_session': 'Oturum açmadınız',
|
|
370
|
+
'quire.editor_no_session_desc': 'Bu sayfada yazmak için yeniden oturum açın.',
|
|
371
|
+
'quire.editor_placeholder': 'Bir şeyler yazın…',
|
|
372
|
+
'quire.expand': 'Genişlet',
|
|
373
|
+
'quire.history': 'Sürüm geçmişi',
|
|
374
|
+
'quire.history_empty': 'Henüz kayıt yok',
|
|
375
|
+
'quire.history_empty_desc': 'Sürümler sayfa yazılırken ve her yayımlamada saklanır.',
|
|
376
|
+
'quire.history_error': 'Geçmiş yüklenemedi',
|
|
377
|
+
'quire.kind_live': 'Canlı belge',
|
|
378
|
+
'quire.move_to_trash': 'Çöp kutusuna taşı',
|
|
379
|
+
'quire.nav': 'Quire',
|
|
380
|
+
'quire.new_child_page': 'Bunun içinde yeni sayfa',
|
|
381
|
+
'quire.new_page': 'Yeni sayfa',
|
|
382
|
+
'quire.new_space': 'Yeni alan',
|
|
383
|
+
'quire.new_space_desc': 'Bir alan, kendi üyeleri ve kendi izinleriyle bir sayfa ağacı tutar.',
|
|
384
|
+
'quire.no_spaces': 'Henüz alan yok',
|
|
385
|
+
'quire.no_spaces_desc':
|
|
386
|
+
'Alan, bir sayfa kümesinin yaşadığı yerdir: bir el kitabı, bir ekibin notları ya da bir ürünün belgeleri.',
|
|
387
|
+
'quire.page_actions': 'Sayfa işlemleri',
|
|
388
|
+
'quire.page_error': 'Bu sayfa yüklenemedi',
|
|
389
|
+
'quire.page_error_desc': 'Birazdan tekrar deneyin.',
|
|
390
|
+
'quire.page_missing': 'Sayfa bulunamadı',
|
|
391
|
+
'quire.page_missing_desc': 'Silinmiş olabilir ya da erişiminiz olmayabilir.',
|
|
392
|
+
'quire.page_title': 'Sayfa başlığı',
|
|
393
|
+
'quire.people_here': {
|
|
394
|
+
one: '{n} kişi daha burada',
|
|
395
|
+
other: '{n} kişi daha burada',
|
|
396
|
+
},
|
|
397
|
+
'quire.publish': 'Yayımla',
|
|
398
|
+
'quire.restore': 'Geri yükle',
|
|
399
|
+
'quire.restoring': 'Geri yükleniyor…',
|
|
400
|
+
'quire.revert': 'Taslağı at',
|
|
401
|
+
'quire.search_none': 'Bu alanda eşleşen bir şey yok.',
|
|
402
|
+
'quire.search_results': 'Sonuçlar',
|
|
403
|
+
'quire.search_space': 'Bu alanda ara',
|
|
404
|
+
'quire.space_description': 'Açıklama',
|
|
405
|
+
'quire.space_empty': 'Bu alanda sayfa yok',
|
|
406
|
+
'quire.space_empty_desc': 'İlk sayfayı oluşturun ve yazmaya başlayın.',
|
|
407
|
+
'quire.space_key': 'Adres',
|
|
408
|
+
'quire.space_key_hint': 'Bu alandaki her sayfanın adresinde kullanılır.',
|
|
409
|
+
'quire.space_missing': 'Alan bulunamadı',
|
|
410
|
+
'quire.space_missing_desc': 'Arşivlenmiş olabilir ya da erişiminiz olmayabilir.',
|
|
411
|
+
'quire.space_name': 'Ad',
|
|
412
|
+
'quire.space_name_hint': 'El kitabı',
|
|
413
|
+
'quire.space_visibility': 'Kimler görebilir',
|
|
414
|
+
'quire.spaces_error': 'Alanlar yüklenemedi',
|
|
415
|
+
'quire.spaces_error_desc': 'Birazdan tekrar deneyin.',
|
|
416
|
+
'quire.subtitle': 'Ekibinizin birlikte yazdığı alanlar, sayfalar ve belgeler',
|
|
417
|
+
'quire.title': 'Quire',
|
|
418
|
+
'quire.tree_error': 'Sayfa ağacı yüklenemedi',
|
|
419
|
+
'quire.tree_error_desc': 'Birazdan tekrar deneyin.',
|
|
420
|
+
'quire.unarchive': 'Arşivden çıkar',
|
|
421
|
+
'quire.unpublished': 'Bu taslakta okuyucuların henüz göremediği değişiklikler var',
|
|
422
|
+
'quire.untitled': 'Adsız',
|
|
423
|
+
'quire.version_auto': 'Yazarken',
|
|
424
|
+
'quire.version_imported': 'İçe aktarıldı',
|
|
425
|
+
'quire.version_live': 'Okuyucuların gördüğü',
|
|
426
|
+
'quire.version_published': 'Yayımlandı',
|
|
427
|
+
'quire.version_restored': 'Geri yüklendi',
|
|
428
|
+
'quire.visibility_open': 'Çalışma alanındaki herkes',
|
|
429
|
+
'quire.visibility_private': 'Yalnızca eklediğiniz kişiler',
|
|
430
|
+
'quire.visibility_restricted': 'Üyeler, sayfa sayfa',
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/** In the shape `defineClientModule().messages` expects. */
|
|
434
|
+
export const quireMessageBundles = {
|
|
435
|
+
ar: async () => ar,
|
|
436
|
+
de: async () => de,
|
|
437
|
+
en: async () => en,
|
|
438
|
+
fa: async () => fa,
|
|
439
|
+
tr: async () => tr,
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
/** `t('settings_nav')` — the module id is implied. */
|
|
443
|
+
export const t = scopedT('quire')
|
package/src/client/index.ts
CHANGED
|
@@ -55,16 +55,6 @@ export function pageDocumentName(page: { workspaceId: Page['workspaceId']; id: s
|
|
|
55
55
|
})
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
/** The permission keys, so the app gates on a constant rather than a string it retyped. */
|
|
59
|
-
export const QUIRE_PERMISSIONS = {
|
|
60
|
-
spaceView: 'quire.space.view',
|
|
61
|
-
spaceManage: 'quire.space.manage',
|
|
62
|
-
pageView: 'quire.page.view',
|
|
63
|
-
pageCreate: 'quire.page.create',
|
|
64
|
-
pageEdit: 'quire.page.edit',
|
|
65
|
-
pageDelete: 'quire.page.delete',
|
|
66
|
-
} as const
|
|
67
|
-
|
|
68
58
|
/**
|
|
69
59
|
* Build the sidebar tree from the flat, position-ordered list `pages.tree` returns.
|
|
70
60
|
*
|
|
@@ -87,3 +77,7 @@ export function buildPageTree(nodes: readonly PageNode[]): PageTreeNode[] {
|
|
|
87
77
|
}
|
|
88
78
|
return roots
|
|
89
79
|
}
|
|
80
|
+
export { __setQuireApi, getQuireApi } from './api-instance.js'
|
|
81
|
+
export { type QuireMessageKey, quireMessageBundles, t } from './i18n.js'
|
|
82
|
+
export { quireClientModule, quireClientModule as default } from './module.js'
|
|
83
|
+
export { canQuire, QUIRE_PERMISSIONS, type QuirePermission } from './permissions.js'
|