def languages(self): context = self.context # Website languages ws_languages = context.root.get_value('website_languages') if len(ws_languages) == 1: return [] # Select language accept = context.accept_language current_language = accept.select_language(ws_languages) languages = [] gettext = get_domain('itools').gettext for language in ws_languages: href = context.uri.replace(language=language) selected = (language == current_language) css_class = 'selected' if selected else None value = get_language_name(language) languages.append({ 'name': language, 'value': gettext(value, language), 'href': href, 'selected': selected, 'class': css_class }) return languages
def languages(self): context = self.context # Website languages ws_languages = context.site_root.get_property('website_languages') if len(ws_languages) == 1: return [] # Select language accept = context.accept_language current_language = accept.select_language(ws_languages) # Sort the available languages ws_languages = list(ws_languages) ws_languages.sort() languages = [] ws_languages_len = len(ws_languages) gettext = get_domain('itools').gettext for index, language in enumerate(ws_languages): href = context.uri.replace(language=language) selected = (language == current_language) css_class = 'selected' if selected else '' if index == 0: css_class = '%s first' % css_class if index == (ws_languages_len - 1): css_class = '%s last' % css_class value = get_language_name(language) languages.append({ 'name': language, 'value': gettext(value, language), 'href': href, 'selected': selected, 'class': css_class}) return languages
def languages(self): context = self.context # Website languages ws_languages = context.root.get_value('website_languages') if len(ws_languages) == 1: return [] # Select language accept = context.accept_language current_language = accept.select_language(ws_languages) languages = [] gettext = get_domain('itools').gettext for language in ws_languages: href = context.uri.replace(language=language) selected = (language == current_language) css_class = 'selected' if selected else None value = get_language_name(language) languages.append({ 'name': language, 'value': gettext(value, language), 'href': href, 'selected': selected, 'class': css_class}) return languages
def gettext(self, message, language=None): domain = get_domain(self.class_domain) if language is None: languages = domain.get_languages() language = select_language(languages) return domain.gettext(message, language)