我们的应用程序支持多个区域和语言。当我开发今天的扩展小部件并阅读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)
,它仍然无法正常工作。有人对这个问题有所了解吗?
答案 0 :(得分:4)
检查您的TodayWidget目标是否具有目标成员资格中的Localizable.strings文件。
答案 1 :(得分:1)
花一些时间我已经解决了这个问题。 如果你想本地化你今天的扩展小部件,实际上它在正常项目中没有任何不同的步骤。
但它有关于“Localize.strings”文件名的垃圾问题,你必须在正常的project.localize中使用“Localize”命名为“Localize.strings”文件,但是如果你使用它同名主要应用程序或使用一些“InfoPlist.String”关键字,
即使在调试项目时测试一切正常,但是在打包并安装设备时,您会发现localize无法获取值,因此您必须在没有“Localize.strings”的情况下定义客户名称或一些关键词。
:)