0
Fork 0
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:
Gao Sun 2023-03-29 18:35:18 +08:00
parent 026b9b92a0
commit e9e8a6e11e
No known key found for this signature in database
GPG key ID: 13EBE123E4773688
47 changed files with 509 additions and 466 deletions

View file

@ -0,0 +1,6 @@
---
"@logto/phrases": patch
"@logto/phrases-ui": patch
---
update fr translation

View file

@ -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);
},
};

View file

@ -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;

View file

@ -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',
},

View file

@ -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: {

View file

@ -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
},
};

View file

@ -1,3 +1,4 @@
// UNTRANSLATED
const sign_up_and_sign_in = {
identifiers_email: 'Email address',
identifiers_phone: 'Phone number',

View file

@ -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',
},

View file

@ -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: {

View file

@ -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 resources 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 !',
},
};

View file

@ -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.',
};

View file

@ -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;

View file

@ -3,113 +3,117 @@ const cloud = {
page_title: 'Welcome', // UNTRANSLATED
title: 'Welcome and lets create your own Logto Cloud Preview', // UNTRANSLATED
description:
'Whether youre 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: 'Im 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: 'Jutilise 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:
'Lets 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: 'Hows 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: 'Im 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:
'Dont 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: 'Lets 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 youve 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.',
},
};

View file

@ -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;)}}.",
},
};

View file

@ -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;

View file

@ -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: 'Youve 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 hasnt 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 connectors 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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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',

View file

@ -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;

View file

@ -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 its 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;

View file

@ -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',
},
};

View file

@ -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;

View file

@ -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,

View file

@ -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 lutilisateur et passe à la langue locale. Vous pouvez ajouter de nouvelles langues en traduisant lIU de langlais à 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 isnt covered in the current language library.',
'La langue par défaut sera utilisée lorsque la langue détectée de lutilisateur 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 wont 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 lexpé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 wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant 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 cant 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 lenregistrement 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 lenregistrement des utilisateurs. Une fois désactivé, les utilisateurs peuvent toujours être ajoutés dans la console dadministration mais les utilisateurs ne peuvent plus établir de comptes via lIU de connexion.',
},
};

View file

@ -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 dutilisateur',
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 dinscription',
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',
'Lidentificateur dinscription est nécessaire pour la création de compte et doit être inclus dans vote écran de connexion.',
sign_up_authentication: 'Paramètres dauthentification pour linscription',
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 dinscription.',
set_a_password_option: 'Créer votre mot de passe',
verify_at_sign_up_option: 'Vérifier lors de linscription',
social_only_creation_description:
'(Ceci sapplique à 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 dauthentification 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 nimporte 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 dauthentification.',
},
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 lidentificateur obligatoire que vous avez mis en place, votre utilisateur peut être invité à fournir un identificateur lors de linscription 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: 'dautres 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 dutilisateur 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 dadresses e-mail de mauvaise qualité sil ny 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é loption de configuration dun mot de passe au cours du processus dinscription.',
verification_code_auth:
'This is essential as you have only enabled the option to provide verification code when signing up. Youre free to uncheck the box when password set-up is allowed at the sign-up process.',
'Ceci est essentiel car vous avez uniquement activé loption de fourniture dun code de vérification lors de linscription. Vous pouvez décocher la case lorsque la configuration dun mot de passe est autorisée lors du processus dinscription.',
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;

View file

@ -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',
};

View file

@ -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',

View file

@ -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',
},
};

View file

@ -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;

View file

@ -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',
};

View file

@ -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;

View file

@ -30,7 +30,7 @@ const applications = {
description: '例Next.js、PHP',
},
machine_to_machine: {
title: 'Machine to Machine',
title: 'Machine-to-Machine',
subtitle: 'リソースに直接アクセスするアプリケーション(通常はサービス)',
description: '例:バックエンドサービス',
},

View file

@ -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: '예) 백엔드 서비스',
},

View file

@ -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: '자체 연동을 추가하여 비밀번호 없는 로그인 구축하기',

View file

@ -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',
},

View file

@ -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',

View file

@ -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',
},

View file

@ -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: {

View file

@ -1,3 +1,4 @@
// UNTRANSLATED
const others = {
terms_of_use: {
title: 'TERMOS DE USO',

View file

@ -1,3 +1,4 @@
// UNTRANSLATED
const sign_up_and_sign_in = {
identifiers_email: 'Email address',
identifiers_phone: 'Phone number',

View file

@ -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',
},

View file

@ -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: {

View file

@ -1,3 +1,4 @@
// UNTRANSLATED
const others = {
terms_of_use: {
title: 'KULLANIM KOŞULLARI',

View file

@ -1,3 +1,4 @@
// UNTRANSLATED
const sign_up_and_sign_in = {
identifiers_email: 'Email address',
identifiers_phone: 'Phone number',

View file

@ -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