本文是主要对android定制多语言的问题进行深入研究后,总结了其定制的机制和其具体实现方法。如果想深入了解其定制的机制,可阅读本文第一部分,如果只想了解如何定制,请参考第二部分。
第一部分 多语言定制的机制
1、ICU4C简介
ICU4C(ICU for C, http://site.icu-project.org/ ) 是ICU在C/C++平台下的版本, ICU(International Component for Unicode)是基于"IBM公共许可证"的,与开源组织合作研究的, 用于支持软件国际化的开源项目。ICU4C提供了C/C++平台强大的国际化开发能力,软件开发者几乎可以使用ICU4C解决任何国际化的问题,根据各地的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的格式化、解析,对字符串进行大小写转换、整理、搜索和排序等功能,必须一提的是,ICU4C提供了强大的BIDI算法,对阿拉伯语等BIDI语言提供了完善的支持。
ICU首先是由Taligent公司开发的,Taligent公司现在被合并为IBM?公司全球化认证中心的Unicode研究组,然后ICU由IBM和开源组织合作继续开发,开源组织给与了ICU极大的帮助。
开始ICU只有Java平台的版本,后来这个平台下的ICU类被吸纳入SUN公司开发的JDK1.1,并在JDK以后的版本中不断改进。C++和C平台下的ICU是由JAVA平台下的ICU移植过来的,移植过的版本被称为ICU4C,来支持这C/C++两个平台下的国际化应用。 ICU4J和ICU4C区别不大,但由于ICU4C是开源的,并且紧密跟进Unicode标准,ICU4C支持的Unicode标准总是最新的;同时,因为JAVA平台的ICU4J的发布需要和JDK绑定,ICU4C支持Unicode标准改变的速度要比ICU4J快的多。
2、 ANDROID语言包
Android 使用的语言包就是ICU4C,位置:external/icu4c。Android支持的语言有: Locale CANADA
Locale constant for
android 语言定制
最新推荐文章于 2023-01-30 16:46:25 发布
本文深入探讨了Android系统中多语言的定制机制,包括ICU4C在Android中的角色,语言包的构成,以及如何定制和选择语言。通过修改PRODUCT_LOCALES字段和使用特定的makefile,开发者可以轻松地改变系统的默认语言和支持的语言种类。
摘要由CSDN通过智能技术生成