0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-31 22:51:25 -05:00

Merge pull request #3631 from logto-io/gao-sync-phrases-structure

refactor(phrases): align file structure
This commit is contained in:
Gao Sun 2023-03-29 19:23:37 +08:00 committed by GitHub
commit 7bea48da95
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
244 changed files with 4503 additions and 3802 deletions

View file

@ -1,4 +1,4 @@
import zhCN from '@logto/phrases-ui/lib/locales/zh-cn.js';
import zhCN from '@logto/phrases-ui/lib/locales/zh-cn/index.js';
import type { CustomPhrase, SignInExperience } from '@logto/schemas';
import { pickDefault, createMockUtils } from '@logto/shared/esm';

View file

@ -1,5 +1,5 @@
import en from '@logto/phrases-ui/lib/locales/en/index.js';
import fr from '@logto/phrases-ui/lib/locales/fr.js';
import fr from '@logto/phrases-ui/lib/locales/fr/index.js';
import { isStrictlyPartial } from '#src/utils/translation.js';

View file

@ -3,16 +3,16 @@ import { languages, fallback } from '@logto/language-kit';
import type { NormalizeKeyPaths } from '@silverhand/essentials';
import { z } from 'zod';
import de from './locales/de.js';
import de from './locales/de/index.js';
import en from './locales/en/index.js';
import fr from './locales/fr.js';
import fr from './locales/fr/index.js';
import ja from './locales/ja/index.js';
import ko from './locales/ko.js';
import ptBR from './locales/pt-br.js';
import ptPT from './locales/pt-pt.js';
import ru from './locales/ru.js';
import trTR from './locales/tr-tr.js';
import zhCN from './locales/zh-cn.js';
import ko from './locales/ko/index.js';
import ptBR from './locales/pt-br/index.js';
import ptPT from './locales/pt-pt/index.js';
import ru from './locales/ru/index.js';
import trTR from './locales/tr-tr/index.js';
import zhCN from './locales/zh-cn/index.js';
import type { LocalePhrase } from './types.js';
export type { LocalePhrase } from './types.js';

View file

@ -1,137 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: 'Benutzername',
password: 'Passwort',
email: 'Email',
phone_number: 'Telefonnummer',
confirm_password: 'Passwort bestätigen',
search_region_code: 'Suche region code',
},
secondary: {
social_bind_with:
'Besitzt du schon ein Konto? Melde dich an, um {{methods, list(type: disjunction;)}} mit deiner Identität zu verbinden.',
},
action: {
sign_in: 'Anmelden',
continue: 'Weiter',
create_account: 'Konto erstellen',
create_account_without_linking: 'Erstelle ein Konto ohne Verknüpfung',
create: 'Erstellen',
enter_passcode: 'Bestätigungscode eingeben',
confirm: 'Bestätigen',
cancel: 'Abbrechen',
save_password: 'Passwort speichern',
bind: 'Mit {{address}} verknüpfen',
bind_and_continue: 'Verknüpfen und weiter',
back: 'Gehe zurück',
nav_back: 'Zurück',
agree: 'Zustimmen',
got_it: 'Alles klar',
sign_in_with: 'Mit {{name}} anmelden',
forgot_password: 'Passwort vergessen?',
switch_to: 'Zu {{method}} wechseln',
sign_in_via_passcode: 'Mit Bestätigungscode anmelden',
sign_in_via_password: 'Mit Passwort anmelden',
change: '{{method}} ändern',
link_another_email: 'Andere Email verknüpfen',
link_another_phone: 'Andere Telefonnummer verknüpfen',
link_another_email_or_phone: 'Andere Email oder Telefonnummer verknüpfen',
show_password: 'Passwort anzeigen',
},
description: {
email: 'Email',
phone_number: 'Telefonnummer',
username: 'Benutzername',
reminder: 'Erinnerung',
not_found: '404 Nicht gefunden',
agree_with_terms: 'Ich akzeptiere die ',
agree_with_terms_modal: 'Bitte akzeptiere die <link></link>.',
terms_of_use: 'Nutzungsbedingungen',
sign_in: 'Anmelden',
privacy_policy: 'Datenschutzrichtlinien',
create_account: 'Konto erstellen',
or: 'oder',
and: 'und',
enter_passcode: 'Der Bestätigungscode wurde an deine {{address}} gesendet',
passcode_sent: 'Der Bestätigungscode wurde erneut gesendet',
resend_after_seconds: 'Nach <span>{{seconds}}</span> Sekunden erneut senden',
resend_passcode: 'Bestätigungscode erneut senden',
create_account_id_exists:
'Das Konto mit {{type}} {{value}} existiert bereits, möchtest du dich anmelden?',
link_account_id_exists:
'Das Konto mit {{type}} {{value}} existiert bereits, möchtest du es mit deinem Konto verknüpfen?',
sign_in_id_does_not_exist:
'Das Konto mit {{type}} {{value}} existiert nicht, möchtest du ein neues Konto erstellen?',
sign_in_id_does_not_exist_alert: 'Das Konto mit {{type}} {{value}} existiert nicht',
create_account_id_exists_alert:
'Das Konto mit {{type}} {{value}} ist mit einem anderen Konto verknüpft. Bitte versuche es mit einem anderen {{type}} erneut',
social_identity_exist:
'{{type}} {{value}} ist mit einem anderen Konto verknüpft. Bitte versuche ein(e(n)) andere(n/s) {{type}}',
bind_account_title: 'Verlinke oder erstelle ein Konto',
social_create_account: 'Sie können ein neues Konto erstellen.',
social_link_email: 'Du kannst eine weitere Email verknüpfen',
social_link_phone: 'Du kannst eine weitere Telefonnummer verknüpfen',
social_link_email_or_phone: 'Du kannst eine weitere Email oder Telefonnummer verknüpfen',
social_bind_with_existing:
'Wir haben eine verwandte {{method}} gefunden, die bereits registriert wurde, und Sie können sie direkt verknüpfen.',
reset_password: 'Passwort vergessen',
reset_password_description:
'Gib die {{types, list(type: disjunction;)}} deines Kontos ein und wir senden dir einen Bestätigungscode um dein Passwort zurückzusetzen.',
new_password: 'Neues Passwort',
set_password: 'Passwort setzen',
password_changed: 'Passwort geändert',
no_account: 'Noch kein Konto? ',
have_account: 'Hast du schon ein Konto?',
enter_password: 'Passwort eingeben',
enter_password_for: 'Passwort für {{method}} {{value}} eingeben',
enter_username: 'Benutzernamen festlegen',
enter_username_description:
'Der Benutzername kann für die Anmeldung verwendet werden. Der Benutzername darf nur Buchstaben, Zahlen und Unterstriche enthalten.',
link_email: 'Email verknüpfen',
link_phone: 'Telefonnummer verknüpfen',
link_email_or_phone: 'Email oder Telefonnummer verknüpfen',
link_email_description:
'Für zusätzliche Sicherheit, verknüpfe bitte deine Email mit dem Konto.',
link_phone_description:
'Für zusätzliche Sicherheit, verknüpfe bitte deine Telefonnummer mit dem Konto.',
link_email_or_phone_description:
'Für zusätzliche Sicherheit, verknüpfe bitte deine Email oder Telefonnummer mit dem Konto.',
continue_with_more_information:
'Für zusätzliche Sicherheit, vervollständige bitte deine Informationen.',
create_your_account: 'Erstelle dein Konto',
sign_in_to_your_account: 'Melde dich in deinem Konto an',
no_region_code_found: 'Kein Regionencode gefunden',
},
error: {
general_required: `{{types, list(type: disjunction;)}} ist erforderlich`,
general_invalid: `Die {{types, list(type: disjunction;)}} is ungültig`,
username_required: 'Benutzername ist erforderlich',
password_required: 'Passwort ist erforderlich',
username_exists: 'Benutzername existiert bereits',
username_should_not_start_with_number: 'Benutzername darf nicht mit einer Zahl beginnen',
username_invalid_charset: 'Benutzername darf nur Buchstaben, Zahlen und Unterstriche enthalten',
invalid_email: 'Die Email ist ungültig',
invalid_phone: 'Die Telefonnummer ist ungültig',
password_min_length: 'Passwort muss mindestens {{min}} Zeichen lang sein',
passwords_do_not_match: 'Passwörter stimmen nicht überein',
invalid_password:
'Passwort erfordert mindestens {{min}} Zeichen und enthält eine Kombination aus Buchstaben, Zahlen und Symbolen.',
invalid_passcode: 'Der Bestätigungscode ist ungültig',
invalid_connector_auth: 'Die Autorisierung ist ungültig',
invalid_connector_request: 'Connector Daten sind ungültig',
unknown: 'Unbekannter Fehler. Versuche es später noch einmal.',
invalid_session: 'Die Sitzung ist ungültig. Bitte melde dich erneut an.',
timeout: 'Zeitüberschreitung. Bitte melde dich erneut an.',
},
demo_app: {
notification: 'Tipp: Erstelle zuerst ein Konto, um die Anmeldeerfahrung zu testen.',
},
};
const de: LocalePhrase = Object.freeze({
translation,
});
export default de;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: 'Anmelden',
continue: 'Weiter',
create_account: 'Konto erstellen',
create_account_without_linking: 'Erstelle ein Konto ohne Verknüpfung',
create: 'Erstellen',
enter_passcode: 'Bestätigungscode eingeben',
confirm: 'Bestätigen',
cancel: 'Abbrechen',
save_password: 'Passwort speichern',
bind: 'Mit {{address}} verknüpfen',
bind_and_continue: 'Verknüpfen und weiter',
back: 'Gehe zurück',
nav_back: 'Zurück',
agree: 'Zustimmen',
got_it: 'Alles klar',
sign_in_with: 'Mit {{name}} anmelden',
forgot_password: 'Passwort vergessen?',
switch_to: 'Zu {{method}} wechseln',
sign_in_via_passcode: 'Mit Bestätigungscode anmelden',
sign_in_via_password: 'Mit Passwort anmelden',
change: '{{method}} ändern',
link_another_email: 'Andere Email verknüpfen',
link_another_phone: 'Andere Telefonnummer verknüpfen',
link_another_email_or_phone: 'Andere Email oder Telefonnummer verknüpfen',
show_password: 'Passwort anzeigen',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: 'Tipp: Erstelle zuerst ein Konto, um die Anmeldeerfahrung zu testen.',
};
export default demo_app;

View file

@ -0,0 +1,65 @@
const description = {
email: 'Email',
phone_number: 'Telefonnummer',
username: 'Benutzername',
reminder: 'Erinnerung',
not_found: '404 Nicht gefunden',
agree_with_terms: 'Ich akzeptiere die ',
agree_with_terms_modal: 'Bitte akzeptiere die <link></link>.',
terms_of_use: 'Nutzungsbedingungen',
sign_in: 'Anmelden',
privacy_policy: 'Datenschutzrichtlinien',
create_account: 'Konto erstellen',
or: 'oder',
and: 'und',
enter_passcode: 'Der Bestätigungscode wurde an deine {{address}} gesendet',
passcode_sent: 'Der Bestätigungscode wurde erneut gesendet',
resend_after_seconds: 'Nach <span>{{seconds}}</span> Sekunden erneut senden',
resend_passcode: 'Bestätigungscode erneut senden',
create_account_id_exists:
'Das Konto mit {{type}} {{value}} existiert bereits, möchtest du dich anmelden?',
link_account_id_exists:
'Das Konto mit {{type}} {{value}} existiert bereits, möchtest du es mit deinem Konto verknüpfen?',
sign_in_id_does_not_exist:
'Das Konto mit {{type}} {{value}} existiert nicht, möchtest du ein neues Konto erstellen?',
sign_in_id_does_not_exist_alert: 'Das Konto mit {{type}} {{value}} existiert nicht',
create_account_id_exists_alert:
'Das Konto mit {{type}} {{value}} ist mit einem anderen Konto verknüpft. Bitte versuche es mit einem anderen {{type}} erneut',
social_identity_exist:
'{{type}} {{value}} ist mit einem anderen Konto verknüpft. Bitte versuche ein(e(n)) andere(n/s) {{type}}',
bind_account_title: 'Verlinke oder erstelle ein Konto',
social_create_account: 'Sie können ein neues Konto erstellen.',
social_link_email: 'Du kannst eine weitere Email verknüpfen',
social_link_phone: 'Du kannst eine weitere Telefonnummer verknüpfen',
social_link_email_or_phone: 'Du kannst eine weitere Email oder Telefonnummer verknüpfen',
social_bind_with_existing:
'Wir haben eine verwandte {{method}} gefunden, die bereits registriert wurde, und Sie können sie direkt verknüpfen.',
reset_password: 'Passwort vergessen',
reset_password_description:
'Gib die {{types, list(type: disjunction;)}} deines Kontos ein und wir senden dir einen Bestätigungscode um dein Passwort zurückzusetzen.',
new_password: 'Neues Passwort',
set_password: 'Passwort setzen',
password_changed: 'Passwort geändert',
no_account: 'Noch kein Konto? ',
have_account: 'Hast du schon ein Konto?',
enter_password: 'Passwort eingeben',
enter_password_for: 'Passwort für {{method}} {{value}} eingeben',
enter_username: 'Benutzernamen festlegen',
enter_username_description:
'Der Benutzername kann für die Anmeldung verwendet werden. Der Benutzername darf nur Buchstaben, Zahlen und Unterstriche enthalten.',
link_email: 'Email verknüpfen',
link_phone: 'Telefonnummer verknüpfen',
link_email_or_phone: 'Email oder Telefonnummer verknüpfen',
link_email_description: 'Für zusätzliche Sicherheit, verknüpfe bitte deine Email mit dem Konto.',
link_phone_description:
'Für zusätzliche Sicherheit, verknüpfe bitte deine Telefonnummer mit dem Konto.',
link_email_or_phone_description:
'Für zusätzliche Sicherheit, verknüpfe bitte deine Email oder Telefonnummer mit dem Konto.',
continue_with_more_information:
'Für zusätzliche Sicherheit, vervollständige bitte deine Informationen.',
create_your_account: 'Erstelle dein Konto',
sign_in_to_your_account: 'Melde dich in deinem Konto an',
no_region_code_found: 'Kein Regionencode gefunden',
};
export default description;

View file

@ -0,0 +1,23 @@
const error = {
general_required: '{{types, list(type: disjunction;)}} ist erforderlich',
general_invalid: 'Die {{types, list(type: disjunction;)}} is ungültig',
username_required: 'Benutzername ist erforderlich',
password_required: 'Passwort ist erforderlich',
username_exists: 'Benutzername existiert bereits',
username_should_not_start_with_number: 'Benutzername darf nicht mit einer Zahl beginnen',
username_invalid_charset: 'Benutzername darf nur Buchstaben, Zahlen und Unterstriche enthalten',
invalid_email: 'Die Email ist ungültig',
invalid_phone: 'Die Telefonnummer ist ungültig',
password_min_length: 'Passwort muss mindestens {{min}} Zeichen lang sein',
passwords_do_not_match: 'Passwörter stimmen nicht überein',
invalid_password:
'Passwort erfordert mindestens {{min}} Zeichen und enthält eine Kombination aus Buchstaben, Zahlen und Symbolen.',
invalid_passcode: 'Der Bestätigungscode ist ungültig',
invalid_connector_auth: 'Die Autorisierung ist ungültig',
invalid_connector_request: 'Connector Daten sind ungültig',
unknown: 'Unbekannter Fehler. Versuche es später noch einmal.',
invalid_session: 'Die Sitzung ist ungültig. Bitte melde dich erneut an.',
timeout: 'Zeitüberschreitung. Bitte melde dich erneut an.',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const de: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default de;

View file

@ -0,0 +1,10 @@
const input = {
username: 'Benutzername',
password: 'Passwort',
email: 'Email',
phone_number: 'Telefonnummer',
confirm_password: 'Passwort bestätigen',
search_region_code: 'Suche region code',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'Besitzt du schon ein Konto? Melde dich an, um {{methods, list(type: disjunction;)}} mit deiner Identität zu verbinden.',
};
export default secondary;

View file

@ -1,140 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: "Nom d'utilisateur",
password: 'Mot de passe',
email: 'Email',
phone_number: 'Numéro de téléphone',
confirm_password: 'Confirmer le mot de passe',
search_region_code: 'Rechercher le code de région',
},
secondary: {
social_bind_with:
'Vous avez déjà un compte? Connectez-vous pour lier {{methods, list(type: disjunction;)}} avec votre identité sociale.',
},
action: {
sign_in: 'Connexion',
continue: 'Continuer',
create_account: 'Créer un compte',
create_account_without_linking: 'Créer un compte sans lier',
create: 'Créer',
enter_passcode: 'Entrer le code',
confirm: 'Confirmer',
cancel: 'Annuler',
save_password: 'Enregistrer le mot de passe',
bind: 'Lier avec {{address}}',
bind_and_continue: 'Lier et continuer',
back: 'Aller en arrière',
nav_back: 'Retour',
agree: 'Accepter',
got_it: 'Compris',
sign_in_with: 'Continuer avec {{name}}',
forgot_password: 'Mot de passe oublié?',
switch_to: 'Passer au {{method}}',
sign_in_via_passcode: 'Se connecter avec le code de vérification',
sign_in_via_password: 'Se connecter avec le mot de passe',
change: 'Changer {{method}}',
link_another_email: 'Lier une autre adresse e-mail',
link_another_phone: 'Lier un autre numéro de téléphone',
link_another_email_or_phone: 'Lier une autre adresse e-mail ou un autre numéro de téléphone',
show_password: 'Afficher le mot de passe',
},
description: {
email: 'email',
phone_number: 'numéro de téléphone',
username: "nom d'utilisateur",
reminder: 'Rappel',
not_found: '404 Non trouvé',
agree_with_terms: "J'ai lu et accepté les ",
agree_with_terms_modal: 'Pour continuer, veuillez accepter le <link></link>.',
terms_of_use: "Conditions d'utilisation",
sign_in: 'Connexion',
privacy_policy: 'Politique de confidentialité',
create_account: 'Créer un compte',
or: 'ou',
and: 'et',
enter_passcode: 'Le code a été envoyé à {{address}} {{target}}',
passcode_sent: 'Le code a été renvoyé',
resend_after_seconds: 'Renvoyer après <span>{{seconds}}</span> secondes',
resend_passcode: 'Renvoyer le code',
create_account_id_exists:
'Le compte avec {{type}} {{value}} existe déjà, voulez-vous vous connecter?',
link_account_id_exists: 'Le compte avec {{type}} {{value}} existe déjà, voulez-vous le lier?',
sign_in_id_does_not_exist:
"Le compte avec {{type}} {{value}} n'existe pas, voulez-vous créer un nouveau compte?",
sign_in_id_does_not_exist_alert: 'Nous ne trouvons aucun compte associé à {{type}} {{value}}.',
create_account_id_exists_alert:
'Le compte avec {{type}} {{value}} est lié à un autre compte. Veuillez essayer un autre {{type}}.',
social_identity_exist:
'Le {{type}} {{value}} est lié à un autre compte. Veuillez essayer un autre {{type}}.',
bind_account_title: 'Lier ou créer un compte',
social_create_account: 'Vous pouvez créer un nouveau compte',
social_link_email: 'Vous pouvez lier une autre adresse e-mail',
social_link_phone: 'Vous pouvez lier un autre numéro de téléphone',
social_link_email_or_phone:
'Vous pouvez lier une autre adresse e-mail ou un autre numéro de téléphone',
social_bind_with_existing:
'Nous avons trouvé une {{method}} connexe qui a été enregistrée, et vous pouvez la lier directement.',
reset_password: 'Mot de passe oublié',
reset_password_description:
'Entrez le {{types, list(type: disjunction;)}} associé à votre compte et nous vous enverrons le code de vérification pour réinitialiser votre mot de passe.',
new_password: 'Nouveau mot de passe',
set_password: 'Définir un mot de passe',
password_changed: 'Mot de passe modifié',
no_account: 'Pas encore de compte? ',
have_account: 'Déjà un compte?',
enter_password: 'Entrer le mot de passe',
enter_password_for: 'Connectez-vous avec le mot de passe pour {{method}} {{value}}',
enter_username: "Définir un nom d'utilisateur",
enter_username_description:
"Le nom d'utilisateur est une alternative pour la connexion. Le nom d'utilisateur doit contenir uniquement des lettres, des chiffres et des underscores.", // UNTRANSLATED
link_email: "Lier l'adresse e-mail",
link_phone: 'Lier le numéro de téléphone',
link_email_or_phone: "Lier l'adresse e-mail ou le numéro de téléphone",
link_email_description:
'Pour une sécurité accrue, veuillez lier votre adresse e-mail au compte.',
link_phone_description:
'Pour une sécurité accrue, veuillez lier votre numéro de téléphone au compte.',
link_email_or_phone_description:
'Pour une sécurité accrue, veuillez lier votre adresse e-mail ou votre numéro de téléphone au compte.',
continue_with_more_information:
'Pour une sécurité accrue, veuillez compléter les détails du compte ci-dessous.',
create_your_account: 'Créer votre compte',
sign_in_to_your_account: 'Connecte-toi à ton compte',
no_region_code_found: 'Aucun code de région trouvé',
},
error: {
general_required: `Le {{types, list(type: disjunction;)}} est requis`,
general_invalid: `Le {{types, list(type: disjunction;)}} n'est pas valide`,
username_required: "Le nom d'utilisateur est requis",
password_required: 'Le mot de passe est requis',
username_exists: "Ce Nom d'utilisateur existe déjà",
username_should_not_start_with_number:
"Le nom d'utilisateur ne doit pas commencer par un chiffre",
username_invalid_charset:
"Le nom d'utilisateur ne doit contenir que des lettres, des chiffres ou des caractères de soulignement.",
invalid_email: "L'email n'est pas valide",
invalid_phone: "Le numéro de téléphone n'est pas valide",
password_min_length: 'Le mot de passe doit comporter un minimum de {{min}} caractères.',
passwords_do_not_match: 'Les mots de passe ne correspondent pas',
invalid_password:
'Le mot de passe doit contenir au minimum {{min}} caractères et doit inclure une combinaison de lettres, de chiffres et de symboles.',
invalid_passcode: 'Le code est invalide',
invalid_connector_auth: "L'autorisation n'est pas valide",
invalid_connector_request: 'Les données du connecteur ne sont pas valides',
unknown: 'Erreur inconnue. Veuillez réessayer plus tard.',
invalid_session:
'Session non trouvée. Veuillez revenir en arrière et vous connecter à nouveau.',
timeout: 'Request timeout. Please try again later.', // UNTRANSLATED
},
demo_app: {
notification: "Astuce : Créez d'abord un compte pour tester l'expérience de connexion.",
},
};
const fr: LocalePhrase = Object.freeze({
translation,
});
export default fr;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: 'Connexion',
continue: 'Continuer',
create_account: 'Créer un compte',
create_account_without_linking: 'Créer un compte sans lier',
create: 'Créer',
enter_passcode: 'Entrer le code',
confirm: 'Confirmer',
cancel: 'Annuler',
save_password: 'Enregistrer le mot de passe',
bind: 'Lier avec {{address}}',
bind_and_continue: 'Lier et continuer',
back: 'Aller en arrière',
nav_back: 'Retour',
agree: 'Accepter',
got_it: 'Compris',
sign_in_with: 'Continuer avec {{name}}',
forgot_password: 'Mot de passe oublié?',
switch_to: 'Passer au {{method}}',
sign_in_via_passcode: 'Se connecter avec le code de vérification',
sign_in_via_password: 'Se connecter avec le mot de passe',
change: 'Changer {{method}}',
link_another_email: 'Lier une autre adresse e-mail',
link_another_phone: 'Lier un autre numéro de téléphone',
link_another_email_or_phone: 'Lier une autre adresse e-mail ou un autre numéro de téléphone',
show_password: 'Afficher le mot de passe',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: "Astuce : Créez d'abord un compte pour tester l'expérience de connexion.",
};
export default demo_app;

