【问题标题】:Specify base localization for Localized formatted APNS strings为本地化格式的 APNS 字符串指定基本本地化
【发布时间】:2016-02-27 01:57:02
【问题描述】:

我的基本本地化在故事板中,但也在这样的结构中:

struct Strings {  

  struct Restaurant {
    static let makeCall = NSLocalizedString("Restaurant-makeCall", value: "Call %@", comment: "Restaurant-makeCall: title for button that allows you to call a place")
  }

  //...many more

}

这很有效,因为它将它们保存在一个地方,定义了一个与基本翻译值分开的键,并在我使用它们时自动完成:Strings.Restaurant.makeCall

要输入翻译,我使用xliff import/export processeditor > export for localization。我发现 genstrings 在NSLocalizedString 的速记形式上有问题。

这一切都很好,直到我到达Localized APNS Messages。给定一个loc-key 和可选的loc-args,它们会搜索匹配的本地化键。

对于翻译,这是可行的,因为当我导入翻译后的 xliff 文件时,会为每个翻译构建一个 Localizable.strings。

我的基本翻译没有 Localizable.strings 文件。我试图做一个,但 xliff 导出并没有注意到这些字段要添加到其他翻译中,所以我认为这不是正确的方法。

如何以适用于 APNS 的方式添加基本翻译?

【问题讨论】:

    标签: ios localization apple-push-notifications xliff


    【解决方案1】:

    一种实用但重复的方法是在两个地方都定义它们:

    • Strings 结构中定义键(和未使用的值)。 xliff 导出会注意到这些,这允许其他语言提供翻译
    • 在您为基本翻译创建的Localizable.strings 文件中定义键和值。这允许 APNS 在您使用基础语言时找到值,但 xliff export 看不到这些值。

    这行得通,但是如果有人在没有保持另一个文件最新的情况下更改了一个文件,则会出现难以察觉的翻译差异,所以我不太喜欢它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 2012-08-25
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多