浏览代码

Merge remote-tracking branch 'origin/dev' into dev

Vanessa 3 月之前
父节点
当前提交
b3161f101f
共有 8 个文件被更改,包括 186 次插入10 次删除
  1. 1 1
      README.md
  2. 1 1
      README_en_US.md
  3. 7 5
      demo/index.html
  4. 1 1
      src/index.ts
  5. 86 0
      src/js/i18n/es_ES.js
  6. 86 0
      src/js/i18n/vi_VN.js
  7. 1 1
      src/ts/markdown/previewRender.ts
  8. 3 1
      types/index.d.ts

+ 1 - 1
README.md

@@ -201,7 +201,7 @@ Markdown 输出的 HTML 所展现的外观。内置 ant-design, light,dark,w
 | minHeight | 编辑区域最小高度 | - |
 | width | 编辑器总宽度,支持 % | 'auto' |
 | placeholder | 输入区域为空时的提示 | '' |
-| lang | 语言种类:de_DE, 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, es_ES, fr_FR, ja_JP, ko_KR, pt_BR, ru_RU, sv_SE, vi_VN, 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: de_DE, 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, es_ES, fr_FR, ja_JP, ko_KR, pt_BR, ru_RU, sv_SE, vi_VN, 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 | - |

+ 7 - 5
demo/index.html

@@ -64,16 +64,18 @@
         Light Mode
     </button> &nbsp; &nbsp;
     <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="de_DE">de_DE</option>
         <option value="en_US">en_US</option>
+        <option value="es_ES">en_US</option>
         <option value="fr_FR">fr_FR</option>
+        <option value="ja_JP">ja_JP</option>
+        <option value="ko_KR">ko_KR</option>
         <option value="pt_BR">pt_BR</option>
         <option value="ru_RU">ru_RU</option>
         <option value="sv_SE">sv_SE</option>
-        <option value="ja_JP">ja_JP</option>
-        <option value="ko_KR">ko_KR</option>
+        <option value="vi_VN">sv_SE</option>
+        <option value="zh_TW">zh_TW</option>
+        <option selected="selected" value="zh_CN">zh_CN</option>
     </select>
 </div>
 <div id="vditor">

+ 1 - 1
src/index.ts

