def getMenuItems(self, context, request): """Return menu item entries in a TAL-friendly form.""" _url = url.absoluteURL(context, request) if checkPermission("bungeni.translation.Add", context): language = get_language(context) available = get_available_translations(context) results = [] for name, obj in get_all_languages().items(): title = obj["name"] # skip the current language if name == language: continue action_url = "%s/translate?language=%s" % (_url, name) extra = { "id": "translation-action-%s" % name, "separator": None, "class": "" } translation_id = available.get(name) results.append( dict(title=title, description="", action=action_url, selected=translation_id is not None, icon=None, extra=extra, submenu=None)) return results else: return None
def update(self): def css_class(language): css_attr = None if language == selected: css_attr = "selected" if language in translations: if css_attr: css_attr = css_attr + " available" else: css_attr = "available" return css_attr def language_name(language): return language.get("native", language.get("name")) translations = get_available_translations(self.context) if hasattr(self.context, "language"): translations[self.context.language] = None languages = get_all_languages() selected = normalize_lang(self.request.locale.getLocaleID()) url = ui_utils.url.absoluteURL(getSite(), self.request) self.languages = sorted( [{ "code": language, "flag": url + languages[language].get('flag', ''), "name": language_name(languages[language]), "css_class": css_class(language), "url": "%s/change-language?language=%s" % (url, language), } for language in languages], key=lambda l: l.get("code"))
def update(self): def css_class(language): css_attr = None if language == selected: css_attr = 'selected' if language in translations: if css_attr: css_attr = css_attr + ' available' else: css_attr = 'available' return css_attr def language_name(language): langname = language.get('native', None) if langname == None: langname = language.get('name') return langname translations = get_available_translations(self.context) if hasattr(self.context,'language'): translations[self.context.language] = None languages = get_all_languages() selected = normalize_lang(self.request.locale.getLocaleID()) url = ui_utils.url.absoluteURL(getSite(), self.request) self.languages = [{ 'code': language, 'flag': url+languages[language].get('flag', ''), 'name': language_name(languages[language]), 'css_class': css_class(language), 'url': "%s/change-language?language=%s" % (url, language), } for language in languages]
def update(self): def css_class(language): css_attr = None if language == selected: css_attr = "selected" if language in translations: if css_attr: css_attr = css_attr + " available" else: css_attr = "available" return css_attr def language_name(language): return language.get("native", language.get("name")) translations = get_available_translations(self.context) if hasattr(self.context, "language"): translations[self.context.language] = None languages = get_all_languages() selected = normalize_lang(self.request.locale.getLocaleID()) url = ui_utils.url.absoluteURL(getSite(), self.request) self.languages = sorted( [ { "code": language, "flag": url + languages[language].get("flag", ""), "name": language_name(languages[language]), "css_class": css_class(language), "url": "%s/change-language?language=%s" % (url, language), } for language in languages ], key=lambda l: l.get("code"), )
def getMenuItems(self, context, request): """Return menu item entries in a TAL-friendly form.""" url = ui_url.absoluteURL(context, request) if checkPermission("bungeni.translation.Add", context): language = get_language(context) available = get_available_translations(context) results = [] for name, obj in get_all_languages().items(): title = obj['name'] # skip the current language if name == language: continue translation_id = available.get(name) selected = translation_id is not None action_url = url + '/translate?language=%s' % name extra = {'id': 'translation-action-%s' % name, 'separator': None, 'class': ''} results.append( dict(title=title, description="", action=action_url, selected=selected, icon=None, extra=extra, submenu=None)) return results else: return None
def getMenuItems(self, context, request): """Return menu item entries in a TAL-friendly form.""" url = ui_url.absoluteURL(context, request) if checkPermission("bungeni.translation.Add", context): language = get_language(context) available = get_available_translations(context) results = [] for name, obj in get_all_languages().items(): title = obj['name'] # skip the current language if name == language: continue translation_id = available.get(name) selected = translation_id is not None action_url = url + '/translate?language=%s' % name extra = { 'id': 'translation-action-%s' % name, 'separator': None, 'class': '' } results.append( dict(title=title, description="", action=action_url, selected=selected, icon=None, extra=extra, submenu=None)) return results else: return None