我们建好一个android 的项目后,默认的res下面 有layout、values、drawable等目录

这些都是程序默认的资源文件目录,如果要实现多语言版本的话,我们就要添加要实现语言的对应的资源文件。

首先我们点击添加Android Xml File按钮,会出现下面的界面:

android 项目国际化 安卓开发国际化_android

cn,如下图

 

android 项目国际化 安卓开发国际化_语言_02

zh,如下图

android 项目国际化 安卓开发国际化_语言_03

 

 

 

其实上面一大堆操作,就是为生成这个目录)

android 项目国际化 安卓开发国际化_语言_04

默认生成的string.xml的代码:

<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><?</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">xml</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">version</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="1.0"</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">encoding</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="utf-8"</span>?<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">resources</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">name</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="hello"</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>Hello World, Test!<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"></</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">name</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="app_name"</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>Test-Multilingual<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"></</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"></</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">resources</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>

修改刚刚生成的res\values-zh-rCN目录下的string.xml:

<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><?</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">xml</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">version</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="1.0"</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">encoding</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="utf-8"</span>?<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">resources</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">name</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="app_name"</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>测试多语言<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"></</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"><</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span> <span class="attr" style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">name</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">="hello"</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>你好 多语言测试<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"></</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">string</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>
<span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);"></</span><span class="html" style="margin: 0px; padding: 0px; color: rgb(128, 0, 0);">resources</span><span class="kwrd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">></span>

 

运行结果:

en-us:英文

android 项目国际化 安卓开发国际化_android_05

 

android 项目国际化 安卓开发国际化_html_06


zh-cn:中国大陆

android 项目国际化 安卓开发国际化_xml_07

 

android 项目国际化 安卓开发国际化_语言_08

 

android 项目国际化 安卓开发国际化_语言_09


zh-tw:台湾

android 项目国际化 安卓开发国际化_xml_10

 

android 项目国际化 安卓开发国际化_html_11

 

android 项目国际化 安卓开发国际化_语言_12


 

因为设置了region为CN,所以zh-tw的时候,没有找到res\values-zh-rTW的目录,加载了默认的res\values目录下的string.xml

 

这里只用了Values做例子,其余的Resource都可以,图片了,布局了等等

(出处和作者:www.cnblogs.com/wuyunan Ready Wu)

附1:

在代码中切换语言:

     

[java]  view plain copy

1. Resources resources = getResources();//获得res资源对象  
2. //获得设置对象  
3. //获得屏幕参数:主要是分辨率,像素等。  
4. //简体中文  
5.      resources.updateConfiguration(config, dm);


附2:

国家代号与区号

Countries and Regions

国家或地区

国际域名缩写

电话代码

时差

Angola

安哥拉

AO

244

-7

Afghanistan

阿富汗

AF

93

0

Albania

阿尔巴尼亚

AL

355

-7

Algeria

阿尔及利亚

DZ

213

-8

Andorra

安道尔共和国

AD

376

-8

Anguilla

安圭拉岛

AI

1264

-12

Antigua and Barbuda

安提瓜和巴布达

AG

1268

-12

Argentina

阿根廷

AR

54

-11

Armenia

亚美尼亚

AM

374

-6

Ascension

阿森松

 

247

-8

Australia

澳大利亚

AU

61

+2

Austria

奥地利

AT

43

-7

Azerbaijan

阿塞拜疆

AZ

994

-5

Bahamas

巴哈马

BS

1242

-13

Bahrain

巴林

BH

973

-5

Bangladesh

孟加拉国

BD

880

-2

Barbados

巴巴多斯

BB

1246

-12

Belarus

白俄罗斯

BY

375

-6

Belgium

比利时

BE

32

-7

Belize

伯利兹

BZ

501

-14

Benin

贝宁

BJ

229

-7

Bermuda Is.

百慕大群岛

BM

1441

-12

Bolivia

玻利维亚

BO

591

-12

Botswana

博茨瓦纳

BW

267

-6

Brazil

巴西

BR

55

-11

Brunei

文莱

BN

673

0

Bulgaria

保加利亚

BG

359

-6

Burkina-faso

布基纳法索

BF

226

-8

Burma

缅甸

MM

95

-1.3

Burundi

布隆迪

BI

257

-6

Cameroon

喀麦隆

CM

237

-7

Canada

加拿大

CA

1

-13

Cayman Is.

开曼群岛

 

1345

-13

Central African Republic

中非共和国

CF

236

-7

Chad

乍得

TD

235

-7

Chile

智利

CL

56

-13

China

中国

CN

86

0

Colombia

哥伦比亚

CO

57

0

Congo

刚果

CG

242

-7

Cook Is.

库克群岛

CK

682

-18.3

Costa Rica

哥斯达黎加

