gpt4 book ai didi

iphone - NSLocalizedString : Why is genstrings adding 1$ and 2$ to my format specifiers?

转载 作者:太空狗 更新时间:2023-10-30 03:27:38 24 4
gpt4 key购买 nike

我正在本地化我的 iPad/iPhone 应用程序,方法是使用 genstrings Classes/*.m 生成 Localizable.strings 文件。大多数字符串工作正常,我得到了预期的输出,但对于某些字符串,genstrings 在我的格式中间添加了 1$1$说明符,像这样:

/* No comment provided by engineer. */
"%@%i" = "%1$@%2$i";

/* No comment provided by engineer. */
"%@: %i" = "%1$@: %2$i";

/* No comment provided by engineer. */
"%@" = "%@";

我在其他应用程序中没有遇到过这个问题,正如您所见,它并不一致。但它似乎也不是随机的,因为当我再次在同一类文件上运行 genstrings 时,1$ 等总是在同一个位置。

我可以将它们留在原处并且​​字符串以正确的格式工作,但我一直在手动删除它们,因为我不确定 $ 会做什么。必须通过并手动更新字符串很烦人(而且我最终可能会错过一个)。

我认为这可能是文本编码问题?或者我可以安全地将它们留在我的字符串中而忽略它们吗?

最佳答案

这些数字指的是替换值的参数位置。例如,%2$i 表示“用第二个参数替换它,它应该是一个整数”。这在本地化到使用不同单词排列的语言时很有用,因为可以按照不同于英语的顺序替换事物。

换句话说,它们可以安全地留在或移除,并且它们将派上用场以将听起来自然的翻译成其他语言。

关于iphone - NSLocalizedString : Why is genstrings adding 1$ and 2$ to my format specifiers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4609389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com