Apps Script公式リファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2019年12月27日金曜日

シートのA列の英語をB列に日本語翻訳したい(一気にやる)


今回やりたいこと

スプレッドシートのA列に入力されている英語を日本語に翻訳してB列に入れたい



実行前


実行後



サンプルデータ
englishjapanese
candy
chocolate
gum
caramel
cake
cream puff
chips
pancake
biscuit
pudding
cookie


最終行までを取得して、全部一気に翻訳してみる

コード1.gs
var sourceLang = '';// 翻訳元の言語を空にしておくと自動判定してくれる
var targetLang = 'ja';// この言語に翻訳する 言語の種類は→https://cloud.google.com/translate/docs/languages

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var lastRow = sheet.getLastRow();
  var resultArray = [];
  var range = sheet.getRange(startRow, 1, lastRow, 1);
  var values = range.getDisplayValues();
  values = arrayPushApply(values);
  values = values.filter(function(value) { return value !== ''; });
  setTranslated(sheet, startRow, values);
}

function setTranslated(sheet, startRow, resultArray) {
  var translateds = [];
  for(var i = 0; i < resultArray.length; i++) {
    var value = resultArray[i];
    var translated = LanguageApp.translate(value, sourceLang, targetLang);
    translateds.push([translated])
  }
  var range = sheet.getRange(startRow, 2, translateds.length, 1);
  range.setValues(translateds);
}

//二次元配列を一次元配列にして返す
function arrayPushApply(array){
  for(var i = 1; i < array.length; i++){
    Array.prototype.push.apply(array[0], array[i]);
  }
  return array[0]
}





Latest post

Google Apps Scriptの障害時はIssueTrackerを見てみる - Incidents for Apps Script are reported on Issue Tracker

IssueTracker > Apps Script issues https://issuetracker.google.com/savedsearches/566234 Google Apps Scriptの障害時は IssueTracker に課題が上がっていることが...