문제

프로젝트 내의 여러 대상에 대해 하나의 기본 localized.strings 파일을 갖고, 각 대상에 대해 개별 값을 재정의하고 기본 파일에 추가하는 두 번째 localized.string 파일을 가질 수 있는 방법이 있습니까?

편집하다

내 앱에 Localized.string 및 Override.strings라는 두 개의 .strings 파일이 있기를 원합니다.문자열 Title.Welcome이 OverrideLocalized.strings에 없으면 앱이 Localized.strings에서 Title.Welcome을 검색하도록 하고 싶습니다.기본적으로 Localized를 폴백으로 지정하지만 기본적으로 OverrideLocalized.strings를 사용합니다.

도움이 되었습니까?

해결책

내가 찾은 해결책은 다음과 같습니다.

NSString *PSILocalizedString(NSString *key, NSString *comment)
{
    return NSLocalizedStringWithDefaultValue(key,
                                             @"OverrideLocalizable",
                                             [NSBundle mainBundle],
                                             NSLocalizedString(key, nil),
                                             comment);
}

이것이 할 일은 다음과 같은 파일을 검색하는 것입니다. OverrideLocalizable.strings 위해 key.다음에 대한 값이 key 에서 발견되지 않습니다 OverrideLocalizable.strings, 검색됩니다 localizable.strings ~을 위한 key. NSLocalizedString(key, nil) 기본적으로 검색됩니다 localizable.strings

매우 간단하고 우아한 솔루션

다른 팁

Swift 4 사용자 가이 문제를 해결합니다 ...

    func get_overridable_string_for_key(string_key: String)-> String{
    return NSLocalizedString(string_key, tableName: "OverrideLocalizable", bundle: Bundle.main, value: NSLocalizedString(string_key, comment: ""), comment: "");
}
.

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