問題タブ [resourcebundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - MessageFormatの.propertiesファイルでnullパラメータをテストします
リソースバンドルとMessageFormatを使用すると、次のような結果になる可能性はありますか?
getBundle("message.07", "test")
私が取得するために呼び出すとき"Group test"
getBundle("message.07", null)
私が取得するために呼び出すとき"No group selected"
私がインターネットで見つけたすべての例は、惑星、ディスク上のファイルなどです。
リソースバンドルのプロパティファイルに1つのパラメータが存在するnull
(または存在しない)かどうかを確認するだけで済みます。nullパラメータの特別な形式を見つけたいと思っています{0,choice,null#No group selected|notnull#Group {0}}
。
バンドルを取得するために使用する方法は次のとおりです。
このメソッドは、次のような他のバンドルに対しても呼び出します。
getBundle("message.08", 1, 2)
=>"Page 1 of 2"
(常にパラメータ、チェックする必要はありませんnull
)getBundle("message.09")
=>"Open file"
(パラメータなし、チェックする必要はありませんnull
)
message.07
結果を説明するには、.propertiesファイルに何を書き込む必要がありますか?
私が今持っているのは:
java - Javaのリソースバンドルのテキストに上付き
リソースバンドルに上付きテキストを含めた人はいますか? この問題に関するアドバイスをいただければ幸いです。
つまり、パンダのプログラミング
ありがとう、パンダ
java - JavaでDBからリソースバンドルメッセージをロードする方法は?
リソースバンドルを動的にロードできますか? リソースバンドルを動的に編集できますか?
そのような論理的なリソース バンドル (つまり、物理ファイルとしてではなく、コンテキスト内に配置される) があれば最高です。
関連している:
java - Java Web アプリケーションでの文字列定数とリソース バンドルの比較
昨年から、静的文字列定数を使用して定数を格納するアプリケーションを開発しました。public static final String PAYMENT_CHEQUE = "cheque";と同様 です。 私が必要とする場所、つまりjspページとActionクラスで、上記の文字列定数を参照しますリソースバンドル、プロパティファイルを確認した後、私の質問は
- 静的文字列定数と比較してプロパティ ファイルを使用すると、パフォーマンスに影響はありますか?
- 静的文字列定数とプロパティ ファイルのキーと値のペアはどちらが優れていますか?
- jspで静的文字列定数(ラベル付け用)を使用するのは良い考えですか?
私に提案してください
java - ResourceBundle.getBundle("ResourceFile", new Locale("us", "US")) はどこでファイルを探しますか?
私は Eclipse を実行しており、いくつかの異なるファイルを使用して ResourceBundle を試す簡単なテスト プログラムを作成しようとしています。このファイルは、ResourceFile_us_US.properties という適切な名前が付けられています。しかし、明らかにファイルが見つからないため、getBundle() 呼び出しで例外が発生します。見つけられるように、どこに配置する必要がありますか?
java - Java:多くのGUIオブジェクト間でローカリゼーションオブジェクトを共有するためのベストプラクティス?
アプリ内の多くの GUI オブジェクトでローカリゼーション オブジェクト (この場合はすべての翻訳を保存する ResourceBundle) を共有するためのベスト プラクティスは何でしょうか? アイデアはほとんどありませんが、どちらにも欠点があります。
1)各GUIクラスコンストラクターを介してResourceBundleを渡しますが、(後で使用するために)すべてのクラス内に保存する必要があります-各クラスに同じコードが何度も何度もあることを意味します
2) ResourceBundle を public static として宣言します (ただし、変更する必要がある可能性があるため、最終的なものではありません。言語の変更など)。その後、常にそれを介してアクセスします (MainGuiClass. msg.getString("something")) ですが、同じパッケージ内の他の GUI クラスによって変更/破棄される可能性もあります...
共有を行うためのより良い方法があるでしょうか?
ありがとう。
jsp - Resin3x で ResourceBundle のフォールバック解決が壊れていますか?
次の ResourceBundle プロパティ ファイルがあるとします。
- メッセージのプロパティ
- messages_en.properties
- messages_es.properties
- messages_{一部のロケール}.properties
注: messages.properties には、デフォルト ロケールのすべてのメッセージが含まれています。messages_en.properties は本当に空です - 正確さのためにそこにあるだけです。messages_en.properties は、messages.properties にフォールバックします!
そして、web.xml に次の構成パラメーターがあるとします。
選択したロケールが「es」で、リソースが「es」に翻訳されていない場合、「en」にフォールバックし、最終的に「messages.properties」にフォールバックすると予想されます (messages_en.properties が空であるため)。 .
これが Jetty での仕組みです。これも WebSphere でテストしました。
樹脂が問題
問題は、Resin (3.0.23) に到達したときです。フォールバック解決がまったく機能しません! メッセージを表示するには、次のことを行う必要があります。
- messages.properties の名前を messages_en.properties に変更します (基本的に、messages.properties と messages_en.properties の内容を入れ替えます)。
- messages_en.properties のキーが、messages_{every other locale}.properties でも定義されていることを確認してください (まったく同じ場合でも)。
これを行わないと、「???some.key???」になります。JSPで。
助けてください!これは当惑します。
-- レ
解決
pom.xml に以下を追加します (maven を使用している場合)
java - リソースバンドルキーが見つからないことをログに記録する方法
Spring構成でセットアップされたメッセージリソースバンドルからメッセージを出力するためにhttp://java.sun.com/jsp/jstl/fmtタグライブラリを使用しています。また、メッセージ解決はコントローラーで行うことができます。
リソースバンドルファイルにキーが見つからない状況をログに記録したいと思います。
誰かがそれを行う方法を知っていますか?
java - jarファイル外のResourceBundles
NetBeans6.8を使用して作成されたJavaアプリケーションを配布する必要があるときに問題が発生します。gettextをクラスファイルとして使用して作成された翻訳ファイルがいくつかあります-次のスクリプトを使用してgettextパッケージのmsgfmtで作成されています(シェルスクリプトはmsysで実行されます-ここでは問題ありません)
ディレクトリ構造は次のとおりです。
マニフェストファイルには、次のクラスパスがあります。
アプリケーションは、ロードできない翻訳ファイルを除いて問題なく動作します。読み込み部分は次のとおりです(クライアントはフランス語の翻訳を望んでいます)。
注:この問題は、jarファイルを使用して実行しようとした場合にのみ発生します(NetBeansからの実行は適切に機能し、コマンドラインからの実行はコンパイルされたクラスも機能しますが、jarファイル(java -jar main.jar)の実行時には機能しません。
面白いのは、マニフェストファイルからクラスパスを変更して「。」を追加すれば、この問題が発生しないことです。クラスパスへのパスとこのディレクトリ構造を持つ:
次のJavaバージョンでWindowsを使用しています。
これがイライラするようになるので、私はどんな助けにも感謝します。
ありがとうございました、
イウリアン
java - Java のリソースバンドルはランタイム文字列置換をサポートしていますか?
Java ResourceBundle で次のことができますか?
プロパティファイルで...
実行時に...
の結果を与えるには
「あなたは現在3つのアカウントを持っています。」