zoukankan      html  css  js  c++  java
  • IOS开发之国际化篇第三章:故事版文本国际化

    在IOS的开发过程中,很多时候组件都是拖拉出来,直接在故事版(storyboard)上直接使用,而并没有做输出关联,或者有些UILabel只做显示,不会进行修改。所以在这种不会在代码中修改的情况下,就需要用到故事版的国际化,如图

    在xcode4.5之前,如果做故事版的国际化,是要维护多个storyboard,但在xcode4.5之后,国际化storyboard做国际化,就变成了一个storyboard,多个语言配置文件如图

    其中Main.storyboard为真实的故事版文件,Main.strings(Chinese(Simplified)) 和 Main.strings(English)文件为配置文件,根据支持不同的语言版本,会有不同的翻译

    看看下面的例子:

    Main.storyboard(Base):

    这里我们需要把kiss的文字做国际化,这里是个UIButton,点击需要国际化的控件,然后选择右边的属性如图,可以看到空间的object ID,这个ID就等于组件的国际化Key,然后在相应的国际化文件当中,修改它的value即可

    Main.strings(English)文件

    Main.strings(Chinese(Simplified))文件

    其中国际化文本文件中的object ID后跟的normalTitle为组件的属性名称

    这里我在这里分享一下使用故事版国际化的弊端,如有补充可以在留言给我,互相学习,看看下面我说的弊端有没有改进的方法

    • 故事版的国际化暂时没有同步机制,就是当你添加了一个新的组件如图,you按钮,相应的国际化文件,没有同步更新,需要手动再次查看object ID,然后进行添加
    • 复用性不强,假如有多个相同值得时候,重复编写多遍,例如,我现在有两个按钮,按钮的文字都为浏览,但是我需要在国际化文件当中添加两个object ID
    • 没有一份文档说明所有国际化话组件的属性名称,如果normalTitle,这种属性,没有可以提示到底这个属性的名称是什么

    这给个建议,可以解决以上3个弊端问题

    • 方法一:可以在整个程序基本完成后再做故事版的国际化
    • 方法二:可以重新创建国际化文件

  • 相关阅读:
    正则表达式
    浏览器 User-Agent 大全
    python3爬虫开发实战 第六课 爬虫基本流程
    python3爬虫开发实战 第五课 常用库的安装
    python3爬虫开发实战 第四课 MySQL
    python3爬虫开发实战 第三课 Redis数据库
    python3爬虫开发实战 第二课 MongoDB安装
    python3爬虫开发实战 第一课 python安装和Pycharm安装
    批处理——数据库
    Aop所需包
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/5249824.html
Copyright © 2011-2022 走看看