@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": "Inhoud mag niet leeg zijn"
53
53
  }
54
54
  },
55
+ "betterAuth": {
56
+ "errors": {
57
+ "emailInvalid": "Voer een geldig e-mailadres in",
58
+ "emailNotRegistered": "Dit e-mailadres is nog niet geregistreerd",
59
+ "emailNotVerified": "E-mailadres is niet geverifieerd, verifieer eerst je e-mailadres",
60
+ "emailRequired": "Voer een e-mailadres in",
61
+ "firstNameRequired": "Voer je voornaam in",
62
+ "lastNameRequired": "Voer je achternaam in",
63
+ "loginFailed": "Inloggen mislukt, controleer je e-mailadres en wachtwoord",
64
+ "passwordFormat": "Het wachtwoord moet letters en cijfers bevatten",
65
+ "passwordMaxLength": "Het wachtwoord mag maximaal 64 tekens bevatten",
66
+ "passwordMinLength": "Het wachtwoord moet minimaal 8 tekens bevatten",
67
+ "passwordRequired": "Voer een wachtwoord in",
68
+ "usernameRequired": "Voer een gebruikersnaam in"
69
+ },
70
+ "resetPassword": {
71
+ "backToSignIn": "Terug naar inloggen",
72
+ "confirmPasswordPlaceholder": "Bevestig nieuw wachtwoord",
73
+ "confirmPasswordRequired": "Bevestig je nieuwe wachtwoord",
74
+ "description": "Voer je nieuwe wachtwoord in",
75
+ "error": "Wachtwoord resetten mislukt, probeer het opnieuw",
76
+ "invalidToken": "Ongeldige of verlopen resetlink",
77
+ "newPasswordPlaceholder": "Voer nieuw wachtwoord in",
78
+ "passwordMismatch": "De wachtwoorden komen niet overeen",
79
+ "submit": "Wachtwoord resetten",
80
+ "success": "Wachtwoord succesvol gereset, log in met je nieuwe wachtwoord",
81
+ "title": "Wachtwoord resetten"
82
+ },
83
+ "signin": {
84
+ "backToEmail": "Terug om e-mailadres te wijzigen",
85
+ "continueWithAuth0": "Inloggen met Auth0",
86
+ "continueWithAuthelia": "Inloggen met Authelia",
87
+ "continueWithAuthentik": "Inloggen met Authentik",
88
+ "continueWithCasdoor": "Inloggen met Casdoor",
89
+ "continueWithCloudflareZeroTrust": "Inloggen met Cloudflare Zero Trust",
90
+ "continueWithCognito": "Inloggen met AWS Cognito",
91
+ "continueWithFeishu": "Inloggen met Feishu",
92
+ "continueWithGithub": "Inloggen met GitHub",
93
+ "continueWithGoogle": "Inloggen met Google",
94
+ "continueWithKeycloak": "Inloggen met Keycloak",
95
+ "continueWithLogto": "Inloggen met Logto",
96
+ "continueWithMicrosoft": "Inloggen met Microsoft",
97
+ "continueWithOIDC": "Inloggen met OIDC",
98
+ "continueWithOkta": "Inloggen met Okta",
99
+ "continueWithWechat": "Inloggen met WeChat",
100
+ "continueWithZitadel": "Inloggen met Zitadel",
101
+ "emailPlaceholder": "Voer je e-mailadres in",
102
+ "emailStep": {
103
+ "subtitle": "Voer je e-mailadres in om door te gaan",
104
+ "title": "Inloggen"
105
+ },
106
+ "error": "Inloggen mislukt, controleer je e-mailadres en wachtwoord",
107
+ "forgotPassword": "Wachtwoord vergeten?",
108
+ "forgotPasswordError": "Verzenden van resetlink mislukt",
109
+ "forgotPasswordSent": "Resetlink verzonden, controleer je e-mail",
110
+ "magicLinkButton": "Stuur inloglink",
111
+ "magicLinkError": "Verzenden van inloglink mislukt, probeer het later opnieuw",
112
+ "magicLinkSent": "Inloglink verzonden, controleer je e-mail",
113
+ "nextStep": "Volgende stap",
114
+ "noAccount": "Nog geen account?",
115
+ "orContinueWith": "of",
116
+ "passwordPlaceholder": "Voer je wachtwoord in",
117
+ "passwordStep": {
118
+ "subtitle": "Voer je wachtwoord in om door te gaan"
119
+ },
120
+ "signupLink": "Registreer nu",
121
+ "socialError": "Sociale login mislukt, probeer het opnieuw",
122
+ "socialOnlyHint": "Dit e-mailadres is geregistreerd via een sociaal account, log in met dat account",
123
+ "submit": "Inloggen"
124
+ },
125
+ "signup": {
126
+ "emailPlaceholder": "Voer je e-mailadres in",
127
+ "error": "Registratie mislukt, probeer het opnieuw",
128
+ "firstNamePlaceholder": "Voornaam",
129
+ "hasAccount": "Heb je al een account?",
130
+ "lastNamePlaceholder": "Achternaam",
131
+ "passwordPlaceholder": "Voer een wachtwoord in",
132
+ "signinLink": "Log nu in",
133
+ "submit": "Registreren",
134
+ "subtitle": "Word lid van de LobeChat-community",
135
+ "success": "Registratie geslaagd! Controleer je e-mail voor de verificatielink",
136
+ "title": "Account aanmaken",
137
+ "usernamePlaceholder": "Voer een gebruikersnaam in"
138
+ },
139
+ "verifyEmail": {
140
+ "backToSignIn": "Terug naar inloggen",
141
+ "checkSpam": "Controleer je spamfolder als je geen e-mail hebt ontvangen",
142
+ "descriptionPrefix": "We hebben een verificatiemail gestuurd naar",
143
+ "descriptionSuffix": "",
144
+ "resend": {
145
+ "button": "Verificatiemail opnieuw verzenden",
146
+ "error": "Verzenden mislukt, probeer het later opnieuw",
147
+ "noEmail": "E-mailadres ontbreekt",
148
+ "success": "Verificatiemail opnieuw verzonden, controleer je e-mail"
149
+ },
150
+ "title": "Verifieer je e-mailadres"
151
+ }
152
+ },
55
153
  "date": {
56
154
  "prevMonth": "Vorige maand",
57
155
  "recent30Days": "Laatste 30 dagen"
@@ -86,16 +184,31 @@
86
184
  "loginOrSignup": "Inloggen / Aanmelden",
87
185
  "profile": {
88
186
  "avatar": "Avatar",
187
+ "cancel": "Annuleren",
188
+ "changePassword": "Wachtwoord resetten",
89
189
  "email": "E-mailadres",
190
+ "fullName": "Volledige naam",
191
+ "fullNameInputHint": "Voer je nieuwe volledige naam in",
192
+ "password": "Wachtwoord",
193
+ "resetPasswordError": "Verzenden van resetlink mislukt",
194
+ "resetPasswordSent": "Resetlink verzonden, controleer je e-mail",
195
+ "save": "Opslaan",
90
196
  "sso": {
197
+ "link": {
198
+ "button": "Account koppelen",
199
+ "success": "Account succesvol gekoppeld"
200
+ },
91
201
  "loading": "Bezig met laden van gekoppelde externe accounts",
92
202
  "providers": "Verbindingse accounts",
93
203
  "unlink": {
94
- "description": "Als u ontkoppelt, kunt u niet meer inloggen met het {{provider}} account {{providerAccountId}}”. Als u het {{provider}} account opnieuw aan deze account wilt koppelen, zorg er dan voor dat het e-mailadres van het {{provider}} account {{email}} is, dan zullen we het automatisch koppelen aan de huidige ingelogde account.",
204
+ "description": "Na het ontkoppelen kun je niet meer inloggen met het {{provider}}-account \"{{providerAccountId}}\". Als je het {{provider}}-account opnieuw wilt koppelen aan je huidige account, zorg er dan voor dat het e-mailadres van het {{provider}}-account overeenkomt met {{email}}. We zullen het automatisch koppelen bij je volgende login.",
95
205
  "forbidden": "U moet minstens één extern account gekoppeld houden.",
96
206
  "title": "Wilt u dit externe account {{provider}} ontkoppelen?"
97
207
  }
98
208
  },
209
+ "title": "Profielgegevens",
210
+ "updateAvatar": "Profielfoto bijwerken",
211
+ "updateFullName": "Volledige naam bijwerken",
99
212
  "username": "Gebruikersnaam"
100
213
  },
101
214
  "signout": "Uitloggen",
@@ -52,6 +52,104 @@
52
52
  "required": "Pole nie może być puste"
53
53
  }
