@kinetis/vector-ui 0.0.0-stage → 0.9.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 +34 -0
- package/LICENSE +18 -0
- package/README.md +72 -2
- package/app/app.config.ts +63 -0
- package/app/app.vue +11 -0
- package/app/components/Vx/Action/Dialog.vue +107 -0
- package/app/components/Vx/Cell/Boolean.vue +10 -0
- package/app/components/Vx/Cell/Color.vue +12 -0
- package/app/components/Vx/Cell/Count.vue +12 -0
- package/app/components/Vx/Cell/Date.vue +10 -0
- package/app/components/Vx/Cell/DateTime.vue +10 -0
- package/app/components/Vx/Cell/Email.vue +9 -0
- package/app/components/Vx/Cell/Enum.vue +14 -0
- package/app/components/Vx/Cell/File.vue +30 -0
- package/app/components/Vx/Cell/Image.vue +38 -0
- package/app/components/Vx/Cell/Json.vue +18 -0
- package/app/components/Vx/Cell/KeyValue.vue +25 -0
- package/app/components/Vx/Cell/Markdown.vue +18 -0
- package/app/components/Vx/Cell/Money.vue +16 -0
- package/app/components/Vx/Cell/Number.vue +16 -0
- package/app/components/Vx/Cell/Relation.vue +16 -0
- package/app/components/Vx/Cell/RichText.vue +41 -0
- package/app/components/Vx/Cell/Text.vue +13 -0
- package/app/components/Vx/Cell/Url.vue +11 -0
- package/app/components/Vx/Cell.vue +25 -0
- package/app/components/Vx/CommandPalette.vue +118 -0
- package/app/components/Vx/Confirm.vue +19 -0
- package/app/components/Vx/Dashboard.vue +27 -0
- package/app/components/Vx/FieldsForm.vue +46 -0
- package/app/components/Vx/Import/Dialog.vue +131 -0
- package/app/components/Vx/Inbox.vue +49 -0
- package/app/components/Vx/Input/Boolean.vue +10 -0
- package/app/components/Vx/Input/Currency.vue +25 -0
- package/app/components/Vx/Input/DateTime.vue +38 -0
- package/app/components/Vx/Input/Enum.vue +21 -0
- package/app/components/Vx/Input/KeyValue.vue +78 -0
- package/app/components/Vx/Input/Markdown.vue +120 -0
- package/app/components/Vx/Input/Money.vue +47 -0
- package/app/components/Vx/Input/Number.vue +24 -0
- package/app/components/Vx/Input/Relation.vue +127 -0
- package/app/components/Vx/Input/Repeater.vue +134 -0
- package/app/components/Vx/Input/RichText.vue +182 -0
- package/app/components/Vx/Input/Text.vue +21 -0
- package/app/components/Vx/Input/Textarea.vue +20 -0
- package/app/components/Vx/Input/Upload.vue +89 -0
- package/app/components/Vx/Layout.vue +111 -0
- package/app/components/Vx/List/BulkBar.vue +44 -0
- package/app/components/Vx/List/BulkEdit.vue +91 -0
- package/app/components/Vx/List/ColumnManager.vue +74 -0
- package/app/components/Vx/List/FilterBar.vue +224 -0
- package/app/components/Vx/List/ViewMenu.vue +115 -0
- package/app/components/Vx/Notifications.vue +9 -0
- package/app/components/Vx/Resource/Audit.vue +82 -0
- package/app/components/Vx/Resource/Form.vue +351 -0
- package/app/components/Vx/Resource/RelationPanel.vue +217 -0
- package/app/components/Vx/Resource/Show.vue +35 -0
- package/app/components/Vx/Resource/Table.vue +513 -0
- package/app/components/Vx/Widget/Card.vue +80 -0
- package/app/components/Vx/Widget/Partition.vue +21 -0
- package/app/components/Vx/Widget/Progress.vue +22 -0
- package/app/components/Vx/Widget/Stat.vue +22 -0
- package/app/components/Vx/Widget/Table.vue +31 -0
- package/app/components/Vx/Widget/Trend.vue +37 -0
- package/app/composables/useConfirm.ts +34 -0
- package/app/composables/useLeaveGuard.ts +21 -0
- package/app/composables/useVectorApi.ts +74 -0
- package/app/composables/useVectorAuthStore.ts +252 -0
- package/app/composables/useVectorBranding.ts +45 -0
- package/app/composables/useVectorDashboards.ts +15 -0
- package/app/composables/useVectorExtensions.ts +44 -0
- package/app/composables/useVectorFields.ts +68 -0
- package/app/composables/useVectorForm.ts +36 -0
- package/app/composables/useVectorIdle.ts +39 -0
- package/app/composables/useVectorImpersonation.ts +78 -0
- package/app/composables/useVectorInputs.ts +61 -0
- package/app/composables/useVectorJobs.ts +62 -0
- package/app/composables/useVectorLocale.ts +70 -0
- package/app/composables/useVectorNotifications.ts +24 -0
- package/app/composables/useVectorNotificationsInbox.ts +26 -0
- package/app/composables/useVectorPreferences.ts +30 -0
- package/app/composables/useVectorResource.ts +305 -0
- package/app/composables/useVectorRuntime.ts +42 -0
- package/app/composables/useVectorSchema.ts +56 -0
- package/app/composables/useVectorT.ts +9 -0
- package/app/composables/useVectorViews.ts +25 -0
- package/app/i18n/ar/actions.ts +11 -0
- package/app/i18n/ar/common.ts +23 -0
- package/app/i18n/ar/dashboard.ts +28 -0
- package/app/i18n/ar/fields.ts +77 -0
- package/app/i18n/ar/index.ts +12 -0
- package/app/i18n/ar/jobs.ts +36 -0
- package/app/i18n/ar/list.ts +160 -0
- package/app/i18n/ar/record.ts +62 -0
- package/app/i18n/ar/settings.ts +10 -0
- package/app/i18n/ar/shell.ts +54 -0
- package/app/i18n/de/actions.ts +11 -0
- package/app/i18n/de/common.ts +23 -0
- package/app/i18n/de/dashboard.ts +28 -0
- package/app/i18n/de/fields.ts +77 -0
- package/app/i18n/de/index.ts +12 -0
- package/app/i18n/de/jobs.ts +36 -0
- package/app/i18n/de/list.ts +160 -0
- package/app/i18n/de/record.ts +62 -0
- package/app/i18n/de/settings.ts +10 -0
- package/app/i18n/de/shell.ts +54 -0
- package/app/i18n/en/actions.ts +11 -0
- package/app/i18n/en/common.ts +23 -0
- package/app/i18n/en/dashboard.ts +28 -0
- package/app/i18n/en/fields.ts +77 -0
- package/app/i18n/en/index.ts +12 -0
- package/app/i18n/en/jobs.ts +36 -0
- package/app/i18n/en/list.ts +160 -0
- package/app/i18n/en/record.ts +62 -0
- package/app/i18n/en/settings.ts +10 -0
- package/app/i18n/en/shell.ts +54 -0
- package/app/i18n/es/actions.ts +11 -0
- package/app/i18n/es/common.ts +23 -0
- package/app/i18n/es/dashboard.ts +28 -0
- package/app/i18n/es/fields.ts +77 -0
- package/app/i18n/es/index.ts +12 -0
- package/app/i18n/es/jobs.ts +36 -0
- package/app/i18n/es/list.ts +160 -0
- package/app/i18n/es/record.ts +62 -0
- package/app/i18n/es/settings.ts +10 -0
- package/app/i18n/es/shell.ts +54 -0
- package/app/i18n/fr/actions.ts +11 -0
- package/app/i18n/fr/common.ts +23 -0
- package/app/i18n/fr/dashboard.ts +28 -0
- package/app/i18n/fr/fields.ts +77 -0
- package/app/i18n/fr/index.ts +12 -0
- package/app/i18n/fr/jobs.ts +36 -0
- package/app/i18n/fr/list.ts +160 -0
- package/app/i18n/fr/record.ts +62 -0
- package/app/i18n/fr/settings.ts +10 -0
- package/app/i18n/fr/shell.ts +54 -0
- package/app/i18n/he/actions.ts +11 -0
- package/app/i18n/he/common.ts +23 -0
- package/app/i18n/he/dashboard.ts +28 -0
- package/app/i18n/he/fields.ts +77 -0
- package/app/i18n/he/index.ts +12 -0
- package/app/i18n/he/jobs.ts +36 -0
- package/app/i18n/he/list.ts +160 -0
- package/app/i18n/he/record.ts +62 -0
- package/app/i18n/he/settings.ts +10 -0
- package/app/i18n/he/shell.ts +54 -0
- package/app/i18n/index.ts +111 -0
- package/app/i18n/it/actions.ts +11 -0
- package/app/i18n/it/common.ts +23 -0
- package/app/i18n/it/dashboard.ts +28 -0
- package/app/i18n/it/fields.ts +77 -0
- package/app/i18n/it/index.ts +12 -0
- package/app/i18n/it/jobs.ts +36 -0
- package/app/i18n/it/list.ts +160 -0
- package/app/i18n/it/record.ts +62 -0
- package/app/i18n/it/settings.ts +10 -0
- package/app/i18n/it/shell.ts +54 -0
- package/app/i18n/ja/actions.ts +11 -0
- package/app/i18n/ja/common.ts +23 -0
- package/app/i18n/ja/dashboard.ts +28 -0
- package/app/i18n/ja/fields.ts +77 -0
- package/app/i18n/ja/index.ts +12 -0
- package/app/i18n/ja/jobs.ts +36 -0
- package/app/i18n/ja/list.ts +160 -0
- package/app/i18n/ja/record.ts +62 -0
- package/app/i18n/ja/settings.ts +10 -0
- package/app/i18n/ja/shell.ts +54 -0
- package/app/i18n/ko/actions.ts +11 -0
- package/app/i18n/ko/common.ts +23 -0
- package/app/i18n/ko/dashboard.ts +28 -0
- package/app/i18n/ko/fields.ts +77 -0
- package/app/i18n/ko/index.ts +12 -0
- package/app/i18n/ko/jobs.ts +36 -0
- package/app/i18n/ko/list.ts +160 -0
- package/app/i18n/ko/record.ts +62 -0
- package/app/i18n/ko/settings.ts +10 -0
- package/app/i18n/ko/shell.ts +54 -0
- package/app/i18n/nl/actions.ts +11 -0
- package/app/i18n/nl/common.ts +23 -0
- package/app/i18n/nl/dashboard.ts +28 -0
- package/app/i18n/nl/fields.ts +77 -0
- package/app/i18n/nl/index.ts +12 -0
- package/app/i18n/nl/jobs.ts +36 -0
- package/app/i18n/nl/list.ts +160 -0
- package/app/i18n/nl/record.ts +62 -0
- package/app/i18n/nl/settings.ts +10 -0
- package/app/i18n/nl/shell.ts +54 -0
- package/app/i18n/pl/actions.ts +11 -0
- package/app/i18n/pl/common.ts +23 -0
- package/app/i18n/pl/dashboard.ts +28 -0
- package/app/i18n/pl/fields.ts +77 -0
- package/app/i18n/pl/index.ts +12 -0
- package/app/i18n/pl/jobs.ts +36 -0
- package/app/i18n/pl/list.ts +160 -0
- package/app/i18n/pl/record.ts +62 -0
- package/app/i18n/pl/settings.ts +10 -0
- package/app/i18n/pl/shell.ts +54 -0
- package/app/i18n/pt/actions.ts +11 -0
- package/app/i18n/pt/common.ts +23 -0
- package/app/i18n/pt/dashboard.ts +28 -0
- package/app/i18n/pt/fields.ts +77 -0
- package/app/i18n/pt/index.ts +12 -0
- package/app/i18n/pt/jobs.ts +36 -0
- package/app/i18n/pt/list.ts +160 -0
- package/app/i18n/pt/record.ts +62 -0
- package/app/i18n/pt/settings.ts +10 -0
- package/app/i18n/pt/shell.ts +54 -0
- package/app/i18n/pt-BR/actions.ts +11 -0
- package/app/i18n/pt-BR/common.ts +23 -0
- package/app/i18n/pt-BR/dashboard.ts +28 -0
- package/app/i18n/pt-BR/fields.ts +77 -0
- package/app/i18n/pt-BR/index.ts +12 -0
- package/app/i18n/pt-BR/jobs.ts +36 -0
- package/app/i18n/pt-BR/list.ts +160 -0
- package/app/i18n/pt-BR/record.ts +62 -0
- package/app/i18n/pt-BR/settings.ts +10 -0
- package/app/i18n/pt-BR/shell.ts +54 -0
- package/app/i18n/ru/actions.ts +11 -0
- package/app/i18n/ru/common.ts +23 -0
- package/app/i18n/ru/dashboard.ts +28 -0
- package/app/i18n/ru/fields.ts +77 -0
- package/app/i18n/ru/index.ts +12 -0
- package/app/i18n/ru/jobs.ts +36 -0
- package/app/i18n/ru/list.ts +160 -0
- package/app/i18n/ru/record.ts +62 -0
- package/app/i18n/ru/settings.ts +10 -0
- package/app/i18n/ru/shell.ts +54 -0
- package/app/i18n/tr/actions.ts +11 -0
- package/app/i18n/tr/common.ts +23 -0
- package/app/i18n/tr/dashboard.ts +28 -0
- package/app/i18n/tr/fields.ts +77 -0
- package/app/i18n/tr/index.ts +12 -0
- package/app/i18n/tr/jobs.ts +36 -0
- package/app/i18n/tr/list.ts +160 -0
- package/app/i18n/tr/record.ts +62 -0
- package/app/i18n/tr/settings.ts +10 -0
- package/app/i18n/tr/shell.ts +54 -0
- package/app/i18n/uk/actions.ts +11 -0
- package/app/i18n/uk/common.ts +23 -0
- package/app/i18n/uk/dashboard.ts +28 -0
- package/app/i18n/uk/fields.ts +77 -0
- package/app/i18n/uk/index.ts +12 -0
- package/app/i18n/uk/jobs.ts +36 -0
- package/app/i18n/uk/list.ts +160 -0
- package/app/i18n/uk/record.ts +62 -0
- package/app/i18n/uk/settings.ts +10 -0
- package/app/i18n/uk/shell.ts +54 -0
- package/app/i18n/zh-Hans/actions.ts +11 -0
- package/app/i18n/zh-Hans/common.ts +23 -0
- package/app/i18n/zh-Hans/dashboard.ts +28 -0
- package/app/i18n/zh-Hans/fields.ts +77 -0
- package/app/i18n/zh-Hans/index.ts +12 -0
- package/app/i18n/zh-Hans/jobs.ts +36 -0
- package/app/i18n/zh-Hans/list.ts +160 -0
- package/app/i18n/zh-Hans/record.ts +62 -0
- package/app/i18n/zh-Hans/settings.ts +10 -0
- package/app/i18n/zh-Hans/shell.ts +54 -0
- package/app/layouts/default.vue +8 -0
- package/app/layouts/vector.vue +238 -0
- package/app/middleware/vector-auth.ts +16 -0
- package/app/pages/d/[name].vue +12 -0
- package/app/pages/index.vue +22 -0
- package/app/pages/jobs/[id].vue +52 -0
- package/app/pages/jobs/index.vue +42 -0
- package/app/pages/login.vue +109 -0
- package/app/pages/p/[name].vue +37 -0
- package/app/pages/r/[resource]/[id]/edit.vue +54 -0
- package/app/pages/r/[resource]/[id]/index.vue +143 -0
- package/app/pages/r/[resource]/create.vue +53 -0
- package/app/pages/r/[resource]/index.vue +29 -0
- package/app/pages/settings.vue +104 -0
- package/app/plugins/vector-csp.client.ts +14 -0
- package/app/plugins/vector-extensions.client.ts +84 -0
- package/app/plugins/vector-i18n.ts +76 -0
- package/app/types/vector.ts +438 -0
- package/app/utils/files.ts +14 -0
- package/app/utils/format.ts +100 -0
- package/app/utils/richtext.ts +305 -0
- package/app/utils/rules.ts +113 -0
- package/app/utils/translate.ts +45 -0
- package/app/utils/widgets.ts +11 -0
- package/nuxt.config.ts +83 -0
- package/package.json +83 -5
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// The dashboard area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
title: '仪表盘',
|
|
4
|
+
range: '时间范围',
|
|
5
|
+
loading: '加载中',
|
|
6
|
+
percent: '{value}%',
|
|
7
|
+
duration: {
|
|
8
|
+
minutes: '{value} 分钟',
|
|
9
|
+
hours: '{value} 小时',
|
|
10
|
+
},
|
|
11
|
+
partition: {
|
|
12
|
+
empty: '此范围内没有数据。',
|
|
13
|
+
},
|
|
14
|
+
progress: {
|
|
15
|
+
of: '/ {target}',
|
|
16
|
+
label: '进度',
|
|
17
|
+
},
|
|
18
|
+
stat: {
|
|
19
|
+
previous: '之前为 {value}',
|
|
20
|
+
},
|
|
21
|
+
table: {
|
|
22
|
+
empty: '暂无内容。',
|
|
23
|
+
seeAll: '查看全部',
|
|
24
|
+
},
|
|
25
|
+
trend: {
|
|
26
|
+
total: '合计 {value}',
|
|
27
|
+
},
|
|
28
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// The fields area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
cell: {
|
|
4
|
+
loading: '正在加载{label}',
|
|
5
|
+
},
|
|
6
|
+
keyValue: {
|
|
7
|
+
key: '键',
|
|
8
|
+
value: '值',
|
|
9
|
+
entry: '条目 {n}',
|
|
10
|
+
add: '添加条目',
|
|
11
|
+
remove: '移除条目 {n}',
|
|
12
|
+
more: '另外 +{count} 项',
|
|
13
|
+
repeated: '重复使用:{keys}。将保留最后一个。',
|
|
14
|
+
},
|
|
15
|
+
repeater: {
|
|
16
|
+
add: '添加{label}',
|
|
17
|
+
remove: '移除{label} {n}',
|
|
18
|
+
row: '{label} {n}',
|
|
19
|
+
count: '{count} / 最多 {max}',
|
|
20
|
+
unavailable: '你无权查看这些行。',
|
|
21
|
+
},
|
|
22
|
+
relation: {
|
|
23
|
+
placeholder: '输入以搜索',
|
|
24
|
+
dependsFirst: '请先选择{label}',
|
|
25
|
+
},
|
|
26
|
+
upload: {
|
|
27
|
+
storageKey: '文件的存储键。',
|
|
28
|
+
tooLarge: '文件大于 {size} MB。',
|
|
29
|
+
rejected: '文件{message}',
|
|
30
|
+
uploaded: '已上传 {name}({size} KB)',
|
|
31
|
+
theFile: '该文件',
|
|
32
|
+
upTo: '最大 {size} MB',
|
|
33
|
+
preview: '{label}预览',
|
|
34
|
+
remove: '移除{label}',
|
|
35
|
+
},
|
|
36
|
+
richtext: {
|
|
37
|
+
toolbar: '{label}格式',
|
|
38
|
+
bold: '粗体',
|
|
39
|
+
italic: '斜体',
|
|
40
|
+
underline: '下划线',
|
|
41
|
+
strike: '删除线',
|
|
42
|
+
code: '代码',
|
|
43
|
+
heading: '标题 {level}',
|
|
44
|
+
bulletList: '项目符号列表',
|
|
45
|
+
orderedList: '编号列表',
|
|
46
|
+
blockquote: '引用',
|
|
47
|
+
codeBlock: '代码块',
|
|
48
|
+
horizontalRule: '分隔线',
|
|
49
|
+
link: '链接',
|
|
50
|
+
linkUrl: '链接地址',
|
|
51
|
+
linkRefused: '请使用 http(s)、mailto 或相对链接',
|
|
52
|
+
insertTable: '插入表格',
|
|
53
|
+
addRow: '添加行',
|
|
54
|
+
addColumn: '添加列',
|
|
55
|
+
deleteRow: '删除行',
|
|
56
|
+
deleteColumn: '删除列',
|
|
57
|
+
deleteTable: '删除表格',
|
|
58
|
+
image: '插入图片',
|
|
59
|
+
undo: '撤销',
|
|
60
|
+
redo: '重做',
|
|
61
|
+
source: '源码',
|
|
62
|
+
visual: '可视化',
|
|
63
|
+
sourceOf: '{label}源码',
|
|
64
|
+
},
|
|
65
|
+
rules: {
|
|
66
|
+
maxLength: '最多 {max} 个字符',
|
|
67
|
+
minLength: '至少 {min} 个字符',
|
|
68
|
+
email: '请输入有效的电子邮件地址',
|
|
69
|
+
url: '请输入有效的 URL',
|
|
70
|
+
greaterThan: '必须大于 {limit}',
|
|
71
|
+
greaterThanOrEqual: '必须至少为 {limit}',
|
|
72
|
+
lessThan: '必须小于 {limit}',
|
|
73
|
+
lessThanOrEqual: '必须最多为 {limit}',
|
|
74
|
+
invalidFormat: '格式无效',
|
|
75
|
+
notAllowed: '不是允许的值',
|
|
76
|
+
},
|
|
77
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import actions from './actions'
|
|
2
|
+
import common from './common'
|
|
3
|
+
import dashboard from './dashboard'
|
|
4
|
+
import fields from './fields'
|
|
5
|
+
import jobs from './jobs'
|
|
6
|
+
import list from './list'
|
|
7
|
+
import record from './record'
|
|
8
|
+
import settings from './settings'
|
|
9
|
+
import shell from './shell'
|
|
10
|
+
|
|
11
|
+
/** Simplified Chinese (machine translation): one object per area of the UI, mirroring en. */
|
|
12
|
+
export default { common, shell, list, record, actions, dashboard, jobs, settings, fields }
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// The jobs area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
title: '任务',
|
|
4
|
+
heading: '后台任务',
|
|
5
|
+
columns: {
|
|
6
|
+
job: '任务',
|
|
7
|
+
resource: '资源',
|
|
8
|
+
status: '状态',
|
|
9
|
+
progress: '进度',
|
|
10
|
+
started: '开始时间',
|
|
11
|
+
},
|
|
12
|
+
empty: '暂无任务。大型导出、导入和排队的操作会显示在这里。',
|
|
13
|
+
kind: {
|
|
14
|
+
action: '操作',
|
|
15
|
+
export: '导出',
|
|
16
|
+
import: '导入',
|
|
17
|
+
},
|
|
18
|
+
status: {
|
|
19
|
+
queued: '排队中',
|
|
20
|
+
running: '运行中',
|
|
21
|
+
done: '已完成',
|
|
22
|
+
failed: '失败',
|
|
23
|
+
stalled: '停滞',
|
|
24
|
+
},
|
|
25
|
+
detail: {
|
|
26
|
+
pageTitle: '任务 #{id}',
|
|
27
|
+
fallbackTitle: '任务',
|
|
28
|
+
started: '开始于 {date}',
|
|
29
|
+
finished: '完成于 {date}',
|
|
30
|
+
progress: '任务进度',
|
|
31
|
+
processed: '已处理 {processed} 条',
|
|
32
|
+
processedOfTotal: '已处理 {processed} / {total} 条',
|
|
33
|
+
download: '下载{file}',
|
|
34
|
+
file: '文件',
|
|
35
|
+
},
|
|
36
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// The list area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
field: '字段',
|
|
4
|
+
search: '搜索{label}…',
|
|
5
|
+
noSearch: '没有可搜索的字段',
|
|
6
|
+
noGrouping: '不分组',
|
|
7
|
+
groupBy: '分组依据',
|
|
8
|
+
groupHeader: '{label}:',
|
|
9
|
+
expandGroup: '展开分组',
|
|
10
|
+
collapseGroup: '折叠分组',
|
|
11
|
+
trash: {
|
|
12
|
+
label: '回收站',
|
|
13
|
+
active: '正常',
|
|
14
|
+
only: '回收站',
|
|
15
|
+
with: '正常和回收站',
|
|
16
|
+
},
|
|
17
|
+
exportCsv: '导出 CSV',
|
|
18
|
+
importCsv: '导入 CSV',
|
|
19
|
+
exportQueued: '导出数据量较大,已加入队列;完成后会通知你。',
|
|
20
|
+
exportPrepared: '正在准备导出;完成后会通知你。',
|
|
21
|
+
export: '导出',
|
|
22
|
+
exportFormats: {
|
|
23
|
+
csv: 'CSV',
|
|
24
|
+
xlsx: 'Excel (XLSX)',
|
|
25
|
+
},
|
|
26
|
+
nothingMatches: '没有匹配项',
|
|
27
|
+
empty: '暂无{label}',
|
|
28
|
+
summary: {
|
|
29
|
+
sum: '合计',
|
|
30
|
+
avg: '平均值',
|
|
31
|
+
min: '最小值',
|
|
32
|
+
max: '最大值',
|
|
33
|
+
count: '计数',
|
|
34
|
+
},
|
|
35
|
+
operation: {
|
|
36
|
+
deleteTitle: '删除 {count} 个{noun}?',
|
|
37
|
+
restoreTitle: '恢复 {count} 个{noun}?',
|
|
38
|
+
forceDeleteTitle: '永久删除 {count} 个{noun}?',
|
|
39
|
+
toTrash: '它们将移至回收站,可以恢复。',
|
|
40
|
+
irreversible: '此操作无法撤销。',
|
|
41
|
+
restored: '已恢复 {count} 个{noun}。',
|
|
42
|
+
deleted: '已删除 {count} 个{noun}。',
|
|
43
|
+
},
|
|
44
|
+
bulk: {
|
|
45
|
+
allMatching: '全部 {total} 个匹配项',
|
|
46
|
+
selected: '已选择 {count} 个',
|
|
47
|
+
selectAllMatching: '选择全部 {total} 个匹配项',
|
|
48
|
+
onlyChecked: '仅勾选的行',
|
|
49
|
+
clearSelection: '清除选择',
|
|
50
|
+
},
|
|
51
|
+
bulkEdit: {
|
|
52
|
+
everyMatching: '所有匹配的{noun}({count})',
|
|
53
|
+
some: '{count} 个{noun}',
|
|
54
|
+
title: '编辑{subject}',
|
|
55
|
+
fieldsToChange: '要更改的字段',
|
|
56
|
+
fieldsHint: '只写入你选择的字段;其他值保持不变。',
|
|
57
|
+
applyTo: '应用到 {count} 个',
|
|
58
|
+
updated: '已更新 {count} 个{noun}。',
|
|
59
|
+
},
|
|
60
|
+
columns: {
|
|
61
|
+
title: '列',
|
|
62
|
+
moveUp: '上移',
|
|
63
|
+
moveDown: '下移',
|
|
64
|
+
reset: '重置',
|
|
65
|
+
},
|
|
66
|
+
filter: {
|
|
67
|
+
add: '添加筛选',
|
|
68
|
+
condition: '条件',
|
|
69
|
+
value: '值',
|
|
70
|
+
from: '从',
|
|
71
|
+
to: '至',
|
|
72
|
+
commaSeparated: '以逗号分隔',
|
|
73
|
+
clear: '清除',
|
|
74
|
+
yes: '是',
|
|
75
|
+
no: '否',
|
|
76
|
+
and: '且',
|
|
77
|
+
chip: '{field} {operator} {value}',
|
|
78
|
+
chipNoValue: '{field} {operator}',
|
|
79
|
+
anyOf: '任一满足',
|
|
80
|
+
anyOfGroup: '任一满足,第 {n} 组',
|
|
81
|
+
alternative: '备选 {n}',
|
|
82
|
+
or: '或',
|
|
83
|
+
orCondition: '或…',
|
|
84
|
+
addAnyOf: '添加“任一满足”',
|
|
85
|
+
addToAlternative: '向备选 {n} 添加条件',
|
|
86
|
+
removeGroup: '移除第 {n} 组',
|
|
87
|
+
advanced: '高级条件',
|
|
88
|
+
operators: {
|
|
89
|
+
eq: '等于',
|
|
90
|
+
ne: '不等于',
|
|
91
|
+
lt: '<',
|
|
92
|
+
lte: '≤',
|
|
93
|
+
gt: '>',
|
|
94
|
+
gte: '≥',
|
|
95
|
+
in: '属于任一',
|
|
96
|
+
nin: '不属于任一',
|
|
97
|
+
like: '包含',
|
|
98
|
+
nlike: '不包含',
|
|
99
|
+
between: '介于',
|
|
100
|
+
null: '为空',
|
|
101
|
+
nnull: '不为空',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
views: {
|
|
105
|
+
menu: '视图',
|
|
106
|
+
allRecords: '所有记录',
|
|
107
|
+
default: '默认',
|
|
108
|
+
updateWithCurrent: '用当前列表更新视图',
|
|
109
|
+
delete: '删除视图',
|
|
110
|
+
deleteTitle: '删除视图“{name}”?',
|
|
111
|
+
saveCurrent: '将当前保存为视图…',
|
|
112
|
+
saveTitle: '保存视图',
|
|
113
|
+
updateTitle: '更新“{name}”',
|
|
114
|
+
name: '名称',
|
|
115
|
+
share: '与所有管理员共享',
|
|
116
|
+
openWith: '使用此视图打开该资源',
|
|
117
|
+
openWithForEveryone: '对所有未设置个人默认视图的人都以此方式打开',
|
|
118
|
+
shareFirst: '共享该视图后才能将其设为所有人的默认视图。',
|
|
119
|
+
everyoneDefault: '所有人的默认视图',
|
|
120
|
+
saved: '视图“{name}”已保存。',
|
|
121
|
+
},
|
|
122
|
+
import: {
|
|
123
|
+
title: '导入{label}',
|
|
124
|
+
file: 'CSV 文件',
|
|
125
|
+
analyse: '分析',
|
|
126
|
+
instructions: '共 {rows} 行。将每一列映射到一个字段,或不映射以跳过该列。`manyToMany` 列接受以 `{pipe}` 分隔的标识符。',
|
|
127
|
+
csvColumn: 'CSV 列',
|
|
128
|
+
sample: '示例',
|
|
129
|
+
skip: '— 跳过 —',
|
|
130
|
+
start: '导入 {rows} 行',
|
|
131
|
+
queued: '已将 {rows} 行的导入加入队列。',
|
|
132
|
+
mode: '行',
|
|
133
|
+
modes: {
|
|
134
|
+
create: '创建新记录',
|
|
135
|
+
update: '更新现有记录',
|
|
136
|
+
upsert: '更新或创建',
|
|
137
|
+
},
|
|
138
|
+
key: '行匹配依据',
|
|
139
|
+
noKey: '请先将一列映射到主键或唯一字段。',
|
|
140
|
+
modeHelp: {
|
|
141
|
+
update: '每一行更新值匹配的记录;没有匹配记录的行会写入失败行文件。',
|
|
142
|
+
upsert: '每一行更新值匹配的记录;没有匹配时则新建一条记录。',
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
page: {
|
|
146
|
+
create: '新建{noun}',
|
|
147
|
+
unknown: '未知资源',
|
|
148
|
+
unknownText: '没有注册为“{slug}”的内容。',
|
|
149
|
+
},
|
|
150
|
+
inline: {
|
|
151
|
+
editLabel: '编辑{label}',
|
|
152
|
+
pending: '{count} 项未保存的更改',
|
|
153
|
+
save: '保存更改',
|
|
154
|
+
discard: '放弃',
|
|
155
|
+
saved: '已保存 {count} 条记录。',
|
|
156
|
+
conflict: '自列表加载以来有记录已更改。请重新加载后再编辑。',
|
|
157
|
+
leaveTitle: '放弃 {count} 项未保存的更改?',
|
|
158
|
+
leaveText: '离开列表将丢弃你尚未保存的编辑。',
|
|
159
|
+
},
|
|
160
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// The record area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
unknownResource: '未知资源',
|
|
4
|
+
new: '新建',
|
|
5
|
+
newTitle: '新建{label}',
|
|
6
|
+
editTitle: '编辑{title}',
|
|
7
|
+
createNotAllowed: '此资源不允许在此处创建记录。',
|
|
8
|
+
editNotAllowed: '你无权编辑此记录。',
|
|
9
|
+
saved: '{label}已保存。',
|
|
10
|
+
duplicate: '复制',
|
|
11
|
+
copyOf: '“{title}”的副本。必须唯一的值和文件初始为空。',
|
|
12
|
+
variants: {
|
|
13
|
+
menu: '更多保存方式',
|
|
14
|
+
saveContinue: '保存并继续编辑',
|
|
15
|
+
createContinue: '创建并继续编辑',
|
|
16
|
+
createAnother: '创建并继续添加',
|
|
17
|
+
},
|
|
18
|
+
leave: {
|
|
19
|
+
title: '放弃你的更改?',
|
|
20
|
+
text: '离开此页面将丢弃你尚未保存的更改。',
|
|
21
|
+
discard: '放弃',
|
|
22
|
+
},
|
|
23
|
+
inTrash: '在回收站中',
|
|
24
|
+
deleteTitle: '删除{noun}“{title}”?',
|
|
25
|
+
deleteForeverTitle: '永久删除{noun}“{title}”?',
|
|
26
|
+
deleteSoftText: '它将移至回收站,可以恢复。',
|
|
27
|
+
deleteHardText: '此操作无法撤销。',
|
|
28
|
+
trashed: '{label}已移至回收站。',
|
|
29
|
+
deleted: '{label}已删除。',
|
|
30
|
+
restored: '{label}已恢复。',
|
|
31
|
+
impersonate: {
|
|
32
|
+
action: '模拟登录',
|
|
33
|
+
title: '以“{title}”的身份操作?',
|
|
34
|
+
text: '你将看到并执行对方权限内的操作,每项更改都会记录为对方所做,并注明你是模拟登录者。',
|
|
35
|
+
started: '你现在正以 {title} 的身份操作。',
|
|
36
|
+
},
|
|
37
|
+
audit: {
|
|
38
|
+
title: '历史记录',
|
|
39
|
+
byUser: '由用户 {actor}',
|
|
40
|
+
impersonatedBy: '(由 {impersonator} 模拟登录)',
|
|
41
|
+
empty: '没有已记录的更改。',
|
|
42
|
+
revert: '还原',
|
|
43
|
+
revertLabel: '还原此更改',
|
|
44
|
+
revertTitle: '还原此更改?',
|
|
45
|
+
revertText: '恢复 {fields} 的先前值。此次还原也会记录在历史记录中。',
|
|
46
|
+
reverted: '更改已还原。',
|
|
47
|
+
},
|
|
48
|
+
panel: {
|
|
49
|
+
attach: '关联',
|
|
50
|
+
attachTitle: '关联{label}',
|
|
51
|
+
attachCount: '关联 {count} 个',
|
|
52
|
+
attached: '已关联 {count} 个{label}。',
|
|
53
|
+
records: '记录',
|
|
54
|
+
record: '记录',
|
|
55
|
+
empty: '暂无{label}。',
|
|
56
|
+
detach: '取消关联',
|
|
57
|
+
detachLabel: '取消关联{title}',
|
|
58
|
+
detachTitle: '取消关联“{title}”?',
|
|
59
|
+
detachText: '它仍是一个{target};只会移除它与此{owner}的关联。',
|
|
60
|
+
detached: '已取消关联{title}。',
|
|
61
|
+
},
|
|
62
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// The shell area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
titleTemplate: '{title} · {brand}',
|
|
4
|
+
brandSubtitle: '管理后台',
|
|
5
|
+
account: '账户',
|
|
6
|
+
signOut: '退出登录',
|
|
7
|
+
toggleNavigation: '切换导航',
|
|
8
|
+
toggleTheme: '切换主题',
|
|
9
|
+
language: '语言:{name}',
|
|
10
|
+
languageFailed: '无法保存语言:{error}',
|
|
11
|
+
nav: {
|
|
12
|
+
main: '主菜单',
|
|
13
|
+
dashboard: '仪表盘',
|
|
14
|
+
jobs: '任务',
|
|
15
|
+
settings: '设置',
|
|
16
|
+
pages: '页面',
|
|
17
|
+
badge: '{count} 个{label}',
|
|
18
|
+
},
|
|
19
|
+
page: {
|
|
20
|
+
unknown: '未知页面',
|
|
21
|
+
loading: '正在加载页面',
|
|
22
|
+
},
|
|
23
|
+
impersonation: {
|
|
24
|
+
actingAs: '你正在以 {name} 的身份操作。',
|
|
25
|
+
anotherUser: '其他用户',
|
|
26
|
+
stop: '停止模拟登录',
|
|
27
|
+
noAccess: '{name} 无权访问管理后台,因此无法以其身份查看任何内容。模拟登录已停止。',
|
|
28
|
+
noToken: '应用返回的响应中既没有令牌也没有重新加载,因此未做任何更改。',
|
|
29
|
+
},
|
|
30
|
+
palette: {
|
|
31
|
+
placeholder: '搜索记录和资源…',
|
|
32
|
+
records: '记录',
|
|
33
|
+
resources: '资源',
|
|
34
|
+
noMatch: '没有匹配的记录',
|
|
35
|
+
},
|
|
36
|
+
inbox: {
|
|
37
|
+
title: '通知',
|
|
38
|
+
markAllRead: '全部标为已读',
|
|
39
|
+
empty: '暂无内容',
|
|
40
|
+
},
|
|
41
|
+
login: {
|
|
42
|
+
pageTitle: '登录 · {brand}',
|
|
43
|
+
subtitle: '登录管理后台',
|
|
44
|
+
email: '电子邮件',
|
|
45
|
+
password: '密码',
|
|
46
|
+
submit: '登录',
|
|
47
|
+
invalidEmail: '请输入有效的电子邮件地址',
|
|
48
|
+
welcome: '欢迎回来,{name}。',
|
|
49
|
+
signedOutIdle: '由于 {minutes} 分钟内没有操作,你已被登出。重新登录即可从上次离开的地方继续。',
|
|
50
|
+
},
|
|
51
|
+
home: {
|
|
52
|
+
title: '仪表盘',
|
|
53
|
+
},
|
|
54
|
+
}
|