def translateArtists(language="en"): import plone.api import transaction from plone.app.multilingual.interfaces import ITranslationManager container_path = "/nl/online-archief/kunstenaars" with plone.api.env.adopt_user(username="******"): container = plone.api.content.get(path=container_path) total = len(list(container)) curr = 0 for _id in list(container): curr += 1 print "Translating Person %s / %s to '%s'" %(curr, total, language) person = container[_id] if not ITranslationManager(person).has_translation(language): ITranslationManager(person).add_translation(language) person_translated = ITranslationManager(person).get_translation(language) person_translated.title = person.title person_translated.firstname = person.firstname person_translated.lastname = person.lastname person_translated.nationality = person.nationality person_translated.year = person.year person_translated.reindexObject() transaction.get().commit() print "Translation added for Person '%s'" %(person.title) else: print "Person '%s' already has a translation to '%s'" %(person.title, language) return True