2013-05-19 5 views
1

У меня есть код, где я выбираю языковые макеты, и это не работы. Мы протестировали его с немецким (deutsch) кодом ISO 3 deu и для испанского, который spa - он тоже не работает, или код отличается?Android Выбор языка

String locale = Locale.getDefault().getISO3Language().toString(); 
if (locale.equals("spa")) { 
    setContentView(R.layout.es_pcversion); 
} else { 
    setContentView(R.layout.pcversion); 
} 
+0

что значение "локаль", распечатайте его с помощью Log.d (TAG, "локаль:" + локали); – JafarKhQ

+0

Я - новичок Java и Android, не могли бы вы написать часть кода? – Atukamix

+1

Почему бы не использовать res/values-de и res/values-es? Тогда Android будет использовать только правильные значения. – Simon

ответ

2

Вы должны использовать файлы значений и переводить текст внутри.

Например, string.xml в values-es будет вашим текстом для испанского языка.

Папка, содержащая ваш файл string.xml, является вашим языком по умолчанию.

Более подробная информация здесь: Supporting Different Languages

+0

И, пожалуйста, есть ли способ извлечь весь текст с жестко запрограммированными строками? У меня есть тысячи строк кода xml с жестко закодированным текстом: D – Atukamix

+1

Извините, я не думаю, что это возможно. Это хорошая практика, введенная в действие в начале проекта. –

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