Files
ChWebsiteApp/CHDataManagement/Model/ContentLanguage.swift
2025-08-31 16:27:32 +02:00

74 lines
1.3 KiB
Swift

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 {
func text(days: Int) -> String {
switch self {
case .english: return "\(days) day\(days == 1 ? "" : "s")"
case .german: return "\(days) Tag\(days == 1 ? "" : "e")"
}
}
var locale: Locale {
switch self {
case .english: Locale(identifier: "en_US")
case .german: Locale(identifier: "de_DE")
}
}
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"
}
}
}