import Foundation final class Settings: ObservableObject { @Published var paths: PathSettings /// The tags to show in the navigation bar @Published var navigationTags: [Tag] @Published var posts: PostSettings @Published var pages: PageSettings @Published var german: LocalizedPostSettings @Published var english: LocalizedPostSettings init(paths: PathSettings, navigationTags: [Tag], posts: PostSettings, pages: PageSettings, german: LocalizedPostSettings, english: LocalizedPostSettings) { self.paths = paths self.navigationTags = navigationTags self.posts = posts self.pages = pages self.german = german self.english = english } func localized(in language: ContentLanguage) -> LocalizedPostSettings { switch language { case .english: return english case .german: return german } } var outputDirectory: URL { URL(fileURLWithPath: paths.outputDirectoryPath) } }