@lobehub/lobehub 2.0.0-next.127 → 2.0.0-next.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.env.example +23 -3
  2. package/.env.example.development +5 -0
  3. package/CHANGELOG.md +50 -0
  4. package/README.md +6 -6
  5. package/README.zh-CN.md +6 -6
  6. package/changelog/v1.json +18 -0
  7. package/docker-compose/local/docker-compose.yml +24 -1
  8. package/docker-compose/local/logto/docker-compose.yml +25 -2
  9. package/docker-compose.development.yml +6 -0
  10. package/docs/development/database-schema.dbml +8 -6
  11. package/locales/ar/auth.json +114 -1
  12. package/locales/bg-BG/auth.json +114 -1
  13. package/locales/de-DE/auth.json +114 -1
  14. package/locales/en-US/auth.json +42 -22
  15. package/locales/es-ES/auth.json +114 -1
  16. package/locales/fa-IR/auth.json +114 -1
  17. package/locales/fr-FR/auth.json +114 -1
  18. package/locales/it-IT/auth.json +114 -1
  19. package/locales/ja-JP/auth.json +114 -1
  20. package/locales/ko-KR/auth.json +114 -1
  21. package/locales/nl-NL/auth.json +114 -1
  22. package/locales/pl-PL/auth.json +114 -1
  23. package/locales/pt-BR/auth.json +114 -1
  24. package/locales/ru-RU/auth.json +114 -1
  25. package/locales/tr-TR/auth.json +114 -1
  26. package/locales/vi-VN/auth.json +114 -1
  27. package/locales/zh-CN/auth.json +36 -29
  28. package/locales/zh-TW/auth.json +114 -1
  29. package/package.json +4 -1
  30. package/packages/database/migrations/0050_thread_and_user_id.sql +18 -0
  31. package/packages/database/migrations/meta/0050_snapshot.json +8792 -0
  32. package/packages/database/migrations/meta/_journal.json +7 -0
  33. package/packages/database/src/client/db.ts +21 -21
  34. package/packages/database/src/core/migrations.json +51 -10
  35. package/packages/database/src/repositories/dataImporter/deprecated/index.ts +5 -5
  36. package/packages/database/src/repositories/dataImporter/index.ts +59 -59
  37. package/packages/database/src/repositories/knowledge/index.test.ts +17 -5
  38. package/packages/database/src/repositories/knowledge/index.ts +6 -6
  39. package/packages/database/src/schemas/generation.ts +16 -16
  40. package/packages/database/src/schemas/nextauth.ts +3 -3
  41. package/packages/database/src/schemas/oidc.ts +36 -36
  42. package/packages/database/src/schemas/topic.ts +8 -3
  43. package/packages/model-runtime/src/providers/newapi/index.ts +61 -18
  44. package/packages/model-runtime/src/runtimeMap.ts +1 -0
  45. package/packages/types/src/topic/thread.ts +3 -3
  46. package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx +10 -6
  47. package/src/envs/redis.ts +106 -0
  48. package/src/libs/redis/index.ts +5 -0
  49. package/src/libs/redis/manager.test.ts +107 -0
  50. package/src/libs/redis/manager.ts +56 -0
  51. package/src/libs/redis/redis.test.ts +158 -0
  52. package/src/libs/redis/redis.ts +117 -0
  53. package/src/libs/redis/types.ts +71 -0
  54. package/src/libs/redis/upstash.test.ts +154 -0
  55. package/src/libs/redis/upstash.ts +109 -0
  56. package/src/libs/redis/utils.test.ts +46 -0
  57. package/src/libs/redis/utils.ts +53 -0
  58. package/src/store/chat/slices/thread/action.ts +1 -1
  59. package/src/store/chat/slices/thread/initialState.ts +1 -1
  60. package/src/store/chat/slices/thread/selectors/util.ts +1 -1
  61. package/.github/workflows/check-console-log.yml +0 -117
@@ -52,6 +52,104 @@
52
52
  "required": "Inhalt darf nicht leer sein"
53
53
  }
54
54
  },
