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',