@@ -75,7 +75,7 @@ class Vditor extends VditorMethod {
 
         // 支持自定义国际化
         if (!mergedOptions.i18n) {
-            if (!["de_DE", "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", "es_ES", "fr_FR", "ja_JP", "ko_KR", "pt_BR", "ru_RU", "sv_SE", "vi_VN", "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/es_ES.js

@@ -0,0 +1,86 @@
+window.VditorI18n = {
+  'alignCenter': 'Centrar',
+  'alignLeft': 'Alinear a la izquierda',
+  'alignRight': 'Alinear a la derecha',
+  'alternateText': 'Texto alternativo',
+  'bold': 'Negrita',
+  'both': 'Editar y previsualizar',
+  'cancelUpload': 'Cancelar subida',
+  'check': 'Lista de tareas',
+  'close': 'Cerrar',
+  'code': 'Bloque de código',
+  'code-theme': 'Vista previa del tema de código',
+  'column': 'Columna',
+  'comment': 'Comentario',
+  'confirm': 'Confirmar',
+  'content-theme': 'Vista previa del tema de contenido',
+  'copied': 'Copiado',
+  'copy': 'Copiar',
+  'delete-column': 'Eliminar columna',
+  'delete-row': 'Eliminar fila',
+  'devtools': 'Herramientas de desarrollo',
+  'down': 'Abajo',
+  'downloadTip': 'Este navegador no soporta la función de descarga',
+  'edit': 'Editar',
+  'edit-mode': 'Cambiar modo de edición',
+  'emoji': 'Emoticono',
+  'export': 'Exportar',
+  'fileTypeError': 'Tipo de archivo no permitido, comprímelo antes de subirlo',
+  'footnoteRef': 'Referencia de nota al pie',
+  'fullscreen': 'Pantalla completa',
+  'generate': 'Generando',
+  'headings': 'Encabezados',
+  'heading1': 'Encabezado 1',
+  'heading2': 'Encabezado 2',
+  'heading3': 'Encabezado 3',
+  'heading4': 'Encabezado 4',
+  'heading5': 'Encabezado 5',
+  'heading6': 'Encabezado 6',
+  'help': 'Ayuda',
+  'imageURL': 'URL de imagen',
+  'indent': 'Sangría de lista',
+  'info': 'Información',
+  'inline-code': 'Código en línea',
+  'insert-after': 'Insertar fila al final',
+  'insert-before': 'Insertar fila al inicio',
+  'insertColumnLeft': 'Insertar columna a la izquierda',
+  'insertColumnRight': 'Insertar columna a la derecha',
+  'insertRowAbove': 'Insertar fila arriba',
+  'insertRowBelow': 'Insertar fila abajo',
+  'instantRendering': 'Renderizado instantáneo',
+  'italic': 'Cursiva',
+  'language': 'Idioma',
+  'line': 'Línea divisoria',
+  'link': 'Enlace',
+  'linkRef': 'Identificador de referencia',
+  'list': 'Lista desordenada',
+  'more': 'Más',
+  'nameEmpty': 'El nombre de archivo no puede estar vacío',
+  'ordered-list': 'Lista ordenada',
+  'outdent': 'Reducir sangría',
+  'outline': 'Esquema',
+  'over': 'Sobrepasar',
+  'performanceTip': 'La vista previa en tiempo real necesita ${x}ms, puedes hacer clic en el botón Editar y Previsualizar para desactivarla',
+  'preview': 'Vista previa',
+  'quote': 'Cita',
+  'record': 'Iniciar/Grabar grabación',
+  'record-tip': 'Este dispositivo no soporta grabación',
+  'recording': 'Grabando...',
+  'redo': 'Rehacer',
+  'remove': 'Eliminar',
+  'row': 'Fila',
+  'spin': 'Girar',
+  'splitView': 'Vista dividida',
+  'strike': 'Tachado',
+  'table': 'Tabla',
+  'textIsNotEmpty': 'Texto (no puede estar vacío)',
+  'title': 'Título',
+  'tooltipText': 'Texto de tooltip',
+  'undo': 'Deshacer',
+  'up': 'Arriba',
+  'update': 'Actualizar',
+  'upload': 'Subir imagen o archivo',
+  'uploadError': 'Error al subir',
+  'uploading': 'Subiendo...',
+  'wysiwyg': 'WYSIWYG',
+}

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

@@ -0,0 +1,86 @@
+window.VditorI18n = {
+  'alignCenter': 'Căn giữa',
+  'alignLeft': 'Căn trái',
+  'alignRight': 'Căn phải',
+  'alternateText': 'Văn bản thay thế',
+  'bold': 'In đậm',
+  'both': 'Chỉnh sửa & Xem trước',
+  'cancelUpload': 'Hủy tải lên',
+  'check': 'Danh sách công việc',
+  'close': 'Đóng',
+  'code': 'Khối mã',
+  'code-theme': 'Xem trước chủ đề khối mã',
+  'column': 'Cột',
+  'comment': 'Bình luận',
+  'confirm': 'Xác nhận',
+  'content-theme': 'Xem trước chủ đề nội dung',
+  'copied': 'Đã sao chép',
+  'copy': 'Sao chép',
+  'delete-column': 'Xóa cột',
+  'delete-row': 'Xóa hàng',
+  'devtools': 'Công cụ phát triển',
+  'down': 'Xuống',
+  'downloadTip': 'Trình duyệt này không hỗ trợ tính năng tải xuống',
+  'edit': 'Chỉnh sửa',
+  'edit-mode': 'Chuyển chế độ chỉnh sửa',
+  'emoji': 'Biểu tượng cảm xúc',
+  'export': 'Xuất',
+  'fileTypeError': 'Loại tệp không được phép tải lên, vui lòng nén lại trước khi thử',
+  'footnoteRef': 'Chú thích cuối trang',
+  'fullscreen': 'Chuyển toàn màn hình',
+  'generate': 'Đang tạo',
+  'headings': 'Tiêu đề',
+  'heading1': 'Tiêu đề cấp 1',
+  'heading2': 'Tiêu đề cấp 2',
+  'heading3': 'Tiêu đề cấp 3',
+  'heading4': 'Tiêu đề cấp 4',
+  'heading5': 'Tiêu đề cấp 5',
+  'heading6': 'Tiêu đề cấp 6',
+  'help': 'Trợ giúp',
+  'imageURL': 'Địa chỉ hình ảnh',
+  'indent': 'Thụt lề danh sách',
+  'info': 'Thông tin',
+  'inline-code': 'Mã nội dòng',
+  'insert-after': 'Chèn hàng ở cuối',
+  'insert-before': 'Chèn hàng ở đầu',
+  'insertColumnLeft': 'Chèn cột bên trái',
+  'insertColumnRight': 'Chèn cột bên phải',
+  'insertRowAbove': 'Chèn hàng phía trên',
+  'insertRowBelow': 'Chèn hàng phía dưới',
+  'instantRendering': 'Hiển thị tức thì',
+  'italic': 'In nghiêng',
+  'language': 'Ngôn ngữ',
+  'line': 'Đường phân cách',
+  'link': 'Liên kết',
+  'linkRef': 'Định danh tham chiếu',
+  'list': 'Danh sách không thứ tự',
+  'more': 'Thêm',
+  'nameEmpty': 'Tên tệp không được để trống',
+  'ordered-list': 'Danh sách có thứ tự',
+  'outdent': 'Thụt lề ngược',
+  'outline': 'Dàn ý',
+  'over': 'Vượt quá',
+  'performanceTip': 'Xem trước thời gian thực cần ${x}ms, có thể nhấp vào nút Chỉnh sửa & Xem trước để tắt',
+  'preview': 'Xem trước',
+  'quote': 'Trích dẫn',
+  'record': 'Bắt đầu ghi âm/Dừng ghi âm',
+  'record-tip': 'Thiết bị này không hỗ trợ tính năng ghi âm',
+  'recording': 'Đang ghi âm...',
+  'redo': 'Làm lại',
+  'remove': 'Xóa',
+  'row': 'Hàng',
+  'spin': 'Xoay',
+  'splitView': 'Xem chia màn hình',
+  'strike': 'Gạch ngang',
+  'table': 'Bảng',
+  'textIsNotEmpty': 'Văn bản (không được để trống)',
+  'title': 'Tiêu đề',
+  'tooltipText': 'Văn bản chú thích',
+  'undo': 'Hoàn tác',
+  'up': 'Lên',
+  'update': 'Cập nhật',
+  'upload': 'Tải lên hình ảnh hoặc tệp',
+  'uploadError': 'Lỗi tải lên',
+  'uploading': 'Đang tải lên...',
+  '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 (!["de_DE", "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", "es_ES", "fr_FR", "ja_JP", "ko_KR", "pt_BR", "ru_RU", "sv_SE", "vi_VN", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
             throw new Error(
                 "options.lang error, see https://ld246.com/article/1549638745630#options",
             );

+ 3 - 1
types/index.d.ts

@@ -335,14 +335,16 @@ interface ITips {
 interface II18n {
     de_DE: ITips;
     en_US: ITips;
+    es_ES: ITips;
     fr_FR: ITips;
     ja_JP: ITips;
     ko_KR: ITips;
+    pt_BR: ITips;
     ru_RU: ITips;
     sv_SE: ITips;
+    vi_VN: ITips;
     zh_CN: ITips;
     zh_TW: ITips;
-    pt_BR: ITips;
 }
 
 interface IClasses {