2

我们的应用程序支持多种地区和语言。当我开发今天的扩展小部件并阅读App Extension Programming Guide时,我仍然找不到本地化解决方案。即使我像普通 Xcode 项目一样创建了 Localize.strings 文件,也要定义 Localize.strings 文件,如:

"scene_people_liked"="%d people like";

利用 :

#define NSLocalizedString(key, comment) \
            [[NSBundle bundleWithPath:moLocalizedPath] localizedStringForKey:(key) value:@"" table:@"Localizable"]

并调用它:

NSLocalizedString(@"scene_people_liked", nil)

,它仍然不起作用。有人对这个问题有想法吗?

4

2 回答 2

11

检查您的 TodayWidget 目标是否在目标成员中具有 Localizable.strings 文件。

于 2017-02-22T08:40:26.287 回答
1

花一些时间我已经解决了这个问题。如果您想本地化您的今日扩展小部件,实际上它在普通项目中没有任何不同的步骤。

但是它有关于“Localize.strings”文件名的垃圾问题,你必须在正常项目中使用“Localize”来命名“Localize.strings”文件。localize应该可以工作,但是如果你使用它与主应用程序相同的名称或使用一些“InfoPlist.String”关键字,

即使在调试项目时测试一切正常,但是当您将其打包并安装设备时,您会发现localize无法获取值,因此您必须定义一个没有“Localize.strings”或一些关键字的客户名称.

:)

于 2015-03-13T04:39:40.920 回答