如何覆盖 Sphinx 插入的英文标签

Posted

技术标签:

【中文标题】如何覆盖 Sphinx 插入的英文标签【英文标题】:How to override English labels inserted by Sphinx 【发布时间】:2011-01-16 03:00:03 【问题描述】:

我使用Sphinx Python documentation generator。创建 PDF 文档非常容易和简单,但我有一个问题。

所有生成的 PDF 文档都有英文字样,例如“chapter”、“release”和“part”。

如何用另一种语言覆盖这些英文标签,或完全删除它们?

【问题讨论】:

【参考方案1】:

在您的conf.py 中,有以下段落(由sphinx-quickstart 创建的conf.py 中的第57 行附近):

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None

就我而言,我将其更改为:

language = nl      # bug!

当然应该是:

language = 'nl'    # don't forget the quotes :-)

这适用于所有 Sphinx 输出;就我而言,我只检查了 html 和 latex 输出。在 Spinx 网站上,有list of supported languages。

【讨论】:

这可能是您应该为您的乳胶分发安装一些语言包。最好在tex.stackexchange.com 上问这个问题。 请注意,我不必这样做。我在 Windows 上使用 MiKTeX 2.9。上次我在 Linux 上运行它(去年;Ubuntu 9.04)我不得不安装一些语言包,这很简单。【参考方案2】:

Sphinx 生成 LaTeX 文件,然后使用 LaTeX 生成 PDF。所以是的,你可以,但它通常涉及学习 LaTeX 和更改 LaTeX 宏。我快速搜索了一下,找不到定义“章节”的任何地方,所以它可能是在 Bjarne 章节标题样式中定义的(这是默认样式),这意味着您需要找到该定义并查看您可以覆盖它,或者重新定义。

LaTeX 很大,所以深呼吸。但这绝对是可能的。 :)

【讨论】:

感谢您的回答和研究。我认为现在是我学习 LaTeX 的好时机:)。 也可以使用 rst2pdf 生成 PDF。 techtonik.rainforce.org/2010/05/sphinx-pdf-with-rst2pdf.html 其实一点都不难,下面看我的回答。除了安装 Latex 和所需的语言包(babel)之外,您只需对 conf.py 进行小的配置更改。

以上是关于如何覆盖 Sphinx 插入的英文标签的主要内容,如果未能解决你的问题,请参考以下文章

sphinx - 如何更改文档样式表

如何覆盖 FOS 用户捆绑表单标签

如何覆盖 DefaultCaret#setBlinkRate()

如何防止 TFS 覆盖标签?

如何将覆盖函数插入到 if else 语句中

如何在 BigQuery UI 中插入覆盖分区表?