54
54
  },
55
+ "betterAuth": {
56
+ "errors": {
57
+ "emailInvalid": "Wprowadź poprawny adres e-mail",
58
+ "emailNotRegistered": "Ten adres e-mail nie jest zarejestrowany",
59
+ "emailNotVerified": "Adres e-mail nie został zweryfikowany, proszę najpierw go zweryfikować",
60
+ "emailRequired": "Wprowadź adres e-mail",
61
+ "firstNameRequired": "Wprowadź imię",
62
+ "lastNameRequired": "Wprowadź nazwisko",
63
+ "loginFailed": "Logowanie nie powiodło się, sprawdź adres e-mail i hasło",
64
+ "passwordFormat": "Hasło musi zawierać litery i cyfry",
65
+ "passwordMaxLength": "Hasło nie może przekraczać 64 znaków",
66
+ "passwordMinLength": "Hasło musi mieć co najmniej 8 znaków",
67
+ "passwordRequired": "Wprowadź hasło",
68
+ "usernameRequired": "Wprowadź nazwę użytkownika"
69
+ },
70
+ "resetPassword": {
71
+ "backToSignIn": "Powrót do logowania",
72
+ "confirmPasswordPlaceholder": "Potwierdź nowe hasło",
73
+ "confirmPasswordRequired": "Potwierdź nowe hasło",
74
+ "description": "Wprowadź swoje nowe hasło",
75
+ "error": "Resetowanie hasła nie powiodło się, spróbuj ponownie",
76
+ "invalidToken": "Nieprawidłowy lub wygasły link resetujący",
77
+ "newPasswordPlaceholder": "Wprowadź nowe hasło",
78
+ "passwordMismatch": "Hasła nie są zgodne",
79
+ "submit": "Zresetuj hasło",
80
+ "success": "Hasło zostało pomyślnie zresetowane, zaloguj się nowym hasłem",
81
+ "title": "Resetowanie hasła"
82
+ },
83
+ "signin": {
84
+ "backToEmail": "Powrót do edycji adresu e-mail",
85
+ "continueWithAuth0": "Zaloguj się przez Auth0",
86
+ "continueWithAuthelia": "Zaloguj się przez Authelia",
87
+ "continueWithAuthentik": "Zaloguj się przez Authentik",
88
+ "continueWithCasdoor": "Zaloguj się przez Casdoor",
89
+ "continueWithCloudflareZeroTrust": "Zaloguj się przez Cloudflare Zero Trust",
90
+ "continueWithCognito": "Zaloguj się przez AWS Cognito",
91
+ "continueWithFeishu": "Zaloguj się przez Feishu",
92
+ "continueWithGithub": "Zaloguj się przez GitHub",
93
+ "continueWithGoogle": "Zaloguj się przez Google",
94
+ "continueWithKeycloak": "Zaloguj się przez Keycloak",
95
+ "continueWithLogto": "Zaloguj się przez Logto",
96
+ "continueWithMicrosoft": "Zaloguj się przez Microsoft",
97
+ "continueWithOIDC": "Zaloguj się przez OIDC",
98
+ "continueWithOkta": "Zaloguj się przez Okta",
99
+ "continueWithWechat": "Zaloguj się przez WeChat",
100
+ "continueWithZitadel": "Zaloguj się przez Zitadel",
101
+ "emailPlaceholder": "Wprowadź adres e-mail",
102
+ "emailStep": {
103
+ "subtitle": "Wprowadź swój adres e-mail, aby kontynuować",
104
+ "title": "Logowanie"
105
+ },
106
+ "error": "Logowanie nie powiodło się, sprawdź adres e-mail i hasło",
107
+ "forgotPassword": "Nie pamiętasz hasła?",
108
+ "forgotPasswordError": "Nie udało się wysłać linku do resetowania hasła",
109
+ "forgotPasswordSent": "Link do resetowania hasła został wysłany, sprawdź swoją skrzynkę e-mail",
110
+ "magicLinkButton": "Wyślij link logowania",
111
+ "magicLinkError": "Nie udało się wysłać linku logowania, spróbuj ponownie później",
112
+ "magicLinkSent": "Link logowania został wysłany, sprawdź swoją skrzynkę e-mail",
113
+ "nextStep": "Dalej",
114
+ "noAccount": "Nie masz jeszcze konta?",
115
+ "orContinueWith": "lub",
116
+ "passwordPlaceholder": "Wprowadź hasło",
117
+ "passwordStep": {
118
+ "subtitle": "Wprowadź hasło, aby kontynuować"
119
+ },
120
+ "signupLink": "Zarejestruj się teraz",
121
+ "socialError": "Logowanie społecznościowe nie powiodło się, spróbuj ponownie",
122
+ "socialOnlyHint": "Ten adres e-mail jest powiązany z kontem społecznościowym, zaloguj się za jego pomocą",
123
+ "submit": "Zaloguj się"
124
+ },
125
+ "signup": {
126
+ "emailPlaceholder": "Wprowadź adres e-mail",
127
+ "error": "Rejestracja nie powiodła się, spróbuj ponownie",
128
+ "firstNamePlaceholder": "Imię",
129
+ "hasAccount": "Masz już konto?",
130
+ "lastNamePlaceholder": "Nazwisko",
131
+ "passwordPlaceholder": "Wprowadź hasło",
132
+ "signinLink": "Zaloguj się teraz",
133
+ "submit": "Zarejestruj się",
134
+ "subtitle": "Dołącz do społeczności LobeChat",
135
+ "success": "Rejestracja zakończona sukcesem! Sprawdź swoją skrzynkę e-mail, aby potwierdzić adres",
136
+ "title": "Utwórz konto",
137
+ "usernamePlaceholder": "Wprowadź nazwę użytkownika"
138
+ },
139
+ "verifyEmail": {
140
+ "backToSignIn": "Powrót do logowania",
141
+ "checkSpam": "Jeśli nie otrzymałeś wiadomości, sprawdź folder spamu",
142
+ "descriptionPrefix": "Wysłaliśmy wiadomość weryfikacyjną na adres",
143
+ "descriptionSuffix": "",
144
+ "resend": {
145
+ "button": "Wyślij ponownie wiadomość weryfikacyjną",
146
+ "error": "Nie udało się wysłać, spróbuj ponownie później",
147
+ "noEmail": "Brak adresu e-mail",
148
+ "success": "Wiadomość weryfikacyjna została ponownie wysłana, sprawdź swoją skrzynkę e-mail"
149
+ },
150
+ "title": "Zweryfikuj swój adres e-mail"
151
+ }
152
+ },
55
153
  "date": {
56
154
  "prevMonth": "Poprzedni miesiąc",
57
155
  "recent30Days": "Ostatnie 30 dni"
@@ -86,16 +184,31 @@
86
184
  "loginOrSignup": "Zaloguj się / Zarejestruj się",
87
185
  "profile": {
88
186
  "avatar": "Awatar",
187
+ "cancel": "Anuluj",
188
+ "changePassword": "Zresetuj hasło",
89
189
  "email": "Adres e-mail",
190
+ "fullName": "Pełne imię i nazwisko",
191
+ "fullNameInputHint": "Wprowadź nowe pełne imię i nazwisko",
192
+ "password": "Hasło",
193
+ "resetPasswordError": "Nie udało się wysłać linku do resetowania hasła",
194
+ "resetPasswordSent": "Link do resetowania hasła został wysłany, sprawdź swoją skrzynkę e-mail",
195
+ "save": "Zapisz",
90
196
  "sso": {
197
+ "link": {
198
+ "button": "Połącz konto",
199
+ "success": "Konto zostało pomyślnie połączone"
200
+ },
91
201
  "loading": "Ładowanie powiązanych kont zewnętrznych",
92
202
  "providers": "Podłączone konta",
93
203
  "unlink": {
94
- "description": "Po odłączeniu nie będziesz mógł korzystać z konta {{provider}} {{providerAccountId}}” do logowania. Jeśli potrzebujesz ponownie powiązać konto {{provider}} z bieżącym kontem, upewnij się, że adres e-mail konta {{provider}} to {{email}}, a my automatycznie je powiążemy podczas logowania.",
204
+ "description": "Po odłączeniu nie będziesz mógł logować się za pomocą konta {{provider}} \"{{providerAccountId}}\". Jeśli chcesz ponownie połączyć konto {{provider}} z bieżącym kontem, upewnij się, że adres e-mail konta {{provider}} to {{email}}. Podczas logowania automatycznie połączymy je z bieżącym kontem.",
95
205
  "forbidden": "Musisz zachować co najmniej jedno powiązane konto zewnętrzne.",
96
206
  "title": "Czy odłączyć to konto zewnętrzne {{provider}}?"
97
207
  }
98
208
  },
209
+ "title": "Szczegóły profilu",
210
+ "updateAvatar": "Zaktualizuj awatar",
211
+ "updateFullName": "Zaktualizuj pełne imię i nazwisko",
99
212
  "username": "Nazwa użytkownika"
100
213
  },
101
214
  "signout": "Wyloguj się",
@@ -52,6 +52,104 @@
52
52
  "required": "O conteúdo não pode estar vazio"
53
53
  }
