• app 国际化


    1. 应用程序名称的国际化

    * 案例: 微信、微博等案例

    - "微信"、"WeChat"

    - "微博"、"Weibo"

    * 演示步骤:

    1> 选中项目, 添加对中文、英文的支持。选中项目在Localization下选择Language。

    2> 在 info.plist 中添加一个Bundle Display Name 的项, 然后查看对应的原生的键的名称.

    3> 在 Supporting Files 下面添加一个 InfoPlist.strings 的文件

    4> 选中 InfoPlist.strings, 点击右侧的 Localize 按钮, 然后点击 Localize

    5> 然后勾选 English、Chinese, 在 InfoPlist.strings 下会出现多个文件。

    6> 在每个文件中编写对应的键值对, 如下:

    English:

    "CFBundleDisplayName" = "WeChat";

    Chinese:

    "CFBundleDisplayName" = "微信";

    7> 这时, 直接切换模拟器(或真机)的语言(中文、英文)的时候, 应用程序名字会自动发生变化。

    2. storyboard 文件中, 控件的国际化(这个必须在真机上调试, 在模拟器上调试是有问题的)

    1> 布局一个登录界面

    2> 默认的文字都用中文

    3> 布局好了以后, 选中该 storyboard 文件, 在右侧的工具箱中, 选择"文件审查器", localization, 勾选中文、英文。

    4> 然后会出现多个 storyboard 文件, 在对应的文件中修改语言则可。

    • 注意, 这个在模拟器上运行有问题, 需要在真机上运行。

    3. 演示弹出的 UIAlertView 的国际化(Localizable.strings也依赖系统的语言)

    * 思路: 通过配置多个不同的.strings文件, 来指定在不同情况下的显示不同的语言

    1> 创建一个名字为Localizable.strings的文件

    2> 选中该文件, 在右侧的"文件审查器"中, 点击 Localize 按钮, 勾选中文、英文。

    3> 在对应的中文、英文文件中, 添加一些需要国际化的键值对

    4> 在代码中通过NSLocalizedString(@"key", nil);的方式获取对应的键值.这个方法内部会根据系统的语言, 去读取对应的键值。

    4. 实现类似"新浪微博"、"微信"切换语言的效果(点击切换语言后立刻切换, 无需设置手机的语言)

    * 思路:

    1> 自定义多个不同的.strings 文件

    - language_CN.strings

    - language_EN.strings

    2> 通过下面的代码手动加载对应的.strings 文件

    NSLocalizedStringFromTable(<#key#>, @"language_CN", nil);

    NSLocalizedStringFromTable(<#key#>, @"language_EN", nil);

    3> 放两个按钮, 点击中问按钮, 读取中文的strings 文件, 点击英文读取英文的 strings 文件, 然后当前使用的是哪种语言, 就把这种语言保存到"偏好设置中", 下次 viewDidLoad 的时候直接读取偏好设置中的语言配置。

  • 相关阅读:
    Alpha版(内部测试版)发布
    冲刺2-3
    冲刺2-2
    冲刺2-1
    团队绩效评价
    改进方案
    意见汇总
    27组评价
    冲刺10
    SOA
  • 原文地址:https://www.cnblogs.com/cwhking/p/5052749.html
Copyright © 2020-2023  润新知