Android产品定制多语言

简介: Android产品定制多语言           android产品支持的多语言非常丰富,在很多市场上销售的android产品的语言列表很长很长。

Android产品定制多语言

 

 

      android产品支持的多语言非常丰富,在很多市场上销售的android产品的语言列表很长很长。在国内,一般都默认中文,还有许多其他语言,有事列表太长了,一旦客户在前面点错了,要再选回来,要翻啊翻的,下翻很久才到。中文一般都在最下面,这样很不方面。虽然有很多方法去绕这个问题,比如把中文放到最上面,这样也需要修改android默认的语言列表排序方法,几十种语言那样去改太累了,有时还得考虑国内外软件版本的差异,会很辛苦。那我们怎么把这个列表缩短呢,怎么定制呢?

       要缩短这个列表,不就是少加几种语言嘛!没什么技术含量的,只是要找到合适的地方加。笔者使用的android4.0平台。在build\target\product\locales_full.mk文件中,有:

 

PRODUCT_LOCALES := cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG en_US es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN

$(call inherit-product, build/target/product/languages_full.mk)


 

玄机就在这里,我们把加以对PRODUCT_LOCALES值的控制就能控制到列表的程度。在这里把我们需要支持的语言加进去,当然这里加的语言关键字都是有约定的。如下:

 

Locale CANADA Locale constant for en_CA.

Locale CANADA_FRENCH Locale constant for fr_CA.

Locale CHINA Locale constant for zh_CN.

Locale CHINESE Locale constant for zh.

Locale ENGLISH Locale constant for en.

Locale FRANCE Locale constant for fr_FR.

Locale FRENCH Locale constant for fr.

Locale GERMAN Locale constant for de.

Locale GERMANY Locale constant for de_DE.

………………………………..


在这里可以很方便的做产品的差异化,利用$(TARGET_PRODUCT)环境变量,用ifeq就可以,示例如下:

 

ifeq ($(TARGET_PRODUCT), crane_ed1021tsd)

PRODUCT_LOCALES := en_US en_GB zh_CN zh_HK zh_TW

 

else ifeq ($(TARGET_PRODUCT), crane_ed1021)

PRODUCT_LOCALES := en_US en_GB zh_CN zh_HK zh_TW

else 

PRODUCT_LOCALES := cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG en_US es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN

$(call inherit-product, build/target/product/languages_full.mk)

 

Endif


笔者在PRODUCT_LOCALES中只选择了中文简体跟繁体,英文的美国版跟英国版,一共四种语言。当然这里面可以再加一些自己项目需要支持的语言。满足需求就好,不需要太多。
目录
相关文章
|
2月前
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
38 0
|
29天前
|
运维 监控 Java
应用研发平台EMAS产品常见问题之安卓构建版本失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
7月前
|
Android开发
Android系统开发中产品信息文件说明
Android系统开发中产品信息文件说明
80 1
|
6月前
|
XML Java Android开发
Android 解决使用CocosCreator开发产品上架应用市场代码重复问题
Android 解决使用CocosCreator开发产品上架应用市场代码重复问题
272 0
|
9月前
|
Android开发 iOS开发 Windows
无影产品动态|iOS & Android客户端6.0.0版本发布,提升触控灵敏度,操作体验更丝滑
无影ios & Android客户端6.0.0版本发布!移动端触控体验更舒适,用户操作更便捷,一起来看看!
676 0
无影产品动态|iOS & Android客户端6.0.0版本发布,提升触控灵敏度,操作体验更丝滑
|
9月前
|
存储 Java API
Android:这个需求搞懵了,产品说要实现富文本回显展示
在正向的截取思维下,正则表达式无疑是最简单的,富文本,无论是标签匹配还是内容以及属性,都可以使用正则进行简单的匹配,轻轻松松就能搞定,需要注意的是,不同属性的匹配规则是不一样的,需要根据特有的情况去分析。
|
自然语言处理 Android开发
Android 多语言应用(步骤+源码)
Android 多语言应用(步骤+源码)
615 0
Android 多语言应用(步骤+源码)
|
Java Android开发
【Android 热修复】热修复原理 ( 多 Dex 打包机制 | 多 Dex 支持 | Dex 分包设置 | 开发和产品风格设置 | 源码资源 )
【Android 热修复】热修复原理 ( 多 Dex 打包机制 | 多 Dex 支持 | Dex 分包设置 | 开发和产品风格设置 | 源码资源 )
238 0
【Android 热修复】热修复原理 ( 多 Dex 打包机制 | 多 Dex 支持 | Dex 分包设置 | 开发和产品风格设置 | 源码资源 )
|
测试技术 Android开发 iOS开发
产品资讯 | mPaaS 完成 iOS 14 和 Android 11 适配
mPaaS 现已适配 iOS 14 和 Android 11
8569 0
产品资讯 | mPaaS 完成 iOS 14 和 Android 11 适配