我创建了一个OS X Today扩展,并想测试我的本地化。但是Widget-Simulator拒绝接受我的语言选择。
我为来自源代码的文本创建了*.strings
个文件,并通过以下方式翻译:
NSLocalizedString("Some text", tableName: "nameOfTheStringFile", comment: "foo")
这是一些字符串文件结构的屏幕截图:
整个项目包含8个本地化文件。但其中只有两个与小部件相关。一般Info.plist
和名为TranslationsWidget.strings
的文件如上所示。
所有语言都已通过项目信息标签中的语言列表添加,如下所示:
现在模拟器中发生了什么,模拟器本身已被翻译。模拟器的所有菜单项都将以我在我的方案中选择的任何语言显示。但是小部件的内容不是。我不认为这是我的配置或代码的问题,因为小部件实际上是翻译的:系统语言,德语,而开发语言是英语。因此,它不仅不是翻译,而是错误的语言。
包含主应用程序(今日扩展程序必须打包在普通应用程序中)可以很好地转换为我在相应方案中选择的内容。
我不仅运行产品 - >从菜单中清除几次,我也删除了所有派生数据:
cd ~/Library/Developer/Xcode/DerivedData && rm -rf *
不仅因为我确信它不是某种缓存的东西。如果我更新德语翻译字符串,那么小部件会在下次运行时更新。
我通过更改系统语言测试了小部件的本地化工作。它只是通过更改Scheme中的语言而无法在Widget-Simulator中工作。
我现在必须覆盖德语翻译以测试其他语言,这非常令人讨厌。这是一个常见的问题吗?有人发现了修复?