import Foundation enum ContentLanguage: String { case english = "en" case german = "de" } extension ContentLanguage: Codable { } extension ContentLanguage: CaseIterable { } extension ContentLanguage: Hashable { } extension ContentLanguage: Identifiable { var id: String { rawValue } } extension ContentLanguage: Comparable { static func < (lhs: ContentLanguage, rhs: ContentLanguage) -> Bool { lhs.rawValue < rhs.rawValue } } extension ContentLanguage { var next: ContentLanguage { switch self { case .english: return .german case .german: return .english } } var text: String { switch self { case .english: return "English" case .german: return "German" } } var shortText: String { switch self { case .english: "EN" case .german: "DE" } } }