GOOGLETRANSLATE関数・DeepL翻訳ver.の作成手順を紹介

GOOGLETRANSLATE関数・DeepL翻訳ver.の作成手順を紹介

Yasu

Yasu

Bridge DirectorのYasuです。

私はふだん、海外エンジニアと一緒にお客様のシステム開発を支援しています。

業務上英語でドキュメントを作る機会が多いのですが、毎回の翻訳作業には地味に時間がかかっています。そこで今回、ちょっとだけ業務を効率化できるツールを作ってみました!

GOOGLETRANSLATE関数(※)のDeepL翻訳ver.、その名も「DeepL関数」です!

誰でも簡単に作成できることを目標にYoutuber「GIGAch」さんやQiitaなどを複合的に参考にした方法でご紹介します。

ツールの構築手順はスプレッドシート内に私が提供するソースコードとDeepL認証キーをコピペするだけとカンタンなので、ぜひみなさんもお試しください。

※GOOGLETRANSLATE(グーグルトランスレート)関数:Googleスプレッドシートで使える関数。「=GOOGLETRANSLATE (翻訳したいテキスト, ソース言語, ターゲット言語)」と打ち込むと、Google翻訳の結果を返してくれる。

GOOGLETRANSLATE関数の課題

「……GOOGLETRANSLATE関数で十分では?」と感じたみなさんも多いでしょう。しかし、Google翻訳とDeepL翻訳には精度に圧倒的な差があるんです。

たとえば「今日はいい天気ですね!」という日本語をそれぞれで翻訳した場合……

Google翻訳:It’s nice weather today, is not it!
DeepL翻訳:It’s a beautiful day!

いかがでしょうか。DeepL翻訳のほうが明らかにシンプルでわかりやすいですよね。

通訳が得意なメンバーによると、「Google翻訳だと手直しが必要だが、DeepL翻訳であればそのままでOK or ちょっとブラッシュアップする程度で済む」とのこと。

そのため弊社ではGOOGLETRANSLATE関数の利用は極力避け、DeepL翻訳を使って翻訳をかけるようにしていました。元のテキストをコピーして、DeepLのアプリ上に貼り付けて、翻訳結果をまたコピーして、元のドキュメントに戻って貼り付けて……

GOOGLETRANSLATE関数のようにスプレッドシート上でDeepL翻訳が適用できたらめちゃめちゃ楽なのに……!!!(涙)

……ということで、「Technology事業部らしく、技術の力で解決しよう!」とこのツールが生まれました。さっそく作成手順を紹介します!

DeepL関数の作成手順

1.DeepL API取得

こちらのURLを開いてDeepL無料版のアカウント作成を初めます。
 

メールアドレス・パスワード/住所/クレジットカード番号を設定します。
※クレジットカードはあくまで認証用です。無料版であれば勝手に引き落としはされませんのでご安心ください。

プランの確認と同意をしてアカウント作成は完了です。
 

DeepLアカウント管理画面のタブ「アカウント」へ遷移。下までスクロールすると「DeepL API取得で使用する認証キー」がありますのでコピーしてください。

2.スプレッドシートに認証キーとソーズコードを貼り付ける

スプレットシートを新規で以下のように作成してください。シート1はDeepL関数を使用するうえでの設定するシートです。日本語⇄英語以外にもさまざまな言語の対応が可能です。

  • 1B列:先ほど先ほどコピーしたDeepL API認証キーを貼り付ける
  • 2B列:翻訳したい元の言語を入力 日本語であれば ja と記載
  • 3B列:翻訳したい言語を入力 英語であれば en と記載

 

タブ「拡張機能」 > 「Apps script」をクリックしてください。

中のコードを削除し、下記のコードをコピペします。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sht = ss.getSheetByName('シート1');
function deepl(text) {
  var key = sht.getRange(1,2).getValues();
  var txt1 = sht.getRange(3,2).getValues();
  var txt2 = sht.getRange(2,2).getValues();
  var txt3 = 'https://api-free.deepl.com/v2/translate?auth_key=' + key + '&text=' + text + '&target_lang='+ txt1 +'&source_lang=' + txt2;
  var response = UrlFetchApp.fetch(txt3);
  var json = response.getContentText(); 
  var data = JSON.parse(json); 
  var result = data.translations[0].text;
  return(result);
}

引用:スプレッドシートでDeepL翻訳を使おう!DeepL関数を使ったら、もうGOOGLETRANSLATE関数には戻れない、スプレッドシート上でお手軽高精度翻訳|GIGAch

①保存・②実行をクリックするとデータアクセス承認とアカウントアクセスが求められるので許可します。

3.DeepL関数を使ってみる

別シートを作成して翻訳したい内容を入力。そして別セル内にDeepL関数実行することで翻訳可能です。

=deepl(翻訳したい内容のセル)

DeepL関数の活用方法

実際に弊社では、Googleスプレッドシート上にコーディングの修正指示をまとめる際に非常に役立っています。

その他、「要件定義書」「API資料」の翻訳にも活用中です。ユーザー辞書機能(用語集)を使えば、さらに時短できてめちゃくちゃ便利。

システム開発の現場に限らず、海外メンバーとのコミュニケーションが発生する際には役立つこと間違いなしです!

ぜひ、お試しください。

参考:
Youtubeチャンネル「GIGAch」
Qiita GoogleスプレッドシートでDeepL翻訳関数を作る
note 安井清一郎 GoogleスプレッドシートでGAS&DeepL活用

この記事のシェア数

千葉県出身です。前職はインド人と働いてました。今はセブのメンバーと働いてます。 好きな言葉は映画ライフより『LIFE is about courage and going into the unknown』です。

このメンバーの記事をもっと読む