@allbluecn/shared 0.2.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 (95) hide show
  1. package/package.json +117 -0
  2. package/src/constants/perf.ts +21 -0
  3. package/src/i18n/client.ts +32 -0
  4. package/src/i18n/config.ts +104 -0
  5. package/src/i18n/detect.ts +43 -0
  6. package/src/i18n/locales/en/agents.json +134 -0
  7. package/src/i18n/locales/en/apps.json +6 -0
  8. package/src/i18n/locales/en/auth.json +88 -0
  9. package/src/i18n/locales/en/billing.json +78 -0
  10. package/src/i18n/locales/en/chat.json +194 -0
  11. package/src/i18n/locales/en/common.json +203 -0
  12. package/src/i18n/locales/en/dashboard.json +38 -0
  13. package/src/i18n/locales/en/design.json +70 -0
  14. package/src/i18n/locales/en/desktop.json +35 -0
  15. package/src/i18n/locales/en/display.json +37 -0
  16. package/src/i18n/locales/en/editor.json +304 -0
  17. package/src/i18n/locales/en/enterprise.json +1 -0
  18. package/src/i18n/locales/en/invite.json +11 -0
  19. package/src/i18n/locales/en/knowledge.json +451 -0
  20. package/src/i18n/locales/en/mindmap.json +28 -0
  21. package/src/i18n/locales/en/prd.json +43 -0
  22. package/src/i18n/locales/en/projects.json +133 -0
  23. package/src/i18n/locales/en/settings.json +375 -0
  24. package/src/i18n/locales/en/share.json +20 -0
  25. package/src/i18n/locales/en/story.json +785 -0
  26. package/src/i18n/locales/en/tags.json +42 -0
  27. package/src/i18n/locales/en/workspace.json +90 -0
  28. package/src/i18n/locales/zh/agents.json +134 -0
  29. package/src/i18n/locales/zh/apps.json +6 -0
  30. package/src/i18n/locales/zh/auth.json +88 -0
  31. package/src/i18n/locales/zh/billing.json +78 -0
  32. package/src/i18n/locales/zh/chat.json +194 -0
  33. package/src/i18n/locales/zh/common.json +203 -0
  34. package/src/i18n/locales/zh/dashboard.json +38 -0
  35. package/src/i18n/locales/zh/design.json +70 -0
  36. package/src/i18n/locales/zh/desktop.json +35 -0
  37. package/src/i18n/locales/zh/display.json +37 -0
  38. package/src/i18n/locales/zh/editor.json +304 -0
  39. package/src/i18n/locales/zh/enterprise.json +1 -0
  40. package/src/i18n/locales/zh/invite.json +11 -0
  41. package/src/i18n/locales/zh/knowledge.json +451 -0
  42. package/src/i18n/locales/zh/mindmap.json +28 -0
  43. package/src/i18n/locales/zh/prd.json +43 -0
  44. package/src/i18n/locales/zh/projects.json +133 -0
  45. package/src/i18n/locales/zh/settings.json +375 -0
  46. package/src/i18n/locales/zh/share.json +20 -0
  47. package/src/i18n/locales/zh/story.json +785 -0
  48. package/src/i18n/locales/zh/tags.json +42 -0
  49. package/src/i18n/locales/zh/workspace.json +90 -0
  50. package/src/i18n/server.ts +18 -0
  51. package/src/i18n/types.ts +5 -0
  52. package/src/index.ts +90 -0
  53. package/src/infrastructure/ai/adapter.ts +59 -0
  54. package/src/infrastructure/ai/cli-detector.ts +64 -0
  55. package/src/infrastructure/ip-location.ts +76 -0
  56. package/src/infrastructure/references/engine.ts +104 -0
  57. package/src/infrastructure/ua-parser.ts +107 -0
  58. package/src/interfaces/ai.ts +38 -0
  59. package/src/interfaces/avatar.ts +22 -0
  60. package/src/interfaces/module.ts +60 -0
  61. package/src/interfaces/references.ts +44 -0
  62. package/src/interfaces/transport.ts +26 -0
  63. package/src/lib/annotation-template.ts +33 -0
  64. package/src/lib/comment-utils.ts +47 -0
  65. package/src/lib/datetime.ts +115 -0
  66. package/src/lib/desktop-detect.ts +27 -0
  67. package/src/lib/outline-utils.ts +57 -0
  68. package/src/lib/pacer.ts +96 -0
  69. package/src/lib/prd/stack-layout.ts +53 -0
  70. package/src/lib/prd-tree-utils.ts +94 -0
  71. package/src/lib/prototype-registry.ts +24 -0
  72. package/src/lib/query-client-seam.ts +14 -0
  73. package/src/lib/share-events.ts +78 -0
  74. package/src/lib/sidebar-utils.ts +21 -0
  75. package/src/lib/stores/prd-canvas-store.ts +69 -0
  76. package/src/lib/tag-colors.ts +35 -0
  77. package/src/lib/time-format.ts +50 -0
  78. package/src/modules/ai-providers/constants.ts +79 -0
  79. package/src/modules/ai-providers/index.ts +21 -0
  80. package/src/modules/ai-providers/seed-data.ts +222 -0
  81. package/src/modules/ai-providers/types.ts +95 -0
  82. package/src/modules/billing/feature-registry.ts +63 -0
  83. package/src/modules/billing/plan-features-schema.ts +11 -0
  84. package/src/modules/billing/resource-registry.ts +80 -0
  85. package/src/modules/definitions/plugin.module.ts +38 -0
  86. package/src/modules/definitions/prd.module.ts +45 -0
  87. package/src/modules/definitions/prototype.module.ts +38 -0
  88. package/src/modules/dependencies/index.ts +186 -0
  89. package/src/modules/register-defaults.ts +27 -0
  90. package/src/modules/registry.ts +53 -0
  91. package/src/server-seam.ts +51 -0
  92. package/src/types/outline.ts +26 -0
  93. package/src/types/prd.ts +90 -0
  94. package/src/types/prototype.ts +12 -0
  95. package/src/virtual.d.ts +4 -0
