def get_language_name(self, lang): """ Deprecated: Use gl_get_language_name on NySite or even better, use get_language_name on getPortalI18n().get_lang_manager() This deprecated version can not return custom named languages """ return get_iso639_name(lang)
def get_language_name(self, code): """ Get the language name for 'code'. First it looks up languages manually added in portal, then inquiries languages in naaya.i18n/languages.txt which finally falls back to '???' string """ lang_manager = self.get_lang_manager() if code in lang_manager.getAvailableLanguages(): # try to get name from added langs to site return lang_manager.get_language_name(code) else: # not there, default to languages.txt return get_iso639_name(code)
def add_language(self, lang_code, lang_name=None): """ Adds a new supported language in portal_i18n. Language code, language name can be any combination. If language name is not provided, a lookup is being performed in naaya.i18n/languages.txt """ if not lang_code: raise ValueError('No language code provided') lang_code = normalize_code(lang_code) if lang_name is None: # search for name directly in languages.txt, obviously not in site lang_name = get_iso639_name(lang_code) # add language to portal: self._portal_langs.addAvailableLanguage(lang_code, lang_name) # and to catalog: self._catalog.add_language(lang_code)