2016-02-22 2 views
1

Мне нужно сделать приложение на урду. Я хочу написать Urdu в виде текста. Язык урду в этом приложении будет каждый, где я имею в виду кнопки, на панели ActionBar/toolbar. Я имею в виду, где мы видим английский язык в приложении, он должен быть переведен на язык урду.Как сделать локализацию в Урду

У меня есть хорошая идея, что это можно сделать через локализацию. Но у меня есть мягкий текст на урду. Я должен использовать этот текст и показать его. Как я могу его сохранить и использовать в качестве словаря или энциклопедии.

Пожалуйста, помогите мне Как я могу изменить все приложение на урду.

ответ

2

Вам необходимо использовать файл строки локализации. Сохраните всю строку в ваших значениях/string.xml (этот файл содержит строку для английского языка) и создайте файл строки локализации e.g.- values-hi/strings.xml (в нем содержится строка для языка хинди). Используйте то же самое для урду. Система автоматически выбирает строковый файл в соответствии с выбранным языком системы. Для получения дополнительной информации ознакомьтесь с этой ссылкой http://developer.android.com/guide/topics/resources/localization.html

+0

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

+2

. Вместо добавления хинди перевода в значениях/string.xml. Не нужно добавлять другие строковые файлы. –

+0

отлично, у меня есть эта идея. , так что мне нужно просто скопировать вставку текста? –

0

Попробуйте это, вам не нужно заменять string.xml на urudu.

Создайте отдельный строковый ресурс для урду и задайте язык во время запуска приложения. Я думаю, что это будет лучшая практика

public class MyApplication extends Application { 
    private Locale locale = null; 
    ApplicationComponent mApplicationComponent; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

     String lang = "required_lang"; 
     if (lang != null) { 
      changeLang(lang); 
     } 

    } 
public void changeLang(String lang) { 
     Configuration config = getBaseContext().getResources().getConfiguration(); 
     if (!"".equals(lang) && !config.locale.getLanguage().equals(lang)) { 
      locale = new Locale(lang); 
      Locale.setDefault(locale); 
      Configuration conf = new Configuration(config); 
      conf.locale = locale; 
      getBaseContext().getResources().updateConfiguration(conf, getBaseContext().getResources().getDisplayMetrics()); 
     } 
    } 
} 
+0

Я думаю, что в моем случае мне не нужно делать локализацию, так как мне просто нужно хинди (язык урду), чтобы показывать на приложении, и я думаю, что ответ, данный Каран Раной, хорош, что вы думаете –

+0

Так как string.xml is по умолчанию и возобновляется для хранения текста на английском языке. Если из-за некоторой проблемы с кодированием с другим языком, если он не находит ресурс, он будет извлекаться из значения по умолчанию. Поэтому я только что упомянул о способе возобновления этого. Чтобы предотвратить сбой приложения. Теперь ваш звонок. – Rahul

+0

что вы имеете в виду. Я скопирую текст urdu в строках, и он должен показать это на урду. Мой клиент просто хочет увидеть приложение на урду. –

0

просто изменить папку values как values-ur-rPK