• iOS 开发 初级:应用多语言化的方法


    要使应用多语言化在Xcode中实现起来其实是相当容易的。对于大多数的应用,多语言化主要在于文字的多语言化,其他的诸如图形,界面的多语言化一般的应用并不会涉及。当然,这些在Xcode中都可以实现。下面主要介绍一下文字多语言化的方法。


    Step 1:为应用添加多语言版本


    这个很简单,在project中info下有localizations,点击+添加所需要的版本,这时会弹出对话框显示要添加语言版本的内容。


    这里面包含了storyboard,infoPlist.strings。如果要实现产品名称的多语言化,应包含infoPlist.strings。同时也可以看到我们可以直接在storyboard中实现比如按钮,图片的多语言。对于Localizable.strings,是针对文字的多语言,在下面会讲到。这个要手动添加。


    Step 2:编程中的变化

    要实现多语言,在编程中就不能直接用NSString 了,而是使用

    NSLocalizedString(key, comment)

    介绍一下基本用法:key是对应显示的NSString,comment则为注释。基本的原理就是有不同版本的Localizable.strings,相同的注释在不同语言版本中key不一样,这样显示的时候不同的语言界面显示的语言就不一样。


    Step 3:获取Localizable.strings

    打开Terminal终端:

    然后将地址换到工程所在文件夹。基本方法是输入“cd ”然后将工程文件夹拉进其窗口。

    然后输入 genstrings ./LocalizeMe/*.m 这里LocalizeMe是我这里例子的项目名称。要改成你项目的名称。 回车,然后打开工程文件夹,你就可以看到Localizable.strings文件,将其拉进Xcode项目中。


    打开文件可以看到如下类似内容,Localizable.strings 包含你的项目中所有使用NSLocalizedString的内容。


    这里的注释就是comment,而下面的“Three”=“Three”,左边的字符串就是Key。


    Step 4:编辑Localizable.strings

    如果你这时候还没有针对Localizable.strings这个文件进行多语言化也没关系。如下图:

    点击这个文件,然后打开属性,可以看到右边有Localization选项,比如我要添加中文版,那就在Chinese上打钩,这样这个文件就会自动添加一个Chinese版本。


    接下来就是点击这个Chinese版本进行编辑:


    把每个对应的key的内容改成中文的就OK了。

    现在运行程序,如果手机是中文的,那么显示的就是中文内容,如果是英文的,那就是英文内容。


    Step 5:应用名称多语言化

    这个很简单,在infoPlist.strings中输入

    CFBundleDisplayName = "应用名";

    就可以了。


    以上就是最基本的实现多语言化的方法。要更进一步的话,还有数据类型多语言化,比如货币,时间等等, 这些内容有待深入研究!






  • 相关阅读:
    vue基础04计算属性
    vue基础01条件渲染
    vue基础14vuex
    其他03动态拼接地址,使用本地的图片不显示
    其他05vue中ref
    HTML基础02CSS
    其他12es6...运算符
    其他11依赖注入
    其他07插槽
    其他06js类型判断
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3003850.html
Copyright © 2020-2023  润新知