12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- //
- // NSBundle+MJRefresh.m
- // MJRefreshExample
- //
- // Created by MJ Lee on 16/6/13.
- // Copyright © 2016年 小码哥. All rights reserved.
- //
- #import "NSBundle+MJRefresh.h"
- #import "MJRefreshComponent.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;
- }
- + (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) {
- // (iOS获取的语言字符串比较不稳定)目前框架只处理en、zh-Hans、zh-Hant三种情况,其他按照系统默认处理
- NSString *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 {
- 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
|