IOS应用的国际化

IOS应用的国际化,主要分为3个部分:

  • Info.plist 文件的国际化
  • .xib文件的国际化
  • .m文件的国际化

下面我就来一一说明。

Info.plist 文件的国际化
我们使用Xcode 4.5 创建一个新项目,会自动创建一个 en.lproj 目录,这个目录下存放的就是需要国际化的文件(默认为英文)。下面,我们还需要创建中文国际化支持。
1. 创建名为 zh-Hans.lproj 的目录
2. 在项目的 Info.plist 文件中增加配置 Localizations, 添加英文和中文的支持:English, Chinese(simplified)
3. 将 en.lproj/InfoPlist.strings 文件拷贝到 zh-Hans.lproj/InfoPlist.strings 文件中。
4. 将 zh-Hans.lproj 目录添加到项目。注意要选择 Add to targets
5. 选择 File -> Info -> Localization 为对应的语言
在 InfoPlist.strings 文件中,我们可以国际化一些应用信息,例如:
CFBundleDisplayName 应用显示名称。这样我们就可以根据不同的语言,显示不同语言的应用名。
更多字段信息,请参考
http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
的 Key Summary 部分。

.xib 文件的国际化
我们已经创建了一个英文的xib文件,在 en.lproj 文件下。然后,需要使用命令行来操作:
1. 将 .xib文件 中的文字提取,另存为 .strings文件。
ibtool --generate-strings-file MainViewController.strings MainViewController.xib
2. 将 MainViewController.strings 拷贝到 zh-Hans.lproj 目录下,然后汉化该文件中的文字
3. 执行命令,根据英文的 .xib文件 和 .strings汉化文件 生成一个汉化后的 .xib 文件
ibtool --strings-file zh-Hans.lproj/MainViewController.strings --write zh-Hans.lproj/MainViewController.xib en.lproj/MainViewController.xib
4. 将生成的这个 .xib 文件添加到项目中的 zh-Hans.lproj 分组下,注意要选择 Add to targets
5. 选择 File -> Info -> Localization 为对应的语言
至此,xib文件的汉化已经完成。

.m 文件的国际化
1. 代码中,凡是需要国际化的文字,都使用 NSLocalizedString 函数,例如 
NSLocalizedString(@"hello_world", @"Hello world!");
2. 执行命令,将所有 .m 文件中需要汉化的文字都提取出来,并放入 en.lproj 文件夹下
genstrings -o en.lproj *.m
此时,会自动生成 Localizable.strings 文件。接着将该文件也拷贝到 zh-Hans.lproj 文件夹下去。这个文件就是需要汉化的内容
3. 将 .strings 文件添加到项目中相应的汉化目录下,注意要选择 Add to targets
4. 选择 File -> Info -> Localization 为对应的语言
然后,我们运行程序,通过修改系统语言发现,文件显示名称、.xib文件 和 .m文件 都可以自动切换显示语言了。

http://blog.csdn.net/midfar/article/details/8165380

时间: 2024-11-07 04:37:04

IOS应用的国际化的相关文章

实现iOS语言本地化/国际化

实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用程序所展示的文字.图片等信息,能够让讲不同语言的用户读懂.看懂.进而提出为同一个应用程序适配多种语言,也即是国际化.语言国际化之所以又叫做语言本地化,这是站在每个用户的角度而言的,是指能够让用户本地.本土人群能够看懂的语言信息,顾名思义,语言本地化.其

IOS 应用程序国际化

一.什么是应用程序的国际化? 根据当前用户当前移动设备的语言自动将我们的app切换对应语言. 对于个人开发者而言国外市场比国内市场更加有价值些,毕竟国外的版权意识,付费理念较好些. 二.怎么做? 1.本地化应用程序名称 (1)应用程序名称的设置在 InfoPlist.strings文件中,而本地化的InofPlist.strings(simple Chinese)等在Xcode 5 之后只能在Project ->Info-> Localizations 中点击加号添加即可.操作如下图 (2)点

IOS中的国际化(一)

