Skip to content

Commit

Permalink
fix: i18n bug
Browse files Browse the repository at this point in the history
  • Loading branch information
zyyzyykk committed Feb 27, 2025
1 parent 8028c9d commit c09dfb8
Show file tree
Hide file tree
Showing 14 changed files with 77 additions and 68 deletions.
12 changes: 6 additions & 6 deletions front/terminal/src/components/ConnectSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
</div>
</div>
</div>
<div class="errInfo no-select"> {{ err_msg }} </div>
<div class="errInfo no-select"> {{ $t(err_msg) }} </div>
<div style="margin-bottom: 5px;"></div>
<div style="display: flex; border-top: 1px solid #f1f2f4;">
<el-checkbox v-if="setInfo.option && setInfo.option.length > 0" v-model="isNewWindow" :label="$t('新窗口打开')" size="small" style="margin-top: 10px;" />
Expand Down Expand Up @@ -159,27 +159,27 @@ export default {
err_msg.value = '';
// 验证IP地址/域名
if (!(isIP(setInfo.value.server_ip) || isFQDN(setInfo.value.server_ip))) {
err_msg.value = i18n.global.t("主机IP地址无效");
err_msg.value = i18n.global.k("主机IP地址无效");
return false;
}
// 校验端口号
if (isNaN(setInfo.value.server_port) || setInfo.value.server_port < 0 || setInfo.value.server_port > 65535) {
err_msg.value = i18n.global.t("端口号无效");
err_msg.value = i18n.global.k("端口号无效");
return false;
}
// 校验用户名
if (!(setInfo.value.server_user && setInfo.value.server_user != '')) {
err_msg.value = i18n.global.t("用户名不能为空");
err_msg.value = i18n.global.k("用户名不能为空");
return false;
}
// 校验密码
if (setInfo.value.authType == 0 && !(setInfo.value.server_password && setInfo.value.server_password != '')) {
err_msg.value = i18n.global.t("密码不能为空");
err_msg.value = i18n.global.k("密码不能为空");
return false;
}
// 校验私钥
if(setInfo.value.authType == 1 && !(setInfo.value.server_key && setInfo.value.server_key.content != '')) {
err_msg.value = i18n.global.t("私钥不能为空");
err_msg.value = i18n.global.k("私钥不能为空");
return false;
}
Expand Down
6 changes: 3 additions & 3 deletions front/terminal/src/components/FileAttr.vue
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
<div v-if="fileInfo.isDirectory" class="kk-flex">
<div class="form-width" >{{ $t('包含') }}:</div>
<div class="ellipsis" >
{{ includeInfo }}
{{ $t(includeInfo) }}
</div>
<div v-if="fileInfo.isSymlink || unreliable" style="margin-left: 10px;" >
<el-tag size="small" type="danger">unsure</el-tag>
Expand Down Expand Up @@ -142,7 +142,7 @@ export default {
// 不可靠标识
const unreliable = ref(false);
// 包含信息
const includeInfo = ref(i18n.global.t('0 个文件,0 个文件夹'));
const includeInfo = ref(i18n.global.k('0 个文件,0 个文件夹'));
// 获取文件大小
const getFileSize = () => {
Expand Down Expand Up @@ -263,7 +263,7 @@ export default {
fileDir.value = '';
loading.value = false;
unreliable.value = false;
includeInfo.value = i18n.global.t('0 个文件,0 个文件夹');
includeInfo.value = i18n.global.k('0 个文件,0 个文件夹');
DialogVisible.value = false;
};
Expand Down
10 changes: 5 additions & 5 deletions front/terminal/src/components/FileBlock.vue
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
</div>
</div>
<div v-else>
<NoData height="248px" @contextmenu="selectedFiles = []" v-if="loading == false" :msg="noDataMsg"></NoData>
<NoData height="248px" @contextmenu="selectedFiles = []" v-if="loading == false" :msg="$t(noDataMsg)"></NoData>
</div>
</div>
</div>
Expand Down Expand Up @@ -311,7 +311,7 @@ export default {
},
success(resp){
if(resp.status == 'success') {
noDataMsg.value = i18n.global.t('暂无文件');
noDataMsg.value = i18n.global.k('暂无文件');
dirStatus.value = 0;
dir.value = resp.data;
confirmDirCorrect();
Expand All @@ -329,7 +329,7 @@ export default {
};
// 获取当前路径下的文件列表
const noDataMsg = ref(i18n.global.t('暂无文件'));
const noDataMsg = ref(i18n.global.k('暂无文件'));
// 目录状态:0 正常 / 1 目录不存在、无权限等
const dirStatus = ref(0);
const getDirList = () => {
Expand All @@ -355,7 +355,7 @@ export default {
selectedFiles.value = [];
if(resp.status == 'success') {
files.value = resp.data;
noDataMsg.value = i18n.global.t('暂无文件');
noDataMsg.value = i18n.global.k('暂无文件');
dirStatus.value = 0;
lastSelectedIndex = -1;
fileAreaRef.value.tabindex = '0';
Expand Down Expand Up @@ -1181,7 +1181,7 @@ export default {
dir.value = '';
dirLevels.value = [];
isShowDirInput.value = false;
noDataMsg.value = i18n.global.t('暂无文件');
noDataMsg.value = i18n.global.k('暂无文件');
dirStatus.value = 0;
fileClipboard.value = {
path:'/',
Expand Down
8 changes: 4 additions & 4 deletions front/terminal/src/components/FileUrl.vue
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
</el-input>
</div>
</div>
<div v-if="err_msg && err_msg.length > 0" class="errInfo no-select"> {{ err_msg }} </div>
<div v-if="err_msg && err_msg.length > 0" class="errInfo no-select"> {{ $t(err_msg) }} </div>
<div v-else style="height: 7px;" ></div>
<div class="kk-flex">
<div class="form-width" >{{ $t('文件名') }}:</div>
Expand Down Expand Up @@ -63,16 +63,16 @@ export default {
// 校验
err_msg.value = '';
if(!(url.value && url.value.trim().length > 0)) {
err_msg.value = i18n.global.t('URL不能为空');
err_msg.value = i18n.global.k('URL不能为空');
return;
}
if(!(name.value && name.value.trim().length > 0)) {
err_msg.value = i18n.global.t('文件名不能为空');
err_msg.value = i18n.global.k('文件名不能为空');
return;
}
const invalidNameRe = /[/|]/;
if(invalidNameRe.test(name.value)) {
err_msg.value = i18n.global.t("文件名不能含有") + " |,/";
err_msg.value = i18n.global.k("文件名不能含有") + " |,/";
return;
}
context.emit('callback',url.value, name.value);
Expand Down
6 changes: 3 additions & 3 deletions front/terminal/src/components/MkFile.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<el-radio :label="false" size="large">{{ $t('文件') }}</el-radio>
<el-radio :label="true" size="large">{{ $t('文件夹') }}</el-radio>
</el-radio-group>
<div class="errInfo no-select"> {{ err_msg }} </div>
<div class="errInfo no-select"> {{ $t(err_msg) }} </div>
<div class="kk-flex">
<div>
<FileIcons :style="{display: 'flex', alignItems: 'center'}" :width="24" :height="24" v-if="isDirectory == true" name="kk.txt" :isFolder="true" />
Expand Down Expand Up @@ -58,12 +58,12 @@ export default {
// 校验
err_msg.value = '';
if(!(name.value && name.value.trim().length > 0)) {
err_msg.value = i18n.global.t('文件名不能为空');
err_msg.value = i18n.global.k('文件名不能为空');
return;
}
const invalidNameRe = /[/|]/;
if(invalidNameRe.test(name.value)) {
err_msg.value = i18n.global.t("文件名不能含有") + " |,/";
err_msg.value = i18n.global.k("文件名不能含有") + " |,/";
return;
}
context.emit('callback', isDirectory.value, name.value, nowDir.value);
Expand Down
6 changes: 3 additions & 3 deletions front/terminal/src/components/OptionBlock.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
</div>
</div>
<div v-else class="kk-border">
<NoData :msg="noDataMsg"></NoData>
<NoData :msg="$t(noDataMsg)"></NoData>
</div>
<div class="kk-flex">
<div>{{ $t('配置名') }}:</div>
Expand Down Expand Up @@ -63,7 +63,7 @@ export default {
setup(props,context) {
// 控制Dialog显示
const DialogVisible = ref(false);
const noDataMsg = ref(i18n.global.t('暂无配置'));
const noDataMsg = ref(i18n.global.k('暂无配置'));
// 目标配置
const aimOption = ref('');
Expand Down Expand Up @@ -93,7 +93,7 @@ export default {
// 重置
const reset = () => {
noDataMsg.value = i18n.global.t('暂无配置');
noDataMsg.value = i18n.global.k('暂无配置');
aimOption.value = '';
deleteOption.value = '';
DialogVisible.value = false;
Expand Down
3 changes: 2 additions & 1 deletion front/terminal/src/components/StyleSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@
<script>
import { ref, computed } from 'vue';
import { ArrowDown } from '@element-plus/icons-vue';
import i18n from "@/locales/i18n";
export default {
name:'StyleSetting',
Expand All @@ -144,7 +145,7 @@ export default {
const DialogVisible = ref(false);
// 语言列表
const langList = [{label:"English",value:"en"}, {label:"Chinese",value:"zh"}];
const langList = [{label:"English",value:"en"}, {label:i18n.global.k("简体中文"),value:"zh"}];
const mapValueToLabel = (lang) => {
const item = langList.find(item => item.value === lang);
return item ? item.label : "English";
Expand Down
40 changes: 20 additions & 20 deletions front/terminal/src/components/advance/DockerBlock.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@
</div>
<div class="kk-flex" v-if="dockerInfo.container.length > 0" style="height: 35px; margin-top: 5px;" >
<el-dropdown hide-timeout="300" >
<span class="a-link no-select" >{{ containerTypeArr[containerType % containerTypeArr.length] }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<span class="a-link no-select" >{{ $t(containerTypeArr[containerType % containerTypeArr.length]) }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item class="no-select" @click="containerType = 1" >{{ containerTypeArr[1] }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="containerType = 2" >{{ containerTypeArr[2] }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="containerType = 3" >{{ containerTypeArr[3] }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="containerType = 4" >{{ containerTypeArr[4] }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="containerType = 1" >{{ $t(containerTypeArr[1]) }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="containerType = 2" >{{ $t(containerTypeArr[2]) }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="containerType = 3" >{{ $t(containerTypeArr[3]) }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="containerType = 4" >{{ $t(containerTypeArr[4]) }}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
Expand All @@ -55,10 +55,10 @@
</div>
<div class="kk-flex" v-if="dockerInfo.image.length > 0" style="height: 35px; margin-top: 5px;" >
<el-dropdown hide-timeout="300" >
<span class="a-link no-select" >{{ deleteTypeArr[deleteType % deleteTypeArr.length] }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<span class="a-link no-select" >{{ $t(deleteTypeArr[deleteType % deleteTypeArr.length]) }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item class="no-select" @click="deleteType = 1" >{{ deleteTypeArr[1] }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="deleteType = 1" >{{ $t(deleteTypeArr[1]) }}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
Expand All @@ -80,10 +80,10 @@
</div>
<div class="kk-flex" v-if="dockerInfo.network.length > 0" style="height: 35px; margin-top: 5px;" >
<el-dropdown hide-timeout="300" >
<span class="a-link no-select" >{{ deleteTypeArr[deleteType % deleteTypeArr.length] }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<span class="a-link no-select" >{{ $t(deleteTypeArr[deleteType % deleteTypeArr.length]) }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item class="no-select" @click="deleteType = 2" >{{ deleteTypeArr[2] }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="deleteType = 2" >{{ $t(deleteTypeArr[2]) }}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
Expand All @@ -104,10 +104,10 @@
</div>
<div class="kk-flex" v-if="dockerInfo.volume.length > 0" style="height: 35px; margin-top: 5px;" >
<el-dropdown hide-timeout="300" >
<span class="a-link no-select" >{{ deleteTypeArr[deleteType % deleteTypeArr.length] }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<span class="a-link no-select" >{{ $t(deleteTypeArr[deleteType % deleteTypeArr.length]) }}<el-icon class="el-icon--right"><arrow-down /></el-icon></span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item class="no-select" @click="deleteType = 3" >{{ deleteTypeArr[3] }}</el-dropdown-item>
<el-dropdown-item class="no-select" @click="deleteType = 3" >{{ $t(deleteTypeArr[3]) }}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
Expand Down Expand Up @@ -292,17 +292,17 @@ export default {
const containerType = ref(0);
const deleteType = ref(0);
const containerTypeArr = [
i18n.global.t('选择批量操作'),
i18n.global.t('启动容器'),
i18n.global.t('停止容器'),
i18n.global.t('重启容器'),
i18n.global.t('删除容器')
i18n.global.k('选择批量操作'),
i18n.global.k('启动容器'),
i18n.global.k('停止容器'),
i18n.global.k('重启容器'),
i18n.global.k('删除容器')
];
const deleteTypeArr = [
i18n.global.t('选择批量操作'),
i18n.global.t('删除镜像'),
i18n.global.t('删除网络'),
i18n.global.t('删除数据卷')
i18n.global.k('选择批量操作'),
i18n.global.k('删除镜像'),
i18n.global.k('删除网络'),
i18n.global.k('删除数据卷')
];
const containerOperate = () => {
loading.value = true;
Expand Down
4 changes: 2 additions & 2 deletions front/terminal/src/components/tcode/HelpTcode.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<div style="background-color: #f3f4f4;" >{{ key }}</div>
<div style="flex: 1;" ></div>
</div>
<div class="ellipsis" style="margin-left: 10px;" >{{ item.desc }}</div>
<div class="ellipsis" style="margin-left: 10px;" >{{ $t(item.desc) }}</div>
</div>
</div>
</div>
Expand All @@ -38,7 +38,7 @@
<div style="background-color: #f3f4f4;" >{{ key }}</div>
<div style="flex: 1;" ></div>
</div>
<div class="ellipsis" style="margin-left: 10px;" >{{ item.desc }}</div>
<div class="ellipsis" style="margin-left: 10px;" >{{ $t(item.desc) }}</div>
</div>
</div>
</div>
Expand Down
Loading

0 comments on commit c09dfb8

Please sign in to comment.