セルに文章を入力するとリアルタイムで隣のセルに翻訳結果が表示されるGoogle Apps Scriptです。思いついた文章を翻訳しつづけたいときにどうぞ。
特にありませんが、スプレッドシートのコンテナバインド型として実装してみました。
スクリプトの「事前設定エリア」を編集します。
翻訳元(自分が入力する言語)と翻訳先の言語を指定します。
日本語なら「ja」、英語なら「en」になります。
他の言語を指定したい場合は下記リンクから言語コードをご確認ください。
https://cloud.google.com/translate/docs/languages
事前設定エリアを更新したら保存して、トリガーの設定を行います。
セルの編集時に発火してほしいのでこのように設定します。
セルに文章を入れてみると・・・
翻訳されました!
次の行に移動してどんどん文章を入力していくと・・・どんどん翻訳されていきます。
楽しいですね。
タイピングが早いとトリガー「編集時」がうまく発動しないかもしれません。
翻訳結果が表示される前に次の行を入力し終えてしまうと、翻訳されない場合がありました。
少しゆっくり入力するのがよさそうです。
なお、翻訳機能の呼び出しは無償ユーザーで5,000回/day、有償ユーザーで20,000回/dayです。
使いすぎに注意しましょう。
制限の詳細はQuotas for Google Services | Apps Script | Google Developersをご確認ください。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00137/index.html
*/
function realtime_translating(e) {
// セルの値が変わったときに実行される関数
// ########## 事前設定エリア ここから ##########
// 翻訳元と翻訳先の言語を指定してください
// 指定できる言語コードはこちら
// https://cloud.google.com/translate/docs/languages
const lang_from = 'ja'; // 翻訳元(自分が入力する文章の言語)
const lang_to = 'en'; // 翻訳先
// ########## 事前設定エリア ここまで ##########
// 編集されたセルの値を取得
const value = e.range.getValue();
// 開いているスプレッドシートのオブジェクトを取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
// 編集したシートのオブジェクトを取得
const edited_sheet = ss.getActiveSheet();
// LanguageAppを利用して翻訳を実行する
const sentence_translated = LanguageApp.translate(value, lang_from, lang_to);
// 編集されたセルの1つ右のセルの範囲オブジェクトを取得
const range = edited_sheet.getRange(e.range.getRow(), e.range.getColumn() + 1);
// 書き込みを実行
range.setValue(sentence_translated);
}
足し算や掛け算をずーっと楽しむことができるGoogle Apps Scriptです。お子様の学習に役立つかもしれ・・・ません。
九九の表を出力するGoogle Apps Scriptです。なかなか使うことが無さそうですが、オリジナルの掛け算表を作ったりする時にどうぞ。何段でも出せたり逆順に出来たりとちょっと便利にしておきました。
スプレッドシートに書き込んだ日本語から色々な言語に翻訳することができるGoogle Apps Scriptです。変換先の言語は指定できます。標準で用意されている「GOOGLETRANSLATE関数」より賢く翻訳してくれるはず?