浏览代码

:art: add German (de_DE) language support (#1816)

* :art: add German (de_DE) language support and update language options

* :art: format de_DE.js for improved readability
Juri Wolf 4 月之前
父节点
当前提交
a49bf27d1d
共有 7 个文件被更改,包括 92 次插入4 次删除
  1. 1 1
      README.md
  2. 1 1
      README_en_US.md
  3. 1 0
      demo/index.html
  4. 1 1
      src/index.ts
  5. 86 0
      src/js/i18n/de_DE.js
  6. 1 1
      src/ts/markdown/previewRender.ts
  7. 1 0
      types/index.d.ts

+ 1 - 1
README.md

@@ -201,7 +201,7 @@ Markdown 输出的 HTML 所展现的外观。内置 ant-design, light,dark,w
 | minHeight | 编辑区域最小高度 | - |
 | width | 编辑器总宽度,支持 % | 'auto' |
 | placeholder | 输入区域为空时的提示 | '' |
-| lang | 语言种类:en_US, fr_FR, pt_BR, ja_JP, ko_KR, ru_RU, sv_SE, zh_CN, zh_TW | 'zh_CN' |
+| lang | 语言种类:de_DE, en_US, fr_FR, pt_BR, ja_JP, ko_KR, ru_RU, sv_SE, zh_CN, zh_TW | 'zh_CN' |
 | input(value: string) | 输入后触发  | - |
 | focus(value: string) | 聚焦后触发 | - |
 | blur(value: string) | 失焦后触发 | - |

+ 1 - 1
README_en_US.md

@@ -177,7 +177,7 @@ Can be filled with element `id` or element itself` HTMLElement`
 | minHeight | Editing area minimum height | - |
 | width | Total editor width, supports % | 'auto' |
 | placeholder | Tips when the input area is empty | '' |
-| lang | I18n type: en_US, fr_FR, pt_BR, ja_JP, ko_KR, ru_RU, sv_SE, zh_CN, zh_TW | 'zh_CN' |
+| lang | I18n type: de_DE, en_US, fr_FR, pt_BR, ja_JP, ko_KR, ru_RU, sv_SE, zh_CN, zh_TW | 'zh_CN' |
 | input(value: string) | Trigger after input  | - |
 | focus(value: string) | Trigger after focusing | - |
 | blur(value: string) | Trigger after out of focus | - |

+ 1 - 0
demo/index.html

@@ -66,6 +66,7 @@
     <select autocomplete="off" onchange="setLang(this.value)">
         <option selected="selected" value="zh_CN">zh_CN</option>
         <option value="zh_TW">zh_TW</option>
+        <option value="en_US">de_DE</option>
         <option value="en_US">en_US</option>
         <option value="fr_FR">fr_FR</option>
         <option value="pt_BR">pt_BR</option>

+ 1 - 1
src/index.ts

@@ -74,7 +74,7 @@ class Vditor extends VditorMethod {
 
         // 支持自定义国际化
         if (!mergedOptions.i18n) {
-            if (!["en_US", "fr_FR", "pt_BR", "ja_JP", "ko_KR", "ru_RU", "sv_SE", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
+            if (!["de_DE", "en_US", "fr_FR", "pt_BR", "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",
                 );

+ 86 - 0
src/js/i18n/de_DE.js

@@ -0,0 +1,86 @@
+window.VditorI18n = {
+  'alignCenter': 'Zentriert',
+  'alignLeft': 'Linksbündig',
+  'alignRight': 'Rechtsbündig',
+  'alternateText': 'Alternativtext',
+  'bold': 'Fett',
+  'both': 'Editor & Vorschau',
+  'cancelUpload': 'Upload abbrechen',
+  'check': 'Aufgabenliste',
+  'close': 'Schließen',
+  'code': 'Codeblock',
+  'code-theme': 'Codeblock-Thema',
+  'column': 'Spalte',
+  'comment': 'Kommentar',
+  'confirm': 'Bestätigen',
+  'content-theme': 'Inhalts-Thema',
+  'copied': 'Kopiert',
+  'copy': 'Kopieren',
+  'delete-column': 'Spalte löschen',
+  'delete-row': 'Zeile löschen',
+  'devtools': 'Entwicklertools',
+  'down': 'Nach unten',
+  'downloadTip': 'Der Browser unterstützt die Download-Funktion nicht',
+  'edit': 'Bearbeiten',
+  'edit-mode': 'Bearbeitungsmodus umschalten',
+  'emoji': 'Emoji',
+  'export': 'Exportieren',
+  'fileTypeError': 'Dateityp-Fehler',
+  'footnoteRef': 'Fußnotenverweis',
+  'fullscreen': 'Vollbild umschalten',
+  'generate': 'Wird generiert',
+  'headings': 'Überschriften',
+  'heading1': 'Überschrift 1',
+  'heading2': 'Überschrift 2',
+  'heading3': 'Überschrift 3',
+  'heading4': 'Überschrift 4',
+  'heading5': 'Überschrift 5',
+  'heading6': 'Überschrift 6',
+  'help': 'Hilfe',
+  'imageURL': 'Bild-URL',
+  'indent': 'Einrücken',
+  'info': 'Info',
+  'inline-code': 'Inline-Code',
+  'insert-after': 'Zeile danach einfügen',
+  'insert-before': 'Zeile davor einfügen',
+  'insertColumnLeft': 'Spalte links einfügen',
+  'insertColumnRight': 'Spalte rechts einfügen',
+  'insertRowAbove': 'Zeile oberhalb einfügen',
+  'insertRowBelow': 'Zeile unterhalb einfügen',
+  'instantRendering': 'Sofort-Darstellung',
+  'italic': 'Kursiv',
+  'language': 'Sprache',
+  'line': 'Zeile',
+  'link': 'Link',
+  'linkRef': 'Link-Verweis',
+  'list': 'Liste',
+  'more': 'Mehr',
+  'nameEmpty': 'Name ist leer',
+  'ordered-list': 'Nummerierte Liste',
+  'outdent': 'Ausrücken',
+  'outline': 'Gliederung',
+  'over': 'über',
+  'performanceTip': 'Echtzeit-Vorschau benötigt ${x}ms, Sie können diese deaktivieren',
+  'preview': 'Vorschau',
+  'quote': 'Zitat',
+  'record': 'Aufnahme starten/beenden',
+  'record-tip': 'Das Gerät unterstützt keine Aufzeichnung',
+  'recording': 'Aufzeichnung läuft...',
+  'redo': 'Wiederholen',
+  'remove': 'Entfernen',
+  'row': 'Zeile',
+  'spin': 'Rotation',
+  'splitView': 'Geteilte Ansicht',
+  'strike': 'Durchgestrichen',
+  'table': 'Tabelle',
+  'textIsNotEmpty': 'Text (nicht leer)',
+  'title': 'Titel',
+  'tooltipText': 'Tooltip-Text',
+  'undo': 'Rückgängig',
+  'up': 'Nach oben',
+  'update': 'Aktualisieren',
+  'upload': 'Bild oder Datei hochladen',
+  'uploadError': 'Upload-Fehler',
+  'uploading': 'Upload läuft...',
+  'wysiwyg': 'WYSIWYG',
+}

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

@@ -99,7 +99,7 @@ export const previewRender = async (previewElement: HTMLDivElement, markdown: st
     previewElement.classList.add("vditor-reset");
 
     if (!mergedOptions.i18n) {
-        if (!["en_US", "fr_FR", "pt_BR", "ja_JP", "ko_KR", "ru_RU", "sv_SE", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
+        if (!["de_DE", "en_US", "fr_FR", "pt_BR", "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

@@ -333,6 +333,7 @@ interface ITips {
 }
 
 interface II18n {
+    de_DE: ITips;
     en_US: ITips;
     fr_FR: ITips;
     ja_JP: ITips;