android多语言与国际化

原创 2012年03月28日 13:24:42

nternationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。

一般用 语言_地区的形式表示一种语言,如  zh_CN, zh_TW.

各国语言缩写  http://www.loc.gov/standards/iso639-2/php/code_list.php

国家和地区简写 http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html

 

 

在Android工程的res目录下,通过定义特殊的文件夹名称就可以实现多语言支持。比如我们的程序兼容 简体中文、日文、英文、法文和德文,在values文件夹中建立默认strings.xml,再建立 values-zh-rCN(zh表示中文rCN表示简体,类似还有美式英语,奥式英语)、values-ja、values、values-fr和values-de文件夹。(可以用开发工具建:见http://www.cnblogs.com/wuyunan/archive/2009/09/16/1567960.html

在每个文件夹里放置一个strings.xml,strings.xml里是各种语言字符串。如果涉及到参数配置类xml文件夹也要改成xml-zh、xml-ja、xml、xml-fr和xml-de。这样在android的系统中进行语言切换,所开发的程序也会跟着切换语言。

     在代码中切换语言:

     Resources resources = getResources();//获得res资源对象

     Configuration config = resources.getConfiguration();//获得设置对象

     DisplayMetrics dm = resources .getDisplayMetrics();//获得屏幕参数:主要是分辨率,像素等。

     config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文

     resources.updateConfiguration(config, dm);


多国语言:在res目录下建立不同名称的values文件来调用不同的语言包

Values文件汇总如下:

中文(中国):values-zh-rCN

中文(台湾):values-zh-rTW

中文(香港):values-zh-rHK

英语(美国):values-en-rUS

英语(英国):values-en-rGB

英文(澳大利亚):values-en-rAU

英文(加拿大):values-en-rCA

英文(爱尔兰):values-en-rIE

英文(印度):values-en-rIN

英文(新西兰):values-en-rNZ

英文(新加坡):values-en-rSG

英文(南非):values-en-rZA

阿拉伯文(埃及):values-ar-rEG

阿拉伯文(以色列):values-ar-rIL

保加利亚文:  values-bg-rBG

加泰罗尼亚文:values-ca-rES

捷克文:values-cs-rCZ

丹麦文:values-da-rDK

德文(奥地利):values-de-rAT

德文(瑞士):values-de-rCH

德文(德国):values-de-rDE

德文(列支敦士登):values-de-rLI

希腊文:values-el-rGR

西班牙文(西班牙):values-es-rES

西班牙文(美国):values-es-rUS

芬兰文(芬兰):values-fi-rFI

法文(比利时):values-fr-rBE

法文(加拿大):values-fr-rCA

法文(瑞士):values-fr-rCH

法文(法国):values-fr-rFR

希伯来文:values-iw-rIL

印地文:values-hi-rIN

克罗里亚文:values-hr-rHR

匈牙利文:values-hu-rHU

印度尼西亚文:values-in-rID

意大利文(瑞士):values-it-rCH

意大利文(意大利):values-it-rIT

日文:values-ja-rJP

韩文:values-ko-rKR

立陶宛文:valueslt-rLT

拉脱维亚文:values-lv-rLV

挪威博克马尔文:values-nb-rNO

荷兰文(比利时):values-nl-BE

荷兰文(荷兰):values-nl-rNL

波兰文:values-pl-rPL

葡萄牙文(巴西):values-pt-rBR

葡萄牙文(葡萄牙):values-pt-rPT

罗马尼亚文:values-ro-rRO

俄文:values-ru-rRU

斯洛伐克文:values-sk-rSK

斯洛文尼亚文:values-sl-rSI

塞尔维亚文:values-sr-rRS

瑞典文:values-sv-rSE

泰文:values-th-rTH

塔加洛语:values-tl-rPH

土耳其文:values--r-rTR

乌克兰文:values-uk-rUA

越南文:values-vi-rVN


Android studio进阶之多语言/图片--国际化

Android studio进阶之多语言编程--国际化 前段时间接到一个关于PDA的项目 , 其中需要用到国际化 , 之前做Java 的时候是丢jar对应的国际化语言的jar .开发过程中踩了点,本...

【Android】资源系列(一) -- 国际化(多语言)

1、Android 中要实现国际化比较简单。     字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了,     如,英语环境下的,文件夹命名为:values-en...

Android 国际化之多语言切换

前言android的国际化很简单,大家都知道创建对应国家编码的values文件夹就好啦。可是很多人不知道如何手动切换app的语言,而不是只能跟随系统语言变化,下面就介绍一下啦!直接贴代码吧/** ...

android多语言国际化

在很多app中都涉及到中英文切换 繁体简体切换,再此简单的记录一下     1,首先大家要清楚,默认情况下,Android会根据系统的语言地区设置,自动选择对应的资源。也就是说会首先尝试语...

android开发 多语言和国际化

我们建好一个android 的项目后,默认的res下面 有layout、values、drawable等目录 这些都是程序默认的资源文件目录,如果要实现多语言版本的话,我们就要添加要实现语言的对...

Android(国际化)多语言的实现和切换

Android 的多语言设置在开发中时有用到,实现也不复杂,主要包括三个方面 不同语言的资源的实现,即string.xml的实现 利用Locale改变系统的语言设置 切换更新UI 首先需要将不同语言版...

Android实现多语言,国际化

以前就知道Android的多语言实现很简单,可以在不同的语言环境下使用不同的资源什么的,但是一直没有实际使用过。 最近公司的项目要用到多语言于,是就研究了一下——果然很简单啊。要使用多语言,首先肯定要...
  • Alpha58
  • Alpha58
  • 2016年12月02日 17:33
  • 200

c#多语言国际化

  • 2007年12月19日 17:32
  • 1.04MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android多语言与国际化
举报原因:
原因补充:

(最多只允许输入30个字)