기본 localized.strings 파일 재정의
-
26-12-2019 - |
문제
프로젝트 내의 여러 대상에 대해 하나의 기본 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: "");
}
. 제휴하지 않습니다 StackOverflow