diff options
author | shimizukawa <shimizukawa@gmail.com> | 2015-02-22 19:24:14 +0900 |
---|---|---|
committer | shimizukawa <shimizukawa@gmail.com> | 2015-02-22 19:35:49 +0900 |
commit | bb85c1c87f27e15011a74cf15c00d4867def135e (patch) | |
tree | deec6faec3d3bb9039a1c163de604fff588edc9a /sphinx/transforms.py | |
parent | 28dc3ab05324fc86447d92862f81b73941412c36 (diff) | |
download | sphinx-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.py | 9 |
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: |