View file

@ -0,0 +1,65 @@
const description = {
email: 'email',
phone_number: 'numéro de téléphone',
username: "nom d'utilisateur",
reminder: 'Rappel',
not_found: '404 Non trouvé',
agree_with_terms: "J'ai lu et accepté les ",
agree_with_terms_modal: 'Pour continuer, veuillez accepter le <link></link>.',
terms_of_use: "Conditions d'utilisation",
sign_in: 'Connexion',
privacy_policy: 'Politique de confidentialité',
create_account: 'Créer un compte',
or: 'ou',
and: 'et',
enter_passcode: 'Le code a été envoyé à {{address}} {{target}}',
passcode_sent: 'Le code a été renvoyé',
resend_after_seconds: 'Renvoyer après <span>{{seconds}}</span> secondes',
resend_passcode: 'Renvoyer le code',
create_account_id_exists:
'Le compte avec {{type}} {{value}} existe déjà, voulez-vous vous connecter?',
link_account_id_exists: 'Le compte avec {{type}} {{value}} existe déjà, voulez-vous le lier?',
sign_in_id_does_not_exist:
"Le compte avec {{type}} {{value}} n'existe pas, voulez-vous créer un nouveau compte?",
sign_in_id_does_not_exist_alert: 'Nous ne trouvons aucun compte associé à {{type}} {{value}}.',
create_account_id_exists_alert:
'Le compte avec {{type}} {{value}} est lié à un autre compte. Veuillez essayer un autre {{type}}.',
social_identity_exist:
'Le {{type}} {{value}} est lié à un autre compte. Veuillez essayer un autre {{type}}.',
bind_account_title: 'Lier ou créer un compte',
social_create_account: 'Vous pouvez créer un nouveau compte',
social_link_email: 'Vous pouvez lier une autre adresse e-mail',
social_link_phone: 'Vous pouvez lier un autre numéro de téléphone',
social_link_email_or_phone:
'Vous pouvez lier une autre adresse e-mail ou un autre numéro de téléphone',
social_bind_with_existing:
'Nous avons trouvé une {{method}} connexe qui a été enregistrée, et vous pouvez la lier directement.',
reset_password: 'Mot de passe oublié',
reset_password_description:
'Entrez le {{types, list(type: disjunction;)}} associé à votre compte et nous vous enverrons le code de vérification pour réinitialiser votre mot de passe.',
new_password: 'Nouveau mot de passe',
set_password: 'Définir un mot de passe',
password_changed: 'Mot de passe modifié',
no_account: 'Pas encore de compte? ',
have_account: 'Déjà un compte?',
enter_password: 'Entrer le mot de passe',
enter_password_for: 'Connectez-vous avec le mot de passe pour {{method}} {{value}}',
enter_username: "Définir un nom d'utilisateur",
enter_username_description:
"Le nom d'utilisateur est une alternative pour la connexion. Le nom d'utilisateur doit contenir uniquement des lettres, des chiffres et des underscores.",
link_email: "Lier l'adresse e-mail",
link_phone: 'Lier le numéro de téléphone',
link_email_or_phone: "Lier l'adresse e-mail ou le numéro de téléphone",
link_email_description: 'Pour une sécurité accrue, veuillez lier votre adresse e-mail au compte.',
link_phone_description:
'Pour une sécurité accrue, veuillez lier votre numéro de téléphone au compte.',
link_email_or_phone_description:
'Pour une sécurité accrue, veuillez lier votre adresse e-mail ou votre numéro de téléphone au compte.',
continue_with_more_information:
'Pour une sécurité accrue, veuillez compléter les détails du compte ci-dessous.',
create_your_account: 'Créer votre compte',
sign_in_to_your_account: 'Connecte-toi à ton compte',
no_region_code_found: 'Aucun code de région trouvé',
};
export default description;

View file

@ -0,0 +1,25 @@
const error = {
general_required: 'Le {{types, list(type: disjunction;)}} est requis',
general_invalid: "Le {{types, list(type: disjunction;)}} n'est pas valide",
username_required: "Le nom d'utilisateur est requis",
password_required: 'Le mot de passe est requis',
username_exists: "Ce Nom d'utilisateur existe déjà",
username_should_not_start_with_number:
"Le nom d'utilisateur ne doit pas commencer par un chiffre",
username_invalid_charset:
"Le nom d'utilisateur ne doit contenir que des lettres, des chiffres ou des caractères de soulignement.",
invalid_email: "L'email n'est pas valide",
invalid_phone: "Le numéro de téléphone n'est pas valide",
password_min_length: 'Le mot de passe doit comporter un minimum de {{min}} caractères.',
passwords_do_not_match: 'Les mots de passe ne correspondent pas',
invalid_password:
'Le mot de passe doit contenir au minimum {{min}} caractères et doit inclure une combinaison de lettres, de chiffres et de symboles.',
invalid_passcode: 'Le code est invalide',
invalid_connector_auth: "L'autorisation n'est pas valide",
invalid_connector_request: 'Les données du connecteur ne sont pas valides',
unknown: 'Erreur inconnue. Veuillez réessayer plus tard.',
invalid_session: 'Session non trouvée. Veuillez revenir en arrière et vous connecter à nouveau.',
timeout: 'Request timeout. Please try again later.',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const fr: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default fr;

View file

@ -0,0 +1,10 @@
const input = {
username: "Nom d'utilisateur",
password: 'Mot de passe',
email: 'Email',
phone_number: 'Numéro de téléphone',
confirm_password: 'Confirmer le mot de passe',
search_region_code: 'Rechercher le code de région',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'Vous avez déjà un compte? Connectez-vous pour lier {{methods, list(type: disjunction;)}} avec votre identité sociale.',
};
export default secondary;

View file

@ -1,3 +1,5 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
@ -5,7 +7,7 @@ import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const en = Object.freeze({
const ja: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
@ -16,4 +18,4 @@ const en = Object.freeze({
},
});
export default en;
export default ja;

View file

@ -1,129 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: '사용자 이름',
password: '비밀번호',
email: '이메일',
phone_number: '휴대전화번호',
confirm_password: '비밀번호 확인',
search_region_code: '지역 코드 검색',
},
secondary: {
social_bind_with:
'이미 계정이 있으신가요? {{methods, list(type: disjunction;)}}로 로그인 해보세요!',
},
action: {
sign_in: '로그인',
continue: '계속',
create_account: '계정 생성',
create_account_without_linking: '연동 없이 계정 생성하기',
create: '생성',
enter_passcode: '비밀번호 입력',
confirm: '확인',
cancel: '취소',
save_password: '저장',
bind: '{{address}}로 연동',
bind_and_continue: '연동하고 계속하기',
back: '뒤로 가기',
nav_back: '뒤로',
agree: '동의',
got_it: '알겠습니다',
sign_in_with: '{{name}} 계속',
forgot_password: '비밀번호를 잊어버리셨나요?',
switch_to: '{{method}}로 전환',
sign_in_via_passcode: '인증번호로 로그인',
sign_in_via_password: '비밀번호로 로그인',
change: '변경 {{method}}',
link_another_email: '다른 이메일 연동',
link_another_phone: '다른 전화번호 연동',
link_another_email_or_phone: '다른 이메일 또는 전화번호 연동',
show_password: '비밀번호 보기',
},
description: {
email: '이메일',
phone_number: '휴대전화번호',
username: '사용자 이름',
reminder: '리마인더',
not_found: '404 찾을 수 없음',
agree_with_terms: '나는 내용을 읽었으며, 이에 동의합니다.',
agree_with_terms_modal: '진행하기 위해서는, 다음을 동의해주세요 <link></link>.',
terms_of_use: '이용약관',
sign_in: '로그인',
privacy_policy: '개인정보처리방침',
create_account: '계정 생성',
or: '또는',
and: '그리고',
enter_passcode: '{{address}} {{target}} 으로 비밀번호가 전송되었어요.',
passcode_sent: '비밀번호가 재전송되었어요.',
resend_after_seconds: '<span>{{seconds}}</span> 초 후에 재전송',
resend_passcode: '비밀번호 재전송',
create_account_id_exists:
'{{type}} {{value}} 계정은 다른 계정과 연결되어 있습니다. 다른 {{type}}을(를) 시도해주세요.',
link_account_id_exists: '{{type}} {{value}}와/과 연동된 계정이 이미 존재해요. 연동할까요?',
sign_in_id_does_not_exist: '{type}} {{value}} 계정이 존재하지 않아요. 새로 만드시겠어요?',
sign_in_id_does_not_exist_alert: '{{type}} {{value}} 계정이 존재하지 않아요.',
create_account_id_exists_alert: '{{type}} {{value}} 이미 존재해요.',
social_identity_exist:
'{{type}} {{value}}이/가 다른 계정과 연동되어 있어요. 다른 {{type}}을/를 시도해 보세요.',
bind_account_title: '계정 만들거나 연동하기',
social_create_account: '새로운 계정을 만들 수 있습니다.',
social_link_email: '다른 이메일을 연동할 수 있어요',
social_link_phone: '다른 휴대전화를 연동할 수 있어요',
social_link_email_or_phone: '다른 이메일이나 휴대전화를 연동할 수 있어요',
social_bind_with_existing: '등록된 관련 {{method}}이 있습니다. 직접 연결할 수 있습니다.',
reset_password: '비밀번호를 잊으셨나요',
reset_password_description:
'귀하의 계정과 연결된 {{types, list(type: disjunction;)}}를 입력하면 비밀번호 재설정을 위한 인증 코드를 보내드립니다.',
new_password: '새 비밀번호',
set_password: '비밀번호 설정',
password_changed: '비밀번호 변경됨',
no_account: '계정이 없나요?',
have_account: '이미 계정이 있나요?',
enter_password: '비밀번호 입력',
enter_password_for: '{{method}} {{value}} 비밀번호 로그인',
enter_username: '사용자 이름 설정하기',
enter_username_description:
'사용자 이름은 로그인을 할 때 사용되요. 사용자 이름에는 문자, 숫자 및 밑줄만 포함되어야 해요.',
link_email: '이메일 연동',
link_phone: '휴대전화번호 연동',
link_email_or_phone: '이메일 또는 휴대전화번호 연동',
link_email_description: '더 나은 보안을 위해 이메일을 연동해 주세요.',
link_phone_description: '더 나은 보안을 위해 휴대전화번호를 연동해 주세요.',
link_email_or_phone_description:
'더 나은 보안을 위해 이메일 또는 휴대전화번호를 연동해 주세요.',
continue_with_more_information: '더 나은 보안을 위해 아래 자세한 내용을 따라 주세요.',
create_your_account: '계정 생성하기',
sign_in_to_your_account: '계정에 로그인하세요',
no_region_code_found: '지역 코드를 찾을 수 없습니다.',
},
error: {
general_required: `{{types, list(type: disjunction;)}}은/는 필수예요.`,
general_invalid: `{{types, list(type: disjunction;)}}은/는 유효하지 않아요.`,
username_required: '사용자 이름은 필수예요.',
password_required: '비밀번호는 필수예요.',
username_exists: '사용자 이름이 이미 존재해요.',
username_should_not_start_with_number: '사용자 이름은 숫자로 시작하면 안 돼요.',
username_invalid_charset: '사용자 이름은 문자, 숫자, _(밑줄 문자) 로만 이루어져야 해요.',
invalid_email: '이메일이 유효하지 않아요.',
invalid_phone: '휴대전화번호가 유효하지 않아요.',
password_min_length: '비밀번호는 최소 {{min}} 자리로 이루어져야 해요.',
passwords_do_not_match: '비밀번호가 일치하지 않아요.',
invalid_password: '비밀번호는 최소 {{min}}자 이상이며 문자, 숫자 및 기호의 조합이어야 해요.',
invalid_passcode: '비밀번호가 유효하지 않아요.',
invalid_connector_auth: '인증이 유효하지 않아요.',
invalid_connector_request: '연동 정보가 유효하지 않아요.',
unknown: '알 수 없는 오류가 발생했어요. 잠시 후에 시도해 주세요.',
invalid_session: '세션을 찾을 수 없어요. 다시 로그인해 주세요.',
timeout: '요청 시간이 초과되었어요. 잠시 후에 다시 시도해 주세요.',
},
demo_app: {
notification: '알림:로그인 경험을 테스트하기 위해 먼저 계정을 만드는 것이 좋아요.',
},
};
const ko: LocalePhrase = Object.freeze({
translation,
});
export default ko;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: '로그인',
continue: '계속',
create_account: '계정 생성',
create_account_without_linking: '연동 없이 계정 생성하기',
create: '생성',
enter_passcode: '비밀번호 입력',
confirm: '확인',
cancel: '취소',
save_password: '저장',
bind: '{{address}}로 연동',
bind_and_continue: '연동하고 계속하기',
back: '뒤로 가기',
nav_back: '뒤로',
agree: '동의',
got_it: '알겠습니다',
sign_in_with: '{{name}} 계속',
forgot_password: '비밀번호를 잊어버리셨나요?',
switch_to: '{{method}}로 전환',
sign_in_via_passcode: '인증번호로 로그인',
sign_in_via_password: '비밀번호로 로그인',
change: '변경 {{method}}',
link_another_email: '다른 이메일 연동',
link_another_phone: '다른 전화번호 연동',
link_another_email_or_phone: '다른 이메일 또는 전화번호 연동',
show_password: '비밀번호 보기',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: '알림:로그인 경험을 테스트하기 위해 먼저 계정을 만드는 것이 좋아요.',
};
export default demo_app;

View file

@ -0,0 +1,58 @@
const description = {
email: '이메일',
phone_number: '휴대전화번호',
username: '사용자 이름',
reminder: '리마인더',
not_found: '404 찾을 수 없음',
agree_with_terms: '나는 내용을 읽었으며, 이에 동의합니다.',
agree_with_terms_modal: '진행하기 위해서는, 다음을 동의해주세요 <link></link>.',
terms_of_use: '이용약관',
sign_in: '로그인',
privacy_policy: '개인정보처리방침',
create_account: '계정 생성',
or: '또는',
and: '그리고',
enter_passcode: '{{address}} {{target}} 으로 비밀번호가 전송되었어요.',
passcode_sent: '비밀번호가 재전송되었어요.',
resend_after_seconds: '<span>{{seconds}}</span> 초 후에 재전송',
resend_passcode: '비밀번호 재전송',
create_account_id_exists:
'{{type}} {{value}} 계정은 다른 계정과 연결되어 있습니다. 다른 {{type}}을(를) 시도해주세요.',
link_account_id_exists: '{{type}} {{value}}와/과 연동된 계정이 이미 존재해요. 연동할까요?',
sign_in_id_does_not_exist: '{type}} {{value}} 계정이 존재하지 않아요. 새로 만드시겠어요?',
sign_in_id_does_not_exist_alert: '{{type}} {{value}} 계정이 존재하지 않아요.',
create_account_id_exists_alert: '{{type}} {{value}} 이미 존재해요.',
social_identity_exist:
'{{type}} {{value}}이/가 다른 계정과 연동되어 있어요. 다른 {{type}}을/를 시도해 보세요.',
bind_account_title: '계정 만들거나 연동하기',
social_create_account: '새로운 계정을 만들 수 있습니다.',
social_link_email: '다른 이메일을 연동할 수 있어요',
social_link_phone: '다른 휴대전화를 연동할 수 있어요',
social_link_email_or_phone: '다른 이메일이나 휴대전화를 연동할 수 있어요',
social_bind_with_existing: '등록된 관련 {{method}}이 있습니다. 직접 연결할 수 있습니다.',
reset_password: '비밀번호를 잊으셨나요',
reset_password_description:
'귀하의 계정과 연결된 {{types, list(type: disjunction;)}}를 입력하면 비밀번호 재설정을 위한 인증 코드를 보내드립니다.',
new_password: '새 비밀번호',
set_password: '비밀번호 설정',
password_changed: '비밀번호 변경됨',
no_account: '계정이 없나요?',
have_account: '이미 계정이 있나요?',
enter_password: '비밀번호 입력',
enter_password_for: '{{method}} {{value}} 비밀번호 로그인',
enter_username: '사용자 이름 설정하기',
enter_username_description:
'사용자 이름은 로그인을 할 때 사용되요. 사용자 이름에는 문자, 숫자 및 밑줄만 포함되어야 해요.',
link_email: '이메일 연동',
link_phone: '휴대전화번호 연동',
link_email_or_phone: '이메일 또는 휴대전화번호 연동',
link_email_description: '더 나은 보안을 위해 이메일을 연동해 주세요.',
link_phone_description: '더 나은 보안을 위해 휴대전화번호를 연동해 주세요.',
link_email_or_phone_description: '더 나은 보안을 위해 이메일 또는 휴대전화번호를 연동해 주세요.',
continue_with_more_information: '더 나은 보안을 위해 아래 자세한 내용을 따라 주세요.',
create_your_account: '계정 생성하기',
sign_in_to_your_account: '계정에 로그인하세요',
no_region_code_found: '지역 코드를 찾을 수 없습니다.',
};
export default description;

View file

