@nocobase/app-template-default 1.0.0-beta.59 → 1.0.0-beta.60

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.
@@ -0,0 +1,320 @@
1
+ import type { SystemResource } from './en-US.js';
2
+ import deviceApprovalZhCN from '#extensions/nocobase-device-approval/locales/zh-CN';
3
+ import inboxZhCN from '#extensions/nocobase-inbox/locales/zh-CN';
4
+
5
+ /** The Chinese copy of what the template ships; see `./en-US.ts`. */
6
+ const systemZhCN: SystemResource = {
7
+ // The UI Library block of the `/device` page; the keys below may reword it.
8
+ ...deviceApprovalZhCN,
9
+ // The UI Library block of the `/inbox` page; the keys below may reword it.
10
+ ...inboxZhCN,
11
+ // The UI Library component of the header's inbox button.
12
+ 'inboxButton.title': '收件箱',
13
+ 'inboxButton.pending': '收件箱,{{count}} 项待处理',
14
+ 'inboxButton.unread': '收件箱,{{count}} 条未读',
15
+ 'inboxButton.pendingHint': '{{count}} 项等你处理,处理后减少。',
16
+ 'inboxButton.unreadHint': '{{count}} 条未读,阅读后减少。',
17
+ 'auth.welcome': '欢迎回来',
18
+ 'auth.loginDescription': '使用用户名或邮箱和密码登录。',
19
+ 'auth.registerTitle': '创建账户',
20
+ 'auth.registerDescription': '创建账户以开始使用。',
21
+ 'auth.forgotTitle': '忘记密码',
22
+ 'auth.forgotDescription': '输入邮箱,如果账户存在,我们将发送重置链接。',
23
+ 'auth.resetDescription': '为账户设置新密码。',
24
+ 'auth.resetTitle': '重置密码',
25
+ 'auth.identifier': '用户名或邮箱',
26
+ 'auth.password': '密码',
27
+ 'auth.signIn': '登录',
28
+ 'auth.signingIn': '正在登录…',
29
+ 'auth.hidePassword': '隐藏密码',
30
+ 'auth.showPassword': '显示密码',
31
+ 'auth.forgotLink': '忘记密码?',
32
+ 'auth.noAccount': '还没有账户?',
33
+ 'auth.signUp': '注册',
34
+ 'auth.createAccount': '创建账户',
35
+ 'auth.creatingAccount': '正在创建账户…',
36
+ 'auth.name': '姓名',
37
+ 'auth.username': '用户名',
38
+ 'auth.email': '邮箱',
39
+ 'auth.confirmPassword': '确认密码',
40
+ 'auth.existingAccount': '已有账户?',
41
+ 'auth.passwordMismatch': '两次输入的密码不一致。',
42
+ 'auth.resetting': '正在重置…',
43
+ 'auth.newPassword': '新密码',
44
+ 'auth.confirmNewPassword': '确认新密码',
45
+ 'auth.invalidResetLink': '此密码重置链接无效或已过期。',
46
+ 'auth.backToSignIn': '返回登录',
47
+ 'auth.sendResetLink': '发送重置链接',
48
+ 'auth.sending': '正在发送…',
49
+ 'auth.resetSent': '如果账户存在,重置链接已发送。',
50
+ 'auth.rememberPassword': '记得密码?',
51
+ 'auth.methods': '登录方式',
52
+ 'auth.or': '或使用以下方式继续',
53
+ 'auth.continueWith': '使用 {provider} 继续',
54
+ 'auth.about': '关于此应用',
55
+ 'auth.platform': 'AI 原生应用平台',
56
+ 'auth.marketingTitleFirst': '让 AI 自由构建。',
57
+ 'auth.marketingTitleSecond': 'NocoBase 保障',
58
+ 'auth.marketingTitleThird': '可靠运行。',
59
+ 'auth.marketingDescription':
60
+ '让 AI 在灵活的前端框架上构建体验,由 NocoBase 保障底层数据、权限与治理。',
61
+ 'auth.frontend': 'AI 原生前端',
62
+ 'auth.frontendDescription': '在灵活的框架上自由构建界面。',
63
+ 'auth.foundation': 'NocoBase 基础能力',
64
+ 'auth.foundationDescription': '可靠的数据、访问控制与治理。',
65
+ 'auth.marketingFooter': '自由构建,可靠支撑。',
66
+ 'status.loading': '加载中',
67
+ 'status.loadingPage': '正在加载页面',
68
+ 'status.denied': '无权访问',
69
+ 'status.pageFailed': '无法加载页面',
70
+ 'status.retry': '重试',
71
+ 'navigation.brandHome': 'NocoBase 首页',
72
+ 'navigation.brandApps': 'NocoBase 应用',
73
+ 'routeOverlay.close': '关闭',
74
+ 'status.deniedDescription': '你没有访问 {{label}} 的权限。',
75
+ 'status.routeFailedDescription':
76
+ '无法加载 {{packageName}} 的路由 {{label}}。',
77
+ shell: {
78
+ buildFreely: 'AI 自由构建。',
79
+ reliability: '<brand>NocoBase</brand> 保障可靠。',
80
+ },
81
+ home: {
82
+ platform: 'NocoBase · AI 原生应用平台',
83
+ title: '说出需求,由 Agent 来构建',
84
+ description:
85
+ '这个应用通过和 Coding Agent 对话来开发。用平常的话说明业务需要什么,它会在这个项目里编写页面、数据模型、接口和业务流程。',
86
+ steps: {
87
+ describe: {
88
+ title: '描述需求',
89
+ description: '说明谁来使用、要记录哪些数据、希望发生什么。',
90
+ },
91
+ build: {
92
+ title: '交给 Agent 构建',
93
+ description: '它会阅读这个项目和内置能力,然后编写代码。',
94
+ },
95
+ review: {
96
+ title: '查看并调整',
97
+ description: '刷新页面试用,有需要再用同样的方式提出修改。',
98
+ },
99
+ },
100
+ example: {
101
+ title: '可以这样提需求',
102
+ text: '帮我做一个采购订单应用。\n\n订单包含编号、采购事项、申请人、金额和审批状态。申请人可以创建订单,只能查看自己的订单;审批人可以查看所有待审批订单,并通过或驳回。\n审批完成后,用站内信通知申请人,点击可以打开对应订单。',
103
+ hint: '粘贴到在这个项目中打开的 Claude Code、Codex、Cursor 或其他 Coding Agent 中即可。',
104
+ },
105
+ capabilitiesTitle: '内置能力',
106
+ capabilitiesDescription:
107
+ 'Agent 会直接使用这些能力,不必从零开发。打开任意一项,获取可以修改和复制的提示词。',
108
+ viewPrompts: '查看提示词({{count}})',
109
+ prompt: {
110
+ label: '提示词',
111
+ hint: '复制前可以按自己的业务修改提示词。关闭弹窗后,修改不会保留。',
112
+ copy: '复制',
113
+ copiedShort: '已复制',
114
+ copied: '提示词已复制',
115
+ copyFailed: '无法复制,请选中文字后手动复制。',
116
+ reset: '恢复默认',
117
+ },
118
+ capabilities: {
119
+ auth: {
120
+ title: '认证',
121
+ description: '登录、注册、找回密码,以及企业统一身份登录。',
122
+ prompts: {
123
+ disableSignUp: {
124
+ label: '关闭注册',
125
+ text: '这个应用只供公司员工使用,账号由管理员统一创建。\n请关闭自助注册,登录页不再显示注册入口。\n已有员工仍能使用原账号和密码登录,保留忘记密码入口。',
126
+ },
127
+ passwordRules: {
128
+ label: '密码规则',
129
+ text: '新注册和重置密码时,密码至少需要 12 个字符。\n在注册和重置密码表单中显示这条要求,并使用一致的校验提示。\n保留已有账号的登录能力,已有用户无需立即修改密码。',
130
+ },
131
+ companySso: {
132
+ label: '企业账号登录',
133
+ text: '请让员工使用公司的统一身份平台登录,采用 OIDC。\n\n保留原有账号密码登录,在登录页增加「企业账号登录」入口。\n点击后进入企业身份平台,登录成功后返回应用首页。\n\n首次登录允许创建应用账号,以身份平台的稳定用户标识识别用户。\n不要根据同名或相同邮箱自动关联已有账号,新账号沿用应用默认权限。\n\n请列出身份平台管理员需要提供的信息,以及需要登记的回调地址。',
134
+ },
135
+ },
136
+ },
137
+ authorization: {
138
+ title: '权限',
139
+ description: '控制谁能进入哪些页面、执行哪些操作、查看哪些数据。',
140
+ prompts: {
141
+ jobs: {
142
+ label: '岗位权限',
143
+ text: '请为应用设置「采购申请人」和「订单审批人」两个岗位。\n采购申请人可以进入订单页面,查看本人申请的订单。\n订单审批人可以进入订单页面,查看订单,并批准或驳回待审批订单。\n只有应用管理员可以调整岗位权限和人员分配。\n请接入应用已有的权限能力,让管理员以后可以调整权限和分配人员。',
144
+ },
145
+ dataScopes: {
146
+ label: '数据范围',
147
+ text: '采购申请人只查看自己申请的订单,以订单的申请人字段判断归属。\n订单审批人可以查看所有订单,处理待审批订单。\n管理员可以在权限集中分别调整两个岗位的订单查看范围。',
148
+ },
149
+ sharing: {
150
+ label: '共享记录',
151
+ text: '请将 Bob 的 PO-2026-004 订单共享给 Alice,让她协助复核。\nAlice 已有订单查看权限,本次增加这笔订单的查看范围。\n保留她原有的岗位职责,审批仍由订单审批人处理。\n这项共享需要能由管理员管理。',
152
+ },
153
+ },
154
+ },
155
+ scheduler: {
156
+ title: '定时任务',
157
+ description: '按时间自动执行业务处理,查看下次执行时间和执行结果。',
158
+ prompts: {
159
+ reminder: {
160
+ label: '每日提醒',
161
+ text: '为现有订单应用添加“待审批订单提醒”。\n\n每个工作日北京时间上午 9 点,查找仍待审批的订单,按审批人汇总,并向对应审批人发送一条站内通知。\n通知显示待审批订单数量,点击后打开待审批订单列表;没有待审批订单时不发送。\n管理员可以查看任务的运行时间和执行记录,并暂停或恢复提醒。',
162
+ },
163
+ weeklyReport: {
164
+ label: '每周报表',
165
+ text: '每周一北京时间上午 8 点生成上周的销售汇总报表,并通知销售负责人查看。\n报表包含销售额、订单数量和各区域汇总。管理员可以查看任务及执行记录。',
166
+ },
167
+ },
168
+ },
169
+ notification: {
170
+ title: '通知',
171
+ description: '在业务事件发生时,通过站内信、邮件或群机器人发送消息。',
172
+ prompts: {
173
+ inApp: {
174
+ label: '站内信',
175
+ text: '我要在当前应用中做订单审批,并用站内信通知申请人审批结果。\n\n订单包含编号、名称、申请人、金额和审批状态。\n申请人可以查看自己的订单,审批人可以查看待审批订单并通过或驳回。如果已有订单和审批功能,请直接复用。\n\n审批完成后,只给该订单的申请人发送一条站内信。\n消息标题说明通过或驳回,正文包含订单编号、名称和审批结果。\n点击消息可以打开对应订单详情。\n待审批时不发送,同一次审批结果只通知一次。\n通知发送失败不影响已保存的审批结果。',
176
+ },
177
+ email: {
178
+ label: '邮件通知',
179
+ text: '请在现有订单审批通知中增加邮件,使用应用已配置的邮件渠道。\n\n订单审批通过或驳回后,向申请人账号中的邮箱发送审批结果。\n主题包含订单编号,正文包含订单名称和审批结果。\n保留已有站内信;申请人未填写邮箱时,只发送站内信。\n邮件发送失败不影响审批结果和站内信。',
180
+ },
181
+ },
182
+ },
183
+ mail: {
184
+ title: '邮件',
185
+ description: '关联个人邮箱,阅读、回复和发送业务邮件。',
186
+ prompts: {
187
+ mailCenter: {
188
+ label: '邮件中心',
189
+ text: '为应用添加邮件中心和邮箱账号管理入口。用户可以关联自己的邮箱,按邮箱查看收件箱、同步来信、阅读正文和附件,并回复邮件。\n\n销售人员收到客户的报价咨询后,可以在邮件中心回复。回复时保留原邮件主题和上下文,收件人使用原发件人。每位用户只处理自己关联的邮箱。',
190
+ },
191
+ correspondence: {
192
+ label: '客户往来邮件',
193
+ text: '在客户详情页添加往来邮件区,展示发件人或收件人与当前客户联系人邮箱匹配的邮件。销售人员可以在这里阅读正文、查看附件和回复,使用自己关联的邮箱。',
194
+ },
195
+ },
196
+ },
197
+ file: {
198
+ title: '文件',
199
+ description: '上传文件并关联业务记录,支持预览和下载。',
200
+ prompts: {
201
+ attachments: {
202
+ label: '订单附件',
203
+ text: '给现有订单管理应用增加采购附件功能。\n\n在订单详情中添加附件区域,每个订单可以上传多个文件,支持 PDF、图片和 DOCX。\n显示附件的文件名和大小,支持预览、下载和移除。\n上传后点击保存,将附件关联到当前订单;重新打开订单时仍能看到这些附件。\n有权查看订单的人员可以查看和下载附件,申请人和审批人员可以添加或移除附件。\n移除附件只解除它与当前订单的关联,保留文件。',
204
+ },
205
+ avatar: {
206
+ label: '员工头像',
207
+ text: '给员工增加头像,每名员工最多一张。\n支持上传和更换头像,在员工列表和详情中显示。\n更换后使用新头像,刷新页面后仍能正常显示。',
208
+ },
209
+ },
210
+ },
211
+ templatePrint: {
212
+ title: '模板打印',
213
+ description: '把业务数据填入 Word 或 Excel 模板,生成可下载的文件。',
214
+ prompts: {
215
+ approvalForm: {
216
+ label: '审批单',
217
+ text: '在订单详情中增加“生成采购审批单”功能。\n\n使用我提供的 Word 模板,填入当前订单的编号、采购事项、申请人、金额、审批结果和处理时间。\n保留模板的标题、表格布局和签名区域,生成文件名为“采购审批单-订单编号”,提供 Word 文件下载。\n有权查看该订单的人员可以生成审批单,生成文件使用当前订单的数据。',
218
+ },
219
+ pdf: {
220
+ label: 'PDF 输出',
221
+ text: '为采购审批单增加 PDF 下载,保留 Word 模板的字体、表格和签名区域。',
222
+ },
223
+ },
224
+ },
225
+ i18n: {
226
+ title: '多语言',
227
+ description: '切换界面语言,添加新语言,设置默认语言。',
228
+ prompts: {
229
+ addLanguage: {
230
+ label: '新增语言',
231
+ text: '为应用增加西班牙语,界面和服务端提示都使用对应的翻译,并在语言菜单中提供西班牙语选项。',
232
+ },
233
+ defaultLanguage: {
234
+ label: '默认语言',
235
+ text: '把应用的默认语言设为简体中文,没有选过语言的用户第一次打开时看到中文。语言菜单中继续保留英文。',
236
+ },
237
+ },
238
+ },
239
+ theme: {
240
+ title: '主题',
241
+ description: '调整配色、字体和布局密度,切换浅色和深色模式。',
242
+ prompts: {
243
+ changeTheme: {
244
+ label: '修改主题',
245
+ text: '修改「紧凑」主题:将主色改为蓝色,略微增大圆角。保留当前字体、字号和紧凑间距。',
246
+ },
247
+ newTheme: {
248
+ label: '新增主题',
249
+ text: '新建一个“森林”主题,以绿色为主色,背景柔和,圆角适中,阴影轻一些。',
250
+ },
251
+ },
252
+ },
253
+ },
254
+ },
255
+
256
+ appearance: {
257
+ title: '外观',
258
+ mode: '颜色模式',
259
+ preset: '主题',
260
+ light: '浅色',
261
+ dark: '深色',
262
+ system: '跟随系统',
263
+ themes: { default: '宽松', compact: '紧凑' },
264
+ },
265
+ app: {
266
+ title: 'NocoBase',
267
+ },
268
+ actions: {
269
+ close: '关闭',
270
+ save: '保存',
271
+ cancel: '取消',
272
+ confirm: '确认',
273
+ language: '语言',
274
+ },
275
+ notices: {
276
+ serverLocaleFallback: '服务端不支持该语言,服务端内容已回落为英文。',
277
+ languageChangeFailed: '未能完成语言切换,请重试。',
278
+ },
279
+ account: {
280
+ signOutFailed: '退出登录失败,请重试。',
281
+ openMenu: '打开账户菜单',
282
+ fallback: '账户',
283
+ signOut: '退出登录',
284
+ signingOut: '正在退出…',
285
+ },
286
+ navigation: {
287
+ home: '首页',
288
+ open: '打开导航',
289
+ close: '关闭导航',
290
+ expand: '展开导航',
291
+ collapse: '收起导航',
292
+ toggle: '展开或收起导航',
293
+ label: '应用导航',
294
+ description: '前往本应用的页面。',
295
+ breadcrumb: '面包屑',
296
+ breadcrumbMore: '显示中间层级',
297
+ back: '返回',
298
+ },
299
+ dataTable: {
300
+ noResults: '暂无数据。',
301
+ sortAscending: '升序',
302
+ sortDescending: '降序',
303
+ hideColumn: '隐藏',
304
+ view: '视图',
305
+ toggleColumns: '显示列',
306
+ selectedCount: '已选择 {{selected}} / {{total}} 行。',
307
+ rowsPerPage: '每页行数',
308
+ pageOf: '第 {{page}} 页,共 {{pageCount}} 页',
309
+ firstPage: '第一页',
310
+ previousPage: '上一页',
311
+ nextPage: '下一页',
312
+ lastPage: '最后一页',
313
+ },
314
+ datePicker: {
315
+ placeholder: '选择日期',
316
+ rangePlaceholder: '选择日期范围',
317
+ },
318
+ };
319
+
320
+ export default systemZhCN;
@@ -1,171 +1,9 @@
1
1
  import type { AppResource } from './en-US.js';
