@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,375 @@
1
+ {
2
+ "tabs": {
3
+ "general": "常规",
4
+ "generalSettings": "通用设置",
5
+ "personalTeam": "个人与团队",
6
+ "accountProfile": "账号资料",
7
+ "teamMembers": "团队成员",
8
+ "dataPrivacy": "数据与隐私",
9
+ "ai": "智能体",
10
+ "aiAgents": "智能体",
11
+ "aiProviders": "AI 服务商",
12
+ "prdDesign": "PRD原型与UI设计",
13
+ "uiDesign": "UI 设计",
14
+ "billing": "订阅与计费",
15
+ "subscription": "订阅管理",
16
+ "desktop": "桌面端",
17
+ "connectionMode": "连接模式",
18
+ "plugins": "插件"
19
+ },
20
+ "langZh": "中文",
21
+ "langEn": "English",
22
+ "languageChanged": "语言已切换",
23
+ "languageChangeFailed": "语言切换失败",
24
+ "ai": {
25
+ "providers": "AI 服务商",
26
+ "providersDescription": "点击服务商卡片配置 API Key、自定义端点与启用的模型。对话时根据所选模型自动路由到对应服务商。",
27
+ "privacyNotice": "隐私说明",
28
+ "privacyNoticeDescription": "API Key 仅保存在你的账户数据库,通过 serverFn 在服务端读取,不写入任何客户端 localStorage、cookie 或 session JWT。",
29
+ "loadError": "[settings/ai] 加载服务商列表失败",
30
+ "operationFailed": "操作失败",
31
+ "providerEnabled": "已启用",
32
+ "providerConfigured": "已配置",
33
+ "providerLocal": "本地",
34
+ "providerNotConfigured": "未配置",
35
+ "platformDepreciated": "平台已下架",
36
+ "platformDepreciatedNotice": "平台已下架,已配置用户可继续使用",
37
+ "modelCount": "{{count}} 个模型",
38
+ "enable": "启用",
39
+ "disable": "停用",
40
+ "enabledProviders": "已启用服务商({{count}})",
41
+ "disabledProviders": "未启用服务商({{count}})",
42
+ "noMatchedProviders": "没有匹配的服务商",
43
+ "searchPlaceholder": "搜索服务商(如 OpenAI、Claude)",
44
+ "sortDefault": "默认排序",
45
+ "sortByName": "按名称",
46
+ "sortConfiguredFirst": "已启用优先",
47
+ "localNoKeyNeeded": "本地部署无需 API Key",
48
+ "keyStoredEncrypted": "API Key 加密保存在数据库。",
49
+ "getKey": "获取 API Key",
50
+ "current": "当前",
51
+ "keepCurrentKey": "留空保留当前 Key,输入新值覆盖",
52
+ "hideKey": "隐藏 API Key",
53
+ "showKey": "显示 API Key",
54
+ "deleteSavedKey": "删除已保存的 API Key",
55
+ "createCustomModel": "创建自定义模型",
56
+ "createCustomModelDescription": "添加一个服务商未提供的模型(如微调模型、私有部署模型)。仅你可见。",
57
+ "modelId": "模型 ID *",
58
+ "displayName": "显示名",
59
+ "displayNamePlaceholder": "留空则用模型 ID",
60
+ "contextWindow": "上下文窗口",
61
+ "releaseDate": "发布日期",
62
+ "inputPrice": "输入价格 ($/百万 tokens)",
63
+ "outputPrice": "输出价格 ($/百万 tokens)",
64
+ "capabilitiesSection": "能力",
65
+ "capabilitiesMap": {
66
+ "text": "文本",
67
+ "vision": "视觉",
68
+ "tools": "工具",
69
+ "reasoning": "推理",
70
+ "audio": "音频"
71
+ },
72
+ "iconSlug": "图标 slug(可选)",
73
+ "iconSlugPlaceholder": "@lobehub/icons PascalCase 名,留空用服务商图标",
74
+ "tags": "标签(逗号分隔)",
75
+ "tagsPlaceholder": "如 旗舰, 快速",
76
+ "creating": "创建中...",
77
+ "createModel": "创建模型",
78
+ "fetchFailed": "获取失败",
79
+ "createFailed": "创建失败",
80
+ "totalModels": "共 {{count}} 个模型",
81
+ "includesCustom": "(含 {{count}} 个自定义)",
82
+ "searchModels": "搜索模型名称或 ID",
83
+ "fetchModels": "获取模型列表",
84
+ "enabled": "已启用",
85
+ "enableAll": "全部启用",
86
+ "toggleAllFiltered": "全部启用或停用当前筛选的模型",
87
+ "disableAll": "全部停用",
88
+ "noEnabledInFilter": "当前筛选下没有已启用的模型",
89
+ "noEnabledYet": "暂未启用任何模型,从下方未启用列表开启",
90
+ "disabled": "未启用",
91
+ "tabs": {
92
+ "all": "全部",
93
+ "text": "文本",
94
+ "reasoning": "推理",
95
+ "tools": "工具",
96
+ "vision": "视觉",
97
+ "video": "视频"
98
+ },
99
+ "freePrice": "免费",
100
+ "dragToSort": "拖动排序",
101
+ "tagLabels": {
102
+ "custom": "自定义",
103
+ "flagship": "旗舰",
104
+ "fast": "快速",
105
+ "recommended": "推荐",
106
+ "apiFetched": "API 获取"
107
+ },
108
+ "contextWindowK": "{{k}}K 上下文",
109
+ "toggleModel": "切换 {{name}}",
110
+ "saveFailedReason": "保存失败:{{message}}",
111
+ "configDeleted": "配置已删除",
112
+ "deleteFailedReason": "删除失败:{{message}}",
113
+ "testFailedReason": "测试失败:{{message}}",
114
+ "unknownError": "未知错误",
115
+ "back": "返回",
116
+ "platformDelistedTitle": "此服务商已被平台下架",
117
+ "platformDelistedDesc": "新用户将看不到此服务商,你仍可继续使用已保存的配置。",
118
+ "recommended": "推荐",
119
+ "docs": "文档",
120
+ "getApiKey": "获取 API Key",
121
+ "enableProvider": "启用此服务商",
122
+ "setupConfig": "接入配置",
123
+ "baseUrlLabel": "API 代理地址 (BaseURL)",
124
+ "baseUrlHint": "为空使用默认:",
125
+ "modelManagement": "模型管理",
126
+ "modelManagementDesc": "管理此服务商的可用模型,拖拽已启用卡片可调整顺序,顺序决定对话页模型选择器的展示。",
127
+ "clearConfig": "清除此服务商配置",
128
+ "testConnection": "测试连接",
129
+ "saving": "保存中…",
130
+ "saved": "已保存",
131
+ "saveShort": "保存失败",
132
+ "modelIdPlaceholder": "如 {{example}}"
133
+ },
134
+ "billing": {
135
+ "subscriptionSuccess": "订阅成功!",
136
+ "paymentCancelled": "已取消支付"
137
+ },
138
+ "connection": {
139
+ "cloud": "云端",
140
+ "selfHosted": "自部署",
141
+ "local": "本地",
142
+ "mode": "连接模式",
143
+ "modeDescription": "管理桌面端的连接方式",
144
+ "currentMode": "当前模式",
145
+ "cloudDescription": "已连接到 AllBlue 官方云端服务",
146
+ "localDescription": "使用本地 SQLite 数据库,数据存储在本机",
147
+ "switchMode": "切换连接模式",
148
+ "selfHostedDescription": "已连接到自部署实例:{{label}}"
149
+ },
150
+ "design": {
151
+ "title": "UI 设计",
152
+ "description": "Sketch 插件集成,将设计稿同步到 AllBlue。",
153
+ "hideToken": "隐藏 Token",
154
+ "showToken": "显示 Token",
155
+ "copyToken": "复制 Token",
156
+ "copyTokenSuccess": "Token 已复制",
157
+ "tokenNotGenerated": "尚未生成 Token",
158
+ "regenerate": "重新生成",
159
+ "generateToken": "生成 Token",
160
+ "delete": "删除",
161
+ "confirmDeleteToken": "确认删除 Token?",
162
+ "confirmDeleteTokenDescription": "删除后使用该 Token 的 Sketch 插件将无法连接。此操作不可撤销。",
163
+ "cancel": "取消",
164
+ "tokenGenerated": "Token 已生成",
165
+ "generateFailed": "生成失败",
166
+ "tokenDeleted": "Token 已删除",
167
+ "deleteFailed": "删除失败",
168
+ "setupStep1": "1. 点击「生成 Token」创建访问令牌",
169
+ "setupStep2": "2. 复制 Token 并粘贴到 Sketch 插件面板",
170
+ "setupStep3": "3. 在 Sketch 中打开 Plugins → AllBlue → 打开控制面板"
171
+ },
172
+ "general": {
173
+ "title": "通用设置",
174
+ "timezone": "时区",
175
+ "timezoneDescription": "设置你的偏好时区,所有时间(文档、PRD、活动等)将按此显示。项目可单独覆盖。",
176
+ "timezoneRequired": "请选择时区",
177
+ "timezoneUpdated": "时区已更新",
178
+ "saveFailed": "保存失败",
179
+ "language": "语言",
180
+ "languageDescription": "选择界面显示语言,切换后即时生效。"
181
+ },
182
+ "notFound": {
183
+ "title": "页面不存在",
184
+ "description": "设置中没有找到该页面",
185
+ "backToSettings": "返回设置",
186
+ "backToWorkspace": "返回工作台"
187
+ },
188
+ "nav": {
189
+ "settings": "设置"
190
+ },
191
+ "avatar": {
192
+ "editTitle": "编辑头像",
193
+ "editDescription": "选择风格自定义你的头像",
194
+ "random": "随机",
195
+ "flip": "翻转",
196
+ "bgColor": "背景色",
197
+ "bgShape": "背景形状",
198
+ "reset": "重置",
199
+ "shapeSquare": "方形",
200
+ "shapeCircle": "圆形",
201
+ "shapeRounded": "圆角",
202
+ "none": "无",
203
+ "part": {
204
+ "face": "脸型",
205
+ "eyes": "眼睛",
206
+ "eyebrows": "眉毛",
207
+ "mouth": "嘴巴",
208
+ "nose": "鼻子",
209
+ "glasses": "眼镜",
210
+ "hair": "发型",
211
+ "accessories": "配饰",
212
+ "details": "细节",
213
+ "beard": "胡须"
214
+ }
215
+ },
216
+ "profile": {
217
+ "title": "个人资料设置",
218
+ "description": "管理你的个人资料和头像",
219
+ "saving": "保存中…",
220
+ "saveChanges": "保存修改",
221
+ "enterName": "请输入姓名",
222
+ "enterEmail": "请输入邮箱",
223
+ "invalidEmail": "请输入有效的邮箱地址",
224
+ "invalidUrl": "请输入有效的网址",
225
+ "saveFailed": "保存资料失败",
226
+ "enterNewEmail": "请输入新邮箱",
227
+ "enterCurrentPassword": "请输入当前密码",
228
+ "emailChangeFailed": "更换邮箱失败",
229
+ "avatar": "头像",
230
+ "defaultUser": "用户",
231
+ "uploadImage": "上传图片",
232
+ "avatarDescription": "点击头像可自定义风格,上传图片功能暂未启用",
233
+ "name": "姓名",
234
+ "namePlaceholder": "请输入姓名",
235
+ "email": "邮箱",
236
+ "changeEmail": "更换邮箱",
237
+ "newEmail": "新邮箱",
238
+ "currentPassword": "当前密码",
239
+ "currentPasswordPlaceholder": "请输入当前密码",
240
+ "changingEmail": "更换中…",
241
+ "confirmChange": "确认更换",
242
+ "bio": "个人简介",
243
+ "bioPlaceholder": "介绍一下你自己...",
244
+ "bioDescription": "简短的个人介绍(最多 500 字符)",
245
+ "location": "所在地",
246
+ "locationPlaceholder": "城市,国家",
247
+ "website": "网站",
248
+ "socialLinks": "社交链接",
249
+ "socialWebsite": "个人网站",
250
+ "socialTwitter": "Twitter/X",
251
+ "socialGitHub": "GitHub",
252
+ "socialLinkedIn": "LinkedIn",
253
+ "avatarSaveFailed": "头像保存失败",
254
+ "avatarUpdated": "头像已更新",
255
+ "saved": "资料已保存({{name}})",
256
+ "notAvailable": "{{label}}功能暂未开放",
257
+ "accountInfoTitle": "账号资料",
258
+ "accountInfoDesc": "管理你的账号信息与头像",
259
+ "accountMetadata": "账号信息",
260
+ "accountMetadataDesc": "账号基础元数据",
261
+ "createdAt": "注册时间",
262
+ "createdAtDesc": "账号创建时间",
263
+ "unknown": "未知"
264
+ },
265
+ "privacy": {
266
+ "title": "数据与隐私",
267
+ "exportTitle": "导出数据",
268
+ "exportDesc": "请求导出您在 AllBlue 上的所有个人数据",
269
+ "exportBtn": "请求导出",
270
+ "deleteTitle": "删除账户与数据",
271
+ "deleteDesc": "此操作不可撤销,将永久删除您的账户和所有数据",
272
+ "deleteBtn": "请求删除",
273
+ "deleteConfirmLabel": "请输入您的用户名以确认",
274
+ "deleteConfirmPlaceholder": "输入用户名",
275
+ "submitted": "请求已提交"
276
+ },
277
+ "team": {
278
+ "title": "团队成员",
279
+ "memberCount": "共 {{count}} 位成员",
280
+ "searchPlaceholder": "搜索成员…",
281
+ "allRoles": "全部角色",
282
+ "role": {
283
+ "owner": "所有者",
284
+ "admin": "管理员",
285
+ "member": "成员",
286
+ "viewer": "查看者",
287
+ "guest": "访客"
288
+ },
289
+ "allStatuses": "全部状态",
290
+ "status": {
291
+ "active": "正常",
292
+ "invited": "已邀请",
293
+ "suspended": "已停用",
294
+ "pending": "待接受",
295
+ "accepted": "已接受",
296
+ "expired": "已过期",
297
+ "revoked": "已撤销"
298
+ },
299
+ "noMatch": "未找到匹配的成员",
300
+ "noMembers": "暂无成员",
301
+ "tryAdjustFilters": "尝试调整筛选条件",
302
+ "inviteMembers": "邀请成员开始吧",
303
+ "you": "你",
304
+ "joinedAt": "加入于",
305
+ "lastActiveAt": "活跃于",
306
+ "sessions": "{{count}} 次会话",
307
+ "moreActions": "更多操作",
308
+ "promoteToAdmin": "提升为管理员",
309
+ "demoteToMember": "降级为成员",
310
+ "resendInvite": "重新发送邀请",
311
+ "removeMember": "移除成员",
312
+ "removeMemberConfirm": "确认移除该成员?",
313
+ "never": "从未",
314
+ "justNow": "刚刚",
315
+ "minutesAgo": "{{count}} 分钟前",
316
+ "hoursAgo": "{{count}} 小时前",
317
+ "daysAgo": "{{count}} 天前",
318
+ "expired": "已过期",
319
+ "days": "{{count}} 天",
320
+ "hours": "{{count}} 小时",
321
+ "lessThanHour": "不足一小时",
322
+ "directLink": "直接链接",
323
+ "resend": "重新发送",
324
+ "revoke": "撤销",
325
+ "copyLink": "复制链接",
326
+ "inviteSent": "邀请已发送",
327
+ "linkCreated": "链接已创建",
328
+ "guestBadge": "访客",
329
+ "unlimited": "无限",
330
+ "seatMembers": "成员席位",
331
+ "seatMembersHint": "团队成员席位使用情况",
332
+ "seatGuests": "访客席位",
333
+ "seatGuestsHint": "每加购 1 成员席位赠送 3 访客席位",
334
+ "invite": {
335
+ "title": "邀请",
336
+ "description": "{{pending}} 个待接受,{{accepted}} 个已接受",
337
+ "createInvite": "创建邀请",
338
+ "dialogDescription": "邀请他人加入你的团队",
339
+ "directLink": "生成直接链接(无需邮箱)",
340
+ "email": "邮箱",
341
+ "role": "角色",
342
+ "roleDescription": "成员可创建内容,访客仅可查看",
343
+ "expires": "有效期",
344
+ "message": "留言(可选)",
345
+ "messagePlaceholder": "添加一段个人留言…",
346
+ "creating": "创建中…",
347
+ "sendInvite": "发送邀请",
348
+ "noInvitations": "暂无邀请",
349
+ "createFirst": "创建一个邀请开始吧。",
350
+ "invitedAt": "于",
351
+ "acceptedAt": "已于"
352
+ },
353
+ "expiresIn": "后过期",
354
+ "inviteCreateFailed": "创建邀请失败",
355
+ "subtitle": "邀请、管理与退出团队成员",
356
+ "notImplemented": "{{action}}功能暂未开放",
357
+ "linkCopied": "链接已复制:{{link}}",
358
+ "dangerZone": "危险操作",
359
+ "dangerZoneDesc": "以下操作不可撤销,请谨慎执行",
360
+ "leaveTeamTitle": "退出当前团队",
361
+ "leaveTeamDesc": "退出后将失去该团队的所有访问权限",
362
+ "leaveTeam": "退出团队",
363
+ "joinedTeam": "已加入 {{username}} 团队",
364
+ "memberInfo": "成员信息",
365
+ "noTeam": "暂无团队",
366
+ "noTeamDesc": "邀请团队成员,开始协作",
367
+ "sampleNames": {
368
+ "zhangsan": "张三",
369
+ "lisi": "李四",
370
+ "wangwu": "王五",
371
+ "zhaoliu": "赵六",
372
+ "qianqi": "钱七"
373
+ }
374
+ }
375
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "review": {
3
+ "pending": "待评审",
4
+ "reviewing": "评审中",
5
+ "approved": "已通过",
6
+ "rejected": "已驳回",
7
+ "status-updated": "评审状态已更新",
8
+ "update-failed": "更新失败",
9
+ "login-required": "请登录后参与评审",
10
+ "status-label": "评审状态",
11
+ "notes-placeholder": "评审意见...",
12
+ "approve": "通过",
13
+ "reject": "驳回"
14
+ },
15
+ "comment": {
16
+ "input-placeholder": "输入评论...",
17
+ "send": "发送",
18
+ "login-required": "请登录后评论"
19
+ }
20
+ }