iOS中使用Localizable.strings适配App在不同语言下文本的显示

iOS开发中,若是使用xib或storyboard搭建界面视图,视图中固定显示的文本内容可以用localized添加不同语言适配。但是在实际中会有动态加载的文本,这些文字的适配就需要NSLocalizedString等方法

  • 举个例子说明

从网络获取的JSON数据大多为英文如album、book、software等,界面中显示这些文本可在设置文本时调用NSLocalizedString方法,具体来说使用

NSString *NSLocalizedString(NSString *key, NSString *comment)

返回NSString,前一个作为key关键字,后一个作为strings文件的注释方便查看,假若我要动态显示Album,可以这样使用

1 NSLocalizedString(@"Album", @"Localized kind: Album");

之后在设置完文本的localized方法后调用命令行生成Localizable.strings文件,具体如下:

cd ~/Desktop/oc_test/StoreSearch/StoreSearch 进入工程中目录

genstrings *.m -o zh-Hans.lproj  最后为不同语言的文件夹

之后自动生成.strings文件,添加进xcode工程,在文件中修改原来的英文为中文即可

  • 注意

每次调用genstrings命令后,strings文件都会重新创建覆盖原有内容,所以最好在将文件中所有动态加载的文本都实现NSLocalizedString方法后再创建strings文件;

当然,将原来内容备份下也是可以的。

时间: 2024-10-11 02:21:26

iOS中使用Localizable.strings适配App在不同语言下文本的显示的相关文章

iOS中使用schema协议调用APP和使用iframe打开APP的例子

在iOS中,需要调起一个app可以使用schema协议,这是iOS原生支持的,并且因为iOS系统中都不能使用自己的浏览器内核,所以所有的浏览器都支持,这跟android生态不一样,android是可以自己搞内核的,但是iOS不行. 在iOS中提供了两种在浏览器中打开APP的方法:Smart App Banner和schema协议. Smart App Banner 即通过一个meta 标签,在标签上带上app的信息,和打开后的行为,例如:app-id之类的,代码形如: <meta name=&quo

修改IOS中UISearchBar的取消按钮背景、搜索内容输入文本框背景和UISearchBar的背景

转载请标明出处:http://blog.csdn.net/android_ls/article/details/39993433 测试的手机IOS系统版本号为:6.1.3,实现步骤如下: 1.添加UISearchBar到父View _searchBar = [[UISearchBar alloc]init]; _searchBar.frame = CGRectMake(0, 0, self.view.frame.size.width, kSeachBarH); _searchBar.autore

IOS中Label根据上个label的内容设置下个label的frame

#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)UILabel *labelOne; @property(nonatomic,strong)UILabel *labelTwo; @property(nonatomic,copy)NSString *str; @end @implementation ViewController - (void)viewDidLoad {

Ios 6和ios7的适配

Ios 6和ios7的适配 1.普通的 ViewController:让view的显示从状态栏下面开始,只需在viewDidLayoutSubviews调整 view的bounds CGRect bounds = self.view.bounds; bounds.origin.y =  - [self.topLayoutGuide length]; self.view.bounds = bounds; 2.ScrollView 类型的 在viewDidLoad 里面加: if ([[UIDevi

IOS中APP开发之路

现在移动APP正式急速上升的趋势,然而占据着主要地位的还是这2大巨无霸:谷歌的Android与苹果的ios系统.那么,作为 程序员了解一下APP的开发流程思路是有所必要的,特别是正流行火热的APP市场.开发IOS的APP学习思路,翻译 了一个很牛B的网 络文章,并且大致的总结了一些IOS开发APP的流程思路,它不仅仅是初学者的导航灯,还是ios开发热衷粉丝的垫脚石.iOS系统以 及iPhone的出来都要感谢ios鼻祖---乔布斯,一个完美主义者,从如此优秀的iOS系统和iPhone就可以看出来.

怎样在ios中的Safari内开发出一款类似native app一样的全屏webapp

此文章转自我www.gbtags.com的文章. <meta name="format-detection" content="telephone=no email=no" /> 1.在meta中取消电话邮箱的识别. <meta name="apple-touch-fullscreen" content="yes"> 2.据说是全屏,但是实际ios7.1无效果,查看了百度的大网站的web站点,都已经移除

注册自己的App到iOS中

将自己的App注册到iOS,就要用到iOS文档处里的功能,我们注册我们的程序用来处理我们自己特殊的文档类型. 首先,我们要在Info.plist文件中设置Document types <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>myapp</string> <key>LSHan

iOS中的屏幕适配之Autolayout(初级)

这是第二篇博客啦啦啦,来来来,嗨起来,今天我们要说的时iOS的屏幕适配,随着APPLE推出的手机越来越多,屏幕的尺寸也越来越多,而屏幕的适配确是相当的麻烦,今天我要说的,网上也许早就有了,我只是说出自己的理解(可能不对啊,勿喷....) Autolayout其实就是约束了,今天讲得是代码添加约束,用到的第三方是Masonry,相信代码写约束的都知道这个第三方库,好了,废话不多说,代码搞起 首先你要去下载个Masonry,或者用cocoapods加到工程中,先来个简单点得例子啊,下面请重点看注释啊

iOS中通过链接地址打开指定APP并传参 by徐文棋

基于项目需要,有时候需要通过一个链接,或者二维码扫描来直接打开我们所开发的客户端. 当然了.客户端也不仅仅是需要被打开,而且还要跳到相应的页面去,因此这里需要传参. 客户端想用链接打开,必须要在info.plist中添加相应的URL types 如图:(若没有相应的行请自行添加!) 设置完这个url之后呢,我们还要去响应 应用被打开(用url链接) 的事件 so..去AppDelegate.m里 实现一个代理方法 -(BOOL)application:(UIApplication *)appli