Before you begin
Is your feature request related to a problem? Please describe.
背景
目前判断段落是否为目标语言、从而跳过翻译的逻辑位于 shouldSkipAsTargetLanguage,其内部会调用语言检测(如 detectLanguage)来判断段落语言 translation-modes.ts:837-839 。测试用例中也能看到当前是通过 detectLanguage 结合 Unicode 汉字区间正则(/[一-鿿]/)等方式模拟判断中文 target-language-skip.test.ts:82-99 。
在 translateTextForPage 的现有实现和测试里,目标语言预检测(enableTargetLanguageSkip)会调用 detectLanguage(text, { enableLLM: false }),并依赖长度阈值 MIN_LENGTH_FOR_SKIP_LLM_DETECTION 判断是否触发检测 translate-text.test.tsx:177-217 。
但存在一个问题:某些段落存在中英文夹杂的情况下,会被识别为英文,然后再翻译一遍,但实际上也并没有翻译成功,反而导致了整体的浏览效率极低。如下图所示:
即使已经设定了“小段落过滤”(最小字符数:20;最小词数:5)也无法避免,且容易误伤。
Describe the solution you'd like
需求描述
希望增加一个更简单、更"宽松"的中文判定规则:只要段落文本中包含至少一个中文字符(CJK Unicode 区间),就直接判定该段落为中文,从而跳过翻译,而不需要依赖现有基于统计/语言模型的 detectLanguage 判断逻辑(该逻辑可能因段落中夹杂英文、数字、专有名词而误判为非中文,导致中文段落被错误地送去翻译)。
期望行为
在 shouldSkipAsTargetLanguage(或其上游调用方 translateTextForPage / translateNodes 中的预检测环节)新增一种快速路径的选项(可以开启关闭):当目标语言为中文(targetCode 为 zh 系列)时,先用正则(类似 /[一-鿿]/ 或更完整的 CJK Unicode 区间)检测文本,只要命中一个中文字符即视为"已是目标语言",跳过后续的 detectLanguage 调用和翻译请求。
该规则应与现有 enableTargetLanguageSkip 开关、skipLanguages 配置项协同工作,不应破坏非中文目标语言场景下的原有检测逻辑。
需要覆盖的场景:
纯中文段落 → 跳过翻译(现有逻辑已支持)。
中英文混排段落(如中文夹杂专有名词/代码/数字)→ 新规则下应判定为中文并跳过,而非当前可能被误判为英文进而发起翻译请求。
中文标点或全角符号是否算作"中文字符"需要明确边界。
Which area(s) would this feature affect? (Select all that apply)
Browser Extension
Additional context
No response
Before you begin
Is your feature request related to a problem? Please describe.
背景
目前判断段落是否为目标语言、从而跳过翻译的逻辑位于 shouldSkipAsTargetLanguage,其内部会调用语言检测(如 detectLanguage)来判断段落语言 translation-modes.ts:837-839 。测试用例中也能看到当前是通过 detectLanguage 结合 Unicode 汉字区间正则(/[一-鿿]/)等方式模拟判断中文 target-language-skip.test.ts:82-99 。
在 translateTextForPage 的现有实现和测试里,目标语言预检测(enableTargetLanguageSkip)会调用 detectLanguage(text, { enableLLM: false }),并依赖长度阈值 MIN_LENGTH_FOR_SKIP_LLM_DETECTION 判断是否触发检测 translate-text.test.tsx:177-217 。
但存在一个问题:某些段落存在中英文夹杂的情况下,会被识别为英文,然后再翻译一遍,但实际上也并没有翻译成功,反而导致了整体的浏览效率极低。如下图所示:
即使已经设定了“小段落过滤”(最小字符数:20;最小词数:5)也无法避免,且容易误伤。
Describe the solution you'd like
需求描述
希望增加一个更简单、更"宽松"的中文判定规则:只要段落文本中包含至少一个中文字符(CJK Unicode 区间),就直接判定该段落为中文,从而跳过翻译,而不需要依赖现有基于统计/语言模型的 detectLanguage 判断逻辑(该逻辑可能因段落中夹杂英文、数字、专有名词而误判为非中文,导致中文段落被错误地送去翻译)。
期望行为
在 shouldSkipAsTargetLanguage(或其上游调用方 translateTextForPage / translateNodes 中的预检测环节)新增一种快速路径的选项(可以开启关闭):当目标语言为中文(targetCode 为 zh 系列)时,先用正则(类似 /[一-鿿]/ 或更完整的 CJK Unicode 区间)检测文本,只要命中一个中文字符即视为"已是目标语言",跳过后续的 detectLanguage 调用和翻译请求。
该规则应与现有 enableTargetLanguageSkip 开关、skipLanguages 配置项协同工作,不应破坏非中文目标语言场景下的原有检测逻辑。
需要覆盖的场景:
纯中文段落 → 跳过翻译(现有逻辑已支持)。
中英文混排段落(如中文夹杂专有名词/代码/数字)→ 新规则下应判定为中文并跳过,而非当前可能被误判为英文进而发起翻译请求。
中文标点或全角符号是否算作"中文字符"需要明确边界。
Which area(s) would this feature affect? (Select all that apply)
Browser Extension
Additional context
No response