LinguaPloneの利用 [Plone4.0]
LinguaPlone を利用することで Plone を多言語化することができる。
インストール
サーバへのインストール
インストールは、インスタンス内の buildout.cfg を設定する。
eggs = Plone : + Products.LinguaPlone==4.0.3
次に設定を反映する。
# bin/buildout # bin/plonectl stop; bin/plonectl start
設定
以下では Plone のルートに各言語のトップページ用のフォルダ(日本語:ja、英語:en)を作成することを想定。
Ploneへのインストール
次に Plone に管理者でログインし、「サイト設定→プロダクトを追加・削除」より LinguaPlone をインストールする。
ローカルロールユーザが対応付け言語選択時にPloneのルートまでたどれない点を修正
portal_skins/LinguaPlone/translationbrowser_popup をスキンフォルダにコピーして編集する。
- results python: test(search_text!='', query_results, [item for item in here.listFolderContents() if checkPermission('View',item)]); + results python: test(search_text!='', query_results, [item.getObject() for item in here.getFolderContents({'Language': 'all'}) if checkPermission('View',item)]);
設定
Plone に管理者でログインし「サイト設定→言語」から次のように設定する。
- デフォルト言語
デフォルトでは日本語のコンテンツとして作成されるようにする。
Japanese
- 利用可能言語
利用可能な言語は、日本語と英語とする。
Japanese、English
さらにバーチャルホストを用いる場合は ZMI の portal_languages の Negotiation Scheme で次のものにもチェックを入れておく。
Use language codes in URL path for manual override.
ロゴのリンク先を変更
portal_view_customizations で plone.logo を編集する。
- tal:attributes="href view/navigation_root_url" + tal:attributes="href string:${view/navigation_root_url}/${context/@@plone_portal_state/language}"
ホームタブの設定
言語に応じてホームのページを変更するため、portal_actions で Home を以下のように設定する。
- URL (Expression) : string:${globals_view/navigationRootUrl} + URL (Expression) : string:${globals_view/navigationRootUrl}/${here/Language}
検索結果を言語ごとのトップページ配下で呼び出す
検索結果の言語が英語になってしまうためこのように対応する。portal_view_customizations で plone.searchbox を編集する。
tal:define="navigation_root_url view/navigation_root_url;
- search_input_id view/search_input_id;">
+ search_input_id view/search_input_id;
+ portal_state context/@@plone_portal_state;
+ lang portal_state/language;">
:
- tal:attributes="action string:${navigation_root_url}/search; + tal:attributes="action string:${navigation_root_url}/${lang}/search;