2
- import deviceApprovalZhCN from '#extensions/nocobase-device-approval/locales/zh-CN';
3
- import inboxZhCN from '#extensions/nocobase-inbox/locales/zh-CN';
2
+ import systemZhCN from './system/zh-CN.js';
4
3
 
5
4
  const zhCN: AppResource = {
6
- // The UI Library block of the `/device` page; the keys below may reword it.
7
- ...deviceApprovalZhCN,
8
- // The UI Library block of the `/inbox` page; the keys below may reword it.
9
- ...inboxZhCN,
10
- // The UI Library component of the header's inbox button.
11
- 'inboxButton.title': '收件箱',
12
- 'inboxButton.pending': '收件箱,{{count}} 项待处理',
13
- 'inboxButton.unread': '收件箱,{{count}} 条未读',
14
- 'inboxButton.pendingHint': '{{count}} 项等你处理,处理后减少。',
15
- 'inboxButton.unreadHint': '{{count}} 条未读,阅读后减少。',
16
- 'auth.welcome': '欢迎回来',
17
- 'auth.loginDescription': '使用用户名或邮箱和密码登录。',
18
- 'auth.registerTitle': '创建账户',
19
- 'auth.registerDescription': '创建账户以开始使用。',
20
- 'auth.forgotTitle': '忘记密码',
21
- 'auth.forgotDescription': '输入邮箱,如果账户存在,我们将发送重置链接。',
22
- 'auth.resetDescription': '为账户设置新密码。',
23
- 'auth.resetTitle': '重置密码',
24
- 'auth.identifier': '用户名或邮箱',
25
- 'auth.password': '密码',
26
- 'auth.signIn': '登录',
27
- 'auth.signingIn': '正在登录…',
28
- 'auth.hidePassword': '隐藏密码',
29
- 'auth.showPassword': '显示密码',
30
- 'auth.forgotLink': '忘记密码?',
31
- 'auth.noAccount': '还没有账户?',
32
- 'auth.signUp': '注册',
33
- 'auth.createAccount': '创建账户',
34
- 'auth.creatingAccount': '正在创建账户…',
35
- 'auth.name': '姓名',
36
- 'auth.username': '用户名',
37
- 'auth.email': '邮箱',
38
- 'auth.confirmPassword': '确认密码',
39
- 'auth.existingAccount': '已有账户?',
40
- 'auth.passwordMismatch': '两次输入的密码不一致。',
41
- 'auth.resetting': '正在重置…',
42
- 'auth.newPassword': '新密码',
43
- 'auth.confirmNewPassword': '确认新密码',
44
- 'auth.invalidResetLink': '此密码重置链接无效或已过期。',
45
- 'auth.backToSignIn': '返回登录',
46
- 'auth.sendResetLink': '发送重置链接',
47
- 'auth.sending': '正在发送…',
48
- 'auth.resetSent': '如果账户存在,重置链接已发送。',
49
- 'auth.rememberPassword': '记得密码?',
50
- 'auth.methods': '登录方式',
51
- 'auth.or': '或使用以下方式继续',
52
- 'auth.continueWith': '使用 {provider} 继续',
53
- 'auth.about': '关于此应用',
54
- 'auth.platform': 'AI 原生应用平台',
55
- 'auth.marketingTitleFirst': '让 AI 自由构建。',
56
- 'auth.marketingTitleSecond': 'NocoBase 保障',
57
- 'auth.marketingTitleThird': '可靠运行。',
58
- 'auth.marketingDescription':
59
- '让 AI 在灵活的前端框架上构建体验,由 NocoBase 保障底层数据、权限与治理。',
60
- 'auth.frontend': 'AI 原生前端',
61
- 'auth.frontendDescription': '在灵活的框架上自由构建界面。',
62
- 'auth.foundation': 'NocoBase 基础能力',
63
- 'auth.foundationDescription': '可靠的数据、访问控制与治理。',
64
- 'auth.marketingFooter': '自由构建,可靠支撑。',
65
- 'status.loading': '加载中',
66
- 'status.loadingPage': '正在加载页面',
67
- 'status.denied': '无权访问',
68
- 'status.pageFailed': '无法加载页面',
69
- 'status.retry': '重试',
70
- 'navigation.brandHome': 'NocoBase 首页',
71
- 'navigation.brandApps': 'NocoBase 应用',
72
- 'routeOverlay.close': '关闭',
73
- 'status.deniedDescription': '你没有访问 {{label}} 的权限。',
74
- 'status.routeFailedDescription':
75
- '无法加载 {{packageName}} 的路由 {{label}}。',
76
- shell: {
77
- buildFreely: 'AI 自由构建。',
78
- reliability: '<brand>NocoBase</brand> 保障可靠。',
79
- },
80
- home: {
81
- platform: 'NocoBase · AI 原生应用平台',
82
- pages: {
83
- title: '构建业务页面',
84
- description: '让想法变成适合你的工作界面。',
85
- examples: '从表格、表单到仪表盘,围绕业务搭建每一个页面。',
86
- },
87
- data: {
88
- title: '组织业务数据',
89
- description: '建立清晰、相互关联的数据模型。',
90
- examples: '定义记录、字段与关联,让分散的信息连成整体。',
91
- },
92
- workflows: {
93
- title: '串联业务流程',
94
- description: '用一致的流程,让工作顺畅推进。',
95
- examples: '把审批、通知和自动化操作融入日常业务。',
96
- },
97
- startTitle: '从一个需求开始',
98
- startDescription: '告诉 AI 助手,你想解决什么问题、谁会使用这个应用。',
99
- examplePrompt:
100
- '“为销售团队搭建一个客户管理应用,包含客户列表、联系人信息和跟进记录,并能清楚查看每个商机的进展。”',
101
- startHint: '先完成一个实用的小流程,再随着需求逐步完善页面、数据和规则。',
102
- foundation: 'AI 自由构建,NocoBase 为数据、权限和流程提供可靠底座。',
103
- title: '开始构建你的应用',
104
- description: '向 AI 助手描述你的需求,逐步构建页面、数据模型和业务流程。',
105
- },
106
-
107
- appearance: {
108
- title: '外观',
109
- mode: '颜色模式',
110
- preset: '主题',
111
- light: '浅色',
112
- dark: '深色',
113
- system: '跟随系统',
114
- themes: { default: '宽松', compact: '紧凑' },
115
- },
116
- app: {
117
- title: 'NocoBase',
118
- },
119
- actions: {
120
- close: '关闭',
121
- save: '保存',
122
- cancel: '取消',
123
- confirm: '确认',
124
- language: '语言',
125
- },
126
- notices: {
127
- serverLocaleFallback: '服务端不支持该语言,服务端内容已回落为英文。',
128
- languageChangeFailed: '未能完成语言切换,请重试。',
129
- },
130
- account: {
131
- signOutFailed: '退出登录失败,请重试。',
132
- openMenu: '打开账户菜单',
133
- fallback: '账户',
134
- signOut: '退出登录',
135
- signingOut: '正在退出…',
136
- },
137
- navigation: {
138
- home: '首页',
139
- open: '打开导航',
140
- close: '关闭导航',
141
- expand: '展开导航',
142
- collapse: '收起导航',
143
- toggle: '展开或收起导航',
144
- label: '应用导航',
145
- description: '前往本应用的页面。',
146
- breadcrumb: '面包屑',
147
- breadcrumbMore: '显示中间层级',
148
- back: '返回',
149
- },
150
- dataTable: {
151
- noResults: '暂无数据。',
152
- sortAscending: '升序',
153
- sortDescending: '降序',
154
- hideColumn: '隐藏',
155
- view: '视图',
156
- toggleColumns: '显示列',
157
- selectedCount: '已选择 {{selected}} / {{total}} 行。',
158
- rowsPerPage: '每页行数',
159
- pageOf: '第 {{page}} 页,共 {{pageCount}} 页',
160
- firstPage: '第一页',
161
- previousPage: '上一页',
162
- nextPage: '下一页',
163
- lastPage: '最后一页',
164
- },
165
- datePicker: {
166
- placeholder: '选择日期',
167
- rangePlaceholder: '选择日期范围',
168
- },
5
+ // The template's own copy; see `./en-US.ts`.
6
+ ...systemZhCN,
169
7
  };
