mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-17 11:00:07 +00:00
39 lines
1.2 KiB
Swift
39 lines
1.2 KiB
Swift
import Foundation
|
|
#if os(macOS)
|
|
import PostboxMac
|
|
#else
|
|
import Postbox
|
|
#endif
|
|
|
|
public final class LocalizationSettings: PreferencesEntry, Equatable {
|
|
public let languageCode: String
|
|
public let localization: Localization
|
|
|
|
init(languageCode: String, localization: Localization) {
|
|
self.languageCode = languageCode
|
|
self.localization = localization
|
|
}
|
|
|
|
public init(decoder: PostboxDecoder) {
|
|
self.languageCode = decoder.decodeStringForKey("lc", orElse: "en")
|
|
self.localization = decoder.decodeObjectForKey("loc", decoder: { Localization(decoder: $0) }) as! Localization
|
|
}
|
|
|
|
public func encode(_ encoder: PostboxEncoder) {
|
|
encoder.encodeString(self.languageCode, forKey: "lc")
|
|
encoder.encodeObject(self.localization, forKey: "loc")
|
|
}
|
|
|
|
public func isEqual(to: PreferencesEntry) -> Bool {
|
|
if let to = to as? LocalizationSettings {
|
|
return self == to
|
|
} else {
|
|
return false
|
|
}
|
|
}
|
|
|
|
public static func ==(lhs: LocalizationSettings, rhs: LocalizationSettings) -> Bool {
|
|
return lhs.languageCode == rhs.languageCode && lhs.localization == rhs.localization
|
|
}
|
|
}
|