Я пытаюсь использовать Google AJAX Language API для перевода каждого значения в массив.
for(var n=0; n < mytext.length; n++) {
google.language.translate(mytext[n], originalLanguage, newLanguage, function(result){
if(!result.error){
document.getElementById("caption") += mytext[n]+" has been translated to "+result.translation;
}
})
}
Это правильно переводит весь массив, но в функции успеха, вызываемой google.language.translate, n всегда равно mycaptions.length. Это приводит к тому, что mycaptions [n] возвращается как неопределенное (например, "было переведено на Hola"). Это сбивало меня с толку в течение нескольких дней (почему значение n внутри функции обратного вызова всегда, как будто вы находитесь в конце цикла ???), и я предполагаю, что ответ заключается в очевидном программировании, которое я просто надеваю не понимаю.