@ -0,0 +1,22 @@
const error = {
general_required: '{{types, list(type: disjunction;)}}은/는 필수예요.',
general_invalid: '{{types, list(type: disjunction;)}}은/는 유효하지 않아요.',
username_required: '사용자 이름은 필수예요.',
password_required: '비밀번호는 필수예요.',
username_exists: '사용자 이름이 이미 존재해요.',
username_should_not_start_with_number: '사용자 이름은 숫자로 시작하면 안 돼요.',
username_invalid_charset: '사용자 이름은 문자, 숫자, _(밑줄 문자) 로만 이루어져야 해요.',
invalid_email: '이메일이 유효하지 않아요.',
invalid_phone: '휴대전화번호가 유효하지 않아요.',
password_min_length: '비밀번호는 최소 {{min}} 자리로 이루어져야 해요.',
passwords_do_not_match: '비밀번호가 일치하지 않아요.',
invalid_password: '비밀번호는 최소 {{min}}자 이상이며 문자, 숫자 및 기호의 조합이어야 해요.',
invalid_passcode: '비밀번호가 유효하지 않아요.',
invalid_connector_auth: '인증이 유효하지 않아요.',
invalid_connector_request: '연동 정보가 유효하지 않아요.',
unknown: '알 수 없는 오류가 발생했어요. 잠시 후에 시도해 주세요.',
invalid_session: '세션을 찾을 수 없어요. 다시 로그인해 주세요.',
timeout: '요청 시간이 초과되었어요. 잠시 후에 다시 시도해 주세요.',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const ko: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default ko;

View file

@ -0,0 +1,10 @@
const input = {
username: '사용자 이름',
password: '비밀번호',
email: '이메일',
phone_number: '휴대전화번호',
confirm_password: '비밀번호 확인',
search_region_code: '지역 코드 검색',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'이미 계정이 있으신가요? {{methods, list(type: disjunction;)}}로 로그인 해보세요!',
};
export default secondary;

View file

@ -1,133 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: 'Nome de usuário',
password: 'Senha',
email: 'E-mail',
phone_number: 'Número de telefone',
confirm_password: 'Confirme a senha',
search_region_code: 'Pesquisar código de região',
},
secondary: {
social_bind_with:
'Já tinha uma conta? Faça login no link {{methods, list(type: disjunction;)}} com sua identidade social.',
},
action: {
sign_in: 'Entrar',
continue: 'Continuar',
create_account: 'Criar conta',
create_account_without_linking: 'Criar conta sem vincular',
create: 'Criar',
enter_passcode: 'Inserir código de verificação',
confirm: 'Confirmar',
cancel: 'Cancelar',
save_password: 'Salvar senha',
bind: 'Link com {{address}}',
bind_and_continue: 'Linkar e continuar',
back: 'Voltar',
nav_back: 'Voltar',
agree: 'Aceito',
got_it: 'Entendido',
sign_in_with: 'Continuar com {{name}}',
forgot_password: 'Esqueceu sua senha?',
switch_to: 'Trocar para {{method}}',
sign_in_via_passcode: 'Fazer login com código de verificação',
sign_in_via_password: 'Fazer login com senha',
change: 'Alterar {{change}}',
link_another_email: 'Vincular outro e-mail',
link_another_phone: 'Vincular outro telefone',
link_another_email_or_phone: 'Vincular outro e-mail ou telefone',
show_password: 'Mostrar senha',
},
description: {
email: 'e-mail',
phone_number: 'número de telefone',
username: 'nome de usuário',
reminder: 'Lembrete',
not_found: '404 Não Encontrado',
agree_with_terms: 'Eu li e concordo com os ',
agree_with_terms_modal: 'Para continuar, por favor, concorde com os <link></link>.',
terms_of_use: 'Termos de uso',
sign_in: 'Entrar',
privacy_policy: 'Política de privacidade',
create_account: 'Criar conta',
or: 'ou',
and: 'e',
enter_passcode: 'O código de verificação foi enviado para o seu {{address}} {{target}}',
passcode_sent: 'O código de verificação foi reenviado',
resend_after_seconds: 'Reenviar depois <span>{{seconds}}</span> segundos',
resend_passcode: 'Reenviar código de verificação',
create_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de entrar?',
link_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de vincular?',
sign_in_id_does_not_exist:
'A conta com {{type}} {{value}} não existe, gostaria de criar uma nova conta?',
sign_in_id_does_not_exist_alert: 'A conta com {{type}} {{value}} não existe.',
create_account_id_exists_alert:
'A conta com {{type}} {{value}} está vinculada a outra conta. Por favor, tente outro {{type}}.',
social_identity_exist:
'O {{type}} {{value}} está vinculado a outra conta. Por favor, tente outro {{type}}.',
bind_account_title: 'Vincular ou criar conta',
social_create_account: 'Você pode criar uma nova conta.',
social_link_email: 'É possível vincular outro e-mail',
social_link_phone: 'É possível vincular outro telefone',
social_link_email_or_phone: 'É possível vincular outro e-mail ou telefone',
social_bind_with_existing:
'Encontramos uma conta relacionada registrada e você pode vinculá-la diretamente.',
reset_password: 'Esqueceu a senha',
reset_password_description:
'Digite o {{types, list(type: disjunction;)}} à sua conta e enviaremos a você o código de verificação para redefinir sua senha.',
new_password: 'Nova senha',
set_password: 'Configurar senha',
password_changed: 'Senha alterada',
no_account: 'Ainda não tem conta? ',
have_account: 'Já tinha uma conta?',
enter_password: 'Digite a senha',
enter_password_for: 'Entre com a senha para {{method}} {{value}}',
enter_username: 'Definir nome de usuário',
enter_username_description:
'O nome de usuário é uma alternativa para fazer login. O nome de usuário deve conter apenas letras, números e sublinhados.',
link_email: 'Linkar e-mail',
link_phone: 'Linkar telefone',
link_email_or_phone: 'Linkar e-mail ou telefone',
link_email_description: 'Para maior segurança, vincule seu e-mail à conta.',
link_phone_description: 'Para maior segurança, vincule seu telefone à conta.',
link_email_or_phone_description:
'Para maior segurança, vincule seu e-mail ou telefone à conta.',
continue_with_more_information: 'Para maior segurança, preencha os detalhes da conta abaixo.',
create_your_account: 'Crie sua conta',
sign_in_to_your_account: 'Faça login na sua conta',
no_region_code_found: 'Não foi possível encontrar o código de região do seu telefone.',
},
error: {
general_required: `{{types, list(type: disjunction;)}} é obrigatório`,
general_invalid: `O {{types, list(type: disjunction;)}} é inválido`,
username_required: 'Nome de usuário é obrigatório',
password_required: 'Senha é obrigatório',
username_exists: 'O nome de usuário já existe',
username_should_not_start_with_number: 'O nome de usuário não deve começar com um número',
username_invalid_charset:
'O nome de usuário deve conter apenas letras, números ou sublinhados.',
invalid_email: 'O e-mail é inválido',
invalid_phone: 'O número de telefone é inválido',
password_min_length: 'A senha requer um mínimo de {{min}} caracteres',
passwords_do_not_match: 'Suas senhas não correspondem. Por favor, tente novamente.',
invalid_password:
'A senha requer um mínimo de {{min}} caracteres e contém uma mistura de letras, números e símbolos.',
invalid_passcode: 'O código de verificação é inválido',
invalid_connector_auth: 'A autorização é inválida',
invalid_connector_request: 'Os dados do conector são inválidos',
unknown: 'Erro desconhecido. Por favor, tente novamente mais tarde.',
invalid_session: 'Sessão não encontrada. Volte e faça login novamente.',
timeout: 'Tempo limite excedido. Por favor, tente novamente mais tarde.',
},
demo_app: {
notification: 'Dica: Crie uma conta primeiro para testar a experiência de login.',
},
};
const ptBR: LocalePhrase = Object.freeze({
translation,
});
export default ptBR;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: 'Entrar',
continue: 'Continuar',
create_account: 'Criar conta',
create_account_without_linking: 'Criar conta sem vincular',
create: 'Criar',
enter_passcode: 'Inserir código de verificação',
confirm: 'Confirmar',
cancel: 'Cancelar',
save_password: 'Salvar senha',
bind: 'Link com {{address}}',
bind_and_continue: 'Linkar e continuar',
back: 'Voltar',
nav_back: 'Voltar',
agree: 'Aceito',
got_it: 'Entendido',
sign_in_with: 'Continuar com {{name}}',
forgot_password: 'Esqueceu sua senha?',
switch_to: 'Trocar para {{method}}',
sign_in_via_passcode: 'Fazer login com código de verificação',
sign_in_via_password: 'Fazer login com senha',
change: 'Alterar {{change}}',
link_another_email: 'Vincular outro e-mail',
link_another_phone: 'Vincular outro telefone',
link_another_email_or_phone: 'Vincular outro e-mail ou telefone',
show_password: 'Mostrar senha',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: 'Dica: Crie uma conta primeiro para testar a experiência de login.',
};
export default demo_app;

View file

@ -0,0 +1,60 @@
const description = {
email: 'e-mail',
phone_number: 'número de telefone',
username: 'nome de usuário',
reminder: 'Lembrete',
not_found: '404 Não Encontrado',
agree_with_terms: 'Eu li e concordo com os ',
agree_with_terms_modal: 'Para continuar, por favor, concorde com os <link></link>.',
terms_of_use: 'Termos de uso',
sign_in: 'Entrar',
privacy_policy: 'Política de privacidade',
create_account: 'Criar conta',
or: 'ou',
and: 'e',
enter_passcode: 'O código de verificação foi enviado para o seu {{address}} {{target}}',
passcode_sent: 'O código de verificação foi reenviado',
resend_after_seconds: 'Reenviar depois <span>{{seconds}}</span> segundos',
resend_passcode: 'Reenviar código de verificação',
create_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de entrar?',
link_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de vincular?',
sign_in_id_does_not_exist:
'A conta com {{type}} {{value}} não existe, gostaria de criar uma nova conta?',
sign_in_id_does_not_exist_alert: 'A conta com {{type}} {{value}} não existe.',
create_account_id_exists_alert:
'A conta com {{type}} {{value}} está vinculada a outra conta. Por favor, tente outro {{type}}.',
social_identity_exist:
'O {{type}} {{value}} está vinculado a outra conta. Por favor, tente outro {{type}}.',
bind_account_title: 'Vincular ou criar conta',
social_create_account: 'Você pode criar uma nova conta.',
social_link_email: 'É possível vincular outro e-mail',
social_link_phone: 'É possível vincular outro telefone',
social_link_email_or_phone: 'É possível vincular outro e-mail ou telefone',
social_bind_with_existing:
'Encontramos uma conta relacionada registrada e você pode vinculá-la diretamente.',
reset_password: 'Esqueceu a senha',
reset_password_description:
'Digite o {{types, list(type: disjunction;)}} à sua conta e enviaremos a você o código de verificação para redefinir sua senha.',
new_password: 'Nova senha',
set_password: 'Configurar senha',
password_changed: 'Senha alterada',
no_account: 'Ainda não tem conta? ',
have_account: 'Já tinha uma conta?',
enter_password: 'Digite a senha',
enter_password_for: 'Entre com a senha para {{method}} {{value}}',
enter_username: 'Definir nome de usuário',
enter_username_description:
'O nome de usuário é uma alternativa para fazer login. O nome de usuário deve conter apenas letras, números e sublinhados.',
link_email: 'Linkar e-mail',
link_phone: 'Linkar telefone',
link_email_or_phone: 'Linkar e-mail ou telefone',
link_email_description: 'Para maior segurança, vincule seu e-mail à conta.',
link_phone_description: 'Para maior segurança, vincule seu telefone à conta.',
link_email_or_phone_description: 'Para maior segurança, vincule seu e-mail ou telefone à conta.',
continue_with_more_information: 'Para maior segurança, preencha os detalhes da conta abaixo.',
create_your_account: 'Crie sua conta',
sign_in_to_your_account: 'Faça login na sua conta',
no_region_code_found: 'Não foi possível encontrar o código de região do seu telefone.',
};
export default description;

View file

@ -0,0 +1,23 @@
const error = {
general_required: '{{types, list(type: disjunction;)}} é obrigatório',
general_invalid: 'O {{types, list(type: disjunction;)}} é inválido',
username_required: 'Nome de usuário é obrigatório',
password_required: 'Senha é obrigatório',
username_exists: 'O nome de usuário já existe',
username_should_not_start_with_number: 'O nome de usuário não deve começar com um número',
username_invalid_charset: 'O nome de usuário deve conter apenas letras, números ou sublinhados.',
invalid_email: 'O e-mail é inválido',
invalid_phone: 'O número de telefone é inválido',
password_min_length: 'A senha requer um mínimo de {{min}} caracteres',
passwords_do_not_match: 'Suas senhas não correspondem. Por favor, tente novamente.',
invalid_password:
'A senha requer um mínimo de {{min}} caracteres e contém uma mistura de letras, números e símbolos.',
invalid_passcode: 'O código de verificação é inválido',
invalid_connector_auth: 'A autorização é inválida',
invalid_connector_request: 'Os dados do conector são inválidos',
unknown: 'Erro desconhecido. Por favor, tente novamente mais tarde.',
invalid_session: 'Sessão não encontrada. Volte e faça login novamente.',
timeout: 'Tempo limite excedido. Por favor, tente novamente mais tarde.',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const ptBR: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default ptBR;

View file

@ -0,0 +1,10 @@
const input = {
username: 'Nome de usuário',
password: 'Senha',
email: 'E-mail',
phone_number: 'Número de telefone',
confirm_password: 'Confirme a senha',
search_region_code: 'Pesquisar código de região',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'Já tinha uma conta? Faça login no link {{methods, list(type: disjunction;)}} com sua identidade social.',
};
export default secondary;

View file

@ -1,133 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: 'Utilizador',
password: 'Palavra-passe',
email: 'Email',
phone_number: 'Telefone',
confirm_password: 'Confirmar palavra-passe',
search_region_code: 'Procurar código de região',
},
secondary: {
social_bind_with:
'Já tem uma conta? Faça login para agregar {{methods, list(type: disjunction;)}} com a sua identidade social.',
},
action: {
sign_in: 'Entrar',
continue: 'Continuar',
create_account: 'Criar uma conta',
create_account_without_linking: 'Criar conta sem vinculação',
create: 'Criar',
enter_passcode: 'Introduzir código de verificação',
confirm: 'Confirmar',
cancel: 'Cancelar',
save_password: 'Guardar palavra-passe',
bind: 'Agregar a {{address}}',
bind_and_continue: 'Ligar e continuar',
back: 'Voltar',
nav_back: 'Anterior',
agree: 'Aceito',
got_it: 'Entendi',
sign_in_with: 'Continuar com {{name}}',
forgot_password: 'Esqueceu-se da palavra-passe?',
switch_to: 'Mudar para {{method}}',
sign_in_via_passcode: 'Iniciar sessão com código de verificação',
sign_in_via_password: 'Iniciar sessão com palavra-passe',
change: 'Alterar {{method}}',
link_another_email: 'Vincular outro email',
link_another_phone: 'Vincular outro telefone',
link_another_email_or_phone: 'Vincular outro email ou telefone',
show_password: 'Mostrar palavra-passe',
},
description: {
email: 'email',
phone_number: 'telefone',
username: 'utilizador',
reminder: 'Lembrete',
not_found: '404 Não encontrado',
agree_with_terms: 'Eu li e concordo com os ',
agree_with_terms_modal: 'Para prosseguir, por favor, concorde com o <link></link>.',
terms_of_use: 'Termos de uso',
sign_in: 'Entrar',
privacy_policy: 'Política de privacidade',
create_account: 'Criar uma conta',
or: 'ou',
and: 'e',
enter_passcode: 'O código de verificação foi enviado para o seu {{address}} {{target}}',
passcode_sent: 'O código de verificação foi reenviado',
resend_after_seconds: 'Reenviar após <span>{{seconds}}</span> segundos',
resend_passcode: 'Reenviar código de verificação',
create_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de fazer login?',
link_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de vinculá-la?',
sign_in_id_does_not_exist: 'A conta com {{type}} {{value}} não existe, gostaria de criar uma?',
sign_in_id_does_not_exist_alert: 'A conta com {{type}} {{value}} não existe.',
create_account_id_exists_alert:
'A conta com {{type}} {{value}} está vinculada a outra conta. Por favor, tente outro {{type}}.',
social_identity_exist:
'O {{type}} {{value}} está vinculado a outra conta. Por favor, tente outro {{type}}.',
bind_account_title: 'Vincular ou criar conta',
social_create_account: 'Pode criar uma nova conta.',
social_link_email: 'Pode vincular outro email',
social_link_phone: 'Pode vincular outro telefone',
social_link_email_or_phone: 'Pode vincular outro email ou telefone',
social_bind_with_existing:
'Encontramos uma conta relacionada registrada e você pode vinculá-la diretamente.',
reset_password: 'Esqueceu a senha',
reset_password_description:
'Insira os {{types, list(type: disjunction;)}} associados à sua conta e enviaremos o código de verificação para redefinir sua senha.',
new_password: 'Nova Senha',
set_password: 'Definir senha',
password_changed: 'Senha alterada',
no_account: 'Ainda não tem conta?',
have_account: 'Já tem conta?',
enter_password: 'Digite a senha',
enter_password_for: 'Faça login com a senha do {{method}} {{value}}',
enter_username: 'Definir nome de usuário',
enter_username_description:
'O nome de usuário é uma alternativa para o login. O nome de usuário deve conter apenas letras, números e sublinhados.',
link_email: 'Vincular email',
link_phone: 'Vincular telefone',
link_email_or_phone: 'Vincular email ou telefone',
link_email_description: 'Para maior segurança, vincule o seu email à conta.',
link_phone_description: 'Para maior segurança, vincule o seu telefone à conta.',
link_email_or_phone_description:
'Para maior segurança, vincule o seu email ou telefone à conta.',
continue_with_more_information:
'Para maior segurança, por favor complete os detalhes da conta abaixo.',
create_your_account: 'Crie a sua conta',
sign_in_to_your_account: 'Inicie sessão na sua conta',
no_region_code_found: 'Não foi possível encontrar o código de região do seu telefone.',
},
error: {
general_required: `{{types, list(type: disjunction;)}} is necessário`,
general_invalid: `O {{types, list(type: disjunction;)}} é inválido`,
username_required: 'Utilizador necessário',
password_required: 'Password necessária',
username_exists: 'O nome de utilizador já existe',
username_should_not_start_with_number: 'O nome de utilizador não deve começar com um número',
username_invalid_charset:
'O nome de utilizador deve conter apenas letras, números ou underscores.',
invalid_email: 'O email é inválido',
invalid_phone: 'O número de telefone é inválido',
password_min_length: 'A password requer um mínimo de {{min}} caracteres',
invalid_password:
'A senha requer um mínimo de {{min}} caracteres e contém uma mistura de letras, números e símbolos.',
passwords_do_not_match: 'As passwords não coincidem',
invalid_passcode: 'O código de verificação é inválido.',
invalid_connector_auth: 'A autorização é inválida',
invalid_connector_request: 'Os dados do conector são inválidos',
unknown: 'Erro desconhecido. Por favor, tente novamente mais tarde.',
invalid_session: 'Sessão não encontrada. Volte e faça login novamente.',
timeout: 'Tempo limite de sessão. Volte e faça login novamente.',
},
demo_app: {
notification: 'Dica: Crie uma conta primeiro para testar a experiência de login.',
},
};
const ptPT: LocalePhrase = Object.freeze({
translation,
});
export default ptPT;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: 'Entrar',
continue: 'Continuar',
create_account: 'Criar uma conta',
create_account_without_linking: 'Criar conta sem vinculação',
create: 'Criar',
enter_passcode: 'Introduzir código de verificação',
confirm: 'Confirmar',
cancel: 'Cancelar',
save_password: 'Guardar palavra-passe',
bind: 'Agregar a {{address}}',
bind_and_continue: 'Ligar e continuar',
back: 'Voltar',
nav_back: 'Anterior',
agree: 'Aceito',
got_it: 'Entendi',
sign_in_with: 'Continuar com {{name}}',
forgot_password: 'Esqueceu-se da palavra-passe?',
switch_to: 'Mudar para {{method}}',
sign_in_via_passcode: 'Iniciar sessão com código de verificação',
sign_in_via_password: 'Iniciar sessão com palavra-passe',
change: 'Alterar {{method}}',
link_another_email: 'Vincular outro email',
link_another_phone: 'Vincular outro telefone',
link_another_email_or_phone: 'Vincular outro email ou telefone',
show_password: 'Mostrar palavra-passe',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: 'Dica: Crie uma conta primeiro para testar a experiência de login.',
};
export default demo_app;

View file

@ -0,0 +1,60 @@
const description = {
email: 'email',
phone_number: 'telefone',
username: 'utilizador',
reminder: 'Lembrete',
not_found: '404 Não encontrado',
agree_with_terms: 'Eu li e concordo com os ',
agree_with_terms_modal: 'Para prosseguir, por favor, concorde com o <link></link>.',
terms_of_use: 'Termos de uso',
sign_in: 'Entrar',
privacy_policy: 'Política de privacidade',
create_account: 'Criar uma conta',
or: 'ou',
and: 'e',
enter_passcode: 'O código de verificação foi enviado para o seu {{address}} {{target}}',
passcode_sent: 'O código de verificação foi reenviado',
resend_after_seconds: 'Reenviar após <span>{{seconds}}</span> segundos',
resend_passcode: 'Reenviar código de verificação',
create_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de fazer login?',
link_account_id_exists: 'A conta com {{type}} {{value}} já existe, gostaria de vinculá-la?',
sign_in_id_does_not_exist: 'A conta com {{type}} {{value}} não existe, gostaria de criar uma?',
sign_in_id_does_not_exist_alert: 'A conta com {{type}} {{value}} não existe.',
create_account_id_exists_alert:
'A conta com {{type}} {{value}} está vinculada a outra conta. Por favor, tente outro {{type}}.',
social_identity_exist:
'O {{type}} {{value}} está vinculado a outra conta. Por favor, tente outro {{type}}.',
bind_account_title: 'Vincular ou criar conta',
social_create_account: 'Pode criar uma nova conta.',
social_link_email: 'Pode vincular outro email',
social_link_phone: 'Pode vincular outro telefone',
social_link_email_or_phone: 'Pode vincular outro email ou telefone',
social_bind_with_existing:
'Encontramos uma conta relacionada registrada e você pode vinculá-la diretamente.',
reset_password: 'Esqueceu a senha',
reset_password_description:
'Insira os {{types, list(type: disjunction;)}} associados à sua conta e enviaremos o código de verificação para redefinir sua senha.',
new_password: 'Nova Senha',
set_password: 'Definir senha',
password_changed: 'Senha alterada',
no_account: 'Ainda não tem conta?',
have_account: 'Já tem conta?',
enter_password: 'Digite a senha',
enter_password_for: 'Faça login com a senha do {{method}} {{value}}',
enter_username: 'Definir nome de usuário',
enter_username_description:
'O nome de usuário é uma alternativa para o login. O nome de usuário deve conter apenas letras, números e sublinhados.',
link_email: 'Vincular email',
link_phone: 'Vincular telefone',
link_email_or_phone: 'Vincular email ou telefone',
link_email_description: 'Para maior segurança, vincule o seu email à conta.',
link_phone_description: 'Para maior segurança, vincule o seu telefone à conta.',
link_email_or_phone_description: 'Para maior segurança, vincule o seu email ou telefone à conta.',
continue_with_more_information:
'Para maior segurança, por favor complete os detalhes da conta abaixo.',
create_your_account: 'Crie a sua conta',
sign_in_to_your_account: 'Inicie sessão na sua conta',
no_region_code_found: 'Não foi possível encontrar o código de região do seu telefone.',
};
export default description;

