2016-10-25 1 views
0

현지화를 위해 iOS 앱에서 stringsdict 기능을 사용하고 있습니다. 앱이 영어로되어 있고 프랑스어로 현지화되어 있습니다. 따라서 나는 번역을위한 영어 버전과 프랑스어 버전을 가지고있다.iOS Stringsdict fallback

사용자가 내 언어를 스페인어 등 다른 언어로 설정 한 경우 앱에서 기본 현지화 (영어)를 올바르게 사용합니다. 그러나, 내가 프랑스어에 존재하지 않는 내 기본 stringsdict에있는 항목이 있다고 가정합니다. 여기에서 문자열은 키로 나옵니다 (즉, stringsdict 파일에서 조회하지 않음). 핵심 기반의 키에 기본 문자열을 대체 할 수있는 방법이 있습니까? 해당 로케일의 문자열이 존재하지 않는 경우에만 해당합니다.

답변

0

NSLocalizedString을 래핑하고 값을 키와 비교할 수 있습니다. 그것이 열쇠라면 당신은 fallback.strings 번들 밖으로 파일을 번역 밖으로 잡을 수 있습니다.

- (NSString *)localizedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1); 

다른 옵션은 번역 파일에 대한 영어 파일의 중복으로 시작하여 단편적으로 바꾸는 것입니다.

어느 쪽도 이상적이지 않습니다. 그러나 래핑 옵션은 더 나은 확장 성을 가지며 앞으로 방언으로 도움이 될 것입니다.