mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
29 lines
839 B
Swift
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)
|
|
}
|