2015-09-25 32 views
5

iOS Apps oluşturmak beri/tercüme benim uygulamalar lokalize için aşağıdaki kodu kullanın:9/iOS 9.0.1

NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]; 
if ([language isEqualToString:@"de"]) { 
    // localized language 
} 
else { //base language 
} 

Ama iOS 9'a güncellemesinden bu yana bu kod yapar artık çalışmıyor Tüm uygulamalarım artık İngilizce’dir.

Uygulama mağazasında sahip olduğum uygulamalar ya da Simülatörde çalıştırdığım uygulamalar artık yerelleştirilmiyor. Ben sorunu çözmek olabilir iOS 9. yılında programlı

+0

Dil için ne elde edersiniz? – zaph

+0

Her zaman "en" alırım. Aslında uygulamayı Almanca olarak çalıştırıyorum, o yüzden "de" almalıyım. – EANicolas1

+0

Belki de aşağıdaki hatayla ilgili olabilir http://stackoverflow.com/questions/33017981/ios-localization-doesnt-work-with-more-than-63-files?newreg=5def7e334c554377be788b1ce2eace3e –

cevap

1

kodumu çevirmek için ne sen söylersin eğer

harika olurdu. Ben iOS 9.

[[NSBundle mainBundle] preferredLocalizations]; 
NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0]; 
     if ([language isEqualToString:@"de"]){ 
      // localization 
     } 
     else { 
      //base language 
     } 

altında yerelleştirme çalışır aşağıdaki kodu kullanırsanız

Bunu da, bazılarınız yardımcı olacağını umuyoruz.

0

Belirtilen dili otomatik olarak algılayan ve yerelleştiren belirtilen dil için Dizeleri Yerelleştirme için bir kategori sınıfı kullanmanızı öneririm.

doğrudan deyimi altında kullanılarak lokalize değere erişebilirsiniz Adı ​​ RunTimeLanguage

.h dosyası

#import <Foundation/Foundation.h> 

@interface NSBundle (RunTimeLanguage) 
#define NSLocalizeString(key, comment) [[NSBundle mainBundle] runTimeLocalizedStringForKey:(key) value:@"" table:nil] 
- (NSString *)runTimeLocalizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName; 

@end 

.m dosyası

#import "NSBundle+RunTimeLanguage.h" 

@implementation NSBundle (RunTimeLanguage) 
- (NSString *)runTimeLocalizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName 
{ 
    NSString *StrCurrentLang = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0]; 
    NSString *path= [[NSBundle mainBundle] pathForResource:StrCurrentLang ofType:@"lproj"]; 
    NSBundle *languageBundle = [NSBundle bundleWithPath:path]; 
    NSString *localizedString=[languageBundle localizedStringForKey:key value:key table:nil]; 
    return localizedString; 
} 
@end 

bir kategori sınıf oluşturun.