【Swift 3.0】iOS 国际化切换语言

 有的 App 可能有切换语言的选项,结合系统自动切换最简单的办法:

fileprivate var localizedBundle: Bundle = {
    return Bundle(path: Bundle.main.path(forResource: "zh-Hans", ofType: "lproj")!)!
}()

public func LocalizedString(_ key: String, comment: String) -> String {
    let localText = NSLocalizedString(key, tableName: "Localizable", bundle: localizedBundle, comment: "")
    return localText == key ? comment :  localText
}

  代码说明:

    1、"Localizable" 指的是 Localizable.strings

    2、"zh-Hans" 这里强制指定中文

    3、如果强制指定就用上面的代码,否则可以直接用 NSLocalizedString(key, comment: "") 根据系统语言自动切换。

本文转自博客园农民伯伯的博客,原文链接:【Swift 3.0】iOS 国际化切换语言,如需转载请自行联系原博主。

时间: 2017-12-04
Tags: ios, path, string, swift

【Swift 3.0】iOS 国际化切换语言的相关文章

国际化-spring mvc4 动态切换语言不起作用

问题描述 spring mvc4 动态切换语言不起作用 我利用 SPRING4 MVC配置了动态切换语言,但是在页上点击中文.英文切换的时候不起作用.请高手看看 <?xml version=""1.0"" encoding=""UTF-8""?><beans xmlns=""http://www.springframework.org/schema/beans"" xm

安卓国际化,应用内切换语言

很多应用开发中,我们需要做多语言版本,安卓在这方面做的很好,下面就写一个简单的例子: 一.项目目录结构 这里对几个关键点进行说明下: drawable-hdpi 为我们默认的图片存放目录 drawable-en-hdpi 为英文版本对应的图片存放目录,当然ldpi\mdpi\xhdpi 也一样,如果需要,分别按这样的规则创建目录即可. values 为默认的配置文件目录 values-en 为英文版本的配置文件目录 values 目录下的strings.xml 内容为: <?xml versio

Swift 2.0初探: 值得注意的新特性

转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift 2.0,引入了很多新的特性,以帮助开发者能更快,更简单的构建应用.我在这里也说道说道Swift 2.0中值得大家注意的新特性. guard语句 guard语句和if语句有点类似,都是根据其关键字之后的表达式的布尔值决定下一步执行什么.但与if语句不同的是,guard语句只会

我们期待的 Swift 3.0 将会是什么样?

我们期待的 Swift 3.0 将会是什么样? -- 此调查来自官方的 Swift 社区 随着诸如协议扩展.错误处理等 Swift 2.0 新引入的强大特性发布,这都意味着苹果已经明确表示,它们非常积极地听取来自开发者社区的意见来帮助完善和改进这门语言.我们调查了几位使用 Swift 的开发者朋友,询问他们对下一个版本的 Swift 有何希冀,因此他们将在类型系统.协议以及工具等方面和我们一起分享他们的想法. Sash Zats Labgoo.Wondermall 的 iOS 工程师.用户体验设

使用Swift代码实现iOS手势解锁、指纹解锁实例详解_IOS

一.手势密码 1. 1.1.用UIButton组成手势的节点. 1.2.当手指接触屏幕时,调用重写的 touchesBegan:withEvent方法(在touchesBegan里调用setNeedsDisplay,这样就会自动调用drawRect方法). 1.3.当手指在屏幕上滑动时,调用重写的touchesEnded:withEvent方法. 这两个方法执行的操作是一样的:通过locationInView获取 触摸的坐标,然后用 CGRectContainsPoint 判断手指是否经过UIB

阿里云邮箱怎么切换语言

  如果您需要切换语言,请按如下步骤操作: 1.用您的用户密码和密码登录邮箱; 2.点击页面右上角的"切换语言"即可成功切换. 注:阿里云邮箱切换语言仅支持中文和英文.

IOS国际化

IOS国际化: 1.首先新建InfoPlist.strings文件和Localizable.strings文件,注意区分大小写, 2.然后在PROJECT中,选择Info,然后点击 Localizations, 出现一个界面,选择Localizable.strings文件,别选InfoPlist.strings文件, 确定后,就会生成两个文件,一个是base,也就是英语的, 另一个就是我们选择的,如果是Chinese(Simplified),就是简体中文, 然后在这两个文件中添加,即所谓的国际化

TracePro v7.0.4多国语言中文版图文安装指南

风信风(ithov.com)原创文章:TRACEPRO是一款用于追踪成像或非成像光机系统中光线传播的软件,它的功能非常全面.可以从透镜专业设计软件或CAD软件中导入模型,也可以直接在TracePro中建立三维模型.光源发出来的光线通过模型时,由于材质吸收.反射.透射.荧光效应和散射等原因,每束光的能量会减低. 软件http://www.aliyun.com/zixun/aggregation/18479.html">下载地址:TracePro v7.0.4多国语言中文版 下面风信网将详细的

string-android应用内切换语言,应用名称切换不过来

问题描述 android应用内切换语言,应用名称切换不过来 用了这个帖子中的方法http://my.oschina.net/jack1900/blog/290694?fromerr=HxWtLuYb 点击button后发现除了应用名称以外,其他的字符都改过来了 在我的manifest里面label的属性这样写的: 中英文的string我也都改过来了,不知道为什么还是改不过来 解决方案 http://jingyan.baidu.com/article/2fb0ba40b7893600f2ec5f9

iOS国际化为什么不切换语言

问题描述 添加.string后 NSLocalizedString(@"key", @"");语言不切换成中文 解决方案 你拷贝国家化文件到工程中,然后将右侧勾选上,如果这样的操作还是不行,那你就直接手动改成中文的解决方案二:帮你邀请了大牛 @dujiepeng解决方案三:添加国际化文件之后还是不能修改成中文么解决方案四:看下这个http://www.cnblogs.com/zhidao- ... .html,你的InfoPlist.strings和localiza