Localize-Swift 是一个简单的框架,它改进了 Swift iOS 应用程序中的 i18n 和本地化 - 提供更简洁的语法和应用内语言切换。
在每个包含本地化文本的 Swift 文件的顶部导入 Localize。
如果使用 CocoaPods -
import Localize_Swift
在任何要翻译的 String
对象后添加 .localized()
textLabel.text = "Hello World".localized()
获取可用本地化语言的数组
Localize.availableLanguages()
更改当前语言
Localize.setCurrentLanguage("fr")
要在可以进行语言更改的视图控制器中更新 UI,请观察 LCLLanguageChangeNotification
NotificationCenter.default.addObserver(self, selector: #selector(setText), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil)
重置回默认的应用语言
Localize.resetCurrentLanguageToDefault()
为了支持这种新的 i18n 语法,Localize-Swift 包括自定义的 genstrings swift 脚本。
将 genstrings.swift 文件复制到项目的根文件夹中,并使用以下命令运行
./genstrings.swift
这将在终端中打印收集的字符串。选择并复制到你的默认 Localizable.strings 文件中。
该脚本可以指定要排除的目录和文件(通过编辑脚本)。
Swift Package Manager 现在是分发 Localize-Swift 的首选工具。
从 Xcode 11+ 开始
https://github.com/marmelroy/Localize-Swift.git
。有关更多信息,请阅读 Apple 提供的 Adding Package Dependencies to Your App。
或者,您也可以将 Localize-Swift 添加到您的 Package.swift
文件中
dependencies: [
.package(url: "https://github.com/marmelroy/Localize-Swift.git", .upToNextMajor(from: "3.2.0"))
]
Carthage 是一个分散的依赖管理工具,它可以自动化将框架添加到您的 Cocoa 应用程序的过程。
您可以使用 Homebrew 通过以下命令安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 Localize-Swift 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "marmelroy/Localize-Swift"
source 'https://github.com/CocoaPods/Specs.git'
pod 'Localize-Swift', '~> 3.2'