更一般地说,如何重命名Sphinx默认元素(例如Quick Search
到Search
)?你能吗?
答案 0 :(得分:6)
以下是通过覆盖模板将“快速搜索”更改为其他内容的方法:
在Sphinx项目目录中创建名为templates
的文件夹。
将<Sphinx install dir>/themes/basic/searchbox.html
复制到templates
。
在conf.py中,添加
templates_path = ["templates"]
在searchbox.html
的副本中将“快速搜索”重命名为您想要的任何内容。
但我不会这样做。
更灵活的方法是创建gettext MO文件并按the documentation for locale_dirs中所述设置配置。像这样:
模板文件<Sphinx install dir>/locale/sphinx.pot
包含可以翻译的所有字符串。将该文件复制到本地sphinx.po
文件。
将您的更改添加到sphinx.po
。
使用 msgfmt.py 将sphinx.po
编译为sphinx.mo
。
将sphinx.mo
放在正确的目录中(英语为<your_locale_dir>/en/LC_MESSAGES
)。
另见http://docs.python.org/library/gettext.html#internationalizing-your-programs-and-modules。
答案 1 :(得分:1)
根据Sphinx配置documentation,您应该能够修改html模板或者将Sphinx指向新模板,以通过处理模板的html来实现您尝试做的事情。
当前模板在上下文中提供了搜索标题,我不确定填充_('搜索')的上下文值。如果您可以通过修改/sphinx/sphinx/locale/sphinx.pot中的语言环境文件来尝试自定义,我会徘徊:
#: sphinx/themes/agogo/layout.html:49 sphinx/themes/basic/layout.html:137
#: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:20
msgid "Search"
msgstr ""
并说msgstr "My alternative search"
而不是msgstr ""
。