以下*comment
参数是什么:
NSString *NSLocalizedString(NSString *key, NSString *comment)
如果我这样做:
NSLocalizedString(@"Hello_World_Key", @"Hello World")
并且有两个版本的Localizable.strings(英语和西班牙语),每个版本都需要输入:
English.lproj/Localization.strings: @"Hello_World_Key" = @"Hello World";
Spanish.lproj/Localization.strings: @"Hello_World_Key" = @"Hola Mundo";
英语不是多余的吗?
答案 0 :(得分:265)
第二个参数是一个注释,如果您使用 genstrings 命令行实用程序,它将自动出现在字符串文件中,该实用程序可以通过扫描源代码为您创建字符串文件。
该评论对您的本地化人员非常有用。例如:
NSLocalizedString(@"Save",@"Title of the Save button in the theme saving dialog");
当您运行genstrings时,这将在Localizable.strings文件中生成一个条目,如下所示:
/* Title of the Save button in the theme saving dialog */
"Save" = "Save";
答案 1 :(得分:65)
应用程序忽略注释字符串。它用于翻译者的利益,为在应用程序中找到密钥的上下文使用添加含义。
例如,Hello_World_Key
密钥在给定语言中可能采用不同的值,具体取决于Hello World
短语在该语言中的正式或非正式性(“What is up World”,“Yo”世界“,”美好的一天世界“等。)
您可以在评论字段中添加一个字符串,以便将此用法提示给翻译人员,他们(人们可以认为)可以更好地本地化您的应用程序。
答案 2 :(得分:0)
这只是开发人员对翻译的理解,就是你给出了一个键来从相应的字符串文件中获取相应的字符串。
comment参数使开发人员能够理解密钥代表的内容......