Skip to content

Commit 47454b6

Browse files
Merge pull request #188 from lemeurherve/issue156-add-fr-translation
2 parents 63110da + 5ca5faf commit 47454b6

File tree

3 files changed

+167
-0
lines changed

3 files changed

+167
-0
lines changed

.changeset/breezy-masks-greet.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@asgardeo/i18n': minor
3+
---
4+
5+
chore: add `Français - fr-FR` language support
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
/**
2+
* Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
3+
*
4+
* WSO2 LLC. licenses this file to you under the Apache License,
5+
* Version 2.0 (the "License"); you may not use this file except
6+
* in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing,
12+
* software distributed under the License is distributed on an
13+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
* KIND, either express or implied. See the License for the
15+
* specific language governing permissions and limitations
16+
* under the License.
17+
*/
18+
19+
/* eslint-disable sort-keys */
20+
/* eslint-disable @typescript-eslint/naming-convention */
21+
22+
import {I18nTranslations, I18nMetadata, I18nBundle} from '../models/i18n';
23+
24+
const translations: I18nTranslations = {
25+
/* |---------------------------------------------------------------| */
26+
/* | Elements | */
27+
/* |---------------------------------------------------------------| */
28+
29+
/* Buttons */
30+
'elements.buttons.signIn': 'Se connecter',
31+
'elements.buttons.signOut': 'Se déconnecter',
32+
'elements.buttons.signUp': "S'inscrire",
33+
'elements.buttons.facebook': 'Continuer avec Facebook',
34+
'elements.buttons.google': 'Continuer avec Google',
35+
'elements.buttons.github': 'Continuer avec GitHub',
36+
'elements.buttons.microsoft': 'Continuer avec Microsoft',
37+
'elements.buttons.linkedin': 'Continuer with LinkedIn',
38+
'elements.buttons.ethereum': 'Continuer avec Sign In Ethereum',
39+
'elements.buttons.multi.option': 'Continuer avec {connection}',
40+
'elements.buttons.social': 'Continuer avec {connection}',
41+
42+
/* Fields */
43+
'elements.fields.placeholder': 'Entrez votre {field}',
44+
45+
/* |---------------------------------------------------------------| */
46+
/* | Widgets | */
47+
/* |---------------------------------------------------------------| */
48+
49+
/* Base Sign In */
50+
'signin.title': 'Se connecter',
51+
'signin.subtitle': 'Entrez vos identifiants pour continuer.',
52+
53+
/* Base Sign Up */
54+
'signup.title': "S'inscrire",
55+
'signup.subtitle': 'Créez un nouveau compte pour commencer.',
56+
57+
/* Email OTP */
58+
'email.otp.title': 'Vérification OTP',
59+
'email.otp.subtitle': 'Entrez le code envoyé à votre adresse e-mail.',
60+
'email.otp.submit.button': 'Continuer',
61+
62+
/* Identifier First */
63+
'identifier.first.title': 'Se connecter',
64+
'identifier.first.subtitle': "Entrez votre nom d'utilisateur ou votre adresse e-mail.",
65+
'identifier.first.submit.button': 'Continuer',
66+
67+
/* SMS OTP */
68+
'sms.otp.title': 'Vérification OTP',
69+
'sms.otp.subtitle': 'Entrez le code envoyé à votre numéro de téléphone.',
70+
'sms.otp.submit.button': 'Continuer',
71+
72+
/* TOTP */
73+
'totp.title': 'Vérifiez votre identité',
74+
'totp.subtitle': "Entrez le code de votre application d'authentification.",
75+
'totp.submit.button': 'Continuer',
76+
77+
/* Username Password */
78+
'username.password.submit.button': 'Continuer',
79+
'username.password.title': 'Se connecter',
80+
'username.password.subtitle': "Entrez votre nom d'utilisateur et votre mot de passe pour continuer.",
81+
82+
/* |---------------------------------------------------------------| */
83+
/* | User Profile | */
84+
/* |---------------------------------------------------------------| */
85+
86+
'user.profile.title': 'Profil',
87+
'user.profile.update.generic.error':
88+
'Une erreur est survenue lors de la mise à jour de votre profil. Veuillez réessayer.',
89+
90+
/* |---------------------------------------------------------------| */
91+
/* | Organization Switcher | */
92+
/* |---------------------------------------------------------------| */
93+
94+
'organization.switcher.select.organization': "Sélectionner l'organisation",
95+
'organization.switcher.switch.organization': "Changer d'organisation",
96+
'organization.switcher.loading.organizations': 'Chargement des organisations...',
97+
'organization.switcher.members': 'membres',
98+
'organization.switcher.member': 'membre',
99+
'organization.switcher.create.organization': 'Créer une organisation',
100+
'organization.switcher.manage.organizations': 'Gérer les organisations',
101+
'organization.switcher.manage.button': 'Gérer',
102+
'organization.switcher.organizations.title': 'Organisations',
103+
'organization.switcher.switch.button': 'Changer',
104+
'organization.switcher.no.access': 'Aucun accès',
105+
'organization.switcher.status.label': 'Statut:',
106+
'organization.switcher.showing.count': 'Affichage de {showing} sur {total} organisations',
107+
'organization.switcher.refresh.button': 'Rafraîchir',
108+
'organization.switcher.load.more': "Charger plus d'organisations",
109+
'organization.switcher.loading.more': 'Chargement...',
110+
'organization.switcher.no.organizations': 'Aucune organisation trouvée',
111+
'organization.switcher.error.prefix': 'Erreur:',
112+
'organization.profile.title': "Profil de l'organisation",
113+
'organization.profile.loading': "Chargement de l'organisation...",
114+
'organization.profile.error': "Échec du chargement de l'organisation",
115+
116+
'organization.create.title': 'Créer une organisation',
117+
'organization.create.name.label': "Nom de l'organisation",
118+
'organization.create.name.placeholder': "Entrez le nom de l'organisation",
119+
'organization.create.handle.label': "Identifiant de l'organisation",
120+
'organization.create.handle.placeholder': 'mon-organisation',
121+
'organization.create.description.label': 'Description',
122+
'organization.create.description.placeholder': "Entrez la description de l'organisation",
123+
'organization.create.button': 'Créer une organisation',
124+
'organization.create.creating': 'Création en cours...',
125+
'organization.create.cancel': 'Annuler',
126+
127+
/* |---------------------------------------------------------------| */
128+
/* | Messages | */
129+
/* |---------------------------------------------------------------| */
130+
131+
'messages.loading': 'Chargement...',
132+
133+
/* |---------------------------------------------------------------| */
134+
/* | Errors | */
135+
/* |---------------------------------------------------------------| */
136+
137+
'errors.title': 'Erreur',
138+
'errors.sign.in.initialization': "Une erreur est survenue lors de l'initialisation. Veuillez réessayer plus tard.",
139+
'errors.sign.in.flow.failure': 'Une erreur est survenue lors du flux de connexion. Veuillez réessayer plus tard.',
140+
'errors.sign.in.flow.completion.failure':
141+
'Une erreur est survenue lors de la finalisation du flux de connexion. Veuillez réessayer plus tard.',
142+
'errors.sign.in.flow.passkeys.failure':
143+
"Une erreur est survenue lors de la connexion avec les clefs d'accès. Veuillez réessayer plus tard.",
144+
'errors.sign.in.flow.passkeys.completion.failure':
145+
"Une erreur est survenue lors de la finalisation du flux de connexion avec les clefs d'accès. Veuillez réessayer plus tard.",
146+
};
147+
148+
const metadata: I18nMetadata = {
149+
localeCode: 'fr-FR',
150+
countryCode: 'FR',
151+
languageCode: 'fr',
152+
displayName: 'Français (France)',
153+
direction: 'ltr',
154+
};
155+
156+
const fr_FR: I18nBundle = {
157+
metadata,
158+
translations,
159+
};
160+
161+
export default fr_FR;

packages/i18n/src/translations/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@
1717
*/
1818

1919
export {default as en_US} from './en-US';
20+
export {default as fr_FR} from './fr-FR';
2021
export {default as hi_IN} from './hi-IN';

0 commit comments

Comments
 (0)