Что такое параметр *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 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";
Это просто для разработчика, чтобы сделать код более понятным и понятным.
Как подсказка или комментарий к легкому обзору после этого.
Это просто понимание разработчика в переводе, то есть вы даете ключ для получения соответствующей строки из соответствующего файла строк.
Параметр комментария позволяет разработчику понять, что представляет собой ключ...