zoukankan      html  css  js  c++  java
  • 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)

    设定应用程序所支持的显示模式(肖像或是风景模式),这个键值可以支援多个不同的显示模式。

  • 相关阅读:
    orcle id和执行计划(转)
    mysql 授权
    nginx+php 安装手册
    为 MySQL 增加 HTTP/REST 客户端:MySQL UDF 函数 mysql-udf-http 1.0 发布
    Nginx提示502和504错误的解决方案
    error while loading shared libraries: xxx.so.x"错误的原因和解决办法
    lnmp memcache出问题
    Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持
    Nginx代理与负载均衡配置与优化
    curl+ post/get 提交
  • 原文地址:https://www.cnblogs.com/cchHers/p/8962812.html
Copyright © 2011-2022 走看看