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

Internationalization 如何使用Sphinx翻译代码块中的注释,internationalization,python-sphinx,Internationalization,Python Sphinx,我使用Sphinx为项目编写文档。我有一些代码示例(定义为代码块s,包括字面意义上的代码和内联输入的代码)。在这些代码示例中有注释,但当我生成文档翻译时,它们不会被提取到.po文件中,显然也不会被翻译 如何翻译代码示例中的注释 我还发现了关于狮身人面像改造的其他问题。答案建议修改conf.py(制作一些钩子),创建roles或extensions。我以前从来没有这样做过,我不知道从哪里开始,什么解决方案会更好。这个问题有没有解决办法 UPD。以下是我想在文档中展示的代码示例: git clone

我使用
Sphinx
为项目编写文档。我有一些代码示例(定义为
代码块
s,包括字面意义上的代码和内联输入的代码)。在这些代码示例中有注释,但当我生成文档翻译时,它们不会被提取到
.po
文件中,显然也不会被翻译

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

我还发现了关于狮身人面像改造的其他问题。答案建议修改
conf.py
(制作一些钩子),创建
role
s或
extensions
。我以前从来没有这样做过,我不知道从哪里开始,什么解决方案会更好。这个问题有没有解决办法

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:: 
我写信给谷歌官方集团,这是Documatt公司的Matt发来的:

这是不可能的。斯芬克斯必须理解每种语言的评论

若要翻译代码块中的注释(以及:::)之后的文字块),则必须全部翻译它们。将=[“文字块”]添加到
conf.py
并重新运行POT/PO更新


代码行仍保留在代码的“翻译”中,但现在问题对我来说已经解决了。

你能通过一个示例阐明你的意思吗?比如注释的样子,以及您希望看到的代码示例。@zkytony当然可以。例如,这里有一条内联注释,我想翻译为“#如果您计划渲染LaTeX模板”。这里可能有一个更大的代码示例,包含完整的文档字符串(但这种情况可能不太重要):@zkytony我在问题中添加了这个,谢谢你的提问。也许我应该补充一点,我去掉了原始问题中显示的注释。应该避免它们,并且大多数代码都不需要翻译。但有时它是有用的。