【问题标题】:how to localize today extensions widget?如何本地化今天的扩展小部件?
【发布时间】:2015-05-03 15:50:21
【问题描述】:

我们的应用程序支持多种地区和语言。当我开发今天的扩展小部件并阅读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)

,还是不行。有人知道这个问题吗?

【问题讨论】:

  • 字符串文件是包含在扩展包中还是只是应用程序?
  • 只保留应用程序,需要包含在今天的小部件中吗?
  • @TomHarrington 包含在扩展中

标签: ios ios8 widget ios8-today-widget today-extension


【解决方案1】:

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

【讨论】:

  • 这应该是正确的答案,谢谢@rockdaswift
【解决方案2】:

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

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

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

:)

【讨论】:

  • 这不应该是公认的答案,原因有很多。
猜你喜欢
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
  • 2017-07-10
  • 2014-10-15
  • 2014-07-25
  • 2017-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多