From c496f87fe6d224f9bdf5e26ee595de4270cdec2b Mon Sep 17 00:00:00 2001 From: josc146 Date: Mon, 5 Aug 2024 16:57:53 +0800 Subject: [PATCH] allow exporting and importing all data (#740) --- src/_locales/de/main.json | 4 ++- src/_locales/en/main.json | 4 ++- src/_locales/es/main.json | 4 ++- src/_locales/fr/main.json | 4 ++- src/_locales/in/main.json | 4 ++- src/_locales/it/main.json | 4 ++- src/_locales/ja/main.json | 4 ++- src/_locales/ko/main.json | 4 ++- src/_locales/pt/main.json | 4 ++- src/_locales/ru/main.json | 4 ++- src/_locales/tr/main.json | 4 ++- src/_locales/zh-hans/main.json | 2 ++ src/_locales/zh-hant/main.json | 4 ++- src/popup/sections/GeneralPart.jsx | 39 ++++++++++++++++++++++++++++++ 14 files changed, 77 insertions(+), 12 deletions(-) diff --git a/src/_locales/de/main.json b/src/_locales/de/main.json index 78dd956..87bdb3d 100644 --- a/src/_locales/de/main.json +++ b/src/_locales/de/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Erkläre das: {{selection}}", "New": "Neu", "Always display floating window, disable sidebar for all site adapters": "Immer das schwebende Fenster anzeigen, die Seitenleiste für alle Website-Adapter deaktivieren", - "Allow ESC to close all floating windows": "ESC-Taste zum Schließen aller schwebenden Fenster zulassen" + "Allow ESC to close all floating windows": "ESC-Taste zum Schließen aller schwebenden Fenster zulassen", + "Export All Data": "Alle Daten exportieren", + "Import All Data": "Alle Daten importieren" } diff --git a/src/_locales/en/main.json b/src/_locales/en/main.json index 196ca97..ffb7bbf 100644 --- a/src/_locales/en/main.json +++ b/src/_locales/en/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Explain this: {{selection}}", "New": "New", "Always display floating window, disable sidebar for all site adapters": "Always display floating window, disable sidebar for all site adapters", - "Allow ESC to close all floating windows": "Allow ESC to close all floating windows" + "Allow ESC to close all floating windows": "Allow ESC to close all floating windows", + "Export All Data": "Export All Data", + "Import All Data": "Import All Data" } diff --git a/src/_locales/es/main.json b/src/_locales/es/main.json index 6e84392..4a4f2cd 100644 --- a/src/_locales/es/main.json +++ b/src/_locales/es/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Explicar esto: {{selection}}", "New": "Nuevo", "Always display floating window, disable sidebar for all site adapters": "Mostrar siempre la ventana flotante, desactivar la barra lateral para todos los adaptadores de sitios", - "Allow ESC to close all floating windows": "Permitir que ESC cierre todas las ventanas flotantes" + "Allow ESC to close all floating windows": "Permitir que ESC cierre todas las ventanas flotantes", + "Export All Data": "Exportar todos los datos", + "Import All Data": "Importar todos los datos" } diff --git a/src/_locales/fr/main.json b/src/_locales/fr/main.json index ff4197b..6a03f76 100644 --- a/src/_locales/fr/main.json +++ b/src/_locales/fr/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Expliquer ceci : {{selection}}", "New": "Nouveau", "Always display floating window, disable sidebar for all site adapters": "Toujours afficher la fenêtre flottante, désactiver la barre latérale pour tous les adaptateurs de site", - "Allow ESC to close all floating windows": "Autoriser la touche ESC pour fermer toutes les fenêtres flottantes" + "Allow ESC to close all floating windows": "Autoriser la touche ESC pour fermer toutes les fenêtres flottantes", + "Export All Data": "Exporter toutes les données", + "Import All Data": "Importer toutes les données" } diff --git a/src/_locales/in/main.json b/src/_locales/in/main.json index 6826d8b..50ee504 100644 --- a/src/_locales/in/main.json +++ b/src/_locales/in/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Jelaskan ini: {{selection}}", "New": "Baru", "Always display floating window, disable sidebar for all site adapters": "Selalu tampilkan jendela mengambang, nonaktifkan sidebar untuk semua adapter situs", - "Allow ESC to close all floating windows": "Izinkan ESC untuk menutup semua jendela mengambang" + "Allow ESC to close all floating windows": "Izinkan ESC untuk menutup semua jendela mengambang", + "Export All Data": "Ekspor Semua Data", + "Import All Data": "Impor Semua Data" } diff --git a/src/_locales/it/main.json b/src/_locales/it/main.json index fc6b51b..8c85f4f 100644 --- a/src/_locales/it/main.json +++ b/src/_locales/it/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Spiega questo: {{selection}}", "New": "Nuovo", "Always display floating window, disable sidebar for all site adapters": "Mostra sempre la finestra flottante, disabilita la barra laterale per tutti gli adattatori del sito", - "Allow ESC to close all floating windows": "Consenti ESC per chiudere tutte le finestre flottanti" + "Allow ESC to close all floating windows": "Consenti ESC per chiudere tutte le finestre flottanti", + "Export All Data": "Esporta tutti i dati", + "Import All Data": "Importa tutti i dati" } diff --git a/src/_locales/ja/main.json b/src/_locales/ja/main.json index b85e365..ea759bf 100644 --- a/src/_locales/ja/main.json +++ b/src/_locales/ja/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "これを説明する: {{selection}}", "New": "新規", "Always display floating window, disable sidebar for all site adapters": "常にフローティングウィンドウを表示し、すべてのサイトアダプターでサイドバーを無効にします", - "Allow ESC to close all floating windows": "ESCキーですべてのフローティングウィンドウを閉じる" + "Allow ESC to close all floating windows": "ESCキーですべてのフローティングウィンドウを閉じる", + "Export All Data": "すべてのデータをエクスポート", + "Import All Data": "すべてのデータをインポート" } diff --git a/src/_locales/ko/main.json b/src/_locales/ko/main.json index 058f542..29ff50f 100644 --- a/src/_locales/ko/main.json +++ b/src/_locales/ko/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "이것을 설명하세요: {{selection}}", "New": "새로 만들기", "Always display floating window, disable sidebar for all site adapters": "항상 떠다니는 창을 표시하고 모든 사이트 어댑터의 사이드바를 비활성화합니다", - "Allow ESC to close all floating windows": "ESC를 눌러 모든 떠다니는 창을 닫도록 허용" + "Allow ESC to close all floating windows": "ESC를 눌러 모든 떠다니는 창을 닫도록 허용", + "Export All Data": "모든 데이터 내보내기", + "Import All Data": "모든 데이터 가져오기" } diff --git a/src/_locales/pt/main.json b/src/_locales/pt/main.json index 47c4ece..0d4d401 100644 --- a/src/_locales/pt/main.json +++ b/src/_locales/pt/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Explique isso: {{selection}}", "New": "Novo", "Always display floating window, disable sidebar for all site adapters": "Sempre exibir janela flutuante, desativar barra lateral para todos os adaptadores de site", - "Allow ESC to close all floating windows": "Permitir ESC para fechar todas as janelas flutuantes" + "Allow ESC to close all floating windows": "Permitir ESC para fechar todas as janelas flutuantes", + "Export All Data": "Exportar Todos os Dados", + "Import All Data": "Importar Todos os Dados" } diff --git a/src/_locales/ru/main.json b/src/_locales/ru/main.json index 05cfb1b..47da012 100644 --- a/src/_locales/ru/main.json +++ b/src/_locales/ru/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Объяснить это: {{selection}}", "New": "Новый", "Always display floating window, disable sidebar for all site adapters": "Всегда отображать плавающее окно, отключить боковую панель для всех адаптеров сайтов", - "Allow ESC to close all floating windows": "Разрешить ESC для закрытия всех плавающих окон" + "Allow ESC to close all floating windows": "Разрешить ESC для закрытия всех плавающих окон", + "Export All Data": "Экспорт всех данных", + "Import All Data": "Импорт всех данных" } diff --git a/src/_locales/tr/main.json b/src/_locales/tr/main.json index cc2134d..c3798e4 100644 --- a/src/_locales/tr/main.json +++ b/src/_locales/tr/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "Bunu açıkla: {{selection}}", "New": "Yeni", "Always display floating window, disable sidebar for all site adapters": "Her zaman kayan pencereyi görüntüle, tüm site adaptörleri için kenar çubuğunu devre dışı bırak", - "Allow ESC to close all floating windows": "ESC tuşuyla tüm kayan pencereleri kapatmaya izin ver" + "Allow ESC to close all floating windows": "ESC tuşuyla tüm kayan pencereleri kapatmaya izin ver", + "Export All Data": "Tüm Verileri Dışa Aktar", + "Import All Data": "Tüm Verileri İçe Aktar" } diff --git a/src/_locales/zh-hans/main.json b/src/_locales/zh-hans/main.json index ae1f95a..29796c3 100644 --- a/src/_locales/zh-hans/main.json +++ b/src/_locales/zh-hans/main.json @@ -146,6 +146,8 @@ "New": "新建", "Always display floating window, disable sidebar for all site adapters": "总是显示浮动窗口, 禁用所有站点适配器的侧边栏", "Allow ESC to close all floating windows": "允许按ESC关闭所有浮动窗口", + "Export All Data": "导出所有数据", + "Import All Data": "导入所有数据", "Temperature": "温度", "keep-alive Time": "保活时间", "5m": "5分钟", diff --git a/src/_locales/zh-hant/main.json b/src/_locales/zh-hant/main.json index 8951662..0236dc8 100644 --- a/src/_locales/zh-hant/main.json +++ b/src/_locales/zh-hant/main.json @@ -144,5 +144,7 @@ "Explain this: {{selection}}": "解釋這個: {{selection}}", "New": "新增", "Always display floating window, disable sidebar for all site adapters": "總是顯示浮動視窗,停用所有網站適配器的側邊欄", - "Allow ESC to close all floating windows": "允許按 ESC 關閉所有浮動視窗" + "Allow ESC to close all floating windows": "允許按 ESC 關閉所有浮動視窗", + "Export All Data": "匯出所有資料", + "Import All Data": "匯入所有資料" } diff --git a/src/popup/sections/GeneralPart.jsx b/src/popup/sections/GeneralPart.jsx index 8be45b5..ef6d1b0 100644 --- a/src/popup/sections/GeneralPart.jsx +++ b/src/popup/sections/GeneralPart.jsx @@ -1,5 +1,6 @@ import { useTranslation } from 'react-i18next' import { useState } from 'react' +import FileSaver from 'file-saver' import { openUrl } from '../../utils/index.mjs' import { isUsingOpenAiApiKey, @@ -551,6 +552,44 @@ export function GeneralPart({ config, updateConfig }) { {t('Focus to input box after answering')}
+
+ + +
) }