Georg Brandl avatar Georg Brandl committed 2fb72bb

#427: fix the encode() method of translation proxies.

Comments (0)

Files changed (2)

sphinx/locale/__init__.py

 
     data = property(lambda x: x._func(*x._args))
 
+    # replace function from UserString; it instantiates a self.__class__
+    # for the encoding result
+
+    def encode(self, encoding=None, errors=None):
+        if encoding:
+            if errors:
+                return self.data.encode(encoding, errors)
+            else:
+                return self.data.encode(encoding)
+        else:
+            return self.data.encode()
+
     def __contains__(self, key):
         return key in self.data
 
                     otypes[domainname, type] = i
                     otype = domain.object_types.get(type)
                     if otype:
-                        # use str() to fire translation proxies
-                        onames[i] = str(domain.get_type_name(otype))
+                        # use unicode() to fire translation proxies
+                        onames[i] = unicode(domain.get_type_name(otype))
                     else:
                         onames[i] = type
                 pdict[name] = (fn2index[docname], i, prio)
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.