【转】iOS多语言本地化(国际化)设置
原文网址:http://www.jianshu.com/p/2b7743ae9c90
讨论的iOS应用中的多语言设置,Ok 一般是两种情况:
1.根据当前设备语言自动切换显示
2.在应用中可进行语言设定
至今,我个人做过的项目中有6个是涉及到多语言的,其中全部都是需要在应用中可进行设置。 其实也没多大关系,我们这里会首先说说根据当前设备语言进行切换界面的显示(这些都是网上能搜到的,我整理下给自己清晰点的步骤以便后续查看罢了)。而关于在应用在进行语言设定,其实就是获取当前的语言环境并通过代码进行更改,其他的操作是一致的。
先来说说几个涉及到多语言本地化设置的:
1.本地化应用名称
2.本地化字符串(文字)
3.本地化图片、素材
4.本地化StoryBoard(Xib)
!!重点重点,以上都是废话:
这里才是配置根据当前设备语言自动切换显示的步骤,不贴图,不说明原因:
1.配置工程支持多语言
选中项目—>PROJECT(默认是选中TARGETS,切换下)—>Info—>Localizations—>设置多语言环境
2.国际化应用名称
(1)创建InfoPlist.string,并进行Localization配置:
在项目中点击New File-->Resource-->Strings File -->更名为InfoPlist-->点击创建。
选中InfoPlist.strings —>在Xcode右边栏找到Localization—>在Localization中点“+”进行配置。(如没有则点击 XCode—>View—>Utilities—>File Inspector)
(2)添加属性:
在对应InfoPlist.string文件中输入以下代码:
CFBundleDisplayName ="多语言测试";
注意:CFBundleDisplayName加不加双引号都行,"多语言测试"便是对应的应用名。
(3)编辑Info.plist:
打开Info.plist,添加一个新的属性Application has localized display name, 设置其类型为boolean,并将其value设置为YES即可
3.国际化文字
(1)创建Localizable.strings文件(一定是这个名字,是否使用的方法不一样)并进行进行Localization配置。
(2)在对应语言的Localizable.strings中添加key=value;字串(各个语言文件中key要相同)
(3)在代码中使用NSLocalizedString(<#key#>, <#comment#>)来读取本地化字符串。
注意:如果你的strings文件名字不是Localizable而是自定义的话,如wang.strings,那么你就得使用NSLocalizedStringFromTable(key, @"wang", nil)来读取本地化字符串,中间那个是@"wang"文件名。
*多语言文本中也可包含可变内容:通过以下代码获取:
NSString *string = [NSString localizedStringWithFormat:NSLocalizedString(@"密码错误%ld次,还可以输入%ld次",nil), 2, 1];
4.国际化图片
有两种方式:
(1)在不同语言的Localizable.strings中指定不同的图片名称,通过NSLocalizedString()获取不同的图片名称后进行显示不同的图片(这个就是通过国际化文字那个)
(2)参照国际化应用名和文字的方式给图片标记两种不同的语言显示 (但将图片放Images.xcassets中时时似乎没有地方可以选择国际化语言的)
5.国际化StoryBoard:(不建议)
在第1步配置工程多语言的时候就会提示包含的更改的文件,其中就有StoryBoard,选中即可。这样便会出现一个Base文件和语言文件。
但有一个问题是更改了SB中的控件之后,语言包中的内容不会对应改变,所以我们的操作是暂时不支持国际化SB。
以上部分参考:http://blog.csdn.net/wangqiuyun/article/details/7875442
原文链接:http://www.jianshu.com/p/2b7743ae9c90
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
【转】iOS多语言本地化(国际化)设置的更多相关文章
- iOS - 实现语言本地化/国际化
实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个 ...
- 3分钟实现iOS语言本地化/国际化(图文详解)
前言 语言本地化,又叫做语言国际化. 是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言. 往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这 ...
- iOS语言本地化,中文显示
尽管一直相信xcode肯定提供有语言本地化的设置地方,可是一直也没凑着去改.非常多的汉化,还是使用代码去控制:比方navagition的return使用代码改动为"返回"! 近期在 ...
- iOS 多语言的实现(本地化和国际化)
配置需要国际化的语言 配置需要国际化的语言,这也是国际化之前的准备工作,无论我们是国际化App名称.代码中的字符串.图片.还是storyboard和xib,都需要进行这一步的准备工作(一个项目中需要且 ...
- iOS多语言(国际化)开发(尾随系统 + APP内手动设置)
一:尾随系统切换语言 1>创建好项目project后, 新建一个多语言文件: 2>加入要设置的语言类型: 3>加入成功 细心的朋友可能会发如今English后面写的是3 Files ...
- [置顶] iOS 应用程序内部国际化,不跟随系统语言
前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言 ...
- iOS 应用程序内部国际化,不跟随系统语言
前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言 ...
- IOS应用程序多语言本地化解决方案
最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享! 多语言在应用程序中一般有两种做法:一.程序中提供给用户自己选择的机会:二.根据当前用户当前移动设备 ...
- [转]IOS应用程序多语言本地化解决方案
最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享! 多语言在应用程序中一般有两种做法:一.程序中提供给用户自己选择的机会:二.根据当前用户当前移动设备 ...
随机推荐
- 8、List接口的特点及其相关功能
/* * Collection * |--List * 元素有序(指的是存储顺序和取出顺序是否一致),可重复. * |--Set * 元素无序,唯一. */ /* * List的特有功能: * A:添 ...
- JAVA课设——中药古籍《太平圣惠方》数据处理与分析系统
一.配置JAVA环境 本次课设是在Windows 10(64bit)平台上实现的,所以首先得配置下JAVA环境. 步骤一:先下载一个JDK(1.7)安装包,安装好JDK: 步骤二:JDK环境配置(由于 ...
- java是值传递,还是引用传递?
原文地址:http://blog.csdn.net/zxmzfbdc/article/details/5401960 java到底是值传递,还是引用传递?以前国内的java开发者有过很多争论,由于& ...
- 【从零开始】【Java】【1】Git和svn
闲聊 干活快一年了吧,感觉工作中能干的事情也有一点了,但总有种不通透的感觉,查一个问题,能一路查出一堆不明白的东西. 之前新建过文档是记录点点滴滴的知识的,使用上没问题了,但原理什么的还是不懂,想了想 ...
- Kafka学习笔记(5)----Kafka的Consumer
1. Pull vs Push Producer主动的通过push将消息发布到Broker上,Consumer通过Pull的的方式从Broker消息消息. 通过Push的方式由于是一有消息就推到Bro ...
- BitmapMesh动画
一.概要 我们经常用到Canvas.drawBitmap方法,却很少用到Canvas.drawBitmapMesh方法.这个方法为我们做图片变形提供了无限可能,同时也对数学功底有较高的要求.下面先看一 ...
- HDU 2522 A simple problem( 分数循环节 )
链接:Here! 思路:模拟除法,当余数再次出现的时候一定是遇到了循环节( 可看下图例子 ),否则的话继续除法的步骤,直到被除数为 0 . 注意:这道题不需要重新申请一个数组来单独存放答案,如果符合要 ...
- SpringMVC-HandlerMapping和HandlerAdapter
网上介绍HandlerMapping和HandlerAdapter的文章很多,今天我用自己的理解和语言来介绍下HandlerMapping和HandlerAdapter 一. HandlerMappi ...
- HDU5979 Convex
/* HDU5979 Convex http://acm.hdu.edu.cn/showproblem.php?pid=5979 计算几何 三角形面积公式 * * */ #include <cs ...
- mac 隐藏文件显示
显示:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏:defaults write com.apple.finder Ap ...