- 我们已向
+ {{ $t('We have sent an email to') }}
{{ email }}发送了一封邮件。请点击收到的链接重置您的密码。
+ >{{ $t('. Please click on the link received to reset your password.') }}
@@ -463,7 +463,7 @@ export default {
this.account_request = account_request;
this.otpRequested = true;
this.otpResendCountdown = 30;
- toast.success('验证码已发送至您的邮箱');
+ toast.success(this.$t('Verification code has been sent to your email'));
},
onError: (error) => {
if (error?.exc_type !== 'ValidationError') {
@@ -514,11 +514,11 @@ export default {
onSuccess() {
this.otp = '';
this.otpResendCountdown = 30;
- toast.success('验证码已发送至您的邮箱');
+ toast.success(this.$t('Verification code has been sent to your email'));
},
onError(err) {
toast.error(
- getToastErrorMessage(err, '验证码重发失败'),
+ getToastErrorMessage(err, this.$t('Failed to resend verification code')),
);
},
};
@@ -532,11 +532,11 @@ export default {
onSuccess() {
this.otpSent = true;
this.otpResendCountdown = 30;
- toast.success('验证码已发送至您的邮箱');
+ toast.success(this.$t('Verification code has been sent to your email'));
},
onError(err) {
toast.error(
- getToastErrorMessage(err, '验证码发送失败'),
+ getToastErrorMessage(err, this.$t('Failed to send verification code')),
);
},
};
@@ -615,7 +615,7 @@ export default {
},
onSuccess(res) {
if (res && res.success === false) {
- toast.error(res.message || '注册失败,请检查您的信息');
+ toast.error(res.message || this.$t('Sign up failed, please check your information'));
return;
}
@@ -630,7 +630,7 @@ export default {
onError(err) {
const errorMessage = err?.messages?.length
? err.messages.join('\n')
- : (err?.message || '注册失败,请检查您的信息');
+ : (err?.message || this.$t('Sign up failed, please check your information'));
toast.error(errorMessage);
},
};
@@ -661,27 +661,27 @@ export default {
this.checkTwoFactorAndResetPassword();
} else {
if (!this.username) {
- toast.error('用户名不能为空');
+ toast.error(this.$t('Username cannot be empty'));
return;
}
if (!this.phoneNumber) {
- toast.error('手机号不能为空');
+ toast.error(this.$t('Phone number cannot be empty'));
return;
}
if (!this.isPhoneNumberValid) {
- toast.error('请输入正确的手机号码格式');
+ toast.error(this.$t('Please enter a valid phone number format'));
return;
}
if (!this.signupPassword) {
- toast.error('密码不能为空');
+ toast.error(this.$t('Password cannot be empty'));
return;
}
if (this.signupPassword !== this.confirmPassword) {
- toast.error('两次输入的密码不一致');
+ toast.error(this.$t('Passwords do not match'));
return;
}
if (!this.isPasswordValid) {
- toast.error('密码必须至少8个字符,并包含大小写字母和数字');
+ toast.error(this.$t('Password must be at least 8 characters and contain uppercase and lowercase letters and numbers'));
return;
}
this.$resources.signupWithUsername.submit();
@@ -879,17 +879,17 @@ export default {
},
title() {
if (this.hasForgotPassword) {
- return '重置密码';
+ return this.$t('Reset Password');
} else if (this.isLogin) {
if (this.saasProduct) {
- return `登录您的账户以开始使用 ${this.saasProduct.title}`;
+ return this.$t('Log in to your account to start using {product}', { product: this.saasProduct.title });
}
- return '登录您的账户';
+ return this.$t('Log in to your account');
} else {
if (this.saasProduct) {
- return `注册以创建您的 ${this.saasProduct.title} 站点`;
+ return this.$t('Sign up to create your {product} site', { product: this.saasProduct.title });
}
- return '创建新账户';
+ return this.$t('Create New Account');
}
},
useEmail() {
@@ -925,10 +925,10 @@ export default {
return 'bg-green-500';
},
passwordStrengthText() {
- if (this.passwordStrength < 40) return '弱';
- if (this.passwordStrength < 60) return '一般';
- if (this.passwordStrength < 80) return '强';
- return '非常强';
+ if (this.passwordStrength < 40) return this.$t('Weak');
+ if (this.passwordStrength < 60) return this.$t('Fair');
+ if (this.passwordStrength < 80) return this.$t('Strong');
+ return this.$t('Very Strong');
},
passwordStrengthTextClass() {
if (this.passwordStrength < 40) return 'text-red-500';
diff --git a/jcloud/translations/zh.csv b/jcloud/translations/zh.csv
index 64fc9af..3a3d493 100644
--- a/jcloud/translations/zh.csv
+++ b/jcloud/translations/zh.csv
@@ -1084,3 +1084,53 @@ Currently Active,当前激活,
Switch,切换,
Select Team,选择团队,
This feature is only available for system users,此功能仅对系统用户可用,
+2FA code from your authenticator app,来自您的身份验证应用的2FA代码,
+Verify,验证,
+I remember my password,我记得我的密码,
+Username or Email,用户名或邮箱,
+Forgot Password?,忘记密码?,
+Log In,登录,
+Verification Code,验证码,
+Resend Verification Code,重新发送验证码,
+in,在,
+seconds,秒后,
+Send Verification Code,发送验证码,
+Log in with,使用,
+Username,用户名,
+Set username,设置用户名,
+Email (optional),邮箱 (可选),
+Phone Number,手机号,
+Please enter your phone number,请输入您的手机号码,
+Please enter a valid phone number format,请输入正确的手机号码格式,
+Set login password,设置登录密码,
+Password must be at least 8 characters and contain uppercase and lowercase letters and numbers,密码必须至少8个字符,并包含大小写字母和数字,
+Password Strength,密码强度,
+Confirm Password,确认密码,
+Enter password again,再次输入密码,
+Passwords do not match,两次输入的密码不一致,
+Sign Up,注册,
+Or,或,
+Log in with email verification code,使用邮箱验证码登陆,
+Log in with password,使用密码登陆,
+Don't have an account? Create one.,没有账户?创建一个账户。,
+Already have an account? Log in.,已有账户?登录。,
+New user? Create a new account.,新用户?创建一个新账户。,
+We have sent an email to,我们已向,
+. Please click on the link received to reset your password.,发送了一封邮件。请点击收到的链接重置您的密码。,
+Powered by Jingrow,由 今果 Jingrow 提供支持,
+Verification code has been sent to your email,验证码已发送至您的邮箱,
+Failed to resend verification code,验证码重发失败,
+Failed to send verification code,验证码发送失败,
+Sign up failed, please check your information,注册失败,请检查您的信息,
+Username cannot be empty,用户名不能为空,
+Phone number cannot be empty,手机号不能为空,
+Password cannot be empty,密码不能为空,
+Reset Password,重置密码,
+Log in to your account,登录您的账户,
+Log in to your account to start using {product},登录您的账户以开始使用 {product},
+Sign up to create your {product} site,注册以创建您的 {product} 站点,
+Create New Account,创建新账户,
+Weak,弱,
+Fair,一般,
+Strong,强,
+Very Strong,非常强,