def __call__(self): pc = getToolByName(self.context, "portal_catalog") pl = getToolByName(self.context, "portal_languages") self.results = [] for language_supported in pl.getSupportedLanguages(): translated_objects = pc.searchResults(object_provides=LP_TRANSLATABLE, Language=language_supported) for brain in translated_objects: obj = brain.getObject() if obj.isCanonical(): translations = obj.getTranslations(include_canonical=False) manager = ITranslationManager(obj) if translations: for language in translations.keys(): try: manager.register_translation(language, translations[language][0]) except KeyError: logger.warning( "%s already translated to %s: %s" % (obj.id, language, str(manager.get_translations())) ) self.results.append(str(manager.get_translations())) logger.info("Finished with transferring catalog information") return self.template()
def __call__(self): pc = getToolByName(self.context, 'portal_catalog') pl = getToolByName(self.context, 'portal_languages') self.results = [] for language_supported in pl.getSupportedLanguages(): translated_objects = pc.searchResults( object_provides=LP_TRANSLATABLE, Language=language_supported) for brain in translated_objects: obj = brain.getObject() if obj.isCanonical(): translations = obj.getTranslations(include_canonical=False) manager = ITranslationManager(obj) if translations: for language in translations.keys(): try: manager.register_translation( language, translations[language][0]) except KeyError: logger.warning( '%s already translated to %s: %s' % (obj.id, language, str(manager.get_translations()))) self.results.append(manager.get_translations()) return self.template()
def linkTranslations(self): """ Links the translations of the default language Folders """ doneSomething = False canonical = ITranslationManager(self.folders[self.defaultLanguage]) for language in self.languages: if ((language != self.defaultLanguage) and (not canonical.has_translation(language))): canonical.register_translation(language, self.folders[language]) doneSomething = True if doneSomething: LOG.info("Translations linked.") return doneSomething
def update(self, obj, data): ILanguage(obj).set_language(data['language']) IMutableTG(obj).set(data['translation_group_uuid']) manager = ITranslationManager(obj) manager.register_translation(data['language'], obj)