@object-ui/i18n 11.3.0 → 11.5.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 +58 -0
- package/dist/locales/ar.d.ts +13 -0
- package/dist/locales/ar.js +13 -0
- package/dist/locales/de.d.ts +13 -0
- package/dist/locales/de.js +13 -0
- package/dist/locales/en.d.ts +65 -0
- package/dist/locales/en.js +65 -0
- package/dist/locales/es.d.ts +13 -0
- package/dist/locales/es.js +13 -0
- package/dist/locales/fr.d.ts +13 -0
- package/dist/locales/fr.js +13 -0
- package/dist/locales/index.d.ts +301 -0
- package/dist/locales/ja.d.ts +13 -0
- package/dist/locales/ja.js +13 -0
- package/dist/locales/ko.d.ts +13 -0
- package/dist/locales/ko.js +13 -0
- package/dist/locales/pt.d.ts +13 -0
- package/dist/locales/pt.js +13 -0
- package/dist/locales/ru.d.ts +13 -0
- package/dist/locales/ru.js +13 -0
- package/dist/locales/zh.d.ts +132 -0
- package/dist/locales/zh.js +141 -0
- package/package.json +1 -1
package/dist/locales/ko.js
CHANGED
|
@@ -191,6 +191,12 @@ const ko = {
|
|
|
191
191
|
templateName: "템플릿 이름",
|
|
192
192
|
save: "저장",
|
|
193
193
|
deleteTemplate: "템플릿 삭제",
|
|
194
|
+
savedMapping: 'Saved mapping:',
|
|
195
|
+
chooseSavedMapping: 'Choose a saved mapping…',
|
|
196
|
+
manualMapping: '— Map columns manually —',
|
|
197
|
+
transform: 'Transform',
|
|
198
|
+
savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
|
|
199
|
+
savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
|
|
194
200
|
csvColumn: "열",
|
|
195
201
|
mapsTo: "매핑 대상",
|
|
196
202
|
typeMismatch: "{{type}}인 것 같습니다",
|
|
@@ -1263,6 +1269,7 @@ const ko = {
|
|
|
1263
1269
|
},
|
|
1264
1270
|
topbar: {
|
|
1265
1271
|
aiAssistant: "AI 어시스턴트",
|
|
1272
|
+
designInStudio: "Studio에서 디자인",
|
|
1266
1273
|
},
|
|
1267
1274
|
home: {
|
|
1268
1275
|
title: "홈",
|
|
@@ -1988,6 +1995,12 @@ const ko = {
|
|
|
1988
1995
|
empty: '대기 중인 항목 없음 — 모든 드래프트가 게시되었습니다.',
|
|
1989
1996
|
kindNew: '신규',
|
|
1990
1997
|
kindUpdate: '업데이트',
|
|
1998
|
+
detailLoading: '상세 정보 로드 중…',
|
|
1999
|
+
detailLoadFailed: '변경 상세 정보를 불러오지 못했습니다:',
|
|
2000
|
+
detailNone: '차이가 감지되지 않았습니다 — 초안이 게시된 버전과 일치합니다.',
|
|
2001
|
+
detailChangedKeys: '기타 변경:',
|
|
2002
|
+
confirmNote: '게시하면 이 패키지의 대기 중인 초안 {{count}}개가 한 번에(원자적으로) 게시됩니다.',
|
|
2003
|
+
publishConfirm: '모두 게시',
|
|
1991
2004
|
},
|
|
1992
2005
|
},
|
|
1993
2006
|
filterBuilder: {
|
package/dist/locales/pt.d.ts
CHANGED
|
@@ -191,6 +191,12 @@ declare const pt: {
|
|
|
191
191
|
templateName: string;
|
|
192
192
|
save: string;
|
|
193
193
|
deleteTemplate: string;
|
|
194
|
+
savedMapping: string;
|
|
195
|
+
chooseSavedMapping: string;
|
|
196
|
+
manualMapping: string;
|
|
197
|
+
transform: string;
|
|
198
|
+
savedMappingHint: string;
|
|
199
|
+
savedMappingPreviewNote: string;
|
|
194
200
|
csvColumn: string;
|
|
195
201
|
mapsTo: string;
|
|
196
202
|
typeMismatch: string;
|
|
@@ -1263,6 +1269,7 @@ declare const pt: {
|
|
|
1263
1269
|
};
|
|
1264
1270
|
topbar: {
|
|
1265
1271
|
aiAssistant: string;
|
|
1272
|
+
designInStudio: string;
|
|
1266
1273
|
};
|
|
1267
1274
|
home: {
|
|
1268
1275
|
title: string;
|
|
@@ -1988,6 +1995,12 @@ declare const pt: {
|
|
|
1988
1995
|
empty: string;
|
|
1989
1996
|
kindNew: string;
|
|
1990
1997
|
kindUpdate: string;
|
|
1998
|
+
detailLoading: string;
|
|
1999
|
+
detailLoadFailed: string;
|
|
2000
|
+
detailNone: string;
|
|
2001
|
+
detailChangedKeys: string;
|
|
2002
|
+
confirmNote: string;
|
|
2003
|
+
publishConfirm: string;
|
|
1991
2004
|
};
|
|
1992
2005
|
};
|
|
1993
2006
|
filterBuilder: {
|
package/dist/locales/pt.js
CHANGED
|
@@ -191,6 +191,12 @@ const pt = {
|
|
|
191
191
|
templateName: "Nome do modelo",
|
|
192
192
|
save: "Salvar",
|
|
193
193
|
deleteTemplate: "Excluir modelo",
|
|
194
|
+
savedMapping: 'Saved mapping:',
|
|
195
|
+
chooseSavedMapping: 'Choose a saved mapping…',
|
|
196
|
+
manualMapping: '— Map columns manually —',
|
|
197
|
+
transform: 'Transform',
|
|
198
|
+
savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
|
|
199
|
+
savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
|
|
194
200
|
csvColumn: "Coluna",
|
|
195
201
|
mapsTo: "Mapeia para",
|
|
196
202
|
typeMismatch: "Parece {{type}}",
|
|
@@ -1263,6 +1269,7 @@ const pt = {
|
|
|
1263
1269
|
},
|
|
1264
1270
|
topbar: {
|
|
1265
1271
|
aiAssistant: "Assistente de IA",
|
|
1272
|
+
designInStudio: "Projetar no Studio",
|
|
1266
1273
|
},
|
|
1267
1274
|
home: {
|
|
1268
1275
|
title: "Início",
|
|
@@ -1988,6 +1995,12 @@ const pt = {
|
|
|
1988
1995
|
empty: 'Nada pendente — todos os rascunhos foram publicados.',
|
|
1989
1996
|
kindNew: 'Novo',
|
|
1990
1997
|
kindUpdate: 'Atualização',
|
|
1998
|
+
detailLoading: 'Carregando detalhes…',
|
|
1999
|
+
detailLoadFailed: 'Não foi possível carregar os detalhes da alteração:',
|
|
2000
|
+
detailNone: 'Nenhuma diferença detectada — o rascunho corresponde à versão publicada.',
|
|
2001
|
+
detailChangedKeys: 'Também alterado:',
|
|
2002
|
+
confirmNote: 'Publicar libera atomicamente todos os {{count}} rascunhos pendentes deste pacote.',
|
|
2003
|
+
publishConfirm: 'Publicar tudo',
|
|
1991
2004
|
},
|
|
1992
2005
|
},
|
|
1993
2006
|
filterBuilder: {
|
package/dist/locales/ru.d.ts
CHANGED
|
@@ -191,6 +191,12 @@ declare const ru: {
|
|
|
191
191
|
templateName: string;
|
|
192
192
|
save: string;
|
|
193
193
|
deleteTemplate: string;
|
|
194
|
+
savedMapping: string;
|
|
195
|
+
chooseSavedMapping: string;
|
|
196
|
+
manualMapping: string;
|
|
197
|
+
transform: string;
|
|
198
|
+
savedMappingHint: string;
|
|
199
|
+
savedMappingPreviewNote: string;
|
|
194
200
|
csvColumn: string;
|
|
195
201
|
mapsTo: string;
|
|
196
202
|
typeMismatch: string;
|
|
@@ -1263,6 +1269,7 @@ declare const ru: {
|
|
|
1263
1269
|
};
|
|
1264
1270
|
topbar: {
|
|
1265
1271
|
aiAssistant: string;
|
|
1272
|
+
designInStudio: string;
|
|
1266
1273
|
};
|
|
1267
1274
|
home: {
|
|
1268
1275
|
title: string;
|
|
@@ -1988,6 +1995,12 @@ declare const ru: {
|
|
|
1988
1995
|
empty: string;
|
|
1989
1996
|
kindNew: string;
|
|
1990
1997
|
kindUpdate: string;
|
|
1998
|
+
detailLoading: string;
|
|
1999
|
+
detailLoadFailed: string;
|
|
2000
|
+
detailNone: string;
|
|
2001
|
+
detailChangedKeys: string;
|
|
2002
|
+
confirmNote: string;
|
|
2003
|
+
publishConfirm: string;
|
|
1991
2004
|
};
|
|
1992
2005
|
};
|
|
1993
2006
|
filterBuilder: {
|
package/dist/locales/ru.js
CHANGED
|
@@ -191,6 +191,12 @@ const ru = {
|
|
|
191
191
|
templateName: "Название шаблона",
|
|
192
192
|
save: "Сохранить",
|
|
193
193
|
deleteTemplate: "Удалить шаблон",
|
|
194
|
+
savedMapping: 'Saved mapping:',
|
|
195
|
+
chooseSavedMapping: 'Choose a saved mapping…',
|
|
196
|
+
manualMapping: '— Map columns manually —',
|
|
197
|
+
transform: 'Transform',
|
|
198
|
+
savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
|
|
199
|
+
savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
|
|
194
200
|
csvColumn: "Столбец",
|
|
195
201
|
mapsTo: "Сопоставляется с",
|
|
196
202
|
typeMismatch: "Похоже на {{type}}",
|
|
@@ -1263,6 +1269,7 @@ const ru = {
|
|
|
1263
1269
|
},
|
|
1264
1270
|
topbar: {
|
|
1265
1271
|
aiAssistant: "ИИ-ассистент",
|
|
1272
|
+
designInStudio: "Дизайн в Studio",
|
|
1266
1273
|
},
|
|
1267
1274
|
home: {
|
|
1268
1275
|
title: "Главная",
|
|
@@ -1988,6 +1995,12 @@ const ru = {
|
|
|
1988
1995
|
empty: 'Ничего не ожидает — все черновики опубликованы.',
|
|
1989
1996
|
kindNew: 'Новое',
|
|
1990
1997
|
kindUpdate: 'Обновление',
|
|
1998
|
+
detailLoading: 'Загрузка деталей…',
|
|
1999
|
+
detailLoadFailed: 'Не удалось загрузить детали изменения:',
|
|
2000
|
+
detailNone: 'Различий не обнаружено — черновик совпадает с опубликованной версией.',
|
|
2001
|
+
detailChangedKeys: 'Также изменено:',
|
|
2002
|
+
confirmNote: 'Публикация атомарно выпускает все {{count}} ожидающих черновиков этого пакета.',
|
|
2003
|
+
publishConfirm: 'Опубликовать всё',
|
|
1991
2004
|
},
|
|
1992
2005
|
},
|
|
1993
2006
|
filterBuilder: {
|
package/dist/locales/zh.d.ts
CHANGED
|
@@ -161,6 +161,12 @@ declare const zh: {
|
|
|
161
161
|
readonly refreshing: "刷新中…";
|
|
162
162
|
readonly openRecord: "打开记录";
|
|
163
163
|
readonly openMenu: "更多操作";
|
|
164
|
+
readonly bulkSelected: "已选择 {{count}} 项";
|
|
165
|
+
readonly bulkSelectedAllMatches: "已选择全部 {{count}} 项(全部匹配)";
|
|
166
|
+
readonly bulkClear: "清除";
|
|
167
|
+
readonly bulkAllOnPage: "本页 {{count}} 项已全选。";
|
|
168
|
+
readonly bulkSelectAllMatching: "选择全部 {{count}} 项匹配记录";
|
|
169
|
+
readonly bulkAllMatchingSelected: "已选择全部 {{count}} 项匹配记录。";
|
|
164
170
|
readonly rowHeight: "行高: {{mode}}";
|
|
165
171
|
readonly empty: "空";
|
|
166
172
|
readonly yes: "是";
|
|
@@ -198,6 +204,12 @@ declare const zh: {
|
|
|
198
204
|
readonly templateName: "模板名称";
|
|
199
205
|
readonly save: "保存";
|
|
200
206
|
readonly deleteTemplate: "删除模板";
|
|
207
|
+
readonly savedMapping: "已保存的映射:";
|
|
208
|
+
readonly chooseSavedMapping: "选择已保存的映射…";
|
|
209
|
+
readonly manualMapping: "— 手动映射列 —";
|
|
210
|
+
readonly transform: "转换";
|
|
211
|
+
readonly savedMappingHint: "映射“{{name}}”将在服务端应用重命名 + 转换 + 类型强转,列映射为只读。";
|
|
212
|
+
readonly savedMappingPreviewNote: "预览显示的是原始列;导入时,映射“{{name}}”将在服务端应用重命名、转换与类型强转。";
|
|
201
213
|
readonly csvColumn: "列";
|
|
202
214
|
readonly mapsTo: "映射到";
|
|
203
215
|
readonly typeMismatch: "疑似{{type}}";
|
|
@@ -231,6 +243,98 @@ declare const zh: {
|
|
|
231
243
|
readonly requiredMark: "*";
|
|
232
244
|
readonly required: "必填";
|
|
233
245
|
readonly invalidType: "{{type}} 格式无效";
|
|
246
|
+
readonly legacyReferenceBlocked: "导入已阻止:{{fields}} 是关联字段,需要服务端导入接口把名称解析为记录 ID,而当前连接不支持。按纯文本导入会写坏数据。请升级后端/客户端,或取消这些列的映射后再导入。";
|
|
247
|
+
readonly autoMatched: "自动匹配";
|
|
248
|
+
readonly autoMatchedSummary: "已自动匹配 {{count}} 列 — 请在下方检查并调整。";
|
|
249
|
+
readonly confidence: {
|
|
250
|
+
readonly high: "高置信度";
|
|
251
|
+
readonly medium: "中置信度";
|
|
252
|
+
readonly low: "低置信度";
|
|
253
|
+
};
|
|
254
|
+
readonly downloadTemplate: "下载模板";
|
|
255
|
+
readonly downloadTemplateHint: "获取带正确列的 CSV(必填字段标 *)。";
|
|
256
|
+
readonly validate: "校验数据";
|
|
257
|
+
readonly validateHint: "导入前在服务端逐行校验。";
|
|
258
|
+
readonly validating: "校验中…";
|
|
259
|
+
readonly validatePassed: "全部 {{ok}} 行均有效。";
|
|
260
|
+
readonly validateFailed: "{{ok}} 条有效,{{errors}} 条有错误。";
|
|
261
|
+
readonly errorCount: "{{count}} 个错误";
|
|
262
|
+
readonly errorRowPrefix: "第 {{row}} 行:";
|
|
263
|
+
readonly referenceNotFound: "找不到匹配 \"{{value}}\" 的记录";
|
|
264
|
+
readonly referenceAmbiguous: "\"{{value}}\" 匹配到多条记录,请使用唯一值或记录 ID";
|
|
265
|
+
readonly options: "导入选项";
|
|
266
|
+
readonly writeMode: "当某行匹配到已有记录时";
|
|
267
|
+
readonly writeModeOpt: {
|
|
268
|
+
readonly insert: "始终新建";
|
|
269
|
+
readonly update: "更新已有(无匹配则跳过)";
|
|
270
|
+
readonly upsert: "匹配则更新,否则新建";
|
|
271
|
+
};
|
|
272
|
+
readonly matchFields: "匹配字段";
|
|
273
|
+
readonly matchFieldsPlaceholder: "选择匹配字段…";
|
|
274
|
+
readonly matchFieldsHint: "按这些字段将行匹配到已有记录。";
|
|
275
|
+
readonly needMatchFields: "请至少选择一个匹配字段。";
|
|
276
|
+
readonly optRunAutomations: "运行自动化与触发器";
|
|
277
|
+
readonly optCreateOptions: "保留未知选项值";
|
|
278
|
+
readonly optSkipBlankKey: "跳过匹配值为空的行";
|
|
279
|
+
readonly optBackground: "后台导入";
|
|
280
|
+
readonly optBackgroundHint: "(作为可撤销任务运行)";
|
|
281
|
+
readonly createdCount: "新建 {{count}} 条";
|
|
282
|
+
readonly updatedCount: "更新 {{count}} 条";
|
|
283
|
+
readonly resultsTruncated: "显示前 {{count}} 行结果(共 {{total}} 行)。";
|
|
284
|
+
readonly downloadFailed: "下载失败行";
|
|
285
|
+
readonly cancelImport: "取消导入";
|
|
286
|
+
readonly importCancelled: "导入已取消";
|
|
287
|
+
readonly largeSampleNotice: "正在预览前 {{shown}}/{{total}} 行。";
|
|
288
|
+
readonly asyncLargeHint: "文件较大,将在后台导入。";
|
|
289
|
+
readonly asyncQueued: "已排队 — 正在准备导入…";
|
|
290
|
+
readonly asyncProcessing: "正在导入第 {{processed}}/{{total}} 行… {{progress}}%";
|
|
291
|
+
readonly history: "历史";
|
|
292
|
+
readonly historyBack: "返回导入";
|
|
293
|
+
readonly historyDescription: "此对象的近期导入记录。";
|
|
294
|
+
readonly historyHint: "后台导入任务,最新在前。";
|
|
295
|
+
readonly historyRefresh: "刷新";
|
|
296
|
+
readonly historyLoading: "加载中…";
|
|
297
|
+
readonly historyEmpty: "暂无导入记录。";
|
|
298
|
+
readonly historyUnsupported: "此数据源不支持导入历史。";
|
|
299
|
+
readonly historyColStatus: "状态";
|
|
300
|
+
readonly historyColRows: "行数";
|
|
301
|
+
readonly historyColResult: "结果";
|
|
302
|
+
readonly historyColTime: "时间";
|
|
303
|
+
readonly jobStatus: {
|
|
304
|
+
readonly pending: "等待中";
|
|
305
|
+
readonly running: "进行中";
|
|
306
|
+
readonly succeeded: "成功";
|
|
307
|
+
readonly failed: "失败";
|
|
308
|
+
readonly cancelled: "已取消";
|
|
309
|
+
};
|
|
310
|
+
readonly undoImport: "撤销导入";
|
|
311
|
+
readonly undoing: "撤销中…";
|
|
312
|
+
readonly reverted: "已撤销";
|
|
313
|
+
readonly undoConfirm: "撤销此次导入?它新建的记录将被删除,它更新的记录将恢复为之前的值。";
|
|
314
|
+
};
|
|
315
|
+
readonly bulk: {
|
|
316
|
+
readonly confirmDefault: "此操作将应用于 {{count}} 条记录。";
|
|
317
|
+
readonly overLimit: "所选记录({{count}})超过该动作的上限({{limit}})。请减少选择后再继续。";
|
|
318
|
+
readonly affectedRecords: "受影响的记录({{count}}):";
|
|
319
|
+
readonly rowFallback: "第 {{index}} 行";
|
|
320
|
+
readonly andMore: "……以及另外 {{count}} 条";
|
|
321
|
+
readonly processed: "已处理 {{count}} / {{total}}";
|
|
322
|
+
readonly processedFailed: " · {{count}} 条失败";
|
|
323
|
+
readonly undonePrefix: "已撤销 — ";
|
|
324
|
+
readonly succeeded: "成功 {{count}} / {{total}}";
|
|
325
|
+
readonly resultFailed: " · 失败 {{count}}";
|
|
326
|
+
readonly retry: "重试";
|
|
327
|
+
readonly downloadErrorCsv: "下载错误 CSV";
|
|
328
|
+
readonly cancel: "取消";
|
|
329
|
+
readonly back: "上一步";
|
|
330
|
+
readonly next: "下一步";
|
|
331
|
+
readonly run: "执行";
|
|
332
|
+
readonly running: "执行中…";
|
|
333
|
+
readonly undo: "撤销";
|
|
334
|
+
readonly undoing: "撤销中…";
|
|
335
|
+
readonly done: "完成";
|
|
336
|
+
readonly selectPlaceholder: "请选择…";
|
|
337
|
+
readonly loading: "加载中…";
|
|
234
338
|
};
|
|
235
339
|
};
|
|
236
340
|
readonly calendar: {
|
|
@@ -305,6 +409,9 @@ declare const zh: {
|
|
|
305
409
|
readonly addGroup: "添加分组字段";
|
|
306
410
|
readonly collapsedByDefault: "默认折叠";
|
|
307
411
|
readonly removeGroup: "删除";
|
|
412
|
+
readonly inlineEditShort: "行内编辑";
|
|
413
|
+
readonly inlineEditLabel: "行内编辑记录(点击单元格进行编辑)";
|
|
414
|
+
readonly recordEditingTitle: "记录编辑";
|
|
308
415
|
};
|
|
309
416
|
readonly kanban: {
|
|
310
417
|
readonly addCard: "添加卡片";
|
|
@@ -1205,6 +1312,15 @@ declare const zh: {
|
|
|
1205
1312
|
readonly dark: "深色";
|
|
1206
1313
|
readonly system: "系统";
|
|
1207
1314
|
};
|
|
1315
|
+
readonly objectData: {
|
|
1316
|
+
readonly badge: "数据";
|
|
1317
|
+
readonly description: "由 URL 定义的数据切面——不绑定任何已保存视图。";
|
|
1318
|
+
readonly filteredBy: "筛选条件";
|
|
1319
|
+
readonly removeFilter: "移除筛选 {{field}}";
|
|
1320
|
+
readonly saveAsView: "另存为视图";
|
|
1321
|
+
readonly noAccessTitle: "无访问权限";
|
|
1322
|
+
readonly noAccess: "您没有权限查看此数据。";
|
|
1323
|
+
};
|
|
1208
1324
|
readonly objectView: {
|
|
1209
1325
|
readonly systemViewReadonly: "系统视图由代码定义,只读。";
|
|
1210
1326
|
readonly expandToPage: "以完整页面打开";
|
|
@@ -1622,6 +1738,7 @@ declare const zh: {
|
|
|
1622
1738
|
};
|
|
1623
1739
|
readonly topbar: {
|
|
1624
1740
|
readonly aiAssistant: "AI 助手";
|
|
1741
|
+
readonly designInStudio: "在 Studio 中设计";
|
|
1625
1742
|
readonly openAssistant: "打开{{name}}助手";
|
|
1626
1743
|
readonly offline: "离线";
|
|
1627
1744
|
readonly usersOnline: "当前在线用户";
|
|
@@ -1644,6 +1761,14 @@ declare const zh: {
|
|
|
1644
1761
|
readonly greetingEvening: "晚上好";
|
|
1645
1762
|
readonly greetingNight: "夜深了";
|
|
1646
1763
|
readonly heroTagline: "从上次离开的地方继续,或者探索新的内容。";
|
|
1764
|
+
readonly build: {
|
|
1765
|
+
readonly title: "构建应用";
|
|
1766
|
+
readonly subtitle: "从零开始 — 设计对象、表单、自动化与界面。";
|
|
1767
|
+
};
|
|
1768
|
+
readonly template: {
|
|
1769
|
+
readonly title: "从模板开始";
|
|
1770
|
+
readonly subtitle: "从应用市场安装模板应用并按需定制。";
|
|
1771
|
+
};
|
|
1647
1772
|
readonly open: "打开";
|
|
1648
1773
|
readonly stats: {
|
|
1649
1774
|
readonly apps: "应用";
|
|
@@ -1715,6 +1840,7 @@ declare const zh: {
|
|
|
1715
1840
|
readonly appsAvailable: "共 {{count}} 个可用应用";
|
|
1716
1841
|
readonly addApp: "新增应用";
|
|
1717
1842
|
readonly editApp: "编辑应用";
|
|
1843
|
+
readonly editNavigation: "编辑导航";
|
|
1718
1844
|
readonly manageAllApps: "管理所有应用";
|
|
1719
1845
|
readonly systemConsole: "系统控制台";
|
|
1720
1846
|
readonly noAppsConfigured: "尚未配置任何应用";
|
|
@@ -1818,6 +1944,12 @@ declare const zh: {
|
|
|
1818
1944
|
readonly empty: "没有待发布的内容 —— 所有草稿均已发布。";
|
|
1819
1945
|
readonly kindNew: "新增";
|
|
1820
1946
|
readonly kindUpdate: "更新";
|
|
1947
|
+
readonly detailLoading: "正在加载详情…";
|
|
1948
|
+
readonly detailLoadFailed: "无法加载变更详情:";
|
|
1949
|
+
readonly detailNone: "未检测到差异 —— 草稿与已发布版本一致。";
|
|
1950
|
+
readonly detailChangedKeys: "其他变更:";
|
|
1951
|
+
readonly confirmNote: "发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。";
|
|
1952
|
+
readonly publishConfirm: "全部发布";
|
|
1821
1953
|
};
|
|
1822
1954
|
};
|
|
1823
1955
|
readonly renderer: {
|
package/dist/locales/zh.js
CHANGED
|
@@ -161,6 +161,12 @@ const zh = {
|
|
|
161
161
|
refreshing: '刷新中…',
|
|
162
162
|
openRecord: '打开记录',
|
|
163
163
|
openMenu: '更多操作',
|
|
164
|
+
bulkSelected: '已选择 {{count}} 项',
|
|
165
|
+
bulkSelectedAllMatches: '已选择全部 {{count}} 项(全部匹配)',
|
|
166
|
+
bulkClear: '清除',
|
|
167
|
+
bulkAllOnPage: '本页 {{count}} 项已全选。',
|
|
168
|
+
bulkSelectAllMatching: '选择全部 {{count}} 项匹配记录',
|
|
169
|
+
bulkAllMatchingSelected: '已选择全部 {{count}} 项匹配记录。',
|
|
164
170
|
rowHeight: '行高: {{mode}}',
|
|
165
171
|
empty: '空',
|
|
166
172
|
yes: '是',
|
|
@@ -198,6 +204,12 @@ const zh = {
|
|
|
198
204
|
templateName: '模板名称',
|
|
199
205
|
save: '保存',
|
|
200
206
|
deleteTemplate: '删除模板',
|
|
207
|
+
savedMapping: '已保存的映射:',
|
|
208
|
+
chooseSavedMapping: '选择已保存的映射…',
|
|
209
|
+
manualMapping: '— 手动映射列 —',
|
|
210
|
+
transform: '转换',
|
|
211
|
+
savedMappingHint: '映射“{{name}}”将在服务端应用重命名 + 转换 + 类型强转,列映射为只读。',
|
|
212
|
+
savedMappingPreviewNote: '预览显示的是原始列;导入时,映射“{{name}}”将在服务端应用重命名、转换与类型强转。',
|
|
201
213
|
csvColumn: '列',
|
|
202
214
|
mapsTo: '映射到',
|
|
203
215
|
typeMismatch: '疑似{{type}}',
|
|
@@ -231,6 +243,107 @@ const zh = {
|
|
|
231
243
|
requiredMark: '*',
|
|
232
244
|
required: '必填',
|
|
233
245
|
invalidType: '{{type}} 格式无效',
|
|
246
|
+
legacyReferenceBlocked: '导入已阻止:{{fields}} 是关联字段,需要服务端导入接口把名称解析为记录 ID,而当前连接不支持。按纯文本导入会写坏数据。请升级后端/客户端,或取消这些列的映射后再导入。',
|
|
247
|
+
// 自动匹配(Airtable 风格)
|
|
248
|
+
autoMatched: '自动匹配',
|
|
249
|
+
autoMatchedSummary: '已自动匹配 {{count}} 列 — 请在下方检查并调整。',
|
|
250
|
+
confidence: {
|
|
251
|
+
high: '高置信度',
|
|
252
|
+
medium: '中置信度',
|
|
253
|
+
low: '低置信度',
|
|
254
|
+
},
|
|
255
|
+
// 下载模板
|
|
256
|
+
downloadTemplate: '下载模板',
|
|
257
|
+
downloadTemplateHint: '获取带正确列的 CSV(必填字段标 *)。',
|
|
258
|
+
// 校验(服务端 dryRun 预检)
|
|
259
|
+
validate: '校验数据',
|
|
260
|
+
validateHint: '导入前在服务端逐行校验。',
|
|
261
|
+
validating: '校验中…',
|
|
262
|
+
validatePassed: '全部 {{ok}} 行均有效。',
|
|
263
|
+
validateFailed: '{{ok}} 条有效,{{errors}} 条有错误。',
|
|
264
|
+
errorCount: '{{count}} 个错误',
|
|
265
|
+
errorRowPrefix: '第 {{row}} 行:',
|
|
266
|
+
// 服务端结构化导入错误的友好文案
|
|
267
|
+
referenceNotFound: '找不到匹配 "{{value}}" 的记录',
|
|
268
|
+
referenceAmbiguous: '"{{value}}" 匹配到多条记录,请使用唯一值或记录 ID',
|
|
269
|
+
// 导入选项 / 写入模式
|
|
270
|
+
options: '导入选项',
|
|
271
|
+
writeMode: '当某行匹配到已有记录时',
|
|
272
|
+
writeModeOpt: {
|
|
273
|
+
insert: '始终新建',
|
|
274
|
+
update: '更新已有(无匹配则跳过)',
|
|
275
|
+
upsert: '匹配则更新,否则新建',
|
|
276
|
+
},
|
|
277
|
+
matchFields: '匹配字段',
|
|
278
|
+
matchFieldsPlaceholder: '选择匹配字段…',
|
|
279
|
+
matchFieldsHint: '按这些字段将行匹配到已有记录。',
|
|
280
|
+
needMatchFields: '请至少选择一个匹配字段。',
|
|
281
|
+
optRunAutomations: '运行自动化与触发器',
|
|
282
|
+
optCreateOptions: '保留未知选项值',
|
|
283
|
+
optSkipBlankKey: '跳过匹配值为空的行',
|
|
284
|
+
optBackground: '后台导入',
|
|
285
|
+
optBackgroundHint: '(作为可撤销任务运行)',
|
|
286
|
+
// 结果
|
|
287
|
+
createdCount: '新建 {{count}} 条',
|
|
288
|
+
updatedCount: '更新 {{count}} 条',
|
|
289
|
+
resultsTruncated: '显示前 {{count}} 行结果(共 {{total}} 行)。',
|
|
290
|
+
downloadFailed: '下载失败行',
|
|
291
|
+
cancelImport: '取消导入',
|
|
292
|
+
importCancelled: '导入已取消',
|
|
293
|
+
// 大文件 / 异步导入
|
|
294
|
+
largeSampleNotice: '正在预览前 {{shown}}/{{total}} 行。',
|
|
295
|
+
asyncLargeHint: '文件较大,将在后台导入。',
|
|
296
|
+
asyncQueued: '已排队 — 正在准备导入…',
|
|
297
|
+
asyncProcessing: '正在导入第 {{processed}}/{{total}} 行… {{progress}}%',
|
|
298
|
+
// 导入历史
|
|
299
|
+
history: '历史',
|
|
300
|
+
historyBack: '返回导入',
|
|
301
|
+
historyDescription: '此对象的近期导入记录。',
|
|
302
|
+
historyHint: '后台导入任务,最新在前。',
|
|
303
|
+
historyRefresh: '刷新',
|
|
304
|
+
historyLoading: '加载中…',
|
|
305
|
+
historyEmpty: '暂无导入记录。',
|
|
306
|
+
historyUnsupported: '此数据源不支持导入历史。',
|
|
307
|
+
historyColStatus: '状态',
|
|
308
|
+
historyColRows: '行数',
|
|
309
|
+
historyColResult: '结果',
|
|
310
|
+
historyColTime: '时间',
|
|
311
|
+
jobStatus: {
|
|
312
|
+
pending: '等待中',
|
|
313
|
+
running: '进行中',
|
|
314
|
+
succeeded: '成功',
|
|
315
|
+
failed: '失败',
|
|
316
|
+
cancelled: '已取消',
|
|
317
|
+
},
|
|
318
|
+
// 撤销 / 逻辑回滚
|
|
319
|
+
undoImport: '撤销导入',
|
|
320
|
+
undoing: '撤销中…',
|
|
321
|
+
reverted: '已撤销',
|
|
322
|
+
undoConfirm: '撤销此次导入?它新建的记录将被删除,它更新的记录将恢复为之前的值。',
|
|
323
|
+
},
|
|
324
|
+
bulk: {
|
|
325
|
+
confirmDefault: '此操作将应用于 {{count}} 条记录。',
|
|
326
|
+
overLimit: '所选记录({{count}})超过该动作的上限({{limit}})。请减少选择后再继续。',
|
|
327
|
+
affectedRecords: '受影响的记录({{count}}):',
|
|
328
|
+
rowFallback: '第 {{index}} 行',
|
|
329
|
+
andMore: '……以及另外 {{count}} 条',
|
|
330
|
+
processed: '已处理 {{count}} / {{total}}',
|
|
331
|
+
processedFailed: ' · {{count}} 条失败',
|
|
332
|
+
undonePrefix: '已撤销 — ',
|
|
333
|
+
succeeded: '成功 {{count}} / {{total}}',
|
|
334
|
+
resultFailed: ' · 失败 {{count}}',
|
|
335
|
+
retry: '重试',
|
|
336
|
+
downloadErrorCsv: '下载错误 CSV',
|
|
337
|
+
cancel: '取消',
|
|
338
|
+
back: '上一步',
|
|
339
|
+
next: '下一步',
|
|
340
|
+
run: '执行',
|
|
341
|
+
running: '执行中…',
|
|
342
|
+
undo: '撤销',
|
|
343
|
+
undoing: '撤销中…',
|
|
344
|
+
done: '完成',
|
|
345
|
+
selectPlaceholder: '请选择…',
|
|
346
|
+
loading: '加载中…',
|
|
234
347
|
},
|
|
235
348
|
},
|
|
236
349
|
calendar: {
|
|
@@ -305,6 +418,9 @@ const zh = {
|
|
|
305
418
|
addGroup: '添加分组字段',
|
|
306
419
|
collapsedByDefault: '默认折叠',
|
|
307
420
|
removeGroup: '删除',
|
|
421
|
+
inlineEditShort: '行内编辑',
|
|
422
|
+
inlineEditLabel: '行内编辑记录(点击单元格进行编辑)',
|
|
423
|
+
recordEditingTitle: '记录编辑',
|
|
308
424
|
},
|
|
309
425
|
kanban: {
|
|
310
426
|
addCard: '添加卡片',
|
|
@@ -1226,6 +1342,15 @@ const zh = {
|
|
|
1226
1342
|
dark: '深色',
|
|
1227
1343
|
system: '系统',
|
|
1228
1344
|
},
|
|
1345
|
+
objectData: {
|
|
1346
|
+
badge: '数据',
|
|
1347
|
+
description: '由 URL 定义的数据切面——不绑定任何已保存视图。',
|
|
1348
|
+
filteredBy: '筛选条件',
|
|
1349
|
+
removeFilter: '移除筛选 {{field}}',
|
|
1350
|
+
saveAsView: '另存为视图',
|
|
1351
|
+
noAccessTitle: '无访问权限',
|
|
1352
|
+
noAccess: '您没有权限查看此数据。',
|
|
1353
|
+
},
|
|
1229
1354
|
objectView: {
|
|
1230
1355
|
systemViewReadonly: '系统视图由代码定义,只读。',
|
|
1231
1356
|
expandToPage: '以完整页面打开',
|
|
@@ -1643,6 +1768,7 @@ const zh = {
|
|
|
1643
1768
|
},
|
|
1644
1769
|
topbar: {
|
|
1645
1770
|
aiAssistant: 'AI 助手',
|
|
1771
|
+
designInStudio: '在 Studio 中设计',
|
|
1646
1772
|
openAssistant: '打开{{name}}助手',
|
|
1647
1773
|
offline: '离线',
|
|
1648
1774
|
usersOnline: '当前在线用户',
|
|
@@ -1665,6 +1791,14 @@ const zh = {
|
|
|
1665
1791
|
greetingEvening: '晚上好',
|
|
1666
1792
|
greetingNight: '夜深了',
|
|
1667
1793
|
heroTagline: '从上次离开的地方继续,或者探索新的内容。',
|
|
1794
|
+
build: {
|
|
1795
|
+
title: '构建应用',
|
|
1796
|
+
subtitle: '从零开始 — 设计对象、表单、自动化与界面。',
|
|
1797
|
+
},
|
|
1798
|
+
template: {
|
|
1799
|
+
title: '从模板开始',
|
|
1800
|
+
subtitle: '从应用市场安装模板应用并按需定制。',
|
|
1801
|
+
},
|
|
1668
1802
|
open: '打开',
|
|
1669
1803
|
stats: {
|
|
1670
1804
|
apps: '应用',
|
|
@@ -1736,6 +1870,7 @@ const zh = {
|
|
|
1736
1870
|
appsAvailable: '共 {{count}} 个可用应用',
|
|
1737
1871
|
addApp: '新增应用',
|
|
1738
1872
|
editApp: '编辑应用',
|
|
1873
|
+
editNavigation: '编辑导航',
|
|
1739
1874
|
manageAllApps: '管理所有应用',
|
|
1740
1875
|
systemConsole: '系统控制台',
|
|
1741
1876
|
noAppsConfigured: '尚未配置任何应用',
|
|
@@ -1841,6 +1976,12 @@ const zh = {
|
|
|
1841
1976
|
empty: '没有待发布的内容 —— 所有草稿均已发布。',
|
|
1842
1977
|
kindNew: '新增',
|
|
1843
1978
|
kindUpdate: '更新',
|
|
1979
|
+
detailLoading: '正在加载详情…',
|
|
1980
|
+
detailLoadFailed: '无法加载变更详情:',
|
|
1981
|
+
detailNone: '未检测到差异 —— 草稿与已发布版本一致。',
|
|
1982
|
+
detailChangedKeys: '其他变更:',
|
|
1983
|
+
confirmNote: '发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。',
|
|
1984
|
+
publishConfirm: '全部发布',
|
|
1844
1985
|
},
|
|
1845
1986
|
},
|
|
1846
1987
|
renderer: {
|