55
+ "betterAuth": {
56
+ "errors": {
57
+ "emailInvalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
58
+ "emailNotRegistered": "Diese E-Mail-Adresse ist noch nicht registriert",
59
+ "emailNotVerified": "E-Mail-Adresse nicht verifiziert, bitte zuerst verifizieren",
60
+ "emailRequired": "Bitte geben Sie eine E-Mail-Adresse ein",
61
+ "firstNameRequired": "Bitte geben Sie Ihren Vornamen ein",
62
+ "lastNameRequired": "Bitte geben Sie Ihren Nachnamen ein",
63
+ "loginFailed": "Anmeldung fehlgeschlagen, bitte überprüfen Sie E-Mail und Passwort",
64
+ "passwordFormat": "Das Passwort muss Buchstaben und Zahlen enthalten",
65
+ "passwordMaxLength": "Das Passwort darf maximal 64 Zeichen lang sein",
66
+ "passwordMinLength": "Das Passwort muss mindestens 8 Zeichen lang sein",
67
+ "passwordRequired": "Bitte geben Sie ein Passwort ein",
68
+ "usernameRequired": "Bitte geben Sie einen Benutzernamen ein"
69
+ },
70
+ "resetPassword": {
71
+ "backToSignIn": "Zurück zur Anmeldung",
72
+ "confirmPasswordPlaceholder": "Neues Passwort bestätigen",
73
+ "confirmPasswordRequired": "Bitte bestätigen Sie Ihr neues Passwort",
74
+ "description": "Bitte geben Sie Ihr neues Passwort ein",
75
+ "error": "Passwort zurücksetzen fehlgeschlagen, bitte versuchen Sie es erneut",
76
+ "invalidToken": "Ungültiger oder abgelaufener Zurücksetzungslink",
77
+ "newPasswordPlaceholder": "Neues Passwort eingeben",
78
+ "passwordMismatch": "Die Passwörter stimmen nicht überein",
79
+ "submit": "Passwort zurücksetzen",
80
+ "success": "Passwort erfolgreich zurückgesetzt, bitte melden Sie sich mit dem neuen Passwort an",
81
+ "title": "Passwort zurücksetzen"
82
+ },
83
+ "signin": {
84
+ "backToEmail": "Zurück zur E-Mail-Adresse",
85
+ "continueWithAuth0": "Mit Auth0 anmelden",
86
+ "continueWithAuthelia": "Mit Authelia anmelden",
87
+ "continueWithAuthentik": "Mit Authentik anmelden",
88
+ "continueWithCasdoor": "Mit Casdoor anmelden",
89
+ "continueWithCloudflareZeroTrust": "Mit Cloudflare Zero Trust anmelden",
90
+ "continueWithCognito": "Mit AWS Cognito anmelden",
91
+ "continueWithFeishu": "Mit Feishu anmelden",
92
+ "continueWithGithub": "Mit GitHub anmelden",
93
+ "continueWithGoogle": "Mit Google anmelden",
94
+ "continueWithKeycloak": "Mit Keycloak anmelden",
95
+ "continueWithLogto": "Mit Logto anmelden",
96
+ "continueWithMicrosoft": "Mit Microsoft anmelden",
97
+ "continueWithOIDC": "Mit OIDC anmelden",
98
+ "continueWithOkta": "Mit Okta anmelden",
99
+ "continueWithWechat": "Mit WeChat anmelden",
100
+ "continueWithZitadel": "Mit Zitadel anmelden",
101
+ "emailPlaceholder": "Bitte geben Sie Ihre E-Mail-Adresse ein",
102
+ "emailStep": {
103
+ "subtitle": "Bitte geben Sie Ihre E-Mail-Adresse ein, um fortzufahren",
104
+ "title": "Anmelden"
105
+ },
106
+ "error": "Anmeldung fehlgeschlagen, bitte überprüfen Sie E-Mail und Passwort",
107
+ "forgotPassword": "Passwort vergessen?",
108
+ "forgotPasswordError": "Link zum Zurücksetzen des Passworts konnte nicht gesendet werden",
109
+ "forgotPasswordSent": "Link zum Zurücksetzen des Passworts wurde gesendet, bitte überprüfen Sie Ihre E-Mail",
110
+ "magicLinkButton": "Anmeldelink senden",
111
+ "magicLinkError": "Anmeldelink konnte nicht gesendet werden, bitte versuchen Sie es später erneut",
112
+ "magicLinkSent": "Anmeldelink wurde gesendet, bitte überprüfen Sie Ihre E-Mail",
113
+ "nextStep": "Nächster Schritt",
114
+ "noAccount": "Noch kein Konto?",
115
+ "orContinueWith": "oder",
116
+ "passwordPlaceholder": "Bitte geben Sie Ihr Passwort ein",
117
+ "passwordStep": {
118
+ "subtitle": "Bitte geben Sie Ihr Passwort ein, um fortzufahren"
119
+ },
120
+ "signupLink": "Jetzt registrieren",
121
+ "socialError": "Soziale Anmeldung fehlgeschlagen, bitte versuchen Sie es erneut",
122
+ "socialOnlyHint": "Diese E-Mail-Adresse wurde mit einem sozialen Konto registriert. Bitte melden Sie sich mit dem sozialen Konto an",
123
+ "submit": "Anmelden"
124
+ },
125
+ "signup": {
126
+ "emailPlaceholder": "Bitte geben Sie Ihre E-Mail-Adresse ein",
127
+ "error": "Registrierung fehlgeschlagen, bitte versuchen Sie es erneut",
128
+ "firstNamePlaceholder": "Vorname",
129
+ "hasAccount": "Bereits ein Konto?",
130
+ "lastNamePlaceholder": "Nachname",
131
+ "passwordPlaceholder": "Bitte geben Sie ein Passwort ein",
132
+ "signinLink": "Jetzt anmelden",
133
+ "submit": "Registrieren",
134
+ "subtitle": "Treten Sie der LobeChat-Community bei",
135
+ "success": "Registrierung erfolgreich! Bitte überprüfen Sie Ihre E-Mail zur Verifizierung",
136
+ "title": "Konto erstellen",
137
+ "usernamePlaceholder": "Bitte geben Sie einen Benutzernamen ein"
138
+ },
139
+ "verifyEmail": {
140
+ "backToSignIn": "Zurück zur Anmeldung",
141
+ "checkSpam": "Wenn Sie keine E-Mail erhalten haben, überprüfen Sie bitte Ihren Spam-Ordner",
142
+ "descriptionPrefix": "Wir haben eine Bestätigungs-E-Mail an",
143
+ "descriptionSuffix": "gesendet",
144
+ "resend": {
145
+ "button": "Bestätigungs-E-Mail erneut senden",
146
+ "error": "Senden fehlgeschlagen, bitte versuchen Sie es später erneut",
147
+ "noEmail": "E-Mail-Adresse fehlt",
148
+ "success": "Bestätigungs-E-Mail wurde erneut gesendet, bitte überprüfen Sie Ihre E-Mail"
149
+ },
150
+ "title": "Bestätigen Sie Ihre E-Mail-Adresse"
151
+ }
152
+ },
55
153
  "date": {
56
154
  "prevMonth": "Letzter Monat",
57
155
  "recent30Days": "Letzte 30 Tage"
@@ -86,16 +184,31 @@
86
184
  "loginOrSignup": "Einloggen / Registrieren",
87
185
  "profile": {
88
186
  "avatar": "Avatar",
187
+ "cancel": "Abbrechen",
188
+ "changePassword": "Passwort zurücksetzen",
89
189
  "email": "E-Mail-Adresse",
190
+ "fullName": "Vollständiger Name",
191
+ "fullNameInputHint": "Bitte geben Sie einen neuen vollständigen Namen ein",
192
+ "password": "Passwort",
193
+ "resetPasswordError": "Link zum Zurücksetzen des Passworts konnte nicht gesendet werden",
194
+ "resetPasswordSent": "Link zum Zurücksetzen des Passworts wurde gesendet, bitte überprüfen Sie Ihre E-Mail",
195
+ "save": "Speichern",
90
196
  "sso": {
197
+ "link": {
198
+ "button": "Konto verbinden",
199
+ "success": "Konto erfolgreich verbunden"
200
+ },
91
201
  "loading": "Laden der verknüpften Drittanbieter-Konten",
92
202
  "providers": "Verbundene Konten",
93
203
  "unlink": {
94
- "description": "Wenn Sie die Verknüpfung aufheben, können Sie sich nicht mehr mit dem {{provider}}-Konto {{providerAccountId}} anmelden. Wenn Sie das {{provider}}-Konto erneut mit dem aktuellen Konto verknüpfen möchten, stellen Sie bitte sicher, dass die E-Mail-Adresse des {{provider}}-Kontos {{email}} ist, und wir werden es Ihnen automatisch bei der Anmeldung mit dem aktuellen Konto zuordnen.",
204
+ "description": "Nach dem Trennen können Sie sich nicht mehr mit dem {{provider}}-Konto \"{{providerAccountId}}\" anmelden. Wenn Sie das {{provider}}-Konto erneut mit diesem Konto verbinden möchten, stellen Sie bitte sicher, dass die E-Mail-Adresse des {{provider}}-Kontos {{email}} ist. Wir werden es beim nächsten Login automatisch mit Ihrem aktuellen Konto verknüpfen.",
95
205
  "forbidden": "Sie müssen mindestens ein Drittanbieter-Konto verbunden behalten.",
96
206
  "title": "Möchten Sie das Drittanbieter-Konto {{provider}} wirklich trennen?"
97
207
  }
98
208
  },
209
+ "title": "Profilinformationen",
210
+ "updateAvatar": "Avatar aktualisieren",
211
+ "updateFullName": "Vollständigen Namen aktualisieren",
99
212
  "username": "Benutzername"
100
213
  },
101
214
  "signout": "Ausloggen",
@@ -67,12 +67,37 @@
67
67
  "passwordRequired": "Please enter your password",
68
68
  "usernameRequired": "Please enter your username"
69
69
  },
