Вы слышали о Google Apps Script? Впервые я познакомился с этим на встрече Google Developer Group в Бангалоре.

Apps Script помогает использовать продукты Google G Suite, выполняя сценарий, аналогичный JavaScript. С помощью всего нескольких строк кода пользователи могут выполнять задачи одним нажатием кнопки, что в противном случае заняло бы гораздо больше времени.

Сценарии Google Apps очень просты в использовании и помогают создавать сложные системы с помощью G Suite. Пользователи могут публиковать веб-приложения и создавать собственные функции для Google Slides, Sheets и Forms.

В этой статье я расскажу вам, как создать небольшое приложение, использующее Google Таблицы, Google Slides и Google Translate.

Я создал это приложение для путешественников. Когда мы посещаем зарубежные страны, общение становится проблемой из-за языковых барьеров. Люди часто берут с собой флеш-карты, чтобы общаться с местными жителями.

Мы собираемся построить именно это. Вопросы и фразы выставляются в Google Таблицах. Затем сценарий переводит строки и записывает их в Google Slides. Там!! Переведенные флешки готовы к использованию.

Теперь READY.SET.CODE

Хранение данных

Данные здесь - это предложения / слова, которые вы хотите перевести. Они хранятся в строках таблицы Google.

Итак, структура таблицы будет следующей:

  • Каждая строка будет заполнена предложениями, которые вы хотите перевести.
  • Второй столбец будет содержать значение, указывающее на язык, на который должны быть переведены предложения. Значение здесь - Код языка перевода Google. Если я хочу, чтобы предложения были переведены на испанский язык, код будет es.

Доступ к редактору скриптов

Сценарий для выполнения желаемой задачи написан в редакторе сценариев. Для доступа к нему перейдите в Инструменты ›Редактор скриптов. Еще один способ получить доступ к редактору скриптов - посетить Панель управления скриптами приложений и создать новый скрипт приложений. С помощью этой панели можно управлять всеми скриптами, которые пишут пользователи.

Редактор сценария содержит пустой файл с именем Code.gs. Мы напишем здесь код всего одним скриптом.

Основная функция

Мы пишем основную функцию sheetToSlide(), в которой инициализируются активный лист и слайд. Другая функция translate() вызывается в основной функции. Именно здесь и имеет место настоящая логика.

function sheetToSlide() {
  var sheet =   SpreadsheetApp.getActiveSheet();
  var slide = SlidesApp.create('TranslateApp');
  var data = sheet.getDataRange().getValues();
  var lan= data[0][1];
  Logger.log(lan);
  for (var i=0; i<data.length; i++){
     translate(i,data[i][0],lan,slide);
  }
}

В переменной data содержимое электронной таблицы хранится в виде многомерного массива. Доступ к этим значениям может получить data[Row][Column].

Они передаются в функцию translate для дальнейшей обработки вместе с переменной slide и language, в которых требуется перевод.

Logger - это класс, используемый для записи текста в консоль ведения журнала. Это очень помогает в процессе разработки кода. Вывод кода можно распечатать в журналах отладки. Чтобы просмотреть журналы, перейдите в Просмотр ›Журналы в окне редактора скриптов.

Функция перевода

В этой функции к презентации добавляются новые слайды, содержащие как оригинальные, так и переведенные предложения. Каждое предложение вставляется в новый слайд в текстовом поле.

function translate(num,data,language,slide){
  var translate_lang = LanguageApp.translate(data, 'en', language);
  var card= slide.insertSlide(num);
  var shapeEnglish = card.insertShape(SlidesApp.ShapeType.TEXT_BOX, 150,100,300,60);
  var textEnglish = shapeEnglish.getText();
  
  textEnglish.setText(data);
  textEnglish.getTextStyle().setBold(true);
  card.insertLine(SlidesApp.LineCategory.STRAIGHT, 200,175,300,175)
    
  var shapeTranslated = card.insertShape(SlidesApp.ShapeType.TEXT_BOX, 150,200,300,60);
  var textTranslated = shapeTranslated.getText();
  textTranslated.setText(translate_lang);
  textTranslated.getTextStyle().setBold(true);
  
}

Полученное предложение сначала переводится с помощью Google Translate, который является частью G Suite.

Будет вставлен новый слайд, содержащий предложения. На слайде текстовое поле помещается в определенное место. Вы можете изменить его, просмотрев документацию здесь.

Текст, который должен отображаться в текстовом поле, выполняется с помощью методов getText() и setText(). Это все свойства Google Slides, которыми вы можете управлять и настраивать по своему желанию.

Дизайн здесь выполнен очень просто. Горизонтальная линия помещается посередине с использованием метода insertLine() для разделения исходного и переведенного текста. Свойства и переменные всех используемых методов подробно описаны в документации, предоставленной Google.

Чтобы запустить сценарий, нажмите кнопку запуска рядом со значком времени. Сценарий вызовет окно, в котором будет запрашиваться разрешение на доступ к таблицам и слайдам, просто разрешите это. Затем перейдите на свой диск, и будет готова новая презентация с переведенными предложениями на карточках.

Вот насколько полезен и прост в использовании скрипт приложений. Вы также можете заполнить базу данных Firebase Realtime, просто используя Google Таблицы. Просто написав простые скрипты в несколько строк, вы можете автоматизировать многие вещи, а также создавать веб-приложения, которые можно размещать.

Сценарии приложений действительно эффективны и нацелены на то, чтобы позволить пользователям автоматизировать свои сервисы. В следующий раз, когда вы захотите отправить электронное письмо группе людей, попробуйте использовать скрипты приложений. Как только вы освоите это, вы сможете создавать удивительные вещи, такие как Таблицы для веб-сайтов, собственный блог, Таблицы для Презентаций и многое другое.

Надеюсь, это помогло. Ваше здоровье!!

Вы можете связаться со мной!

Twitter: https://twitter.com/@s_omeal

Paybackhub: paybackhub.com и Certhive: certhive.com.