170
8
 
171
9
  export default zhCN;
@@ -0,0 +1,52 @@
1
+ import {
2
+ Bell,
3
+ CalendarClock,
4
+ KeyRound,
5
+ Languages,
6
+ Mail,
7
+ Palette,
8
+ Paperclip,
9
+ Printer,
10
+ ShieldCheck,
11
+ type LucideIcon,
12
+ } from 'lucide-react';
13
+
14
+ /**
15
+ * A built-in capability the homepage introduces. Its title, description and prompts live in the locale files under
16
+ * `home.capabilities.<id>`, one `prompts.<promptId>.label` and `prompts.<promptId>.text` per prompt, so the wording is
17
+ * translated and reworded there rather than here.
18
+ */
19
+ export interface Capability {
20
+ readonly id: string;
21
+ readonly icon: LucideIcon;
22
+ readonly prompts: readonly string[];
23
+ }
24
+
25
+ // The default prompts follow the examples in the documentation's Capabilities chapter.
26
+ export const CAPABILITIES: readonly Capability[] = [
27
+ {
28
+ id: 'auth',
29
+ icon: KeyRound,
30
+ prompts: ['disableSignUp', 'passwordRules', 'companySso'],
31
+ },
32
+ {
33
+ id: 'authorization',
34
+ icon: ShieldCheck,
35
+ prompts: ['jobs', 'dataScopes', 'sharing'],
36
+ },
37
+ {
38
+ id: 'scheduler',
39
+ icon: CalendarClock,
40
+ prompts: ['reminder', 'weeklyReport'],
41
+ },
42
+ { id: 'notification', icon: Bell, prompts: ['inApp', 'email'] },
43
+ {
44
+ id: 'mail',
45
+ icon: Mail,
46
+ prompts: ['mailCenter', 'correspondence'],
47
+ },
48
+ { id: 'file', icon: Paperclip, prompts: ['attachments', 'avatar'] },
49
+ { id: 'templatePrint', icon: Printer, prompts: ['approvalForm', 'pdf'] },
50
+ { id: 'i18n', icon: Languages, prompts: ['addLanguage', 'defaultLanguage'] },
51
+ { id: 'theme', icon: Palette, prompts: ['changeTheme', 'newTheme'] },
52
+ ];