@object-ui/i18n 5.0.1 → 5.1.1
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 +59 -0
- package/dist/locales/ar.d.ts +86 -0
- package/dist/locales/ar.js +86 -0
- package/dist/locales/de.d.ts +86 -0
- package/dist/locales/de.js +86 -0
- package/dist/locales/en.d.ts +107 -0
- package/dist/locales/en.js +108 -0
- package/dist/locales/es.d.ts +86 -0
- package/dist/locales/es.js +86 -0
- package/dist/locales/fr.d.ts +86 -0
- package/dist/locales/fr.js +86 -0
- package/dist/locales/index.d.ts +902 -0
- package/dist/locales/ja.d.ts +86 -0
- package/dist/locales/ja.js +86 -0
- package/dist/locales/ko.d.ts +86 -0
- package/dist/locales/ko.js +86 -0
- package/dist/locales/pt.d.ts +86 -0
- package/dist/locales/pt.js +86 -0
- package/dist/locales/ru.d.ts +86 -0
- package/dist/locales/ru.js +86 -0
- package/dist/locales/zh.d.ts +107 -0
- package/dist/locales/zh.js +108 -0
- package/dist/useObjectLabel.d.ts +15 -0
- package/dist/useObjectLabel.js +19 -0
- package/package.json +1 -1
package/dist/locales/ru.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
declare const ru: {
|
|
5
5
|
readonly common: {
|
|
6
|
+
readonly addToFavorites: "Добавить в избранное";
|
|
7
|
+
readonly removeFromFavorites: "Удалить из избранного";
|
|
6
8
|
readonly loading: "Загрузка...";
|
|
7
9
|
readonly save: "Сохранить";
|
|
8
10
|
readonly cancel: "Отмена";
|
|
@@ -152,6 +154,23 @@ declare const ru: {
|
|
|
152
154
|
readonly unassigned: "Не назначено";
|
|
153
155
|
};
|
|
154
156
|
};
|
|
157
|
+
readonly gantt: {
|
|
158
|
+
readonly column: {
|
|
159
|
+
readonly taskName: "Task Name";
|
|
160
|
+
readonly start: "Start";
|
|
161
|
+
readonly end: "End";
|
|
162
|
+
};
|
|
163
|
+
readonly toolbar: {
|
|
164
|
+
readonly prevPeriod: "Previous period";
|
|
165
|
+
readonly nextPeriod: "Next period";
|
|
166
|
+
readonly zoomIn: "Zoom in";
|
|
167
|
+
readonly zoomOut: "Zoom out";
|
|
168
|
+
readonly jumpToToday: "Jump to today";
|
|
169
|
+
readonly today: "Today";
|
|
170
|
+
readonly showTaskList: "Show task list";
|
|
171
|
+
readonly hideTaskList: "Hide task list";
|
|
172
|
+
};
|
|
173
|
+
};
|
|
155
174
|
readonly view: {
|
|
156
175
|
readonly rename: "Переименовать";
|
|
157
176
|
readonly duplicateView: "Дублировать представление";
|
|
@@ -1103,5 +1122,72 @@ declare const ru: {
|
|
|
1103
1122
|
readonly noPendingApprovals: "Нет ожидающих утверждений";
|
|
1104
1123
|
readonly openApprovalsInbox: "Открыть входящие утверждений";
|
|
1105
1124
|
};
|
|
1125
|
+
readonly publicForm: {
|
|
1126
|
+
readonly submit: "Submit";
|
|
1127
|
+
readonly submitting: "Submitting…";
|
|
1128
|
+
readonly submitAnother: "Submit another response";
|
|
1129
|
+
readonly poweredBy: "Powered by ObjectStack";
|
|
1130
|
+
readonly secureNotice: "Your information is transmitted securely and only used to respond to your request.";
|
|
1131
|
+
readonly thankYouTitle: "Thank you!";
|
|
1132
|
+
readonly thankYouMessage: "Your submission has been received successfully.";
|
|
1133
|
+
readonly redirecting: "Redirecting in {{seconds}} seconds…";
|
|
1134
|
+
readonly unavailableTitle: "Form unavailable";
|
|
1135
|
+
readonly unavailableDescription: "No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.";
|
|
1136
|
+
readonly tryDemo: "Try the demo";
|
|
1137
|
+
readonly retry: "Retry";
|
|
1138
|
+
readonly loading: "Loading form…";
|
|
1139
|
+
readonly requiredHint: "* Required field";
|
|
1140
|
+
readonly consentLabelDefault: "I agree to the privacy policy and consent to my data being processed for this request.";
|
|
1141
|
+
readonly consentLink: "Privacy policy";
|
|
1142
|
+
readonly consentRequired: "Please accept the privacy policy to continue.";
|
|
1143
|
+
readonly rateLimited: "Please take a moment to review your answers before submitting.";
|
|
1144
|
+
readonly redirectBlocked: "Submission accepted, but the redirect URL was blocked for security.";
|
|
1145
|
+
readonly demo: {
|
|
1146
|
+
readonly contactTitle: "Contact us";
|
|
1147
|
+
readonly contactDescription: "Tell us about your project and a sales representative will get back to you within one business day.";
|
|
1148
|
+
readonly supportTitle: "Submit a support request";
|
|
1149
|
+
readonly supportDescription: "Tell us what is going wrong — our team responds within one business day.";
|
|
1150
|
+
readonly thankYouSalesTitle: "Thanks — we received your message!";
|
|
1151
|
+
readonly thankYouSalesMessage: "A sales representative will be in touch within one business day.";
|
|
1152
|
+
readonly thankYouSupportTitle: "Got it — your request is in the queue.";
|
|
1153
|
+
readonly thankYouSupportMessage: "A support engineer will follow up shortly. Save this page if you have more screenshots to add.";
|
|
1154
|
+
readonly field: {
|
|
1155
|
+
readonly firstName: "First name";
|
|
1156
|
+
readonly lastName: "Last name";
|
|
1157
|
+
readonly email: "Work email";
|
|
1158
|
+
readonly phone: "Phone";
|
|
1159
|
+
readonly jobTitle: "Job title";
|
|
1160
|
+
readonly company: "Company";
|
|
1161
|
+
readonly website: "Website";
|
|
1162
|
+
readonly industry: "Industry";
|
|
1163
|
+
readonly companySize: "Company size";
|
|
1164
|
+
readonly howCanWeHelp: "How can we help?";
|
|
1165
|
+
readonly subject: "Subject";
|
|
1166
|
+
readonly description: "Description";
|
|
1167
|
+
readonly issueType: "Issue type";
|
|
1168
|
+
readonly priority: "Priority";
|
|
1169
|
+
};
|
|
1170
|
+
readonly industry: {
|
|
1171
|
+
readonly technology: "Technology";
|
|
1172
|
+
readonly software: "Software / SaaS";
|
|
1173
|
+
readonly finance: "Finance";
|
|
1174
|
+
readonly healthcare: "Healthcare";
|
|
1175
|
+
readonly retail: "Retail";
|
|
1176
|
+
readonly other: "Other";
|
|
1177
|
+
};
|
|
1178
|
+
readonly issueType: {
|
|
1179
|
+
readonly question: "Question";
|
|
1180
|
+
readonly problem: "Problem";
|
|
1181
|
+
readonly bug: "Bug";
|
|
1182
|
+
readonly feature_request: "Feature request";
|
|
1183
|
+
};
|
|
1184
|
+
readonly priority: {
|
|
1185
|
+
readonly low: "Low";
|
|
1186
|
+
readonly medium: "Medium";
|
|
1187
|
+
readonly high: "High";
|
|
1188
|
+
readonly critical: "Critical";
|
|
1189
|
+
};
|
|
1190
|
+
};
|
|
1191
|
+
};
|
|
1106
1192
|
};
|
|
1107
1193
|
export default ru;
|
package/dist/locales/ru.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
const ru = {
|
|
5
5
|
common: {
|
|
6
|
+
addToFavorites: 'Добавить в избранное',
|
|
7
|
+
removeFromFavorites: 'Удалить из избранного',
|
|
6
8
|
loading: 'Загрузка...',
|
|
7
9
|
save: 'Сохранить',
|
|
8
10
|
cancel: 'Отмена',
|
|
@@ -152,6 +154,23 @@ const ru = {
|
|
|
152
154
|
unassigned: 'Не назначено',
|
|
153
155
|
},
|
|
154
156
|
},
|
|
157
|
+
gantt: {
|
|
158
|
+
column: {
|
|
159
|
+
taskName: 'Task Name',
|
|
160
|
+
start: 'Start',
|
|
161
|
+
end: 'End',
|
|
162
|
+
},
|
|
163
|
+
toolbar: {
|
|
164
|
+
prevPeriod: 'Previous period',
|
|
165
|
+
nextPeriod: 'Next period',
|
|
166
|
+
zoomIn: 'Zoom in',
|
|
167
|
+
zoomOut: 'Zoom out',
|
|
168
|
+
jumpToToday: 'Jump to today',
|
|
169
|
+
today: 'Today',
|
|
170
|
+
showTaskList: 'Show task list',
|
|
171
|
+
hideTaskList: 'Hide task list',
|
|
172
|
+
},
|
|
173
|
+
},
|
|
155
174
|
view: {
|
|
156
175
|
rename: 'Переименовать',
|
|
157
176
|
duplicateView: 'Дублировать представление',
|
|
@@ -1107,5 +1126,72 @@ const ru = {
|
|
|
1107
1126
|
noPendingApprovals: 'Нет ожидающих утверждений',
|
|
1108
1127
|
openApprovalsInbox: 'Открыть входящие утверждений',
|
|
1109
1128
|
},
|
|
1129
|
+
publicForm: {
|
|
1130
|
+
submit: 'Submit',
|
|
1131
|
+
submitting: 'Submitting…',
|
|
1132
|
+
submitAnother: 'Submit another response',
|
|
1133
|
+
poweredBy: 'Powered by ObjectStack',
|
|
1134
|
+
secureNotice: 'Your information is transmitted securely and only used to respond to your request.',
|
|
1135
|
+
thankYouTitle: 'Thank you!',
|
|
1136
|
+
thankYouMessage: 'Your submission has been received successfully.',
|
|
1137
|
+
redirecting: 'Redirecting in {{seconds}} seconds…',
|
|
1138
|
+
unavailableTitle: 'Form unavailable',
|
|
1139
|
+
unavailableDescription: 'No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.',
|
|
1140
|
+
tryDemo: 'Try the demo',
|
|
1141
|
+
retry: 'Retry',
|
|
1142
|
+
loading: 'Loading form…',
|
|
1143
|
+
requiredHint: '* Required field',
|
|
1144
|
+
consentLabelDefault: 'I agree to the privacy policy and consent to my data being processed for this request.',
|
|
1145
|
+
consentLink: 'Privacy policy',
|
|
1146
|
+
consentRequired: 'Please accept the privacy policy to continue.',
|
|
1147
|
+
rateLimited: 'Please take a moment to review your answers before submitting.',
|
|
1148
|
+
redirectBlocked: 'Submission accepted, but the redirect URL was blocked for security.',
|
|
1149
|
+
demo: {
|
|
1150
|
+
contactTitle: 'Contact us',
|
|
1151
|
+
contactDescription: 'Tell us about your project and a sales representative will get back to you within one business day.',
|
|
1152
|
+
supportTitle: 'Submit a support request',
|
|
1153
|
+
supportDescription: 'Tell us what is going wrong — our team responds within one business day.',
|
|
1154
|
+
thankYouSalesTitle: 'Thanks — we received your message!',
|
|
1155
|
+
thankYouSalesMessage: 'A sales representative will be in touch within one business day.',
|
|
1156
|
+
thankYouSupportTitle: 'Got it — your request is in the queue.',
|
|
1157
|
+
thankYouSupportMessage: 'A support engineer will follow up shortly. Save this page if you have more screenshots to add.',
|
|
1158
|
+
field: {
|
|
1159
|
+
firstName: 'First name',
|
|
1160
|
+
lastName: 'Last name',
|
|
1161
|
+
email: 'Work email',
|
|
1162
|
+
phone: 'Phone',
|
|
1163
|
+
jobTitle: 'Job title',
|
|
1164
|
+
company: 'Company',
|
|
1165
|
+
website: 'Website',
|
|
1166
|
+
industry: 'Industry',
|
|
1167
|
+
companySize: 'Company size',
|
|
1168
|
+
howCanWeHelp: 'How can we help?',
|
|
1169
|
+
subject: 'Subject',
|
|
1170
|
+
description: 'Description',
|
|
1171
|
+
issueType: 'Issue type',
|
|
1172
|
+
priority: 'Priority',
|
|
1173
|
+
},
|
|
1174
|
+
industry: {
|
|
1175
|
+
technology: 'Technology',
|
|
1176
|
+
software: 'Software / SaaS',
|
|
1177
|
+
finance: 'Finance',
|
|
1178
|
+
healthcare: 'Healthcare',
|
|
1179
|
+
retail: 'Retail',
|
|
1180
|
+
other: 'Other',
|
|
1181
|
+
},
|
|
1182
|
+
issueType: {
|
|
1183
|
+
question: 'Question',
|
|
1184
|
+
problem: 'Problem',
|
|
1185
|
+
bug: 'Bug',
|
|
1186
|
+
feature_request: 'Feature request',
|
|
1187
|
+
},
|
|
1188
|
+
priority: {
|
|
1189
|
+
low: 'Low',
|
|
1190
|
+
medium: 'Medium',
|
|
1191
|
+
high: 'High',
|
|
1192
|
+
critical: 'Critical',
|
|
1193
|
+
},
|
|
1194
|
+
},
|
|
1195
|
+
},
|
|
1110
1196
|
};
|
|
1111
1197
|
export default ru;
|
package/dist/locales/zh.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ declare const zh: {
|
|
|
28
28
|
readonly more: "更多";
|
|
29
29
|
readonly selectAll: "全选";
|
|
30
30
|
readonly clearAll: "清除全部";
|
|
31
|
+
readonly addToFavorites: "添加到收藏";
|
|
32
|
+
readonly removeFromFavorites: "从收藏中移除";
|
|
31
33
|
readonly noData: "暂无数据";
|
|
32
34
|
readonly noResults: "未找到结果";
|
|
33
35
|
readonly required: "必填";
|
|
@@ -241,6 +243,23 @@ declare const zh: {
|
|
|
241
243
|
readonly unassigned: "未分配";
|
|
242
244
|
};
|
|
243
245
|
};
|
|
246
|
+
readonly gantt: {
|
|
247
|
+
readonly column: {
|
|
248
|
+
readonly taskName: "任务名称";
|
|
249
|
+
readonly start: "开始";
|
|
250
|
+
readonly end: "结束";
|
|
251
|
+
};
|
|
252
|
+
readonly toolbar: {
|
|
253
|
+
readonly prevPeriod: "上一周期";
|
|
254
|
+
readonly nextPeriod: "下一周期";
|
|
255
|
+
readonly zoomIn: "放大";
|
|
256
|
+
readonly zoomOut: "缩小";
|
|
257
|
+
readonly jumpToToday: "跳到今天";
|
|
258
|
+
readonly today: "今天";
|
|
259
|
+
readonly showTaskList: "展开任务列表";
|
|
260
|
+
readonly hideTaskList: "收起任务列表";
|
|
261
|
+
};
|
|
262
|
+
};
|
|
244
263
|
readonly view: {
|
|
245
264
|
readonly rename: "重命名";
|
|
246
265
|
readonly duplicateView: "复制视图";
|
|
@@ -274,9 +293,29 @@ declare const zh: {
|
|
|
274
293
|
readonly editInline: "编辑";
|
|
275
294
|
readonly save: "保存";
|
|
276
295
|
readonly saveChanges: "保存更改";
|
|
296
|
+
readonly saving: "保存中…";
|
|
277
297
|
readonly editFieldsInline: "编辑字段";
|
|
298
|
+
readonly lockedByApproval: "审批中已锁定";
|
|
299
|
+
readonly lockedTooltip: "该记录有待审批的请求,编辑已被锁定";
|
|
300
|
+
readonly cancelApproval: "撤回审批";
|
|
301
|
+
readonly cancelApprovalInFlight: "撤回中…";
|
|
302
|
+
readonly cancelApprovalTooltip: "撤回当前的待审批请求以解除记录锁定";
|
|
303
|
+
readonly cancelApprovalFailed: "撤回审批失败";
|
|
304
|
+
readonly cancelApprovalUnavailable: "当前数据源不支持撤回审批";
|
|
305
|
+
readonly linkCopied: "链接已复制到剪贴板";
|
|
306
|
+
readonly linkCopyFailed: "复制链接失败";
|
|
278
307
|
readonly cancel: "取消";
|
|
279
308
|
readonly cancelEdit: "放弃更改";
|
|
309
|
+
readonly sectionMoreDetails: "更多详情";
|
|
310
|
+
readonly concurrentUpdateTitle: "该记录已被他人修改";
|
|
311
|
+
readonly concurrentUpdateDescription: "在你编辑期间,另一位用户保存了 {{field}} 的新版本。为避免无声覆盖对方的改动,请选择如何处理该冲突。";
|
|
312
|
+
readonly concurrentUpdateYourEdit: "你的修改";
|
|
313
|
+
readonly concurrentUpdateCurrentValue: "当前值";
|
|
314
|
+
readonly concurrentUpdateUpdatedBy: "由 {{name}} 更新";
|
|
315
|
+
readonly concurrentUpdateUpdatedAt: "更新于 {{when}}";
|
|
316
|
+
readonly concurrentUpdateReload: "加载最新";
|
|
317
|
+
readonly concurrentUpdateOverwrite: "仍然覆盖";
|
|
318
|
+
readonly concurrentUpdateCancel: "取消";
|
|
280
319
|
readonly openInNewTab: "在新标签页打开";
|
|
281
320
|
readonly share: "分享";
|
|
282
321
|
readonly duplicate: "复制";
|
|
@@ -818,6 +857,7 @@ declare const zh: {
|
|
|
818
857
|
readonly console: {
|
|
819
858
|
readonly title: "ObjectStack 控制台";
|
|
820
859
|
readonly initializing: "正在初始化应用程序...";
|
|
860
|
+
readonly search: "搜索…";
|
|
821
861
|
readonly breadcrumb: {
|
|
822
862
|
readonly dashboards: "仪表盘";
|
|
823
863
|
readonly pages: "页面";
|
|
@@ -1405,5 +1445,72 @@ declare const zh: {
|
|
|
1405
1445
|
readonly noPendingApprovals: "暂无待审批事项";
|
|
1406
1446
|
readonly openApprovalsInbox: "打开审批中心";
|
|
1407
1447
|
};
|
|
1448
|
+
readonly publicForm: {
|
|
1449
|
+
readonly submit: "提交";
|
|
1450
|
+
readonly submitting: "提交中…";
|
|
1451
|
+
readonly submitAnother: "再填一份";
|
|
1452
|
+
readonly poweredBy: "由 ObjectStack 提供技术支持";
|
|
1453
|
+
readonly secureNotice: "您的信息将通过安全通道传输,仅用于回复您本次请求。";
|
|
1454
|
+
readonly thankYouTitle: "感谢您的提交!";
|
|
1455
|
+
readonly thankYouMessage: "我们已成功收到您的信息。";
|
|
1456
|
+
readonly redirecting: "将在 {{seconds}} 秒后跳转…";
|
|
1457
|
+
readonly unavailableTitle: "表单不可用";
|
|
1458
|
+
readonly unavailableDescription: "该链接当前没有可用的公开表单。请确认对应视图已启用匿名分享并匹配此 slug。";
|
|
1459
|
+
readonly tryDemo: "试用演示";
|
|
1460
|
+
readonly retry: "重试";
|
|
1461
|
+
readonly loading: "正在加载表单…";
|
|
1462
|
+
readonly requiredHint: "* 为必填项";
|
|
1463
|
+
readonly consentLabelDefault: "我已阅读并同意隐私政策,授权对本次请求所提供的信息进行处理。";
|
|
1464
|
+
readonly consentLink: "隐私政策";
|
|
1465
|
+
readonly consentRequired: "请先勾选同意隐私政策。";
|
|
1466
|
+
readonly rateLimited: "请再花点时间核对一下您的填写内容,再点击提交。";
|
|
1467
|
+
readonly redirectBlocked: "提交成功,但出于安全考虑,跳转链接已被阻止。";
|
|
1468
|
+
readonly demo: {
|
|
1469
|
+
readonly contactTitle: "联系我们";
|
|
1470
|
+
readonly contactDescription: "告诉我们您的项目需求,销售代表将在一个工作日内与您联系。";
|
|
1471
|
+
readonly supportTitle: "提交支持请求";
|
|
1472
|
+
readonly supportDescription: "描述您遇到的问题,我们的团队会在一个工作日内回复。";
|
|
1473
|
+
readonly thankYouSalesTitle: "已收到您的信息,感谢联系!";
|
|
1474
|
+
readonly thankYouSalesMessage: "我们的销售代表将在一个工作日内与您取得联系。";
|
|
1475
|
+
readonly thankYouSupportTitle: "您的请求已进入处理队列。";
|
|
1476
|
+
readonly thankYouSupportMessage: "支持工程师将尽快跟进。如需补充截图,请保留此页面。";
|
|
1477
|
+
readonly field: {
|
|
1478
|
+
readonly firstName: "名字";
|
|
1479
|
+
readonly lastName: "姓氏";
|
|
1480
|
+
readonly email: "工作邮箱";
|
|
1481
|
+
readonly phone: "电话";
|
|
1482
|
+
readonly jobTitle: "职位";
|
|
1483
|
+
readonly company: "公司";
|
|
1484
|
+
readonly website: "官网";
|
|
1485
|
+
readonly industry: "行业";
|
|
1486
|
+
readonly companySize: "公司规模";
|
|
1487
|
+
readonly howCanWeHelp: "我们可以为您做些什么?";
|
|
1488
|
+
readonly subject: "主题";
|
|
1489
|
+
readonly description: "问题描述";
|
|
1490
|
+
readonly issueType: "问题类型";
|
|
1491
|
+
readonly priority: "优先级";
|
|
1492
|
+
};
|
|
1493
|
+
readonly industry: {
|
|
1494
|
+
readonly technology: "科技";
|
|
1495
|
+
readonly software: "软件 / SaaS";
|
|
1496
|
+
readonly finance: "金融";
|
|
1497
|
+
readonly healthcare: "医疗健康";
|
|
1498
|
+
readonly retail: "零售";
|
|
1499
|
+
readonly other: "其他";
|
|
1500
|
+
};
|
|
1501
|
+
readonly issueType: {
|
|
1502
|
+
readonly question: "咨询";
|
|
1503
|
+
readonly problem: "问题";
|
|
1504
|
+
readonly bug: "缺陷";
|
|
1505
|
+
readonly feature_request: "功能建议";
|
|
1506
|
+
};
|
|
1507
|
+
readonly priority: {
|
|
1508
|
+
readonly low: "低";
|
|
1509
|
+
readonly medium: "中";
|
|
1510
|
+
readonly high: "高";
|
|
1511
|
+
readonly critical: "紧急";
|
|
1512
|
+
};
|
|
1513
|
+
};
|
|
1514
|
+
};
|
|
1408
1515
|
};
|
|
1409
1516
|
export default zh;
|
package/dist/locales/zh.js
CHANGED
|
@@ -28,6 +28,8 @@ const zh = {
|
|
|
28
28
|
more: '更多',
|
|
29
29
|
selectAll: '全选',
|
|
30
30
|
clearAll: '清除全部',
|
|
31
|
+
addToFavorites: '添加到收藏',
|
|
32
|
+
removeFromFavorites: '从收藏中移除',
|
|
31
33
|
noData: '暂无数据',
|
|
32
34
|
noResults: '未找到结果',
|
|
33
35
|
required: '必填',
|
|
@@ -241,6 +243,23 @@ const zh = {
|
|
|
241
243
|
unassigned: '未分配',
|
|
242
244
|
},
|
|
243
245
|
},
|
|
246
|
+
gantt: {
|
|
247
|
+
column: {
|
|
248
|
+
taskName: '任务名称',
|
|
249
|
+
start: '开始',
|
|
250
|
+
end: '结束',
|
|
251
|
+
},
|
|
252
|
+
toolbar: {
|
|
253
|
+
prevPeriod: '上一周期',
|
|
254
|
+
nextPeriod: '下一周期',
|
|
255
|
+
zoomIn: '放大',
|
|
256
|
+
zoomOut: '缩小',
|
|
257
|
+
jumpToToday: '跳到今天',
|
|
258
|
+
today: '今天',
|
|
259
|
+
showTaskList: '展开任务列表',
|
|
260
|
+
hideTaskList: '收起任务列表',
|
|
261
|
+
},
|
|
262
|
+
},
|
|
244
263
|
view: {
|
|
245
264
|
rename: '重命名',
|
|
246
265
|
duplicateView: '复制视图',
|
|
@@ -274,9 +293,30 @@ const zh = {
|
|
|
274
293
|
editInline: '编辑',
|
|
275
294
|
save: '保存',
|
|
276
295
|
saveChanges: '保存更改',
|
|
296
|
+
saving: '保存中…',
|
|
277
297
|
editFieldsInline: '编辑字段',
|
|
298
|
+
lockedByApproval: '审批中已锁定',
|
|
299
|
+
lockedTooltip: '该记录有待审批的请求,编辑已被锁定',
|
|
300
|
+
cancelApproval: '撤回审批',
|
|
301
|
+
cancelApprovalInFlight: '撤回中…',
|
|
302
|
+
cancelApprovalTooltip: '撤回当前的待审批请求以解除记录锁定',
|
|
303
|
+
cancelApprovalFailed: '撤回审批失败',
|
|
304
|
+
cancelApprovalUnavailable: '当前数据源不支持撤回审批',
|
|
305
|
+
linkCopied: '链接已复制到剪贴板',
|
|
306
|
+
linkCopyFailed: '复制链接失败',
|
|
278
307
|
cancel: '取消',
|
|
279
308
|
cancelEdit: '放弃更改',
|
|
309
|
+
sectionMoreDetails: '更多详情',
|
|
310
|
+
// Concurrent update (OCC) dialog
|
|
311
|
+
concurrentUpdateTitle: '该记录已被他人修改',
|
|
312
|
+
concurrentUpdateDescription: '在你编辑期间,另一位用户保存了 {{field}} 的新版本。为避免无声覆盖对方的改动,请选择如何处理该冲突。',
|
|
313
|
+
concurrentUpdateYourEdit: '你的修改',
|
|
314
|
+
concurrentUpdateCurrentValue: '当前值',
|
|
315
|
+
concurrentUpdateUpdatedBy: '由 {{name}} 更新',
|
|
316
|
+
concurrentUpdateUpdatedAt: '更新于 {{when}}',
|
|
317
|
+
concurrentUpdateReload: '加载最新',
|
|
318
|
+
concurrentUpdateOverwrite: '仍然覆盖',
|
|
319
|
+
concurrentUpdateCancel: '取消',
|
|
280
320
|
openInNewTab: '在新标签页打开',
|
|
281
321
|
share: '分享',
|
|
282
322
|
duplicate: '复制',
|
|
@@ -829,6 +869,7 @@ const zh = {
|
|
|
829
869
|
console: {
|
|
830
870
|
title: 'ObjectStack 控制台',
|
|
831
871
|
initializing: '正在初始化应用程序...',
|
|
872
|
+
search: '搜索…',
|
|
832
873
|
breadcrumb: {
|
|
833
874
|
dashboards: '仪表盘',
|
|
834
875
|
pages: '页面',
|
|
@@ -1416,5 +1457,72 @@ const zh = {
|
|
|
1416
1457
|
noPendingApprovals: '暂无待审批事项',
|
|
1417
1458
|
openApprovalsInbox: '打开审批中心',
|
|
1418
1459
|
},
|
|
1460
|
+
publicForm: {
|
|
1461
|
+
submit: '提交',
|
|
1462
|
+
submitting: '提交中…',
|
|
1463
|
+
submitAnother: '再填一份',
|
|
1464
|
+
poweredBy: '由 ObjectStack 提供技术支持',
|
|
1465
|
+
secureNotice: '您的信息将通过安全通道传输,仅用于回复您本次请求。',
|
|
1466
|
+
thankYouTitle: '感谢您的提交!',
|
|
1467
|
+
thankYouMessage: '我们已成功收到您的信息。',
|
|
1468
|
+
redirecting: '将在 {{seconds}} 秒后跳转…',
|
|
1469
|
+
unavailableTitle: '表单不可用',
|
|
1470
|
+
unavailableDescription: '该链接当前没有可用的公开表单。请确认对应视图已启用匿名分享并匹配此 slug。',
|
|
1471
|
+
tryDemo: '试用演示',
|
|
1472
|
+
retry: '重试',
|
|
1473
|
+
loading: '正在加载表单…',
|
|
1474
|
+
requiredHint: '* 为必填项',
|
|
1475
|
+
consentLabelDefault: '我已阅读并同意隐私政策,授权对本次请求所提供的信息进行处理。',
|
|
1476
|
+
consentLink: '隐私政策',
|
|
1477
|
+
consentRequired: '请先勾选同意隐私政策。',
|
|
1478
|
+
rateLimited: '请再花点时间核对一下您的填写内容,再点击提交。',
|
|
1479
|
+
redirectBlocked: '提交成功,但出于安全考虑,跳转链接已被阻止。',
|
|
1480
|
+
demo: {
|
|
1481
|
+
contactTitle: '联系我们',
|
|
1482
|
+
contactDescription: '告诉我们您的项目需求,销售代表将在一个工作日内与您联系。',
|
|
1483
|
+
supportTitle: '提交支持请求',
|
|
1484
|
+
supportDescription: '描述您遇到的问题,我们的团队会在一个工作日内回复。',
|
|
1485
|
+
thankYouSalesTitle: '已收到您的信息,感谢联系!',
|
|
1486
|
+
thankYouSalesMessage: '我们的销售代表将在一个工作日内与您取得联系。',
|
|
1487
|
+
thankYouSupportTitle: '您的请求已进入处理队列。',
|
|
1488
|
+
thankYouSupportMessage: '支持工程师将尽快跟进。如需补充截图,请保留此页面。',
|
|
1489
|
+
field: {
|
|
1490
|
+
firstName: '名字',
|
|
1491
|
+
lastName: '姓氏',
|
|
1492
|
+
email: '工作邮箱',
|
|
1493
|
+
phone: '电话',
|
|
1494
|
+
jobTitle: '职位',
|
|
1495
|
+
company: '公司',
|
|
1496
|
+
website: '官网',
|
|
1497
|
+
industry: '行业',
|
|
1498
|
+
companySize: '公司规模',
|
|
1499
|
+
howCanWeHelp: '我们可以为您做些什么?',
|
|
1500
|
+
subject: '主题',
|
|
1501
|
+
description: '问题描述',
|
|
1502
|
+
issueType: '问题类型',
|
|
1503
|
+
priority: '优先级',
|
|
1504
|
+
},
|
|
1505
|
+
industry: {
|
|
1506
|
+
technology: '科技',
|
|
1507
|
+
software: '软件 / SaaS',
|
|
1508
|
+
finance: '金融',
|
|
1509
|
+
healthcare: '医疗健康',
|
|
1510
|
+
retail: '零售',
|
|
1511
|
+
other: '其他',
|
|
1512
|
+
},
|
|
1513
|
+
issueType: {
|
|
1514
|
+
question: '咨询',
|
|
1515
|
+
problem: '问题',
|
|
1516
|
+
bug: '缺陷',
|
|
1517
|
+
feature_request: '功能建议',
|
|
1518
|
+
},
|
|
1519
|
+
priority: {
|
|
1520
|
+
low: '低',
|
|
1521
|
+
medium: '中',
|
|
1522
|
+
high: '高',
|
|
1523
|
+
critical: '紧急',
|
|
1524
|
+
},
|
|
1525
|
+
},
|
|
1526
|
+
},
|
|
1419
1527
|
};
|
|
1420
1528
|
export default zh;
|
package/dist/useObjectLabel.d.ts
CHANGED
|
@@ -159,6 +159,21 @@ export declare function useObjectLabel(): {
|
|
|
159
159
|
* Convention: `{ns}.objects.{objectName}._views.{viewName}.description`.
|
|
160
160
|
*/
|
|
161
161
|
viewDescription: (objectName: string, viewName: string, fallback?: string) => string | undefined;
|
|
162
|
+
/**
|
|
163
|
+
* Resolve translated list-view emptyState. Returns a {title, message}
|
|
164
|
+
* tuple with each field independently translated. Convention:
|
|
165
|
+
* `{ns}.objects.{objectName}._views.{viewName}.emptyState.title`
|
|
166
|
+
* `{ns}.objects.{objectName}._views.{viewName}.emptyState.message`
|
|
167
|
+
*/
|
|
168
|
+
viewEmptyState: (objectName: string, viewName: string, fallback: {
|
|
169
|
+
title?: string;
|
|
170
|
+
message?: string;
|
|
171
|
+
icon?: string;
|
|
172
|
+
} | undefined) => {
|
|
173
|
+
title: string | undefined;
|
|
174
|
+
message: string | undefined;
|
|
175
|
+
icon?: string;
|
|
176
|
+
} | undefined;
|
|
162
177
|
/**
|
|
163
178
|
* Resolve translated form-section label.
|
|
164
179
|
* Convention: `{ns}.objects.{objectName}._sections.{sectionName}.label`.
|
package/dist/useObjectLabel.js
CHANGED
|
@@ -75,6 +75,8 @@ export function useObjectLabel() {
|
|
|
75
75
|
* package namespace from the base name; everything after is preserved.
|
|
76
76
|
*/
|
|
77
77
|
const stripNamespace = (name) => {
|
|
78
|
+
if (typeof name !== 'string')
|
|
79
|
+
return '';
|
|
78
80
|
const idx = name.indexOf('__');
|
|
79
81
|
return idx > 0 ? name.slice(idx + 2) : name;
|
|
80
82
|
};
|
|
@@ -268,6 +270,23 @@ export function useObjectLabel() {
|
|
|
268
270
|
const resolved = resolve(objectSuffixes(objectName, `_views.${viewName}.description`), fb);
|
|
269
271
|
return resolved || undefined;
|
|
270
272
|
},
|
|
273
|
+
/**
|
|
274
|
+
* Resolve translated list-view emptyState. Returns a {title, message}
|
|
275
|
+
* tuple with each field independently translated. Convention:
|
|
276
|
+
* `{ns}.objects.{objectName}._views.{viewName}.emptyState.title`
|
|
277
|
+
* `{ns}.objects.{objectName}._views.{viewName}.emptyState.message`
|
|
278
|
+
*/
|
|
279
|
+
viewEmptyState: (objectName, viewName, fallback) => {
|
|
280
|
+
if (!fallback)
|
|
281
|
+
return undefined;
|
|
282
|
+
const title = fallback.title
|
|
283
|
+
? resolve(objectSuffixes(objectName, `_views.${viewName}.emptyState.title`), fallback.title)
|
|
284
|
+
: fallback.title;
|
|
285
|
+
const message = fallback.message
|
|
286
|
+
? resolve(objectSuffixes(objectName, `_views.${viewName}.emptyState.message`), fallback.message)
|
|
287
|
+
: fallback.message;
|
|
288
|
+
return { ...fallback, title, message };
|
|
289
|
+
},
|
|
271
290
|
/**
|
|
272
291
|
* Resolve translated form-section label.
|
|
273
292
|
* Convention: `{ns}.objects.{objectName}._sections.{sectionName}.label`.
|