0

I am trying to write a function in Google Apps Script that triggers whenever a cell is edited in the Google Sheet in which the script is embedded. The purpose of the function is to automatically add the English translation as a note on the edited cell. Here is my code:

function onEdit(e){
  var range = e.range;
  var content = range.getValue();
  var translation = LanguageApp.translate(content, "auto", "en");

  range.setNote(translation);
}

The function runs when I edit a cell, however, it fails with the following message:

Invalid argument: source
    at onEdit(Code:4)

The problem seems to be LanguageApp.translate(), because if I don't use this one, it works. Can anyone help?

finaslonchas
  • 85
  • 1
  • 5
  • You can't use `auto` because it is not supported, have a look at this [thread](https://stackoverflow.com/questions/57076471/how-to-return-the-auto-detected-language-from-languageapp-translate) for some workarounds. – Marios Jan 22 '21 at 16:40
  • So using LanguageApp.translate() I can't have the language be automatically detected? :( – finaslonchas Jan 22 '21 at 17:26
  • no, unfortunately `auto` detection is not supported yet. – Marios Jan 22 '21 at 17:27

1 Answers1

0

"auto" is not a valid argument in LanguageApp.translate. Please see valid language codes here:

Language Support

CMB
  • 4,950
  • 1
  • 4
  • 16