今天给大家简单介绍一下android中简单实现国际化
首先我们要在res下的values文件里找到我们本身自带的strings.xml,然后需要在建一个目录用来存储其他种类的语言:
在这里有两种方法:
第一种手写:
点击OK就可以了
第二种是使用AndroidLocalizationer插件自动的帮我们生成,
/zcf520android/article/details/51073032
可以参考下使用插件
使用插件步骤:
然后出现以下就差不多完成一半了
最后在我们两个strings.xml里写需要转换的文字
这是Actiity或Fragment里的代码
@OnClick(R.id.btn_menu)public void onViewClicked() {AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());AlertDialog.Builder builder1 = builder.setTitle("国际化").setMessage("中英文国际化").setPositiveButton("中文", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {updateActivity("zh");}}).setNegativeButton("英文", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {updateActivity("en");}});AlertDialog alertDialog = builder1.create();alertDialog.show();}public void updateActivity(String sta){Locale myLocale = new Locale(sta);Resources res = getResources();// 获得res资源对象DisplayMetrics dm = res.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。Configuration conf = res.getConfiguration();// 获得设置对象conf.locale = myLocale;// 简体中文res.updateConfiguration(conf, dm);Intent intent = new Intent(getActivity(),MainActivity.class);startActivity(intent);}
使用的时候直接在布局里引用就可以了