Ich möchte ein Element als Übersetzung eines anderen Elements programmgesteuert in LinguaPlone verknüpfen. Was ist die API?Was ist die LinguaPlone-API, um ein vorhandenes Inhaltselement als Übersetzung eines anderen Inhaltselements zu verknüpfen?
2
A
Antwort
3
Sie müssen sicherstellen, dass Sie die kanonische Objekt haben zuerst:
canonical = object.getCanonical()
Sie können dann Ihre Übersetzung verlinken von addTranslationReference
auf der Übersetzung Aufruf:
translatedObject.addTranslationReference(canonical)
Das ist alles. Die LinguaPlone-API ist eher unzureichend dokumentiert. Am besten schauen Sie sich die I18NBaseObject source code an. Die wichtigste Sache, die man sich merken sollte, ist, dass es immer ein kanonisches Objekt gibt, mit allen Übersetzungen, die über Referenzen mit ihm verbunden sind, wobei die Referenzpunkte von den Übersetzungen zum kanonischen Objekt zeigen.
1
Ich denke, es ist obj.addTranslationReference (tr_obj), die Zielsprache stammt aus tr_obj. Aber das ist nur ein kurzer Blick auf I18NBaseObject.py: Plone ist mein Job und es ist Wochenende. :)
Es scheint, dass die kanonische Sprache das Argument für addTranslationReference() sein muss, nicht umgekehrt. Ich habe auch die API-Tests gefunden. http://dev.plone.org/plone/browser/Products.LinguaPlone/trunk/Products/LinguaPlone/tests/test_api.py – joeforker
Sie haben ganz Recht, meine Antwort zu korrigieren. –