View file

@ -0,0 +1,24 @@
const error = {
general_required: '{{types, list(type: disjunction;)}} is necessário',
general_invalid: 'O {{types, list(type: disjunction;)}} é inválido',
username_required: 'Utilizador necessário',
password_required: 'Password necessária',
username_exists: 'O nome de utilizador já existe',
username_should_not_start_with_number: 'O nome de utilizador não deve começar com um número',
username_invalid_charset:
'O nome de utilizador deve conter apenas letras, números ou underscores.',
invalid_email: 'O email é inválido',
invalid_phone: 'O número de telefone é inválido',
password_min_length: 'A password requer um mínimo de {{min}} caracteres',
invalid_password:
'A senha requer um mínimo de {{min}} caracteres e contém uma mistura de letras, números e símbolos.',
passwords_do_not_match: 'As passwords não coincidem',
invalid_passcode: 'O código de verificação é inválido.',
invalid_connector_auth: 'A autorização é inválida',
invalid_connector_request: 'Os dados do conector são inválidos',
unknown: 'Erro desconhecido. Por favor, tente novamente mais tarde.',
invalid_session: 'Sessão não encontrada. Volte e faça login novamente.',
timeout: 'Tempo limite de sessão. Volte e faça login novamente.',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const ptPT: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default ptPT;

View file

@ -0,0 +1,10 @@
const input = {
username: 'Utilizador',
password: 'Palavra-passe',
email: 'Email',
phone_number: 'Telefone',
confirm_password: 'Confirmar palavra-passe',
search_region_code: 'Procurar código de região',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'Já tem uma conta? Faça login para agregar {{methods, list(type: disjunction;)}} com a sua identidade social.',
};
export default secondary;

View file

@ -1,136 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: 'Имя пользователя',
password: 'Пароль',
email: 'Электронная почта',
phone_number: 'Номер телефона',
confirm_password: 'Подтверждение пароля',
search_region_code: 'Поиск кода региона',
},
secondary: {
social_bind_with:
'Уже есть аккаунт? Войдите, чтобы привязать {{methods, list(type: disjunction;)}}.',
},
action: {
sign_in: 'Войти',
continue: 'Продолжить',
create_account: 'Создать аккаунт',
create_account_without_linking: 'Создать аккаунт без связывания',
create: 'Создать',
enter_passcode: 'Введите код подтверждения',
confirm: 'Подтвердить',
cancel: 'Отменить',
save_password: 'Сохраните пароль',
bind: 'Привязать к {{address}}',
bind_and_continue: 'Привязать и продолжить',
back: 'Назад',
nav_back: 'Назад',
agree: 'Согласен',
got_it: 'Понял',
sign_in_with: 'Войти через {{name}}',
forgot_password: 'Забыли пароль?',
switch_to: 'Изменить на {{method}}',
sign_in_via_passcode: 'Войти с кодом подтверждения',
sign_in_via_password: 'Войти с паролем',
change: 'Изменить {{method}}',
link_another_email: 'Привязать другую почту',
link_another_phone: 'Привязать другой номер',
link_another_email_or_phone: 'Привязать другую почту или номер',
show_password: 'Показать пароль',
},
description: {
email: 'адрес электронной почты',
phone_number: 'номер телефона',
username: 'имя пользователя',
reminder: 'Напоминание',
not_found: '404 Не найдено',
agree_with_terms: 'Я прочитал и согласен с ',
agree_with_terms_modal: 'Чтобы продолжить, пожалуйста, согласитесь с <link></link>',
terms_of_use: 'Условиями использования',
sign_in: 'Войти',
privacy_policy: 'Политикой конфиденциальности',
create_account: 'Создать аккаунт',
or: 'или',
and: 'и',
enter_passcode: 'Код подтверждения был отправлен на {{address}}',
passcode_sent: 'Код подтверждения был отправлен повторно',
resend_after_seconds: 'Отправить повторно через <span>{{seconds}}</span> сек.',
resend_passcode: 'Отправить повторно',
create_account_id_exists: 'Учетная запись для {{value}} уже существует, хотите войти?',
link_account_id_exists: 'Учетная запись для {{value}} уже существует, хотите привязать?',
sign_in_id_does_not_exist:
'Учетная запись для {{value}} не существует, хотите зарегистрироваться?',
sign_in_id_does_not_exist_alert: 'Учетная запись для {{value}} не существует.',
create_account_id_exists_alert:
'Аккаунт с {{type}} {{value}} связан с другим аккаунтом. Пожалуйста, попробуйте другой {{type}}.',
social_identity_exist:
'{{type}} {{value}} связан с другим аккаунтом. Пожалуйста, попробуйте другой {{type}}.',
bind_account_title: 'Привязать или создать аккаунт',
social_create_account: 'Вы можете создать новую учетную запись.',
social_link_email: 'Вы можете привязать другой адрес электронной почты',
social_link_phone: 'Вы можете привязать другой номер телефона',
social_link_email_or_phone: 'Вы можете привязать другой адрес электронной почты или телефон',
social_bind_with_existing:
'Мы находим зарегистрированную связанную учетную запись, и вы можете связать ее напрямую.',
reset_password: 'Забыли пароль',
reset_password_description:
'Введите {{types, list(type: disjunction;)}} от вашей учетной записи, и мы вышлем вам код для восстановления пароля.',
new_password: 'Новый пароль',
set_password: 'Задать пароль',
password_changed: 'Пароль изменен',
no_account: 'Еще не зарегистрированы? ',
have_account: 'Уже есть аккаунт?',
enter_password: 'Введите пароль',
enter_password_for: 'Введите пароль для {{value}}',
enter_username: 'Установить имя пользователя',
enter_username_description:
'Имя пользователя является альтернативой для входа в систему. Имя пользователя должно содержать только буквы, цифры и символы подчеркивания.',
link_email: 'Привязать почту',
link_phone: 'Привязать номер телефона',
link_email_or_phone: 'Привязать почту или номер телефона',
link_email_description:
'Для дополнительной безопасности, пожалуйста, привяжите свою электронную почту к учетной записи.',
link_phone_description:
'Для дополнительной безопасности, пожалуйста, привяжите свой номер телефона к учетной записи.',
link_email_or_phone_description:
'Для дополнительной безопасности, пожалуйста, привяжите свою электронную почту или номер телефона к учетной записи.',
continue_with_more_information:
'Для дополнительной безопасности, пожалуйста, заполните приведенные ниже данные учетной записи.',
create_your_account: 'Создайте свой аккаунт',
sign_in_to_your_account: 'Войди в свой аккаунт',
no_region_code_found: 'Не удалось определить код региона',
},
error: {
general_required: `Введите {{types, list(type: disjunction;)}}`,
general_invalid: `Проверьте {{types, list(type: disjunction;)}}`,
username_required: 'Введите имя пользователя',
password_required: 'Введите пароль',
username_exists: 'Имя пользователя занято',
username_should_not_start_with_number: 'Имя пользователя не должно начинаться с цифры',
username_invalid_charset:
'Имя пользователя должно содержать только буквы, цифры или символы подчеркивания',
invalid_email: 'Электронная почта указана неправильно',
invalid_phone: 'Номер телефона указан неправильно',
password_min_length: 'Пароль должен быть минимум {{min}} символов',
passwords_do_not_match: 'Пароли не совпадают. Пожалуйста, попробуйте еще раз.',
invalid_password:
'Пароль должен содержать минимум {{min}} символов, включая буквы, цифры и символы.',
invalid_passcode: 'Неправильный код подтверждения',
invalid_connector_auth: 'Авторизация недействительна',
invalid_connector_request: 'Данные коннектора недействительны.',
unknown: 'Неизвестная ошибка. Пожалуйста, повторите попытку позднее.',
invalid_session: 'Сессия не найдена. Пожалуйста, войдите снова.',
timeout: 'Время ожидания истекло. Пожалуйста, повторите попытку позднее.',
},
demo_app: {
notification: 'Совет: Создайте аккаунт сначала, чтобы протестировать процесс входа.',
},
};
const ru: LocalePhrase = Object.freeze({
translation,
});
export default ru;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: 'Войти',
continue: 'Продолжить',
create_account: 'Создать аккаунт',
create_account_without_linking: 'Создать аккаунт без связывания',
create: 'Создать',
enter_passcode: 'Введите код подтверждения',
confirm: 'Подтвердить',
cancel: 'Отменить',
save_password: 'Сохраните пароль',
bind: 'Привязать к {{address}}',
bind_and_continue: 'Привязать и продолжить',
back: 'Назад',
nav_back: 'Назад',
agree: 'Согласен',
got_it: 'Понял',
sign_in_with: 'Войти через {{name}}',
forgot_password: 'Забыли пароль?',
switch_to: 'Изменить на {{method}}',
sign_in_via_passcode: 'Войти с кодом подтверждения',
sign_in_via_password: 'Войти с паролем',
change: 'Изменить {{method}}',
link_another_email: 'Привязать другую почту',
link_another_phone: 'Привязать другой номер',
link_another_email_or_phone: 'Привязать другую почту или номер',
show_password: 'Показать пароль',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: 'Совет: Создайте аккаунт сначала, чтобы протестировать процесс входа.',
};
export default demo_app;

View file

@ -0,0 +1,64 @@
const description = {
email: 'адрес электронной почты',
phone_number: 'номер телефона',
username: 'имя пользователя',
reminder: 'Напоминание',
not_found: '404 Не найдено',
agree_with_terms: 'Я прочитал и согласен с ',
agree_with_terms_modal: 'Чтобы продолжить, пожалуйста, согласитесь с <link></link>',
terms_of_use: 'Условиями использования',
sign_in: 'Войти',
privacy_policy: 'Политикой конфиденциальности',
create_account: 'Создать аккаунт',
or: 'или',
and: 'и',
enter_passcode: 'Код подтверждения был отправлен на {{address}}',
passcode_sent: 'Код подтверждения был отправлен повторно',
resend_after_seconds: 'Отправить повторно через <span>{{seconds}}</span> сек.',
resend_passcode: 'Отправить повторно',
create_account_id_exists: 'Учетная запись для {{value}} уже существует, хотите войти?',
link_account_id_exists: 'Учетная запись для {{value}} уже существует, хотите привязать?',
sign_in_id_does_not_exist:
'Учетная запись для {{value}} не существует, хотите зарегистрироваться?',
sign_in_id_does_not_exist_alert: 'Учетная запись для {{value}} не существует.',
create_account_id_exists_alert:
'Аккаунт с {{type}} {{value}} связан с другим аккаунтом. Пожалуйста, попробуйте другой {{type}}.',
social_identity_exist:
'{{type}} {{value}} связан с другим аккаунтом. Пожалуйста, попробуйте другой {{type}}.',
bind_account_title: 'Привязать или создать аккаунт',
social_create_account: 'Вы можете создать новую учетную запись.',
social_link_email: 'Вы можете привязать другой адрес электронной почты',
social_link_phone: 'Вы можете привязать другой номер телефона',
social_link_email_or_phone: 'Вы можете привязать другой адрес электронной почты или телефон',
social_bind_with_existing:
'Мы находим зарегистрированную связанную учетную запись, и вы можете связать ее напрямую.',
reset_password: 'Забыли пароль',
reset_password_description:
'Введите {{types, list(type: disjunction;)}} от вашей учетной записи, и мы вышлем вам код для восстановления пароля.',
new_password: 'Новый пароль',
set_password: 'Задать пароль',
password_changed: 'Пароль изменен',
no_account: 'Еще не зарегистрированы? ',
have_account: 'Уже есть аккаунт?',
enter_password: 'Введите пароль',
enter_password_for: 'Введите пароль для {{value}}',
enter_username: 'Установить имя пользователя',
enter_username_description:
'Имя пользователя является альтернативой для входа в систему. Имя пользователя должно содержать только буквы, цифры и символы подчеркивания.',
link_email: 'Привязать почту',
link_phone: 'Привязать номер телефона',
link_email_or_phone: 'Привязать почту или номер телефона',
link_email_description:
'Для дополнительной безопасности, пожалуйста, привяжите свою электронную почту к учетной записи.',
link_phone_description:
'Для дополнительной безопасности, пожалуйста, привяжите свой номер телефона к учетной записи.',
link_email_or_phone_description:
'Для дополнительной безопасности, пожалуйста, привяжите свою электронную почту или номер телефона к учетной записи.',
continue_with_more_information:
'Для дополнительной безопасности, пожалуйста, заполните приведенные ниже данные учетной записи.',
create_your_account: 'Создайте свой аккаунт',
sign_in_to_your_account: 'Войди в свой аккаунт',
no_region_code_found: 'Не удалось определить код региона',
};
export default description;

View file

@ -0,0 +1,24 @@
const error = {
general_required: 'Введите {{types, list(type: disjunction;)}}',
general_invalid: 'Проверьте {{types, list(type: disjunction;)}}',
username_required: 'Введите имя пользователя',
password_required: 'Введите пароль',
username_exists: 'Имя пользователя занято',
username_should_not_start_with_number: 'Имя пользователя не должно начинаться с цифры',
username_invalid_charset:
'Имя пользователя должно содержать только буквы, цифры или символы подчеркивания',
invalid_email: 'Электронная почта указана неправильно',
invalid_phone: 'Номер телефона указан неправильно',
password_min_length: 'Пароль должен быть минимум {{min}} символов',
passwords_do_not_match: 'Пароли не совпадают. Пожалуйста, попробуйте еще раз.',
invalid_password:
'Пароль должен содержать минимум {{min}} символов, включая буквы, цифры и символы.',
invalid_passcode: 'Неправильный код подтверждения',
invalid_connector_auth: 'Авторизация недействительна',
invalid_connector_request: 'Данные коннектора недействительны.',
unknown: 'Неизвестная ошибка. Пожалуйста, повторите попытку позднее.',
invalid_session: 'Сессия не найдена. Пожалуйста, войдите снова.',
timeout: 'Время ожидания истекло. Пожалуйста, повторите попытку позднее.',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const ru: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default ru;

View file

@ -0,0 +1,10 @@
const input = {
username: 'Имя пользователя',
password: 'Пароль',
email: 'Электронная почта',
phone_number: 'Номер телефона',
confirm_password: 'Подтверждение пароля',
search_region_code: 'Поиск кода региона',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'Уже есть аккаунт? Войдите, чтобы привязать {{methods, list(type: disjunction;)}}.',
};
export default secondary;

View file

@ -1,132 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: 'Kullanıcı Adı',
password: 'Şifre',
email: 'E-posta Adresi',
phone_number: 'Telefon Numarası',
confirm_password: 'Şifreyi Doğrula',
search_region_code: 'Bölge kodunu ara',
},
secondary: {
social_bind_with:
'Hesabınız zaten var mı? {{methods, list(type: disjunction;)}} bağlantısına tıklayarak giriş yapabilirsiniz',
},
action: {
sign_in: 'Giriş Yap',
continue: 'İlerle',
create_account: 'Hesap Oluştur',
create_account_without_linking: 'Bağlamadan hesap oluştur',
create: 'Oluştur',
enter_passcode: 'Doğrulama kodunu girin',
confirm: 'Onayla',
cancel: 'İptal Et',
save_password: 'Şifreyi kaydet',
bind: '{{address}} ile birleştir',
bind_and_continue: 'Bağla ve devam et',
back: 'Geri Dön',
nav_back: 'Geri',
agree: 'Kabul Et',
got_it: 'Anladım',
sign_in_with: '{{name}} ile ilerle',
forgot_password: 'Şifremi Unuttum?',
switch_to: '{{method}} yöntemine geç',
sign_in_via_passcode: 'Doğrulama koduyla oturum açın',
sign_in_via_password: 'şifre ile giriş yap',
change: '{{method}} değiştir',
link_another_email: 'Başka bir e-postayı bağla',
link_another_phone: 'Başka bir telefon bağla',
link_another_email_or_phone: 'Başka bir e-posta veya telefon bağlayın',
show_password: 'Şifreyi göster',
},
description: {
email: 'e-posta adresi',
phone_number: 'telefon numarası',
username: 'kullanıcı Adı',
reminder: 'Hatırlatıcı',
not_found: '404 Bulunamadı',
agree_with_terms: 'Okudum ve anladım',
agree_with_terms_modal: "Devam etmek için lütfen <link></link>'i kabul edin.",
terms_of_use: 'Kullanım Koşulları',
sign_in: 'Giriş Yap',
privacy_policy: 'Gizlilik Politikası',
create_account: 'Hesap Oluştur',
or: 'veya',
and: 've',
enter_passcode: 'Doğrulama kodu {{address}} {{target}} adresinize gönderildi',
passcode_sent: 'Doğrulama kodu yeniden gönderildi',
resend_after_seconds: '<span>{{seconds}}</span> saniye sonra tekrar gönder',
resend_passcode: 'Doğrulama kodunu tekrar gönder',
create_account_id_exists: '{{type}} {{value}} ile hesap mevcut, giriş yapmak ister misiniz?',
link_account_id_exists: '{{type}} {{value}} olan hesap zaten var, bağlamak ister misiniz?',
sign_in_id_does_not_exist:
'{{type}} {{value}} ile hesap mevcut değil, yeni bir hesap oluşturmak ister misiniz?',
sign_in_id_does_not_exist_alert: '{{type}} {{value}} olan hesap mevcut değil.',
create_account_id_exists_alert:
'{{type}} {{value}} olan hesap başka bir hesaba bağlı. Lütfen başka bir {{type}} deneyin.',
social_identity_exist:
'{{type}} {{value}} başka bir hesaba bağlı. Lütfen başka bir {{type}} deneyin.',
bind_account_title: 'Bağla veya hesap oluştur',
social_create_account: 'Yeni bir hesap oluşturabilirsiniz.',
social_link_email: 'Başka bir e-posta bağlayabilirsiniz',
social_link_phone: 'Başka bir telefon bağlayabilirsiniz',
social_link_email_or_phone: 'Başka bir e-posta veya telefon bağlayabilirsiniz',
social_bind_with_existing: 'Kayıtlı ilgili bir hesap bulduk ve onu doğrudan bağlayabilirsiniz.',
reset_password: 'Parolanızı mı unuttunuz',
reset_password_description:
'Hesabınızla ilişkili {{types, list(type: disjunction;)}} girin, şifrenizi sıfırlamanız için size doğrulama kodunu göndereceğiz.',
new_password: 'Yeni Şifre',
set_password: 'Şifreyi belirle',
password_changed: 'Şifre değişti',
no_account: 'Henüz hesap yok mu?',
have_account: 'Zaten bir hesabınız var mıydı?',
enter_password: 'Parolanı Gir',
enter_password_for: '{{method}} {{value}} şifresiyle oturum açın',
enter_username: 'Kullanıcı adını ayarla',
enter_username_description:
'Kullanıcı adı, oturum açmak için bir alternatiftir. Kullanıcı adı yalnızca harf, sayı ve alt çizgi içermelidir.',
link_email: 'E-postayı bağla',
link_phone: 'Telefonu bağla',
link_email_or_phone: 'E-posta veya telefon bağlantısı',
link_email_description: 'Daha fazla güvenlik için lütfen e-postanızı hesapla ilişkilendirin.',
link_phone_description: 'Daha fazla güvenlik için lütfen telefonunuzu hesaba bağlayın.',
link_email_or_phone_description:
'Daha fazla güvenlik için lütfen e-postanızı veya telefonunuzu hesaba bağlayın.',
continue_with_more_information:
'Daha fazla güvenlik için lütfen aşağıdaki hesap ayrıntılarını tamamlayın.',
create_your_account: 'Hesabını oluştur',
sign_in_to_your_account: 'Hesabına giriş yap',
no_region_code_found: 'Bölge kodu bulunamadı',
},
error: {
general_required: `{{types, list(type: disjunction;)}} gerekli`,
general_invalid: `{{types, list(type: disjunction;)}} geçersiz`,
username_required: 'Kullanıcı adı gerekli.',
password_required: 'Şifre gerekli.',
username_exists: 'Kullanıcı adı mevcut.',
username_should_not_start_with_number: 'Kullanıcı adı sayı ile başlayamaz.',
username_invalid_charset: 'Kullanıcı adı yalnızca harf,sayı veya alt çizgi içermeli.',
invalid_email: 'E-posta adresi geçersiz',
invalid_phone: 'Telefon numarası geçersiz',
password_min_length: 'Şifre en az {{min}} karakterden oluşmalıdır',
passwords_do_not_match: 'Şifreler eşleşmiyor',
invalid_password:
'Şifre en az {{min}} karakter gerektirir ve harf, sayı ve sembol karışımı içerir.',
invalid_passcode: 'Doğrulama kodu geçersiz',
invalid_connector_auth: 'Yetki geçersiz',
invalid_connector_request: 'Bağlayıcı veri geçersiz',
unknown: 'Bilinmeyen hata. Lütfen daha sonra tekrar deneyiniz.',
invalid_session: 'Oturum bulunamadı. Lütfen geri dönüp tekrar giriş yapınız.',
timeout: 'Oturum zaman aşımına uğradı. Lütfen geri dönüp tekrar giriş yapınız.',
},
demo_app: {
notification: 'İpucu: Oturum açma deneyimini test etmek için önce bir hesap oluşturun.',
},
};
const trTR: LocalePhrase = Object.freeze({
translation,
});
export default trTR;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: 'Giriş Yap',
continue: 'İlerle',
create_account: 'Hesap Oluştur',
create_account_without_linking: 'Bağlamadan hesap oluştur',
create: 'Oluştur',
enter_passcode: 'Doğrulama kodunu girin',
confirm: 'Onayla',
cancel: 'İptal Et',
save_password: 'Şifreyi kaydet',
bind: '{{address}} ile birleştir',
bind_and_continue: 'Bağla ve devam et',
back: 'Geri Dön',
nav_back: 'Geri',
agree: 'Kabul Et',
got_it: 'Anladım',
sign_in_with: '{{name}} ile ilerle',
forgot_password: 'Şifremi Unuttum?',
switch_to: '{{method}} yöntemine geç',
sign_in_via_passcode: 'Doğrulama koduyla oturum açın',
sign_in_via_password: 'şifre ile giriş yap',
change: '{{method}} değiştir',
link_another_email: 'Başka bir e-postayı bağla',
link_another_phone: 'Başka bir telefon bağla',
link_another_email_or_phone: 'Başka bir e-posta veya telefon bağlayın',
show_password: 'Şifreyi göster',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: 'İpucu: Oturum açma deneyimini test etmek için önce bir hesap oluşturun.',
};
export default demo_app;

