ios 国际化设置及默认语言设置

配置国际化语言

  • 项目工程Project —> info —> localization
    点击 +,添加支持的语言
    ios 国际化设置及默认语言设置_第1张图片
  • 添加简体中文
    ios 国际化设置及默认语言设置_第2张图片
  • 同理可以添加其他任何语言

配置应用名称

  • 选中info.plist –> 快捷键(command + N) –> 选中String File –> next –> Save As
  • Save As 命名必须是InfoPlist
    ios 国际化设置及默认语言设置_第3张图片
    ios 国际化设置及默认语言设置_第4张图片
  • 选中上一步创建好的InfoPlist.strings文件,点击Xcode右上角展开右侧边栏。点击Localize
    ios 国际化设置及默认语言设置_第5张图片
  • 选中InfoPlist.strings文件,勾选所需的本地化语言
    ios 国际化设置及默认语言设置_第6张图片
  • 此时你会发现InfoPlist.strings变成了一个目录,点开三角号,如图:
    ios 国际化设置及默认语言设置_第7张图片
  • 点击English的strings,写入CFBundleDisplayName = “hello, world!”;。句子的分号必不可少,不论是swift语言。
    ios 国际化设置及默认语言设置_第8张图片
  • 简写中文同理,CFBundleDisplayName = “你好,世界!”;
    ios 国际化设置及默认语言设置_第9张图片
  • 效果图示:
    ios 国际化设置及默认语言设置_第10张图片
    ios 国际化设置及默认语言设置_第11张图片

配置内容文本

应用场景:假如APP中有个设置按钮,简体中文中命名为设置,english命名为setting

  • 点击Info.plist –> 快捷键(command + N) –> 选中Strings File –> next –> Save As 命名必须为Localizable
    ios 国际化设置及默认语言设置_第12张图片
  • 选中新建的Localizable.strings文件,同样打开右侧边栏,点击Localize
  • 打开Localizable.strings文件。选中English,添加映射”settingBtnTitle” = “setting”;
    ios 国际化设置及默认语言设置_第13张图片
  • 选中Simplified,添加映射”settingBtnTitle” = “设置”;
    ios 国际化设置及默认语言设置_第14张图片
  • 实例代码如下:
override func viewDidLoad() {
        super.viewDidLoad()

        let settingBtn = UIButton()
        settingBtn.center = view.center
        settingBtn.bounds = CGRect(x: 0, y: 0, width: 100, height: 100)
        settingBtn.backgroundColor = .red

        //MARK: 命名
        settingBtn.setTitle(NSLocalizedString("settingBtnTitle", comment: ""), for: .normal)

        view.addSubview(settingBtn)
    }
  • 效果如图:
    ios 国际化设置及默认语言设置_第15张图片
    ios 国际化设置及默认语言设置_第16张图片

配置默认语言

应用场景:假如需求为,只配置简体中文和英文。而非中国国家默认配置为英文。
* 打开Edit Scheme –> 选中Run –> Options –> Application Language 切换为默认的语言
ios 国际化设置及默认语言设置_第17张图片

相关方法

  1. localizedStringForKey:value:table:方法如果在本地字符串文件中找不到对应key, 则默认返回value参数的中传入的值。

  2. 参考
  3. https://www.jianshu.com/p/1aee4cbeed75
  4. https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPInternational/TestingYourInternationalApp/TestingYourInternationalApp.html#//apple_ref/doc/uid/10000171i-CH7-SW1

你可能感兴趣的:(iOS)