0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-04-07 23:01:25 -05:00

chore(console,experience): sync and translate i18n phrases (#7163)

This commit is contained in:
Charles Zhao 2025-03-20 19:18:40 +08:00 committed by GitHub
parent 045ec731d7
commit ab4aa1eb5d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
152 changed files with 1391 additions and 646 deletions

View file

@ -84,21 +84,15 @@ const description = {
user_id: 'معرف المستخدم: {{id}}',
redirect_to: 'سيتم توجيهك إلى {{name}}.',
auto_agreement: 'من خلال المتابعة، فإنك توافق على <link></link>.',
/** UNTRANSLATED */
identifier_sign_in_description: 'Enter you {{types, list(type: disjunction;)}} to sign in.',
/** UNTRANSLATED */
all_sign_in_options: 'All sign-in options',
/** UNTRANSLATED */
identifier_sign_in_description:
'أدخل {{types, list(type: disjunction;)}} الخاص بك لتسجيل الدخول.',
all_sign_in_options: 'جميع خيارات تسجيل الدخول',
identifier_register_description:
'Enter you {{types, list(type: disjunction;)}} to create a new account.',
/** UNTRANSLATED */
all_account_creation_options: 'All account creation options',
/** UNTRANSLATED */
back_to_sign_in: 'Back to sign in',
/** UNTRANSLATED */
support_email: 'Support email: <link></link>',
/** UNTRANSLATED */
support_website: 'Support website: <link></link>',
'أدخل {{types, list(type: disjunction;)}} الخاص بك لإنشاء حساب جديد.',
all_account_creation_options: 'جميع خيارات إنشاء الحساب',
back_to_sign_in: 'العودة إلى تسجيل الدخول',
support_email: 'البريد الإلكتروني للدعم: <link></link>',
support_website: 'موقع الدعم: <link></link>',
};
export default Object.freeze(description);

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const ar = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(ar);

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Überprüfen über Passkey',
download: 'Herunterladen',
single_sign_on: 'Single Sign-On',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: 'Autorisieren',
use_another_account: 'Anderes Konto verwenden',
};
export default Object.freeze(action);

View file

@ -77,30 +77,18 @@ const description = {
single_sign_on_connectors_list:
'Ihr Unternehmen hat Single Sign-On für das E-Mail-Konto {{email}} aktiviert. Sie können sich weiterhin mit den folgenden SSO-Anbietern anmelden.',
single_sign_on_enabled: 'Single Sign-On ist für dieses Konto aktiviert',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: 'Autorisieren {{name}}',
request_permission: '{{name}} fordert Zugang zu:',
grant_organization_access: 'Gewähren Sie der Organisation Zugriff:',
authorize_personal_data_usage: 'Erlauben Sie die Nutzung Ihrer persönlichen Daten:',
authorize_organization_access: 'Erlauben Sie Zugriff auf die spezifische Organisation:',
user_scopes: 'Persönliche Benutzerdaten',
organization_scopes: 'Zugriff auf die Organisation',
authorize_agreement: `Indem Sie den Zugriff autorisieren, stimmen Sie den <link></link> von {{name}} zu.`,
authorize_agreement_with_redirect: `Indem Sie den Zugriff autorisieren, stimmen Sie den <link></link> von {{name}} zu, und werden zu {{uri}} weitergeleitet.`,
not_you: 'Nicht Sie?',
user_id: 'Benutzer-ID: {{id}}',
redirect_to: 'Sie werden zu {{name}} weitergeleitet.',
auto_agreement: 'Indem Sie fortfahren, stimmen Sie den <link></link> zu.',
identifier_sign_in_description:
'Geben Sie Ihre {{types, list(type: disjunction;)}} ein, um sich anzumelden.',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const de = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(de);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: 'Deine benutzerdefinierten Daten',
email: 'Deine E-Mail-Adresse',
phone: 'Deine Telefonnummer',
profile: 'Dein Name, Benutzername, Avatar und andere Profilinformationen',
roles: 'Deine Rollen',
identities: 'Deine verknüpften sozialen Identitäten',
'urn:logto:scope:organizations': 'Die Informationen deiner Organisationen',
'urn:logto:scope:organization_roles': 'Deine Rollen in der Organisation',
address: 'Deine Adresse',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Verificar mediante clave de acceso',
download: 'Descargar',
single_sign_on: 'Inicio de sesión único',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: 'Autorizar',
use_another_account: 'Usar otra cuenta',
};
export default Object.freeze(action);

View file

@ -77,30 +77,18 @@ const description = {
'Su empresa ha habilitado el inicio de sesión único (Single Sign-On) para la cuenta de correo electrónico {{email}}. Puede continuar iniciando sesión con los siguientes proveedores de SSO.',
single_sign_on_enabled:
'El inicio de sesión único (Single Sign-On) está habilitado para esta cuenta',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: 'Autorizar {{name}}',
request_permission: '{{name}} solicita acceso a:',
grant_organization_access: 'Otorgar acceso a la organización:',
authorize_personal_data_usage: 'Autorizar el uso de tus datos personales:',
authorize_organization_access: 'Autorizar acceso a la organización específica:',
user_scopes: 'Datos personales del usuario',
organization_scopes: 'Acceso a la organización',
authorize_agreement: `Al autorizar el acceso, aceptas los <link></link> de {{name}}.`,
authorize_agreement_with_redirect: `Al autorizar el acceso, aceptas los <link></link> de {{name}}, y serás redirigido a {{uri}}.`,
not_you: '¿No eres tú?',
user_id: 'ID de usuario: {{id}}',
redirect_to: 'Serás redirigido a {{name}}.',
auto_agreement: 'Al continuar, acepta los <link></link>.',
identifier_sign_in_description:
'Ingrese su {{types, list(type: disjunction;)}} para iniciar sesión.',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const es = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(es);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: 'Tus datos personalizados',
email: 'Tu dirección de correo electrónico',
phone: 'Tu número de teléfono',
profile: 'Tu nombre, nombre de usuario, avatar y otra información de perfil',
roles: 'Tus roles',
identities: 'Tus identidades sociales vinculadas',
'urn:logto:scope:organizations': 'La información sobre tus organizaciones',
'urn:logto:scope:organization_roles': 'Tus roles en la organización',
address: 'Tu dirección',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: "Vérifier via la clé d'accès",
download: 'Télécharger',
single_sign_on: 'Connexion unique',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: 'Autoriser',
use_another_account: 'Utiliser un autre compte',
};
export default Object.freeze(action);

View file

@ -77,30 +77,18 @@ const description = {
single_sign_on_connectors_list:
'Votre entreprise a activé la connexion unique (Single Sign-On) pour le compte email {{email}}. Vous pouvez continuer à vous connecter avec les fournisseurs SSO suivants.',
single_sign_on_enabled: 'La connexion unique (Single Sign-On) est activée pour ce compte',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: 'Autoriser {{name}}',
request_permission: "{{name}} demande l'accès à :",
grant_organization_access: "Accorder l'accès à l'organisation :",
authorize_personal_data_usage: "Autoriser l'utilisation de vos données personnelles :",
authorize_organization_access: "Autoriser l'accès à l'organisation spécifique :",
user_scopes: 'Données utilisateur personnelles',
organization_scopes: "Accès à l'organisation",
authorize_agreement: `En autorisant l'accès, vous acceptez les termes de {{name}} <link></link>.`,
authorize_agreement_with_redirect: `En autorisant l'accès, vous acceptez les termes de {{name}} <link></link>, et vous serez redirigé vers {{uri}}.`,
not_you: 'Pas vous ?',
user_id: 'ID utilisateur : {{id}}',
redirect_to: 'Vous serez redirigé vers {{name}}.',
auto_agreement: 'En continuant, vous acceptez les <link></link>.',
identifier_sign_in_description:
'Entrez votre {{types, list(type: disjunction;)}} pour vous connecter.',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const fr = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(fr);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: 'Vos données personnalisées',
email: 'Votre adresse e-mail',
phone: 'Votre numéro de téléphone',
profile: "Votre nom, nom d'utilisateur, avatar et autres informations de profil",
roles: 'Vos rôles',
identities: 'Vos identités sociales liées',
'urn:logto:scope:organizations': 'Les informations de vos organisations',
'urn:logto:scope:organization_roles': "Vos rôles dans l'organisation",
address: 'Votre adresse',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Verifica tramite passkey',
download: 'Scarica',
single_sign_on: 'Single Sign-On',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: 'Autorizza',
use_another_account: 'Usa un altro account',
};
export default Object.freeze(action);