View file

@ -0,0 +1,61 @@
const description = {
email: 'e-posta adresi',
phone_number: 'telefon numarası',
username: 'kullanıcı Adı',
reminder: 'Hatırlatıcı',
not_found: '404 Bulunamadı',
agree_with_terms: 'Okudum ve anladım',
agree_with_terms_modal: "Devam etmek için lütfen <link></link>'i kabul edin.",
terms_of_use: 'Kullanım Koşulları',
sign_in: 'Giriş Yap',
privacy_policy: 'Gizlilik Politikası',
create_account: 'Hesap Oluştur',
or: 'veya',
and: 've',
enter_passcode: 'Doğrulama kodu {{address}} {{target}} adresinize gönderildi',
passcode_sent: 'Doğrulama kodu yeniden gönderildi',
resend_after_seconds: '<span>{{seconds}}</span> saniye sonra tekrar gönder',
resend_passcode: 'Doğrulama kodunu tekrar gönder',
create_account_id_exists: '{{type}} {{value}} ile hesap mevcut, giriş yapmak ister misiniz?',
link_account_id_exists: '{{type}} {{value}} olan hesap zaten var, bağlamak ister misiniz?',
sign_in_id_does_not_exist:
'{{type}} {{value}} ile hesap mevcut değil, yeni bir hesap oluşturmak ister misiniz?',
sign_in_id_does_not_exist_alert: '{{type}} {{value}} olan hesap mevcut değil.',
create_account_id_exists_alert:
'{{type}} {{value}} olan hesap başka bir hesaba bağlı. Lütfen başka bir {{type}} deneyin.',
social_identity_exist:
'{{type}} {{value}} başka bir hesaba bağlı. Lütfen başka bir {{type}} deneyin.',
bind_account_title: 'Bağla veya hesap oluştur',
social_create_account: 'Yeni bir hesap oluşturabilirsiniz.',
social_link_email: 'Başka bir e-posta bağlayabilirsiniz',
social_link_phone: 'Başka bir telefon bağlayabilirsiniz',
social_link_email_or_phone: 'Başka bir e-posta veya telefon bağlayabilirsiniz',
social_bind_with_existing: 'Kayıtlı ilgili bir hesap bulduk ve onu doğrudan bağlayabilirsiniz.',
reset_password: 'Parolanızı mı unuttunuz',
reset_password_description:
'Hesabınızla ilişkili {{types, list(type: disjunction;)}} girin, şifrenizi sıfırlamanız için size doğrulama kodunu göndereceğiz.',
new_password: 'Yeni Şifre',
set_password: 'Şifreyi belirle',
password_changed: 'Şifre değişti',
no_account: 'Henüz hesap yok mu?',
have_account: 'Zaten bir hesabınız var mıydı?',
enter_password: 'Parolanı Gir',
enter_password_for: '{{method}} {{value}} şifresiyle oturum açın',
enter_username: 'Kullanıcı adını ayarla',
enter_username_description:
'Kullanıcı adı, oturum açmak için bir alternatiftir. Kullanıcı adı yalnızca harf, sayı ve alt çizgi içermelidir.',
link_email: 'E-postayı bağla',
link_phone: 'Telefonu bağla',
link_email_or_phone: 'E-posta veya telefon bağlantısı',
link_email_description: 'Daha fazla güvenlik için lütfen e-postanızı hesapla ilişkilendirin.',
link_phone_description: 'Daha fazla güvenlik için lütfen telefonunuzu hesaba bağlayın.',
link_email_or_phone_description:
'Daha fazla güvenlik için lütfen e-postanızı veya telefonunuzu hesaba bağlayın.',
continue_with_more_information:
'Daha fazla güvenlik için lütfen aşağıdaki hesap ayrıntılarını tamamlayın.',
create_your_account: 'Hesabını oluştur',
sign_in_to_your_account: 'Hesabına giriş yap',
no_region_code_found: 'Bölge kodu bulunamadı',
};
export default description;

View file

