@object-ui/i18n 16.0.0 → 17.1.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/CHANGELOG.md +1270 -0
- package/dist/locales/ar.d.ts +827 -2
- package/dist/locales/ar.js +833 -7
- package/dist/locales/de.d.ts +825 -2
- package/dist/locales/de.js +831 -7
- package/dist/locales/en.d.ts +404 -17
- package/dist/locales/en.js +419 -19
- package/dist/locales/es.d.ts +825 -2
- package/dist/locales/es.js +831 -7
- package/dist/locales/fr.d.ts +827 -2
- package/dist/locales/fr.js +833 -7
- package/dist/locales/index.d.ts +7378 -90
- package/dist/locales/ja.d.ts +825 -2
- package/dist/locales/ja.js +831 -7
- package/dist/locales/ko.d.ts +825 -2
- package/dist/locales/ko.js +831 -7
- package/dist/locales/pt.d.ts +827 -2
- package/dist/locales/pt.js +833 -7
- package/dist/locales/ru.d.ts +827 -2
- package/dist/locales/ru.js +833 -7
- package/dist/locales/zh.d.ts +327 -18
- package/dist/locales/zh.js +329 -18
- package/dist/useObjectLabel.d.ts +240 -12
- package/dist/useObjectLabel.js +109 -44
- package/dist/useSafeTranslation.d.ts +2 -0
- package/dist/useSafeTranslation.js +7 -2
- package/package.json +3 -3
package/dist/locales/zh.js
CHANGED
|
@@ -88,9 +88,14 @@ const zh = {
|
|
|
88
88
|
package: '软件包',
|
|
89
89
|
},
|
|
90
90
|
actions: {
|
|
91
|
+
decisionOutput: {
|
|
92
|
+
help: '作为决策输出传递给流程。',
|
|
93
|
+
helpMultiValue: '作为决策输出传递给流程。多个值请用逗号分隔。',
|
|
94
|
+
},
|
|
91
95
|
resultDialog: {
|
|
92
|
-
defaultTitle: '
|
|
93
|
-
acknowledge: '
|
|
96
|
+
defaultTitle: '请立即保存此值',
|
|
97
|
+
acknowledge: '我已保存',
|
|
98
|
+
copyAll: '全部复制',
|
|
94
99
|
},
|
|
95
100
|
},
|
|
96
101
|
validation: {
|
|
@@ -107,6 +112,8 @@ const zh = {
|
|
|
107
112
|
type: '{{field}}必须是有效的{{type}}',
|
|
108
113
|
},
|
|
109
114
|
form: {
|
|
115
|
+
noPermissionToSave: '您没有权限保存这条记录。',
|
|
116
|
+
submitFailed: '保存失败,请重试。',
|
|
110
117
|
addItem: '添加项目',
|
|
111
118
|
removeItem: '移除项目',
|
|
112
119
|
fieldRequired: '此字段为必填项',
|
|
@@ -118,11 +125,13 @@ const zh = {
|
|
|
118
125
|
discardMessage: '您有未保存的更改。如果现在关闭此表单,您的编辑将会丢失。',
|
|
119
126
|
keepEditing: '继续编辑',
|
|
120
127
|
discard: '放弃',
|
|
128
|
+
conflictTitle: '保存冲突',
|
|
129
|
+
conflictMessage: '您编辑期间,这条记录已被其他人修改。覆盖保存将用您的内容替换对方的修改。',
|
|
130
|
+
conflictLatestVersion: '对方保存时间:{{time}}',
|
|
131
|
+
conflictOverwrite: '覆盖保存',
|
|
121
132
|
stepOf: '第{{current}}步,共{{total}}步',
|
|
122
133
|
createTitle: '新建{{object}}',
|
|
123
134
|
editTitle: '编辑{{object}}',
|
|
124
|
-
createDescription: '向数据库添加新的{{object}}。',
|
|
125
|
-
editDescription: '更新{{object}}的详情',
|
|
126
135
|
saveRecord: '保存',
|
|
127
136
|
create: '创建',
|
|
128
137
|
update: '更新',
|
|
@@ -134,11 +143,67 @@ const zh = {
|
|
|
134
143
|
relativeDate: {
|
|
135
144
|
overdue: '逾期 {{count}} 天',
|
|
136
145
|
},
|
|
146
|
+
file: {
|
|
147
|
+
dragDropHere: '拖拽文件到此处',
|
|
148
|
+
dropFilesHere: '松开以上传',
|
|
149
|
+
browseHint: '或点击浏览',
|
|
150
|
+
browseHintCamera: '或点击浏览 • 使用下方相机按钮',
|
|
151
|
+
takePhoto: '拍照',
|
|
152
|
+
takeSelfie: '自拍',
|
|
153
|
+
cameraCapture: '拍摄',
|
|
154
|
+
uploading: '上传中…',
|
|
155
|
+
uploadingPct: '上传中…({{pct}}%)',
|
|
156
|
+
fileFallback: '文件',
|
|
157
|
+
upload: '上传',
|
|
158
|
+
remove: '移除 {{name}}',
|
|
159
|
+
exceedsMaxSize: '“{{name}}” 超过大小上限({{max}} MB)',
|
|
160
|
+
uploadFailed: '上传 “{{name}}” 失败:{{error}}',
|
|
161
|
+
},
|
|
162
|
+
image: {
|
|
163
|
+
upload: '上传图片',
|
|
164
|
+
addMore: '添加更多图片',
|
|
165
|
+
uploading: '上传中…',
|
|
166
|
+
imageAlt: '图片 {{index}}',
|
|
167
|
+
crop: '裁剪图片 {{index}}',
|
|
168
|
+
remove: '移除图片 {{index}}',
|
|
169
|
+
enlarge: '放大 {{name}}',
|
|
170
|
+
preview: '图片预览',
|
|
171
|
+
previous: '上一张',
|
|
172
|
+
next: '下一张',
|
|
173
|
+
counter: '{{current}} / {{total}}',
|
|
174
|
+
},
|
|
137
175
|
richText: {
|
|
138
176
|
format: '格式: {{format}}',
|
|
139
177
|
basicEditorHint: '富文本编辑器(基础)',
|
|
140
178
|
placeholder: '请输入文字...',
|
|
141
179
|
},
|
|
180
|
+
objectRef: {
|
|
181
|
+
loading: '正在加载对象…',
|
|
182
|
+
placeholder: '请选择对象',
|
|
183
|
+
search: '搜索对象…',
|
|
184
|
+
empty: '未找到对象',
|
|
185
|
+
},
|
|
186
|
+
recipient: {
|
|
187
|
+
selectTypeFirst: '请先选择接收方类型。',
|
|
188
|
+
loading: '加载中…',
|
|
189
|
+
search: '搜索…',
|
|
190
|
+
empty: '无匹配项',
|
|
191
|
+
select: '请选择接收方',
|
|
192
|
+
selectUser: '请选择用户',
|
|
193
|
+
selectTeam: '请选择团队',
|
|
194
|
+
selectBusinessUnit: '请选择业务单元',
|
|
195
|
+
selectPosition: '请选择岗位',
|
|
196
|
+
selectUnitAndSubordinates: '请选择业务单元',
|
|
197
|
+
},
|
|
198
|
+
filterCondition: {
|
|
199
|
+
selectObjectFirst: '请先选择对象。',
|
|
200
|
+
noCriteria: '未设置条件 —— 该规则不共享任何记录',
|
|
201
|
+
criteriaRequired: '请至少添加一个条件。没有条件的规则会共享该对象的全部记录,因此无法保存。',
|
|
202
|
+
invalidJson: 'JSON 无效 —— 修正之前该规则不会匹配任何记录。',
|
|
203
|
+
jsonOnly: '该条件只能以 JSON 方式编辑',
|
|
204
|
+
editAsJson: '以 JSON 编辑',
|
|
205
|
+
useVisualBuilder: '使用可视化构建器',
|
|
206
|
+
},
|
|
142
207
|
},
|
|
143
208
|
table: {
|
|
144
209
|
rowsPerPage: '每页行数',
|
|
@@ -205,6 +270,7 @@ const zh = {
|
|
|
205
270
|
},
|
|
206
271
|
import: {
|
|
207
272
|
title: '导入{{object}}',
|
|
273
|
+
notAllowed: '该对象未开放导入。',
|
|
208
274
|
stepUpload: '上传',
|
|
209
275
|
stepMapping: '字段映射',
|
|
210
276
|
stepPreview: '预览',
|
|
@@ -264,6 +330,10 @@ const zh = {
|
|
|
264
330
|
importNRows: '导入 {{count}} 行',
|
|
265
331
|
importingProgress: '导入中…',
|
|
266
332
|
requiredMark: '*',
|
|
333
|
+
optTreatHistorical: '作为历史数据导入',
|
|
334
|
+
optTreatHistoricalHint: '(按原样导入已完结的记录——跳过状态机校验,保留原始时间戳与作者,而不是记为当前时间)',
|
|
335
|
+
missingRequiredHint: '无法继续——以下必填字段未映射:{{fields}}。请在文件中添加对应的列,或返回上一步重新上传包含该列的文件。',
|
|
336
|
+
legacyFallbackNotice: '已通过兼容模式导入:当前连接不支持服务端导入接口,因此所有值均以文本写入,未做服务端类型转换。请升级后端/客户端以获得完整的导入支持(类型转换与关联查找)。',
|
|
267
337
|
required: '必填',
|
|
268
338
|
invalidType: '{{type}} 格式无效',
|
|
269
339
|
legacyReferenceBlocked: '导入已阻止:{{fields}} 是关联字段,需要服务端导入接口把名称解析为记录 ID,而当前连接不支持。按纯文本导入会写坏数据。请升级后端/客户端,或取消这些列的映射后再导入。',
|
|
@@ -290,6 +360,12 @@ const zh = {
|
|
|
290
360
|
// 服务端结构化导入错误的友好文案
|
|
291
361
|
referenceNotFound: '找不到匹配 "{{value}}" 的记录',
|
|
292
362
|
referenceAmbiguous: '"{{value}}" 匹配到多条记录,请使用唯一值或记录 ID',
|
|
363
|
+
invalidBoolean: '"{{value}}" 不是有效的是/否值',
|
|
364
|
+
invalidNumber: '"{{value}}" 不是有效的数字',
|
|
365
|
+
invalidDate: '"{{value}}" 不是有效的日期',
|
|
366
|
+
invalidOption: '"{{value}}" 不在允许的选项范围内',
|
|
367
|
+
requiredValue: '此字段为必填项',
|
|
368
|
+
matchAmbiguous: '匹配到多条已有记录,请使用唯一值或记录 ID',
|
|
293
369
|
// 导入选项 / 写入模式
|
|
294
370
|
options: '导入选项',
|
|
295
371
|
writeMode: '当某行匹配到已有记录时',
|
|
@@ -302,6 +378,7 @@ const zh = {
|
|
|
302
378
|
matchFieldsPlaceholder: '选择匹配字段…',
|
|
303
379
|
matchFieldsHint: '按这些字段将行匹配到已有记录。',
|
|
304
380
|
needMatchFields: '请至少选择一个匹配字段。',
|
|
381
|
+
matchOnlyField: '(仅匹配)',
|
|
305
382
|
optRunAutomations: '运行自动化与触发器',
|
|
306
383
|
optCreateOptions: '保留未知选项值',
|
|
307
384
|
optSkipBlankKey: '跳过匹配值为空的行',
|
|
@@ -349,6 +426,7 @@ const zh = {
|
|
|
349
426
|
confirmDefault: '此操作将应用于 {{count}} 条记录。',
|
|
350
427
|
overLimit: '所选记录({{count}})超过该动作的上限({{limit}})。请减少选择后再继续。',
|
|
351
428
|
affectedRecords: '受影响的记录({{count}}):',
|
|
429
|
+
skippedIneligible: '{{count}} 条所选记录不符合该动作的条件,将被跳过。',
|
|
352
430
|
rowFallback: '第 {{index}} 行',
|
|
353
431
|
andMore: '……以及另外 {{count}} 条',
|
|
354
432
|
processed: '已处理 {{count}} / {{total}}',
|
|
@@ -393,6 +471,8 @@ const zh = {
|
|
|
393
471
|
filterRecords: '筛选记录',
|
|
394
472
|
sort: '排序',
|
|
395
473
|
sortRecords: '排序记录',
|
|
474
|
+
sortByIdSuffix: '(按 ID)',
|
|
475
|
+
sortRelationalHint: '指向其他记录的列未列出:它们只能按存储的 ID 排序,而不是单元格中显示的名称。若要按该名称排序,请添加一个存放该名称的公式字段。',
|
|
396
476
|
group: '分组',
|
|
397
477
|
groupBy: '分组依据',
|
|
398
478
|
export: '导出',
|
|
@@ -411,6 +491,12 @@ const zh = {
|
|
|
411
491
|
noMatchesMessage: '没有符合当前筛选或搜索条件的记录,试试调整或清除它们。',
|
|
412
492
|
loadErrorTitle: '无法加载记录',
|
|
413
493
|
loadErrorMessage: '加载数据时出错。请检查网络连接后重试。',
|
|
494
|
+
loadErrorForbiddenTitle: '无权访问',
|
|
495
|
+
loadErrorForbiddenMessage: '你没有查看这些记录的权限。如需访问,请联系管理员。',
|
|
496
|
+
loadErrorUnauthorizedTitle: '需要登录',
|
|
497
|
+
loadErrorUnauthorizedMessage: '登录状态已过期或已退出。请重新登录后查看这些记录。',
|
|
498
|
+
loadErrorRejectedTitle: '该视图的查询被拒绝',
|
|
499
|
+
loadErrorRejectedMessage: '服务器无法处理该视图的筛选条件或查询参数。清除筛选条件通常即可恢复;如果视图本身就是这样保存的,需要管理员修正。',
|
|
414
500
|
retry: '重试',
|
|
415
501
|
managedBy: {
|
|
416
502
|
system: {
|
|
@@ -462,6 +548,11 @@ const zh = {
|
|
|
462
548
|
title: '由平台管理',
|
|
463
549
|
body: '当源记录上的操作运行时,这里的行会自动创建。下方列表是只读监控界面——行级操作(批准、撤回、重发等)在每一行上。',
|
|
464
550
|
},
|
|
551
|
+
systemWritable: {
|
|
552
|
+
short: '平台架构',
|
|
553
|
+
title: '平台定义,管理员可写',
|
|
554
|
+
body: '此对象的架构由平台定义,但其数据行可在此处创建和编辑。谁可以写入由委派管理和记录级安全控制,而非此标记。',
|
|
555
|
+
},
|
|
465
556
|
appendOnly: {
|
|
466
557
|
short: '只读 · 审计日志',
|
|
467
558
|
title: '只读历史记录',
|
|
@@ -481,6 +572,7 @@ const zh = {
|
|
|
481
572
|
deleteColumn: '删除列',
|
|
482
573
|
noCards: '暂无卡片',
|
|
483
574
|
cardTitlePlaceholder: '输入卡片标题...',
|
|
575
|
+
uncategorized: '未分类',
|
|
484
576
|
},
|
|
485
577
|
timeline: {
|
|
486
578
|
bucket: {
|
|
@@ -549,14 +641,6 @@ const zh = {
|
|
|
549
641
|
removeDependency: '移除依赖',
|
|
550
642
|
noCandidates: '无可用任务',
|
|
551
643
|
searchTasks: '搜索任务…',
|
|
552
|
-
qrcode: '移动端二维码',
|
|
553
|
-
},
|
|
554
|
-
qr: {
|
|
555
|
-
title: '在手机上打开',
|
|
556
|
-
hint: '用手机扫码打开详情页',
|
|
557
|
-
copy: '复制链接',
|
|
558
|
-
copied: '已复制',
|
|
559
|
-
close: '关闭',
|
|
560
644
|
},
|
|
561
645
|
delete: {
|
|
562
646
|
title: '删除此任务?',
|
|
@@ -580,6 +664,14 @@ const zh = {
|
|
|
580
664
|
confirm: '自动重新排程',
|
|
581
665
|
cancel: '保持不变',
|
|
582
666
|
},
|
|
667
|
+
autoScheduleDlg: {
|
|
668
|
+
title: '自动排程',
|
|
669
|
+
body: '将顺延 {count} 个任务以满足依赖约束,是否执行?',
|
|
670
|
+
skipped: '另有 {count} 项因锁定/无权限跳过。',
|
|
671
|
+
confirm: '执行',
|
|
672
|
+
cancel: '取消',
|
|
673
|
+
none: '依赖均满足,无需排程',
|
|
674
|
+
},
|
|
583
675
|
resource: {
|
|
584
676
|
header: '资源',
|
|
585
677
|
peak: '峰值',
|
|
@@ -636,9 +728,15 @@ const zh = {
|
|
|
636
728
|
editInlineHint: '双击编辑',
|
|
637
729
|
lockedByApproval: '审批中已锁定',
|
|
638
730
|
lockedTooltip: '该记录有待审批的请求,编辑已被锁定',
|
|
731
|
+
writeStrippedTitle: '部分字段未保存',
|
|
732
|
+
writeStrippedReadonly: '以下字段为只读,未保存:{{fields}}',
|
|
733
|
+
writeStrippedByState: '以下字段在记录当前状态下不可编辑,未保存:{{fields}}',
|
|
734
|
+
approvalPendingEditable: '审批中 · 可编辑',
|
|
735
|
+
approvalPendingTooltip: '该记录有待审批的请求,但当前审批节点仍允许编辑',
|
|
639
736
|
cancelApproval: '撤回审批',
|
|
640
737
|
cancelApprovalInFlight: '撤回中…',
|
|
641
738
|
cancelApprovalTooltip: '撤回当前的待审批请求以解除记录锁定',
|
|
739
|
+
cancelApprovalTooltipUnlocked: '撤回当前的待审批请求',
|
|
642
740
|
cancelApprovalFailed: '撤回审批失败',
|
|
643
741
|
cancelApprovalUnavailable: '当前数据源不支持撤回审批',
|
|
644
742
|
linkCopied: '链接已复制到剪贴板',
|
|
@@ -725,6 +823,18 @@ const zh = {
|
|
|
725
823
|
attachmentCount: '{{count}} 个附件',
|
|
726
824
|
attachmentCountPlural: '{{count}} 个附件',
|
|
727
825
|
removeAttachment: '移除附件',
|
|
826
|
+
// Record Attachments panel (enable.files, objectstack#4358)
|
|
827
|
+
attachments: '附件',
|
|
828
|
+
uploadAttachment: '上传',
|
|
829
|
+
loadingAttachments: '正在加载附件…',
|
|
830
|
+
noAttachments: '暂无附件。上传一个文件开始吧。',
|
|
831
|
+
downloadAttachment: '下载',
|
|
832
|
+
deleteAttachment: '删除附件',
|
|
833
|
+
attachmentDeleteDenied: '只有上传者或可编辑此记录的用户才能删除此附件。',
|
|
834
|
+
attachmentParentAccessDenied: '您无权为此记录添加附件。',
|
|
835
|
+
attachmentDownloadDenied: '您无权下载此附件。',
|
|
836
|
+
attachmentAuthRequired: '请登录后再下载此附件。',
|
|
837
|
+
attachmentPermissionDenied: '您没有执行此操作的权限。',
|
|
728
838
|
// Diff
|
|
729
839
|
unifiedDiff: '统一视图',
|
|
730
840
|
sideBySideDiff: '并排视图',
|
|
@@ -1144,6 +1254,7 @@ const zh = {
|
|
|
1144
1254
|
navTypeGroup: '分组',
|
|
1145
1255
|
navTypeSeparator: '分隔线',
|
|
1146
1256
|
navTypeAction: '操作',
|
|
1257
|
+
navTypeComponent: '组件',
|
|
1147
1258
|
navEditIcon: '编辑图标',
|
|
1148
1259
|
navToggleVisible: '切换可见性',
|
|
1149
1260
|
navHidden: '已隐藏',
|
|
@@ -1260,6 +1371,23 @@ const zh = {
|
|
|
1260
1371
|
dragToReorder: '拖动以重新排序',
|
|
1261
1372
|
favorites: '收藏',
|
|
1262
1373
|
},
|
|
1374
|
+
settingsHub: {
|
|
1375
|
+
title: '设置',
|
|
1376
|
+
subtitle: '配置工作区、集成与功能开关。',
|
|
1377
|
+
loadError: '加载设置失败',
|
|
1378
|
+
empty: '尚未注册任何设置。插件可通过 SettingsService 注册设置清单。',
|
|
1379
|
+
settingsCount: '{{n}} 项设置',
|
|
1380
|
+
beta: 'Beta',
|
|
1381
|
+
// 分类小标题,按 manifest 的 `category` 值取键;未知(插件自定义)分类回退到原始字符串。
|
|
1382
|
+
categories: {
|
|
1383
|
+
Workspace: '工作区',
|
|
1384
|
+
Communication: '通讯',
|
|
1385
|
+
Security: '安全',
|
|
1386
|
+
Infrastructure: '基础设施',
|
|
1387
|
+
Beta: 'Beta',
|
|
1388
|
+
Other: '其他',
|
|
1389
|
+
},
|
|
1390
|
+
},
|
|
1263
1391
|
loadingSteps: {
|
|
1264
1392
|
connecting: '正在连接数据源',
|
|
1265
1393
|
loadingConfig: '正在加载配置',
|
|
@@ -1296,6 +1424,7 @@ const zh = {
|
|
|
1296
1424
|
toggleDarkMode: '切换深色模式',
|
|
1297
1425
|
},
|
|
1298
1426
|
commandPalette: {
|
|
1427
|
+
title: '命令面板',
|
|
1299
1428
|
placeholder: '输入命令或搜索...',
|
|
1300
1429
|
noResults: '未找到结果。',
|
|
1301
1430
|
searching: '搜索中…',
|
|
@@ -1422,6 +1551,21 @@ const zh = {
|
|
|
1422
1551
|
planApproveMessage: '确认,开始搭建。',
|
|
1423
1552
|
planApproveDefaultsMessage: '确认搭建,未决问题按你的合理假设和默认处理。',
|
|
1424
1553
|
planAnswerMessage: '关于「{{question}}」,我选择「{{option}}」。',
|
|
1554
|
+
changesTitle: '确认改动',
|
|
1555
|
+
changesConfirmed: '已确认',
|
|
1556
|
+
changesConfirm: '确认修改',
|
|
1557
|
+
changesConfirmHint: '回复以确认或调整该改动。',
|
|
1558
|
+
changesConfirmMessage: '确认修改,应用你刚才提议的改动。',
|
|
1559
|
+
changeVerb: {
|
|
1560
|
+
createObject: '新建对象',
|
|
1561
|
+
addField: '新增字段',
|
|
1562
|
+
modifyField: '修改字段',
|
|
1563
|
+
deleteField: '删除字段',
|
|
1564
|
+
createMetadata: '新建',
|
|
1565
|
+
updateMetadata: '修改',
|
|
1566
|
+
createSeed: '生成示例数据',
|
|
1567
|
+
createPackage: '新建应用包',
|
|
1568
|
+
},
|
|
1425
1569
|
justNow: '刚刚',
|
|
1426
1570
|
minutesAgo: '{{count}} 分钟前',
|
|
1427
1571
|
hoursAgo: '{{count}} 小时前',
|
|
@@ -1443,6 +1587,8 @@ const zh = {
|
|
|
1443
1587
|
buildCrm: '帮我搭建一个 CRM:客户、联系人、商机,并建立它们之间的关系。',
|
|
1444
1588
|
buildApp: '做一个项目管理应用:项目、任务、成员。',
|
|
1445
1589
|
buildFlow: '设计一个工单系统:工单、优先级、状态流转。',
|
|
1590
|
+
buildInventory: '做一个库存管理应用:商品、库存量、供应商,以及低库存预警。',
|
|
1591
|
+
buildRecruiting: '做一个招聘跟踪应用:候选人、在招岗位、面试阶段和面试记录。',
|
|
1446
1592
|
},
|
|
1447
1593
|
generic: {
|
|
1448
1594
|
help: '你可以帮我做什么?',
|
|
@@ -1482,14 +1628,16 @@ const zh = {
|
|
|
1482
1628
|
identityImport: {
|
|
1483
1629
|
policyTitle: '导入用户的登录方式',
|
|
1484
1630
|
policy: {
|
|
1485
|
-
|
|
1631
|
+
auto: '自动(推荐)',
|
|
1486
1632
|
invite: '发送邀请',
|
|
1487
1633
|
temporary: '临时密码',
|
|
1634
|
+
none: '不设密码(仅身份)',
|
|
1488
1635
|
},
|
|
1489
1636
|
policyHint: {
|
|
1490
|
-
|
|
1491
|
-
invite: '为每个新建用户发送"设置密码"
|
|
1637
|
+
auto: '可触达的用户收到邀请(邮件或短信);无法触达的行生成一次性密码,仅在结果页显示一次。无论是否配置邮件/短信服务都可用。',
|
|
1638
|
+
invite: '为每个新建用户发送"设置密码"邮件(仅手机号的行发送邀请短信)。需要已配置邮件/短信服务——无法触达的行会失败。',
|
|
1492
1639
|
temporary: '适用于未配置邮件/短信的部署:为每个新建用户生成一次性密码,仅在结果页显示一次,首次登录强制修改。',
|
|
1640
|
+
none: '用户通过手机验证码、魔法链接或重置链接首次登录,之后自行设置密码。',
|
|
1493
1641
|
},
|
|
1494
1642
|
passwordsNote: '临时密码——仅显示一次,不会被保存。请立即保存;用户首次登录时必须修改。',
|
|
1495
1643
|
passwordsMore: '更多条目已省略——请使用下载。',
|
|
@@ -1592,6 +1740,10 @@ const zh = {
|
|
|
1592
1740
|
parentField: '父级字段',
|
|
1593
1741
|
parentFieldHelp: '指向同一对象的父级字段,决定树的层级(仅自引用字段可选)。',
|
|
1594
1742
|
newView: '新视图',
|
|
1743
|
+
viewName: '名称',
|
|
1744
|
+
viewNameHelp: '机器标识(snake_case),根据标题自动生成,可自行修改。',
|
|
1745
|
+
viewNameRequired: '请输入标识(小写字母、数字、下划线)。非拉丁标题不会自动生成。',
|
|
1746
|
+
viewNameInvalid: '仅限小写字母、数字和下划线,且以字母或下划线开头。',
|
|
1595
1747
|
typeOptions: '类型选项',
|
|
1596
1748
|
groupByField: '分组字段',
|
|
1597
1749
|
groupByFieldHelp: '看板会按该字段的不同取值分列。',
|
|
@@ -1866,6 +2018,40 @@ const zh = {
|
|
|
1866
2018
|
shell: {
|
|
1867
2019
|
tenantHostHint: '您正在登录此工作区',
|
|
1868
2020
|
},
|
|
2021
|
+
layout: {
|
|
2022
|
+
headline: '更快地构建强大的业务应用。',
|
|
2023
|
+
subhead: '面向企业数据管理、工作流与分析的统一平台。',
|
|
2024
|
+
},
|
|
2025
|
+
remediation: {
|
|
2026
|
+
signOut: '改为退出登录',
|
|
2027
|
+
password: {
|
|
2028
|
+
title: '您的密码已过期',
|
|
2029
|
+
fallbackMessage: '请设置新密码后继续。',
|
|
2030
|
+
current: '当前密码',
|
|
2031
|
+
next: '新密码',
|
|
2032
|
+
confirm: '确认新密码',
|
|
2033
|
+
submit: '修改密码并继续',
|
|
2034
|
+
submitting: '正在更新…',
|
|
2035
|
+
mismatch: '两次输入的新密码不一致。',
|
|
2036
|
+
failed: '无法修改密码。',
|
|
2037
|
+
},
|
|
2038
|
+
mfa: {
|
|
2039
|
+
title: '设置双重验证',
|
|
2040
|
+
fallbackMessage: '您的组织要求使用身份验证器应用后方可继续。',
|
|
2041
|
+
confirmPassword: '确认您的密码',
|
|
2042
|
+
continue: '继续',
|
|
2043
|
+
preparing: '正在准备…',
|
|
2044
|
+
enrollFailed: '无法开始绑定。',
|
|
2045
|
+
scanTitle: '使用身份验证器扫码',
|
|
2046
|
+
scanBody: '使用 Google Authenticator、1Password、Authy 等应用扫描此二维码,然后输入 6 位验证码。',
|
|
2047
|
+
backupTitle: '保存您的备用码',
|
|
2048
|
+
backupBody: '请妥善保管——设备丢失时每个备用码可使用一次。',
|
|
2049
|
+
codeLabel: '6 位验证码',
|
|
2050
|
+
verify: '验证并继续',
|
|
2051
|
+
verifying: '正在验证…',
|
|
2052
|
+
invalidCode: '验证码无效,请重试。',
|
|
2053
|
+
},
|
|
2054
|
+
},
|
|
1869
2055
|
},
|
|
1870
2056
|
profile: {
|
|
1871
2057
|
title: '个人资料',
|
|
@@ -1930,6 +2116,7 @@ const zh = {
|
|
|
1930
2116
|
settings: '工作区设置',
|
|
1931
2117
|
},
|
|
1932
2118
|
help: {
|
|
2119
|
+
keyboardShortcuts: '键盘快捷键',
|
|
1933
2120
|
onThisPage: '本页目录',
|
|
1934
2121
|
appDocs: '本应用文档',
|
|
1935
2122
|
allDocs: '全部文档',
|
|
@@ -1960,6 +2147,7 @@ const zh = {
|
|
|
1960
2147
|
offline: '离线',
|
|
1961
2148
|
usersOnline: '当前在线用户',
|
|
1962
2149
|
switchView: '切换视图',
|
|
2150
|
+
switchObject: '切换对象',
|
|
1963
2151
|
connection: {
|
|
1964
2152
|
connected: '已连接',
|
|
1965
2153
|
connecting: '连接中...',
|
|
@@ -1979,6 +2167,14 @@ const zh = {
|
|
|
1979
2167
|
subtitle: '您的工作区仪表盘',
|
|
1980
2168
|
nav: '首页',
|
|
1981
2169
|
allApps: '全部应用',
|
|
2170
|
+
yourApps: '我的应用',
|
|
2171
|
+
showMoreApps: '更多',
|
|
2172
|
+
showLess: '收起',
|
|
2173
|
+
continueEmpty: '你打开过的内容会显示在这里。',
|
|
2174
|
+
actionCenter: {
|
|
2175
|
+
title: '待办事项',
|
|
2176
|
+
empty: '全部处理完毕',
|
|
2177
|
+
},
|
|
1982
2178
|
greetingMorning: '早上好',
|
|
1983
2179
|
greetingAfternoon: '下午好',
|
|
1984
2180
|
greetingEvening: '晚上好',
|
|
@@ -2197,10 +2393,11 @@ const zh = {
|
|
|
2197
2393
|
description: '请填写以下信息以继续操作。',
|
|
2198
2394
|
selectPlaceholder: '请选择 {{label}}',
|
|
2199
2395
|
requiredError: '{{label}} 为必填项',
|
|
2200
|
-
lookupPlaceholder: '
|
|
2201
|
-
lookupHelpText: '
|
|
2396
|
+
lookupPlaceholder: '{{label}} 的记录 ID',
|
|
2397
|
+
lookupHelpText: '该参数未配置引用对象,无法使用记录选择器。请直接填写记录 ID,或联系管理员修正该动作参数。',
|
|
2202
2398
|
cancel: '取消',
|
|
2203
2399
|
confirm: '确认',
|
|
2400
|
+
uploading: '上传中…',
|
|
2204
2401
|
defaultActionTitle: '操作',
|
|
2205
2402
|
ok: '确定',
|
|
2206
2403
|
},
|
|
@@ -2284,6 +2481,10 @@ const zh = {
|
|
|
2284
2481
|
filterAll: '全部',
|
|
2285
2482
|
markAllRead: '全部标记为已读',
|
|
2286
2483
|
viewAll: '查看全部通知',
|
|
2484
|
+
groupCount: '{{count}} 条通知',
|
|
2485
|
+
groupUnread: '{{count}} 条未读',
|
|
2486
|
+
groupMarkRead: '标记已读',
|
|
2487
|
+
groupMarkReadTitle: '将此类通知全部标记为已读',
|
|
2287
2488
|
approvalsPending: '{{count}} 条待审批',
|
|
2288
2489
|
viewApprovals: '查看审批',
|
|
2289
2490
|
noPendingApprovals: '暂无待审批事项',
|
|
@@ -2396,6 +2597,93 @@ const zh = {
|
|
|
2396
2597
|
done: '完成——隐藏',
|
|
2397
2598
|
},
|
|
2398
2599
|
},
|
|
2600
|
+
excelImport: {
|
|
2601
|
+
noImportableFields: '该对象没有可导入的字段。',
|
|
2602
|
+
schemaReadFailed: '无法读取对象结构。',
|
|
2603
|
+
imported: '已把 {{count}} 行真实数据导入「{{object}}」。',
|
|
2604
|
+
importFrom: '把真实数据导入自',
|
|
2605
|
+
into: '到',
|
|
2606
|
+
opening: '打开中…',
|
|
2607
|
+
importAction: '导入',
|
|
2608
|
+
dismiss: '忽略',
|
|
2609
|
+
},
|
|
2610
|
+
cloudOnboarding: {
|
|
2611
|
+
hintCreate: '创建你的第一个环境——一个独立的工作区,有自己的网址、数据库和套餐。应用的搭建在里面进行。',
|
|
2612
|
+
hintReady: '你的生产环境已就绪。打开它来搭建和运行应用——这些都在环境内部进行。',
|
|
2613
|
+
createEnvironment: '创建你的环境',
|
|
2614
|
+
openProduction: '打开生产环境',
|
|
2615
|
+
manageEnvironments: '管理环境',
|
|
2616
|
+
},
|
|
2617
|
+
aiModelStatus: {
|
|
2618
|
+
summary: '构建 / 提问使用 {{conversational}}({{conversationalSource}});结构化使用 {{structured}}({{structuredSource}})。',
|
|
2619
|
+
summaryRouting: '路由策略:免费方案 → {{free}},付费方案 → {{paid}}。',
|
|
2620
|
+
modelUnknown: '未知',
|
|
2621
|
+
sourceUnknown: '适配器未上报',
|
|
2622
|
+
rowConversational: 'Build / Ask 模型',
|
|
2623
|
+
rowStructured: '结构化(蓝图 / 种子)',
|
|
2624
|
+
rowReasoning: '推理强度',
|
|
2625
|
+
readFailed: '无法读取有效 AI 模型。该环境可能未运行 AI 服务,或你没有 ai:read 权限。',
|
|
2626
|
+
readFailedWithStatus: '无法读取有效 AI 模型(HTTP {{status}})。该环境可能未运行 AI 服务,或你没有 ai:read 权限。',
|
|
2627
|
+
overridesInEffect: '生效的 env 覆盖:',
|
|
2628
|
+
noOverrides: '无 —— 跑的是部署代码的默认值。',
|
|
2629
|
+
adapter: '适配器:',
|
|
2630
|
+
sourceCodeDefault: '代码默认(无 env 覆盖)',
|
|
2631
|
+
sourceInherits: '与 build/ask 相同',
|
|
2632
|
+
sourcePinned: '被 {{source}} 钉住',
|
|
2633
|
+
},
|
|
2634
|
+
chatbotError: {
|
|
2635
|
+
title: '响应失败',
|
|
2636
|
+
fallbackDetail: '出了点问题,请重试。',
|
|
2637
|
+
details: '详情',
|
|
2638
|
+
hide: '隐藏',
|
|
2639
|
+
retry: '重试',
|
|
2640
|
+
},
|
|
2641
|
+
chatbotQuota: {
|
|
2642
|
+
title: '需要升级',
|
|
2643
|
+
fallbackMessage: 'AI 额度已用完。',
|
|
2644
|
+
buyCredits: '购买额度包',
|
|
2645
|
+
upgradePlan: '升级方案',
|
|
2646
|
+
},
|
|
2647
|
+
environment: {
|
|
2648
|
+
addEnvironment: '新建环境',
|
|
2649
|
+
setUpProduction: '创建你的生产环境',
|
|
2650
|
+
addDevelopment: '新建开发环境',
|
|
2651
|
+
},
|
|
2652
|
+
cloudConnection: {
|
|
2653
|
+
checking: '正在检查连接…',
|
|
2654
|
+
retry: '重试',
|
|
2655
|
+
errors: {
|
|
2656
|
+
expired: '请求在获批前已过期,请重新开始。',
|
|
2657
|
+
bindFailed: '绑定失败。',
|
|
2658
|
+
deviceCodeFailed: '设备码请求失败。',
|
|
2659
|
+
},
|
|
2660
|
+
waiting: {
|
|
2661
|
+
popupOpened: '请在刚打开的窗口中批准此连接——本页面会自动更新。',
|
|
2662
|
+
polling: '正在等待云端控制台批准…',
|
|
2663
|
+
openApproval: '打开批准页面',
|
|
2664
|
+
copy: '复制',
|
|
2665
|
+
copied: '已复制',
|
|
2666
|
+
codePrefilled: '批准页面已自动填入该代码。',
|
|
2667
|
+
openItHere: '窗口没有出现?点此打开',
|
|
2668
|
+
cancel: '取消',
|
|
2669
|
+
},
|
|
2670
|
+
bound: {
|
|
2671
|
+
title: '已连接到 ObjectStack 云',
|
|
2672
|
+
runtime: '运行时',
|
|
2673
|
+
organization: '组织',
|
|
2674
|
+
approvedBy: '批准人',
|
|
2675
|
+
runtimeId: '运行时 ID',
|
|
2676
|
+
environment: '环境',
|
|
2677
|
+
since: '连接于',
|
|
2678
|
+
privatePackages: '组织的私有包现已显示在应用市场的「你的组织」分类下。',
|
|
2679
|
+
disconnect: '断开连接',
|
|
2680
|
+
},
|
|
2681
|
+
unbound: {
|
|
2682
|
+
title: '未连接',
|
|
2683
|
+
body: '将此运行时连接到 ObjectStack 控制平面,即可浏览并安装组织的私有包。只需在云账户中点击一次批准——无需在本页面输入任何 ID 或凭据。',
|
|
2684
|
+
connect: '连接',
|
|
2685
|
+
},
|
|
2686
|
+
},
|
|
2399
2687
|
marketplace: {
|
|
2400
2688
|
title: '应用市场',
|
|
2401
2689
|
subtitle: '浏览已通过审核、发布到 ObjectStack 目录中的应用。点击应用查看详情并安装到你的某个环境中。',
|
|
@@ -2530,6 +2818,14 @@ const zh = {
|
|
|
2530
2818
|
yearsAgo: '{{count}} 年前',
|
|
2531
2819
|
},
|
|
2532
2820
|
},
|
|
2821
|
+
approvals: {
|
|
2822
|
+
approve: '批准',
|
|
2823
|
+
reject: '驳回',
|
|
2824
|
+
comment: '审批意见(可选)',
|
|
2825
|
+
approveSuccess: '已批准',
|
|
2826
|
+
rejectSuccess: '已驳回',
|
|
2827
|
+
rejectConfirm: '确定驳回该审批请求吗?',
|
|
2828
|
+
},
|
|
2533
2829
|
approvalsInbox: {
|
|
2534
2830
|
loadMore: '加载更多',
|
|
2535
2831
|
loadingMore: '加载中…',
|
|
@@ -2554,13 +2850,28 @@ const zh = {
|
|
|
2554
2850
|
slaRemaining: 'SLA 剩余 {{dur}}',
|
|
2555
2851
|
slaOverdue: 'SLA 已超期 {{dur}}',
|
|
2556
2852
|
actReassign: '转签',
|
|
2853
|
+
reassignFromTo: '从 {{from}} 转给 {{to}}',
|
|
2557
2854
|
actRemind: '催办',
|
|
2558
2855
|
actRequestInfo: '要求补充材料',
|
|
2559
2856
|
actComment: '评论',
|
|
2560
2857
|
stepProgress: '审批步骤',
|
|
2561
2858
|
prevRequest: '上一条',
|
|
2562
2859
|
nextRequest: '下一条',
|
|
2563
|
-
positionOf: '第 {{index}} / {{total}}
|
|
2860
|
+
positionOf: '第 {{index}} / {{total}} 条请求',
|
|
2861
|
+
progressApprovals: '审批进度 — {{got}} / {{need}}',
|
|
2862
|
+
progressGroups: '会签进度 — {{got}} / {{need}} 组',
|
|
2863
|
+
progressEligible: '{{count}} 位可审批人',
|
|
2864
|
+
progressBar: '决策进度',
|
|
2865
|
+
declaredActions: '操作',
|
|
2866
|
+
attachmentChip: '附件',
|
|
2867
|
+
attachmentOpenFailed: '无法打开附件,请重试',
|
|
2868
|
+
approveOneTitle: '通过“{{title}}”?',
|
|
2869
|
+
approveOneBody: '将以你的身份通过该请求。如需填写审批意见或附件,请打开该请求处理。',
|
|
2870
|
+
flowOrigin: '流程发起',
|
|
2871
|
+
sortBy: '排序',
|
|
2872
|
+
sortRecent: '最新优先',
|
|
2873
|
+
sortOldest: '最早优先',
|
|
2874
|
+
sortAmount: '金额(从高到低)',
|
|
2564
2875
|
quickPhrase1: '同意,符合要求。',
|
|
2565
2876
|
quickPhrase2: '有条件同意,请关注执行情况。',
|
|
2566
2877
|
quickPhrase3: '请补充相关材料后重新提交。',
|