文字列リソースフォルダに複数の言語(values-en-es)のタグを付ける方法はありますか?
私の問題は、一部のデバイスではヘブライ語の言語コードが「iw」であり、他のデバイスでは「彼」であるということです。私の現在の解決策は、同じコンテンツで2つのフォルダーを作成し、それぞれの名前のみを変更することです。
もっと正確な方法があるのだろうか?
文字列リソースフォルダに複数の言語(values-en-es)のタグを付ける方法はありますか?
私の問題は、一部のデバイスではヘブライ語の言語コードが「iw」であり、他のデバイスでは「彼」であるということです。私の現在の解決策は、同じコンテンツで2つのフォルダーを作成し、それぞれの名前のみを変更することです。
もっと正確な方法があるのだろうか?
リソースフォルダー名には複数の修飾子を含めることができますが、タイプごとに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の詳細。
ここで説明するように、Eclipseでファイルリンクを作成できます。つまり、実際の値を使用して、フォルダ内のそのファイルへのファイルリンクを作成します。これには、2つのファイルを編集する必要がなく、リンクされた「ファイル」が自動的に更新されるという利点があります。values-iw/strings.xml
values-he