TSRTLManage.swift 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // TSRTLManage.swift
  3. // Pods
  4. //
  5. // Created by 100Years on 2025/6/17.
  6. //
  7. public class TSRTLManage {
  8. public static let appLanguage: String = {
  9. let systemLanguages = UserDefaults.standard.value(forKey: "AppleLanguages")
  10. var currentLanguage: String?
  11. if let arr = systemLanguages as? [String] {
  12. currentLanguage = arr.first
  13. }
  14. else if let str = systemLanguages as? String {
  15. currentLanguage = str
  16. }
  17. return currentLanguage ?? ""
  18. }()
  19. static func isArabicSupported() -> Bool {
  20. // 获取项目支持的所有本地化语言,检查是否包含阿拉伯语("ar")
  21. return Bundle.main.localizations.contains("ar")
  22. }
  23. public static func setUpInit () {
  24. if kIsRTL {
  25. UIView.appearance().semanticContentAttribute = UISemanticContentAttribute.forceRightToLeft
  26. }
  27. }
  28. public static func isRTL () -> Bool {
  29. return appLanguage.hasPrefix("ar") && isArabicSupported()
  30. }
  31. }
  32. public var kIsRTL: Bool {
  33. return TSRTLManage.isRTL()
  34. }
  35. public extension UIImage {
  36. public var mirrored: UIImage {
  37. guard kIsRTL else {
  38. return self
  39. }
  40. return imageFlippedForRightToLeftLayoutDirection()
  41. }
  42. }