src-> main-> res->値の下にあるstring.xmlファイルを完全に読みたいと思います。値のフォルダにあるファイルを読む方法
私のアプリケーションで発生する可能性のあるローカリゼーションの問題を処理するには、特定のファイルが必要です。選択されたデバイスの言語はフランス語ですが、依然としてメインの英語の文字列.xmlファイルは、特定のシナリオの場合にのみです。したがって、values/strings.xmlのすべてのリソースはvalues-fr/strings.xmlに存在し、値-frから削除してください。オプションはありません。明らかに
- 我々はしていない
values/strings.xml
から、values-fr/strings.xml
ファイルからtext_name
の値を受け取りますから、getString(R.string.text_name)
の一種の解決策は受け入れられません。 これは、同様に助けにはなりません。
getResources().getIdentifier("text_name", "string", getPackageName());
string.xmlを生の資産ではないので、これは、同様に助けにはなりません。
context.getResources().openRawResource(R.raw.test)
context.getAssets().open("values/string.xml");
これは私が試したものですが、どれも私に私が探しているファイルを与えなかっ:URIを使用して
:
特定を使用してUri.parse("android.resource://" + context.getPackageName() + resource_id_for_string_file);
をファイルパス:
File file = new File("/src/res/values/strings.xml"); File file = new File("/res/values/strings.xml");
this post(
class.getClass().getResourceAsStream(...)
)どちらも機能しませんでした。
私は正直言っても、それはかなり簡単ですが、この問題の解決策はどこにもありません。
それを渡す必要がある場合、あなたはまだ英語の値を追加することができますフランス語ファイルの特定のキーについては? – Yazan
あなたのアプローチが正しくありません。いくつかの値を 'values-fr/strings.xml'から読み込み、' values/strings.xml'から読み込む場合は、値/文字列から取り出す必要がある値を追加しないでください。 xml'を 'values-fr/strings.xml'に変換します。特定のロケールに値がない場合は、デフォルトのロケールが使用されます。 –
ありがとう、しかし私は値 - frの文字列のすべてのリソースが必要(私は特定のシナリオがそのファイルにアクセスし、値/ strings.xmlファイルに移動しないようにしたいので)助けてくれません – Dus