GASで翻訳機能を活用しよう!~LanguageApp~
GASで翻訳機能を使いたい!となったときに、
方法としては以下の2つがあります。
- 外部サービスとAPI連携する
- Google翻訳を使う
今回は、標準で組み込まれているGoogle翻訳を使った翻訳の方法を紹介していこうと思います。
もし、外部サービスとAPI連携したいという方は
以下の記事で、API連携の方法を紹介していますので、参考にして見てください。
【初心者向き】GASでAPI連携する方法。あるある失敗事例も - プロラブ (abyblog.online)
この記事の中では、翻訳のために使用するメソッドと実際のコード例を併せて紹介し、
最後まで読めば、翻訳を自分で実装できるようになっていることを目標にします。
この機会に、翻訳機能を使いこなしていってください!
では、一緒に見ていきましょう。
目次(クリックで読みたい部分にジャンプできます)
使用するメソッド
GASでGoogle翻訳を利用するためには、Languageメソッドを使用します。
Languageメソッドを使用することで、スプレッドシート、ドキュメント、Gmailなど様々なサービスで扱う文字列を翻訳できます。
使用するクラスは、
LanguageAppクラス
のみになります。
その中で使用するメソッドは、translateメソッドのみになります。
これ以降は、このtranslateメソッドの各使い方について紹介していきます。
文字列を翻訳してみる
では、早速文字列を翻訳してみましょう。
実は、GASで文字列を翻訳するのはとても簡単です。
先ほど紹介したtranslateメソッドを使いこなしていけば良いだけになります。
使い方は次のようになります。
translateメソッドの使い方
LanguageApp.translate(文字列, ソース言語, ターゲット言語 [, オプション] )
ソース言語、ターゲット言語には、例えば日本語であれば「ja」、英語であれば「en」のような言語コードを指定します。
対応している言語コードは、世界で使用している100を超える言語に対応していますので、ほとんどの場合で困ることはありません!!
次に対応している主な言語と言語コードを示します。
主に対応している言語と言語コード
言語 | 言語コード |
---|---|
中国語(簡体) | zh-CN |
中国語(繁体) | zh-TW |
英語 | en |
フランス語 | fr |
ドイツ語 | de |
イタリア語 | it |
日本語 | ja |
韓国語 | ko |
ポルトガル語 | pt |
ロシア語 | ru |
スペイン語 | es |
タイ語 | th |
ベトナム語 | vi |
簡単な使用例
では、簡単に文字列を翻訳してみましょう。
function translateFunction (){
const sentence = "文字を簡単に翻訳できます。"
console.log(LanguageApp.translate(sentence, 'ja', 'en'));
console.log(LanguageApp.translate(sentence, 'ja', 'zh-CN'));
console.log(LanguageApp.translate(sentence, 'ja', 'es'));
}
Googleドキュメントを翻訳する
では、ドライブ内のドキュメントファイルに対して翻訳を実行してみましょう。
実装概要
ドライブ内にあるドキュメントファイルをコピーして、翻訳したファイルを作成する
では、実際のコードを紹介します。
今回は、日本語を英語に翻訳するようにしています。
function translateFunction (){
const id = "******************";//ドキュメントIDを指定
const sourceFile = DriveApp.getFileById(id);
const title = LanguageApp.translate(sourceFile.getName(), 'ja', 'en');
const createFile = sourceFile.makeCopy(title);
const document = DocumentApp.openById(createFile.getId());
translateParagraphs(document.getBody().getParagraphs());
translateParagraphs(document.getHeader().getParagraphs());
}
function translateParagraphs(paragraphs){
for (const paragraph of paragraphs){
const text = paragraph.getText();
if(text){
paragraph.setText(LanguageApp.translate(text, 'ja', 'en'));
}
}
}
途中でエラーが出ても翻訳は完了している場合があるので、ファイルを確かめてみてください!
まとめ
今回は、GASで翻訳機能を使う方法、実践例について紹介していきました。
とても簡単に実装できるので、ちょっとした翻訳には役立ててみるのが良いかもしれません。
では、また!