2024-09-22 11:42:47 +03:00

29 lines
839 B
Swift

import Foundation
import TelegramPresentationData
private let systemLocaleRegionSuffix: String = {
let identifier = Locale.current.identifier
if let range = identifier.range(of: "_") {
return String(identifier[range.lowerBound...])
} else {
return ""
}
}()
public let usEnglishLocale = Locale(identifier: "en_US")
public func localeWithStrings(_ strings: PresentationStrings) -> Locale {
var languageCode = strings.baseLanguageCode
// MARK: - Swiftgram fix for locale bugs, like location crash
if #available(iOS 18, *) {
let rawSuffix = "-raw"
if languageCode.hasSuffix(rawSuffix) {
languageCode = String(languageCode.dropLast(rawSuffix.count))
}
}
let code = languageCode + systemLocaleRegionSuffix
return Locale(identifier: code)
}