2012-08-06 2 views
0

새 Xcode 프로젝트를 만들고 문자열 로컬 리 제이션을 설정하려고합니다.추가 로컬 리 제이션을 추가 할 때 IOS 문자열 현지화가 작동하지 않습니다.

나는 라는 새 파일 추가 "다음과 같은 내용으로 'localization.strings을

."로그인 "="영어 텍스트 2 "나는이 프로젝트> 정보로 두 번째 현지화를 추가 한

Xcode 최신 버전의 섹션

다음은 오른쪽에있는 상자를 선택하여 localization.strings 파일에 프랑스어를 추가합니다.이 파일이 추가되면 응용 프로그램을 실행/빌드 할 수 있지만이 파일에는 더 이상 링크가 없습니다 .

예를 들어 위의 영어 버전을 "testing text eng"로 업데이트하면 원래 영어 텍스트 2가 계속 표시됩니다.

왜 이런 일이 발생할 수 있습니까? 앱이 너무 커서 게시 할 수 없으며 빌드 오류가 없으며 파일이 손상되거나 누락되거나 잘못된 인코딩이 아닙니다.

+0

localization.stings 파일에서 현지화 ...를 클릭하면 문제가 발생합니다. 일단이 문자열을 클릭하면이 파일에 링크되지 않습니다. – StuartM

답변

5

깨끗한 빌드를하고 시뮬레이터 및/또는 장치에서 앱을 삭제해야합니다. 그러면 모든 것이 작동합니다. 이 작업은 한 번만하면됩니다.

현지화를 추가하기 전에 문자열 파일이 애플리케이션 번들의 루트에 저장됩니다 (예 : MyApp.app/Localizable.strings. 그러면 앱을 실행할 때 시뮬레이터 및/또는 장치에 복사됩니다.

현지화를 추가하면 파일 내용이 MyApp.app/en.lproj/Localization.stringsMyApp.app/fr.lproj/Localization.strings과 같은 현지화 관련 하위 디렉토리로 이동됩니다. 하지만 루트 번들에있는 이전 파일은 여전히 ​​시뮬레이터와 장치에 매달려 있으며 다른 파일보다 먼저 발견됩니다. 그래서 깨끗한 빌드를하고 시뮬레이터와 장치에서 응용 프로그램을 삭제하면 오래된 파일이 삭제됩니다.

+0

이 앱의 시뮬레이터에서만 테스트하고 있습니다. 시뮬레이터를 리셋하고 xcode를 완전히 다시 시작한 다음 새 빌드를 실행했지만 이전 텍스트는 계속 표시됩니다. 나는 또한 프로젝트에서 완전히 localization.string 파일을 완전히 제거했습니다. 그래서 더 이상 없습니다. 레이블은 여전히 ​​어딘가에 여전히 캐시 된 것처럼 "English Test2"라고 읽습니다. – StuartM

+0

시뮬레이터를 깨끗한 상태로 재설정해야합니다. alt 키를 누른 상태에서 "Product-> Clean Build Folder"를 선택하여 완전하게 청소하십시오. –

+0

굉장, 깨끗한 빌드 폴더가 치료를했습니다. 덕분에 – StuartM

0

발생할 수있는 유일한 문제는 아닙니다. 나는 다른 케이스, 즉 "Localizable.strings"같은 이름을 가진 두 개의 파일을 만난다. 하나는 라이브러리 폴더에 있고 다른 하나는 기본 프로젝트 폴더에 있습니다. 로컬 리 제이션 시스템은 둘 중 하나만 사용했습니다. 불필요한 부분을 삭제하여 문제를 해결했습니다.

관련 문제