最近要做一个应用要实现本地化,因为使用的是xcode4,应用程序本地化的问题跟以前的版本还是有些不同,在网上找了些资料对于xcode4以上的版本资料还是相对较少,有些最后要通过手动创建文件,这样操作实在是太麻烦,所以经过一个下午的研究,总算是成功了一点点,还是庆幸一下。先给出结果。
英语:
中文:
具体实现如下:
静态本地化
:
加载的文件,如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中添加以下代码就可以了
英文版:
CFBundleDisplayName = "Localization";
中文版:
CFBundleDisplayName = "本地化";
效果图:
四、加载的字符串本地化,
原理:在代码中将加入的字符串加入NSLocalizeString宏中,启动程序时,系统将根据语言加载相应的文件得到其对应的字符串文件,这个字符串可以通过系统将NSLocalizedString中的宏生成名为“Localizable.strings”的文件,当然你可以自己去创建这个文件,然后手动是添加对应的字符串。,
labelName.text = NSLocalizedString(@"Name", @"The name is ");
labelPassword.text = NSLocalizedString(@"Password:",@"The password is");
NSlocalizeString 第一个参数是内容,第二个参数将会转化为字符串文件里的注释。
转化方法如下 :先关闭项目,打开终端,进入到项目的目录,输入genStrings 文件名.m就可以将该文件中的宏转化为相应的字符串文件,
效果如下:会看到生成"Localizable.strings",
打开文件,就可以交给翻译人员去翻译了
最后附上例子,这是必须的
总算把截图搞上去了,分享一下。
- 大小: 13.7 KB
- 大小: 12.8 KB
- 大小: 93.2 KB
- 大小: 80.1 KB
- 大小: 176.4 KB
- 大小: 43.6 KB
- 大小: 43.6 KB
- 大小: 43.6 KB
- 大小: 109.3 KB
- 大小: 78.5 KB
分享到:
相关推荐
配合博客文章发布的源码,详情请查看http://blog.csdn.net/q199109106q
我们在开发一款APP的时候,总是会涉及应用程序国际化的事情,用ios里专业术语叫做本地化,其实都是一个意思,简而言之就是不同的系统语言,显示不同的应用名称、字符串名称、图片名称、等等,除了代码,ios几乎可以...
IOS本地化 博客:http://blog.csdn.net/dingxiaowei2013/article/details/10600763
简单的macOS编辑器应用程序,帮助您管理iOS和macOS应用程序本地化,允许您并排编辑所有翻译.zip
iOS 国际化程序内改变语言即可改变语言环境
iOS平台的应用程序调试与分析 本文阐述如何在iOS平台上对应用程序进行调试与分析,旨在指导新手分析iOS程序,高手请无视。内容包括软件硬件的准备、代码的解密、符号信息的获取、用gdb调试等,最后以京东LeBook为...
触觉反馈及蓝牙低功耗和iOS应用程序.zip触觉反馈及蓝牙低功耗和iOS应用程序.zip触觉反馈及蓝牙低功耗和iOS应用程序.zip触觉反馈及蓝牙低功耗和iOS应用程序.zip触觉反馈及蓝牙低功耗和iOS应用程序.zip触觉反馈及蓝牙...
简单的macOS编辑器应用程序,通过允许您并排编辑所有翻译,帮助您管理iOS应用程序本地化
资源名称:iOS(iPhone)应用程序开发入门视频教程(35讲)资源目录:【】ios(iPhone)应用程序开发入门视频教程:第10讲多视图应用程序【】ios(iPhone)应用程序开发入门视频教程:第11讲高级UI控件【】ios(iPhone)应用...
提供继承HDBaseViewController只需要简单添加Model数据就可以展示相对应的效果!...内部代码解释国际化和本地化问题(英文单复数问题)! GitHub地址:https://github.com/HeDong1117/InternationDemo.git
完整的约会应用程序(Android和iOS版本的应用程序)具有丰富的功能和Web版本。随着约会应用程序的人可以找到新的朋友和沟通在真实的时间,使礼物给对方,等等。响应式网站版本将允许其他操作系统(例如:Windows移动...
ios应用源码之应用程序密码锁 .
对应博客总结,http://write.blog.csdn.net/postedit/78285132
Swifternalization - 使用JSON文件以更智能的方式本地化iOS应用程序
IOS应用源码——应用程序密码锁.zip
iOS国际化 应用内切换语言更新版
iOS的MyCoin应用程序
用最简单的方式来自动构建和发布你的iOS和Android应用程序.zip,自动构建和发布iOS和Android应用程序的最简单方法
马上着手开发 iOS 应用程序;迄今为止,最好的官方开发案例,抛砖引玉,非常好,本人亲自实践完成