Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you rename "table of contents" in the Sphinx sidebar?

More generally how do you rename Sphinx default elements (e.g. Quick Search to Search)? Can you?

like image 349
Adam Greenhall Avatar asked Jul 26 '11 00:07

Adam Greenhall


1 Answers

Here is how you could change "Quick search" to something else by overriding a template:

  1. Create a folder called templates in the Sphinx project directory.

  2. Copy <Sphinx install dir>/themes/basic/searchbox.html to templates.

  3. In conf.py, add

    templates_path = ["templates"]
    
  4. Rename 'Quick search' to whatever you want in the copy of searchbox.html.

But I would not do it this way.

A more flexible approach is to create a gettext MO file and set up the configuration as described in the documentation for locale_dirs. Like this:

  1. The template file <Sphinx install dir>/locale/sphinx.pot contains all the strings that can be translated. Copy that file to a local sphinx.po file.

  2. Add your changes to sphinx.po.

  3. Use msgfmt.py to compile sphinx.po into sphinx.mo.

  4. Put sphinx.mo in the proper directory (<your_locale_dir>/en/LC_MESSAGES for English).

See also http://docs.python.org/library/gettext.html#internationalizing-your-programs-and-modules.

like image 146
mzjn Avatar answered Oct 21 '22 18:10

mzjn