70
+ "resetPassword": {
71
+ "backToSignIn": "Back to Sign In",
72
+ "confirmPasswordPlaceholder": "Confirm new password",
73
+ "confirmPasswordRequired": "Please confirm your new password",
74
+ "description": "Please enter your new password",
75
+ "error": "Failed to reset password, please try again",
76
+ "invalidToken": "Invalid or expired reset link",
77
+ "newPasswordPlaceholder": "Enter new password",
78
+ "passwordMismatch": "Passwords do not match",
79
+ "submit": "Reset Password",
80
+ "success": "Password reset successful, please sign in with your new password",
81
+ "title": "Reset Password"
82
+ },
70
83
  "signin": {
71
84
  "backToEmail": "Back to change email",
85
+ "continueWithAuth0": "Sign in with Auth0",
86
+ "continueWithAuthelia": "Sign in with Authelia",
87
+ "continueWithAuthentik": "Sign in with Authentik",
88
+ "continueWithCasdoor": "Sign in with Casdoor",
89
+ "continueWithCloudflareZeroTrust": "Sign in with Cloudflare Zero Trust",
72
90
  "continueWithCognito": "Continue with AWS Cognito",
91
+ "continueWithFeishu": "Sign in with Feishu",
73
92
  "continueWithGithub": "Continue with GitHub",
74
93
  "continueWithGoogle": "Continue with Google",
94
+ "continueWithKeycloak": "Sign in with Keycloak",
95
+ "continueWithLogto": "Sign in with Logto",
75
96
  "continueWithMicrosoft": "Continue with Microsoft",
97
+ "continueWithOIDC": "Sign in with OIDC",
98
+ "continueWithOkta": "Sign in with Okta",
99
+ "continueWithWechat": "Sign in with WeChat",
100
+ "continueWithZitadel": "Sign in with Zitadel",
76
101
  "emailPlaceholder": "Enter your email address",
77
102
  "emailStep": {
78
103
  "subtitle": "Enter your email address to continue",
@@ -82,6 +107,9 @@
82
107
  "forgotPassword": "Forgot password?",
83
108
  "forgotPasswordError": "Failed to send password reset link",
84
109
  "forgotPasswordSent": "Password reset link sent, please check your email",
110
+ "magicLinkButton": "Send sign-in link",
111
+ "magicLinkError": "Failed to send sign-in link, please try again later",
112
+ "magicLinkSent": "Sign-in link sent, please check your email",
85
113
  "nextStep": "Next",
86
114
  "noAccount": "Don't have an account?",
87
115
  "orContinueWith": "OR",
@@ -91,9 +119,7 @@
91
119
  },
92
120
  "signupLink": "Sign up now",
93
121
  "socialError": "Social sign in failed, please try again",
94
- "magicLinkButton": "Send sign-in link",
95
- "magicLinkSent": "Sign-in link sent, please check your email",
96
- "magicLinkError": "Failed to send sign-in link, please try again later",
122
+ "socialOnlyHint": "This email was registered using a social account. Please sign in using the corresponding social provider.",
97
123
  "submit": "Sign In"
98
124
  },
