問題タブ [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 - Javaでファイルリソースからリソースバンドルをロードする方法は?
mybundle.txt
と呼ばれるファイルがありますc:/temp
-
c:/temp/mybundle.txt
このファイルを にロードするにはどうすればよいjava.util.ResourceBundle
ですか? ファイルは有効なリソース バンドルです。
これはうまくいかないようです:
spring - SpringMessageSourcesバンドルをWARの外部に外部化する方法
プロパティをより簡単に変更するには、クラスパスの外部でi18nサポート用のSpring MessageSourcesバンドル(プロパティファイル)を外部化する必要があります。どうやってやるの ?
ありがとう!
java - ResourceBundle.getString はバックスラッシュ文字を削除しました
プロパティ ファイルのファイル パスからリソースを取得しようとしました。
プロパティ ファイル:
ジャワ:
結果: C:情報出力
ファイルを設定する必要があります:
これはデフォルトの動作ですか? または、ファイルのエンコーディングに依存しますか?ちなみに、ファイルはSJISエンコーディングを使用しています。
java - Java ResourceBundle のパフォーマンス
ResourceBundle と Locale を使用してプロパティ値を検索しています。簡単に言うと、コードは次のようになります。
私の質問はパフォーマンスについてです。クラスパス上のプロパティ ファイルにアクセスするよりも、キャッシング アプローチの方が迅速または優れた実装でしょうか? 私の理解では、ResourceBundle のパフォーマンスは一般的に非常に優れています。
プロパティ ファイル (この場合) は 30 行未満です (つまり、30 までのキーと値のペア)。
高負荷のページで同様のアプローチを使用できるため、パフォーマンスに疑問があります。また、ルックアップ オン デマンドのアプローチはコストがかかることが判明する可能性があります。
linux - ResourceBundleMissingResourceExceptionLinux固有のキー
キーの配列を反復処理し、リソースバンドルでgetString()メソッドを呼び出すときに、この問題が発生しました。バンドルに必要なすべてのマッピングがあり、何らかの理由でリソースの1つがフェッチされません。これはLinuxUbunthu9でのみ問題になります。Windowsで機能します。正しくマップされた「アイテム」リソースまでのすべてのリソースを検索します。上で述べたように、私はボットOSで同じjarファイルを使用します。この単一のキーを除いて、すべてのリソースが機能します。キーとこのリソースを変更しようとしましたが、MissingResourceExceptionがスローされ続けます。私のクラスパスは正しいです。そうでないと、他のキーが機能しません。何が原因なのかわかりません。バンドルの並べ替えも試しましたが、運が悪かったです。
任意の入力をいただければ幸いです。
上記のように、Windowsで完全に機能し、LinnuxUbunthuのアイテムで失敗します。これは本当に迷惑です。
iphone - この Apple のサンプル コードが機能しないのはなぜですか?
「file1.jpg」というファイルのフルパスを見つけようとしています
アプリバンドルにあることを確認しましたが、このコードを実行すると:
「パス」には、期待しているパス/ファイルがありません。
これは、 Apple のドキュメントから直接引用したコードです。
私は何を間違っていますか?
spring - Spring 構成ファイル内の複数の messageSource
私たちの Web アプリケーションは Spring 2.5 を使用しています。複数のモジュールで構成され、各モジュールは追加の Spring コンテキスト ファイルを持ち込むことができ、自動的に (1 つのアプリケーション コンテキストに) ロードされます。各モジュールが追加のリソース バンドルを提供できるようにしたいと考えています (I18N サポート用)。
Spring は、構成ファイルに messageSource という名前の Bean を登録することで国際化をサポートしますが、これは、変換文字列を含むクラスまたはプロパティ ファイルの完全修飾名が何であるかを正確に知っていることを前提としています。他のモジュールには独自のプロパティ ファイルが別の場所に配置されている可能性があるため、これは問題です。したがって、各モジュールが独自のリソースバンドルを使用して独自の messageSource を定義できるようにする方法を探していますが、その方法がわかりません。
この問題の解決策を知っている人はいますか?
ありがとう。
java - Java ResourceBundleをロードせずにロード可能かどうかを確認するにはどうすればよいですか?
実際にロードせずにResourceBundleの存在を確認したいのですが。
通常、私はGuiceを使用しており、初期化時に存在を確認し、実行時にロードします。バンドルが存在しない場合は、RBが存在しないことを早期に報告したいと思います。
特定のResourceBundleに使用されるResourceBundle.Controlインスタンスを取得できれば、実際のリソース名を作成するための基本情報を取得するのに問題はありません(toBundleName()およびtoResourceName()を使用)が、そうではありません。そのレベル。
編集:
わかりました、私はそれを行う方法を見つけました。拡張可能なResourceBundle.Controlを作成して(custome addFormat(String、Class)を使用)、すべてのバンドル形式を格納してから、独自の別のメソッドを使用して、特定のロケールで可能なすべてのファイル名をチェックします(Classを使用)。以下に示すようにgetResource)。
コーディングスピーキング:
java - Java i18n:パッケージごとに1つのResourceBundleアクセサーを使用しますか、それともプロジェクト全体に1つ使用しますか?
私は国際化について何も知りません。
いくつかのパッケージを含むプロジェクトがあります。Eclipseの組み込みの「文字列の外部化」ウィザードを使用して、クラス内の文字列定数をプロパティファイルに抽出し、それらの文字列を静的アクセサーの呼び出しに置き換えています。だから代わりに
私は
およびすべてのパッケージのユーティリティクラス(ResourceBundle [この場合はファイル]から目的の文字列を取得するためMessages
の静的メソッドを提供します)。すべてのパッケージにクラスを含めるのが最善ですか、それともプロジェクト全体に1つのクラスを含めるのが最善ですか?getString
.properties
Messages
Messages