def _create_country_folder(member_states, country_name, lang):
    log.info('_create_country_folder for %s in language: %s' \
             % (country_name, lang))
    sid = country_name.lower().replace(' ', '-').replace('/', '-')
    if member_states.portal_languages.getCanonicalLanguage() == lang:
        try:
            member_states.invokeFactory('Folder', sid)
        except BadRequest:
            log.info('Country folder %s already exists! Will take existing folder.' % country_name)

        country_folder = member_states._getOb(sid)
    else:
        canonical = member_states._getOb(sid)
        country_folder = canonical.addTranslation(lang)

    translate = getTranslationService().translate
    title_trans = translate(
			target_language=lang, 
			msgid=u'ew2000-navtitle_%s' % lang, 
			default=country_name, 
			context=member_states, 
			domain='osha-subsites'
			)
    country_folder.setTitle(title_trans)
    subtyper = component.getUtility(ISubtyper)
    subtyper.change_type(country_folder, 'slc.subsite.FolderSubsite')
    return country_folder
def _create_country_folder(member_states, country_name, lang):
    log.info('_create_country_folder for %s in language: %s' \
             % (country_name, lang))
    sid = country_name.lower().replace(' ', '-').replace('/', '-')
    if member_states.portal_languages.getCanonicalLanguage() == lang:
        try:
            member_states.invokeFactory('Folder', sid)
        except BadRequest:
            log.info(
                'Country folder %s already exists! Will take existing folder.'
                % country_name)

        country_folder = member_states._getOb(sid)
    else:
        canonical = member_states._getOb(sid)
        country_folder = canonical.addTranslation(lang)

    translate = getTranslationService().translate
    title_trans = translate(target_language=lang,
                            msgid=u'ew2000-navtitle_%s' % lang,
                            default=country_name,
                            context=member_states,
                            domain='osha-subsites')
    country_folder.setTitle(title_trans)
    subtyper = component.getUtility(ISubtyper)
    subtyper.change_type(country_folder, 'slc.subsite.FolderSubsite')
    return country_folder
示例#3
0
 def _setter(ob, *args, **kw):
     translate = getTranslationService().translate
     label = kw["label"]
     domain = kw["domain"]
     lang = kw["lang"]
     desc_trans = translate(target_language=lang, msgid=label, default=label, context=ob, domain=domain)
     ob.setDescription(desc_trans)
def _add_portlets(obj, events_topic, news_topic, lang):
    log.info('_add_portlets for language %s' % lang)
    path = "/".join(obj.getPhysicalPath())
    oshabelow = assignment_mapping_from_key(obj, 'osha.belowcontent.portlets', CONTEXT_CATEGORY, path)

    events_topic_path = "/".join(events_topic.getPhysicalPath())
    news_topic_path = "/".join(news_topic.getPhysicalPath())

    translate = getTranslationService().translate
    news_trans = translate(
                        target_language=lang, 
                        msgid=u'News', 
                        default=u'News', 
                        context=obj, 
                        domain='plone'
                        )
    oshabelow[u'news-collection'] = collection.Assignment(
                                        header=news_trans,
                                        target_collection=news_topic_path,
                                        limit=5,
                                        )

    events_trans = translate(
                        target_language=lang, 
                        msgid=u'Events', 
                        default=u'Events', 
                        context=obj, 
                        domain='plone'
                        )
    oshabelow[u'events-collection'] = collection.Assignment(
                                        header=events_trans,
                                        target_collection=events_topic_path,
                                        limit=5,
                                        )

    rightcolumn_manager = component.getUtility(
                    IPortletManager,
                    name=u'plone.rightcolumn',
                    context=obj
                    )

    rightcolumn = component.getMultiAdapter(
                            (obj, rightcolumn_manager),
                            IPortletAssignmentMapping, context=obj
                            )

    rightcolumn[u'activities'] = osha_portlets.image.Assignment(
                                        header=u"Agency's Activities",
                                        image="/en/press/photos/banners/hw_08_banner/hwp_%s.swf" % lang,
                                        url="/%s/campaigns/hw2008/" % lang,
                                        width="167",
                                        height="74",
                                        )

    rightcolumn[u'links'] = osha_portlets.network_member_links.Assignment()
