iOS开发——高级技术&本地化与国际化详解


- CFBundleDisplayName = "Localization";
复制代码
C代码
- CFBundleDisplayName = "本地化";
复制代码

效果图:


- labelName.text = NSLocalizedString(@"Name", @"The name is ");
- labelPassword.text = NSLocalizedString(@"Password:",@"The password is");
复制代码



应用genstrings和NSLocalizedString实现App文本的本地化
Admin
2012年3月20日
btn.titleLable.text = @"Example Button";
(对于内部应用的字符串就用不着本地化了)
btn.titleLable.text = NSLocalizedString(@"btn_title", nil);
第一个参数是key的名字,第二个参数是对这个“键值对”的注释,在用genstrings对象生成Localizable.strings文件时会主动加上去。
1. 启动终端,进入工程地点目次。
2. 新建两个目次,推荐放在资料目次下。
目次名会感化到Localizable.strings文件对应的说话,不克不及写错了。这里zh-Hans指简体中文,重视不克不及用zh.lproj默示。
mkdir zh-Hans.lproj
mkdir en.lproj
genstrings -o zh-Hans.lproj *.m
genstrings -o en.lproj *.m
*.m,扫描所有的.m文件。这里支撑的文件还包含.h, .java等。
5. 在新建的group中添加方才生成的Localizable.strings文件。
6. 最后在Localizable.strings文件中,批改每个key所对应的内容,就大功成功了。
1. 在代码里用NSLocalizedString获取要本地化的字符串
2. 用genstrings扫描代码文件,生成Localizable.strings,然后加到工程中。
五. 图片和其他资源文件
选中需要本地化的资源文件 -> 打开右边工具栏(Utilites) -> 在“Localization”栏目加入需要支持的语言。xcode会把资源文件拷贝到新加入语言的的目录下,把准备好的本地化文件替换掉xcode自动拷贝的文件即可。
iOS开发——高级技术&本地化与国际化详解的更多相关文章
- iOS开发——高级技术OC篇&运行时(Runtime)机制
运行时(Runtime)机制 本文将会以笔者个人的小小研究为例总结一下关于iOS开发中运行时的使用和常用方法的介绍,关于跟多运行时相关技术请查看笔者之前写的运行时高级用法及相关语法或者查看响应官方文档 ...
- iOS开发——高级技术精选OC篇&Runtime之字典转模型实战
Runtime之字典转模型实战 如果您还不知道什么是runtime,那么请先看看这几篇文章: http://www.cnblogs.com/iCocos/p/4734687.html http://w ...
- iOS开发——高级技术&广告服务
广告服务 上 面也提到做iOS开发另一收益来源就是广告,在iOS上有很多广告服务可以集成,使用比较多的就是苹果的iAd.谷歌的Admob,下面简单演示一下如何 使用iAd来集成广告.使用iAd集成广告 ...
- iOS开发——高级技术&内购服务
内购服务 大家都知道做iOS开发本身的收入有三种来源:出售应用.内购和广告.国内用户通常很少直接 购买应用,因此对于开发者而言(特别是个人开发者),内购和广告收入就成了主要的收入来源.内购营销模式,通 ...
- iOS开发——高级技术&签名机制
签名机制 最近看了objc.io上第17期中的文章 <Inside Code Signing> 对应的中文翻译版 <代码签名探析> ,受益颇深,对iOS代码签名机制有了进一步的 ...
- iOS开发——高级技术&摇一摇功能的实现
摇一摇功能的实现 在AppStore中多样化功能越来越多的被使用了,所以今天就开始介绍一些iOS开发的比较实用,但是我们接触的比较少的功能,我们先从摇一摇功能开始 在 UIResponder中存在这么 ...
- iOS开发——网络编程Swift篇&Alamofire详解
Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...
- iOS开发——控制器OC篇&UINavigationController&UITabBarController详解
UINavigationController&UITabBarController详解 一:UINavigationController 控制器的属性: UINavigationControl ...
- iOS开发——实用篇&KVO与KVC详解
KVO与KVC详解 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby.Python的动态特性,例如动态类型.动态加载.动态绑定等.今天我们着重介绍ObjC中的键值编码(KVC ...
随机推荐
- nodejs复习01
console 格式化 console.log("%s:%s", "a", "b") //字符串 console.log("%d. ...
- MYSQL 按照字母排序查询
select id vKey, name vValue from ib_brand order by convert(name USING gbk) COLLATE gbk_chinese_ci a ...
- iOS CoreData primitive accessor
Given an entity with an attribute firstName, Core Data automatically generates firstName, setFirstNa ...
- QuartZ Cron表达式
Cron Expressions cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表. Seconds Minutes Hours ...
- CGContextRef 画线简单用法
CGContextRef CGContextMoveToPoint(context,150,50);//圆弧的起始点 CGContextAddArcToPoint(context,100,80,130 ...
- javascript判断数据类型的各种方法
一.Object.prototype.toString方法(摘自http://javascript.ruanyifeng.com/stdlib/object.html#toc3) //不同数据类型的O ...
- [RT][NOIP2015]联合权值
1.题面 2.总结 第一次回忆一下当年的题目.但是这道题已经做烂了,只是看还记得树遍历会写么. 然后我写了一下,有点费劲,交上去之后只有70,比较尴尬,看了下去年5月写的代码,发现完全不是一个感觉啊. ...
- IOS管理文件和目录
1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...
- sql 连接数不释放 ,Druid异常:wait millis 40000, active 600, maxActive 600
Hibernate + Spring + Druid 数据库mysql 由于配置如下 <bean id="dataSource" class="com.alibab ...
- Github+Jekyll —— 创建个人免费博客(一)从零开始
摘要: 本文中我将介绍一下如何在github上搭建个人Blog(博客),也顺便让我们掌握一下github Pages功能,另外还涉及到Jekyll技术. ======================= ...