Skip to content

Commit 7ca07c8

Browse files
feat: i18n
1 parent 5dfd7f1 commit 7ca07c8

File tree

4 files changed

+62
-52
lines changed

4 files changed

+62
-52
lines changed

ui/src/locales/lang/zh_CN/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,12 @@ export default {
1313
save: '保存',
1414
saveSuccess: '保存成功',
1515
delete: '删除',
16+
deleteSuccess: '删除成功',
1617
setting: '设置',
1718
cancel: '取消',
19+
confirm: '确认',
20+
tip: '提示',
21+
professional:'购买专业版'
1822
},
1923
login: {
2024
authentication: '登录认证',

ui/src/locales/lang/zh_CN/views/application.ts

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
export default {
22
applicationList: {
33
title: '应用',
4+
createApplication: '创建应用',
5+
importApplication: '导入应用',
6+
creator: '创建者',
7+
workflow: '高级编排',
8+
simple: '简单配置',
49
searchBar: {
510
placeholder: '按名称搜索'
611
},
7-
card: {
8-
createApplication: '创建应用',
9-
overview: '概览',
12+
setting: {
1013
demo: '演示',
11-
setting: '设置',
12-
delete: {
13-
tooltip: '删除',
14-
confirmTitle: '是否删除应用:',
15-
confirmMessage: '删除后该应用将不再提供服务,请谨慎操作。',
16-
confirmButton: '删除',
17-
cancelButton: '取消',
18-
successMessage: '删除成功'
19-
}
14+
copy: '复制',
15+
import: '导出'
2016
},
21-
tooltips: {
22-
demo: '演示',
23-
setting: '设置',
24-
delete: '删除'
17+
delete: {
18+
confirmTitle: '是否删除应用:',
19+
confirmMessage: '删除后该应用将不再提供服务,请谨慎操作。'
20+
},
21+
tip: {
22+
importError: '导出失败',
23+
professionalMessage: '社区版最多支持 5 个应用,如需拥有更多应用,请升级为专业版。'
2524
}
2625
},
2726
applicationForm: {
@@ -41,6 +40,11 @@ export default {
4140
label: '应用描述',
4241
placeholder: '描述该应用的应用场景及用途,如:XXX 小助手回答用户提出的 XXX 产品使用问题'
4342
},
43+
appType: {
44+
label: '选择应用类型',
45+
simplePlaceholder: '适合新手创建小助手',
46+
workflowPlaceholder: '适合高级用户自定义小助手的工作流'
47+
},
4448
aiModel: {
4549
label: 'AI 模型',
4650
placeholder: '请选择 AI 模型',

ui/src/views/application/component/CreateApplicationDialog.vue

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<el-dialog
3-
:title="$t('views.application.applicationForm.title.create')"
3+
:title="$t('views.application.applicationList.createApplication')"
44
v-model="dialogVisible"
55
width="650"
66
append-to-body
@@ -34,7 +34,7 @@
3434
show-word-limit
3535
/>
3636
</el-form-item>
37-
<el-form-item label="选择应用类型">
37+
<el-form-item :label="$t('views.application.applicationForm.form.appType.label')">
3838
<el-radio-group v-model="applicationForm.type" class="card__radio">
3939
<el-row :gutter="16">
4040
<el-col :span="12">
@@ -44,8 +44,8 @@
4444
:class="applicationForm.type === 'SIMPLE' ? 'active' : ''"
4545
>
4646
<el-radio value="SIMPLE" size="large">
47-
<p class="mb-4">简单配置</p>
48-
<el-text type="info">适合新手创建小助手</el-text>
47+
<p class="mb-4">{{ $t('views.application.applicationList.simple') }}</p>
48+
<el-text type="info">{{ $t('views.application.applicationForm.form.appType.simplePlaceholder') }}</el-text>
4949
</el-radio>
5050
</el-card>
5151
</el-col>
@@ -56,8 +56,8 @@
5656
:class="isWorkFlow(applicationForm.type) ? 'active' : ''"
5757
>
5858
<el-radio value="WORK_FLOW" size="large">
59-
<p class="mb-4">高级编排</p>
60-
<el-text type="info">适合高级用户自定义小助手的工作流</el-text>
59+
<p class="mb-4">{{ $t('views.application.applicationList.workflow') }}</p>
60+
<el-text type="info">{{ $t('views.application.applicationForm.form.appType.workflowPlaceholder') }}</el-text>
6161
</el-radio>
6262
</el-card>
6363
</el-col>
@@ -86,10 +86,6 @@ import applicationApi from '@/api/application'
8686
import { MsgSuccess, MsgAlert } from '@/utils/message'
8787
import { isWorkFlow } from '@/utils/application'
8888
import { t } from '@/locales'
89-
import useStore from '@/stores'
90-
import { ValidType, ValidCount } from '@/enums/common'
91-
92-
const { common, user } = useStore()
9389
const router = useRouter()
9490
const emit = defineEmits(['refresh'])
9591

ui/src/views/application/index.vue

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<el-card shadow="hover" class="application-card-add" style="--el-card-padding: 8px">
4242
<div class="card-add-button flex align-center cursor p-8" @click="openCreateDialog">
4343
<AppIcon iconName="app-add-application" class="mr-8"></AppIcon>
44-
创建应用
44+
{{ $t('views.application.applicationList.createApplication') }}
4545
</div>
4646
<el-divider style="margin: 8px 0" />
4747
<el-upload
@@ -56,7 +56,8 @@
5656
class="card-add-button"
5757
>
5858
<div class="flex align-center cursor p-8">
59-
<AppIcon iconName="app-import" class="mr-8"></AppIcon>导入应用
59+
<AppIcon iconName="app-import" class="mr-8"></AppIcon>
60+
{{ $t('views.application.applicationList.importApplication') }}
6061
</div>
6162
</el-upload>
6263
</el-card>
@@ -99,34 +100,32 @@
99100
<template #subTitle>
100101
<el-text class="color-secondary" size="small">
101102
<auto-tooltip :content="item.username">
102-
创建者: {{ item.username }}
103+
{{ $t('views.application.applicationList.creator') }}: {{ item.username }}
103104
</auto-tooltip>
104105
</el-text>
105106
</template>
106107
<div class="status-tag">
107-
<el-tag type="warning" v-if="isWorkFlow(item.type)" style="height: 22px"
108-
>高级编排</el-tag
108+
<el-tag type="warning" v-if="isWorkFlow(item.type)" style="height: 22px">
109+
{{ $t('views.application.applicationList.workflow') }}</el-tag
109110
>
110-
<el-tag class="blue-tag" v-else style="height: 22px">简单配置</el-tag>
111+
<el-tag class="blue-tag" v-else style="height: 22px">
112+
{{ $t('views.application.applicationList.simple') }}
113+
</el-tag>
111114
</div>
112115

113116
<template #footer>
114117
<div class="footer-content">
115118
<el-tooltip
116119
effect="dark"
117-
:content="$t('views.application.applicationList.card.demo')"
120+
:content="$t('views.application.applicationList.setting.demo')"
118121
placement="top"
119122
>
120123
<el-button text @click.stop @click="getAccessToken(item.id)">
121124
<AppIcon iconName="app-view"></AppIcon>
122125
</el-button>
123126
</el-tooltip>
124127
<el-divider direction="vertical" />
125-
<el-tooltip
126-
effect="dark"
127-
:content="$t('views.application.applicationList.card.setting')"
128-
placement="top"
129-
>
128+
<el-tooltip effect="dark" :content="$t('common.setting')" placement="top">
130129
<el-button text @click.stop="settingApplication(item)">
131130
<AppIcon iconName="Setting"></AppIcon>
132131
</el-button>
@@ -144,14 +143,15 @@
144143
@click="copyApplication(item)"
145144
>
146145
<AppIcon iconName="app-copy"></AppIcon>
147-
复制</el-dropdown-item
148-
>
146+
{{ $t('views.application.applicationList.setting.copy') }}
147+
</el-dropdown-item>
149148
<el-dropdown-item @click.stop="exportApplication(item)">
150149
<AppIcon iconName="app-export"></AppIcon>
151-
导出
150+
151+
{{ $t('views.application.applicationList.setting.import') }}
152152
</el-dropdown-item>
153153
<el-dropdown-item icon="Delete" @click.stop="deleteApplication(item)">{{
154-
$t('views.application.applicationList.card.delete.tooltip')
154+
$t('common.delete')
155155
}}</el-dropdown-item>
156156
</el-dropdown-menu>
157157
</template>
@@ -228,7 +228,9 @@ const exportApplication = (application: any) => {
228228
applicationApi.exportApplication(application.id, application.name, loading).catch((e) => {
229229
if (e.response.status !== 403) {
230230
e.response.data.text().then((res: string) => {
231-
MsgError(`导出失败:${JSON.parse(res).message}`)
231+
MsgError(
232+
`${t('views.application.applicationList.tip.importError')}:${JSON.parse(res).message}`
233+
)
232234
})
233235
}
234236
})
@@ -245,10 +247,14 @@ function openCreateDialog() {
245247
if (user.isEnterprise()) {
246248
CreateApplicationDialogRef.value.open()
247249
} else {
248-
MsgConfirm(`提示`, '社区版最多支持 5 个应用,如需拥有更多应用,请升级为专业版。', {
249-
cancelButtonText: '确定',
250-
confirmButtonText: '购买专业版'
251-
})
250+
MsgConfirm(
251+
`${t('common.tip')}`,
252+
`${t('views.application.applicationList.tip.professionalMessage')}`,
253+
{
254+
cancelButtonText: `${t('common.confirm')}`,
255+
confirmButtonText: `${t('common.professional')}`
256+
}
257+
)
252258
.then(() => {
253259
window.open('https://maxkb.cn/pricing.html', '_blank')
254260
})
@@ -319,19 +325,19 @@ function getAccessToken(id: string) {
319325
function deleteApplication(row: any) {
320326
MsgConfirm(
321327
// @ts-ignore
322-
`${t('views.application.applicationList.card.delete.confirmTitle')}${row.name} ?`,
323-
t('views.application.applicationList.card.delete.confirmMessage'),
328+
`${t('views.application.applicationList.delete.confirmTitle')}${row.name} ?`,
329+
t('views.application.applicationList.delete.confirmMessage'),
324330
{
325-
confirmButtonText: t('views.application.applicationList.card.delete.confirmButton'),
326-
cancelButtonText: t('views.application.applicationList.card.delete.cancelButton'),
331+
confirmButtonText: t('common.confirm'),
332+
cancelButtonText: t('common.cancel'),
327333
confirmButtonClass: 'danger'
328334
}
329335
)
330336
.then(() => {
331337
applicationApi.delApplication(row.id, loading).then(() => {
332338
const index = applicationList.value.findIndex((v) => v.id === row.id)
333339
applicationList.value.splice(index, 1)
334-
MsgSuccess(t('views.application.applicationList.card.delete.successMessage'))
340+
MsgSuccess(t('common.deleteSuccess'))
335341
})
336342
})
337343
.catch(() => {})

0 commit comments

Comments
 (0)