View file

@ -74,30 +74,19 @@ const description = {
single_sign_on_connectors_list:
"La tua azienda ha abilitato il Single Sign-On per l'account email {{email}}. Puoi continuare ad accedere con i seguenti fornitori di SSO.",
single_sign_on_enabled: 'Il Single Sign-On è abilitato per questo account',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: 'Autorizza {{name}}',
request_permission: '{{name}} sta richiedendo accesso a:',
grant_organization_access: "Concedi accesso all'organizzazione:",
authorize_personal_data_usage: "Autorizza l'utilizzo dei tuoi dati personali:",
authorize_organization_access: "Autorizza l'accesso all'organizzazione specifica:",
user_scopes: 'Dati utente personali',
organization_scopes: "Accesso all'organizzazione",
authorize_agreement: "Autorizzando l'accesso, accetti i <link></link> di {{name}}.",
authorize_agreement_with_redirect:
"Autorizzando l'accesso, accetti i <link></link> di {{name}}, e sarai reindirizzato a {{uri}}.",
not_you: 'Non sei tu?',
user_id: 'ID utente: {{id}}',
redirect_to: 'Sarai reindirizzato a {{name}}.',
auto_agreement: 'Continuando, accetti i <link></link>.',
identifier_sign_in_description:
'Inserisci il tuo {{types, list(type: disjunction;)}} per accedere.',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const it = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(it);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: 'I tuoi dati personalizzati',
email: 'Il tuo indirizzo email',
phone: 'Il tuo numero di telefono',
profile: 'Il tuo nome, nome utente, avatar e altre informazioni del profilo',
roles: 'I tuoi ruoli',
identities: 'Le tue identità social collegate',
'urn:logto:scope:organizations': 'Le informazioni sulle tue organizzazioni',
'urn:logto:scope:organization_roles': 'I tuoi ruoli organizzativi',
address: 'Il tuo indirizzo',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'パスキー経由で確認',
download: 'ダウンロード',
single_sign_on: 'シングルサインオン',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: '認証する',
use_another_account: '別のアカウントを使用する',
};
export default Object.freeze(action);

View file

@ -74,30 +74,18 @@ const description = {
single_sign_on_connectors_list:
'あなたの企業は、メールアカウント{{email}}に対してシングルサインオンを有効にしました。以下のSSOプロバイダーを使用してサインインを続けることができます。',
single_sign_on_enabled: 'このアカウントではシングル サインオンが有効になっています',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: '{{name}} を承認する',
request_permission: '{{name}} が以下へのアクセスを要求しています:',
grant_organization_access: '組織へのアクセスを許可する:',
authorize_personal_data_usage: '個人データの使用を承認する:',
authorize_organization_access: '特定の組織へのアクセスを承認する:',
user_scopes: '個人ユーザーデータ',
organization_scopes: '組織へのアクセス',
authorize_agreement: `アクセスを承認することで、{{name}} の<link></link>に同意したことになります。`,
authorize_agreement_with_redirect: `アクセスを承認することで、{{name}} の<link></link>に同意し、{{uri}} にリダイレクトされます。`,
not_you: 'あなたではありませんか?',
user_id: 'ユーザー ID: {{id}}',
redirect_to: '{{name}} にリダイレクトされます。',
auto_agreement: '続行することで、<link></link>に同意したことになります。',
identifier_sign_in_description: '{{types, list(type: disjunction;)}}を入力してサインインします。',
all_sign_in_options: 'すべてのサインインオプション',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const ja = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(ja);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: 'あなたのカスタムデータ',
email: 'あなたのメールアドレス',
phone: 'あなたの電話番号',
profile: 'あなたの名前、ユーザー名、アバター、その他のプロフィール情報',
roles: 'あなたのロール',
identities: 'あなたのリンクされたソーシャルアイデンティティ',
'urn:logto:scope:organizations': 'あなたの組織情報',
'urn:logto:scope:organization_roles': 'あなたの組織の役割',
address: 'あなたの住所',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: '패스키로 확인',
download: '다운로드',
single_sign_on: '단일 로그인',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: '권한 부여',
use_another_account: '다른 계정 사용',
};
export default Object.freeze(action);

View file

@ -68,30 +68,18 @@ const description = {
single_sign_on_connectors_list:
'귀하의 기업은 {{email}} 이메일 계정에 대해 Single Sign-On을 활성화했습니다. 다음 SSO 제공업체를 사용하여 로그인을 계속할 수 있습니다.',
single_sign_on_enabled: '이 계정에는 Single Sign-On이 활성화되어 있습니다.',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: '{{name}} 권한 부여',
request_permission: '{{name}} 이(가) 다음에 대한 액세스를 요청하고 있습니다:',
grant_organization_access: '조직 접근 권한 부여:',
authorize_personal_data_usage: '개인 데이터 사용 권한 부여:',
authorize_organization_access: '특정 조직에 대한 접근 권한 부여:',
user_scopes: '개인 사용자 데이터',
organization_scopes: '조직 액세스',
authorize_agreement: `접근을 허용함으로써, {{name}} 의 <link></link>에 동의하게 됩니다.`,
authorize_agreement_with_redirect: `접근을 허용함으로써, {{name}} 의 <link></link>에 동의하게 되며 {{uri}} 로 리디렉션됩니다.`,
not_you: '당신이 아닌가요?',
user_id: '사용자 ID: {{id}}',
redirect_to: '{{name}} 으로 리디렉션됩니다.',
auto_agreement: '계속 진행하면 <link></link>에 동의하는 것입니다.',
identifier_sign_in_description:
'로그인하려면 {{types, list(type: disjunction;)}}을(를) 입력하세요.',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const ko = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(ko);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: '사용자 지정 데이터',
email: '이메일 주소',
phone: '전화번호',
profile: '이름, 사용자 이름, 아바타 및 기타 프로필 정보',
roles: '사용자 역할',
identities: '연결된 소셜 정체성',
'urn:logto:scope:organizations': '조직 정보',
'urn:logto:scope:organization_roles': '조직 역할',
address: '주소',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Weryfikacja za pomocą klucza dostępu',
download: 'Pobierz',
single_sign_on: 'Pojedyncze logowanie',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: 'Autoryzować',
use_another_account: 'Użyj innego konta',
};
export default Object.freeze(action);

View file

