カソ研は、過疎地の暮らしと学びを応援します。


Google Slide を翻訳する。


Google Apps Script 、コード公開されている方がたくさんいらっしゃいますが、

やはり主にスプレッドシートが主戦場っぽいですね。

GASの真骨頂はGoogleWorkSpaceのアプリ連携と考えています。

ですので、スプレッドシート以外のアプリで使えるGASも紹介していきたいと思います。

Googleスライドを翻訳してラクをしたい!!

function onOpen() {
const ui = SlidesApp.getUi();
ui.createMenu('マルチ翻訳')
.addItem('日本語→英語', 'jaToEn')
.addItem('英語→日本語', 'enToJa')
.addItem('日本語→ドイツ語', 'jaToDe')
.addItem('ドイツ語→日本語', 'deToJa')
.addItem('日本語→スペイン語', 'jaToEs')
.addItem('スペイン語→日本語', 'esToJa')
.addToUi();
}

function jaToEn(){
  multitranslate("ja","en")
}

function enToJa(){
  multitranslate("en","ja")
}

function jaToDe(){
  multitranslate("ja","de")
}

function deToJa(){
  multitranslate("de","ja")
}

function jaToEs(){
  multitranslate("ja","es")
}

function esToJa(){
  multitranslate("es","ja")
}



function multitranslate(ori,tar){

  const slide = SlidesApp.getActivePresentation();
  const kekka = slide.getSlides().map(x => x.getShapes().map(y => translate(y.getText().asString(),ori,tar)))
  slide.getSlides().map(x => x.getShapes().map(y => translate(y.getText().asString(),ori,tar)))
  for(let i=0;i<kekka.length;i++){
    for(let j=0;j<kekka[i].length;j++){
      slide.getSlides()[i].getShapes()[j].getText().setText(kekka[i][j])
    }}}
  
 function translate(txt,source,target){
    return LanguageApp.translate(txt,source,target)}

Googleスライドのテキストを複数言語同士で翻訳することができます。

テキストボックスに対して翻訳メソッドを適用しているので、テーブルのテキストには効かないのでそこは今後の課題ですね。

Follow me!


PAGE TOP