Android & iOS 应用名称的本地化
DarinLo 2016/6/6 Unity游戏开发
名称本地化,在系统不同的语言下,app包名显示本地化的名称。
# 一、Android应用名称本地化
本地化内容为放在在UnityPlugins/Android/res/values-xx文件夹(xx是对应的语言,zh是中文,en是英文),然后建立strings.xml文件。
value文件夹代表默认的语言,找不到特定的语言的文件夹,app的名称就会采用这个文件夹的app_name。这个文件夹中的strings.xml的app_name属性中的文字会被替换为在Unity的player Setting中设置的Product Name。
strings.xml文件内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">应用名称</string>
</resources>
1
2
3
4
2
3
4
切记修改strings.xml时把保存编码另存为UTF-8,否则填写中文就会打包错误。
备注:
可以插件完成,$20美金:[Localized App Name for iOs and Android]
直接在Assets/Plugins里放Android res的方法在Unity 5里已被标注为废弃,官方建议用aar的形式
# Android多国语言Values文件夹文件汇总如下:
- 维吾尔文(中国):values-ug-rCN
- 中文(中国):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
# 二、iOS应用名称本地化InfoPlist.strings->CFBundleDisplayName
- 新建一个Strings File,命名为InfoPlist.strings(命名必须固定,专门修改app名字)。
- 点击工程-PROJECT-Info-Localizations,添加简体中文支持,如果想支持繁体,也可继续添加,其他语言亦然。
- 点击之前创建的InfoPlist.strings - 点击右边的“Localizion”- 添加简体中文。
可以选择支持英文
- 分别设置中英文名字
"CFBundleDisplayName" = "中文名字";
"CFBundleName" = "中文名字";
"CFBundleDisplayName" = "EnglishName";
"CFBundleName" = "EnglishName";
1
2
3
4
5
2
3
4
5
如果你想为不同的设备(iphone,ipad,ipod)设置不同的显示名称,在键名字后加上”~”,就可以创建出针对特定的设备的键。如下:
“CFBundleDisplayName~iphone”=”显示在iPhone桌面的名称”;
“CFBundleDisplayName~ipad”=”显示在iPad桌面的名称HD”;
1
2
3
2
3
名字字符串自己填写就好,这里只是示范
5.编译工程,分别切换模拟器的设置中的语言至中英文模式,分别查看appiocn下面的名字的变化:
注:对于unity打包后的xcode项目,有一步骤要特别注意的,不然会报错,如下图将Bundle display name和infoplist.string的变量关联起来,输入$(CFBundleDisplayName)即可。