当数字顺序不同时本地化刺痛

Localization stings when differ order of numbers

我正在将 Swift iOS 应用程序的语言本地化为中文。 我如何翻译“%d of %d last weeks”,英语是“1 out of the 2 last weeks”,但中文变成“最近2周有1周”。

如何进行本地化,其中 "..A..B.." 应该变成 "..B..A.." =16=] 用另一种语言?

您应该使用参数的位置索引,因此不要使用 %@ 作为占位符,而是使用 %1$@。位置占位符允许译员更改占位符的顺序或在必要时重复它们。

例如,使用“%1$d of %2$d last weeks”作为关键字,这样在中文中您可以在翻译中得到:"%1$d of %2$d last weeks" = "最近%2$d周有%1$d周"。在代码中:

let template = NSLocalizedString("%1$d of %2$d last weeks", comment: "")
let str = String.localizeStringWithFormat(template, 1, 2)