Android app语言中英文转换、多语言转换
总结:
1.Andorid studio安装AndroidLocalize插件(在settings里面的plugins里面可以搜索到、github也可以下载,然手动安装)
2.准备一份中文的strings文件,利用插件翻译成多语言
3.代码实现转换逻辑
具体步骤如下:
1.安装插件步骤省略
2.翻译文件,如下图
点击OK翻译完毕,翻译完毕之后,会出现如下图所示的文件夹
到这里,第二步就完成了。
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<Activity> 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 app语言中英文转换、多语言转换相关推荐
- Android App 设置系统时间,语言和时区、系统重启
文章目录 说明 1. 修改系统时间 1. 设置系统时间(仅设置xx:xx) 2. 设置系统日期(仅设置到xxxx年xx月xx日) 3.设置系统是否自动获取时间 4.判断系统是否自动获取时间 2. 修改 ...
- 关于Android app 国际化 中英文翻译的细节处理
导语: 最近一个项目上有要求完成app国际化,也就是如果系统语言是英文,那么你的app打开时就会自动读取string 中的字符串资源,自动完成匹配,以满足国际化需求,那么我们就按照步骤走,完成我们的a ...
- Android app 不重启切换应用语言 中英文切换
项目主要架构是一个Activity 切换多个fragment 需要切换语言的部分全在Fragment布局中 /*** 切换语言** @param locale* @param first 用于区分是否 ...
- 统计c语言中英文字幕,C语言日记——递归
C语言日记--递归 首先,允许我从<c primer plus>中摘一句话:C允许函数调用它自己,这种调用称为递归. 有一段时间一直搞不清楚递归的实质,直到看到如下代码: #include ...
- ThankPHP5.0增加中英文转换(tp5语言翻译)
ThankPHP5.0增加中英文转换(tp5语言翻译) 这个中英文转换是点击触发的,默认是显示中文的语言,框架使用的是thankphp5.0.24 .废话不多说直接上代码 提示:以下是本篇文章正文内容 ...
- Android多语言支持以及繁简转换
Android多语言支持以及繁简转换 Android自身就带有多语言支持.前一段时间需要做一个同时支持繁简体的APP,经过简单的搜索和探索,轻松解决了问题.并且写了一个简单的繁体到简单的转换类.分享给 ...
- 怎么从Android App Bundle (.aab)提取和转换apks文件(从AAB到APKs的转换和提取)
在Google的I/O 2018上引入了一个新的APP的发布格式,就是 Android App Bundle. 在 2019年之后,Google开始推荐开发者上传APP或者更新APP使用 .aab 格 ...
- android locale app内设置,Android app应用多语言切换功能实现
本文实例为大家分享了Android app应用实现多语言切换功能,供大家参考,具体内容如下 1.添加多语言文件在不同的 value 文件夹下(例如 value .value-en.values-zh- ...
- c 语言转换成php语言,C++_C 语言进制之间的转换,二进制、八进制和十六进制向 - phpStudy...
C 语言进制之间的转换 二进制.八进制和十六进制向十进制转换都是非常容易的,就是"按权相加". 所谓"权",也即"位权".例如,十进制第1位 ...
- Android开发-应用中英文(语言)切换(二)
APP中针对不同国家不同地区的人群使用那么应用的语言自然也要能够随时进行切换,最近做的项目有中文和英文切换的需求,所以在了解了一下网上常用的方法后记录一下我使用的方法,只是简单的应用,后续如果有不同需 ...
最新文章
- 论文,成本管理与进度管理(主成本)
- linux更改用户名_破旧安卓手机第二春,在安卓手机上使用Linux_deploy运行Linux
- 前端学习(2608):vuex的介绍
- 无盘服务器 机械盘,Win7启动速度研究,同样的PC配置,机械盘、固态盘、无盘网络启动速度为何不同?...
- 请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学号从小到大的顺序输出学生的信息。
- bzoj 1600: [Usaco2008 Oct]建造栅栏(DP)
- Android无界面编程之使用Service
- HMM中的前向法(转)
- 叫号系统是否需要服务器,银行排队叫号方法及系统、服务器及存储介质
- PowerShell: 如何使用powershell处理Excel
- python分段函数图像画法_特殊分段函数的图像画法
- 我编写了两套代码分析twitter的反爬虫机制(附源码讲解)
- Avant Browser
- python table类中的 可以作为初步观察工具_《趣学Python编程》习题总结
- 奇怪的小鸭子也增加了
- 解决 “VS2015 的warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”的方法
- 单片机的延时与中断问题及解决方法
- 【一】ODB - C++ 访问数据库的利器--Hello World On Windows(Version-24)
- 可视化|东京奥运会可视化(二)
- MAC下 抖音APK反编译