Android & iOS 应用名称的本地化

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

切记修改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

  1. 新建一个Strings File,命名为InfoPlist.strings(命名必须固定,专门修改app名字)。

  1. 点击工程-PROJECT-Info-Localizations,添加简体中文支持,如果想支持繁体,也可继续添加,其他语言亦然。

  1. 点击之前创建的InfoPlist.strings - 点击右边的“Localizion”- 添加简体中文。

可以选择支持英文

  1. 分别设置中英文名字
"CFBundleDisplayName" = "中文名字";
"CFBundleName" = "中文名字";

"CFBundleDisplayName" = "EnglishName";
"CFBundleName" = "EnglishName";
1
2
3
4
5

如果你想为不同的设备(iphone,ipad,ipod)设置不同的显示名称,在键名字后加上”~”,就可以创建出针对特定的设备的键。如下:

“CFBundleDisplayName~iphone”=”显示在iPhone桌面的名称”;

“CFBundleDisplayName~ipad”=”显示在iPad桌面的名称HD”;
1
2
3

名字字符串自己填写就好,这里只是示范

5.编译工程,分别切换模拟器的设置中的语言至中英文模式,分别查看appiocn下面的名字的变化:

注:对于unity打包后的xcode项目,有一步骤要特别注意的,不然会报错,如下图将Bundle display name和infoplist.string的变量关联起来,输入$(CFBundleDisplayName)即可。

Last Updated: 2022/1/8 04:00:18