国际化#
此主题包含可本地化(可翻译)的字符串。此主题中有两种类型的字符串,每种字符串的翻译步骤不同
内置字符串硬编码在主题的模板中。如果该语言 受支持,它们将由志愿者翻译。要添加另一种语言,请参考文档中的 本地化主题 和 添加新语言 部分。
可配置字符串是使用
html_theme_options
变量在conf.py
文件中定义的(有关这些可配置字符串的示例,请参阅 用户指南 中的其他部分)。要翻译这些字符串,请参阅本页中的 翻译可配置字符串 部分。
翻译可配置字符串#
这些说明用于翻译可配置字符串(即在 conf.py
文件中的 html_theme_options
中可自定义的字符串)。
这些说明假设您将翻译存储在文档目录下的 locale
目录中,并且您要使用 messages
作为这些字符串的消息目录的名称(如果需要,您可以更改此名称)。
请注意,您还需要安装 pybabel 来处理文档翻译。
在您的
conf.py
文件中import os.path from sphinx.locale import get_translation catalog = "messages" _ = get_translation(catalog) html_theme_options = { "search_bar_text": _("Search the docs..."), # You only need to translate the following if you use these features. "icon_links_label": _("Quick Links"), "icon_links": [ { "name": _("GitHub"), "url": "https://github.com/<your-org>/<your-repo>", "icon": "fab fa-github-square", }, ], "external_links": [ { "name": _("link-one-name"), "url": "https://<link-one>", }, ], } def setup(app): locale_dir = os.path.join(os.path.abspath(os.path.dirname(__file__), "locale") app.add_message_catalog(catalog, locale_dir)
提取要本地化的字符串
pybabel extract . -o locale/messages.pot
通过指定新语言的 ISO 639-1 代码(使用
--locale
标志)来创建消息目录# for example, to add French (ISO 639-1 code: fr) pybabel init --input-file=locale/messages.pot --domain=messages --output-dir=locale --locale=fr
通过编辑文件来翻译消息目录。
编译消息目录
pybabel compile --directory=locale --domain=messages
完成!您的可配置字符串现在已本地化。