InAppLocalization
Swift 亲友好用的应用程序内本地化。一种轻松本地化您的应用程序,不限于系统语言的方法。
iOS 作为移动设备操作系统相当古老。正如其他旧的软件一样,iOS 也存在一些不适宜现代应用程序设计的问题/错误/解决方案。这些问题之一是与设备语言相关的本地化系统。
此库帮助您解决与此问题相关的两个基本挑战
- 提供设置、更改并最终从应用程序中删除语言的模式和解决方案
- 提供简单的方法来使用应用程序语言本地化您的视图基本元素(UILabel、UIButton 等)
优点
- 简单的方法来扩展基础语言集(扩展
Language
模型) - 简单的方法来保持本地化键的有序组织(扩展
LocalizationKeys
模型) - 使用
.localized()
或localize(LocalizedKeys.Path.To.Your.Key)
的“swifty”方法本地化字符串 - 继续使用标准的 Localizable.strings 文件
- 简单的方法在使用旧项目时使用库
- 更改语言/本地化而无需重启应用程序(存在限制)
库应尽可能简单和可修改。这就是我们不提供任何 UI 组件以及不处理语言更改时屏幕重绘的主要原因。
限制:(已知问题)
- 系统组件(如
UIBarButtonItem.SystemItem.done
)的本地化- 如您所见,一些 UI 组件已本地化
- storyboards 的本地化
- 尚未实现
⚠️ 需求
- iOS 9.0+
- Swift 4.1+
- Xcode 9.4.1+