summaryrefslogtreecommitdiff
path: root/sphinx/util
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/util
parent38a9f1a75a12ae3227e65f29f8c5e6a47e39e8e9 (diff)
parent0a55b5df70cf79a7bea8ea362f323f3ad2c0280e (diff)
downloadsphinx-dccff9a754095adeb839299d8fbe93991acbcd25.tar.gz
Merged in knzm/sphinx-fix-docfields-fork (pull request #96)
Diffstat (limited to 'sphinx/util')
-rw-r--r--sphinx/util/docfields.py15
-rw-r--r--sphinx/util/nodes.py2
2 files changed, 12 insertions, 5 deletions
diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py
index 961b09a7..b59d3f31 100644
--- a/sphinx/util/docfields.py
+++ b/sphinx/util/docfields.py
@@ -67,7 +67,7 @@ class Field(object):
fieldname += nodes.Text(' ')
fieldname += self.make_xref(self.rolename, domain,
fieldarg, nodes.Text)
- fieldbody = nodes.field_body('', nodes.paragraph('', '', *content))
+ fieldbody = nodes.field_body('', nodes.paragraph('', '', content))
return nodes.field('', fieldname, fieldbody)
@@ -255,6 +255,12 @@ class DocFieldTransformer(object):
[nodes.Text(argtype)]
fieldarg = argname
+ translatable_content = nodes.inline(fieldbody.rawsource,
+ translatable=True)
+ translatable_content.source = fieldbody.parent.source
+ translatable_content.line = fieldbody.parent.line
+ translatable_content += content
+
# grouped entries need to be collected in one entry, while others
# get one entry per field
if typedesc.is_grouped:
@@ -264,10 +270,11 @@ class DocFieldTransformer(object):
groupindices[typename] = len(entries)
group = [typedesc, []]
entries.append(group)
- group[1].append(typedesc.make_entry(fieldarg, content))
+ entry = typedesc.make_entry(fieldarg, translatable_content)
+ group[1].append(entry)
else:
- entries.append([typedesc,
- typedesc.make_entry(fieldarg, content)])
+ entry = typedesc.make_entry(fieldarg, translatable_content)
+ entries.append([typedesc, entry])
# step 2: all entries are collected, construct the new field list
new_list = nodes.field_list()
diff --git a/sphinx/util/nodes.py b/sphinx/util/nodes.py
index 1d4d3ba5..5a7749be 100644
--- a/sphinx/util/nodes.py
+++ b/sphinx/util/nodes.py
@@ -61,7 +61,7 @@ def extract_messages(doctree):
if not node.source:
continue # built-in message
- if isinstance(node, IGNORED_NODES):
+ if isinstance(node, IGNORED_NODES) and 'translatable' not in node:
continue
# <field_name>orphan</field_name>
# XXX ignore all metadata (== docinfo)