有什么方法通过改变应用程序的语言来改变手机的语言。通过更改Android中的应用程序语言更改默认手机语言?
我的意思是当我改变我的应用程序的语言,然后默认的手机语言也会改变。
对此有任何想法,请在此分享。
在此先感谢。
有什么方法通过改变应用程序的语言来改变手机的语言。通过更改Android中的应用程序语言更改默认手机语言?
我的意思是当我改变我的应用程序的语言,然后默认的手机语言也会改变。
对此有任何想法,请在此分享。
在此先感谢。
Locale locale = new Locale("en_US");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);
然后
,并在RES /值-ja表示日语或RES /值-AR阿拉伯语的文件夹..
而且使string.xml文件,并把语言不管你想在布局
其资源的例子/值-AR为arabic--
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="spinner_label">حسب</string>
<string name="app_name">فرق</string>
<string name="search">بحث:</string>
</resource>
我做NT知道,它可以通过编程的方式变了,但你改变了你的应用程序的语言后,您可以要求用户更改设备的语言也
要求用户更改设备语言
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.settings", "com.android.settings.LanguageSettings");
startActivity(intent);
更改应用程序语言
<activity
android:name=".ui.SomeActivity"
android:configChanges="locale"
:
:
</activity>
public static void setLanguage(Context context, String languageToLoad) {
Log.d(TAG, "setting language");
Locale locale = new Locale(languageToLoad); //e.g "sv"
Locale systemLocale = SystemLocale.getInstance().getCurrentLocale(context);
if (systemLocale != null && systemLocale.equals(locale)) {
Log.d(TAG, "Already correct language set");
return;
}
Locale.setDefault(locale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics());
Log.d(TAG, "Language set");
}
add android:configChanges =“locale”添加到您在AndroidManifect文件中的活动错误。
然后从该活动的onCreate调用以下方法。
public static void setLanguage(Context context, String languageToLoad) {
Log.d(TAG, "setting language");
Locale locale = new Locale(languageToLoad); //e.g "sv"
Locale systemLocale = SystemLocale.getInstance().getCurrentLocale(context);
if (systemLocale != null && systemLocale.equals(locale)) {
Log.d(TAG, "Already correct language set");
return;
}
Locale.setDefault(locale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config,context.getResources().getDisplayMetrics());
Log.d(TAG, "Language set");
}
我想这是因为这里同样的问题: http://stackoverflow.com/questions/9679574/android-is-there-any-way-to-change-the-default-语言的机器人到新琅 - – blacharnia