LanguageKit 0.1.5

LanguageKit 0.1.5

Gary Law维护。



LanguageKit

CI Status Version License Platform

LanguageKit是一个iOS库,用于轻松切换不同的语言。它使用CSV文件轻松编辑和共享字符串。

正在进行中,可能无法按预期工作。

特性

  • 基于CSV的字符串文件
  • 程序性或Storyboard
  • 在切换UIViewControllers之间自动更新

示例

要运行示例项目,首先将仓库克隆,然后在“Example”目录中运行pod install

安装

LanguageKit可通过CocoaPods获取。安装它,只需将以下行添加到Podfile中

pod 'LanguageKit'

它是如何工作的

准备字符串文件

你需要一个CSV格式的字符串文件,如下所示。
示例项目包含一个示例。(Localizable.csv)

|键|en|zh-Hant|zh-Hans|ja||-------------|-------------|-----||language.name|English|繁體中文|简体中文|日本語||button|Button|按鍵|按键|ボタン|

语言键

区域名称(en-US/zh-Hant)实际上并不重要,只是供你自己参考。你可以任意指定,包括en-US的两个不同版本。

单词键

建议为每个字符串使用一个键,但也可以在字符串之间进行翻译。

使用字符串文件配置

在你的AppDelegate中

	LanguageKit.shared.setup(filename: "Localizable.csv")	//or your own strings file
	LanguageKit.shared.setLanguage(language: "en-US")		//setup language

获取本地化字符串

使用方法

	"button".localized

切换语言

	LanguageKit.shared.setLanguage(language: "ja")

LanguageKit会查找您提供的字符串并返回翻译版本。

从Storyboard/XIB自动翻译字符串

如果你正在使用UIViewController或UITableViewController,或者从它们继承。为你创建了一个自定义IBOutlet - languageComponent。只需将控件与其关联即可。

支持的UI控件

  • UILabel
  • UIButton
  • UISearchBar (占位符)
  • UITextField (占位符)
  • UISegmentControl
  • UITabBar
  • UINavigationBar的titleItem

语言系统

库中包含两种语言系统

运行时语言切换器(默认)

你可以随时切换语言,

系统语言切换器(需要重启)

在应用中,有许多组件是运行时不可更改的(例如,默认的UINavigationController返回按钮,SafariWebViewController,权限对话框等。)

如果你需要对它们进行本地化,你需要使用

	LanguageKit.shared.setLanguage(language: "ja", asSystemLanguage: true)

这将弹出一个对话框,通知应用重启。

作者

Gary Law, [email protected], @garyworks

许可协议

LanguageKit 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。