@ -75,30 +75,18 @@ const description = {
single_sign_on_connectors_list:
'Twoja firma włączyła jednokrotne logowanie dla konta e-mail {{email}}. Możesz kontynuować logowanie za pomocą następujących dostawców SSO.',
single_sign_on_enabled: 'To konto ma włączone jednokrotne logowanie.',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: '授权 {{name}}',
request_permission: '{{name}} 请求访问:',
grant_organization_access: '授予组织访问权限:',
authorize_personal_data_usage: '授权使用你的个人数据:',
authorize_organization_access: '授权访问特定组织:',
user_scopes: '个人用户数据',
organization_scopes: '组织访问',
authorize_agreement: `通过授权访问,你同意 {{name}} 的 <link></link>。`,
authorize_agreement_with_redirect: `通过授权访问,你同意 {{name}} 的 <link></link>,并将被重定向到 {{uri}}。`,
not_you: '不是你?',
user_id: '用户 ID{{id}}',
redirect_to: '你将被重定向到 {{name}}。',
auto_agreement: 'Kontynuując, zgadzasz się na <link></link>.',
identifier_sign_in_description:
'Wprowadź swoje {{types, list(type: disjunction;)}} aby się zalogować.',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const pl_pl = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(pl_pl);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: '你的自定义数据',
email: '你的电子邮件地址',
phone: '你的电话号码',
profile: '你的姓名、用户名、头像和其他个人资料信息',
roles: '你的角色',
identities: '你关联的社交身份',
'urn:logto:scope:organizations': '你的组织信息',
'urn:logto:scope:organization_roles': '你的组织角色',
address: '你的地址',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Verificar via chave de acesso',
download: 'Baixar',
single_sign_on: 'Single Sign-On',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: '授权',
use_another_account: '使用其他帐户',
};
export default Object.freeze(action);

View file

@ -72,30 +72,18 @@ const description = {
single_sign_on_connectors_list:
'Sua empresa ativou o Single Sign-On para a conta de email {{email}}. Você pode continuar a fazer login com os seguintes provedores de SSO.',
single_sign_on_enabled: 'Esta conta tem Single Sign-On ativado.',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: 'Autorizar {{name}}',
request_permission: '{{name}} está solicitando acesso a:',
grant_organization_access: 'Conceder acesso à organização:',
authorize_personal_data_usage: 'Autorizar o uso dos seus dados pessoais:',
authorize_organization_access: 'Autorizar acesso à organização específica:',
user_scopes: 'Dados pessoais do usuário',
organization_scopes: 'Acesso à organização',
authorize_agreement: `Ao autorizar o acesso, você concorda com os <link></link> de {{name}}.`,
authorize_agreement_with_redirect: `Ao autorizar o acesso, você concorda com os <link></link> de {{name}}, e será redirecionado para {{uri}}.`,
not_you: 'Você não é?',
user_id: 'ID do usuário: {{id}}',
redirect_to: 'Você será redirecionado para {{name}}.',
auto_agreement: 'Ao continuar, você concorda com os <link></link>.',
identifier_sign_in_description: 'Digite seu {{types, list(type: disjunction;)}} para entrar.',
all_sign_in_options: 'Todas as opções de login',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const pt_br = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(pt_br);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: '你的自定义数据',
email: '你的电子邮件地址',
phone: '你的电话号码',
profile: '你的名字、用户名、头像和其他个人信息',
roles: '你的角色',
identities: '你关联的社交身份',
'urn:logto:scope:organizations': '你的组织信息',
'urn:logto:scope:organization_roles': '你的组织角色',
address: '你的地址',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Verificar através de chave de acesso',
download: 'Transferir',
single_sign_on: 'Logon Único',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: '授权',
use_another_account: '使用其他账户',
};
export default Object.freeze(action);

View file

@ -72,30 +72,18 @@ const description = {
single_sign_on_connectors_list:
'A sua empresa ativou o Single Sign-On para a conta de email {{email}}. Pode continuar a iniciar sessão com os seguintes fornecedores de SSO.',
single_sign_on_enabled: 'Esta conta tem o Single Sign-On ativado.',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: 'Autorizar {{name}}',
request_permission: '{{name}} está solicitando acesso a:',
grant_organization_access: 'Conceder acesso à organização:',
authorize_personal_data_usage: 'Autorizar o uso dos seus dados pessoais:',
authorize_organization_access: 'Autorizar o acesso à organização específica:',
user_scopes: 'Dados pessoais do usuário',
organization_scopes: 'Acesso à organização',
authorize_agreement: `Ao autorizar o acesso, você concorda com o {{name}}'s <link></link>.`,
authorize_agreement_with_redirect: `Ao autorizar o acesso, você concorda com o {{name}}'s <link></link>, e será redirecionado para {{uri}}.`,
not_you: 'Não é você?',
user_id: 'ID do usuário: {{id}}',
redirect_to: 'Você será redirecionado para {{name}}.',
auto_agreement: 'Ao continuar, você concorda com os <link></link>.',
identifier_sign_in_description:
'Introduza o seu {{types, list(type: disjunction;)}} para iniciar sessão.',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const pt_pt = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(pt_pt);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: '你的自定义数据',
email: '你的电子邮件地址',
phone: '你的电话号码',
profile: '你的名字、用户名、头像和其他个人信息',
roles: '你的角色',
identities: '你关联的社交身份',
'urn:logto:scope:organizations': '你的组织信息',
'urn:logto:scope:organization_roles': '你的组织角色',
address: '你的地址',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Проверить с помощью ключа доступа',
download: 'Скачать',
single_sign_on: 'Единый вход',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: 'Авторизовать',
use_another_account: 'Использовать другой аккаунт',
};
export default Object.freeze(action);

View file

@ -76,30 +76,18 @@ const description = {
single_sign_on_connectors_list:
'Ваше предприятие включило функцию единого входа для электронной почты {{email}}. Вы можете продолжить вход в систему с помощью следующих провайдеров SSO.',
single_sign_on_enabled: 'Единый вход в систему включен для этой учетной записи',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: 'Авторизовать {{name}}',
request_permission: '{{name}} запрашивает доступ к:',
grant_organization_access: 'Предоставить доступ организации:',
authorize_personal_data_usage: 'Авторизовать использование ваших личных данных:',
authorize_organization_access: 'Авторизовать доступ к конкретной организации:',
user_scopes: 'Личные данные пользователя',
organization_scopes: 'Доступ к организации',
authorize_agreement: `Авторизуя доступ, вы соглашаетесь с <link></link> {{name}}.`,
authorize_agreement_with_redirect: `Авторизуя доступ, вы соглашаетесь с <link></link> {{name}}, и будете перенаправлены на {{uri}}.`,
not_you: 'Это не вы?',
user_id: 'ID пользователя: {{id}}',
redirect_to: 'Вы будете перенаправлены на {{name}}.',
auto_agreement: 'Продолжая, вы соглашаетесь с <link></link>.',
identifier_sign_in_description: 'Введите свои {{types, list(type: disjunction;)}} для входа.',
all_sign_in_options: 'Все варианты входа',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const ru = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(ru);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: 'Ваши пользовательские данные',
email: 'Ваш адрес электронной почты',
phone: 'Ваш номер телефона',
profile: 'Ваше имя, имя пользователя, аватар и другая информация профиля',
roles: 'Ваши роли',
identities: 'Ваши связанные социальные идентификаторы',
'urn:logto:scope:organizations': 'Информация о ваших организациях',
'urn:logto:scope:organization_roles': 'Ваши организационные роли',
address: 'Ваш адрес',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: 'Parola ile doğrula',
download: 'İndir',
single_sign_on: 'Tek oturum açma',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: 'Yetkilendir',
use_another_account: 'Başka bir hesap kullan',
};
export default Object.freeze(action);

View file

