我使用Sphinx
编写了项目的文档。我有代码示例(定义为code-block
,实际上包含在其中,也只是内联键入)。在这些代码示例中,有注释,但是当我进行文档翻译时,它们不会被提取到.po
文件中,并且显然不会被翻译。
如何翻译代码示例中的注释?
我发现了有关Sphinx修改的其他问题。答案建议修改conf.py
(做一些勾子),创建role
或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::
我写信给Google官方sphinx-users小组,这是Documatt的Matt the answer:
不可能。 Sphinx将必须理解每种语言的注释。
如果要翻译代码块(和::之后的文字块)中的注释,则必须全部翻译。将gettext_additional_targets = [“ literal-block”]添加到
conf.py
,然后重新运行POT / PO更新。
代码行保留在代码的“翻译”中,但现在我已解决了该问题。