iOS应用的语言设置
首先需要明确两个名词的区别:“当前手机的系统语言”、“应用内部的语言设置”
要解决的问题的情景:
在iOS应用中,有时候会调用系统的一些UI控件,例如:
1、在UIWebView中长按会弹出系统的上下文菜单。
2、在UIImagePickerController中会使用系统的照相机界面。
3、在编译状态下的UITableViewCell,处于待删除状态时,会有一个系统的删除按钮。
以上这些UI控件中,其显示语言并不是和你当前手机的系统语言一致的,而是根据你的应用内部的语言设置来显示的。结果就是,如果你没有设置恰当的话,你的中文应用可能会出现一些英文的控件文字。
解决方法:
用vim直接打开工程的Info.plist文件,在文件中添加如下内容:
<key>CFBundleLocalizations</key>
<array>
<string>zh_CN</string>
<string>en</string>
</array>
或者使用:
<key>CFBundleDevelopmentRegion</key>
<string>zh_CN</string>
另外关于Info.plist的其他关键字,我汇总了一些网上资源,为了方便查看将它们展示出来,具体使用的话,可以用关键词去百度。
下面文字颜色太过于鲜艳,看着怕中毒的,请移步【http://www.cnblogs.com/cchHers/p/8962827.html】
1. Application does not run in background
(键名:UIApplicationExistsOnSuspend)
自从iOS4.0之后,当你在应用程序执行的时候按下Home键,应用程序并不会中断目前的应用,而是放到后台去了。
因此希望使用者在按下Home键之后就要退出当前应用的请勾选这个选项。
2. Application requires iPhone environment
(键名:LSRequiresIPhoneOS)
iOS的家族设备包含了iPhone,iPad,iPod Touch这三种。因此如果你的应用只能在iPhone环境下使用的话,
请勾选这个选项。
3. Application supports iTunes file sharing
(键名:UIFileSharingEnabled)
在iTunes9.1之后的版本增加了一个文件共享的功能,只要打开info.plist里面的这个选项,
然后把你要共享的文件放在Documents目录里面,就可以在iTunes里面的应用程序标签页看到这个文件。
4. Application uses Wi-Fi
(键名:UIRequiresPersistentWiFi)
如果你的应用程序需要使用的WiFi来连接的话,那么你可以开启这个功能。
当使用者在执行这个应用程序的时候未开启WiFI,那么界面上会自动弹出对话框要求开启WiFi。
5. Bundle creator OS Type code
(键名:CFBundleSignature)
CFBundleSignature是一个四个字母长度的字串,用以表示开发者对应用程序的标识。
例如:在一个文字编辑的应用程序,你可以标识为”ttext”。
6. Bundle display name
(键名:CFBundleDisplayName)
应用程序本地化的显示名称,预设值为${PRODUCT_NAME}。这个函数可以在双击Targets后出现的项目设定界面中修改,
找到”Product Name”后修改为你的产品名称就可以了,编译后的.app也会以这个名称命名。
7. Bundle identifier
(键名:CFBundleIdentifier)
用来标示应用程序的唯一ID,通常是以反向的DNS方式命名的,例如:com.myCompany.myApp,
这个名称应该在iTunes Connect里面新增的应用程序ID一致。
8. Bundle name
(键名:CFBundleName)
应用程序的短名称,通常就是你的应用程序名称。
9. Bundle OS Type code
(键名:CFBundlePackageType)
用来标识整个封包的(bundle)的类型。在Mac裡面,一个封包可能是一个档案或目录,
其目的在于将软体使用到的资源包在一起。例如应用程序应标识为APPL。
10. Bundle version
(键名:CFBundleVersion)
用以标识编译版本(Bundle number),你可以使用任何字串格式来表示这个版本。
例如使用一个数字来表示编译次数。
11. Bundle version string,short
(键名:CFBundleShortVersionString)
應用程式的版本,通常是以三個數字來表示版本號,例如:1.0.1。
12. Executable architectures
(键名:LSExcutableArchitectures)
为一个阵列形态的设定值。用以设置硬件设备的架构环境,例如:i386,ppc,ppc64,x86_64
13. Executable file
(键名:CFBundleExecutable)
执行档的名称。
14. Fonts provide by application
(键名:UIAppFonts)
为一个阵列形态的设定值。用来指定应用程序所使用的外部字型。你可以在应用程序内使用自己的字型档,
只要将字型档案加入到专案内,在设定值指定字型档名称就可以在程式码裡面使用到这些字型了。
15. Get Info string
(键名:CFBundleGetInfoString)
用于Mac的Finder上的应用程序的描述。
16. Icon already includes gloss effects
(键名:UIPrerenderedIcon)
指定应用程序的图示是否加上光晕效果,如果不希望加上光晕效果,那麽勾选此选项。
17. Icon file
(键名:CFBundleIconFile)
用来设定应用程序的图示档,如果没有指定的话,则使用预设值Default.png,依照Apple的规定,
这个图是必须是57x57的图形档。
18. Icon files
(键名:CFBundleIconFiles)
由于iPhone与iPad的开发工具以及SDK都是相同的,因此同一个应用程序也可以同时在两个设备上使用,
只不过两著的图是不太一样。这个键值是一个阵列类型的设定值,用来指定iPhone与iPad的应用程序图示,
你只要给两个图片文件名,其中iPhone的图示为57x57 pixel,iPad则为72x72 pixel,
系统会自动依照图片大小判断该图片是使用在哪种设备上。
19. Info dictionary version
(键名:CFBundleInfoDictionaryVersion)
info.plist格式的版本。一般来说,我们不会变动这个数值。
20. Initial interface orientateon
(键名:UIInterfaceOrientation)
指定应用程序打开时的方向。
21. Laumch image
(键名:UILaunchImageFile)
用以指定应用程序启动时的图片文件。
22. Localization native development region
(键名:CFBundleDevelopmentRegion)
应用程序原始的语言版本。
23. Localizations
(键名:CFBundleLocalizations)
用以指定应用程序所支持的语言。
24. Localized resources can be mixed
(键名:CFBundleAllowedMimxedLocalizations)
是否允许应用程序可以取得框架库内的语言文件。
25. Main nib file base name
(键名:NSMainNibFile)
主要的Nib文件名称,预设值为MainWindow。
26. Renders with edge antialisasing
(键名:UIViewEdgeAntialiasing)
设定core animation的图层是否开启抗锯齿功能。
27. Renders with group opacity
(键名:UIViewGroupOpacity)
设定core animation的图层使否继承上一层透明度。
28. Required background modes
(键名:UIBackgroundModes)
设定当应用程序进入后台执行后,哪些动作要继续在背景执行。这个键值是一个阵列类型的设定,
可设定动作包括:audio,locateon,voip。
29. Required device capabilities
(键名:UIRequiredDeviceCapabilities)
设定应用程序需要使用到的硬件,如此可以确定应用程序在该设备上执行时不会发生错误。
30. Status bar is initially hidden
(键名:UIStatusBarHidden)
设定状态栏是否一开始隐藏。
31. Status bar style
(键名:UIStatusBarStyle)
设定状态栏的显示类型。
32. Supported external accessory protocols
(键名:UISupportedExternalAccessoryProtocols)
指定应用程序与外界硬件配件间支持的通讯协定,这个键值是一个阵列设定,可以指定多个通讯协定。
33. Supported interface orientateons
(键名:UISupportedInterfaceOrientations)
设定应用程序所支持的显示模式(肖像模式或风景模式),这个键值是一个阵列,可以支援多个不同的显示模式。
34. Supported interface orientateons
(键名:UIUpgradeOtherBundleIdentifier)
设定应用程序所支持的显示模式(肖像或是风景模式),这个键值可以支援多个不同的显示模式。
iOS应用的语言设置的更多相关文章
- iOS 国际化多语言设置 xcode7
iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面 Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...
- iOS国际化多语言设置
一.创建工程.添加语言
- iOS多语言设置
最近公司做的项目需要向国外推广,因此app需要添加相应的语言设置,为此整理记录下多语言设置的过程.如有不对的地方,欢迎各位大神指正.下面就详细介绍下设置的过程: 1.基本设置 第一步:首先在 项目工程 ...
- jquery.datatables中文语言设置
/* * sErrMode * 错误信息显示方式 * 分别为alert和throw,默认为alert */ "sErrMode": "throw", /* * ...
- Linux - 终端语言设置
查看当前终端用户的语言设置 locale - get locale-specific information : locale |grep LANG 改变当前终端用户的语言设置(临时生效) 中文UTF ...
- thinkphp多语言设置
thinkphp多语言设置有点'高大上',为什么说它有点'高大上'呢?因为本人设置了好久才弄好,而本人之所以弄了好久的原因,竟然是因为'开启语言设置必须得先开启初始化系统的行为类',所以,在这里,因为 ...
- yii2多语言设置
yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul> <li> <a href="javascri ...
- Wamp Mysql错误消息 语言设置
Wamp Mysql错误消息 语言设置 http://my.oschina.net/wandershi/blog/264347 打开my.ini 找到 [wampmysqld] port = 33 ...
- 李洪强漫谈iOS开发[C语言-043]-判断较早日期
李洪强漫谈iOS开发[C语言-043]-判断较早日期
随机推荐
- 洛谷 P2118 比例简化(枚举)
嗯... 题目链接:https://www.luogu.org/problem/P2118 这道题的出题人很善良,l的范围不是很大,所以我们可以逐一枚举. 本题主要思想就是把所有的比例都转换为乘积的形 ...
- 「JSOI2015」字符串树
「JSOI2015」字符串树 传送门 显然可以树上差分. 我们对于树上每一条从根出发的路径都开一 棵 \(\text{Trie}\) 树,那么我们就只需要在 \(\text{Trie}\) 树中插入一 ...
- 使用在线编辑 svg 软件修改 svg 图片
网站需要使用图标字体,但设计师给的图标大小有问题,故使用下面说陈述方法简单修改了一下.使用到的在线编辑软件地址为:https://editor.method.ac/ 问题: 注:至于如何使用图标字体( ...
- lsof 查看打开了一个文件的有哪些进程 统计那个进程打开的文件最多
lsof | grep /lib64/libc-2.12.so | wc == 查看打开了一个文件的有哪些进程 lsof | awk '{print $2,$1}' | sort | uniq - ...
- Java后台技术(Dubbo入门)
我现在公司提供的产品是即时通讯软件,因为我从.net桌面应用开发转岗,从java后台转项目经理,让我有幸拥有了后台开发人员所有的权限,所有的后台源码和技术文档对我开放,可惜仅在后台待了3周不到,还没来 ...
- java调用exe
前言:最近做了一个Java跨平台开启,关闭,重启nginx的功能,在Java操作exe上遇到了一些问题,下面是对这个问题一个总结 一.Java操作exe的三种方式 (1)Runtime.getRunt ...
- vue cavnas绘制矩形,并解决由clearRec带来的闪屏问题
起因:在cavnas绘制矩形时 鼠标移动一直在监测中,所以鼠标移动的轨迹会留下一个个的矩形框, 要想清除矩形框官方给出了ctx.clearRect() 但是这样是把整个画布给清空了,因此需要不断 向画 ...
- 「Luogu P1975 [国家集训队]排队」
题目大意 给出一个序列 \(h\),支持交换其中的两数,求出每一时刻的逆序对个数. 分析 求逆序对是 \(O(N\log_2N)\) 的,有 \(M\) 个操作,如果暴力求的话时间复杂度就是 \(O( ...
- 最全Python学习路线图【2020最新版】
2020年最新的python学习大纲,专为python高薪打造另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而 ...
- 软件架构,WEB - MVC,MVP,MVVM
参考 https://www.zhihu.com/question/20148405/answer/107071448 http://www.cnblogs.com/indream/p/3602348 ...