序言:IOS中,如果系统的语言或者地区变化了,我们怎样让App中显示的语言, 日期,数字,货币单位的格式随着变化呢?下面将介绍IOS中简单的国际化的方法: 在GitHub上下载一个需要国际化的工程:https://github.com/MikeFighting/Bilingual 打开这个工程你可以当看到如下的一个界面: 然后点开StoryBoard,你会发现里面的控件都非常简单.为了国际话,我们需要往项目中再添加一门语言.添加语言的方式是,Project--->Info--->Localiz

IOS开发之国际化篇第三章:故事版文本国际化

在IOS的开发过程中,很多时候组件都是拖拉出来,直接在故事版(storyboard)上直接使用,而并没有做输出关联,或者有些UILabel只做显示,不会进行修改.所以在这种不会在代码中修改的情况下,就需要用到故事版的国际化,如图 在xcode4.5之前,如果做故事版的国际化,是要维护多个storyboard,但在xcode4.5之后,国际化storyboard做国际化,就变成了一个storyboard,多个语言配置文件如图 其中Main.storyboard为真实的故事版文件,Main.stri

iOS 读书笔记-国际化

吐槽一下:国际化-我想说学习的这个工程好痛苦. 或许是百度的原因,总是不能找到自己想要东西.找到的内容不是不详细就是时间有点久了.让我这种小白很头痛. 下面记录一下整个过程. 国际化是什么 ? 说白了就是在不同的语言上APP上显示不同的文字,也就是说如果你是美国人系统语言是英语,那么APP就显示英语,如果你是中国人,那么APP就显示汉语. 我们首先来做国际化准备. 为了方便我们下面的演示,只添加一个简体中文就行了. 跳出下面界面 点击finish就行了,至于我们上面选对号的两个文件我们下面说.

IOS开发的国际化

一 app中内容的国际化 1 添加简体中文支持(默认只有英文) ? ? ? ? 在xcode的PROJECT->Info->Localizations下添加简体中文的支持. ? 2新建Strings File文件. ? 3 点击.string文件.点击右边栏中的Localization中的Localize...,选择相对应的中文. ? 4 在编写代码过程中.使用NSLocalizedString类的方法,进行国际化,例如: ? ? ? ? ?self.text = NSLocalizedStr

IOS开发之国际化篇第二章:文本信息国际化

本文是以XCode7.2.1为开发平台 在第一章中,我们基本了解了国际化是怎么一会事,介绍到有3种国际化,接下来的几章就会分别介绍这3种国际化,第一个是文本信息国际化 文本信息国际化包含一下几点 系统按钮和信息国际化 应用名称国际化 程序代码中输出的静态文本国际化 -系统按钮和信息国际化 系统本身会自带一些系统的信息,系统按钮等,这一些系统自带的信息提示,按钮文本都是由Cocoa本身自带的,他们都是统一又系统管理,例如Done在英文环境中是Done,还有系统提示信息,如下图,在不同语言环境系统会

Swift - iOS应用的国际化与本地化

在Xcode中我们可以很方便的将APP适配各种本地化语言.苹果的框架已经帮我们把不同语言的数据分离开,包括图片,声音,视频,文档,用户界面文字(甚至代码中编写的用户界面文字),它们会被建立在同一个bundle中,便于我们管理. 下面分别介绍字符串,图片,应用程序名是如何实现多语言本地化,以及如何切换语言进行测试. 效果图如下:         1,本地化字符串 (1)项目配置 -> “Info” -> “Localizations”区域下,可以看到工程默认只支持英文,我们可以再添加中文语言.

IOS中的国际化的使用(Xcode 6.0之后的使用步骤)

1.今天在网上找了一下资料,因为自己的项目要做国际化了,说实话刚开始什么都不懂什么是国际化呀,现在终于明白了什么是国际化,现在给大家说道一下国际化这个东西: 国际化就是我们在手机里面setting 里面选取不同的语言,在APP里面就会出现不同的语言: 以下是步骤: 2.创建一个demo ,如国际化demo: 3.创建一个Localizable.strings文件: 4.然后是对相应的Localizable.strings国际化: 5. 创建一个InfoPlist.strings :如上同样的步骤