@ -72,30 +72,18 @@ const description = {
single_sign_on_connectors_list:
'Şirketiniz, {{email}} e-posta hesabı için Tekli Oturum Açmayı (Single Sign-On) etkinleştirdi. Aşağıdaki SSO sağlayıcıları ile oturum açmaya devam edebilirsiniz.',
single_sign_on_enabled: 'Bu hesapta Tekli Oturum Açma etkinleştirildi.',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: '授权 {{name}}',
request_permission: '{{name}} 请求访问权限:',
grant_organization_access: '授予组织访问权限:',
authorize_personal_data_usage: '授权使用你的个人数据:',
authorize_organization_access: '授权访问特定的组织:',
user_scopes: '个人用户数据',
organization_scopes: '组织访问',
authorize_agreement: `通过授权访问,你同意 {{name}} 的 <link></link>。`,
authorize_agreement_with_redirect: `通过授权访问,你同意 {{name}} 的 <link></link>,并将被重定向到 {{uri}}。`,
not_you: '不是你?',
user_id: '用户 ID{{id}}',
redirect_to: '你将被重定向到 {{name}}。',
auto_agreement: 'Devam ederek <link></link> kabul etmiş oluyorsunuz.',
identifier_sign_in_description: 'Oturum açmak için {{types, list(type: disjunction;)}} girin.',
all_sign_in_options: 'Tüm oturum açma seçenekleri',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const tr_tr = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(tr_tr);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: '你的自定义数据',
email: '你的电子邮件地址',
phone: '你的电话号码',
profile: '你的姓名、用户名、头像和其他个人资料信息',
roles: '你的角色',
identities: '你关联的社交身份',
'urn:logto:scope:organizations': '你的组织信息',
'urn:logto:scope:organization_roles': '你的组织角色',
address: '你的地址',
},
};

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const zh_cn = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(zh_cn);

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: '透過 Passkey 驗證',
download: '下載',
single_sign_on: '單點登錄',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: '授权',
use_another_account: '使用其他帐户',
};
export default Object.freeze(action);

View file

@ -64,30 +64,18 @@ const description = {
single_sign_on_connectors_list:
'您的企業已為電郵賬戶{{email}}啟用單一登入。您可以繼續使用以下的SSO供應商登入。',
single_sign_on_enabled: '該帳戶已啟用單一登入',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
authorize_title: '授權 {{name}}',
request_permission: '{{name}} 正在請求訪問:',
grant_organization_access: '授予組織訪問權限:',
authorize_personal_data_usage: '授權使用你的個人數據:',
authorize_organization_access: '授權訪問指定的組織:',
user_scopes: '個人用戶數據',
organization_scopes: '組織訪問',
authorize_agreement: `通過授權訪問,您同意 {{name}} 的 <link></link>。`,
authorize_agreement_with_redirect: `通過授權訪問,您同意 {{name}} 的 <link></link>,並將被重定向到 {{uri}}。`,
not_you: '不是你?',
user_id: '用戶 ID{{id}}',
redirect_to: '您將被重定向到 {{name}}。',
auto_agreement: '繼續即表示您同意<link></link>。',
identifier_sign_in_description: '輸入您的{{types, list(type: disjunction;)}}以登入。',
all_sign_in_options: '所有登入選項',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const zh_hk = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(zh_hk);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: '你的自定义数据',
email: '你的电子邮件地址',
phone: '你的电话号码',
profile: '你的姓名、用户名、头像和其他个人资料信息',
roles: '你的角色',
identities: '你关联的社交身份',
'urn:logto:scope:organizations': '你的组织信息',
'urn:logto:scope:organization_roles': '你的组织角色',
address: '你的地址',
},
};

View file

@ -29,10 +29,8 @@ const action = {
verify_via_passkey: '透過 Passkey 驗證',
download: '下載',
single_sign_on: '單點登錄',
/** UNTRANSLATED */
authorize: 'Authorize',
/** UNTRANSLATED */
use_another_account: 'Use another account',
authorize: '授权',
use_another_account: '使用其他帐户',
};
export default Object.freeze(action);

View file

@ -27,7 +27,7 @@ const description = {
social_link_email: '你可以綁定其他郵箱',
social_link_phone: '你可以綁定其他手機號碼',
social_link_email_or_phone: '你可以綁定其他郵箱或手機號碼',
social_bind_with_existing: '我們發現一個已註冊的相關帳戶,可以直接連接它。',
social_bind_with_existing: '我們發現一個已註冊的相關帳戶,可以直接連接它。',
skip_social_linking: '跳過連接現有帳戶?',
reset_password: '忘記密碼',
reset_password_description: '輸入{{types, list(type: disjunction;)}},獲取驗證碼以重設密碼。',
@ -62,36 +62,24 @@ const description = {
use: '使用',
single_sign_on_email_form: '輸入你的企業電子郵件地址',
single_sign_on_connectors_list:
'您的企業已為電子郵件帳戶{{email}}啟用單一登入。您可以繼續使用以下的SSO供應商登入。',
'你的企業已為電子郵件帳戶{{email}}啟用單一登入。你可以繼續使用以下的SSO供應商登入。',
single_sign_on_enabled: '該帳戶已啟用單一登入',
/** UNTRANSLATED */
authorize_title: 'Authorize {{name}}',
/** UNTRANSLATED */
request_permission: '{{name}} is requesting access to:',
/** UNTRANSLATED */
grant_organization_access: 'Grant the organization access:',
/** UNTRANSLATED */
authorize_personal_data_usage: 'Authorize the use of your personal data:',
/** UNTRANSLATED */
authorize_organization_access: 'Authorize access to the specific organization:',
/** UNTRANSLATED */
user_scopes: 'Personal user data',
/** UNTRANSLATED */
organization_scopes: 'Organization access',
/** UNTRANSLATED */
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
/** UNTRANSLATED */
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
/** UNTRANSLATED */
not_you: 'Not you?',
/** UNTRANSLATED */
user_id: 'User ID: {{id}}',
/** UNTRANSLATED */
redirect_to: 'You will be redirected to {{name}}.',
auto_agreement: '繼續即表示您同意<link></link>。',
identifier_sign_in_description: '輸入您的{{types, list(type: disjunction;)}}以登入。',
authorize_title: '授權 {{name}}',
request_permission: '{{name}} 請求訪問權限:',
grant_organization_access: '授予組織訪問權限:',
authorize_personal_data_usage: '授權使用你的個人數據:',
authorize_organization_access: '授權訪問指定組織:',
user_scopes: '個人用戶數據',
organization_scopes: '組織訪問',
authorize_agreement: `通過授權訪問,你同意{{name}}的<link></link>。`,
authorize_agreement_with_redirect: `通過授權訪問,你同意{{name}}的<link></link>,並將被重定向至{{uri}}。`,
not_you: '不是你?',
user_id: '用戶 ID{{id}}',
redirect_to: '你將被重定向到 {{name}}。',
auto_agreement: '繼續即表示你同意<link></link>。',
identifier_sign_in_description: '輸入你的{{types, list(type: disjunction;)}}以登入。',
all_sign_in_options: '所有登入選項',
identifier_register_description: '輸入的{{types, list(type: disjunction;)}}以建立新帳戶。',
identifier_register_description: '輸入你的{{types, list(type: disjunction;)}}以建立新帳戶。',
all_account_creation_options: '所有帳戶創建選項',
back_to_sign_in: '返回登入',
support_email: '支援郵箱: <link></link>',

View file

@ -1,3 +1,5 @@
import { type DeepPartial } from '@silverhand/essentials';
import type { LocalePhrase } from '../../types.js';
import action from './action.js';
@ -22,6 +24,6 @@ const zh_tw = {
development_tenant,
user_scopes,
},
} satisfies LocalePhrase;
} satisfies DeepPartial<LocalePhrase>;
export default Object.freeze(zh_tw);

View file

