IOS国际化

     最近学习IOS国际化的内容,在这里记录一下国际化的相关知识,方便以后查看和新学者的参考。

     一般程序国际化主要有三部分:         

               1.使用Base Internationalization来对用storyboard或xib创建的UI界面布局进行国际化。
               2.使用InfoPlist.strings文件来对应用程序的名称国际化。
               3.使用Localizable.strings文件来对应用程序中Code创建会使用的字符串进行国际化。

     国际化的程序不仅是对于新建工程过程中进行,也可以对以前的工程进行国际化。国际化的目的主要是让应用程序在不同的语言环境下,以相应的语言展现在用户面前,方便不同用户使用。当我们创建一个工程后,默认使用的语言是English,这是XCode创建时默认的语言。我们在使用国际化时,应该要storyboard或xib使用AutoLayout。

     下面以一个简单的例子来演示一般程序国际化的过程:

      1.利用XCode新建一个工程项目,这里工程名为:Localization-1终端使用。

      2.在XCode中,点击Localization-1终端使用项目,选择project,显示Info面板。


在当前页面最下面有“Localizations”项,在" use Base Internationalization"前面的方框勾选上(默认情况下是勾选的),点击“+”号,添加需要本地化的语言。这里添加的是中文简体,会弹出对话框,直接单击finish按钮。


此时Main.storyboard下面增加了两个文件,Main.storyboard(Base)和Main.strings(Chinese(Simplifield));而InfoPlist.strings下面也增加了两个文件InfoPlist.strings(English)和InfoPlist.strings(Chinese(simplifield))。


点击Main.storyboard文件,在最右侧找到Localization,勾选上Localization栏下面的三个方框,English和Chinese后面可以更该这两个文件的后缀,一般情况下选择默认的Localizable Strings。同样的点击InfoPlist.strings,找到Localization,勾选该拦下的三个方框。此时,Main.storyboard和InfoPlist.strings下分别有三个文件。


       3.InfoPlist.strings文件来对应用程序的名称国际化。在InfoPlist.strings(Chinese(Simplifield))文件中添加下面代码:


          在InfoPlist.strings(English)文件中添加下面代码: 


      4.在YLLViewController.m文件中用代码添加一个Label。代码如下:


      代码中NSLocalizedSting(key,comment)的相关知识介绍如下:在程序中使用宏定义NSLocalizedString来从Localizable.strings文件获取当前本地化语言的本地化字符串。该宏中的第一个参数,采用字符串文件中的一个键,第二个参数采用给本地化人员的注释。该宏会返回与用户首选语言相对应的本地化语言中键的值。

       5.新建一个Localizable.strings文件。右击左侧Localizations,出现一个对话框,选择左侧的resource,选择String Files,来创建一个Localizable.strings文件。记住文件名最好命名为Localizable.strings。


点击该文件,在最右侧找到Localization,点击Locaize....,选择English,点击finish。此时Localization栏下面出现三个方框,将其全勾选上,左侧Localizable.strings下面此时就增加了三个文件。


        小项目,一般直接在Localiable.strings(Chinese)和Localizable.strings(English)中分别添加相应的配置:

        


       大型应用程序项目,通常使用名称为 genstringsde 的命令行程序,从该程序在代码中找到的信息生成一个字符串文件(默认情况下,该文件名称为 Localizable.strings)。该实用工具查找 NSLocalizedStringde 宏的每次调用,提取键(也是初始值)和注释,并将这些项目写入字符串文件。然后,您可以将该字符串文件,添加到项目中的每种本地化语言中,并翻译这些值。具体操作如下:1>.打开MAC终端 2>.进入en.lpro文件夹所在的目录 输入:genstrings -o en.lproj *.m 回车,此时Localizable.strings(English)文件中增加了一行


3>.在终端中输入genstrings -o zh-Hans.lproj *.m 回车,此时Localizable.strings(Chinese)文件中增加了一行


修改里面的内容为:



终端代码如下:


    6.运行程序Command+R(此时模拟器的多语言设置为English),此时应用程序名为:Localization Test



     修改模拟器中多言设置为简体中文,此时应用程序名为:本地测试。再运行效果如下:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值