2022-08-03 iOS MJRefresh下拉文字的處理:對應(yīng)應(yīng)用內(nèi)切換的語言

Xcode全局搜索這個類方法,根據(jù)應(yīng)用當(dāng)前語言的本地標(biāo)識,在對應(yīng)的位置設(shè)置語言。

Podfile中寫出對應(yīng)版本號 :pod 'MJRefresh', '~> 3.7.5'

+ (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value

{
    static NSBundle *bundle = nil;

    //注釋掉判斷 因為應(yīng)用內(nèi)部可以隨時切換語言
    //if (bundle == nil) {
#if 1
       //獲取切換所選擇的語言
       NSString *language = [[NSUserDefaults standardUserDefaults] objectForKey:@"DE_LANGUAGE"];
#else
//        //(iOS獲取的語言字符串比較不穩(wěn)定)目前框架只處理en、zh-Hans、zh-Hant三種情況,其他按照系統(tǒng)默認(rèn)處理
//        NSString *language = [NSLocale preferredLanguages].firstObject;
#endif
        if ([language hasPrefix:@"en"]) {
            language = @"en";
        } else if ([language hasPrefix:@"zh"]) {
            if ([language rangeOfString:@"Hans"].location !=NSNotFound) {
                language =@"zh-Hans"; //簡體中文
            } else { // zh-Hant\zh-HK\zh-TW
                language =@"zh-Hant"; //繁體中文
            }
        } else {
            language =@"en";
        }
        //從MJRefresh.bundle中查找資源
        bundle = [NSBundle bundleWithPath:[[NSBundle mj_refreshBundle] pathForResource:language ofType:@"lproj"]];

    //}

    value = [bundle localizedStringForKey:key value:value table:nil];
    return [[NSBundle mainBundle] localizedStringForKey:key value:value table:nil];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容