@ -1,23 +1,14 @@
const user_scopes = {
descriptions: {
/** UNTRANSLATED */
custom_data: 'Your custom data',
/** UNTRANSLATED */
email: 'Your email address',
/** UNTRANSLATED */
phone: 'Your phone number',
/** UNTRANSLATED */
profile: 'Your name, username, avatar, and other profile info',
/** UNTRANSLATED */
roles: 'Your roles',
/** UNTRANSLATED */
identities: 'Your linked social identities',
/** UNTRANSLATED */
'urn:logto:scope:organizations': 'Your organizations info',
/** UNTRANSLATED */
'urn:logto:scope:organization_roles': 'Your organization roles',
/** UNTRANSLATED */
address: 'Your address',
custom_data: '你的自定义数据',
email: '你的电子邮件地址',
phone: '你的电话号码',
profile: '你的姓名、用户名、头像和其他个人信息',
roles: '你的角色',
identities: '你的关联社交身份',
'urn:logto:scope:organizations': '你的组织信息',
'urn:logto:scope:organization_roles': '你的组织角色',
address: '你的地址',
},
};

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,10 @@
const one_time_token = {
token_not_found: 'لم يتم العثور على رمز نشط مع البريد الإلكتروني والرمز المقدمين.',
email_mismatch: 'البريد الإلكتروني لا يتطابق مع الرمز المقدم.',
token_expired: 'انتهت صلاحية الرمز.',
token_consumed: 'تم استهلاك الرمز.',
token_revoked: 'تم إلغاء الرمز.',
cannot_reactivate_token: 'لا يمكن إعادة تفعيل الرمز.',
};
export default Object.freeze(one_time_token);

View file

