mirror of
https://github.com/logto-io/logto.git
synced 2025-03-10 22:22:45 -05:00
refactor(phrases): update fr translation
This commit is contained in:
parent
026b9b92a0
commit
e9e8a6e11e
47 changed files with 509 additions and 466 deletions
6
.changeset/ninety-elephants-breathe.md
Normal file
6
.changeset/ninety-elephants-breathe.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
"@logto/phrases": patch
|
||||
"@logto/phrases-ui": patch
|
||||
---
|
||||
|
||||
update fr translation
|
|
@ -44,16 +44,33 @@ const createFullTranslation = async (
|
|||
const relativePath = path.relative(path.join(directory, baseLanguage), file);
|
||||
const targetPath = path.join(directory, languageTag, relativePath);
|
||||
|
||||
if (existsSync(targetPath)) {
|
||||
log.info(`Target path ${targetPath} exists, skipping`);
|
||||
const getTranslationPath = async () => {
|
||||
if (existsSync(targetPath)) {
|
||||
const currentContent = await fs.readFile(targetPath, 'utf8');
|
||||
|
||||
if (currentContent.includes('// UNTRANSLATED')) {
|
||||
return targetPath;
|
||||
}
|
||||
|
||||
log.info(`Target path ${targetPath} exists and has no untranslated mark, skipping`);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return file;
|
||||
};
|
||||
|
||||
const translationPath = await getTranslationPath();
|
||||
|
||||
if (!translationPath) {
|
||||
continue;
|
||||
}
|
||||
|
||||
log.info(`Translating ${file}`);
|
||||
const result = await translate(openai, languageTag, file);
|
||||
log.info(`Translating ${translationPath}`);
|
||||
const result = await translate(openai, languageTag, translationPath);
|
||||
|
||||
if (!result) {
|
||||
log.error(`Unable to translate ${file}`);
|
||||
log.error(`Unable to translate ${translationPath}`);
|
||||
}
|
||||
|
||||
await fs.mkdir(path.parse(targetPath).dir, { recursive: true });
|
||||
|
@ -78,16 +95,14 @@ const create: CommandModule<{ path?: string }, { path?: string; 'language-tag':
|
|||
}
|
||||
|
||||
if (isPhrasesBuiltInLanguageTag(languageTag)) {
|
||||
log.info(languageTag + ' is a built-in tag of phrases, skipping');
|
||||
} else {
|
||||
await createFullTranslation(inputPath, 'phrases', languageTag);
|
||||
log.info(languageTag + ' is a built-in tag of phrases, updating untranslated phrases');
|
||||
}
|
||||
await createFullTranslation(inputPath, 'phrases', languageTag);
|
||||
|
||||
if (isPhrasesUiBuiltInLanguageTag(languageTag)) {
|
||||
log.info(languageTag + ' is a built-in tag of phrases-ui, skipping');
|
||||
} else {
|
||||
await createFullTranslation(inputPath, 'phrases-ui', languageTag);
|
||||
log.info(languageTag + ' is a built-in tag of phrases-ui, updating untranslated phrases');
|
||||
}
|
||||
await createFullTranslation(inputPath, 'phrases-ui', languageTag);
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ const error = {
|
|||
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.',
|
||||
timeout: "Délai d'attente de la requête dépassé. Veuillez réessayer plus tard.",
|
||||
};
|
||||
|
||||
export default error;
|
||||
|
|
|
@ -31,7 +31,7 @@ const applications = {
|
|||
description: 'z.B. Next.js, PHP',
|
||||
},
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle: 'Eine Anwendung (normalerweise ein Dienst), die direkt mit Ressourcen kommuniziert',
|
||||
description: 'z.B. Backend Dienst',
|
||||
},
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import others from './others.js';
|
||||
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
|
||||
|
||||
// UNTRANSLATED
|
||||
const sign_in_exp = {
|
||||
page_title: 'Anmeldeoberfläche',
|
||||
title: 'Anmeldeoberfläche',
|
||||
|
@ -9,7 +10,7 @@ const sign_in_exp = {
|
|||
tabs: {
|
||||
branding: 'Branding',
|
||||
methods: 'Anmeldemethoden',
|
||||
sign_up_and_sign_in: 'Sign up and Sign in',
|
||||
sign_up_and_sign_in: 'Sign-up and Sign-in',
|
||||
others: 'Andere',
|
||||
},
|
||||
welcome: {
|
||||
|
|
|
@ -42,9 +42,9 @@ const others = {
|
|||
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: '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.',
|
||||
'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
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// UNTRANSLATED
|
||||
const sign_up_and_sign_in = {
|
||||
identifiers_email: 'Email address',
|
||||
identifiers_phone: 'Phone number',
|
||||
|
|
|
@ -30,7 +30,7 @@ const applications = {
|
|||
description: 'E.g., Next.js, PHP',
|
||||
},
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle: 'An app (usually a service) that directly talks to resources',
|
||||
description: 'E.g., Backend service',
|
||||
},
|
||||
|
|
|
@ -7,7 +7,7 @@ const sign_in_exp = {
|
|||
description: 'Customize the sign in UI to match your brand and view in real time',
|
||||
tabs: {
|
||||
branding: 'Branding',
|
||||
sign_up_and_sign_in: 'Sign up and Sign in',
|
||||
sign_up_and_sign_in: 'Sign-up and Sign-in',
|
||||
others: 'Others',
|
||||
},
|
||||
welcome: {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
const api_resource_details = {
|
||||
page_title: 'API Resource details', // UNTRANSLATED
|
||||
back_to_api_resources: 'Retour aux ressources API',
|
||||
settings_tab: 'Settings', // UNTRANSLATED
|
||||
permissions_tab: 'Permissions', // UNTRANSLATED
|
||||
settings: 'Settings', // UNTRANSLATED
|
||||
settings_tab: 'Paramètres',
|
||||
permissions_tab: 'Autorisations',
|
||||
settings: 'Paramètres',
|
||||
settings_description:
|
||||
'API resources, a.k.a. Resource Indicators, indicate the target services or resources to be requested, usually, a URI format variable representing the resource‘s identity.', // UNTRANSLATED
|
||||
"Les ressources API, également connues sous le nom d'indicateurs de ressource, indiquent les services ou les ressources cibles à demander, généralement une variable de format d'URI représentant l'identité de la ressource.",
|
||||
token_expiration_time_in_seconds: "Temps d'expiration du jeton (en secondes)",
|
||||
token_expiration_time_in_seconds_placeholder: "Entrez le délai d'expiration de votre jeton",
|
||||
delete_description:
|
||||
|
@ -13,19 +13,19 @@ const api_resource_details = {
|
|||
enter_your_api_resource_name: 'Entrez le nom de votre ressource API',
|
||||
api_resource_deleted: 'La ressource API {{name}} a été supprimée avec succès',
|
||||
permission: {
|
||||
create_button: 'Create Permission', // UNTRANSLATED
|
||||
create_title: 'Create permission', // UNTRANSLATED
|
||||
create_subtitle: 'Define the permissions (scopes) needed by this API.', // UNTRANSLATED
|
||||
confirm_create: 'Create permission', // UNTRANSLATED
|
||||
name: 'Permission name', // UNTRANSLATED
|
||||
name_placeholder: 'read:resource', // UNTRANSLATED
|
||||
forbidden_space_in_name: 'The permission name must not contain any spaces.', // UNTRANSLATED
|
||||
description: 'Description', // UNTRANSLATED
|
||||
description_placeholder: 'Able to read the resources', // UNTRANSLATED
|
||||
permission_created: 'The permission {{name}} has been successfully created', // UNTRANSLATED
|
||||
create_button: 'Créer une autorisation',
|
||||
create_title: 'Créer une autorisation',
|
||||
create_subtitle: 'Définir les autorisations (scopes) requises pour cette API.',
|
||||
confirm_create: 'Créer une autorisation',
|
||||
name: "Nom de l'autorisation",
|
||||
name_placeholder: 'read:resource',
|
||||
forbidden_space_in_name: "Le nom de l'autorisation ne doit pas contenir d'espaces.",
|
||||
description: 'Description',
|
||||
description_placeholder: 'Capable de lire les ressources',
|
||||
permission_created: "L'autorisation {{name}} a été créée avec succès",
|
||||
delete_description:
|
||||
'If this permission is deleted, the user who had this permission will lose the access granted by it.', // UNTRANSLATED
|
||||
deleted: 'The permission "{{name}}" was successfully deleted!', // UNTRANSLATED
|
||||
"Si cette autorisation est supprimée, l'utilisateur qui avait cette autorisation perdra l'accès qui lui a été accordé.",
|
||||
deleted: 'L\'autorisation "{{name}}" a été supprimée avec succès !',
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -2,29 +2,29 @@ const application_details = {
|
|||
page_title: 'Application details', // UNTRANSLATED
|
||||
back_to_applications: 'Retour aux applications',
|
||||
check_guide: 'Aller voir le guide',
|
||||
settings: 'Settings', // UNTRANSLATED
|
||||
settings: 'Paramètres',
|
||||
settings_description:
|
||||
'Applications are used to identify your applications in Logto for OIDC, sign-in experience, audit logs, etc.', // UNTRANSLATED
|
||||
"Les applications sont utilisées pour identifier vos applications dans Logto pour OIDC, l'expérience de connexion, les journaux d'audit, etc.",
|
||||
advanced_settings: 'Paramètres avancés',
|
||||
advanced_settings_description:
|
||||
'Advanced settings include OIDC related terms. You can check out the Token Endpoint for more information.', // UNTRANSLATED
|
||||
"Les paramètres avancés comprennent des termes liés à OIDC. Vous pouvez consulter le point de terminaison de jeton pour plus d'informations.",
|
||||
application_name: "Nom de l'application",
|
||||
application_name_placeholder: 'Mon App',
|
||||
description: 'Description',
|
||||
description_placeholder: 'Entrez la description de votre application',
|
||||
authorization_endpoint: 'Authorization Endpoint',
|
||||
authorization_endpoint: "Point de terminaison d'autorisation",
|
||||
authorization_endpoint_tip:
|
||||
"Le point de terminaison pour effectuer l'authentification et l'autorisation. Il est utilisé pour <a>l'authentification</a> OpenID Connect.",
|
||||
application_id: 'App ID',
|
||||
"Le point de terminaison pour effectuer l'authentification et l'autorisation. Il est utilisé pour l'authentification OpenID Connect.",
|
||||
application_id: "ID de l'application",
|
||||
application_id_tip:
|
||||
'The unique application identifier normally generated by Logto. It also stands for “<a>client_id</a>” in OpenID Connect.', // UNTRANSLATED
|
||||
application_secret: 'App Secret',
|
||||
redirect_uri: 'Redirect URI',
|
||||
redirect_uris: 'Redirect URIs',
|
||||
"L'identifiant d'application unique généralement généré par Logto. Il signifie également « client_id » dans OpenID Connect.",
|
||||
application_secret: "Secret de l'application",
|
||||
redirect_uri: 'URI de redirection',
|
||||
redirect_uris: 'URIs de redirection',
|
||||
redirect_uri_placeholder: 'https://votre.site.com/app',
|
||||
redirect_uri_placeholder_native: 'io.logto://callback',
|
||||
redirect_uri_tip:
|
||||
"L'URI de redirection après la connexion d'un utilisateur (qu'elle soit réussie ou non). Voir OpenID Connect <a>AuthRequest</a> pour plus d'informations.",
|
||||
"L'URI de redirection après la connexion d'un utilisateur (qu'elle soit réussie ou non). Voir OpenID Connect AuthRequest pour plus d'informations.",
|
||||
post_sign_out_redirect_uri: 'URI de redirection post-signature',
|
||||
post_sign_out_redirect_uris: 'URI de redirection après la signature',
|
||||
post_sign_out_redirect_uri_placeholder: 'https://votre.site.com/home',
|
||||
|
@ -33,17 +33,17 @@ const application_details = {
|
|||
cors_allowed_origins: 'Origines CORS autorisées',
|
||||
cors_allowed_origins_placeholder: 'https://votre.site.com',
|
||||
cors_allowed_origins_tip:
|
||||
"Par défaut, toutes les origines des URI de redirection seront autorisées. En général, aucune action n'est requise pour ce champ. See the <a>MDN doc</a> for detailed info.", // UNTRANSLATED
|
||||
id_token_expiration: "Expiration du jeton d'identification",
|
||||
refresh_token_expiration: "Rafraîchir l'expiration du jeton",
|
||||
token_endpoint: 'Token Endpoint',
|
||||
user_info_endpoint: 'Userinfo Endpoint',
|
||||
enable_admin_access: 'Enable admin access', // UNTRANSLATED
|
||||
"Par défaut, toutes les origines des URI de redirection seront autorisées. En général, aucune action n'est requise pour ce champ. See the MDN doc pour plus d'informations.",
|
||||
id_token_expiration: "Expiration de l'ID du jeton",
|
||||
refresh_token_expiration: 'Expiration de rafraîchissement du jeton',
|
||||
token_endpoint: "Point d'extrémité du jeton",
|
||||
user_info_endpoint: "Point d'extrémité Utilisateur",
|
||||
enable_admin_access: "Activer l'accès administrateur",
|
||||
enable_admin_access_label:
|
||||
'Enable or disable the access to Management API. Once enabled, you can use access tokens to call Management API on behalf on this application.', // UNTRANSLATED
|
||||
"Activer ou désactiver l'accès à l'API de gestion. Une fois activé, vous pouvez utiliser des jetons d'accès pour appeler l'API de gestion au nom de cette application.",
|
||||
delete_description:
|
||||
"Cette action ne peut être annulée. Elle supprimera définitivement l'application. Veuillez entrer le nom de l'application <span>{{nom}}</span> pour confirmer.",
|
||||
enter_your_application_name: "Saisissez votre nom d'application",
|
||||
enter_your_application_name: 'Entrez le nom de votre application',
|
||||
application_deleted: "L'application {{name}} a été supprimée avec succès.",
|
||||
redirect_uri_required: 'Vous devez entrer au moins un URI de redirection.',
|
||||
};
|
||||
|
|
|
@ -17,24 +17,24 @@ const applications = {
|
|||
native: {
|
||||
title: 'Application native',
|
||||
subtitle: 'Une application qui fonctionne dans un environnement natif',
|
||||
description: 'Exemple: iOS app, Android app',
|
||||
description: 'Exemple: application iOS, application Android',
|
||||
},
|
||||
spa: {
|
||||
title: 'Single Page App',
|
||||
title: 'Application à page unique',
|
||||
subtitle:
|
||||
"Une application qui s'exécute dans un navigateur web et met dynamiquement à jour les données sur place.",
|
||||
description: 'Exemple: React app, Vue app',
|
||||
description: 'Exemple: application React, application Vue',
|
||||
},
|
||||
traditional: {
|
||||
title: 'Web Traditionnel',
|
||||
title: 'Web traditionnel',
|
||||
subtitle: 'Une application qui met à jour les pages par le seul serveur web.',
|
||||
description: 'Exemple: Next.js, PHP',
|
||||
},
|
||||
// UNTRANSLATED
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
subtitle: 'An app (usually a service) that directly talks to resources',
|
||||
description: 'E.g., Backend service',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle:
|
||||
'Une application (généralement un service) qui communique directement avec les ressources',
|
||||
description: 'Par exemple, un service backend',
|
||||
},
|
||||
},
|
||||
guide: {
|
||||
|
@ -47,9 +47,9 @@ const applications = {
|
|||
description_by_sdk:
|
||||
"Ce guide de démarrage rapide montre comment intégrer Logto dans l'application {{sdk}}.",
|
||||
},
|
||||
placeholder_title: 'Select an application type to continue', // UNTRANSLATED
|
||||
placeholder_title: "Sélectionnez un type d'application pour continuer",
|
||||
placeholder_description:
|
||||
'Logto uses an application entity for OIDC to help with tasks such as identifying your apps, managing sign-in, and creating audit logs.', // UNTRANSLATED
|
||||
"Logto utilise une entité d'application pour OIDC pour aider aux tâches telles que l'identification de vos applications, la gestion de la connexion et la création de journaux d'audit.",
|
||||
};
|
||||
|
||||
export default applications;
|
||||
|
|
|
@ -3,113 +3,117 @@ const cloud = {
|
|||
page_title: 'Welcome', // UNTRANSLATED
|
||||
title: 'Welcome and let’s create your own Logto Cloud Preview', // UNTRANSLATED
|
||||
description:
|
||||
'Whether you’re an open-source or cloud user, take a tour of the showcase and experience the full value of Logto. Cloud preview also serves as a preliminary version of Logto Cloud.', // UNTRANSLATED
|
||||
project_field: 'I’m using Logto for', // UNTRANSLATED
|
||||
'Que vous soyez un utilisateur open-source ou cloud, faites une visite de la vitrine et découvrez la valeur totale de Logto. Le Cloud Preview sert également de version préliminaire de Logto Cloud.',
|
||||
project_field: 'J’utilise Logto pour',
|
||||
project_options: {
|
||||
personal: 'Personal project', // UNTRANSLATED
|
||||
company: 'Company project', // UNTRANSLATED
|
||||
personal: 'Projet personnel',
|
||||
company: "Projet d'entreprise",
|
||||
},
|
||||
deployment_type_field: 'Prefer open-source or cloud?', // UNTRANSLATED
|
||||
deployment_type_field: 'Vous préférez open-source ou cloud?',
|
||||
deployment_type_options: {
|
||||
open_source: 'Open-Source', // UNTRANSLATED
|
||||
cloud: 'Cloud', // UNTRANSLATED
|
||||
open_source: 'Open-Source',
|
||||
cloud: 'Cloud',
|
||||
},
|
||||
},
|
||||
about: {
|
||||
page_title: 'A bit about you', // UNTRANSLATED
|
||||
title: 'A little bit about you', // UNTRANSLATED
|
||||
description:
|
||||
'Let‘s make your Logto experience unique to you by getting to know you better. Your information is safe with us.', // UNTRANSLATED
|
||||
title_field: 'Your title', // UNTRANSLATED
|
||||
'Personnalisons votre expérience Logto en vous connaissant mieux. Vos informations sont en sécurité avec nous.',
|
||||
title_field: 'Votre titre',
|
||||
title_options: {
|
||||
developer: 'Developer', // UNTRANSLATED
|
||||
team_lead: 'Team Lead', // UNTRANSLATED
|
||||
ceo: 'CEO', // UNTRANSLATED
|
||||
cto: 'CTO', // UNTRANSLATED
|
||||
product: 'Product', // UNTRANSLATED
|
||||
others: 'Others', // UNTRANSLATED
|
||||
developer: 'Développeur',
|
||||
team_lead: "Chef d'équipe",
|
||||
ceo: 'PDG',
|
||||
cto: 'CTO',
|
||||
product: 'Produit',
|
||||
others: 'Autres',
|
||||
},
|
||||
company_name_field: 'Company name', // UNTRANSLATED
|
||||
company_name_placeholder: 'Acme.co', // UNTRANSLATED
|
||||
company_size_field: 'How’s your company size?', // UNTRANSLATED
|
||||
company_name_field: "Nom de l'entreprise",
|
||||
company_name_placeholder: 'Acme.co',
|
||||
company_size_field: 'Taille de votre entreprise',
|
||||
company_options: {
|
||||
size_1: '1', // UNTRANSLATED
|
||||
size_2_49: '2-49', // UNTRANSLATED
|
||||
size_50_199: '50-199', // UNTRANSLATED
|
||||
size_200_999: '200-999', // UNTRANSLATED
|
||||
size_1000_plus: '1000+', // UNTRANSLATED
|
||||
size_1: '1',
|
||||
size_2_49: '2-49',
|
||||
size_50_199: '50-199',
|
||||
size_200_999: '200-999',
|
||||
size_1000_plus: '1000+',
|
||||
},
|
||||
reason_field: 'I’m signing up because', // UNTRANSLATED
|
||||
reason_field: "Je m'inscris parce que",
|
||||
reason_options: {
|
||||
passwordless: 'Finding passwordless authentication and UI kit', // UNTRANSLATED
|
||||
efficiency: 'Finding out-of-the-box identity infrastructure', // UNTRANSLATED
|
||||
access_control: 'Controlling user access based on roles and responsibilities', // UNTRANSLATED
|
||||
multi_tenancy: 'Seeking strategies for a multi-tenancy product', // UNTRANSLATED
|
||||
enterprise: 'Finding SSO solutions for enterprise readiness', // UNTRANSLATED
|
||||
others: 'Others', // UNTRANSLATED
|
||||
passwordless:
|
||||
"Je cherche une authentification sans mot de passe et une trousse d'interface utilisateur",
|
||||
efficiency: "Je cherche une infrastructure d'identité clé en main",
|
||||
access_control:
|
||||
"Je cherche à contrôler l'accès utilisateur en fonction des rôles et des responsabilités",
|
||||
multi_tenancy: 'Je cherche des stratégies pour un produit multi-tenant',
|
||||
enterprise: "Je cherche des solutions SSO pour une gestion de l'entreprise",
|
||||
others: 'Autres',
|
||||
},
|
||||
},
|
||||
congrats: {
|
||||
page_title: 'Earn early credits', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Don’t miss out on a chance to enjoy a free <strong>60 days</strong> subscription to Logto Cloud after its official launch! Contact the Logto team now to learn more.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
"Ne manquez pas l'occasion de profiter d'un abonnement gratuit de <strong>60 jours</strong> pour Logto Cloud après son lancement officiel! Contactez l'équipe Logto dès maintenant pour en savoir plus.",
|
||||
check_out_button: "Découvrez l'aperçu en direct",
|
||||
reserve_title: "Réservez votre temps avec l'équipe Logto",
|
||||
reserve_description: "Le crédit n'est éligible qu'après validation.",
|
||||
book_button: 'Planifier maintenant',
|
||||
join_description:
|
||||
"Rejoignez notre <a>{{link}}</a> public pour vous connecter et discuter avec d'autres développeurs.",
|
||||
discord_link: 'canal Discord',
|
||||
enter_admin_console: 'Accédez à Logto Cloud Preview',
|
||||
},
|
||||
gift: {
|
||||
title: 'Use Logto Cloud free for 60 days. Join the front-runners now!', // UNTRANSLATED
|
||||
description: 'Book a one-on-one session with our team for early credit.', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon evaluation.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
title:
|
||||
'Utilisez Logto Cloud gratuitement pendant 60 jours. Joignez-vous aux pionniers dès maintenant!',
|
||||
description: 'Réservez une session individuelle avec notre équipe pour un crédit préalable.',
|
||||
reserve_title: "Réservez votre temps avec l'équipe Logto",
|
||||
reserve_description: "Le crédit n'est éligible qu'après évaluation.",
|
||||
book_button: 'Réserver',
|
||||
},
|
||||
sie: {
|
||||
page_title: 'Customize sign-in experience', // UNTRANSLATED
|
||||
title: 'Let’s first customize your sign-in experience with ease', // UNTRANSLATED
|
||||
inspire: {
|
||||
title: 'Create compelling examples', // UNTRANSLATED
|
||||
title: 'Créez des exemples convaincants',
|
||||
description:
|
||||
'Feeling unsure about sign in experience? Just click the "Inspire Me" and let the magic happen!', // UNTRANSLATED
|
||||
inspire_me: 'Inspire me', // UNTRANSLATED
|
||||
'Vous vous sentez incertain de l\'expérience de connexion? Cliquez simplement sur "Inspirez-moi" et laissez la magie opérer!',
|
||||
inspire_me: 'Inspirez-moi',
|
||||
},
|
||||
logo_field: 'App Logo', // UNTRANSLATED
|
||||
color_field: 'Brand color', // UNTRANSLATED
|
||||
identifier_field: 'Identifier', // UNTRANSLATED
|
||||
logo_field: "Logo de l'application",
|
||||
color_field: 'Couleur de la marque',
|
||||
identifier_field: 'Identifiant',
|
||||
identifier_options: {
|
||||
email: 'Email', // UNTRANSLATED
|
||||
phone: 'Phone', // UNTRANSLATED
|
||||
user_name: 'Username', // UNTRANSLATED
|
||||
email: 'Email',
|
||||
phone: 'Téléphone',
|
||||
user_name: "Nom d'utilisateur",
|
||||
},
|
||||
authn_field: 'Authentication', // UNTRANSLATED
|
||||
authn_field: 'Authentification',
|
||||
authn_options: {
|
||||
password: 'Password', // UNTRANSLATED
|
||||
verification_code: 'Verification code', // UNTRANSLATED
|
||||
password: 'Mot de passe',
|
||||
verification_code: 'Code de vérification',
|
||||
},
|
||||
social_field: 'Social sign in', // UNTRANSLATED
|
||||
finish_and_done: 'Finish and done', // UNTRANSLATED
|
||||
social_field: 'Connexion sociale',
|
||||
finish_and_done: 'Terminer et terminé',
|
||||
preview: {
|
||||
mobile_tab: 'Mobile', // UNTRANSLATED
|
||||
web_tab: 'Web', // UNTRANSLATED
|
||||
mobile_tab: 'Mobile',
|
||||
web_tab: 'Web',
|
||||
},
|
||||
connectors: {
|
||||
unlocked_later: 'Unlocked later', // UNTRANSLATED
|
||||
unlocked_later: 'Débloqué ultérieurement',
|
||||
unlocked_later_tip:
|
||||
'Once you have completed the onboarding process and entered the product, you will have access to even more social sign-in methods.', // UNTRANSLATED
|
||||
"Une fois que vous avez terminé le processus d'inscription et que vous êtes entré dans le produit, vous aurez accès à encore plus de méthodes de connexion sociale.",
|
||||
notice:
|
||||
'Please avoid using the demo connector for production purposes. Once you’ve completed testing, kindly delete the demo connector and set up your own connector with your credentials.', // UNTRANSLATED
|
||||
"Veuillez éviter d'utiliser le connecteur de démonstration à des fins de production. Lorsque vous avez terminé les tests, veuillez supprimer le connecteur de démonstration et mettre en place votre propre connecteur avec vos informations d'identification.",
|
||||
},
|
||||
},
|
||||
broadcast: '📣 You are in Logto Cloud (Preview)', // UNTRANSLATED
|
||||
broadcast: '📣 Vous êtes dans Logto Cloud (aperçu)',
|
||||
socialCallback: {
|
||||
title: "You've successfully signed in", // UNTRANSLATED
|
||||
title: 'Connexion réussie',
|
||||
description:
|
||||
'You have successfully signed in using your social account. To ensure seamless integration and access to all the features of Logto, we recommend that you proceed to configure your own social connector.', // UNTRANSLATED
|
||||
'Vous vous êtes connecté avec succès en utilisant votre compte social. Pour assurer une intégration fluide et accéder à toutes les fonctionnalités de Logto, nous vous recommandons de configurer votre propre connecteur social.',
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
const components = {
|
||||
uploader: {
|
||||
action_description: 'Drag and drop or browse', // UNTRANSLATED
|
||||
uploading: 'Uploading...', // UNTRANSLATED
|
||||
action_description: 'Glissez-déposez ou parcourez',
|
||||
uploading: 'Téléchargement...',
|
||||
image_limit:
|
||||
'Upload image under {{size, number}}KB, {{extensions, list(style: narrow; type: conjunction;)}} only.', // UNTRANSLATED
|
||||
error_upload: 'Something went wrong. File upload failed.', // UNTRANSLATED
|
||||
error_file_size: 'File size is too large. Please upload a file under {{size, number}}KB.', // UNTRANSLATED
|
||||
'Téléchargez une image de moins de {{size, number}} Ko, uniquement {{extensions, list(style: narrow; type: conjunction;)}}.',
|
||||
error_upload: "Quelque chose s'est mal passé. La téléchargement de fichier a échoué.",
|
||||
error_file_size:
|
||||
'La taille du fichier est trop grande. Veuillez télécharger un fichier de moins de {{size, number}}Ko.',
|
||||
error_file_type:
|
||||
'File type is not supported. {{extensions, list(style: narrow; type: conjunction;)}} only.', // UNTRANSLATED
|
||||
"Le type de fichier n'est pas pris en charge. Uniquement {{extensions, list(style: narrow; type: conjunction;)}}.",
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@ const connector_details = {
|
|||
page_title: 'Connector details', // UNTRANSLATED
|
||||
back_to_connectors: 'Retour à Connecteurs',
|
||||
check_readme: 'Vérifier le README',
|
||||
settings: 'General settings', // UNTRANSLATED
|
||||
settings: 'Paramètres généraux',
|
||||
settings_description:
|
||||
'Connectors play a critical role in Logto. With their help, Logto enables end-users to use passwordless registration or sign-in and the capabilities of signing in with social accounts.', // UNTRANSLATED
|
||||
parameter_configuration: 'Parameter configuration', // UNTRANSLATED
|
||||
test_connection: 'Test connection', // UNTRANSLATED
|
||||
"Les connecteurs jouent un rôle essentiel dans Logto. Avec leur aide, Logto permet aux utilisateurs finaux d'utiliser une inscription ou une connexion sans mot de passe et les capacités de connexion avec des comptes sociaux.",
|
||||
parameter_configuration: 'Configuration des paramètres',
|
||||
test_connection: 'Tester la connexion',
|
||||
save_error_empty_config: 'Veuillez entrer la configuration',
|
||||
send: 'Envoyer',
|
||||
send_error_invalid_format: 'Entrée non valide',
|
||||
|
@ -25,11 +25,11 @@ const connector_details = {
|
|||
type_sms: 'Connecteur SMS',
|
||||
type_social: 'Connecteur Social',
|
||||
in_used_social_deletion_description:
|
||||
'This connector is in-use in your sign in experience. By deleting, <name/> sign in experience will be deleted in sign in experience settings. You will need to reconfigure it if you decide to add it back.', // UNTRANSLATED
|
||||
'This connector is in-use in your sign in experience. By deleting, <name/> sign in experience will be deleted in sign in experience settings. You will need to reconfigure it if you decide to add it back.',
|
||||
in_used_passwordless_deletion_description:
|
||||
'This {{name}} is in-use in your sign-in experience. By deleting, your sign-in experience will not work properly until you resolve the conflict. You will need to reconfigure it if you decide to add it back.', // UNTRANSLATED
|
||||
'This {{name}} is in-use in your sign-in experience. By deleting, your sign-in experience will not work properly until you resolve the conflict. You will need to reconfigure it if you decide to add it back.',
|
||||
deletion_description:
|
||||
'You are removing this connector. It cannot be undone, and you will need to reconfigure it if you decide to add it back.', // UNTRANSLATED
|
||||
"Vous supprimez ce connecteur. Il ne peut pas être annulé et vous devrez le reconfigurer si vous décidez de l'ajouter à nouveau.",
|
||||
};
|
||||
|
||||
export default connector_details;
|
||||
|
|
|
@ -4,31 +4,32 @@ const connectors = {
|
|||
subtitle:
|
||||
'Configurez des connecteurs pour permettre une expérience de connexion sans mot de passe et sociale.',
|
||||
create: 'Ajouter un connecteur social',
|
||||
config_sie_notice: 'You’ve set up connectors. Make sure to configure it in <a>{{link}}</a>.', // UNTRANSLATED
|
||||
config_sie_link_text: 'sign in experience', // UNTRANSLATED
|
||||
config_sie_notice:
|
||||
'Vous avez configuré des connecteurs. Assurez-vous de le configurer dans <a>{{link}}</a>.',
|
||||
config_sie_link_text: 'expérience de connexion',
|
||||
tab_email_sms: 'Connecteurs Email et SMS',
|
||||
tab_social: 'Connecteurs sociaux',
|
||||
connector_name: 'Nom du connecteur',
|
||||
demo_tip:
|
||||
'The maximum number of messages allowed for this demo connector is limited to 100 and is not recommended for deployment in a production environment.', // UNTRANSLATED
|
||||
"Le nombre maximum de messages autorisés pour ce connecteur de démonstration est limité à 100 et n'est pas recommandé pour le déploiement dans un environnement de production.",
|
||||
social_demo_tip:
|
||||
'The demo connector is designed exclusively for demonstration purposes and is not recommended for deployment in a production environment.', // UNTRANSLATED
|
||||
"Le connecteur de démonstration est conçu exclusivement à des fins de démonstration et n'est pas recommandé pour le déploiement dans un environnement de production.",
|
||||
connector_type: 'Type',
|
||||
connector_status: 'Experience de connexion',
|
||||
connector_status: 'Expérience de connexion',
|
||||
connector_status_in_use: "En cours d'utilisation",
|
||||
connector_status_not_in_use: 'Non utilisé',
|
||||
not_in_use_tip: {
|
||||
content:
|
||||
'Not in use means your sign in experience hasn’t used this sign in method. <a>{{link}}</a> to add this sign in method. ', // UNTRANSLATED
|
||||
go_to_sie: 'Go to sign in experience', // UNTRANSLATED
|
||||
"L'option Non utilisé signifie que votre expérience de connexion n'a pas utilisé cette méthode de connexion. <a>{{link}}</a> pour ajouter cette méthode de connexion.",
|
||||
go_to_sie: "Aller à l'expérience de connexion",
|
||||
},
|
||||
placeholder_title: 'Social connector', // UNTRANSLATED
|
||||
placeholder_title: 'Connecteur social',
|
||||
placeholder_description:
|
||||
'Logto has provided many widely used social sign-in connectors meantime you can create your own with standard protocols.', // UNTRANSLATED
|
||||
"Logto propose de nombreux connecteurs de connexion sociale couramment utilisés, mais vous pouvez également créer le vôtre à l'aide des protocoles standard.",
|
||||
save_and_done: 'Sauvegarder et Finis',
|
||||
type: {
|
||||
email: 'Connecteur Email',
|
||||
sms: 'Connecreur SMS',
|
||||
sms: 'Connecteur SMS',
|
||||
social: 'Connecteur Social',
|
||||
},
|
||||
setup_title: {
|
||||
|
@ -38,54 +39,55 @@ const connectors = {
|
|||
},
|
||||
guide: {
|
||||
subtitle: 'Un guide étape par étape pour configurer votre connecteur',
|
||||
general_setting: 'General settings', // UNTRANSLATED
|
||||
parameter_configuration: 'Parameter configuration', // UNTRANSLATED
|
||||
test_connection: 'Test connection', // UNTRANSLATED
|
||||
name: 'Name for social sign-in button', // UNTRANSLATED
|
||||
name_placeholder: 'Enter name for social sign-in button', // UNTRANSLATED
|
||||
general_setting: 'Paramètres généraux',
|
||||
parameter_configuration: 'Configuration des paramètres',
|
||||
test_connection: 'Test de connexion',
|
||||
name: 'Nom du bouton de connexion sociale',
|
||||
name_placeholder: 'Entrez un nom pour le bouton de connexion sociale',
|
||||
name_tip:
|
||||
'The name of the connector button will be displayed as "Continue with {{name}}." Be mindful of the length of the naming in case it gets too long.', // UNTRANSLATED
|
||||
logo: 'Logo URL for social sign-in button', // UNTRANSLATED
|
||||
logo_placeholder: 'https://your.cdn.domain/logo.png', // UNTRANSLATED
|
||||
'Le nom du bouton de connexion s\'affichera comme "Continuer avec {{name}}". Tenez compte de la longueur du nom si celui-ci devient trop long.',
|
||||
logo: 'URL du logo pour le bouton de connexion sociale',
|
||||
logo_placeholder: 'https://votre.domaine.cdn/logo.png',
|
||||
logo_tip:
|
||||
'Logo image will show on the connector. Get a publicly accessible image link and insert the link here.', // UNTRANSLATED
|
||||
logo_dark: 'Logo URL for social sign-in button (Dark mode)', // UNTRANSLATED
|
||||
logo_dark_placeholder: 'https://your.cdn.domain/logo.png', // UNTRANSLATED
|
||||
"L'image du logo s'affichera sur le connecteur. Obtenez un lien d'image accessible au public et insérez le lien ici.",
|
||||
logo_dark: 'URL du logo pour le bouton de connexion sociale (mode sombre)',
|
||||
logo_dark_placeholder: 'https://votre.domaine.cdn/logo.png',
|
||||
logo_dark_tip:
|
||||
'Set your connector’s logo for dark mode after enabling it in the Sign-in Experience of Admin Console.', // UNTRANSLATED
|
||||
logo_dark_collapse: 'Collapse', // UNTRANSLATED
|
||||
logo_dark_show: 'Show logo setting for dark mode', // UNTRANSLATED
|
||||
target: 'Identity provider name', // UNTRANSLATED
|
||||
target_placeholder: 'Enter connector identity provider name', // UNTRANSLATED
|
||||
"Définissez le logo de votre connecteur pour le mode sombre après l'avoir activé dans l'expérience de connexion de la console d'administration.",
|
||||
logo_dark_collapse: 'Réduire',
|
||||
logo_dark_show: "Afficher l'option du logo pour le mode sombre",
|
||||
target: "Nom du fournisseur d'identité",
|
||||
target_placeholder: "Entrez le nom du fournisseur d'identité du connecteur",
|
||||
target_tip:
|
||||
'The value of “IdP name” can be a unique identifier string to distinguish your social identifies. This setting cannot be changed after the connector is built.', // UNTRANSLATED
|
||||
'La valeur de "nom de l\'IdP" peut être une chaîne d\'identificateur unique pour distinguer vos identifiants sociaux. Ce paramètre ne peut pas être modifié une fois que le connecteur est créé.',
|
||||
target_tooltip:
|
||||
'"Target" in Logto social connectors refers to the "source" of your social identities. In Logto design, we do not accept the same "target" of a specific platform to avoid conflicts. You should be very careful before you add a connector since you CAN NOT change its value once you create it. <a>Learn more.</a>', // UNTRANSLATED
|
||||
"«Cible» dans les connecteurs sociaux de Logto fait référence à la «source» de vos identités sociales. Dans la conception de Logto, nous n'acceptons pas la même «cible» d'une plateforme spécifique pour éviter les conflits. Vous devriez être très attentif avant d'ajouter un connecteur car vous NE POUVEZ PAS changer sa valeur une fois que vous l'avez créé. <a>En savoir plus.</a>",
|
||||
target_conflict:
|
||||
'The IdP name entered matches the existing <span>name</span>. Using the same idp name may cause unexpected sign-in behavior where users may access the same account through two different connectors.', // UNTRANSLATED
|
||||
"Le nom de l'IdP saisi correspond au nom existant <span>nom</span>. Utiliser le même nom d'IdP peut entraîner un comportement de connexion inattendu où les utilisateurs peuvent accéder au même compte via deux connecteurs différents.",
|
||||
target_conflict_line2:
|
||||
'If you\'d like to replace the current connector with the same identity provider and allow previous users to sign in without registering again, please delete the <span>name</span> connector and create a new one with the same "IdP name".', // UNTRANSLATED
|
||||
'Si vous souhaitez remplacer le connecteur actuel par le même fournisseur d\'identité et permettre aux utilisateurs précédents de se connecter sans s\'inscrire à nouveau, veuillez supprimer le connecteur <span>nom</span> et créer un nouveau connecteur avec le même nom "IdP".',
|
||||
target_conflict_line3:
|
||||
'If you\'d like to connect to a different identity provider, please modify the "IdP name" and proceed.', // UNTRANSLATED
|
||||
config: 'Enter your config JSON', // UNTRANSLATED
|
||||
sync_profile: 'Sync profile information', // UNTRANSLATED
|
||||
sync_profile_only_at_sign_up: 'Only sync at sign-up', // UNTRANSLATED
|
||||
sync_profile_each_sign_in: 'Always do a sync at each sign-in', // UNTRANSLATED
|
||||
'Si vous souhaitez vous connecter à un fournisseur d\'identité différent, modifiez le "nom de l\'IdP" et poursuivez.',
|
||||
config: 'Entrez votre JSON de configuration',
|
||||
sync_profile: 'Synchroniser les informations de profil',
|
||||
sync_profile_only_at_sign_up: "Synchroniser uniquement à l'inscription",
|
||||
sync_profile_each_sign_in: 'Toujours effectuer une synchronisation à chaque connexion',
|
||||
sync_profile_tip:
|
||||
"Sync the basic profile from the social provider, such as users' names and their avatars.", // UNTRANSLATED
|
||||
callback_uri: 'Callback URI', // UNTRANSLATED
|
||||
'Synchronisez le profil de base du fournisseur social, tel que les noms des utilisateurs et leurs avatars.',
|
||||
callback_uri: 'URI de rappel',
|
||||
callback_uri_description:
|
||||
"Also called redirect URI, is the URI in Logto where users will be sent back after social authorization, copy and paste to the social provider's config page.", // UNTRANSLATED
|
||||
"Également appelée URI de redirection, c'est l'URI dans Logto où les utilisateurs seront renvoyés après l'autorisation sociale, copiez et collez sur la page de configuration du fournisseur social.",
|
||||
},
|
||||
platform: {
|
||||
universal: 'Universel',
|
||||
web: 'Web',
|
||||
native: 'Natif',
|
||||
native: 'Natifs',
|
||||
},
|
||||
add_multi_platform: ' supporte plusieurs plateformes, sélectionnez une plateforme pour continuer',
|
||||
add_multi_platform:
|
||||
' prend en charge plusieurs plateformes, sélectionnez une plateforme pour continuer',
|
||||
drawer_title: 'Guide des connecteurs',
|
||||
drawer_subtitle: 'Suivez les instructions pour intégrer votre connecteur',
|
||||
unknown: 'Unknown Connector', // UNTRANSLATED
|
||||
unknown: 'Connecteur inconnu',
|
||||
};
|
||||
|
||||
export default connectors;
|
||||
|
|
|
@ -14,12 +14,12 @@ const errors = {
|
|||
username_pattern_error:
|
||||
"Le nom d'utilisateur ne doit contenir que des lettres, des chiffres ou des traits de soulignement et ne doit pas commencer par un chiffre.",
|
||||
password_pattern_error:
|
||||
'Password requires a minimum of {{min}} characters and contains a mix of letters, numbers, and symbols.', // UNTRANSLATED
|
||||
'Le mot de passe nécessite un minimum de {{min}} caractères et contient un mélange de lettres, de chiffres et de symboles.',
|
||||
insecure_contexts: 'Les contextes non sécurisés (non HTTPS) ne sont pas pris en charge.',
|
||||
unexpected_error: "Une erreur inattendue s'est produite",
|
||||
not_found: '404 not found', // UNTRANSLATED
|
||||
not_found: '404 non trouvé',
|
||||
create_internal_role_violation:
|
||||
'You are creating a new internal role which is forbidden by Logto. Try another name that does not start with "#internal:".', // UNTRANSLATED
|
||||
'Vous créez un nouveau rôle interne qui est interdit par Logto. Essayez un autre nom qui ne commence pas par "#internal:".',
|
||||
};
|
||||
|
||||
export default errors;
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
const general = {
|
||||
placeholder: 'Placeholder',
|
||||
placeholder: 'Emplacement',
|
||||
skip: 'Passer',
|
||||
next: 'Suivant',
|
||||
back: 'Back', // UNTRANSLATED
|
||||
back: 'Retourner',
|
||||
retry: 'Essayez à nouveau',
|
||||
done: 'Terminé',
|
||||
search: 'Rechercher',
|
||||
search_placeholder: 'Rechercher...',
|
||||
search: 'Recherche',
|
||||
search_placeholder: 'Recherche...',
|
||||
clear_result: 'Effacer les résultats',
|
||||
save: 'Sauvegarder',
|
||||
save_changes: 'Sauvegarder les modifications',
|
||||
saved: 'Sauvegardé !',
|
||||
discard: 'Discard', // UNTRANSLATED
|
||||
discard: 'Abandonner',
|
||||
loading: 'Chargement...',
|
||||
redirecting: 'Redirection...',
|
||||
add: 'Ajouter',
|
||||
|
@ -21,9 +21,9 @@ const general = {
|
|||
check_out: 'Vérifier',
|
||||
create: 'Créer',
|
||||
set_up: 'Configurer',
|
||||
customize: 'Customiser',
|
||||
customize: 'Personnaliser',
|
||||
enable: 'Activer',
|
||||
reminder: 'Rappeler',
|
||||
reminder: 'Rappel',
|
||||
delete: 'Supprimer',
|
||||
more_options: "PLUS D'OPTIONS",
|
||||
close: 'Fermer',
|
||||
|
@ -38,19 +38,19 @@ const general = {
|
|||
'Vous avez effectué des changements. Êtes-vous sûr de vouloir quitter cette page ?',
|
||||
leave_page: 'Quittez la page',
|
||||
stay_on_page: 'Rester sur la page',
|
||||
type_to_search: 'Type to search', // UNTRANSLATED
|
||||
type_to_search: 'Tapez pour rechercher',
|
||||
got_it: 'Compris.',
|
||||
continue: 'Continue', // UNTRANSLATED
|
||||
page_info: '{{min, number}}-{{max, number}} of {{total, number}}', // UNTRANSLATED
|
||||
learn_more: 'Learn more', // UNTRANSLATED
|
||||
tab_errors: '{{count, number}} errors', // UNTRANSLATED
|
||||
skip_for_now: 'Skip for now', // UNTRANSLATED
|
||||
remove: 'Remove', // UNTRANSLATED
|
||||
visit: 'Visit', // UNTRANSLATED
|
||||
join: 'Join', // UNTRANSLATED
|
||||
try_now: 'Try Now', // UNTRANSLATED
|
||||
multiple_form_field: '(Multiple)', // UNTRANSLATED
|
||||
demo: 'Demo', // UNTRANSLATED
|
||||
continue: 'Continuez',
|
||||
page_info: '{{min, number}}-{{max, number}} de {{total, number}}',
|
||||
learn_more: 'En savoir plus',
|
||||
tab_errors: '{{count, number}} erreurs',
|
||||
skip_for_now: "Passer pour l'instant",
|
||||
remove: 'Supprimer',
|
||||
visit: 'Visiter',
|
||||
join: 'Rejoindre',
|
||||
try_now: 'Essayez maintenant',
|
||||
multiple_form_field: '(Multiple)',
|
||||
demo: 'Démo',
|
||||
};
|
||||
|
||||
export default general;
|
||||
|
|
|
@ -2,34 +2,36 @@ const get_started = {
|
|||
page_title: 'Get Started', // UNTRANSLATED
|
||||
progress: 'Guide de démarrage : {{completed}}/{{total}}',
|
||||
progress_dropdown_title: 'Il y a quelques choses que vous pouvez faire...',
|
||||
title: 'Something to explore to help you succeed', // UNTRANSLATED
|
||||
title: 'Quelque chose à explorer pour vous aider à réussir',
|
||||
subtitle_part1:
|
||||
'Voici quelques mesures que vous pouvez prendre pour tirer rapidement profit de Logto',
|
||||
subtitle_part2: "J'en ai fini avec cette installation. ",
|
||||
hide_this: 'Cacher cela',
|
||||
confirm_message:
|
||||
'Êtes-vous sûr de vouloir masquer cette page ? Cette action ne peut être annulée.',
|
||||
check_preview_title: 'Check the live preview', // UNTRANSLATED
|
||||
check_preview_title: "Vérifiez l'aperçu en direct",
|
||||
check_preview_subtitle:
|
||||
"Essayez maintenant l'expérience de connexion Logto pour voir comment elle fonctionne.",
|
||||
integration_title: 'Create and integrate your application', // UNTRANSLATED
|
||||
integration_title: 'Créez et intégrez votre application',
|
||||
integration_subtitle:
|
||||
'Set up Logto authentication for your native, single page, machine to machine, or traditional application', // UNTRANSLATED
|
||||
custom_sie_title: 'Customize sign-in experience', // UNTRANSLATED
|
||||
custom_sie_subtitle: 'Unlock a vast range of scenarios with advanced settings', // UNTRANSLATED
|
||||
passwordless_title: 'Scale passwordless sign in by adding your own connectors', // UNTRANSLATED
|
||||
"Configurez l'authentification Logto pour votre application native, à page unique, machine à machine ou traditionnelle",
|
||||
custom_sie_title: "Personnalisez l'expérience de connexion",
|
||||
custom_sie_subtitle: 'Déverrouillez une grande variété de scénarios avec des paramètres avancés',
|
||||
passwordless_title:
|
||||
'Évolutivité de la connexion sans mot de passe en ajoutant vos propres connecteurs',
|
||||
passwordless_subtitle:
|
||||
'Try passwordless sign in and enable a secure and frictionless experience for your customer', // UNTRANSLATED
|
||||
community_title: 'Join our discord community', // UNTRANSLATED
|
||||
community_subtitle: 'Join our public channel to chat with other developers', // UNTRANSLATED
|
||||
management_api_title: 'Interact with Management API', // UNTRANSLATED
|
||||
management_api_subtitle: 'Directly connect your authentication system to our management API', // UNTRANSLATED
|
||||
further_readings_title: 'Further readings', // UNTRANSLATED
|
||||
'Essayez la connexion sans mot de passe et offrez à vos clients une expérience sécurisée et sans friction',
|
||||
community_title: 'Rejoignez notre communauté discord',
|
||||
community_subtitle: "Rejoignez notre chaîne publique pour discuter avec d'autres développeurs",
|
||||
management_api_title: 'Interagissez avec Management API',
|
||||
management_api_subtitle:
|
||||
"Connectez directement votre système d'authentification à notre Management API",
|
||||
further_readings_title: 'Lectures complémentaires',
|
||||
further_readings_subtitle:
|
||||
'Check out our step-by-step, scenario-based docs without tedious concepts', // UNTRANSLATED
|
||||
add_rbac_title: 'Add role-based access control to protect your resources', // UNTRANSLATED
|
||||
'Consultez nos documents étape par étape et basés sur des scénarios, sans concepts fastidieux',
|
||||
add_rbac_title: "Ajoutez un contrôle d'accès basé sur les rôles pour protéger vos ressources",
|
||||
add_rbac_subtitle:
|
||||
'Control your resource through scalable role authorization for diverse use cases.', // UNTRANSLATED
|
||||
"Contrôlez vos ressources par l autorisation de rôle évolutive pour divers cas d'utilisation.",
|
||||
};
|
||||
|
||||
export default get_started;
|
||||
|
|
|
@ -4,7 +4,7 @@ const log_details = {
|
|||
back_to_user: 'Retour à {{name}}',
|
||||
success: 'Succès',
|
||||
failed: 'Échoué',
|
||||
event_key: 'Event Key', // UNTRANSLATED
|
||||
event_key: "Clé d'événement",
|
||||
application: 'Application',
|
||||
ip_address: 'Addresse IP',
|
||||
user: 'Utilisateur',
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
const permissions = {
|
||||
search_placeholder: 'Search by API or permission name', // UNTRANSLATED
|
||||
search_placeholder_without_api: 'Search by permission name', // UNTRANSLATED
|
||||
name_column: 'Permission', // UNTRANSLATED
|
||||
description_column: 'Description', // UNTRANSLATED
|
||||
api_column: 'API', // UNTRANSLATED
|
||||
placeholder_title: 'Permission', // UNTRANSLATED
|
||||
search_placeholder: "Rechercher par nom d'API ou de permission",
|
||||
search_placeholder_without_api: 'Rechercher par nom de permission',
|
||||
name_column: 'Permission',
|
||||
description_column: 'Description',
|
||||
api_column: 'API',
|
||||
placeholder_title: 'Permission',
|
||||
placeholder_description:
|
||||
'Permission refers to the authorization to access a resource (we call it API resource).', // UNTRANSLATED
|
||||
"La permission fait référence à l'autorisation d'accéder à une ressource (nous l'appelons ressource d'API).",
|
||||
};
|
||||
|
||||
export default permissions;
|
||||
|
|
|
@ -2,81 +2,82 @@ const profile = {
|
|||
page_title: 'Account Settings', // UNTRANSLATED
|
||||
title: 'Account Settings', // UNTRANSLATED
|
||||
description:
|
||||
'Change your account settings and manage your personal information here to ensure your account security.', // UNTRANSLATED
|
||||
'Modifiez les paramètres de votre compte et gérez vos informations personnelles ici pour garantir la sécurité de votre compte.',
|
||||
settings: {
|
||||
title: 'PROFILE SETTINGS', // UNTRANSLATED
|
||||
profile_information: 'Profile information', // UNTRANSLATED
|
||||
avatar: 'Avatar', // UNTRANSLATED
|
||||
name: 'Name', // UNTRANSLATED
|
||||
username: 'Username', // UNTRANSLATED
|
||||
title: 'PARAMÈTRES DE PROFIL',
|
||||
profile_information: 'Informations de profil',
|
||||
avatar: 'Avatar',
|
||||
name: 'Nom',
|
||||
username: "Nom d'utilisateur",
|
||||
},
|
||||
link_account: {
|
||||
title: 'LINK ACCOUNT', // UNTRANSLATED
|
||||
email_sign_in: 'Email sign-In', // UNTRANSLATED
|
||||
email: 'Email', // UNTRANSLATED
|
||||
social_sign_in: 'Social sign-In', // UNTRANSLATED
|
||||
link_email: 'Link email', // UNTRANSLATED
|
||||
link_email_subtitle: 'Link your email to sign in or help with account recovery.', // UNTRANSLATED
|
||||
email_required: 'Email is required', // UNTRANSLATED
|
||||
invalid_email: 'Invalid email address', // UNTRANSLATED
|
||||
identical_email_address: 'The input email address is identical to the current one', // UNTRANSLATED
|
||||
anonymous: 'Anonymous', // UNTRANSLATED
|
||||
title: 'LIEN DE COMPTE',
|
||||
email_sign_in: 'Connexion par e-mail',
|
||||
email: 'Email',
|
||||
social_sign_in: 'Connexion sociale',
|
||||
link_email: 'Lier le courriel',
|
||||
link_email_subtitle:
|
||||
'Liez votre e-mail pour vous connecter ou pour vous aider à récupérer votre compte.',
|
||||
email_required: "L'email est obligatoire",
|
||||
invalid_email: 'Adresse e-mail invalide',
|
||||
identical_email_address: "L'adresse e-mail saisie est identique à celle en cours",
|
||||
anonymous: 'Anonyme',
|
||||
},
|
||||
password: {
|
||||
title: 'PASSWORD & SECURITY', // UNTRANSLATED
|
||||
password: 'Password', // UNTRANSLATED
|
||||
password_setting: 'Password setting', // UNTRANSLATED
|
||||
new_password: 'New password', // UNTRANSLATED
|
||||
confirm_password: 'Confirm password', // UNTRANSLATED
|
||||
enter_password: 'Enter password', // UNTRANSLATED
|
||||
enter_password_subtitle: 'Verify it’s you to protect your account security.', // UNTRANSLATED
|
||||
set_password: 'Set password', // UNTRANSLATED
|
||||
verify_via_password: 'Verify via password', // UNTRANSLATED
|
||||
show_password: 'Show password', // UNTRANSLATED
|
||||
required: 'Password is required', // UNTRANSLATED
|
||||
min_length: 'Password requires a minimum of {{min}} characters', // UNTRANSLATED
|
||||
do_not_match: 'Passwords do not match. Please try again.', // UNTRANSLATED
|
||||
title: 'MOT DE PASSE & SÉCURITÉ',
|
||||
password: 'Mot de passe',
|
||||
password_setting: 'Paramètres de mot de passe',
|
||||
new_password: 'Nouveau mot de passe',
|
||||
confirm_password: 'Confirmer le mot de passe',
|
||||
enter_password: 'Entrez votre mot de passe',
|
||||
enter_password_subtitle: "Vérifiez que c'est bien vous pour protéger votre compte.",
|
||||
set_password: 'Définir le mot de passe',
|
||||
verify_via_password: 'Vérifier via mot de passe',
|
||||
show_password: 'Afficher le mot de passe',
|
||||
required: 'Le mot de passe est obligatoire',
|
||||
min_length: 'Le mot de passe doit comporter au minimum {{min}} caractères',
|
||||
do_not_match: 'Les mots de passe ne correspondent pas. Veuillez réessayer.',
|
||||
},
|
||||
code: {
|
||||
enter_verification_code: 'Enter verification code', // UNTRANSLATED
|
||||
enter_verification_code: 'Entrez le code de vérification',
|
||||
enter_verification_code_subtitle:
|
||||
'The verification code has been sent to <strong>{{target}}</strong>', // UNTRANSLATED
|
||||
verify_via_code: 'Verify via verification code', // UNTRANSLATED
|
||||
resend: 'Resend verification code', // UNTRANSLATED
|
||||
resend_countdown: 'Resend in {{countdown}} seconds', // UNTRANSLATED
|
||||
'Le code de vérification a été envoyé à <strong>{{target}}</strong>',
|
||||
verify_via_code: 'Vérifier via code de vérification',
|
||||
resend: 'Renvoyer le code de vérification',
|
||||
resend_countdown: 'Renvojer dans {{countdown}} secondes',
|
||||
},
|
||||
delete_account: {
|
||||
title: 'DELETE ACCOUNT', // UNTRANSLATED
|
||||
label: 'Delete account', // UNTRANSLATED
|
||||
title: 'SUPPRIMER LE COMPTE',
|
||||
label: 'Supprimer le compte',
|
||||
description:
|
||||
'Deleting your account will remove all of your personal information, user data, and configuration. This action cannot be undone.', // UNTRANSLATED
|
||||
button: 'Delete account', // UNTRANSLATED
|
||||
"La suppression de votre compte supprimera toutes vos informations personnelles, vos données d'utilisateur et votre configuration. Cette action ne peut pas être annulée.",
|
||||
button: 'Supprimer le compte',
|
||||
dialog_paragraph_1:
|
||||
"We're sorry to hear that you want to delete your account. Deleting your account will permanently remove all data, including user information, logs, and settings, and this action cannot be undone. So please make sure to backup any important data before proceeding.", // UNTRANSLATED
|
||||
"Nous sommes désolés d'entendre que vous souhaitez supprimer votre compte. La suppression de votre compte supprimera définitivement toutes les données, y compris les informations d'utilisateur, les journaux et les paramètres, et cette action ne peut pas être annulée. Veuillez donc vous assurer de sauvegarder toutes les données importantes avant de continuer.",
|
||||
dialog_paragraph_2:
|
||||
'To proceed with the account deletion process, please email our support team at <a>mail</a> with the subject “Account Deletion Request”. We will assist you and ensure that all of your data is properly deleted from our system.', // UNTRANSLATED
|
||||
"Pour poursuivre le processus de suppression de compte, veuillez envoyer un e-mail à notre équipe de support à l'adresse <a>mail</a> avec l'objet « Demande de suppression de compte ». Nous vous aiderons et nous assurerons que toutes vos données sont correctement supprimées de notre système.",
|
||||
dialog_paragraph_3:
|
||||
'Thank you for choosing Logto Cloud. If you have any further questions or concerns, please do not hesitate to reach out to us.', // UNTRANSLATED
|
||||
"Merci d'avoir choisi Logto Cloud. Si vous avez des questions ou des préoccupations supplémentaires, n'hésitez pas à nous contacter.",
|
||||
},
|
||||
set: 'Set', // UNTRANSLATED
|
||||
change: 'Change', // UNTRANSLATED
|
||||
link: 'Link', // UNTRANSLATED
|
||||
unlink: 'Unlink', // UNTRANSLATED
|
||||
not_set: 'Not set', // UNTRANSLATED
|
||||
change_avatar: 'Change avatar', // UNTRANSLATED
|
||||
change_name: 'Change name', // UNTRANSLATED
|
||||
change_username: 'Change username', // UNTRANSLATED
|
||||
set_name: 'Set name', // UNTRANSLATED
|
||||
email_changed: 'Email changed!', // UNTRANSLATED
|
||||
password_changed: 'Password changed!', // UNTRANSLATED
|
||||
updated: '{{target}} updated!', // UNTRANSLATED
|
||||
linked: '{{target}} linked!', // UNTRANSLATED
|
||||
unlinked: '{{target}} unlinked!', // UNTRANSLATED
|
||||
set: 'Définir',
|
||||
change: 'Modifier',
|
||||
link: 'Lier',
|
||||
unlink: 'Détacher',
|
||||
not_set: 'Pas défini',
|
||||
change_avatar: "Modifier l'avatar",
|
||||
change_name: 'Modifier le nom',
|
||||
change_username: "Modifier le nom d'utilisateur",
|
||||
set_name: 'Définir le nom',
|
||||
email_changed: 'Email modifié !',
|
||||
password_changed: 'Mot de passe modifié !',
|
||||
updated: '{{target}} mis à jour !',
|
||||
linked: '{{target}} lié !',
|
||||
unlinked: '{{target}} détaché !',
|
||||
email_exists_reminder:
|
||||
'This email {{email}} is associated with an existing account. Link another email here.', // UNTRANSLATED
|
||||
unlink_confirm_text: 'Yes, unlink', // UNTRANSLATED
|
||||
'Cet e-mail {{email}} est associé à un compte existant. Liez un autre e-mail ici.',
|
||||
unlink_confirm_text: 'Oui, détacher',
|
||||
unlink_reminder:
|
||||
'Users will not be able to sign in with the <span></span> account if you unlink it. Are you sure to proceed?', // UNTRANSLATED
|
||||
'Les utilisateurs ne pourront plus se connecter avec le compte <span></span> si vous le détachez. Êtes-vous sûr de vouloir continuer ?',
|
||||
};
|
||||
|
||||
export default profile;
|
||||
|
|
|
@ -1,49 +1,49 @@
|
|||
const role_details = {
|
||||
back_to_roles: 'Back to Roles', // UNTRANSLATED
|
||||
identifier: 'Identifier', // UNTRANSLATED
|
||||
back_to_roles: 'Retour aux rôles',
|
||||
identifier: 'Identificateur',
|
||||
delete_description:
|
||||
'Doing so will remove the permissions associated with this role from the affected users and delete the mapping between roles, users, and permissions.', // UNTRANSLATED
|
||||
role_deleted: '{{name}} was successfully deleted!', // UNTRANSLATED
|
||||
settings_tab: 'Settings', // UNTRANSLATED
|
||||
users_tab: 'Users', // UNTRANSLATED
|
||||
permissions_tab: 'Permissions', // UNTRANSLATED
|
||||
settings: 'Settings', // UNTRANSLATED
|
||||
'Cela supprimera les autorisations associées à ce rôle des utilisateurs concernés et supprimera la correspondance entre les rôles, les utilisateurs et les autorisations.',
|
||||
role_deleted: '{{name}} a été supprimé avec succès!',
|
||||
settings_tab: 'Paramètres',
|
||||
users_tab: 'Utilisateurs',
|
||||
permissions_tab: 'Autorisations',
|
||||
settings: 'Paramètres',
|
||||
settings_description:
|
||||
'Roles are a grouping of permissions that can be assigned to users. They also provide a way to aggregate permissions defined for different APIs, making it more efficient to add, remove, or adjust permissions compared to assigning them individually to users.', // UNTRANSLATED
|
||||
field_name: 'Name', // UNTRANSLATED
|
||||
field_description: 'Description', // UNTRANSLATED
|
||||
"Les rôles sont un regroupement d'autorisations qui peuvent être attribuées aux utilisateurs. Ils fournissent également un moyen d'agréger les autorisations définies pour différentes API, ce qui rend plus efficace l'ajout, la suppression ou l'ajustement des autorisations par rapport à leur attribution individuelle aux utilisateurs.",
|
||||
field_name: 'Nom',
|
||||
field_description: 'Description',
|
||||
permission: {
|
||||
assign_button: 'Assign Permissions', // UNTRANSLATED
|
||||
assign_title: 'Assign permissions', // UNTRANSLATED
|
||||
assign_button: 'Attribuer des autorisations',
|
||||
assign_title: 'Attribuer des autorisations',
|
||||
assign_subtitle:
|
||||
'Assign permissions to this role. The role will gain the added permissions, and users with this role will inherit these permissions.', // UNTRANSLATED
|
||||
assign_form_field: 'Assign permissions', // UNTRANSLATED
|
||||
added_text_one: '{{count, number}} permission added', // UNTRANSLATED
|
||||
added_text_other: '{{count, number}} permissions added', // UNTRANSLATED
|
||||
api_permission_count_one: '{{count, number}} permission', // UNTRANSLATED
|
||||
api_permission_count_other: '{{count, number}} permissions', // UNTRANSLATED
|
||||
confirm_assign: 'Assign Permissions', // UNTRANSLATED
|
||||
permission_assigned: 'The selected permissions were successfully assigned to this role', // UNTRANSLATED
|
||||
'Attribuez des autorisations à ce rôle. Le rôle acquerra les autorisations ajoutées, et les utilisateurs avec ce rôle hériteront de ces autorisations.',
|
||||
assign_form_field: 'Attribuer des autorisations',
|
||||
added_text_one: '{{count, number}} autorisation ajoutée',
|
||||
added_text_other: '{{count, number}} autorisations ajoutées',
|
||||
api_permission_count_one: '{{count, number}} autorisation',
|
||||
api_permission_count_other: '{{count, number}} autorisations',
|
||||
confirm_assign: 'Attribuer des autorisations',
|
||||
permission_assigned: 'Les autorisations sélectionnées ont été attribuées avec succès à ce rôle',
|
||||
deletion_description:
|
||||
'If this permission is removed, the affected user with this role will lose the access granted by this permission.', // UNTRANSLATED
|
||||
permission_deleted: 'The permission "{{name}}" was successfully removed from this role', // UNTRANSLATED
|
||||
empty: 'No permission available', // UNTRANSLATED
|
||||
"Si cette autorisation est supprimée, l'utilisateur concerné ayant ce rôle perdra l'accès accordé par cette autorisation.",
|
||||
permission_deleted: 'L\'autorisation "{{name}}" a été supprimée avec succès de ce rôle',
|
||||
empty: 'Aucune autorisation disponible',
|
||||
},
|
||||
users: {
|
||||
assign_button: 'Assign Users', // UNTRANSLATED
|
||||
name_column: 'User', // UNTRANSLATED
|
||||
app_column: 'App', // UNTRANSLATED
|
||||
latest_sign_in_column: 'Latest sign in', // UNTRANSLATED
|
||||
assign_button: 'Attribuer des utilisateurs',
|
||||
name_column: 'Utilisateur',
|
||||
app_column: 'Application',
|
||||
latest_sign_in_column: 'Dernière connexion',
|
||||
delete_description:
|
||||
'It will remain in your user pool but lose the authorization for this role.', // UNTRANSLATED
|
||||
deleted: '{{name}} was successfully removed from this role', // UNTRANSLATED
|
||||
assign_title: 'Assign users', // UNTRANSLATED
|
||||
"Il restera dans votre pool d'utilisateurs mais perdra l'autorisation pour ce rôle.",
|
||||
deleted: '{{name}} a été supprimé avec succès de ce rôle',
|
||||
assign_title: 'Attribuer des utilisateurs',
|
||||
assign_subtitle:
|
||||
'Assign users to this role. Find appropriate users by searching name, email, phone, or user ID.', // UNTRANSLATED
|
||||
assign_users_field: 'Assign users', // UNTRANSLATED
|
||||
confirm_assign: 'Assign users', // UNTRANSLATED
|
||||
users_assigned: 'The selected users were successfully assigned to this role', // UNTRANSLATED
|
||||
empty: 'No user available', // UNTRANSLATED
|
||||
'Attribuez des utilisateurs à ce rôle. Trouvez les utilisateurs appropriés en recherchant leur nom, leur e-mail, leur numéro de téléphone ou leur ID utilisateur.',
|
||||
assign_users_field: 'Attribuer des utilisateurs',
|
||||
confirm_assign: 'Attribuer des utilisateurs',
|
||||
users_assigned: 'Les utilisateurs sélectionnés ont été attribués avec succès à ce rôle',
|
||||
empty: 'Aucun utilisateur disponible',
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -2,23 +2,23 @@ const roles = {
|
|||
page_title: 'Roles', // UNTRANSLATED
|
||||
title: 'Roles', // UNTRANSLATED
|
||||
subtitle:
|
||||
'Roles include permissions that determine what a user can do. RBAC uses roles to give users access to resources for specific actions.', // UNTRANSLATED
|
||||
create: 'Create Role', // UNTRANSLATED
|
||||
role_name: 'Role', // UNTRANSLATED
|
||||
role_description: 'Description', // UNTRANSLATED
|
||||
role_name_placeholder: 'Enter your role name', // UNTRANSLATED
|
||||
role_description_placeholder: 'Enter your role description', // UNTRANSLATED
|
||||
assigned_users: 'Assigned users', // UNTRANSLATED
|
||||
assign_permissions: 'Assign permissions', // UNTRANSLATED
|
||||
create_role_title: 'Create Role', // UNTRANSLATED
|
||||
"Les rôles incluent des autorisations qui déterminent ce qu'un utilisateur peut faire. RBAC utilise des rôles pour donner aux utilisateurs accès à des ressources pour des actions spécifiques.",
|
||||
create: 'Créer un rôle',
|
||||
role_name: 'Rôle',
|
||||
role_description: 'Description',
|
||||
role_name_placeholder: 'Entrez le nom de votre rôle',
|
||||
role_description_placeholder: 'Entrez la description de votre rôle',
|
||||
assigned_users: 'Utilisateurs assignés',
|
||||
assign_permissions: 'Assigner des autorisations',
|
||||
create_role_title: 'Créer un rôle',
|
||||
create_role_description:
|
||||
'Create and manage roles for your applications. Roles contain collections of permissions and can be assigned to users.', // UNTRANSLATED
|
||||
create_role_button: 'Create Role', // UNTRANSLATED
|
||||
role_created: 'The role {{name}} has been successfully created!', // UNTRANSLATED
|
||||
search: 'Search by role name, description or ID', // UNTRANSLATED
|
||||
placeholder_title: 'Roles', // UNTRANSLATED
|
||||
"Créez et gérez des rôles pour vos applications. Les rôles contiennent des collections d'autorisations et peuvent être assignés aux utilisateurs.",
|
||||
create_role_button: 'Créer un rôle',
|
||||
role_created: 'Le rôle {{name}} a été créé avec succès !',
|
||||
search: 'Rechercher par nom de rôle, description ou ID',
|
||||
placeholder_title: 'Rôles',
|
||||
placeholder_description:
|
||||
'Roles are a grouping of permissions that can be assigned to users. Be sure to add permission first before create roles.', // UNTRANSLATED
|
||||
"Les rôles sont un regroupement d'autorisations qui peuvent être assignées aux utilisateurs. Assurez-vous d'ajouter d'abord des autorisations avant de créer des rôles.",
|
||||
};
|
||||
|
||||
export default roles;
|
||||
|
|
|
@ -8,14 +8,14 @@ const sign_in_exp = {
|
|||
"Personnalisez l'interface utilisateur pour qu'elle corresponde à votre marque et consultez-la en temps réel.",
|
||||
tabs: {
|
||||
branding: 'Image de marque',
|
||||
sign_up_and_sign_in: 'Sign up and Sign in',
|
||||
sign_up_and_sign_in: 'Inscription et connexion',
|
||||
others: 'Autres',
|
||||
},
|
||||
welcome: {
|
||||
title: 'Customize sign-in experience',
|
||||
title: "Personnaliser l'expérience de connexion",
|
||||
description:
|
||||
'Get started fast with your first sign-in setup. This guide walks you through all the necessary settings.',
|
||||
get_started: 'Commencez',
|
||||
'Démarrez rapidement avec la première configuration de connexion. Ce guide vous guide à travers tous les paramètres nécessaires',
|
||||
get_started: 'Commencer',
|
||||
apply_remind:
|
||||
"Veuillez noter que l'expérience de connexion s'appliquera à toutes les applications sous ce compte.",
|
||||
},
|
||||
|
@ -38,47 +38,47 @@ const sign_in_exp = {
|
|||
logo_image_url_placeholder: 'https://votre.domaine.cdn/logo.png',
|
||||
dark_logo_image_url: "URL de l'image du logo de l'application (Sombre)",
|
||||
dark_logo_image_url_placeholder: 'https://votre.domaine.cdn/logo-dark.png',
|
||||
logo_image: 'App logo',
|
||||
dark_logo_image: 'App logo (Dark)',
|
||||
logo_image_error: 'App logo: {{error}}',
|
||||
favicon_error: 'Favicon: {{error}}',
|
||||
logo_image: "Logo de l'application",
|
||||
dark_logo_image: "Logo de l'application (sombre)",
|
||||
logo_image_error: "Logo de l'application : {{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.',
|
||||
title: 'CSS personnalisé',
|
||||
css_code_editor_title: 'Personnalisez votre interface utilisateur avec CSS personnalisé',
|
||||
css_code_editor_description1: 'Voici un exemple de CSS personnalisé.',
|
||||
css_code_editor_description2: '<a>{{link}}</a>',
|
||||
css_code_editor_description_link_content: 'Learn more',
|
||||
css_code_editor_description_link_content: 'En savoir plus',
|
||||
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.',
|
||||
'Entrez votre propre CSS pour adapter les styles de tout élément à vos spécifications exactes. Exprimez votre créativité et faites sortir votre interface utilisateur.',
|
||||
},
|
||||
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"',
|
||||
'Aucun connecteur SMS n\'a été configuré. Avant de terminer la configuration, les utilisateurs ne pourront pas se connecter avec cette méthode. <a>{{link}}</a> dans "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"',
|
||||
'Aucun connecteur d\'email n\'a été configuré. Avant de terminer la configuration, les utilisateurs ne pourront pas se connecter avec cette méthode. <a>{{link}}</a>dans"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"',
|
||||
'Aucun connecteur social n\'a été configuré. Avant de terminer la configuration, les utilisateurs ne pourront pas se connecter avec cette méthode. <a>{{link}}</a> dans "Connectors"',
|
||||
no_added_social_connector:
|
||||
"Vous avez maintenant configuré quelques connecteurs sociaux. Assurez-vous d'en ajouter quelques-uns à votre expérience de connexion.",
|
||||
setup_link: 'Set up',
|
||||
setup_link: 'Configurer',
|
||||
},
|
||||
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?',
|
||||
"Vous implémentez de nouvelles procédures d'inscription et de connexion. Tous vos utilisateurs peuvent être affectés par la nouvelle configuration. Voulez-vous vous engager dans le changement?",
|
||||
before: 'Avant',
|
||||
after: 'Après',
|
||||
sign_up: 'Sign-up',
|
||||
sign_in: 'Sign-in',
|
||||
sign_up: 'Inscription',
|
||||
sign_in: 'Connexion',
|
||||
social: 'Social',
|
||||
},
|
||||
preview: {
|
||||
title: "Aperçu de l'expérience de connexion",
|
||||
live_preview: 'Live preview',
|
||||
live_preview_tip: 'Save to preview changes',
|
||||
live_preview: 'Aperçu en direct',
|
||||
live_preview_tip: 'Enregistrez pour prévisualiser les modifications',
|
||||
native: 'Natif',
|
||||
desktop_web: 'Web ordinateur',
|
||||
mobile_web: 'Web mobile',
|
||||
desktop_web: 'Site web pour ordinateur de bureau',
|
||||
mobile_web: 'Site web mobile',
|
||||
},
|
||||
others,
|
||||
sign_up_and_sign_in,
|
||||
|
|
|
@ -1,47 +1,48 @@
|
|||
const others = {
|
||||
terms_of_use: {
|
||||
title: "CONDITIONS D'UTILISATION",
|
||||
terms_of_use: "Conditions d'utilisation URL",
|
||||
terms_of_use: "URL des conditions d'utilisation",
|
||||
terms_of_use_placeholder: 'https://vos.conditions.utilisation/',
|
||||
privacy_policy: 'Politique de confidentialité URL',
|
||||
privacy_policy: 'URL de la politique de confidentialité',
|
||||
privacy_policy_placeholder: 'https://votre.politique.confidentialite/',
|
||||
},
|
||||
languages: {
|
||||
title: 'LANGAGES',
|
||||
enable_auto_detect: 'Enable auto-detect',
|
||||
title: 'LANGUES',
|
||||
enable_auto_detect: 'Activer la détection automatique',
|
||||
description:
|
||||
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
|
||||
manage_language: 'Manage language',
|
||||
default_language: 'Default language',
|
||||
'Votre logiciel détecte les paramètres régionaux de l’utilisateur et passe à la langue locale. Vous pouvez ajouter de nouvelles langues en traduisant l’IU de l’anglais à une autre langue.',
|
||||
manage_language: 'Gérer la langue',
|
||||
default_language: 'Langue par défaut',
|
||||
default_language_description_auto:
|
||||
'The default language will be used when the detected user language isn’t covered in the current language library.',
|
||||
'La langue par défaut sera utilisée lorsque la langue détectée de l’utilisateur ne figure pas dans la bibliothèque de langues actuelle.',
|
||||
default_language_description_fixed:
|
||||
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
|
||||
"Lorsque la détection automatique est désactivée, la langue par défaut est la seule langue que votre logiciel affichera. Activez la détection automatique pour l'extension de la langue.",
|
||||
},
|
||||
manage_language: {
|
||||
title: 'Manage language',
|
||||
title: 'Gérer la langue',
|
||||
subtitle:
|
||||
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
|
||||
add_language: 'Add Language',
|
||||
logto_provided: 'Logto provided',
|
||||
key: 'Key',
|
||||
logto_source_values: 'Logto source values',
|
||||
custom_values: 'Custom values',
|
||||
clear_all_tip: 'Clear all values',
|
||||
unsaved_description: 'Changes won’t be saved if you leave this page without saving.',
|
||||
deletion_tip: 'Delete the language',
|
||||
deletion_title: 'Do you want to delete the added language?',
|
||||
'Localisez l’expérience produit en ajoutant des langues et des traductions. Votre contribution peut être définie comme langue par défaut.',
|
||||
add_language: 'Ajouter une langue',
|
||||
logto_provided: 'Logto fourni',
|
||||
key: 'Clé',
|
||||
logto_source_values: 'Logto des valeurs source',
|
||||
custom_values: 'Valeurs personnalisées',
|
||||
clear_all_tip: 'Supprimer toutes les valeurs',
|
||||
unsaved_description:
|
||||
'Les modifications ne seront pas enregistrées si vous quittez cette page sans enregistrer.',
|
||||
deletion_tip: 'Supprimer la langue',
|
||||
deletion_title: 'Voulez-vous supprimer la langue ajoutée ?',
|
||||
deletion_description:
|
||||
'After deletion, your users won’t be able to browse in that language again.',
|
||||
default_language_deletion_title: 'Default language can’t be deleted.',
|
||||
'Après suppression, vos utilisateurs ne pourront plus naviguer dans cette langue.',
|
||||
default_language_deletion_title: 'La langue par défaut ne peut pas être supprimée.',
|
||||
default_language_deletion_description:
|
||||
'{{language}} is set as your default language and can’t be deleted. ',
|
||||
'{{language}} est défini comme votre langue par défaut et ne peut pas être supprimé.',
|
||||
},
|
||||
advanced_options: {
|
||||
title: 'OPTIONS AVANCÉES',
|
||||
enable_user_registration: 'Enable user registration',
|
||||
enable_user_registration: 'Activer l’enregistrement des utilisateurs',
|
||||
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.',
|
||||
'Autoriser ou interdire l’enregistrement des utilisateurs. Une fois désactivé, les utilisateurs peuvent toujours être ajoutés dans la console d’administration mais les utilisateurs ne peuvent plus établir de comptes via l’IU de connexion.',
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -1,57 +1,60 @@
|
|||
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',
|
||||
identifiers_email: 'Adresse e-mail',
|
||||
identifiers_phone: 'Numéro de téléphone',
|
||||
identifiers_username: 'Nom d’utilisateur',
|
||||
identifiers_email_or_sms: 'Adresse e-mail ou numéro de téléphone',
|
||||
identifiers_none: 'Non applicable',
|
||||
and: 'et',
|
||||
or: 'ou',
|
||||
sign_up: {
|
||||
title: 'SIGN UP',
|
||||
sign_up_identifier: 'Sign-up identifier',
|
||||
title: 'INSCRIPTION',
|
||||
sign_up_identifier: 'Identificateur d’inscription',
|
||||
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',
|
||||
'L’identificateur d’inscription est nécessaire pour la création de compte et doit être inclus dans vote écran de connexion.',
|
||||
sign_up_authentication: 'Paramètres d’authentification pour l’inscription',
|
||||
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)',
|
||||
'Toutes les actions sélectionnées seront obligatoires pour que les utilisateurs terminent le processus d’inscription.',
|
||||
set_a_password_option: 'Créer votre mot de passe',
|
||||
verify_at_sign_up_option: 'Vérifier lors de l’inscription',
|
||||
social_only_creation_description:
|
||||
'(Ceci s’applique à la création de compte uniquement via un réseau social)',
|
||||
},
|
||||
sign_in: {
|
||||
title: 'SIGN IN',
|
||||
sign_in_identifier_and_auth: 'Identifier and authentication settings for sign-in',
|
||||
title: 'CONNEXION',
|
||||
sign_in_identifier_and_auth:
|
||||
'Identificateurs et paramètres d’authentification pour la connexion',
|
||||
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.',
|
||||
'Les utilisateurs peuvent se connecter en utilisant n’importe quelle option disponible. Ajustez la mise en page en faisant glisser et en déposant les options ci-dessous.',
|
||||
add_sign_in_method: 'Ajouter une méthode de connexion',
|
||||
password_auth: 'Mot de passe',
|
||||
verification_code_auth: 'Code de vérification',
|
||||
auth_swap_tip:
|
||||
'Echangez les options ci-dessous pour déterminer celle qui apparait en premier dans le processus.',
|
||||
require_auth_factor: 'Vous devez sélectionner au moins un élément d’authentification.',
|
||||
},
|
||||
social_sign_in: {
|
||||
title: 'SOCIAL SIGN-IN',
|
||||
social_sign_in: 'Social sign-in',
|
||||
title: 'CONNEXION VIA RÉSEAU SOCIAL',
|
||||
social_sign_in: 'Connexion via réseau social',
|
||||
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',
|
||||
'Selon l’identificateur obligatoire que vous avez mis en place, votre utilisateur peut être invité à fournir un identificateur lors de l’inscription via un réseau social.',
|
||||
add_social_connector: 'Ajouter un connecteur social',
|
||||
set_up_hint: {
|
||||
not_in_list: 'Not in the list?',
|
||||
set_up_more: 'Set up',
|
||||
go_to: 'other social connectors now.',
|
||||
not_in_list: 'Pas dans la liste?',
|
||||
set_up_more: 'Configurer',
|
||||
go_to: 'd’autres connecteurs sociaux maintenant.',
|
||||
},
|
||||
},
|
||||
tip: {
|
||||
set_a_password: 'A unique set of a password to your username is a must.',
|
||||
set_a_password:
|
||||
'Un ensemble unique de mot de passe pour votre nom d’utilisateur est essentiel.',
|
||||
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.',
|
||||
'Nous ne prenons actuellement en charge que les adresses e-mail vérifiée. Votre base utilisateur peut contenir un grand nombre d’adresses e-mail de mauvaise qualité s’il n’y a pas de validation.',
|
||||
password_auth:
|
||||
'This is essential as you have enabled the option to set a password during the sign-up process.',
|
||||
'Ceci est essentiel car vous avez activé l’option de configuration d’un mot de passe au cours du processus d’inscription.',
|
||||
verification_code_auth:
|
||||
'This is essential as you have only enabled the option to provide verification code when signing up. You’re free to uncheck the box when password set-up is allowed at the sign-up process.',
|
||||
'Ceci est essentiel car vous avez uniquement activé l’option de fourniture d’un code de vérification lors de l’inscription. Vous pouvez décocher la case lorsque la configuration d’un mot de passe est autorisée lors du processus d’inscription.',
|
||||
delete_sign_in_method:
|
||||
'This is essential as you have selected {{identifier}} as a required identifier.',
|
||||
'Ceci est essentiel car vous avez sélectionné {{identifier}} comme identificateur requis.',
|
||||
},
|
||||
};
|
||||
|
||||
export default sign_up_and_sign_in;
|
||||
|
|
|
@ -2,7 +2,7 @@ const tab_sections = {
|
|||
overview: "Vue d'ensemble",
|
||||
resource_management: 'Gestion des ressources',
|
||||
user_management: 'Gestion des utilisateurs',
|
||||
access_control: 'Access Control', // UNTRANSLATED
|
||||
access_control: "Contrôle d'accès", // NON TRADUIT
|
||||
help_and_support: 'Aide et support',
|
||||
};
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ const tabs = {
|
|||
connectors: 'Connecteurs',
|
||||
users: 'Gestion des utilisateurs',
|
||||
audit_logs: "Journaux d'audit",
|
||||
roles: 'Roles', // UNTRANSLATED
|
||||
roles: 'Roles',
|
||||
docs: 'Documentation',
|
||||
contact_us: 'Contactez nous',
|
||||
settings: 'Paramètres',
|
||||
|
|
|
@ -17,12 +17,12 @@ const user_details = {
|
|||
congratulations: 'Cet utilisateur a été réinitialisé',
|
||||
new_password: 'Nouveau mot de passe :',
|
||||
},
|
||||
tab_settings: 'Settings', // UNTRANSLATED
|
||||
tab_roles: 'Roles', // UNTRANSLATED
|
||||
tab_settings: 'Paramètres',
|
||||
tab_roles: 'Rôles',
|
||||
tab_logs: "Journaux de l'utilisateur",
|
||||
settings: 'Settings', // UNTRANSLATED
|
||||
settings: 'Paramètres',
|
||||
settings_description:
|
||||
'Each user has a profile containing all user information. It consists of basic data, social identities, and custom data.', // UNTRANSLATED
|
||||
"Chaque utilisateur possède un profil contenant toutes les informations le concernant. Il se compose de données de base, d'identités sociales et de données personnalisées.",
|
||||
field_email: 'Email principale',
|
||||
field_phone: 'Téléphone principal',
|
||||
field_username: "Nom d'utilisateur",
|
||||
|
@ -42,24 +42,24 @@ const user_details = {
|
|||
deletion_confirmation:
|
||||
"Vous supprimez l'identité existante <nom/>. Etes-vous sûr de vouloir faire ça ?",
|
||||
},
|
||||
suspended: 'Suspended', // UNTRANSLATED
|
||||
suspended: 'Suspendu',
|
||||
roles: {
|
||||
name_column: 'Role', // UNTRANSLATED
|
||||
description_column: 'Description', // UNTRANSLATED
|
||||
assign_button: 'Assign Roles', // UNTRANSLATED
|
||||
name_column: 'Rôle',
|
||||
description_column: 'Description',
|
||||
assign_button: 'Attribuer des rôles',
|
||||
delete_description:
|
||||
'This action will remove this role from this user. The role itself will still exist, but it will no longer be associated with this user.', // UNTRANSLATED
|
||||
deleted: '{{name}} was successfully removed from this user.', // UNTRANSLATED
|
||||
assign_title: 'Assign roles to {{name}}', // UNTRANSLATED
|
||||
assign_subtitle: 'Authorize {{name}} one or more roles', // UNTRANSLATED
|
||||
assign_role_field: 'Assign roles', // UNTRANSLATED
|
||||
role_search_placeholder: 'Search by role name', // UNTRANSLATED
|
||||
added_text: '{{value, number}} added', // UNTRANSLATED
|
||||
assigned_user_count: '{{value, number}} users', // UNTRANSLATED
|
||||
confirm_assign: 'Assign roles', // UNTRANSLATED
|
||||
role_assigned: 'Successfully assigned role(s)', // UNTRANSLATED
|
||||
search: 'Search by role name, description or ID', // UNTRANSLATED
|
||||
empty: 'No role available', // UNTRANSLATED
|
||||
'Cette action supprimera ce rôle de cet utilisateur. Le rôle lui-même existera toujours, mais il ne sera plus associé à cet utilisateur.',
|
||||
deleted: '{{name}} a été retiré de cet utilisateur.',
|
||||
assign_title: 'Attribuer des rôles à {{name}}',
|
||||
assign_subtitle: 'Autoriser {{name}} un ou plusieurs rôles',
|
||||
assign_role_field: 'Attribuer des rôles',
|
||||
role_search_placeholder: 'Recherche par nom de rôle',
|
||||
added_text: '{{value, number}} ajouté',
|
||||
assigned_user_count: '{{value, number}} utilisateurs',
|
||||
confirm_assign: 'Attribuer des rôles',
|
||||
role_assigned: 'Rôle(s) attribué(s) avec succès',
|
||||
search: 'Recherche par nom de rôle, description ou ID',
|
||||
empty: 'Aucun rôle disponible',
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -11,11 +11,11 @@ const users = {
|
|||
create_form_password: 'Mot de passe',
|
||||
create_form_name: 'Nom complet',
|
||||
unnamed: 'Sans nom',
|
||||
search: 'Search by name, email, phone or username', // UNTRANSLATED
|
||||
check_user_detail: 'Check user detail', // UNTRANSLATED
|
||||
placeholder_title: 'User management', // UNTRANSLATED
|
||||
search: "Rechercher par nom, email, téléphone ou nom d'utilisateur",
|
||||
check_user_detail: "Vérifier les détails de l'utilisateur",
|
||||
placeholder_title: 'Gestion des utilisateurs',
|
||||
placeholder_description:
|
||||
'Each user has a profile containing all user information. It consists of basic data, social identities, and custom data.', // UNTRANSLATED
|
||||
"Chaque utilisateur a un profil contenant toutes les informations sur l'utilisateur. Il est composé de données de base, d'identités sociales et de données personnalisées.",
|
||||
};
|
||||
|
||||
export default users;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
const demo_app = {
|
||||
title: "You've successfully signed in the live preview!", // UNTRANSLATED
|
||||
title: "Vous vous êtes connecté avec succès à l'aperçu en direct !",
|
||||
subtitle: 'Voici vos informations de connexion :',
|
||||
username: "Nom d'utilisateur : ",
|
||||
username: "Nom d'utilisateur :",
|
||||
user_id: "ID de l'utilisateur :",
|
||||
sign_out: 'Sign Out the Live Preview', // UNTRANSLATED
|
||||
sign_out: "Se déconnecter de l'aperçu en direct",
|
||||
continue_explore: 'Ou continuer à explorer',
|
||||
customize_sign_in_experience: "Personnaliser l'expérience de connexion",
|
||||
enable_passwordless: 'Activer la fonction sans mot de passe',
|
||||
enable_passwordless: 'Activer la connexion sans mot de passe',
|
||||
add_social_connector: 'Ajouter un connecteur social',
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const oidc = {
|
||||
logout_success: 'You have successfully signed out.', // UNTRANSLATED
|
||||
logout_success: 'Vous vous êtes déconnecté avec succès.',
|
||||
};
|
||||
|
||||
export default oidc;
|
||||
|
|
|
@ -30,7 +30,7 @@ const applications = {
|
|||
description: '例:Next.js、PHP',
|
||||
},
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle: 'リソースに直接アクセスするアプリケーション(通常はサービス)',
|
||||
description: '例:バックエンドサービス',
|
||||
},
|
||||
|
|
|
@ -2,7 +2,7 @@ const applications = {
|
|||
page_title: '어플리케이션',
|
||||
title: '어플리케이션',
|
||||
subtitle:
|
||||
'인증에 Logto를 사용할 모바일, 단일 페이지, Machine to Machine 또는 기존 어플리케이션을 설정할 수 있어요.',
|
||||
'인증에 Logto를 사용할 모바일, 단일 페이지, Machine-to-Machine 또는 기존 어플리케이션을 설정할 수 있어요.',
|
||||
create: '어플리케이션 생성',
|
||||
application_name: '어플리케이션 이름',
|
||||
application_name_placeholder: '나의 앱',
|
||||
|
@ -30,7 +30,7 @@ const applications = {
|
|||
description: '예) JSP, PHP',
|
||||
},
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle: '직접 리소스에 접근하는 엡(서비스)',
|
||||
description: '예) 백엔드 서비스',
|
||||
},
|
||||
|
|
|
@ -11,7 +11,7 @@ const get_started = {
|
|||
check_preview_subtitle: 'Logto 로그인 경험을 체험해 보세요.',
|
||||
integration_title: '애플리케이션 생성하고 통합하기',
|
||||
integration_subtitle:
|
||||
'당신의 네이티브, 싱글 페이지, Machine to Machine, 또는 정적 애플리케이션에 Logto 인증을 설정하세요',
|
||||
'당신의 네이티브, 싱글 페이지, Machine-to-Machine, 또는 정적 애플리케이션에 Logto 인증을 설정하세요',
|
||||
custom_sie_title: '로그인 경험 사용자화',
|
||||
custom_sie_subtitle: '고급 설정으로 다양한 시나리오를 잠금 해제하세요',
|
||||
passwordless_title: '자체 연동을 추가하여 비밀번호 없는 로그인 구축하기',
|
||||
|
|
|
@ -31,7 +31,7 @@ const applications = {
|
|||
description: 'Ex: Next.js, PHP',
|
||||
},
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle: 'Um aplicativo (geralmente um serviço) que fala diretamente com os recursos',
|
||||
description: 'Ex: Backend service',
|
||||
},
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import others from './others.js';
|
||||
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
|
||||
|
||||
// UNTRANSLATED
|
||||
const sign_in_exp = {
|
||||
page_title: 'Experiência de login',
|
||||
title: 'Experiência de login',
|
||||
|
|
|
@ -31,7 +31,7 @@ const applications = {
|
|||
},
|
||||
// UNTRANSLATED
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle: 'An app (usually a service) that directly talks to resources',
|
||||
description: 'E.g., Backend service',
|
||||
},
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import others from './others.js';
|
||||
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
|
||||
|
||||
// UNTRANSLATED
|
||||
const sign_in_exp = {
|
||||
page_title: 'Experiência de login',
|
||||
title: 'Experiência de login',
|
||||
|
@ -8,7 +9,7 @@ const sign_in_exp = {
|
|||
'Personalize a interface de login para corresponder a sua marca e visualize em tempo real',
|
||||
tabs: {
|
||||
branding: 'Marca',
|
||||
sign_up_and_sign_in: 'Sign up and Sign in',
|
||||
sign_up_and_sign_in: 'Sign-up and Sign-in',
|
||||
others: 'Outros',
|
||||
},
|
||||
welcome: {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// UNTRANSLATED
|
||||
const others = {
|
||||
terms_of_use: {
|
||||
title: 'TERMOS DE USO',
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// UNTRANSLATED
|
||||
const sign_up_and_sign_in = {
|
||||
identifiers_email: 'Email address',
|
||||
identifiers_phone: 'Phone number',
|
||||
|
|
|
@ -32,7 +32,7 @@ const applications = {
|
|||
},
|
||||
// UNTRANSLATED
|
||||
machine_to_machine: {
|
||||
title: 'Machine to Machine',
|
||||
title: 'Machine-to-Machine',
|
||||
subtitle: 'An app (usually a service) that directly talks to resources',
|
||||
description: 'E.g., Backend service',
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@ const sign_in_exp = {
|
|||
'Oturum açma kullanıcı arayüzünü markanıza uyacak şekilde özelleştirin ve gerçek zamanlı olarak görüntüleyin',
|
||||
tabs: {
|
||||
branding: 'Markalaşma',
|
||||
sign_up_and_sign_in: 'Sign up and Sign in',
|
||||
sign_up_and_sign_in: 'Sign-up and Sign-in',
|
||||
others: 'Diğerleri',
|
||||
},
|
||||
welcome: {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// UNTRANSLATED
|
||||
const others = {
|
||||
terms_of_use: {
|
||||
title: 'KULLANIM KOŞULLARI',
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// UNTRANSLATED
|
||||
const sign_up_and_sign_in = {
|
||||
identifiers_email: 'Email address',
|
||||
identifiers_phone: 'Phone number',
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
import { SignInIdentifier } from '@logto/schemas';
|
||||
import i18next from 'i18next';
|
||||
import type { TFuncKey } from 'react-i18next';
|
||||
|
||||
import { getSignInExperience } from '@/apis/settings';
|
||||
import defaultAppleTouchLogo from '@/assets/apple-touch-icon.png';
|
||||
|
@ -36,16 +35,17 @@ export const isEmailOrPhoneMethod = (
|
|||
[SignInIdentifier.Email, SignInIdentifier.Phone].includes(method);
|
||||
|
||||
export const parseHtmlTitle = (path: string) => {
|
||||
// Will update soon, remove generic of `.t()` to unblock
|
||||
if (path.startsWith('/sign-in') || path.startsWith('/callback') || path.startsWith('/consent')) {
|
||||
return i18next.t<'translation', TFuncKey>('description.sign_in');
|
||||
return i18next.t('description.sign_in');
|
||||
}
|
||||
|
||||
if (path.startsWith('/register') || path.startsWith('/social/link')) {
|
||||
return i18next.t<'translation', TFuncKey>('description.create_account');
|
||||
return i18next.t('description.create_account');
|
||||
}
|
||||
|
||||
if (path.startsWith('/forgot-password')) {
|
||||
return i18next.t<'translation', TFuncKey>('description.reset_password');
|
||||
return i18next.t('description.reset_password');
|
||||
}
|
||||
|
||||
// Return undefined for all continue flow pages to keep title remain the same as the previous page
|
||||
|
|
Loading…
Add table
Reference in a new issue