您的位置:首页 > 移动开发

app国际化

2016-03-15 19:51 323 查看

app国际化

字符串资源文件默认命名为Localizable.strings

一、IOS程序名称国际化

在新建InfoPlist.strings文件,在Localization栏添加语言 ,在不同语言中配置 CFBundleDisplayName=”China”;

例如中文 CFBundleDisplayName=”中国”;

二、内容国际化

1、系统:创建Localizable.strings,然后添加语言

格式:“key”=“value”; //分号不能少

调用时NSLocalizedString(key,comment);

例如: NSLocalizedString(@”one”, nil);

2、自定义:当文件名不是Localizable时,例如:example.strings

格式也一样,但是调用时是:

NSLocalizedStringFromTable(<#key#>, <#tbl#>, <#comment#>)

例:NSLocalizedStringFromTable(@”one”, @”Localization”, nil);

三、图片国际化

1、可以再Localizable.strings中不同的语言设置不同的图片名,获取不同的图片名即可

例如:

Localizable.strings(english)文件中加入:

“BtnCancel”=”BtnCancelEn.png”;

Localizable.strings(chinese)文件中加入:

“BtnCancel”=”BtnCancelCn.png”;

2、第二种方法

选中图片,然后XCode-> View-> Utilities -> File Inspector,点击Localizable本地化,然后添加语言,在不同的lproj文件夹中替换不同的图片即可

四、其他国际化

和图片的第二种方法一样

五、获取支持的语言

两种方法

1、NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

NSArray *languages = [user objectForKey:@“AppleLanguages”];

NSLog ( @”%@” , languages);

2、NSArray *languages = [NSLocale preferredLanguages];

获取当前语言,在数组中第一个元素就是 languages[0]

六、storyboard与xib国际化

设置好语言后,点击storyboard,在第一个选项(Show the file)的Localization中勾上需要的语言

选中需要设置的控件,在第三个选项(Show the identity)中,在Document栏记录下设备的Object ID 如:

然后分别在不同的语言文件中,配置响应属性,如:label控件 “label.text” = “hello”; “textField.placeholder” = “please enter”;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 国际化