// // Localization.swift // MioIsland AirDrop Plugin // // zh/en string map. Host's `appLanguage` UserDefault is the source // of truth, with "auto" falling back to system locale. // import Foundation enum L10n { static var isChinese: Bool { let setting = UserDefaults.standard.string(forKey: "appLanguage") ?? "auto" switch setting { case "zh": return true case "en": return false default: if let code = Locale.current.language.languageCode?.identifier, code.hasPrefix("zh") { return true } if let pref = Locale.preferredLanguages.first, pref.hasPrefix("zh") { return true } return false } } // MARK: - Title / primary CTA static var title: String { isChinese ? "隔空投送" : "AirDrop" } static var chooseFiles: String { isChinese ? "选择文件" : "Choose files" } static var clickToChoose: String { isChinese ? "点击选择要发送的文件" : "Tap to pick files to send" } static var choose: String { isChinese ? "选择" : "Choose" } static var chooseFilesTitle: String { isChinese ? "选择要通过隔空投送发送的文件" : "Choose files to AirDrop" } // MARK: - Status static var opening: String { isChinese ? "正在打开隔空投送…" : "Opening AirDrop…" } static func sentCount(_ n: Int) -> String { isChinese ? "✓ 已发送 \(n) 个文件" : "✓ Sent \(n) file\(n == 1 ? "" : "s")" } // MARK: - Errors static var errServiceUnavailable: String { isChinese ? "隔空投送服务不可用(系统可能未开启)" : "AirDrop service unavailable (check System Settings)" } static var errCannotPerform: String { isChinese ? "这些文件无法通过隔空投送发送" : "These files cannot be sent via AirDrop" } // MARK: - Host upgrade hint static var hostUpgradeTitle: String { isChinese ? "需要 Mio Island v2.2.0+" : "Mio Island v2.2.0+ required" } static var hostUpgradeHint: String { isChinese ? "请升级主 app 以启用本插件" : "Please upgrade Mio Island to unlock this plugin" } }