Internationalization 如何在Sphinx或gettext中翻译po文件中的完整文章

Internationalization 如何在Sphinx或gettext中翻译po文件中的完整文章,internationalization,python-sphinx,gettext,Internationalization,Python Sphinx,Gettext,我正在用Sphinx写一个项目文档。我想翻译我的.rst文件,我生成并翻译了.po文件。Sphinx可以很好地生成html翻译,但我想要.rst或标记完整的文章(在其他网站上使用) 如何使用这些.po(或.mo)文件的翻译重新创建.rst或标记文件 Sphinx、gettext或Python解决方案将适合。 我试图找到有关这方面的信息,但大多数答案都是关于字符串的翻译,而不是完整文章的翻译。我最后在斯芬克斯用户官方邮件列表上问了这个问题。那个真的很活跃很好。Documatt的Matt给出了以下答

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

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

Sphinx、gettext或Python解决方案将适合。
我试图找到有关这方面的信息,但大多数答案都是关于字符串的翻译,而不是完整文章的翻译。

我最后在
斯芬克斯用户
官方邮件列表上问了这个问题。那个真的很活跃很好。Documatt的Matt给出了以下答案(通过我的小修改):

没有直接的方法。Docutil也提供了这样的工具。这可能会有所帮助:

  • 将Sphinx转换为Docutils XML。例如,如果您有法语本地化(fr),那么

    sphinx build-bxml源文件\u目录输出\u目录-D language=“fr”

    在项目根目录中

  • 使用Docutils的工具

  • xml2rst
    的作者还提供了代码的链接


    这确实奏效了。但是,额外的空格有一个问题。它们出现在XML的创建过程中,威胁到格式良好的rst(xml2rst不会删除它们)。我将手动删除它们(这不是一个大问题,任何优秀的编辑或
    sed
    都可以做到)。

    我最后在
    sphinx用户
    官方邮件列表上问了这个问题。那个真的很活跃很好。Documatt的Matt给出了以下答案(通过我的小修改):

    没有直接的方法。Docutil也提供了这样的工具。这可能会有所帮助:

  • 将Sphinx转换为Docutils XML。例如,如果您有法语本地化(fr),那么

    sphinx build-bxml源文件\u目录输出\u目录-D language=“fr”

    在项目根目录中

  • 使用Docutils的工具

  • xml2rst
    的作者还提供了代码的链接


    这确实奏效了。但是,额外的空格有一个问题。它们出现在XML的创建过程中,威胁到格式良好的rst(xml2rst不会删除它们)。我打算手动删除它们(这不是什么大问题,任何像样的编辑器或
    sed
    都可以做到)。

    我只发现了一个问题,问了同样的问题(),但我想知道7年来是否出现了更好的解决方案,以及Sphinx是否有已知的解决方案。我更喜欢通用的“默认”解决方案,但如果它不存在,那么脚本或第三方项目总比没有好。@StevePiercy谢谢,我刚刚用过它。但它生成html,而不是rst或markdown。这就是问题所在。我认为您跳过了描述在文档源文件中使用两种方法创建可翻译消息的过程的部分。我只发现了一个问题,它询问了相同的()问题,但我想知道7年来是否出现了更好的解决方案,还有Sphinx是否有已知的解决方案。我更喜欢一个通用的“默认”解决方案,但如果它不存在,那么脚本或第三方项目总比没有好。@StevePiercy谢谢,我刚刚用过它。但它生成html,而不是rst或markdown。这就是问题所在。我认为您跳过了描述在文档源文件中使用两种方法创建可翻译消息的过程的部分。