基于Xcode5的本地化

一、程序名国际化

1、首先添加应用对多语言支持的国际化文件

点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizations,点击“+”号,可以添加国际化文件,例如添加一个简体中文Chinese(Simplified),弹出对话框后点击确定,此时在Supporting Files文件组下的InfoPlist.strings下会有两个文件,InfoPlist.strings(English)和InfoPlist.strings(Chinese(Simplified))。

2、在相应语言的国际化文件中添加相应的语言内容:

例如在英文国际化文件InfoPlist.strings(English)中添加:

CFBundleDisplayName="app name";

在中文国际化文件InfoPlist.strings(Chinese(Simplified))中添加:

CFBundleDisplayName="应用名称";

则应用的名称会根据系统当前的语言环境,按照相应的国际化文件中指定的CFBundleDisplayName来显示指定的名称

二、内容国际化

1、首先添加应用对多语言支持的国际化文件

如果在程序名国际化中已经添加好,则此步骤可以省略

点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizations,点击“+”号,可以添加国际化文件,例如添加一个简体中文Chinese(Simplified),弹出对话框后点击确定,此时在Supporting Files文件组下的InfoPlist.String下会有两个文件,English和Simplified。

2、添加多个语言的国际化文件

New File… -->iOS-->Resource-->Strings File,例如添加文件:Localizable.strings(文件名必须是该名字,否则无法识别)

然后点击文件,在右侧的文件属性列表栏中的,点击Localization按钮,在弹出的对话框中,选择对需要的对应的语言,多个语言的国际化文件与各自的语言关联了。

3、添加国际化内容

例如在Localizable.strings (English)中添加:

"loading" = "Loading…";

在Localizable.strings (Chinese(Simplified))中添加:

"loading" = "加载中…";

注意不要漏掉;(分号)

3、使用国际化

//系统会根据当前设备的语言环境来判断使用英文还是中文

NSString *loading = NSLocalizedString(@"loading",@"");

获取系统支持的所有语言

NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];

//取得iPhone支持的所有语言设置

NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];

NSLog ( @"%@" , languages);

获取当前使用语言

NSArray *languages = [NSLocale preferredLanguages];

NSString *currentLanguage = [languages objectAtIndex:0];

NSLog ( @"%@" , currentLanguage);

用获取到的当前语言,和支持的语言做字符串对比,就可以知道是那种语言了。

if([currentLanguage isEqualToString:@"en"])

{

NSLog(@"current Language:en");

} 

referened from: http://blog.csdn.net/yuyunliu/article/details/13997589

基于Xcode5的本地化

时间: 2024-08-05 14:41:42

基于Xcode5的本地化的相关文章

iOS模拟器太大 如何调整XCode5的模拟器大小

基于Xcode5创建一个project, 运行后,你会发现模拟器有点儿不爽. 早期的模拟器,那可真的称得上拟物化,特像一个手机的样子. 而Xcode5 模拟器运行后,是一个白板,而且是一个大大的白板. 竟然连 home 键都不见了. 首先要做的是,如何调整这个模拟器的大小. command + R  模拟器运行后, 再按 command +1. command+2. command+3, 试试看. 你会发现 模拟器的大小发生了变化. 其实,模拟器还是那个模拟器,只不过是等比缩放了而已.  操作方

spark新能优化之数据本地化

数据本地化的背景: 数据本地化对于Spark Job性能有着巨大的影响.如果数据以及要计算它的代码是在一起的,那么性能当然会非常高.但是,如果数据和计算它的代码是分开的,那么其中之一必须到另外一方的机器上.通常来说,移动代码到其他节点,会比移动数据到代码所在的节点上去,速度要快得多,因为代码比较小.Spark也正是基于这个数据本地化的原则来构建task调度算法的. 数据本地化,指的是,数据离计算它的代码有多近.基于数据距离代码的距离,有几种数据本地化级别:1.PROCESS_LOCAL:数据和计

[Abp 源码分析]十三、多语言(本地化)处理

