スプレッドシートに書き込んだ日本語から色々な言語に翻訳することができるGoogle Apps Scriptです。変換先の言語は指定できます。標準で用意されている「GOOGLETRANSLATE関数」より賢く翻訳してくれるはず?
特にありません。今お使いのスプレッドシートに組み込めます。
A列に、翻訳したい日本語を入力します。
単語だけではなく、文章もOKです。ネガティブな文章ばかりですがお気になさらず。
上のメニューに有る「スクリプト実行」から「日本語から翻訳する」を実行します。
翻訳先の言語を指定します。
主な言語はこちらです。
他にも様々な言語が指定可能です。詳しくは https://cloud.google.com/translate/docs/languages を参照してください。
B列に翻訳結果が書き込まれます。どれも問題なく翻訳されているように見えます。
このスクリプトの翻訳は「LanguageApp」を使用していますが、GOOGLETRANSLATE関数より精度が高いようです。
C列にGOOGLETRANSLATE関数による翻訳結果を載せてみました。たしかに精度が低そうですね・・・。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00058/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
// UIの取得
const ui = SpreadsheetApp.getUi()
// メニューの表示名
const menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('日本語から翻訳する', 'translate_by_languageapp');
// メニューを画面に追加する
menu.addToUi();
}
function translate_by_languageapp() {
// UIを取得
const ui = SpreadsheetApp.getUi();
// アクティブなスプレッドシート、シートを取得
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// A列に書き込まれている、変換元の日本語を取得する
const words_jp = sheet.getRange(1, 1, sheet.getLastRow(), 1).getValues();
// 変換先の言語を入力してもらう
const input = ui.prompt('変換先の言語を入力してください。\n参考:https://cloud.google.com/translate/docs/languages', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたらスクリプトを終了する
if (input.getSelectedButton() == ui.Button.CANCEL) {
return;
}
// 入力された言語コードを取得する
const translate_lang = input.getResponseText();
// 結果を格納する配列を用意する
const result = [];
// 変換元の日本語の数だけループし、翻訳を実行する
for (let i = 0; i < words_jp.length; i++) {
// LanguageAppを利用して翻訳する
let words_translated = LanguageApp.translate(words_jp[i], 'ja', translate_lang);
// 翻訳結果を配列に追加する
result.push([words_translated]);
}
// B列に書き込むため、必要な範囲を取得する
let range = sheet.getRange(1, 2, result.length, 1);
// シートへの書き込み処理
range.setValues(result);
}
足し算や掛け算をずーっと楽しむことができるGoogle Apps Scriptです。お子様の学習に役立つかもしれ・・・ません。
九九の表を出力するGoogle Apps Scriptです。なかなか使うことが無さそうですが、オリジナルの掛け算表を作ったりする時にどうぞ。何段でも出せたり逆順に出来たりとちょっと便利にしておきました。
セルに文章を入力するとリアルタイムで隣のセルに翻訳結果が表示されるGoogle Apps Scriptです。思いついた文章を翻訳しつづけたいときにどうぞ。