2009-06-28 2 views
2

iPhone 소프트웨어 지역화, genstrings ruby ​​스크립트를 사용하여 문자열 파일 만들기, 모든 nib 파일 현지화에 대한 Apple의 설명서를 읽었습니다. 나는 또한 애플의 메시지 보드와 그물 주변에서 해결책을 찾으려고 노력했다.코코아 터치 (CocoaTouch) : 언어가 임의로 변경되는 지역화 된 응용 프로그램

내가 모든 문자열 파일을 UTF-16, 그리고 UTF-16 '문자열 파일 출력 인코딩을'설정 내 빌드를 변경해야했으나, 현지화가 비록

스위칭 유지 시뮬레이터 및 장치에 모두있다
NSArray* languages = [[NSBundle mainBundle] preferredLocalizations]; 
NSString* preferredLang = [languages objectAtIndex:0]; 

은 사용자가 선택한 언어를 올바르게 출력합니다. 누락 된 것이 있습니까? 아니면 그냥 버그입니까?

+0

어떻게 전환하나요? 모든 것이 주어진 언어로 같은 언어로 나옵니까? 지역화 된 문자열을로드하기 위해 어떤 코드를 사용하고 있습니까? –

+0

두 개의 문자열 파일을 가지고 있는데 하나는 de.lproj 폴더에 있고 다른 하나는 en.lproj에 있으며 그 폴더에는 Localizable.strings 폴더 (같은 이름 (문제 일 수 있음))가 있습니다. 해당 폴더 안에는 각각 de, en이라는 이름의 파일이 있습니다. 그 파일 안에는 문자열이 있습니다. 언어는 각 실행 중에 일관성이 있으며, 임의로 하나를 선택합니다. 나는 NSLocalizedString (@ "stringhandle", nil)을 사용하고있다. –

답변

2

프로젝트에서 폴더를 제거하고 (참조 만 삭제) en.lproj 폴더의 localizable.strings 파일을 폴더가 아닌 프로젝트에 추가하십시오. 파일을 마우스 오른쪽 버튼으로 클릭하고 정보 가져 오기를 클릭 한 다음 해당 지역화를 추가하십시오. 네가 원해. 이제 localizable.strings 파일에 en과 de가 표시됩니다. 이제 프로젝트를 실행하십시오. 나를 위해 일했다!