From 9701eb228ab14fa8c26220947af11f3649d80b78 Mon Sep 17 00:00:00 2001 From: lilixxs Date: Sun, 19 Jan 2025 14:40:02 +0800 Subject: [PATCH] feat: UI tooltip language translations #1320 enhance internationalization support by adding multiple language translations for various extensions translated by chat-gpt-4o-mini --- src/extensions/extensions/bookmark.ts | 9 +++++++-- src/extensions/extensions/extensions/remove.ts | 6 ++++++ .../extensions/extensions/selectTool.ts | 7 ++++++- .../extensions/extensions/uploadImage.ts | 5 +++++ src/extensions/extensions/fullPage.ts | 13 +++++++++---- src/extensions/extensions/qrcode.ts | 13 +++++++++---- src/extensions/extensions/readability.ts | 13 +++++++++---- src/extensions/extensions/screenshot.ts | 13 +++++++++---- src/extensions/extensions/select.ts | 13 +++++++++---- src/extensions/extensions/web-clipper/clear.ts | 16 +++++++++------- .../extensions/web-clipper/copyToClipboard.ts | 16 +++++++++------- .../extensions/web-clipper/download.ts | 12 +++++++----- src/extensions/extensions/web-clipper/link.tsx | 16 +++++++++------- src/extensions/extensions/web-clipper/pangu.ts | 10 ++++++---- 14 files changed, 109 insertions(+), 53 deletions(-) diff --git a/src/extensions/extensions/bookmark.ts b/src/extensions/extensions/bookmark.ts index ba181855..b787bf1c 100644 --- a/src/extensions/extensions/bookmark.ts +++ b/src/extensions/extensions/bookmark.ts @@ -7,11 +7,16 @@ export default new TextExtension( description: 'Add bookmark.', icon: 'link', i18nManifest: { - 'zh-CN': { name: '书签', description: '添加书签' }, + 'de-DE': { name: 'Lesezeichen', description: 'Lesezeichen hinzufügen.' }, + 'en-US': { name: 'Bookmark', description: 'Add bookmark.' }, + 'ja-JP': { name: 'ブックマーク', description: 'ブックマークを追加します。' }, + 'ko-KR': { name: '북마크', description: '북마크 추가.' }, + 'ru-RU': { name: 'Закладка', description: 'Добавить закладку.' }, + 'zh-CN': { name: '书签', description: '添加书签' }, }, }, { - run: async context => { + run: async (context) => { const { document, locale } = context; switch (locale) { case 'zh-CN': { diff --git a/src/extensions/extensions/extensions/remove.ts b/src/extensions/extensions/extensions/remove.ts index 0e50cefd..1c3a479d 100644 --- a/src/extensions/extensions/extensions/remove.ts +++ b/src/extensions/extensions/extensions/remove.ts @@ -7,7 +7,13 @@ export default new ToolExtension( version: '0.0.1', description: 'Delete selected page elements.', i18nManifest: { + 'de-DE': { name: 'Element löschen', description: 'Ausgewählte Seitenelemente löschen.' }, + 'en-US': { name: 'Delete Element', description: 'Delete selected page elements.' }, + 'ja-JP': { name: '要素を削除', description: '選択したページ要素を削除します。' }, + 'ko-KR': { name: '요소 삭제', description: '선택한 페이지 요소를 삭제합니다.' }, + 'ru-RU': { name: 'Удалить элемент', description: 'Удалить выбранные элементы страницы.' }, 'zh-CN': { name: '删除元素', description: '删除选择的页面元素。' }, + 'zh-TW': { name: '刪除元素', description: '刪除選擇的頁面元素。' }, }, }, { diff --git a/src/extensions/extensions/extensions/selectTool.ts b/src/extensions/extensions/extensions/selectTool.ts index fc751b43..ba777ebe 100644 --- a/src/extensions/extensions/extensions/selectTool.ts +++ b/src/extensions/extensions/extensions/selectTool.ts @@ -7,7 +7,12 @@ export default new ToolExtension( version: '0.0.1', description: 'Manual selection page element.', i18nManifest: { - 'zh-CN': { name: '手动选取' }, + 'de-DE': { name: 'Manuelle Auswahl', description: 'Manuelle Auswahl von Seitenelementen.' }, + 'en-US': { name: 'Manual selection', description: 'Manual selection of page elements.' }, + 'ja-JP': { name: '手動選択', description: 'ページ要素を手動で選択します。' }, + 'ko-KR': { name: '수동 선택', description: '페이지 요소를 수동으로 선택합니다.' }, + 'ru-RU': { name: 'Ручной выбор', description: 'Ручной выбор элементов страницы.' }, + 'zh-CN': { name: '手动选取', description: '手动选取页面中的元素' }, }, }, { diff --git a/src/extensions/extensions/extensions/uploadImage.ts b/src/extensions/extensions/extensions/uploadImage.ts index 87ed64c1..4eb8689f 100644 --- a/src/extensions/extensions/extensions/uploadImage.ts +++ b/src/extensions/extensions/extensions/uploadImage.ts @@ -8,6 +8,11 @@ export default new ToolExtension( automatic: true, description: 'Upload images to image host.', i18nManifest: { + 'de-DE': { name: 'Bild hochladen', description: 'Bilder auf den Bildhost hochladen.' }, + 'en-US': { name: 'Upload Image', description: 'Upload images to image host.' }, + 'ja-JP': { name: '画像をアップロード', description: '画像を画像ホストにアップロードします。' }, + 'ko-KR': { name: '이미지 업로드', description: '이미지를 이미지 호스트에 업로드합니다.' }, + 'ru-RU': { name: 'Загрузить изображение', description: 'Загрузить изображения на хост изображений.' }, 'zh-CN': { name: '上传图片', description: '把文章内图片上传到图床' }, }, }, diff --git a/src/extensions/extensions/fullPage.ts b/src/extensions/extensions/fullPage.ts index d1ca4f7d..d369f3ca 100644 --- a/src/extensions/extensions/fullPage.ts +++ b/src/extensions/extensions/fullPage.ts @@ -6,10 +6,15 @@ export default new TextExtension( version: '0.0.1', description: 'Save Full Page and turn ro Markdown.', icon: 'copy', - i18nManifest: { - 'zh-CN': { name: '整个页面', description: '把整个页面元素转换为 Markdown' }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'Vollständige Seite', description: 'Speichern Sie die gesamte Seite und konvertieren Sie sie in Markdown.' }, + 'en-US': { name: 'Full Page', description: 'Save Full Page and turn to Markdown.' }, + 'ja-JP': { name: '全ページ', description: '全ページを保存し、Markdownに変換します。' }, + 'ko-KR': { name: '전체 페이지', description: '전체 페이지를 저장하고 Markdown으로 변환합니다.' }, + 'ru-RU': { name: 'Полная страница', description: 'Сохранить полную страницу и преобразовать в Markdown.' }, + 'zh-CN': { name: '整个页面', description: '把整个页面元素转换为 Markdown' }, + } + }, { run: async context => { const { turndown, $ } = context; diff --git a/src/extensions/extensions/qrcode.ts b/src/extensions/extensions/qrcode.ts index ba44e4ae..9a55fb91 100644 --- a/src/extensions/extensions/qrcode.ts +++ b/src/extensions/extensions/qrcode.ts @@ -6,10 +6,15 @@ export default new TextExtension( icon: 'qrcode', version: '0.0.1', description: 'Convert the URL of the current page to a QR code.', - i18nManifest: { - 'zh-CN': { name: '二维码', description: '显示当前链接为二维码' }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'QR-Code', description: 'Konvertieren Sie die URL der aktuellen Seite in einen QR-Code.' }, + 'en-US': { name: 'QR code', description: 'Convert the URL of the current page to a QR code.' }, + 'ja-JP': { name: 'QRコード', description: '現在のページのURLをQRコードに変換します。' }, + 'ko-KR': { name: 'QR 코드', description: '현재 페이지의 URL을 QR 코드로 변환합니다.' }, + 'ru-RU': { name: 'QR код', description: 'Преобразовать URL текущей страницы в QR-код.' }, + 'zh-CN': { name: '二维码', description: '显示当前链接为二维码' }, + } + }, { init: ({ currentImageHostingService }) => !!currentImageHostingService, run: async context => { diff --git a/src/extensions/extensions/readability.ts b/src/extensions/extensions/readability.ts index 9f70054a..39f3e05f 100644 --- a/src/extensions/extensions/readability.ts +++ b/src/extensions/extensions/readability.ts @@ -6,10 +6,15 @@ export default new TextExtension( icon: 'copy', version: '0.0.1', description: 'Intelligent extraction of webpage main content.', - i18nManifest: { - 'zh-CN': { name: '智能提取', description: '智能提取当前页面元素' }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'Lesbarkeit', description: 'Intelligente Extraktion des Hauptinhalts der Webseite.' }, + 'en-US': { name: 'Readability', description: 'Intelligent extraction of webpage main content.' }, + 'ja-JP': { name: '読みやすさ', description: 'ウェブページの主要な内容をインテリジェントに抽出します。' }, + 'ko-KR': { name: '가독성', description: '웹 페이지의 주요 내용을 지능적으로 추출합니다.' }, + 'ru-RU': { name: 'Читаемость', description: 'Интеллектуальная извлечение основного содержимого веб-страницы.' }, + 'zh-CN': { name: '智能提取', description: '智能提取当前页面元素' }, + } + }, { run: async context => { const { turndown, document, Readability, $ } = context; diff --git a/src/extensions/extensions/screenshot.ts b/src/extensions/extensions/screenshot.ts index 19272abd..ee29d606 100644 --- a/src/extensions/extensions/screenshot.ts +++ b/src/extensions/extensions/screenshot.ts @@ -6,10 +6,15 @@ export default new TextExtension( name: 'Screenshots', icon: 'picture', version: '0.0.1', - i18nManifest: { - 'zh-CN': { name: '截图' }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'Screenshots', description: 'Speichern Sie den aktuellen Inhalt als Bild.' }, + 'en-US': { name: 'Screenshots', description: 'Save current clipping content as an image.' }, + 'ja-JP': { name: 'スクリーンショット', description: '現在のクリップ内容を画像として保存します。' }, + 'ko-KR': { name: '스크린샷', description: '현재 클립 내용을 이미지로 저장합니다.' }, + 'ru-RU': { name: 'Скриншоты', description: 'Сохранить текущее содержимое как изображение.' }, + 'zh-CN': { name: '截图', description: '将当前剪藏内容保存为图片' }, // 保留简体中文 + } + }, { init: ({ currentImageHostingService }) => !!currentImageHostingService, run: async context => { diff --git a/src/extensions/extensions/select.ts b/src/extensions/extensions/select.ts index db6995ab..a6109baf 100644 --- a/src/extensions/extensions/select.ts +++ b/src/extensions/extensions/select.ts @@ -6,10 +6,15 @@ export default new TextExtension( icon: 'select', version: '0.0.1', description: 'Manual selection page element.', - i18nManifest: { - 'zh-CN': { name: '手动选取' }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'Manuelle Auswahl', description: 'Manuelle Auswahl von Seitenelementen.' }, + 'en-US': { name: 'Manual selection', description: 'Manual selection of page elements.' }, + 'ja-JP': { name: '手動選択', description: 'ページ要素を手動で選択します。' }, + 'ko-KR': { name: '수동 선택', description: '페이지 요소를 수동으로 선택합니다.' }, + 'ru-RU': { name: 'Ручной выбор', description: 'Ручной выбор элементов страницы.' }, + 'zh-CN': { name: '手动选取', description: '手动选取页面元素' }, + } + }, { run: async context => { const { turndown, Highlighter, toggleClipper, $ } = context; diff --git a/src/extensions/extensions/web-clipper/clear.ts b/src/extensions/extensions/web-clipper/clear.ts index dd95ec95..a3e5b6fa 100644 --- a/src/extensions/extensions/web-clipper/clear.ts +++ b/src/extensions/extensions/web-clipper/clear.ts @@ -7,13 +7,15 @@ export default new ToolExtension( version: '0.0.1', description: 'Clear Content', apiVersion: '1.12.0', - i18nManifest: { - 'zh-CN': { - name: '清空', - description: '清空内容', - }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'Löschen', description: 'Inhalt löschen.' }, + 'en-US': { name: 'Clear', description: 'Clear Content' }, + 'ja-JP': { name: 'クリア', description: '内容をクリアします。' }, + 'ko-KR': { name: '지우기', description: '내용 지우기' }, + 'ru-RU': { name: 'Очистить', description: 'Очистить содержимое' }, + 'zh-CN': { name: '清空', description: '清空内容' }, + } + }, { init: ({ pathname }) => { return pathname.startsWith('/plugin'); diff --git a/src/extensions/extensions/web-clipper/copyToClipboard.ts b/src/extensions/extensions/web-clipper/copyToClipboard.ts index 7f6a4200..15e5462a 100644 --- a/src/extensions/extensions/web-clipper/copyToClipboard.ts +++ b/src/extensions/extensions/web-clipper/copyToClipboard.ts @@ -6,13 +6,15 @@ export default new ToolExtension( icon: 'copy', version: '0.0.1', description: 'Copy To Clipboard', - i18nManifest: { - 'zh-CN': { - name: '复制到剪切板', - description: 'Copy To Clipboard', - }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'In die Zwischenablage kopieren', description: 'In die Zwischenablage kopieren.' }, + 'en-US': { name: 'Copy To Clipboard', description: 'Copy To Clipboard' }, + 'ja-JP': { name: 'クリップボードにコピー', description: 'クリップボードにコピーします。' }, + 'ko-KR': { name: '클립보드에 복사', description: '클립보드에 복사합니다.' }, + 'ru-RU': { name: 'Копировать в буфер обмена', description: 'Копировать в буфер обмена' }, + 'zh-CN': { name: '复制', description: '复制到剪贴板' }, + } + }, { afterRun: ({ copyToClipboard, data }) => { copyToClipboard(data); diff --git a/src/extensions/extensions/web-clipper/download.ts b/src/extensions/extensions/web-clipper/download.ts index e5a9c9d0..2694ddf8 100644 --- a/src/extensions/extensions/web-clipper/download.ts +++ b/src/extensions/extensions/web-clipper/download.ts @@ -8,12 +8,14 @@ export default new ToolExtension( description: 'Save as Markdown and Download.', apiVersion: '1.12.0', i18nManifest: { - 'zh-CN': { - name: '保存为 Markdown', - description: '保存为 Markdown 并下载', - }, + 'de-DE': { name: 'Als Markdown speichern', description: 'Als Markdown speichern und herunterladen.' }, + 'en-US': { name: 'Save as Markdown', description: 'Save as Markdown and Download.' }, + 'ja-JP': { name: 'Markdownとして保存', description: 'Markdownとして保存し、ダウンロードします。' }, + 'ko-KR': { name: 'Markdown으로 저장', description: 'Markdown으로 저장하고 다운로드합니다.' }, + 'ru-RU': { name: 'Сохранить как Markdown', description: 'Сохранить как Markdown и скачать.' }, + 'zh-CN': { name: '保存为 Markdown', description: '保存为 Markdown 并下载' }, }, - }, + }, { init: ({ pathname }) => { return pathname.startsWith('/plugin'); diff --git a/src/extensions/extensions/web-clipper/link.tsx b/src/extensions/extensions/web-clipper/link.tsx index ef77560b..75299360 100644 --- a/src/extensions/extensions/web-clipper/link.tsx +++ b/src/extensions/extensions/web-clipper/link.tsx @@ -39,13 +39,15 @@ export default class Link extends ToolExtension { autoRunExclude: [], }, }, - i18nManifest: { - 'zh-CN': { - name: '链接', - description: '在文章末尾添加当前地址', - }, - }, - }, + i18nManifest: { + 'de-DE': { name: 'Link', description: 'Fügen Sie am Ende des Dokuments einen Link hinzu.' }, + 'en-US': { name: 'Link', description: 'Add link at the end of the document.' }, + 'ja-JP': { name: 'リンク', description: 'ドキュメントの最後にリンクを追加します。' }, + 'ko-KR': { name: '링크', description: '문서 끝에 링크를 추가합니다.' }, + 'ru-RU': { name: 'Ссылка', description: 'Добавить ссылку в конце документа.' }, + 'zh-CN': { name: '添加模版', description: '根据插件设置中的模板,添加内容,默认添加页面链接' }, + } + }, { run: async context => { return { diff --git a/src/extensions/extensions/web-clipper/pangu.ts b/src/extensions/extensions/web-clipper/pangu.ts index 10ea1fc4..06d24ac4 100644 --- a/src/extensions/extensions/web-clipper/pangu.ts +++ b/src/extensions/extensions/web-clipper/pangu.ts @@ -11,10 +11,12 @@ export default new ToolExtension( description: 'Paranoid text spacing in JavaScript', powerpack: false, i18nManifest: { - 'zh-CN': { - name: '盘古', - description: '所有的中文字和半形的英文、数字、符号之间插入空白。', - }, + 'de-DE': { name: 'Pangu', description: 'Fügen Sie Leerzeichen zwischen chinesischen und englischen Zeichen ein.' }, + 'en-US': { name: 'Pangu', description: 'Paranoid text spacing in JavaScript' }, + 'ja-JP': { name: 'Pangu', description: 'すべての中国語と半角英数字、記号の間に空白を挿入します。' }, + 'ko-KR': { name: 'Pangu', description: '모든 한자와 반각 영어, 숫자, 기호 사이에 공백을 삽입합니다.' }, + 'ru-RU': { name: 'Pangu', description: 'Вставка пробелов между китайскими и английскими символами.' }, + 'zh-CN': { name: 'Pangu', description: '所有的中文字和半形的英文、数字、符号之间插入空白。' }, }, }, {