コード例 #1
0
 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
コード例 #2
0
ファイル: language.py プロジェクト: mohalfaki/bungeni-portal
    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"))
コード例 #3
0
ファイル: menu.py プロジェクト: BenoitTalbot/bungeni-portal
 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
コード例 #4
0
    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]
コード例 #5
0
    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"),
        )
コード例 #6
0
ファイル: menu.py プロジェクト: BenoitTalbot/bungeni-portal
    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
コード例 #7
0
ファイル: menu.py プロジェクト: mohalfaki/bungeni-portal
    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