Platform Version Build Status Carthage compatible

Localize-Swift

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()

genstrings

为了支持这种新的 i18n 语法,Localize-Swift 包括自定义的 genstrings swift 脚本。

将 genstrings.swift 文件复制到项目的根文件夹中,并使用以下命令运行

./genstrings.swift

这将在终端中打印收集的字符串。选择并复制到你的默认 Localizable.strings 文件中。

该脚本可以指定要排除的目录和文件(通过编辑脚本)。

[推荐] 使用 Swift Package Manager 设置

Swift Package Manager 现在是分发 Localize-Swift 的首选工具。

从 Xcode 11+ 开始

  1. 选择 File > Swift Packages > Add Package Dependency。 在“Choose Package Repository”对话框中输入 https://github.com/marmelroy/Localize-Swift.git
  2. 在下一页中,将版本解析规则指定为“Up to Next Major”,版本号为“3.2.0”。
  3. Xcode 检出源代码并解析版本后,您可以选择“Localize-Swift”库并将其添加到您的应用程序目标。

有关更多信息,请阅读 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 设置

Carthage 是一个分散的依赖管理工具,它可以自动化将框架添加到您的 Cocoa 应用程序的过程。

您可以使用 Homebrew 通过以下命令安装 Carthage

$ brew update
$ brew install carthage

要使用 Carthage 将 Localize-Swift 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "marmelroy/Localize-Swift"

使用 CocoaPods 设置

source 'https://github.com/CocoaPods/Specs.git'
pod 'Localize-Swift', '~> 3.2'