def getLocale(self, request): ## FIXME: implement request.locale() tags = ACCEPT_LANGUAGE.parse(request.environ()) if tags: return Locale.parse(tags[0], sep="-") else: return defaultLocale() # server default
def getLocale(self, request): ## FIXME: implement request.locale() tags = ACCEPT_LANGUAGE.parse(request.environ()) if tags: try: return Locale.parse(tags[0], sep='-') except UnknownLocaleError, e: try: return Locale.parse(tags[0]) except UnknownLocaleError, e: logger.error('Locale parsing error: %s' % e) return defaultLocale()
def languages(self): """Return a list of preferred languages, most preferred first. The list may be empty. """ if self._languages is not None: return self._languages acceptLanguage = self.environ.get('HTTP_ACCEPT_LANGUAGE') langs = ACCEPT_LANGUAGE.parse(self.environ) fallback = self.defaults.get('language', 'en-us') if not fallback: return langs if fallback not in langs: langs.append(fallback) index = langs.index(fallback) langs[index + 1:] = [] self._languages = langs return self._languages
def languages(self): """Return a list of preferred languages, most preferred first. The list may be empty. """ if self._languages is not None: return self._languages acceptLanguage = self.environ.get('HTTP_ACCEPT_LANGUAGE') langs = ACCEPT_LANGUAGE.parse(self.environ) fallback = self.defaults.get('language', 'en-us') if not fallback: return langs if fallback not in langs: langs.append(fallback) index = langs.index(fallback) langs[index+1:] = [] self._languages = langs return self._languages