@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,785 @@
1
+ {
2
+ "categories": {
3
+ "prd": {
4
+ "label": "PRD",
5
+ "tooltip": "关联 PRD",
6
+ "placeholder": "关联 PRD 文档"
7
+ },
8
+ "ui": {
9
+ "label": "UI",
10
+ "tooltip": "关联 UI 设计",
11
+ "placeholder": "关联 UI 设计稿"
12
+ },
13
+ "bug": {
14
+ "label": "BUG",
15
+ "tooltip": "关联 BUG",
16
+ "placeholder": "关联 BUG"
17
+ },
18
+ "testCase": {
19
+ "label": "测试用例",
20
+ "tooltip": "关联测试用例",
21
+ "placeholder": "关联测试用例"
22
+ },
23
+ "acceptance": {
24
+ "label": "验收",
25
+ "tooltip": "关联验收标准",
26
+ "placeholder": "关联验收标准"
27
+ },
28
+ "retro": {
29
+ "label": "复盘",
30
+ "tooltip": "关联复盘",
31
+ "placeholder": "关联复盘"
32
+ }
33
+ },
34
+ "relations": {
35
+ "dependencyTitle": "阻塞、被阻塞、相关",
36
+ "dependency": "依赖关系",
37
+ "itemCount": "{{count}} 项",
38
+ "uploadAttachment": "上传附件",
39
+ "attachment": "附件",
40
+ "linksTitle": "外部链接",
41
+ "links": "链接",
42
+ "knowledgeTitle": "关联 PRD 与知识文档",
43
+ "knowledge": "知识库"
44
+ },
45
+ "attachments": {
46
+ "title": "附件",
47
+ "add": "添加附件",
48
+ "uploadTitle": "上传附件",
49
+ "clickToSelect": "点击选择文件",
50
+ "cancel": "取消",
51
+ "uploading": "上传中...",
52
+ "upload": "上传",
53
+ "selectFile": "请选择文件",
54
+ "uploaded": "附件已上传",
55
+ "uploadFailed": "上传附件失败",
56
+ "removed": "已移除附件",
57
+ "removeFailed": "移除附件失败",
58
+ "empty": "暂无附件"
59
+ },
60
+ "hierarchy": {
61
+ "childAdded": "已添加子需求",
62
+ "addChildFailed": "添加子需求失败",
63
+ "childRemoved": "已移除子需求",
64
+ "removeChildFailed": "移除子需求失败",
65
+ "parent": "父需求",
66
+ "noParent": "无父需求",
67
+ "setParent": "设置父需求",
68
+ "children": "子需求",
69
+ "addChild": "添加子需求",
70
+ "searchStory": "搜索需求...",
71
+ "selectChild": "选择子需求",
72
+ "noChildren": "暂无子需求"
73
+ },
74
+ "links": {
75
+ "title": "连接 Links",
76
+ "add": "添加",
77
+ "addTitle": "添加连接",
78
+ "editTitle": "编辑连接",
79
+ "titleOptional": "标题(可选)",
80
+ "titlePlaceholder": "连接标题",
81
+ "descOptional": "描述(可选)",
82
+ "descPlaceholder": "连接描述",
83
+ "cancel": "取消",
84
+ "update": "更新",
85
+ "updated": "已更新连接",
86
+ "added": "已添加连接",
87
+ "saveFailed": "保存连接失败",
88
+ "removed": "已移除连接",
89
+ "removeFailed": "移除连接失败",
90
+ "empty": "暂无连接"
91
+ },
92
+ "relationsTab": {
93
+ "title": "关联关系",
94
+ "refresh": "刷新",
95
+ "refreshing": "刷新中...",
96
+ "refreshFailed": "刷新关联数据失败",
97
+ "hierarchy": "父子需求树",
98
+ "dependencies": "依赖关系",
99
+ "links": "连接 Links",
100
+ "attachments": "附件",
101
+ "knowledge": "知识库关联"
102
+ },
103
+ "knowledge": {
104
+ "searchPrdFailed": "搜索 PRD 失败",
105
+ "searchDocFailed": "搜索文档失败",
106
+ "prdLinked": "已关联 PRD",
107
+ "linkPrdFailed": "关联 PRD 失败",
108
+ "prdUnlinked": "已取消关联 PRD",
109
+ "unlinkPrdFailed": "取消关联 PRD 失败",
110
+ "docLinked": "已关联文档",
111
+ "linkDocFailed": "关联文档失败",
112
+ "docUnlinked": "已取消关联文档",
113
+ "unlinkDocFailed": "取消关联文档失败",
114
+ "prdTitle": "关联 PRD",
115
+ "linkPrd": "关联 PRD",
116
+ "searchPrdTitle": "搜索并关联 PRD",
117
+ "searchPrdPlaceholder": "搜索 PRD 标题...",
118
+ "noResults": "无搜索结果",
119
+ "noPrds": "暂无关联 PRD",
120
+ "docTitle": "关联知识文档",
121
+ "linkDoc": "关联文档",
122
+ "searchDocTitle": "搜索并关联知识文档",
123
+ "searchDocPlaceholder": "搜索文档标题...",
124
+ "noDocs": "暂无关联文档"
125
+ },
126
+ "properties": {
127
+ "title": "属性",
128
+ "basic": "基础",
129
+ "parent": "父需求",
130
+ "labels": "标签",
131
+ "iteration": "迭代"
132
+ },
133
+ "children": {
134
+ "addChild": "添加子需求",
135
+ "createChild": "创建子需求",
136
+ "selectChild": "选择子需求",
137
+ "childStories": "子需求",
138
+ "updateFailed": "更新失败",
139
+ "archiveOnlyDone": "仅已完成/已取消的需求可归档",
140
+ "archived": "已归档",
141
+ "archiveFailed": "归档失败",
142
+ "unarchived": "已取消归档",
143
+ "unarchiveFailed": "取消归档失败",
144
+ "deleted": "已删除",
145
+ "deleteFailed": "删除失败",
146
+ "selectStory": "选择 {{name}}",
147
+ "crossProject": "跨项目需求",
148
+ "startDate": "开始日期",
149
+ "dueDate": "截止日期",
150
+ "removeChild": "移出子需求",
151
+ "archive": "归档",
152
+ "delete": "删除",
153
+ "unarchive": "取消归档",
154
+ "deleteTitle": "删除需求",
155
+ "deleteDescription": "删除后无法恢复,所有评论、活动记录和相关数据将被永久清除。",
156
+ "removedChild": "已移出子需求",
157
+ "removeChildFailed": "移出子需求失败",
158
+ "bulkArchivedSkipped": "已归档 {{archived}} 条,跳过 {{skipped}} 条非已完成/已取消",
159
+ "bulkArchived": "已归档 {{count}} 条",
160
+ "bulkDeleted": "已删除 {{count}} 条需求",
161
+ "bulkUpdated": "已更新选中子需求",
162
+ "bulkUpdateFailed": "批量更新失败"
163
+ },
164
+ "state": {
165
+ "backlog": "待规划",
166
+ "todo": "待办",
167
+ "in_progress": "进行中",
168
+ "done": "已完成",
169
+ "cancelled": "已取消"
170
+ },
171
+ "priority": {
172
+ "urgent": "紧急",
173
+ "high": "高",
174
+ "medium": "中",
175
+ "low": "低",
176
+ "none": "无"
177
+ },
178
+ "activity": {
179
+ "created": "创建了需求",
180
+ "updated": "更新了需求",
181
+ "commented": "评论了需求",
182
+ "state_changed": "状态",
183
+ "priority_changed": "优先级",
184
+ "assignee_changed": "负责人",
185
+ "name_changed": "标题",
186
+ "description_changed": "描述",
187
+ "startDate_changed": "开始日期",
188
+ "targetDate_changed": "截止日期",
189
+ "label_changed": "标签",
190
+ "identifier_changed": "需求编号",
191
+ "project_transferred": "转移项目",
192
+ "parent_changed": "变更父需求",
193
+ "parent_removed": "移除父需求",
194
+ "verb": {
195
+ "added": "添加了",
196
+ "changed": "修改了"
197
+ },
198
+ "changedState": "{{verb}}{{field}}为{{state}}",
199
+ "changedField": "{{verb}}{{field}}",
200
+ "empty": "暂无活动记录",
201
+ "mergedTitle": "合并了 {{count}} 次连续操作(3 分钟内)",
202
+ "merged": "合并 {{count}} 次",
203
+ "ai": "AI操作",
204
+ "expand": "展开显示",
205
+ "collapse": "折叠显示"
206
+ },
207
+ "dependency": {
208
+ "blocks": "阻塞",
209
+ "blocked_by": "被阻塞",
210
+ "relates_to": "关联",
211
+ "blocking": "阻塞中",
212
+ "relatesTo": "相关",
213
+ "direction": {
214
+ "blocks": "阻塞此需求的实现",
215
+ "blocked_by": "被此需求阻塞",
216
+ "relates_to": "与有关联"
217
+ }
218
+ },
219
+ "group": {
220
+ "all": "全部",
221
+ "unassigned": "未指派",
222
+ "unknown_user": "未知用户",
223
+ "no_labels": "无标签",
224
+ "no_project": "独立需求",
225
+ "assignee": "负责人",
226
+ "createdBy": "创建人",
227
+ "selectAll": "全选 {{label}}",
228
+ "addTo": "添加需求到{{label}}",
229
+ "loading": "加载中...",
230
+ "loadMore": "显示更多",
231
+ "add": "添加需求"
232
+ },
233
+ "filters": {
234
+ "clearAll": "清除所有结果",
235
+ "archiveAll": "全部归档",
236
+ "unassignedAssignee": "未指派负责人"
237
+ },
238
+ "filter": {
239
+ "field": {
240
+ "title": "标题",
241
+ "state": "状态",
242
+ "priority": "优先级",
243
+ "assignee": "负责人",
244
+ "label": "标签",
245
+ "createdDate": "创建日期",
246
+ "targetDate": "截止日期"
247
+ },
248
+ "operator": {
249
+ "is": "是",
250
+ "is_not": "不是",
251
+ "is_any_of": "是任一",
252
+ "is_not_any_of": "不是任一",
253
+ "is_empty": "为空",
254
+ "is_not_empty": "不为空",
255
+ "before": "早于",
256
+ "after": "晚于",
257
+ "on_or_before": "不晚于",
258
+ "on_or_after": "不早于",
259
+ "between": "介于",
260
+ "contains": "包含",
261
+ "not_contains": "不包含"
262
+ },
263
+ "single": "单选",
264
+ "multi": "多选",
265
+ "addCondition": "添加条件",
266
+ "allAdded": "已添加所有筛选条件",
267
+ "label": "筛选",
268
+ "clear": "清空筛选",
269
+ "cancel": "取消筛选",
270
+ "saveAsView": "保存为视图",
271
+ "toggleOpen": "条件筛选",
272
+ "selectRange": "选择范围...",
273
+ "selectDate": "选择日期..."
274
+ },
275
+ "table": {
276
+ "empty": "暂无需求,点击右上角「添加需求」创建"
277
+ },
278
+ "display": {
279
+ "displayOptions": "显示选项",
280
+ "viewGrouping": "视图分组",
281
+ "group": {
282
+ "state": "状态",
283
+ "priority": "优先级",
284
+ "assignee": "负责人",
285
+ "labels": "标签",
286
+ "createdBy": "创建者",
287
+ "project": "项目",
288
+ "none": "不分组"
289
+ },
290
+ "subGroup": "子分组",
291
+ "order": {
292
+ "manual": "手动排序",
293
+ "created": "创建时间",
294
+ "updated": "更新时间",
295
+ "startDate": "开始日期",
296
+ "dueDate": "截止日期",
297
+ "priority": "优先级"
298
+ },
299
+ "asc": "正序",
300
+ "desc": "倒序",
301
+ "showProperties": "显示属性",
302
+ "extraOptions": "附加选项",
303
+ "showEmptyGroups": "显示空分组",
304
+ "showSubItems": "展开子需求",
305
+ "pageSize": "每页加载条数",
306
+ "property": {
307
+ "id": "ID",
308
+ "project": "项目",
309
+ "assignee": "负责人",
310
+ "startDate": "开始日期",
311
+ "dueDate": "截止日期",
312
+ "labels": "标签",
313
+ "priority": "优先级",
314
+ "state": "状态",
315
+ "subCount": "子需求数",
316
+ "attachmentCount": "附件数"
317
+ }
318
+ },
319
+ "view": {
320
+ "default": "默认视图",
321
+ "noViews": "暂无视图",
322
+ "common": "通用视图",
323
+ "projectViews": "{{name}} 的视图",
324
+ "create": "创建视图",
325
+ "title": "视图",
326
+ "edit": "编辑",
327
+ "delete": "删除",
328
+ "deleteTitle": "删除视图",
329
+ "deleteConfirmMsg": "确认删除视图「{{name}}」?此操作不可撤销。",
330
+ "cancel": "取消",
331
+ "deleteConfirm": "确认删除",
332
+ "createView": "创建新视图",
333
+ "editView": "编辑视图",
334
+ "saveFailed": "保存失败",
335
+ "allProjects": "所有项目通用",
336
+ "namePlaceholder": "视图名称",
337
+ "createNew": "创建新视图",
338
+ "update": "更新视图",
339
+ "descPlaceholder": "视图描述",
340
+ "filterConditions": "筛选条件",
341
+ "saving": "保存中…",
342
+ "save": "保存",
343
+ "icon": {
344
+ "list": "列表",
345
+ "flag": "旗标",
346
+ "user": "用户",
347
+ "tag": "标签",
348
+ "calendar": "日历",
349
+ "grid": "网格",
350
+ "kanban": "看板",
351
+ "range": "日程",
352
+ "branch": "分支",
353
+ "inbox": "收件",
354
+ "star": "星标",
355
+ "bookmark": "书签"
356
+ },
357
+ "layout": {
358
+ "list": "列表",
359
+ "board": "看板",
360
+ "calendar": "日历",
361
+ "table": "表格",
362
+ "timeline": "时间轴"
363
+ }
364
+ },
365
+ "column": {
366
+ "identifier": "需求 ID",
367
+ "title": "标题",
368
+ "state": "状态",
369
+ "priority": "优先级",
370
+ "assignee": "负责人",
371
+ "startDate": "开始",
372
+ "dueDate": "截止",
373
+ "links": "连接",
374
+ "attachments": "附件",
375
+ "pages": "知识库",
376
+ "labels": "标签",
377
+ "createdBy": "创建者"
378
+ },
379
+ "ai": {
380
+ "selectAll": "全选",
381
+ "itemCount": "共 {{count}} 条"
382
+ },
383
+ "create": {
384
+ "requireTitle": "请输入需求标题",
385
+ "failed": "创建失败",
386
+ "title": "创建新需求",
387
+ "addDescription": "点击添加需求描述",
388
+ "shortcuts": "⌘+Z 撤销 · ⌘+Y 还原",
389
+ "startDate": "开始日期",
390
+ "dueDate": "截止日期",
391
+ "continuous": "连续创建",
392
+ "cancel": "取消",
393
+ "creating": "创建中...",
394
+ "create": "创建"
395
+ },
396
+ "inline": {
397
+ "notSelected": "未选择",
398
+ "assignee": "负责人",
399
+ "searchMembers": "搜索成员",
400
+ "noMatchMembers": "无匹配成员",
401
+ "labels": "标签",
402
+ "labelCount": "{{count}} 个标签",
403
+ "noLabels": "暂无标签",
404
+ "addParent": "添加父需求",
405
+ "selectParent": "选择父需求",
406
+ "titlePlaceholder": "输入标题...",
407
+ "clear": "清除",
408
+ "dateShort": "{{month}}月{{day}}日"
409
+ },
410
+ "loadedAll": "已加载全部",
411
+ "select": {
412
+ "defaultTitle": "选择需求",
413
+ "loadListFailed": "加载需求列表失败",
414
+ "loadMoreFailed": "加载更多失败",
415
+ "selected": "已选择 {{count}} 条需求",
416
+ "setSuccess": "需求设置成功",
417
+ "setFailed": "设置失败",
418
+ "state": "状态",
419
+ "priority": "优先级",
420
+ "allProjects": "全部项目",
421
+ "noAvailable": "暂无可用需求",
422
+ "noMatchCurrent": "没有符合条件的需求",
423
+ "loading": "加载中...",
424
+ "selectedCount": "已选择 {{count}} 条",
425
+ "pleaseSelect": "请选择需求",
426
+ "cancel": "取消",
427
+ "confirmWithCount": "确认选择 ({{count}})",
428
+ "confirm": "确认选择"
429
+ },
430
+ "search": {
431
+ "searchStory": "搜索需求...",
432
+ "searchFailed": "搜索失败",
433
+ "searching": "搜索中...",
434
+ "noResults": "无结果"
435
+ },
436
+ "peek": {
437
+ "loadFailed": "加载失败"
438
+ },
439
+ "comment": {
440
+ "failed": "评论失败",
441
+ "retry": "请稍后重试",
442
+ "placeholder": "写下你的评论...",
443
+ "markdownHint": "支持 Markdown,⌘+Enter 发送",
444
+ "cancel": "取消",
445
+ "sending": "发送中...",
446
+ "send": "发送",
447
+ "editFailed": "修改失败",
448
+ "confirmDelete": "确定删除这条评论吗?",
449
+ "deleteFailed": "删除失败",
450
+ "operationFailed": "操作失败",
451
+ "edit": "编辑",
452
+ "delete": "删除",
453
+ "save": "保存",
454
+ "reply": "回复",
455
+ "collapseReplies": "收起回复",
456
+ "viewReplies": "查看 {{count}} 条回复"
457
+ },
458
+ "activityTab": {
459
+ "all": "全部",
460
+ "activities": "活动",
461
+ "comments": "评论 ({{count}})",
462
+ "records": "活动记录"
463
+ },
464
+ "reaction": {
465
+ "add": "添加"
466
+ },
467
+ "detail": {
468
+ "operationFailed": "操作反馈失败",
469
+ "saveFailed": "保存失败",
470
+ "startDate": "开始日期",
471
+ "dueDate": "截止日期",
472
+ "belongsTo": "所属项目",
473
+ "copied": "已复制 {{identifier}}",
474
+ "copyFailed": "复制失败",
475
+ "clickToCopy": "点击复制需求 ID",
476
+ "showLess": "显示更少",
477
+ "showMore": "显示更多",
478
+ "addReaction": "添加反馈",
479
+ "createdBy": "创建者",
480
+ "createdAt": "创建时间",
481
+ "updatedAt": "更新时间"
482
+ },
483
+ "panel": {
484
+ "mode": {
485
+ "sidePeek": "侧边面板",
486
+ "modal": "居中浮窗",
487
+ "fullScreen": "全屏浮窗"
488
+ },
489
+ "back": "返回",
490
+ "collapse": "收起面板",
491
+ "close": "关闭",
492
+ "linkCopied": "链接已复制",
493
+ "copyFailed": "复制失败",
494
+ "archived": "已归档",
495
+ "archiveFailed": "归档失败",
496
+ "deleted": "已删除",
497
+ "fullscreen": "全屏显示",
498
+ "switchLayout": "切换布局",
499
+ "previousStory": "上一条需求",
500
+ "nextStory": "下一条需求",
501
+ "copyLink": "复制链接",
502
+ "more": "更多操作",
503
+ "archive": "归档",
504
+ "delete": "删除",
505
+ "deleteTitle": "删除需求",
506
+ "deleteDescription": "删除后无法恢复,所有评论、活动记录和相关数据将被永久清除。"
507
+ },
508
+ "transfer": {
509
+ "filteredTip": "已过滤{{count}}条{{project}}项目的需求",
510
+ "doneWithFailures": "转移完成:成功 {{success}} 条,失败 {{failed}} 条",
511
+ "transferredToProject": "已将 {{count}} 条需求转移到所选项目",
512
+ "transferred": "已转移到所选项目",
513
+ "failed": "转移失败",
514
+ "asChildDone": "已将 {{count}} 条需求转移为子需求",
515
+ "transfer": "转移需求",
516
+ "transferCount": "转移 {{count}} 条需求",
517
+ "toProjectCount": "将 {{count}} 条需求转移到项目",
518
+ "toProject": "将需求转移到项目",
519
+ "noProjects": "没有可转移的项目",
520
+ "asChild": "转为子需求",
521
+ "transferring": "转移中...",
522
+ "confirm": "确认转移",
523
+ "asChildOfProject": "转为其他项目的子需求"
524
+ },
525
+ "relation": {
526
+ "added": "已添加依赖",
527
+ "newTitle": "新依赖需求",
528
+ "addFailed": "添加依赖失败",
529
+ "removeFailed": "移除依赖失败",
530
+ "removed": "已移除依赖",
531
+ "none": "无",
532
+ "search": "搜索需求",
533
+ "add": "添加依赖"
534
+ },
535
+ "batchPreview": {
536
+ "select": "选择 {{name}}",
537
+ "confirmDelete": "确认删除{{count}}条需求",
538
+ "copied": "已复制到剪贴板",
539
+ "invalidConfirm": "请正确输入确认文字",
540
+ "archiveTitle": "批量归档",
541
+ "deleteTitle": "批量删除",
542
+ "archiveDesc": "仅归档状态为「已完成 / 已取消」的需求",
543
+ "deleteDesc": "删除后不可恢复,请谨慎操作",
544
+ "confirmArchive": "确认归档",
545
+ "confirmDeleteBtn": "确认删除",
546
+ "searchPlaceholder": "搜索需求标题或ID",
547
+ "noMatch": "没有匹配的需求",
548
+ "noneArchivable": "已选需求中没有可归档的(非已完成/已取消)",
549
+ "noStories": "暂无需求",
550
+ "selectAll": "全选",
551
+ "selectedCount": "已选 {{count}} 条",
552
+ "confirmHint": "二次确认:",
553
+ "copyHint": "点击复制确认文字",
554
+ "copyAria": "复制确认文字",
555
+ "confirmPlaceholder": "复制左侧确认文案,粘贴到这里后,确认删除",
556
+ "cancel": "取消",
557
+ "processing": "处理中..."
558
+ },
559
+ "time": {
560
+ "justNow": "刚刚",
561
+ "minutesAgo": "{{count}} 分钟前",
562
+ "hoursAgo": "{{count}} 小时前",
563
+ "daysAgo": "{{count}} 天前"
564
+ },
565
+ "toolbar": {
566
+ "archived": "归档需求",
567
+ "project": "项目",
568
+ "allProjects": "全部项目",
569
+ "createProject": "创建项目",
570
+ "total": "共 {{count}} 条",
571
+ "searchPlaceholder": "搜索需求 ID 或标题",
572
+ "addStory": "添加需求",
573
+ "collect": "收集需求",
574
+ "import": "导入需求",
575
+ "export": "导出需求"
576
+ },
577
+ "listView": {
578
+ "noArchiveable": "当前没有可归档的需求",
579
+ "archiveFailed": "归档失败",
580
+ "archiveDoneWithFailures": "归档完成:成功 {{success}} 条,失败 {{failed}} 条",
581
+ "archiveDone": "已归档 {{count}} 条需求",
582
+ "archiveAllTitle": "确认全部归档",
583
+ "archiveAllDescription": "确定要归档当前筛选的 {{count}} 条需求吗?归档后将不再显示在当前列表中。",
584
+ "archiving": "归档中...",
585
+ "confirmArchive": "确认归档"
586
+ },
587
+ "list": {
588
+ "createFailed": "创建失败",
589
+ "movedUp": "已上移",
590
+ "movedDown": "已下移",
591
+ "moveFailed": "移动失败",
592
+ "bulkArchivedSkipped": "已归档 {{archived}} 条,跳过 {{skipped}} 条非已完成/已取消",
593
+ "bulkArchived": "已归档 {{count}} 条",
594
+ "archiveFailed": "归档失败",
595
+ "bulkDeleted": "已删除 {{count}} 条需求",
596
+ "deleteFailed": "删除失败",
597
+ "bulkUpdated": "已更新选中需求",
598
+ "bulkUpdateFailed": "批量更新失败"
599
+ },
600
+ "batchToolbar": {
601
+ "selected": "已选 {{count}} 条",
602
+ "clear": "清空所选",
603
+ "moveUp": "组内上移",
604
+ "moveDown": "组内下移",
605
+ "transfer": "批量转移",
606
+ "archive": "批量归档",
607
+ "delete": "批量删除",
608
+ "startDate": "开始日期",
609
+ "dueDate": "截止日期"
610
+ },
611
+ "row": {
612
+ "updateFailed": "更新失败",
613
+ "startDate": "开始日期",
614
+ "dueDate": "截止日期"
615
+ },
616
+ "inlineCreator": {
617
+ "placeholder": "输入标题...Enter添加,Esc取消",
618
+ "startDate": "开始日期",
619
+ "dueDate": "截止日期",
620
+ "create": "创建",
621
+ "cancel": "取消"
622
+ },
623
+ "kanban": {
624
+ "empty": "空",
625
+ "noStories": "暂无需求",
626
+ "orderFailed": "排序失败",
627
+ "groupUpdated": "已更新分组",
628
+ "moveFailed": "移动失败"
629
+ },
630
+ "calendar": {
631
+ "weekdays": [
632
+ "日",
633
+ "一",
634
+ "二",
635
+ "三",
636
+ "四",
637
+ "五",
638
+ "六"
639
+ ],
640
+ "today": "今天",
641
+ "monthTitle": "{{year}}年{{month}}月",
642
+ "month": "月",
643
+ "week": "周",
644
+ "unscheduled": "未排期 ({{count}})",
645
+ "createNew": "新建 {{date}}",
646
+ "more": "更多",
647
+ "dayStories": "{{date}} 当天的需求({{count}})",
648
+ "dateUpdated": "已更新开始日期",
649
+ "dateUpdateFailed": "更新日期失败"
650
+ },
651
+ "timeline": {
652
+ "noScheduled": "暂无已排期需求",
653
+ "dateUpdated": "已更新排期",
654
+ "dateUpdateFailed": "更新排期失败"
655
+ },
656
+ "storyAi": {
657
+ "actionRegistry": {
658
+ "generate": {
659
+ "label": "生成",
660
+ "hint": "根据标题生成需求"
661
+ },
662
+ "expand": {
663
+ "label": "扩写",
664
+ "hint": "补充实现细节与背景"
665
+ },
666
+ "polish": {
667
+ "label": "润色",
668
+ "hint": "使表述更清晰专业"
669
+ },
670
+ "split": {
671
+ "label": "拆需求",
672
+ "hint": "AI 拆解为子需求"
673
+ },
674
+ "testCase": {
675
+ "label": "写测例",
676
+ "hint": "生成测试用例"
677
+ },
678
+ "acceptance": {
679
+ "label": "写验收",
680
+ "hint": "补充验收标准"
681
+ },
682
+ "prototype": {
683
+ "label": "画原型",
684
+ "hint": "在 PRD 画板绘制原型"
685
+ },
686
+ "ui": {
687
+ "label": "画UI",
688
+ "hint": "在设计画板绘制 UI"
689
+ },
690
+ "code": {
691
+ "label": "写代码",
692
+ "hint": "生成代码"
693
+ }
694
+ },
695
+ "panel": {
696
+ "needContent": "请先输入内容",
697
+ "needParentStory": "请先选择父需求",
698
+ "noValidResult": "AI 未生成有效需求,请调整描述后重试",
699
+ "generationFailed": "AI 生成失败",
700
+ "emptyNames": "部分需求名称为空,请补充后再创建",
701
+ "createdSuccess": "已创建 {{count}} 条需求",
702
+ "createFailed": "{{count}} 条创建失败",
703
+ "aiNotConfigured": "请先在设置中配置 AI 服务",
704
+ "goToSettings": "前往设置",
705
+ "createTab": "AI 创建",
706
+ "splitTab": "拆需求",
707
+ "importTab": "批量导入",
708
+ "inputPlaceholder": "描述你的需求,例如:实现用户登录功能,支持邮箱密码登录、忘记密码、第三方微信登录,登录后跳转工作台...",
709
+ "projectLabel": "归属项目(可选)",
710
+ "generating": "生成中...",
711
+ "aiGenerate": "AI 生成",
712
+ "parentLabel": "父需求",
713
+ "selectedLabel": "已选:",
714
+ "searchParent": "搜索父需求...",
715
+ "selectParent": "选择要拆解的父需求",
716
+ "childLabel": "子需求(挂到父需求下)",
717
+ "independentLabel": "独立需求",
718
+ "splitPlaceholder": "可补充拆解要求(可选),留空则按父需求内容自动拆解",
719
+ "splitting": "拆解中...",
720
+ "aiSplit": "AI 拆解",
721
+ "pastePlaceholder": "粘贴需求清单,例如:\n1. 用户登录\n2. 找回密码\n3. 个人资料编辑",
722
+ "recognizing": "识别中...",
723
+ "aiRecognize": "AI 识别",
724
+ "streaming": "流式生成中...",
725
+ "stop": "停止",
726
+ "create": "创建",
727
+ "itemCount": "条需求"
728
+ },
729
+ "split": {
730
+ "noValidResult": "AI 未生成有效需求,请调整描述后重试",
731
+ "generationFailed": "AI 生成失败",
732
+ "selectAtLeastOne": "请至少勾选一条有效需求",
733
+ "createdSuccess": "创建完成:{{done}}/{{total}}",
734
+ "failuresDesc": "{{count}} 个失败,请检查后重试",
735
+ "createFailed": "创建失败,请重试",
736
+ "title": "AI拆需求",
737
+ "asChildTitle": "拆为子需求",
738
+ "asChildBadge": "挂到父需求下",
739
+ "parentLabel": "父需求:",
740
+ "asIndependentTitle": "拆为独立需求",
741
+ "asIndependentDesc": "不挂到父需求下,创建为单独的需求",
742
+ "extraPromptPlaceholder": "补充拆解要求,可以拆得更细、更具体(可选)",
743
+ "totalPrefix": "共",
744
+ "totalSuffix": "条",
745
+ "deselectAll": "全不选",
746
+ "selectAll": "全选",
747
+ "splittingMessage": "AI 正在拆解需求…",
748
+ "clickToSplit": "点击下方按钮,AI 将自动拆解需求",
749
+ "stop": "停止",
750
+ "redo": "重新拆解",
751
+ "split": "拆解",
752
+ "confirmCreate": "确认创建",
753
+ "extraPromptPrefix": "补充拆解要求:"
754
+ },
755
+ "prototype": {
756
+ "inputPlaceholder": "请输入页面描述",
757
+ "generationFailed": "原型生成失败",
758
+ "copied": "已复制到剪贴板",
759
+ "title": "画原型",
760
+ "description": "描述你想要的页面,AI 自动生成原型组件布局",
761
+ "example": "例如:一个用户列表页,包含搜索栏、筛选下拉框、数据表格(姓名/邮箱/状态/操作)和分页",
762
+ "generating": "生成中...",
763
+ "generate": "生成原型",
764
+ "componentLib": "(组件库)"
765
+ },
766
+ "toolbar": {
767
+ "underDevelopment": "该功能正在开发中,敬请期待",
768
+ "model": "模型",
769
+ "noModels": "暂无可用模型,请先在设置中配置 AI 服务",
770
+ "stop": "停止",
771
+ "replace": "替换",
772
+ "discard": "丢弃",
773
+ "currentStory": "当前需求"
774
+ },
775
+ "more": {
776
+ "selectModel": "选择模型",
777
+ "title": "更多",
778
+ "noModels": "暂无可用模型,请先在设置中配置 AI 服务"
779
+ },
780
+ "streamText": {
781
+ "generationFailed": "AI 生成失败",
782
+ "descriptionTooLong": "描述超出 20000 字上限,请精简后重试"
783
+ }
784
+ }
785
+ }