我正在尝试对我的Android应用程序进行本地化。除非我强制停止应用程序并在语言更改后启动它,否则不会更改错误消息。
public interface ApplicationConstants {
Resources res = MyActivity.getInstance().getAppContext().getResources();
public static final String NETWORK_ERROR_MESS=res.getString(R.string.str_network_error);
public static final String AUTH_ERR=res.getString(R.string.str_auth_error);
}
在res-> values
文件夹
的strings.xml
<string name="str_network_error"> Network Error english.</string>
<string name="str_auth_error">Authentication failure english.</string>
在res-> values-fr
文件夹
的strings.xml
<string name="str_network_error"> Network Error france.</string>
<string name="str_auth_error">Authentication failure france.</string>
答案 0 :(得分:1)
尝试这种方式:加载主要活动时
Locale locale = new Locale("fr");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
在您的活动中获取String
,如
String NETWORK_ERROR_MESS=youractivity.this.getString(R.string.str_network_error);
String AUTH_ERR=youractivity.this.getString(R.string.str_auth_error);
答案 1 :(得分:0)
恕我直言,由于接口使用不当,所有问题都出现了 有关详细信息,请参阅this answer