// // ViewModel.swift // BreastFeedingDemo // // Created by Jay Zhang on 2022/6/5. // import Foundation class ViewModel { enum Language: String { case english case français = "french" case español = "spanish" } var env: String = "testing" var apiKey: String = "DLAB-customername-12345687" var region: String = "apac" var language: Language = .english { didSet { setupText() } } var landingPageTitle: String? var landingPageStep1: String? var landingPageStep2: String? var landingPageStep3: String? var landingPageStart: String? var congratulation: String? var completeBtn: String? var languagePack: [String: Any] { let languageFile = language.rawValue.appending(".json") let path: String = Bundle.main.path(forResource: languageFile, ofType: nil)! let nsUrl = URL(fileURLWithPath: path) let nsData = try! Data(contentsOf: nsUrl) let json = try! JSONSerialization.jsonObject(with: nsData) as! [String: Any] return json } var flutterArguments: String { let arguments: [String: Any] = [ "languagePack": languagePack, "env": env, "apiKey": apiKey, "region": region, ] let data = try? JSONSerialization.data(withJSONObject: arguments, options: []) let str = String(data: data!, encoding: String.Encoding.utf8) return str! } init() { language = .english setupText() } fileprivate func setupText() { switch language { case .english: landingPageTitle = "Breastfeeding posture AI coach" landingPageStep1 = "Put your device on a stable surface" landingPageStep2 = "Keep one meter away from the camera, and fit your body into the guide line. Session starts in 5 seconds after you click \"Start Now\" button" landingPageStep3 = "Camera permission is needed for AI coach. Your clothes will not affect the AI coach" landingPageStart = "Start Now" congratulation = "Congratulations!" completeBtn = "OK" case .français: landingPageTitle = "Coach AI en posture d'allaitement" landingPageStep1 = "Placez votre appareil sur une surface stable" landingPageStep2 = "Tenez-vous à un mètre de la caméra et placez votre corps dans la ligne de guidage. La session démarre dans 5 secondes après avoir cliqué sur le bouton \"Démarrer maintenant\"" landingPageStep3 = "L'autorisation de la caméra est nécessaire pour l'entraîneur AI. Vos vêtements n'affecteront pas l'entraîneur AI" landingPageStart = "Commencez maintenant" congratulation = "Toutes nos félicitations!" completeBtn = "OK" case .español: landingPageTitle = "Asistente de AI de postura de lactancia" landingPageStep1 = "Coloque su dispositivo en una superficie estable" landingPageStep2 = "Manténgase a un metro de distancia de la cámara y coloque su cuerpo en la línea. La sesión comienza en 5 segundos después de hacer clic en el botón \"Comenzar ahora\"" landingPageStep3 = "Se necesita permiso para acceder a la cámara para el asistente de IA. Su ropa no afectará al asistente de IA" landingPageStart = "Empezar ahora" congratulation = "¡Felicidades!" completeBtn = "DE ACUERDO" } } }