import Foundation #if os(macOS) import PostboxMac import SwiftSignalKitMac #else import Postbox import SwiftSignalKit #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: Decoder) { self.languageCode = decoder.decodeStringForKey("lc", orElse: "en") self.localization = decoder.decodeObjectForKey("loc", decoder: { Localization(decoder: $0) }) as! Localization } public func encode(_ encoder: Encoder) { 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 } }