シンプルな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. ルビー - 国際化
- 3. モノ国際化
- 4. YAML国際化
- 5. Spring MVCカスタムエラーと国際化
- 6. JavaFX 2と国際化ロードプロパティファイル
- 7. Qtスタイルシートと国際化
- 8. カスタムモデルエラーの国際化
- 9. 国際化検証
- 10. Struts2 +国際化+ Java
- 11. Android WebView国際化
- 12. cakePHP 3.3国際化
- 13. AngularJSの国際化
- 14. SSRSの国際化
- 15. Railsの国際化
- 16. Javaの国際化
- 17. 国際化とC#メソッド属性?
- 18. emberjsと国際化の使い方
- 19. CakePHP:Webアプリケーションの国際化 - デザインとサンプル?
- 20. CakePHP 2.1での国際化とローカリゼーション
- 21. h:f:paramと国際化対応のoutputFormat
- 22. krakenjs /マカラ国際化とコンテンツ(contentful)
- 23. のRails 3の足場と国際化
- 24. Thymeleaf国際化(i18n)とhtmlタグ
- 25. i18n(国際化)とタイムリーフのスプリングブート
- 26. 角度国際化(i18n)と* ngFor
- 27. VB 6アプリケーションの国際化
- 28. 国際化入力inputFileUploadブラウズボタン
- 29. asp.net Webフォームの国際化
- 30. Struts2ラジオボタンの国際化