99
125
  "signup": {
@@ -105,29 +131,23 @@
105
131
  "passwordPlaceholder": "Enter your password",
106
132
  "signinLink": "Sign in now",
107
133
  "submit": "Sign Up",
108
- "success": "Sign up successful! Please check your email for verification",
109
134
  "subtitle": "Join LobeChat Community",
135
+ "success": "Sign up successful! Please check your email for verification",
110
136
  "title": "Create Account",
111
137
  "usernamePlaceholder": "Enter your username"
112
138
  },
113
139
  "verifyEmail": {
114
140
  "backToSignIn": "Back to Sign In",
115
141
  "checkSpam": "If you don't receive the email, please check your spam folder",
116
- "description": "We've sent a verification email to {{email}}",
142
+ "descriptionPrefix": "We've sent a verification email to ",
143
+ "descriptionSuffix": "",
144
+ "resend": {
145
+ "button": "Resend Verification Email",
146
+ "error": "Failed to send. Please try again later.",
147
+ "noEmail": "Email address is missing",
148
+ "success": "Verification email resent. Please check your inbox."
149
+ },
117
150
  "title": "Verify Your Email"
118
- },
119
- "resetPassword": {
120
- "backToSignIn": "Back to Sign In",
121
- "confirmPasswordPlaceholder": "Confirm new password",
122
- "confirmPasswordRequired": "Please confirm your new password",
123
- "description": "Please enter your new password",
124
- "error": "Failed to reset password, please try again",
125
- "invalidToken": "Invalid or expired reset link",
126
- "newPasswordPlaceholder": "Enter new password",
127
- "passwordMismatch": "Passwords do not match",
128
- "submit": "Reset Password",
129
- "success": "Password reset successful, please sign in with your new password",
130
- "title": "Reset Password"
131
151
  }
132
152
  },
