gpt4 book ai didi

ios - NSLocalizedString,参数使用从右到左的语言(例如波斯语)

转载 作者:行者123 更新时间:2023-12-01 17:54:19 24 4
gpt4 key购买 nike

我写这篇文章是因为这个问题使我发疯。
我在尝试使用 NSLocalizedString 和参数在 UILabel 中尝试打印相同文本(从右到左,像波斯语)时遇到了相同的问题。
我的代码如下所示:

label.text = [NSString stringWithFormat:NSLocalizedString(@"The trick belongs to %@",nil),user];

在我的波斯语字符串文件中,我尝试使用此
"The trick belongs to %@" = " %@ میز را ترک کرد";
"The trick belongs to %@" = "%@ برنده کارت ها شد";
"The trick belongs to %@" = "@% برنده کارت ها شد";
"The trick belongs to %@" = "برنده کارت ها شد @%";
"The trick belongs to %@" = "برنده کارت ها شد %@";

并且所有这种类型的表格总是打印:

“Mariaبرندهکارتهاشد” ,但必须像 一样显示“برندهکارتهاشدMaria”

提前谢谢了

最佳答案

您需要让iOS知道这是一个RTL字符串,即使它在它的前面遇到M(这表示它是LTR字符串)也是如此。您可以使用Unicode隐含方向标记RIGHT-TO-LEFT MARK U + 200F来执行此操作。

例如:

self.label.text = [NSString stringWithFormat:@"\u200f%@ برنده کارت ها شد", @"Maria"];

您可以将 \u200f放入Localized.strings文件中。您不需要任何特殊代码即可处理此问题。
"The trick belongs to %@" = @"\u200f%@ برنده کارت ها شد";

关于ios - NSLocalizedString,参数使用从右到左的语言(例如波斯语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005859/

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