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 get_languages_map(self): """ Return a list of dictionaries, each dictionary has the language id, its title and a boolean value to indicate wether it's the user preferred language, for example: [{'id': 'en', 'title': 'English', 'selected': 1}] Used in changeLanguageForm. """ # For now only LPM instances are considered to be containers of # multilingual data. try: ob = self.getLocalPropertyManager() except AttributeError: ob = self ob_language = ob.get_selected_language() ob_languages = ob.get_available_languages() langs = [] for x in ob_languages: langs.append({'id': x, 'title': i18n.get_language_name(x), 'selected': x == ob_language}) return langs
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 get_languages_map(self): """ Return a list of dictionaries, each dictionary has the language id, its title and a boolean value to indicate wether it's the user preferred language, for example: [{'id': 'en', 'title': 'English', 'selected': 1}] Used in changeLanguageForm. """ # For now only LPM instances are considered to be containers of # multilingual data. try: ob = self.getLocalPropertyManager() except AttributeError: ob = self ob_language = ob.get_selected_language() ob_languages = ob.get_available_languages() langs = [] for x in ob_languages: langs.append({ 'id': x, 'title': get_language_name(x), 'selected': x == ob_language }) return langs
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 get_language_name(self, id=None): """ Returns the name of the given language code. XXX Kept here for backwards compatibility only """ if id is None: id = self.get_default_language() return get_language_name(id)
def get_language_name(self, id=None): """ Returns the name of the given language code. XXX Kept here for backwards compatibility only """ if id is None: id = self.get_default_language() return i18n.get_language_name(id)
def get_languages_mapping(self): """Returns a list of dictionary, one for each objects language. The dictionary contains the language code, its name and a boolean value that tells wether the language is the default one or not. """ return [ {'code': x, 'name': get_language_name(x), 'default': x == self._default_language} for x in self._languages ]
def get_namespace(self, resource, context): proxy = super(WikiFolder_ImportODT, self) namespace = proxy.get_namespace(resource, context) root = resource.get_site_root() languages = root.get_property('website_languages') namespace['meta-lang'] = [] for code in languages: namespace['meta-lang'].append({ 'name': get_language_name(code), 'value': code}) return namespace
def get_language_name(self, id=None): """ Returns the name of the given language code. XXX Kept here for backwards compatibility only """ if id is None: id = self.get_default_language() language_name = i18n.get_language_name(id) if language_name=='???': return self.get_user_defined_language_name(id) or language_name else: return language_name
def _get_items(self): multilingual = False schema = self.view._get_schema(self.resource, self.context) for key, datatype in schema.iteritems(): if getattr(datatype, "multilingual", False): multilingual = True break if multilingual is False: # No multilingual fields return [] root = self.resource.get_root() languages = root.get_value("website_languages") edit_languages = self.resource.get_edit_languages(self.context) return [{"title": get_language_name(x), "name": x, "selected": x in edit_languages} for x in languages]
def _get_items(self): multilingual = False schema = self.view._get_schema(self.resource, self.context) for key, datatype in schema.iteritems(): if getattr(datatype, 'multilingual', False): multilingual = True break if multilingual is False: # No multilingual fields return [] root = self.resource.get_root() languages = root.get_value('website_languages') edit_languages = self.resource.get_edit_languages(self.context) return [ {'title': get_language_name(x), 'name': x, 'selected': x in edit_languages} for x in languages ]
def get_namespace(self, resource, context): root = context.root # Languages user_language = resource.get_value('user_language') languages = [{ 'code': code, 'name': get_language_name(code), 'is_selected': code == user_language } for code in root.get_available_languages()] # Timezone user_timezone = resource.get_value('user_timezone') timezones = [{ 'name': name, 'is_selected': name == user_timezone } for name in common_timezones] return {'languages': languages, 'timezones': timezones}
def get_namespace(self, resource, context): root = context.root # Languages user_language = resource.get_value('user_language') languages = [ {'code': code, 'name': get_language_name(code), 'is_selected': code == user_language} for code in root.get_available_languages() ] # Timezone user_timezone = resource.get_value('user_timezone') timezones = [ {'name': name, 'is_selected': name == user_timezone} for name in common_timezones ] return {'languages': languages, 'timezones': timezones}
def get_namespace(self, resource, context): ws_languages = context.root.get_value('website_languages') # Active languages default = ws_languages[0] active = [] for code in ws_languages: language_name = get_language_name(code) active.append({ 'code': code, 'name': language_name, 'isdefault': code == default}) # Not active languages not_active = [ x for x in get_languages() if x['code'] not in ws_languages ] not_active.sort(lambda x, y: cmp(x['name'], y['name'])) # Ok return { 'active_languages': active, 'not_active_languages': not_active}
def get_namespace(self, resource, context): ws_languages = context.root.get_value('website_languages') # Active languages default = ws_languages[0] active = [] for code in ws_languages: language_name = get_language_name(code) active.append({ 'code': code, 'name': language_name, 'isdefault': code == default }) # Not active languages not_active = [ x for x in get_languages() if x['code'] not in ws_languages ] not_active.sort(lambda x, y: cmp(x['name'], y['name'])) # Ok return {'active_languages': active, 'not_active_languages': not_active}
def get_language_msg(code): language = get_language_name(code) return MSG(language)
def get_language_msg(code): language = get_language_name(code) return MSG(language)