| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- //
- // NSBundle+MJRefresh.m
- // MJRefreshExample
- //
- // Created by MJ Lee on 16/6/13.
- // Copyright © 2016年 小码哥. All rights reserved.
- //
- #import "NSBundle+MJRefresh.h"
- #import "MJRefreshComponent.h"
- #import "MJRefreshConfig.h"
- @implementation NSBundle (MJRefresh)
- + (instancetype)mj_refreshBundle
- {
- static NSBundle *refreshBundle = nil;
- if (refreshBundle == nil) {
- // 这里不使用mainBundle是为了适配pod 1.x和0.x
- refreshBundle = [NSBundle bundleWithPath:[[NSBundle bundleForClass:[MJRefreshComponent class]] pathForResource:@"MJRefresh" ofType:@"bundle"]];
- }
- return refreshBundle;
- }
- + (UIImage *)mj_arrowImage
- {
- static UIImage *arrowImage = nil;
- if (arrowImage == nil) {
- arrowImage = [[UIImage imageWithContentsOfFile:[[self mj_refreshBundle] pathForResource:@"arrow@2x" ofType:@"png"]] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
- }
- return arrowImage;
- }
- + (UIImage *)mj_trailArrowImage {
- static UIImage *arrowImage = nil;
- if (arrowImage == nil) {
- arrowImage = [[UIImage imageWithContentsOfFile:[[self mj_refreshBundle] pathForResource:@"trail_arrow@2x" ofType:@"png"]] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
- }
- return arrowImage;
- }
- + (NSString *)mj_localizedStringForKey:(NSString *)key
- {
- return [self mj_localizedStringForKey:key value:nil];
- }
- + (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value
- {
- static NSBundle *bundle = nil;
- if (bundle == nil) {
- NSString *language = MJRefreshConfig.defaultConfig.languageCode;
- // 如果配置中没有配置语言
- if (!language) {
- // (iOS获取的语言字符串比较不稳定)目前框架只处理en、zh-Hans、zh-Hant三种情况,其他按照系统默认处理
- language = [NSLocale preferredLanguages].firstObject;
- }
-
- 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 if ([language hasPrefix:@"ko"]) {
- language = @"ko";
- } else if ([language hasPrefix:@"ru"]) {
- language = @"ru";
- } else if ([language hasPrefix:@"uk"]) {
- language = @"uk";
- } 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];
- }
- @end
|