Просмотр исходного кода

!1759 登录页文字翻译整理
Merge pull request !1759 from Lzh666/N/A

zuohuaijun 11 месяцев назад
Родитель
Сommit
6c42f875d3

+ 28 - 9
Web/src/i18n/pages/login/en.ts

@@ -1,19 +1,39 @@
 // 定义内容
 export default {
 	label: {
-		one1: 'User name login',
-		two2: 'Mobile number',
+		label1: 'Account login',
+		label2: 'Phone number login',
+		label3: 'User Registration',
+		label4: 'No account? Go',
+		label5: 'Register Account',
+		label6: 'Do you already have an account? Go',
+		label7: 'Login Account',
 	},
 	link: {
 		one3: 'Third party login',
 		two4: 'Links',
 	},
+	register: {
+		placeholder1: 'Please select a tenant',
+		placeholder2: 'Please enter your phone number',
+		placeholder3: 'Please enter your login account',
+		placeholder4: 'Please enter your name',
+		placeholder5: 'Please enter the verification code',
+		placeholder6: 'Registration failed! ',
+		btnText: 'Registration',
+	},
 	account: {
-		accountPlaceholder1: 'Please enter the user name',
-		accountPlaceholder2: 'Please enter the password',
-		accountPlaceholder3: 'Please select a tenant',
-		accountPlaceholder4: 'Please enter the verification code',
-		accountBtnText: 'Sign in',
+		placeholder1: 'Please enter account',
+		placeholder2: 'Please enter password',
+		placeholder3: 'Please select a tenant',
+		placeholder4: 'Please enter the verification code',
+		placeholder5: 'Capitalization lock is turned on',
+		placeholder6: 'Please hold down the slider and drag',
+		placeholder7: 'Verified',
+		placeholder8: 'Login failed, please check your account! ',
+		placeholder9: 'Sorry, you do not have login permission',
+		placeholder10: 'Verification code has expired',
+		btnText: 'Sign in',
 	},
 	mobile: {
 		placeholder1: 'Please select a tenant',
@@ -21,8 +41,7 @@ export default {
 		placeholder3: 'Please enter the verification code',
 		codeText: 'Get code',
 		btnText: 'Sign in',
-		msgText:
-			'Warm tip: it is recommended to use Google, Microsoft edge, version 79.0.1072.62 and above browsers, and 360 browser, please use speed mode',
+		msgText: 'Warm tip: it is recommended to use Google, Microsoft edge, version 79.0.1072.62 and above browsers, and 360 browser, please use speed mode',
 	},
 	scan: {
 		placeholder1: 'Please select a tenant',

+ 19 - 8
Web/src/i18n/pages/login/zh-cn.ts

@@ -1,9 +1,13 @@
 // 定义内容
 export default {
 	label: {
-		one1: '用户名登录',
-		two2: '手机号登录',
-		two3: '用户注册',
+		label1: '账号登录',
+		label2: '手机号登录',
+		label3: '用户注册',
+		label4: '没有账号? 去',
+		label5: '注册账号',
+		label6: '已有账户? 去',
+		label7: '登录账号',
 	},
 	link: {
 		one3: '第三方登录',
@@ -15,14 +19,21 @@ export default {
 		placeholder3: '请输入登录账号',
 		placeholder4: '请输入您的姓名',
 		placeholder5: '请输入验证码',
+		placeholder6: '注册失败!',
 		btnText: '注 册',
 	},
 	account: {
-		accountPlaceholder1: '请输入用户名',
-		accountPlaceholder2: '请输入密码',
-		accountPlaceholder3: '请选择租户',
-		accountPlaceholder4: '请输入验证码',
-		accountBtnText: '登 录',
+		placeholder1: '请输入账号',
+		placeholder2: '请输入密码',
+		placeholder3: '请选择租户',
+		placeholder4: '请输入验证码',
+		placeholder5: '大写锁定已打开',
+		placeholder6: '请按住滑块拖动',
+		placeholder7: '验证通过',
+		placeholder8: '登录失败,请检查账号!',
+		placeholder9: '抱歉,您没有登录权限',
+		placeholder10: '验证码已过期',
+		btnText: '登 录',
 	},
 	mobile: {
 		placeholder1: '请选择租户',

+ 33 - 12
Web/src/i18n/pages/login/zh-tw.ts

@@ -1,31 +1,52 @@
 // 定义内容
 export default {
 	label: {
-		one1: '用戶名登入',
-		two2: '手機號登入',
+		label1: '帳號登入',
+		label2: '手機號登入',
+		label3: '用戶註冊',
+		label4: '沒有帳號? 去',
+		label5: '註冊帳號',
+		label6: '已有帳戶? 去',
+		label7: '登入帳號',
 	},
 	link: {
 		one3: '協力廠商登入',
 		two4: '友情連結',
 	},
+	register: {
+		placeholder1: '請選擇租戶',
+		placeholder2: '請輸入手機號',
+		placeholder3: '請輸入登入帳號',
+		placeholder4: '請輸入您的姓名',
+		placeholder5: '請輸入驗證碼',
+		placeholder6: '註冊失敗!',
+		btnText: '註 冊',
+	},
 	account: {
-		accountPlaceholder1: '請輸入用戶名',
-		accountPlaceholder2: '請輸入密碼',
-		accountPlaceholder3: '請選擇租戶',
-		accountPlaceholder4: '請輸入驗證碼',
-		accountBtnText: '登入',
+		placeholder1: '請輸入帳號',
+		placeholder2: '請輸入密碼',
+		placeholder3: '請選擇租戶',
+		placeholder4: '請輸入驗證碼',
+		placeholder5: '大寫鎖定已打開',
+		placeholder6: '請按住滑塊拖動',
+		placeholder7: '驗證通過',
+		placeholder8: '登入失敗,請檢查帳號! ',
+		placeholder9: '抱歉,您沒有登錄許可權',
+		placeholder10: '驗證碼已過期',
+		btnText: '登 入',
 	},
 	mobile: {
 		placeholder1: '請選擇租戶',
 		placeholder2: '請輸入手機號',
 		placeholder3: '請輸入驗證碼',
 		codeText: '獲取驗證碼',
-		btnText: '登入',
-		msgText: '* 溫馨提示:建議使用穀歌、Microsoft Edge,版本79.0.1072.62及以上瀏覽器,360瀏覽器請使用極速模式',
+		btnText: '登 入',
+		msgText: '*溫馨提示:建議使用穀歌、 Microsoft Edge, 版本79.0.1072.62及以上瀏覽器,360瀏覽器請使用極速模式',
 	},
 	scan: {
 		placeholder1: '請選擇租戶',
-		text: '打開手機掃一掃快速登錄/注册',
+		text: '打開手機掃一掃,快速登錄/注册',
 	},
-	signInText: '歡迎回來!',
-};
+	signInText: '歡迎回來! ',
+	registerText: '歡迎加入,請使用默認密碼登入! ',
+};	

+ 13 - 13
Web/src/views/login/component/account.vue

@@ -1,8 +1,8 @@
 <template>
-	<el-tooltip :visible="state.capsLockVisible" effect="light" content="大写锁定已打开" placement="top">
+	<el-tooltip :visible="state.capsLockVisible" effect="light" :content="$t('message.account.placeholder5')" placement="top">
 		<el-form ref="ruleFormRef" :model="state.ruleForm" size="large" :rules="state.rules" class="login-content-form">
 			<el-form-item class="login-animation1" prop="account">
-				<el-input ref="accountRef" text :placeholder="$t('message.account.accountPlaceholder1')" v-model="state.ruleForm.account" clearable autocomplete="off" @keyup.enter.native="handleSignIn">
+				<el-input ref="accountRef" text :placeholder="$t('message.account.placeholder1')" v-model="state.ruleForm.account" clearable autocomplete="off" @keyup.enter.native="handleSignIn">
 					<template #prefix>
 						<el-icon>
 							<ele-User />
@@ -11,7 +11,7 @@
 				</el-input>
 			</el-form-item>
 			<el-form-item class="login-animation2" prop="password">
-				<el-input ref="passwordRef" :type="state.isShowPassword ? 'text' : 'password'" :placeholder="$t('message.account.accountPlaceholder2')" v-model="state.ruleForm.password" autocomplete="off" @keyup.enter.native="handleSignIn">
+				<el-input ref="passwordRef" :type="state.isShowPassword ? 'text' : 'password'" :placeholder="$t('message.account.placeholder2')" v-model="state.ruleForm.password" autocomplete="off" @keyup.enter.native="handleSignIn">
 					<template #prefix>
 						<el-icon>
 							<ele-Unlock />
@@ -24,7 +24,7 @@
 				</el-input>
 			</el-form-item>
 			<el-form-item class="login-animation2" prop="tenantId" clearable v-if="!props.tenantInfo.id && !state.hideTenantForLogin">
-				<el-select v-model="state.ruleForm.tenantId" :placeholder="$t('message.account.accountPlaceholder3')" style="width: 100%" filterable>
+				<el-select v-model="state.ruleForm.tenantId" :placeholder="$t('message.account.placeholder3')" style="width: 100%" filterable>
 					<template #prefix>
 						<i class="iconfont icon-shuxingtu el-input__icon"></i>
 					</template>
@@ -37,7 +37,7 @@
 						ref="codeRef"
 						text
 						maxlength="4"
-						:placeholder="$t('message.account.accountPlaceholder4')"
+						:placeholder="$t('message.account.placeholder4')"
 						v-model="state.ruleForm.code"
 						clearable
 						autocomplete="off"
@@ -59,7 +59,7 @@
 			</el-form-item>
 			<el-form-item class="login-animation4">
 				<el-button type="primary" class="login-content-submit" round v-waves @click="handleSignIn" :loading="state.loading.signIn">
-					<span>{{ $t('message.account.accountBtnText') }}</span>
+					<span>{{ $t('message.account.btnText') }}</span>
 				</el-button>
 			</el-form-item>
 			<div class="font12 mt30 login-animation4 login-msg">{{ $t('message.mobile.msgText') }}</div>
@@ -72,8 +72,8 @@
 				ref="dragRef"
 				:imgsrc="state.rotateVerifyImg"
 				v-model:isPassing="state.isPassRotate"
-				text="请按住滑块拖动"
-				successText="验证通过"
+				:text="$t('message.account.placeholder6')"
+				:successText="$t('message.account.placeholder7')"
 				handlerIcon="fa fa-angle-double-right"
 				successIcon="fa fa-hand-peace-o"
 				@passcallback="passRotateVerify"
@@ -132,9 +132,9 @@ const state = reactive({
 		codeId: 0,
 	},
 	rules: {
-		account: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
-		password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
-		// code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
+		account: [{ required: true, message: t('message.account.placeholder1'), trigger: 'blur' }],
+		password: [{ required: true, message: t('message.account.placeholder2'), trigger: 'blur' }],
+		// code: [{ required: true, message: t('message.account.placeholder4'), trigger: 'blur' }],
 	},
 	loading: {
 		signIn: false,
@@ -239,7 +239,7 @@ const onSignIn = async () => {
 			}
 			if (res.data.result?.accessToken == undefined) {
 				getCaptcha(); // 重新获取验证码
-				ElMessage.error('登录失败,请检查账号!');
+				ElMessage.error(t('message.account.placeholder8'));
 				return;
 			}
 			await saveTokenAndInitRoutes(res.data.result?.accessToken);
@@ -264,7 +264,7 @@ const saveTokenAndInitRoutes = async (accessToken: string | any) => {
 // 登录成功后的跳转
 const signInSuccess = (isNoPower: boolean | undefined) => {
 	if (isNoPower) {
-		ElMessage.warning('抱歉,您没有登录权限');
+		ElMessage.warning(t('message.account.placeholder9'));
 		clearTokens(); // 清空Token缓存
 	} else {
 		// 初始化登录成功时间问候语

+ 8 - 8
Web/src/views/login/component/register.vue

@@ -1,5 +1,5 @@
 <template>
-	<el-tooltip :visible="state.capsLockVisible" effect="light" content="大写锁定已打开" placement="top">
+	<el-tooltip :visible="state.capsLockVisible" effect="light" :content="$t('message.account.placeholder5')" placement="top">
 		<el-form ref="ruleFormRef" :model="state.ruleForm" size="large" :rules="state.rules" class="login-content-form">
 			<el-form-item class="login-animation2" prop="tenantId" clearable v-if="!props.tenantInfo.id && !themeConfig.hideTenantForLogin">
 				<el-select v-model="state.ruleForm.tenantId" :placeholder="$t('message.register.placeholder1')" style="width: 100%" filterable>
@@ -74,8 +74,8 @@
 				ref="dragRef"
 				:imgsrc="state.rotateVerifyImg"
 				v-model:isPassing="state.isPassRotate"
-				text="请按住滑块拖动"
-				successText="验证通过"
+				:text="$t('message.account.placeholder6')"
+				:successText="$t('message.account.placeholder7')"
 				handlerIcon="fa fa-angle-double-right"
 				successIcon="fa fa-hand-peace-o"
 				@passcallback="passRotateVerify"
@@ -130,10 +130,10 @@ const state = reactive({
 		codeId: 0,
 	},
 	rules: {
-		account: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
-		realName: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
-		phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
-		code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
+		account: [{ required: true, message: t('message.register.placeholder3'), trigger: 'blur' }],
+		realName: [{ required: true, message: t('message.register.placeholder4'), trigger: 'blur' }],
+		phone: [{ required: true, message: t('message.register.placeholder2'), trigger: 'blur' }],
+		code: [{ required: true, message: t('message.register.placeholder5'), trigger: 'blur' }],
 	},
 	loading: {
 		register: false,
@@ -225,7 +225,7 @@ const onRegister = async () => {
 				getCaptcha(); // 重新获取验证码
 			} else if (res.data.type != 'success') {
 				getCaptcha(); // 重新获取验证码
-				ElMessage.error('注册失败!');
+				ElMessage.error(t('message.register.placeholder6'));
 			}
 		} finally {
 			state.loading.register = false;

+ 9 - 9
Web/src/views/login/index.vue

@@ -29,13 +29,13 @@
 					<div class="login-right-warp-main-form">
 						<div v-if="!state.isScan">
 							<el-tabs v-model="state.tabsActiveName">
-								<el-tab-pane :label="$t('message.label.one1')" name="account" v-if="state.tabsActiveName != 'register'">
+								<el-tab-pane :label="$t('message.label.label1')" name="account" v-if="state.tabsActiveName != 'register'">
 									<Account :tenant-info="tenantInfo" />
 								</el-tab-pane>
-								<el-tab-pane :label="$t('message.label.two2')" name="mobile" v-if="state.tabsActiveName != 'register'">
+								<el-tab-pane :label="$t('message.label.label2')" name="mobile" v-if="state.tabsActiveName != 'register'">
 									<Mobile :tenant-info="tenantInfo" />
 								</el-tab-pane>
-								<el-tab-pane :label="$t('message.label.two3')" name="register" v-if="state.tabsActiveName == 'register'">
+								<el-tab-pane :label="$t('message.label.label3')" name="register" v-if="state.tabsActiveName == 'register'">
 									<Register :tenant-info="tenantInfo" @goLogin="() => state.tabsActiveName = 'account'" />
 								</el-tab-pane>
 							</el-tabs>
@@ -47,10 +47,10 @@
 						</div>
 						<div class="login-content-main-left" v-if="getThemeConfig.registration">
 							<template v-if="state.tabsActiveName != 'register'">
-								没有账号? 去<el-link class="login-content-main-left-register" @click="() => state.tabsActiveName = 'register'">注册账号</el-link>
+								{{$t('message.label.label4')}}<el-link class="login-content-main-left-register" @click="() => state.tabsActiveName = 'register'">{{$t('message.label.label5')}}</el-link>
 							</template>
 							<template v-else>
-								已有账户? 去<el-link class="login-content-main-left-register" @click="() => state.tabsActiveName = 'account'">登录账号</el-link>
+								{{$t('message.label.label6')}}<el-link class="login-content-main-left-register" @click="() => state.tabsActiveName = 'account'">{{$t('message.label.label7')}}</el-link>
 							</template>
 						</div>
 					</div>
@@ -78,10 +78,10 @@ import {useRoute} from 'vue-router';
 import {Local} from '/@/utils/storage';
 
 // 引入组件
-const Register = defineAsyncComponent(() => import('/@/views/login/component/register.vue'));
-const Account = defineAsyncComponent(() => import('/@/views/login/component/account.vue'));
-const Mobile = defineAsyncComponent(() => import('/@/views/login/component/mobile.vue'));
-const Scan = defineAsyncComponent(() => import('/@/views/login/component/scan.vue'));
+const Register = defineAsyncComponent(() => import('./component/register.vue'));
+const Account = defineAsyncComponent(() => import('./component/account.vue'));
+const Mobile = defineAsyncComponent(() => import('./component/mobile.vue'));
+const Scan = defineAsyncComponent(() => import('./component/scan.vue'));
 
 const route = useRoute();
 const storesThemeConfig = useThemeConfig();