Browse Source

feat(i18n) : Added french language fr_FR (#1365)

Co-authored-by: mrflos <[email protected]>
Florian 2 years ago
parent
commit
0ac57bab8f
5 changed files with 89 additions and 2 deletions
  1. 1 0
      demo/index.html
  2. 1 1
      src/index.ts
  3. 85 0
      src/js/i18n/fr_FR.js
  4. 1 1
      src/ts/markdown/previewRender.ts
  5. 1 0
      types/index.d.ts

+ 1 - 0
demo/index.html

@@ -67,6 +67,7 @@
         <option selected="selected" value="zh_CN">zh_CN</option>
         <option value="zh_TW">zh_TW</option>
         <option value="en_US">en_US</option>
+        <option value="fr_FR">fr_FR</option>
         <option value="ru_RU">ru_RU</option>
         <option value="sv_SE">sv_SE</option>
         <option value="ja_JP">ja_JP</option>

+ 1 - 1
src/index.ts

@@ -68,7 +68,7 @@ class Vditor extends VditorMethod {
 
         // 支持自定义国际化
         if (!mergedOptions.i18n) {
-            if (!["en_US", "ja_JP", "ko_KR", "ru_RU", "sv_SE", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
+            if (!["en_US", "fr_FR", "ja_JP", "ko_KR", "ru_RU", "sv_SE", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
                 throw new Error(
                     "options.lang error, see https://ld246.com/article/1549638745630#options",
                 );

+ 85 - 0
src/js/i18n/fr_FR.js

@@ -0,0 +1,85 @@
+window.VditorI18n = {
+  'alignCenter': 'Centré',
+  'alignLeft': 'Gauche',
+  'alignRight': 'Droite',
+  'alternateText': 'Texte de remplacement',
+  'bold': 'Gras',
+  'both': 'éditeur & prévisualisation',
+  'check': 'Liste de tâches',
+  'close': 'Fermer',
+  'code': 'Bloc de code',
+  'code-theme': 'Thème pour le bloc de code',
+  'column': 'Colonne',
+  'comment': 'Commentaire',
+  'confirm': 'Confirmez',
+  'content-theme': 'Thème pour le contenu',
+  'copied': 'Copié',
+  'copy': 'Copier',
+  'delete-column': 'Enlever ligne',
+  'delete-row': 'Enlever colonne',
+  'devtools': 'Outils de dev',
+  'down': 'Bas',
+  'downloadTip': 'Le navigateur ne permet pas le téléversement',
+  'edit': 'Editer',
+  'edit-mode': 'Changer le mode d\'édition',
+  'emoji': 'Emoji',
+  'export': 'Export',
+  'fileTypeError': 'erreur de type de fichier',
+  'footnoteRef': 'Ref. notes de pied de page',
+  'fullscreen': 'Bascule en plein écran',
+  'generate': 'Création',
+  'headings': 'Titres',
+  'heading1': 'Titre 1',
+  'heading2': 'Titre 2',
+  'heading3': 'Titre 3',
+  'heading4': 'Titre 4',
+  'heading5': 'Titre 5',
+  'heading6': 'Titre 6',
+  'help': 'Aide',
+  'imageURL': 'URL de l\'image',
+  'indent': 'Augmenter le retrait',
+  'info': 'Info',
+  'inline-code': 'Code en ligne',
+  'insert-after': 'Insérer une ligne après',
+  'insert-before': 'Insérer une ligne avant',
+  'insertColumnLeft': 'Insérer col. à gauche',
+  'insertColumnRight': 'Insérer col. à droite',
+  'insertRowAbove': 'Insérer 1 au dessus',
+  'insertRowBelow': 'Insérer 1 en dessous',
+  'instantRendering': 'Aperçu instantané',
+  'italic': 'Italique',
+  'language': 'Langue',
+  'line': 'Ligne',
+  'link': 'Lien',
+  'linkRef': 'Réf. Lien',
+  'list': 'Liste',
+  'more': 'Plus',
+  'nameEmpty': 'Nom est vide',
+  'ordered-list': 'Liste ordonnée',
+  'outdent': 'Réduire le retrait',
+  'outline': 'Contour',
+  'over': 'survol',
+  'performanceTip': 'La prévisualisation temps réel prend ${x}ms, vous pouvez fermer',
+  'preview': 'Prévisualisation',
+  'quote': 'Citation',
+  'record': 'Démarrer/Stopper l\'enregistrement',
+  'record-tip': 'L\'appareil ne supporte pas l\'enregistrement',
+  'recording': 'Enregistrement en cours...',
+  'redo': 'Rétablir',
+  'remove': 'Enlever',
+  'row': 'Ligne',
+  'spin': 'Rotation',
+  'splitView': 'Vue scindée',
+  'strike': 'Barré',
+  'table': 'Table',
+  'textIsNotEmpty': 'texte(pas vide)',
+  'title': 'Titre',
+  'tooltipText': 'Texte au survol',
+  'undo': 'Annuler',
+  'up': 'Haut',
+  'update': 'Mettre à jour',
+  'upload': 'Téléverser image ou fichier',
+  'uploadError': 'erreur de téléversement',
+  'uploading': 'Téléversement en cours...',
+  'wysiwyg': 'WYSIWYG',
+}

+ 1 - 1
src/ts/markdown/previewRender.ts

@@ -86,7 +86,7 @@ export const previewRender = async (previewElement: HTMLDivElement, markdown: st
     previewElement.classList.add("vditor-reset");
 
     if (!mergedOptions.i18n) {
-        if (!["en_US", "ja_JP", "ko_KR", "ru_RU", "sv_SE", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
+        if (!["en_US", "fr_FR", "ja_JP", "ko_KR", "ru_RU", "sv_SE", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
             throw new Error(
                 "options.lang error, see https://ld246.com/article/1549638745630#options",
             );

+ 1 - 0
types/index.d.ts

@@ -318,6 +318,7 @@ interface ITips {
 
 interface II18n {
     en_US: ITips;
+    fr_FR: ITips;
     ja_JP: ITips;
     ko_KR: ITips;
     ru_RU: ITips;