@@ -0,0 +1,451 @@
1
+ {
2
+ "index": {
3
+ "title": "Knowledge Base",
4
+ "subtitle": "Manage your knowledge bases and documents",
5
+ "createKb": "New Knowledge Base",
6
+ "emptyTitle": "No knowledge base yet",
7
+ "emptyDesc": "Create a knowledge base to start organizing your materials",
8
+ "noDescription": "No description",
9
+ "team": "Team",
10
+ "private": "Private"
11
+ },
12
+ "workspace": {
13
+ "kbNotFound": "Knowledge base not found or no permission",
14
+ "backToList": "Back to knowledge bases"
15
+ },
16
+ "doc": {
17
+ "onlineSheet": "Online Sheet",
18
+ "onlineSheetComingSoon": "Online sheet coming soon",
19
+ "multiTable": "Database",
20
+ "multiTableComingSoon": "Database coming soon",
21
+ "unknownType": "Unknown type",
22
+ "unsupportedType": "Unsupported document type"
23
+ },
24
+ "summary": {
25
+ "titleWeekly": "Weekly",
26
+ "titleMonthly": "Monthly",
27
+ "type": "Type",
28
+ "year": "Year",
29
+ "month": "Month",
30
+ "week": "Week",
31
+ "all": "All",
32
+ "weekSuffix": "wk",
33
+ "yearSuffix": "",
34
+ "weekNum": "Week {{week}}",
35
+ "monthly": "Monthly",
36
+ "weekly": "Weekly",
37
+ "empty": "No content yet",
38
+ "months": [
39
+ "Jan",
40
+ "Feb",
41
+ "Mar",
42
+ "Apr",
43
+ "May",
44
+ "Jun",
45
+ "Jul",
46
+ "Aug",
47
+ "Sep",
48
+ "Oct",
49
+ "Nov",
50
+ "Dec"
51
+ ],
52
+ "dateFormat": "{{month}}/{{day}}",
53
+ "monthFirstDay": "{{month}}/1",
54
+ "weeklyTitle": "{{monthName}} Week {{week}} Report",
55
+ "monthlyTitle": "{{monthName}} Report",
56
+ "weeklyMockSummary": "This week focused on project progress tracking, team coordination, and advancing key tasks to keep everything on schedule.",
57
+ "monthlyMockSummary": "The month progressed smoothly with strong core metric achievement and improved team efficiency; next month will continue optimizing processes and advancing key projects."
58
+ },
59
+ "bookmarks": {
60
+ "index": {
61
+ "titleA": "Websites",
62
+ "titleB": "Bookmarks",
63
+ "addSite": "Add Website",
64
+ "empty": "No bookmarks yet",
65
+ "synced": "Synced",
66
+ "syncFailed": "Sync failed",
67
+ "operationFailed": "Operation failed",
68
+ "favorited": "Added to favorites",
69
+ "unfavorited": "Removed from favorites",
70
+ "unshared": "Unshared"
71
+ },
72
+ "detail": {
73
+ "loading": "Loading...",
74
+ "loadFailed": "Failed to load or bookmark not found",
75
+ "backToList": "Back to list",
76
+ "required": "Please fill in name and URL",
77
+ "saved": "Saved",
78
+ "urlChanged": "URL changed, GitHub data and favicon will be re-parsed in background",
79
+ "saveFailed": "Save failed",
80
+ "shareFailed": "Share failed",
81
+ "unshareFailed": "Unshare failed",
82
+ "back": "Back",
83
+ "editTitle": "Edit Bookmark",
84
+ "newTitle": "New Bookmark",
85
+ "sharedPublic": "Shared to public",
86
+ "name": "Name *",
87
+ "url": "URL *",
88
+ "urlChangeHint": "Changing the URL will re-parse GitHub data and favicon",
89
+ "category": "Category",
90
+ "selectCategory": "Select category",
91
+ "summary": "Summary",
92
+ "tags": "Tags",
93
+ "tagPlaceholder": "Type a tag and press Enter",
94
+ "add": "Add",
95
+ "adding": "Adding...",
96
+ "saving": "Saving...",
97
+ "save": "Save",
98
+ "cancel": "Cancel",
99
+ "sharing": "Sharing...",
100
+ "sharePublic": "Share to public",
101
+ "processing": "Processing...",
102
+ "unshare": "Unshare",
103
+ "preview": "Preview",
104
+ "unshared": "Unshared",
105
+ "createFailed": "Failed to create category",
106
+ "addFailed": "Add failed",
107
+ "addedSync": "Added, syncing",
108
+ "deleted": "Deleted",
109
+ "deleteFailed": "Delete failed",
110
+ "newCategoryName": "Enter category name",
111
+ "addCategory": "New category",
112
+ "create": "Create",
113
+ "delete": "Delete",
114
+ "confirmDelete": "Confirm delete",
115
+ "cancelDeleteAria": "Cancel delete"
116
+ }
117
+ },
118
+ "tagFilter": {
119
+ "label": "Tags",
120
+ "all": "All"
121
+ },
122
+ "knowledgeSearch": {
123
+ "placeholder": "Search...",
124
+ "new": "New"
125
+ },
126
+ "knowledgeGrid": {
127
+ "empty": "No content yet"
128
+ },
129
+ "sharers": {
130
+ "me": "{{name}} (me)",
131
+ "count": "{{count}} sharers"
132
+ },
133
+ "bookmarkCard": {
134
+ "edit": "Edit",
135
+ "sync": "Re-sync",
136
+ "updatedAt": "Updated",
137
+ "bookmark": "Bookmark",
138
+ "unbookmark": "Unbookmark",
139
+ "share": "Share",
140
+ "shared": "Shared",
141
+ "shareToggle": "Toggle sharing",
142
+ "today": "Today",
143
+ "daysAgo": "{{days}} days ago",
144
+ "monthsAgo": "{{months}} months ago",
145
+ "yearsAgo": "{{years}} years ago"
146
+ },
147
+ "markdownEditor": {
148
+ "edit": "Edit",
149
+ "preview": "Preview"
150
+ },
151
+ "markdownView": {
152
+ "empty": "No content yet"
153
+ },
154
+ "compliance": {
155
+ "index": {
156
+ "titleA": "Industry",
157
+ "titleB": "Compliance",
158
+ "untitled": "Untitled compliance",
159
+ "add": "Add Compliance",
160
+ "industry": "Industry"
161
+ },
162
+ "industries": {
163
+ "internet": "Internet",
164
+ "finance": "Finance",
165
+ "medical": "Healthcare",
166
+ "education": "Education",
167
+ "manufacturing": "Manufacturing",
168
+ "energy": "Energy",
169
+ "transportation": "Transportation",
170
+ "ecommerce": "E-commerce",
171
+ "gaming": "Gaming",
172
+ "general": "General"
173
+ },
174
+ "detail": {
175
+ "deleted": "Deleted",
176
+ "deleteFailed": "Delete failed",
177
+ "favorited": "Added to favorites",
178
+ "unfavorited": "Removed from favorites",
179
+ "backToList": "Back to list",
180
+ "delete": "Delete",
181
+ "confirmDeleteTitle": "Confirm delete",
182
+ "confirmDeleteDesc": "This cannot be undone. Are you sure?",
183
+ "cancel": "Cancel",
184
+ "edit": "Edit",
185
+ "share": "Share",
186
+ "unshared": "Unshared from public plaza",
187
+ "unshareFailed": "Unshare failed",
188
+ "unshare": "Unshare",
189
+ "shareFailed": "Share failed",
190
+ "sharePublic": "Share to public plaza",
191
+ "copyLink": "Copy link",
192
+ "linkCopied": "Link copied",
193
+ "favorite": "Favorite",
194
+ "unfavorite": "Unfavorite",
195
+ "copyShareLink": "Copy share link"
196
+ }
197
+ },
198
+ "laws": {
199
+ "index": {
200
+ "titleA": "Laws",
201
+ "titleB": "Regulations",
202
+ "untitled": "Untitled regulation",
203
+ "add": "Add Regulation",
204
+ "jurisdiction": "Jurisdiction",
205
+ "sort": "Sort",
206
+ "sortDefault": "Default",
207
+ "sortEffectiveDate": "Effective date"
208
+ },
209
+ "detail": {
210
+ "deleted": "Deleted",
211
+ "deleteFailed": "Delete failed",
212
+ "favorited": "Added to favorites",
213
+ "unfavorited": "Removed from favorites",
214
+ "backToList": "Back to list",
215
+ "delete": "Delete",
216
+ "confirmDeleteTitle": "Confirm delete",
217
+ "confirmDeleteDesc": "This cannot be undone. Are you sure?",
218
+ "cancel": "Cancel",
219
+ "edit": "Edit",
220
+ "share": "Share",
221
+ "unshared": "Unshared from public plaza",
222
+ "unshareFailed": "Unshare failed",
223
+ "unshare": "Unshare",
224
+ "shareFailed": "Share failed",
225
+ "sharePublic": "Share to public plaza",
226
+ "copyLink": "Copy link",
227
+ "linkCopied": "Link copied",
228
+ "favorite": "Favorite",
229
+ "unfavorite": "Unfavorite",
230
+ "copyShareLink": "Copy share link"
231
+ }
232
+ },
233
+ "dictionaries": {
234
+ "index": {
235
+ "titleA": "Dictionary",
236
+ "titleB": "Terms",
237
+ "add": "Add Term",
238
+ "industry": "Industry"
239
+ },
240
+ "detail": {
241
+ "backToList": "Back to list",
242
+ "sharePublic": "Share to public",
243
+ "examples": "Examples",
244
+ "viewReference": "View reference source"
245
+ }
246
+ },
247
+ "filters": {
248
+ "scope": "Scope",
249
+ "all": "All",
250
+ "private": "Private",
251
+ "share": "Shared",
252
+ "favorite": "Favorites"
253
+ },
254
+ "legalEditor": {
255
+ "jurisdiction": {
256
+ "CN_NATIONAL": "National",
257
+ "CN_LOCAL": "Local",
258
+ "OVERSEAS": "Overseas"
259
+ },
260
+ "fields": {
261
+ "code": "Document Number",
262
+ "category": "Category",
263
+ "jurisdiction": "Jurisdiction",
264
+ "region": "Province/City",
265
+ "country": "Country/Region",
266
+ "issuingAuthority": "Issuing Authority",
267
+ "effectiveDate": "Effective Date",
268
+ "sourceUrl": "Source"
269
+ }
270
+ },
271
+ "public": {
272
+ "legal-form": {
273
+ "title": {
274
+ "create": "Create Regulation",
275
+ "edit": "Edit Regulation"
276
+ },
277
+ "loading": "Loading...",
278
+ "code": "Document Number",
279
+ "category": "Category",
280
+ "category-placeholder": "e.g. Law, Administrative Regulation",
281
+ "jurisdiction": "Jurisdiction",
282
+ "region": "Province/City",
283
+ "region-placeholder": "e.g. Beijing",
284
+ "country": "Country/Region",
285
+ "country-placeholder": "e.g. United States",
286
+ "issuing-authority": "Issuing Authority",
287
+ "authority-placeholder": "e.g. NPC",
288
+ "effective-date": "Effective Date",
289
+ "summary": "Summary",
290
+ "content": "Content",
291
+ "content-placeholder": "Enter regulation content, Markdown supported",
292
+ "source-url": "Source URL",
293
+ "tags": "Tags",
294
+ "optional": "Optional",
295
+ "cancel": "Cancel",
296
+ "save": "Save",
297
+ "saving": "Saving...",
298
+ "jurisdiction": "Jurisdiction",
299
+ "jurisdiction-options": {
300
+ "CN_NATIONAL": "National",
301
+ "CN_LOCAL": "Local",
302
+ "OVERSEAS": "Overseas"
303
+ },
304
+ "industry": {
305
+ "通用": "General",
306
+ "互联网": "Internet",
307
+ "金融": "Finance",
308
+ "医疗": "Healthcare",
309
+ "教育": "Education",
310
+ "制造业": "Manufacturing",
311
+ "能源": "Energy",
312
+ "交通": "Transportation",
313
+ "电商": "E-commerce",
314
+ "游戏": "Gaming"
315
+ }
316
+ },
317
+ "compliance-form": {
318
+ "title": {
319
+ "create": "Create Compliance",
320
+ "edit": "Edit Compliance"
321
+ },
322
+ "clause-number": "Clause Number",
323
+ "industry": "Industry",
324
+ "regulatory-body": "Regulatory Body",
325
+ "region": "Region",
326
+ "requirements": "Compliance Requirements",
327
+ "add-one": "Add one",
328
+ "req-title": "Requirement title",
329
+ "req-detail": "Requirement detail"
330
+ },
331
+ "dictionary-form": {
332
+ "title": {
333
+ "create": "Create Term",
334
+ "edit": "Edit Term"
335
+ },
336
+ "term-name": "Term Name",
337
+ "definition": "Definition",
338
+ "aliases": "Aliases",
339
+ "examples": "Examples",
340
+ "reference-url": "Reference URL"
341
+ },
342
+ "knowledge-form": {
343
+ "name": "Name",
344
+ "name-required": "Please enter a name",
345
+ "updated": "Updated",
346
+ "created": "Created",
347
+ "save-failed": "Save failed"
348
+ },
349
+ "legal-compliance": {
350
+ "loading": "Loading...",
351
+ "back-to-preview": "Back to preview"
352
+ },
353
+ "untitled-legal": "Untitled Regulation",
354
+ "untitled-compliance": "Untitled Compliance"
355
+ },
356
+ "home": {
357
+ "home": "Home",
358
+ "overview": "Overview",
359
+ "docCount": "Documents",
360
+ "recentUpdate": "Recently Updated",
361
+ "recentDocs": "Recent Documents"
362
+ },
363
+ "toolbar": {
364
+ "doc": "Document",
365
+ "mindmap": "Mind Map",
366
+ "sheet": "Online Sheet",
367
+ "table": "Database",
368
+ "docNamePlaceholder": "Enter document name",
369
+ "cancel": "Cancel",
370
+ "create": "Create",
371
+ "createDoc": "New Document",
372
+ "team": "Team",
373
+ "private": "Private",
374
+ "nameSettings": "Name & Settings",
375
+ "pageWidth": "Page Width",
376
+ "widthAuto": "Standard",
377
+ "widthWider": "Wider",
378
+ "widthFull": "Full",
379
+ "kbOwnership": "Knowledge Base Ownership",
380
+ "deleteKb": "Delete Knowledge Base",
381
+ "deleteKbConfirm": "Delete \"{{name}}\"? This cannot be undone.",
382
+ "deleteKbPlaceholder": "Type knowledge base name to confirm",
383
+ "deleting": "Deleting...",
384
+ "confirmDelete": "Confirm Delete",
385
+ "selectDocType": "Choose document type"
386
+ },
387
+ "treeType": {
388
+ "doc": "Document",
389
+ "mindmap": "Mind Map",
390
+ "sheet": "Online Sheet",
391
+ "table": "Database"
392
+ },
393
+ "docProps": {
394
+ "title": "Properties",
395
+ "selectPlaceholder": "Select",
396
+ "tagsPlaceholder": "Comma separated",
397
+ "urlPlaceholder": "https://..."
398
+ },
399
+ "docHeader": {
400
+ "titlePlaceholder": "Enter title",
401
+ "unknownUser": "Unknown user",
402
+ "selectTags": "Select tags",
403
+ "addProperty": "Add property"
404
+ },
405
+ "knowledgeTree": {
406
+ "depthLimit": "Max depth reached",
407
+ "rename": "Rename",
408
+ "delete": "Delete",
409
+ "deleteDoc": "Delete Document",
410
+ "deleteConfirm": "Delete \"{{name}}\"?",
411
+ "deletePlaceholder": "Type document name to confirm",
412
+ "deleting": "Deleting...",
413
+ "confirmDelete": "Confirm Delete",
414
+ "cancel": "Cancel"
415
+ },
416
+ "untitledDoc": "Untitled Document",
417
+ "untitledMindmap": "Untitled Mind Map",
418
+ "untitledSheet": "Untitled Sheet",
419
+ "untitledTable": "Untitled Database",
420
+ "untitledLegal": "Untitled Regulation",
421
+ "untitledCompliance": "Untitled Compliance",
422
+ "kbForm": {
423
+ "title": {
424
+ "create": "New Knowledge Base",
425
+ "edit": "Edit Knowledge Base"
426
+ },
427
+ "description": {
428
+ "create": "Create a new knowledge base to organize your materials",
429
+ "edit": "Modify knowledge base information"
430
+ },
431
+ "nameLabel": "Name *",
432
+ "namePlaceholder": "Enter knowledge base name",
433
+ "descriptionLabel": "Description",
434
+ "descriptionPlaceholder": "Brief description (optional)",
435
+ "nameRequired": "Please enter a knowledge base name",
436
+ "saveFailed": "Save failed",
437
+ "cancel": "Cancel",
438
+ "saving": "Saving...",
439
+ "save": "Save",
440
+ "create": "Create"
441
+ },
442
+ "complianceEditor": {
443
+ "fields": {
444
+ "code": "Clause number",
445
+ "industry": "Industry",
446
+ "regulatoryBody": "Regulatory body",
447
+ "region": "Region",
448
+ "sourceUrl": "Source"
449
+ }
450
+ }
451
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "toolbar": {
3
+ "close": "Close",
4
+ "zoomIn": "Zoom in",
5
+ "zoomOut": "Zoom out",
6
+ "fit": "Fit to screen",
7
+ "fullscreen": "Fullscreen edit",
8
+ "export": "Export as image",
9
+ "layoutLeft": "Left layout",
10
+ "layoutRight": "Right layout",
11
+ "layoutBalance": "Balanced layout"
12
+ },
13
+ "fullscreen": {
14
+ "title": "Mind map editor"
15
+ },
16
+ "saving": "Saving...",
17
+ "titlePlaceholder": "Enter title",
18
+ "defaultTopic": "Mind map",
19
+ "defaultNode": "New node",
20
+ "errors": {
21
+ "useMindMapContext": "useMindMap must be used inside a MindMap component",
22
+ "initFailed": "MindElixir initialization failed:",
23
+ "exportFailed": "Mind map export failed:",
24
+ "autoSaveFailed": "Mind map auto-save failed:",
25
+ "titleUpdateFailed": "Title update failed:",
26
+ "tagsUpdateFailed": "Tags update failed:"
27
+ }
28
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "title": "PRD Documents",
3
+ "notFound": "PRD Not Found",
4
+ "notFoundDescription": "The PRD you are looking for does not exist or has been deleted",
5
+ "backToPrd": "Back to PRD",
6
+ "backToDashboard": "Back to Dashboard",
7
+ "loadError": "Error loading PRD:",
8
+ "retry": "Retry",
9
+ "treePage": {
10
+ "homeName": "Home",
11
+ "unnamedFolder": "Unnamed Folder",
12
+ "unnamed": "Unnamed",
13
+ "duplicateSuffix": " - Copy"
14
+ },
15
+ "sidebar": {
16
+ "noTags": "No tags"
17
+ },
18
+ "comment": {
19
+ "ignored": "Ignored"
20
+ },
21
+ "prototype": {
22
+ "categoryIcon": "Icons",
23
+ "categoryBasic": "Basic Components",
24
+ "categoryContent": "Content Blocks",
25
+ "categoryTemplate": "Page Templates",
26
+ "iconGeneral": "General Icons",
27
+ "iconFile": "File",
28
+ "iconBack": "Back",
29
+ "iconButton": "Button",
30
+ "iconInput": "Input",
31
+ "iconTable": "Table",
32
+ "iconImage": "Image",
33
+ "iconShopping": "Shopping",
34
+ "iconUser": "User",
35
+ "iconSettings": "Settings",
36
+ "iconMail": "Mail",
37
+ "iconNotification": "Notification",
38
+ "iconSearch": "Search",
39
+ "iconCalendar": "Calendar",
40
+ "iconChart": "Chart",
41
+ "iconMessage": "Message"
42
+ }
43
+ }
@@ -0,0 +1,133 @@
1
+ {
2
+ "title": "Projects",
3
+ "module": {
4
+ "assigneeLabel": "Assignee: ",
5
+ "unassigned": "Unassigned",
6
+ "moduleTitle": "Module",
7
+ "totalItems": "{{count}} items",
8
+ "mockDataLabel": "Sample data",
9
+ "mockBadge": "Mock data for demonstration"
10
+ },
11
+ "detail": {
12
+ "settings": "Project Settings",
13
+ "noDescription": "No description",
14
+ "activity": "Activity",
15
+ "noContributions": "No contribution records",
16
+ "modulesTitle": "Module Overview",
17
+ "recentActivity": "Recent Activity"
18
+ },
19
+ "project": {
20
+ "member": {
21
+ "owner": "Owner",
22
+ "admin": "Admin",
23
+ "member": "Member",
24
+ "viewer": "Viewer",
25
+ "self": "You",
26
+ "roleUpdated": "Role updated",
27
+ "removed": "Member removed",
28
+ "removeFailed": "Remove failed",
29
+ "management": "Member Management",
30
+ "totalMembers": "{{count}} members",
31
+ "noTeamMembers": "No team members available to assign. Go to Settings → Team to invite members.",
32
+ "invite": "Invite Member",
33
+ "pending": "Pending",
34
+ "setRole": "Set Role",
35
+ "setAdmin": "Set as Admin",
36
+ "setMember": "Set as Member",
37
+ "setViewer": "Set as Viewer",
38
+ "removeMember": "Remove Member",
39
+ "confirmRemove": "Confirm Remove Member",
40
+ "confirmRemoveDesc": "Are you sure you want to remove \"{{username}}\"? This member will lose project access immediately and can be re-invited.",
41
+ "removing": "Removing...",
42
+ "confirmRemoveAction": "Confirm Remove"
43
+ },
44
+ "create": {
45
+ "nameRequired": "Please enter a project name",
46
+ "failed": "Create failed",
47
+ "title": "Create Project",
48
+ "description": "Create a collaborative project linked to requirements, PRD, design, testing and more",
49
+ "nameLabel": "Project Name",
50
+ "namePlaceholder": "Enter project name",
51
+ "idLabel": "Project ID",
52
+ "idUnavailable": "ID is unavailable",
53
+ "idPlaceholder": "Uppercase alphanumeric, max 10 characters",
54
+ "workspaceLabel": "Workspace",
55
+ "workspaceSelected": "Workspace selected",
56
+ "workspaceRequired": "Please select a workspace",
57
+ "workspacePlaceholder": "Select workspace",
58
+ "introLabel": "Description",
59
+ "introPlaceholder": "Brief description (optional)",
60
+ "creating": "Creating..."
61
+ },
62
+ "invite": {
63
+ "adminLabel": "Admin",
64
+ "adminDesc": "Can manage members and project settings",
65
+ "memberLabel": "Member",
66
+ "memberDesc": "Can edit project content",
67
+ "viewerLabel": "Viewer",
68
+ "viewerDesc": "Can only view the project",
69
+ "emailRequired": "Please enter an email",
70
+ "invited": "Invitation sent",
71
+ "inviteFailed": "Invitation failed",
72
+ "title": "Invite Member",
73
+ "description": "Invite new members to the project via email",
74
+ "emailLabel": "Email Address",
75
+ "roleLabel": "Role",
76
+ "sendInvite": "Send Invite"
77
+ },
78
+ "activity": {
79
+ "created": "created the project",
80
+ "updated": "updated project info",
81
+ "deleted": "deleted the project",
82
+ "memberInvited": "invited a new member",
83
+ "memberJoined": "joined the project",
84
+ "memberRemoved": "removed a member",
85
+ "roleChanged": "changed a member's role",
86
+ "moduleViewed": "viewed a module",
87
+ "justNow": "Just now",
88
+ "minutesAgo": "{{count}} min ago",
89
+ "hoursAgo": "{{count}} hours ago",
90
+ "daysAgo": "{{count}} days ago",
91
+ "noRecords": "No activity records",
92
+ "unknownUser": "Unknown User",
93
+ "dateFormat": "M/d"
94
+ },
95
+ "moduleCard": {
96
+ "lastUpdate": "Last updated: ",
97
+ "today": "Today"
98
+ }
99
+ },
100
+ "settings": {
101
+ "nameRequired": "Please enter a project name",
102
+ "saved": "Project updated",
103
+ "saveFailed": "Save failed",
104
+ "deleted": "Project and requirements deleted",
105
+ "transferredAndDeleted": "Requirements transferred to standalone project, project deleted",
106
+ "deleteFailed": "Delete failed",
107
+ "backToProject": "Back to Project",
108
+ "title": "Project Settings",
109
+ "basicInfo": "Basic Information",
110
+ "projectIcon": "Project Icon",
111
+ "projectName": "Project Name *",
112
+ "projectId": "Project ID",
113
+ "idUnavailable": "ID is unavailable",
114
+ "idPlaceholder": "Uppercase alphanumeric, max 10 characters",
115
+ "projectDescription": "Project Description",
116
+ "descPlaceholder": "Briefly describe the project goals and scope",
117
+ "saveChanges": "Save Changes",
118
+ "timezone": "Project Timezone",
119
+ "followMyTimezone": "Follow my timezone ({{timezone}})",
120
+ "customTimezone": "Custom Timezone",
121
+ "members": "Members",
122
+ "dangerZone": "Danger Zone",
123
+ "dangerDesc": "Deleting a project will permanently remove it along with all member relationships and activity records. This action cannot be undone.",
124
+ "deleteProject": "Delete Project",
125
+ "confirmDelete": "Confirm Delete",
126
+ "confirmDeleteDesc": "This will permanently delete \"{{projectName}}\" and all its associated data. This cannot be undone.",
127
+ "deleteMethod": "Delete Method",
128
+ "transfer": "Transfer to Standalone Requirements",
129
+ "transferDesc": "Project requirements will be transferred to the \"Standalone Requirements\" project, preserving requirement data.",
130
+ "clear": "Clear Requirements (Irreversible)",
131
+ "clearDesc": "The project and all its requirements will be permanently deleted."
132
+ }
133
+ }