133
153
  "date": {
@@ -173,9 +193,6 @@
173
193
  "resetPasswordError": "Failed to send password reset link",
174
194
  "resetPasswordSent": "Password reset link sent, please check your email",
175
195
  "save": "Save",
176
- "title": "Profile Details",
177
- "updateAvatar": "Update avatar",
178
- "updateFullName": "Update fullname",
179
196
  "sso": {
180
197
  "link": {
181
198
  "button": "Connect Account",
@@ -184,11 +201,14 @@
184
201
  "loading": "Loading linked third-party accounts",
185
202
  "providers": "Connected Accounts",
186
203
  "unlink": {
187
- "description": "After unlinking, you will not be able to log in using the {{provider}} account \"{{providerAccountId}}\". If you need to re-link your {{provider}} account to the current account, please ensure that the email address for your {{provider}} account is {{email}}. We will automatically link it to the current logged-in account upon login.",
204
+ "description": "After unlinking, you will no longer be able to sign in using the {{provider}} account \"{{providerAccountId}}\". If you wish to re-link your {{provider}} account to this account, please ensure the email address of your {{provider}} account is {{email}}. We will automatically link it to your current account upon login.",
188
205
  "forbidden": "You must retain at least one linked third-party account.",
189
206
  "title": "Are you sure you want to unlink the third-party account {{provider}}?"
190
207
  }
191
208
  },
209
+ "title": "Profile Details",
210
+ "updateAvatar": "Update avatar",
211
+ "updateFullName": "Update fullname",
192
212
  "username": "Username"
193
213
  },
194
214
  "signout": "Log Out",
@@ -52,6 +52,104 @@
52
52
  "required": "El contenido no puede estar vacío"
53
53
  }
54
54
  },
