The onEdit function is a trigger that fires when a user finishes entering data into a cell in the Spreadsheet:

https://developers.google.com/apps-script/guides/triggers/#onedite

We get the range of cells where changes have occurred:

https://developers.google.com/apps-script/reference/spreadsheet/range

The sheet where changes were made:

https://developers.google.com/apps-script/reference/spreadsheet/sheet

Translate the text into English:

https://developers.google.com/apps-script/reference/language/language-app

Original version:

function onEdit(e) {

  Logger.log(e);
 
  // We get the range of cells where changes have occurred
  var range = e.range;
 
  // The sheet where changes were made
  var sheet = range.getSheet();
 
  // We check if this is the sheet we need.
  Logger.log(sheet.getName());
  if (sheet.getName() != 'Перевод текста') {
    return false;
  }
 
  // Only translate text entered into the first column.
  // Check the starting position of the range.
  Logger.log(range.getColumn());
  if  (range.getColumn() != 1) {
    return false;
  }
 
  for (var i = 1; i <= range.getNumRows(); i++) {
    var cell = range.getCell(
      i, // row number
      1 // column number
    );
 
    // Get the text in Russian
    var russianText = cell.getValue();
 
    //  Translate the text into English
    var translatedText = LanguageApp.translate(
      russianText, // text
      'ru', // translate from which language
      'en' // translate to which language
    );
 
    // Insert the translated text into the second column
    sheet.getRange(
      cell.getRowIndex(), // row number
      2 // column number
    ).setValue(translatedText);
  }
}

My version with changes or enhancements:

function onEdit_(e) {
  Logger.log(e);
  var range = e.range; // The range of cells with changes
  var sheet = range.getSheet(); // The sheet with changes

  Logger.log(sheet.getName()); // get name of the sheet
  if (sheet.getName() != 'Text Translation') { // check the sheet
    return false;
  }
  // first column only for initial text and check the position
  Logger.log(range.getColumn()); 
  if  (range.getColumn() != 1) {
    return false;
  }
 
  for (var i = 1; i <= range.getNumRows(); i++) {
    var cell = range.getCell(
      i, // row number
      1 // column number
    );
    var russianText = cell.getValue(); // Get the text in Russian
    var translatedText = LanguageApp.translate(
      russianText, // text
      'ru', // from
      'en' // to
    );
    //  Translate the text into Estonian
    var translatedText2 = LanguageApp.translate(
      russianText, // text
      'ru', // from
      'et' // to
    );
    //  Translate the text into Spanish
    var translatedText3 = LanguageApp.translate(
      russianText, // text
      'ru', // from
      'es' // to
    );
    // Insert the translated text into the second column
    sheet.getRange(
      cell.getRowIndex(), // row number
      2 
    ).setValue(translatedText); // english
    sheet.getRange(
      cell.getRowIndex(), // row number
      3 // Insert the translated text into the third column
    ).setValue(translatedText2); // estonian
    sheet.getRange(
      cell.getRowIndex(), // row number
      4 // Insert the translated text into the fourth column
    ).setValue(translatedText3); // spanish
  }
}