シンプルなWebアプリケーションで実装するのが難しいと感じました。 私はl10n.propertiesファイルをルートWEB-INFの下に置いていますが、私はそれらをどのように読むことができるのか分かりません。 私はPropertiesResourceBundle.getBundle(baseName、locale)を使用しましたが、私はbaseNameのために何を書かなければならないのか分かりません。 私はクラスパスにローカルファイルを置く必要があるいくつかのスレッドを読んで:それは正しいですか? JDeveloperのクラスパスはどこで設定できますか?事前JDeveloperと国際化
答えて
で
おかげで、あなたは、バックエンド側のリソースファイルを読む必要がない限り(つまり、あなたのWebフロントエンドに直接ではないこと)、あなたは、どのような状況の下ではResourceBundle.getBundle()
を使うべきではありませんし、特にはPropertiesResourceBundle.getBundle()
であり、これはそのサブクラスである。
アプリケーションのタイプ(JSPかJSFか)に応じて、リソースに別々にアクセスします。
単純なJSPの場合、hereのようにUIを変換するにはJSTLとfmt:messageタグを使用し、StackOverflowの質問は数多くあります(画面の右上に検索エンジンを使用するだけです)。
JSF/Faceletsの場合、faces-config.xmlに適切な変数を設定し、有効な式言語クエリを使用するだけです。その詳細はthis excellent tutorialにあります。
戻るあなたの元の質問に、あなたはResourceBundle.getBundle()
に渡すベース名は(あなたが本当にあなたが何をしているか知っている限りサブクラスを使用してないでください)あなたは(からそれをアクセスしているクラスのパスに関連していますつまり、同じソースディレクトリにする必要があります)。もう一つは、ここで何を渡すかです。あなたのリソースファイル名がmessages.properties、messages_de.properties、messages_es_MX.propertiesのようなものであると仮定すると、単にbaseNameに "messages"を入れると、問題の呼び出しはResourceBundle.getBundle("messages", theLocale);
のようになります。ここでtheLocaleはLocale
オブジェクトです1つを検出する必要があります(JSPの世界では少し難しいですが、JSF/FaceletsではLocale theLocale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
という単純なものです)。それでおしまい。
- 1. Struts2 +国際化
- 2. YAML国際化
- 3. モノ国際化
- 4. ルビー - 国際化
- 5. Spring MVCカスタムエラーと国際化
- 6. Qtスタイルシートと国際化
- 7. Railsの国際化
- 8. Android WebView国際化
- 9. SSRSの国際化
- 10. Struts2 +国際化+ Java
- 11. 国際化検証
- 12. カスタムモデルエラーの国際化
- 13. 国際化とC#メソッド属性?
- 14. のRails 3の足場と国際化
- 15. CakePHP 2.1での国際化とローカリゼーション
- 16. h:f:paramと国際化対応のoutputFormat
- 17. CakePHP:Webアプリケーションの国際化 - デザインとサンプル?
- 18. emberjsと国際化の使い方
- 19. 旅客や国際化
- 20. Struts2ラジオボタンの国際化
- 21. JSF 2.0の国際化
- 22. 国際化/翻訳のテスト
- 23. Djangoアプリケーションのレイアウト:国際化
- 24. ストラット内での国際化
- 25. アプリフォルダのDjango国際化ファイル
- 26. asp.net Webフォームの国際化
- 27. symfonyのi18n(国際化)
- 28. jnunemaker-validatable - 国際化オプション?
- 29. JavaScript内の国際化
- 30. Qtでの国際化4.8