Quantcast
Channel: aegif Labo Blog
Viewing all articles
Browse latest Browse all 244

Liferay DXP 7.1 言語リソースカスタマイズの共有

$
0
0
こんにちは、うです。

前回、Liferay DXP 7でのカスタイムモジュール(ポートレット)の言語リソースを他モジュールに共有する方法を紹介しました。今回は、Liferay DXP 7.1以降、既存モジュール言語リソースに対するカスタマイズを複数既存モジュールに適用する方法を紹介します。

みなさまはすでにご存知かもしれませんが、Liferay DXP 7.1から、モジュール言語リソースのカスタマイズ方式は従来のOSGI-Service方式からOSGI-Capability方式になりました。従って、bnd-tools Provide-Capabilityのみで、複数モジュールが同じ言語リソースカスタマイズを利用できます。

公式例:
Provide-Capability:\
liferay.resource.bundle;\
resource.bundle.base.name="content.Language",\
liferay.resource.bundle;\
resource.bundle.aggregate:String="(bundle.symbolic.name=com.liferay.docs.l10n.myapp.lang),\
(bundle.symbolic.name=com.liferay.blogs.web)";\
bundle.symbolic.name=com.liferay.blogs.web;\
resource.bundle.base.name="content.Language";\
service.ranking:Long="2";\
servlet.context.name=blogs-web

複数カスタマイズ共有(例として、blogs-webproduct-navigbation-control-menu-webを対象にする)例。

Provide-Capability:\
liferay.resource.bundle;\
resource.bundle.base.name="content.Language",\
liferay.resource.bundle;\
resource.bundle.aggregate:String="(bundle.symbolic.name=com.liferay.docs.l10n.myapp.lang),\
(bundle.symbolic.name=com.liferay.blogs.web)";\
bundle.symbolic.name=com.liferay.blogs.web;\
resource.bundle.base.name="content.Language";\
service.ranking:Long="2";\
servlet.context.name=blogs-web
liferay.resource.bundle;\
resource.bundle.aggregate:String="(bundle.symbolic.name=com.liferay.docs.l10n.myapp.lang),\
(bundle.symbolic.name=com.liferay.product.navigation.control.menu.web)";\
bundle.symbolic.name=com.liferay.product.navigation.control.menu.web;\
resource.bundle.base.name="content.Language";\
service.ranking:Long="2";\
servlet.context.name=product-navigation-control-menu-web

まとめると、Liferay DXP 7.1にでの言語リソース定義は、以下のルールに従いましょう。

  •  bnd.bndProvide-Capabilityを追加する
  •  Provide-Capabilityに以下のディレクティブを追加する
  1. liferay.resource.bundle;resource.bundle.base.name=...: 言語キー所在パッケージパスを定義する
  2. liferay.resource.bundle;resource.bundle.aggregate...: カスタム対象モジュールを宣言する
  3. 複数の対象モジュールがある場合、上記2のディレクテイブを複数記入する
  4. 全てディレクテイブはコンマ,で区切る


Viewing all articles
Browse latest Browse all 244

Trending Articles