3

I have my array.xml to fill preferences value.

<string-array name="language">
    <item>English</item>
    <item>German</item> 
    <item>Russian</item>
    <item>Italian</item>
</string-array>

To translate the items I put them in various string.xml file, how can I add the values from @string/english, @string/german etc.?

kristby
  • 81
  • 2
  • 7

3 Answers3

10

do this...

<string name="jan">January</string>
<string name="fev">February</string>
<string name="mar">March</string>

<string-array name="year">
    <item name="jan">@string/jan</item>
    <item name="fev">@string/fev</item>
    <item name="mar">@string/mar</item>
</string-array>
Bruno Affonso
  • 101
  • 1
  • 3
7

Have you tried something like this:

res/values/array.xml
res/values-fr/array.xml
res/values-ja/array.xml

And so on...

If your issue is that you want to substitute the <item> value dynamically, you might have to do this in code. Check out this post: dynamic parameters in strings

Community
  • 1
  • 1
Tanner Perrien
  • 3,133
  • 1
  • 28
  • 35
2

You can just create string arrays in string.xml and other string.xml(ru) etc.

See below code snippet :-

string.xml

<!-- Language array -->
<string-array name="languages">
    <item>English</item>
    <item>Russian</item>
</string-array>

string.xml(ru)

<!-- Language array -->
<string-array name="languages">
    <item>английский</item>
    <item>русский</item>
</string-array>
Ekta Bhawsar
  • 746
  • 11
  • 26