如何使用Sphinx在代码块中翻译注释

问题描述 投票:0回答:1

我使用Sphinx编写了项目的文档。我有代码示例(定义为code-block,实际上包含在其中,也只是内联键入)。在这些代码示例中,有注释,但是当我进行文档翻译时,它们不会被提取到.po文件中,并且显然不会被翻译。

如何翻译代码示例中的注释?

我发现了有关Sphinx修改的其他问题。答案建议修改conf.py(做一些勾子),创建roleextensions。我以前从没做过,也不知道从哪里开始,哪种解决方案会更好。是否有解决此问题的现有方法?

UPD。这些是我想在文档中显示的代码示例:

git clone https://github.com/ynikitenko/lena
# most of requirements are for development only
pip install -r lena/requirements.txt

((在这里我想翻译评论)。一个更困难(也许不是必需)的示例是:

class End(object):
    """Stop sequence here."""

    def run(self, flow):
        """Exhaust all preceding flow and stop iteration
        (yield nothing to the following flow).
        """
        for val in flow:
            pass
        return
        # otherwise it won't be a generator
        yield "unreachable"

这些示例使用伪指令格式化

.. code-block:: 
internationalization python-sphinx
1个回答
0
投票

我写信给Google官方sphinx-users小组,这是Documatt的Matt the answer

不可能。 Sphinx将必须理解每种语言的注释。

如果要翻译代码块(和::之后的文字块)中的注释,则必须全部翻译。将gettext_additional_targets = [“ literal-block”]添加到conf.py,然后重新运行POT / PO更新。

代码行保留在代码的“翻译”中,但现在我已解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.