我的基本本地化在故事板中,但也在这样的结构中:
run_one()
这非常有效,因为它将它们保存在一个位置,定义了一个与基本翻译值分开的键,并在我使用它时自动完成: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
}
要输入翻译,请使用xliff import/export process:Strings.Restaurant.makeCall
。我发现genstrings在editor > export for localization
的缩写形式上遇到了麻烦。
这一切都很顺利,直到我到达Localized APNS Messages。给定NSLocalizedString
和可选loc-key
,他们会搜索匹配的本地化密钥。
对于翻译,这是有效的,因为当我导入翻译的xliff文件时,每个翻译都有一个Localizable.strings。
我的基本翻译没有Localizable.strings文件。我尝试制作一个,但xliff导出没有注意到要添加到其他翻译的那些字段,所以我认为这不是正确的方法。
如何以适合APNS的方式添加基本翻译?
答案 0 :(得分:0)
一种功能性但重复的方法是在两个地方定义它们:
Strings
结构中定义键(和未使用的值)。 xliff导出会注意到这些,这允许其他语言提供翻译Localizable.strings
文件中定义键和值。这允许APNS在您使用基本语言时查找值,但xliff导出无法查看这些值。这样做有效,但是如果有人在不保持其他文件最新的情况下进行更改,则会发生难以检测的翻译差异,所以我不太喜欢它。