Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 用日语开发应用程序,将本地化添加到英语中_Ios_Xcode_Localization_Interface Builder - Fatal编程技术网

Ios 用日语开发应用程序,将本地化添加到英语中

Ios 用日语开发应用程序,将本地化添加到英语中,ios,xcode,localization,interface-builder,Ios,Xcode,Localization,Interface Builder,我正在开发一款iOS应用程序,几乎只面向日本用户,可能会有一小部分说英语的用户 所有故事板和XIB都是用日语字符串设计的,英语本地化应该在稍后阶段进行 从一开始,Xcode中的项目的信息/本地化部分如下: (这两个文件当然是,“Main.storyboard”和“LaunchScreen.xib”) 因为已经添加了“英语”(作为开发语言),所以我不能单击“+”按钮将其添加为本地化。我可以添加“日语”,但我希望它成为开发语言,而不仅仅是一些(二级)本地化 另外,与上述明显矛盾的是,目标的Info

我正在开发一款iOS应用程序,几乎只面向日本用户,可能会有一小部分说英语的用户

所有故事板和XIB都是用日语字符串设计的,英语本地化应该在稍后阶段进行

从一开始,Xcode中的项目的信息/本地化部分如下:

(这两个文件当然是,“Main.storyboard”“LaunchScreen.xib”

因为已经添加了“英语”(作为开发语言),所以我不能单击“+”按钮将其添加为本地化。我可以添加“日语”,但我希望它成为开发语言,而不仅仅是一些(二级)本地化

另外,与上述明显矛盾的是,目标
Info.plist
文件如下:

当我在项目导航器中选择其中一个本地化文件(
Main.storyboard
LaunchScreen.xib
)并检查文件检查器时,“本地化”部分显示:

…这似乎表明,现有的日语文件(.xib和.storyboard)是“基础”,选中“英语”也会增加对该语言的支持(下拉菜单似乎表明我可以选择使用字符串文件还是使用脚本的专用副本。我倾向于相信字符串方法更好)

…那么,我应该如何继续呢?

A.选中文件检查器/本地化部分的“英语”框? 这将创建一个
en.lproj
文件夹,并在其中添加一个字符串文件,我想我以后应该翻译它。这似乎有效地将我现有的Interface Builder文件(用日文标签填充)视为“基本”,并通过创建的字符串文件(如果我理解正确)将其本地化为英语。然而,英语作为项目设置中的开发语言仍然令人不安

B.在项目/信息/本地化窗格中删除英语,而添加日语? 这将使日语成为开发语言,之后我可以重新添加英语作为本地化语言。但出于某种原因,如果我这样做,日语将被视为“基本”语言,并且(不必要的)字符串文件也将被添加到日语中,而不仅仅是英语


编辑:我找到了,它以某种方式为上面的选项B提供了一个“修复”。

好的,这就是我想要的(但我仍然会接受更好/更聪明的答案):

我按照的建议做了,并编辑了Xcode项目文件,强制将日语作为“开发语言”:

变成:

developmentRegion = Japanese;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
                ja,
                Base,
接下来,对于我要本地化的故事板/XIB,我将选中文件检查器/本地化中的“英语”复选框:

…这将创建用于英语本地化的字符串文件(请注意“English”下面的“Japanese”复选框。我希望它根本不在那里,因为基本XIB/故事板在默认情况下已经有日语文本标签,但我可以不选中它)

现在,项目的信息窗格“本地化”部分如下所示:

附录:现在我想起来了,在这样的设置下,如果有人在(比如)设置为法语的iPhone上启动该应用程序,该应用程序将回到日语(而不是英语)。这可能并不理想,因为非日语使用者的默认语言应该是英语,而不是英语

然而,我无法用英文文本设计我的XIB,并在之后将其翻译成日语

developmentRegion = Japanese;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
                ja,
                Base,