Using MVC
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

MVCポートレットでのローカライズされたメッセージの使用

Liferay のローカリゼーション フレームワークは、MVC ポートレットでローカライズされたメッセージを作成するためのものです。

サンプルコードをデプロイする

新しいLiferay インスタンスを起動し、以下を実行します。

docker run -it -m 8g -p 8080:8080 liferay/portal:7.4.3.132-ga132

http://localhost:8080でLiferayにサインインします。 メールアドレス test@liferay.com とパスワード testを使用してください。 プロンプトが表示されたら、パスワードを learnに変更します。

次に、以下の手順に従います。

  1. サンプルをダウンロードして解凍します。

    curl https://resources.learn.liferay.com/examples/liferay-b6f5.zip -O
    
    unzip liferay-b6f5.zip
    
  2. モジュールのルートから、ビルドおよびデプロイします。

    ./gradlew deploy -Ddeploy.docker.container.id=$(docker ps -lq)
    

    このコマンドは、デプロイされたjarをDockerコンテナの/opt/liferay/osgi/modulesにコピーするのと同じです。

  3. Liferay Dockerコンテナコンソールでデプロイを確認します。

    STARTED com.acme.b6f5.web.0.0 [1009]
    
  4. サンプルのモジュールが機能していることを確認します。 ブラウザでhttps://localhost:8080を開きます。

  5. B6F5ポートレットをページに追加します。 サンプルポートレットは、サンプルウィジェットの下にあります。

    B6F5ポートレットをページに追加します。

    例のウェルカムメッセージのヘッダが表示されます。

  6. このサンプルプロジェクトには、ポルトガル語と日本語のロケールも含まれています。 たとえば、言語セレクターを使用してブラジルポルトガル語または日本語を選択すると、ウェルカムメッセージが表示されます。

    このサンプルでは、ポルトガル語と日本語のロケールが表示されています。

次に、どのように機能するかを確認します。

言語プロパティファイルを作成する

Language.propertiesファイルを作成し、モジュールのsrc/main/resources/contentフォルダに追加します。 ファイルで、MVCポートレットで使用するキーを定義します。

他のロケールの言語プロパティファイルもフォルダに含めることができます。 たとえば、日本語の言語キーを含めるには、Language_ja.propertiesファイルをフォルダに追加します。

JSPファイルを作成する

JSPファイルを作成し、モジュールの/src/main/resources/META-INF/resourcesフォルダに追加します。

サンプルプロジェクトには、liferay-uiタグライブラリを使用する簡単なウェルカムメッセージを含むview.jspファイルが含まれています。

<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>

<h4>B6F5 Portlet</h4>

<h5><liferay-ui:message key="b6f5-portlet-welcome" /></h5>

サンプルのjspファイルに追加のliferay-ui:messageが含まれていることに注意してください。

<liferay-ui:message key="supercalifragilisticexpialidocious" />

これは、Language.propertiesファイルにそのようなキーが見つからない場合、代わりにラベルが表示されることを示しています。

タグライブラリの詳細については、 Liferay タグライブラリリファレンスをご覧ください。 各タグライブラリには、タグに渡すことができる属性のリストがあります。

コンポーネント定義を追加する

カスタム MVC ポートレットを作成するときは、クラスの @Component 定義に言語リソース バンドル プロパティを含めるようにしてください。

@Component(
   property = {
      ...
      "javax.portlet.resource-bundle=content.Language",
      "javax.portlet.supported-locale=en_US,ja,pt_BR"
   },
   service = Portlet.class
)

サンプルプロジェクトには、言語リソースバンドルを使用するための次のプロパティが含まれています。

"javax.portlet.resource-bundle=content.Language"

ポートレットがサポートするすべての言語に対して、さまざまなロケールも定義されています。

"javax.portlet.supported-locale=en_US,ja,pt_BR"