2011-03-10 4 views
3

iPhone 앱을 현지화하고 있습니다. 내 문자열을 모두 Localizable.strings 파일에 저장하고 내 코드에서 NSLocalizedString을 통해 액세스합니다. 잘 작동합니다. 다음으로 About 상자로 사용하는 UIWebView이라는 파일이 들어있는 info.html 파일이 있습니다. 언어 폴더 (en.lprojde.lproj)에 넣은 다음 Xcode의 내 리소스에 추가했습니다. 이제 Simulator에서 문자열과 html 파일이 모두 적절한 언어로 표시됩니다. 그러나 장치에서 문자열은 현지화 된 것처럼 보이지만 html 파일은 번역되지 않은 상태로 유지됩니다.iOS 현지화 불일치

이것은 시뮬레이터와 장치 사이에 이상한 불일치입니다! 아무도 해결 방법을 알고 있습니까? (... 현지화 시스템을 무시하고 de_info.html, en_info.html 등을 수동으로 호출하려면 NSLocalizedString을 사용하는 것 외)

답변

7

먼저 앱을 삭제 해보세요.

Xcode를 사용하여 장치 (또는 시뮬레이터)에 배포하면 리소스가 추가되고 제거되지는 않습니다.
대부분 세 개의 html 파일을 가지고 있습니다. 하나는 de 폴더에 있으며, 하나는 en 폴더에 있고 다른 하나는 루트 폴더에 있습니다.

그리고 iOS가 있으면 루트 폴더에있는 것을 선호합니다.

일반적으로 프로젝트에서 리소스를 제거 (또는이 경우에는 그 주위에서 이동할 때처럼) 할 때 장치 또는 시뮬레이터에서 앱을 삭제해야합니다.

+1

Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. (보통 30 분 동안 IKEA 설치 지침을 쳐다 본 후 소리가납니다.) 대단히 감사합니다. –

4

또 다른 추가 사항 : 나는 현재의 빌드 디렉토리에서 앱을 제거하여 작동되도록해야했습니다. 그렇지 않으면 기기의 삭제 된 앱이 잘못된 버전으로 다시 교체되었습니다.

XCode에서 '빌드'메뉴의 'alt'키를 누르면 전체 빌드 디렉토리를 지울 수 있습니다.

결국 문제가 해결되었습니다. 한숨 ...

+0

+1 "Build Build Folder"옵션을 언급합니다. 동일한 문제가 발생하여 시뮬레이터에서 앱을 삭제하는 간단한 'Clean'+ XIB 현지화를 제거한 후에도 문제가 해결되지 않은 것으로 보입니다. 이것은 나를 위해 문제를 해결했다. – ig2r