import Foundation import SwiftUI /// A simple container for localized text final class LocalizedText: ObservableObject { @Published var en: String @Published var de: String init(en: String, de: String) { self.en = en self.de = de } var id: String { en } func set(text: String, for language: ContentLanguage) { switch language { case .english: self.en = text case .german: self.de = text } } func getText(for language: ContentLanguage) -> String { switch language { case .english: return en case .german: return de } } @MainActor func text(for language: ContentLanguage) -> Binding { Binding( get: { self.getText(for: language) }, set: { newValue in self.set(text: newValue, for: language) } ) } }