147 """ Translation service."""), |
147 """ Translation service."""), |
148 False) |
148 False) |
149 |
149 |
150 accessToken = self.__getAccessToken(requestObject) |
150 accessToken = self.__getAccessToken(requestObject) |
151 if not accessToken: |
151 if not accessToken: |
152 return (self.tr("No valid access token available."), False) |
152 return ( |
|
153 self.tr("MS Translator: No valid access token available."), |
|
154 False |
|
155 ) |
153 |
156 |
154 authHeader = (b"Authorization", |
157 authHeader = (b"Authorization", |
155 "Bearer {0}".format(accessToken).encode("utf-8")) |
158 "Bearer {0}".format(accessToken).encode("utf-8")) |
156 params = "?appid=&from={0}&to={1}&text={2}".format( |
159 params = "?appid=&from={0}&to={1}&text={2}".format( |
157 self.__mapLanguageCode(originalLanguage), |
160 self.__mapLanguageCode(originalLanguage), |
165 response.startswith("<string") and |
168 response.startswith("<string") and |
166 response.endswith("</string>") |
169 response.endswith("</string>") |
167 ): |
170 ): |
168 result = response.split(">", 1)[1].rsplit("<", 1)[0] |
171 result = response.split(">", 1)[1].rsplit("<", 1)[0] |
169 else: |
172 else: |
170 result = self.tr("No translation available.") |
173 result = self.tr("MS Translator: No translation available.") |
171 ok = False |
174 ok = False |
172 return result, ok |
175 return result, ok |
173 |
176 |
174 def getTextToSpeechData(self, requestObject, text, language): |
177 def getTextToSpeechData(self, requestObject, text, language): |
175 """ |
178 """ |
188 """ Translation service."""), |
191 """ Translation service."""), |
189 False) |
192 False) |
190 |
193 |
191 accessToken = self.__getAccessToken(requestObject) |
194 accessToken = self.__getAccessToken(requestObject) |
192 if not accessToken: |
195 if not accessToken: |
193 return (self.tr("No valid access token available."), False) |
196 return ( |
|
197 self.tr("MS Translator: No valid access token available."), |
|
198 False |
|
199 ) |
194 |
200 |
195 params = "?language={0}&format={1}&options={2}&text={3}".format( |
201 params = "?language={0}&format={1}&options={2}&text={3}".format( |
196 self.__mapLanguageCode(language), |
202 self.__mapLanguageCode(language), |
197 "audio/wav", |
203 "audio/wav", |
198 "MaxQuality", |
204 "MaxQuality", |
200 authHeader = (b"Authorization", |
206 authHeader = (b"Authorization", |
201 "Bearer {0}".format(accessToken).encode("utf-8")) |
207 "Bearer {0}".format(accessToken).encode("utf-8")) |
202 url = QUrl(self.TextToSpeechUrl + params) |
208 url = QUrl(self.TextToSpeechUrl + params) |
203 data, ok = requestObject.get(url, extraHeaders=[authHeader]) |
209 data, ok = requestObject.get(url, extraHeaders=[authHeader]) |
204 if not ok: |
210 if not ok: |
205 data = self.tr("No Text-to-Speech for the selected language" |
211 data = self.tr("MS Translator: No Text-to-Speech for the selected" |
206 " available.") |
212 " language available.") |
207 return data, ok |
213 return data, ok |