/[opental]/opental/PlacelessTranslationService/PlacelessTranslationService.py
ViewVC logotype

Diff of /opental/PlacelessTranslationService/PlacelessTranslationService.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by lalo, Fri Feb 14 20:38:55 2003 UTC revision 1.11 by lalo, Fri Feb 21 23:29:40 2003 UTC
# Line 90  class PlacelessTranslationService: Line 90  class PlacelessTranslationService:
90          self._fallbacks = fallbacks          self._fallbacks = fallbacks
91    
92    
93        def getLanguageName(self, code):
94            for (ccode, cdomain), cnames in self._catalogs.items():
95                if ccode == code:
96                    for cname in cnames:
97                        cat = self._data[cname]
98                        if cat.name:
99                            return cat.name
100    
101    
102      def getLanguages(self, domain=None):      def getLanguages(self, domain=None):
103          """Get available languages"""          """Get available languages"""
104          if domain is not None:          if domain is None:
105              return [m[0] for m in self._catalogs.keys() if m[1] == domain]              # no domain, so user wants 'em all
106          # no domain, so user wants 'em all              langs = self._catalogs.keys()
107          langs = [m[0] for m in self._catalogs.keys()]              # uniquify
108          # uniquify              d = {}
109          d = {}              for l in langs:
110          for l in langs:                  d[l[0]] = 1
111              d[l] = 1              l = d.keys()
112          return d.keys()          else:
113                l = [k[0] for k in self._catalogs.keys() if k[1] == domain]
114            l.sort()
115            return l
116    
117    
118      def translate(self, domain, msgid, mapping=None, context=None,        def translate(self, domain, msgid, mapping=None, context=None,  
# Line 123  class PlacelessTranslationService: Line 135  class PlacelessTranslationService:
135                  raise TypeError, 'No destination language'                  raise TypeError, 'No destination language'
136              else:              else:
137                  langs = [m[0] for m in self._catalogs.keys() if m[1] == domain]                  langs = [m[0] for m in self._catalogs.keys() if m[1] == domain]
138                    for fallback in self._fallbacks:
139                        if fallback not in langs:
140                            langs.append(fallback)
141                  target_language = negotiator.getLanguage(langs, context)                  target_language = negotiator.getLanguage(langs, context)
142    
143          # Get the translation. Use the specified fallbacks if this fails          # Get the translation. Use the specified fallbacks if this fails

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26