Googleが提供しているリファレンスはとても詳しく書いてあるのですが、英語のみの提供のためハードルが高く感じる人も少なくないと思います。そのハードルを少しでも低くし、より多くの人にGoogle Apps Scriptを使えるようになってもらいたいという思いから日本語のリファレンスページを用意しています。
このページでは、ある言語を他の言語に翻訳するLanguageAppのtranslate()というメソッドの使い方を紹介します。
自動翻訳をするメソッド — translate
- translate(text, sourceLanguage, targetLanguage)
- translate(text, sourceLanguage, targetLanguage, advancedArgs)
このメソッドを利用するとある言語の文章を特定の言語の翻訳文に簡単に変換することができます。
『 引数に入れる値 』
- text(翻訳元の文章) — ダブルクォーテーションで囲んだ文字列
- sourceLanguage(翻訳元言語名) — ダブルクォーテーションで囲んだ文字列
- targetLanguage(翻訳先言語名) — ダブルクォーテーションで囲んだ文字列
- advancedArgs(詳細オプション) — JSONオブジェクト
- contentType — 翻訳元文章の内容(text / html)
※翻訳元及び翻訳先言語名にはこちらのリンク先の表記を指定する必要があります。
(例)
日本語 → ja
英語 → en
『 返り値 』
翻訳文の文字列
translate(text, sourceLanguage, targetLanguage)サンプルコード
翻訳するための基本的なコードを紹介します。
//英語を日本語に翻訳するコード function sampleCodeForTranslate1() { let text = "This is a test code."; let sourceLanguage = "en"; let targetLanguage = "ja"; let output = LanguageApp.translate(text, sourceLanguage, targetLanguage); console.log(output); }
『 変数の説明 』
text = 翻訳対象の文章
sourceLanguage = 翻訳元言語名
targetLanguage = 翻訳先言語名
output = 翻訳後の文章
※console.log(output)を利用してログに翻訳後の文章を表示させています。
『 英語を日本語に翻訳するサンプルコード 』に上記サンプルスクリプトを記載したスクリプトがありますので、アクセスして関数名を選択後に▶ボタンをクリックしてプログラムを実行してみましょう。
翻訳精度も以前と比べてだいぶ良くなっていますので、ある程度複雑な文章でもだいたい意味が理解できる文章に翻訳されると思います。
translate(text, sourceLanguage, targetLanguage, advancedArgs)サンプルコード
翻訳対象の文章の中身を指定して文章を翻訳するコード
//翻訳対象の文章の内容を指定して英語を日本語に翻訳するコード function sampleCodeForTranslate2() { let text = "<p>This is a test code.<br>Can this code successfully detect this is an html?</p>"; let sourceLanguage = "en"; let targetLanguage = "ja"; let advancedArgs = { contentType: "html" } let output = LanguageApp.translate(text, sourceLanguage, targetLanguage, advancedArgs); console.log(output); }
『 変数の説明 』
text = 翻訳対象の文章
sourceLanguage = 翻訳元言語名
targetLanguage = 翻訳先言語名
advancedArgs = 文章の内容を指定 (text / htmlのみ指定可)
output = 翻訳後の文章
こちらのサンプルコードも『 英語を日本語に翻訳するサンプルコード 』にスクリプトがありますので、アクセスして関数名を選択後に▶ボタンをクリックしてプログラムを実行してみましょう。こちらのコードでは翻訳前の文章のタイプを指定する引数を設定しています。htmlと設定しましたので、htmlタグ部分はそのままでそれ以外の部分が翻訳されます。
※console.log(output)を利用してログに翻訳後の文章を表示させています。
スプレッドシートと連携させて一括翻訳してみる
スプレッドシートとtranslate関数を組み合わせることで、大量の文章を様々な言語に一括で翻訳するシステムをサンプルとして作ってみました。
『 LanguageApp.translateを使って一括で翻訳しよう 』(スプレッドシート)
スプレッドシートにアクセスすると、上部に翻訳メニューというカスタムメニューが表示されます。こちらの中から、『一括翻訳』をクリックするとA列に入っている日本語の文章を書く言語に翻訳して結果を出力します。もし処理が終了しても翻訳結果が出力されない場合はページを一度リロードしてみてください。
すでに結果が出力されている場合は、『翻訳データクリア』をクリックすれば結果の部分のみ削除することができます。
自分で一つ一つ翻訳するとかなり時間がかかってしまうと思いますが、このようにスプレッドシートと組み合わせることで一括処理を行うことができ、非常に効率的に処理をすすめることができますね。
翻訳できる言語もかなり多言語に対応しており、ラオ語やハウサ語などあまり聞いたことのないマイナーな言語も対応しているのはGoogleの強さでしょうかね。対応言語はこちらにあります。
まとめ
インターネットの普及により、世界が近くなった気がしますが、翻訳をこんなにも簡単にできるようになると自分の人生のは場が色々広がりますね。
プログラムに関する情報などは一次情報が英語のことが多いため、英語を理解できるというのは非常に重要な要素だと思います。みなさん、ぜひ楽して有益な情報を取得できるようになってください。