@ -0,0 +1,23 @@
const error = {
general_required: '{{types, list(type: disjunction;)}} gerekli',
general_invalid: '{{types, list(type: disjunction;)}} geçersiz',
username_required: 'Kullanıcı adı gerekli.',
password_required: 'Şifre gerekli.',
username_exists: 'Kullanıcı adı mevcut.',
username_should_not_start_with_number: 'Kullanıcı adı sayı ile başlayamaz.',
username_invalid_charset: 'Kullanıcı adı yalnızca harf,sayı veya alt çizgi içermeli.',
invalid_email: 'E-posta adresi geçersiz',
invalid_phone: 'Telefon numarası geçersiz',
password_min_length: 'Şifre en az {{min}} karakterden oluşmalıdır',
passwords_do_not_match: 'Şifreler eşleşmiyor',
invalid_password:
'Şifre en az {{min}} karakter gerektirir ve harf, sayı ve sembol karışımı içerir.',
invalid_passcode: 'Doğrulama kodu geçersiz',
invalid_connector_auth: 'Yetki geçersiz',
invalid_connector_request: 'Bağlayıcı veri geçersiz',
unknown: 'Bilinmeyen hata. Lütfen daha sonra tekrar deneyiniz.',
invalid_session: 'Oturum bulunamadı. Lütfen geri dönüp tekrar giriş yapınız.',
timeout: 'Oturum zaman aşımına uğradı. Lütfen geri dönüp tekrar giriş yapınız.',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const trTR: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default trTR;

View file

@ -0,0 +1,10 @@
const input = {
username: 'Kullanıcı Adı',
password: 'Şifre',
email: 'E-posta Adresi',
phone_number: 'Telefon Numarası',
confirm_password: 'Şifreyi Doğrula',
search_region_code: 'Bölge kodunu ara',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'Hesabınız zaten var mı? {{methods, list(type: disjunction;)}} bağlantısına tıklayarak giriş yapabilirsiniz',
};
export default secondary;

View file

@ -1,124 +0,0 @@
import type { LocalePhrase } from '../types.js';
const translation = {
input: {
username: '用户名',
password: '密码',
email: '邮箱',
phone_number: '手机号',
confirm_password: '确认密码',
search_region_code: '搜索区域码',
},
secondary: {
social_bind_with:
'绑定到已有账户? 使用 {{methods, list(type: disjunction;), zhOrSpaces}} 登录并绑定。',
},
action: {
sign_in: '登录',
continue: '继续',
create_account: '注册',
create_account_without_linking: '注册新的账号',
create: '注册',
enter_passcode: '输入验证码',
cancel: '取消',
confirm: '确认',
save_password: '保存密码',
bind: '绑定到 {{address}}',
bind_and_continue: '绑定并继续',
back: '返回',
nav_back: '返回',
agree: '同意',
got_it: '知道了',
sign_in_with: '通过 {{name}} 继续',
forgot_password: '忘记密码?',
switch_to: '切换到{{method}}',
sign_in_via_passcode: '用验证码登录',
sign_in_via_password: '密码登录',
change: '更改{{method}}',
link_another_email: '绑定其它邮箱',
link_another_phone: '绑定其它手机',
link_another_email_or_phone: '绑定邮箱或手机号',
show_password: '显示密码',
},
description: {
email: '邮箱',
phone_number: '手机号',
username: '用户名',
reminder: '提示',
not_found: '404 页面不存在',
agree_with_terms: '我已阅读并同意 ',
agree_with_terms_modal: '请先同意 <link></link> 以继续',
terms_of_use: '使用条款',
sign_in: '登录',
privacy_policy: '隐私政策',
create_account: '创建帐号',
or: '或',
and: '和',
enter_passcode: '验证码已经发送至你的{{ address }} {{target}}',
passcode_sent: '验证码已经发送',
resend_after_seconds: '在 <span>{{ seconds }}</span> 秒后重发',
resend_passcode: '重发验证码',
create_account_id_exists: '{{type}}为 {{value}} 的帐号已存在,你要登录吗?',
link_account_id_exists: ' {{type}}为 {{value}} 的账号已注册,你要绑定至这个账号吗?',
sign_in_id_does_not_exist: '{{type}}为 {{value}} 的帐号不存在,你要创建一个新帐号吗?',
sign_in_id_does_not_exist_alert: '{{type}}为 {{value}} 的帐号不存在。',
create_account_id_exists_alert: '{{type}} {{value}} 已绑定其他账号。请尝试其他{{type}}。',
social_identity_exist: ' {{type}} {{value}} 已绑定其他账号。请尝试其他{{type}}',
bind_account_title: '绑定或注册帐号',
social_create_account: '你可以注册一个新的账号。',
social_link_email: '你可以绑定其他邮箱',
social_link_phone: '你可以绑定其他手机号',
social_link_email_or_phone: '你可以绑定其他邮箱或手机号',
social_bind_with_existing: '找到了一个已注册的账号,你可以直接绑定。',
reset_password: '忘记密码',
reset_password_description: '输入{{types, list(type: disjunction;)}},获取验证码以重设密码。',
new_password: '新密码',
set_password: '设置密码',
password_changed: '已重置密码!',
no_account: '还没有账号?',
have_account: ' 已有账号?',
enter_password: '输入密码',
enter_password_for: '输入{{method}} {{value}} 对应的密码进行登录',
enter_username: '设置用户名',
enter_username_description: '用户名可以用来进行登录。用户名仅可以包含字母、数字和下划线。',
link_email: '绑定邮箱',
link_phone: '绑定手机',
link_email_or_phone: '绑定邮箱或手机号',
link_email_description: '绑定邮箱以保障你的账号安全',
link_phone_description: '绑定手机号以保障你的账号安全',
link_email_or_phone_description: '绑定邮箱或手机号以保障你的账号安全',
continue_with_more_information: '为保障你的账号安全,需要你补充以下信息。',
create_your_account: '注册你的账号',
sign_in_to_your_account: '登录你的账号',
no_region_code_found: '没有找到区域码',
},
error: {
general_required: `{{types, list(type: disjunction;)}}必填`,
general_invalid: `无效的{{types, list(type: disjunction;)}}`,
username_required: '用户名必填',
password_required: '密码必填',
username_exists: '用户名已存在',
username_should_not_start_with_number: '用户名不能以数字开头',
username_invalid_charset: '用户名只能包含英文字母、数字或下划线。',
invalid_email: '无效的邮箱',
invalid_phone: '无效的手机号',
password_min_length: '密码最少需要 {{min}} 个字符',
passwords_do_not_match: '两次输入的密码不一致,请重试。',
invalid_password: '密码至少需要 {{min}} 个字符,并包含字母、数字和符号的组合。',
invalid_passcode: '无效的验证码',
invalid_connector_auth: '登录失败',
invalid_connector_request: '无效的登录请求',
unknown: '未知错误,请稍后重试。',
invalid_session: '未找到会话,请返回并重新登录。',
timeout: '请求超时,请稍后重试。',
},
demo_app: {
notification: '提示:先注册一个账号,再测试登录体验。',
},
};
const zhCN: LocalePhrase = Object.freeze({
translation,
});
export default zhCN;

View file

@ -0,0 +1,29 @@
const action = {
sign_in: '登录',
continue: '继续',
create_account: '注册',
create_account_without_linking: '注册新的账号',
create: '注册',
enter_passcode: '输入验证码',
cancel: '取消',
confirm: '确认',
save_password: '保存密码',
bind: '绑定到 {{address}}',
bind_and_continue: '绑定并继续',
back: '返回',
nav_back: '返回',
agree: '同意',
got_it: '知道了',
sign_in_with: '通过 {{name}} 继续',
forgot_password: '忘记密码?',
switch_to: '切换到{{method}}',
sign_in_via_passcode: '用验证码登录',
sign_in_via_password: '密码登录',
change: '更改{{method}}',
link_another_email: '绑定其它邮箱',
link_another_phone: '绑定其它手机',
link_another_email_or_phone: '绑定邮箱或手机号',
show_password: '显示密码',
};
export default action;

View file

@ -0,0 +1,5 @@
const demo_app = {
notification: '提示:先注册一个账号,再测试登录体验。',
};
export default demo_app;

View file

@ -0,0 +1,54 @@
const description = {
email: '邮箱',
phone_number: '手机号',
username: '用户名',
reminder: '提示',
not_found: '404 页面不存在',
agree_with_terms: '我已阅读并同意 ',
agree_with_terms_modal: '请先同意 <link></link> 以继续',
terms_of_use: '使用条款',
sign_in: '登录',
privacy_policy: '隐私政策',
create_account: '创建帐号',
or: '或',
and: '和',
enter_passcode: '验证码已经发送至你的{{ address }} {{target}}',
passcode_sent: '验证码已经发送',
resend_after_seconds: '在 <span>{{ seconds }}</span> 秒后重发',
resend_passcode: '重发验证码',
create_account_id_exists: '{{type}}为 {{value}} 的帐号已存在,你要登录吗?',
link_account_id_exists: ' {{type}}为 {{value}} 的账号已注册,你要绑定至这个账号吗?',
sign_in_id_does_not_exist: '{{type}}为 {{value}} 的帐号不存在,你要创建一个新帐号吗?',
sign_in_id_does_not_exist_alert: '{{type}}为 {{value}} 的帐号不存在。',
create_account_id_exists_alert: '{{type}} {{value}} 已绑定其他账号。请尝试其他{{type}}。',
social_identity_exist: ' {{type}} {{value}} 已绑定其他账号。请尝试其他{{type}}',
bind_account_title: '绑定或注册帐号',
social_create_account: '你可以注册一个新的账号。',
social_link_email: '你可以绑定其他邮箱',
social_link_phone: '你可以绑定其他手机号',
social_link_email_or_phone: '你可以绑定其他邮箱或手机号',
social_bind_with_existing: '找到了一个已注册的账号,你可以直接绑定。',
reset_password: '忘记密码',
reset_password_description: '输入{{types, list(type: disjunction;)}},获取验证码以重设密码。',
new_password: '新密码',
set_password: '设置密码',
password_changed: '已重置密码!',
no_account: '还没有账号?',
have_account: ' 已有账号?',
enter_password: '输入密码',
enter_password_for: '输入{{method}} {{value}} 对应的密码进行登录',
enter_username: '设置用户名',
enter_username_description: '用户名可以用来进行登录。用户名仅可以包含字母、数字和下划线。',
link_email: '绑定邮箱',
link_phone: '绑定手机',
link_email_or_phone: '绑定邮箱或手机号',
link_email_description: '绑定邮箱以保障你的账号安全',
link_phone_description: '绑定手机号以保障你的账号安全',
link_email_or_phone_description: '绑定邮箱或手机号以保障你的账号安全',
continue_with_more_information: '为保障你的账号安全,需要你补充以下信息。',
create_your_account: '注册你的账号',
sign_in_to_your_account: '登录你的账号',
no_region_code_found: '没有找到区域码',
};
export default description;

View file

@ -0,0 +1,22 @@
const error = {
general_required: '{{types, list(type: disjunction;)}}必填',
general_invalid: '无效的{{types, list(type: disjunction;)}}',
username_required: '用户名必填',
password_required: '密码必填',
username_exists: '用户名已存在',
username_should_not_start_with_number: '用户名不能以数字开头',
username_invalid_charset: '用户名只能包含英文字母、数字或下划线。',
invalid_email: '无效的邮箱',
invalid_phone: '无效的手机号',
password_min_length: '密码最少需要 {{min}} 个字符',
passwords_do_not_match: '两次输入的密码不一致,请重试。',
invalid_password: '密码至少需要 {{min}} 个字符,并包含字母、数字和符号的组合。',
invalid_passcode: '无效的验证码',
invalid_connector_auth: '登录失败',
invalid_connector_request: '无效的登录请求',
unknown: '未知错误,请稍后重试。',
invalid_session: '未找到会话,请返回并重新登录。',
timeout: '请求超时,请稍后重试。',
};
export default error;

View file

@ -0,0 +1,21 @@
import { type LocalePhrase } from '../../types.js';
import action from './action.js';
import demo_app from './demo-app.js';
import description from './description.js';
import error from './error.js';
import input from './input.js';
import secondary from './secondary.js';
const zhCN: LocalePhrase = Object.freeze({
translation: {
input,
secondary,
action,
description,
error,
demo_app,
},
});
export default zhCN;

View file

@ -0,0 +1,10 @@
const input = {
username: '用户名',
password: '密码',
email: '邮箱',
phone_number: '手机号',
confirm_password: '确认密码',
search_region_code: '搜索区域码',
};
export default input;

View file

@ -0,0 +1,6 @@
const secondary = {
social_bind_with:
'绑定到已有账户? 使用 {{methods, list(type: disjunction;), zhOrSpaces}} 登录并绑定。',
};
export default secondary;

View file

@ -1,221 +0,0 @@
const errors = {
request: {
invalid_input: 'Eingabe ist ungültig. {{details}}',
general: 'Es ist ein Fehler bei der Anfrage aufgetreten.',
},
auth: {
authorization_header_missing: 'Autorisierungs-Header fehlt.',
authorization_token_type_not_supported: 'Autorisierungs-Typ wird nicht unterstützt.',
unauthorized: 'Unautorisiert. Bitte überprüfe deine Zugangsdaten.',
forbidden: 'Verboten. Bitte überprüfe deine Rollen und Berechtigungen.',
expected_role_not_found:
'Erwartete Rolle nicht gefunden. Bitte überprüfe deine Rollen und Berechtigungen.',
jwt_sub_missing: '`sub` fehlt in JWT.',
require_re_authentication:
'Zur Durchführung einer geschützten Aktion ist eine erneute Authentifizierung erforderlich.',
},
guard: {
invalid_input: 'Die Anfrage {{type}} ist ungültig.',
invalid_pagination: 'Die Paginierung der Anfrage ist ungültig.',
can_not_get_tenant_id: 'Die tenant_id konnte nicht aus der Anfrage abgerufen werden.',
file_size_exceeded: 'Dateigröße überschritten.',
mime_type_not_allowed: 'Der MIME-Typ ist nicht erlaubt.',
},
oidc: {
aborted: 'Der Endnutzer hat die Interaktion abgebrochen.',
invalid_scope: 'Scope {{scope}} wird nicht unterstützt.',
invalid_scope_plural: 'Scopes {{scopes}} werden nicht unterstützt.',
invalid_token: 'Ungültiger Token übermittelt.',
invalid_client_metadata: 'Ungültige Client Metadaten übermittelt.',
insufficient_scope: 'Access token fehlen angefragte scope {{scopes}}.',
invalid_request: 'Anfrage ist ungültig.',
invalid_grant: 'Grant request ist ungültig.',
invalid_redirect_uri:
'`redirect_uri` stimmt nicht mit den registrierten `redirect_uris` des Clients überein.',
access_denied: 'Zugang verweigert.',
invalid_target: 'Ungültiger resource indicator.',
unsupported_grant_type: 'Nicht unterstützter `grant_type` angefragt.',
unsupported_response_mode: 'Nicht unterstützter `response_mode` angefragt.',
unsupported_response_type: 'Nicht unterstützter `response_type` angefragt.',
provider_error: 'OIDC interner Fehler: {{message}}.',
},
user: {
username_already_in_use: 'Dieser Benutzername wird bereits verwendet.',
email_already_in_use: 'Diese E-Mail-Adresse ist mit einem vorhandenen Konto verknüpft.',
phone_already_in_use: 'Diese Telefonnummer ist mit einem vorhandenen Konto verknüpft.',
invalid_email: 'Ungültige E-Mail.',
invalid_phone: 'Ungültige Telefonnummer.',
email_not_exist: 'Die E-Mail wurde noch nicht registriert.',
phone_not_exist: 'Die Telefonnummer wurde noch nicht registriert.',
identity_not_exist: 'Die Identität wurde noch nicht registriert.',
identity_already_in_use: 'Die Identität wurde registriert.',
social_account_exists_in_profile: 'Sie haben diesen Social-Media-Account bereits verknüpft.',
cannot_delete_self: 'Du kannst dich nicht selbst löschen.',
sign_up_method_not_enabled: 'Diese Anmeldeart ist nicht aktiviert.',
sign_in_method_not_enabled: 'Diese Anmeldemethode ist nicht aktiviert.',
same_password: 'Das neue Passwort muss sich vom alten unterscheiden.',
password_required_in_profile:
'Sie müssen ein Passwort festlegen, bevor Sie sich anmelden können.',
new_password_required_in_profile: 'Sie müssen ein neues Passwort festlegen.',
password_exists_in_profile: 'Das Passwort ist bereits in Ihrem Profil vorhanden.',
username_required_in_profile:
'Sie müssen einen Benutzernamen festlegen, bevor Sie sich anmelden können.',
username_exists_in_profile: 'Der Benutzername ist bereits in Ihrem Profil vorhanden.',
email_required_in_profile:
'Sie müssen eine E-Mail-Adresse hinzufügen, bevor Sie sich anmelden können.',
email_exists_in_profile: 'Ihr Profil ist bereits mit einer E-Mail-Adresse verknüpft.',
phone_required_in_profile:
'Sie müssen eine Telefonnummer hinzufügen, bevor Sie sich anmelden können.',
phone_exists_in_profile: 'Ihr Profil ist bereits mit einer Telefonnummer verknüpft.',
email_or_phone_required_in_profile:
'Sie müssen eine E-Mail-Adresse oder eine Telefonnummer hinzufügen, bevor Sie sich anmelden können.',
suspended: 'Dieses Konto wurde gesperrt.',
user_not_exist: 'Der Benutzer mit {{ identifier }} existiert nicht.',
missing_profile:
'Sie müssen zusätzliche Informationen angeben, bevor Sie sich anmelden können.',
role_exists: 'Die Rollen-ID {{roleId}} wurde diesem Benutzer bereits hinzugefügt.',
},
password: {
unsupported_encryption_method: 'Die Verschlüsselungsmethode {{name}} wird nicht unterstützt.',
pepper_not_found: 'Password pepper not found. Please check your core envs.',
},
session: {
not_found: 'Sitzung nicht gefunden. Bitte melde dich erneut an.',
invalid_credentials: 'Ungültige Zugangsdaten. Überprüfe deine Eingaben.',
invalid_sign_in_method: 'Aktuelle Anmeldemethode ist ungültig.',
invalid_connector_id: 'Connector mit ID {{connectorId}} wurde nicht gefunden.',
insufficient_info: 'Unzureichende Informationen für die Anmeldung.',
connector_id_mismatch: 'Connector ID stimmt nicht mit Sitzung überein.',
connector_session_not_found: 'Connector Sitzung nicht gefunden. Bitte melde dich erneut an.',
verification_session_not_found:
'Die Verifizierung war nicht erfolgreich. Starte die Verifizierung neu und versuche es erneut.',
verification_expired:
'Die Verbindung wurde unterbrochen. Verifiziere erneut, um die Sicherheit deines Kontos zu gewährleisten.',
unauthorized: 'Bitte melde dich erst an.',
unsupported_prompt_name: 'Nicht unterstützter prompt Name.',
forgot_password_not_enabled: 'Forgot password is not enabled.',
verification_failed:
'Die Verifizierung war nicht erfolgreich. Starte die Verifizierung neu und versuche es erneut.',
connector_validation_session_not_found:
'Die Connector-Sitzung zur Token-Validierung wurde nicht gefunden.',
identifier_not_found:
'Benutzerkennung nicht gefunden. Bitte gehen Sie zurück und melden Sie sich erneut an.',
interaction_not_found:
'Interaktionssitzung nicht gefunden. Bitte gehen Sie zurück und starten Sie die Sitzung erneut.',
},
connector: {
// UNTRANSLATED
general: 'Fehler aufgetreten im Connector: {{errorDescription}}',
not_found: 'Kein verfügbarer Connector für Typ {{type}} gefunden.',
not_enabled: 'Der Connector ist nicht aktiviert.',
invalid_metadata: 'Die Metadaten des Connectors sind ungültig.',
invalid_config_guard: 'Die Konfiguration des Connectors ist ungültig.',
unexpected_type: 'Der Typ des Connectors ist unerwartet.',
invalid_request_parameters: 'Die Anfrage enthält falsche Eingabeparameter.',
insufficient_request_parameters:
'Die Anfrage enthält möglicherweise nicht alle erforderlichen Eingabeparameter.',
invalid_config: 'Die Konfiguration des Connectors ist ungültig.',
invalid_response: 'Die Antwort des Connectors ist ungültig.',
template_not_found:
'Die richtige Vorlage in der Connector-Konfiguration konnte nicht gefunden werden.',
not_implemented: '{{method}}: wurde noch nicht implementiert.',
social_invalid_access_token: 'Der Access Token des Connectors ist ungültig.',
invalid_auth_code: 'Der Authentifizierungscode des Connectors ist ungültig.',
social_invalid_id_token: 'Der ID-Token des Connectors ist ungültig.',
authorization_failed: 'Der Autorisierungsprozess des Benutzers war erfolglos.',
social_auth_code_invalid:
'Es konnte kein Access Token abgerufen werden. Bitte prüfen Sie den Autorisierungscode.',
more_than_one_sms: 'Die Anzahl der SMS-Connectors ist größer als 1.',
more_than_one_email: 'Die Anzahl der E-Mail-Connectors ist größer als 1.',
more_than_one_connector_factory:
'Mehrere Connector-Fabriken gefunden (mit ID {{connectorIds}}). Sie können unnötige Fabriken deinstallieren.',
db_connector_type_mismatch:
'Es gibt einen Connector in der Datenbank, der nicht dem Typ entspricht.',
not_found_with_connector_id:
'Connector mit der angegebenen Standard-Connector-ID konnte nicht gefunden werden.',
multiple_instances_not_supported:
'Es können keine mehreren Instanzen mit dem ausgewählten Standard-Connector erstellt werden.',
invalid_type_for_syncing_profile:
'Sie können nur Benutzerprofile mit sozialen Connectors synchronisieren.',
can_not_modify_target: "Der 'target'-Connector kann nicht geändert werden.",
should_specify_target: "Sie sollten den 'target' angeben.",
multiple_target_with_same_platform:
'Sie können keine mehreren sozialen Connectors haben, die das gleiche Ziel und die gleiche Plattform haben.',
cannot_overwrite_metadata_for_non_standard_connector:
"Die 'Metadaten' dieses Connectors können nicht überschrieben werden.",
},
verification_code: {
phone_email_empty: 'Sowohl Telefon als auch E-Mail sind leer.',
not_found: 'Bestätigungscode nicht gefunden. Bitte senden Sie zuerst den Bestätigungscode.',
phone_mismatch:
'Telefonnummer stimmt nicht überein. Bitte fordern Sie einen neuen Bestätigungscode an.',
email_mismatch:
'E-Mail stimmt nicht überein. Bitte fordern Sie einen neuen Bestätigungscode an.',
code_mismatch: 'Ungültiger Bestätigungscode.',
expired: 'Bestätigungscode ist abgelaufen. Bitte fordern Sie einen neuen Bestätigungscode an.',
exceed_max_try:
'Die Begrenzung für die Anzahl der Bestätigungscode-Wiederholungen wurde überschritten. Bitte fordern Sie einen neuen Bestätigungscode an.',
},
sign_in_experiences: {
empty_content_url_of_terms_of_use:
'Leere "Nutzungsbedingungen" URL. Bitte füge die URL hinzu, wenn "Nutzungsbedingungen" aktiviert ist.',
empty_social_connectors:
'Leere Social Connectors. Bitte füge aktivierte Social Connectoren hinzu, wenn Social Anmeldung aktiviert ist.',
enabled_connector_not_found: 'Aktivierter {{type}} Connector nicht gefunden.',
not_one_and_only_one_primary_sign_in_method:
'Es darf nur eine primäre Anmeldemethode geben. Bitte überprüfe deine Eingabe.',
username_requires_password:
'Muss ein Passwort für den Benutzernamen zur Registrierung aktivieren.',
passwordless_requires_verify:
'Muss die Verifizierung für die Registrierung per E-Mail/Telefon aktivieren.',
miss_sign_up_identifier_in_sign_in:
'Anmeldeverfahren müssen den Registrierungs-Identifier enthalten.',
password_sign_in_must_be_enabled:
'Die Passwort-Anmeldung muss aktiviert sein, wenn bei der Registrierung ein Passwort festgelegt wird.',
code_sign_in_must_be_enabled:
'Die Anmeldung mit Bestätigungscode muss aktiviert sein, wenn bei der Registrierung kein Passwort festgelegt wird.',
unsupported_default_language: 'Die Sprache - {{language}} wird momentan nicht unterstützt.',
at_least_one_authentication_factor:
'Sie müssen mindestens einen Authentifizierungsfaktor auswählen.',
},
localization: {
cannot_delete_default_language:
'{{languageTag}} ist die Standard-Sprache und kann nicht gelöscht werden.',
invalid_translation_structure: 'Ungültige Übersetzungsstruktur. Bitte überprüfe deine Eingabe.',
},
swagger: {
invalid_zod_type: 'Ungültiger Zod Typ. Überprüfe deine route guard Konfiguration.',
not_supported_zod_type_for_params:
'Nicht unterstützter Zod Typ für diese Parameter. Überprüfe deine route guard Konfiguration.',
},
entity: {
create_failed: 'Fehler beim erstellen von {{name}}.',
not_exists: '{{name}} existiert nicht.',
not_exists_with_id: '{{name}} mit ID `{{id}}` existiert nicht.',
not_found: 'Die Ressource wurde nicht gefunden.',
},
log: {
invalid_type: 'Der Log Typ ist ungültig.',
},
role: {
name_in_use: 'Dieser Rollenname {{name}} wird bereits verwendet.',
scope_exists: 'Die Scope-ID {{scopeId}} wurde bereits zu dieser Rolle hinzugefügt.',
user_exists: 'Die Benutzer-ID {{userId}} wurde bereits zu dieser Rolle hinzugefügt.',
default_role_missing:
'Einige der Standardrollennamen sind in der Datenbank nicht vorhanden. Bitte stellen Sie sicher, dass Sie zuerst Rollen erstellen.',
internal_role_violation:
'Sie versuchen möglicherweise, eine interne Rolle zu aktualisieren oder zu löschen, was von Logto verboten ist. Wenn Sie eine neue Rolle erstellen, versuchen Sie es mit einem anderen Namen, der nicht mit "#internal:" beginnt.',
},
scope: {
name_exists: 'Der Scope-Name {{name}} ist bereits in Verwendung',
name_with_space: 'Der Name des Scopes darf keine Leerzeichen enthalten.',
},
storage: {
not_configured: 'Der Storage-Anbieter ist nicht konfiguriert.',
missing_parameter: 'Fehlender Parameter {{parameter}} für den Storage-Anbieter.',
upload_error: 'Das Hochladen der Datei zum Storage-Anbieter ist fehlgeschlagen.',
},
};
export default errors;

View file

@ -0,0 +1,13 @@
const auth = {
authorization_header_missing: 'Autorisierungs-Header fehlt.',
authorization_token_type_not_supported: 'Autorisierungs-Typ wird nicht unterstützt.',
unauthorized: 'Unautorisiert. Bitte überprüfe deine Zugangsdaten.',
forbidden: 'Verboten. Bitte überprüfe deine Rollen und Berechtigungen.',
expected_role_not_found:
'Erwartete Rolle nicht gefunden. Bitte überprüfe deine Rollen und Berechtigungen.',
jwt_sub_missing: '`sub` fehlt in JWT.',
require_re_authentication:
'Zur Durchführung einer geschützten Aktion ist eine erneute Authentifizierung erforderlich.',
};
export default auth;

View file

@ -0,0 +1,42 @@
const connector = {
general: 'Fehler aufgetreten im Connector: {{errorDescription}}',
not_found: 'Kein verfügbarer Connector für Typ {{type}} gefunden.',
not_enabled: 'Der Connector ist nicht aktiviert.',
invalid_metadata: 'Die Metadaten des Connectors sind ungültig.',
invalid_config_guard: 'Die Konfiguration des Connectors ist ungültig.',
unexpected_type: 'Der Typ des Connectors ist unerwartet.',
invalid_request_parameters: 'Die Anfrage enthält falsche Eingabeparameter.',
insufficient_request_parameters:
'Die Anfrage enthält möglicherweise nicht alle erforderlichen Eingabeparameter.',
invalid_config: 'Die Konfiguration des Connectors ist ungültig.',
invalid_response: 'Die Antwort des Connectors ist ungültig.',
template_not_found:
'Die richtige Vorlage in der Connector-Konfiguration konnte nicht gefunden werden.',
not_implemented: '{{method}}: wurde noch nicht implementiert.',
social_invalid_access_token: 'Der Access Token des Connectors ist ungültig.',
invalid_auth_code: 'Der Authentifizierungscode des Connectors ist ungültig.',
social_invalid_id_token: 'Der ID-Token des Connectors ist ungültig.',
authorization_failed: 'Der Autorisierungsprozess des Benutzers war erfolglos.',
social_auth_code_invalid:
'Es konnte kein Access Token abgerufen werden. Bitte prüfen Sie den Autorisierungscode.',
more_than_one_sms: 'Die Anzahl der SMS-Connectors ist größer als 1.',
more_than_one_email: 'Die Anzahl der E-Mail-Connectors ist größer als 1.',
more_than_one_connector_factory:
'Mehrere Connector-Fabriken gefunden (mit ID {{connectorIds}}). Sie können unnötige Fabriken deinstallieren.',
db_connector_type_mismatch:
'Es gibt einen Connector in der Datenbank, der nicht dem Typ entspricht.',
not_found_with_connector_id:
'Connector mit der angegebenen Standard-Connector-ID konnte nicht gefunden werden.',
multiple_instances_not_supported:
'Es können keine mehreren Instanzen mit dem ausgewählten Standard-Connector erstellt werden.',
invalid_type_for_syncing_profile:
'Sie können nur Benutzerprofile mit sozialen Connectors synchronisieren.',
can_not_modify_target: "Der 'target'-Connector kann nicht geändert werden.",
should_specify_target: "Sie sollten den 'target' angeben.",
multiple_target_with_same_platform:
'Sie können keine mehreren sozialen Connectors haben, die das gleiche Ziel und die gleiche Plattform haben.',
cannot_overwrite_metadata_for_non_standard_connector:
"Die 'Metadaten' dieses Connectors können nicht überschrieben werden.",
};
export default connector;

View file

@ -0,0 +1,8 @@
const entity = {
create_failed: 'Fehler beim erstellen von {{name}}.',
not_exists: '{{name}} existiert nicht.',
not_exists_with_id: '{{name}} mit ID `{{id}}` existiert nicht.',
not_found: 'Die Ressource wurde nicht gefunden.',
};
export default entity;

View file

@ -0,0 +1,9 @@
const guard = {
invalid_input: 'Die Anfrage {{type}} ist ungültig.',
invalid_pagination: 'Die Paginierung der Anfrage ist ungültig.',
can_not_get_tenant_id: 'Die tenant_id konnte nicht aus der Anfrage abgerufen werden.',
file_size_exceeded: 'Dateigröße überschritten.',
mime_type_not_allowed: 'Der MIME-Typ ist nicht erlaubt.',
};
export default guard;

View file

@ -0,0 +1,39 @@
import auth from './auth.js';
import connector from './connector.js';
import entity from './entity.js';
import guard from './guard.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import password from './password.js';
import request from './request.js';
import role from './role.js';
import scope from './scope.js';
import session from './session.js';
import sign_in_experiences from './sign-in-experiences.js';
import storage from './storage.js';
import swagger from './swagger.js';
import user from './user.js';
import verification_code from './verification-code.js';
const errors = {
request,
auth,
guard,
oidc,
user,
password,
session,
connector,
verification_code,
sign_in_experiences,
localization,
swagger,
entity,
log,
role,
scope,
storage,
};
export default errors;

View file

@ -0,0 +1,7 @@
const localization = {
cannot_delete_default_language:
'{{languageTag}} ist die Standard-Sprache und kann nicht gelöscht werden.',
invalid_translation_structure: 'Ungültige Übersetzungsstruktur. Bitte überprüfe deine Eingabe.',
};
export default localization;

View file

@ -0,0 +1,5 @@
const log = {
invalid_type: 'Der Log Typ ist ungültig.',
};
export default log;

View file

@ -0,0 +1,20 @@
const oidc = {
aborted: 'Der Endnutzer hat die Interaktion abgebrochen.',
invalid_scope: 'Scope {{scope}} wird nicht unterstützt.',
invalid_scope_plural: 'Scopes {{scopes}} werden nicht unterstützt.',
invalid_token: 'Ungültiger Token übermittelt.',
invalid_client_metadata: 'Ungültige Client Metadaten übermittelt.',
insufficient_scope: 'Access token fehlen angefragte scope {{scopes}}.',
invalid_request: 'Anfrage ist ungültig.',
invalid_grant: 'Grant request ist ungültig.',
invalid_redirect_uri:
'`redirect_uri` stimmt nicht mit den registrierten `redirect_uris` des Clients überein.',
access_denied: 'Zugang verweigert.',
invalid_target: 'Ungültiger resource indicator.',
unsupported_grant_type: 'Nicht unterstützter `grant_type` angefragt.',
unsupported_response_mode: 'Nicht unterstützter `response_mode` angefragt.',
unsupported_response_type: 'Nicht unterstützter `response_type` angefragt.',
provider_error: 'OIDC interner Fehler: {{message}}.',
};
export default oidc;

View file

@ -0,0 +1,6 @@
const password = {
unsupported_encryption_method: 'Die Verschlüsselungsmethode {{name}} wird nicht unterstützt.',
pepper_not_found: 'Password pepper not found. Please check your core envs.',
};
export default password;

View file

@ -0,0 +1,6 @@
const request = {
invalid_input: 'Eingabe ist ungültig. {{details}}',
general: 'Es ist ein Fehler bei der Anfrage aufgetreten.',
};
export default request;

View file

@ -0,0 +1,11 @@
const role = {
name_in_use: 'Dieser Rollenname {{name}} wird bereits verwendet.',
scope_exists: 'Die Scope-ID {{scopeId}} wurde bereits zu dieser Rolle hinzugefügt.',
user_exists: 'Die Benutzer-ID {{userId}} wurde bereits zu dieser Rolle hinzugefügt.',
default_role_missing:
'Einige der Standardrollennamen sind in der Datenbank nicht vorhanden. Bitte stellen Sie sicher, dass Sie zuerst Rollen erstellen.',
internal_role_violation:
'Sie versuchen möglicherweise, eine interne Rolle zu aktualisieren oder zu löschen, was von Logto verboten ist. Wenn Sie eine neue Rolle erstellen, versuchen Sie es mit einem anderen Namen, der nicht mit "#internal:" beginnt.',
};
export default role;

View file

@ -0,0 +1,6 @@
const scope = {
name_exists: 'Der Scope-Name {{name}} ist bereits in Verwendung',
name_with_space: 'Der Name des Scopes darf keine Leerzeichen enthalten.',
};
export default scope;

View file

@ -0,0 +1,26 @@
const session = {
not_found: 'Sitzung nicht gefunden. Bitte melde dich erneut an.',
invalid_credentials: 'Ungültige Zugangsdaten. Überprüfe deine Eingaben.',
invalid_sign_in_method: 'Aktuelle Anmeldemethode ist ungültig.',
invalid_connector_id: 'Connector mit ID {{connectorId}} wurde nicht gefunden.',
insufficient_info: 'Unzureichende Informationen für die Anmeldung.',
connector_id_mismatch: 'Connector ID stimmt nicht mit Sitzung überein.',
connector_session_not_found: 'Connector Sitzung nicht gefunden. Bitte melde dich erneut an.',
verification_session_not_found:
'Die Verifizierung war nicht erfolgreich. Starte die Verifizierung neu und versuche es erneut.',
verification_expired:
'Die Verbindung wurde unterbrochen. Verifiziere erneut, um die Sicherheit deines Kontos zu gewährleisten.',
unauthorized: 'Bitte melde dich erst an.',
unsupported_prompt_name: 'Nicht unterstützter prompt Name.',
forgot_password_not_enabled: 'Forgot password is not enabled.',
verification_failed:
'Die Verifizierung war nicht erfolgreich. Starte die Verifizierung neu und versuche es erneut.',
connector_validation_session_not_found:
'Die Connector-Sitzung zur Token-Validierung wurde nicht gefunden.',
identifier_not_found:
'Benutzerkennung nicht gefunden. Bitte gehen Sie zurück und melden Sie sich erneut an.',
interaction_not_found:
'Interaktionssitzung nicht gefunden. Bitte gehen Sie zurück und starten Sie die Sitzung erneut.',
};
export default session;

View file

@ -0,0 +1,24 @@
const sign_in_experiences = {
empty_content_url_of_terms_of_use:
'Leere "Nutzungsbedingungen" URL. Bitte füge die URL hinzu, wenn "Nutzungsbedingungen" aktiviert ist.',
empty_social_connectors:
'Leere Social Connectors. Bitte füge aktivierte Social Connectoren hinzu, wenn Social Anmeldung aktiviert ist.',
enabled_connector_not_found: 'Aktivierter {{type}} Connector nicht gefunden.',
not_one_and_only_one_primary_sign_in_method:
'Es darf nur eine primäre Anmeldemethode geben. Bitte überprüfe deine Eingabe.',
username_requires_password:
'Muss ein Passwort für den Benutzernamen zur Registrierung aktivieren.',
passwordless_requires_verify:
'Muss die Verifizierung für die Registrierung per E-Mail/Telefon aktivieren.',
miss_sign_up_identifier_in_sign_in:
'Anmeldeverfahren müssen den Registrierungs-Identifier enthalten.',
password_sign_in_must_be_enabled:
'Die Passwort-Anmeldung muss aktiviert sein, wenn bei der Registrierung ein Passwort festgelegt wird.',
code_sign_in_must_be_enabled:
'Die Anmeldung mit Bestätigungscode muss aktiviert sein, wenn bei der Registrierung kein Passwort festgelegt wird.',
unsupported_default_language: 'Die Sprache - {{language}} wird momentan nicht unterstützt.',
at_least_one_authentication_factor:
'Sie müssen mindestens einen Authentifizierungsfaktor auswählen.',
};
export default sign_in_experiences;

View file

@ -0,0 +1,7 @@
const storage = {
not_configured: 'Der Storage-Anbieter ist nicht konfiguriert.',
missing_parameter: 'Fehlender Parameter {{parameter}} für den Storage-Anbieter.',
upload_error: 'Das Hochladen der Datei zum Storage-Anbieter ist fehlgeschlagen.',
};
export default storage;

View file

@ -0,0 +1,7 @@
const swagger = {
invalid_zod_type: 'Ungültiger Zod Typ. Überprüfe deine route guard Konfiguration.',
not_supported_zod_type_for_params:
'Nicht unterstützter Zod Typ für diese Parameter. Überprüfe deine route guard Konfiguration.',
};
export default swagger;

View file

@ -0,0 +1,37 @@
const user = {
username_already_in_use: 'Dieser Benutzername wird bereits verwendet.',
email_already_in_use: 'Diese E-Mail-Adresse ist mit einem vorhandenen Konto verknüpft.',
phone_already_in_use: 'Diese Telefonnummer ist mit einem vorhandenen Konto verknüpft.',
invalid_email: 'Ungültige E-Mail.',
invalid_phone: 'Ungültige Telefonnummer.',
email_not_exist: 'Die E-Mail wurde noch nicht registriert.',
phone_not_exist: 'Die Telefonnummer wurde noch nicht registriert.',
identity_not_exist: 'Die Identität wurde noch nicht registriert.',
identity_already_in_use: 'Die Identität wurde registriert.',
social_account_exists_in_profile: 'Sie haben diesen Social-Media-Account bereits verknüpft.',
cannot_delete_self: 'Du kannst dich nicht selbst löschen.',
sign_up_method_not_enabled: 'Diese Anmeldeart ist nicht aktiviert.',
sign_in_method_not_enabled: 'Diese Anmeldemethode ist nicht aktiviert.',
same_password: 'Das neue Passwort muss sich vom alten unterscheiden.',
password_required_in_profile:
'Sie müssen ein Passwort festlegen, bevor Sie sich anmelden können.',
new_password_required_in_profile: 'Sie müssen ein neues Passwort festlegen.',
password_exists_in_profile: 'Das Passwort ist bereits in Ihrem Profil vorhanden.',
username_required_in_profile:
'Sie müssen einen Benutzernamen festlegen, bevor Sie sich anmelden können.',
username_exists_in_profile: 'Der Benutzername ist bereits in Ihrem Profil vorhanden.',
email_required_in_profile:
'Sie müssen eine E-Mail-Adresse hinzufügen, bevor Sie sich anmelden können.',
email_exists_in_profile: 'Ihr Profil ist bereits mit einer E-Mail-Adresse verknüpft.',
phone_required_in_profile:
'Sie müssen eine Telefonnummer hinzufügen, bevor Sie sich anmelden können.',
phone_exists_in_profile: 'Ihr Profil ist bereits mit einer Telefonnummer verknüpft.',
email_or_phone_required_in_profile:
'Sie müssen eine E-Mail-Adresse oder eine Telefonnummer hinzufügen, bevor Sie sich anmelden können.',
suspended: 'Dieses Konto wurde gesperrt.',
user_not_exist: 'Der Benutzer mit {{ identifier }} existiert nicht.',
missing_profile: 'Sie müssen zusätzliche Informationen angeben, bevor Sie sich anmelden können.',
role_exists: 'Die Rollen-ID {{roleId}} wurde diesem Benutzer bereits hinzugefügt.',
};
export default user;

View file

@ -0,0 +1,13 @@
const verification_code = {
phone_email_empty: 'Sowohl Telefon als auch E-Mail sind leer.',
not_found: 'Bestätigungscode nicht gefunden. Bitte senden Sie zuerst den Bestätigungscode.',
phone_mismatch:
'Telefonnummer stimmt nicht überein. Bitte fordern Sie einen neuen Bestätigungscode an.',
email_mismatch: 'E-Mail stimmt nicht überein. Bitte fordern Sie einen neuen Bestätigungscode an.',
code_mismatch: 'Ungültiger Bestätigungscode.',
expired: 'Bestätigungscode ist abgelaufen. Bitte fordern Sie einen neuen Bestätigungscode an.',
exceed_max_try:
'Die Begrenzung für die Anzahl der Bestätigungscode-Wiederholungen wurde überschritten. Bitte fordern Sie einen neuen Bestätigungscode an.',
};
export default verification_code;

View file

@ -1,6 +1,6 @@
import type { LocalePhrase } from '../../types.js';
import errors from './errors.js';
import errors from './errors/index.js';
import translation from './translation/index.js';
const de: LocalePhrase = Object.freeze({

View file

@ -19,7 +19,7 @@ import profile from './profile.js';
import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp.js';
import sign_in_exp from './sign-in-exp/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';

View file

@ -1,187 +0,0 @@
const sign_in_exp = {
page_title: 'Anmeldeoberfläche',
title: 'Anmeldeoberfläche',
description:
'Passe die Benutzeroberfläche für die Anmeldung an deine Marke an und zeige eine Vorschau in Echtzeit an',
tabs: {
branding: 'Branding',
methods: 'Anmeldemethoden',
sign_up_and_sign_in: 'Sign-up and Sign-in', // UNTRANSLATED
others: 'Andere',
},
welcome: {
title: 'Customize sign-in experience', // UNTRANSLATED
description:
'Get started fast with your first sign-in setup. This guide walks you through all the necessary settings.', // UNTRANSLATED
get_started: 'Erste Schritte',
apply_remind:
'Bitte beachte, dass die Anmeldeoberfläche für alle Anwendungen unter diesem Konto gilt.',
},
sign_up_and_sign_in: {
identifiers_email: 'Email address', // UNTRANSLATED
identifiers_phone: 'Phone number', // UNTRANSLATED
identifiers_username: 'Username', // UNTRANSLATED
identifiers_email_or_sms: 'Email address or phone number', // UNTRANSLATED
identifiers_none: 'Not applicable', // UNTRANSLATED
and: 'and', // UNTRANSLATED
or: 'or', // UNTRANSLATED
sign_up: {
title: 'SIGN-UP', // UNTRANSLATED
sign_up_identifier: 'Sign-up identifier', // UNTRANSLATED
identifier_description:
'The sign-up identifier is required for account creation and must be included in your sign-in screen.', // UNTRANSLATED
sign_up_authentication: 'Authentication setting for sign-up', // UNTRANSLATED
authentication_description:
'All selected actions will be obligatory for users to complete the flow.', // UNTRANSLATED
set_a_password_option: 'Create your password', // UNTRANSLATED
verify_at_sign_up_option: 'Verify at sign-up', // UNTRANSLATED
social_only_creation_description: '(This apply to social only account creation)', // UNTRANSLATED
},
sign_in: {
title: 'SIGN-IN', // UNTRANSLATED
sign_in_identifier_and_auth: 'Identifier and authentication settings for sign-in', // UNTRANSLATED
description:
'Users can sign in using any of the options available. Adjust the layout by drag and dropping below options.', // UNTRANSLATED
add_sign_in_method: 'Add Sign-in Method', // UNTRANSLATED
password_auth: 'Password', // UNTRANSLATED
verification_code_auth: 'Verification code', // UNTRANSLATED
auth_swap_tip: 'Swap the options below to determine which appears first in the flow.', // UNTRANSLATED
require_auth_factor: 'You have to select at least one authentication factor.', // UNTRANSLATED
},
social_sign_in: {
title: 'SOCIAL SIGN-IN', // UNTRANSLATED
social_sign_in: 'Social sign-in', // UNTRANSLATED
description:
'Depending on the mandatory identifier you set up, your user may be asked to provide an identifier when signing up via social connector.', // UNTRANSLATED
add_social_connector: 'Add Social Connector', // UNTRANSLATED
set_up_hint: {
not_in_list: 'Not in the list?', // UNTRANSLATED
set_up_more: 'Set up', // UNTRANSLATED
go_to: 'other social connectors now.', // UNTRANSLATED
},
},
tip: {
set_a_password: 'A unique set of a password to your username is a must.', // UNTRANSLATED
verify_at_sign_up:
'We currently only support verified email. Your user base may contain a large number of poor-quality email addresses if no validation.', // UNTRANSLATED
password_auth:
'This is essential as you have enabled the option to set a password during the sign-up process.', // UNTRANSLATED
verification_code_auth:
'This is essential as you have only enabled the option to provide verification code when signing up. Youre free to uncheck the box when password set-up is allowed at the sign-up process.', // UNTRANSLATED
delete_sign_in_method:
'This is essential as you have selected {{identifier}} as a required identifier.', // UNTRANSLATED
},
},
color: {
title: 'FARBE',
primary_color: 'Markenfarbe',
dark_primary_color: 'Markenfarbe (Dunkler Modus)',
dark_mode: 'Aktiviere Dunklen Modus',
dark_mode_description:
'Deine App erhält einen automatisch generierten Dunklen Modus, der auf deiner Markenfarbe und dem Logto-Algorithmus basiert. Du kannst diesen nach Belieben anpassen.',
dark_mode_reset_tip: 'Neuberechnung der Farbe des dunklen Modus basierend auf der Markenfarbe.',
reset: 'Neuberechnen',
},
branding: {
title: 'BRANDING',
ui_style: 'Stil',
favicon: 'Favicon', // UNTRANSLATED
logo_image_url: 'App logo URL',
logo_image_url_placeholder: 'https://dein.cdn.domain/logo.png',
dark_logo_image_url: 'App logo URL (Dunkler Modus)',
dark_logo_image_url_placeholder: 'https://dein.cdn.domain/logo-dark.png',
logo_image: 'App logo',
dark_logo_image: 'App logo (Dunkler Modus)',
logo_image_error: 'App logo: {{error}}', // UNTRANSLATED
favicon_error: 'Favicon: {{error}}', // UNTRANSLATED
},
custom_css: {
title: 'Custom CSS', // UNTRANSLATED
css_code_editor_title: 'Personalize your UI with Custom CSS', // UNTRANSLATED
css_code_editor_description1: 'See the example of Custom CSS.', // UNTRANSLATED
css_code_editor_description2: '<a>{{link}}</a>', // UNTRANSLATED
css_code_editor_description_link_content: 'Learn more', // UNTRANSLATED
css_code_editor_content_placeholder:
'Enter your custom CSS to tailor the styles of anything to your exact specifications. Express your creativity and make your UI stand out.', // UNTRANSLATED
},
others: {
terms_of_use: {
title: 'Terms', // UNTRANSLATED
terms_of_use: 'URL zu den Nutzungsbedingungen',
terms_of_use_placeholder: 'https://beispiel.de/nutzungsbedingungen',
privacy_policy: 'URL zu den Datenschutzrichtlinien',
privacy_policy_placeholder: 'https://beispiel.de/datenschutzrichtlinien',
},
languages: {
title: 'SPRACHEN',
enable_auto_detect: 'Aktiviere automatische Spracherkennung',
description:
'Deine Software erkennt die Sprach-Einstellung des Nutzers und schaltet auf die lokale Sprache um. Du kannst neue Sprachen hinzufügen, indem du die Benutzeroberfläche vom Englischen in eine andere Sprache übersetzt.',
manage_language: 'Sprachen verwalten',
default_language: 'Standard-Sprache',
default_language_description_auto:
'Die Standardsprache wird verwendet, wenn die erkannte Benutzersprache nicht in der aktuellen Sprachbibliothek enthalten ist.',
default_language_description_fixed:
'Wenn die automatische Erkennung deaktiviert ist, ist die Standardsprache die einzige Sprache, die deine Software anzeigt. Schalte die automatische Erkennung ein um weitere Sprachen anzuzeigen.',
},
manage_language: {
title: 'Sprachen verwalten',
subtitle:
'Erweitere die Anmeldeoberfläche durch neue Sprachen und Übersetzungen. Deine Übersetzung kann als Standard-Sprache verwendet werden.',
add_language: 'Sprache hinzufügen',
logto_provided: 'Von Logto bereitgestellt',
key: 'Schlüssel',
logto_source_values: 'Logto Übersetzungen',
custom_values: 'Benutzerdefinierte Übersetzungen',
clear_all_tip: 'Alle benutzerdefinierten Übersetzungen löschen',
unsaved_description:
'Wenn du diese Seite verlässt, ohne zu speichern, werden die Änderungen nicht gespeichert.',
deletion_tip: 'Sprache löschen',
deletion_title: 'Willst du diese Sprache wirklich löschen?',
deletion_description:
'Nach dem Löschen können deine Benutzer diese Sprache nicht mehr nutzen.',
default_language_deletion_title: 'Die Standardsprache kann nicht gelöscht werden.',
default_language_deletion_description:
'{{language}} ist als Standardsprache eingestellt und kann nicht gelöscht werden. ',
},
advanced_options: {
title: 'ERWEITERTE OPTIONEN',
enable_create_account: 'Aktiviere Registrierung',
enable_create_account_description:
'Aktiviere oder deaktiviere Konto Registrierung. Wenn diese Funktion deaktiviert ist, können deine Kunden keine Konten über die Anmeldeoberfläche erstellen, aber du kannst immer noch Benutzer in der Admin Konsole hinzufügen.',
enable_user_registration: 'Enable user registration', // UNTRANSLATED
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.', // UNTRANSLATED
},
},
setup_warning: {
no_connector_sms:
'No SMS connector set-up yet. Before completing the configuration, users will not be able to sign in with this method. <a>{{link}}</a> in "Connectors"', // UNTRANSLATED
no_connector_email:
'No email connector set-up yet. Before completing the configuration, users will not be able to sign in with this method. <a>{{link}}</a> in "Connectors"', // UNTRANSLATED
no_connector_social:
'No social connector set-up yet. Before completing the configuration, users will not be able to sign in with this method. <a>{{link}}</a> in "Connectors"', // UNTRANSLATED
no_added_social_connector:
'Du hast jetzt ein paar Social Connectoren eingerichtet. Füge jetzt einige zu deinem Anmeldeerlebnis hinzu.',
setup_link: 'Set up',
},
save_alert: {
description:
'You are implementing new sign-in and sign-up procedures. All of your users may be affected by the new set-up. Are you sure to commit to the change?', // UNTRANSLATED
before: 'Vorher',
after: 'Nachher',
sign_up: 'Sign-up', // UNTRANSLATED
sign_in: 'Sign-in', // UNTRANSLATED
social: 'Social', // UNTRANSLATED
},
preview: {
title: 'Vorschau',
live_preview: 'Live preview', // UNTRANSLATED
live_preview_tip: 'Save to preview changes', // UNTRANSLATED
native: 'Nativ',
desktop_web: 'Desktop Web',
mobile_web: 'Mobil Web',
},
};
export default sign_in_exp;

View file

@ -0,0 +1,87 @@
import others from './others.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
page_title: 'Anmeldeoberfläche',
title: 'Anmeldeoberfläche',
description:
'Passe die Benutzeroberfläche für die Anmeldung an deine Marke an und zeige eine Vorschau in Echtzeit an',
tabs: {
branding: 'Branding',
methods: 'Anmeldemethoden',
sign_up_and_sign_in: 'Sign up and Sign in',
others: 'Andere',
},
welcome: {
title: 'Customize sign-in experience',
description:
'Get started fast with your first sign-in setup. This guide walks you through all the necessary settings.',
get_started: 'Erste Schritte',
apply_remind:
'Bitte beachte, dass die Anmeldeoberfläche für alle Anwendungen unter diesem Konto gilt.',
},
color: {
title: 'FARBE',
primary_color: 'Markenfarbe',
dark_primary_color: 'Markenfarbe (Dunkler Modus)',
dark_mode: 'Aktiviere Dunklen Modus',
dark_mode_description:
'Deine App erhält einen automatisch generierten Dunklen Modus, der auf deiner Markenfarbe und dem Logto-Algorithmus basiert. Du kannst diesen nach Belieben anpassen.',
dark_mode_reset_tip: 'Neuberechnung der Farbe des dunklen Modus basierend auf der Markenfarbe.',
reset: 'Neuberechnen',
},
branding: {
title: 'BRANDING',
ui_style: 'Stil',
favicon: 'Favicon',
logo_image_url: 'App logo URL',
logo_image_url_placeholder: 'https://dein.cdn.domain/logo.png',
dark_logo_image_url: 'App logo URL (Dunkler Modus)',
dark_logo_image_url_placeholder: 'https://dein.cdn.domain/logo-dark.png',
logo_image: 'App logo',
dark_logo_image: 'App logo (Dunkler Modus)',
logo_image_error: 'App logo: {{error}}',
favicon_error: 'Favicon: {{error}}',
},
custom_css: {
title: 'Custom CSS',
css_code_editor_title: 'Personalize your UI with Custom CSS',
css_code_editor_description1: 'See the example of Custom CSS.',
css_code_editor_description2: '<a>{{link}}</a>',
css_code_editor_description_link_content: 'Learn more',
css_code_editor_content_placeholder:
'Enter your custom CSS to tailor the styles of anything to your exact specifications. Express your creativity and make your UI stand out.',
},
setup_warning: {
no_connector_sms:
'No SMS connector set-up yet. Before completing the configuration, users will not be able to sign in with this method. <a>{{link}}</a> in "Connectors"',
no_connector_email:
'No email connector set-up yet. Before completing the configuration, users will not be able to sign in with this method. <a>{{link}}</a> in "Connectors"',
no_connector_social:
'No social connector set-up yet. Before completing the configuration, users will not be able to sign in with this method. <a>{{link}}</a> in "Connectors"',
no_added_social_connector:
'Du hast jetzt ein paar Social Connectoren eingerichtet. Füge jetzt einige zu deinem Anmeldeerlebnis hinzu.',
setup_link: 'Set up',
},
save_alert: {
description:
'You are implementing new sign-in and sign-up procedures. All of your users may be affected by the new set-up. Are you sure to commit to the change?',
before: 'Vorher',
after: 'Nachher',
sign_up: 'Sign-up',
sign_in: 'Sign-in',
social: 'Social',
},
preview: {
title: 'Vorschau',
live_preview: 'Live preview',
live_preview_tip: 'Save to preview changes',
native: 'Nativ',
desktop_web: 'Desktop Web',
mobile_web: 'Mobil Web',
},
others,
sign_up_and_sign_in,
};
export default sign_in_exp;

View file

@ -0,0 +1,51 @@
const others = {
terms_of_use: {
title: 'Terms',
terms_of_use: 'URL zu den Nutzungsbedingungen',
terms_of_use_placeholder: 'https://beispiel.de/nutzungsbedingungen',
privacy_policy: 'URL zu den Datenschutzrichtlinien',
privacy_policy_placeholder: 'https://beispiel.de/datenschutzrichtlinien',
},
languages: {
title: 'SPRACHEN',
enable_auto_detect: 'Aktiviere automatische Spracherkennung',
description:
'Deine Software erkennt die Sprach-Einstellung des Nutzers und schaltet auf die lokale Sprache um. Du kannst neue Sprachen hinzufügen, indem du die Benutzeroberfläche vom Englischen in eine andere Sprache übersetzt.',
manage_language: 'Sprachen verwalten',
default_language: 'Standard-Sprache',
default_language_description_auto:
'Die Standardsprache wird verwendet, wenn die erkannte Benutzersprache nicht in der aktuellen Sprachbibliothek enthalten ist.',
default_language_description_fixed:
'Wenn die automatische Erkennung deaktiviert ist, ist die Standardsprache die einzige Sprache, die deine Software anzeigt. Schalte die automatische Erkennung ein um weitere Sprachen anzuzeigen.',
},
manage_language: {
title: 'Sprachen verwalten',
subtitle:
'Erweitere die Anmeldeoberfläche durch neue Sprachen und Übersetzungen. Deine Übersetzung kann als Standard-Sprache verwendet werden.',
add_language: 'Sprache hinzufügen',
logto_provided: 'Von Logto bereitgestellt',
key: 'Schlüssel',
logto_source_values: 'Logto Übersetzungen',
custom_values: 'Benutzerdefinierte Übersetzungen',
clear_all_tip: 'Alle benutzerdefinierten Übersetzungen löschen',
unsaved_description:
'Wenn du diese Seite verlässt, ohne zu speichern, werden die Änderungen nicht gespeichert.',
deletion_tip: 'Sprache löschen',
deletion_title: 'Willst du diese Sprache wirklich löschen?',
deletion_description: 'Nach dem Löschen können deine Benutzer diese Sprache nicht mehr nutzen.',
default_language_deletion_title: 'Die Standardsprache kann nicht gelöscht werden.',
default_language_deletion_description:
'{{language}} ist als Standardsprache eingestellt und kann nicht gelöscht werden. ',
},
advanced_options: {
title: 'ERWEITERTE OPTIONEN',
enable_create_account: 'Aktiviere Registrierung',
enable_create_account_description:
'Aktiviere oder deaktiviere Konto Registrierung. Wenn diese Funktion deaktiviert ist, können deine Kunden keine Konten über die Anmeldeoberfläche erstellen, aber du kannst immer noch Benutzer in der Admin Konsole hinzufügen.',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default others;

View file

@ -0,0 +1,57 @@
const sign_up_and_sign_in = {
identifiers_email: 'Email address',
identifiers_phone: 'Phone number',
identifiers_username: 'Username',
identifiers_email_or_sms: 'Email address or phone number',
identifiers_none: 'Not applicable',
and: 'and',
or: 'or',
sign_up: {
title: 'SIGN UP',
sign_up_identifier: 'Sign-up identifier',
identifier_description:
'The sign-up identifier is required for account creation and must be included in your sign-in screen.',
sign_up_authentication: 'Authentication setting for sign-up',
authentication_description:
'All selected actions will be obligatory for users to complete the flow.',
set_a_password_option: 'Create your password',
verify_at_sign_up_option: 'Verify at sign-up',
social_only_creation_description: '(This apply to social only account creation)',
},
sign_in: {
title: 'SIGN IN',
sign_in_identifier_and_auth: 'Identifier and authentication settings for sign-in',
description:
'Users can sign in using any of the options available. Adjust the layout by drag and dropping below options.',
add_sign_in_method: 'Add Sign-in Method',
password_auth: 'Password',
verification_code_auth: 'Verification code',
auth_swap_tip: 'Swap the options below to determine which appears first in the flow.',
require_auth_factor: 'You have to select at least one authentication factor.',
},
social_sign_in: {
title: 'SOCIAL SIGN-IN',
social_sign_in: 'Social sign-in',
description:
'Depending on the mandatory identifier you set up, your user may be asked to provide an identifier when signing up via social connector.',
add_social_connector: 'Add Social Connector',
set_up_hint: {
not_in_list: 'Not in the list?',
set_up_more: 'Set up',
go_to: 'other social connectors now.',
},
},
tip: {
set_a_password: 'A unique set of a password to your username is a must.',
verify_at_sign_up:
'We currently only support verified email. Your user base may contain a large number of poor-quality email addresses if no validation.',
password_auth:
'This is essential as you have enabled the option to set a password during the sign-up process.',
verification_code_auth:
'This is essential as you have only enabled the option to provide verification code when signing up. Youre free to uncheck the box when password set-up is allowed at the sign-up process.',
delete_sign_in_method:
'This is essential as you have selected {{identifier}} as a required identifier.',
},
};
export default sign_up_and_sign_in;

View file

@ -1,222 +0,0 @@
const errors = {
request: {
invalid_input: "L'entrée est invalide. {{details}}",
general: "Une erreur de requête s'est produite.",
},
auth: {
authorization_header_missing: "L'en-tête d'autorisation est manquant.",
authorization_token_type_not_supported: "Le type d'autorisation n'est pas pris en charge.",
unauthorized:
"Non autorisé. Veuillez vérifier les informations d'identification et son champ d'application.",
forbidden: "Interdit. Veuillez vérifier vos rôles et autorisations d'utilisateur.",
expected_role_not_found:
'Expected role not found. Please check your user roles and permissions.',
jwt_sub_missing: '`sub` manquant dans JWT.',
require_re_authentication:
'La ré-authentification est requise pour effectuer une action protégée.',
},
guard: {
invalid_input: "La requête {{type}} n'est pas valide.",
invalid_pagination: "La valeur de la pagination de la requête n'est pas valide.",
can_not_get_tenant_id:
"Impossible de récupérer l'identifiant du locataire à partir de la demande.",
file_size_exceeded: 'Taille du fichier dépassée.',
mime_type_not_allowed: "Le type MIME n'est pas autorisé.",
},
oidc: {
aborted: "L'utilisateur a abandonné l'interaction.",
invalid_scope: "Le scope {{scope}} n'est pas pris en charge.",
invalid_scope_plural: 'Les scopes {{scopes}} ne sont pas supportés.',
invalid_token: 'Jeton fournis invalide.',
invalid_client_metadata: 'Les métadonnées du client fournies sont invalides.',
insufficient_scope: "Jeton d'accès manquant pour les scopes {{scopes}}.",
invalid_request: 'La requête est invalide.',
invalid_grant: 'Grant request is invalid.',
invalid_redirect_uri:
'`redirect_uri` ne correspondait à aucun des `redirect_uris` enregistrés par le client.',
access_denied: 'Accès refusé.',
invalid_target: 'Indicateur de ressource invalide.',
unsupported_grant_type: "Le `grant_type` demandé n'est pas supporté.",
unsupported_response_mode: "Le `response_mode` demandé n'est pas supporté.",
unsupported_response_type: "Le `response_type` demandé n'est pas supporté.",
provider_error: "Erreur interne de l'OIDC : {{message}}.",
},
user: {
username_already_in_use: "Ce nom d'utilisateur est déjà utilisé.",
email_already_in_use: 'Cet e-mail est associé à un compte existant.',
phone_already_in_use: 'Ce numéro de téléphone est associé à un compte existant.',
invalid_email: 'Addresse email incorrecte.',
invalid_phone: 'Numéro de téléphone incorrect.',
email_not_exist: "L'adresse e-mail n'a pas encore été enregistrée.",
phone_not_exist: "Le numéro de téléphone n'a pas encore été enregistré.",
identity_not_exist: "Le compte social n'a pas encore été enregistré.",
identity_already_in_use: 'Le compte social a été enregistré.',
social_account_exists_in_profile: 'Vous avez déjà associé ce compte social.',
cannot_delete_self: 'Vous ne pouvez pas vous supprimer vous-même.',
sign_up_method_not_enabled: "Cette méthode d'inscription n'est pas activée.",
sign_in_method_not_enabled: "Cette méthode de connexion n'est pas activée.",
same_password: "Le nouveau mot de passe ne peut pas être identique à l'ancien.",
password_required_in_profile: 'Vous devez définir un mot de passe avant de vous connecter.',
new_password_required_in_profile: 'Vous devez définir un nouveau mot de passe.',
password_exists_in_profile: 'Le mot de passe existe déjà dans votre profil.',
username_required_in_profile:
"Vous devez définir un nom d'utilisateur avant de vous connecter.",
username_exists_in_profile: "Le nom d'utilisateur existe déjà dans votre profil.",
email_required_in_profile: 'Vous devez ajouter une adresse e-mail avant de vous connecter.',
email_exists_in_profile: 'Votre profil est déjà associé à une adresse e-mail.',
phone_required_in_profile: 'Vous devez ajouter un numéro de téléphone avant de vous connecter.',
phone_exists_in_profile: 'Votre profil est déjà associé à un numéro de téléphone.',
email_or_phone_required_in_profile:
'Vous devez ajouter une adresse e-mail ou un numéro de téléphone avant de vous connecter.',
suspended: 'Ce compte est suspendu.',
user_not_exist: "L'utilisateur avec {{ identifier }} n'existe pas.",
missing_profile: 'Vous devez fournir des informations supplémentaires avant de vous connecter.',
role_exists: "L'ID de rôle {{roleId}} a déjà été ajouté à cet utilisateur",
},
password: {
unsupported_encryption_method: "La méthode de cryptage {{name}} n'est pas prise en charge.",
pepper_not_found:
'Mot de passe pepper non trouvé. Veuillez vérifier votre environnement de base.',
},
session: {
not_found: 'Session non trouvée. Veuillez revenir en arrière et vous connecter à nouveau.',
invalid_credentials:
"Informations d'identification non valides. Veuillez vérifier votre saisie.",
invalid_sign_in_method: "La méthode de connexion actuelle n'est pas disponible.",
invalid_connector_id:
"Impossible de trouver un connecteur disponible avec l'id {{connectorId}}.",
insufficient_info: "Informations d'identification insuffisantes",
connector_id_mismatch: "Le connectorId ne correspond pas à l'enregistrement de la session.",
connector_session_not_found:
"La session du connecteur n'a pas été trouvée. Veuillez revenir en arrière et vous connecter à nouveau.",
verification_session_not_found:
"La vérification n'a pas abouti. Redémarrez le processus de vérification et réessayez.",
verification_expired:
'La connexion a expiré. Vérifiez à nouveau pour assurer la sécurité de votre compte.',
unauthorized: "Veuillez vous enregistrer d'abord.",
unsupported_prompt_name: "Nom d'invite non supporté.",
forgot_password_not_enabled:
"La fonctionnalité de réinitialisation de mot de passe n'est pas activée.",
verification_failed:
"La vérification n'a pas réussi. Veuillez recommencer le processus de vérification.",
connector_validation_session_not_found:
'La session de validation de jeton de connecteur est introuvable.',
identifier_not_found:
'Identifiant utilisateur introuvable. Veuillez retourner en arrière et vous connecter à nouveau.',
interaction_not_found:
"Session d'interaction introuvable. Veuillez retourner en arrière et recommencer la session.",
},
connector: {
general: "Une erreur s'est produite dans le connecteur: {{errorDescription}}",
not_found: 'Impossible de trouver un connecteur disponible pour le type : {{type}}.',
not_enabled: "Le connecteur n'est pas activé.",
invalid_metadata: 'Les métadonnées du connecteur sont invalides.',
invalid_config_guard: 'La configuration du connecteur est invalide.',
unexpected_type: 'Le type de connecteur est inattendu.',
invalid_request_parameters: "La requête contient des paramètres d'entrée incorrects.",
insufficient_request_parameters: 'Certains paramètres peuvent manquer dans la requête.',
invalid_config: "La configuration du connecteur n'est pas valide.",
invalid_response: "La réponse du connecteur n'est pas valide.",
template_not_found: 'Impossible de trouver le bon modèle dans la configuration du connecteur.',
not_implemented: "{{method}} : n'a pas encore été mis en œuvre.",
social_invalid_access_token: "Le jeton d'accès du connecteur n'est pas valide.",
invalid_auth_code: "Le code d'authentification du connecteur n'est pas valide.",
social_invalid_id_token: "Le jeton d'identification du connecteur n'est pas valide.",
authorization_failed: "Le processus d'autorisation de l'utilisateur n'a pas abouti.",
social_auth_code_invalid:
"Impossible d'obtenir le jeton d'accès, veuillez vérifier le code d'autorisation.",
more_than_one_sms: 'Le nombre de connecteurs SMS est supérieur à 1.',
more_than_one_email: 'Le nombre de connecteurs Email est supérieur à 1.',
more_than_one_connector_factory:
'Plusieurs fabriques de connecteurs ont été trouvées (avec les identifiants {{connectorIds}}), vous pouvez désinstaller ceux qui ne sont pas nécessaires.',
db_connector_type_mismatch:
'Il y a un connecteur dans la base de donnée qui ne correspond pas au type.',
not_found_with_connector_id:
"Impossible de trouver le connecteur avec l'identifiant de connecteur standard fourni.",
multiple_instances_not_supported:
'Impossible de créer plusieurs instances avec le connecteur standard sélectionné.',
invalid_type_for_syncing_profile:
"Vous ne pouvez synchroniser le profil utilisateur qu'avec les connecteurs sociaux.",
can_not_modify_target: 'Le "target" du connecteur ne peut pas être modifié.',
should_specify_target: 'Vous devez spécifier le "target".',
multiple_target_with_same_platform:
'Vous ne pouvez pas avoir plusieurs connecteurs sociaux ayant la même "target" et la même plateforme.',
cannot_overwrite_metadata_for_non_standard_connector:
'Les "metadata" de ce connecteur ne peuvent pas être modifiés.',
},
verification_code: {
phone_email_empty: "Les deux le téléphone et l'email sont vides.",
not_found:
"Le code de vérification n'a pas été trouvé. Veuillez d'abord envoyer le code de vérification.",
phone_mismatch:
'Téléphone ne correspond pas. Veuillez demander un nouveau code de vérification.',
email_mismatch: 'Email ne correspond pas. Veuillez demander un nouveau code de vérification.',
code_mismatch: 'Code de vérification invalide.',
expired: 'Le code de vérification a expiré. Veuillez demander un nouveau code de vérification.',
exceed_max_try:
'La limite de tentatives de code de vérification a été dépassée. Veuillez demander un nouveau code de vérification.',
},
sign_in_experiences: {
empty_content_url_of_terms_of_use:
'URL de contenu "Conditions d\'utilisation" vide. Veuillez ajouter l\'URL du contenu si les "Conditions d\'utilisation" sont activées.',
empty_social_connectors:
'Connecteurs sociaux vides. Veuillez ajouter des connecteurs sociaux activés lorsque la méthode de connexion sociale est activée.',
enabled_connector_not_found: 'Le connecteur {{type}} activé est introuvable.',
not_one_and_only_one_primary_sign_in_method:
'Il doit y avoir une et une seule méthode de connexion primaire. Veuillez vérifier votre saisie.',
username_requires_password:
"Vous devez activer la définition d'un mot de passe pour l'identifiant d'inscription de nom d'utilisateur.",
passwordless_requires_verify:
"Vous devez activer la vérification pour l'identifiant d'inscription par e-mail/numéro de téléphone.",
miss_sign_up_identifier_in_sign_in:
"Les méthodes de connexion doivent contenir l'identifiant d'inscription.",
password_sign_in_must_be_enabled:
"La connexion par mot de passe doit être activée lorsque la définition d'un mot de passe est requise lors de l'inscription.",
code_sign_in_must_be_enabled:
"La connexion par code de vérification doit être activée lorsque la définition d'un mot de passe n'est pas requise lors de l'inscription.",
unsupported_default_language:
"Cette langue - {{language}} n'est pas prise en charge pour le moment.",
at_least_one_authentication_factor:
"Vous devez sélectionner au moins un facteur d'authentification.",
},
localization: {
cannot_delete_default_language:
'{{languageTag}} est défini comme votre langue par défaut et ne peut pas être supprimé.',
invalid_translation_structure:
'Schémas de données invalides. Veuillez vérifier votre entrée et réessayer.',
},
swagger: {
invalid_zod_type: 'Type Zod non valide. Veuillez vérifier la configuration du garde-route.',
not_supported_zod_type_for_params:
'Type Zod non supporté pour les paramètres. Veuillez vérifier la configuration du garde-route.',
},
entity: {
create_failed: 'Échec de la création de {{name}}.',
not_exists: "Le {{name}} n'existe pas.",
not_exists_with_id: "Le {{name}} avec l'ID `{{id}}` n'existe pas.",
not_found: "La ressource n'existe pas.",
},
log: {
invalid_type: 'Type de journalisation invalide.',
},
role: {
name_in_use: 'Ce nom de rôle {{name}} est déjà utilisé',
scope_exists: "L'identifiant de portée {{scopeId}} a déjà été ajouté à ce rôle",
user_exists: "L'identifiant d'utilisateur {{userId}} a déjà été ajouté à ce rôle",
default_role_missing:
"Certains noms de rôles par défaut n'existent pas dans la base de données, veuillez vous assurer de créer d'abord des rôles",
internal_role_violation:
'Vous essayez peut-être de mettre à jour ou de supprimer un rôle interne, ce qui est interdit par Logto. Si vous créez un nouveau rôle, essayez un autre nom qui ne commence pas par "#internal:".',
},
scope: {
name_exists: 'Le nom de portée {{name}} est déjà utilisé',
name_with_space: "Le nom de la portée ne peut pas contenir d'espace.",
},
storage: {
not_configured: "Le fournisseur de stockage n'est pas configuré.",
missing_parameter: 'Paramètre manquant {{parameter}} pour le fournisseur de stockage.',
upload_error: "Échec de l'envoi du fichier au fournisseur de stockage.",
},
};
export default errors;

View file

@ -0,0 +1,13 @@
const auth = {
authorization_header_missing: "L'en-tête d'autorisation est manquant.",
authorization_token_type_not_supported: "Le type d'autorisation n'est pas pris en charge.",
unauthorized:
"Non autorisé. Veuillez vérifier les informations d'identification et son champ d'application.",
forbidden: "Interdit. Veuillez vérifier vos rôles et autorisations d'utilisateur.",
expected_role_not_found: 'Expected role not found. Please check your user roles and permissions.',
jwt_sub_missing: '`sub` manquant dans JWT.',
require_re_authentication:
'La ré-authentification est requise pour effectuer une action protégée.',
};
export default auth;

View file

@ -0,0 +1,40 @@
const connector = {
general: "Une erreur s'est produite dans le connecteur: {{errorDescription}}",
not_found: 'Impossible de trouver un connecteur disponible pour le type : {{type}}.',
not_enabled: "Le connecteur n'est pas activé.",
invalid_metadata: 'Les métadonnées du connecteur sont invalides.',
invalid_config_guard: 'La configuration du connecteur est invalide.',
unexpected_type: 'Le type de connecteur est inattendu.',
invalid_request_parameters: "La requête contient des paramètres d'entrée incorrects.",
insufficient_request_parameters: 'Certains paramètres peuvent manquer dans la requête.',
invalid_config: "La configuration du connecteur n'est pas valide.",
invalid_response: "La réponse du connecteur n'est pas valide.",
template_not_found: 'Impossible de trouver le bon modèle dans la configuration du connecteur.',
not_implemented: "{{method}} : n'a pas encore été mis en œuvre.",
social_invalid_access_token: "Le jeton d'accès du connecteur n'est pas valide.",
invalid_auth_code: "Le code d'authentification du connecteur n'est pas valide.",
social_invalid_id_token: "Le jeton d'identification du connecteur n'est pas valide.",
authorization_failed: "Le processus d'autorisation de l'utilisateur n'a pas abouti.",
social_auth_code_invalid:
"Impossible d'obtenir le jeton d'accès, veuillez vérifier le code d'autorisation.",
more_than_one_sms: 'Le nombre de connecteurs SMS est supérieur à 1.',
more_than_one_email: 'Le nombre de connecteurs Email est supérieur à 1.',
more_than_one_connector_factory:
'Plusieurs fabriques de connecteurs ont été trouvées (avec les identifiants {{connectorIds}}), vous pouvez désinstaller ceux qui ne sont pas nécessaires.',
db_connector_type_mismatch:
'Il y a un connecteur dans la base de donnée qui ne correspond pas au type.',
not_found_with_connector_id:
"Impossible de trouver le connecteur avec l'identifiant de connecteur standard fourni.",
multiple_instances_not_supported:
'Impossible de créer plusieurs instances avec le connecteur standard sélectionné.',
invalid_type_for_syncing_profile:
"Vous ne pouvez synchroniser le profil utilisateur qu'avec les connecteurs sociaux.",
can_not_modify_target: 'Le "target" du connecteur ne peut pas être modifié.',
should_specify_target: 'Vous devez spécifier le "target".',
multiple_target_with_same_platform:
'Vous ne pouvez pas avoir plusieurs connecteurs sociaux ayant la même "target" et la même plateforme.',
cannot_overwrite_metadata_for_non_standard_connector:
'Les "metadata" de ce connecteur ne peuvent pas être modifiés.',
};
export default connector;

View file

@ -0,0 +1,8 @@
const entity = {
create_failed: 'Échec de la création de {{name}}.',
not_exists: "Le {{name}} n'existe pas.",
not_exists_with_id: "Le {{name}} avec l'ID `{{id}}` n'existe pas.",
not_found: "La ressource n'existe pas.",
};
export default entity;

View file

@ -0,0 +1,10 @@
const guard = {
invalid_input: "La requête {{type}} n'est pas valide.",
invalid_pagination: "La valeur de la pagination de la requête n'est pas valide.",
can_not_get_tenant_id:
"Impossible de récupérer l'identifiant du locataire à partir de la demande.",
file_size_exceeded: 'Taille du fichier dépassée.',
mime_type_not_allowed: "Le type MIME n'est pas autorisé.",
};
export default guard;

View file

@ -0,0 +1,39 @@
import auth from './auth.js';
import connector from './connector.js';
import entity from './entity.js';
import guard from './guard.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import password from './password.js';
import request from './request.js';
import role from './role.js';
import scope from './scope.js';
import session from './session.js';
import sign_in_experiences from './sign-in-experiences.js';
import storage from './storage.js';
import swagger from './swagger.js';
import user from './user.js';
import verification_code from './verification-code.js';
const errors = {
request,
auth,
guard,
oidc,
user,
password,
session,
connector,
verification_code,
sign_in_experiences,
localization,
swagger,
entity,
log,
role,
scope,
storage,
};
export default errors;

View file

@ -0,0 +1,8 @@
const localization = {
cannot_delete_default_language:
'{{languageTag}} est défini comme votre langue par défaut et ne peut pas être supprimé.',
invalid_translation_structure:
'Schémas de données invalides. Veuillez vérifier votre entrée et réessayer.',
};
export default localization;

Some files were not shown because too many files have changed in this diff Show more