[ios] NSLocalizedString ()의 두 번째 매개 변수는 무엇입니까?

*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";

영어가 중복되지 않습니까?



답변

주석 문자열은 응용 프로그램에서 무시됩니다. 응용 프로그램에서 발견되는 키의 문맥 사용에 의미를 추가하기 위해 번역가의 이익을 위해 사용됩니다.

예를 들어, 해당 언어 ( “What ‘s up World”, “Yo World”, “Good Day World”등)에서 구가 Hello_World_Key얼마나 형식적이거나 비공식적인지에 따라 특정 언어에서 키 값이 다를 수 있습니다 Hello World.

주석 필드에 문자열을 추가하여이 사용법을 번역자에게 힌트 할 수 있습니다. 번역자에게 응용 프로그램을 더 잘 현지화 할 수 있습니다.


답변

두 번째 매개 변수는 소스 코드를 스캔하여 문자열 파일을 생성 할 수 있는 genstrings 명령 줄 유틸리티 를 사용하는 경우 문자열 파일에 자동으로 표시되는 주석입니다 .

주석은 로컬 라이저에게 유용합니다. 예를 들면 :

NSLocalizedString(@"Save",@"Title of the Save button in the theme saving dialog");

genstring을 실행하면 다음과 같이 Localizable.strings 파일에 항목이 생성됩니다.

/* Title of the Save button in the theme saving dialog */
"Save" = "Save";


답변

번역에 대한 개발자 이해를위한 것입니다. 즉, 해당 문자열 파일에서 해당 문자열을 가져 오는 키를 제공합니다.

댓글 매개 변수를 사용하면 개발자가 키가 나타내는 내용을 이해할 수 있습니다.


답변