美文网首页
iOS 本地化,看我就够

iOS 本地化,看我就够

作者: 彡廿 | 来源:发表于2017-06-12 00:53 被阅读95次

    1.本地化字符串

    打开项目查看PROJECT-Info属性,找到 Localizables 区域,可以看到工程默认支持英文,可以点击 - 减号将其删除,也可以点击 +号,添加新的语言支持。

    image.png

    点击添加中文

    image.png

    点击 finish 按钮

    image.png

    现在项目中支持,中文,英文,阿拉伯语言。添加阿拉伯语言是为了下面将界面布局的国际化。

    新建一个文件,选择 String File

    image.png

    文件名命名为 Localizable.string 要注意一定要命名为 Localizable,大小敏感。

    点击 Localizable.string 文件

    image.png

    点击 Localize按钮

    image.png

    再点击 Localize按钮,可以看到

    image.png

    可以看到所有的本地化文件。

    image.png

    就是这几个文件管理着本地化的字符串内容。

    使用本地化字符串

    let str = NSLocalizedString("hello", comment: "hello")
    

    本地化图片

    本地图片不能是 Asset.scassets 中的图片,新建文件夹resource,拖入图片,点击图片

    image.png

    show in File inspector可以看到

    image.png

    把后缀是 lproj 的文件中的图片换了,名字保持一致。

    let image = UIImage(named: "advertisement_main_1@2x.jpg")
    

    这是一种方式,还有另一种方式。
    把需要本地化的图片,拖入 Assets.xcassets 中,命名不同国家的图片,根据字符串的本地化去取不同国家的图片。

    3.xib storyboard 的文件的本地化

    新建 xib 或者 storyboard 文件
    点击属性里的 localize按钮,添加支持的国家

    image.png image.png

    将 Localizable Strings 转换为 interface Builder Cocoa Touch XIB。然后根据进行不同的布局调整。

    4.补充,布局左右对齐的本地化

    在中东地区,他们的阅读书写方式是从右到左的,所以国际化的时候需要考虑到 RTL
    在 iOS9以后是默认是支持 RTL的,之前的是不支持的。

    UIView.appearance().semanticContentAttribute = .forceRightToLeft
    

    如果不管 iOS8以下用户的死活,默认就是支持的。如果要考虑用iOS8以下的用户,就要用到 xib storyboard 文件的本地化布局不同。

    image.png

    5.应用名字的本地化

    点击 info.plist 查看属性面板,点击 localize按钮添加各个国家的支持。

    image.png

    然后将 info.plist 文件中的 key值,写入 infoPlist.strings文件,并有对应值的即可达到本地化appName,以及其他相关东西。

    xcode 中所有非代码文件都可以添加本地化支持。

    点击文件,查看属性面板里是否有 localize 按钮,有的都可以添加本地化支持。

    如果还有新的本地化没有涉及到,请联系我,共同研究学习。

    相关文章

      网友评论

          本文标题:iOS 本地化,看我就够

          本文链接:https://www.haomeiwen.com/subject/rwpkqxtx.html