@object-ui/i18n 17.7.0 → 18.0.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 +1088 -0
- package/README.md +64 -1
- package/dist/LocalizationContext.d.ts +32 -9
- package/dist/LocalizationContext.js +32 -10
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/locales/ar.d.ts +591 -108
- package/dist/locales/ar.js +704 -208
- package/dist/locales/de.d.ts +475 -88
- package/dist/locales/de.js +589 -183
- package/dist/locales/en.d.ts +562 -175
- package/dist/locales/en.js +745 -208
- package/dist/locales/es.d.ts +504 -93
- package/dist/locales/es.js +617 -186
- package/dist/locales/fr.d.ts +504 -93
- package/dist/locales/fr.js +617 -187
- package/dist/locales/index.d.ts +5178 -1092
- package/dist/locales/ja.d.ts +475 -88
- package/dist/locales/ja.js +588 -182
- package/dist/locales/ko.d.ts +475 -88
- package/dist/locales/ko.js +588 -182
- package/dist/locales/pt.d.ts +504 -93
- package/dist/locales/pt.js +617 -186
- package/dist/locales/ru.d.ts +533 -98
- package/dist/locales/ru.js +646 -197
- package/dist/locales/zh.d.ts +563 -176
- package/dist/locales/zh.js +589 -197
- package/dist/useObjectLabel.d.ts +109 -88
- package/dist/useObjectLabel.js +86 -71
- package/dist/utils/first-day-of-week.d.ts +71 -0
- package/dist/utils/first-day-of-week.js +61 -0
- package/dist/utils/formatting.d.ts +7 -1
- package/dist/utils/formatting.js +11 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/package.json +2 -2
package/dist/locales/zh.js
CHANGED
|
@@ -17,7 +17,7 @@ const zh = {
|
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
// objectui#2600 B5 — 能力选择器的作用域分组标题(能力标签本身来自
|
|
20
|
-
//
|
|
20
|
+
// capability 注册表,这里只本地化分组标题这类 UI 字符串)。
|
|
21
21
|
capability: {
|
|
22
22
|
group: {
|
|
23
23
|
platform: '平台',
|
|
@@ -29,38 +29,13 @@ const zh = {
|
|
|
29
29
|
manage_users: '管理用户',
|
|
30
30
|
manage_org_users: '管理组织用户',
|
|
31
31
|
manage_metadata: '管理元数据',
|
|
32
|
-
|
|
32
|
+
manage_mailboxes: '管理邮箱',
|
|
33
33
|
manage_platform_settings: '管理平台设置',
|
|
34
34
|
setup_access: '访问 Setup',
|
|
35
35
|
setup_write: '保存设置',
|
|
36
36
|
studio_access: '访问 Studio',
|
|
37
37
|
manage_sharing: '管理共享',
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
// objectui#3546 切片六 —— 权限集记录上六个授权面的只读摘要与 Studio 深链
|
|
41
|
-
// (ADR-0056 P1,plugin-detail 的 PermissionFacetLink)。
|
|
42
|
-
// 用词取自本仓权限集设计器(metadata-admin i18n 表):个对象 / 行级策略 /
|
|
43
|
-
// 标签页 / 委派管理范围 —— 与点进去的那个界面一致。
|
|
44
|
-
// 中文无单复数,四个计数 key 的 `_one` 与基础 key 同值(设计如此,不是漏改)。
|
|
45
|
-
perm: {
|
|
46
|
-
facet: {
|
|
47
|
-
none: '无',
|
|
48
|
-
more: '+{{count}} 更多',
|
|
49
|
-
objects: '{{count}} 个对象',
|
|
50
|
-
objects_one: '{{count}} 个对象',
|
|
51
|
-
objects_other: '{{count}} 个对象',
|
|
52
|
-
fields: '{{count}} 条字段规则',
|
|
53
|
-
fields_one: '{{count}} 条字段规则',
|
|
54
|
-
fields_other: '{{count}} 条字段规则',
|
|
55
|
-
rls: '{{count}} 条 RLS 策略',
|
|
56
|
-
rls_one: '{{count}} 条 RLS 策略',
|
|
57
|
-
rls_other: '{{count}} 条 RLS 策略',
|
|
58
|
-
tabs: '{{count}} 条标签页规则',
|
|
59
|
-
tabs_one: '{{count}} 条标签页规则',
|
|
60
|
-
tabs_other: '{{count}} 条标签页规则',
|
|
61
|
-
adminScope: '已配置委派管理范围',
|
|
62
|
-
designInStudio: '在 Studio 中设计 →',
|
|
63
|
-
designInStudioHint: '在 Studio 中设计',
|
|
38
|
+
view_all_audit_log: '查看全部审计日志',
|
|
64
39
|
},
|
|
65
40
|
},
|
|
66
41
|
lookup: {
|
|
@@ -133,6 +108,7 @@ const zh = {
|
|
|
133
108
|
itemCount_one: '{{count}} 项',
|
|
134
109
|
itemCount_other: '{{count}} 项',
|
|
135
110
|
toggleSidebar: '切换侧边栏',
|
|
111
|
+
breadcrumb: '面包屑导航',
|
|
136
112
|
package: '软件包',
|
|
137
113
|
done: '完成',
|
|
138
114
|
editInStudio: '在 Studio 中编辑',
|
|
@@ -161,6 +137,7 @@ const zh = {
|
|
|
161
137
|
copyAll: '全部复制',
|
|
162
138
|
},
|
|
163
139
|
notAvailableHere: '「{{action}}」在当前页面不可用。',
|
|
140
|
+
notAvailableForRecord: '对此记录不可用',
|
|
164
141
|
completedSuccessfully: '操作已成功完成',
|
|
165
142
|
failed: '操作失败',
|
|
166
143
|
parallelFailed: '一个或多个并行操作失败',
|
|
@@ -203,6 +180,8 @@ const zh = {
|
|
|
203
180
|
// description, used when the form declares no `description` of its own.
|
|
204
181
|
dialogDescriptionFallback: '填写表单字段,然后提交或取消。',
|
|
205
182
|
deniedDescription: '您没有此字段的编辑权限。',
|
|
183
|
+
serverDefaultHint: '保存时自动设置。',
|
|
184
|
+
maxFileSize: '最大文件大小:{{size}}',
|
|
206
185
|
masterDetail: {
|
|
207
186
|
loadingColumns: '正在加载列…',
|
|
208
187
|
subtotal: '小计',
|
|
@@ -278,6 +257,8 @@ const zh = {
|
|
|
278
257
|
exceedsMaxSize: '“{{name}}” 超过大小上限({{max}} MB)',
|
|
279
258
|
uploadFailed: '上传 “{{name}}” 失败:{{error}}',
|
|
280
259
|
uploadIncomplete: '“{{name}}” 上传未完成:未返回文件 ID,未保存任何内容',
|
|
260
|
+
restricted: '受限文件',
|
|
261
|
+
restrictedHint: '你无权查看此文件的详细信息',
|
|
281
262
|
},
|
|
282
263
|
image: {
|
|
283
264
|
upload: '上传图片',
|
|
@@ -288,10 +269,14 @@ const zh = {
|
|
|
288
269
|
remove: '移除图片 {{index}}',
|
|
289
270
|
enlarge: '放大 {{name}}',
|
|
290
271
|
preview: '图片预览',
|
|
272
|
+
cropPreview: '图片裁剪预览',
|
|
291
273
|
previous: '上一张',
|
|
292
274
|
next: '下一张',
|
|
293
275
|
counter: '{{current}} / {{total}}',
|
|
294
276
|
},
|
|
277
|
+
percent: {
|
|
278
|
+
slider: '百分比',
|
|
279
|
+
},
|
|
295
280
|
richText: {
|
|
296
281
|
format: '格式: {{format}}',
|
|
297
282
|
basicEditorHint: '富文本编辑器(基础)',
|
|
@@ -307,6 +292,10 @@ const zh = {
|
|
|
307
292
|
search: '搜索对象…',
|
|
308
293
|
empty: '未找到对象',
|
|
309
294
|
},
|
|
295
|
+
registryRef: {
|
|
296
|
+
loadFailed: '列表加载失败。仍可直接输入名称。',
|
|
297
|
+
notFound: '{{name}}(未找到)',
|
|
298
|
+
},
|
|
310
299
|
recipient: {
|
|
311
300
|
selectTypeFirst: '请先选择接收方类型。',
|
|
312
301
|
loading: '加载中…',
|
|
@@ -348,6 +337,13 @@ const zh = {
|
|
|
348
337
|
dateTime: {
|
|
349
338
|
impossibleDay: '存储的值“{{value}}”不是真实存在的日期。请选择日期和时间以替换它。',
|
|
350
339
|
},
|
|
340
|
+
datePicker: {
|
|
341
|
+
today: '今天',
|
|
342
|
+
tomorrow: '明天',
|
|
343
|
+
clear: '清除日期',
|
|
344
|
+
openCalendar: '打开日历',
|
|
345
|
+
invalid: '未保存:“{{value}}”不是有效日期。请按 {{format}} 格式输入,或从日历中选择。',
|
|
346
|
+
},
|
|
351
347
|
number: {
|
|
352
348
|
badInput: '未保存:此输入框中的文本不是数字。请输入普通小数(例如 {{example}})。',
|
|
353
349
|
},
|
|
@@ -365,6 +361,11 @@ const zh = {
|
|
|
365
361
|
postalCode: '邮政编码',
|
|
366
362
|
country: '国家 / 地区',
|
|
367
363
|
},
|
|
364
|
+
boolean: {
|
|
365
|
+
offBadge: '{{label}} — 已关闭',
|
|
366
|
+
completed: '已完成',
|
|
367
|
+
notCompleted: '未完成',
|
|
368
|
+
},
|
|
368
369
|
textarea: {
|
|
369
370
|
characterCount: '已输入 {{count}} 个字符,最多 {{max}} 个',
|
|
370
371
|
charactersRemaining: '还可输入 {{count}} 个字符',
|
|
@@ -394,10 +395,15 @@ const zh = {
|
|
|
394
395
|
selectAllRows: '选择所有行',
|
|
395
396
|
expandRow: '展开行',
|
|
396
397
|
collapseRow: '折叠行',
|
|
398
|
+
rowActions: '行操作',
|
|
397
399
|
hideColumn: '隐藏列',
|
|
398
400
|
freezeColumn: '冻结列',
|
|
399
401
|
unfreezeColumn: '取消冻结列',
|
|
400
402
|
pageInfo: '第 {{current}} 页,共 {{total}} 页',
|
|
403
|
+
firstPage: '第一页',
|
|
404
|
+
previousPage: '上一页',
|
|
405
|
+
nextPage: '下一页',
|
|
406
|
+
lastPage: '最后一页',
|
|
401
407
|
totalRecords: '共 {{count}} 条',
|
|
402
408
|
noResults: '未找到结果',
|
|
403
409
|
noResultsHint: '请尝试调整筛选条件或搜索关键词。',
|
|
@@ -409,6 +415,9 @@ const zh = {
|
|
|
409
415
|
modified: '{{count}} 行已修改',
|
|
410
416
|
modified_one: '{{count}} 行已修改',
|
|
411
417
|
modified_other: '{{count}} 行已修改',
|
|
418
|
+
saved: '{{count}} 行已保存',
|
|
419
|
+
saved_one: '{{count}} 行已保存',
|
|
420
|
+
saved_other: '{{count}} 行已保存',
|
|
412
421
|
saveFailed: '保存失败',
|
|
413
422
|
selected: '已选择 {{count}} 项',
|
|
414
423
|
selected_one: '已选择 {{count}} 项',
|
|
@@ -427,6 +436,7 @@ const zh = {
|
|
|
427
436
|
pullToRefresh: '下拉刷新',
|
|
428
437
|
refreshing: '刷新中…',
|
|
429
438
|
openRecord: '打开记录',
|
|
439
|
+
recordUnavailable: '{{object}} · 记录不可用',
|
|
430
440
|
openMenu: '更多操作',
|
|
431
441
|
bulkSelected: '已选择 {{count}} 项',
|
|
432
442
|
bulkSelected_one: '已选择 {{count}} 项',
|
|
@@ -438,6 +448,7 @@ const zh = {
|
|
|
438
448
|
bulkAllOnPage_other: '本页 {{count}} 项已全选。',
|
|
439
449
|
bulkSelectAllMatching: '选择全部 {{count}} 项匹配记录',
|
|
440
450
|
bulkAllMatchingSelected: '已选择全部 {{count}} 项匹配记录。',
|
|
451
|
+
bulkActions: '批量操作',
|
|
441
452
|
rowHeight: '行高: {{mode}}',
|
|
442
453
|
empty: '空',
|
|
443
454
|
yes: '是',
|
|
@@ -456,6 +467,7 @@ const zh = {
|
|
|
456
467
|
// pack controls its own separator and word order.
|
|
457
468
|
summary: {
|
|
458
469
|
pattern: '{{label}}:{{value}}',
|
|
470
|
+
pagePattern: '{{label}}(本页):{{value}}',
|
|
459
471
|
count: '计数',
|
|
460
472
|
countEmpty: '空值',
|
|
461
473
|
countFilled: '非空',
|
|
@@ -531,6 +543,8 @@ const zh = {
|
|
|
531
543
|
showingRows: '显示第 {{shown}} 行,共 {{total}} 行',
|
|
532
544
|
importing: '导入中… {{progress}}%',
|
|
533
545
|
importComplete: '导入完成',
|
|
546
|
+
importPartial: '导入完成,但有错误',
|
|
547
|
+
importFailed: '导入失败',
|
|
534
548
|
imported: '已导入 {{count}} 条',
|
|
535
549
|
skippedCount: '已跳过 {{count}} 条',
|
|
536
550
|
moreErrors: '…还有 {{count}} 个错误',
|
|
@@ -545,8 +559,6 @@ const zh = {
|
|
|
545
559
|
importNRows_other: '导入 {{count}} 行',
|
|
546
560
|
importingProgress: '导入中…',
|
|
547
561
|
requiredMark: '*',
|
|
548
|
-
optTreatHistorical: '作为历史数据导入',
|
|
549
|
-
optTreatHistoricalHint: '(按原样导入已完结的记录——跳过状态机校验,保留原始时间戳与作者,而不是记为当前时间)',
|
|
550
562
|
missingRequiredHint: '无法继续——以下必填字段未映射:{{fields}}。请在文件中添加对应的列,或返回上一步重新上传包含该列的文件。',
|
|
551
563
|
legacyFallbackNotice: '已通过兼容模式导入:当前连接不支持服务端导入接口,因此所有值均以文本写入,未做服务端类型转换。请升级后端/客户端以获得完整的导入支持(类型转换与关联查找)。',
|
|
552
564
|
required: '必填',
|
|
@@ -584,6 +596,7 @@ const zh = {
|
|
|
584
596
|
invalidBoolean: '"{{value}}" 不是有效的是/否值',
|
|
585
597
|
invalidNumber: '"{{value}}" 不是有效的数字',
|
|
586
598
|
invalidDate: '"{{value}}" 不是有效的日期',
|
|
599
|
+
invalidTime: '"{{value}}" 不是有效的时间',
|
|
587
600
|
invalidOption: '"{{value}}" 不在允许的选项范围内',
|
|
588
601
|
requiredValue: '此字段为必填项',
|
|
589
602
|
matchAmbiguous: '匹配到多条已有记录,请使用唯一值或记录 ID',
|
|
@@ -600,7 +613,6 @@ const zh = {
|
|
|
600
613
|
matchFieldsHint: '按这些字段将行匹配到已有记录。',
|
|
601
614
|
needMatchFields: '请至少选择一个匹配字段。',
|
|
602
615
|
matchOnlyField: '(仅匹配)',
|
|
603
|
-
optRunAutomations: '运行自动化与触发器',
|
|
604
616
|
optCreateOptions: '保留未知选项值',
|
|
605
617
|
optSkipBlankKey: '跳过匹配值为空的行',
|
|
606
618
|
optBackground: '后台导入',
|
|
@@ -647,6 +659,9 @@ const zh = {
|
|
|
647
659
|
undoImport: '撤销导入',
|
|
648
660
|
undoing: '撤销中…',
|
|
649
661
|
reverted: '已撤销',
|
|
662
|
+
undoPartial: '{{count}} 行未能撤销。再次撤销只会重试这些行。',
|
|
663
|
+
undoPartial_one: '{{count}} 行未能撤销。再次撤销只会重试这一行。',
|
|
664
|
+
undoPartial_other: '{{count}} 行未能撤销。再次撤销只会重试这些行。',
|
|
650
665
|
undoConfirm: '撤销此次导入?它新建的记录将被删除,它更新的记录将恢复为之前的值。',
|
|
651
666
|
},
|
|
652
667
|
bulk: {
|
|
@@ -721,15 +736,21 @@ const zh = {
|
|
|
721
736
|
recordCount_one: '{{count}} 条记录',
|
|
722
737
|
recordCount_other: '{{count}} 条记录',
|
|
723
738
|
addRecord: '添加记录',
|
|
739
|
+
// objectui#12703 — the compact list's footer link to the object's list or the block's view.
|
|
740
|
+
viewAll: '查看全部',
|
|
724
741
|
tabs: '标签页',
|
|
725
742
|
allRecords: '全部记录',
|
|
726
743
|
search: '搜索',
|
|
727
744
|
filter: '筛选',
|
|
728
745
|
filterRecords: '筛选记录',
|
|
746
|
+
filterActive: '筛选,{{count}} 个生效',
|
|
747
|
+
filterActive_one: '筛选,{{count}} 个生效',
|
|
748
|
+
filterActive_other: '筛选,{{count}} 个生效',
|
|
729
749
|
sort: '排序',
|
|
730
750
|
sortRecords: '排序记录',
|
|
731
751
|
sortByIdSuffix: '(按 ID)',
|
|
732
752
|
sortRelationalHint: '指向其他记录的列未列出:它们只能按存储的 ID 排序,而不是单元格中显示的名称。若要按该名称排序,请把该名称反规范化到本对象上,做成一个在来源变更时写入的存储字段,再按它排序。不要用公式字段:公式字段是虚拟的,不会为它存储任何列,服务端会拒绝按它排序。',
|
|
753
|
+
sortRelationalPicked: '关联列按存储的 ID 排序,而不是显示的名称。',
|
|
733
754
|
resetSortToDefault: '恢复视图默认排序',
|
|
734
755
|
group: '分组',
|
|
735
756
|
groupBy: '分组依据',
|
|
@@ -747,6 +768,7 @@ const zh = {
|
|
|
747
768
|
firstRunMessage: '创建第一条记录即可开始。',
|
|
748
769
|
noMatches: '没有匹配的记录',
|
|
749
770
|
noMatchesMessage: '没有符合当前筛选或搜索条件的记录,试试调整或清除它们。',
|
|
771
|
+
viewFilterNoMatchesMessage: '没有符合该视图筛选条件的记录。',
|
|
750
772
|
loadErrorTitle: '无法加载记录',
|
|
751
773
|
loadErrorMessage: '加载数据时出错。请检查网络连接后重试。',
|
|
752
774
|
loadErrorForbiddenTitle: '无权访问',
|
|
@@ -788,14 +810,15 @@ const zh = {
|
|
|
788
810
|
print: '打印',
|
|
789
811
|
hideFieldsTitle: '隐藏字段',
|
|
790
812
|
dataLimitReached: '显示前 {{limit}} 条记录。可能有更多数据。',
|
|
791
|
-
|
|
792
|
-
|
|
813
|
+
display: '显示',
|
|
814
|
+
layout: '布局',
|
|
815
|
+
rowNumbers: '行号',
|
|
816
|
+
resetToViewDefault: '恢复视图默认设置',
|
|
793
817
|
addGroup: '添加分组字段',
|
|
794
818
|
collapsedByDefault: '默认折叠',
|
|
795
819
|
removeGroup: '删除',
|
|
796
820
|
inlineEditShort: '行内编辑',
|
|
797
821
|
inlineEditLabel: '行内编辑记录(点击单元格进行编辑)',
|
|
798
|
-
recordEditingTitle: '记录编辑',
|
|
799
822
|
},
|
|
800
823
|
managedByBadge: {
|
|
801
824
|
config: {
|
|
@@ -831,15 +854,31 @@ const zh = {
|
|
|
831
854
|
deleteCard: '删除卡片',
|
|
832
855
|
deleteColumn: '删除列',
|
|
833
856
|
noCards: '暂无卡片',
|
|
857
|
+
columnCards: '{{column}} 的卡片',
|
|
858
|
+
laneCards: '{{column}} - {{lane}} 的卡片',
|
|
834
859
|
cardTitlePlaceholder: '输入卡片标题…',
|
|
835
860
|
uncategorized: '未分类',
|
|
861
|
+
loadMore: '加载更多',
|
|
836
862
|
columns: '列',
|
|
837
863
|
requiredFieldsTitle: '填写必填字段',
|
|
838
864
|
requiredFieldsDescription: '此次移动会使以下字段成为必填项。填写后即可继续。',
|
|
865
|
+
dnd: {
|
|
866
|
+
start: '已拿起 {{card}},当前在 {{column}}。',
|
|
867
|
+
overCard: '{{card}} 正移到 {{column}} 中的 {{target}} 上。',
|
|
868
|
+
overColumn: '{{card}} 正移到 {{column}}。',
|
|
869
|
+
overNone: '{{card}} 不在任何列上。',
|
|
870
|
+
moved: '{{card}} 已移到 {{column}}。',
|
|
871
|
+
dropped: '已放下 {{card}},仍在 {{column}}。',
|
|
872
|
+
cancelled: '已取消拖动。{{card}} 仍在 {{column}}。',
|
|
873
|
+
untitledCard: '未命名卡片',
|
|
874
|
+
unnamedColumn: '未命名列',
|
|
875
|
+
instructions: '如需将此卡片移到其他列,请用鼠标或触控拖动它。',
|
|
876
|
+
dragging: '正在拖动 {{card}}',
|
|
877
|
+
},
|
|
839
878
|
},
|
|
840
879
|
timeline: {
|
|
841
880
|
bucket: {
|
|
842
|
-
|
|
881
|
+
earlier: '更早',
|
|
843
882
|
today: '今天',
|
|
844
883
|
tomorrow: '明天',
|
|
845
884
|
thisWeek: '本周',
|
|
@@ -1020,10 +1059,13 @@ const zh = {
|
|
|
1020
1059
|
readonlyAriaLabel: '只读视图',
|
|
1021
1060
|
readonlyTooltip: '系统视图 — 由代码定义,只读。',
|
|
1022
1061
|
malformedFilter: '此视图的筛选条件有误,因此不显示任何记录:无法应用 {{subject}} 条件。',
|
|
1062
|
+
noObject: '未指定对象:请设置 {{property}} 或 dataSource.object。',
|
|
1023
1063
|
},
|
|
1024
1064
|
designer: {
|
|
1025
1065
|
undo: '撤销',
|
|
1026
1066
|
redo: '重做',
|
|
1067
|
+
canvasMinimap: '画布缩略图',
|
|
1068
|
+
versionHistory: '版本历史',
|
|
1027
1069
|
},
|
|
1028
1070
|
detail: {
|
|
1029
1071
|
back: '返回',
|
|
@@ -1037,10 +1079,12 @@ const zh = {
|
|
|
1037
1079
|
lockedByApproval: '审批中已锁定',
|
|
1038
1080
|
lockedTooltip: '该记录有待审批的请求,编辑已被锁定',
|
|
1039
1081
|
writeStrippedTitle: '已保存,但部分字段未生效',
|
|
1082
|
+
writeWarningsTitle: '已保存,但有警告',
|
|
1040
1083
|
writeStrippedReadonly: '以下字段为只读,未生效:{{fields}}',
|
|
1041
1084
|
writeStrippedByState: '以下字段在记录当前状态下不可编辑,未生效:{{fields}}',
|
|
1042
1085
|
writeStrippedPrimaryKey: '以下字段是记录的标识符,保存时无法修改,未生效:{{fields}}',
|
|
1043
1086
|
writeStrippedComputed: '以下字段由服务端按公式计算,提交的值未生效:{{fields}}',
|
|
1087
|
+
writeStrippedStoredExpression: '以下字段的值由记录计算得出,已保存计算值而非提交的值:{{fields}}',
|
|
1044
1088
|
writeStrippedUnknownReason: '以下字段未被服务端写入:{{fields}}',
|
|
1045
1089
|
approvalPendingEditable: '审批中 · 可编辑',
|
|
1046
1090
|
approvalPendingTooltip: '该记录有待审批的请求,但当前审批节点仍允许编辑',
|
|
@@ -1064,6 +1108,11 @@ const zh = {
|
|
|
1064
1108
|
linkCopied: '链接已复制到剪贴板',
|
|
1065
1109
|
commentFailed: '评论未发布,内容没有保存,请重试。',
|
|
1066
1110
|
reactionFailed: '表情回应未保存,请重试。',
|
|
1111
|
+
editComment: '编辑评论',
|
|
1112
|
+
deleteComment: '删除评论',
|
|
1113
|
+
deleteCommentConfirm: '确定要删除这条评论吗?',
|
|
1114
|
+
commentEditFailed: '您的修改未保存,评论保留原有内容。',
|
|
1115
|
+
commentDeleteFailed: '评论未删除,请重试。',
|
|
1067
1116
|
linkCopyFailed: '复制链接失败',
|
|
1068
1117
|
cancel: '取消',
|
|
1069
1118
|
cancelEdit: '放弃更改',
|
|
@@ -1175,6 +1224,7 @@ const zh = {
|
|
|
1175
1224
|
noAttachments: '暂无附件。上传一个文件开始吧。',
|
|
1176
1225
|
downloadAttachment: '下载',
|
|
1177
1226
|
deleteAttachment: '删除附件',
|
|
1227
|
+
deleteAttachmentConfirm: '确定要删除附件“{{name}}”吗?',
|
|
1178
1228
|
attachmentDeleteDenied: '只有上传者或可编辑此记录的用户才能删除此附件。',
|
|
1179
1229
|
attachmentParentAccessDenied: '您无权为此记录添加附件。',
|
|
1180
1230
|
attachmentDownloadDenied: '您无权下载此附件。',
|
|
@@ -1286,6 +1336,7 @@ const zh = {
|
|
|
1286
1336
|
loading: '加载中…',
|
|
1287
1337
|
failedToLoad: '矩阵报表加载失败:{{message}}',
|
|
1288
1338
|
needsAcross: '矩阵报表至少需要一个 `groupingsAcross` 字段。',
|
|
1339
|
+
forbiddenMessage: '你没有查看该报表数据的权限。',
|
|
1289
1340
|
aggregate: {
|
|
1290
1341
|
count: '计数',
|
|
1291
1342
|
countDistinct: '去重计数',
|
|
@@ -1645,7 +1696,8 @@ const zh = {
|
|
|
1645
1696
|
},
|
|
1646
1697
|
console: {
|
|
1647
1698
|
studio: {
|
|
1648
|
-
|
|
1699
|
+
title: 'Studio',
|
|
1700
|
+
accessRequired: '你需要 Studio 访问权限才能打开 Studio。',
|
|
1649
1701
|
},
|
|
1650
1702
|
saveAdvisoryTitle: '已保存 — 编辑检查提出了 {{count}} 条建议',
|
|
1651
1703
|
saveAdvisoryTitle_one: '已保存 — 编辑检查提出了 {{count}} 条建议',
|
|
@@ -1660,24 +1712,10 @@ const zh = {
|
|
|
1660
1712
|
savedViewsRefused: "服务器拒绝了此请求,因此该列表为空是因为读取失败,而不是因为该对象没有已保存的视图。请重新登录,或联系管理员申请访问权限。",
|
|
1661
1713
|
savedViewsUnreadable: "该列表为空是因为读取失败,而不是因为该对象没有已保存的视图。请重试;如果反复出现,请反馈此问题。",
|
|
1662
1714
|
title: 'ObjectStack 控制台',
|
|
1663
|
-
initializing: '
|
|
1715
|
+
initializing: '正在打开你的控制台…',
|
|
1716
|
+
skipToContent: '跳到主要内容',
|
|
1664
1717
|
search: '搜索…',
|
|
1665
1718
|
breadcrumb: {
|
|
1666
|
-
dashboards: '仪表盘',
|
|
1667
|
-
pages: '页面',
|
|
1668
|
-
// objectui#6166 — 报表 here is a maintainer RULING (2026-08-25), not a
|
|
1669
|
-
// majority count. 报表 (tabular/data report) and 报告 (written/narrative
|
|
1670
|
-
// report) are NOT interchangeable, so this key holding 报告 against the
|
|
1671
|
-
// rest of the pack was read as evidence of a majority and never, on its
|
|
1672
|
-
// own, as evidence of a mistake; the call was made on what renders. This
|
|
1673
|
-
// segment labels the `routeType === 'report'` LIST route (app-shell
|
|
1674
|
-
// AppHeader) — a structural sibling of dashboards/pages that drills into
|
|
1675
|
-
// metadata report definitions, i.e. the same feature that
|
|
1676
|
-
// `console.commandPalette.reports`, `console.nav.navReport` and
|
|
1677
|
-
// `search.badgeReport` already call 报表. Nothing narrative renders
|
|
1678
|
-
// beneath it. Don't re-file this as a pack inconsistency, and don't
|
|
1679
|
-
// restore 报告 without a new ruling.
|
|
1680
|
-
reports: '报表',
|
|
1681
1719
|
system: '系统',
|
|
1682
1720
|
marketplace: '应用市场',
|
|
1683
1721
|
settings: '设置',
|
|
@@ -1690,22 +1728,27 @@ const zh = {
|
|
|
1690
1728
|
nav: {
|
|
1691
1729
|
pinItem: '固定 {{name}}',
|
|
1692
1730
|
unpinItem: '取消固定 {{name}}',
|
|
1693
|
-
dragToReorder: '拖动以重新排序',
|
|
1694
1731
|
favorites: '收藏',
|
|
1695
1732
|
launcherLabel: '应用启动台',
|
|
1696
1733
|
menuLabel: '应用导航',
|
|
1697
1734
|
menuEmpty: '此应用没有你可以打开的导航项。',
|
|
1735
|
+
itemMenu: '{{name}} 的更多操作',
|
|
1736
|
+
openInNewTab: '在新标签页打开',
|
|
1737
|
+
copyLink: '复制链接',
|
|
1738
|
+
linkCopied: '链接已复制到剪贴板',
|
|
1739
|
+
linkCopyFailed: '复制链接失败',
|
|
1740
|
+
design: '设计',
|
|
1698
1741
|
},
|
|
1699
1742
|
settingsHub: {
|
|
1700
1743
|
title: '设置',
|
|
1701
|
-
subtitle: '
|
|
1744
|
+
subtitle: '配置系统、集成与功能开关。',
|
|
1702
1745
|
loadError: '加载设置失败',
|
|
1703
1746
|
empty: '尚未注册任何设置。插件可通过 SettingsService 注册设置清单。',
|
|
1704
1747
|
settingsCount: '{{n}} 项设置',
|
|
1705
1748
|
beta: 'Beta',
|
|
1706
1749
|
// 分类小标题,按 manifest 的 `category` 值取键;未知(插件自定义)分类回退到原始字符串。
|
|
1707
1750
|
categories: {
|
|
1708
|
-
Workspace: '
|
|
1751
|
+
Workspace: '常规',
|
|
1709
1752
|
Communication: '通讯',
|
|
1710
1753
|
Security: '安全',
|
|
1711
1754
|
Infrastructure: '基础设施',
|
|
@@ -1732,18 +1775,31 @@ const zh = {
|
|
|
1732
1775
|
unsavedCount: '{{count}} 项未保存的更改',
|
|
1733
1776
|
unsavedCount_one: '{{count}} 项未保存的更改',
|
|
1734
1777
|
unsavedCount_other: '{{count}} 项未保存的更改',
|
|
1778
|
+
fieldErrorsToast: '{{count}} 项设置需要处理:{{settings}}',
|
|
1779
|
+
fieldErrorsToast_one: '{{count}} 项设置需要处理:{{settings}}',
|
|
1780
|
+
fieldErrorsToast_other: '{{count}} 项设置需要处理:{{settings}}',
|
|
1735
1781
|
cryptoRefusalTitle: '此部署无法加密机密信息',
|
|
1736
1782
|
cryptoRefusalSubjectSuffix: '被声明为加密字段,因此未写入任何内容。',
|
|
1737
1783
|
cryptoRefusalNoSubject: '声明为加密的值被拒绝,因此未写入任何内容。',
|
|
1738
1784
|
cryptoRefusalToast: '无法加密机密信息:{{subject}}',
|
|
1739
1785
|
cryptoRefusalToastNoSubject: '无法加密机密信息',
|
|
1786
|
+
sourceBadgeInherited: '继承自{{source}}',
|
|
1787
|
+
sourceBadgeOverrides: '覆盖{{source}}',
|
|
1788
|
+
resetToDefault: '恢复默认',
|
|
1789
|
+
envLockBadge: '环境变量锁定',
|
|
1790
|
+
envLockBadgeTitle: '由环境变量固定,无法在界面中编辑。',
|
|
1791
|
+
deprecatedBadge: '已弃用',
|
|
1792
|
+
deprecatedBadgeReplacedBy: '已弃用 → {{replacedBy}}',
|
|
1793
|
+
unsupportedSpecifierType: '不支持的设置项类型:{{type}}',
|
|
1794
|
+
},
|
|
1795
|
+
workspaceTimezonePrompt: {
|
|
1796
|
+
title: '设置系统时区',
|
|
1797
|
+
description: '本系统仍在使用平台默认时区 {{current}}。系统时区决定公式中“今天”的含义、报表如何按日期分组,以及日期和时间如何显示,对系统内所有人生效。下方已填入你的浏览器时区。',
|
|
1798
|
+
laterHint: '之后可随时在“设置”页面中修改。',
|
|
1799
|
+
decline: '保持默认',
|
|
1800
|
+
confirm: '设置时区',
|
|
1801
|
+
saved: '系统时区已设置为 {{zone}}',
|
|
1740
1802
|
},
|
|
1741
|
-
loadingSteps: {
|
|
1742
|
-
connecting: '正在连接数据源',
|
|
1743
|
-
loadingConfig: '正在加载配置',
|
|
1744
|
-
preparingWorkspace: '正在准备工作区',
|
|
1745
|
-
},
|
|
1746
|
-
loadingHint: '初始化新环境可能需要几秒钟。',
|
|
1747
1803
|
error: {
|
|
1748
1804
|
connectionFailed: '无法连接到服务器',
|
|
1749
1805
|
serverUnreachable: '无法访问服务器 {{url}}。',
|
|
@@ -1767,21 +1823,20 @@ const zh = {
|
|
|
1767
1823
|
groups: {
|
|
1768
1824
|
general: '通用',
|
|
1769
1825
|
navigation: '导航',
|
|
1770
|
-
dataViews: '数据视图',
|
|
1771
1826
|
aiChat: 'AI 助手',
|
|
1772
|
-
preferences: '偏好设置',
|
|
1773
1827
|
},
|
|
1774
1828
|
openCommandPalette: '打开命令面板',
|
|
1775
1829
|
showShortcuts: '显示键盘快捷键',
|
|
1776
1830
|
closeDialog: '关闭对话框/面板',
|
|
1777
1831
|
toggleSidebar: '切换侧边栏',
|
|
1778
|
-
focusSearch: '聚焦搜索',
|
|
1779
|
-
createRecord: '新建记录',
|
|
1780
|
-
refreshData: '刷新数据',
|
|
1781
|
-
editRecord: '编辑选中记录',
|
|
1782
1832
|
newChat: '新建对话',
|
|
1783
1833
|
toggleChatsList: '切换对话列表',
|
|
1784
|
-
|
|
1834
|
+
goHome: '返回首页',
|
|
1835
|
+
},
|
|
1836
|
+
reportIndex: {
|
|
1837
|
+
title: '报表',
|
|
1838
|
+
emptyTitle: '暂无报表',
|
|
1839
|
+
emptyDescription: '此应用没有你可以打开的报表。',
|
|
1785
1840
|
},
|
|
1786
1841
|
commandPalette: {
|
|
1787
1842
|
title: '命令面板',
|
|
@@ -1791,6 +1846,8 @@ const zh = {
|
|
|
1791
1846
|
records: '记录',
|
|
1792
1847
|
recentRecords: '最近访问',
|
|
1793
1848
|
objects: '对象',
|
|
1849
|
+
packages: '软件包',
|
|
1850
|
+
flows: '流程',
|
|
1794
1851
|
dashboards: '仪表盘',
|
|
1795
1852
|
pages: '页面',
|
|
1796
1853
|
reports: '报表',
|
|
@@ -1814,8 +1871,7 @@ const zh = {
|
|
|
1814
1871
|
},
|
|
1815
1872
|
usage: {
|
|
1816
1873
|
title: 'AI 用量',
|
|
1817
|
-
|
|
1818
|
-
meterAsk: '数据问询',
|
|
1874
|
+
poolUsed: '已用 {{percent}}',
|
|
1819
1875
|
statusOk: '额度充足',
|
|
1820
1876
|
statusLow: '即将用完',
|
|
1821
1877
|
statusFull: '额度已用完',
|
|
@@ -1830,7 +1886,6 @@ const zh = {
|
|
|
1830
1886
|
ctaUpgrade: '升级以继续使用',
|
|
1831
1887
|
ctaTopUp: '购买额度包以继续',
|
|
1832
1888
|
ariaLabel: 'AI 用量:{{status}}',
|
|
1833
|
-
breakdownTitle: '已用额度构成',
|
|
1834
1889
|
},
|
|
1835
1890
|
workspaceTitle: 'AI 工作区',
|
|
1836
1891
|
workspaceSubtitle: '提问、查看并继续历史对话',
|
|
@@ -1887,6 +1942,8 @@ const zh = {
|
|
|
1887
1942
|
liveCanvasUnlisted: '运行预览 · {{app}}(未发布 · 仅自己可见)',
|
|
1888
1943
|
loadingAgents: '正在加载助手…',
|
|
1889
1944
|
askAnything: '输入你的问题…',
|
|
1945
|
+
askOrChangeApp: '问问数据,或让我改改这个应用…',
|
|
1946
|
+
describeAppToBuild: '描述你想搭建的应用,或要改的地方…',
|
|
1890
1947
|
emptyTitle: '开始对话',
|
|
1891
1948
|
emptyDescription: '可以直接提问,助手会结合当前应用上下文提供帮助。',
|
|
1892
1949
|
switchAssistant: '切换助手',
|
|
@@ -1908,12 +1965,17 @@ const zh = {
|
|
|
1908
1965
|
},
|
|
1909
1966
|
clearConversation: '清空',
|
|
1910
1967
|
sendHint: '发送',
|
|
1968
|
+
newlineHint: '换行',
|
|
1911
1969
|
agentActivity: '执行过程',
|
|
1912
1970
|
toolCompleted: '已完成',
|
|
1913
1971
|
toolRunning: '运行中',
|
|
1914
1972
|
toolAwaitingApproval: '等待确认',
|
|
1915
1973
|
toolFailed: '失败',
|
|
1916
1974
|
toolDetailsHidden: '已隐藏工具参数和原始结果,仅保留过程摘要。',
|
|
1975
|
+
toolDenyReason: '操作员已在对话中拒绝',
|
|
1976
|
+
builderHandoffTitle: '在构建器中搭建',
|
|
1977
|
+
builderHandoffOpen: '在构建器中打开 →',
|
|
1978
|
+
builderHandoffSuperseded: '已有更新的请求',
|
|
1917
1979
|
copy: '复制',
|
|
1918
1980
|
copied: '已复制',
|
|
1919
1981
|
regenerate: '重新生成',
|
|
@@ -1930,7 +1992,7 @@ const zh = {
|
|
|
1930
1992
|
publishOk: '已发布,对象已生效。',
|
|
1931
1993
|
seedWarn: '已发布,但部分示例数据未能载入。',
|
|
1932
1994
|
openBuiltApp: '打开应用',
|
|
1933
|
-
|
|
1995
|
+
viewBuiltAppInStudio: '在 Studio 中查看',
|
|
1934
1996
|
previewDraft: '预览',
|
|
1935
1997
|
previewApp: '预览应用',
|
|
1936
1998
|
resizeSplit: '调整对话与预览的宽度',
|
|
@@ -2067,6 +2129,7 @@ const zh = {
|
|
|
2067
2129
|
collapse: '收起对话',
|
|
2068
2130
|
maximize: '以完整页面打开',
|
|
2069
2131
|
open: '打开助手',
|
|
2132
|
+
planAwaitingApproval: '有一个方案等待确认',
|
|
2070
2133
|
},
|
|
2071
2134
|
group: {
|
|
2072
2135
|
today: '今天',
|
|
@@ -2078,9 +2141,9 @@ const zh = {
|
|
|
2078
2141
|
},
|
|
2079
2142
|
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2080
2143
|
readRate: {
|
|
2081
|
-
ratioTitle: '
|
|
2144
|
+
ratioTitle: '本系统读取量异常',
|
|
2082
2145
|
ratio: '每写入 1 行就读取 {{ratio}} 行。平台会标记高于 {{threshold}} 的比率。没有任何东西被限制或阻断;这只是一份报告,便于检查读取方式。',
|
|
2083
|
-
noWritesTitle: '
|
|
2146
|
+
noWritesTitle: '本系统只有读取、完全没有写入',
|
|
2084
2147
|
noWrites: '有行被读取,却完全没有任何写入,因此读取比率没有上限。这是最严重的读数。平台会标记高于 {{threshold}} 的比率。没有任何东西被限制或阻断;这只是一份报告,便于检查读取方式。',
|
|
2085
2148
|
},
|
|
2086
2149
|
// objectui#10439 — see the `en` pack for what raises each case.
|
|
@@ -2140,12 +2203,14 @@ const zh = {
|
|
|
2140
2203
|
objectView: {
|
|
2141
2204
|
systemViewReadonly: '系统视图由代码定义,只读。',
|
|
2142
2205
|
cannotEditMetaView: '该视图为内置视图,由代码定义,无法修改。',
|
|
2143
|
-
|
|
2206
|
+
resetView: '重置视图',
|
|
2207
|
+
resetViewTitle: '将此视图的排序、筛选和列宽恢复为视图自身的设置。只影响你自己。',
|
|
2144
2208
|
cannotDeleteMetaView: '该视图为内置视图,由代码定义,无法删除。',
|
|
2145
2209
|
expandToPage: '以完整页面打开',
|
|
2146
2210
|
objectNotFound: '未找到对象',
|
|
2147
2211
|
objectNotFoundDescription: '对象"{{objectName}}"在当前配置中不存在。',
|
|
2148
2212
|
objectNotFoundHint: '请检查您的应用导航设置或从侧边栏选择其他对象。',
|
|
2213
|
+
objectPackageDisabled: '对象“{{objectName}}”所属的软件包已被禁用,因此当前不提供该对象。',
|
|
2149
2214
|
filterOrNotSavable: '该筛选条件之间使用「或」,保存到视图暂不支持这种结构。它仍会作用于当前列表 —— 取消「或」分组后才能保存到视图。',
|
|
2150
2215
|
filterNestedNotSavable: '该筛选使用了嵌套条件分组,保存到视图不支持这种结构。请改为单层条件列表后再保存到视图。',
|
|
2151
2216
|
allRecords: '所有记录',
|
|
@@ -2241,6 +2306,10 @@ const zh = {
|
|
|
2241
2306
|
ufAddField: '+ 添加筛选字段…',
|
|
2242
2307
|
ufShowAllRecords: '显示"全部记录"标签页',
|
|
2243
2308
|
},
|
|
2309
|
+
runtimeDraft: {
|
|
2310
|
+
publishFailed: '发布失败',
|
|
2311
|
+
discardFailed: '放弃草稿失败',
|
|
2312
|
+
},
|
|
2244
2313
|
localeSwitcher: {
|
|
2245
2314
|
label: '语言',
|
|
2246
2315
|
},
|
|
@@ -2261,9 +2330,8 @@ const zh = {
|
|
|
2261
2330
|
signingIn: '正在登录…',
|
|
2262
2331
|
ssoHandoff: '继续前往 {{target}}',
|
|
2263
2332
|
devAdminHint: {
|
|
2264
|
-
title: '
|
|
2265
|
-
|
|
2266
|
-
dismiss: '关闭',
|
|
2333
|
+
title: '本地开发实例',
|
|
2334
|
+
signIn: '以开发管理员登录',
|
|
2267
2335
|
},
|
|
2268
2336
|
errors: {
|
|
2269
2337
|
invalidCredentials: '邮箱或密码错误,请重试。',
|
|
@@ -2284,6 +2352,20 @@ const zh = {
|
|
|
2284
2352
|
usePasswordSignInText: '改用密码登录',
|
|
2285
2353
|
socialButton: '使用 {provider} 继续',
|
|
2286
2354
|
orText: '或使用邮箱继续',
|
|
2355
|
+
ssoButton: '使用 SSO 登录',
|
|
2356
|
+
ssoOnlyDescription: '使用你所在组织的单点登录进行登录',
|
|
2357
|
+
usePasswordText: '改用密码登录',
|
|
2358
|
+
backToSsoText: '返回单点登录',
|
|
2359
|
+
// objectui#12600 — the console login card's own header, the password
|
|
2360
|
+
// field's reveal toggle, and the footer's legal links.
|
|
2361
|
+
welcomeTitle: '欢迎回来',
|
|
2362
|
+
welcomeDescription: '登录后继续你的工作',
|
|
2363
|
+
showPasswordText: '显示密码',
|
|
2364
|
+
hidePasswordText: '隐藏密码',
|
|
2365
|
+
footer: {
|
|
2366
|
+
privacy: '隐私',
|
|
2367
|
+
terms: '条款',
|
|
2368
|
+
},
|
|
2287
2369
|
},
|
|
2288
2370
|
register: {
|
|
2289
2371
|
title: '创建账户',
|
|
@@ -2306,7 +2388,7 @@ const zh = {
|
|
|
2306
2388
|
orText: '或使用邮箱继续',
|
|
2307
2389
|
errors: {
|
|
2308
2390
|
userExists: '该邮箱已被注册,请直接登录或更换邮箱。',
|
|
2309
|
-
selfRegistrationClosed: '
|
|
2391
|
+
selfRegistrationClosed: '本系统未开放自助注册,请联系管理员获取邀请。',
|
|
2310
2392
|
emailDomainNotAllowed: '该邮箱的域名不允许在此注册,请使用组织邮箱,或联系管理员获取邀请。',
|
|
2311
2393
|
},
|
|
2312
2394
|
verifyInbox: {
|
|
@@ -2347,7 +2429,7 @@ const zh = {
|
|
|
2347
2429
|
},
|
|
2348
2430
|
setPassword: {
|
|
2349
2431
|
title: '设置一个备用密码',
|
|
2350
|
-
description: '
|
|
2432
|
+
description: '您是通过单点登录进入的。设置一个本地密码,这样即使单点登录不可用,您仍能直接登录。',
|
|
2351
2433
|
email: '邮箱',
|
|
2352
2434
|
newPassword: '新密码',
|
|
2353
2435
|
confirmPassword: '确认密码',
|
|
@@ -2397,7 +2479,7 @@ const zh = {
|
|
|
2397
2479
|
checkSpam: '没有收到邮件?请检查垃圾邮件文件夹或联系支持。',
|
|
2398
2480
|
or: '或',
|
|
2399
2481
|
// objectui#3546 slice three.
|
|
2400
|
-
resendUnavailable: '
|
|
2482
|
+
resendUnavailable: '本系统可能未配置邮件发送服务。如果问题持续存在,请联系支持。',
|
|
2401
2483
|
},
|
|
2402
2484
|
setup: {
|
|
2403
2485
|
welcomeTitle: '欢迎使用 ObjectStack',
|
|
@@ -2441,7 +2523,7 @@ const zh = {
|
|
|
2441
2523
|
disabledDescription: '此部署未启用设备授权,因此无法在此批准该设备。',
|
|
2442
2524
|
},
|
|
2443
2525
|
shell: {
|
|
2444
|
-
tenantHostHint: '
|
|
2526
|
+
tenantHostHint: '您正在登录本系统',
|
|
2445
2527
|
},
|
|
2446
2528
|
layout: {
|
|
2447
2529
|
headline: '更快地构建强大的业务应用。',
|
|
@@ -2451,6 +2533,7 @@ const zh = {
|
|
|
2451
2533
|
signOut: '改为退出登录',
|
|
2452
2534
|
password: {
|
|
2453
2535
|
title: '您的密码已过期',
|
|
2536
|
+
resetTitle: '您必须修改密码',
|
|
2454
2537
|
fallbackMessage: '请设置新密码后继续。',
|
|
2455
2538
|
current: '当前密码',
|
|
2456
2539
|
next: '新密码',
|
|
@@ -2476,6 +2559,11 @@ const zh = {
|
|
|
2476
2559
|
verifying: '正在验证…',
|
|
2477
2560
|
invalidCode: '验证码无效,请重试。',
|
|
2478
2561
|
},
|
|
2562
|
+
impersonation: {
|
|
2563
|
+
passwordTitle: '{{user}} 必须修改密码',
|
|
2564
|
+
mfaTitle: '{{user}} 必须设置双重验证',
|
|
2565
|
+
body: '您正在以 {{user}} 的身份操作,此操作只能由该用户本人完成。请结束模拟登录,返回您自己的账户。',
|
|
2566
|
+
},
|
|
2479
2567
|
},
|
|
2480
2568
|
},
|
|
2481
2569
|
// objectui#3546 slice three — the /oauth/consent screen.
|
|
@@ -2484,12 +2572,17 @@ const zh = {
|
|
|
2484
2572
|
title: '{{appName}} 请求访问您的账户',
|
|
2485
2573
|
request: '{{appName}} 正在请求授权{{suffix}}。',
|
|
2486
2574
|
unknownApp: '某个应用',
|
|
2575
|
+
unidentified: '无法识别此应用。',
|
|
2576
|
+
clientId: '客户端 ID',
|
|
2487
2577
|
willAllow: '此应用将能够:',
|
|
2488
2578
|
scope: {
|
|
2489
2579
|
openid: '确认您的身份',
|
|
2490
2580
|
profile: '读取您的基本资料(姓名、头像)',
|
|
2491
2581
|
email: '读取您的邮箱地址',
|
|
2492
2582
|
offlineAccess: '保持登录状态(刷新访问权限)',
|
|
2583
|
+
dataRead: '读取记录(不超出您自己的权限)',
|
|
2584
|
+
dataWrite: '创建、修改和删除记录(不超出您自己的权限)',
|
|
2585
|
+
actionsExecute: '代表您运行操作(不超出您自己的权限)',
|
|
2493
2586
|
},
|
|
2494
2587
|
deny: '拒绝',
|
|
2495
2588
|
authorize: '授权',
|
|
@@ -2532,8 +2625,8 @@ const zh = {
|
|
|
2532
2625
|
password: {
|
|
2533
2626
|
changeTitle: '修改密码',
|
|
2534
2627
|
setTitle: '设置本地密码',
|
|
2535
|
-
changeDescription: '
|
|
2536
|
-
setDescription: '
|
|
2628
|
+
changeDescription: '更新您登录所用的密码。',
|
|
2629
|
+
setDescription: '您通过单点登录进入。设置本地密码后,也可以使用邮箱和密码登录。',
|
|
2537
2630
|
current: '当前密码',
|
|
2538
2631
|
new: '新密码',
|
|
2539
2632
|
password: '密码',
|
|
@@ -2542,7 +2635,7 @@ const zh = {
|
|
|
2542
2635
|
mismatch: '两次输入的密码不一致',
|
|
2543
2636
|
enterCurrent: '请输入当前密码',
|
|
2544
2637
|
changed: '密码已修改。',
|
|
2545
|
-
localSet: '
|
|
2638
|
+
localSet: '本地密码已设置。现在您可以使用邮箱和密码登录。',
|
|
2546
2639
|
changeAction: '修改密码',
|
|
2547
2640
|
setAction: '设置密码',
|
|
2548
2641
|
},
|
|
@@ -2557,21 +2650,21 @@ const zh = {
|
|
|
2557
2650
|
unknown: '发生未知错误。',
|
|
2558
2651
|
},
|
|
2559
2652
|
workspace: {
|
|
2560
|
-
label: '
|
|
2561
|
-
default: '
|
|
2562
|
-
switch: '
|
|
2563
|
-
createTitle: '
|
|
2564
|
-
createDescription: '
|
|
2565
|
-
createButton: '
|
|
2566
|
-
nameLabel: '
|
|
2653
|
+
label: '组织',
|
|
2654
|
+
default: '我的组织',
|
|
2655
|
+
switch: '切换组织',
|
|
2656
|
+
createTitle: '创建组织',
|
|
2657
|
+
createDescription: '组织是团队协作的共享空间。',
|
|
2658
|
+
createButton: '创建组织',
|
|
2659
|
+
nameLabel: '组织名称',
|
|
2567
2660
|
namePlaceholder: '例如:极客科技',
|
|
2568
2661
|
slugLabel: 'URL 标识',
|
|
2569
2662
|
slugHint: '用于 URL 中,仅支持小写字母、数字和连字符。',
|
|
2570
2663
|
invite: '邀请成员',
|
|
2571
2664
|
members: '成员',
|
|
2572
|
-
settings: '
|
|
2665
|
+
settings: '组织设置',
|
|
2573
2666
|
multiOrgDisabled: '此实例已禁用创建新组织。',
|
|
2574
|
-
createFailed: '
|
|
2667
|
+
createFailed: '创建组织失败',
|
|
2575
2668
|
},
|
|
2576
2669
|
help: {
|
|
2577
2670
|
keyboardShortcuts: '键盘快捷键',
|
|
@@ -2579,6 +2672,12 @@ const zh = {
|
|
|
2579
2672
|
appDocs: '本应用文档',
|
|
2580
2673
|
allDocs: '全部文档',
|
|
2581
2674
|
onlineDocs: '在线文档',
|
|
2675
|
+
loadingDocumentation: '正在加载文档',
|
|
2676
|
+
about: '关于',
|
|
2677
|
+
aboutTitle: '关于此控制台',
|
|
2678
|
+
aboutDescription: '此控制台编译所用的构建。',
|
|
2679
|
+
aboutBuild: '控制台构建',
|
|
2680
|
+
aboutBuildUnknown: '未知构建(构建此控制台时未设置版本)',
|
|
2582
2681
|
},
|
|
2583
2682
|
sidebar: {
|
|
2584
2683
|
settings: '设置',
|
|
@@ -2593,20 +2692,19 @@ const zh = {
|
|
|
2593
2692
|
packageManagement: '软件包管理',
|
|
2594
2693
|
searchNavigation: '搜索导航…',
|
|
2595
2694
|
recent: '最近使用',
|
|
2596
|
-
favorites: '收藏',
|
|
2597
2695
|
starred: '已收藏',
|
|
2598
2696
|
removeFromFavorites: '从收藏中移除 {{name}}',
|
|
2697
|
+
allReports: '全部报表',
|
|
2599
2698
|
},
|
|
2600
2699
|
topbar: {
|
|
2601
2700
|
aiAssistant: 'AI 助手',
|
|
2602
2701
|
designInStudio: '在 Studio 中设计',
|
|
2702
|
+
editApp: '编辑应用',
|
|
2603
2703
|
openAssistant: '打开{{name}}助手',
|
|
2604
2704
|
offline: '离线',
|
|
2605
2705
|
usersOnline: '当前在线用户',
|
|
2606
2706
|
switchView: '切换视图',
|
|
2607
|
-
switchObject: '切换对象',
|
|
2608
2707
|
connection: {
|
|
2609
|
-
connected: '已连接',
|
|
2610
2708
|
connecting: '连接中…',
|
|
2611
2709
|
reconnecting: '正在重新连接…',
|
|
2612
2710
|
disconnected: '已断开连接',
|
|
@@ -2627,45 +2725,66 @@ const zh = {
|
|
|
2627
2725
|
showMoreApps: '更多',
|
|
2628
2726
|
showLess: '收起',
|
|
2629
2727
|
continueEmpty: '你打开过的内容会显示在这里。',
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2728
|
+
// objectui#12602 — Home's "My work" section: its heading, the link to the
|
|
2729
|
+
// full inbox, each column's title, "view all" link and empty line.
|
|
2730
|
+
myWork: {
|
|
2731
|
+
title: "我的工作",
|
|
2732
|
+
openInbox: "打开收件箱",
|
|
2733
|
+
viewAll: "查看全部",
|
|
2734
|
+
approvals: "待审批",
|
|
2735
|
+
approvalsEmpty: "没有待审批的事项",
|
|
2736
|
+
notifications: "通知",
|
|
2737
|
+
notificationsEmpty: "没有未读通知",
|
|
2633
2738
|
},
|
|
2634
2739
|
greetingMorning: '早上好',
|
|
2635
2740
|
greetingAfternoon: '下午好',
|
|
2636
2741
|
greetingEvening: '晚上好',
|
|
2637
2742
|
greetingNight: '夜深了',
|
|
2638
|
-
|
|
2743
|
+
greetingSeparator: ',',
|
|
2744
|
+
greetingEnd: '。',
|
|
2745
|
+
search: '搜索应用、记录、页面…',
|
|
2746
|
+
summary: {
|
|
2747
|
+
approvals: '今天有 {{count}} 项待审批',
|
|
2748
|
+
approvals_one: '今天有 {{count}} 项待审批',
|
|
2749
|
+
approvals_other: '今天有 {{count}} 项待审批',
|
|
2750
|
+
none: '今天没有待办',
|
|
2751
|
+
},
|
|
2752
|
+
addApp: '添加应用',
|
|
2753
|
+
appOpened: '{{time}}打开',
|
|
2639
2754
|
build: {
|
|
2640
2755
|
title: '构建应用',
|
|
2641
|
-
|
|
2642
|
-
noCapability: '此工作区不提供构建应用功能 — 它需要「管理元数据」权限,而你的账号没有该权限。',
|
|
2756
|
+
noCapability: '本系统不提供构建应用功能 — 它需要「管理元数据」权限,而你的账号没有该权限。',
|
|
2643
2757
|
},
|
|
2644
2758
|
template: {
|
|
2645
2759
|
title: '从模板开始',
|
|
2646
|
-
subtitle: '从应用市场安装模板应用并按需定制。',
|
|
2647
2760
|
marketplaceDisabled: '本运行时未配置应用市场,因此这里没有可安装的模板。',
|
|
2648
2761
|
},
|
|
2649
2762
|
open: '打开',
|
|
2650
|
-
loading: '
|
|
2763
|
+
loading: '加载中…',
|
|
2651
2764
|
welcome: '用 AI 搭建你的业务系统',
|
|
2652
2765
|
welcomeDescription: '用一句话描述你的业务,AI 帮你生成对象、界面、API 和 agent 工具。也可以手动从零开始。',
|
|
2653
2766
|
welcomeAdminDescription: '用一句话描述你的业务,AI 会为你生成对象、界面、API 和智能体工具;也可以从左侧菜单自行搭建。',
|
|
2654
2767
|
welcomeAdminDescriptionNoBuild: '从左侧的「管理」菜单创建你的第一个应用。有了数据后,AI 助手可以帮你查询和分析。',
|
|
2655
2768
|
welcomeAdminDescriptionNoAi: '从左侧的「管理」菜单创建你的第一个应用。',
|
|
2656
2769
|
noAppsTitle: '还没有应用',
|
|
2657
|
-
noAppsDescription: '
|
|
2770
|
+
noAppsDescription: '系统正在准备中——管理员共享给你的应用会显示在这里。',
|
|
2658
2771
|
buildWithAI: '用 AI 搭建',
|
|
2659
2772
|
askAI: '问 AI',
|
|
2660
2773
|
recoveryReminder: {
|
|
2661
|
-
message: '
|
|
2774
|
+
message: '建议设置一个备用密码,这样即使单点登录不可用,你仍能直接登录。',
|
|
2662
2775
|
cta: '设置密码',
|
|
2663
2776
|
dismiss: '关闭',
|
|
2664
2777
|
},
|
|
2665
2778
|
pendingDrafts: {
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2779
|
+
// objectui#12602 — the drafts row in Home's "My work" section: the
|
|
2780
|
+
// count, then the first draft names joined by `nameSeparator`, in
|
|
2781
|
+
// their package when they share one.
|
|
2782
|
+
title: "{{count}} 项未发布更改",
|
|
2783
|
+
title_one: "{{count}} 项未发布更改",
|
|
2784
|
+
title_other: "{{count}} 项未发布更改",
|
|
2785
|
+
inPackage: "{{names}} 在 {{package}} 包里等待发布",
|
|
2786
|
+
waiting: "{{names}} 等待发布",
|
|
2787
|
+
nameSeparator: "、",
|
|
2669
2788
|
cta: '发布',
|
|
2670
2789
|
publishing: '发布中…',
|
|
2671
2790
|
published: '已发布!更改已生效。',
|
|
@@ -2686,7 +2805,7 @@ const zh = {
|
|
|
2686
2805
|
manageObjects: '管理对象',
|
|
2687
2806
|
manageObjectsDesc: '配置数据模型',
|
|
2688
2807
|
systemSettings: '系统设置',
|
|
2689
|
-
systemSettingsDesc: '
|
|
2808
|
+
systemSettingsDesc: '配置您的系统',
|
|
2690
2809
|
},
|
|
2691
2810
|
recentApps: {
|
|
2692
2811
|
title: '最近访问',
|
|
@@ -2695,6 +2814,8 @@ const zh = {
|
|
|
2695
2814
|
dashboard: '仪表盘',
|
|
2696
2815
|
page: '页面',
|
|
2697
2816
|
report: '报表',
|
|
2817
|
+
package: '软件包',
|
|
2818
|
+
view: '列表视图',
|
|
2698
2819
|
record: '记录',
|
|
2699
2820
|
metadata: '元数据',
|
|
2700
2821
|
},
|
|
@@ -2723,6 +2844,11 @@ const zh = {
|
|
|
2723
2844
|
manageAllApps: '管理所有应用',
|
|
2724
2845
|
systemConsole: '系统控制台',
|
|
2725
2846
|
noAppsConfigured: '尚未配置任何应用',
|
|
2847
|
+
allApps: '所有应用',
|
|
2848
|
+
editAppInStudio: '在 Studio 中编辑 {{app}}',
|
|
2849
|
+
backToHome: '返回首页',
|
|
2850
|
+
settings: '系统设置',
|
|
2851
|
+
productHome: '{{product}} 首页',
|
|
2726
2852
|
},
|
|
2727
2853
|
systemNav: {
|
|
2728
2854
|
systemSettings: '系统设置',
|
|
@@ -2741,6 +2867,7 @@ const zh = {
|
|
|
2741
2867
|
title: '最近动态',
|
|
2742
2868
|
filter: '筛选',
|
|
2743
2869
|
empty: '暂无最近动态',
|
|
2870
|
+
accessDenied: '您没有查看动态的权限。',
|
|
2744
2871
|
viewAll: '查看全部动态',
|
|
2745
2872
|
ariaLabel: '动态消息',
|
|
2746
2873
|
typeCreate: '创建',
|
|
@@ -2790,6 +2917,10 @@ const zh = {
|
|
|
2790
2917
|
interfacePageSourceMissing: '此界面页引用了 “{{name}}”,但该来源不可用。',
|
|
2791
2918
|
recordNotFound: '未找到记录',
|
|
2792
2919
|
recordNotFoundDescription: '您查找的记录不存在或已被删除。',
|
|
2920
|
+
recordAccessDenied: '无权访问{{object}}记录',
|
|
2921
|
+
recordAccessDeniedDescription: '你没有查看此类记录的权限。如需访问,请联系管理员。',
|
|
2922
|
+
recordLoadFailed: '无法加载此记录',
|
|
2923
|
+
recordLoadFailedDescription: '加载时出错。请检查网络连接后重试。',
|
|
2793
2924
|
pageNotFound: '未找到页面',
|
|
2794
2925
|
pageNotFoundDescription: '未找到页面 “{{name}}”,可能已被删除或重命名。',
|
|
2795
2926
|
dashboardNotFound: '未找到仪表板',
|
|
@@ -2807,6 +2938,10 @@ const zh = {
|
|
|
2807
2938
|
appAccessDenied: '你没有访问此应用的权限',
|
|
2808
2939
|
appAccessDeniedDescription: '此应用存在,但你的账号未获授权打开它。请联系管理员为你开通访问权限。',
|
|
2809
2940
|
appAccessDeniedHome: '返回首页',
|
|
2941
|
+
appNothingAvailable: '{{app}} 中暂时没有你可以使用的内容',
|
|
2942
|
+
appNothingAvailableDescription: '此应用中没有你的账号可以打开的页面。请联系管理员为你开通访问权限。',
|
|
2943
|
+
appNothingAvailableGrantDescription: '此应用中没有你的账号可以打开的页面。你可以在 Setup 中授予访问权限。',
|
|
2944
|
+
openSetup: '打开 Setup',
|
|
2810
2945
|
createFirstApp: '创建您的第一个应用',
|
|
2811
2946
|
systemSettings: '系统设置',
|
|
2812
2947
|
back: '返回',
|
|
@@ -2827,6 +2962,9 @@ const zh = {
|
|
|
2827
2962
|
publishing: '发布中…',
|
|
2828
2963
|
exit: '退出预览',
|
|
2829
2964
|
changes: '变更',
|
|
2965
|
+
pendingHere: '草稿预览 · 本页 {{count}} 项未发布',
|
|
2966
|
+
pendingHere_one: '草稿预览 · 本页 {{count}} 项未发布',
|
|
2967
|
+
pendingHere_other: '草稿预览 · 本页 {{count}} 项未发布',
|
|
2830
2968
|
// 魔法时刻提示:刚搭好的草稿因为种子/示例数据要发布后才载入,预览里
|
|
2831
2969
|
// 仪表板显示 0、列表显示“暂无内容”。直接说明,避免把空预览误当成搭坏了。
|
|
2832
2970
|
sampleDataTitle: '示例数据将在发布后出现',
|
|
@@ -2848,7 +2986,57 @@ const zh = {
|
|
|
2848
2986
|
confirmNote: '发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。',
|
|
2849
2987
|
confirmNote_one: '发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。',
|
|
2850
2988
|
confirmNote_other: '发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。',
|
|
2989
|
+
// objectui#11591 — the package-less sheet: no package to batch, so each
|
|
2990
|
+
// draft publishes by itself and one that fails stays pending.
|
|
2991
|
+
confirmNoteSeparate: '发布会逐个单独发布这 {{count}} 个待发布草稿:发布失败的草稿仍保持待发布,其余草稿照常发布。',
|
|
2992
|
+
confirmNoteSeparate_one: '发布会逐个单独发布这 {{count}} 个待发布草稿:发布失败的草稿仍保持待发布,其余草稿照常发布。',
|
|
2993
|
+
confirmNoteSeparate_other: '发布会逐个单独发布这 {{count}} 个待发布草稿:发布失败的草稿仍保持待发布,其余草稿照常发布。',
|
|
2851
2994
|
publishConfirm: '全部发布',
|
|
2995
|
+
summaryItems: '{{count}} 项',
|
|
2996
|
+
summaryItems_one: '{{count}} 项',
|
|
2997
|
+
summaryItems_other: '{{count}} 项',
|
|
2998
|
+
summaryType: '{{type}} {{n}}',
|
|
2999
|
+
typeCount: {
|
|
3000
|
+
object: '对象 {{count}}',
|
|
3001
|
+
object_one: '对象 {{count}}',
|
|
3002
|
+
object_other: '对象 {{count}}',
|
|
3003
|
+
view: '视图 {{count}}',
|
|
3004
|
+
view_one: '视图 {{count}}',
|
|
3005
|
+
view_other: '视图 {{count}}',
|
|
3006
|
+
page: '页面 {{count}}',
|
|
3007
|
+
page_one: '页面 {{count}}',
|
|
3008
|
+
page_other: '页面 {{count}}',
|
|
3009
|
+
dashboard: '仪表盘 {{count}}',
|
|
3010
|
+
dashboard_one: '仪表盘 {{count}}',
|
|
3011
|
+
dashboard_other: '仪表盘 {{count}}',
|
|
3012
|
+
app: '应用 {{count}}',
|
|
3013
|
+
app_one: '应用 {{count}}',
|
|
3014
|
+
app_other: '应用 {{count}}',
|
|
3015
|
+
action: '动作 {{count}}',
|
|
3016
|
+
action_one: '动作 {{count}}',
|
|
3017
|
+
action_other: '动作 {{count}}',
|
|
3018
|
+
report: '报表 {{count}}',
|
|
3019
|
+
report_one: '报表 {{count}}',
|
|
3020
|
+
report_other: '报表 {{count}}',
|
|
3021
|
+
flow: '流程 {{count}}',
|
|
3022
|
+
flow_one: '流程 {{count}}',
|
|
3023
|
+
flow_other: '流程 {{count}}',
|
|
3024
|
+
permission: '权限集 {{count}}',
|
|
3025
|
+
permission_one: '权限集 {{count}}',
|
|
3026
|
+
permission_other: '权限集 {{count}}',
|
|
3027
|
+
agent: '智能体 {{count}}',
|
|
3028
|
+
agent_one: '智能体 {{count}}',
|
|
3029
|
+
agent_other: '智能体 {{count}}',
|
|
3030
|
+
email_template: '邮件模板 {{count}}',
|
|
3031
|
+
email_template_one: '邮件模板 {{count}}',
|
|
3032
|
+
email_template_other: '邮件模板 {{count}}',
|
|
3033
|
+
},
|
|
3034
|
+
// objectui#12929 — the unchecked choice under an added object field whose
|
|
3035
|
+
// literal default the batch publish can write into the existing records.
|
|
3036
|
+
backfillOption: '补默认值({{count}} 条已有记录)',
|
|
3037
|
+
backfillOption_one: '补默认值({{count}} 条已有记录)',
|
|
3038
|
+
backfillOption_other: '补默认值({{count}} 条已有记录)',
|
|
3039
|
+
backfillOptionNoCount: '补默认值',
|
|
2852
3040
|
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
2853
3041
|
// the confirm button so a refusal the door would issue is read BEFORE
|
|
2854
3042
|
// the click rather than as a toast after the batch rolled back.
|
|
@@ -2921,8 +3109,11 @@ const zh = {
|
|
|
2921
3109
|
deleteFailed: '删除 {{label}} 失败',
|
|
2922
3110
|
noRecordId: '未提供记录 ID',
|
|
2923
3111
|
deleteConfirm: '确定要删除此记录吗?',
|
|
2924
|
-
|
|
2925
|
-
|
|
3112
|
+
deleteConfirmTitle: '删除{{label}}“{{name}}”?',
|
|
3113
|
+
bulkDeleteConfirmTitle: '删除 {{count}} 条 {{label}} 记录?',
|
|
3114
|
+
bulkDeleteConfirmTitle_one: '删除 {{count}} 条 {{label}} 记录?',
|
|
3115
|
+
bulkDeleteConfirmTitle_other: '删除 {{count}} 条 {{label}} 记录?',
|
|
3116
|
+
deleteConfirmButton: '删除',
|
|
2926
3117
|
bulkDeleteSuccess: '已删除 {{count}} 条 {{label}} 记录',
|
|
2927
3118
|
bulkDeleteSuccess_one: '已删除 {{count}} 条 {{label}} 记录',
|
|
2928
3119
|
bulkDeleteSuccess_other: '已删除 {{count}} 条 {{label}} 记录',
|
|
@@ -2946,18 +3137,18 @@ const zh = {
|
|
|
2946
3137
|
language: '语言',
|
|
2947
3138
|
},
|
|
2948
3139
|
organizations: {
|
|
2949
|
-
mine: '
|
|
2950
|
-
create: '
|
|
2951
|
-
title: '
|
|
2952
|
-
heading: '
|
|
2953
|
-
subtitle: '
|
|
2954
|
-
searchPlaceholder: '
|
|
2955
|
-
new: '
|
|
2956
|
-
current: '
|
|
3140
|
+
mine: '我的组织',
|
|
3141
|
+
create: '创建组织',
|
|
3142
|
+
title: '组织',
|
|
3143
|
+
heading: '您的组织',
|
|
3144
|
+
subtitle: '选择一个组织以继续,或新建一个。',
|
|
3145
|
+
searchPlaceholder: '搜索组织',
|
|
3146
|
+
new: '新建组织',
|
|
3147
|
+
current: '当前组织',
|
|
2957
3148
|
manage: '管理',
|
|
2958
|
-
emptyTitle: '
|
|
2959
|
-
emptyDescription: '
|
|
2960
|
-
noMatches: '
|
|
3149
|
+
emptyTitle: '尚无组织',
|
|
3150
|
+
emptyDescription: '创建您的第一个组织以开始使用。',
|
|
3151
|
+
noMatches: '没有匹配的组织。',
|
|
2961
3152
|
},
|
|
2962
3153
|
organization: {
|
|
2963
3154
|
roles: {
|
|
@@ -3042,6 +3233,7 @@ const zh = {
|
|
|
3042
3233
|
readOnlyNote: '只有所有者可以修改设置。',
|
|
3043
3234
|
nameLabel: '组织名称',
|
|
3044
3235
|
slugLabel: '标识',
|
|
3236
|
+
slugLockedNote: '该组织还有正在使用的环境,因此无法在此修改标识:重命名会同时迁移这些环境的子域名。',
|
|
3045
3237
|
logoLabel: 'Logo',
|
|
3046
3238
|
logoUpload: '上传',
|
|
3047
3239
|
logoReplace: '更换',
|
|
@@ -3117,8 +3309,12 @@ const zh = {
|
|
|
3117
3309
|
noPendingApprovals: '暂无待审批事项',
|
|
3118
3310
|
openApprovalsInbox: '打开审批中心',
|
|
3119
3311
|
badgeTotal: '共 {{total}} 项',
|
|
3120
|
-
badgeNotifications: '{{
|
|
3121
|
-
|
|
3312
|
+
badgeNotifications: '{{count}} 条通知',
|
|
3313
|
+
badgeNotifications_one: '{{count}} 条通知',
|
|
3314
|
+
badgeNotifications_other: '{{count}} 条通知',
|
|
3315
|
+
badgeApprovals: '{{count}} 条待审批',
|
|
3316
|
+
badgeApprovals_one: '{{count}} 条待审批',
|
|
3317
|
+
badgeApprovals_other: '{{count}} 条待审批',
|
|
3122
3318
|
arrivalMany: '{{count}} 条新消息',
|
|
3123
3319
|
arrivalMany_one: '{{count}} 条新消息',
|
|
3124
3320
|
arrivalMany_other: '{{count}} 条新消息',
|
|
@@ -3160,10 +3356,10 @@ const zh = {
|
|
|
3160
3356
|
body: 'MCP 服务已关闭(OS_MCP_SERVER_ENABLED=false),暂无可连接的端点。请联系运维人员重新启用。',
|
|
3161
3357
|
},
|
|
3162
3358
|
url: {
|
|
3163
|
-
title: '
|
|
3359
|
+
title: '本系统的 MCP 端点',
|
|
3164
3360
|
body: '任何支持 MCP 的 AI 客户端都用这个 URL 连接。身份是自助的:部署自身就是 OAuth 2.1 授权服务器,交互式客户端只需在浏览器登录——以你自己的身份连接,每次调用都受你的权限和行级安全约束。',
|
|
3165
3361
|
downloadSkill: '下载 SKILL.md',
|
|
3166
|
-
skillHint: '
|
|
3362
|
+
skillHint: '可移植的智能体技能文件:教会任何支持技能的智能体如何使用本系统。',
|
|
3167
3363
|
},
|
|
3168
3364
|
claude: {
|
|
3169
3365
|
body: '设置 → 连接器 → 添加自定义连接器,粘贴此 URL,按提示在浏览器登录。',
|
|
@@ -3206,15 +3402,8 @@ const zh = {
|
|
|
3206
3402
|
importAction: '导入',
|
|
3207
3403
|
dismiss: '忽略',
|
|
3208
3404
|
},
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
hintReady: '你的生产环境已就绪。打开它来搭建和运行应用——这些都在环境内部进行。',
|
|
3212
|
-
createEnvironment: '创建你的环境',
|
|
3213
|
-
openProduction: '打开生产环境',
|
|
3214
|
-
manageEnvironments: '管理环境',
|
|
3215
|
-
},
|
|
3216
|
-
cloudPlanStatus: {
|
|
3217
|
-
current: '当前套餐',
|
|
3405
|
+
cloudWorkspaceTimezoneNotice: {
|
|
3406
|
+
seeded: '环境时区在创建时已按你的浏览器设为 {{zone}},可在「设置 → 本地化」中修改。',
|
|
3218
3407
|
},
|
|
3219
3408
|
ai: {
|
|
3220
3409
|
nlQuery: {
|
|
@@ -3291,8 +3480,8 @@ const zh = {
|
|
|
3291
3480
|
rowConversational: 'Build / Ask 模型',
|
|
3292
3481
|
rowStructured: '结构化(蓝图 / 种子)',
|
|
3293
3482
|
rowReasoning: '推理强度',
|
|
3294
|
-
readFailed: '无法读取有效 AI
|
|
3295
|
-
readFailedWithStatus: '无法读取有效 AI 模型(HTTP {{status}}
|
|
3483
|
+
readFailed: '无法读取有效 AI 模型。本系统可能未运行 AI 服务,或你没有 ai:read 权限。',
|
|
3484
|
+
readFailedWithStatus: '无法读取有效 AI 模型(HTTP {{status}})。本系统可能未运行 AI 服务,或你没有 ai:read 权限。',
|
|
3296
3485
|
overridesInEffect: '生效的 env 覆盖:',
|
|
3297
3486
|
noOverrides: '无 —— 跑的是部署代码的默认值。',
|
|
3298
3487
|
adapter: '适配器:',
|
|
@@ -3310,9 +3499,13 @@ const zh = {
|
|
|
3310
3499
|
// against). `humanizeToolName` looks each up as
|
|
3311
3500
|
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3312
3501
|
// title-caser for a custom / third-party tool, so a name
|
|
3313
|
-
// missing here is degraded, never broken.
|
|
3314
|
-
//
|
|
3315
|
-
//
|
|
3502
|
+
// missing here is degraded, never broken. Every value, `en`
|
|
3503
|
+
// included, is a short sentence in the pack's language
|
|
3504
|
+
// saying what the step does (cloud#2927 Target 3, ruled
|
|
3505
|
+
// 「同意」; objectui#12724): never the tool id, and never
|
|
3506
|
+
// the title-caser's output for it, which is how the step
|
|
3507
|
+
// reads for a tool the pack has no entry for.
|
|
3508
|
+
// `toolLabels-locale-parity-7481` holds both.
|
|
3316
3509
|
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3317
3510
|
// set for both surfaces (they used to carry separate
|
|
3318
3511
|
// tables and disagreed on casing).
|
|
@@ -3330,42 +3523,48 @@ const zh = {
|
|
|
3330
3523
|
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3331
3524
|
// against the registry instead of against its own hand-held list.
|
|
3332
3525
|
chatbot: {
|
|
3526
|
+
answer: {
|
|
3527
|
+
showFull: '展开全文',
|
|
3528
|
+
collapse: '收起',
|
|
3529
|
+
expandTable: '展开',
|
|
3530
|
+
exitExpandedTable: '关闭',
|
|
3531
|
+
},
|
|
3333
3532
|
tool: {
|
|
3334
|
-
aggregate_data: '
|
|
3335
|
-
get_record: '
|
|
3336
|
-
query_data: '
|
|
3337
|
-
query_records: '
|
|
3338
|
-
search_knowledge: '
|
|
3339
|
-
visualize_data: '
|
|
3340
|
-
add_field: '
|
|
3341
|
-
apply_blueprint: '
|
|
3342
|
-
apply_edit: '
|
|
3343
|
-
create_metadata: '
|
|
3344
|
-
create_object: '
|
|
3345
|
-
create_package: '
|
|
3346
|
-
create_seed: '
|
|
3347
|
-
delete_field: '
|
|
3348
|
-
describe_metadata: '
|
|
3349
|
-
describe_object: '
|
|
3350
|
-
get_active_package: '
|
|
3351
|
-
get_authoring_rules: '
|
|
3352
|
-
get_metadata_schema: '
|
|
3353
|
-
get_package: '
|
|
3354
|
-
list_metadata: '
|
|
3355
|
-
list_objects: '
|
|
3356
|
-
list_packages: '
|
|
3357
|
-
load_tools: '
|
|
3358
|
-
modify_field: '
|
|
3359
|
-
open_record: '
|
|
3360
|
-
propose_blueprint: '
|
|
3361
|
-
set_active_package: '
|
|
3362
|
-
suggest_builder: '
|
|
3363
|
-
test_flow: '
|
|
3364
|
-
todo_write: '
|
|
3365
|
-
toggle_flow: '
|
|
3366
|
-
update_metadata: '
|
|
3367
|
-
validate_expression: '
|
|
3368
|
-
verify_build: '
|
|
3533
|
+
aggregate_data: '汇总相关数据',
|
|
3534
|
+
get_record: '读取这条记录',
|
|
3535
|
+
query_data: '查询所需数据',
|
|
3536
|
+
query_records: '查找相关记录',
|
|
3537
|
+
search_knowledge: '在知识库中查找',
|
|
3538
|
+
visualize_data: '把数据画成图表',
|
|
3539
|
+
add_field: '给对象添加字段',
|
|
3540
|
+
apply_blueprint: '按方案搭建应用',
|
|
3541
|
+
apply_edit: '应用这次修改',
|
|
3542
|
+
create_metadata: '新建一项元数据',
|
|
3543
|
+
create_object: '新建一个对象',
|
|
3544
|
+
create_package: '新建一个应用包',
|
|
3545
|
+
create_seed: '为对象生成示例数据',
|
|
3546
|
+
delete_field: '删除一个字段',
|
|
3547
|
+
describe_metadata: '查看元数据的内容',
|
|
3548
|
+
describe_object: '查看对象的结构',
|
|
3549
|
+
get_active_package: '确认当前应用包',
|
|
3550
|
+
get_authoring_rules: '查阅编写规范',
|
|
3551
|
+
get_metadata_schema: '查阅元数据的格式',
|
|
3552
|
+
get_package: '查看应用包信息',
|
|
3553
|
+
list_metadata: '列出已有元数据',
|
|
3554
|
+
list_objects: '列出已有对象',
|
|
3555
|
+
list_packages: '列出已有应用包',
|
|
3556
|
+
load_tools: '加载更多工具',
|
|
3557
|
+
modify_field: '修改一个字段',
|
|
3558
|
+
open_record: '打开这条记录',
|
|
3559
|
+
propose_blueprint: '拟定应用方案',
|
|
3560
|
+
set_active_package: '切换到目标应用包',
|
|
3561
|
+
suggest_builder: '建议改用 AI 搭建',
|
|
3562
|
+
test_flow: '试运行流程',
|
|
3563
|
+
todo_write: '记下后续检查项',
|
|
3564
|
+
toggle_flow: '启用或停用流程',
|
|
3565
|
+
update_metadata: '更新一项元数据',
|
|
3566
|
+
validate_expression: '检查表达式是否有效',
|
|
3567
|
+
verify_build: '核对搭建结果',
|
|
3369
3568
|
},
|
|
3370
3569
|
toolState: {
|
|
3371
3570
|
agentActivity: '智能体活动',
|
|
@@ -3378,6 +3577,15 @@ const zh = {
|
|
|
3378
3577
|
denied: '已拒绝',
|
|
3379
3578
|
failed: '失败',
|
|
3380
3579
|
},
|
|
3580
|
+
phase: {
|
|
3581
|
+
build: '搭建',
|
|
3582
|
+
design: '设计方案',
|
|
3583
|
+
stepCount: '{{count}} 步',
|
|
3584
|
+
stepCount_one: '{{count}} 步',
|
|
3585
|
+
stepCount_other: '{{count}} 步',
|
|
3586
|
+
expand: '展开步骤',
|
|
3587
|
+
collapse: '收起步骤',
|
|
3588
|
+
},
|
|
3381
3589
|
plan: {
|
|
3382
3590
|
countObjects: '{{count}} 个对象',
|
|
3383
3591
|
countObjects_one: '{{count}} 个对象',
|
|
@@ -3389,10 +3597,17 @@ const zh = {
|
|
|
3389
3597
|
countDashboards_one: '{{count}} 个仪表板',
|
|
3390
3598
|
countDashboards_other: '{{count}} 个仪表板',
|
|
3391
3599
|
countSeedData: '示例数据',
|
|
3600
|
+
extendTarget: '添加到现有应用:{{app}}',
|
|
3601
|
+
awaitingConfirm: '等待确认',
|
|
3602
|
+
objectsAndFields: '对象与字段',
|
|
3603
|
+
views: '视图',
|
|
3604
|
+
suggestedField: '补充',
|
|
3605
|
+
nameField: '名称:{{field}}',
|
|
3392
3606
|
},
|
|
3393
3607
|
build: {
|
|
3394
3608
|
building: '正在构建{{app}}…',
|
|
3395
3609
|
built: '已构建{{app}}',
|
|
3610
|
+
builtAndLive: '已搭建并上线 · {{app}}',
|
|
3396
3611
|
appFallback: '你的应用',
|
|
3397
3612
|
addingSampleData: '正在添加示例数据',
|
|
3398
3613
|
group: {
|
|
@@ -3403,6 +3618,43 @@ const zh = {
|
|
|
3403
3618
|
seed: '示例数据',
|
|
3404
3619
|
},
|
|
3405
3620
|
moreArtifacts: '+{{n}} 个',
|
|
3621
|
+
verifying: '正在检查改动…',
|
|
3622
|
+
verifyStep: '第 {{n}} 步',
|
|
3623
|
+
verified: '已检查改动',
|
|
3624
|
+
unknownPhase: '未知的构建阶段',
|
|
3625
|
+
nextStepsLead: '接下来可以说:{{steps}}',
|
|
3626
|
+
nextStepQuote: '「{{step}}」',
|
|
3627
|
+
draftPosture: '之后的修改先存草稿,由你在 Studio 发布。',
|
|
3628
|
+
checksPassed: '核对通过 {{passed}}/{{total}}',
|
|
3629
|
+
},
|
|
3630
|
+
changes: {
|
|
3631
|
+
planTitle: '修改方案 · {{count}} 项',
|
|
3632
|
+
planTitle_one: '修改方案 · {{count}} 项',
|
|
3633
|
+
planTitle_other: '修改方案 · {{count}} 项',
|
|
3634
|
+
saveDraft: '存为草稿',
|
|
3635
|
+
reviewAndPublish: '查看变更并发布',
|
|
3636
|
+
undo: '撤销',
|
|
3637
|
+
undoWithOthers: '撤销(连同另外 {{count}} 项草稿)',
|
|
3638
|
+
undoWithOthers_one: '撤销(连同另外 {{count}} 项草稿)',
|
|
3639
|
+
undoWithOthers_other: '撤销(连同另外 {{count}} 项草稿)',
|
|
3640
|
+
undoConfirm: '撤销会丢弃这个应用包全部 {{total}} 项未发布的草稿,其中 {{count}} 项不属于这次修改。',
|
|
3641
|
+
undoConfirm_one: '撤销会丢弃这个应用包全部 {{total}} 项未发布的草稿,其中 {{count}} 项不属于这次修改。',
|
|
3642
|
+
undoConfirm_other: '撤销会丢弃这个应用包全部 {{total}} 项未发布的草稿,其中 {{count}} 项不属于这次修改。',
|
|
3643
|
+
undoConfirmUnknown: '撤销会丢弃这个应用包里全部未发布的草稿,不只是这次修改。',
|
|
3644
|
+
undoConfirmAction: '全部撤销',
|
|
3645
|
+
undoCancel: '取消',
|
|
3646
|
+
undoing: '正在撤销…',
|
|
3647
|
+
undone: '已撤销',
|
|
3648
|
+
undoFailed: '撤销失败',
|
|
3649
|
+
kind: {
|
|
3650
|
+
field: '字段',
|
|
3651
|
+
object: '对象',
|
|
3652
|
+
view: '视图',
|
|
3653
|
+
dashboard: '仪表板',
|
|
3654
|
+
app: '应用',
|
|
3655
|
+
seed: '示例数据',
|
|
3656
|
+
package: '应用包',
|
|
3657
|
+
},
|
|
3406
3658
|
},
|
|
3407
3659
|
},
|
|
3408
3660
|
chatbotError: {
|
|
@@ -3418,10 +3670,13 @@ const zh = {
|
|
|
3418
3670
|
buyCredits: '购买额度包',
|
|
3419
3671
|
upgradePlan: '升级方案',
|
|
3420
3672
|
},
|
|
3673
|
+
planTier: {
|
|
3674
|
+
teamAndUp: '团队版起',
|
|
3675
|
+
},
|
|
3421
3676
|
environment: {
|
|
3422
|
-
addEnvironment: '新建环境',
|
|
3423
3677
|
setUpProduction: '创建你的生产环境',
|
|
3424
3678
|
addDevelopment: '新建开发环境',
|
|
3679
|
+
developmentLocked: '开发环境 · {{tier}}',
|
|
3425
3680
|
entitlement: {
|
|
3426
3681
|
productionLimitTitle: '你已经有生产环境了',
|
|
3427
3682
|
productionLimitBody: '每个组织只包含一个生产环境。如果还需要,可以新建一个组织,或者联系我们了解企业版方案。',
|
|
@@ -3468,7 +3723,7 @@ const zh = {
|
|
|
3468
3723
|
},
|
|
3469
3724
|
unbound: {
|
|
3470
3725
|
title: '未连接',
|
|
3471
|
-
body: '
|
|
3726
|
+
body: '此运行时尚未连接到控制平面。点击「连接」会在新窗口中打开你的云账户,只需点击一次即可批准连接——无需在本页面输入任何 ID 或凭据。',
|
|
3472
3727
|
connect: '连接',
|
|
3473
3728
|
},
|
|
3474
3729
|
},
|
|
@@ -3485,21 +3740,26 @@ const zh = {
|
|
|
3485
3740
|
noMatchFilters: '没有应用匹配当前筛选条件。',
|
|
3486
3741
|
noDescription: '未提供描述。',
|
|
3487
3742
|
back: '返回应用市场',
|
|
3488
|
-
installedTitle: '已安装的应用',
|
|
3489
|
-
installedSubtitle: '当前已安装到本运行时内核的应用市场软件包。缓存的清单文件位于 <code>.objectstack/installed-packages/</code>,重启后仍然保留。',
|
|
3490
|
-
installedEmpty: '本运行时尚未安装任何应用市场应用。',
|
|
3491
3743
|
browseLink: '去应用市场看看 →',
|
|
3492
|
-
installedAdditiveNote: '
|
|
3493
|
-
installedAt: '安装于 {{when}}',
|
|
3494
|
-
installedBy: '由 {{user}}',
|
|
3495
|
-
installedPackageId: '包',
|
|
3496
|
-
cachedAs: '缓存为 <code>{{path}}</code>',
|
|
3744
|
+
installedAdditiveNote: '卸载会立即将该应用从运行中的内核中移除,其权限集及相应授权也一并移除;同时删除缓存的清单,下次启动时不再加载该包。其对象中已存储的记录仍保留在数据库中。',
|
|
3497
3745
|
versionBadge: 'v{{version}}',
|
|
3498
3746
|
installedBadge: '已安装 v{{version}}',
|
|
3747
|
+
// objectui#11645 — an install-local entry this runtime refused to load at
|
|
3748
|
+
// startup (the listing's `notLoaded` marker), read on Installed Apps.
|
|
3749
|
+
notLoaded: {
|
|
3750
|
+
badge: '未加载',
|
|
3751
|
+
protocolIncompatible: '本运行时未加载此包:它面向协议 {{requiredRange}},而本运行时不支持该协议。',
|
|
3752
|
+
otherReason: '本运行时未加载此包({{code}})。',
|
|
3753
|
+
},
|
|
3499
3754
|
load: {
|
|
3500
3755
|
failed: '应用市场加载失败',
|
|
3501
3756
|
failedHintConfigured: '本运行时通过 {{url}} 上的控制面访问应用市场。请检查该地址是否在线、能否从本运行时访问。',
|
|
3502
|
-
failedHintSameOrigin: '
|
|
3757
|
+
failedHintSameOrigin: '应用市场目录通过本运行时访问。请检查运行时是否在线、能否访问该目录。',
|
|
3758
|
+
loading: '正在加载应用市场目录…',
|
|
3759
|
+
slow: '仍在加载 —— 应用市场目录响应缓慢。',
|
|
3760
|
+
retry: '重试',
|
|
3761
|
+
unreachable: '无法访问应用市场目录。',
|
|
3762
|
+
answeredError: '应用市场目录返回了错误(HTTP {{status}})。',
|
|
3503
3763
|
packageFailed: '应用加载失败',
|
|
3504
3764
|
notFound: '未找到。',
|
|
3505
3765
|
},
|
|
@@ -3541,6 +3801,7 @@ const zh = {
|
|
|
3541
3801
|
installToCloud: '安装到云端…',
|
|
3542
3802
|
installed: '已安装',
|
|
3543
3803
|
installing: '安装中…',
|
|
3804
|
+
updating: '更新中…',
|
|
3544
3805
|
uninstall: '卸载',
|
|
3545
3806
|
uninstalling: '卸载中…',
|
|
3546
3807
|
details: '详情',
|
|
@@ -3558,15 +3819,45 @@ const zh = {
|
|
|
3558
3819
|
environmentPlaceholder: '选择一个环境',
|
|
3559
3820
|
includeSampleData: '包含示例数据',
|
|
3560
3821
|
noEnvs: '当前组织没有可用的环境。',
|
|
3561
|
-
noPermission: '你没有权限在任何环境中安装应用。仅组织所有者和管理员可以安装 —
|
|
3822
|
+
noPermission: '你没有权限在任何环境中安装应用。仅组织所有者和管理员可以安装 — 请联系你的组织管理员。',
|
|
3562
3823
|
signInFirst: '请先登录 ObjectStack Cloud,然后点击下方"在云端打开"。',
|
|
3563
3824
|
success: '安装成功。打开环境即可看到新应用。',
|
|
3564
3825
|
localSuccess: '已将 v{{version}} 安装到本运行时。"{{name}}" 应该已经出现在应用切换器中。',
|
|
3826
|
+
localLoadsAtRestart: '已将 v{{version}} 安装到本运行时。"{{name}}" 将在运行时下次重启时加载,在此之前不会出现在应用切换器中。',
|
|
3565
3827
|
localManifestConflict: '{{message}}\n提示:本地已有应用占用此 manifest_id,请先从 objectstack.config.ts 中移除。',
|
|
3566
3828
|
localUnauthorized: '请先登录本运行时再试。',
|
|
3567
3829
|
localMarketplaceUnavailable: '本运行时未配置 OS_CLOUD_URL,无法访问应用市场目录。',
|
|
3568
3830
|
updateTo: '更新 → v{{version}}',
|
|
3569
3831
|
installedVersion: '已安装 v{{version}}',
|
|
3832
|
+
deploying: '正在部署应用…',
|
|
3833
|
+
deployed: '应用已部署完成。',
|
|
3834
|
+
openApp: '打开 {{name}}',
|
|
3835
|
+
deployTimeout: '安装已记录,但当前环境尚未提供该应用。它可能仍在部署中,请稍后再次检查。如果一直没有出现,可能是软件包未能加载、不包含应用,或其应用需要你尚未拥有的权限。',
|
|
3836
|
+
checkAgain: '再次检查',
|
|
3837
|
+
// ADR-0131 D6 — the install modes a package's manifest permits, and
|
|
3838
|
+
// what an unmanaged install answers (MarketplacePackagePage).
|
|
3839
|
+
mode: {
|
|
3840
|
+
label: '安装方式',
|
|
3841
|
+
managed: '托管',
|
|
3842
|
+
managedHint: '软件包保持权威:以代码形式注册并接收其升级,其中的条目不在此处编辑。',
|
|
3843
|
+
unmanaged: '非托管副本',
|
|
3844
|
+
unmanagedHint: '一次性复制到本运行时,成为它自己的元数据:每个条目都可在此编辑,副本不再接收升级。',
|
|
3845
|
+
required: '请先选择安装方式,再安装此软件包。',
|
|
3846
|
+
},
|
|
3847
|
+
unmanagedSuccess: '已将 "{{name}}" 的 v{{version}} 复制到本运行时,成为它自己的元数据,位于基础包 {{base}} 中。副本可编辑,且不再接收升级。',
|
|
3848
|
+
unmanagedStrippedLocks: '软件包锁定了以下条目。副本可编辑,因此这些锁未被复制:',
|
|
3849
|
+
unmanagedIgnored: '本运行时不支持非托管安装,因此 "{{name}}" 以托管方式安装(以代码形式注册),而不是被复制。请先升级运行时,然后卸载该软件包,再以非托管副本重新安装。',
|
|
3850
|
+
},
|
|
3851
|
+
// objectui#12146 — the install dialog opened as an UPDATE of the copy
|
|
3852
|
+
// this environment holds (MarketplacePackagePage).
|
|
3853
|
+
update: {
|
|
3854
|
+
dialogTitle: '更新 {{name}}',
|
|
3855
|
+
dialogDescCurrent: '更新当前环境({{host}})中已安装的应用。',
|
|
3856
|
+
dialogDescPicker: '选择要更新已安装应用的环境。需要先登录 ObjectStack Cloud。',
|
|
3857
|
+
majorNotice: '这是一次主版本更新(v{{fromMajor}} → v{{toMajor}}),可能包含不兼容的变更。',
|
|
3858
|
+
releaseNotes: '查看 v{{version}} 的版本说明',
|
|
3859
|
+
success: '已更新到 v{{version}}。',
|
|
3860
|
+
deployTimeout: '更新已记录,但当前环境尚未提供 v{{version}}。可能仍在部署中,请稍后再次检查。',
|
|
3570
3861
|
},
|
|
3571
3862
|
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
3572
3863
|
org: {
|
|
@@ -3608,11 +3899,20 @@ const zh = {
|
|
|
3608
3899
|
dismiss: '忽略',
|
|
3609
3900
|
confirmedToast: '「{{set}}」已授予 {{anchor}}。',
|
|
3610
3901
|
dismissedToast: '已忽略「{{set}}」的建议。',
|
|
3902
|
+
guestUnsupported: '此处无法授予:Guest 岗位的权限集不由已接受的建议派生。',
|
|
3903
|
+
acceptedState: '「{{set}}」已为所有已登录用户(Everyone 岗位)接受。',
|
|
3904
|
+
notInForceState: '「{{set}}」已接受,但尚未生效:本次请求未改变 Everyone 岗位。原因见服务器日志。',
|
|
3905
|
+
dismissedState: '「{{set}}」未授予:该建议已被忽略或撤销。',
|
|
3906
|
+
revoke: '撤销',
|
|
3907
|
+
revoking: '撤销中…',
|
|
3908
|
+
revokedToast: '已撤销对「{{set}}」的接受。',
|
|
3611
3909
|
},
|
|
3612
3910
|
uninstall: {
|
|
3613
|
-
confirm: '从本运行时卸载 {{manifestId}} v{{version}}?\n\n
|
|
3614
|
-
successInList: '已移除 {{manifestId}}
|
|
3615
|
-
successInDetail: '已移除 {{manifestId}}
|
|
3911
|
+
confirm: '从本运行时卸载 {{manifestId}} v{{version}}?\n\n该应用将立即从运行中的内核中移除,其权限集及相应授权也一并移除,缓存的清单也将被删除。其对象中已存储的记录仍保留在数据库中。',
|
|
3912
|
+
successInList: '已移除 {{manifestId}}:该应用已从运行中的内核中移除,其权限集及相应授权也已一并移除。其对象中已存储的记录仍保留在数据库中。',
|
|
3913
|
+
successInDetail: '已移除 {{manifestId}} 及其清单缓存:该应用已从运行中的内核中移除,其权限集及相应授权也已一并移除。其对象中已存储的记录仍保留在数据库中。',
|
|
3914
|
+
confirmNotLoaded: '从本运行时卸载 {{manifestId}} v{{version}}?\n\n磁盘上的清单缓存将被移除。本运行时并未加载该包,因此它没有任何部分在运行。',
|
|
3915
|
+
successNotLoaded: '已移除 {{manifestId}}。该包未被加载,无需重启运行时。',
|
|
3616
3916
|
},
|
|
3617
3917
|
accessDenied: {
|
|
3618
3918
|
title: '应用市场仅限管理员使用',
|
|
@@ -3688,6 +3988,7 @@ const zh = {
|
|
|
3688
3988
|
progressEligible_other: '{{count}} 位可审批人',
|
|
3689
3989
|
progressBar: '决策进度',
|
|
3690
3990
|
declaredActions: '操作',
|
|
3991
|
+
decisionPanelOffRequestPage: '审批决策面板仅在审批请求页面上可用。',
|
|
3691
3992
|
attachmentChip: '附件',
|
|
3692
3993
|
attachmentOpenFailed: '无法打开附件,请重试',
|
|
3693
3994
|
approveOneTitle: '通过“{{title}}”?',
|
|
@@ -3753,6 +4054,9 @@ const zh = {
|
|
|
3753
4054
|
emptyPending: '全部处理完毕,没有等待你审批的请求。',
|
|
3754
4055
|
emptyOther: '这里还没有内容。',
|
|
3755
4056
|
emptyViewAll: '查看全部请求',
|
|
4057
|
+
waitingOnOthers: '{{count}} 个申请正在等待其他审批人',
|
|
4058
|
+
waitingOnOthers_one: '{{count}} 个申请正在等待其他审批人',
|
|
4059
|
+
waitingOnOthers_other: '{{count}} 个申请正在等待其他审批人',
|
|
3756
4060
|
noMatches: '没有符合当前筛选条件的请求。',
|
|
3757
4061
|
keyboardHint: '快捷键:j/k 移动 · Enter 打开 · x 选择 · a 通过 · r 拒绝',
|
|
3758
4062
|
drawerTitle: '审批请求',
|
|
@@ -3770,12 +4074,12 @@ const zh = {
|
|
|
3770
4074
|
overrideActionLabel: '越权{{action}}',
|
|
3771
4075
|
overrideNotice: '你在该步骤没有审批人席位。继续将使用管理员越权:该步骤会立即结案,尚未表态的审批人都会被跳过。此决定将记录为管理员越权。',
|
|
3772
4076
|
overrideNoticeWho: '你在该步骤没有审批人席位。继续将使用管理员越权:该步骤会立即结案,并跳过尚未表态的审批人 —— {{who}}。此决定将记录为管理员越权。',
|
|
4077
|
+
overrideReassignNotice: '你在该步骤没有审批人席位。继续将使用管理员越权:该步骤会转签给你选择的新审批人,取代所有尚未表态的审批人。请求保持待审批状态,等待新审批人处理。此次转签将记录为管理员越权。',
|
|
4078
|
+
overrideReassignNoticeWho: '你在该步骤没有审批人席位。继续将使用管理员越权:该步骤会转签给你选择的新审批人,取代尚未表态的审批人 —— {{who}}。请求保持待审批状态,等待新审批人处理。此次转签将记录为管理员越权。',
|
|
4079
|
+
overrideRecallNotice: '这不是你发起的请求。继续将使用管理员越权:该请求会被撤回,尚未表态的审批人都将无法再处理它,记录随即解锁。',
|
|
4080
|
+
overrideRecallNoticeWho: '这不是你发起的请求。继续将使用管理员越权:该请求会被撤回,记录随即解锁,尚未表态的审批人将无法再处理它 —— {{who}}。',
|
|
3773
4081
|
viaOverrideChip: '管理员越权',
|
|
3774
4082
|
viaOverrideHint: '操作者在该步骤没有审批人席位 —— 经管理员越权通道进入。',
|
|
3775
|
-
rawData: '原始数据(JSON)',
|
|
3776
|
-
copy: '复制',
|
|
3777
|
-
copied: '已复制',
|
|
3778
|
-
copyFailed: '复制失败',
|
|
3779
4083
|
overrideActor: '以其他身份操作(管理员)',
|
|
3780
4084
|
actor: '操作身份',
|
|
3781
4085
|
auto: '自动',
|
|
@@ -3882,6 +4186,10 @@ const zh = {
|
|
|
3882
4186
|
exists: '已设置',
|
|
3883
4187
|
notExists: '未设置',
|
|
3884
4188
|
},
|
|
4189
|
+
emptyCheckHint: {
|
|
4190
|
+
text: '「{{isEmpty}}」也匹配空白文本;「{{isNull}}」只匹配没有值的记录。',
|
|
4191
|
+
list: '「{{isEmpty}}」也匹配空列表;「{{isNull}}」只匹配没有值的记录。',
|
|
4192
|
+
},
|
|
3885
4193
|
},
|
|
3886
4194
|
sortBuilder: {
|
|
3887
4195
|
sortBy: '排序依据',
|
|
@@ -3992,6 +4300,8 @@ const zh = {
|
|
|
3992
4300
|
setDefaultFailed: '设置默认应用失败:{{reason}}',
|
|
3993
4301
|
appDeleted: '{{name}} 已删除',
|
|
3994
4302
|
deleteFailed: '删除应用失败:{{reason}}',
|
|
4303
|
+
nothingToDelete: '{{name}} 无可删除:{{reason}}',
|
|
4304
|
+
alreadyAtDefault: '它已是其软件包的默认状态',
|
|
3995
4305
|
bulkEnabled: '已启用 {{n}} 个应用',
|
|
3996
4306
|
bulkDisabled: '已停用 {{n}} 个应用',
|
|
3997
4307
|
bulkFailed: '{{n}} 个失败:{{details}}',
|
|
@@ -4016,6 +4326,7 @@ const zh = {
|
|
|
4016
4326
|
toggleLabel: '{{label}} 的启用状态',
|
|
4017
4327
|
on: '已启用',
|
|
4018
4328
|
off: '已关闭',
|
|
4329
|
+
notRunning: '未在此运行',
|
|
4019
4330
|
clone: '克隆',
|
|
4020
4331
|
cloneTitle: '克隆打包流程',
|
|
4021
4332
|
cloneBody: '副本会带上完整定义,并需要新的机器名和标签。请在 Studio 中编辑副本。',
|
|
@@ -4024,6 +4335,9 @@ const zh = {
|
|
|
4024
4335
|
cancel: '取消',
|
|
4025
4336
|
cloneConfirm: '创建克隆',
|
|
4026
4337
|
cloneCreated: '已创建流程「{{name}}」。',
|
|
4338
|
+
cloneSwitchSourceOff: '停用「{{label}}」',
|
|
4339
|
+
cloneSourceOff: '打包流程「{{label}}」已停用。',
|
|
4340
|
+
cloneOpen: '在 Studio 中打开副本',
|
|
4027
4341
|
emptyTitle: '没有打包流程',
|
|
4028
4342
|
emptyBody: '本部署中没有任何已安装软件包提供自动化流程。你自己编写的流程在 Studio 中。',
|
|
4029
4343
|
loadFailed: '无法加载打包自动化。',
|
|
@@ -4031,6 +4345,7 @@ const zh = {
|
|
|
4031
4345
|
toggleFailed: '无法更改启用状态。',
|
|
4032
4346
|
cloneFailedHttp: '无法克隆此流程(HTTP {{status}})。',
|
|
4033
4347
|
cloneFailed: '无法克隆此流程。',
|
|
4348
|
+
reasonDetails: '详情',
|
|
4034
4349
|
actionsSubtitle: '由已安装软件包提供的动作。在本部署中关闭后,它在所有提供它的位置都不再运行。你仍然可以在 Studio 中另行编写自己的动作。',
|
|
4035
4350
|
colAction: '动作',
|
|
4036
4351
|
colObject: '对象',
|
|
@@ -4041,7 +4356,84 @@ const zh = {
|
|
|
4041
4356
|
},
|
|
4042
4357
|
element: {
|
|
4043
4358
|
number: {
|
|
4044
|
-
noObject: '未指定对象:请设置
|
|
4359
|
+
noObject: '未指定对象:请设置 dataSource.object。',
|
|
4360
|
+
sourceUnresolved: '无法解析此指标的数据源',
|
|
4361
|
+
},
|
|
4362
|
+
image: {
|
|
4363
|
+
noSource: '无图片来源',
|
|
4364
|
+
},
|
|
4365
|
+
recordPicker: {
|
|
4366
|
+
sourceUnresolved: '无法解析此记录选择器的数据源',
|
|
4367
|
+
},
|
|
4368
|
+
calendar: {
|
|
4369
|
+
sourceUnresolved: '无法解析此日历的数据源',
|
|
4370
|
+
},
|
|
4371
|
+
chart: {
|
|
4372
|
+
sourceUnresolved: '无法解析此图表的数据源',
|
|
4373
|
+
},
|
|
4374
|
+
pivotTable: {
|
|
4375
|
+
sourceUnresolved: '无法解析此数据透视表的数据源',
|
|
4376
|
+
},
|
|
4377
|
+
detailView: {
|
|
4378
|
+
sourceUnresolved: '无法解析此详情视图的数据源',
|
|
4379
|
+
},
|
|
4380
|
+
relatedList: {
|
|
4381
|
+
sourceUnresolved: '无法解析此相关列表的数据源',
|
|
4382
|
+
parentUnreadable: '无法读取此相关列表的父记录',
|
|
4383
|
+
},
|
|
4384
|
+
form: {
|
|
4385
|
+
sourceUnresolved: '无法解析此表单的数据源',
|
|
4386
|
+
},
|
|
4387
|
+
lineItems: {
|
|
4388
|
+
sourceUnresolved: '无法解析此明细行面板的数据源',
|
|
4389
|
+
},
|
|
4390
|
+
gantt: {
|
|
4391
|
+
sourceUnresolved: '无法解析此甘特图的数据源',
|
|
4392
|
+
},
|
|
4393
|
+
grid: {
|
|
4394
|
+
sourceUnresolved: '无法解析此表格的数据源',
|
|
4395
|
+
},
|
|
4396
|
+
board: {
|
|
4397
|
+
sourceUnresolved: '无法解析此看板的数据源',
|
|
4398
|
+
},
|
|
4399
|
+
listView: {
|
|
4400
|
+
sourceUnresolved: '无法解析此列表视图的数据源',
|
|
4401
|
+
},
|
|
4402
|
+
map: {
|
|
4403
|
+
sourceUnresolved: '无法解析此地图的数据源',
|
|
4404
|
+
},
|
|
4405
|
+
timeline: {
|
|
4406
|
+
sourceUnresolved: '无法解析此时间线的数据源',
|
|
4407
|
+
},
|
|
4408
|
+
component: {
|
|
4409
|
+
sourceUnresolved: '无法解析此组件的数据源',
|
|
4410
|
+
noDataSource: '未解析到数据源',
|
|
4411
|
+
apiRefused: '此组件的 API 数据源被拒绝',
|
|
4412
|
+
apiUnreadable: '无法读取此组件的 API 数据源',
|
|
4413
|
+
},
|
|
4414
|
+
metadataViewer: {
|
|
4415
|
+
missingKey: '此视图缺少 {{key}}。',
|
|
4416
|
+
loading: '正在加载 {{name}}…',
|
|
4417
|
+
loadFailed: '加载 {{name}} 失败:{{message}}',
|
|
4418
|
+
notFound: '未找到 {{name}}。',
|
|
4419
|
+
stateMachine: '状态机',
|
|
4420
|
+
flow: '流程',
|
|
4421
|
+
permission: '权限',
|
|
4422
|
+
noStateMachine: '{{object}} 上没有状态机。',
|
|
4423
|
+
noStateMachineNamed: '{{object}} 上没有名为“{{name}}”的状态机。',
|
|
4424
|
+
lifecycle: '{{object}} 的生命周期',
|
|
4425
|
+
field: '字段 {{field}}',
|
|
4426
|
+
initial: '初始',
|
|
4427
|
+
final: '终态',
|
|
4428
|
+
steps: '步骤:{{count}}',
|
|
4429
|
+
noSteps: '没有可显示的步骤。',
|
|
4430
|
+
untitledStep: '(步骤)',
|
|
4431
|
+
hiddenSteps: '已隐藏技术步骤:{{count}} · 设置 {{setting}} 以显示全部',
|
|
4432
|
+
objectAccess: '对象访问:{{count}}',
|
|
4433
|
+
noPermissions: '未声明对象权限。',
|
|
4434
|
+
object: '对象',
|
|
4435
|
+
unknownType: '未知的元数据视图类型。应为 {{a}}、{{b}} 或 {{c}}。',
|
|
4436
|
+
unknownTypeNamed: '未知的元数据视图类型“{{type}}”。应为 {{a}}、{{b}} 或 {{c}}。',
|
|
4045
4437
|
},
|
|
4046
4438
|
},
|
|
4047
4439
|
};
|