2014-01-22 5 views
0

У меня есть приложение с двумя языками, так что я должен значений папки (значения и ценности-ар)GetString и локаль не всегда работает

все строковые значения из папки значений показываете обычно при их вызове в GetString или xml; но когда я вызываю строку из значений-ar (после установки locale), иногда она дает мне строку из значений, а иногда и строку из значений-ar (я пытался в том же коде getString (R.string.load_more) и getString (R.string.all)) Я проверил, есть ли у меня дубликаты полей в значениях-ar, которые не могут быть переведены, но это не так.

Я уже установить локаль так:

Locale locale ; 
Configuration config = new Configuration(); 
locale= new Locale("ar"); 
Locale.setDefault(locale); 
config.locale = locale; 
getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics()); 

Что может быть проблема?

Спасибо

+0

Обычно это связано с отсутствием перевода строки. –

+0

Попробуйте перекомпилировать (дважды, чтобы быть уверенным) и перераспределить. Затем повторите попытку. Возможно, вам нужно удалить автоматически созданные R-файлы. – Fildor

+0

это не проблема. произошла ошибка в значениях-ar/string.xml ТЕКСТ В ARABIC/string>. он не дал ошибку. пришлось найти его вручную. благодаря –

ответ

0

нашел проблему

была запись в значениях ар/strings.xml был как этот

<string translatable="true" name="book_an_appointment">TEXT IN ARABIC/string> 

вместо как это

<string translatable="true" name="book_an_appointment">TEXT IN ARABIC</string> 

Странно, что я не получал ошибок компиляции или времени выполнения.

Спасибо

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