Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //TTS func
- func speakWord(speakText: String) {
- let string = speakText
- let utterance = AVSpeechUtterance(string: string)
- utterance.voice = AVSpeechSynthesisVoice(language: "es-ES")
- let synth = AVSpeechSynthesizer()
- synth.speak(utterance)
- }
- // ============ API translation ============
- func getTranslation() {
- let appId = "57223611"
- let appKey = "efb6a7d183a316f8e5552e779c7358b9"
- let language = "en"
- let target_lang = "es"
- let word = "student"
- let word_id = word.lowercased() //word id is case sensitive and lowercase is required
- let url = URL(string: "https://od-api.oxforddictionaries.com:443/api/v1/entries/\(language)/\(word_id)/translations=\(target_lang)")!
- var request = URLRequest(url: url)
- request.addValue("application/json", forHTTPHeaderField: "Accept")
- request.addValue(appId, forHTTPHeaderField: "app_id")
- request.addValue(appKey, forHTTPHeaderField: "app_key")
- let session = URLSession.shared
- _ = session.dataTask(with: request, completionHandler: { data, response, error in
- if let response = response,
- let data = data,
- let jsonData = try? JSONSerialization.jsonObject(with: data, options: .mutableContainers) {
- // print(response)
- // print(jsonData)
- print("getting data...")
- print("*********************")
- let jsonData = jsonData as! NSDictionary
- if let resultsArray = jsonData["results"] as? [Any] {
- // print(resultsArray)
- // print(resultsArray[0])
- if let firstResultsArray = resultsArray[0] as? NSDictionary{
- // print(firstResultsArray)
- if let lexicalEntries = firstResultsArray["lexicalEntries"] as? [Any] {
- // print(lexicalEntries)
- if let lexicalArrays = lexicalEntries as? [Any] {
- // print(lexicalArrays)
- if let lexicalArray = lexicalArrays[0] as? NSDictionary {
- // print(lexicalArray)
- if let entries = lexicalArray["entries"] as? [Any] {
- // print(entries)
- if let entry = entries[0] as? NSDictionary {
- // print(entry)
- if let senses = entry["senses"] as? [Any] {
- // print(senses)
- if let sense = senses[0] as? NSDictionary {
- // print(sense)
- // print("-------end------")
- if let trans = sense["translations"] as? [Any] {
- // print(trans)
- if let arr = trans[0] as? NSDictionary {
- // print(arr)
- // print("---")
- if let translatedText = arr["text"] as? String {
- print(translatedText)
- self.speakWord(speakText: "Esta palabra en espanol significa ," + translatedText)
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- } else {
- print(error)
- print(NSString.init(data: data!, encoding: String.Encoding.utf8.rawValue))
- print("====== ERROR ======")
- print("sorry, Oxford API doesn't have a translation for that word")
- }
- }).resume()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement