immersive-translate 输入框翻译的触发键怎么设置?起始键与结束键的含义和默认值
【免费下载链接】immersive-translate沉浸式双语网页翻译扩展 , 支持输入框翻译, 鼠标悬停翻译, PDF, Epub, 字幕文件, TXT 文件翻译 - Immersive Dual Web Page Translation Extension项目地址: https://gitcode.com/GitHub_Trending/im/immersive-translate
immersive-translate(沉浸式翻译)的「输入框翻译」功能靠两个触发键工作:一个起始键,用来在输入框里划出"只翻译这一段"的范围;一个结束键,连按它 3 次就触发翻译。本文基于仓库中dist/chrome/default_config.json的默认配置和dist/chrome/locales.json的设置页文案,说明这两个键的含义、默认值,以及如何在扩展设置页里修改并验证效果。
需要先说明:README.md 指出该仓库用于发布 Release 版本,不包含扩展源代码,dist/chrome/与dist/firefox/是构建产物。因此本文的配置项名称与默认值以 dist/chrome/default_config.json(其中releaseVersion为1.30.2)为准,设置页界面文案以 dist/chrome/locales.json 为准。
两个触发键分别控制什么
起始键:inputStartingTriggerKey,部分翻译的分割符
设置页中对应条目为「设置输入框部分翻译的分割字符」(inputStartingTriggerKeyTitle)。它的作用不是触发翻译,而是划定翻译范围:
- 不需要翻译整个输入框时,只翻译从起始键到输入框末尾的部分;
- 可以在起始键后追加语言代码,例如输入
/ja Hello,表示只翻译从/ja到输入框末尾的部分(文案键inputStartingTriggerKeyDescription)。
默认值是/。
起始键还支持设置为"无需前缀"。此时设置页会提示「当前设置为无需前缀,暂无法使用输入框的部分文本翻译功能」(inputStartingTriggerKeyDescriptionForNoneKey)——即关掉前缀会失去"只翻译一部分"的能力,这是设置该项时需要权衡的地方。
配置文件中还给出了一份别名表inputStartingTriggerKeyAlias,说明中文输入法下打出的对应符号也会被识别为同一个键:
| 起始键 | 配置中列出的别名 |
|---|---|
/ | 、、slash |
. | 。、period |
, | ,、comma |
space | 多种空格字符变体 |
; | ;、semicolon |
: | : |
结束键:inputTrailingTriggerKey,连击触发字符
设置页对应条目为「选择一个输入结束的触发字符」(inputTrailingTriggerKeyTitle)。它的语义是"输入结束"的信号:
- 默认值是
space(空格键); - 触发方式是快速三连击该键,文案为「快速三连击 {trailingKey} 将会开始翻译」(
inputTrailingTriggerKeyDescription); - 连击间隔由
inputTrailingTriggerKeyTimeout控制,即「输入结束连击触发的间隔时间(毫秒)」,桌面端默认200,移动端(inputTrailingMobileTriggerKeyTimeout)默认300; - 连击次数由
inputTrailingTriggerKeyRepeatTimes控制,默认3。配置中带版本标记的历史值显示:1.24.1 起该值为 2,1.25.1 起改为 3;间隔在 1.24.1 为 300,之后改为 200。
此外还有一个相关开关enableInputTranslationWithoutTriggerKey(默认true):「快速三连击 {trailingKey},直接将整个输入框翻译为{inputTargetLanguage}」——不输入起始键、只三连击结束键时,整个输入框都会被翻译,目标语言取默认目标语言(inputTargetLanguage,默认en)。
设置页「是否启用输入框翻译」下方的说明文案(enableInputTranslationDescription)给出了一条完整示例:输入框中输入//你好,再快速三连击空格,即可翻译为默认目标语言。注意这是设置页自身的示例文案,不是每次操作的固定输出。
默认值一览
以下值全部来自 dist/chrome/default_config.json(releaseVersion为1.30.2):
| 配置项 | 含义 | 默认值 |
|---|---|---|
inputStartingTriggerKey | 起始键(部分翻译分割符) | / |
inputTrailingTriggerKey | 结束键(连击触发字符) | space(空格) |
inputTrailingTriggerKeyRepeatTimes | 连击次数 | 3 |
inputTrailingTriggerKeyTimeout | 连击间隔(毫秒) | 200 |
inputTrailingMobileTriggerKeyTimeout | 移动端连击间隔(毫秒) | 300 |
inputTargetLanguage | 输入框翻译默认目标语言 | en |
enableInputTranslation | 是否启用输入框翻译 | true |
enableInputTranslationWithoutTriggerKey | 快速三连击直接翻译整个输入框 | true |
同文件generalRule.inputConfig中还有一组数值(triggerGapMs: 250、triggerIdleMs: 250、triggerToleranceCount: 2、triggerMinDurationMs: 1500、triggerCancelWindowMs: 3000、confirmLongTextLength: 200),属于输入框翻译的连击判定与确认参数;配置文件未逐项解释其含义,这里仅列出原值,不建议在没有文档说明的情况下自行解读。
在设置页中修改并验证
- 安装扩展后打开扩展的设置页(构建产物入口为 dist/chrome/options.html,配套脚本为 dist/chrome/options.js)。设置页中有名为「输入框翻译」的分组(
inputOptions,英文界面为 "Translate input box")。 - 在该分组内可以看到以下条目(名称取自 dist/chrome/locales.json):
- 「是否启用输入框翻译」(
enableInputTranslation); - 「设置输入框部分翻译的分割字符」(起始键);
- 「选择一个输入结束的触发字符」(结束键);
- 「输入结束连击触发的间隔时间(毫秒)」(
inputTrailingTriggerKeyTimeout); - 「默认目标语言」(
inputTargetLanguage)与「自动识别对话语言」(label.inputAutoLanguageEnable,默认开启,配置中autoLanguageEnable为true); - 「切勿在以下网址中启用输入框翻译」(
inputTranslationBlockUrls,默认已包含飞书/Lark、Notion、Figma 文件页、蓝湖及沉浸式翻译自有文本页等域名); - 「保留原文」(
inputTranslationModeLabel):开启后「输入框中的内容将保留原文,以双语的方式显示」。
- 「是否启用输入框翻译」(
- 修改:把起始键改成你输入时方便打出的符号(可参考上文别名表,
/、.、,、;、:及空格均在候选中),把结束键改成不易与正常输入冲突的键,并按手感调整连击间隔(毫秒值越小,连击判定越严格)。 - 验证触发:在网页输入框中输入任意内容,快速三连击结束键。触发后扩展会弹出引导提示,文案为「你刚刚连续按下空格键 3 次,触发了沉浸式翻译的『输入框翻译』功能:输入框内容将被翻译成默认 {targetLanguage}(修改语言);连续按下 3 次空格键或者按 Alt + I,即可自动翻译当前输入框内容;按 Ctrl + Z 可以撤销翻译」(
inputGuide.description)。看到译文出现在输入框中、且提示可改目标语言,即表示触发成功。 - 验证起始键的部分翻译:在输入框中输入
/ja加上一段文字(默认起始键为/),触发翻译后应只有从/ja到末尾的部分被翻译,且目标语言为日语;不带语言代码时(如//你好)则翻译到默认目标语言。 - 替代触发方式:除了三连击,按
Alt + I也能翻译当前输入框内容——该快捷键来自配置项shortcuts.translateInputBox,与引导文案一致。
触发后如何判断结果与排查现象
- 撤销:翻译后可用
Ctrl + Z撤销;注意部分网站因设置限制,翻译后可能无法撤销(来自确认弹窗文案inputGuide.confirmDescription)。 - 长内容确认:当输入内容较长时(配置项
confirmLongTextLength默认200),触发后会先弹出「检测到内容较长,为避免误操作,是否继续翻译?」的确认框,而不是直接翻译。 - 译文与原文相同:如果输入框翻译后的译文和原文完全相同,扩展会提示「注意:输入框翻译后的译文和您输入的原文完全相同(当前设置的输入框目标语言:{target},当前的翻译服务:{service}),请检查您的设置或试用其他翻译服务来对比效果」(
modalInputTranslationSameDesc)。此时应优先检查默认目标语言设置与所用翻译服务,而不是反复重按触发键。 - 功能在某网站无效:先核对「切勿在以下网址中启用输入框翻译」列表(
inputTranslationBlockUrls)与inputTranslationUrlPattern(默认为空,即不按 URL 启用/排除)。
边界说明
- 移动端(手机 App 形态)输入框翻译使用手势触发,设置页对应条目为「设置移动端输入框翻译手势」(
touchShortcutsInputTranslate),且连击间隔走 300 毫秒的移动端默认值,与桌面端分开。 - 起始键设为"无需前缀"后,部分文本翻译功能不可用,但"三连击结束键翻译整个输入框"仍然可用(
enableInputTranslationWithoutTriggerKey)。 - 本文所有默认值对应
dist/chrome/default_config.json中releaseVersion为1.30.2的配置;dist/firefox/default_config.json 中 Firefox 版配置了同样的触发键字段,取值一致。
相关文件
- dist/chrome/default_config.json:默认配置(触发键、默认值、连击参数、屏蔽 URL 列表)
- dist/chrome/locales.json:设置页与引导弹窗的多语言文案
- dist/chrome/options.html / dist/chrome/options.js:设置页构建产物
- docs/options/options.js:docs 目录下的设置页脚本副本
- README.md:仓库说明(发布 Release、不含源代码)
【免费下载链接】immersive-translate沉浸式双语网页翻译扩展 , 支持输入框翻译, 鼠标悬停翻译, PDF, Epub, 字幕文件, TXT 文件翻译 - Immersive Dual Web Page Translation Extension项目地址: https://gitcode.com/GitHub_Trending/im/immersive-translate
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考