2015-10-08 3 views
1

Как изменить язык в приложении для Android. Я уже использую файл string.xml для отображения языка.Я хочу изменить язык приложения по умолчанию

Как я могу выбрать между двумя XML-файлов, нажав на кнопку радио

+6

Я думаю, что эта ссылка может помочь вам [Изменить язык программно в Android] (http://stackoverflow.com/questions/2900023/change-language-programatically-in-android) –

ответ

2

для этого вы должны использовать локализации concept.Do Google локализации в андроида ..... Создать новую папку в папке Рез вашего проекта для каждого языка, который вы хотите реализовать в проекте. в этой папке создать файл string.xml

MyProject/ 
res/ 
    values/<-----------this is default folder 

    values-fr/ <-----------this folder is for French language(fr is iso code for french language you can check the iso codes for all languages on this link http://www.w3schools.com/tags/ref_language_codes.asp) 

аналогично создать папку значений для каждого языка, предположим, что вы также должны реализовать урду в вашем проекте, то вам придется создать еще одну папку значения для урду как values-ur/ теперь у вас есть три значения папки

MyProject/ 
res/ 
    values <------ default 
    values-fr <----for french 
    values-ur <----for urdu 

теперь создайте файл String.xml во всех папках

MyProject/ 
res/ 
    values/string.xml 
    values-fr/string.xml 
    values-ur/string.xml 

предположим, что у вас есть кнопка, и вы хотите установить текст этой кнопки в соответствии с выбранным вами языком ... добавить содержимое во все файлы string.xml вот так:

"для папки string.xml в значениях (папка по умолчанию) это по умолчанию для английского»

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="my_button">create</string> 
</resources> 

„для string.xml в значения ар“, то есть на французском

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="my_button">créer</string> 
</resources> 

„для string.xml в значениях Ур“, то есть для урду

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="my_button">تخلیق</string> 
</resources> 

Теперь вы создали контент в string.xml для всех трех языков. Дело в том, следует отметить, что во всех string.xml файлы сохраняют значение для имени атрибута же

<string name="my_button">Create</string> 

здесь значение для атрибута имени является «my_button» и его же во всех трех string.xml. Только вы должны изменить текст между тегами, который является создание для английского Creer для французского и تخلیق для урду ... Теперь установить текст кнопки как этот

android:text="@string/my_button" 

теперь вопрос есть три строки .xml здесь, в вашем проекте и из которого string.xml приложение установит текст кнопки ???? Это зависит от локали вашего телефона. приложение автоматически выберет текст из файла string.xml в соответствии с языком вашего телефона. предположим, что язык вашего телефона установлен на французский, тогда приложение выберет текст из string.xml, который находится в папке значений-ar, а текст на кнопке будет более ... если locale установлен в urdu, приложение выберет текст из string.xml то есть для urdu в папках с ценностями-ur и тексте на кнопке будет تخلیق .. вы можете изменить язык приложения программно .. что вы имеете с переключателями? просто измените локаль в соответствии с выбранной кнопкой радио. Надеюсь, это поможет вам.

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