diff --git a/public/locales/de.json b/public/locales/de.json
index 1bf43f7d..c7167438 100644
--- a/public/locales/de.json
+++ b/public/locales/de.json
@@ -43,6 +43,24 @@
"register_rate_limited": "Zu viele Versuche. Bitte versuchen Sie es später erneut.",
"register_invalid_request": "Ungültige Anfrage. Registrierungsparameter konnten nicht abgerufen werden.",
"register_unsupported": "Diese Anwendung unterstützt keine Registrierung auf diesem Server.",
+ "register_username_label": "Benutzername",
+ "register_password_label": "Passwort",
+ "register_confirm_password_label": "Passwort bestätigen",
+ "register_button": "Registrieren",
+ "register_token_label": "Registrierungstoken",
+ "register_token_optional_label": "Registrierungstoken (optional)",
+ "register_email_label": "E-Mail",
+ "register_email_optional_label": "E-Mail (optional)",
+ "register_terms": "Ich akzeptiere die Nutzungsbedingungen des Servers.",
+ "register_error_user_taken": "Dieser Benutzername ist bereits vergeben.",
+ "register_error_user_invalid": "Dieser Benutzername enthält ungültige Zeichen.",
+ "register_error_user_exclusive": "Dieser Benutzername ist reserviert.",
+ "register_error_password_weak": "Schwaches Passwort. Vom Server abgelehnt, bitte wählen Sie ein stärkeres.",
+ "register_error_password_short": "Kurzes Passwort. Vom Server abgelehnt, bitte wählen Sie ein längeres.",
+ "register_error_rate_limited": "Registrierung fehlgeschlagen. Zu viele Anfragen, bitte versuchen Sie es später erneut.",
+ "register_error_forbidden": "Registrierung fehlgeschlagen. Der Server erlaubt keine Registrierung.",
+ "register_error_invalid_request": "Registrierung fehlgeschlagen. Ungültige Anfrage.",
+ "register_error_unknown": "Registrierung fehlgeschlagen. Unbekannter Fehler.",
"reset_description": "Der Homeserver {{server}} sendet Ihnen eine E-Mail, um Ihr Passwort zurückzusetzen.",
"reset_email_label": "E-Mail",
"reset_new_password": "Neues Passwort",
diff --git a/public/locales/en.json b/public/locales/en.json
index 771ecc9b..d7e0c1df 100644
--- a/public/locales/en.json
+++ b/public/locales/en.json
@@ -43,6 +43,24 @@
"register_rate_limited": "Too many attempts. Please try again later.",
"register_invalid_request": "Invalid request. Failed to get registration parameters.",
"register_unsupported": "This application does not support registration on this server.",
+ "register_username_label": "Username",
+ "register_password_label": "Password",
+ "register_confirm_password_label": "Confirm Password",
+ "register_button": "Register",
+ "register_token_label": "Registration Token",
+ "register_token_optional_label": "Registration Token (Optional)",
+ "register_email_label": "Email",
+ "register_email_optional_label": "Email (Optional)",
+ "register_terms": "I accept the server Terms and Conditions.",
+ "register_error_user_taken": "This username is already taken.",
+ "register_error_user_invalid": "This username contains invalid characters.",
+ "register_error_user_exclusive": "This username is reserved.",
+ "register_error_password_weak": "Weak password. Password rejected by server, please choose a stronger one.",
+ "register_error_password_short": "Short password. Password rejected by server, please choose a longer one.",
+ "register_error_rate_limited": "Failed to register. Your request has been rate-limited, please try again later.",
+ "register_error_forbidden": "Failed to register. The homeserver does not permit registration.",
+ "register_error_invalid_request": "Failed to register. Invalid request.",
+ "register_error_unknown": "Failed to register. Unknown reason.",
"reset_description": "Homeserver {{server}} will send you an email to let you reset your password.",
"reset_email_label": "Email",
"reset_new_password": "New Password",
diff --git a/public/locales/ru.json b/public/locales/ru.json
index d1abb4ff..043d2a3d 100644
--- a/public/locales/ru.json
+++ b/public/locales/ru.json
@@ -43,6 +43,24 @@
"register_rate_limited": "Слишком много попыток. Попробуйте позже.",
"register_invalid_request": "Неверный запрос. Не удалось получить параметры регистрации.",
"register_unsupported": "Это приложение не поддерживает регистрацию на данном сервере.",
+ "register_username_label": "Имя пользователя",
+ "register_password_label": "Пароль",
+ "register_confirm_password_label": "Подтвердите пароль",
+ "register_button": "Зарегистрироваться",
+ "register_token_label": "Токен регистрации",
+ "register_token_optional_label": "Токен регистрации (необязательно)",
+ "register_email_label": "Email",
+ "register_email_optional_label": "Email (необязательно)",
+ "register_terms": "Я принимаю Условия использования сервера.",
+ "register_error_user_taken": "Это имя пользователя уже занято.",
+ "register_error_user_invalid": "Имя пользователя содержит недопустимые символы.",
+ "register_error_user_exclusive": "Это имя пользователя зарезервировано.",
+ "register_error_password_weak": "Слабый пароль. Сервер отклонил пароль, выберите более надёжный.",
+ "register_error_password_short": "Короткий пароль. Сервер отклонил пароль, выберите более длинный.",
+ "register_error_rate_limited": "Не удалось зарегистрироваться. Слишком много попыток, попробуйте позже.",
+ "register_error_forbidden": "Не удалось зарегистрироваться. Сервер не разрешает регистрацию.",
+ "register_error_invalid_request": "Не удалось зарегистрироваться. Неверный запрос.",
+ "register_error_unknown": "Не удалось зарегистрироваться. Неизвестная ошибка.",
"reset_description": "Сервер {{server}} отправит вам письмо для сброса пароля.",
"reset_email_label": "Email",
"reset_new_password": "Новый пароль",
diff --git a/src/app/pages/auth/SSOLogin.tsx b/src/app/pages/auth/SSOLogin.tsx
deleted file mode 100644
index 3ff1a229..00000000
--- a/src/app/pages/auth/SSOLogin.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-import { Avatar, AvatarImage, Box, Button, Text } from 'folds';
-import { IIdentityProvider, SSOAction, createClient } from 'matrix-js-sdk';
-import React, { useMemo } from 'react';
-import { useAutoDiscoveryInfo } from '../../hooks/useAutoDiscoveryInfo';
-
-type SSOLoginProps = {
- providers?: IIdentityProvider[];
- redirectUrl: string;
- action?: SSOAction;
- saveScreenSpace?: boolean;
-};
-export function SSOLogin({ providers, redirectUrl, action, saveScreenSpace }: SSOLoginProps) {
- const discovery = useAutoDiscoveryInfo();
- const baseUrl = discovery['m.homeserver'].base_url;
- const mx = useMemo(() => createClient({ baseUrl }), [baseUrl]);
-
- const getSSOIdUrl = (ssoId?: string): string =>
- mx.getSsoLoginUrl(redirectUrl, 'sso', ssoId, action);
-
- const withoutIcon = providers
- ? providers.find(
- (provider) => !provider.icon || !mx.mxcUrlToHttp(provider.icon, 96, 96, 'crop', false)
- )
- : true;
-
- const renderAsIcons = withoutIcon ? false : saveScreenSpace && providers && providers.length > 2;
-
- return (
-
- {providers ? (
- providers.map((provider) => {
- const { id, name, icon } = provider;
- const iconUrl = icon && mx.mxcUrlToHttp(icon, 96, 96, 'crop', false);
-
- const buttonTitle = `Continue with ${name}`;
-
- if (renderAsIcons) {
- return (
-
-
-
- );
- }
-
- return (
-
- );
- })
- ) : (
-
- )}
-
- );
-}
diff --git a/src/app/pages/auth/register/PasswordRegisterForm.tsx b/src/app/pages/auth/register/PasswordRegisterForm.tsx
index 0e182181..6c7eeaba 100644
--- a/src/app/pages/auth/register/PasswordRegisterForm.tsx
+++ b/src/app/pages/auth/register/PasswordRegisterForm.tsx
@@ -11,6 +11,7 @@ import {
color,
} from 'folds';
import React, { ChangeEventHandler, useCallback, useMemo, useState } from 'react';
+import { Trans, useTranslation } from 'react-i18next';
import {
AuthDict,
AuthType,
@@ -184,6 +185,7 @@ export function PasswordRegisterForm({
defaultEmail,
defaultRegisterToken,
}: PasswordRegisterFormProps) {
+ const { t } = useTranslation();
const serverDiscovery = useAutoDiscoveryInfo();
const baseUrl = serverDiscovery['m.homeserver'].base_url;
const mx = useMemo(() => createClient({ baseUrl }), [baseUrl]);
@@ -259,7 +261,7 @@ export function PasswordRegisterForm({
- Username
+ {t('Auth.register_username_label')}
{registerError?.errcode === RegisterError.UserTaken && (
-
+
)}
{registerError?.errcode === RegisterError.UserInvalid && (
-
+
)}
{registerError?.errcode === RegisterError.UserExclusive && (
-
+
)}
@@ -284,7 +286,7 @@ export function PasswordRegisterForm({
<>
- Password
+ {t('Auth.register_password_label')}
)}
@@ -307,14 +309,14 @@ export function PasswordRegisterForm({
)}
- Confirm Password
+ {t('Auth.register_confirm_password_label')}
{requiredStageInFlows(uiaFlows, AuthType.RegistrationToken)
- ? 'Registration Token'
- : 'Registration Token (Optional)'}
+ ? t('Auth.register_token_label')
+ : t('Auth.register_token_optional_label')}
- {requiredStageInFlows(uiaFlows, AuthType.Email) ? 'Email' : 'Email (Optional)'}
+ {requiredStageInFlows(uiaFlows, AuthType.Email)
+ ? t('Auth.register_email_label')
+ : t('Auth.register_email_optional_label')}
- I accept server{' '}
-
- Terms and Conditions
-
- .
+ }}
+ />
)}
{registerError?.errcode === RegisterError.RateLimited && (
-
+
)}
{registerError?.errcode === RegisterError.Forbidden && (
-
+
)}
{registerError?.errcode === RegisterError.InvalidRequest && (
-
+
)}
{registerError?.errcode === RegisterError.Unknown && (
-
+
)}