Jon Waltman avatar Jon Waltman committed 64487b2

Use ``ObjType.lname`` for the category in Texinfo desc_signatures.

Comments (0)

Files changed (1)

sphinx/writers/texinfo.py

 """
 
 import re
+import string
+import textwrap
 from os import path
-import textwrap
 
 from docutils import nodes, writers
 
 
     ## Desc
 
-    desc_map = {
-        'cfunction':    'C Function',
-        'classmethod':  'Class Method',
-        'cmacro':       'C Macro',
-        'cmdoption':    'Command Option',
-        'cmember':      'C Member',
-        'confval':      'Configuration Value',
-        'ctype':        'C Type',
-        'cvar':         'C Variable',
-        'describe':     'Description',
-        'envvar':       'Environment Variable',
-        'staticmethod': 'Static Method',
-        'var':          'Variable',
-        }
-
     def visit_desc(self, node):
         self.at_deffnx = '@deffn'
     def depart_desc(self, node):
         self.body.append('@end deffn\n')
 
     def visit_desc_signature(self, node):
-        self.desctype = node.parent['desctype'].strip()
-        if self.desctype != 'describe':
+        objtype = node.parent['objtype']
+        if objtype != 'describe':
             for id in node.get('ids'):
                 self.add_anchor(id, node)
-        typ = _(self.desc_map.get(self.desctype,
-                                  self.desctype.capitalize()))
-        self.body.append('\n%s {%s} ' % (self.at_deffnx, self.escape_arg(typ)))
+        # use the localized name for the category
+        try:
+            domain = self.builder.env.domains[node.parent['domain']]
+            lname = domain.object_types[objtype].lname
+        except KeyError:
+            lname = objtype
+        category = self.escape_arg(string.capwords(lname))
+        self.body.append('\n%s {%s} ' % (self.at_deffnx, category))
         self.at_deffnx = '@deffnx'
     def depart_desc_signature(self, node):
         self.body.append("\n")
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.