CR

506

-14

Cuba

古巴

CU

53

-13

Cyprus

塞浦路斯

CY

357

-6

Czech Republic

捷克

CZ

420

-7

Denmark

丹麦

DK

45

-7

Djibouti

吉布提

DJ

253

-5

Dominica Rep.

多米尼加共和国

DO

1890

-13

Ecuador

厄瓜多尔

EC

593

-13

Egypt

埃及

EG

20

-6

EI Salvador

萨尔瓦多

SV

503

-14

Estonia

爱沙尼亚

EE

372

-5

Ethiopia

埃塞俄比亚

ET

251

-5

Fiji

斐济

FJ

679

+4

Finland

芬兰

FI

358

-6

France

法国

FR

33

-8

French Guiana

法属圭亚那

GF

594

-12

Gabon

加蓬

GA

241

-7

Gambia

冈比亚

GM

220

-8

Georgia

格鲁吉亚

GE

995

0

Germany

德国

DE

49

-7

Ghana

加纳

GH

233

-8

Gibraltar

直布罗陀

GI

350

-8

Greece

希腊

GR

30

-6

Grenada

格林纳达

GD

1809

-14

Guam

关岛

GU

1671

+2

Guatemala

危地马拉

GT

502

-14

Guinea

几内亚

GN

224

-8

Guyana

圭亚那

GY

592

-11

Haiti

海地

HT

509

-13

Honduras

洪都拉斯

HN

504

-14

Hongkong

香港

HK

852

0

Hungary

匈牙利

HU

36

-7

Iceland

冰岛

IS

354

-9

India

印度

IN

91

-2.3

Indonesia

印度尼西亚

ID

62

-0.3

Iran

伊朗

IR

98

-4.3

Iraq

伊拉克

IQ

964

-5

Ireland

爱尔兰

IE

353

-4.3

Israel

以色列

IL

972

-6

Italy

意大利

IT

39

-7

Ivory Coast

科特迪瓦

 

225

-6

Jamaica

牙买加

JM

1876

-12

Japan

日本

JP

81

+1

Jordan

约旦

JO

962

-6

Kampuchea (Cambodia )

柬埔寨

KH

855

-1

Kazakstan

哈萨克斯坦

KZ

327

-5

Kenya

肯尼亚

KE

254

-5

Korea

韩国

KR

82

+1

Kuwait

科威特

KW

965

-5

Kyrgyzstan

吉尔吉斯坦

KG

331

-5

Laos

老挝

LA

856

-1

Latvia

拉脱维亚

LV

371

-5

Lebanon

黎巴嫩

LB

961

-6

Lesotho

莱索托

LS

266

-6

Liberia

利比里亚

LR

231

-8

Libya

利比亚

LY

218

-6

Liechtenstein

列支敦士登

LI

423

-7

Lithuania

立陶宛

LT

370

-5

Luxembourg

卢森堡

LU

352

-7

Macao

澳门

MO

853

0

Madagascar

马达加斯加

MG

261

-5

Malawi

马拉维

MW

265

-6

Malaysia

马来西亚

MY

60

-0.5

Maldives

马尔代夫

MV

960

-7

Mali

马里

ML

223

-8

Malta

马耳他

MT

356

-7

Mariana Is

马里亚那群岛

 

1670

+1

Martinique

马提尼克

 

596

-12

Mauritius

毛里求斯

MU

230

-4

Mexico

墨西哥

MX

52

-15

Moldova Republic of

摩尔多瓦

MD

373

-5

Monaco

摩纳哥

MC

377

-7

Mongolia

蒙古

MN

976

0

Montserrat Is

蒙特塞拉特岛

MS

1664

-12

Morocco

摩洛哥

MA

212

-6

Mozambique

莫桑比克

MZ

258

-6

Namibia

纳米比亚

NA

264

-7

Nauru

瑙鲁

NR

674

+4

Nepal

尼泊尔

NP

977

-2.3

Netheriands Antilles

荷属安的列斯

 

599

-12

Netherlands

荷兰

NL

31

-7

New Zealand

新西兰

NZ

64

+4

Nicaragua

尼加拉瓜

NI

505

-14

Niger

尼日尔

NE

227

-8

Nigeria

尼日利亚

NG

234

-7

North Korea

朝鲜

KP

850

+1

Norway

挪威

NO

47

-7

Oman

阿曼

OM

968

-4

Pakistan

巴基斯坦

PK

92

-2.3

Panama

巴拿马

PA

507

-13

Papua New Cuinea

巴布亚新几内亚

PG

675

+2

Paraguay

巴拉圭

PY

595

-12

Peru

秘鲁

PE

51

-13

Philippines

菲律宾

PH

63

0

Poland

波兰

PL

48

-7

