i18n: add French (fr) locale

This commit is contained in:
Benoît Eveillard
2025-12-22 09:46:28 +01:00
parent 451dd0327f
commit 489c465599
3 changed files with 48 additions and 0 deletions
+2
View File
@@ -2,6 +2,7 @@ import type {Language} from './languages.js';
// Static imports for all translation files
import enTranslations from './locales/en.json' with {type: 'json'};
import nlTranslations from './locales/nl.json' with {type: 'json'};
import frTranslations from './locales/fr.json' with {type: 'json'};
export {
SUPPORTED_LANGUAGES,
@@ -29,6 +30,7 @@ export interface Translations {
const translationsMap: Record<string, Translations> = {
en: enTranslations,
nl: nlTranslations,
fr: frTranslations,
};
// In-memory cache for loaded translations
+1
View File
@@ -8,6 +8,7 @@ export interface Language {
export const SUPPORTED_LANGUAGES: Language[] = [
{code: 'en', name: 'English', nativeName: 'English', flag: '🇺🇸'},
{code: 'nl', name: 'Dutch', nativeName: 'Nederlands', flag: '🇳🇱'},
{code: 'fr', name: 'French', nativeName: 'Français', flag: '🇫🇷'},
];
export const DEFAULT_LANGUAGE = 'en';
+45
View File
@@ -0,0 +1,45 @@
{
"pages": {
"unsubscribe": {
"title": "Se désabonner",
"description": "Nous sommes désolés de vous voir partir. Êtes-vous sûr de vouloir désabonner {email} de la réception des e-mails ?",
"button": "Se désabonner",
"buttonLoading": "Désabonnement en cours...",
"managePreferences": "Gérer les préférences",
"successTitle": "Vous êtes désabonné",
"successDescription": "{email} a été désabonné. Vous ne recevrez plus nos e-mails.",
"changedMind": "Vous avez changé davis ?",
"subscribeAgain": "Se réabonner"
},
"subscribe": {
"title": "Sabonner aux mises à jour",
"description": "Souhaitez-vous abonner {email} pour recevoir des e-mails ?",
"button": "Sabonner",
"buttonLoading": "Abonnement en cours...",
"successTitle": "Vous êtes abonné !",
"successDescription": "{email} est maintenant abonné pour recevoir nos e-mails."
},
"manage": {
"title": "Gérer les préférences",
"description": "Gérez les préférences e-mail pour {email}",
"subscriptionLabel": "Abonnement e-mail",
"subscribedStatus": "Vous êtes actuellement abonné",
"unsubscribedStatus": "Vous êtes actuellement désabonné",
"subscribedSuccess": "Abonné avec succès !",
"unsubscribedSuccess": "Désabonné avec succès !",
"unsubscribeCompletely": "Se désabonner complètement",
"subscribeToEmails": "Sabonner aux e-mails",
"disclaimer": "Cette page vous permet de gérer vos préférences e-mail. Votre statut dabonnement est mis à jour en temps réel."
},
"common": {
"loading": "Chargement...",
"error": "Erreur"
}
},
"email": {
"footer": {
"unsubscribeText": "Vous recevez cet e-mail parce que vous avez accepté de recevoir des e-mails de la part de {projectName}. Si vous ne souhaitez plus recevoir de-mails de ce type, veuillez",
"updatePreferences": "mettre à jour vos préférences"
}
}
}