# \[DictTanog\] 为词典内容批量添加AI功能

**URL:** <https://forum.freemdict.com/t/topic/44023>\
**Category:** DictTango\
**Tags:** 玩转dicttango\
**Created:** [2026 年5 月 15 日 10:21 UTC](https://forum.freemdict.com/t/topic/44023 "2026-05-15T10:21:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![glacierlee](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/glacierlee/32/74595_2.png) [@glacierlee](https://forum.freemdict.com/u/glacierlee)\
**Post date:** [2026 年5 月 15 日 10:21 UTC](https://forum.freemdict.com/t/topic/44023/1 "2026-05-15T10:21:26Z")

</div>

DictTango提供了几个内置javascript函数，可以让用户在不重新打包mdx的情况加上内容的AI功能, 显示效果为在内容的后面加上一个AI按钮，点击按钮后进行调用指定的AI Prompt并实时显示AI输出。

这几个内置函数分别是\_\_addAI\_ByName, \_\_addAI\_ByTag, \_\_addAI\_ByCssClass, 和 \_\_addAI\_BySelector,

## 使用方法

1. 查看MDX的html源内容，找出要进行发音的html元素  
**小技巧** : 去设置-\>词典设置里打开调试模式，然后用词典查一个词，相关的html会在sdcard里DictTango/Logs目录里生成，直接打开html就可以看到里面的内容了
2. 在词典管理里，编辑相关的词典，然后添加相关函数及其参数到词典的内联脚本就可以了

* * *

* * *

## 根据网页元素的名字量添加AI按钮

**函数名** ：\_\_addAI\_ByName(elementName, promptName, outputElementId, iconSize)

**参数-\>elementName** ：网页元素的名字

**参数-\>promptName** ：DictTango中的添加的Prompt名称，可以参考 [这里](https://github.com/Jimex/DictTango-Android/wiki/DictTango-%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3) 看如何添加AI Prompt

**参数-\>outputElementId** ：AI结果输出的目标网页元素，如果是null就会自动在当前内容下面显示AI结果，如果放"\_blank"就会在底部弹出窗口中显示AI结果输出

**参数-\>iconSize** ：按钮的图标大小，如果没有指定或者null，就按默认大小，

**适用情况**

```html
<div name="word">徘徊</div>
<div name="word">开心</div>
<div name="word">冲突</div>
<div name="word">畅顺</div>

```

**示例代码**

```html
__addAI_ByName('word','CHINESE_WORD_DEF');
__addAI_ByName('word','CHINESE_WORD_DEF', '_blank');
__addAI_ByName('word','CHINESE_WORD_DEF', '_blank', '1em');

```

* * *

## 根据网页元素的css样式class批量添加AI按钮

**函数名** ： \_\_addAI\_ByCssClass(cssClass, promptName, outputElementId, iconSize)

**参数-\>cssClass** ：网页元素的css样式class

**参数-\>promptName** ：参照\_\_addAI\_ByName

**参数-\>outputElementId** ：参照\_\_addAI\_ByName

**参数-\>iconSize** ：参照\_\_addAI\_ByName

**适用情况**

```html
 <span class="pg_en">I am a boy</span>
 <span class="pg_cn">我是一个男生</span>

 <span class="pg_en">I am a girl</span>
 <span class="pg_cn">我是一个女生</span>

```

**示例代码**

```html
__addAI_ByCssClass('pg_en','CHINESE_WORD_DEF');
__addAI_ByCssClass('pg_cn','CHINESE_WORD_DEF', '_blank');
__addAI_ByCssClass('pg_en','CHINESE_WORD_DEF', '_blank', '1em');

```

* * *

## 根据网页元素的标记批量添加AI按钮

**函数名** ：\_\_addAI\_ByTag(tagName, promptName, outputElementId, iconSize)

**参数-\>tagName** ：网页元素标记，例如span, div及其它定义的标记

**参数-\>promptName** ：参照\_\_addAI\_ByName

**参数-\>outputElementId** ：参照\_\_addAI\_ByName

**参数-\>iconSize** ：参照\_\_addAI\_ByName

**适用情况**

```html
 <en>I am a boy</en>
 <cn>我是一个男生</cn>

 <en>I am a girl</en>
 <cn>我是一个女生</cn>

```

**示例代码**

```html
__addAI_ByTag('en','CHINESE_WORD_DEF');
__addAI_ByTag('cn','CHINESE_WORD_DEF', '_blank');
__addAI_ByTag('en','CHINESE_WORD_DEF', '_blank', '1em');

```

* * *

## 高级用法：根据指定的选择器组匹配的网页中的元素批量添加TTS发音

**函数名** ：\_\_addAI\_BySelector(selector, promptName, outputElementId, iconSize)

**参数-\>selector** ： 一个DOMString包含一个或多个匹配的选择器，例如span[data-lang=‘en’]。更多选择器详情，请参考以下网址： [Document.querySelectorAll - Web API | MDN](https://developer.mozilla.org/zh-CN/docs/Web/API/Document/querySelectorAll)

**参数-\>promptName** ：参照\_\_addAI\_ByName

**参数-\>outputElementId** ：参照\_\_addAI\_ByName

**参数-\>iconSize** ：参照\_\_addAI\_ByName

**适用情况**

```html
 <span data-lang="en">I am a boy</span >
 <span data-lang="cn">我是一个男生</span>

 <span data-lang="en">I am a girl</span>
 <span data-lang="cn">我是一个女生</span>

```

**示例代码**

```html
__addAI_BySelector("span[data-lang='en']", 'CHINESE_WORD_DEF');
__addAI_BySelector("span[data-lang='en']", 'CHINESE_WORD_DEF','_blank');
__addAI_BySelector("span[data-lang='cn']", 'CHINESE_WORD_DEF','_blank', '1em');

```

* * *

## 使用示例，用AI Prompt实现词典内容的英译中

#### 1. 添加以下AI Prompt 并命名为 EN\_TO\_CN, {INPUT\_CONTENT}是必需的占位符

> 你是一位专业的中英双语翻译专家，请将我提供的英文内容准确翻译成自然、流畅、符合中文\> 表达习惯的中文。
> 
> 翻译要求：
> 
> 1. 保持原文意思准确，不遗漏信息。
> 2. 优先使用自然中文表达，而不是逐字直译。
> 3. 根据上下文自动调整语气与风格（正式、商务、日常、学术等）。
> 4. 如果原文存在双关、俚语或文化背景，请给出最贴切的中文表达。
> 5. 保留原文中的专有名词、人名、品牌名或技术术语，并在必要时附上中文解释。
> 6. 如果句子有多种合理译法，请给出最佳版本，并可简要说明原因。
> 7. 请采用“英文原文 + 中文翻译”逐句对照格式输出
> 
> 请翻译以下英文内容：  
> {INPUT\_CONTENT}

#### 2. 假设词典内容如下，编辑词典详情，在"JS脚本注入中" 输入 \_\_addAI\_ByName(‘en’,‘EN\_TO\_CN’, ‘\_blank’, ‘1.2em’)

```html
<div name="en"> I've been such a fool, Vassili. Man will always be a man. There is no new man. We tried so hard to create a society that was equal, where there'd be nothing to envy your neighbour. But there's always something to envy. A smile, a friendship, something you don't have and want to appropriate. In this world, even a Soviet one, there will always be rich and poor. Rich in gifts, poor in gifts. Rich in love, poor in love.</div>

```

* * *

#### 3. 再次打开词典内容，就会看到有AI按钮生成，点击按钮就可以看到AI内容输出
