Android 入门宝典 - 国际化

文章目录

介绍

ICU (计算机科学)(英语:International Components for Unicode,可译为Unicode国际化组件),是一种用于软件界面国际化的函数库。

https://zh.m.wikipedia.org/zh-hans/ICU

CLDR:(Common Locale Data Repository 通用语言环境数据存储库)是Unicode联盟的一个项目,以XML格式提供语言环境数据以供计算机应用程序使用。CLDR包含操作系统通常会提供给应用程序的特定于语言环境的信息。CLDR用LDML(语言环境数据标记语言)编写。所提供的信息当前用于ICU(Unicode的国际组件),Apple的macOS,LibreOffice,MediaWiki和IBM的AIX,以及其他应用程序和操作系统。

CLDR数据类型包括:

  • 语言名称的翻译。
  • 领土和国家名称的翻译。
  • 货币名称的翻译,包括单/复数修改。
  • 完整和缩写形式的工作日,月份,时代,时段的翻译。
  • 时区和示例城市(或类似城市)的时区翻译。
  • 日历字段的翻译。
  • 用于格式化/解析日期或一天中的时间的模式。
  • 用于编写语言的示例字符集。
  • 格式化/解析数字的模式。
  • 适应语言的排序规则。
  • 在传统数字系统中格式化数字的规则(例如罗马数字,亚美尼亚数字 …)。
  • 将数字拼写为单词的规则。
  • 脚本之间音译的规则。其中很多是基于BGN / PCGN罗马化的。

它与ISO / IEC 15897(POSIX语言环境)有些重叠。可以使用一些CLDR的转换工具从CLDR派生POSIX语言环境信息。

CLDR由CLDR技术委员会维护,该委员会包括IBM,Apple,Google,Microsoft和一些政府组织的员工。该委员会目前由John Emmons(IBM)主持,Mark Davis(Google)担任副主席。

https://en.wikipedia.org/wiki/Common_Locale_Data_Repository

应用

使用 Translations Editor 本地化界面

开发中所有资源使用(颜色、尺寸、字符串)必须使用资源引用,这样方便替换语言:
xml 中使用:@strings/app_name
代码中使用:getString(R.string.app_name)

安卓 APP 在适配时会根据系统语言选择相应的资源文件,所以创建一份固定名称的资源文件夹即可适配不同语言
eg 中文 values-zh-rCN
在这里插入图片描述
原先是这样:
在这里插入图片描述

配置了系统语言的手机界面是这样:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值