NSLocalizedString()的第二个参数是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (47)

什么是*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";

英国不是多余的吗?

提问于
用户回答回答于

注释字符串被应用程序忽略。

例如,Hello_World_Key关键字在给定语言中可能具有不同的值,具体取决于Hello World短语在该语言中的正式或非正式形式(“What's Up World”,“Yo World”,“Good Day World”等)。

用户回答回答于

第二个参数是一个注释,如果使用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";

扫码关注云+社区