iPhone多国语言版本


详细步骤:参看文档1)http://dev.iphonetw.net/thread-69-1-3.html

2)http://www.cocoachina.com/b/?p=161

3)nib文件:http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/XcodeProjectManagement/170-Localizing_Files/localizing.html#//apple_ref/doc/uid/TP40002683-CFHIFBGJ

4)default.png: http://discussions.apple.com/thread.jspa?messageID=9024384

1 iphone中如何本地化程序名称

详细步骤:

1)创建一个空文件,取名为InfoPlist.strings

2)对InfoPlist.strings进行本地化(Get Info -> Make Localization),然后设置需要的语言(如中文zh)

3)编辑不同的InfoPlist.strings文件,设置显示名字

CFBundleDisplayName = "名字";

4)编辑Info.plist,添加一个新的属性Application has localized display name, 设置其类型为boolean,并将其value设置为选中状态

 

2 如何本地化NIB资源文件:

(1)从nib文件里面提取可以被本地化的字符串。 可以通过如下的命令在终端里面处理:

ibtool --generate-stringsfile MyNib.strings MyNib.nib

(2)等翻译好了字符串以后,就需要通过ibtool去把字符串合并到.nib文件里面去。 具体的命令如下:

ibtool --strings-file MyNib.strings --write MyNewNib.nib MyNib.nib

 

3 获取设置里--国际化:是设置的什么语言:

NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
    NSArray* languages = [defs objectForKey:@"AppleLanguages"];
    NSString* preferredLang = [languages objectAtIndex:0];
    NSLog(@"preferredLang: %@", preferredLang);  //en  //zh-Hans

通过不同语言的设置,调用不用语言的数据库版本

 

上面这个方法有点笨,其实数据库也可以像上面一样本地化的,右击-get info-make localizabel

不过要注意的是:数据库文件不要直接在resources目录下,在resources目录下创建一个文件夹,然后把数据库放在这个文件夹下,就可以了,这样用

NSString *defaultDBPath = [[NSBundle mainBundle] pathForResource:@"database" ofType:@"sqlite"];

就可以自动获取英文工程或者中文工程的数据库。

出处:http://www.cnblogs.com/fairycao/archive/2011/02/11/1951153.html


你可能感兴趣的:(iPhone多国语言版本)