2015-06-17 2 views
0

У меня есть несколько массивов, и один идет со счетчиком, но я сомневаюсь в этом.Перевод текста в массиве

Anyways Мне нужно перевести их на другие языки. Моя программа - приложение для Android, и я использовал @string для большей части приложения, но массивы пинают мою задницу.

Вот массив прядильщиков.

private static final String[]paths = {"Click to select", "One", "Two", "Three"}; 

Как я могу перевести текст в массиве? Я пробовал несколько способов на других сайтах, и все они не смогли даже построить.

ответ

0

Просто разрешите строки во время выполнения и поместите эти разрешенные строки в массив.

String s1 = context.getResources().getString(R.string.s1); 
String s2 = context.getResources().getString(R.string.s2); 
String s3 = context.getResources().getString(R.string.s3); 
String s4 = context.getResources().getString(R.string.s4); 

String[] paths = { s1, s2, s3, s4 }; 

И в файле ресурсов строки:

<string name="s1">Click to select</string> 
<string name="s2">One</string> 
<string name="s3">Two</string> 
<string name="s4">Three</string> 
+0

Никогда не приходило на это ... Попробуем попробовать и посмотреть, что произойдет. Много резки и склеивания происходит LOL – reddragon72

+0

Это не работает. Постоянно жалуется на id1,2,3,4. Говорит «не может решить symble id1» – reddragon72

+0

Я исправлю свой ответ. Стоять на ... – EJK

0

я решил это окончательно.

String.xml

<string-array name="paths_array"> 
     <item>Click to select</item> 
     <item>One</item> 
     <item>Two</item> 
     <item>Three</item> 
    </string-array> 

В коде (Java файл)

String[] paths; 

    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.yourlayout); 

    paths = getResources().getStringArray(R.array.paths_array); 
    } 

Супер простой, и я нашел его на сайте Android ресурсов от Google LOL Я думал, что я попробовал один раз, но посмотрев на записи XML, я понял, что он полностью отличается от того, что я пробовал раньше.

Теперь компилируется и работает отлично и может, наконец, перевести счетчик.

Благодарим за помощь, поскольку она ведет меня по правильному пути.

+0

Отлично !!!! Android Studio не переводит это !!! В исходную точку! – reddragon72

+1

Вы можете поместить все отдельные строки в файл strings.xml и ссылаться на них в своем массиве. Например. Один, а затем в массиве: @ строка/один redocoder

Смежные вопросы