# AI 用于软件翻译流程

### 选择翻译格式

<div class="paragraph" id="bkmrk-%E9%A1%BA%E4%BE%BF%E5%88%97%E4%B8%BE%E4%B8%80%E4%BA%9B%E8%B4%A8%E9%87%8F%E8%BE%83%E9%AB%98%E7%9A%84%E9%A1%B9%E7%9B%AE">顺便列举一些质量较高的项目</div>#### 基于 GNU gettext PO

<div class="paragraph" id="bkmrk-gnu-gettext-%E6%98%AF%E4%BD%BF%E7%94%A8%E6%9C%80%E5%B9%BF%E6%B3%9B%E7%9A%84%E8%87%AA">GNU gettext 是使用最广泛的自由软件国际化工具之一，且在 Weblate 中有很好的支持。</div><div class="paragraph" id="bkmrk-%E8%BF%99%E4%B8%AA%E5%9C%A8%E7%94%A8%EF%BC%8C%E5%AD%90%E5%91%BD%E4%BB%A4%E6%AF%94%E8%BE%83%E5%A5%BD%E7%94%A8%EF%BC%8Cprompt-">这个在用，子命令比较好用，prompt 设置合理，支持自定义提示、词典、上下文</div><div class="paragraph" id="bkmrk-ryanhex53%2Fgpt-po%3A-co">[ryanhex53/gpt-po: command tool for translate po files by using openai api](https://github.com/ryanhex53/gpt-po)</div><div class="paragraph" id="bkmrk-%E8%BF%99%E4%B8%AA%E6%9C%89%E5%89%8D%E7%AB%AF%EF%BC%8C%E4%BB%8E-gpt-po-issue">这个有前端，从 gpt-po issue 里看到的</div><div class="paragraph" id="bkmrk-leolivier%2Fauto-po-ly">[leolivier/auto-po-lyglot: The goal of this project is to use various LLMs to help translate po files using a first already translated file to provide context for short pieces of text otherwise very ambiguous.](https://github.com/leolivier/auto-po-lyglot)</div><div class="paragraph" id="bkmrk-%E4%B8%80%E8%88%AC%EF%BC%8C%E4%B8%8D%E8%BF%87%E6%9C%89-pypi">一般，不过有 pypi</div><div class="paragraph" id="bkmrk-pescheckit%2Fpython-gp">[pescheckit/python-gpt-po: This tool, powered by OpenAI's GPT-4, offers a sophisticated approach to translating .po and .mo files, seamlessly integrating the capabilities of ChatGPT and GPT-3.5 models. It's designed for both bulk and individual file translations, providing a versatile solution for different translation needs.](https://github.com/pescheckit/python-gpt-po)</div>#### 基于 XLIFF

<div class="paragraph" id="bkmrk-xliff-%E6%98%AF%E5%9F%BA%E4%BA%8E-xml-%E7%9A%84%E6%A0%BC%E5%BC%8F%EF%BC%8C%E6%97%A8%E5%9C%A8">XLIFF 是基于 XML 的格式，旨在标准化翻译文件（但是版本间都不兼容，pypi 都没解析库），Crowdin、Transifex（付费） 主要用这个导出/入译文进行离线翻译，条目可带有额外的核准状态</div><div class="paragraph" id="bkmrk-%E5%BB%BA%E8%AE%AE%E8%BF%98%E6%98%AF%E8%BD%AC%E6%8D%A2%E5%88%B0-po-files-%E7%BF%BB%E8%AF%91%E5%90%8E">建议还是转换到 PO Files 翻译后再转回去</div>#### 基于 JSON

<div class="paragraph" id="bkmrk-%E8%BF%99%E4%B8%AA%E9%9C%80%E6%B1%82%E6%AF%94%E8%BE%83%E7%89%B9%E6%AE%8A%EF%BC%8C%E4%B8%80%E8%88%AC%E7%94%A8%E4%BA%8E-js-%E7%9B%B8%E5%85%B3%E9%A1%B9">这个需求比较特殊，一般用于 JS 相关项目</div><div class="paragraph" id="bkmrk-mololab%2Fjson-transla">[mololab/json-translator: jsontt 💡 - AI JSON Translator with GPT + other FREE translation modules to translate your json/yaml files into other languages ✅ Check Readme ✌ Supports GPT / DeepL / Google / Bing / Libre / Argos](https://github.com/mololab/json-translator)</div>### 初翻后人工校对

<div class="paragraph" id="bkmrk-%E6%9C%89%E4%BA%9B%E8%A6%81%E7%82%B9%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%EF%BC%88ai-%E6%97%A0%E6%B3%95%E6%B3%A8%E6%84%8F%E5%88%B0%E7%9A%84%E7%BF%BB%E8%AF%91">有些要点需要注意（AI 无法注意到的翻译规范细节）：</div>- 同一个术语是否翻译的一致（可能会丢失上下文）
- 人称代词、单复数、易错译词（如账号）
- 是否遵循翻译规范（可使用 autocorrect 快速修正）
- 是否丢失空格、换行符、拆行等 AI 无法注意到的细节