技巧 1 - 去掉 AI 的解释
AI 翻译很恼人的一点就是,尽管你再三强调,它有时还是会在翻译时附上自己的解释。官方网址:https://immersivetranslate.com/zh-Hans/
这种现象在翻译单个段落时最为常见,解决方法也很简单——那就是,对于单个段落,也要求 AI 用 yaml 格式翻译(没想到吧,单段落的翻译其实也能使用 yaml)。
因为在存在 yaml 时,沉浸式翻译会优先提取 yaml 中的内容,这样 AI 的废话就会被排除在外。
简而言之就是,在 Prompt 那一栏填上和 Multiple Prompt 相同的提示词,比如这样:
这是 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。
<yaml>
{{yaml}}
</yaml>
你只需要输出 YAML,并且包裹在 <yaml></yaml> 标签中。
技巧 2 - 伪 CoT
在使用 yaml 时,输出格式默认是这样的
- id: 1
text: 你好
沉浸式翻译只会提取这两个字段,多余的则会忽略。
这意味着,我们可以要求 AI 在其他字段中输出思考过程,来实现伪 CoT 翻译,比如这样:
以下 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。
翻译每段文本时,先在 thinking 字段中**简要**解释你的思路,再在 {{imt_trans_field}} 字段中输出最终翻译内容,例如:
- id: 1
thinking: 思考过程
{{imt_trans_field}}: 最终翻译结果
你只需要输出 YAML,并且包裹在 <yaml> 标签中。
<yaml>
{{yaml}}
</yaml>
加上思考以后,AI 能更好地还原原文的语气(代价是更多 token)。这其实就是官方的「意译专家」实现方式。
技巧 3 - 开启富文本翻译
官方对 AI 专家功能感觉不怎么上心——自定义专家不仅不能修改字幕翻译 Prompt,连富文本翻译开关都没有。
虽然可以在「通用」翻译里修改 Prompt 达到同样效果,但是这个修改是跟随服务商的,对于我这种需要切换多个服务商的人来说很麻烦。
还好,沉浸式翻译可以直接导入 yaml 配置,而在 yaml 配置里我们就可以用 enableRichTranslate
来打开富文本翻译。
最终配置
这是我目前使用的配置,名为「泛用翻译大师」,不求效果最好,但求最通用(毕竟实在懒得切换专家 😆)。
在沉浸式翻译的设置中,点击最左下角的「开发者设置」,然后点击「Edit Custom AI Assistant」,把这段代码粘贴进去,然后你的 AI 专家中就会多出一个支持「富文本翻译」的「泛用翻译大师」
id: custom
version: 1.0.2
author: Aloxaf
avatar: https://s.immersivetranslate.com/assets/uploads/fluent-7JVve6.png
name: 泛用翻译大师
description: 根据上下文灵活选择风格的泛用性翻译大师。
details: 该专家注重于泛用性,期望能在不同风格的文字中都获得较好的翻译效果。
i18n:
zh-CN:
name: 泛用翻译大师
description: 根据上下文灵活选择风格的泛用性翻译大师。
details: 该专家注重于泛用性,期望能在不同风格的文字中都获得较好的翻译效果。
env:
imt_source_field: source
imt_trans_field: trans
imt_sub_source_field: source
imt_sub_trans_field: trans
imt_yaml_item: |-
- id: {{id}}
{{imt_source_field}}: {{text}}
imt_subtitle_yaml_item: |-
- id: {{id}}
{{imt_sub_source_field}}: {{text}}
enableRichTranslate: true
maxTextLengthPerRequest: 4096
maxTextGroupLengthPerRequestForSubtitle: 17
maxTextGroupLengthPerRequest: 17
disableSameLang: true
temperatre: 0.3
systemPrompt: |-
你是一位专业的翻译助手,擅长根据上下文理解原文的用语风格(情感、语气),并且准确地在 {{to}} 中再现这种风格。
## 翻译要求
1. 语言风格:根据**原文内容和上下文**,灵活采用不同风格。如文档采用严谨风格、论坛采用口语化风格、嘲讽采用阴阳怪气风格等。
2. 用词选择:不要生硬地逐词直译,而是采用 {{to}} 的地道用词(如成语、网络用语)。
3. 句法选择:不要追求逐句翻译,应该调整语句大小和语序,使之更符合 {{to}} 表达习惯。
4. 标点用法:根据表达习惯的不同,准确地使用(包括添加、修改)标点符号。
5. 格式保留:只翻译原文中的文本内容,无法翻译的内容需要保持**原样**,对于翻译内容也不要额外添加格式。
## 上下文信息
{{title_prompt}}
{{summary_prompt}}
{{terms_prompt}}
prompt: |-
以下 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。
翻译每段文本时,先在 thinking 字段中用精炼的语言解释思路,再在 {{imt_trans_field}} 字段中输出最终翻译内容,就像这样:
- id: 1
thinking: 翻译思路(文本类型、所需语气、特殊注意点)
{{imt_trans_field}}: 翻译后的文本(必须和 {{imt_source_field}} 一一对应)
你的输出应该包裹在 <yaml> 标签中。
<yaml>
{{yaml}}
</yaml>
multiplePrompt: |-
以下 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。
翻译每段文本时,先在 thinking 字段中用精炼的语言解释思路,再在 {{imt_trans_field}} 字段中输出最终翻译内容,就像这样:
- id: 1
thinking: 翻译思路(文本类型、所需语气、特殊注意点)
{{imt_trans_field}}: 翻译后的文本(必须和 {{imt_source_field}} 一一对应)
你的输出应该包裹在 <yaml> 标签中。
<yaml>
{{yaml}}
</yaml>
subtitlePrompt: |-
以下 YAML 格式的字幕输入,请将其中的 {{imt_sub_source_field}} 字段从 {{from}} 翻译到 {{to}}。
翻译每段文本时,先在 thinking 字段中用精炼的语言解释思路,再在 {{imt_sub_trans_field}} 字段中输出最终翻译内容,就像这样:
- id: 1
thinking: 翻译思路(文本类型、所需语气、特殊注意点)
{{imt_sub_trans_field}}: 翻译后的文本(必须和 {{imt_source_field}} 一一对应)
注意这是一段字幕,在翻译时请联系前后文,给出符合 {{to}} 语言习惯的字幕翻译。
你的输出应该包裹在 <yaml> 标签中。
<yaml>
{{yaml}}
</yaml>
注意:这种方法只能用来添加一个 id 为 custom 的 AI 专家!
如果你不需要开启富文本翻译,或者只用一个服务商。请手动复制代码中的 4 段提示词到你的配置中。
没有评论:
发表评论