瀏覽代碼

Fix the translation to fr-FR (Closes #369) (#371)

* fix: rename fr.json to fr-FR.json
* fix: the translation mistakes in fr-FR.json
* fix: added french language to system

Co-authored-by: MikeWallaceDev <[email protected]>
Mehdi Bertul 3 年之前
父節點
當前提交
f8f77db79b

+ 37 - 37
frontend/app_flowy/assets/translations/fr.json → frontend/app_flowy/assets/translations/fr-FR.json

@@ -1,44 +1,44 @@
 {
   "appName": "AppFlowy",
   "defaultUsername": "Moi",
-  "welcomeText": "Bienvenue à @:appName",
-  "githubStarText": "Favorier sur GitHub",
-  "subscribeNewsletterText": "S'inscrire à la Bulletin",
+  "welcomeText": "Bienvenue sur @:appName",
+  "githubStarText": "Favoriser sur GitHub",
+  "subscribeNewsletterText": "S'inscrire à la Newsletter",
   "letsGoButtonText": "Allons-y",
   "title": "Titre",
   "signUp": {
     "buttonText": "S'inscrire",
-    "title": "Inscrivez-vous pour @:appName",
+    "title": "Inscrivez-vous sur @:appName",
     "getStartedText": "Commencer",
-    "emptyPasswordError": "Mot de passe ne peut pas être vide",
-    "repeatPasswordEmptyError": "Le mot de passe de répétition ne peut pas être vide",
-    "unmatchedPasswordError": "Le mot de passe de répétition n'est pas le même que le mot de passe",
-    "alreadyHaveAnAccount": "Vous avez déjà un compte?",
+    "emptyPasswordError": "Vous n'avez pas saisi votre mot de passe",
+    "repeatPasswordEmptyError": "Vous n'avez pas ressaisi votre mot de passe",
+    "unmatchedPasswordError": "Les deux mots de passe ne sont pas identiques",
+    "alreadyHaveAnAccount": "Avez-vous déjà un compte ?",
     "emailHint": "Email",
     "passwordHint": "Mot de passe",
-    "repeatPasswordHint": "Répéter le mot de passe"
+    "repeatPasswordHint": "Ressaisir votre mot de passe"
   },
   "signIn": {
     "loginTitle": "Connexion à @:appName",
     "loginButtonText": "Connexion",
     "buttonText": "Se connecter",
-    "forgotPassword": "Mot de passe oublié?",
+    "forgotPassword": "Mot de passe oublié ?",
     "emailHint": "Email",
     "passwordHint": "Mot de passe",
-    "dontHaveAnAccount": "Don't have an account?",
-    "repeatPasswordEmptyError": "Le mot de passe de répétition ne peut pas être vide",
-    "unmatchedPasswordError": "Le mot de passe de répétition n'est pas le même que le mot de passe"
+    "dontHaveAnAccount": "Vous n'avez pas encore créé votre compte ?",
+    "repeatPasswordEmptyError": "Vous n'avez pas ressaisi votre mot de passe",
+    "unmatchedPasswordError": "Les deux mots de passe ne sont pas identiques"
   },
   "workspace": {
     "create": "Créer un espace de travail",
-    "hint": "espace de travail",
-    "notFoundError": "L'espace de travail pas trouvé"
+    "hint": "Espace de travail",
+    "notFoundError": "Espace de travail introuvable"
   },
   "shareAction": {
     "buttonText": "Partager",
     "workInProgress": "Bientôt disponible",
     "markdown": "Markdown",
-    "copyLink": "Copier Lien"
+    "copyLink": "Copier le lien"
   },
   "disclosureAction": {
     "rename": "Renommer",
@@ -49,16 +49,16 @@
   "newPageText": "Nouvelle page",
   "trash": {
     "text": "Corbeille",
-    "restoreAll": "Restaurer Tout",
-    "deleteAll": "Supprimer Tout",
+    "restoreAll": "Restaurer tout",
+    "deleteAll": "Supprimer tout",
     "pageHeader": {
       "fileName": "Nom de fichier",
-      "lastModified": "Dernière Modification",
+      "lastModified": "Dernière modification",
       "created": "Créé"
     }
   },
   "deletePagePrompt": {
-    "text": "Cette page est dans la corbeille",
+    "text": "Cette page a été supprimée, vous pouvez la retrouver dans la corbeille",
     "restore": "Restaurer la page",
     "deletePermanent": "Supprimer définitivement"
   },
@@ -68,8 +68,8 @@
     "help": "Aide et Support",
     "debug": {
       "name": "Informations de Débogage",
-      "success": "Informations de débogage copiées dans le presse-papiers!",
-      "fail": "Impossible de copier informations de débogage dans le presse-papiers"
+      "success": "Informations de Débogage copiées dans le presse-papiers!",
+      "fail": "Impossible de copier les informations de Débogage dans le presse-papiers"
     }
   },
   "menuAppHeader": {
@@ -84,34 +84,34 @@
     "italic": "Italique",
     "underline": "Souligner",
     "strike": "Barré",
-    "numList": "Liste Numérotée",
-    "bulletList": "Liste à Puces",
-    "checkList": "Liste de Contrôle",
-    "inlineCode": "Code en Ligne",
-    "quote": "Bloc Citation",
+    "numList": "Liste numérotée",
+    "bulletList": "Liste à puces",
+    "checkList": "To-Do List",
+    "inlineCode": "Code",
+    "quote": "Bloc de citation",
     "header": "En-tête",
     "highlight": "Surligner"
   },
   "tooltip": {
-    "lightMode": "Passer en Mode Clair",
-    "darkMode": "Passer en Mode Sombre"
+    "lightMode": "Passer en mode clair",
+    "darkMode": "Passer en mode sombre"
   },
   "contactsPage": {
     "title": "Contacts",
-    "whatsHappening": "Que se passe-t-il cette semaine?",
+    "whatsHappening": "Que se passe-t-il cette semaine ?",
     "addContact": "Ajouter un contact",
     "editContact": "Modifier le contact"
   },
   "button": {
     "OK": "OK",
     "Cancel": "Annuler",
-    "signIn": "Se Connecter",
-    "signOut": "Se Déconnecter",
-    "complete": "Complêt",
+    "signIn": "Se connecter",
+    "signOut": "Se déconnecter",
+    "complete": "Achevé",
     "save": "Enregistrer"
   },
   "label": {
-    "welcome": "Bienvenue!",
+    "welcome": "Bienvenue !",
     "firstName": "Prénom",
     "middleName": "Deuxième prénom",
     "lastName": "Nom",
@@ -135,11 +135,11 @@
     "menu": {
       "appearance": "Apparence",
       "language": "Langue",
-      "open": "Ouvrir les Paramètres"
+      "open": "Ouvrir les paramètres"
     },
     "appearance": {
-      "lightLabel": "Mode Clair",
-      "darkLabel": "Mode Sombre"
+      "lightLabel": "Mode clair",
+      "darkLabel": "Mode sombre"
     }
   }
 }

+ 1 - 1
frontend/app_flowy/lib/startup/tasks/app_widget.dart

@@ -31,7 +31,7 @@ class InitAppWidgetTask extends LaunchTask {
               // In alphabetical order
               Locale('en'),
               Locale('es', 'VE'),
-              Locale('fr'),
+              Locale('fr', 'FR'),
               Locale('fr', 'CA'),
               Locale('it', 'IT'),
               Locale('ru', 'RU'),

+ 8 - 1
frontend/app_flowy/packages/flowy_infra/lib/language.dart

@@ -14,7 +14,14 @@ String languageFromLocale(Locale locale) {
     case "es":
       return "Español";
     case "fr":
-      return "Français";
+      switch (locale.countryCode) {
+        case "CA" : 
+          return "Français (CA)";
+        case "FR" :
+          return "Français (FR)";
+        default : 
+          return locale.languageCode;
+      }
     case "it":
       return "Italiano";
     case "ru":