Cara mengatur teks dialog Google api dalam bahasa default aplikasi

Saya telah menetapkan bahasa default aplikasi saya dalam bahasa hindi (yaitu selain bahasa default sistem) dan menggunakan api Google (PlaceAutocomplete, GoogleSignIn).

Keduanya menampilkan teks dalam bahasa Inggris (bahasa default sistem), bukan dalam bahasa hindi atau apa pun bahasa default aplikasi.

Apakah ada cara, saya bisa memaksanya memuat dalam bahasa default aplikasi atau saya bisa meneruskan bahasa aplikasi default saya.

Terima kasih. Ini akan sangat membantu. Mencari pembaruan apa pun.


person UMESH0492    schedule 12.09.2016    source sumber
comment
Sepertinya ini tidak dapat dilakukan dengan API asli, saat ini: stackoverflow.com/questions/34321356/   -  person Demonsoul    schedule 22.09.2016


Jawaban (1)


Anda tidak dapat mengatur bahasa default sistem. Jika Anda ingin memberikan beberapa bahasa. Kemudian dari Lokal Anda dapat mengatur bahasa. Secara default itu bahasa Inggris jika Anda mengubahnya maka buatlah seperti ini. Silakan periksa di bawah kode.

Pemilihan bahasa dan simpan nilai bahasa di SharedPreferences. Setelah memulai aplikasi, periksa nilai preferensi bahasa, lalu tentukan pilihannya.

Pastikan setiap string harus ditambahkan ke folder nilai dalam bentuk ini.

Untuk bahasa Inggris default, masukkan semua string ke dalam nilai. Untuk bahasa Hindi Anda perlu menyetel nilai-hi. Hal yang sama terjadi untuk bahasa lain, masukkan stringnya dengan kode negara. Untuk kode negara buka dari di sini.

 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 updateBahasa(Konteks konteks,String 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;
}

Terima kasih, Semoga ini bisa membantu Anda memecahkan masalah Anda dan memperjelas konsep Anda.

person Saveen    schedule 20.09.2016
comment
Anda tidak memahami pertanyaan saya dengan jelas. Saya sudah melakukan ini. Perlu diketahui, cara membuat google api ini dilokalkan berdasarkan bahasa aplikasi saya. - person UMESH0492; 22.09.2016