Android app语言中英文转换、多语言转换

总结:

1.Andorid studio安装AndroidLocalize插件(在settings里面的plugins里面可以搜索到、github也可以下载,然手动安装)

2.准备一份中文的strings文件,利用插件翻译成多语言

3.代码实现转换逻辑

 

具体步骤如下:

1.安装插件步骤省略

2.翻译文件,如下图

Android app语言中英文转换、多语言转换_第1张图片

Android app语言中英文转换、多语言转换_第2张图片

点击OK翻译完毕,翻译完毕之后,会出现如下图所示的文件夹

Android app语言中英文转换、多语言转换_第3张图片

到这里,第二步就完成了。

3.代码实现语言转换,直接贴代码,通俗易懂

public static void shiftLanguage(String sta, Activity activity, Context context) {
        if (sta.equals("zh")) {
//            转换为英文
            Resources resources = context.getResources();
//            获得res资源对象
            Configuration config = resources.getConfiguration();// 获得设置对象
            DisplayMetrics dm = resources.getDisplayMetrics();//
//            获得屏幕参数:主要是分辨率,像素等。
            config.locale = Locale.US;
//            英文
            resources.updateConfiguration(config, dm);
            activity.recreate();
        } else {
//            转换为中文
            Resources resources = context.getResources();
//            获得res资源对象
            Configuration config = resources.getConfiguration();
//            获得设置对象
            DisplayMetrics dm = resources.getDisplayMetrics();
//            获得屏幕参数:主要是分辨率,像素等。
            config.locale = Locale.SIMPLIFIED_CHINESE;
//            英文
            resources.updateConfiguration(config, dm);
            activity.recreate();
        }
    }

到这里,基本就以及实现了中英文转换的功能,

   List list = APPActivityManager.getAppManager().getAllActivity();
                if (list != null && list.size() != 0) {
                    for (Activity activity : list) {
                        Log.d("activitylist", activity.getLocalClassName());
                        String sta = getResources().getConfiguration().locale.getLanguage();
                        ShiftLanguage.shiftLanguage(sta, activity, getApplicationContext());
                    }
                }

调用的时候,传入对应的activity就能实现中英文转换,如果是针对于整个APP,个人建议用ActivityManager对activity实现堆栈式管理,然后用的时候从栈里面取出来就行。

 

注意问题:

1.所有的中文字符,全都用strings来保存

2.堆栈式管理activity很重要

3.对于其他语言,实现方式基本一样,这里不细说了。

你可能感兴趣的:(Android)