【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 国际化切换语言的相关文章

Ubuntu 16.04上安装 Swift 3.0及问题解答_Swift

我们对"让 Swift 3.0 在更多的 Linux 系统上运行"这件事充满了热情,因此我们开始在 Ubuntu 16.04,即 Xenial Xerus,X86 系统上构建 Swift 3.0.安装过程十分简单,只需要添加我们的 APT 仓库,并使用 apt-get 就可以了.二进制文件会被安装到 /opt/swift/swift-3.0 目录下,所以在安装 3.0 版本后需要更新 path 路径.编辑手记:对于我们为什么使用 /opt/swift 而不是 /usr/bin/ 目录,

国际化-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语言》中文版 Swift 2.0 已经完成!

<Swift语言>中文版 Swift 2.0 已经完成!<The Swift Programming Language>简体中文版升级至 Swift 2.0. 1 开源项目完成难,维护更难. 大家看到的是发布时的瞩目和荣耀,却没有看到项目本身质量不高.错误频出.这并不是翻译者和校对者的问题,他们已经付出了足够的努力.真正的问题在我,没有建立起长期的维护团队,因此后期的校对和更新都难以实施. 1.0发布之后,我们就再也没能和苹果的文档同步.语法错误.编译不通过.语言不通顺,阅读量直线

【Swift 4.0】iOS 11 UICollectionView 长按拖拽删除崩溃的问题

功能 用 UICollectionView 实现两个 cell 之间的位置交互或者拖拽某个位置删除 问题 iOS 11 以上拖拽删除会崩溃,在 iOS 9.10 都没有问题       错误 017-10-11 11:38:02.692004+0800 MOCR[2585:1047221] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempting to

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 工程师.用户体验设

spring mvc4 动态切换语言不起作用

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

v聊聊 Swift 3.0 - 新版本对我们的影响

聊聊 Swift 3.0 - 新版本对我们的影响 Swift 近两年的发展势头非常的迅猛,而在它开源后,更是如井喷一样的势头,除了 iOS 平台,还支持了 Linux. 而今年下半年, Swift 3.0 也会随之发布.这次我就和大家聊一下 Swift 3.0 会有什么新东西吧. Swift 专门为版本更新相关的文档创建了一个 Guihub 主页,地址是 https://github.com/apple/swift-evolution . 这里面列出了 Swift 3.0 版本着重处理的地方,我