最近接触到了项目需要,多语言的转换。网上有很多资料,我整理一些,简单适合自己使用的操作。

第一步:打开Android studio

添加 Android Studio插件:AndroidLocalizationer

File----->Setting------Plugins,找到 Browse repositories,收搜AndroidLocalizationer。进行install安装,然后重启Android

93e809a2e1648fe884db43e6354164a3.png

添加,重启AS完成,是这样的。

找到自己存放字符串的信息文件,右键:

db2d6835d3be433d47ed9e6e6d028c66.png

我这边选择了,英文,中文简体,中文繁体;    ok就会自动生成相应的语言了

de7dbc569873cbf4bf877cee30928f8c.png

自动生成相应文件:

87de2526946b91a1f768ac7f198a932b.png

这样就完成了,简单的几部操作,就可以简单的生成了多语言的资源文件。

第二步:

资源文件生成了,我们要怎么样,才可以用到自己的项目去尼?,我其实是直接去引用了 。

这是我的布局,三个简单的按钮控件

6283dce000e0b7b6d819d32e387db66f.png

关键部分代码

//定义一下

private Configuration config;

private Resources resources;

private DisplayMetrics dm;

//切换语言

private void init_lung() {

resources = getResources();//获得res资源对象

config = resources.getConfiguration();//获得设置对象

dm = resources.getDisplayMetrics();//获得屏幕参数:主要是分辨率,像素等。

}

//对应上三个按钮

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.tv_zh_rCN:

Toast.makeText(Wo_infoActivity.this, getResources().getString(R.string.a_w_i_o8), Toast.LENGTH_SHORT).show();

config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文

init_Intent(); //切换后跳转到首页

break;

case R.id.tv_zh_rTW:

Toast.makeText(Wo_infoActivity.this, getResources().getString(R.string.a_w_i_o8), Toast.LENGTH_SHORT).show();

config.locale = Locale.TAIWAN; //繁体中文

init_Intent(); //切换后跳转到首页

break;

case R.id.tv_en:

Toast.makeText(Wo_infoActivity.this, getResources().getString(R.string.a_w_i_o8), Toast.LENGTH_SHORT).show();

config.locale = Locale.ENGLISH; //英文

init_Intent(); //切换后跳转到首页

break;

}

//更新app的语言资源

resources.updateConfiguration(config, dm);

}

不用重启app就可以,就可以使用APP了。

32980537a557c812da14e6ac2974630d.png

虽然这个办法看是简单,没有多少的操作,也不用什么多余逻辑判断,作为新手第一次使用这种方法,也是可以参考一下的,毕竟是可以使用的。希望以后可以深入接触,可以学到更多更好切换app语言的方法。也是参考了很多网上的大神的资料,结合到自己的项目。由于本人技术经验知识不足,如果有什么不足的,请各位大神指点迷津,一起交流学习。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