summaryrefslogtreecommitdiff
path: root/sphinx/transforms.py
diff options
context:
space:
mode:
authorshimizukawa <shimizukawa@gmail.com>2015-02-22 19:24:14 +0900
committershimizukawa <shimizukawa@gmail.com>2015-02-22 19:35:49 +0900
commitbb85c1c87f27e15011a74cf15c00d4867def135e (patch)
treedeec6faec3d3bb9039a1c163de604fff588edc9a /sphinx/transforms.py
parent28dc3ab05324fc86447d92862f81b73941412c36 (diff)
downloadsphinx-git-bb85c1c87f27e15011a74cf15c00d4867def135e.tar.gz
refs #1235: i18n: 'uri' and 'alt' attribute on 'image' and 'figure' nodes can be translated if `gettext_additional_targets` has 'image'.
Diffstat (limited to 'sphinx/transforms.py')
-rw-r--r--sphinx/transforms.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/sphinx/transforms.py b/sphinx/transforms.py
index 951041434..c6ed799e6 100644
--- a/sphinx/transforms.py
+++ b/sphinx/transforms.py
@@ -21,7 +21,7 @@ from sphinx import addnodes
from sphinx.locale import _, init as init_locale
from sphinx.util import split_index_msg
from sphinx.util.nodes import (
- traverse_translatable_index, extract_messages, LITERAL_TYPE_NODES,
+ traverse_translatable_index, extract_messages, LITERAL_TYPE_NODES, IMAGE_TYPE_NODES,
)
from sphinx.util.osutil import ustrftime, find_catalog
from sphinx.util.pycompat import indent
@@ -164,6 +164,7 @@ TRANSLATABLE_NODES = {
'doctest-block': nodes.doctest_block,
'raw': nodes.raw,
'index': addnodes.index,
+ 'image': nodes.image,
}
class ExtraTranslatableNodes(Transform):
"""
@@ -377,7 +378,8 @@ class Locale(Transform):
except IndexError: # empty node
pass
# XXX doctest and other block markup
- if not isinstance(patch, (nodes.paragraph,) + LITERAL_TYPE_NODES):
+ if not isinstance(patch,
+ (nodes.paragraph,) + LITERAL_TYPE_NODES + IMAGE_TYPE_NODES):
continue # skip for now
# auto-numbered foot note reference should use original 'ids'.
@@ -509,6 +511,9 @@ class Locale(Transform):
if isinstance(node, LITERAL_TYPE_NODES):
node.rawsource = node.astext()
+ if isinstance(node, IMAGE_TYPE_NODES):
+ node.update_all_atts(patch)
+
node['translated'] = True
if 'index' in env.config.gettext_additional_targets: