diff --git a/src/config/index.mjs b/src/config/index.mjs index 14fb42c..d7fd3d2 100644 --- a/src/config/index.mjs +++ b/src/config/index.mjs @@ -215,6 +215,7 @@ export const defaultConfig = { userLanguage: getNavigatorLanguage(), apiModes: Object.keys(Models), selectionTools: [ + 'explain', 'translate', 'translateToEn', 'translateToZh', @@ -227,6 +228,7 @@ export const defaultConfig = { 'ask', ], selectionToolsDesc: [ + 'Explain', 'Translate', 'Translate (To English)', 'Translate (Bidirectional)', diff --git a/src/content-script/selection-tools/index.mjs b/src/content-script/selection-tools/index.mjs index 40e34e6..6b41190 100644 --- a/src/content-script/selection-tools/index.mjs +++ b/src/content-script/selection-tools/index.mjs @@ -7,10 +7,19 @@ import { Translate, Braces, Globe, + ChatTextFill, } from 'react-bootstrap-icons' import { getPreferredLanguage } from '../../config/language.mjs' export const config = { + explain: { + icon: , + label: 'Explain', + genPrompt: async (selection) => { + const preferredLanguage = await getPreferredLanguage() + return `Reply in ${preferredLanguage}.Explain the following:\n"${selection}"` + }, + }, translate: { icon: , label: 'Translate',