問題タブ [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.

0 投票する
2 に答える
6420 参照

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ファイルに何を書き込む必要がありますか?
私が今持っているのは:

0 投票する
2 に答える
903 参照

java - Javaのリソースバンドルのテキストに上付き

リソースバンドルに上付きテキストを含めた人はいますか? この問題に関するアドバイスをいただければ幸いです。

つまり、パンダのプログラミング

ありがとう、パンダ

0 投票する
1 に答える
3408 参照

java - JavaでDBからリソースバンドルメッセージをロードする方法は?

リソースバンドルを動的にロードできますか? リソースバンドルを動的に編集できますか?

そのような論理的なリソース バンドル (つまり、物理ファイルとしてではなく、コンテキスト内に配置される) があれば最高です。

関連している:

ファイルリソースからリソースバンドルをロードする方法は?

0 投票する
2 に答える
2206 参照

java - Java Web アプリケーションでの文字列定数とリソース バンドルの比較

昨年から、静的文字列定数を使用して定数を格納するアプリケーションを開発しました。public static final String PAYMENT_CHEQUE = "cheque";と同様 です。 私が必要とする場所、つまりjspページとActionクラスで、上記の文字列定数を参照しますリソースバンドル、プロパティファイルを確認した後、私の質問は

  1. 静的文字列定数と比較してプロパティ ファイルを使用すると、パフォーマンスに影響はありますか?
  2. 静的文字列定数とプロパティ ファイルのキーと値のペアはどちらが優れていますか?
  3. jspで静的文字列定数(ラベル付け用)を使用するのは良い考えですか?

私に提案してください

0 投票する
4 に答える
34123 参照

java - ResourceBundle.getBundle("ResourceFile", new Locale("us", "US")) はどこでファイルを探しますか?

私は Eclipse を実行しており、いくつかの異なるファイルを使用して ResourceBundle を試す簡単なテスト プログラムを作成しようとしています。このファイルは、ResourceFile_us_US.properties という適切な名前が付けられています。しかし、明らかにファイルが見つからないため、getBundle() 呼び出しで例外が発生します。見つけられるように、どこに配置する必要がありますか?

0 投票する
4 に答える
1919 参照

java - Java:多くのGUIオブジェクト間でローカリゼーションオブジェクトを共有するためのベストプラクティス?

アプリ内の多くの GUI オブジェクトでローカリゼーション オブジェクト (この場合はすべての翻訳を保存する ResourceBundle) を共有するためのベスト プラクティスは何でしょうか? アイデアはほとんどありませんが、どちらにも欠点があります。

1)各GUIクラスコンストラクターを介してResourceBundleを渡しますが、(後で使用するために)すべてのクラス内に保存する必要があります-各クラスに同じコードが何度も何度もあることを意味します

2) ResourceBundle を public static として宣言します (ただし、変更する必要がある可能性があるため、最終的なものではありません。言語の変更など)。その後、常にそれを介してアクセスします (MainGuiClass. msg.getString("something")) ですが、同じパッケージ内の他の GUI クラスによって変更/破棄される可能性もあります...

共有を行うためのより良い方法があるでしょうか?

ありがとう。

0 投票する
2 に答える
527 参照

jsp - Resin3x で ResourceBundle のフォールバック解決が壊れていますか?

次の ResourceBundle プロパティ ファイルがあるとします。

  1. メッセージのプロパティ
  2. messages_en.properties
  3. messages_es.properties
  4. 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) に到達したときです。フォールバック解決がまったく機能しません! メッセージを表示するには、次のことを行う必要があります。

  1. messages.properties の名前を messages_en.properties に変更します (基本的に、messages.properties と messages_en.properties の内容を入れ替えます)。
  2. messages_en.properties のキーが、messages_{every other locale}.properties でも​​定義されていることを確認してください (まったく同じ場合でも)。

これを行わないと、「???some.key???」になります。JSPで。

助けてください!これは当惑します。

-- レ

解決

pom.xml に以下を追加します (maven を使用している場合)

0 投票する
1 に答える
1122 参照

java - リソースバンドルキーが見つからないことをログに記録する方法

Spring構成でセットアップされたメッセージリソースバンドルからメッセージを出力するためにhttp://java.sun.com/jsp/jstl/fmtタグライブラリを使用しています。また、メッセージ解決はコントローラーで行うことができます。

リソースバンドルファイルにキーが見つからない状況をログに記録したいと思います。

誰かがそれを行う方法を知っていますか?

0 投票する
1 に答える
2959 参照

java - jarファイル外のResourceBundles

NetBeans6.8を使用して作成されたJavaアプリケーションを配布する必要があるときに問題が発生します。gettextをクラスファイルとして使用して作成された翻訳ファイルがいくつかあります-次のスクリプトを使用してgettextパッケージのmsgfmtで作成されています(シェルスクリプトはmsysで実行されます-ここでは問題ありません)

ディレクトリ構造は次のとおりです。

マニフェストファイルには、次のクラスパスがあります。

アプリケーションは、ロードできない翻訳ファイルを除いて問題なく動作します。読み込み部分は次のとおりです(クライアントはフランス語の翻訳を望んでいます)。

注:この問題は、jarファイルを使用して実行しようとした場合にのみ発生します(NetBeansからの実行は適切に機能し、コマンドラインからの実行はコンパイルされたクラスも機能しますが、jarファイル(java -jar main.jar)の実行時には機能しません。

面白いのは、マニフェストファイルからクラスパスを変更して「。」を追加すれば、この問題が発生しないことです。クラスパスへのパスとこのディレクトリ構造を持つ:

次のJavaバージョンでWindowsを使用しています。

これがイライラするようになるので、私はどんな助けにも感謝します。

ありがとうございました、

イウリアン

0 投票する
8 に答える
32494 参照

java - Java のリソースバンドルはランタイム文字列置換をサポートしていますか?

Java ResourceBundle で次のことができますか?

プロパティファイルで...

実行時に...

の結果を与えるには

「あなたは現在3つのアカウントを持っています。」