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个弊端问题

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

  • 相关阅读:
    滚动 冻结 div demo
    JavaScript去除字符串两边空格trim
    window.showModalDialog以及window.open用法简介
    转: 分享我创业4年失败的经历
    [转]JavaScript break跳出多重循环
    showModalDialog 传值及刷新
    防止文字撑开表格,强制表格大小
    带记忆功能的表单
    checkbox 全选
    asp教程:关于jquery跨域彻底的解决方法
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/5249824.html
Copyright © 2011-2022 走看看