【GAS】Google Apps Script 活用事例 Google Slides全ページを、一瞬で英語訳する。
僕は普段、フィリピン出身の海外スタッフが多い職場で働いています。ただし、受け入れ側の我々、日本人が英語を喋れるかというと、そうではありません。最近はポケトークを使って、スタッフとコミュニケーションを図る社員がいますが、いかんせん、英語力が足りないっていうのは、どうしても業務に支障が出てしまいます。
残念ながら、こういう職場では、英語が出来る人に業務が集中します。社員以上に英語が出来るパートさんが、英訳をするのが業務内容とはいえ、英訳する「量」がエグい....と、ため息混じりに話しているのを聞いて、
今の俺だったら、英訳するスクリプト書けるんじゃね?
Google Slideのテキストを取得して、LanguageAppで英訳出来ないかなと思いました。
(今は、Google翻訳の精度がとても上がってきていて、英語が出来る人でも一度、Google翻訳に日本語を打ち込んで、翻訳が至らない部分を手直しで修正するような仕事スタイルをしている人が多いです。)
なので、Google翻訳で荒削りでも翻訳を自動で行ってくれると業務効率化が期待できます!!実行するとこんな感じになります。今回は記憶に残るプレゼンテーションの作り方を英訳してみました。(開いたら一番はじめに出てくるヤツです。)




スクリプトを実行すると、ヘルプの横に、今までなかった翻訳機能という項目が現れます。そこから、日本語を英語に翻訳するをクリックすると、一瞬で英訳されます。社内で、70ページ近いスライド資料があったので試してみたところ、30秒足らずで、全ページの翻訳が完了しました。ゴイスー!!流石、量子コンピューターを作り上げてしまった会社。やる事がパネェっス。
スクリプトの承認は、こうやってやればいい。黙って俺に付いて来い!!(....嫌われるかな?)
画面上の ツール > スクリプトエディタの順に進みます。

スクリプトエディタが開いたら下記のソースコードをコピぺしてください。
onOpenを選んで、YouTubeの再生ボタンっぽいのをクリックしてください。

許可を確認をクリック


詳細をクリック。(怪しいウイルスとかはないので、ご安心を)
怪しいウイルスとかはないので、ご安心を。大事な事なので2回言いました。

移動をクリックと進んでいきます。
完成形のソースコード
function onOpen() {
SlidesApp.getUi()
.createMenu('翻訳機能') // メニューの追加
.addItem('日本語を英語に翻訳する', 'translateEnglish')
.addItem('日本語をタガログ語に翻訳する', 'translateTagalog')
.addItem('英語をタガログ語に翻訳する', 'convertEnglishToTagalog')
.addItem('タガログ語を日本語に翻訳する', 'convertTagalogToJapanese')
.addToUi();
}
function translateEnglish() {
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
/*スライドが正しく取得出来ているか確認する*/
Logger.log(presentation.getName());
Logger.log(slides);
Logger.log('スライドの枚数: %s',slides.length);
/*i がSlidesの長さ*/
/*j getShapeの数、まぁ適当に配置*/
for(var i = 0; i < slides.length; i++){
for(var j = 0; j < slides[i].getShapes().length; j++){
var contents = slides[i].getShapes()[j].getText().asString();
var results = LanguageApp.translate(contents,'ja','en');
Logger.log(results);
slides[i].getShapes()[j].getText().setText(results);
}//for_j
}//for_i
}
function translateTagalog() {
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
/*スライドが正しく取得出来ているか確認する*/
Logger.log(presentation.getName());
Logger.log(slides);
Logger.log('スライドの枚数: %s',slides.length);
/*i がSlidesの長さ*/
/*j getShapeの数、まぁ適当に配置*/
for(var i = 0; i < slides.length; i++){
for(var j = 0; j < slides[i].getShapes().length; j++){
var contents = slides[i].getShapes()[j].getText().asString();
var results = LanguageApp.translate(contents,'ja','tl');
Logger.log(results);
slides[i].getShapes()[j].getText().setText(results);
}//for_j
}//for_i
}
function convertEnglishToTagalog() {
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
/*スライドが正しく取得出来ているか確認する*/
Logger.log(presentation.getName());
Logger.log(slides);
Logger.log('スライドの枚数: %s',slides.length);
/*i がSlidesの長さ*/
/*j getShapeの数、まぁ適当に配置*/
for(var i = 0; i < slides.length; i++){
for(var j = 0; j < slides[i].getShapes().length; j++){
var contents = slides[i].getShapes()[j].getText().asString();
var results = LanguageApp.translate(contents,'en','tl');
Logger.log(results);
slides[i].getShapes()[j].getText().setText(results);
}//for_j
}//for_i
}
function convertTagalogToJapanese() {
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
/*スライドが正しく取得出来ているか確認する*/
Logger.log(presentation.getName());
Logger.log(slides);
Logger.log('スライドの枚数: %s',slides.length);
/*i がSlidesの長さ*/
/*j getShapeの数、まぁ適当に配置*/
for(var i = 0; i < slides.length; i++){
for(var j = 0; j < slides[i].getShapes().length; j++){
var contents = slides[i].getShapes()[j].getText().asString();
var results = LanguageApp.translate(contents,'tl','ja');
Logger.log(results);
slides[i].getShapes()[j].getText().setText(results);
}//for_j
}//for_i
}上記スクリプトには、フィリピンのスタッフと接する機会が多いため、英語からタガログ語、日本語からタガログ語、タガログ語から日本語に変換する機能などを盛り込んでいるため、長めのスクリプトになっています。
フィリピン出身のスタッフさんは病気や怪我で病院に行った時に、タガログ語しか話せなくなる人が多いと担当者からヒアリングする機会があり、それならば.....と実装しました。
上のリンクはGoogle翻訳の対応言語のリストになります。(.....このスクリプトはGoogle Slidesの内容を繰り返し取得して、繰り返しGoogle翻訳する、翻訳し終えたものを貼り付けるみたいな感じです。なので、Google翻訳が対応している言語かが重要になってきます。)
var results = LanguageApp.translate(contents,'tl','ja');'tl','ja'など''で囲んだ中身を対応言語リストにある単語で囲むだけで、英語やタガログ語に限らず色々な言語に翻訳可能です。(むしろ、タガログ語がある事に驚きました。もはやGoogleは先生ではなく、神ですね)
この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

