平台介绍
硅基流动(AI服务平台)
官网:https://siliconflow.cn/zh-cn/
官方介绍
我主要使用:云服务平台 SilliconCloud
此平台已经将热门的开源大语言模型部署,花钱买额度,就能使用 API
最近有上线 DeepSeek 模型,可以体验一下
类似的平台,互联网大厂也有,比如腾讯云、华为云、阿里云等等
Crowdin(语言本地化平台)
Crowdin 是一个功能强大的翻译管理平台(语言本地化平台),专为需要多语言支持的企业设计,尤其适合软件开发、内容创作和游戏等行业。
- 提供全面的翻译管理功能,包括项目创建、任务分配和进度跟踪
- 支持术语管理、本地化支持,满足不同市场的需求。
- 支持版本控制、质量保证工具、流水线检查,确保翻译的准确性和一致性。
提供 API,支持与开发工具如 Jira 和 GitHub 的集成 - 具有在线编辑器,支持在线协作,允许翻译人员、审校人员和项目经理在同一平台工作,实时沟通。
编辑器可实现源码对照翻译、H5页面可视化翻译、截图翻译等功能 - 支持调用 AI 进行翻译(这也是本文的重点)
- 费用比较友好,免费额度给的比较慷慨:免费可创建一个私有项目,无限个公共项目,创建的项目无法添加管理员但可以添加协作者,自己拥有的所有项目翻译的词数不超过 60K
知名客户:微软、JetBrain、Github、Gitlab 等
实际上这个网站对开源产品也比较友好,开源产品可以申请高级版本:详情
类似的软件语言本地化平台
- weblate:对开源项目更友好,上面的开源项目最多
- Transifex:最老牌的翻译平台,功能强大,也支持开源项目免费使用
整体翻译流程和目的
我使用 Crowdin 的目的:对一个软件进行中文汉化
- 软件原语言为英文,源码不是我的、开发者也不是我,我只是帮忙翻译的
- 使用 Crowdin 的免费额度(free plan)
- 上传 txt 和软件截图,在软件截图中标注对应文字的位置,然后将 txt 中的对应文本翻译为中文
- 在人工翻译前,调用 AI 结合上下文和翻译记忆,提供被翻译的软件文字的基本信息(prompt),先对文本进行预翻译,减少人工工作量
配置步骤
在硅基流动平台申请API的秘钥(token)
各类模型的搭建,平台已经配置好了,只需要给他打钱,然后就能调用他家的 API
调用 API 的时候,指明秘钥、使用的模型就行
Crowdin 平台的配置
配置中文
- 点击右上角头像 --> Settings,进入设置界面
- 在设置界面的【profile】中,向下找,找到 Crowdin langauge,里边选【中文简体】,点击确定
- 网页会自动刷新,然后界面就会变成中文
Crowdin 接入硅基流动平台的 API
- 点击 Crowdin 左侧导航栏的【AI】
进入右侧界面,点击【提供商】,在 OpenAI 一行右侧,点击【…】–>【编辑】
- 按照 硅基流动 官网提示,填入对应参数
- 最上面选择【使用我自己的 API 秘钥】
- API 秘钥,填入从硅基流动平台复制的自己账号的 API 秘钥
- 点开高级设置
- 先填入【覆盖基准 URL】,填入硅基流动 API 接口的网址:
- 此时“模型”部分会自动测试 API 的连通性,如果正确配置,会自动拉取此接口中读取到的所有可使用的模型(即硅基流动平台提供的所有大语言模型)
- 在下面的选项中,选择要用的模型名称(我这里选的是阿里千问 2.5-72B)
- 最后点击【更新】,保存设置
这里关于选用的模型,可以在硅基流动的【模型广场】查看,点击要用的模型后,点击模型名右侧的复制图表,就能复制模型名称,然后在上面的 Crowdin 设置中把模型名称粘贴就行
设置提示词
-
点击 Crowdin 左侧导航栏的【AI】
进入右侧界面,点击【提示词】,选择【添加提示词】,新增一个提示词模版 -
基本配置
- 勾选“已启用”
- 类型:预翻译
- 标题:后面显示的预翻译的提示词名称,可以自己定义
- AI 提供商:Open AI
- AI 模型:使用千问-72B(理论上会根据之前的模型配置自动带出,这里也可以单独修改)
- 模式:高级(只有开了高级模式,才能自定义提示词)
-
提示词内容(这里的提示词结合软件用途,使用 deepseek R1 进行生成的,并不是通用的提示词)
以下的 12 点为我自己添加的专用于此翻译项目的提示词
其他的内容是 Crowdin 自带提示词,建议不作改动
![]() | Follow the instructions below: 1. Act as professional translator and translate provided JSON from %sourceLanguage% to %targetLanguage%; 2. For %targetLanguage% language use next ICU plural forms: %pluralForms%. Add missing forms and remove excess forms as needed; 3. Use translation memory matches as a reference to provide translations; 4. Use file context and file name to get additional information for translation process; 5. File context can be formatted as markdown or raw text; 6. Always strictly refer to the translation glossary. Always use terms’ translations from glossary, even if other more commonly used or recognized translations are available. Translations with status “preferred” should be used with highest priority. Translations with status “obsolete” or “not recommended” shouldn’t be used at all; 7. Parse the provided JSON into an array, translate the ‘text’ property of each object in the array to %targetLanguage% according to the instructions using terms, translation memory matches and file context, do not ignore html markup in the text, if some text cannot be translated then put ‘’ string in ‘text’ property, serialise the resulting array into JSON, and send that JSON as a response; 8. Do not skip objects in JSON and do not add new objects; 9. Respond with processed JSON only, without any additional text or explanation; 10. The JSON in your response should be valid and complete, with no truncation of any kind. 11. Remember, all double quotes marks in texts and translations should be escaped to keep valid JSON. After forming the JSON response, verify its validity to ensure all special characters are properly escaped. 12. 确保翻译结果准确传达原文的专业含义和功能描述。特别注意以下几点: 12.1 保持品牌名称和术语的一致性,例如: - SHM MOD Companion 翻译为 SHM MOD 助手 - SHM MOD Watch 翻译为 手表版 SHM MOD - SHM MOD Watch Companion 翻译为 手表版 SHM MOD 助手 12.2 确保功能描述的准确性,例如: - ECG 心电翻译为 心电图(ECG) - BP 血压翻译为 血压(BP) 12.3 保持语言的自然流畅,符合中文用户的阅读习惯。 12.4 保留原文中涉及技术或功能的专业术语,必要时可以使用括号标注英文原词,例如:ECG(心电图)。 12.5 确保翻译结果与 APP 的功能和品牌定位一致,例如: APP 的主要功能是 解锁手表的健康功能,如心电图(ECG)、血压(BP)等。 12.6 如果遇到不确定的术语或表达,优先选择简洁明了的中文表达,避免直译或生硬的表达。 12.7 确保格式和术语在所有翻译内容中保持一致,避免不同页面或功能出现不同的表达方式。” Translation memory matches: <br/>%tm%<br/> Translation glossary: <br/>%terms%<br/> JSON: <br/>%strings%<br/> File name: %fileName% File context: <br/>%fileContext%<br/> |
— | — |
- 配置完成,点击【创建】
执行AI翻译
在 Crowdin 中,这种机器批量翻译被称为【预翻译】
点击自己参与的翻译项目,右上角点击【预翻译】–>【通过 AI 翻译】
弹窗配置要翻译的内容、要翻译的目标语言、使用的提示词等信息,然后点击右下角开始翻译
然后会看到右下角提示,提示翻译任务运行状态
截图 | 状态 |
---|---|
![]() | 正在翻译中 |
![]() | 翻译完成 |
翻译完成后,点击进入具体翻译文本,可看到预翻译的结果已经填入对应位置
一些小总结
- 根据 Crowdin 配置时提供的默认提示词, Crowdin 本身支持记忆(Memory)功能,支持上下文检索,因此做简单翻译时,可直接调用接口,不用考虑太多 RAG 的工作
- Crowdin 本身有一个【术语库】功能,可用于项目中的品牌、商标、特有的技术或产品名称,可结合使用提高翻译的规范性
- Crowdin 实际上提供的 API、集成等功能,还有待探索,但是看起来功能非常强大