2016-09-12 15 views
13

Tôi đã đặt ngôn ngữ mặc định của ứng dụng bằng tiếng Hindi (ví dụ: ngôn ngữ mặc định của hệ thống) và sử dụng api của google (PlaceAutocomplete, GoogleSignIn).Cách đặt văn bản của hộp thoại google api trong ngôn ngữ mặc định của ứng dụng

Cả hai đều hiển thị văn bản bằng tiếng Anh (ngôn ngữ mặc định của hệ thống), thay vì bằng tiếng Hindi hoặc bất kể ngôn ngữ mặc định của ứng dụng.

Có cách nào không, tôi có thể buộc họ tải bằng ngôn ngữ mặc định của ứng dụng hoặc tôi có thể chuyển ngôn ngữ của ứng dụng mặc định của mình.

Cảm ơn. Nó sẽ thực sự hữu ích. Tìm kiếm bất kỳ bản cập nhật nào.

+1

Có vẻ như điều này có thể không thực hiện được với API gốc, hiện tại: http://stackoverflow.com/questions/34321356/how-to-set-language-for-google-place-details-result-in-android – Demonsoul

Trả lời

-1

bạn không thể đặt language.If mặc định hệ thống mà bạn muốn cung cấp cho nhiều language.Then từ Locale bạn có thể đặt language.By mặc định tiếng anh của nó nếu bạn đã thay đổi sau đó làm cho nó giống như bạn this.Please kiểm tra mã dưới đây .

Lựa chọn ngôn ngữ và tiết kiệm giá trị của ngôn ngữ trong SharedPreferences .Sau khi bắt đầu, ứng dụng kiểm tra giá trị của tùy chọn ngôn ngữ rồi chọn nó.

Đảm bảo mọi chuỗi phải được thêm vào thư mục giá trị theo dạng này.

Đối với mặc định tiếng Anh sau đó đặt tất cả các chuỗi bên giá trị .Đối Tiếng Hin-ddi bạn cần phải thiết lập các giá trị -hi .Same điều xảy ra cho ngôn ngữ khác đưa chuỗi của họ với đất nước mã.Đối mã quốc gia đi từ here.

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 (bối cảnh Bối cảnh, String lang) updateLanguage {

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; 
} 

Cảm ơn, Hy vọng điều này sẽ giúp bạn giải quyết vấn đề và thanh toán bù trừ khái niệm của bạn.

+0

Bạn không nhận được câu hỏi của tôi rõ ràng. Tôi đã làm điều này rồi. Cần biết, làm thế nào để làm cho các api google được bản địa hóa dựa trên ngôn ngữ ứng dụng của tôi. – UMESH0492

+0

vâng, chúng tôi không thể làm điều này – Saveen

Các vấn đề liên quan