@ -30,6 +30,7 @@ import profile from './profile.js';
import protected_app from './protected-app.js';
import role_details from './role-details.js';
import roles from './roles.js';
import security from './security.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
@ -63,6 +64,7 @@ const admin_console = {
connector_details,
enterprise_sso,
enterprise_sso_details,
security,
get_started,
users,
user_details,

View file

@ -36,6 +36,9 @@ const mfa = {
'اطلب من المستخدمين إعداد MFA أثناء التسجيل (يمكن تخطيه ، موجه مرة واحدة)',
prompt_only_at_sign_in:
'اطلب من المستخدمين إعداد MFA في محاولة تسجيل الدخول التالية بعد التسجيل (يمكن تخطيه، موجه مرة واحدة)',
set_up_organization_required_mfa_prompt:
'موجه إعداد MFA للمستخدمين بعد أن يقوم المؤسسة بتمكين MFA',
prompt_at_sign_in_no_skip: 'اطلب من المستخدمين إعداد MFA عند تسجيل الدخول التالي (لا يمكن تخطيه)',
};
export default Object.freeze(mfa);

View file

@ -0,0 +1,50 @@
const security = {
page_title: 'الأمان',
title: 'الأمان',
subtitle: 'قم بتكوين حماية متقدمة ضد الهجمات المتطورة.',
bot_protection: {
title: 'حماية الروبوت',
description: 'تفعيل CAPTCHA للتسجيل وتسجيل الدخول واستعادة كلمة المرور لحظر التهديدات الآلية.',
captcha: {
title: 'CAPTCHA',
placeholder: 'اختر مزود CAPTCHA وقم بإعداد التكامل.',
add: 'إضافة CAPTCHA',
},
settings: 'الإعدادات',
captcha_required_flows: 'التدفقات التي تحتاج إلى CAPTCHA',
sign_up: 'التسجيل',
sign_in: 'تسجيل الدخول',
forgot_password: 'نسيت كلمة المرور',
},
create_captcha: {
setup_captcha: 'إعداد CAPTCHA',
},
captcha_providers: {
recaptcha_enterprise: {
name: 'reCAPTCHA Enterprise',
description:
'حل CAPTCHA من جوجل للمؤسسات ، الذي يوفر كشفًا متقدمًا عن التهديدات وتحليلات أمنية مفصلة لحماية موقعك من الأنشطة الاحتيالية.',
},
turnstile: {
name: 'Cloudflare Turnstile',
description:
'بديل CAPTCHA الذكي من Cloudflare الذي يوفر حماية ضد الروبوتات دون إزعاج، مما يضمن تجربة مستخدم سلسة دون ألغاز بصرية.',
},
},
captcha_details: {
back_to_security: 'العودة إلى الأمان',
page_title: 'تفاصيل CAPTCHA',
check_readme: 'تحقق من README',
options_change_captcha: 'تغيير مزود CAPTCHA',
connection: 'الاتصال',
description: 'تكوين اتصالات captcha الخاصة بك.',
site_key: 'مفتاح الموقع',
secret_key: 'المفتاح السري',
project_id: 'معرف المشروع',
deletion_description: 'هل أنت متأكد أنك تريد حذف مزود CAPTCHA هذا؟',
captcha_deleted: 'تم حذف موفر CAPTCHA بنجاح',
setup_captcha: 'إعداد CAPTCHA',
},
};
export default Object.freeze(security);

View file

@ -6,6 +6,7 @@ const tabs = {
sign_in_experience: 'تجربة تسجيل الدخول',
connectors: 'الموصلات',
enterprise_sso: 'SSO المؤسسات',
security: 'الأمان',
webhooks: 'Webhooks',
organizations: 'المؤسسات',
users: 'إدارة المستخدمين',

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,10 @@
const one_time_token = {
token_not_found: 'Aktives Token mit der angegebenen E-Mail und dem Token nicht gefunden.',
email_mismatch: 'E-Mail stimmt nicht mit dem angegebenen Token überein.',
token_expired: 'Das Token ist abgelaufen.',
token_consumed: 'Das Token wurde verbraucht.',
token_revoked: 'Das Token wurde widerrufen.',
cannot_reactivate_token: 'Das Token kann nicht reaktiviert werden.',
};
export default Object.freeze(one_time_token);

View file

@ -30,6 +30,7 @@ import profile from './profile.js';
import protected_app from './protected-app.js';
import role_details from './role-details.js';
import roles from './roles.js';
import security from './security.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
@ -63,6 +64,7 @@ const admin_console = {
connector_details,
enterprise_sso,
enterprise_sso_details,
security,
get_started,
users,
user_details,

View file

@ -39,6 +39,10 @@ const mfa = {
'Benutzer bei der Registrierung zur MFA-Einrichtung auffordern (überspringbare, einmalige Aufforderung)',
prompt_only_at_sign_in:
'Benutzer bei ihrem nächsten Anmeldeversuch nach der Registrierung zur MFA-Einrichtung auffordern (überspringbare, einmalige Aufforderung)',
set_up_organization_required_mfa_prompt:
'MFA-Einrichtungsaufforderung für Benutzer, nachdem die Organisation MFA aktiviert hat',
prompt_at_sign_in_no_skip:
'Benutzer bei der nächsten Anmeldung zur MFA-Einrichtung auffordern (keine Möglichkeit zum Überspringen)',
};
export default Object.freeze(mfa);

View file

@ -0,0 +1,51 @@
const security = {
page_title: 'Sicherheit',
title: 'Sicherheit',
subtitle: 'Erweiterte Schutzmaßnahmen gegen komplexe Angriffe konfigurieren.',
bot_protection: {
title: 'Bot-Schutz',
description:
'Aktivieren Sie CAPTCHA für die Anmeldung, Anmeldung und Passwortwiederherstellung, um automatisierte Bedrohungen zu blockieren.',
captcha: {
title: 'CAPTCHA',
placeholder: 'Wählen Sie einen CAPTCHA-Anbieter aus und richten Sie die Integration ein.',
add: 'CAPTCHA hinzufügen',
},
settings: 'Einstellungen',
captcha_required_flows: 'Erforderliche CAPTCHA-Abläufe',
sign_up: 'Registrieren',
sign_in: 'Anmelden',
forgot_password: 'Passwort vergessen',
},
create_captcha: {
setup_captcha: 'CAPTCHA einrichten',
},
captcha_providers: {
recaptcha_enterprise: {
name: 'reCAPTCHA Enterprise',
description:
'Googles unternehmensgerechte CAPTCHA-Lösung, die fortschrittliche Bedrohungserkennung und detaillierte Sicherheitsanalysen bietet, um Ihre Website vor betrügerischen Aktivitäten zu schützen.',
},
turnstile: {
name: 'Cloudflare Turnstile',
description:
'Cloudflares intelligente CAPTCHA-Alternative, die einen nicht aufdringlichen Bot-Schutz bietet und gleichzeitig eine nahtlose Benutzererfahrung ohne visuelle Rätsel gewährleistet.',
},
},
captcha_details: {
back_to_security: 'Zurück zur Sicherheit',
page_title: 'CAPTCHA-Details',
check_readme: 'README überprüfen',
options_change_captcha: 'CAPTCHA-Anbieter ändern',
connection: 'Verbindung',
description: 'Konfigurieren Sie Ihre CAPTCHA-Verbindungen.',
site_key: 'Seitenschlüssel',
secret_key: 'Geheimschlüssel',
project_id: 'Projekt-ID',
deletion_description: 'Sind Sie sicher, dass Sie diesen CAPTCHA-Anbieter löschen möchten?',
captcha_deleted: 'CAPTCHA-Anbieter erfolgreich gelöscht',
setup_captcha: 'CAPTCHA einrichten',
},
};
export default Object.freeze(security);

View file

@ -6,6 +6,7 @@ const tabs = {
sign_in_experience: 'Anmeldeoberfläche',
connectors: 'Connectoren',
enterprise_sso: 'Unternehmens-SSO',
security: 'Sicherheit',
webhooks: 'Webhooks',
organizations: 'Organisationen',
users: 'Benutzerverwaltung',

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,11 @@
const one_time_token = {
token_not_found:
'No se encontró un token activo con el correo electrónico y token proporcionados.',
email_mismatch: 'El correo electrónico no coincide con el token proporcionado.',
token_expired: 'El token ha expirado.',
token_consumed: 'El token ha sido consumido.',
token_revoked: 'El token ha sido revocado.',
cannot_reactivate_token: 'No se puede reactivar el token.',
};
export default Object.freeze(one_time_token);

View file

@ -30,6 +30,7 @@ import profile from './profile.js';
import protected_app from './protected-app.js';
import role_details from './role-details.js';
import roles from './roles.js';
import security from './security.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
@ -63,6 +64,7 @@ const admin_console = {
connector_details,
enterprise_sso,
enterprise_sso_details,
security,
get_started,
users,
user_details,

View file

@ -40,6 +40,10 @@ const mfa = {
'Preguntar a los usuarios si desean configurar MFA durante el registro (omitible, solicitud única)',
prompt_only_at_sign_in:
'Preguntar a los usuarios si desean configurar MFA en su siguiente intento de inicio de sesión después del registro (omitible, solicitud única)',
set_up_organization_required_mfa_prompt:
'Sugerencia de configuración de MFA para usuarios después de que la organización habilita MFA',
prompt_at_sign_in_no_skip:
'Pedir a los usuarios que configuren MFA en el próximo inicio de sesión (sin omitir)',
};
export default Object.freeze(mfa);

View file

@ -0,0 +1,51 @@
const security = {
page_title: 'Seguridad',
title: 'Seguridad',
subtitle: 'Configura una protección avanzada contra ataques sofisticados.',
bot_protection: {
title: 'Protección contra bots',
description:
'Habilita el CAPTCHA para registrarse, iniciar sesión y recuperar la contraseña para bloquear amenazas automatizadas.',
captcha: {
title: 'CAPTCHA',
placeholder: 'Selecciona un proveedor de CAPTCHA y configura la integración.',
add: 'Agregar CAPTCHA',
},
settings: 'Configuraciones',
captcha_required_flows: 'Flujos requeridos por CAPTCHA',
sign_up: 'Registrarse',
sign_in: 'Iniciar sesión',
forgot_password: 'Olvidé mi contraseña',
},
create_captcha: {
setup_captcha: 'Configurar CAPTCHA',
},
captcha_providers: {
recaptcha_enterprise: {
name: 'reCAPTCHA Enterprise',
description:
'La solución CAPTCHA de nivel empresarial de Google, que proporciona detección avanzada de amenazas y análisis de seguridad detallados para proteger tu sitio web contra actividades fraudulentas.',
},
turnstile: {
name: 'Cloudflare Turnstile',
description:
'La alternativa inteligente de CAPTCHA de Cloudflare que proporciona protección contra bots no intrusiva mientras garantiza una experiencia de usuario fluida sin acertijos visuales.',
},
},
captcha_details: {
back_to_security: 'Volver a seguridad',
page_title: 'Detalles de CAPTCHA',
check_readme: 'Ver README',
options_change_captcha: 'Cambiar proveedor de CAPTCHA',
connection: 'Conexión',
description: 'Configura tus conexiones de captcha.',
site_key: 'Clave del sitio',
secret_key: 'Clave secreta',
project_id: 'ID del proyecto',
deletion_description: '¿Estás seguro de que quieres eliminar este proveedor de CAPTCHA?',
captcha_deleted: 'Proveedor de CAPTCHA eliminado con éxito',
setup_captcha: 'Configurar CAPTCHA',
},
};
export default Object.freeze(security);

View file

@ -6,6 +6,7 @@ const tabs = {
sign_in_experience: 'Experiencia de inicio de sesión',
connectors: 'Conectores',
enterprise_sso: 'SSO empresarial',
security: 'Seguridad',
webhooks: 'Webhooks',
organizations: 'Organizaciones',
users: 'Gestión de usuarios',

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,10 @@
const one_time_token = {
token_not_found: "Aucun jeton actif trouvé avec l'email et le jeton donnés.",
email_mismatch: "L'email ne correspond pas au jeton fourni.",
token_expired: 'Le jeton est expiré.',
token_consumed: 'Le jeton a été consommé.',
token_revoked: 'Le jeton a été révoqué.',
cannot_reactivate_token: 'Impossible de réactiver le jeton.',
};
export default Object.freeze(one_time_token);

View file

@ -30,6 +30,7 @@ import profile from './profile.js';
import protected_app from './protected-app.js';
import role_details from './role-details.js';
import roles from './roles.js';
import security from './security.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
@ -63,6 +64,7 @@ const admin_console = {
connector_details,
enterprise_sso,
enterprise_sso_details,
security,
get_started,
users,
user_details,

View file

@ -40,6 +40,10 @@ const mfa = {
"Demander aux utilisateurs de configurer MFA lors de l'inscription (optionnel, invitation unique)",
prompt_only_at_sign_in:
"Demander aux utilisateurs de configurer MFA lors de leur prochaine tentative de connexion après l'inscription (optionnel, invitation unique)",
set_up_organization_required_mfa_prompt:
"Invite de configuration MFA pour les utilisateurs après que l'organisation a activé MFA",
prompt_at_sign_in_no_skip:
'Demander aux utilisateurs de configurer MFA lors de la prochaine connexion (pas de possibilité de passer)',
};
export default Object.freeze(mfa);

View file

@ -0,0 +1,51 @@
const security = {
page_title: 'Sécurité',
title: 'Sécurité',
subtitle: 'Configurez une protection avancée contre les attaques sophistiquées.',
bot_protection: {
title: 'Protection contre les bots',
description:
"Activez CAPTCHA pour l'inscription, la connexion et la récupération de mot de passe afin de bloquer les menaces automatisées.",
captcha: {
title: 'CAPTCHA',
placeholder: "Sélectionnez un fournisseur CAPTCHA et configurez l'intégration.",
add: 'Ajouter un CAPTCHA',
},
settings: 'Paramètres',
captcha_required_flows: 'Flux nécessitant un CAPTCHA',
sign_up: "S'inscrire",
sign_in: 'Se connecter',
forgot_password: 'Mot de passe oublié',
},
create_captcha: {
setup_captcha: 'Configurer CAPTCHA',
},
captcha_providers: {
recaptcha_enterprise: {
name: 'reCAPTCHA Enterprise',
description:
'La solution CAPTCHA de niveau entreprise de Google qui offre une détection avancée des menaces et des analyses de sécurité détaillées pour protéger votre site Web des activités frauduleuses.',
},
turnstile: {
name: 'Cloudflare Turnstile',
description:
"L'alternative CAPTCHA intelligente de Cloudflare qui offre une protection contre les bots non intrusive tout en garantissant une expérience utilisateur fluide sans puzzles visuels.",
},
},
captcha_details: {
back_to_security: 'Retour à la sécurité',
page_title: 'Détails du CAPTCHA',
check_readme: 'Vérifiez le README',
options_change_captcha: 'Changer de fournisseur CAPTCHA',
connection: 'Connexion',
description: 'Configurez vos connexions captcha.',
site_key: 'Clé du site',
secret_key: 'Clé secrète',
project_id: 'ID du projet',
deletion_description: 'Êtes-vous sûr de vouloir supprimer ce fournisseur CAPTCHA ?',
captcha_deleted: 'Fournisseur CAPTCHA supprimé avec succès',
setup_captcha: 'Configurer CAPTCHA',
},
};
export default Object.freeze(security);

View file

@ -6,6 +6,7 @@ const tabs = {
sign_in_experience: 'Expérience de connexion',
connectors: 'Connecteurs',
enterprise_sso: "SSO d'entreprise",
security: 'Sécurité',
webhooks: 'Webhooks',
organizations: 'Organisations',
users: 'Gestion des utilisateurs',

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,10 @@
const one_time_token = {
token_not_found: "Token attivo non trovato con l'email e il token forniti.",
email_mismatch: 'Discrepanza tra email e token fornito.',
token_expired: 'Il token è scaduto.',
token_consumed: 'Il token è stato consumato.',
token_revoked: 'Il token è stato revocato.',
cannot_reactivate_token: 'Impossibile riattivare il token.',
};
export default Object.freeze(one_time_token);

View file

@ -30,6 +30,7 @@ import profile from './profile.js';
import protected_app from './protected-app.js';
import role_details from './role-details.js';
import roles from './roles.js';
import security from './security.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
@ -63,6 +64,7 @@ const admin_console = {
connector_details,
enterprise_sso,
enterprise_sso_details,
security,
get_started,
users,
user_details,

View file

@ -39,6 +39,10 @@ const mfa = {
'Chiedi agli utenti di configurare MFA durante la registrazione (facoltativo, messaggio unico)',
prompt_only_at_sign_in:
'Chiedi agli utenti di configurare MFA al loro prossimo tentativo di accesso dopo la registrazione (facoltativo, messaggio unico)',
set_up_organization_required_mfa_prompt:
"Messaggio di configurazione MFA per gli utenti dopo che l'organizzazione abilita MFA",
prompt_at_sign_in_no_skip:
'Chiedi agli utenti di configurare MFA al prossimo accesso (senza possibilità di saltare)',
};
export default Object.freeze(mfa);

View file

@ -0,0 +1,51 @@
const security = {
page_title: 'Sicurezza',
title: 'Sicurezza',
subtitle: 'Configura una protezione avanzata contro attacchi sofisticati.',
bot_protection: {
title: 'Protezione dei bot',
description:
'Abilita CAPTCHA per registrazioni, accessi e recuperi password per bloccare le minacce automatizzate.',
captcha: {
title: 'CAPTCHA',
placeholder: "Seleziona un fornitore di CAPTCHA e configura l'integrazione.",
add: 'Aggiungi CAPTCHA',
},
settings: 'Impostazioni',
captcha_required_flows: 'Flussi che richiedono CAPTCHA',
sign_up: 'Registrati',
sign_in: 'Accedi',
forgot_password: 'Password dimenticata',
},
create_captcha: {
setup_captcha: 'Configura CAPTCHA',
},
captcha_providers: {
recaptcha_enterprise: {
name: 'reCAPTCHA Enterprise',
description:
'Soluzione CAPTCHA di livello aziendale di Google che fornisce un rilevamento avanzato delle minacce e analisi di sicurezza dettagliate per proteggere il tuo sito web da attività fraudolente.',
},
turnstile: {
name: 'Cloudflare Turnstile',
description:
"Alternativa intelligente di CAPTCHA di Cloudflare che offre protezione dai bot non invasiva assicurando un'esperienza utente senza puzzle visivi.",
},
},
captcha_details: {
back_to_security: 'Torna alla sicurezza',
page_title: 'Dettagli CAPTCHA',
check_readme: 'Controlla README',
options_change_captcha: 'Cambia fornitore di CAPTCHA',
connection: 'Connessione',
description: 'Configura le connessioni captcha.',
site_key: 'Chiave del sito',
secret_key: 'Chiave segreta',
project_id: 'ID del progetto',
deletion_description: 'Sei sicuro di voler eliminare questo fornitore di CAPTCHA?',
captcha_deleted: 'Fornitore di CAPTCHA eliminato con successo',
setup_captcha: 'Configura CAPTCHA',
},
};
export default Object.freeze(security);

View file

@ -6,6 +6,7 @@ const tabs = {
sign_in_experience: 'Esperienza di accesso',
connectors: 'Connettori',
enterprise_sso: 'SSO Enterprise',
security: 'Sicurezza',
webhooks: 'Webhooks',
organizations: 'Organizzazioni',
users: 'Gestione utenti',

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,10 @@
const one_time_token = {
token_not_found: '指定されたメールとトークンでアクティブなトークンが見つかりません。',
email_mismatch: '指定されたトークンとメールが一致しません。',
token_expired: 'トークンの有効期限が切れています。',
token_consumed: 'トークンが既に使用されています。',
token_revoked: 'トークンが取り消されました。',
cannot_reactivate_token: 'トークンを再アクティブ化できません。',
};
export default Object.freeze(one_time_token);

View file

@ -30,6 +30,7 @@ import profile from './profile.js';
import protected_app from './protected-app.js';
import role_details from './role-details.js';
import roles from './roles.js';
import security from './security.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
@ -63,6 +64,7 @@ const admin_console = {
connector_details,
enterprise_sso,
enterprise_sso_details,
security,
get_started,
users,
user_details,

View file

@ -38,6 +38,9 @@ const mfa = {
'登録時にユーザーに MFA の設定を依頼しますスキップ可能、1 回限りのプロンプト)',
prompt_only_at_sign_in:
'登録後の次回サインイン時にユーザーに MFA の設定を依頼しますスキップ可能、1 回限りのプロンプト)',
set_up_organization_required_mfa_prompt:
'組織が MFA を有効にした後のユーザーの MFA 設定プロンプト',
prompt_at_sign_in_no_skip: '次回サインイン時にユーザーに MFA の設定を依頼します(スキップ不可)',
};
export default Object.freeze(mfa);

View file

@ -0,0 +1,51 @@
const security = {
page_title: 'セキュリティ',
title: 'セキュリティ',
subtitle: '高度な攻撃に対する高度な保護を構成します。',
bot_protection: {
title: 'ボット保護',
description:
'サインアップ、サインイン、パスワード回復に CAPTCHA を有効にして、自動的な脅威をブロックします。',
captcha: {
title: 'CAPTCHA',
placeholder: 'CAPTCHA プロバイダーを選択し、統合を設定します。',
add: 'CAPTCHA を追加',
},
settings: '設定',
captcha_required_flows: 'CAPTCHA が必要なフロー',
sign_up: 'サインアップ',
sign_in: 'サインイン',
forgot_password: 'パスワードを忘れた',
},
create_captcha: {
setup_captcha: 'CAPTCHA をセットアップ',
},
captcha_providers: {
recaptcha_enterprise: {
name: 'reCAPTCHA Enterprise',
description:
'Google の企業向け CAPTCHA ソリューション。高度な脅威検出と詳細なセキュリティ分析を提供し、不正行為からウェブサイトを保護します。',
},
turnstile: {
name: 'Cloudflare Turnstile',
description:
'Cloudflare のスマート CAPTCHA 代替案。視覚的パズルを用いず、シームレスなユーザー体験を提供しながらボット保護を実現します。',
},
},
captcha_details: {
back_to_security: 'セキュリティへ戻る',
page_title: 'CAPTCHA の詳細',
check_readme: 'README をチェック',
options_change_captcha: 'CAPTCHA プロバイダーを変更',
connection: '接続',
description: 'CAPTCHA 接続を構成します。',
site_key: 'サイトキー',
secret_key: 'シークレットキー',
project_id: 'プロジェクト ID',
deletion_description: 'この CAPTCHA プロバイダーを削除してもよろしいですか?',
captcha_deleted: 'CAPTCHA プロバイダーが正常に削除されました',
setup_captcha: 'CAPTCHA をセットアップ',
},
};
export default Object.freeze(security);

View file

@ -6,6 +6,7 @@ const tabs = {
sign_in_experience: 'サインイン',
connectors: 'コネクタ',
enterprise_sso: 'エンタープライズSSO',
security: 'セキュリティ',
webhooks: 'Webhooks',
organizations: '組織',
users: 'ユーザー管理',

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,10 @@
const one_time_token = {
token_not_found: '주어진 이메일과 토큰으로 활성 토큰을 찾을 수 없습니다.',
email_mismatch: '주어진 토큰과 이메일이 일치하지 않습니다.',
token_expired: '토큰이 만료되었습니다.',
token_consumed: '토큰이 이미 사용되었습니다.',
token_revoked: '토큰이 취소되었습니다.',
cannot_reactivate_token: '토큰을 재활성화할 수 없습니다.',
};
export default Object.freeze(one_time_token);

View file

@ -30,6 +30,7 @@ import profile from './profile.js';
import protected_app from './protected-app.js';
import role_details from './role-details.js';
import roles from './roles.js';
import security from './security.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
@ -63,6 +64,7 @@ const admin_console = {
connector_details,
enterprise_sso,
enterprise_sso_details,
security,
get_started,
users,
user_details,

View file

@ -36,6 +36,9 @@ const mfa = {
'등록 중에 사용자에게 MFA 설정을 요청합니다 (건너뛸 수 있으며, 한 번만 요청됩니다)',
prompt_only_at_sign_in:
'등록 후 다음 로그인 시도 시 사용자에게 MFA 설정을 요청합니다 (건너뛸 수 있으며, 한 번만 요청됩니다)',
set_up_organization_required_mfa_prompt:
'조직이 MFA를 활성화 한 후 사용자를 위한 MFA 설정 프롬프트',
prompt_at_sign_in_no_skip: '다음 로그인에 사용자에게 MFA 설정을 요청합니다 (건너뛰기 불가)',
};
export default Object.freeze(mfa);

View file

@ -0,0 +1,51 @@
const security = {
page_title: '보안',
title: '보안',
subtitle: '정교한 공격에 대한 고급 보호를 구성합니다.',
bot_protection: {
title: '봇 보호',
description:
'자동화된 위협을 차단하기 위해 회원가입, 로그인 및 비밀번호 복구 시 CAPTCHA를 활성화합니다.',
captcha: {
title: 'CAPTCHA',
placeholder: 'CAPTCHA 제공업체를 선택하고 통합을 설정합니다.',
add: 'CAPTCHA 추가',
},
settings: '설정',
captcha_required_flows: 'CAPTCHA 필요 흐름',
sign_up: '회원가입',
sign_in: '로그인',
forgot_password: '비밀번호 찾기',
},
create_captcha: {
setup_captcha: 'CAPTCHA 설정',
},
captcha_providers: {
recaptcha_enterprise: {
name: 'reCAPTCHA Enterprise',
description:
'Google의 엔터프라이즈급 CAPTCHA 솔루션은 고급 위협 감지 및 상세한 보안 분석을 제공하여 웹사이트를 사기 활동으로부터 보호합니다.',
},
turnstile: {
name: 'Cloudflare Turnstile',
description:
'Cloudflare의 스마트 CAPTCHA 대안으로, 시각적 퍼즐 없이 원활한 사용자 경험을 보장하면서 비침투적인 봇 보호를 제공합니다.',
},
},
captcha_details: {
back_to_security: '보안으로 돌아가기',
page_title: 'CAPTCHA 세부사항',
check_readme: 'README 확인',
options_change_captcha: 'CAPTCHA 제공자 변경',
connection: '연결',
description: '캡차 연결을 구성합니다.',
site_key: '사이트 키',
secret_key: '비밀 키',
project_id: '프로젝트 ID',
deletion_description: '이 CAPTCHA 제공자를 삭제하시겠습니까?',
captcha_deleted: 'CAPTCHA 제공자가 성공적으로 삭제되었습니다',
setup_captcha: 'CAPTCHA 설정',
},
};
export default Object.freeze(security);

View file

@ -6,6 +6,7 @@ const tabs = {
sign_in_experience: '로그인 경험',
connectors: '연동',
enterprise_sso: '기업 SSO',
security: '보안',
webhooks: '웹훅',
organizations: '조직',
users: '사용자 관리',

View file

@ -10,6 +10,7 @@ import jwt_customizer from './jwt-customizer.js';
import localization from './localization.js';
import log from './log.js';
import oidc from './oidc.js';
import one_time_token from './one-time-token.js';
import organization from './organization.js';
import password from './password.js';
import request from './request.js';
@ -54,6 +55,7 @@ const errors = {
single_sign_on,
verification_record,
account_center,
one_time_token,
};
export default Object.freeze(errors);

View file

@ -0,0 +1,10 @@
const one_time_token = {
token_not_found: '找不到与给定电子邮件和令牌相匹配的活动令牌。',
email_mismatch: '电子邮件与给定令牌不匹配。',
token_expired: '令牌已过期。',
token_consumed: '令牌已被使用。',
token_revoked: '令牌已被撤销。',
cannot_reactivate_token: '无法重新激活该令牌。',
};
export default Object.freeze(one_time_token);

View file

@ -1,8 +1,7 @@
const organization = {
require_membership: 'Użytkownik musi być członkiem organizacji, aby kontynuować.',
/** UNTRANSLATED */
role_names_not_found:
'Invalid role names detected: {{names,list(type:conjunction)}}. Please create these roles first before proceeding.',
'检测到无效的角色名称:{{names,list(type:conjunction)}}。请先创建这些角色,然后再继续。',
};
export default Object.freeze(organization);

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