统一语言值
This commit is contained in:
@@ -60,6 +60,9 @@ extern NSString * const KBLocalizationDidChangeNotification;
|
|||||||
/// 基于一组“偏好语言”计算最佳支持语言。
|
/// 基于一组“偏好语言”计算最佳支持语言。
|
||||||
- (KBLanguageCode)bestSupportedLanguageForPreferred:(NSArray<NSString *> *)preferred;
|
- (KBLanguageCode)bestSupportedLanguageForPreferred:(NSArray<NSString *> *)preferred;
|
||||||
|
|
||||||
|
/// 当前请求使用的语言标识(与 Accept-Language 保持一致)。
|
||||||
|
- (NSString *)currentLanguageHeaderValue;
|
||||||
|
|
||||||
- (void)reloadFromSharedStorageIfNeeded;
|
- (void)reloadFromSharedStorageIfNeeded;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -159,6 +159,10 @@ static inline NSMutableDictionary *KBLocBaseKCQuery(void) {
|
|||||||
return self.supportedLanguageCodes.firstObject ?: KBLanguageCodeEnglish;
|
return self.supportedLanguageCodes.firstObject ?: KBLanguageCodeEnglish;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (NSString *)currentLanguageHeaderValue {
|
||||||
|
return self.currentLanguageCode ?: KBLanguageCodeEnglish;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - 内部实现
|
#pragma mark - 内部实现
|
||||||
|
|
||||||
- (void)applyLanguage:(NSString *)code {
|
- (void)applyLanguage:(NSString *)code {
|
||||||
|
|||||||
@@ -490,17 +490,7 @@ NSString * const KBUserCharacterDeletedNotification = @"KBUserCharacterDeletedNo
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)fetchCancelAccountWarningWithCompletion:(KBCancelAccountAgreementCompletion)completion {
|
- (void)fetchCancelAccountWarningWithCompletion:(KBCancelAccountAgreementCompletion)completion {
|
||||||
KBLanguageCode langCode = [KBLocalizationManager shared].currentLanguageCode;
|
NSString *locale = [[KBLocalizationManager shared] currentLanguageHeaderValue];
|
||||||
NSString *locale = @"en-US";
|
|
||||||
if ([langCode isEqualToString:KBLanguageCodeTraditionalChinese]) {
|
|
||||||
locale = @"zh-TW";
|
|
||||||
} else if ([langCode isEqualToString:KBLanguageCodeSpanish]) {
|
|
||||||
locale = @"es-ES";
|
|
||||||
} else if ([langCode isEqualToString:KBLanguageCodeIndonesian]) {
|
|
||||||
locale = @"id-ID";
|
|
||||||
} else if ([langCode isEqualToString:KBLanguageCodePortuguese]) {
|
|
||||||
locale = @"pt-PT";
|
|
||||||
}
|
|
||||||
|
|
||||||
[[KBNetworkManager shared] GET:API_CANCEL_ACCOUNT_WARNING
|
[[KBNetworkManager shared] GET:API_CANCEL_ACCOUNT_WARNING
|
||||||
parameters:@{@"locale": locale}
|
parameters:@{@"locale": locale}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ NSErrorDomain const KBNetworkErrorDomain = @"com.company.keyboard.network";
|
|||||||
_enabled = NO; // 键盘扩展默认无网络能力,需外部显式开启
|
_enabled = NO; // 键盘扩展默认无网络能力,需外部显式开启
|
||||||
_timeout = 10.0;
|
_timeout = 10.0;
|
||||||
|
|
||||||
NSString *lang = [KBLocalizationManager shared].currentLanguageCode ?: KBLanguageCodeEnglish;
|
NSString *lang = [[KBLocalizationManager shared] currentLanguageHeaderValue];
|
||||||
|
|
||||||
// 如果还有 query 参数也塞进来
|
// 如果还有 query 参数也塞进来
|
||||||
// signParams[@"lang"] = @"zh";
|
// signParams[@"lang"] = @"zh";
|
||||||
@@ -65,7 +65,7 @@ NSErrorDomain const KBNetworkErrorDomain = @"com.company.keyboard.network";
|
|||||||
NSMutableDictionary<NSString *, NSString *> *headers =
|
NSMutableDictionary<NSString *, NSString *> *headers =
|
||||||
[self.defaultHeaders mutableCopy] ?: [NSMutableDictionary dictionary];
|
[self.defaultHeaders mutableCopy] ?: [NSMutableDictionary dictionary];
|
||||||
// 每次请求动态更新 Accept-Language,确保语言切换后生效
|
// 每次请求动态更新 Accept-Language,确保语言切换后生效
|
||||||
headers[@"Accept-Language"] = [KBLocalizationManager shared].currentLanguageCode ?: KBLanguageCodeEnglish;
|
headers[@"Accept-Language"] = [[KBLocalizationManager shared] currentLanguageHeaderValue];
|
||||||
[headers addEntriesFromDictionary:signHeaders ?: @{}];
|
[headers addEntriesFromDictionary:signHeaders ?: @{}];
|
||||||
self.defaultHeaders = headers;
|
self.defaultHeaders = headers;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user