Advertisement
Guest User

Untitled

a guest
Jul 13th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 4.68 KB | None | 0 0
  1.     //TTS func
  2.     func speakWord(speakText: String) {
  3.         let string = speakText
  4.         let utterance = AVSpeechUtterance(string: string)
  5.         utterance.voice = AVSpeechSynthesisVoice(language: "es-ES")
  6.        
  7.         let synth = AVSpeechSynthesizer()
  8.         synth.speak(utterance)
  9.     }
  10.  
  11.  
  12.  
  13. // ============ API translation ============
  14.     func getTranslation() {
  15.        
  16.         let appId = "57223611"
  17.         let appKey = "efb6a7d183a316f8e5552e779c7358b9"
  18.         let language = "en"
  19.         let target_lang = "es"
  20.         let word = "student"
  21.         let word_id = word.lowercased() //word id is case sensitive and lowercase is required
  22.         let url = URL(string: "https://od-api.oxforddictionaries.com:443/api/v1/entries/\(language)/\(word_id)/translations=\(target_lang)")!
  23.         var request = URLRequest(url: url)
  24.         request.addValue("application/json", forHTTPHeaderField: "Accept")
  25.         request.addValue(appId, forHTTPHeaderField: "app_id")
  26.         request.addValue(appKey, forHTTPHeaderField: "app_key")
  27.        
  28.         let session = URLSession.shared
  29.         _ = session.dataTask(with: request, completionHandler: { data, response, error in
  30.         if let response = response,
  31.         let data = data,
  32.         let jsonData = try? JSONSerialization.jsonObject(with: data, options: .mutableContainers) {
  33. //        print(response)
  34. //        print(jsonData)
  35.             print("getting data...")
  36.             print("*********************")
  37.            
  38.             let jsonData = jsonData as! NSDictionary
  39.            
  40.             if let resultsArray = jsonData["results"] as? [Any] {
  41.                 //                                        print(resultsArray)
  42. //                                    print(resultsArray[0])
  43.                 if let firstResultsArray = resultsArray[0] as? NSDictionary{
  44.                     //                        print(firstResultsArray)
  45.                     if let lexicalEntries = firstResultsArray["lexicalEntries"] as? [Any] {
  46.                         //                            print(lexicalEntries)
  47.                         if let lexicalArrays = lexicalEntries as? [Any] {
  48.                             //                                print(lexicalArrays)
  49.                             if let lexicalArray = lexicalArrays[0] as? NSDictionary {
  50.                                 //                                    print(lexicalArray)
  51.                                 if let entries = lexicalArray["entries"] as? [Any] {
  52.                                     //                                        print(entries)
  53.                                     if let entry = entries[0] as? NSDictionary {
  54.                                         //                                            print(entry)
  55.                                         if let senses = entry["senses"] as? [Any] {
  56.                                             //                                                print(senses)
  57.                                             if let sense = senses[0] as? NSDictionary {
  58. //                                                                                                    print(sense)
  59. //                                                print("-------end------")
  60.                                                 if let trans = sense["translations"] as? [Any] {
  61. //                                                    print(trans)
  62.                                                     if let arr = trans[0] as? NSDictionary {
  63. //                                                        print(arr)
  64. //                                                        print("---")
  65.                                                         if let translatedText = arr["text"] as? String {
  66.                                                             print(translatedText)
  67.                                                             self.speakWord(speakText: "Esta palabra en espanol significa ," + translatedText)
  68.  
  69.                                                         }
  70.                                                     }
  71.                                                 }
  72.                                                 }
  73.                                             }
  74.                                     }
  75.                                     }
  76.                                 }
  77.                             }
  78.                         }
  79.                     }
  80.                 }
  81.         } else {
  82.         print(error)
  83.         print(NSString.init(data: data!, encoding: String.Encoding.utf8.rawValue))
  84.             print("====== ERROR ======")
  85.             print("sorry, Oxford API doesn't have a translation for that word")
  86.         }
  87.         }).resume()
  88.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement