summaryrefslogtreecommitdiff
path: root/sphinx/environment.py
diff options
context:
space:
mode:
authorNozomu Kaneko <nozom.kaneko@gmail.com>2013-02-04 05:59:15 +0900
committerNozomu Kaneko <nozom.kaneko@gmail.com>2013-02-04 05:59:15 +0900
commitdccff9a754095adeb839299d8fbe93991acbcd25 (patch)
treef9bcf7e5dd2de413ddc72fcacdc4bb565c471f34 /sphinx/environment.py
parent38a9f1a75a12ae3227e65f29f8c5e6a47e39e8e9 (diff)
parent0a55b5df70cf79a7bea8ea362f323f3ad2c0280e (diff)
downloadsphinx-dccff9a754095adeb839299d8fbe93991acbcd25.tar.gz
Merged in knzm/sphinx-fix-docfields-fork (pull request #96)
Diffstat (limited to 'sphinx/environment.py')
-rw-r--r--sphinx/environment.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/sphinx/environment.py b/sphinx/environment.py
index 2995cbbc..de7c26cf 100644
--- a/sphinx/environment.py
+++ b/sphinx/environment.py
@@ -330,12 +330,31 @@ class Locale(Transform):
node['entries'] = new_entries
+class RemoveTranslatableInline(Transform):
+ """
+ Remove inline nodes used for translation as placeholders.
+ """
+ default_priority = 999
+
+ def apply(self):
+ from sphinx.builders.gettext import MessageCatalogBuilder
+ env = self.document.settings.env
+ builder = env.app.builder
+ if isinstance(builder, MessageCatalogBuilder):
+ return
+ for inline in self.document.traverse(nodes.inline):
+ if 'translatable' in inline:
+ inline.parent.remove(inline)
+ inline.parent += inline.children
+
+
class SphinxStandaloneReader(standalone.Reader):
"""
Add our own transforms.
"""
transforms = [Locale, CitationReferences, DefaultSubstitutions,
- MoveModuleTargets, HandleCodeBlocks, SortIds]
+ MoveModuleTargets, HandleCodeBlocks, SortIds,
+ RemoveTranslatableInline]
def get_transforms(self):
return standalone.Reader.get_transforms(self) + self.transforms