문제

나는 iPhone 현지화 문제가 있습니다. 나는 내 앱을 현지화하고 있었고 영어뿐만 아니라 단순화되고 전통적인 중국어가 잘 작동했습니다. 현지화 된 Localizable.Strings 및 Sounds.Plist의 두 파일이 있습니다. 두 파일의 문자열은 장치와 에뮬레이터에 올바르게 나타납니다.

어제 나는 스페인어, 이탈리아어 및 독일어를 추가하고 있습니다. 에뮬레이터에서 테스트하면 모든 것이 올바르게 표시됩니다. 그러나 장치에 배치하면 Localizable에 포함 된 문자열이 올바르게 표시되지만 Sounds.plist에 포함 된 문자열은 항상 영어로 표시됩니다. 중국어 끈조차도 올바르게 나타나지 않았습니다.

빌드를 청소하고 번역 된 텍스트를 사운드에 다시 복사하고 파일을 핵무기, LPROJ 폴더를 삭제하고 로컬라이즈를 제거하고 다시 시작했습니다.

Xcode에서 중단 점을 설정 했는데이 파일의 경우 LOC 폴더를 감지하지 못하는 것 같습니다. sounds.plist에서 문자열을로드하는 코드는 다음과 같습니다.

+ (NSDictionary*) getSounds
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"sounds" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
return dict;
}

파일 이름이 sounds.plist, 모두 소문자임을 확인했습니다. 이 시점에서 나는 상실하고 있습니다. 이런 경험이있는 사람이 있습니까? 누구든지 고치는 방법에 대한 제안이 있습니까?

감사!

업데이트: 시뮬레이터와 장치에서 다음 줄의 결과를 비교했습니다.

NSString *path = [[NSBundle mainBundle] pathForResource:@"sounds" ofType:@"plist"];

시뮬레이터에서 경로는 다음과 같이 올바르게보고됩니다. /users/steve/.../de.lproj/sounds.plist. 장치에서 경로는 /로보고됩니다.var/mobile /.../ sounds.plist. de.lproj는 경로에 있지 않습니다. 따라서로드 소리가납니다. 루트에서 플라이스트로 텍스트가 현지화되지 않은 이유를 설명합니다. 이제 내 질문은 코드가 로컬 폴더의 파일로가는 길을 가져 오지 않는 이유입니다.

도움이 되었습니까?

해결책 2

문제는 장치에서 무언가가 엉망 이었다는 것입니다. 주최자를 사용하여 장치에서 앱을 제거한 다음 Xcode를 통해 다시 설치했습니다. 이제 모든 것이 잘 작동합니다.

다른 팁

xcode의 sounds.plist 파일 옆에 확인이 있습니까? 디버그 또는 릴리스 모드에 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top