应用本地化 — iOS

本指南介绍如何将 iOS 应用本地化为多种语言/市场。

捆绑本地化

应用本地化的第一步是确定您希望支持的语言。确定之后

  1. 找到相应的2 字符 ISO 639-1 语言代码

  2. 在项目 build.settings 文件中,将这些语言代码添加到 CFBundleLocalizations 表中,该表位于settingsiphoneplist表内。顺序并不重要,但请确保每个条目都是2 字符与语言对应的字符串值,例如

settings =
{
    iphone =
    {
        plist =
        {
            CFBundleLocalizations =
            {
                "en",  --English
                "es",  --Spanish
                "it",  --Italian
                "de",  --German
                "fr",  --French
                "ja",  --Japanese
                "ko",  --Korean
            },
        },
    },
}
  1. 添加 CFBundleDisplayNameCFBundleName 键作为应用默认值(详情请参阅 项目构建设置)。请注意,这些键应位于 plist 表内,但位于 CFBundleLocalizations 表之外。
settings =
{
    iphone =
    {
        plist =
        {
            CFBundleLocalizations =
            {
                "en",  --English
                "es",  --Spanish
                "it",  --Italian
                "de",  --German
                "fr",  --French
                "ja",  --Japanese
                "ko",  --Korean
            },
            CFBundleDisplayName = "Princess",
            CFBundleName = "Princess",
        },
    },
}

本地化项目文件夹

第二步是为项目根目录中 main.lua 文件旁的每种语言创建一个**本地化项目文件夹**。

  1. 对于您在 build.settings 文件的 CFBundleLocalizations 表中指定的每种语言,在应用程序的根目录中创建一个新的 xx.lproj 文件夹,其中 xx 代表2 字符语言代码。
重要
  • 每个文件夹都必须以 .lproj 结尾。例如,英语的正确文件夹名称是 en.lproj,而不是 en

  • 每个文件夹必须遵循区分大小写的命名规则。例如,英语的正确文件夹名称是 en.lproj,而不是 EN.lproj

  1. 在每个本地化项目文件夹中,创建一个名为 InfoPlist.strings 的新文本文件。

  1. 作为每个 InfoPlist.strings 文件的内容,使用该语言的正确标题指定 CFBundleDisplayNameCFBundleName 行,例如

**英语**  (en.lproj/InfoPlist.strings)

CFBundleDisplayName = "Princess";
CFBundleName = "Princess";

**西班牙语**  (es.lproj/InfoPlist.strings)

CFBundleDisplayName = "La princesa";
CFBundleName = "La princesa";

**韩语**  (ko.lproj/InfoPlist.strings)

CFBundleDisplayName = "공주 패션쇼";
CFBundleName = "공주 패션쇼";

语言测试

完成上述步骤后,您可以在本地测试捆绑包名称,以确保本地化名称出现。

  1. 按照 配置和构建 指南中**构建流程**部分的说明构建应用。

  2. 按照 配置和构建 指南中**设备安装**下的说明安装应用。

  3. 通过**设置** → **通用** →语言与地区更改设备语言设置,并选择本地化设置中的一种语言。如果您按照概述配置了所有内容,则应用名称应显示为您在相应 InfoPlist.strings 文件中为 CFBundleDisplayName 定义的名称。

免责声明

更改设备设置必须完全由您自己承担风险,尤其是在语言设置方面。如果您更改设备语言,请确保您了解允许您将设备恢复为母语的选项和菜单。Solar2D Labs 对未经合理谨慎进行的任何设置更改概不负责。