54
54
  },
55
+ "betterAuth": {
56
+ "errors": {
57
+ "emailInvalid": "Por favor, insira um endereço de e-mail válido",
58
+ "emailNotRegistered": "Este e-mail ainda não está registrado",
59
+ "emailNotVerified": "E-mail não verificado, por favor verifique seu e-mail primeiro",
60
+ "emailRequired": "Por favor, insira o endereço de e-mail",
61
+ "firstNameRequired": "Por favor, insira o nome",
62
+ "lastNameRequired": "Por favor, insira o sobrenome",
63
+ "loginFailed": "Falha no login, verifique o e-mail e a senha",
64
+ "passwordFormat": "A senha deve conter letras e números",
65
+ "passwordMaxLength": "A senha não pode ter mais de 64 caracteres",
66
+ "passwordMinLength": "A senha deve ter pelo menos 8 caracteres",
67
+ "passwordRequired": "Por favor, insira a senha",
68
+ "usernameRequired": "Por favor, insira o nome de usuário"
69
+ },
70
+ "resetPassword": {
71
+ "backToSignIn": "Voltar para login",
72
+ "confirmPasswordPlaceholder": "Confirme a nova senha",
73
+ "confirmPasswordRequired": "Por favor, confirme a nova senha",
74
+ "description": "Por favor, insira sua nova senha",
75
+ "error": "Falha ao redefinir a senha, tente novamente",
76
+ "invalidToken": "Link de redefinição inválido ou expirado",
77
+ "newPasswordPlaceholder": "Digite a nova senha",
78
+ "passwordMismatch": "As senhas inseridas não coincidem",
79
+ "submit": "Redefinir senha",
80
+ "success": "Senha redefinida com sucesso, faça login com a nova senha",
81
+ "title": "Redefinir senha"
82
+ },
83
+ "signin": {
84
+ "backToEmail": "Voltar para alterar e-mail",
85
+ "continueWithAuth0": "Entrar com Auth0",
86
+ "continueWithAuthelia": "Entrar com Authelia",
87
+ "continueWithAuthentik": "Entrar com Authentik",
88
+ "continueWithCasdoor": "Entrar com Casdoor",
89
+ "continueWithCloudflareZeroTrust": "Entrar com Cloudflare Zero Trust",
90
+ "continueWithCognito": "Entrar com AWS Cognito",
91
+ "continueWithFeishu": "Entrar com Feishu",
92
+ "continueWithGithub": "Entrar com GitHub",
93
+ "continueWithGoogle": "Entrar com Google",
94
+ "continueWithKeycloak": "Entrar com Keycloak",
95
+ "continueWithLogto": "Entrar com Logto",
96
+ "continueWithMicrosoft": "Entrar com Microsoft",
97
+ "continueWithOIDC": "Entrar com OIDC",
98
+ "continueWithOkta": "Entrar com Okta",
99
+ "continueWithWechat": "Entrar com WeChat",
100
+ "continueWithZitadel": "Entrar com Zitadel",
101
+ "emailPlaceholder": "Por favor, insira o endereço de e-mail",
102
+ "emailStep": {
103
+ "subtitle": "Insira seu endereço de e-mail para continuar",
104
+ "title": "Entrar"
105
+ },
106
+ "error": "Falha no login, verifique o e-mail e a senha",
107
+ "forgotPassword": "Esqueceu a senha?",
108
+ "forgotPasswordError": "Falha ao enviar o link de redefinição de senha",
109
+ "forgotPasswordSent": "Link de redefinição de senha enviado, verifique seu e-mail",
110
+ "magicLinkButton": "Enviar link de login",
111
+ "magicLinkError": "Falha ao enviar o link de login, tente novamente mais tarde",
112
+ "magicLinkSent": "Link de login enviado, verifique seu e-mail",
113
+ "nextStep": "Próximo",
114
+ "noAccount": "Ainda não tem uma conta?",
115
+ "orContinueWith": "ou",
116
+ "passwordPlaceholder": "Por favor, insira a senha",
117
+ "passwordStep": {
118
+ "subtitle": "Insira sua senha para continuar"
119
+ },
120
+ "signupLink": "Cadastre-se agora",
121
+ "socialError": "Falha no login social, tente novamente",
122
+ "socialOnlyHint": "Este e-mail está registrado com uma conta social, por favor entre com a conta social",
123
+ "submit": "Entrar"
124
+ },
125
+ "signup": {
126
+ "emailPlaceholder": "Por favor, insira o endereço de e-mail",
127
+ "error": "Falha no cadastro, tente novamente",
128
+ "firstNamePlaceholder": "Nome",
129
+ "hasAccount": "Já tem uma conta?",
130
+ "lastNamePlaceholder": "Sobrenome",
131
+ "passwordPlaceholder": "Por favor, insira a senha",
132
+ "signinLink": "Entrar agora",
133
+ "submit": "Cadastrar",
134
+ "subtitle": "Junte-se à comunidade LobeChat",
135
+ "success": "Cadastro realizado com sucesso! Verifique seu e-mail para confirmar",
136
+ "title": "Criar conta",
137
+ "usernamePlaceholder": "Por favor, insira o nome de usuário"
138
+ },
139
+ "verifyEmail": {
140
+ "backToSignIn": "Voltar para login",
141
+ "checkSpam": "Se você não recebeu o e-mail, verifique a pasta de spam",
142
+ "descriptionPrefix": "Enviamos um e-mail de verificação para",
143
+ "descriptionSuffix": "",
144
+ "resend": {
145
+ "button": "Reenviar e-mail de verificação",
146
+ "error": "Falha ao enviar, tente novamente mais tarde",
147
+ "noEmail": "Endereço de e-mail ausente",
148
+ "success": "E-mail de verificação reenviado, verifique sua caixa de entrada"
149
+ },
150
+ "title": "Verifique seu e-mail"
151
+ }
152
+ },
55
153
  "date": {
56
154
  "prevMonth": "Último Mês",
57
155
  "recent30Days": "Últimos 30 Dias"
@@ -86,16 +184,31 @@
86
184
  "loginOrSignup": "Entrar / Cadastrar",
87
185
  "profile": {
88
186
  "avatar": "Avatar",
187
+ "cancel": "Cancelar",
188
+ "changePassword": "Redefinir senha",
89
189
  "email": "Endereço de E-mail",
190
+ "fullName": "Nome completo",
191
+ "fullNameInputHint": "Por favor, insira o novo nome completo",
192
+ "password": "Senha",
193
+ "resetPasswordError": "Falha ao enviar o link de redefinição de senha",
194
+ "resetPasswordSent": "Link de redefinição de senha enviado, verifique seu e-mail",
195
+ "save": "Salvar",
90
196
  "sso": {
197
+ "link": {
198
+ "button": "Conectar conta",
199
+ "success": "Conta conectada com sucesso"
200
+ },
91
201
  "loading": "Carregando contas de terceiros vinculadas",
92
202
  "providers": "Contas conectadas",
93
203
  "unlink": {
94
- "description": "Após desvincular, você não poderá usar a conta {{provider}} {{providerAccountId}}” para fazer login. Se precisar re-vincular a conta {{provider}} à conta atual, certifique-se de que o endereço de e-mail da conta {{provider}} seja {{email}}; nós a vincularemos automaticamente à conta de login atual.",
204
+ "description": "Após desvincular, você não poderá mais entrar com a conta {{provider}} \"{{providerAccountId}}\". Se quiser vincular novamente a conta {{provider}} a esta conta, certifique-se de que o e-mail da conta {{provider}} seja {{email}}. Faremos a vinculação automaticamente ao fazer login.",
95
205
  "forbidden": "Você deve manter pelo menos uma conta de terceiros vinculada.",
96
206
  "title": "Deseja desvincular a conta de terceiros {{provider}}?"
97
207
  }
98
208
  },
209
+ "title": "Detalhes do perfil",
210
+ "updateAvatar": "Atualizar avatar",
211
+ "updateFullName": "Atualizar nome completo",
99
212
  "username": "Nome de Usuário"
100
213
  },
101
214
  "signout": "Sair",
@@ -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": "Пароль не должен превышать 64 символа",
66
+ "passwordMinLength": "Пароль должен содержать не менее 8 символов",
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": "Последние 30 дней"
@@ -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": "Выйти",