Sphinx文档:conf.py变量的翻译(i18n)

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

在sphinx文档项目中,如何将翻译添加到conf.py中定义的变量中?

例证:project变量是"<Brand Name> Setup and Configuration Manual",我想在后面翻译。

使用标准的i18n工具,.pot文件中缺少这些值。我也无法找到如何在conf.py中获取命令行指定的语言(通过硬编码字典翻译)。

python internationalization python-sphinx
1个回答
0
投票

如上面的评论所述,这是一个未解决的问题。

可以通过标签将信息传递给conf.py(仅限)。

在命令行上,使用-t language_de而不是-D language=de,以定义包含区域设置ID的标记。

conf.py中,使用以下方法捕获标记:

language = None
for t in tags:
    if t.startswith('language_'):
        language = t[9:]

然后可以省略-D language=..命令行,因为language中的conf.py变量具有相同的效果。

获得语言值后,可以使用字典进行翻译:

project = {
    'de': u'<Brand Name> Setup-und Konfigurationshandbuch',
    # ... more translations ...
}.get(language, u'<Brand Name> Setup and Configuration Manual')
© www.soinside.com 2019 - 2024. All rights reserved.