Objective c NSLocalizedString有什么用途以及何时使用?

Objective c NSLocalizedString有什么用途以及何时使用?,objective-c,cocoa,Objective C,Cocoa,NSLocalizedString有什么用途 当我执行相同的操作时,只显示文本字段测试?那么第二个参数的用途是什么呢???第二个参数将作为提示,提示翻译人员在应用程序中使用的字符串的上下文。它将被添加到工具生成的文件中,输出如下: self.textfiled.text = NSLocalizedString(@"AboutUserKey", @"Title for about user button")]; ... // en/Localizable.string /* Title for a

NSLocalizedString有什么用途


当我执行相同的操作时,只显示文本字段测试?那么第二个参数的用途是什么呢???

第二个参数将作为提示,提示翻译人员在应用程序中使用的字符串的上下文。它将被添加到工具生成的文件中,输出如下:

self.textfiled.text = NSLocalizedString(@"AboutUserKey", @"Title for about user button")];
...
// en/Localizable.string
/* Title for about user button */
"AboutUserKey" = "About";

// ru/Localizable.string
/* Title for about user button */
"AboutUserKey" = "О пользователе";

我不会详细介绍,但长话短说,它用于创建一个应用程序,该应用程序将以各种语言显示。它是一个宏,根据设备的区域设置返回字符串。让我们假设您正在编写一个应用程序,该应用程序将具有英语和土耳其语版本。您需要至少有两个不同版本的localizable.strings文件,一个是英语版本,另一个是土耳其语版本。两者的格式相同:

/* Cancel button text */ 
"Cancel" = "Cancel";
至于TR:

/* Cancel button text */
"Cancel" = "İptal";
请注意,两个版本的格式都不是english=turkish,而是key=value。如果在代码中提供NSLocalizedString宏,则它将由GenString创建,例如:

NSLocalizedString@Cancel,@取消按钮文本]


NSLocalizedString从应用程序包中查找localizable.strings版本,并根据设备的区域设置加载字符串。请注意,它不会帮助您在运行时更改语言;但如果你进入“设置”、更改区域设置并重新启动应用程序,它将改变应用程序语言。

你有没有阅读过苹果关于i18n的文档?我想你需要先阅读。你能提供实时示例吗??
/* Cancel button text */
"Cancel" = "İptal";