def get_context(self, context, template, i18n_mode): if template in MARKERS: _tmp = template if i18n_mode not in MARKERS: template = i18n_mode else: template = NOT_PROVIDED i18n_mode = _tmp if template is NOT_PROVIDED: template = "menu/language_chooser.html" if not i18n_mode in MARKERS: i18n_mode = 'raw' if 'request' not in context: # If there's an exception (500), default context_processors may not be called. return {'template': 'cms/content.html'} marker = MARKERS[i18n_mode] current_lang = get_language() site = Site.objects.get_current() languages = [] for lang in get_language_objects(site.pk): if lang.get('public', True): languages.append( (lang['code'], marker(lang['name'], lang['code']))) context.update({ 'languages': languages, 'current_language': current_lang, 'template': template, }) return context
def get_context(self, context, template, i18n_mode): if template in MARKERS: _tmp = template if i18n_mode not in MARKERS: template = i18n_mode else: template = NOT_PROVIDED i18n_mode = _tmp if template is NOT_PROVIDED: template = "menu/language_chooser.html" if not i18n_mode in MARKERS: i18n_mode = 'raw' if 'request' not in context: # If there's an exception (500), default context_processors may not be called. return {'template': 'cms/content.html'} marker = MARKERS[i18n_mode] current_lang = get_language() site = Site.objects.get_current() languages = [] for lang in get_language_objects(site.pk): if lang.get('public', True): languages.append((lang['code'], marker(lang['name'], lang['code']))) context['languages'] = languages context['current_language'] = current_lang context['template'] = template return context
def add_language_menu(self): language_menu = self.toolbar.get_or_create_menu(LANGUAGE_MENU_IDENTIFIER, _('Language')) language_changer = getattr(self.request, '_language_changer', DefaultLanguageChanger(self.request)) for language in get_language_objects(self.current_site.pk): try: url = language_changer(language['code']) except NoReverseMatch: url = DefaultLanguageChanger(self.request)(language['code']) language_menu.add_link_item(language['name'], url=url, active=self.current_lang == language['code'])
def add_language_menu(self): try: current_lang = get_language_object(get_language_from_request(self.request), self.current_site.pk) except LanguageError: current_lang = None language_menu = self.toolbar.get_or_create_menu(LANGUAGE_MENU_IDENTIFIER, _('Language')) language_changer = getattr(self.request, '_language_changer', DefaultLanguageChanger(self.request)) for language in get_language_objects(self.current_site.pk): url = language_changer(language['code']) language_menu.add_link_item(language['name'], url=url, active=current_lang['code'] == language['code'])
def single_page_translation(self): current_site = Site.objects.get_current() try: current_lang = get_language_object(get_language_from_request(self.request), current_site.pk) except LanguageError: current_lang = None language_menu = self.toolbar.get_or_create_menu(LANGUAGE_MENU_IDENTIFIER, _('Language')) position = language_menu.find_first(Break, identifier=ADD_PAGE_LANGUAGE_BREAK) menu = language_menu.get_or_create_menu('aldryn-translator', _('Get this page translated'), position=position) for language in get_language_objects(current_site.pk): if language['code'] != current_lang['code']: menu.add_modal_item(_('to %s' % language['name']), "%s?from_lang=%s&to_lang=%s" % ( reverse('admin:aldryn_translator_translation_add'), current_lang['code'], language['code']))
def add_language_menu(self): try: current_lang = get_language_object( get_language_from_request(self.request), self.current_site.pk) except LanguageError: current_lang = None language_menu = self.toolbar.get_or_create_menu( LANGUAGE_MENU_IDENTIFIER, _('Language')) language_changer = getattr(self.request, '_language_changer', DefaultLanguageChanger(self.request)) for language in get_language_objects(self.current_site.pk): url = language_changer(language['code']) language_menu.add_link_item( language['name'], url=url, active=current_lang['code'] == language['code'])
def change_language_menu(self): language_menu = self.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER) if not language_menu: return None add = [] remove = self.page.get_languages() languages = get_language_objects(self.current_site.pk) for language in languages: code = language['code'] if not code in remove: add.append(code) if add: language_menu.add_break(ADD_PAGE_LANGUAGE_BREAK) for code in add: language = get_language_object(code, self.current_site.pk) url = "%s?language=%s" % (reverse("admin:cms_page_change", args=[self.page.pk]), language['code']) language_menu.add_modal_item(_("Add %(language)s Translation") % {'language': language['name']}, url=url) if remove: language_menu.add_break(REMOVE_PAGE_LANGUAGE_BREAK) for code in remove: try: language = get_language_object(code, self.current_site.pk) language_code = language['code'] language_name = language['name'] except LanguageError: language_code = code language_name = code url = "%s?language=%s" % ( reverse("admin:cms_page_delete_translation", args=[self.page.pk]), language_code) language_menu.add_modal_item(_("Delete %(language)s Translation") % {'language': language_name}, url=url, disabled=len(remove) == 1) if len(languages) > 1 and self.current_lang and len(remove) > 1: language_menu.add_break(COPY_PAGE_LANGUAGE_BREAK) for language in languages: if self.current_lang == language['code'] or language['code'] in add: continue url = reverse('admin:cms_page_copy_language', args=[self.page.pk]) question = _('Are you sure you want copy all plugins from %s?') % language['name'] language_menu.add_ajax_item(_("Copy all plugins from %s") % language['name'], action=url, data={'source_language': language['code'], 'target_language': self.current_lang}, question=question)
def change_language_menu(self): language_menu = self.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER) if not language_menu: return None add = [] remove = self.page.get_languages() languages = get_language_objects(self.current_site.pk) for language in languages: code = language['code'] if not code in remove: add.append(code) if add: language_menu.add_break(ADD_PAGE_LANGUAGE_BREAK) for code in add: language = get_language_object(code, self.current_site.pk) url = "%s?language=%s" % (reverse("admin:cms_page_change", args=[self.page.pk]), language['code']) language_menu.add_modal_item(_("Add %(language)s Translation") % {'language': language['name']}, url=url) if remove: language_menu.add_break(REMOVE_PAGE_LANGUAGE_BREAK) for code in remove: try: language = get_language_object(code, self.current_site.pk) language_code = language['code'] language_name = language['name'] except LanguageError: language_code = code language_name = code url = "%s?language=%s" % ( reverse("admin:cms_page_delete_translation", args=[self.page.pk]), language_code) language_menu.add_modal_item(_("Delete %(language)s Translation") % {'language': language_name}, url=url, disabled=len(remove) == 1) if len(languages) > 1 and self.current_lang and len(remove) > 1: language_menu.add_break(COPY_PAGE_LANGUAGE_BREAK) for language in languages: if self.current_lang == language['code'] or language['code'] in add: continue url = reverse('admin:cms_page_copy_language', args=[self.page.pk]) question = _('Are you sure you want copy all plugins from %s?') % language['name'] language_menu.add_ajax_item(_("Copy all plugins from %s") % language['name'], action=url, data={'source_language': language['code'], 'target_language': self.current_lang}, question=question, on_success=self.toolbar.REFRESH_PAGE)
def get_site_languages(): return get_language_objects(Site.objects.get_current().pk)
def change_language_menu(self): language_menu = self.toolbar.get_or_create_menu( LANGUAGE_MENU_IDENTIFIER) add = [] remove = Title.objects.filter(page=self.page).values_list('language', flat=True) languages = get_language_objects(self.current_site.pk) for language in languages: code = language['code'] if not code in remove: add.append(code) if add: language_menu.add_break(ADD_PAGE_LANGUAGE_BREAK) for code in add: language = get_language_object(code, self.current_site.pk) url = "%s?language=%s" % (reverse("admin:cms_page_change", args=[self.page.pk ]), language['code']) language_menu.add_modal_item( _("Add %(language)s Translation") % {'language': language['name']}, url=url) if remove: language_menu.add_break(REMOVE_PAGE_LANGUAGE_BREAK) for code in remove: try: language = get_language_object(code, self.current_site.pk) language_code = language['code'] language_name = language['name'] except LanguageError: language_code = code language_name = code url = "%s?language=%s" % (reverse( "admin:cms_page_delete_translation", args=[self.page.pk]), language_code) language_menu.add_modal_item( _("Delete %(language)s Translation") % {'language': language_name}, url=url, disabled=len(remove) == 1) try: current_lang = get_language_object( get_language_from_request(self.request), self.current_site.pk) except LanguageError: current_lang = None if len(languages) > 1 and current_lang and len(remove) > 1: language_menu.add_break(COPY_PAGE_LANGUAGE_BREAK) for language in languages: if current_lang['code'] == language['code'] or language[ 'code'] in add: continue url = reverse('admin:cms_page_copy_language', args=[self.page.pk]) question = _('Are you sure you want copy all plugins from %s?' ) % language['name'] language_menu.add_ajax_item(_("Copy all plugins from %s") % language['name'], action=url, data={ 'source_language': language['code'], 'target_language': current_lang['code'] }, question=question)