2

文字列リソースフォルダに複数の言語(values-en-es)のタグを付ける方法はありますか?

私の問題は、一部のデバイスではヘブライ語の言語コードが「iw」であり、他のデバイスでは「彼」であるということです。私の現在の解決策は、同じコンテンツで2つのフォルダーを作成し、それぞれの名前のみを変更することです。

もっと正確な方法があるのだろうか?

4

2 に答える 2

1

リソースフォルダー名には複数の修飾子を含めることができますが、タイプごとに1つの修飾子のみを使用できます。

例えば

values-en-rGB //Language + Region

有効ですが

values-en-fr//Language + Language

単一の修飾子に対して複数の値があるため、は無効です。それで

values-iw-he

不可能である。

出典:Androidデベロッパー、QualifierNameRules。

ただし、これはファイルを複製する必要があるという意味ではありません。代わりに、エイリアスリソースを作成できます。

Android Developersは、AliasResoucesを次のように説明しています。

エイリアスリソースの作成:複数のデバイス構成に使用するリソースがある場合(ただし、デフォルトのリソースとして提供したくない場合)、同じリソースを複数の代替リソースに配置する必要はありません。ディレクトリ。代わりに、(場合によっては)デフォルトのリソースディレクトリに保存されているリソースのエイリアスとして機能する代替リソースを作成できます。

たとえば、1つのフォルダ内の文字列リソース

<string name="app_name">My Awesome App</string>

別のフォルダ内の別の文字列リソースで次のように参照できます。

<string name="application_name">@string/app_name</string>

Android開発者のalias-resourcesの詳細。

于 2012-12-18T13:29:24.610 に答える
0

ここで説明するように、Eclipseでファイルリンクを作成できます。つまり、実際の値を使用して、フォルダ内のそのファイルへのファイルリンクを作成します。これには、2つのファイルを編集する必要がなく、リンクされた「ファイル」が自動的に更新されるという利点があります。values-iw/strings.xmlvalues-he

于 2012-12-18T13:56:13.017 に答える