android 错误中英互译,Android 中英文切换及遇到的问题
Android 中英文切换及遇到的问题
背景:近期由于项目上的需求接受到了一个中英文切换需求。只需要在切换中英系统语言的时候改变app的名称为中文或英文就可以。关于如何实现这些可以参考如下文章:
实现中英文切换的方法:
Android app切换语言、国际化的纠缠: https://blog.csdn.net/qq_36255612/article/details/79651021
android开发中英文切换:https://blog.csdn.net/sinat_25001099/article/details/50663265
Android 7.0以上版本,如何实现应用内语言切换:https://www.jianshu.com/p/32ff13db1f0d
遇到的问题:
在已经添加了相应英文资源的状况下,测试发现。切换至英文语言后app的名称还是没有改变,打开apk文件后发现,如下图:
通过分析发现应该是gradle打包apk的时候没有将相应的资源打包进来,查看gradle配置文件发现。
defaultConfig {
applicationId "com.****"
minSdkVersion and.minSdkVersion
targetSdkVersion and.targetSdkVersion
versionCode and.versionCode
versionName and.versionName
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName: project.getName()]
}
}
ndk {
abiFilters 'armeabi', 'x86'
}
resConfigs "zh"
}
将其修改为 resConfigs “zh”,“en-rUS”
再次打包发现依然没有对应的英文资源。
再次排查项目配置发现,在渠道的配置文件中找到:
def doFlavor(NamedDomainObjectContainerproductFlavors, Object it, String channel, boolean isSetFlavor) {
//创建渠道
ProductFlavor flavor = productFlavors.create(channel)
//lib中不能设置ApplicationId
if (isSetFlavor) {
//设置ApplicationId(包名)
String applicationId = it.applicationId
if (applicationId != null && applicationId.trim().length() > 0) {
flavor.applicationId = applicationId
}
//设置ApplicationId后缀,
String idSuffix = it.applicationidSuffix
if (idSuffix != null && idSuffix.trim().length() > 0) {
flavor.applicationIdSuffix = idSuffix
}
}
def list
if (it.abiFilters == null) {
list = new ArrayList(1)
list.add("armeabi")
} else {
def ABIs = it.abiFilters.split(",")
if (ABIs != null && ABIs.length > 0) {
list = Arrays.asList(ABIs)// new ArrayList(2)
} else {
list = new ArrayList(1)
list.add("armeabi")
}
}
// 特定渠道配置需要加入的Abi 例如armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips,mips64
flavor.ndk.setAbiFilters(list)
println("doFlavor-------->abi = " + list)
flavor.dimension = it.dimension
//设置小版本号
String versionSuffix = it.minorVersion
if (versionSuffix != null && versionSuffix.trim().length() > 0) {
flavor.versionNameSuffix = versionSuffix
}
//设置自定义BuildConfig属性
def fields = getConfigFields(it.buildConfigFields)
if (fields != null) {
flavor.addBuildConfigFields(fields)
}
//清单文件配置
flavor.manifestPlaceholders = it.manifestPlaceholders
//剔除不需要资源---------------此处只保留了配置过的资源
def res = it.resConfig
if (res != null && res.size() > 0) {
flavor.resConfigs(res)
}
//渠道分辨率
def density = it.density
if (density != null) {
GenerateValueFilesPlugin.generateDensity(channel, density)
}
}
最后通过在渠道配置的文件中添加了resConfig,如下图:
再次打包后的结果:如下
总结:出现资源打不进去的情况极有可能就Gradle中的配置原因。需要仔细查看Gradle配置文件中是否忽略某些资源。
android 错误中英互译,Android 中英文切换及遇到的问题相关推荐
- android 错误中英互译,中英文翻译器应用的官方Android版本v3.1.1
汉英翻译是一种快速的语音翻译器. 无需键入即可将其快速音译为所需内容,例如翻译成中文和英文. 智能语音翻译工件,无需键入可以说翻译很简单,并且操作简单快捷. 随时翻译非常好. 中英文翻译器应用功能介绍 ...
- android 错误中英互译,安卓手机Recovery模式刷机情况下的中英文对照翻译
recovery ,用 关机键 音量 /- (依机型不同而不同,不过有些机型可能没有刷入recovery,可自行刷入.)即可进入recovery界面,在这个界面你可以直接用sd 卡上的zip格式的ro ...
- 计算机网络中英互译,计算机网络中英文互译.doc
--- - 计算机网络中英翻译 ACK (ACKnowledgement) 确 认 帧 ADSL (Asymmetric Digital Subscriber Line) 非 对 称 数 字 用 户 ...
- IntelliJ IDEA/Android Studio 翻译插件,可中英互译。
TranslationPlugin 项目地址:YiiGuxing/TranslationPlugin 简介:IntelliJ IDEA/Android Studio 翻译插件,可中英互译. In ...
- woocommerce产品选项描述修改_简历修改服务:中文修改、英文修改、中英互译、简历定制,名师一对一指导修改!...
简历,是你接触 HR 的第一步 如果你无法通过简历敲开大门 你面试能力再强,综合素质再高,都无用! 做了那么多网申,投了那么多简历.都是是石沉大海,渺无音讯.你就不想想,是简历有问题吗? 简历是找实习 ...
- 中英互译软件测试计划
中英互译软件测试计划 1.引言 1.1 编写目的 测试软件的中英互译能力,通过给出中文单独的字,句,英文的单独单词,句子以及中英混合,查看翻译结果来确定软件的实用性和准确度. 1.2 项目背景 ...
- 怎样快速实现整篇文档中英互译
对于一篇中文word文档,怎么才能快速翻译成纯英文的呢?有很多同学说可以将里面的文字直接复制进浏览器进行翻译,在将其拷贝出来即可,但是对于一个几十页的文档而言,这样操作显然不是很高效.下面将文字翻译的 ...
- 怎样快速实现整篇文档中英互译?这里有简单的方法
对于一篇中文word文档,怎么才能快速翻译成纯英文的呢?有很多同学说可以将里面的文字直接复制进浏览器进行翻译,在将其拷贝出来即可,但是对于一个几十页的文档而言,这样操作显然不是很高效.下面将文字翻译的 ...
- 非常简单的中英互译在线翻译操作方法
非常简单的中英互译在线翻译操作方法?无论在工作中还是生活中,我们总能遇到各种翻译问题,尤其是中英文翻译,但是很多人的英文都不好,比如小编.那么如何快捷而又专业的完成中英互译呢?如果你不知道这个问题该如 ...
最新文章
- 使用Apache Archiva搭建Maven Repository Server
- unity2019,打包APK时的gradle错误问题
- 如何在Ubuntu上查看和写入系统日志文件
- LeetCode 1048. 最长字符串链(哈希+DP)
- pm2 多个线程输出一个日志_PM2 源码分析
- MySQL用户管理和访问权限
- 调试M2det算法train自己的数据(VOC2007)
- CISP 考试教材《第 1 章 知识域:信息安全保障》知识整理
- 汉英词典python
- 搭档之家|立秋·暑去凉来 叶落知秋
- 如何入门嵌入式?ARM嵌入式开发板学习方法步骤
- 学习B站UP雨落弦鸣的《超简单效果超好的个人网站博客搭建(对小白很友好)》中遇到的问题
- 复习简记转发器、网桥、路由器、网关的功能
- 风场可视化:绘制轨迹
- 杨超越的经历故事性太强了,现实版的娱乐圈爽文
- 网络设备的连接以及配置
- 图解IFRS 9 金融工具(13)实施时间及结语
- 项目结束后,哪些经验教训需要总结?
- Unity AssetBundle介绍
- 2020-03-05