android实现app国际化

随着公司发展,要进行app国际化,顺便弄个小Demo,分享给大家
经过调研,目前实现国际化的方式有两种:

1、一种是安卓系统自己根据手机选择的语言加载values文件夹下相对应strings文件
2、一种是通过手动设置实现

下面一个个来实现

一、通过安卓系统自己根据手机选择的语言加载values文件夹下相对应strings文件

首先我们要创建响应的strings文件,studio中操作如下:
这里写图片描述

这里写图片描述

我以韩国为例,创建韩国values文件夹并添加strings文件

这里写图片描述

通过上面的操作,我们已经建立了相应国家对应的strings文件如下:

这里写图片描述

strings文件

中文:

<resources>
    <string name="app_name">TestApplication</string>
    <string name="change_language">改变语言</string>
</resources>

韩文:

<resources>
    <string name="app_name">TestApplication</string>

    <string name="change_language">한국 思密达</string>
</resources>

只要这样做,android系统就会根据手机系统语言进行加载。

二、通过手动设置

通过手动设置无非就是提供一个方法供使用
方法如下:

 private void setLanguage() {
        /**
         * 切换韩文
         */
        // 获得res资源对象
        Resources resources = getResources();
        Configuration config = resources.getConfiguration();
        // 获得屏幕参数:主要是分辨率,像素等。
        DisplayMetrics dm = resources.getDisplayMetrics();
        // 韩语
        config.locale = Locale.KOREA;
        isChange = true;
        resources.updateConfiguration(config, dm);
        //模拟重启页面
        finish();
        startActivity(new Intent(this, CustomTextActivity.class));


    }

通过调用该方法就会将中文设置为英文,重点是设置后不会立即生效,需要关闭当前页面,再次进入才会生效 我通过手动关闭页面再重启来模拟实现
效果图

这里写图片描述

很简单的东西,记录下,方便以后使用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值