[8]多言語コンテンツ
RichDocumentをLinguaPloneを使って翻訳するための方法について解説します。
Ploneは,LinguaPloneを活用して多言語コンテンツをサポートします。あなたの作ったコンテンツタイプに多言語サポートを追加するのは驚くほど簡単です。LinguaPloneはArchetypesの内部に機能を追加します。条件によってArchetypesの代わりにLinguaPloneをimportすると,利用可能な場合はLingualPloneの拡張機能を利用することができ,LingualPloneがない場合でもコンテンツタイプを動作することができます。
すべてのATContentTypesはすでにLinguaPloneに対応しています。RichDocumentをLinguaPlone対応にするためにはcontent/richdocument.pyとcontent/attachments.pyに対して以下のような変更を加えるだけです :
try: from Products.LinguaPlone.public import * except ImportError: # No multilingual support from Products.Archetypes.public import *
このコードはArchetypeの公開モジュールのうちLinguaPloneバージョンをimportしようと試みます。そしてもしimportに失敗すると,Archetypeのデフォルトモジュールに切り替えます。LinguaPloneがインストールされている場合には,RichDocumentに「翻訳メニュー」が追加されて翻訳を行えるようになます。
displayImagesとdisplayAttachmentsという2つのフィールドは多言語化とは無関係なので,翻訳を行う必要がありません。このため,RichDocumentのスキーマ(schema)のフィールド上でlanguageIndependent=1とします。
以下のURLにあるHow Toの翻訳です。
http://plone.org/documentation/tutorial/richdocument/multilingual