如何以应用程序的默认语言设置 google api 对话框的文本
Posted
技术标签:
【中文标题】如何以应用程序的默认语言设置 google api 对话框的文本【英文标题】:How to set text of google api's dialog in application's default language 【发布时间】:2017-01-19 20:25:16 【问题描述】:我已将我的应用程序的默认语言设置为印地语(即系统默认语言以外的语言)并使用 google 的 api(PlaceAutocomplete、GoogleSignIn)。
两者都以英语(系统默认语言)显示文本,而不是印地语或任何应用程序的默认语言。
有什么办法,我可以强制它们以应用程序的默认语言加载,或者我可以传递我的默认应用程序的语言。
谢谢。这真的很有帮助。正在寻找任何更新。
【问题讨论】:
看起来这可能无法使用本机 API,目前:***.com/questions/34321356/… 【参考方案1】:你不能设置系统默认语言。如果你想提供多种语言。然后从Locale你可以设置语言。如果你改变了默认它的英文然后让它像这样。请检查以下代码。
在SharedPreferences中选择语言并保存语言的值。每当启动应用程序后,检查语言首选项的值,然后选择它们。
确保每个字符串都应该以 this 的形式添加到 value 文件夹中。
对于默认英语,然后将所有字符串放入 values。对于印地语,您需要设置 values-hi。对于其他语言也会发生同样的情况,将字符串与国家代码一起放入。对于国家/地区代码,请从 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 updateLanguage(Context context,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;
谢谢,希望这将帮助您解决问题并清除您的概念。
【讨论】:
你没有明白我的问题。我已经做了这些。需要知道,如何根据我的应用语言使这些 google api 本地化。以上是关于如何以应用程序的默认语言设置 google api 对话框的文本的主要内容,如果未能解决你的问题,请参考以下文章
Google Maps Api v3:如何更改方向(设置)面板中的默认航点标记?
如何设置我的纬度和经度以使用 Google Chrome 调试 Geolocation API?
我如何注册Google Classroom API的推送通知?