Skip to content

Commit 51c04d3

Browse files
authored
Merge pull request #998 from jfbercher/nbTranslate
[nbTranslate] update to google API modifications
2 parents 36dbba7 + df98925 commit 51c04d3

File tree

1 file changed

+15
-18
lines changed
  • src/jupyter_contrib_nbextensions/nbextensions/nbTranslate

1 file changed

+15
-18
lines changed

src/jupyter_contrib_nbextensions/nbextensions/nbTranslate/nbTranslate.js

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -163,24 +163,20 @@ function translateCurrentCell() {
163163
var translated_text = "";
164164
if (conf.useGoogleTranslate) {
165165
var url = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" + conf.sourceLang + "&tl=" + conf.targetLang + "&dt=t&q=" + encodeURIComponent(sourceText);
166-
var result = $.get(url, function(data) {
167-
var translated_text = processGoogleTranslateResponse(data);
168-
})
169-
170-
result.fail(function(data) {
171-
if (data.status == 200) {
172-
var translated_text = processGoogleTranslateResponse(data);
166+
var result = $.get(url)
167+
.done(function(data, text, obj) {
168+
if (obj.status == 200) {
169+
var translated_text = processGoogleTranslateResponse(obj.responseJSON);
173170

174171
} else {
175172
var translated_text = sourceText;
176173
}
177-
//console.log("Translated", translated_text)
178174

179175
translated_text = restoreHtml([html_and_text[0], translated_text])
180176
translated_text = restoreMaths([maths_and_text[0], translated_text])
181177
translated_text =
182-
translated_text.replace(/\\label{([\s\S]*?)}/g, function(m0,m1){return "\\label{"+m1+"_"+conf.targetLang+"}"})
183-
.replace(/\\ref{([\s\S]*?)}/g, function(m0,m1){return "\\ref{"+m1+"_"+conf.targetLang+"}"})
178+
translated_text.replace(/\\label{([\s\S]*?)}/g, function(m0,m1){return "\\label{"+m1+"-"+conf.targetLang+"}"})
179+
.replace(/\\ref{([\s\S]*?)}/g, function(m0,m1){return "\\ref{"+m1+"-"+conf.targetLang+"}"})
184180
insertTranslatedCell(translated_text, cell.rendered)
185181
})
186182
} else {
@@ -189,26 +185,27 @@ function translateCurrentCell() {
189185
}
190186

191187

192-
function processGoogleTranslateResponse(data) {
188+
function processGoogleTranslateResponse(responseJSON) {
193189
var translated_text = "";
194-
var list_paragraphs = data.responseText.match(/\[\"([\S\s]*?)\",/g)
190+
191+
var list_paragraphs = responseJSON[0]
192+
//var list_paragraphs = data.responseText.match(/\[\"([\S\s]*?)\",/g)
195193

196194
list_paragraphs.forEach(
197195
function(elt) {
198-
translated_text += elt.substring(2, elt.length - 2)
196+
translated_text += elt[0] //.substring(2, elt.length - 2)
199197
})
200198
translated_text = translated_text.replace(/([^\\])\\n/g, "$1\n").replace(/([^\\])\\n/g, "$1\n")
201199
.replace(/\\\\/g, "\\") // unescape
202200
.replace(/\\"/g, '"') // replace double quotes
203201
.replace(/\\u003c([\*|_|@]{1,2})\\u003e\s*([\s\S]*?)\s*\\u003c\1\\u003e/g, function(m0,m1,m2){return m1+m2+m1})
204-
205-
// console.log("Translated", translated_text)
206-
202+
.replace(/<([\*|_|@]{1,2})>\s*([\s\S]*?)\s*<\1>/g, function(m0,m1,m2){return m1+m2+m1})
203+
207204
/*for (item in mdReplacements) {
208205
var pattern = new RegExp(mdReplacements[item], 'gmi');
209206
translated_text = translated_text.replace(pattern, item);
210-
}
211-
*/
207+
}*/
208+
212209
// Remove spurious md remaining
213210
translated_text = translated_text.replace(/\\u003c([\*|_|@]{1,2})\\u003e/g, "")
214211
// Remove extra spaces in markdown

0 commit comments

Comments
 (0)