更新国际化支持:在多个对话框组件中引入 vue-i18n,优化文本翻译,确保多语言显示的一致性和准确性。

This commit is contained in:
jxxghp
2025-04-28 08:55:52 +08:00
parent daf70b6da4
commit af7aa7d47b
12 changed files with 825 additions and 148 deletions

View File

@@ -5,6 +5,10 @@ import { doneNProgress, startNProgress } from '@/api/nprogress'
import { requiredValidator } from '@/@validators'
import api from '@/api'
import { useDisplay } from 'vuetify'
import { useI18n } from 'vue-i18n'
// 多语言支持
const { t } = useI18n()
// 输入参数
const props = defineProps({
@@ -13,7 +17,9 @@ const props = defineProps({
})
// 新增或修改字样
const title = computed(() => (props.workflow ? '编辑' : '创建'))
const title = computed(() =>
props.workflow ? t('dialog.workflowAddEdit.editTitle') : t('dialog.workflowAddEdit.addTitle'),
)
// 显示器宽度
const display = useDisplay()
@@ -38,17 +44,17 @@ const $toast = useToast()
// 调用API 新增任务
async function addWorkflow() {
if (!workflowForm.value.name || !workflowForm.value.timer) {
$toast.error('请填写完整信息!')
$toast.error(t('dialog.workflowAddEdit.nameRequired'))
return
}
startNProgress()
try {
const result: { [key: string]: string } = await api.post('workflow/', workflowForm.value)
if (result.success) {
$toast.success(`创建任务成功,请编辑流程!`)
$toast.success(t('dialog.workflowAddEdit.addSuccess'))
emit('save')
} else {
$toast.error(`创建任务失败:${result.message}`)
$toast.error(t('dialog.workflowAddEdit.addFailed', { message: result.message }))
}
} catch (error) {
console.error(error)
@@ -59,17 +65,17 @@ async function addWorkflow() {
// 调用API 编辑任务
async function editWorkflow() {
if (!workflowForm.value.name || !workflowForm.value.timer) {
$toast.error('请填写完整信息!')
$toast.error(t('dialog.workflowAddEdit.nameRequired'))
return
}
startNProgress()
try {
const result: { [key: string]: string } = await api.put(`workflow/${workflowForm.value.id}`, workflowForm.value)
if (result.success) {
$toast.success(`修改任务成功!`)
$toast.success(t('dialog.workflowAddEdit.editSuccess'))
emit('save')
} else {
$toast.error(`修改任务失败:${result.message}`)
$toast.error(t('dialog.workflowAddEdit.editFailed', { message: result.message }))
}
} catch (error) {
console.error(error)
@@ -80,7 +86,7 @@ async function editWorkflow() {
<template>
<VDialog scrollable :close-on-back="false" eager max-width="30rem" :fullscreen="!display.mdAndUp.value">
<VCard :title="`${title}任务`" class="rounded-t">
<VCard :title="title" class="rounded-t">
<VDialogCloseBtn @click="emit('close')" />
<VDivider />
<VCardText>
@@ -89,24 +95,28 @@ async function editWorkflow() {
<VCol cols="12">
<VTextField
v-model="workflowForm.name"
label="别名"
:label="t('dialog.workflowAddEdit.name')"
:rules="[requiredValidator]"
persistent-hint
hint="任务名称"
:hint="t('dialog.workflowAddEdit.namePlaceholder')"
/>
</VCol>
<VCol cols="12">
<VCronField
v-model="workflowForm.timer"
label="定时"
:label="t('dialog.workflowAddEdit.schedule')"
:rules="[requiredValidator]"
placeholder="5位cron表达式"
persistent-hint
hint="任务执行周期"
:hint="t('dialog.workflowAddEdit.cronExprDesc')"
/>
</VCol>
<VCol cols="12">
<VTextarea v-model="workflowForm.description" label="任务描述" />
<VTextarea
v-model="workflowForm.description"
:label="t('dialog.workflowAddEdit.desc')"
:placeholder="t('dialog.workflowAddEdit.descPlaceholder')"
/>
</VCol>
</VRow>
</VForm>
@@ -122,10 +132,10 @@ async function editWorkflow() {
prepend-icon="mdi-content-save"
class="px-5"
>
保存
{{ t('dialog.workflowAddEdit.confirm') }}
</VBtn>
<VBtn v-else block color="primary" variant="elevated" @click="addWorkflow" prepend-icon="mdi-plus" class="px-5">
创建
{{ t('dialog.workflowAddEdit.confirm') }}
</VBtn>
</VCardActions>
</VCard>