def _add_portlets(obj, events_topic, news_topic, lang):
    log.info('_add_portlets for language %s' % lang)
    path = "/".join(obj.getPhysicalPath())
    oshabelow = assignment_mapping_from_key(obj, 'osha.belowcontent.portlets',
                                            CONTEXT_CATEGORY, path)

    events_topic_path = "/".join(events_topic.getPhysicalPath())
    news_topic_path = "/".join(news_topic.getPhysicalPath())

    translate = getTranslationService().translate
    news_trans = translate(target_language=lang,
                           msgid=u'News',
                           default=u'News',
                           context=obj,
                           domain='plone')
    oshabelow[u'news-collection'] = collection.Assignment(
        header=news_trans,
        target_collection=news_topic_path,
        limit=5,
    )

    events_trans = translate(target_language=lang,
                             msgid=u'Events',
                             default=u'Events',
                             context=obj,
                             domain='plone')
    oshabelow[u'events-collection'] = collection.Assignment(
        header=events_trans,
        target_collection=events_topic_path,
        limit=5,
    )

    rightcolumn_manager = component.getUtility(IPortletManager,
                                               name=u'plone.rightcolumn',
                                               context=obj)

    rightcolumn = component.getMultiAdapter((obj, rightcolumn_manager),
                                            IPortletAssignmentMapping,
                                            context=obj)

    rightcolumn[u'activities'] = osha_portlets.image.Assignment(
        header=u"Agency's Activities",
        image="/en/press/photos/banners/hw_08_banner/hwp_%s.swf" % lang,
        url="/%s/campaigns/hw2008/" % lang,
        width="167",
        height="74",
    )

    rightcolumn[u'links'] = osha_portlets.network_member_links.Assignment()
示例#6
0
文件: utility.py 项目: dtgit/dtedu
    def translate(self, msgid, mapping=None, context=None,
                  target_language=None, default=None):

        pts  = getTranslationService()
        if pts is None or context is None:
            # If we don't have enough context use interpolate
            return interpolate(default, mapping)

        # Don't accept anything which isn't a real request
        if not IBrowserRequest.providedBy(context) or 'PARENTS' not in context:
            raise ValueError, "You didn't pass in a request as the context."

        parent = context['PARENTS'][-1]
        return pts.translate(self.domain, msgid, mapping, parent,
                             target_language, default)
def _add_news_folder(country_folder, lang):
    translate = getTranslationService().translate
    news_trans = translate(target_language=lang,
                           msgid=u'News',
                           default=u'News',
                           context=country_folder,
                           domain='plone')
    log.info('_add_news_folder')
    if country_folder.portal_languages.getCanonicalLanguage() == lang:
        id = country_folder.invokeFactory('Folder', 'news')
        news = country_folder._getOb(id)
    else:
        canonical_country_folder = country_folder.getCanonical()
        canonical_news = canonical_country_folder._getOb("news")
        news = canonical_news.addTranslation(lang)

    news.setTitle(news_trans)
    return _add_news_topic(news, lang)
def _add_events_folder(country_folder, lang):
    log.info('_add_events_folder')
    translate = getTranslationService().translate
    events_trans = translate(
                        target_language=lang, 
                        msgid=u'Events', 
                        default=u'Events', 
                        context=country_folder, 
                        domain='plone'
                        )
    if country_folder.portal_languages.getCanonicalLanguage() == lang:
        id = country_folder.invokeFactory('Folder', 'events', title=events_trans)
        events = country_folder._getOb(id)
    else:
        canonical_country_folder = country_folder.getCanonical()
        canonical_events = canonical_country_folder._getOb("events")
        events = canonical_events.addTranslation(lang)

    events.setTitle(events_trans)
    return _add_events_topic(events, lang)
def _add_news_folder(country_folder, lang):
    translate = getTranslationService().translate
    news_trans = translate(
                        target_language=lang, 
                        msgid=u'News', 
                        default=u'News', 
                        context=country_folder, 
                        domain='plone'
                        )
    log.info('_add_news_folder')
    if country_folder.portal_languages.getCanonicalLanguage() == lang:
        id = country_folder.invokeFactory('Folder', 'news')
        news = country_folder._getOb(id)
    else:
        canonical_country_folder = country_folder.getCanonical()
        canonical_news = canonical_country_folder._getOb("news")
        news = canonical_news.addTranslation(lang)

    news.setTitle(news_trans)
    return _add_news_topic(news, lang)
def _add_events_folder(country_folder, lang):
    log.info('_add_events_folder')
    translate = getTranslationService().translate
    events_trans = translate(target_language=lang,
                             msgid=u'Events',
                             default=u'Events',
                             context=country_folder,
                             domain='plone')
    if country_folder.portal_languages.getCanonicalLanguage() == lang:
        id = country_folder.invokeFactory('Folder',
                                          'events',
                                          title=events_trans)
        events = country_folder._getOb(id)
    else:
        canonical_country_folder = country_folder.getCanonical()
        canonical_events = canonical_country_folder._getOb("events")
        events = canonical_events.addTranslation(lang)

    events.setTitle(events_trans)
    return _add_events_topic(events, lang)
## Script (Python) "translate_target"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=domain, id, target
##title=
##
from Products.PythonScripts.standard import html_quote
from Products.PlacelessTranslationService import getTranslationService

request = container.REQUEST
RESPONSE =  request.RESPONSE

return getTranslationService().utranslate(domain, id, target_language=target)