55
+ "betterAuth": {
56
+ "errors": {
57
+ "emailInvalid": "Por favor, introduce una dirección de correo electrónico válida",
58
+ "emailNotRegistered": "Este correo electrónico no está registrado",
59
+ "emailNotVerified": "El correo electrónico no ha sido verificado. Por favor, verifica tu correo primero",
60
+ "emailRequired": "Por favor, introduce tu dirección de correo electrónico",
61
+ "firstNameRequired": "Por favor, introduce tu nombre",
62
+ "lastNameRequired": "Por favor, introduce tu apellido",
63
+ "loginFailed": "Error al iniciar sesión. Verifica tu correo electrónico y contraseña",
64
+ "passwordFormat": "La contraseña debe contener letras y números",
65
+ "passwordMaxLength": "La contraseña no puede tener más de 64 caracteres",
66
+ "passwordMinLength": "La contraseña debe tener al menos 8 caracteres",
67
+ "passwordRequired": "Por favor, introduce tu contraseña",
68
+ "usernameRequired": "Por favor, introduce tu nombre de usuario"
69
+ },
70
+ "resetPassword": {
71
+ "backToSignIn": "Volver a iniciar sesión",
72
+ "confirmPasswordPlaceholder": "Confirma la nueva contraseña",
73
+ "confirmPasswordRequired": "Por favor, confirma tu nueva contraseña",
74
+ "description": "Por favor, introduce tu nueva contraseña",
75
+ "error": "Error al restablecer la contraseña. Inténtalo de nuevo",
76
+ "invalidToken": "El enlace de restablecimiento no es válido o ha caducado",
77
+ "newPasswordPlaceholder": "Introduce la nueva contraseña",
78
+ "passwordMismatch": "Las contraseñas no coinciden",
79
+ "submit": "Restablecer contraseña",
80
+ "success": "¡Contraseña restablecida con éxito! Inicia sesión con tu nueva contraseña",
81
+ "title": "Restablecer contraseña"
82
+ },
83
+ "signin": {
84
+ "backToEmail": "Volver a cambiar el correo electrónico",
85
+ "continueWithAuth0": "Iniciar sesión con Auth0",
86
+ "continueWithAuthelia": "Iniciar sesión con Authelia",
87
+ "continueWithAuthentik": "Iniciar sesión con Authentik",
88
+ "continueWithCasdoor": "Iniciar sesión con Casdoor",
89
+ "continueWithCloudflareZeroTrust": "Iniciar sesión con Cloudflare Zero Trust",
90
+ "continueWithCognito": "Iniciar sesión con AWS Cognito",
91
+ "continueWithFeishu": "Iniciar sesión con Feishu",
92
+ "continueWithGithub": "Iniciar sesión con GitHub",
93
+ "continueWithGoogle": "Iniciar sesión con Google",
94
+ "continueWithKeycloak": "Iniciar sesión con Keycloak",
95
+ "continueWithLogto": "Iniciar sesión con Logto",
96
+ "continueWithMicrosoft": "Iniciar sesión con Microsoft",
97
+ "continueWithOIDC": "Iniciar sesión con OIDC",
98
+ "continueWithOkta": "Iniciar sesión con Okta",
99
+ "continueWithWechat": "Iniciar sesión con WeChat",
100
+ "continueWithZitadel": "Iniciar sesión con Zitadel",
101
+ "emailPlaceholder": "Introduce tu dirección de correo electrónico",
102
+ "emailStep": {
103
+ "subtitle": "Introduce tu dirección de correo electrónico para continuar",
104
+ "title": "Iniciar sesión"
105
+ },
106
+ "error": "Error al iniciar sesión. Verifica tu correo electrónico y contraseña",
107
+ "forgotPassword": "¿Olvidaste tu contraseña?",
108
+ "forgotPasswordError": "Error al enviar el enlace de restablecimiento de contraseña",
109
+ "forgotPasswordSent": "Enlace de restablecimiento de contraseña enviado. Revisa tu correo",
110
+ "magicLinkButton": "Enviar enlace de inicio de sesión",
111
+ "magicLinkError": "Error al enviar el enlace de inicio de sesión. Inténtalo más tarde",
112
+ "magicLinkSent": "Enlace de inicio de sesión enviado. Revisa tu correo",
113
+ "nextStep": "Siguiente paso",
114
+ "noAccount": "¿Aún no tienes una cuenta?",
115
+ "orContinueWith": "o",
116
+ "passwordPlaceholder": "Introduce tu contraseña",
117
+ "passwordStep": {
118
+ "subtitle": "Introduce tu contraseña para continuar"
119
+ },
120
+ "signupLink": "Regístrate ahora",
121
+ "socialError": "Error al iniciar sesión con red social. Inténtalo de nuevo",
122
+ "socialOnlyHint": "Este correo electrónico está registrado mediante una cuenta social. Por favor, inicia sesión con la cuenta social correspondiente",
123
+ "submit": "Iniciar sesión"
124
+ },
125
+ "signup": {
126
+ "emailPlaceholder": "Introduce tu dirección de correo electrónico",
127
+ "error": "Error al registrarse. Inténtalo de nuevo",
128
+ "firstNamePlaceholder": "Nombre",
129
+ "hasAccount": "¿Ya tienes una cuenta?",
130
+ "lastNamePlaceholder": "Apellido",
131
+ "passwordPlaceholder": "Introduce tu contraseña",
132
+ "signinLink": "Inicia sesión ahora",
133
+ "submit": "Registrarse",
134
+ "subtitle": "Únete a la comunidad de LobeChat",
135
+ "success": "¡Registro exitoso! Revisa tu correo para verificar tu cuenta",
136
+ "title": "Crear cuenta",
137
+ "usernamePlaceholder": "Introduce tu nombre de usuario"
138
+ },
139
+ "verifyEmail": {
140
+ "backToSignIn": "Volver a iniciar sesión",
141
+ "checkSpam": "Si no has recibido el correo, revisa tu carpeta de spam",
142
+ "descriptionPrefix": "Hemos enviado un correo de verificación a",
143
+ "descriptionSuffix": "",
144
+ "resend": {
145
+ "button": "Reenviar correo de verificación",
146
+ "error": "Error al enviar. Inténtalo más tarde",
147
+ "noEmail": "Falta la dirección de correo electrónico",
148
+ "success": "Correo de verificación reenviado. Revisa tu bandeja de entrada"
149
+ },
150
+ "title": "Verifica tu correo electrónico"
151
+ }
152
+ },
55
153
  "date": {
56
154
  "prevMonth": "Último mes",
57
155
  "recent30Days": "Últimos 30 días"
@@ -86,16 +184,31 @@
86
184
  "loginOrSignup": "Iniciar sesión / Registrarse",
87
185
  "profile": {
88
186
  "avatar": "Avatar",
187
+ "cancel": "Cancelar",
188
+ "changePassword": "Restablecer contraseña",
89
189
  "email": "Dirección de correo electrónico",
190
+ "fullName": "Nombre completo",
191
+ "fullNameInputHint": "Introduce tu nuevo nombre completo",
192
+ "password": "Contraseña",
193
+ "resetPasswordError": "Error al enviar el enlace de restablecimiento de contraseña",
194
+ "resetPasswordSent": "Enlace de restablecimiento de contraseña enviado. Revisa tu correo",
195
+ "save": "Guardar",
90
196
  "sso": {
197
+ "link": {
198
+ "button": "Conectar cuenta",
199
+ "success": "Cuenta conectada con éxito"
200
+ },
91
201
  "loading": "Cargando cuentas de terceros vinculadas",
92
202
  "providers": "Cuentas conectadas",
93
203
  "unlink": {
94
- "description": "Al desvincular, no podrá iniciar sesión con la cuenta de {{provider}} \"{{providerAccountId}}\". Si necesita volver a vincular la cuenta de {{provider}} a la cuenta actual, asegúrese de que la dirección de correo electrónico de la cuenta {{provider}} sea {{email}} y la vincularemos automáticamente a la cuenta actual al iniciar sesión.",
204
+ "description": "Después de desvincular, no podrás iniciar sesión con la cuenta de {{provider}} \"{{providerAccountId}}\". Si deseas volver a vincular la cuenta de {{provider}} con esta cuenta, asegúrate de que el correo electrónico de la cuenta de {{provider}} sea {{email}}. La vincularemos automáticamente al iniciar sesión.",
95
205
  "forbidden": "Debe conservar al menos una cuenta de terceros vinculada.",
96
206
  "title": "¿Desea desvincular la cuenta de terceros {{provider}}?"
97
207
  }
98
208
  },
209
+ "title": "Detalles del perfil",
210
+ "updateAvatar": "Actualizar avatar",
211
+ "updateFullName": "Actualizar nombre completo",
99
212
  "username": "Nombre de usuario"
100
213
  },
101
214
  "signout": "Cerrar sesión",
@@ -52,6 +52,104 @@
52
52
  "required": "محتوا نباید خالی باشد"
53
53
  }
