NSLocationWhenInUseUsageDescription使用.strings文件无法正常工作

Can*_*ğlu 10 xcode localization info.plist ios

我已经使用Base Localization将我的应用程序翻译成土耳其语.但是,我还需要NSLocationWhenInUseUsageDescription在Info.plist文件中翻译密钥.我完成了我为其他一切做的事情:

去文件检查员并检查土耳其语:

在此输入图像描述

然后我转到新的字符串资源并通过将此密钥添加到本地化文件来完成我的翻译:

在此输入图像描述

"NSLocationWhenInUseUsageDescription" = "[my Turkish description of location permissions]";

从设备保存,编译甚至删除应用程序并重建,但无济于事.当我的应用程序要求位置权限时,下面的解释仍然是英文版本(我已尝试将英文翻译包括在Base翻译文件下,但它没有改变任何内容).

其他一切都是土耳其语,翻译得很好.这只是不翻译的位置许可.我还看过如何在iOS info.plist文件中本地化一个字符串?并把"Localized resources can be mixed" = YES钥匙(当然,CFBundleAllowMixedLocalizations不是字面上的句子)添加到我的原始plist但是也没有改变任何东西.

我该如何解决这个问题?

Zak*_*ksa 20

这是最终为我工作的东西Xcode 7.1.

首先,转到项目目录并手动创建两个InfoPlist.strings文件,第一个在en.lproj文件夹内,第二个在fr.lproj文件夹内.

这两个文件都应包含以下内容:

NSLocationWhenInUseUsageDescription = "YOUR TEXT HERE";
Run Code Online (Sandbox Code Playgroud)

由于文件不会在Xcode中自动显示,您必须手动将两者都添加到项目包中,这可以通过右键单击Xco​​de中的项目名称并选择Add files to X选项,然后选择刚刚创建的文件来实现.


此外,如果你想测试的结果与确保一切工作,改变了Application LanguageEdit Scheme > Run > Options是不够的.

您需要通过更改模拟器设备语言Settings > General > Language & Region > iPhone Language

  • 我尝试使用检查器菜单中的本地化按钮本地化`Info.plist`但是对我来说不起作用,即使在清理和删除并重新尝试多次之后也是如此. (2认同)

Can*_*ğlu 3

我已经重新开始了 删除翻译,清理项目,然后重试。有效。我不知道为什么最初没有。