summaryrefslogtreecommitdiffstats
path: root/Doc/tools
diff options
context:
space:
mode:
authorINADA Naoki <methane@users.noreply.github.com>2017-03-08 10:07:13 (GMT)
committerGitHub <noreply@github.com>2017-03-08 10:07:13 (GMT)
commitc351ce6a2c923c5016e48ecbf7b1e4833031d154 (patch)
tree6f57296a50b7b4f81562ad29e1c2d186701d4d60 /Doc/tools
parentc45cd167d403d7d98078d5fc4a37b16195dc7a35 (diff)
downloadcpython-c351ce6a2c923c5016e48ecbf7b1e4833031d154.zip
cpython-c351ce6a2c923c5016e48ecbf7b1e4833031d154.tar.gz
cpython-c351ce6a2c923c5016e48ecbf7b1e4833031d154.tar.bz2
bpo-28331: fix impl-detail label is removed when content is translated. (GH-195)
Diffstat (limited to 'Doc/tools')
-rw-r--r--Doc/tools/extensions/pyspecific.py14
-rw-r--r--Doc/tools/templates/dummy.html6
2 files changed, 18 insertions, 2 deletions
diff --git a/Doc/tools/extensions/pyspecific.py b/Doc/tools/extensions/pyspecific.py
index 4d4fb8f..1b91259 100644
--- a/Doc/tools/extensions/pyspecific.py
+++ b/Doc/tools/extensions/pyspecific.py
@@ -21,6 +21,7 @@ from docutils import nodes, utils
from sphinx import addnodes
from sphinx.builders import Builder
+from sphinx.locale import translators
from sphinx.util.nodes import split_explicit_title
from sphinx.util.compat import Directive
from sphinx.writers.html import HTMLTranslator
@@ -103,16 +104,25 @@ class ImplementationDetail(Directive):
optional_arguments = 1
final_argument_whitespace = True
+ # This text is copied to templates/dummy.html
+ label_text = 'CPython implementation detail:'
+
def run(self):
pnode = nodes.compound(classes=['impl-detail'])
+ label = translators['sphinx'].gettext(self.label_text)
content = self.content
- add_text = nodes.strong('CPython implementation detail:',
- 'CPython implementation detail:')
+ add_text = nodes.strong(label, label)
if self.arguments:
n, m = self.state.inline_text(self.arguments[0], self.lineno)
pnode.append(nodes.paragraph('', '', *(n + m)))
self.state.nested_parse(content, self.content_offset, pnode)
if pnode.children and isinstance(pnode[0], nodes.paragraph):
+ content = nodes.inline(pnode[0].rawsource, translatable=True)
+ content.source = pnode[0].source
+ content.line = pnode[0].line
+ content += pnode[0].children
+ pnode[0].replace_self(nodes.paragraph('', '', content,
+ translatable=False))
pnode[0].insert(0, add_text)
pnode[0].insert(1, nodes.Text(' '))
else:
diff --git a/Doc/tools/templates/dummy.html b/Doc/tools/templates/dummy.html
new file mode 100644
index 0000000..6e43be2
--- /dev/null
+++ b/Doc/tools/templates/dummy.html
@@ -0,0 +1,6 @@
+This file is not an actual template, but used to add some
+texts in extensions to sphinx.pot file.
+
+In extensions/pyspecific.py:
+
+{% trans %}CPython implementation detail:{% endtrans %}