【发布时间】:2013-12-23 10:20:30
【问题描述】:
我们使用 Localizable.strings 来支持多种语言。但是对于某些语言,例如波兰语,这些词是有性别的。所以,这两个词不能直接连接。我们有很多“动词+名词”字符串。我们支持多种具有不同语法的语言。 你遇到过这样的问题吗?
谢谢。
【问题讨论】:
标签: ios iphone ipad localizable.strings
我们使用 Localizable.strings 来支持多种语言。但是对于某些语言,例如波兰语,这些词是有性别的。所以,这两个词不能直接连接。我们有很多“动词+名词”字符串。我们支持多种具有不同语法的语言。 你遇到过这样的问题吗?
谢谢。
【问题讨论】:
标签: ios iphone ipad localizable.strings
也许您可以创建格式化字符串(带有一些%@)
承认你的句子与键 key1 相关联,你的词与性别与键 key2 相关联,你的代码如下所示:
NSString *totalString = [NSString stringWithFormat:NSLocalizedString(@"key1",nil),NSLocalizedString(@"key2",nil)];
【讨论】:
我在几个项目前面临同样的问题(也是波兰语)。恕我直言,这个问题是无法解决的。您基本上可以使用`@"{Noun} {Verb}" 字符串构建这样的阶段。但后来我们遇到了与 NSHipster 警告过的完全相同的问题:
不要。这一点怎么强调都不过分:不要细分本地化字符串。上下文会丢失,语法结构会变得笨拙和单调,动词会被错误地结合,你会完全错过重点——付出巨大的努力使事情变得更糟,而不是一开始就没有打扰。
你可以在这里找到如何做以及为什么不应该这样做:http://nshipster.com/nslocalizedstring/
【讨论】: