2011-08-02 4 views
6

NSLocalizedString() 매크로를 사용하여 내 소스 파일을 골라 내 모든 문자열을 업데이트했습니다. 이제 여러 소스 파일에 걸쳐 많은 문자열이 있기 때문에 #define 지시문을 사용하여 "LocalizedStringDefinitions.h"라는 헤더 파일에 많은 양의 문자열을 배치하기로 결정했습니다. 그래서 예를 들어 각 라인은 난 그냥 genstrings 터미널에서 명령을 실행genstrings을 사용하여 Xcode 소스 파일 현지화 하시겠습니까?

#define kLocalizedSTRINGNAME NSLocalizedString(@"STRINGNAME", @"Comment") 

, 다음과 같습니다 않고 생성 된 Localizable.strings 파일을 직접 내 코드에 넣고에만 지역화 된 문자열을 포함하고 # 아무도 정의 된 것들. #define string의 약 100 줄을 가지고 있는데, 특히 여러 파일에 걸쳐 나타나기 때문에 코드에 넣고 싶지 않습니다. 문자열을 어떻게 현지화 할 수 있습니까?

+3

+1이 간단하면서도 멋진 아이디어는 모든 파일을 1 파일로 유지하고 코드를 읽기 쉽도록 만드는 것입니다. 아직도이 방법에 대한 단점이 있습니다. –

+0

아이디어가 좋았 기쁩니다 ... – cgossain

답변

6

나는 이것이 얼마나 간단한 지 깨달았습니다. 터미널 명령 genstrings *.m을 보면 .m 부분이 구현 파일을 자세히 보도록 지정하고 있습니다. #define을 가진 파일은 헤더 파일 (.h)이므로 genstrings *.h 명령을 사용하여 .strings 파일을 생성 할 수 있었고 정의가있는 파일의 이름을 "LocalizableStringDefinitions.m"으로 변경할 수있었습니다

관련 문제