summaryrefslogtreecommitdiff
path: root/sphinx/transforms.py
diff options
context:
space:
mode:
authorTakayuki Shimizukawa <shimizukawa@gmail.com>2014-09-28 21:19:54 +0900
committerTakayuki Shimizukawa <shimizukawa@gmail.com>2014-09-28 21:19:54 +0900
commit9d1225a35bdb32cd14ea52404330f6f3b2397cf9 (patch)
tree21eeeda5d96715ac7fbcaee99b22168de95f6a90 /sphinx/transforms.py
parent39c843106f034a747c97a9ddb08ee099047a7840 (diff)
downloadsphinx-git-9d1225a35bdb32cd14ea52404330f6f3b2397cf9.tar.gz
add :confval:`gettext_enables` to enable extracting 'index' to gettext catalog output / applying translation catalog to generated documentation. Closes #1344
Diffstat (limited to 'sphinx/transforms.py')
-rw-r--r--sphinx/transforms.py33
1 files changed, 17 insertions, 16 deletions
diff --git a/sphinx/transforms.py b/sphinx/transforms.py
index 72917f53f..a62fa99a1 100644
--- a/sphinx/transforms.py
+++ b/sphinx/transforms.py
@@ -462,22 +462,23 @@ class Locale(Transform):
node.children = patch.children
node['translated'] = True
- # Extract and translate messages for index entries.
- for node, entries in traverse_translatable_index(self.document):
- new_entries = []
- for type, msg, tid, main in entries:
- msg_parts = split_index_msg(type, msg)
- msgstr_parts = []
- for part in msg_parts:
- msgstr = catalog.gettext(part)
- if not msgstr:
- msgstr = part
- msgstr_parts.append(msgstr)
-
- new_entries.append((type, ';'.join(msgstr_parts), tid, main))
-
- node['raw_entries'] = entries
- node['entries'] = new_entries
+ if 'index' in env.config.gettext_enables:
+ # Extract and translate messages for index entries.
+ for node, entries in traverse_translatable_index(self.document):
+ new_entries = []
+ for type, msg, tid, main in entries:
+ msg_parts = split_index_msg(type, msg)
+ msgstr_parts = []
+ for part in msg_parts:
+ msgstr = catalog.gettext(part)
+ if not msgstr:
+ msgstr = part
+ msgstr_parts.append(msgstr)
+
+ new_entries.append((type, ';'.join(msgstr_parts), tid, main))
+
+ node['raw_entries'] = entries
+ node['entries'] = new_entries
class RemoveTranslatableInline(Transform):