import Postbox public struct LocalizationInfo: PostboxCoding, Equatable { public let languageCode: String public let baseLanguageCode: String? public let customPluralizationCode: String? public let title: String public let localizedTitle: String public let isOfficial: Bool public let totalStringCount: Int32 public let translatedStringCount: Int32 public let platformUrl: String public init(languageCode: String, baseLanguageCode: String?, customPluralizationCode: String?, title: String, localizedTitle: String, isOfficial: Bool, totalStringCount: Int32, translatedStringCount: Int32, platformUrl: String) { self.languageCode = languageCode self.baseLanguageCode = baseLanguageCode self.customPluralizationCode = customPluralizationCode self.title = title self.localizedTitle = localizedTitle self.isOfficial = isOfficial self.totalStringCount = totalStringCount self.translatedStringCount = translatedStringCount self.platformUrl = platformUrl } public init(decoder: PostboxDecoder) { self.languageCode = decoder.decodeStringForKey("lc", orElse: "") self.baseLanguageCode = decoder.decodeOptionalStringForKey("nlc") self.customPluralizationCode = decoder.decodeOptionalStringForKey("cpc") self.title = decoder.decodeStringForKey("t", orElse: "") self.localizedTitle = decoder.decodeStringForKey("lt", orElse: "") self.isOfficial = decoder.decodeInt32ForKey("of", orElse: 0) != 0 self.totalStringCount = decoder.decodeInt32ForKey("tsc", orElse: 0) self.translatedStringCount = decoder.decodeInt32ForKey("lsc", orElse: 0) self.platformUrl = decoder.decodeStringForKey("platformUrl", orElse: "") } public func encode(_ encoder: PostboxEncoder) { encoder.encodeString(self.languageCode, forKey: "lc") if let baseLanguageCode = self.baseLanguageCode { encoder.encodeString(baseLanguageCode, forKey: "nlc") } else { encoder.encodeNil(forKey: "nlc") } if let customPluralizationCode = self.customPluralizationCode { encoder.encodeString(customPluralizationCode, forKey: "cpc") } else { encoder.encodeNil(forKey: "cpc") } encoder.encodeString(self.title, forKey: "t") encoder.encodeString(self.localizedTitle, forKey: "lt") encoder.encodeInt32(self.isOfficial ? 1 : 0, forKey: "of") encoder.encodeInt32(self.totalStringCount, forKey: "tsc") encoder.encodeInt32(self.translatedStringCount, forKey: "lsc") encoder.encodeString(self.platformUrl, forKey: "platformUrl") } }