Подтвердить что ты не робот

Как установить текст диалогового окна google api в языке по умолчанию приложения

Я установил язык приложения по умолчанию на хинди (например, за исключением системного языка по умолчанию) и с помощью google api (PlaceAutocomplete, GoogleSignIn).

Оба отображают текст на английском языке (системный язык по умолчанию), а не на хинди или на любом другом языке приложения по умолчанию.

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

Спасибо. Было бы очень полезно. Поиск обновлений.

4b9b3361

Ответ 1

вы не можете установить системный язык по умолчанию. Если вы хотите предоставить несколько языков. Затем из Локаль вы можете установить язык. По умолчанию его английский, если вы изменили, сделайте так, как это. Пожалуйста, проверьте код ниже.

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

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

По умолчанию английский, затем поместите все строки внутри значений. Для хинди вам нужно установить values-hi. То же самое происходит для другого языка, который помещает их строку в код страны. Для кода страны перейдите из здесь.

 SharedPreferences sharedPreferences = getSharedPreferences(Common.MYPREFERENCE_LANGUAGE, Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            if (parent.getSelectedItem().equals("English")) {
                Utils.updateLanguage(activity, "en");
                editor.putString("language", "en");

            } else {
                Utils.updateLanguage(activity, "hi");
                editor.putString("language", "hi");
            }
            editor.apply();

public static void updateLanguage (контекст контекста, строка lang) {

    String mlanguage = getlanguage(lang);
    PurplkiteLogs.logError("", " language update " + mlanguage);
    Locale locale = null;
    Configuration config;

    try {
        if (mlanguage.equals("en")) {
            locale = Locale.ENGLISH;

        } else if (mlanguage.equals("hi")) {
             locale = setLocale(context,"hi");

        } else {
            locale = new Locale(mlanguage);
        }

        Locale.setDefault(locale);
        config = new Configuration();
        config.locale = locale;
        context.getResources().updateConfiguration(config,
                context.getResources().getDisplayMetrics());
    } catch (Exception e) {

    } finally {
        mlanguage = null;
        config = null;
        locale = null;
        context = null;
    }
}

private static String getlanguage(String lang) {
    String mlang = null;
    if (lang != null) {
        if (lang.trim().equalsIgnoreCase("hi")) {
            mlang = "hi";
        } else {
            mlang = "en";
        }
    }
    return mlang;
}

public static Locale setLocale(Context context ,String lang ) {
    Locale myLocale = new Locale(lang);
    Resources res = context.getResources();
    DisplayMetrics dm = res.getDisplayMetrics();
    Configuration conf = res.getConfiguration();
    conf.locale = myLocale;
    res.updateConfiguration(conf, dm);
    return conf.locale;
}

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