Как показать арабский и английский текст в TextView на Android?

У меня есть два несфокусированных TextView в одном макете. Я хочу показать арабский текст на одном TextView и английский текст на другом TextView. Я использую values/strings.xml для английского и values-ar/strings.xml для арабского текста. Моя проблема заключается в том, что арабский текст не отображается в файле TextView. Если я изменю пользовательскую локаль на ar, это означает, что она отображается. Как показать арабский текст без изменения пользовательской локали?


person bharath    schedule 14.09.2011    source источник
comment
Если вы хотите отображать арабский текст независимо от локали, то почему вы сохраняете его в файле, специфичном для локали (values-ar/strings.xml)?   -  person Mudassir    schedule 14.09.2011
comment
Это не одно слово и не один абзац. У меня есть несколько категорий, и мне нужно показать для выбранной категории.   -  person bharath    schedule 14.09.2011
comment
Перейдите по этой полезной ссылке и наслаждайтесь! Есть полное описание проблемы и алгоритм ее решения.   -  person Bobs    schedule 01.11.2011


Ответы (3)


Его поведение по умолчанию для Android. Он возьмет информацию о локали из системы и сопоставит соответствующий строковый ресурс из values-ar. Текст, который вы хотите отобразить на арабском языке, вы должны ввести в файл values/strings.xml и указать те арабские символы, которые вы хотите отобразить.

пожалуйста, поделитесь результатом, когда вы попробовали это.

person Roll no1    schedule 14.09.2011
comment
Я буду использовать string.xml как для английского, так и для арабского языков. - person bharath; 16.09.2011

Поместите как арабский, так и английский текст в каждый strings.xml

person Caner    schedule 14.09.2011
comment
Спасибо, Лас. и это я уже знаю. Моя проблема в том, что у меня одинаковый список категорий для английского и арабского языков. Поэтому я использую имя категории в качестве ключа. Также описание каждой категории находится в большом абзаце. - person bharath; 14.09.2011

Для этого нам понадобится файл шрифта для арабских шрифтов. Например, у нас есть имя файла арабского шрифта arabicfont.ttf. Сохраните этот файл в папке с ресурсами, затем используйте приведенный ниже код.

arabicTextview.setTypeface(Typeface.createFromAsset(getContext().getAssets(),"arabicfont.ttf"));
arabicTextView.setText("ur text");

Точно так же мы можем установить любой тип текста без использования Locale

person Balaji.K    schedule 14.09.2011
comment
сначала загрузите файл арабского шрифта из Интернета - person Balaji.K; 14.09.2011
comment
arabicTextView.setText (ваш текст); здесь для арабского текста текст будет написан на английском? - person Erum; 30.01.2015