语言管理器用于处理在不需要重启应用的情况下更改应用语言
屏幕截图
LanguageManager-iOS + Lokalise
有关与 Lokalise 集成的 LanguageManger-iOS,请访问 LanguageManager-iOS-Lokalise 仓库。
用法
首先,记得将 Localizable.strings
添加到你的项目中,在添加了 Localizable.strings
文件后,选择它然后转到文件检查器,在本地化下面点击本地化,然后转到 PROJECT > Localisation
然后添加你想要支持的 languages(例如阿拉伯语),会出现一个对话框询问你想要本地化的资源文件,只选择 Localizable.strings
文件。
现在,转到你的 storyboard,并添加 UILabel
并添加到它里面的文本,比如 "Hello !"
,然后转到你的 Localizable.strings
文件,展开它,你会找到为英语和阿拉伯语提供的 Localizable strings 文件,为英语输入以下行中的字符串你刚才在 storyboard 的 UILabel
中放入的
"Hello !" = "Hello !";
并为阿拉伯语文件
"Hello !" = "مرحبا !";
之后,在 AppDelegate.swift 的 didFinishLaunchingWithOptions 中设置你的默认语言,你的应用将首次运行
LanguageManager.shared.defaultLanguage = .en // you can use .deviceLanguage to keep the device language.
如果你想要更改语言,通过传递到 setLanguage(language:)
方法的新语言来使用它
@IBAction func changeLanguage(_ sender: UIButton) {
let selectedLanguage: Languages = sender.tag == 1 ? .en : .ar
// change the language
LanguageManager.shared.setLanguage(language: selectedLanguage)
{ title -> UIViewController in
let storyboard = UIStoryboard(name: "Main", bundle: nil)
// the view controller that you want to show after changing the language
return storyboard.instantiateInitialViewController()!
} animation: { view in
// do custom animation
view.transform = CGAffineTransform(scaleX: 2, y: 2)
view.alpha = 0
}
}
如果您有一张图片,并且想要根据语言改变图片的方向,可以使用图片方向属性,该属性可以是以下值之一
-fixed
:如果图片必须在语言改变时不改变方向,您需要将值设置为0。
-leftToRight
:如果图片必须在语言改变时改变方向,且图像是左到右的图像,则需要将值设置为1。
-:如果图片必须在语言改变时改变方向,且图像是右到左的图像,则需要将值设置为2。
请查看示例项目以了解其工作原理。
安装
LanguageManager-iOS 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'LanguageManager-iOS'
或者您可以使用 Carthage。
github "Abedalkareem/LanguageManager-iOS"
您还可以使用 Swift 包管理器。
🚀
支持我您可以通过以下方式支持这个项目:
1- 查看我的 应用。
2- 点赞仓库。
3- 将仓库分享给您的朋友。
❤️
关注我Facebook | Twitter | Instagram | Youtube
许可证
The MIT License (MIT)
Copyright (c) 2017 Abedalkareem
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.