54
54
  },
55
+ "betterAuth": {
56
+ "errors": {
57
+ "emailInvalid": "لطفاً یک آدرس ایمیل معتبر وارد کنید",
58
+ "emailNotRegistered": "این ایمیل هنوز ثبت نشده است",
59
+ "emailNotVerified": "ایمیل تأیید نشده است، لطفاً ابتدا آن را تأیید کنید",
60
+ "emailRequired": "لطفاً آدرس ایمیل را وارد کنید",
61
+ "firstNameRequired": "لطفاً نام را وارد کنید",
62
+ "lastNameRequired": "لطفاً نام خانوادگی را وارد کنید",
63
+ "loginFailed": "ورود ناموفق بود، لطفاً ایمیل و رمز عبور را بررسی کنید",
64
+ "passwordFormat": "رمز عبور باید شامل حروف و اعداد باشد",
65
+ "passwordMaxLength": "رمز عبور نباید بیش از ۶۴ کاراکتر باشد",
66
+ "passwordMinLength": "رمز عبور باید حداقل ۸ کاراکتر باشد",
67
+ "passwordRequired": "لطفاً رمز عبور را وارد کنید",
68
+ "usernameRequired": "لطفاً نام کاربری را وارد کنید"
69
+ },
70
+ "resetPassword": {
71
+ "backToSignIn": "بازگشت به ورود",
72
+ "confirmPasswordPlaceholder": "تأیید رمز عبور جدید",
73
+ "confirmPasswordRequired": "لطفاً رمز عبور جدید را تأیید کنید",
74
+ "description": "لطفاً رمز عبور جدید خود را وارد کنید",
75
+ "error": "بازنشانی رمز عبور ناموفق بود، لطفاً دوباره تلاش کنید",
76
+ "invalidToken": "لینک بازنشانی نامعتبر یا منقضی شده است",
77
+ "newPasswordPlaceholder": "رمز عبور جدید را وارد کنید",
78
+ "passwordMismatch": "رمزهای عبور وارد شده مطابقت ندارند",
79
+ "submit": "بازنشانی رمز عبور",
80
+ "success": "رمز عبور با موفقیت بازنشانی شد، لطفاً با رمز جدید وارد شوید",
81
+ "title": "بازنشانی رمز عبور"
82
+ },
83
+ "signin": {
84
+ "backToEmail": "بازگشت برای ویرایش ایمیل",
85
+ "continueWithAuth0": "ورود با Auth0",
86
+ "continueWithAuthelia": "ورود با Authelia",
87
+ "continueWithAuthentik": "ورود با Authentik",
88
+ "continueWithCasdoor": "ورود با Casdoor",
89
+ "continueWithCloudflareZeroTrust": "ورود با Cloudflare Zero Trust",
90
+ "continueWithCognito": "ورود با AWS Cognito",
91
+ "continueWithFeishu": "ورود با Feishu",
92
+ "continueWithGithub": "ورود با GitHub",
93
+ "continueWithGoogle": "ورود با Google",
94
+ "continueWithKeycloak": "ورود با Keycloak",
95
+ "continueWithLogto": "ورود با Logto",
96
+ "continueWithMicrosoft": "ورود با Microsoft",
97
+ "continueWithOIDC": "ورود با OIDC",
98
+ "continueWithOkta": "ورود با Okta",
99
+ "continueWithWechat": "ورود با WeChat",
100
+ "continueWithZitadel": "ورود با Zitadel",
101
+ "emailPlaceholder": "لطفاً آدرس ایمیل را وارد کنید",
102
+ "emailStep": {
103
+ "subtitle": "برای ادامه، لطفاً آدرس ایمیل خود را وارد کنید",
104
+ "title": "ورود"
105
+ },
106
+ "error": "ورود ناموفق بود، لطفاً ایمیل و رمز عبور را بررسی کنید",
107
+ "forgotPassword": "رمز عبور را فراموش کرده‌اید؟",
108
+ "forgotPasswordError": "ارسال لینک بازنشانی رمز عبور ناموفق بود",
109
+ "forgotPasswordSent": "لینک بازنشانی رمز عبور ارسال شد، لطفاً ایمیل خود را بررسی کنید",
110
+ "magicLinkButton": "ارسال لینک ورود",
111
+ "magicLinkError": "ارسال لینک ورود ناموفق بود، لطفاً بعداً تلاش کنید",
112
+ "magicLinkSent": "لینک ورود ارسال شد، لطفاً ایمیل خود را بررسی کنید",
113
+ "nextStep": "مرحله بعد",
114
+ "noAccount": "هنوز حساب ندارید؟",
115
+ "orContinueWith": "یا ادامه با",
116
+ "passwordPlaceholder": "لطفاً رمز عبور را وارد کنید",
117
+ "passwordStep": {
118
+ "subtitle": "برای ادامه، لطفاً رمز عبور را وارد کنید"
119
+ },
120
+ "signupLink": "همین حالا ثبت‌نام کنید",
121
+ "socialError": "ورود با حساب اجتماعی ناموفق بود، لطفاً دوباره تلاش کنید",
122
+ "socialOnlyHint": "این ایمیل با یک حساب اجتماعی ثبت شده است، لطفاً با همان حساب وارد شوید",
123
+ "submit": "ورود"
124
+ },
125
+ "signup": {
126
+ "emailPlaceholder": "لطفاً آدرس ایمیل را وارد کنید",
127
+ "error": "ثبت‌نام ناموفق بود، لطفاً دوباره تلاش کنید",
128
+ "firstNamePlaceholder": "نام",
129
+ "hasAccount": "قبلاً حساب دارید؟",
130
+ "lastNamePlaceholder": "نام خانوادگی",
131
+ "passwordPlaceholder": "لطفاً رمز عبور را وارد کنید",
132
+ "signinLink": "همین حالا وارد شوید",
133
+ "submit": "ثبت‌نام",
134
+ "subtitle": "به جامعه LobeChat بپیوندید",
135
+ "success": "ثبت‌نام با موفقیت انجام شد! لطفاً ایمیل خود را برای تأیید بررسی کنید",
136
+ "title": "ایجاد حساب کاربری",
137
+ "usernamePlaceholder": "لطفاً نام کاربری را وارد کنید"
138
+ },
139
+ "verifyEmail": {
140
+ "backToSignIn": "بازگشت به ورود",
141
+ "checkSpam": "اگر ایمیلی دریافت نکردید، لطفاً پوشه اسپم را بررسی کنید",
142
+ "descriptionPrefix": "ما یک ایمیل تأیید به",
143
+ "descriptionSuffix": "ارسال کرده‌ایم",
144
+ "resend": {
145
+ "button": "ارسال مجدد ایمیل تأیید",
146
+ "error": "ارسال ناموفق بود، لطفاً بعداً تلاش کنید",
147
+ "noEmail": "آدرس ایمیل موجود نیست",
148
+ "success": "ایمیل تأیید مجدداً ارسال شد، لطفاً ایمیل خود را بررسی کنید"
149
+ },
150
+ "title": "ایمیل خود را تأیید کنید"
151
+ }
152
+ },
55
153
  "date": {
56
154
  "prevMonth": "ماه گذشته",
57
155
  "recent30Days": "۳۰ روز گذشته"
@@ -86,16 +184,31 @@
86
184
  "loginOrSignup": "ورود / ثبت نام",
87
185
  "profile": {
88
186
  "avatar": "آواتار",
187
+ "cancel": "لغو",
188
+ "changePassword": "بازنشانی رمز عبور",
89
189
  "email": "آدرس ایمیل",
190
+ "fullName": "نام کامل",
191
+ "fullNameInputHint": "لطفاً نام کامل جدید را وارد کنید",
192
+ "password": "رمز عبور",
193
+ "resetPasswordError": "ارسال لینک بازنشانی رمز عبور ناموفق بود",
194
+ "resetPasswordSent": "لینک بازنشانی رمز عبور ارسال شد، لطفاً ایمیل خود را بررسی کنید",
195
+ "save": "ذخیره",
90
196
  "sso": {
197
+ "link": {
198
+ "button": "اتصال حساب",
199
+ "success": "اتصال حساب با موفقیت انجام شد"
200
+ },
91
201
  "loading": "در حال بارگذاری حساب‌های شخص ثالث متصل شده",
92
202
  "providers": "حساب‌های متصل",
93
203
  "unlink": {
94
- "description": "با لغو اتصال، شما نمی‌توانید با حساب {{provider}} «{{providerAccountId}}» وارد شوید. اگر نیاز دارید حساب {{provider}} را دوباره به حساب جاری متصل کنید، لطفا اطمینان حاصل کنید که آدرس ایمیل حساب {{provider}} {{email}} است، ما در هنگام ورود به طور خودکار آن را به حساب جاری متصل خواهیم کرد.",
204
+ "description": "پس از قطع اتصال، دیگر نمی‌توانید با حساب {{provider}} با شناسه \"{{providerAccountId}}\" وارد شوید. اگر می‌خواهید دوباره حساب {{provider}} را به این حساب متصل کنید، لطفاً مطمئن شوید که آدرس ایمیل حساب {{provider}} برابر با {{email}} باشد. ما هنگام ورود، آن را به‌طور خودکار به حساب فعلی متصل خواهیم کرد.",
95
205
  "forbidden": "شما حداقل باید یک حساب شخص ثالث متصل را حفظ کنید.",
96
206
  "title": "آیا می‌خواهید این حساب شخص ثالث {{provider}} را لغو اتصال کنید؟"
97
207
  }
98
208
  },
209
+ "title": "جزئیات پروفایل",
210
+ "updateAvatar": "به‌روزرسانی تصویر پروفایل",
211
+ "updateFullName": "به‌روزرسانی نام کامل",
99
212
  "username": "نام کاربری"
100
213
  },
101
214
  "signout": "خروج",