저는 많은 개발자가 다음과 같이 이것을 알고 있습니다. 그들은 영어로 앱을 개발하기 시작하며 @"Tap this to do that!"
대신 NSLoclaizedString(@"Tap this to do that!", @"Telling what to do...")
을 넣습니다.NSLocalizedString()에서 "실제"키를 사용하는 것이 안전합니까? 대체 언어가 보장 되나요?
그런 다음 genstrings
을 실행하면 모든 문자열을 추출하여 Localizable.strings 파일을 만듭니다. 지저분한 부분 : 코드에서 사용 된 긴 텍스트가 핵심이됩니다. 그것은 작동합니다. 어느 날 빨리 코드에 들어가서 영어 문자열을 변경하고 현지화를 잊어 버리고 모든 Localizable.strings 파일의 핵심 역할을 수행 할 때까지
그래서 문자열과 섞이지 않는 "실제"키를 사용하는 경향이 있습니다. 빠른 테스트를 위해 영어와 프랑스어로 현지화 된 프로젝트를 만들었습니다. 그런 다음 시뮬레이터 언어를 독일어로 설정했습니다. 사용자가 TTTDT
과 같은 키를 보게된다면 몹시 괴로워 할 것입니다.
그래서 영어와 독일어만으로 데모 앱을 시작했습니다. 그리고 내가 가진 것은 English Localizable.strings 파일의 영어 텍스트였습니다.
결론 : OSL 언어가 앱에서 다룰 수없는 경우 NSLocalizedString이 영어 파일로 되돌아가는 것으로 보입니다.
Quesion : 항상 Localizable.strings (English)
파일이 있고 적절하게 형식이 지정된 값과 함께 파일에 ARE 키가 있다고 가정합니다. NSLocalizedString이 실패하고 키를 직접 표시하는 상황이 있습니까?
좋은 점. 나는 또한 더 나은 성능을 추가 할 것이다. – dontWatchMyProfile