我想本地化“ 1 of 9”,并且1和9是int参数,我的代码如下

context = [NSString stringWithFormat:NSLocalizedString(@"%d of %d",
          "This text will be used to show page number on the screen"),
          currentPageIndex + 1, pageCount];


生成的Localizable.strings显示如下

/* This text will be used to show page number on the screen */
"%d of %d" = "%1$d of %2$d";


我认为“ =”左边的东西是键,而“ =”右边的东西是值,但是我希望键看起来像“ show_page_number”,不包含格式“%d”,我该怎么办?我尝试将“%d的%d”替换为“ show_page_number”,但是它不起作用。有什么建议吗?

最佳答案

NSLocalizedString()在运行时将键替换为值。因此,您可以将anystring用作键,并且在运行时将其替换为“%1 $ d of%2 $ d”。
在可本地化文件中添加字符串:

"show_page_number" = "%1$d of %2$d";


&在代码中使用该键

context = [NSString stringWithFormat:NSLocalizedString(@"show_page_number", "This text will be used to show page number on the screen"), currentPageIndex + 1, pageCount];


在xcode项目中添加localizable.string文件。

ios - Localizable.strings键值对-LMLPHP

关于ios - Localizable.strings键值对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44961494/

10-10 20:31