如何从 Sphinx 或 gettext 中的 po 文件翻译整篇文章

How to make translations of full articles from po files in Sphinx or gettext

我正在用 Sphinx 编写项目文档。我想翻译我的 .rst 个文件,我生成并翻译了 .po 个文件。 Sphinx 可以很好地生成 html 翻译,但我想要 .rst 或 markdown 完整文章(以便在其他站点上使用它们)。

如何使用这些 .po(或 .mo)文件的翻译重新创建 .rst 或降价文件?

Sphinx、gettext 或 Python 解决方案都适合。 我试图找到相关信息,但大多数答案都涉及字符串的翻译,而不是整篇文章的翻译。

我终于在 sphinx-users 官方邮件列表上问了这个问题。那个真的很活跃很好。来自 Documatt 的 Matt 给出了以下答案(经过我的小改写):

没有直接的方法。 Docutil 的 todo list 上也有这样的工具。只是可能有帮助的想法:

  1. Build 你的 Sphinx 到 Docutils XML。例如,如果您有法语本地化 (fr),则

    sphinx-build -b xml source_dir output_dir -D language="fr"

    在您的项目根目录中。

  2. 使用 Docutils 的工具 xml2rst

xml2rst 的作者还提供了 svn and sourceforge.net 代码链接。

确实有效。但是,额外的空格存在问题。它们在创建 XML 期间出现,并且威胁到 well-formed 第一个(xml2 个不会删除它们)。我将手动删除它们(这不是什么大问题,任何像样的编辑器或 sed 都可以做到)。