Android软件层级国际化
1,系统层级国际化
只需要res目录下创建相应的目录,如values/values-cn…,系统会根据当前设备的语言,读取对应目录下的strings.xml文件,从而实现国际化
2,软件层级国际化
假设有一个登陆页面,用户在登陆时可以选择软件的语言,进入软件后,根据所选择的语言,读取对应目录下的资源文件。
应该这样做,在登陆时选择了语言后:
private int count;
public void change()
{
count++;
Resources res = getResources();
Configuration config = res.getConfiguration();
DisplayMetrics dm = res.getDisplayMetrics();
config.locale = count % 2 == 0 ? Locale.ENGLISH : new Locale("cn");
res.updateConfiguration(config, dm);
}
public void change()
{
count++;
Resources res = getResources();
Configuration config = res.getConfiguration();
DisplayMetrics dm = res.getDisplayMetrics();
config.locale = count % 2 == 0 ? Locale.ENGLISH : new Locale("cn");
res.updateConfiguration(config, dm);
}