mirror of
https://github.com/python/cpython
synced 2024-09-16 05:40:02 +00:00
GH-97950: Allow translation of index directive content (#104000)
This commit is contained in:
parent
9885677b04
commit
35d273825a
|
@ -91,6 +91,11 @@
|
||||||
# Avoid a warning with Sphinx >= 2.0
|
# Avoid a warning with Sphinx >= 2.0
|
||||||
master_doc = 'contents'
|
master_doc = 'contents'
|
||||||
|
|
||||||
|
# Allow translation of index directives
|
||||||
|
gettext_additional_targets = [
|
||||||
|
'index',
|
||||||
|
]
|
||||||
|
|
||||||
# Options for HTML output
|
# Options for HTML output
|
||||||
# -----------------------
|
# -----------------------
|
||||||
|
|
||||||
|
|
|
@ -674,6 +674,34 @@ def process_audit_events(app, doctree, fromdocname):
|
||||||
node.replace_self(table)
|
node.replace_self(table)
|
||||||
|
|
||||||
|
|
||||||
|
def patch_pairindextypes(app) -> None:
|
||||||
|
if app.builder.name != 'gettext':
|
||||||
|
return
|
||||||
|
|
||||||
|
# allow translating deprecated index entries
|
||||||
|
try:
|
||||||
|
from sphinx.domains.python import pairindextypes
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
# Sphinx checks if a 'pair' type entry on an index directive is one of
|
||||||
|
# the Sphinx-translated pairindextypes values. As we intend to move
|
||||||
|
# away from this, we need Sphinx to believe that these values don't
|
||||||
|
# exist, by deleting them when using the gettext builder.
|
||||||
|
|
||||||
|
# pairindextypes.pop('module', None)
|
||||||
|
# pairindextypes.pop('keyword', None)
|
||||||
|
# pairindextypes.pop('operator', None)
|
||||||
|
# pairindextypes.pop('object', None)
|
||||||
|
# pairindextypes.pop('exception', None)
|
||||||
|
# pairindextypes.pop('statement', None)
|
||||||
|
# pairindextypes.pop('builtin', None)
|
||||||
|
|
||||||
|
# there needs to be at least one statement in this block, will be
|
||||||
|
# removed when the first of the below is uncommented.
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def setup(app):
|
def setup(app):
|
||||||
app.add_role('issue', issue_role)
|
app.add_role('issue', issue_role)
|
||||||
app.add_role('gh', gh_issue_role)
|
app.add_role('gh', gh_issue_role)
|
||||||
|
@ -695,6 +723,7 @@ def setup(app):
|
||||||
app.add_directive_to_domain('py', 'awaitablemethod', PyAwaitableMethod)
|
app.add_directive_to_domain('py', 'awaitablemethod', PyAwaitableMethod)
|
||||||
app.add_directive_to_domain('py', 'abstractmethod', PyAbstractMethod)
|
app.add_directive_to_domain('py', 'abstractmethod', PyAbstractMethod)
|
||||||
app.add_directive('miscnews', MiscNews)
|
app.add_directive('miscnews', MiscNews)
|
||||||
|
app.connect('builder-inited', patch_pairindextypes)
|
||||||
app.connect('doctree-resolved', process_audit_events)
|
app.connect('doctree-resolved', process_audit_events)
|
||||||
app.connect('env-merge-info', audit_events_merge)
|
app.connect('env-merge-info', audit_events_merge)
|
||||||
app.connect('env-purge-doc', audit_events_purge)
|
app.connect('env-purge-doc', audit_events_purge)
|
||||||
|
|
Loading…
Reference in a new issue