diff --git a/web/default/src/features/auth/constants.ts b/web/default/src/features/auth/constants.ts index 458a4e83..8769ddea 100644 --- a/web/default/src/features/auth/constants.ts +++ b/web/default/src/features/auth/constants.ts @@ -24,10 +24,7 @@ import { z } from 'zod' export const loginFormSchema = z.object({ username: z.string().min(1, 'Please enter your username or email'), - password: z - .string() - .min(1, 'Please enter your password') - .min(8, 'Password must be at least 8 characters long'), + password: z.string().min(1, 'Please enter your password'), }) export const registerFormSchema = z @@ -37,7 +34,7 @@ export const registerFormSchema = z password: z .string() .min(1, 'Please enter your password') - .min(8, 'Password must be at least 8 characters long') + .min(8, 'Password must be between 8 and 20 characters') .max(20, 'Password must be at most 20 characters long'), confirmPassword: z.string().min(1, 'Please confirm your password'), }) diff --git a/web/default/src/features/setup/setup-wizard.tsx b/web/default/src/features/setup/setup-wizard.tsx index bb5c3f8e..bc0b9827 100644 --- a/web/default/src/features/setup/setup-wizard.tsx +++ b/web/default/src/features/setup/setup-wizard.tsx @@ -221,9 +221,9 @@ export function SetupWizard() { if (!password || password.length < 8) { form.setError('password', { type: 'manual', - message: t('Password must be at least 8 characters long'), + message: t('Password must be at least 8 characters'), }) - toast.error(t('Password must be at least 8 characters long')) + toast.error(t('Password must be at least 8 characters')) return false } diff --git a/web/default/src/features/users/components/users-mutate-drawer.tsx b/web/default/src/features/users/components/users-mutate-drawer.tsx index 1717ca03..41744aa5 100644 --- a/web/default/src/features/users/components/users-mutate-drawer.tsx +++ b/web/default/src/features/users/components/users-mutate-drawer.tsx @@ -336,7 +336,7 @@ export function UsersMutateDrawer({ placeholder={ isUpdate ? t('Leave empty to keep unchanged') - : t('Enter password (min 8 characters)') + : t('Enter password (8-20 characters)') } /> diff --git a/web/default/src/i18n/locales/en.json b/web/default/src/i18n/locales/en.json index 8b6876d0..964e53da 100644 --- a/web/default/src/i18n/locales/en.json +++ b/web/default/src/i18n/locales/en.json @@ -1609,7 +1609,6 @@ "Enter only a top-level callback domain, for example https://api.example.com, without any path.": "Enter only a top-level callback domain, for example https://api.example.com, without any path.", "Enter password": "Enter password", "Enter password (8-20 characters)": "Enter password (8-20 characters)", - "Enter password (min 8 characters)": "Enter password (min 8 characters)", "Enter quota in {{currency}}": "Enter quota in {{currency}}", "Enter quota in tokens": "Enter quota in tokens", "Enter secret key": "Enter secret key", @@ -3123,12 +3122,13 @@ "Password has been copied to clipboard": "Password has been copied to clipboard", "Password Login": "Password Login", "Password must be at least 8 characters": "Password must be at least 8 characters", - "Password must be at least 8 characters long": "Password must be at least 8 characters long", + "Password must be at most 20 characters long": "Password must be at most 20 characters long", "Password must be between 8 and 20 characters": "Password must be between 8 and 20 characters", "Password Registration": "Password Registration", "Password reset and copied to clipboard: {{password}}": "Password reset and copied to clipboard: {{password}}", "Password reset: {{password}}": "Password reset: {{password}}", "Passwords do not match": "Passwords do not match", + "Passwords don't match.": "Passwords don't match.", "Path": "Path", "Path not set": "Path not set", "Path Regex (one per line)": "Path Regex (one per line)", @@ -3219,8 +3219,10 @@ "Please agree to the legal terms first": "Please agree to the legal terms first", "Please complete the security check to continue.": "Please complete the security check to continue.", "Please confirm that you understand the consequences": "Please confirm that you understand the consequences", + "Please confirm your password": "Please confirm your password", "Please enable io.net model deployment service and configure an API key in System Settings.": "Please enable io.net model deployment service and configure an API key in System Settings.", "Please enable Two-factor Authentication or Passkey before proceeding": "Please enable Two-factor Authentication or Passkey before proceeding", + "Please enter a code.": "Please enter a code.", "Please enter a name": "Please enter a name", "Please enter a new password": "Please enter a new password", "Please enter a redemption code": "Please enter a redemption code", @@ -3242,6 +3244,9 @@ "Please enter your current password": "Please enter your current password", "Please enter your email": "Please enter your email", "Please enter your email first": "Please enter your email first", + "Please enter your password": "Please enter your password", + "Please enter your username": "Please enter your username", + "Please enter your username or email": "Please enter your username or email", "Please enter your verification code": "Please enter your verification code", "Please enter your verification code or backup code": "Please enter your verification code or backup code", "Please fix JSON errors before saving": "Please fix JSON errors before saving", diff --git a/web/default/src/i18n/locales/fr.json b/web/default/src/i18n/locales/fr.json index 428cf244..d0b0f8c5 100644 --- a/web/default/src/i18n/locales/fr.json +++ b/web/default/src/i18n/locales/fr.json @@ -1609,7 +1609,6 @@ "Enter only a top-level callback domain, for example https://api.example.com, without any path.": "Saisissez uniquement le domaine de callback principal, par exemple https://api.example.com, sans chemin.", "Enter password": "Saisir le mot de passe", "Enter password (8-20 characters)": "Saisir le mot de passe (8-20 caractères)", - "Enter password (min 8 characters)": "Entrez le mot de passe (min. 8 caractères)", "Enter quota in {{currency}}": "Saisir le quota en {{currency}}", "Enter quota in tokens": "Saisir le quota en tokens", "Enter secret key": "Saisir la clé secrète", @@ -3123,12 +3122,13 @@ "Password has been copied to clipboard": "Le mot de passe a été copié dans le presse-papiers", "Password Login": "Connexion par mot de passe", "Password must be at least 8 characters": "Le mot de passe doit comporter au moins 8 caractères", - "Password must be at least 8 characters long": "Le mot de passe doit comporter au moins 8 caractères", + "Password must be at most 20 characters long": "Le mot de passe doit comporter au maximum 20 caractères", "Password must be between 8 and 20 characters": "Le mot de passe doit comporter entre 8 et 20 caractères", "Password Registration": "Inscription par mot de passe", "Password reset and copied to clipboard: {{password}}": "Mot de passe réinitialisé et copié dans le presse-papiers : {{password}}", "Password reset: {{password}}": "Mot de passe réinitialisé : {{password}}", "Passwords do not match": "Les mots de passe ne correspondent pas", + "Passwords don't match.": "Les mots de passe ne correspondent pas.", "Path": "Chemin", "Path not set": "Chemin non défini", "Path Regex (one per line)": "Regex du chemin (un par ligne)", @@ -3219,8 +3219,10 @@ "Please agree to the legal terms first": "Veuillez accepter les conditions légales d'abord", "Please complete the security check to continue.": "Veuillez compléter la vérification de sécurité pour continuer.", "Please confirm that you understand the consequences": "Veuillez confirmer que vous comprenez les conséquences", + "Please confirm your password": "Veuillez confirmer votre mot de passe", "Please enable io.net model deployment service and configure an API key in System Settings.": "Veuillez activer le service de déploiement de modèles io.net et configurer une clé API dans les Paramètres système.", "Please enable Two-factor Authentication or Passkey before proceeding": "Veuillez activer l'authentification à deux facteurs ou une Passkey avant de continuer", + "Please enter a code.": "Veuillez saisir un code.", "Please enter a name": "Veuillez saisir un nom", "Please enter a new password": "Veuillez saisir un nouveau mot de passe", "Please enter a redemption code": "Veuillez saisir un code de rédemption", @@ -3242,6 +3244,9 @@ "Please enter your current password": "Veuillez saisir votre mot de passe actuel", "Please enter your email": "Veuillez saisir votre adresse e-mail", "Please enter your email first": "Veuillez saisir votre email en premier", + "Please enter your password": "Veuillez saisir votre mot de passe", + "Please enter your username": "Veuillez saisir votre nom d’utilisateur", + "Please enter your username or email": "Veuillez saisir votre nom d’utilisateur ou votre adresse e-mail", "Please enter your verification code": "Veuillez saisir votre code de vérification", "Please enter your verification code or backup code": "Veuillez saisir votre code de vérification ou votre code de secours", "Please fix JSON errors before saving": "Veuillez corriger les erreurs JSON avant d’enregistrer", diff --git a/web/default/src/i18n/locales/ja.json b/web/default/src/i18n/locales/ja.json index 0bb4a934..9de51685 100644 --- a/web/default/src/i18n/locales/ja.json +++ b/web/default/src/i18n/locales/ja.json @@ -1609,7 +1609,6 @@ "Enter only a top-level callback domain, for example https://api.example.com, without any path.": "コールバックのトップレベルドメインのみを入力してください。例: https://api.example.com。パスは含めないでください。", "Enter password": "パスワードを入力", "Enter password (8-20 characters)": "パスワードを入力 (8~20文字)", - "Enter password (min 8 characters)": "パスワードを入力(最小8文字)", "Enter quota in {{currency}}": "{{currency}} でクォータを入力", "Enter quota in tokens": "トークン単位でクォータを入力", "Enter secret key": "シークレットキーを入力", @@ -3123,12 +3122,13 @@ "Password has been copied to clipboard": "パスワードがクリップボードにコピーされました", "Password Login": "パスワードログイン", "Password must be at least 8 characters": "パスワードは少なくとも8文字である必要があります", - "Password must be at least 8 characters long": "パスワードは8文字以上である必要があります", + "Password must be at most 20 characters long": "パスワードは20文字以内で入力してください", "Password must be between 8 and 20 characters": "パスワードは8文字以上20文字以下である必要があります", "Password Registration": "パスワード登録", "Password reset and copied to clipboard: {{password}}": "パスワードがリセットされ、クリップボードにコピーされました:{{password}}", "Password reset: {{password}}": "パスワードがリセットされました:{{password}}", "Passwords do not match": "パスワードが一致しません", + "Passwords don't match.": "パスワードが一致しません。", "Path": "パス", "Path not set": "パス未設定", "Path Regex (one per line)": "パス正規表現(1行に1つ)", @@ -3219,8 +3219,10 @@ "Please agree to the legal terms first": "先に利用規約に同意してください", "Please complete the security check to continue.": "続行するにはセキュリティチェックを完了してください。", "Please confirm that you understand the consequences": "結果を理解したことを確認してください", + "Please confirm your password": "パスワードを確認してください", "Please enable io.net model deployment service and configure an API key in System Settings.": "システム設定で io.net モデルデプロイサービスを有効にし、API キーを設定してください。", "Please enable Two-factor Authentication or Passkey before proceeding": "続行する前に、二要素認証またはパスキーを有効にしてください", + "Please enter a code.": "コードを入力してください。", "Please enter a name": "名前を入力してください", "Please enter a new password": "新しいパスワードを入力してください", "Please enter a redemption code": "引き換えコードを入力してください", @@ -3242,6 +3244,9 @@ "Please enter your current password": "現在のパスワードを入力してください", "Please enter your email": "メールアドレスを入力してください", "Please enter your email first": "まずメールアドレスを入力してください", + "Please enter your password": "パスワードを入力してください", + "Please enter your username": "ユーザー名を入力してください", + "Please enter your username or email": "ユーザー名またはメールアドレスを入力してください", "Please enter your verification code": "認証コードを入力してください", "Please enter your verification code or backup code": "認証コードまたはバックアップコードを入力してください", "Please fix JSON errors before saving": "保存する前に JSON エラーを直してください", diff --git a/web/default/src/i18n/locales/ru.json b/web/default/src/i18n/locales/ru.json index ce1d4435..beaf2abc 100644 --- a/web/default/src/i18n/locales/ru.json +++ b/web/default/src/i18n/locales/ru.json @@ -1609,7 +1609,6 @@ "Enter only a top-level callback domain, for example https://api.example.com, without any path.": "Введите только домен верхнего уровня для callback, например https://api.example.com, без пути.", "Enter password": "Введите пароль", "Enter password (8-20 characters)": "Введите пароль (8-20 символов)", - "Enter password (min 8 characters)": "Введите пароль (минимум 8 символов)", "Enter quota in {{currency}}": "Введите квоту в {{currency}}", "Enter quota in tokens": "Введите квоту в токенах", "Enter secret key": "Введите секретный ключ", @@ -2804,7 +2803,7 @@ "No models fetched yet.": "Модели еще не получены.", "No models found": "Модели не найдены", "No Models Found": "Модели не найдены", - "No models found.": "Модели автомобиля не найдены.", + "No models found.": "Модели не найдены.", "No models match the selected filters": "Нет моделей, соответствующих фильтрам", "No models match your current filters.": "Модели, соответствующие вашим текущим фильтрам, не найдены.", "No models match your search": "Модели не найдены", @@ -3123,12 +3122,13 @@ "Password has been copied to clipboard": "Пароль скопирован в буфер обмена", "Password Login": "Вход по паролю", "Password must be at least 8 characters": "Пароль должен содержать не менее 8 символов", - "Password must be at least 8 characters long": "Пароль должен содержать не менее 8 символов", + "Password must be at most 20 characters long": "Пароль должен содержать не более 20 символов", "Password must be between 8 and 20 characters": "Пароль должен содержать от 8 до 20 символов", "Password Registration": "Регистрация пароля", "Password reset and copied to clipboard: {{password}}": "Пароль сброшен и скопирован в буфер обмена: {{password}}", "Password reset: {{password}}": "Пароль сброшен: {{password}}", "Passwords do not match": "Пароли не совпадают", + "Passwords don't match.": "Пароли не совпадают.", "Path": "Путь", "Path not set": "Путь не задан", "Path Regex (one per line)": "Регулярное выражение пути (по одному на строку)", @@ -3219,8 +3219,10 @@ "Please agree to the legal terms first": "Сначала согласитесь с юридическими условиями", "Please complete the security check to continue.": "Пожалуйста, завершите проверку безопасности, чтобы продолжить.", "Please confirm that you understand the consequences": "Пожалуйста, подтвердите, что понимаете последствия", + "Please confirm your password": "Пожалуйста, подтвердите пароль", "Please enable io.net model deployment service and configure an API key in System Settings.": "Пожалуйста, включите сервис развертывания моделей io.net и настройте API-ключ в системных настройках.", "Please enable Two-factor Authentication or Passkey before proceeding": "Пожалуйста, включите двухфакторную аутентификацию или Passkey перед продолжением", + "Please enter a code.": "Пожалуйста, введите код.", "Please enter a name": "Пожалуйста, введите имя", "Please enter a new password": "Пожалуйста, введите новый пароль", "Please enter a redemption code": "Пожалуйста, введите код активации", @@ -3242,6 +3244,9 @@ "Please enter your current password": "Пожалуйста, введите текущий пароль", "Please enter your email": "Введите адрес электронной почты", "Please enter your email first": "Пожалуйста, сначала введите ваш email", + "Please enter your password": "Пожалуйста, введите пароль", + "Please enter your username": "Пожалуйста, введите имя пользователя", + "Please enter your username or email": "Пожалуйста, введите имя пользователя или адрес электронной почты", "Please enter your verification code": "Пожалуйста, введите код подтверждения", "Please enter your verification code or backup code": "Пожалуйста, введите код подтверждения или резервный код", "Please fix JSON errors before saving": "Исправьте ошибки JSON перед сохранением", diff --git a/web/default/src/i18n/locales/vi.json b/web/default/src/i18n/locales/vi.json index e26fd422..c244477b 100644 --- a/web/default/src/i18n/locales/vi.json +++ b/web/default/src/i18n/locales/vi.json @@ -1609,7 +1609,6 @@ "Enter only a top-level callback domain, for example https://api.example.com, without any path.": "Chỉ nhập tên miền callback cấp cao nhất, ví dụ https://api.example.com, không kèm đường dẫn.", "Enter password": "Nhập mật khẩu", "Enter password (8-20 characters)": "Nhập mật khẩu (8-20 ký tự)", - "Enter password (min 8 characters)": "Nhập mật khẩu (tối thiểu 8 ký tự)", "Enter quota in {{currency}}": "Nhập hạn mức bằng {{currency}}", "Enter quota in tokens": "Nhập hạn mức bằng token", "Enter secret key": "Nhập khóa bí mật", @@ -2803,7 +2802,7 @@ "No models fetched from upstream": "Không lấy được mô hình nào từ upstream", "No models fetched yet.": "Chưa có mô hình nào được tìm nạp.", "No models found": "Không tìm thấy mô hình nào", - "No Models Found": "No models found", + "No Models Found": "Không tìm thấy mô hình nào", "No models found.": "Không tìm thấy mô hình.", "No models match the selected filters": "Không có mô hình phù hợp bộ lọc", "No models match your current filters.": "Không có mô hình nào khớp với bộ lọc hiện tại của bạn.", @@ -3123,12 +3122,13 @@ "Password has been copied to clipboard": "Mật khẩu đã được sao chép vào bộ nhớ tạm", "Password Login": "Đăng nhập bằng mật khẩu", "Password must be at least 8 characters": "Mật khẩu phải có ít nhất 8 ký tự", - "Password must be at least 8 characters long": "Mật khẩu phải có ít nhất 8 ký tự", + "Password must be at most 20 characters long": "Mật khẩu tối đa 20 ký tự", "Password must be between 8 and 20 characters": "Mật khẩu phải từ 8 đến 20 ký tự", "Password Registration": "Đăng ký mật khẩu", "Password reset and copied to clipboard: {{password}}": "Mật khẩu đã đặt lại và sao chép vào clipboard: {{password}}", "Password reset: {{password}}": "Mật khẩu đã đặt lại: {{password}}", "Passwords do not match": "Mật khẩu không khớp", + "Passwords don't match.": "Mật khẩu không khớp.", "Path": "Đường dẫn", "Path not set": "Chưa đặt đường dẫn", "Path Regex (one per line)": "Regex đường dẫn (mỗi dòng một mục)", @@ -3219,8 +3219,10 @@ "Please agree to the legal terms first": "Vui lòng đồng ý với các điều khoản pháp lý trước", "Please complete the security check to continue.": "Vui lòng hoàn thành kiểm tra bảo mật để tiếp tục.", "Please confirm that you understand the consequences": "Vui lòng xác nhận rằng bạn hiểu hậu quả", + "Please confirm your password": "Vui lòng xác nhận mật khẩu", "Please enable io.net model deployment service and configure an API key in System Settings.": "Vui lòng bật dịch vụ triển khai mô hình io.net và cấu hình khóa API trong Cài đặt hệ thống.", "Please enable Two-factor Authentication or Passkey before proceeding": "Vui lòng bật Xác thực hai yếu tố hoặc Passkey trước khi tiếp tục", + "Please enter a code.": "Vui lòng nhập mã.", "Please enter a name": "Vui lòng nhập tên", "Please enter a new password": "Vui lòng nhập mật khẩu mới", "Please enter a redemption code": "Vui lòng nhập mã đổi thưởng", @@ -3242,6 +3244,9 @@ "Please enter your current password": "Vui lòng nhập mật khẩu hiện tại của bạn", "Please enter your email": "Vui lòng nhập email của bạn", "Please enter your email first": "Vui lòng nhập email trước", + "Please enter your password": "Vui lòng nhập mật khẩu", + "Please enter your username": "Vui lòng nhập tên người dùng", + "Please enter your username or email": "Vui lòng nhập tên người dùng hoặc email", "Please enter your verification code": "Vui lòng nhập mã xác thực của bạn", "Please enter your verification code or backup code": "Vui lòng nhập mã xác thực hoặc mã dự phòng của bạn", "Please fix JSON errors before saving": "Vui lòng sửa lỗi JSON trước khi lưu", diff --git a/web/default/src/i18n/locales/zh.json b/web/default/src/i18n/locales/zh.json index 8413540d..b25ff0ed 100644 --- a/web/default/src/i18n/locales/zh.json +++ b/web/default/src/i18n/locales/zh.json @@ -1609,7 +1609,6 @@ "Enter only a top-level callback domain, for example https://api.example.com, without any path.": "只填写回调顶级域名,例如 https://api.example.com,不要带任何路径。", "Enter password": "输入密码", "Enter password (8-20 characters)": "输入密码(8-20 个字符)", - "Enter password (min 8 characters)": "请输入密码(至少 8 个字符)", "Enter quota in {{currency}}": "输入 {{currency}} 额度", "Enter quota in tokens": "输入令牌配额", "Enter secret key": "输入密钥", @@ -3123,12 +3122,13 @@ "Password has been copied to clipboard": "密码已复制到剪贴板", "Password Login": "密码登录", "Password must be at least 8 characters": "密码必须至少 8 个字符", - "Password must be at least 8 characters long": "密码必须至少 8 个字符长", + "Password must be at most 20 characters long": "密码最多 20 个字符", "Password must be between 8 and 20 characters": "密码长度必须在 8 到 20 个字符之间", "Password Registration": "密码注册", "Password reset and copied to clipboard: {{password}}": "密码已重置并复制到剪贴板:{{password}}", "Password reset: {{password}}": "密码已重置:{{password}}", "Passwords do not match": "密码不匹配", + "Passwords don't match.": "两次输入的密码不一致。", "Path": "路径", "Path not set": "未设置路径", "Path Regex (one per line)": "路径正则(每行一个)", @@ -3219,8 +3219,10 @@ "Please agree to the legal terms first": "请先同意法律条款", "Please complete the security check to continue.": "请完成安全验证以继续。", "Please confirm that you understand the consequences": "请确认您了解后果", + "Please confirm your password": "请确认密码", "Please enable io.net model deployment service and configure an API key in System Settings.": "请先在系统设置中启用 io.net 模型部署服务,并配置 API Key。", "Please enable Two-factor Authentication or Passkey before proceeding": "请先启用双因素认证或通行密钥", + "Please enter a code.": "请输入验证码。", "Please enter a name": "请输入名称", "Please enter a new password": "请输入新密码", "Please enter a redemption code": "请输入兑换码", @@ -3242,6 +3244,9 @@ "Please enter your current password": "请输入当前密码", "Please enter your email": "请输入您的电子邮件", "Please enter your email first": "请先输入您的邮箱", + "Please enter your password": "请输入密码", + "Please enter your username": "请输入用户名", + "Please enter your username or email": "请输入用户名或邮箱", "Please enter your verification code": "请输入您的验证码", "Please enter your verification code or backup code": "请输入您的验证码或备用码", "Please fix JSON errors before saving": "请先修复 JSON 错误再保存",