diff --git a/frontend/.storybook/locales.ts b/frontend/.storybook/locales.ts
index 862ed62f..3449d279 100644
--- a/frontend/.storybook/locales.ts
+++ b/frontend/.storybook/locales.ts
@@ -75,6 +75,33 @@ const localazyMetadata: LocalazyMetadata = {
localizedName: "Nederlands",
pluralType: (n) => { return (n===1) ? "one" : "other"; }
},
+ {
+ language: "pt",
+ region: "",
+ script: "",
+ isRtl: false,
+ name: "Portuguese",
+ localizedName: "Português",
+ pluralType: (n) => { return (n>=0 && n<=1) ? "one" : "other"; }
+ },
+ {
+ language: "sv",
+ region: "",
+ script: "",
+ isRtl: false,
+ name: "Swedish",
+ localizedName: "Svenska",
+ pluralType: (n) => { return (n===1) ? "one" : "other"; }
+ },
+ {
+ language: "uk",
+ region: "",
+ script: "",
+ isRtl: false,
+ name: "Ukrainian",
+ localizedName: "Українська",
+ pluralType: (n) => { return ((n%10===1) && (n%100!==11)) ? "one" : ((n%10>=2 && n%10<=4) && ((n%100<12 || n%100>14))) ? "few" : "many"; }
+ },
{
language: "zh",
region: "",
@@ -96,6 +123,9 @@ const localazyMetadata: LocalazyMetadata = {
"et": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/et/frontend.json",
"fr": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fr/frontend.json",
"nl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nl/frontend.json",
+ "pt": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pt/frontend.json",
+ "sv": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/sv/frontend.json",
+ "uk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/uk/frontend.json",
"zh#Hans": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/zh-Hans/frontend.json"
}
},
@@ -109,6 +139,9 @@ const localazyMetadata: LocalazyMetadata = {
"et": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/et/file.json",
"fr": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fr/file.json",
"nl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nl/file.json",
+ "pt": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pt/file.json",
+ "sv": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/sv/file.json",
+ "uk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/uk/file.json",
"zh#Hans": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/zh-Hans/file.json"
}
}
diff --git a/frontend/locales/de.json b/frontend/locales/de.json
index 75f5c2fb..cd1849a8 100644
--- a/frontend/locales/de.json
+++ b/frontend/locales/de.json
@@ -21,7 +21,7 @@
},
"common": {
"add": "Hinzufügen",
- "e2ee": "End-to-end encryption",
+ "e2ee": "Ende-zu-Ende-Verschlüsselung",
"error": "Fehler",
"loading": "Lade …",
"next": "Weiter",
@@ -212,30 +212,34 @@
}
},
"reset_cross_signing": {
- "button": "Zurücksetzen der Kryptoidentität zulassen",
+ "button": "Identität zurücksetzen",
"cancelled": {
- "description_1": "You can close this window and go back to the app to continue.",
- "description_2": "If you're signed out everywhere and don't remember your recovery code, you'll still need to reset your identity.",
- "heading": "Identity reset cancelled."
+ "description_1": "Sie können dieses Fenster schließen und zur App zurückkehren, um fortzufahren.",
+ "description_2": "Wenn Sie überall abgemeldet sind und Ihren Wiederherstellungscode vergessen haben, müssen Sie Ihre Identität trotzdem zurücksetzen.",
+ "heading": "Identitätszurücksetzung abgebrochen."
},
- "description": "Wenn Sie nirgendwo anders angemeldet sind und alle Wiederherstellungsoptionen vergessen oder verloren haben, müssen Sie Ihre Krypto-Identität zurücksetzen. Das bedeutet, dass Sie ihren bestehenden Nachrichtenverlauf verlieren, andere Nutzer sehen, dass Sie ihre Identität zurückgesetzt haben und Sie ihre vorhandenen Geräte erneut verifizieren müssen.",
+ "description": "Wenn Sie nirgendwo anders angemeldet sind und alle Wiederherstellungsschlüssel verloren haben, müssen Sie Ihre Krypto-Identität zurücksetzen, bevor Sie die App weiterverwenden können",
"effect_list": {
- "negative_1": "You will lose your existing message history",
- "negative_2": "You will need to verify all your existing devices and contacts again",
- "positive_1": "Your account details, contacts, preferences, and chat list will be kept"
+ "negative_1": "Sie werden Ihren bestehenden Nachrichtenverlauf verlieren",
+ "negative_2": "Sie müssen alle Ihre vorhandenen Geräte und Kontakte erneut überprüfen.",
+ "neutral_1": "Sie verlieren jeglichen Nachrichtenverlauf, der nur auf dem Server gespeichert ist",
+ "neutral_2": "Sie müssen alle Ihre vorhandenen Geräte und Kontakte erneut überprüfen.",
+ "positive_1": "Ihre Kontodaten, Kontakte, Einstellungen und Chat-Liste werden gespeichert"
},
"failure": {
"description": "Dies könnte ein vorübergehendes Problem sein. Bitte versuchen Sie es später erneut. Wenn das Problem weiterhin besteht, wenden Sie sich bitte an Ihren Administrator.",
- "heading": "Failed to allow crypto identity reset",
+ "heading": "Zurücksetzen der Krypto-Identität konnte nicht zugelassen werden",
"title": "Krypto-Identität konnte nicht zugelassen werden"
},
- "heading": "Krypto-Identität zurücksetzen",
+ "finish_reset": "Reset beenden",
+ "heading": "Setzen Sie Ihre Identität zurück für den Fall, dass Sie sie nicht anders bestätigen können",
+ "start_reset": "Reset starten",
"success": {
- "description": "Ein Client kann jetzt die Krypto-Identität Ihres Kontos vorübergehend zurücksetzen. Folgen Sie den Anweisungen in Ihrem Client, um den Vorgang abzuschließen.",
- "heading": "Identity reset successfully. Go back to the app to finish the process.",
+ "description": "Das Zurücksetzen der Identität wurde für die nächsten {{minutes}} Minuten genehmigt. Sie können dieses Fenster schließen und zur App zurückkehren, um fortzufahren.",
+ "heading": "Die Identität wurde erfolgreich zurückgesetzt. Kehren Sie zur App zurück, um den Vorgang abzuschließen.",
"title": "Das Zurücksetzen der Krypto-Identität ist vorübergehend erlaubt"
},
- "warning": "Only reset your identity if you don't have access to another signed-in device and you've lost your recovery key."
+ "warning": "Setzen Sie Ihre Identität nur zurück, wenn Sie keinen Zugriff auf ein anderes angemeldetes Gerät haben und Ihren Wiederherstellungsschlüssel verloren haben."
},
"selectable_session": {
"label": "Sitzung auswählen"
diff --git a/frontend/locales/et.json b/frontend/locales/et.json
index a5103ae9..c9739371 100644
--- a/frontend/locales/et.json
+++ b/frontend/locales/et.json
@@ -222,6 +222,8 @@
"effect_list": {
"negative_1": "Sa kaotad oma olemasolevate sõnumite ajaloo.",
"negative_2": "Sa pead kõik oma kasutatavad seadmed ja kontaktid uuesti verifitseerima",
+ "neutral_1": "Sa kaotad ligipääsu kõikidele sõnumitele, mis on salvestatud vaid serveris.",
+ "neutral_2": "Sa pead kõik oma olemasolevad seadmed ning kontaktid verifitseerima.",
"positive_1": "Sinu kasutajakonto andmed, kontaktid, eelistused ja vestluste loendid jäävad muutmata"
},
"failure": {
@@ -229,7 +231,9 @@
"heading": "Krüptoidentiteedi lähtestamise lubamine ei õnnestunud",
"title": "Viga krüptoidentiteedi oleku muutmisel"
},
+ "finish_reset": "Lõpeta lähtestamine",
"heading": "Kui sa ei saa leida ühtegi muud viisis, siis lähtesta oma krüptoidentiteet",
+ "start_reset": "Alusta lähtestamist",
"success": {
"description": "Sinu krüptoidentiteedi lähtestamine on lubatud järgneva {{minutes}} minuti jooksul. Jätkamiseks võid selle akna sulgeda ja minna tagasi rakenduse juurde.",
"heading": "Krüptoidentiteedi lähtestamine õnnestus. Selle protsessi lõpetamiseks mine tagasi rakenduse juurde.",
diff --git a/frontend/locales/fr.json b/frontend/locales/fr.json
index 119033c1..6d1b6886 100644
--- a/frontend/locales/fr.json
+++ b/frontend/locales/fr.json
@@ -222,6 +222,8 @@
"effect_list": {
"negative_1": "Vous perdrez votre historique de messages existant",
"negative_2": "Vous devrez vérifier à nouveau tous vos appareils et contacts existants",
+ "neutral_1": "Vous perdrez l’historique de vos messages",
+ "neutral_2": "Vous devrez vérifier à nouveau tous vos appareils et tous vos contacts",
"positive_1": "Les détails de votre compte, vos contacts, vos préférences et votre liste de discussion seront conservés"
},
"failure": {
@@ -229,7 +231,9 @@
"heading": "Impossible d'autoriser la réinitialisation de l'identité cryptographique",
"title": "Impossible d'autoriser le remplacement de l'identité cryptographique"
},
+ "finish_reset": "Terminer la réinitialisation",
"heading": "Réinitialisez votre identité au cas où vous ne pourriez pas la vérifier autrement",
+ "start_reset": "Démarrer la réinitialisation",
"success": {
"description": "La réinitialisation de l'identité a été approuvée pour les prochaines {{minutes}} minutes. Vous pouvez fermer cette fenêtre et revenir à l'application pour continuer.",
"heading": "Réinitialisation de l'identité réussie. Retournez dans l'application pour terminer le processus.",
diff --git a/frontend/locales/nl.json b/frontend/locales/nl.json
index 5f2a8877..6530335a 100644
--- a/frontend/locales/nl.json
+++ b/frontend/locales/nl.json
@@ -7,7 +7,7 @@
"continue": "Doorgaan",
"edit": "Bewerken",
"save": "Opslaan",
- "save_and_continue": "Save and continue"
+ "save_and_continue": "Opslaan en doorgaan"
},
"branding": {
"privacy_policy": {
@@ -21,13 +21,13 @@
},
"common": {
"add": "Toevoegen",
- "e2ee": "End-to-end encryption",
+ "e2ee": "End-to-end-encryptie",
"error": "Fout",
"loading": "Laden...",
"next": "Volgende",
"previous": "Vorige",
- "saved": "Saved",
- "saving": "Saving…"
+ "saved": "Opgeslagen",
+ "saving": "Opslaan..."
},
"frontend": {
"account": {
@@ -38,9 +38,9 @@
"username_label": "Gebruikersnaam"
},
"password": {
- "change": "Change password",
+ "change": "Wachtwoord wijzigen",
"change_disabled": "Password changes are disabled by the administrator.",
- "label": "Password"
+ "label": "Wachtwoord"
},
"title": "Uw account"
},
@@ -61,7 +61,7 @@
"text": "Het ingevoerde e-mailadres is ongeldig",
"title": "Ongeldig e-mailadres"
},
- "email_invalid_error": "The entered email is invalid"
+ "email_invalid_error": "Het ingevoerde e-mailadres is ongeldig"
},
"app_sessions_list": {
"error": "Kan app-sessies niet laden",
@@ -106,7 +106,7 @@
},
"error_boundary_title": "Er is iets misgegaan",
"errors": {
- "field_required": "This field is required"
+ "field_required": "Dit veld is verplicht"
},
"last_active": {
"active_date": "Actief {{relativeDate}}",
@@ -137,7 +137,7 @@
"total": "Totaal: {{totalCount}}"
},
"password_change": {
- "current_password_label": "Current password",
+ "current_password_label": "Huidig wachtwoord",
"failure": {
"description": {
"account_locked": "Your account is locked and can not be recovered at this time. If this is not expected, please contact your server administrator.",
@@ -152,9 +152,9 @@
},
"title": "Failed to update password"
},
- "new_password_again_label": "Enter new password again",
- "new_password_label": "New password",
- "passwords_match": "Passwords match!",
+ "new_password_again_label": "Voer het nieuwe wachtwoord opnieuw in",
+ "new_password_label": "Nieuw wachtwoord",
+ "passwords_match": "Wachtwoorden komen overeen!",
"passwords_no_match": "Passwords don't match",
"subtitle": "Choose a new password for your account.",
"success": {
@@ -212,16 +212,18 @@
}
},
"reset_cross_signing": {
- "button": "Het resetten van de crypto identiteit toestaan",
+ "button": "Identiteit resetten",
"cancelled": {
"description_1": "You can close this window and go back to the app to continue.",
"description_2": "If you're signed out everywhere and don't remember your recovery code, you'll still need to reset your identity.",
"heading": "Identity reset cancelled."
},
- "description": "Als u nergens anders bent ingelogd en alle herstelopties bent vergeten of verloren, moet u uw crypto identiteit opnieuw instellen. Dit betekent dat u uw bestaande berichtgeschiedenis kwijtraakt, dat andere gebruikers zien dat u uw identiteit opnieuw hebt ingesteld en dat u uw bestaande apparaten opnieuw moet verifiëren.",
+ "description": "Als u niet bent aangemeld bij andere apparaten en u bent uw herstelsleutel kwijt, moet u uw identiteit opnieuw instellen om de app te kunnen blijven gebruiken.",
"effect_list": {
"negative_1": "You will lose your existing message history",
"negative_2": "You will need to verify all your existing devices and contacts again",
+ "neutral_1": "You will lose any message history that's stored only on the server",
+ "neutral_2": "You will need to verify all your existing devices and contacts again",
"positive_1": "Your account details, contacts, preferences, and chat list will be kept"
},
"failure": {
@@ -229,9 +231,11 @@
"heading": "Failed to allow crypto identity reset",
"title": "Kan crypto identiteit niet toestaan"
},
- "heading": "Crypto identiteit opnieuw instellen",
+ "finish_reset": "Finish reset",
+ "heading": "Stel uw identiteit opnieuw in als u op een andere manier niet kunt bevestigen",
+ "start_reset": "Start reset",
"success": {
- "description": "Een client kan nu tijdelijk de crypto identiteit van uw account resetten. Volg de instructies in uw client om het proces te voltooien.",
+ "description": "De identiteits reset is goedgekeurd voor de volgende {{minutes}} minuten. U kunt dit venster sluiten en teruggaan naar de app om door te gaan.",
"heading": "Identity reset successfully. Go back to the app to finish the process.",
"title": "Het opnieuw instellen van de crypto identiteit is tijdelijk toegestaan"
},
diff --git a/frontend/locales/pt.json b/frontend/locales/pt.json
new file mode 100644
index 00000000..be1f6453
--- /dev/null
+++ b/frontend/locales/pt.json
@@ -0,0 +1,347 @@
+{
+ "action": {
+ "back": "Voltar",
+ "cancel": "Cancelar",
+ "clear": "Limpar",
+ "close": "Fechar",
+ "continue": "Continuar",
+ "edit": "Editar",
+ "save": "Salvar",
+ "save_and_continue": "Guardar e Continuar"
+ },
+ "branding": {
+ "privacy_policy": {
+ "alt": "Link para a política de privacidade do serviço",
+ "link": "Política de privacidade"
+ },
+ "terms_and_conditions": {
+ "alt": "Link para os termos e condições do serviço",
+ "link": "Termos e Condições"
+ }
+ },
+ "common": {
+ "add": "Adicionar",
+ "e2ee": "Encriptação de ponta a ponta",
+ "error": "Erro",
+ "loading": "A carregar...",
+ "next": "Seguinte",
+ "previous": "Anterior",
+ "saved": "Guardado",
+ "saving": "A guardar…"
+ },
+ "frontend": {
+ "account": {
+ "edit_profile": {
+ "display_name_help": "Isso é o que os outros verão onde quer que você esteja conectado.",
+ "display_name_label": "Nome para exibição",
+ "title": "Editar perfil",
+ "username_label": "Nome de utilizador"
+ },
+ "password": {
+ "change": "Alterar palavra-passe",
+ "change_disabled": "As alterações de palavra-passe são desactivadas pelo administrador.",
+ "label": "Palavra-passe"
+ },
+ "title": "A sua conta"
+ },
+ "add_email_form": {
+ "email_denied_alert": {
+ "text": "O e-mail inserido não é permitido pela política do servidor.",
+ "title": "E-mail negado pela política"
+ },
+ "email_denied_error": "O e-mail inserido não é permitido pela política do servidor",
+ "email_exists_alert": {
+ "text": "O e-mail introduzido já foi adicionado a esta conta",
+ "title": "O e-mail já existe"
+ },
+ "email_exists_error": "O e-mail introduzido já foi adicionado a esta conta",
+ "email_field_help": "Adicione um e-mail alternativo que você pode usar para acessar essa conta.",
+ "email_field_label": "Adicionar e-mail",
+ "email_invalid_alert": {
+ "text": "O e-mail introduzido é inválido",
+ "title": "E-mail inválido"
+ },
+ "email_invalid_error": "O e-mail introduzido é inválido"
+ },
+ "app_sessions_list": {
+ "error": "Falha ao carregar sessões do aplicativo",
+ "heading": "Aplicações"
+ },
+ "browser_session_details": {
+ "current_badge": "Atual",
+ "session_details_title": "Sessão"
+ },
+ "browser_sessions_overview": {
+ "body:one": "{{count}} sessão ativa",
+ "body:other": "{{count}} sessões ativas",
+ "heading": "Navegadores",
+ "no_active_sessions": {
+ "default": "Você não está conectado a nenhum navegador da Web.",
+ "inactive_90_days": "Todas as suas sessões estiveram ativas nos últimos 90 dias."
+ },
+ "view_all_button": "Ver tudo"
+ },
+ "compat_session_detail": {
+ "client_details_title": "Informação do cliente",
+ "name": "Nome",
+ "session_details_title": "Sessão"
+ },
+ "device_type_icon_label": {
+ "desktop": "Ambiente de trabalho",
+ "mobile": "Telemóvel",
+ "pc": "Computador",
+ "tablet": "Tablet",
+ "unknown": "Tipo de dispositivo desconhecido",
+ "web": "Web"
+ },
+ "end_session_button": {
+ "confirmation_modal_title": "Tem a certeza de que quer terminar esta sessão?",
+ "text": "Sair"
+ },
+ "error": {
+ "hideDetails": "Ocultar detalhes",
+ "showDetails": "Mostrar detalhes",
+ "subtitle": "Ocorreu um erro inesperado. Por favor, tente novamente.",
+ "title": "Algo correu mal"
+ },
+ "error_boundary_title": "Algo correu mal",
+ "errors": {
+ "field_required": "Este campo é obrigatório"
+ },
+ "last_active": {
+ "active_date": "Ativo {{relativeDate}}",
+ "active_now": "Ativo agora",
+ "inactive_90_days": "Inativo por 90+ dias"
+ },
+ "nav": {
+ "devices": "Dispositivos",
+ "profile": "Perfil",
+ "sessions": "Sessões",
+ "settings": "Configurações"
+ },
+ "not_found_alert_title": "Não encontrado.",
+ "not_logged_in_alert": "Não tem sessão iniciada.",
+ "oauth2_client_detail": {
+ "details_title": "Informação do cliente",
+ "id": "ID do Cliente",
+ "name": "Nome",
+ "policy": "Política",
+ "terms": "Termos de serviço"
+ },
+ "oauth2_session_detail": {
+ "client_details_name": "Nome",
+ "client_title": "Informação do cliente",
+ "session_details_title": "Sessão"
+ },
+ "pagination_controls": {
+ "total": "Total: {{totalCount}}"
+ },
+ "password_change": {
+ "current_password_label": "Palavra-passe atual",
+ "failure": {
+ "description": {
+ "account_locked": "A sua conta está bloqueada e não pode ser recuperada neste momento. Se isso não for esperado, entre em contato com o administrador do servidor.",
+ "expired_recovery_ticket": "O link de recuperação expirou. Por favor, inicie o processo de recuperação de conta novamente desde o início.",
+ "invalid_new_password": "A nova senha que você escolheu é inválida; ela pode não atender à política de segurança configurada.",
+ "no_current_password": "Você não tem uma senha atual.",
+ "no_such_recovery_ticket": "O link de recuperação é inválido. Se você copiou o link do e-mail de recuperação, verifique se o link completo foi copiado.",
+ "password_changes_disabled": "As alterações de palavra-passe estão desactivadas.",
+ "recovery_ticket_already_used": "O link de recuperação já foi usado. Não pode ser utilizado novamente.",
+ "unspecified": "Este pode ser um problema temporário, por isso, tente novamente mais tarde. Se o problema persistir, entre em contato com o administrador do servidor.",
+ "wrong_password": "A palavra-passe que forneceu como palavra-passe atual está incorreta. Por favor, tente novamente."
+ },
+ "title": "Falha na actualização da palavra-passe"
+ },
+ "new_password_again_label": "Introduzir novamente a nova palavra-passe",
+ "new_password_label": "Nova palavra-passe",
+ "passwords_match": "As palavras-passe coincidem!",
+ "passwords_no_match": "As palavras-passe não coincidem",
+ "subtitle": "Escolha uma nova palavra-passe para a sua conta.",
+ "success": {
+ "description": "A sua palavra-passe foi actualizada com sucesso.",
+ "title": "Palavra-passe Atualizada"
+ },
+ "title": "Alterar a sua palavra-passe"
+ },
+ "password_reset": {
+ "title": "Repor a sua palavra-passe"
+ },
+ "password_strength": {
+ "placeholder": "Força da palavra-passe",
+ "score": {
+ "0": "Palavra-passe extremamente fraca",
+ "1": "Palavra-passe muito fraca",
+ "2": "Palavra-passe fraca",
+ "3": "Palavra-passe forte",
+ "4": "Palavra-passe muito forte"
+ },
+ "suggestion": {
+ "all_uppercase": "Colocar algumas letras em maiúsculas, mas não todas.",
+ "another_word": "Adicione mais palavras que são menos comuns.",
+ "associated_years": "Evite anos que lhe estão associados.",
+ "capitalization": "Colocar mais maiúsculas do que a primeira letra.",
+ "dates": "Evite datas e anos associados a si.",
+ "l33t": "Evite substituições de letras previsíveis como '@' por 'a'.",
+ "longer_keyboard_pattern": "Use padrões de teclado mais longos e altere a direção da digitação várias vezes.",
+ "no_need": "Você pode criar senhas fortes sem usar símbolos, números ou letras maiúsculas.",
+ "pwned": "Se utilizar esta palavra-passe noutro local, deve alterá-la.",
+ "recent_years": "Evite os últimos anos.",
+ "repeated": "Evite palavras e caracteres repetidos.",
+ "reverse_words": "Evite grafias invertidas de palavras comuns.",
+ "sequences": "Evite sequências de caracteres comuns.",
+ "use_words": "Use várias palavras, mas evite frases comuns."
+ },
+ "too_weak": "Esta palavra-passe é demasiado fraca",
+ "warning": {
+ "common": "Esta é uma senha comumente usada.",
+ "common_names": "Nomes e sobrenomes comuns são fáceis de adivinhar.",
+ "dates": "As datas são fáceis de adivinhar.",
+ "extended_repeat": "Padrões de caracteres repetidos como \"abcabcabc\" são fáceis de adivinhar.",
+ "key_pattern": "Padrões de teclado curtos são fáceis de adivinhar.",
+ "names_by_themselves": "Nomes individuais ou sobrenomes são fáceis de adivinhar.",
+ "pwned": "A sua palavra-passe foi exposta por uma violação de dados na Internet.",
+ "recent_years": "Os últimos anos são fáceis de adivinhar.",
+ "sequences": "Sequências de caracteres comuns como \"abc\" são fáceis de adivinhar.",
+ "similar_to_common": "Isso é semelhante a uma senha comumente usada.",
+ "simple_repeat": "Caracteres repetidos como \"aaa\" são fáceis de adivinhar.",
+ "straight_row": "Linhas retas de teclas no teclado são fáceis de adivinhar.",
+ "top_hundred": "Esta é uma palavra-passe frequentemente utilizada.",
+ "top_ten": "Esta é uma palavra-passe muito utilizada.",
+ "user_inputs": "Não deve haver quaisquer dados pessoais ou relacionados com a página.",
+ "word_by_itself": "Palavras isoladas são fáceis de adivinhar."
+ }
+ },
+ "reset_cross_signing": {
+ "button": "Redefinir identidade",
+ "cancelled": {
+ "description_1": "Pode fechar esta janela e voltar à aplicação para continuar.",
+ "description_2": "Se você estiver desconectado em todos os lugares e não se lembrar do código de recuperação, ainda precisará redefinir sua identidade.",
+ "heading": "Redefinição de identidade cancelada."
+ },
+ "description": "Se não tiver sessão iniciada noutros dispositivos e tiver perdido a sua chave de recuperação, terá de repor a sua identidade para continuar a utilizar a aplicação.",
+ "effect_list": {
+ "negative_1": "Você perderá seu histórico de mensagens existente",
+ "negative_2": "Você precisará verificar todos os seus dispositivos e contatos existentes novamente",
+ "neutral_1": "Você perderá qualquer histórico de mensagens armazenado apenas no servidor",
+ "neutral_2": "Você precisará verificar todos os seus dispositivos e contatos existentes novamente",
+ "positive_1": "Os detalhes da sua conta, contactos, preferências e lista de conversação serão mantidos"
+ },
+ "failure": {
+ "description": "Este pode ser um problema temporário, por isso, tente novamente mais tarde. Se o problema persistir, entre em contato com o administrador do servidor.",
+ "heading": "Falha ao permitir a reposição da identidade criptográfica",
+ "title": "Falha ao permitir identidade de criptografia"
+ },
+ "finish_reset": "Concluir reposição",
+ "heading": "Redefina sua identidade caso não possa confirmar de outra forma",
+ "start_reset": "Iniciar reposição",
+ "success": {
+ "description": "A redefinição de identidade foi aprovada para os próximos {{minutes}} minutos. Pode fechar esta janela e voltar à aplicação para continuar.",
+ "heading": "Redefinição de identidade com êxito. Volte ao aplicativo para concluir o processo.",
+ "title": "Redefinição de identidade criptográfica permitida temporariamente"
+ },
+ "warning": "Só reponha a sua identidade se não tiver acesso a outro dispositivo com sessão iniciada e tiver perdido a sua chave de recuperação."
+ },
+ "selectable_session": {
+ "label": "Selecionar sessão"
+ },
+ "session": {
+ "client_id_label": "ID do Cliente",
+ "current": "Atual",
+ "current_badge": "Atual",
+ "device_id_label": "ID de dispositivo",
+ "finished_date": "Concluído ",
+ "finished_label": "Concluído",
+ "id_label": "Identificação",
+ "ip_label": "Endereço IP",
+ "last_active_label": "Ativo pela última vez",
+ "last_auth_label": "Última autenticação",
+ "name_for_platform": "{{name}}para{{platform}}",
+ "scopes_label": "Âmbitos de aplicação",
+ "signed_in_date": "Conectado ",
+ "signed_in_label": "Sessão iniciada",
+ "title": "Detalhes do dispositivo",
+ "unknown_browser": "Navegador desconhecido",
+ "unknown_device": "Dispositivo desconhecido",
+ "uri_label": "Uri",
+ "user_id_label": "ID de utilizador",
+ "username_label": "Nome do utilizador"
+ },
+ "session_detail": {
+ "alert": {
+ "button": "Volta atrás",
+ "text": "Esta sessão não existe ou não está mais ativa.",
+ "title": "Não é possível encontrar sessão: {{deviceId}}"
+ }
+ },
+ "unknown_route": "Rota desconhecida {{route}}",
+ "unverified_email_alert": {
+ "button": "Rever e verificar",
+ "text:one": "Você tem {{count}} endereço de e-mail não verificado.",
+ "text:other": "Você tem {{count}} endereços de e-mail não verificados.",
+ "title": "E-mail não verificado"
+ },
+ "user_email": {
+ "cant_delete_primary": "Escolha um e-mail principal diferente para excluir este.",
+ "delete_button_confirmation_modal": {
+ "action": "Excluir e-mail",
+ "body": "Excluir este e-mail?"
+ },
+ "delete_button_title": "Remover endereço de e-mail",
+ "email": "Email",
+ "make_primary_button": "Tornar primário",
+ "not_verified": "Não verificado",
+ "primary_email": "E-mail primário",
+ "retry_button": "Reenviar código",
+ "unverified": "Não verificado"
+ },
+ "user_email_list": {
+ "heading": "E-mails",
+ "no_primary_email_alert": "Sem endereço de e-mail principal"
+ },
+ "user_greeting": {
+ "error": "Falha ao carregar o usuário"
+ },
+ "user_name": {
+ "display_name_field_label": "Nome para exibição"
+ },
+ "user_sessions_overview": {
+ "active_sessions:one": "{{count}} sessão ativa",
+ "active_sessions:other": "{{count}} sessões ativas",
+ "heading": "Onde você está conectado",
+ "no_active_sessions": {
+ "default": "Você não está conectado a nenhum aplicativo.",
+ "inactive_90_days": "Todas as suas sessões estiveram ativas nos últimos 90 dias."
+ }
+ },
+ "verify_email": {
+ "code_field_error": "Código não reconhecido",
+ "code_field_label": "Código de 6 dígitos",
+ "code_field_wrong_shape": "O código deve ter 6 dígitos",
+ "email_sent_alert": {
+ "description": "Insira o novo código abaixo.",
+ "title": "Novo código enviado"
+ },
+ "enter_code_prompt": "Insira o código de 6 dígitos enviado para: {{email}}",
+ "heading": "Verifique o seu e-mail",
+ "invalid_code_alert": {
+ "description": "Verifique o código enviado para o seu e-mail e atualize os campos abaixo para continuar.",
+ "title": "Introduziu o código errado"
+ },
+ "resend_code": "Reenviar código",
+ "resend_email": "Reenviar e-mail",
+ "sent": "Enviado!",
+ "unknown_email": "E-mail desconhecido"
+ }
+ },
+ "mas": {
+ "scope": {
+ "edit_profile": "Editar o seu perfil e detalhes de contacto",
+ "manage_sessions": "Gerir os seus dispositivos e sessões",
+ "mas_admin": "Administrar qualquer usuário no matrix-authentication-service",
+ "send_messages": "Envie novas mensagens em seu nome",
+ "synapse_admin": "Administrar o servidor Synapse",
+ "view_messages": "Ver as mensagens e os dados existentes",
+ "view_profile": "Ver as informações do seu perfil e detalhes de contacto"
+ }
+ }
+}
\ No newline at end of file
diff --git a/frontend/locales/sv.json b/frontend/locales/sv.json
new file mode 100644
index 00000000..937a1d7f
--- /dev/null
+++ b/frontend/locales/sv.json
@@ -0,0 +1,347 @@
+{
+ "action": {
+ "back": "Tillbaka",
+ "cancel": "Avbryt",
+ "clear": "Rensa",
+ "close": "Stäng",
+ "continue": "Fortsätt",
+ "edit": "Redigera",
+ "save": "Spara",
+ "save_and_continue": "Spara och fortsätt"
+ },
+ "branding": {
+ "privacy_policy": {
+ "alt": "Länk till tjänstens integritetspolicy",
+ "link": "Integritetspolicy"
+ },
+ "terms_and_conditions": {
+ "alt": "Länk till användarvillkoren för tjänsten",
+ "link": "Allmänna villkor"
+ }
+ },
+ "common": {
+ "add": "Lägg till",
+ "e2ee": "End-to-end-kryptering",
+ "error": "Fel",
+ "loading": "Laddar …",
+ "next": "Nästa",
+ "previous": "Föregående",
+ "saved": "Sparat",
+ "saving": "Sparar..."
+ },
+ "frontend": {
+ "account": {
+ "edit_profile": {
+ "display_name_help": "Detta är vad andra kommer att se var du än är inloggad.",
+ "display_name_label": "Visningsnamn",
+ "title": "Redigera profil",
+ "username_label": "Användarnamn"
+ },
+ "password": {
+ "change": "Ändra lösenord",
+ "change_disabled": "Lösenordsändringar är inaktiverad av administratören.",
+ "label": "Lösenord"
+ },
+ "title": "Ditt konto"
+ },
+ "add_email_form": {
+ "email_denied_alert": {
+ "text": "Det angivna e-postmeddelandet är inte tillåtet enligt serverpolicyn.",
+ "title": "E-post nekas av policy"
+ },
+ "email_denied_error": "Den angivna e-posten tillåts inte av serverpolicyn",
+ "email_exists_alert": {
+ "text": "Det angivna e-postmeddelandet har redan lagts till i det här kontot",
+ "title": "E-postadressen finns redan"
+ },
+ "email_exists_error": "Den angivna e-postadressen har redan lagts till i det här kontot",
+ "email_field_help": "Lägg till en alternativ e-postadress som du kan använda för att komma åt det här kontot.",
+ "email_field_label": "Lägg till e-post",
+ "email_invalid_alert": {
+ "text": "Den angivna e-postadressen är ogiltig",
+ "title": "Ogiltig e-postadress"
+ },
+ "email_invalid_error": "Den angivna e-postadressen är ogiltig"
+ },
+ "app_sessions_list": {
+ "error": "Det gick inte att läsa in appsessioner",
+ "heading": "Appar"
+ },
+ "browser_session_details": {
+ "current_badge": "Nuvarande",
+ "session_details_title": "Session"
+ },
+ "browser_sessions_overview": {
+ "body:one": "{{count}}aktiv session",
+ "body:other": "{{count}}aktiva sessioner",
+ "heading": "Webbläsare",
+ "no_active_sessions": {
+ "default": "Du är inte inloggad i någon webbläsare.",
+ "inactive_90_days": "Alla dina sessioner har varit aktiva under de senaste 90 dagarna."
+ },
+ "view_all_button": "Visa alla"
+ },
+ "compat_session_detail": {
+ "client_details_title": "Kundinformation",
+ "name": "Namn",
+ "session_details_title": "Session"
+ },
+ "device_type_icon_label": {
+ "desktop": "Skrivbord",
+ "mobile": "Mobil",
+ "pc": "Dator",
+ "tablet": "Läsplatta",
+ "unknown": "Okänd enhetstyp",
+ "web": "Webb"
+ },
+ "end_session_button": {
+ "confirmation_modal_title": "Är du säker på att du vill avsluta denna session?",
+ "text": "Logga ut"
+ },
+ "error": {
+ "hideDetails": "Dölj detaljer",
+ "showDetails": "Visa detaljer",
+ "subtitle": "Ett oväntat fel inträffade. Vänligen försök igen.",
+ "title": "Något gick fel"
+ },
+ "error_boundary_title": "Något gick fel",
+ "errors": {
+ "field_required": "Detta fält är obligatoriskt"
+ },
+ "last_active": {
+ "active_date": "Aktiv {{relativeDate}}",
+ "active_now": "Aktiv nu",
+ "inactive_90_days": "Inaktiv i 90+ dagar"
+ },
+ "nav": {
+ "devices": "Enheter",
+ "profile": "Profil",
+ "sessions": "Sessioner",
+ "settings": "Inställningar"
+ },
+ "not_found_alert_title": "Hittades inte.",
+ "not_logged_in_alert": "Du är inte inloggad.",
+ "oauth2_client_detail": {
+ "details_title": "Kundinformation",
+ "id": "Kund-ID",
+ "name": "Namn",
+ "policy": "Policy",
+ "terms": "Terms Of Service"
+ },
+ "oauth2_session_detail": {
+ "client_details_name": "Namn",
+ "client_title": "Kundinformation",
+ "session_details_title": "Session"
+ },
+ "pagination_controls": {
+ "total": "Totalt: {{totalCount}}"
+ },
+ "password_change": {
+ "current_password_label": "Nuvarande lösenord",
+ "failure": {
+ "description": {
+ "account_locked": "Ditt konto är låst och kan inte återställas just nu. Om du inte förväntat dig detta, kontakta din serveradministratör.",
+ "expired_recovery_ticket": "Återställningslänken har upphört att gälla. Vänligen starta kontoåterställningsprocessen igen från början.",
+ "invalid_new_password": "Det nya lösenordet du valde är ogiltigt; det kanske inte uppfyller den konfigurerade säkerhetspolicyn.",
+ "no_current_password": "Du har inget aktuellt lösenord.",
+ "no_such_recovery_ticket": "Återställningslänken är ogiltig. Om du kopierade länken från återställnings-e-postmeddelandet, kontrollera att hela länken kopierades.",
+ "password_changes_disabled": "Lösenordsändringar är inaktiverade.",
+ "recovery_ticket_already_used": "Återställningslänken har redan använts. Den kan inte användas igen.",
+ "unspecified": "Detta kan vara ett tillfälligt problem, så försök igen senare. Om problemet kvarstår kontaktar du serveradministratören.",
+ "wrong_password": "Lösenordet du angav som ditt nuvarande lösenord är felaktigt. Vänligen försök igen."
+ },
+ "title": "Det gick inte att uppdatera lösenordet"
+ },
+ "new_password_again_label": "Ange det nya lösenordet igen",
+ "new_password_label": "Nytt lösenord",
+ "passwords_match": "Lösenorden matchar!",
+ "passwords_no_match": "Lösenorden matchar inte",
+ "subtitle": "Välj ett nytt lösenord för ditt konto.",
+ "success": {
+ "description": "Ditt lösenord har uppdaterats framgångsrikt.",
+ "title": "Lösenord uppdaterat"
+ },
+ "title": "Ändra ditt lösenord"
+ },
+ "password_reset": {
+ "title": "Återställ ditt lösenord"
+ },
+ "password_strength": {
+ "placeholder": "Lösenordets styrka",
+ "score": {
+ "0": "Extremt svagt lösenord",
+ "1": "Mycket svagt lösenord",
+ "2": "Svagt lösenord",
+ "3": "Starkt lösenord",
+ "4": "Mycket starkt lösenord"
+ },
+ "suggestion": {
+ "all_uppercase": "Skriv vissa bokstäver med stor bokstav, men inte alla.",
+ "another_word": "Lägg till fler ord som är mindre vanliga.",
+ "associated_years": "Undvik år som är förknippade med dig.",
+ "capitalization": "Använd stor bokstav på fler än den första bokstaven.",
+ "dates": "Undvik datum och årtal som är förknippade med dig.",
+ "l33t": "Undvik förutsägbara bokstavsersättningar som '@' för 'a'.",
+ "longer_keyboard_pattern": "Använd längre tangentbordsmönster och ändra skrivriktning flera gånger.",
+ "no_need": "Du kan skapa starka lösenord utan att använda symboler, siffror eller versaler.",
+ "pwned": "Om du använder det här lösenordet någon annanstans bör du ändra det.",
+ "recent_years": "Undvik de senaste åren.",
+ "repeated": "Undvik upprepade ord och tecken.",
+ "reverse_words": "Undvik omvänd stavning av vanliga ord.",
+ "sequences": "Undvik vanliga teckensekvenser.",
+ "use_words": "Använd flera ord, men undvik vanliga fraser."
+ },
+ "too_weak": "Detta lösenord är för svagt",
+ "warning": {
+ "common": "Detta är ett vanligt lösenord.",
+ "common_names": "Vanliga namn och efternamn är lätta att gissa.",
+ "dates": "Datum är lätta att gissa.",
+ "extended_repeat": "Upprepade teckenmönster som \"abcabcabc\" är lätta att gissa.",
+ "key_pattern": "Korta tangentbordsmönster är lätta att gissa.",
+ "names_by_themselves": "Enstaka namn eller efternamn är lätta att gissa.",
+ "pwned": "Ditt lösenord har röjts genom ett dataintrång på Internet.",
+ "recent_years": "De senaste åren är lätta att gissa.",
+ "sequences": "Vanliga karaktärssekvenser som ”abc” är lätta att gissa.",
+ "similar_to_common": "Detta liknar ett vanligt använt lösenord.",
+ "simple_repeat": "Upprepade tecken som ”aaa” är lätta att gissa.",
+ "straight_row": "Raka rader med tangenter på tangentbordet är lätta att gissa.",
+ "top_hundred": "Detta är ett lösenord som används ofta.",
+ "top_ten": "Detta är ett flitigt använt lösenord.",
+ "user_inputs": "Det ska inte finnas några personliga eller sidrelaterade uppgifter.",
+ "word_by_itself": "Enstaka ord är lätta att gissa."
+ }
+ },
+ "reset_cross_signing": {
+ "button": "Återställ identitet",
+ "cancelled": {
+ "description_1": "Du kan stänga det här fönstret och gå tillbaka till appen för att fortsätta.",
+ "description_2": "Om du är utloggad överallt och inte kommer ihåg din återställningskod måste du fortfarande återställa din identitet.",
+ "heading": "Identitetsåterställningen har avbrutits."
+ },
+ "description": "Om du inte är inloggad på någon annan enhet och du har tappat bort din återställningsnyckel måste du återställa din identitet för att fortsätta använda appen.",
+ "effect_list": {
+ "negative_1": "Du kommer att förlora din befintliga meddelandehistorik",
+ "negative_2": "Du kommer att behöva verifiera alla dina befintliga enheter och kontakter igen",
+ "neutral_1": "Du kommer att förlora all meddelandehistorik som bara är lagrad på servern",
+ "neutral_2": "Du måste verifiera alla dina befintliga enheter och kontakter igen",
+ "positive_1": "Dina kontouppgifter, kontakter, preferenser och chattlista kommer att behållas"
+ },
+ "failure": {
+ "description": "Detta kan vara ett tillfälligt problem, så försök igen senare. Kontakta din serveradministratör om problemet kvarstår.",
+ "heading": "Det gick inte att tillåta återställning av kryptoidentitet",
+ "title": "Misslyckades med att tillåta kryptoidentitet"
+ },
+ "finish_reset": "Slutför återställningen",
+ "heading": "Återställ din identitet om du inte kan bekräfta på annat sätt",
+ "start_reset": "Starta återställning",
+ "success": {
+ "description": "Identitetsåterställningen har godkänts för nästa{{minutes}} minuter. Du kan stänga det här fönstret och gå tillbaka till appen för att fortsätta.",
+ "heading": "Identiteten har återställts. Gå tillbaka till appen för att avsluta processen.",
+ "title": "Återställning av kryptoidentitet är tillfälligt tillåten"
+ },
+ "warning": "Återställ bara din identitet om du inte har tillgång till en annan inloggad enhet och du har tappat bort din återställningsnyckel."
+ },
+ "selectable_session": {
+ "label": "Välj session"
+ },
+ "session": {
+ "client_id_label": "Klient ID",
+ "current": "Nuvarande",
+ "current_badge": "Nuvarande",
+ "device_id_label": "Enhets-ID",
+ "finished_date": "Slutförd ",
+ "finished_label": "Slutförda",
+ "id_label": "ID",
+ "ip_label": "IP-adress",
+ "last_active_label": "Senast aktiv",
+ "last_auth_label": "Senaste autentisering",
+ "name_for_platform": "{{name}} för {{platform}}",
+ "scopes_label": "Scope",
+ "signed_in_date": "Inloggad ",
+ "signed_in_label": "Inloggad",
+ "title": "Enhetsdetaljer",
+ "unknown_browser": "Okänd webbläsare",
+ "unknown_device": "Okänd enhet",
+ "uri_label": "Uri",
+ "user_id_label": "Användar-ID",
+ "username_label": "Användarnamn"
+ },
+ "session_detail": {
+ "alert": {
+ "button": "Gå tillbaka",
+ "text": "Den här sessionen existerar inte eller är inte längre aktiv.",
+ "title": "Kan inte hitta sessionen: {{deviceId}}"
+ }
+ },
+ "unknown_route": "Okänd rutt {{route}}",
+ "unverified_email_alert": {
+ "button": "Granska och verifiera",
+ "text:one": "Du har {{count}} obekräftad e-postadress.",
+ "text:other": "Du har {{count}} obekräftade e-postadresser.",
+ "title": "Overifierad e-postadress"
+ },
+ "user_email": {
+ "cant_delete_primary": "Välj en annan primär e-postadress för att radera denna.",
+ "delete_button_confirmation_modal": {
+ "action": "Ta bort e-post",
+ "body": "Radera det här e-postmeddelandet?"
+ },
+ "delete_button_title": "Ta bort e-postadress",
+ "email": "E-post",
+ "make_primary_button": "Gör primär",
+ "not_verified": "Ej verifierad",
+ "primary_email": "Primär e-post",
+ "retry_button": "Skicka kod igen",
+ "unverified": "Overifierad"
+ },
+ "user_email_list": {
+ "heading": "E-postmeddelanden",
+ "no_primary_email_alert": "Ingen primär e-postadress"
+ },
+ "user_greeting": {
+ "error": "Det gick inte att läsa in användaren"
+ },
+ "user_name": {
+ "display_name_field_label": "Visningsnamn"
+ },
+ "user_sessions_overview": {
+ "active_sessions:one": "{{count}}aktiv session",
+ "active_sessions:other": "{{count}}aktiva sessioner",
+ "heading": "Var du är inloggad",
+ "no_active_sessions": {
+ "default": "Du är inte inloggad på någon applikation.",
+ "inactive_90_days": "Alla dina sessioner har varit aktiva under de senaste 90 dagarna."
+ }
+ },
+ "verify_email": {
+ "code_field_error": "Koden känns inte igen",
+ "code_field_label": "6-siffrig kod",
+ "code_field_wrong_shape": "Koden måste vara 6 siffror",
+ "email_sent_alert": {
+ "description": "Ange den nya koden nedan.",
+ "title": "Ny kod har skickats."
+ },
+ "enter_code_prompt": "Ange den 6-siffriga koden som skickas till: {{email}}",
+ "heading": "Verifiera din e-postadress",
+ "invalid_code_alert": {
+ "description": "Kontrollera koden som skickats till din e-post och uppdatera fälten nedan för att fortsätta.",
+ "title": "Du har angett fel kod"
+ },
+ "resend_code": "Skicka koden igen",
+ "resend_email": "Skicka e-post på nytt",
+ "sent": "Skickat!",
+ "unknown_email": "Okänd e-postadress"
+ }
+ },
+ "mas": {
+ "scope": {
+ "edit_profile": "Redigera din profil och kontaktuppgifter",
+ "manage_sessions": "Hantera dina enheter och sessioner",
+ "mas_admin": "Administrera valfri användare på matrix-authentication-service",
+ "send_messages": "Skicka nya meddelanden för din räkning",
+ "synapse_admin": "Administrera Synapse-hemservern",
+ "view_messages": "Visa dina befintliga meddelanden och data",
+ "view_profile": "Se din profilinformation och kontaktuppgifter"
+ }
+ }
+}
\ No newline at end of file
diff --git a/frontend/locales/uk.json b/frontend/locales/uk.json
new file mode 100644
index 00000000..e9122cfc
--- /dev/null
+++ b/frontend/locales/uk.json
@@ -0,0 +1,350 @@
+{
+ "action": {
+ "back": "Назад",
+ "cancel": "Скасувати",
+ "clear": "Очистити",
+ "close": "Закрити",
+ "continue": "Продовжити",
+ "edit": "Редагувати",
+ "save": "Зберегти",
+ "save_and_continue": "Зберегти і продовжити"
+ },
+ "branding": {
+ "privacy_policy": {
+ "alt": "Посилання на політику конфіденційності сервісу",
+ "link": "Політика конфіденційності"
+ },
+ "terms_and_conditions": {
+ "alt": "Посилання на умови надання послуг",
+ "link": "Умови використання"
+ }
+ },
+ "common": {
+ "add": "Додати",
+ "e2ee": "Наскрізне шифрування",
+ "error": "Помилка",
+ "loading": "Завантаження…",
+ "next": "Далі",
+ "previous": "Назад",
+ "saved": "Збережено",
+ "saving": "Збереження..."
+ },
+ "frontend": {
+ "account": {
+ "edit_profile": {
+ "display_name_help": "Це те, що бачитимуть інші, коли ви авторизовані.",
+ "display_name_label": "Псевдонім",
+ "title": "Редагувати профіль",
+ "username_label": "Ім'я користувача"
+ },
+ "password": {
+ "change": "Змінити пароль",
+ "change_disabled": "Зміна пароля заборонена адміністратором.",
+ "label": "Пароль"
+ },
+ "title": "Ваш аккаунт"
+ },
+ "add_email_form": {
+ "email_denied_alert": {
+ "text": "Введена електронна адреса заборонена політикою сервера.",
+ "title": "Електронна пошта відхилена політикою"
+ },
+ "email_denied_error": "Введена електронна адреса заборонена політикою сервера",
+ "email_exists_alert": {
+ "text": "Введена електронна пошта вже додана до цього облікового запису",
+ "title": "Електронна адреса вже існує"
+ },
+ "email_exists_error": "Введена електронна пошта вже додана до цього облікового запису",
+ "email_field_help": "Додайте альтернативну електронну пошту, яку ви можете використовувати для доступу до цього облікового запису.",
+ "email_field_label": "Додати електронну пошту",
+ "email_invalid_alert": {
+ "text": "Введена електронна пошта недійсна",
+ "title": "Невірна електронна пошта"
+ },
+ "email_invalid_error": "Введена електронна пошта недійсна"
+ },
+ "app_sessions_list": {
+ "error": "Не вдалося завантажити сесії додатку",
+ "heading": "Додатки"
+ },
+ "browser_session_details": {
+ "current_badge": "Поточний",
+ "session_details_title": "Сесія"
+ },
+ "browser_sessions_overview": {
+ "body:one": "{{count}} активна сесія",
+ "body:few": "{{count}} активних сесії",
+ "body:many": "{{count}} активних сесій",
+ "heading": "Браузери",
+ "no_active_sessions": {
+ "default": "Ви не ввійшли в жодний веб-браузер.",
+ "inactive_90_days": "Усі ваші сесії були активними протягом останніх 90 днів."
+ },
+ "view_all_button": "Переглянути все"
+ },
+ "compat_session_detail": {
+ "client_details_title": "Інформація про клієнт",
+ "name": "Ім'я",
+ "session_details_title": "Сесія"
+ },
+ "device_type_icon_label": {
+ "desktop": "Комп’ютер",
+ "mobile": "Мобільний",
+ "pc": "Комп'ютер",
+ "tablet": "Планшет",
+ "unknown": "Невідомий тип пристрою",
+ "web": "Web"
+ },
+ "end_session_button": {
+ "confirmation_modal_title": "Ви впевнені, що хочете закінчити цю сесію?",
+ "text": "Вийти"
+ },
+ "error": {
+ "hideDetails": "Приховати деталі",
+ "showDetails": "Показати деталі",
+ "subtitle": "Сталася неочікувана помилка. Будь ласка спробуйте ще раз.",
+ "title": "Щось пішло не так"
+ },
+ "error_boundary_title": "Щось пішло не так",
+ "errors": {
+ "field_required": "Це поле є обов'язковим"
+ },
+ "last_active": {
+ "active_date": "Активний {{relativeDate}}",
+ "active_now": "Активний зараз",
+ "inactive_90_days": "Неактивний понад 90 днів"
+ },
+ "nav": {
+ "devices": "Пристрої",
+ "profile": "Профіль",
+ "sessions": "Сесії",
+ "settings": "Налаштування"
+ },
+ "not_found_alert_title": "Не знайдено.",
+ "not_logged_in_alert": "Ви не ввійшли в систему.",
+ "oauth2_client_detail": {
+ "details_title": "Інформація про клієнт",
+ "id": "Ідентифікатор клієнта",
+ "name": "Ім'я",
+ "policy": "Політика",
+ "terms": "Умови надання послуг"
+ },
+ "oauth2_session_detail": {
+ "client_details_name": "Ім'я",
+ "client_title": "Інформація про клієнт",
+ "session_details_title": "Сесія"
+ },
+ "pagination_controls": {
+ "total": "Всього:{{totalCount}}"
+ },
+ "password_change": {
+ "current_password_label": "Поточний пароль",
+ "failure": {
+ "description": {
+ "account_locked": "Ваш аккаунт заблокований і не може бути відновлений на даний момент. Якщо цього не очікується, зверніться до адміністратора сервера.",
+ "expired_recovery_ticket": "Термін дії посилання для відновлення закінчився. Будь ласка, почніть процес відновлення облікового запису заново з самого початку.",
+ "invalid_new_password": "Вибраний вами новий пароль недійсний; він може не відповідати налаштованій політиці безпеки.",
+ "no_current_password": "У вас немає поточного пароля.",
+ "no_such_recovery_ticket": "Посилання для відновлення недійсне. Якщо ви скопіювали посилання з електронної пошти для відновлення, перевірте, чи скопійовано повне посилання.",
+ "password_changes_disabled": "Зміна пароля відключена.",
+ "recovery_ticket_already_used": "Посилання для відновлення вже використано. Його не можна використовувати повторно.",
+ "unspecified": "Це може бути тимчасова проблема, тому спробуйте пізніше. Якщо проблема не зникає, зверніться до адміністратора свого сервера.",
+ "wrong_password": "Пароль, який ви вказали як свій поточний пароль, неправильний. Спробуйте ще раз."
+ },
+ "title": "Не вдалося оновити пароль"
+ },
+ "new_password_again_label": "Введіть новий пароль ще раз",
+ "new_password_label": "Новий пароль",
+ "passwords_match": "Паролі збігаються!",
+ "passwords_no_match": "Паролі не збігаються",
+ "subtitle": "Виберіть новий пароль для свого облікового запису.",
+ "success": {
+ "description": "Ваш пароль успішно оновлено.",
+ "title": "Пароль оновлено"
+ },
+ "title": "Змініть свій пароль"
+ },
+ "password_reset": {
+ "title": "Скинути пароль"
+ },
+ "password_strength": {
+ "placeholder": "Надійність пароля",
+ "score": {
+ "0": "Надзвичайно слабкий пароль",
+ "1": "Дуже слабкий пароль",
+ "2": "Слабкий пароль",
+ "3": "Надійний пароль",
+ "4": "Дуже надійний пароль"
+ },
+ "suggestion": {
+ "all_uppercase": "Використайте великі літери, але не всі.",
+ "another_word": "Додайте більше слів, які є менш поширеними.",
+ "associated_years": "Уникайте років, які пов'язані з вами.",
+ "capitalization": "Використайте більше великих літер, не тільки першу.",
+ "dates": "Уникайте дат і років, які пов'язані з вами.",
+ "l33t": "Уникайте передбачуваних замін букв, таких як «@» замість «a».",
+ "longer_keyboard_pattern": "Використовуйте довші патерни клавіатури та змінюйте напрямок друку кілька разів.",
+ "no_need": "Ви можете створювати надійні паролі без використання символів, цифр або великих літер.",
+ "pwned": "Якщо ви використовуєте цей пароль деінде, вам слід змінити його.",
+ "recent_years": "Уникайте останніх років.",
+ "repeated": "Уникайте повторювання слів і символів.",
+ "reverse_words": "Уникайте зворотного написання звичайних слів.",
+ "sequences": "Уникайте типових послідовностей символів.",
+ "use_words": "Використовуйте кілька слів, але уникайте поширених фраз."
+ },
+ "too_weak": "Цей пароль занадто слабкий",
+ "warning": {
+ "common": "Це часто використовуваний пароль.",
+ "common_names": "Поширені імена та прізвища легко вгадати.",
+ "dates": "Дати легко вгадати.",
+ "extended_repeat": "Повторювані шаблони символів, такі як \"abcabcabc\", легко вгадати.",
+ "key_pattern": "Короткі послідовності клавіш легко вгадати.",
+ "names_by_themselves": "Поодинокі імена або прізвища легко вгадати.",
+ "pwned": "Ваш пароль було розкрито внаслідок витоку даних в Інтернеті.",
+ "recent_years": "Пароль із нещодавніми роками легко вгадати.",
+ "sequences": "Поширені послідовності символів, такі як «abc», легко вгадати.",
+ "similar_to_common": "Це схоже на часто використовуваний пароль.",
+ "simple_repeat": "Повторювані символи, такі як «ааа», легко вгадати.",
+ "straight_row": "Прямі послідовності клавіш на клавіатурі легко вгадати.",
+ "top_hundred": "Це часто використовуваний пароль.",
+ "top_ten": "Це широко використовуваний пароль.",
+ "user_inputs": "Не повинно бути ніяких особистих даних або даних, пов'язаних зі сторінкою.",
+ "word_by_itself": "Окремі слова легко вгадати."
+ }
+ },
+ "reset_cross_signing": {
+ "button": "Скинути ідентифікацію",
+ "cancelled": {
+ "description_1": "Ви можете закрити це вікно та повернутися до застосунку, щоб продовжити.",
+ "description_2": "Якщо ви не ввійшли в обліковий запис і не пам'ятаєте код відновлення, вам усе одно доведеться скинути свої налаштування.",
+ "heading": "Скидання ідентифікаційних даних скасовано."
+ },
+ "description": "Якщо ви не ввійшли в обліковий запис на інших пристроях і втратили ключ відновлення, вам потрібно буде скинути свої ідентифікаційні дані, щоб продовжити користуватися застосунком.",
+ "effect_list": {
+ "negative_1": "Ви втратите існуючу історію повідомлень",
+ "negative_2": "Вам потрібно буде знову підтвердити всі наявні пристрої та контакти",
+ "neutral_1": "Ви втратите історію повідомлень, яка зберігається лише на сервері",
+ "neutral_2": "Вам потрібно буде знову підтвердити всі наявні пристрої та контакти",
+ "positive_1": "Ваші дані облікового запису, контакти, налаштування та список чатів будуть збережені"
+ },
+ "failure": {
+ "description": "Це може бути тимчасова проблема, тому спробуйте пізніше. Якщо проблема не зникає, зверніться до адміністратора свого сервера.",
+ "heading": "Не вдалося дозволити скидання crypto identity",
+ "title": "Не вдалося дозволити crypto identity"
+ },
+ "finish_reset": "Завершити скидання",
+ "heading": "Скиньте свій обліковий запис, якщо не можете підтвердити його іншим способом",
+ "start_reset": "Почати скидання",
+ "success": {
+ "description": "Скидання профілю було схвалено на наступні {{minutes}} хвилин. Ви можете закрити це вікно та повернутися до застосунку, щоб продовжити.",
+ "heading": "Облікові дані успішно скинуто. Поверніться до програми, щоб завершити процес.",
+ "title": "Скидання crypto identity тимчасово дозволено"
+ },
+ "warning": "Скидайте свій обліковий запис, тільки якщо у вас немає доступу до іншого пристрою, на якому ви ввійшли в систему, і ви загубили ключ відновлення."
+ },
+ "selectable_session": {
+ "label": "Вибрати сесію"
+ },
+ "session": {
+ "client_id_label": "ID клієнта",
+ "current": "Поточний",
+ "current_badge": "Поточний",
+ "device_id_label": "ID пристрою",
+ "finished_date": "Завершено ",
+ "finished_label": "Завершено",
+ "id_label": "ID",
+ "ip_label": "IP-адреса",
+ "last_active_label": "Остання активність",
+ "last_auth_label": "Остання аутентифікація",
+ "name_for_platform": "{{name}} для {{platform}}",
+ "scopes_label": "Області застосування (Scopes)",
+ "signed_in_date": "Вхід виконано ",
+ "signed_in_label": "Вхід виконано",
+ "title": "Деталі пристрою",
+ "unknown_browser": "Невідомий браузер",
+ "unknown_device": "Невідомий пристрій",
+ "uri_label": "Uri",
+ "user_id_label": "Ідентифікатор користувача",
+ "username_label": "Ім'я користувача"
+ },
+ "session_detail": {
+ "alert": {
+ "button": "Повернутись назад",
+ "text": "Ця сесія не існує або більше не активна.",
+ "title": "Не вдалося знайти сесію: {{deviceId}}"
+ }
+ },
+ "unknown_route": "Невідомий роут {{route}}",
+ "unverified_email_alert": {
+ "button": "Перегляньте та перевірте",
+ "text:one": "У вас є {{count}} непідтверджена адреса електронної пошти.",
+ "text:few": "У вас є {{count}} непідтверджені адреси електронної пошти.",
+ "text:many": "У вас є {{count}} непідтверджених адрес електронної пошти.",
+ "title": "Непідтверджена електронна адреса"
+ },
+ "user_email": {
+ "cant_delete_primary": "Виберіть іншу основну електронну адресу, щоб видалити цю.",
+ "delete_button_confirmation_modal": {
+ "action": "Видалити електронну пошту",
+ "body": "Видалити цю електронну пошту?"
+ },
+ "delete_button_title": "Видалити електронну адресу",
+ "email": "Електронна пошта",
+ "make_primary_button": "Зробити основним",
+ "not_verified": "Не підтверджено",
+ "primary_email": "Основна електронна адреса",
+ "retry_button": "Надіслати код повторно",
+ "unverified": "Неперевірений"
+ },
+ "user_email_list": {
+ "heading": "Електронні адреси",
+ "no_primary_email_alert": "Немає основної адреси електронної пошти"
+ },
+ "user_greeting": {
+ "error": "Не вдалося завантажити користувача"
+ },
+ "user_name": {
+ "display_name_field_label": "Псевдонім"
+ },
+ "user_sessions_overview": {
+ "active_sessions:one": "{{count}} активна сесія",
+ "active_sessions:few": "{{count}} активні сесії",
+ "active_sessions:many": "{{count}} активних сесій",
+ "heading": "Де ви ввійшли",
+ "no_active_sessions": {
+ "default": "Ви не ввійшли в жоден застосунок.",
+ "inactive_90_days": "Всі ваші сесії були активні протягом останніх 90 днів."
+ }
+ },
+ "verify_email": {
+ "code_field_error": "Код не розпізнано",
+ "code_field_label": "6-значний код",
+ "code_field_wrong_shape": "Код повинен складатися з 6 цифр",
+ "email_sent_alert": {
+ "description": "Введіть новий код нижче.",
+ "title": "Новий код надіслано"
+ },
+ "enter_code_prompt": "Введіть 6-значний код, надісланий на адресу: {{email}} ",
+ "heading": "Підтвердіть свою електронну пошту",
+ "invalid_code_alert": {
+ "description": "Перевірте код, надісланий на вашу електронну пошту, та оновіть поля нижче, щоб продовжити.",
+ "title": "Ви ввели неправильний код"
+ },
+ "resend_code": "Повторно надіслати код",
+ "resend_email": "Повторно надіслати електронний лист",
+ "sent": "Надіслано!",
+ "unknown_email": "Невідома електронна пошта"
+ }
+ },
+ "mas": {
+ "scope": {
+ "edit_profile": "Редагування профілю та контактних даних",
+ "manage_sessions": "Керування пристроями та сесіями",
+ "mas_admin": "Адміністрування будь-якого користувача на matrix-authentication-service",
+ "send_messages": "Надсилати нові повідомлення від вашого імені",
+ "synapse_admin": "Адміністрування домашнього сервера Synapse",
+ "view_messages": "Перегляд наявних повідомлень і даних",
+ "view_profile": "Переглянути дані свого профілю та контактні дані"
+ }
+ }
+}
\ No newline at end of file
diff --git a/frontend/locales/zh-Hans.json b/frontend/locales/zh-Hans.json
index 97d3d782..633af340 100644
--- a/frontend/locales/zh-Hans.json
+++ b/frontend/locales/zh-Hans.json
@@ -221,6 +221,8 @@
"effect_list": {
"negative_1": "You will lose your existing message history",
"negative_2": "You will need to verify all your existing devices and contacts again",
+ "neutral_1": "You will lose any message history that's stored only on the server",
+ "neutral_2": "You will need to verify all your existing devices and contacts again",
"positive_1": "Your account details, contacts, preferences, and chat list will be kept"
},
"failure": {
@@ -228,7 +230,9 @@
"heading": "Failed to allow crypto identity reset",
"title": "无法允许加密身份"
},
+ "finish_reset": "Finish reset",
"heading": "重置加密身份",
+ "start_reset": "Start reset",
"success": {
"description": "客户端现在可以临时重置您的账户加密身份。请按照客户端中的说明完成该过程。",
"heading": "Identity reset successfully. Go back to the app to finish the process.",
diff --git a/translations/de.json b/translations/de.json
index 94c0516c..a4a4b8ae 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -27,6 +27,7 @@
"common": {
"display_name": "Anzeigename",
"email_address": "E-Mail-Adresse",
+ "loading": "Wird geladen...",
"mxid": "Matrix-ID",
"password": "Passwort",
"password_confirm": "Passwort wiederholen",
@@ -99,11 +100,17 @@
"errors": {
"captcha": "Die CAPTCHA-Überprüfung ist fehlgeschlagen, bitte versuchen Sie es erneut",
"denied_policy": "Abgelehnt durch Richtlinie: %(policy)s",
+ "email_domain_banned": "Email domain is banned by the server policy",
+ "email_domain_not_allowed": "Email domain is not allowed by the server policy",
"field_required": "Dieses Feld ist ein Pflichtfeld",
"invalid_credentials": "Ungültige Anmeldeinformationen",
"password_mismatch": "Die Passwortfelder stimmen nicht überein",
"rate_limit_exceeded": "Sie haben in kurzer Zeit zu viele Anfragen gestellt. Bitte warten Sie einige Minuten und versuchen Sie es erneut.",
- "username_taken": "Dieser Benutzername ist bereits vergeben"
+ "username_all_numeric": "Username cannot consist solely of numbers",
+ "username_invalid_chars": "Username contains invalid characters. Use lowercase letters, numbers, dashes and underscores only.",
+ "username_taken": "Dieser Benutzername ist bereits vergeben",
+ "username_too_long": "Username is too long",
+ "username_too_short": "Username is too short"
},
"login": {
"call_to_register": "Sie haben noch kein Konto?",
@@ -168,6 +175,7 @@
},
"register": {
"call_to_login": "Sie haben bereits ein Konto?",
+ "continue_with_email": "Continue with email address",
"create_account": {
"description": "Bitte erstellen Sie ein Konto, um loszulegen:",
"heading": "Konto erstellen"
@@ -203,7 +211,12 @@
"heading": "Ihre Daten importieren"
},
"imported_from_upstream": "Von Ihrem Konto importiert",
+ "imported_from_upstream_with_name": "Importiert von Ihrem%(human_name)s Konto",
"link_existing": "Mit einem bestehenden Konto verknüpfen",
+ "provider_name": "%(human_name)s Konto",
+ "signup_with_upstream": {
+ "heading": "Setzen Sie die Anmeldung mit Ihrem %(human_name)s Konto fort."
+ },
"suggested_display_name": "Anzeigenamen importieren",
"suggested_email": "E-Mail-Adresse importieren",
"use": "Verwenden"
diff --git a/translations/et.json b/translations/et.json
index 78154f67..93d6a7ed 100644
--- a/translations/et.json
+++ b/translations/et.json
@@ -27,6 +27,7 @@
"common": {
"display_name": "Kuvatav nimi",
"email_address": "E-posti aadress",
+ "loading": "Laadime…",
"mxid": "Matrixi kasutajatunnus",
"password": "Salasõna",
"password_confirm": "Korda salasõna",
@@ -99,11 +100,17 @@
"errors": {
"captcha": "Robotilõksu tehtud kontroll ei luba jätkata. Palun proovi uuesti.",
"denied_policy": "See on keelatud serveri kasutusjuhendi alusel: %(policy)s",
+ "email_domain_banned": "Email domain is banned by the server policy",
+ "email_domain_not_allowed": "Email domain is not allowed by the server policy",
"field_required": "Selle välja täitmine on kohustuslik",
"invalid_credentials": "Vigased kasutajatunnused",
"password_mismatch": "Salasõnad ei klapi omavahel",
"rate_limit_exceeded": "Sa oled lühikese aja jooksul teinud liiga palju päringuid. Palun oota paar minutit ja proovi uuesti.",
- "username_taken": "Selline kasutajanimi on juba olemas"
+ "username_all_numeric": "Username cannot consist solely of numbers",
+ "username_invalid_chars": "Username contains invalid characters. Use lowercase letters, numbers, dashes and underscores only.",
+ "username_taken": "Selline kasutajanimi on juba olemas",
+ "username_too_long": "Username is too long",
+ "username_too_short": "Username is too short"
},
"login": {
"call_to_register": "Sul veel pole kasutajakontot?",
@@ -168,6 +175,7 @@
},
"register": {
"call_to_login": "Sul on kasutajakonto juba olemas?",
+ "continue_with_email": "Continue with email address",
"create_account": {
"description": "Alustamiseks palun loo kasutajakonto:",
"heading": "Loo kasutajakonto"
@@ -203,7 +211,12 @@
"heading": "Impordi oma andmed"
},
"imported_from_upstream": "Imporditud algsest teenusest",
+ "imported_from_upstream_with_name": "Imported from your %(human_name)s account",
"link_existing": "Seo olemasoleva kasutajakontoga",
+ "provider_name": "%(human_name)s account",
+ "signup_with_upstream": {
+ "heading": "Continue signing up with your %(human_name)s account"
+ },
"suggested_display_name": "Impordi kuvatav nimi",
"suggested_email": "Impordi e-posti aadress",
"use": "Kasuta"
diff --git a/translations/fr.json b/translations/fr.json
index 48679e0f..a74b5162 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -27,6 +27,7 @@
"common": {
"display_name": "Pseudonyme",
"email_address": "Adresse e-mail",
+ "loading": "Chargement…",
"mxid": "Matrix ID",
"password": "Mot de passe",
"password_confirm": "Confirmer le mot de passe",
@@ -99,11 +100,17 @@
"errors": {
"captcha": "La vérification du CAPTCHA a échoué, veuillez réessayer",
"denied_policy": "Refusé par la politique du serveur : %(policy)s",
+ "email_domain_banned": "Le domaine de l'adresse e-mail est interdit par la politique du serveur.",
+ "email_domain_not_allowed": "Le domaine de l'adresse e-mail n'est pas autorisée par la politique du serveur.",
"field_required": "Ce champ est requis",
"invalid_credentials": "Identifiants invalides",
"password_mismatch": "Les champs du mot de passe ne correspondent pas.",
"rate_limit_exceeded": "Vous avez effectué trop de requêtes sur une courte période. Veuillez patienter quelques minutes et réessayer.",
- "username_taken": "Ce nom d'utilisateur est déjà utilisé"
+ "username_all_numeric": "Le nom d'utilisateur ne peut pas être composé uniquement de chiffres",
+ "username_invalid_chars": "Le nom d'utilisateur contient des caractères non valides. Utilisez uniquement des lettres minuscules, des chiffres, des tirets et des traits de soulignement.",
+ "username_taken": "Ce nom d'utilisateur est déjà utilisé",
+ "username_too_long": "Le nom d'utilisateur est trop long",
+ "username_too_short": "Le nom d'utilisateur est trop court"
},
"login": {
"call_to_register": "Vous n’avez pas encore de compte ?",
@@ -168,8 +175,9 @@
},
"register": {
"call_to_login": "Vous avez déjà un compte ?",
+ "continue_with_email": "Continuer avec une adresse e-mail",
"create_account": {
- "description": "Créer un compte pour commencer :",
+ "description": "Choisissez un nom d'utilisateur pour continuer.",
"heading": "Créer un compte"
},
"sign_in_instead": "Se connecter",
@@ -203,7 +211,12 @@
"heading": "Importez vos données"
},
"imported_from_upstream": "Importé de votre compte en amont",
+ "imported_from_upstream_with_name": "Importé depuis votre compte %(human_name)s",
"link_existing": "Associer un compte existant",
+ "provider_name": "Compte %(human_name)s",
+ "signup_with_upstream": {
+ "heading": "Continuez à vous inscrire avec votre compte %(human_name)s"
+ },
"suggested_display_name": "Importer le pseudonyme",
"suggested_email": "Importer l’adresse e-mail",
"use": "Importer"
diff --git a/translations/nl.json b/translations/nl.json
index fb470da4..9359ad4b 100644
--- a/translations/nl.json
+++ b/translations/nl.json
@@ -1,12 +1,12 @@
{
"action": {
- "back": "Back",
+ "back": "Terug",
"cancel": "Annuleren",
"continue": "Doorgaan",
"create_account": "Registreren",
"sign_in": "Inloggen",
"sign_out": "Uitloggen",
- "start_over": "Start over",
+ "start_over": "Opnieuw beginnen",
"submit": "Bevestigen"
},
"app": {
@@ -16,24 +16,25 @@
},
"branding": {
"privacy_policy": {
- "alt": "Link to the service privacy policy",
- "link": "Privacy Policy"
+ "alt": "Link naar het privacybeleid van de service",
+ "link": "Privacybeleid"
},
"terms_and_conditions": {
- "alt": "Link to the service terms and conditions",
- "link": "Terms & Conditions"
+ "alt": "Link naar de servicevoorwaarden",
+ "link": "Algemene voorwaarden"
}
},
"common": {
"display_name": "Weergavenaam",
"email_address": "E-mailadres",
+ "loading": "Loading…",
"mxid": "Matrix ID",
"password": "Wachtwoord",
"password_confirm": "Bevestig wachtwoord",
"username": "Gebruikersnaam"
},
"error": {
- "unexpected": "Unexpected error"
+ "unexpected": "Onverwachte fout"
},
"mas": {
"add_email": {
@@ -99,11 +100,17 @@
"errors": {
"captcha": "CAPTCHA verification failed, please try again",
"denied_policy": "Denied by policy: %(policy)s",
+ "email_domain_banned": "Email domain is banned by the server policy",
+ "email_domain_not_allowed": "Email domain is not allowed by the server policy",
"field_required": "This field is required",
"invalid_credentials": "Ongeldige gegevens",
"password_mismatch": "Password fields don't match",
"rate_limit_exceeded": "You've made too many requests in a short period. Please wait a few minutes and try again.",
- "username_taken": "This username is already taken"
+ "username_all_numeric": "Username cannot consist solely of numbers",
+ "username_invalid_chars": "Username contains invalid characters. Use lowercase letters, numbers, dashes and underscores only.",
+ "username_taken": "This username is already taken",
+ "username_too_long": "Username is too long",
+ "username_too_short": "Username is too short"
},
"login": {
"call_to_register": "Don't have an account yet?",
@@ -168,8 +175,9 @@
},
"register": {
"call_to_login": "Already have an account?",
+ "continue_with_email": "Continue with email address",
"create_account": {
- "description": "Please create an account to get started:",
+ "description": "Choose a username to continue.",
"heading": "Create an account"
},
"sign_in_instead": "Sign in instead",
@@ -203,7 +211,12 @@
"heading": "Importeer uw data"
},
"imported_from_upstream": "Imported from your upstream account",
+ "imported_from_upstream_with_name": "Imported from your %(human_name)s account",
"link_existing": "Link to an existing account",
+ "provider_name": "%(human_name)s account",
+ "signup_with_upstream": {
+ "heading": "Continue signing up with your %(human_name)s account"
+ },
"suggested_display_name": "Weergavenaam importeren",
"suggested_email": "E-mailadres importeren",
"use": "Gebruiken"
diff --git a/translations/pt.json b/translations/pt.json
new file mode 100644
index 00000000..6e93ced6
--- /dev/null
+++ b/translations/pt.json
@@ -0,0 +1,236 @@
+{
+ "action": {
+ "back": "Voltar",
+ "cancel": "Cancelar",
+ "continue": "Continuar",
+ "create_account": "Criar conta",
+ "sign_in": "Iniciar sessão",
+ "sign_out": "Sair",
+ "start_over": "Recomeçar",
+ "submit": "Enviar"
+ },
+ "app": {
+ "human_name": "Matrix Authentication Service",
+ "name": "matrix-authentication-service",
+ "technical_description": "Documento de descoberta do OpenID Connect: %(discovery_url)s"
+ },
+ "branding": {
+ "privacy_policy": {
+ "alt": "Link para a política de privacidade do serviço",
+ "link": "Política de privacidade"
+ },
+ "terms_and_conditions": {
+ "alt": "Link para os termos e condições do serviço",
+ "link": "Termos e Condições"
+ }
+ },
+ "common": {
+ "display_name": "Nome para exibição",
+ "email_address": "Endereço de email",
+ "loading": "A carregar...",
+ "mxid": "ID Matrix",
+ "password": "Palavra-Passe",
+ "password_confirm": "Confirmar palavra-passe",
+ "username": "Nome de utilizador"
+ },
+ "error": {
+ "unexpected": "Erro inesperado"
+ },
+ "mas": {
+ "add_email": {
+ "description": "Introduza um endereço de e-mail para recuperar a sua conta no caso de perder o acesso à mesma.",
+ "heading": "Adicionar um endereço de e-mail"
+ },
+ "back_to_homepage": "Voltar à página inicial",
+ "captcha": {
+ "noscript": "Este formulário é protegido por um CAPTCHA e requer que o JavaScript esteja habilitado para enviá-lo. Por favor, habilite o JavaScript no seu navegador e recarregue esta página."
+ },
+ "change_password": {
+ "change": "Alterar palavra-passe",
+ "confirm": "Confirmar palavra-passe",
+ "current": "Palavra-passe atual",
+ "description": "Isto irá alterar a palavra-passe da sua conta.",
+ "heading": "Alterar a minha palavra-passe",
+ "new": "Nova palavra-passe"
+ },
+ "consent": {
+ "client_wants_access": "%(client_name)s em %(redirect_uri)s quer aceder à sua conta.",
+ "heading": "Permitir acesso à sua conta?",
+ "make_sure_you_trust": "Certifique-se de que confia em %(client_name)s.",
+ "this_will_allow": "Isso permitirá que %(client_name)s:",
+ "you_may_be_sharing": "Você pode estar compartilhando informações confidenciais com este site ou aplicativo."
+ },
+ "device_card": {
+ "access_requested": "Acesso solicitado",
+ "device_code": "Código",
+ "generic_device": "Dispositivo",
+ "ip_address": "Endereço de IP"
+ },
+ "device_code_link": {
+ "description": "Vincular um dispositivo",
+ "headline": "Digite o código exibido no seu dispositivo"
+ },
+ "device_consent": {
+ "another_device_access": "Outro dispositivo deseja acessar sua conta.",
+ "denied": {
+ "description": "Você negou acesso a%(client_name)s . Você pode fechar esta janela.",
+ "heading": "Acesso negado"
+ },
+ "granted": {
+ "description": "Você concedeu acesso a%(client_name)s . Você pode fechar esta janela.",
+ "heading": "Acesso concedido"
+ }
+ },
+ "emails": {
+ "greeting": "Olá %(username)s,",
+ "recovery": {
+ "click_button": "Clique no botão abaixo para criar uma nova senha:",
+ "copy_link": "Copie o link a seguir e cole-o em um navegador para criar uma nova senha:",
+ "create_new_password": "Criar nova palavra-passe",
+ "headline": "Você solicitou uma redefinição de senha para sua conta %(server_name)s.",
+ "subject": "Repor a palavra-passe da sua conta (%(mxid)s)",
+ "you_can_ignore": "Se não pediu uma nova palavra-passe, pode ignorar este e-mail. A sua palavra-passe atual continuará a funcionar."
+ },
+ "verify": {
+ "body_html": "O seu código de verificação para confirmar este endereço de e-mail é: %(code)s",
+ "body_text": "O seu código de verificação para confirmar este endereço de e-mail é: %(code)s",
+ "subject": "Seu código de verificação de e-mail é: %(code)s"
+ }
+ },
+ "errors": {
+ "captcha": "A verificação do CAPTCHA falhou, tente novamente",
+ "denied_policy": "Negado pela política: %(policy)s",
+ "email_domain_banned": "Email domain is banned by the server policy",
+ "email_domain_not_allowed": "Email domain is not allowed by the server policy",
+ "field_required": "Este campo é obrigatório",
+ "invalid_credentials": "Credenciais inválidas",
+ "password_mismatch": "Os campos de palavra-passe não correspondem",
+ "rate_limit_exceeded": "Você fez muitas solicitações em um curto período. Aguarde alguns minutos e tente novamente.",
+ "username_all_numeric": "Username cannot consist solely of numbers",
+ "username_invalid_chars": "Username contains invalid characters. Use lowercase letters, numbers, dashes and underscores only.",
+ "username_taken": "Este nome de utilizador já foi utilizado",
+ "username_too_long": "Username is too long",
+ "username_too_short": "Username is too short"
+ },
+ "login": {
+ "call_to_register": "Ainda não tem uma conta?",
+ "continue_with_provider": "Continue com %(provider)s",
+ "description": "Inicie sessão para continuar:",
+ "forgot_password": "Esqueceu-se da palavra-passe?",
+ "headline": "Iniciar sessão",
+ "link": {
+ "description": "Vinculando sua conta %(provider)s",
+ "headline": "Faça login para vincular"
+ },
+ "no_login_methods": "Não há métodos de login disponíveis.",
+ "separator": "Ou"
+ },
+ "navbar": {
+ "my_account": "A minha conta",
+ "register": "Criar uma conta",
+ "signed_in_as": "Conectado como %(username)s ."
+ },
+ "not_found": {
+ "description": "A página que procurava não existe ou foi movida",
+ "heading": "Página não encontrada"
+ },
+ "not_you": "Não é %(username)s?",
+ "or_separator": "Ou",
+ "policy_violation": {
+ "description": "Isso pode ser devido ao cliente que criou a solicitação, ao usuário conectado no momento ou à própria solicitação.",
+ "heading": "O pedido de autorização foi negado a política imposta por este serviço",
+ "logged_as": "Registrado como %(username)s"
+ },
+ "recovery": {
+ "consumed": {
+ "description": "Para criar uma nova palavra-passe, comece de novo e selecione \"Esqueci-me da palavra-passe\".",
+ "heading": "O link para redefinir sua senha já foi usado"
+ },
+ "disabled": {
+ "description": "Se você perdeu suas credenciais, entre em contato com o administrador para recuperar sua conta.",
+ "heading": "A recuperação de conta está desativada"
+ },
+ "expired": {
+ "description": "Solicite um novo e-mail que será enviado para: %(email)s.",
+ "heading": "A ligação para redefinir a sua palavra-passe expirou",
+ "resend_email": "Reenviar e-mail"
+ },
+ "finish": {
+ "confirm": "Introduza novamente a nova palavra-passe",
+ "description": "Escolha uma nova palavra-passe para a sua conta.",
+ "heading": "Repor a sua palavra-passe",
+ "new": "Nova palavra-passe",
+ "save_and_continue": "Guardar e Continuar"
+ },
+ "progress": {
+ "change_email": "Experimente um e-mail diferente",
+ "description": "Enviamos um e-mail com um link para redefinir sua senha se houver uma conta usando %(email)s.",
+ "heading": "Verifique seu e-mail",
+ "resend_email": "Reenviar e-mail"
+ },
+ "start": {
+ "description": "Será enviado um e-mail com um link para redefinir sua senha.",
+ "heading": "Introduza o seu e-mail para continuar"
+ }
+ },
+ "register": {
+ "call_to_login": "Já tem uma conta?",
+ "continue_with_email": "Continue with email address",
+ "create_account": {
+ "description": "Por favor, crie uma conta para começar:",
+ "heading": "Criar uma conta"
+ },
+ "sign_in_instead": "Em vez disso, inicie sessão",
+ "terms_of_service": "Concordo com o Termos e Condições"
+ },
+ "scope": {
+ "edit_profile": "Editar o seu perfil e detalhes de contacto",
+ "manage_sessions": "Gerir os seus dispositivos e sessões",
+ "mas_admin": "Administrar qualquer usuário no matrix-authentication-service",
+ "send_messages": "Envie novas mensagens em seu nome",
+ "synapse_admin": "Administrar o servidor Synapse",
+ "view_messages": "Ver as mensagens e os dados existentes",
+ "view_profile": "Ver as informações do seu perfil e detalhes de contacto"
+ },
+ "upstream_oauth2": {
+ "link_mismatch": {
+ "heading": "Esta conta upstream já está vinculada a outra conta."
+ },
+ "register": {
+ "choose_username": {
+ "description": "Isto não pode ser alterado posteriormente.",
+ "heading": "Escolha o seu nome de utilizador"
+ },
+ "create_account": "Criar uma nova conta",
+ "enforced_by_policy": "Imposto pela política do servidor",
+ "forced_display_name": "Usará o seguinte nome de exibição",
+ "forced_email": "Usará o seguinte endereço de e-mail",
+ "forced_localpart": "Utilizará o seguinte nome de utilizador",
+ "import_data": {
+ "description": "Confirme as informações que serão vinculadas à sua nova conta %(server_name)s.",
+ "heading": "Importe os seus dados"
+ },
+ "imported_from_upstream": "Importado da sua conta upstream",
+ "imported_from_upstream_with_name": "Importado da sua conta %(human_name)s",
+ "link_existing": "Vincular a uma conta existente",
+ "provider_name": "conta de %(human_name)s",
+ "signup_with_upstream": {
+ "heading": "Continue a inscrever-se com a sua conta %(human_name)s"
+ },
+ "suggested_display_name": "Importar nome para exibição",
+ "suggested_email": "Importar endereço de e-mail",
+ "use": "Usar"
+ },
+ "suggest_link": {
+ "action": "Link",
+ "heading": "Vincular à sua conta existente"
+ }
+ },
+ "verify_email": {
+ "6_digit_code": "Código de 6 dígitos",
+ "code": "Código",
+ "description": "Insira o código de 6 dígitos enviado para: %(email)s",
+ "headline": "Verifique o seu e-mail"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/sv.json b/translations/sv.json
new file mode 100644
index 00000000..2f245869
--- /dev/null
+++ b/translations/sv.json
@@ -0,0 +1,236 @@
+{
+ "action": {
+ "back": "Tillbaka",
+ "cancel": "Avbryt",
+ "continue": "Fortsätt",
+ "create_account": "Skapa konto",
+ "sign_in": "Logga in",
+ "sign_out": "Logga ut",
+ "start_over": "Börja om",
+ "submit": "Skicka in"
+ },
+ "app": {
+ "human_name": "Matrix Authentication Service",
+ "name": "matrix-authentication-service",
+ "technical_description": "Dokument för OpenID Connect-identifiering: %(discovery_url)s"
+ },
+ "branding": {
+ "privacy_policy": {
+ "alt": "Länk till tjänstens sekretesspolicy",
+ "link": "Sekretesspolicy"
+ },
+ "terms_and_conditions": {
+ "alt": "Länk till användarvillkoren för tjänsten",
+ "link": "Allmänna villkor"
+ }
+ },
+ "common": {
+ "display_name": "Visningsnamn",
+ "email_address": "E-postadress",
+ "loading": "Laddar...",
+ "mxid": "Matrix ID",
+ "password": "Lösenord",
+ "password_confirm": "Bekräfta lösenordet",
+ "username": "Användarnamn"
+ },
+ "error": {
+ "unexpected": "Oväntat fel"
+ },
+ "mas": {
+ "add_email": {
+ "description": "Ange en e-postadress för att återställa ditt konto om du förlorar åtkomsten till det.",
+ "heading": "Lägg till en e-postadress"
+ },
+ "back_to_homepage": "Gå tillbaka till startsidan",
+ "captcha": {
+ "noscript": "Detta formulär är skyddat av en CAPTCHA och kräver att JavaScript aktiveras för att kunna skickas. Aktivera JavaScript i din webbläsare och ladda om den här sidan."
+ },
+ "change_password": {
+ "change": "Ändra lösenord",
+ "confirm": "Bekräfta lösenordet",
+ "current": "Nuvarande lösenord",
+ "description": "Detta kommer att ändra lösenordet på ditt konto.",
+ "heading": "Ändra mitt lösenord",
+ "new": "Nytt lösenord"
+ },
+ "consent": {
+ "client_wants_access": "%(client_name)s på %(redirect_uri)s vill få tillgång till ditt konto.",
+ "heading": "Tillåt åtkomst till ditt konto?",
+ "make_sure_you_trust": "Se till att du litar på %(client_name)s.",
+ "this_will_allow": "Detta kommer att tillåta %(client_name)s till:",
+ "you_may_be_sharing": "Du kanske delar känslig information med den här webbplatsen eller appen."
+ },
+ "device_card": {
+ "access_requested": "Åtkomst begärd",
+ "device_code": "Kod",
+ "generic_device": "Enhet",
+ "ip_address": "IP-adress"
+ },
+ "device_code_link": {
+ "description": "Länka en enhet",
+ "headline": "Ange koden som visas på din enhet"
+ },
+ "device_consent": {
+ "another_device_access": "En annan enhet vill komma åt ditt konto.",
+ "denied": {
+ "description": "Du nekade åtkomst till %(client_name)s . Du kan stänga det här fönstret.",
+ "heading": "Åtkomst nekad"
+ },
+ "granted": {
+ "description": "Du beviljade tillgång till %(client_name)s. Du kan stänga det här fönstret.",
+ "heading": "Åtkomst beviljad"
+ }
+ },
+ "emails": {
+ "greeting": "Hej %(username)s,",
+ "recovery": {
+ "click_button": "Klicka på knappen nedan för att skapa ett nytt lösenord:",
+ "copy_link": "Kopiera följande länk och klistra in den i en webbläsare för att skapa ett nytt lösenord:",
+ "create_new_password": "Skapa nytt lösenord",
+ "headline": "Du begärde en lösenordsåterställning för ditt %(server_name)s konto.",
+ "subject": "Återställ ditt kontolösenord (%(mxid)s)",
+ "you_can_ignore": "Om du inte har bett om ett nytt lösenord kan du ignorera detta e-postmeddelande. Ditt nuvarande lösenord kommer att fortsätta att fungera."
+ },
+ "verify": {
+ "body_html": "Din verifieringskod för att bekräfta den här e-postadressen är: %(code)s",
+ "body_text": "Din verifieringskod för att bekräfta den här e-postadressen är: %(code)s",
+ "subject": "Din e-postverifieringskod är: %(code)s"
+ }
+ },
+ "errors": {
+ "captcha": "CAPTCHA-verifiering misslyckades, försök igen",
+ "denied_policy": "Nekad av policy: %(policy)s",
+ "email_domain_banned": "E-postdomänen är förbjuden av serverpolicyn",
+ "email_domain_not_allowed": "E-postdomänen är inte tillåten enligt serverpolicyn",
+ "field_required": "Detta fält är obligatoriskt",
+ "invalid_credentials": "Ogiltiga autentiseringsuppgifter",
+ "password_mismatch": "Lösenordsfälten matchar inte",
+ "rate_limit_exceeded": "Du har gjort för många förfrågningar under en kort period. Vänta några minuter och försök igen.",
+ "username_all_numeric": "Användarnamn kan inte enbart bestå av siffror",
+ "username_invalid_chars": "Användarnamnet innehåller ogiltiga tecken. Använd endast små bokstäver, siffror, streck och understreck.",
+ "username_taken": "Detta användarnamn är redan upptaget",
+ "username_too_long": "Användarnamnet är för långt",
+ "username_too_short": "Användarnamnet är för kort"
+ },
+ "login": {
+ "call_to_register": "Har du inget konto ännu?",
+ "continue_with_provider": "Fortsätt med %(provider)s",
+ "description": "Logga in för att fortsätta:",
+ "forgot_password": "Glömt ditt lösenord?",
+ "headline": "Logga in",
+ "link": {
+ "description": "Länka ditt %(provider)s konto",
+ "headline": "Logga in för att länka"
+ },
+ "no_login_methods": "Inga inloggningsmetoder tillgängliga.",
+ "separator": "eller"
+ },
+ "navbar": {
+ "my_account": "Mitt konto",
+ "register": "Skapa ett konto",
+ "signed_in_as": "Inloggad som %(username)s."
+ },
+ "not_found": {
+ "description": "Sidan du letade efter finns inte eller har flyttats",
+ "heading": "Sidan kunde inte hittas"
+ },
+ "not_you": "Inte %(username)s?",
+ "or_separator": "eller",
+ "policy_violation": {
+ "description": "Detta kan bero på klienten som skapade begäran, den inloggade användaren eller själva begäran.",
+ "heading": "Auktoriseringsbegäran nekades den policy som tillämpas av den här tjänsten",
+ "logged_as": "Inloggad som %(username)s"
+ },
+ "recovery": {
+ "consumed": {
+ "description": "För att skapa ett nytt lösenord, börja om och välj ”Glömt lösenord”.",
+ "heading": "Länken för att återställa ditt lösenord har redan använts"
+ },
+ "disabled": {
+ "description": "Om du har tappat bort dina inloggningsuppgifter, kontakta administratören för att återställa ditt konto.",
+ "heading": "Kontoåterställning är inaktiverad"
+ },
+ "expired": {
+ "description": "Begär ett nytt e-postmeddelande som kommer att skickas till: %(email)s.",
+ "heading": "Länken för att återställa ditt lösenord har upphört att gälla",
+ "resend_email": "Skicka e-post på nytt"
+ },
+ "finish": {
+ "confirm": "Ange det nya lösenordet igen",
+ "description": "Välj ett nytt lösenord för ditt konto.",
+ "heading": "Återställ ditt lösenord",
+ "new": "Nytt lösenord",
+ "save_and_continue": "Spara och fortsätt"
+ },
+ "progress": {
+ "change_email": "Försök med en annan e-postadress",
+ "description": "Vi skickade ett e-postmeddelande med en länk för att återställa ditt lösenord om det finns ett konto som använder %(email)s.",
+ "heading": "Kontrollera din e-post",
+ "resend_email": "Skicka e-post igen"
+ },
+ "start": {
+ "description": "Ett e-postmeddelande kommer att skickas med en länk för att återställa ditt lösenord.",
+ "heading": "Ange din e-postadress för att fortsätta"
+ }
+ },
+ "register": {
+ "call_to_login": "Har redan ett konto",
+ "continue_with_email": "Continue with email address",
+ "create_account": {
+ "description": "Skapa ett konto för att komma igång:",
+ "heading": "Skapa ett konto"
+ },
+ "sign_in_instead": "Logga in istället",
+ "terms_of_service": "Jag samtycker till Villkor och bestämmelser"
+ },
+ "scope": {
+ "edit_profile": "Ändra din profil och kontaktuppgifter",
+ "manage_sessions": "Hantera dina enheter och sessioner",
+ "mas_admin": "Administrera valfri användare på matrix-authentication-service",
+ "send_messages": "Skicka nya meddelanden för din räkning",
+ "synapse_admin": "Administrera Synapse-hemservern",
+ "view_messages": "Visa dina befintliga meddelanden och data",
+ "view_profile": "Visa din profilinformation och kontaktuppgifter"
+ },
+ "upstream_oauth2": {
+ "link_mismatch": {
+ "heading": "Detta upstream-konto är redan kopplat till ett annat konto."
+ },
+ "register": {
+ "choose_username": {
+ "description": "Detta kan inte ändras senare.",
+ "heading": "Välj ditt användarnamn"
+ },
+ "create_account": "Skapa ett nytt konto",
+ "enforced_by_policy": "Framtvingad av serverprincip",
+ "forced_display_name": "Kommer att använda följande visningsnamn",
+ "forced_email": "Kommer att använda följande e-postadress",
+ "forced_localpart": "Kommer att använda följande användarnamn",
+ "import_data": {
+ "description": "Bekräfta informationen som kommer att länkas till ditt nya %(server_name)s konto.",
+ "heading": "Importera dina data"
+ },
+ "imported_from_upstream": "Importeras från ditt upstream-konto",
+ "imported_from_upstream_with_name": "Importerad från ditt %(human_name)s konto",
+ "link_existing": "Länka till ett befintligt konto",
+ "provider_name": "%(human_name)s konto",
+ "signup_with_upstream": {
+ "heading": "Fortsätt registrera dig med ditt %(human_name)s konto"
+ },
+ "suggested_display_name": "Importera visningsnamn",
+ "suggested_email": "Importera e-postadress",
+ "use": "Använd"
+ },
+ "suggest_link": {
+ "action": "Länk",
+ "heading": "Länka till ditt befintliga konto"
+ }
+ },
+ "verify_email": {
+ "6_digit_code": "6-siffrig kod",
+ "code": "Kod",
+ "description": "Ange den 6-siffriga koden som skickas till: %(email)s",
+ "headline": "Verifiera din e-postadress"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/uk.json b/translations/uk.json
new file mode 100644
index 00000000..5c3a689d
--- /dev/null
+++ b/translations/uk.json
@@ -0,0 +1,236 @@
+{
+ "action": {
+ "back": "Назад",
+ "cancel": "Скасувати",
+ "continue": "Продовжити",
+ "create_account": "Створити обліковий запис",
+ "sign_in": "Увійти",
+ "sign_out": "Вийти",
+ "start_over": "Розпочати знову",
+ "submit": "Надіслати"
+ },
+ "app": {
+ "human_name": "Matrix Authentication Service",
+ "name": "matrix-authentication-service",
+ "technical_description": "Документ виявлення OpenID Connect: \n\n%(discovery_url)s\n"
+ },
+ "branding": {
+ "privacy_policy": {
+ "alt": "Посилання на політику конфіденційності сервісу",
+ "link": "Політика конфіденційності"
+ },
+ "terms_and_conditions": {
+ "alt": "Посилання на умови надання послуг",
+ "link": "Умови використання"
+ }
+ },
+ "common": {
+ "display_name": "Псевдонім",
+ "email_address": "Адреса е-пошти",
+ "loading": "Завантаження...",
+ "mxid": "Matrix ID",
+ "password": "Пароль",
+ "password_confirm": "Підтвердити пароль",
+ "username": "Ім'я користувача"
+ },
+ "error": {
+ "unexpected": "Неочікувана помилка"
+ },
+ "mas": {
+ "add_email": {
+ "description": "Введіть адресу електронної пошти для відновлення облікового запису на випадок втрати доступу до нього.",
+ "heading": "Додати адресу електронної пошти"
+ },
+ "back_to_homepage": "Повернутися на головну сторінку",
+ "captcha": {
+ "noscript": "Ця форма захищена CAPTCHA і вимагає включення JavaScript для її надсилання. Будь ласка, увімкніть JavaScript у своєму браузері та перезавантажте цю сторінку."
+ },
+ "change_password": {
+ "change": "Змінити пароль",
+ "confirm": "Підтвердити пароль",
+ "current": "Поточний пароль",
+ "description": "Це змінить пароль вашого облікового запису.",
+ "heading": "Змінити мій пароль",
+ "new": "Новий пароль"
+ },
+ "consent": {
+ "client_wants_access": "%(client_name)s за %(redirect_uri)s хоче звернутися до вашого облікового запису.",
+ "heading": "Дозволити доступ до свого облікового запису?",
+ "make_sure_you_trust": "Переконайтеся, що ви довіряєте %(client_name)s.",
+ "this_will_allow": "Це дозволить %(client_name)s:",
+ "you_may_be_sharing": "Можливо, ви ділитеся конфіденційною інформацією з цим сайтом або додатком."
+ },
+ "device_card": {
+ "access_requested": "Запитано доступ",
+ "device_code": "Код",
+ "generic_device": "Пристрій",
+ "ip_address": "IP-адреса"
+ },
+ "device_code_link": {
+ "description": "Зв'язати пристрій",
+ "headline": "Введіть код, що відображається на вашому пристрої"
+ },
+ "device_consent": {
+ "another_device_access": "Інший пристрій хоче отримати доступ до вашого облікового запису.",
+ "denied": {
+ "description": "Ви заборонили доступ до %(client_name)s. Ви можете закрити це вікно.",
+ "heading": "Доступ заборонено"
+ },
+ "granted": {
+ "description": "Ви надали доступ до %(client_name)s. Ви можете закрити це вікно.",
+ "heading": "Доступ надано"
+ }
+ },
+ "emails": {
+ "greeting": "Вітаю %(username)s,",
+ "recovery": {
+ "click_button": "Натисніть кнопку нижче, щоб створити новий пароль:",
+ "copy_link": "Скопіюйте наступне посилання та вставте його в браузер, щоб створити новий пароль:",
+ "create_new_password": "Створити новий пароль",
+ "headline": "Ви надіслали запит на скидання пароля для свого %(server_name)s облікового запису.",
+ "subject": "Скинути пароль облікового запису (%(mxid)s)",
+ "you_can_ignore": "Якщо ви не запитували новий пароль, можете проігнорувати цей електронний лист. Ваш поточний пароль продовжить працювати."
+ },
+ "verify": {
+ "body_html": "Ваш код підтвердження для підтвердження цієї адреси електронної пошти: %(code)s ",
+ "body_text": "Ваш код підтвердження для підтвердження цієї адреси електронної пошти: %(code)s",
+ "subject": "Ваш код підтвердження електронної пошти: %(code)s"
+ }
+ },
+ "errors": {
+ "captcha": "Помилка перевірки CAPTCHA, повторіть спробу",
+ "denied_policy": "Відхилено політикою: %(policy)s",
+ "email_domain_banned": "Домен електронної пошти заборонений політикою сервера",
+ "email_domain_not_allowed": "Домен електронної пошти заборонено політикою сервера",
+ "field_required": "Це поле є обов'язковим.",
+ "invalid_credentials": "Недійсні облікові дані",
+ "password_mismatch": "Поля пароля не збігаються",
+ "rate_limit_exceeded": "Ви зробили забагато запитів за короткий проміжок часу. Зачекайте кілька хвилин і повторіть спробу.",
+ "username_all_numeric": "Ім'я користувача не може складатися тільки з цифр",
+ "username_invalid_chars": "Ім'я користувача містить недопустимі символи. Використовуйте лише малі літери, цифри, тире та підкреслення.",
+ "username_taken": "Це ім'я користувача вже зайнято",
+ "username_too_long": "Ім'я користувача занадто довге",
+ "username_too_short": "Ім'я користувача занадто коротке"
+ },
+ "login": {
+ "call_to_register": "У вас ще немає облікового запису?",
+ "continue_with_provider": "Продовжити з %(provider)s",
+ "description": "Увійдіть, щоб продовжити:",
+ "forgot_password": "Забули пароль?",
+ "headline": "Увійти",
+ "link": {
+ "description": "Пов’язування ваш %(provider)s обліковий запис",
+ "headline": "Увійти що б повʼязати"
+ },
+ "no_login_methods": "Немає доступних методів входу.",
+ "separator": "або"
+ },
+ "navbar": {
+ "my_account": "Мій обліковий запис",
+ "register": "Створити обліковий запис",
+ "signed_in_as": "Ви ввійшли як %(username)s ."
+ },
+ "not_found": {
+ "description": "Сторінка, яку ви шукали, не існує або була переміщена",
+ "heading": "Сторінка не знайдена"
+ },
+ "not_you": "Не %(username)s?",
+ "or_separator": "або",
+ "policy_violation": {
+ "description": "Це може бути пов'язано з клієнтом, який створив запит, користувачем, який зараз ввійшов у систему, або самим запитом.",
+ "heading": "Запит на авторизацію був відхилений політикою, застосованою цим сервісом",
+ "logged_as": "Зареєстровано як %(username)s "
+ },
+ "recovery": {
+ "consumed": {
+ "description": "Щоб створити новий пароль, почніть спочатку і виберіть «Забули пароль».",
+ "heading": "Посилання для скидання пароля вже використано"
+ },
+ "disabled": {
+ "description": "Якщо ви втратили свої облікові дані, зв'яжіться з адміністратором для відновлення облікового запису.",
+ "heading": "Відновлення облікового запису вимкнено"
+ },
+ "expired": {
+ "description": "Запит на новий електронний лист, який буде надіслано на адресу: %(email)s.",
+ "heading": "Термін дії посилання для скидання пароля закінчився",
+ "resend_email": "Повторно надіслати електронний лист"
+ },
+ "finish": {
+ "confirm": "Введіть новий пароль ще раз",
+ "description": "Виберіть новий пароль для свого облікового запису.",
+ "heading": "Скидання пароля",
+ "new": "Новий пароль",
+ "save_and_continue": "Зберегти і продовжити"
+ },
+ "progress": {
+ "change_email": "Спробуйте іншу адресу електронної пошти",
+ "description": "Ми надіслали електронний лист із посиланням для скидання пароля, якщо використовується обліковий запис %(email)s.",
+ "heading": "Перевірте свою електронну пошту",
+ "resend_email": "Повторно надіслати електронний лист"
+ },
+ "start": {
+ "description": "Буде надіслано електронний лист із посиланням для скидання пароля.",
+ "heading": "Введіть свою електронну пошту, щоб продовжити"
+ }
+ },
+ "register": {
+ "call_to_login": "Вже маєте обліковий запис?",
+ "continue_with_email": "Продовжити з адресою електронної пошти",
+ "create_account": {
+ "description": "Виберіть ім'я користувача, щоб продовжити.",
+ "heading": "Створити обліковий запис"
+ },
+ "sign_in_instead": "Натомість увійдіть",
+ "terms_of_service": "Я згоден з Умовами використання"
+ },
+ "scope": {
+ "edit_profile": "Редагування профілю та контактних даних",
+ "manage_sessions": "Керування пристроями та сесіями",
+ "mas_admin": "Адміністрування будь-якого користувача на matrix-authentication-service",
+ "send_messages": "Надсилати нові повідомлення від вашого імені",
+ "synapse_admin": "Адміністрування домашнього сервера Synapse",
+ "view_messages": "Перегляд наявних повідомлень і даних",
+ "view_profile": "Перегляд інформації профілю та контактних даних"
+ },
+ "upstream_oauth2": {
+ "link_mismatch": {
+ "heading": "Цей upstream account вже пов'язаний з іншим обліковим записом."
+ },
+ "register": {
+ "choose_username": {
+ "description": "Це неможливо змінити пізніше.",
+ "heading": "Виберіть ім'я користувача"
+ },
+ "create_account": "Створити новий обліковий запис",
+ "enforced_by_policy": "Застосовується політикою сервера",
+ "forced_display_name": "Використовуватиме таке відображуване ім’я",
+ "forced_email": "Буде використано наступну електронну адресу",
+ "forced_localpart": "Буде використовувати наступне ім'я користувача",
+ "import_data": {
+ "description": "Підтвердіть інформацію, яка буде прив'язана до вашого нового %(server_name)s облікового запису.",
+ "heading": "Імпортуйте свої дані"
+ },
+ "imported_from_upstream": "Імпортовано з вашого upstream облікового запису",
+ "imported_from_upstream_with_name": "Імпортовано з вашого %(human_name)s облікового запису",
+ "link_existing": "Посилання на існуючий обліковий запис",
+ "provider_name": "%(human_name)s обліковий запис",
+ "signup_with_upstream": {
+ "heading": "Продовжити реєструватися за допомогою свого %(human_name)s облікового запису"
+ },
+ "suggested_display_name": "Імпорт псевдоніму",
+ "suggested_email": "Імпорт адреси електронної пошти",
+ "use": "Використовувати"
+ },
+ "suggest_link": {
+ "action": "Посилання",
+ "heading": "Посилання на ваш існуючий обліковий запис"
+ }
+ },
+ "verify_email": {
+ "6_digit_code": "6-значний код",
+ "code": "Код",
+ "description": "Введіть 6-значний код, надісланий на адресу: %(email)s ",
+ "headline": "Підтвердьте свою електронну адресу"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/zh-Hans.json b/translations/zh-Hans.json
index a1a45e8a..e0e91cda 100644
--- a/translations/zh-Hans.json
+++ b/translations/zh-Hans.json
@@ -27,6 +27,7 @@
"common": {
"display_name": "显示名称",
"email_address": "邮箱地址",
+ "loading": "Loading…",
"mxid": "Matrix ID",
"password": "密码",
"password_confirm": "确认密码",
@@ -99,11 +100,17 @@
"errors": {
"captcha": "验证码验证失败,请重试",
"denied_policy": "被该策略拒绝:%(policy)s",
+ "email_domain_banned": "Email domain is banned by the server policy",
+ "email_domain_not_allowed": "Email domain is not allowed by the server policy",
"field_required": "此字段为必填项",
"invalid_credentials": "无效的凭据",
"password_mismatch": "密码字段不匹配",
"rate_limit_exceeded": "您在短时间内发出了过多请求。请等待几分钟后重试。",
- "username_taken": "此用户名已被使用"
+ "username_all_numeric": "Username cannot consist solely of numbers",
+ "username_invalid_chars": "Username contains invalid characters. Use lowercase letters, numbers, dashes and underscores only.",
+ "username_taken": "此用户名已被使用",
+ "username_too_long": "Username is too long",
+ "username_too_short": "Username is too short"
},
"login": {
"call_to_register": "还没有账户?",
@@ -168,6 +175,7 @@
},
"register": {
"call_to_login": "已有账户?",
+ "continue_with_email": "Continue with email address",
"create_account": {
"description": "请创建一个账户以开始使用:",
"heading": "创建账户"
@@ -203,7 +211,12 @@
"heading": "导入数据"
},
"imported_from_upstream": "从上游账户导入",
+ "imported_from_upstream_with_name": "Imported from your %(human_name)s account",
"link_existing": "链接到现有账户",
+ "provider_name": "%(human_name)s account",
+ "signup_with_upstream": {
+ "heading": "Continue signing up with your %(human_name)s account"
+ },
"suggested_display_name": "导入显示名称",
"suggested_email": "导入电子邮件地址",
"use": "使用"