指定した言語の文字列をローカライズするためのカテゴリクラスを使用して、現在の言語を自動的に検出してローカライズすることをお勧めします。
あなたは直接の文の下に使用してローカライズされた値にアクセスすることができます名前 RunTimeLanguage
.hファイルで
#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ファイル
#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
をカテゴリクラスを作成します。
NSLocalizeString(@"yourText", nil)
「言語」には何がありますか? – zaph
私はいつも "en"を得る。 実際に私はドイツ語でアプリを実行するので、私は取得する必要があります: "デ"。 – EANicolas1
多分、次のバグに関係しています。http://stackoverflow.com/questions/33017981/ios-localization-doesnt-work-with-more-than-63-files?newreg=5def7e334c554377be788b1ce2eace3e –