summaryrefslogtreecommitdiff
path: root/sphinx/util/docfields.py
diff options
context:
space:
mode:
authorNozomu Kaneko <nozom.kaneko@gmail.com>2012-12-18 06:08:25 +0900
committerNozomu Kaneko <nozom.kaneko@gmail.com>2012-12-18 06:08:25 +0900
commita1e9f2d675e145f5038b874ef8dd1246af62a79b (patch)
tree07da97139132a02788cae1bf362ec9a686d7d16d /sphinx/util/docfields.py
parent56ad4485262ddfc9919a7c5441f7d31614e92e77 (diff)
downloadsphinx-git-a1e9f2d675e145f5038b874ef8dd1246af62a79b.tar.gz
make docfield translatable
Diffstat (limited to 'sphinx/util/docfields.py')
-rw-r--r--sphinx/util/docfields.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py
index 896319f56..793264777 100644
--- a/sphinx/util/docfields.py
+++ b/sphinx/util/docfields.py
@@ -67,7 +67,9 @@ class Field(object):
fieldname += nodes.Text(' ')
fieldname += self.make_xref(self.rolename, domain,
fieldarg, nodes.Text)
- fieldbody = nodes.field_body('', nodes.paragraph('', '', *content))
+ par = nodes.paragraph()
+ par += content
+ fieldbody = nodes.field_body('', par)
return nodes.field('', fieldname, fieldbody)
@@ -255,6 +257,11 @@ class DocFieldTransformer(object):
[nodes.Text(argtype)]
fieldarg = argname
+ translatable_content = addnodes.translatable(fieldbody.rawsource)
+ 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 +271,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()