我有一个使用CocoaPods的项目.因此,我有一个包含两个项目的工作区:mine和Pods.
Pods包含我想要本地化的代码,我.strings在Pod中创建了文件.但是,NSLocalizedString无法加载这些字符串.我怀疑这.strings是因为文件不在主包中,但是没有Pod包,因为它被编译成静态库.
有没有比在我的主项目中更好的方法来本地化CocoaPods项目中的代码?
我发现 这篇文章关于如何向应用添加本地化.答案非常广泛,非常有帮助.
只有一件事:
选择"Localizable.strings"文件时,我打开文件检查器,然后单击"本地化"窗格中的"生成本地化..."按钮.在弹出窗口中我可以选择一种语言,但实际上只有一种语言可供选择; 英语.没有其他选择.但是好的,选择英语选项后,我点击"Localize"按钮.
现在,在文件检查器中,在"本地化"窗格中,我看到选择了英语选项.
我的问题:我没有 "+"按钮来添加其他语言.
Doe有谁知道是什么原因引起的?如何添加其他语言?我正在使用Xcode 4.4.
我在Cocoa内置的本地化系统遇到了一个奇怪的问题.我使用genstrings为我的项目创建一个localizable.strings文件,该文件加载并替换我的应用程序中预期的字符串.
但是,它似乎只适用于所有其他构建.我将使用XCode构建代码,在我的设备上测试它,它将显示正确的字符串没有问题.然而,下一个构建将无法加载字符串文件(至少,这就是我所假设的.)这不是随机的,但可以预见的是每个其他构建.我对Localizable.strings文件一无所知.
我不知道从哪里开始诊断这个问题,我想知道是否有人有过在Cocoa上进行本地化的经验.
我在我的代码库中使用NSLocalizedString,如下所示:
NSLocalizedString(@"ReallyNewGame", @"Are you sure you want to start a new game?")
Run Code Online (Sandbox Code Playgroud)
我的Localizable.strings文件中的相应条目:
/* Are you sure you want to start a new game? */
"ReallyNewGame" = "Do you really want to start a new game?";
Run Code Online (Sandbox Code Playgroud)
以下是我的Info.plist的相关部分:
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
Run Code Online (Sandbox Code Playgroud)
以下是应用程序的每个其他版本的截图:
正确:

不正确:

我很困惑为什么会这样.我没有使用Localizable.strings文件手动执行任何操作,并且我已经在XCode上多次清理了我的项目.任何指向正确方向的人都会非常感激.如果您需要更多信息,我会尝试提供.
谢谢!
这是关于如何使用Xcode 4本地化我的应用程序的后续问题(和答案)?题.
如何使用Xcode 5.x本地化我的应用程序?
参考本指南: 如何使用Xcode 4本地化我的应用程序?
我注意到在本地化下,我的Xcode 4.4显示没有[+]按钮:

如何将语言添加到"本地化"列表?
注意:我没有使用IB.我纯粹需要一个带有翻译字符串的本地化字符串文件.
到目前为止我的解决方法:我手动创建de.lproj文件夹,将字符串文件复制到de.lproj,将其添加到Xcode,Xcode将文件识别为德语.Xcode还将德语添加到"本地化"列表中.我想知道是否有更简单的方法(从Xcode内部)而不是手动复制和添加文件?
我正在研究以下问题,到目前为止还没有多少问题能够实现.希望你能帮助我理解.
我愿意阅读相关的相关手册,如果你知道,请指出我.