Преглед изворни кода

本地化修改

1.删除不必要的lproj
2.简化本地化代码
MJ Lee пре 9 година
родитељ
комит
58138db17a

+ 9 - 15
MJRefresh/Base/MJRefreshComponent.m

@@ -140,26 +140,20 @@ - (NSString *)localizedStringForKey:(NSString *)key{
 - (NSString *)localizedStringForKey:(NSString *)key withDefault:(NSString *)defaultString
 {
     static NSBundle *bundle = nil;
-    if (bundle == nil)
-    {
-        NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"MJRefresh" ofType:@"bundle"];
-        
-        bundle = [NSBundle bundleWithPath:bundlePath];
-        NSString *language = [[NSLocale preferredLanguages] count]? [NSLocale preferredLanguages][0]: @"en";
+    if (bundle == nil) {
+        // 获得设备的语言
+        NSString *language = [NSLocale preferredLanguages].firstObject;
+        // 如果是iOS9以上,截取前面的语言标识
         if ([UIDevice currentDevice].systemVersion.floatValue >= 9.0) {
             NSRange range = [language rangeOfString:@"-" options:NSBackwardsSearch];
             language = [language substringToIndex:range.location];
         }
-        if (![[bundle localizations] containsObject:language])
-        {
-            language = [language componentsSeparatedByString:@"-"][0];
-        }
-        if ([[bundle localizations] containsObject:language])
-        {
-            bundlePath = [bundle pathForResource:language ofType:@"lproj"];
+        
+        // 先从MJRefresh.bundle中查找资源
+        NSBundle *refreshBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"MJRefresh" ofType:@"bundle"]];
+        if ([refreshBundle.localizations containsObject:language]) {
+            bundle = [NSBundle bundleWithPath:[refreshBundle pathForResource:language ofType:@"lproj"]];
         }
-
-        bundle = [NSBundle bundleWithPath:bundlePath] ?: [NSBundle mainBundle];
     }
     defaultString = [bundle localizedStringForKey:key value:defaultString table:nil];
     return [[NSBundle mainBundle] localizedStringForKey:key value:defaultString table:nil];

+ 0 - 16
MJRefresh/MJRefresh.bundle/ru.lproj/Localizable.strings

@@ -1,16 +0,0 @@
-"MJRefreshHeaderIdleText" = "Тяните чтобы обновить";
-"MJRefreshHeaderPullingText" = "Отпустите чтобы обновить";
-"MJRefreshHeaderRefreshingText" = "Загрузка...";
-
-"MJRefreshAutoFooterIdleText" = "Нажмите или тяните вверх чтобы загрузить больше";
-"MJRefreshAutoFooterRefreshingText" = "Загрузка...";
-"MJRefreshAutoFooterNoMoreDataText" = "Больше нет данных";
-
-"MJRefreshBackFooterIdleText" = "Тяните вверх чтобы загрузить больше";
-"MJRefreshBackFooterPullingText" = "Отпустите чтобы загрузить больше";
-"MJRefreshBackFooterRefreshingText" = "Загрузка...";
-"MJRefreshBackFooterNoMoreDataText" = "Больше нет данных";
-
-"MJRefreshHeaderLastTimeText" = "Последнее обновление:";
-"MJRefreshHeaderDateTodayText" = "Сегодня";
-"MJRefreshHeaderNoneLastDateText" = "Нет записей";