浅谈iPhone中使用NSLocalizedString实现国际化

移动开发 iOS
本文介绍的是iPhone中使用NSLocalizedString实现国际化,主要讲述用代码来测试一下你的iphone都支持哪些语言,先来看内容。

浅谈iPhone中使用NSLocalizedString实现国际化是本文要介绍的内容,不多说,我们先来看内容。

一、获取系统所支持的国际化信息

国际化之前,你可以在iphone中的”设置->通用->多语言环境->语言”中来查看你的iphone支持哪些语言,当然也可以写一段代码测试一下你的iphone都支持哪些语言.测试代码如下:

  1. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];   
  2. NSArray *languages = [defaults objectForKey:@"AppleLanguages"];   
  3. NSLog(@"%@", languages); 

注:NSUserDefaults类用来取得用户人默认信息.

二、在Xcode中建立多语言文档

1.在Resources分类下新建文档(右鍵/Add/New File…)

2.在模板对话框中选择Other,然后再选择Strings File

3.将文件保存名设置为Localizable.strings

4.在Localizable.strings 文件上按右键并选择 Get Info

5.点击信息界面的Make File Localizable,然后再将Tab标签切换到General

6.输入新的语言名称 zh 後按 Add,些时有English与zh两种语言,你还可以增加其它语言.

三、在源代码中使用NSLocalizedString来引用国际化文件

//括号里***个参数是要显示的内容,与各Localizable.strings中的id对应

//第二个是对***个参数的注释,一般可以为空串

  1. [_alertView setTitle:NSLocalizedString(@"Submitted successfully",@"")]; 

四、使用Terminal的genstrings命令进行生成资源文件

打开Terminal,然后cd到工程所在的目录,然后使用genstrings来生成自动从源代码中生成资源文件.

例如,项目的目录为:/user/project/test01,则命令如下:

  1. genstrings -o English.lproj  ./classes/*.m  
  2. genstrings -o zh.lproj  ./classes/*.m 

五、编辑各Localizable.strings文件

从第四步中得到了与代码对应的资源文件,***我们需要对这些资源文件翻译成对应的语言就可以了.如在Localizable.strings(zh)中,把等号后的文字进行编译成中文.

  1. "Submitted successfully" = "提交成功" 

重新编译整个工程后,就会在不同的语言环境下得到相应的语言显示.

小结:浅谈iPhone中使用NSLocalizedString实现国际化的内容介绍完了,希望本文对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-11 13:26:30

iPhoneNSLocalized

2011-07-08 11:13:42

Cocoa Touch XCode

2011-08-18 15:24:40

iPhone国际化

2009-01-19 09:06:31

gettextPHP国际化编程

2010-01-04 13:09:51

Silverlight

2009-12-29 15:05:29

WPF支持国际化

2024-01-17 10:16:22

前端国际化消息键

2023-01-31 10:29:26

JavaScript国际化国际化库

2011-04-22 09:46:59

ASP.NET

2024-04-03 13:27:28

Next.js扩展项目

2009-06-25 16:04:30

2011-08-19 13:13:14

struts2Java

2011-05-17 09:39:38

JavaSE

2023-04-07 15:12:46

ReactReact-Intl

2009-02-04 15:04:13

2024-09-04 10:27:53

2011-08-18 13:58:34

iPhone开发NSOperation异步

2024-05-17 08:25:06

数据驱动React语言包

2011-08-29 09:48:30

springMVC

2010-07-28 14:52:29

Flex国际化
点赞
收藏

51CTO技术栈公众号