zoukankan      html  css  js  c++  java
  • ios应用程序语言本地化

    转自http://chenjohney.iteye.com/blog/1303723                       

    具体实现如下:

    静态本地化 : 加载的文件,如xib文件,图像文件,还有实现应用程序名本地化

    动态本地化: 显示的字符串本地化

    一。先做准备:设置程序本地化

    在xcode点击程序图标:点击Info选项->Localizationn,点击“+”,选择要添加的语言,简体中文选择Chinese(zh-Hans)

    你会在你工程目录下发现多了个文件夹,“zh-Hans.lproj",x-code使用.lproj作为其本地化文件夹的扩展名。


    二。设置xib文件本地化, 图像本地化的方法是一样道理的,可以根据用户的显示语言加载不同的xib文件

    操作:点击xib文件,在IB窗口中选择选项选择“File Inspecter",也就是第一个选项,选择“Localization->"+"选择添加的语言,

    效果如下,原来的xib文件就会出现三角形,其下有两个文件,因为我的为storyboard,但效果是一样的。就可以实现将其本地化了,非常简单吧


    三。设置应用程序名本地化,

          设置应用程序名存储在应用程序的Info.plist文件中,我们例子实际上为Localize-Info.plist,选择文件,并不需要对文件进行本地化,而是使"Info.strings"本地化就可以了,在Localize.Info.plist,空白处右键,选择Show Raw Keys/Values,就会看到应用程序名实际为CFBundleDisplayName,我们只需要在对应的 Info.plist中添加以下代码就可以了

    英文版:

    C代码  收藏代码
    1. CFBundleDisplayName = "Localization";  

     中文版:

    C代码  收藏代码
    1. CFBundleDisplayName = "本地化";  



     效果图:


    四、加载的字符串本地化,

          原理:在代码中将加入的字符串加入NSLocalizeString宏中,启动程序时,系统将根据语言加载相应的文件得到其对应的字符串文件,这个字符串可以通过系统将NSLocalizedString中的宏生成名为“Localizable.strings”的文件,当然你可以自己去创建这个文件,然后手动是添加对应的字符串。,

    C代码  收藏代码
    1. labelName.text = NSLocalizedString(@"Name", @"The name is ");  
    2. labelPassword.text  = NSLocalizedString(@"Password:",@"The password is");  

     NSlocalizeString 第一个参数是内容,第二个参数将会转化为字符串文件里的注释。

    转化方法如下 :先关闭项目,打开终端,进入到项目的目录,输入genStrings 文件名.m就可以将该文件中的宏转化为相应的字符串文件,


    效果如下:会看到生成"Localizable.strings",

    打开文件,就可以交给翻译人员去翻译了


    最后附上例子,http://dl.iteye.com/topics/download/df3a4497-5785-3852-a876-c07033f3f980

  • 相关阅读:
    树莓派安装parrot linux记录
    Arch linux(UEFI+GPT)安装及后续优化教程
    VS部分安全函数用法
    C语言博客作业06--结构体&文件
    C语言博客作业05--指针
    C语言博客作业04--数组
    C语言博客作业03--函数
    C语言博客作业02--循环结构
    DS博客作业08--课程总结
    DS博客作业07--查找
  • 原文地址:https://www.cnblogs.com/jiangshiyong/p/2835725.html
Copyright © 2011-2022 走看看