16.2. ロケール


各ユーザーログインのセッションは、 java.util.Locale の関連付けられたインスタンスを持ち、 アプリケーションに対しては locale という名前のコンポーネントとして使用可能です。 通常の環境では、 ロケールに特別な設定は不要です。 Seam ではアクティブなロケールの決定は次のように JSF に委譲します。
  • ロケールが HTTP 要求と関連付けられ (ブラウザのロケール)、 そのロケールが faces-config.xml にあるサポートロケールの一覧にある場合は、 そのロケールをその後のセッションに使用します。
  • これ以外で、 デフォルトロケールが faces-config.xml 中に指定されていた場合、 そのロケールをその後のセッションに使用します。
  • いずれにも該当しない場合、 サーバのデフォルトロケールを使用します。
Seam 設定プロパティの org.jboss.seam.international.localeSelector.languageorg.jboss.seam.international.localeSelector.countryorg.jboss.seam.international.localeSelector.variant により手作業でのロケール設定が 可能 ですが、以前に示した方法ではなくてこれを実行する妥当な理由は考え付きません。
アプリケーションのユーザーインターフェースを使いユーザーに手作業でロケール設定をさせると便利です。 Seam はデフォルトのアルゴリズムで決定されるロケールを無効化する組み込み機能を提供しています。 JSP または Facelet ページのフォームに以下の断片を追加して行います。
<h:selectOneMenu value="#{localeSelector.language}"> 
  <f:selectItem itemLabel="English" itemValue="en"/> 
  <f:selectItem itemLabel="Deutsch" itemValue="de"/> 
  <f:selectItem itemLabel="Francais" itemValue="fr"/> 
</h:selectOneMenu> 
<h:commandButton action="#{localeSelector.select}" 
                 value="#{messages['ChangeLanguage']}"/>
Copy to Clipboard Toggle word wrap
あるいは、 faces-config.xml のサポートロケールの全一覧が必要な場合は次を使います。
<h:selectOneMenu value="#{localeSelector.localeString}"> 
  <f:selectItems value="#{localeSelector.supportedLocales}"/> 
</h:selectOneMenu> 
<h:commandButton action="#{localeSelector.select}" 
                 value="#{messages['ChangeLanguage']}"/>
Copy to Clipboard Toggle word wrap
ユーザーがドロップダウンからアイテムを選択してコマンドボタンをクリックすると、 その後のセッションに対して Seam と JSF のロケールはオーバライドされます。
組み込みの org.jboss.seam.international.localeConfig コンポーネントを使ってサーバーのデフォルトロケールとサポートされているロケールを設定することができます。 まず、 Seam コンポーネント記述子で Seam 国際パッケージの XML 名前空間を宣言します。 次にデフォルトのロケールとサポートされるロケールを次のように定義します。
<international:locale-config default-locale="fr_CA" 
               supported-locales="en fr_CA fr_FR"/>
Copy to Clipboard Toggle word wrap
サポートされるロケールは一致するリソースバンドルが必要であることを忘れないようにしてください。 次に言語固有のラベルを定義します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat