`
beike
  • 浏览: 362875 次
社区版块
存档分类
最新评论

iPhone中使用NSLocalizedString实现国际化

阅读更多

http://www.voland.com.cn/iphone-use-nslocalizedstring-internationalization

iPhone中使用NSLocalizedString实现国际化

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

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; 
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对应
//第二个是对第一个参数的注释,一般可以为空串
[_alertView setTitle:NSLocalizedString(@"Submitted successfully",@"")];

四、使用Terminal的genstrings命令进行生成资源文件
打开Terminal,然后cd到工程所在的目录,然后使用genstrings来生成自动从源代码中生成资源文件.
例如,项目的目录为:/user/project/test01,则命令如下:

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

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

"Submitted successfully" = "提交成功"

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

 

分享到:
评论

相关推荐

    liushuai#ddDoc#iPhone中使用NSLocalizedString实现国际化1

    一、获取系统所支持的国际化信息 二、在Xcode中建立多语言文档 三、在源代码中使用NSLocalizedString来引用国际化文件 四、使用Terminal

    iOS开发------程序实现国际化Localizable - iPhone手机开发技术文章 - 红黑联盟1

    Localizable是iOS开发中实现国际化的一种方法,本文主要介绍了Localizable的实现方法和步骤。 Localizable是iOS开发中的一种资源文件,用于存储应用程序的字符串资源。通过使用Localizable,开发者可以轻松地实现...

    ios国际化 多语言支持

    下面是使用多语言支持来实现国际化的步骤: 1. 新建 Windows-base Application,打开 main.m 文件,在 main 函数中增加代码来获取用户默认信息和 iPhone 支持的所有语言设置。 2. 在 Resources 上右键,Add -> New...

    3分钟实现iOS语言本地化 - 国际化(图文详解) - CocoaChina_让移动开发更简单1

    本文将详细介绍如何在 3 分钟内实现 iOS 语言本地化,涵盖了国际化的概念、实现步骤和相关技术细节。 国际化概念 国际化是指使软件系统能够适应不同语言和地区的需求,使其能在全球范围内使用。国际化的目的是使...

    【工具】-iPhone Font Browser.7z

    7. **国际化与本地化**:作为一个面向全球用户的工具,它可能还考虑了字体的国际化和本地化问题,这包括使用`NSLocalizedString`进行字符串的本地化,以及处理多语言环境下的字体显示。 8. **代码结构**:良好的...

    ios应用源码之一些iphone开源项目代码unicode 2018127

    4. **国际化和本地化**: iOS提供了一系列框架,如`Foundation`中的`NSLocalizedString`和`NSBundle`,用于实现应用的国际化和本地化。这包括对Unicode文本的支持,使得应用可以根据用户的设备设置显示正确的语言。 ...

    IOS应用源码——一些iPhone开源项目代码Unicode.rar

    6. **国际化与本地化**:Unicode是实现应用国际化的重要部分,它允许你创建支持多种语言的应用。使用`NSLocalizedString`宏和Localizable.strings文件可以方便地管理不同语言的文本资源。 7. **Unicode转义序列**:...

    iphone版暖靴GO产品

    5. **本地化和国际化**:如果应用支持多语言,源码可能会涉及NSLocalizedString和Localizable.strings文件,这是实现应用内容根据不同地区自动调整的关键。 6. **Core Data** 或 **SQLite**:为了存储用户偏好或...

    IOS应用源码之amatig-babel4iphone-732eed0.zip

    这个项目可能是一个语言翻译或国际化工具,因为"Babel"在软件开发中通常与多语言支持相关,暗示了该应用可能涉及不同语言之间的转换。源码分析将有助于我们深入理解其工作原理和实现方式。 1. **iOS 应用程序开发**...

    IOS应用源码之【应用】iPhone日历控件.rar

    9. **国际化和本地化**:考虑到全球用户,日历控件可能支持多语言。开发者会使用Localizable.strings文件和`NSLocalizedString`宏来实现这一点。 10. **动画效果**:为了让用户界面更生动,开发者可能会添加一些...

    ios源码之超炫的电子书书架管理工具应用.rar

    10. **国际化和本地化**:为了适应全球用户,应用可能包含了多语言支持,使用NSLocalizedString进行字符串的本地化处理。 11. **代码组织和架构**:良好的代码结构和遵循MVC(Model-View-Controller)设计模式,有...

    ios-下拉刷新.zip

    开发者可以通过`NSLocalizedString`关键字实现国际化。 8. **适配不同设备和方向** 考虑到不同设备的屏幕尺寸(如iPhone和iPad)以及横竖屏切换,下拉刷新的设计应能适应这些变化,确保视觉一致性。 9. **测试与...

    IOS开发工程师面试常见问题

    国际化和本地化是iOS应用设计的重要组成部分。通过使用`NSLocalizedString`函数进行字符串资源的提取和加载,可以轻松实现多语言支持。对于日期格式和货币单位,则可以利用`NSDateFormatter`和`NumberFormatter`等类...

Global site tag (gtag.js) - Google Analytics