Android多语言国际化适配(兼容7.0)

本文详细介绍了Android系统中的多语言适配,包括Locale的概念、values文件夹命名规则、7.0前后语言匹配规则的区别,以及如何在应用内部实现语言切换。针对Android 7.0后的新特性,提出了最佳实践方法,确保应用能在不同语言环境下正确显示。
摘要由CSDN通过智能技术生成

软件一般都会有多语言的适配,安卓中也有多语言的配置方案,主要是通过Configuration类中的Locale进行多语言的适配。

1.什么是Locale

Locale是JavaSE中一个类,用以表示本地语言的类型,可用于日历、数字和字符串的本地化。

可点击此处查看Java中的Locale类说明。

Locale由下面五个部分组成。

字段 含义 格式 示例
language 国际现有的语言表示 2或3个字母,皆小写 zh-中文(拼音缩写),en-english
script 区分语言或其方言书写形式的脚本 4个字母,首字母大写其余小写 Hans-简体中文,Hant-繁体中文,Latn-拉丁文
country(region) 国家或地区 国家2个字母(大写),区域3数字 CN-中国,US-美国,030-Eastern Asia(东亚)
variant 其他可用子标签未涵盖的语言或其方言的语言变体 字母开头至少5位,数字开头至少4位 pinyin-须有前缀zh-Latn
extensions 从单个字符键到字符串值的映射扩展 2-8字母或数字 ca-japanese(Japanese Calendar)

点击此网站可以查看所有的language,region(country)等的所有列表,需要查询对应类型。

创建Locale的两种方式:

  • 通过构造函数
//传入语言生成Locale,country与variant为空
Locale(String language)
//语言+国家,variant为空
Locale(String language, String country)
//语言+国家+variant
Locale(String language, String country, String variant)
  • 通过Builder构建
//通过设置各个字段来构建Locale,这种方式比构造函数要精确,并且会判断传入的值是否符合Locale类定义的语法要求
Locale aLocale = new Builder().setLanguage("zh").setScript("Hans").setRegion("CN").build();

可用下面代码遍历系统中存在的所有Locale

  Loca
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值