NSLocalizedString:与短字符串混淆 - 子字符串

时间:2014-12-02 18:38:16

标签: objective-c xcode translation nslocalizedstring

在我的代码中,我使用了很多本地化字符串,除了短字符串外,所有字符串都很好用。

实施例

NSString* text = [NSString stringWithFormat:NSLocalizedString(@"%@ at %@", nil), dateStart, timeStart];

在文件 localizable.string 中我有:

"%@ at %@" = "<translation>"
"attending %@" = "<translation>"

在我看来,编译器在尝试获取正确的字符串时失败..我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:-1)

左侧是右侧副本的关键字 它不是应该在其中包含占位符的键,因为字符串在运行时由locale.strings中的字符串交换。
换句话说:在本地化后,您将错过%@

要实现您想要的效果,您需要将占位符放在已翻译的字符串中:

"SOME_KEY" = "%@ <localized> %@"