French Polynesia

法属玻利尼西亚

PF

689

+3

Portugal

葡萄牙

PT

351

-8

Puerto Rico

波多黎各

PR

1787

-12

Qatar

卡塔尔

QA

974

-5

Reunion

留尼旺

 

262

-4

Romania

罗马尼亚

RO

40

-6

Russia

俄罗斯

RU

7

-5

Saint Lueia

圣卢西亚

LC

1758

-12

Saint Vincent

圣文森特岛

VC

1784

-12

Samoa Eastern

东萨摩亚(美)

 

684

-19

Samoa Western

西萨摩亚

 

685

-19

San Marino

圣马力诺

SM

378

-7

Sao Tome and Principe

圣多美和普林西比

ST

239

-8

Saudi Arabia

沙特阿拉伯

SA

966

-5

Senegal

塞内加尔

SN

221

-8

Seychelles

塞舌尔

SC

248

-4

Sierra Leone

塞拉利昂

SL

232

-8

Singapore

新加坡

SG

65

+0.3

Slovakia

斯洛伐克

SK

421

-7

Slovenia

斯洛文尼亚

SI

386

-7

Solomon Is

所罗门群岛

SB

677

+3

Somali

索马里

SO

252

-5

South Africa

南非

ZA

27

-6

Spain

西班牙

ES

34

-8

Sri Lanka

斯里兰卡

LK

94

0

St.Lucia

圣卢西亚

LC

1758

-12

St.Vincent

圣文森特

VC

1784

-12

Sudan

苏丹

SD

249

-6

Suriname

苏里南

SR

597

-11.3

Swaziland

斯威士兰

SZ

268

-6

Sweden

瑞典

SE

46

-7

Switzerland

瑞士

CH

41

-7

Syria

叙利亚

SY

963

-6

Taiwan

台湾省

TW

886

0

Tajikstan

塔吉克斯坦

TJ

992

-5

Tanzania

坦桑尼亚

TZ

255

-5

Thailand

泰国

TH

66

-1

Togo

多哥

TG

228

-8

Tonga

汤加

TO

676

+4

Trinidad and Tobago

特立尼达和多巴哥

TT

1809

-12

Tunisia

突尼斯

TN

216

-7

Turkey

土耳其

TR

90

-6

Turkmenistan

土库曼斯坦

TM

993

-5

Uganda

乌干达

UG

256

-5

Ukraine

乌克兰

UA

380

-5

United Arab Emirates

阿拉伯联合酋长国

AE

971

-4

United Kiongdom

英国

GB

44

-8

United States of America

美国

US

1

-13

Uruguay

乌拉圭

UY

598

-10.3

Uzbekistan

乌兹别克斯坦

UZ

233

-5

Venezuela

委内瑞拉

VE

58

-12.3

Vietnam

越南

VN

84

-1

Yemen

也门

YE

967

-5

Yugoslavia

南斯拉夫

YU

381

-7

Zimbabwe

津巴布韦

ZW

263

-6

Zaire

扎伊尔

ZR

243

-7

Zambia

赞比亚

ZM

260

-6

附3:

各国语言缩写

en 英文
en_US 英文 (美国)
ar 阿拉伯文
ar_AE 阿拉伯文 (阿拉伯联合酋长国)
ar_BH 阿拉伯文 (巴林)
ar_DZ 阿拉伯文 (阿尔及利亚)
ar_EG 阿拉伯文 (埃及)
ar_IQ 阿拉伯文 (伊拉克)
ar_JO 阿拉伯文 (约旦)
ar_KW 阿拉伯文 (科威特)
ar_LB 阿拉伯文 (黎巴嫩)
ar_LY 阿拉伯文 (利比亚)
ar_MA 阿拉伯文 (摩洛哥)
ar_OM 阿拉伯文 (阿曼)
ar_QA 阿拉伯文 (卡塔尔)
ar_SA 阿拉伯文 (沙特阿拉伯)
ar_SD 阿拉伯文 (苏丹)
ar_SY 阿拉伯文 (叙利亚)
ar_TN 阿拉伯文 (突尼斯)
ar_YE 阿拉伯文 (也门)
be 白俄罗斯文
be_BY 白俄罗斯文 (白俄罗斯)
bg 保加利亚文
bg_BG 保加利亚文 (保加利亚)
ca 加泰罗尼亚文
ca_ES 加泰罗尼亚文 (西班牙)
ca_ES_EURO 加泰罗尼亚文 (西班牙,Euro)
cs 捷克文
cs_CZ 捷克文 (捷克共和国)
da 丹麦文
da_DK 丹麦文 (丹麦)
de 德文
de_AT 德文 (奥地利)
de_AT_EURO 德文 (奥地利,Euro)
de_CH 德文 (瑞士)
de_DE 德文 (德国)
de_DE_EURO 德文 (德国,Euro)
de_LU 德文 (卢森堡)
de_LU_EURO 德文 (卢森堡,Euro)
el 希腊文
el_GR 希腊文 (希腊)
en_AU 英文 (澳大利亚)
en_CA 英文 (加拿大)
en_GB 英文 (英国)
en_IE 英文 (爱尔兰)
en_IE_EURO 英文 (爱尔兰,Euro)
en_NZ 英文 (新西兰)
en_ZA 英文 (南非)
es 西班牙文
es_BO 西班牙文 (玻利维亚)
es_AR 西班牙文 (阿根廷)
es_CL 西班牙文 (智利)
es_CO 西班牙文 (哥伦比亚)
es_CR 西班牙文 (哥斯达黎加)
es_DO 西班牙文 (多米尼加共和国)
es_EC 西班牙文 (厄瓜多尔)
es_ES 西班牙文 (西班牙)
es_ES_EURO 西班牙文 (西班牙,Euro)
es_GT 西班牙文 (危地马拉)
es_HN 西班牙文 (洪都拉斯)
es_MX 西班牙文 (墨西哥)
es_NI 西班牙文 (尼加拉瓜)
et 爱沙尼亚文
es_PA 西班牙文 (巴拿马)
es_PE 西班牙文 (秘鲁)
es_PR 西班牙文 (波多黎哥)
es_PY 西班牙文 (巴拉圭)
es_SV 西班牙文 (萨尔瓦多)
es_UY 西班牙文 (乌拉圭)
es_VE 西班牙文 (委内瑞拉)
et_EE 爱沙尼亚文 (爱沙尼亚)
fi 芬兰文
fi_FI 芬兰文 (芬兰)
fi_FI_EURO 芬兰文 (芬兰,Euro)
fr 法文
fr_BE 法文 (比利时)
fr_BE_EURO 法文 (比利时,Euro)
fr_CA 法文 (加拿大)
fr_CH 法文 (瑞士)
fr_FR 法文 (法国)
fr_FR_EURO 法文 (法国,Euro)
fr_LU 法文 (卢森堡)
fr_LU_EURO 法文 (卢森堡,Euro)
hr 克罗地亚文
hr_HR 克罗地亚文 (克罗地亚)
hu 匈牙利文
hu_HU 匈牙利文 (匈牙利)
is 冰岛文
is_IS 冰岛文 (冰岛)
it 意大利文
it_CH 意大利文 (瑞士)
it_IT 意大利文 (意大利)
it_IT_EURO 意大利文 (意大利,Euro)
iw 希伯来文
iw_IL 希伯来文 (以色列)
ja 日文
ja_JP 日文 (日本)
ko 朝鲜文
ko_KR 朝鲜文 (南朝鲜)
lt 立陶宛文
lt_LT 立陶宛文 (立陶宛)
lv 拉托维亚文(列托)
lv_LV 拉托维亚文(列托) (拉脱维亚)
mk 马其顿文
mk_MK 马其顿文 (马其顿王国)
nl 荷兰文
nl_BE 荷兰文 (比利时)
nl_BE_EURO 荷兰文 (比利时,Euro)
nl_NL 荷兰文 (荷兰)
nl_NL_EURO 荷兰文 (荷兰,Euro)
no 挪威文
no_NO 挪威文 (挪威)
no_NO_NY 挪威文 (挪威,Nynorsk)
pl 波兰文
pl_PL 波兰文 (波兰)
pt 葡萄牙文
pt_BR 葡萄牙文 (巴西)
pt_PT 葡萄牙文 (葡萄牙)
pt_PT_EURO 葡萄牙文 (葡萄牙,Euro)
ro 罗马尼亚文
ro_RO 罗马尼亚文 (罗马尼亚)
ru 俄文
ru_RU 俄文 (俄罗斯)
sh 塞波尼斯-克罗地亚文
sh_YU 塞波尼斯-克罗地亚文 (南斯拉夫)
sk 斯洛伐克文
sk_SK 斯洛伐克文 (斯洛伐克)
sl 斯洛文尼亚文
sl_SI 斯洛文尼亚文 (斯洛文尼亚)
sq 阿尔巴尼亚文
sq_AL 阿尔巴尼亚文 (阿尔巴尼亚)
sr 塞尔维亚文
sr_YU 塞尔维亚文 (南斯拉夫)
sv 瑞典文
sv_SE 瑞典文 (瑞典)
th 泰文
th_TH 泰文 (泰国)
tr 土耳其文
tr_TR 土耳其文 (土耳其)
uk 乌克兰文
uk_UA 乌克兰文 (乌克兰)
zh 中文
zh_CN 中文 (中国