你可以在狮身人面像侧边栏重命名“目录”吗?

时间:2011-07-26 00:36:52

标签: python python-sphinx

更一般地说,如何重命名Sphinx默认元素(例如Quick SearchSearch)?你能吗?

2 个答案:

答案 0 :(得分:6)

以下是通过覆盖模板将“快速搜索”更改为其他内容的方法:

  1. 在Sphinx项目目录中创建名为templates的文件夹。

  2. <Sphinx install dir>/themes/basic/searchbox.html复制到templates

  3. 在conf.py中,添加

    templates_path = ["templates"]
    
  4. searchbox.html的副本中将“快速搜索”重命名为您想要的任何内容。

  5. 但我不会这样做。

    更灵活的方法是创建gettext MO文件并按the documentation for locale_dirs中所述设置配置。像这样:

    1. 模板文件<Sphinx install dir>/locale/sphinx.pot包含可以翻译的所有字符串。将该文件复制到本地sphinx.po文件。

    2. 将您的更改添加到sphinx.po

    3. 使用 msgfmt.py sphinx.po编译为sphinx.mo

    4. sphinx.mo放在正确的目录中(英语为<your_locale_dir>/en/LC_MESSAGES)。

    5. 另见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 ""