IOS7 国际化

一、程序名国际化

1、首先添加应用对多语言支持的国际化文件

点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizations,点击“+”号,可以添加国际化文件,例如添加一个简体中文Chinese(Simplified),弹出对话框后点击确定,此时在Supporting Files文件组下的InfoPlist.strings下会有两个文件,InfoPlist.strings(English)和InfoPlist.strings(Chinese(Simplified))。

2、在相应语言的国际化文件中添加相应的语言内容:

例如在英文国际化文件InfoPlist.strings(English)中添加:
CFBundleDisplayName="app name";
在中文国际化文件InfoPlist.strings(Chinese(Simplified))中添加:
CFBundleDisplayName="应用名称";


则应用的名称会根据系统当前的语言环境,按照相应的国际化文件中指定的CFBundleDisplayName来显示指定的名称

 

二、内容国际化
1、首先添加应用对多语言支持的国际化文件
如果在程序名国际化中已经添加好,则此步骤可以省略
点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizations,点击“+”号,可以添加国际化文件,例如添加一个简体中文Chinese(Simplified),弹出对话框后点击确定,此时在Supporting Files文件组下的InfoPlist.String下会有两个文件,English和Simplified。

2、添加多个语言的国际化文件
New File… -->iOS-->Resource-->Strings File,添加文件:Localizable.strings(文件名必须是该名字,否则无法识别),然后点击文件,在右侧的文件属性列表栏中的,点击Localization按钮,在弹出的对话框中,选择支持的语言,默认是English(或base),点击确定则添加了对English的支持。那么如何添加对Chinese(Simplified)的关联呢?点击Localizable.strings文件,在Xcode右侧对应的文件属性列表栏中的Localization将English和Chinese(Simplified)两个选项都勾选即可,此时会看到Localizable.strings文件可以展开,其下有Localizable.strings(English)和Localizable.strings(Chinese(Simplified))。


3、添加国际化内容
例如在Localizable.strings (English)中添加:
"loading" = "Loading…";

在Localizable.strings (Chinese(Simplified))中添加:
"loading" = "加载中…";


注意不要漏掉;(分号)

4、使用国际化

//系统会根据当前设备的语言环境来判断使用英文还是中文
NSString *loading = NSLocalizedString(@"loading",@"");

获取系统支持的所有语言
NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ]; 
//取得iPhone支持的所有语言设置 
NSArray *languages = [defaults objectForKey : @"AppleLanguages" ]; 
NSLog ( @"%@" , languages);

获取当前使用语言
NSArray *languages = [NSLocale preferredLanguages]; 
NSString *currentLanguage = [languages objectAtIndex:0]; 
NSLog ( @"%@" , currentLanguage);

用获取到的当前语言,和支持的语言做字符串对比,就可以知道是那种语言了。
if([currentLanguage isEqualToString:@"en"]) 

    NSLog(@"current Language:en"); 
} 

posted on 2013-11-04 21:33  星期天  阅读(560)  评论(0)    收藏  举报

导航