言語クライアント拡張
Liferay DXP 2025.Q1+/ポータル GA132+
言語クライアント拡張機能は、新しい言語キーを追加したり、既存のキーとその翻訳を上書きしたりします。 たとえば、テーマ CSS クライアント拡張機能でフロントエンド トークン ラベルを翻訳して、ユーザー エクスペリエンスを向上させることができます。 言語オーバーライド ツールでも同じことを実現できますが、キーを提供するクライアント拡張機能とともに翻訳を保持することで、移植性が向上します。
クライアント拡張機能で言語キーを追加またはオーバーライドするには、ワークスペースの 言語 フォルダーに、キーと値を含む Language.properties ファイルを提供します。 ../gradlew buildLang を実行して自動翻訳を生成し、 language フォルダーから ../gradlew clean deploy を使用してデプロイします。 内部的には、言語クライアント拡張機能は、 /o/language/v1.0/ ヘッドレス エンドポイントに依存するバッチ クライアント拡張機能です。
サンプルワークスペースから言語クライアント拡張機能を試すには、
-
サンプルワークスペースをダウンロードして解凍します。
curl -o com.liferay.sample.workspace-latest.zip https://repository.liferay.com/nexus/service/local/artifact/maven/content\?r\=liferay-public-releases\&g\=com.liferay.workspace\&a\=com.liferay.sample.workspace\&\v\=LATEST\&p\=zipunzip com.liferay.sample.workspace-latest.zip -
languageフォルダから、追加または上書きしたいキーでLanguage.propertiesファイルを更新し、実行します。../gradlew buildLang -
実行してクライアント拡張機能を展開します。
../gradlew clean deploy -Ddeploy.docker.container.id=$(docker ps -lq)
インスタンスで有効になっている言語の翻訳のみがインポートされます。 クライアント拡張機能に追加の言語がある場合、それらはインポートされず、次のようなエラーがログに表示されます。
com.liferay.portal.language.override.exception.PLOEntryLanguageIdException$MustBeAvailable: Language ID "pt_PT" is not one of the available language IDs: [en_US, ar_SA, ca_ES, zh_CN, nl_NL, fi_FI, fr_FR, de_DE, hu_HU, ja_JP, pt_BR, es_ES, sv_SE]
at com.liferay.portal.language.override.service.impl.PLOEntryLocalServiceImpl._validate(PLOEntryLocalServiceImpl.java:238) ~[?:?]
...