본문 바로가기
프로그래밍/iOS

문자열 지역화

by 백룡화검 2012. 2. 17.
@implementation Language

static NSBundle *bundle = nil;

+(void)initialize {
 
NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
 
NSArray* languages = [defs objectForKey:@"AppleLanguages"];
 
NSString *current = [[languages objectAtIndex:0] retain];
 
[self setLanguage:current];

}

/*
  example calls:
  [Language setLanguage:@"it"];
  [Language setLanguage:@"de"];
*/

+(void)setLanguage:(NSString *)l {
 
NSLog(@"preferredLang: %@", l);
 
NSString *path = [[ NSBundle mainBundle ] pathForResource:l ofType:@"lproj" ];
 bundle
= [[NSBundle bundleWithPath:path] retain];
}

+(NSString *)get:(NSString *)key alter:(NSString *)alternate {
 
return [bundle localizedStringForKey:key value:alternate table:nil];
}

@end
link|improv