91 return self.tr("A valid Yandex key is required."), False |
91 return self.tr("A valid Yandex key is required."), False |
92 |
92 |
93 params = QByteArray( |
93 params = QByteArray( |
94 "key={0}&lang={1}-{2}&text=".format( |
94 "key={0}&lang={1}-{2}&text=".format( |
95 apiKey, originalLanguage, translationLanguage).encode("utf-8")) |
95 apiKey, originalLanguage, translationLanguage).encode("utf-8")) |
96 encodedText = QByteArray(Utilities.html_encode(text).encode("utf-8"))\ |
96 encodedText = ( |
|
97 QByteArray(Utilities.html_encode(text).encode("utf-8")) |
97 .toPercentEncoding() |
98 .toPercentEncoding() |
|
99 ) |
98 request = params + encodedText |
100 request = params + encodedText |
99 response, ok = requestObject.post(QUrl(self.TranslatorUrl), request) |
101 response, ok = requestObject.post(QUrl(self.TranslatorUrl), request) |
100 if ok: |
102 if ok: |
101 try: |
103 try: |
102 responseDict = json.loads(response) |
104 responseDict = json.loads(response) |
105 |
107 |
106 if responseDict["code"] != 200: |
108 if responseDict["code"] != 200: |
107 try: |
109 try: |
108 error = self.__errors[responseDict["code"]] |
110 error = self.__errors[responseDict["code"]] |
109 except KeyError: |
111 except KeyError: |
110 error = self.tr("Unknown error code ({0}) received.")\ |
112 error = self.tr( |
111 .format(responseDict["code"]) |
113 "Unknown error code ({0}) received." |
|
114 ).format(responseDict["code"]) |
112 return error, False |
115 return error, False |
113 |
116 |
114 sentences = responseDict["text"] |
117 sentences = responseDict["text"] |
115 result = "" |
118 result = "" |
116 for sentence in sentences: |
119 for sentence in sentences: |