0.简介 如果你所开发的需要走向世界的话,那么肯定需要针对每一个用户进行不同的本地化处理,有可能你的客户在日本,需要使用日语作为显示文本,也有可能你的客户在美国,需要使用英语作为显示文本.如果你还是一样的写死错误信息,或者描述信息,那么就无法做到多语言适配. Abp 框架本身提供了一套多语言机制来帮助我们实现本地化,基本思路是 Abp 本身维护一个键值对集合.只需要将展示给客户的文字信息处都使用一个语言 Key 来进行填充,当用户登录系统之后,会取得当前用户的区域文化信息进行文本渲染. 0.1

[转]掌握 Dojo 工具包,第 2 部分: XHR 框架与 Dojo

作者:secooler 快乐的DBA Ajax 的兴起改变了传统的 B/S 结构应用程序中以页面为单位的交互模式,Ajax 引入的局部刷新机制带来了更好的用户体验,促使浏览器中的页面开始向应用程序发展,Google Mail, Google Reader 是在这种趋势下诞生的典型应用. Dojo 提供了基于 XmlHttpRequest 的对象的 XHR 框架来支持异步 Ajax 调用,另外 Dojo.io 包中提供了两种浏览器与服务器交互的方式:iframe. 隐藏框架和 script. 动态

iOS之nib、xib及storyboard的区别及storyboard的加载过程

先讲述下nib, nib是3.0版本以前的产物,在终端下我们可以看到,NIB其实是一个文件夹,里面有可执行的二进制文件: 区分xib和storyboard的区别? 不同点: 1> 无论nib也好,xib也好,最终在执行UIViewController生命周期函数loadView之前,都会转化成可执行的nib文件. 2> storyboard是多个xib文件集合的描述文件,一个xib文件对应着一个视图控制器和多个视图. toryboard时,一个工程只需要一个主storyboard文件就可以.

云计算统一办公运营平台服务能力设计方案

1.前言 1.1.背景 目前,运营商的业务支撑系统多采用传统的"烟囱式"架构模式,即:按功能分为不同的子系统,根据不同需求独立地进行设计和建设,系统架构从应用.数据再到基础设施,都以烟囱式部署为主.这种系统架构模式的显著特点是纵向统一,系统内部建设一体化.这种系统架构模式虽保证了各功能系统内部建设的统一,但同时也导致出现了系统系统间独立性强.信息不透明.部门间横向协调性差.共通性少及资源共享率不高等诸多问题. 近年来,随着云技术的飞速发展和业务需求的持续扩大,运营商对业务支撑系统的横向

零基础也能用Linux ---深度Linux使用小记

零基础也能用Linux ---深度Linux使用小记 Deepin是由武汉深度科技有限公司开发的Linux发行版.Deepin 是一个基于 Linux 的操作系统,专注于使用者对日常办公.学习.生活和娱乐的操作体验的极致,适合笔记本.桌面计算机和一体机,它是一个基于Debian的本地化衍生版,系统集成了C.Java.Python编译环境.WPS办公软件.Flash插件.腾讯QQ.各种输入法以及漂亮的字体.还可以灵活使用各种Windows下的工具软件,为你节省了很多配置系统的时间. 总的来说它的宗

ASP.NET5 Beta8可用性

ASP.NET5 beta8现已上都的NuGet作为一个工具升级到Visual Studio2015!此版本极大地扩展.NET核心对OS X和Linux所支持的范围.您现在可以使用网络,加密和全球化特点的跨平台!本新闻稿也包括ASP.NET5,DNX和Web工具的一些不错的改进.让我们来看看我们如何开始使用ASP.NET5 beta8. 新功能 下面是一些在ASP.NET5 beta8新功能的摘要.对于什么是新的完整列表在此版本中,请参阅beta8发行说明. 更改IIS托管模式 我们已经取得了重

iOS之在webView中引入本地html,image,js,css文件的方法 - sky//////////////////////////////////////ZZZZZZZZZZZZZZZ

iOS之在webView中引入本地html,image,js,css文件的方法 2014-12-08 20:00:16CSDN-sky_2016-点击数:10292 项目需求 最近开发的项目,需要一个webView,同时这个webView会需要引入一些项目中的资源: 一个本地的html文件,作为webView的模板 两张loading图片,在图片未加载的时候进行占位 jquery.js,scrollLoading.js 也是本地的,实现滚动加载图片功能 然后就开始了漫长的Google历程. 在w