読者です 読者をやめる 読者になる 読者になる

技術のメモ帳

気が向いたときに書いてます

[GAS]英文を翻訳したCSVがダウンロードできるWEBアプリケーション

今回も、Google Apps ScriptのHTML Serviceを使って、演習的なWEBアプリケーションを実装します。

アプリの要件は次の通りです。

  1. HTMLでFormが表示/入力できる
  2. 入力された英文は、文章単位で分割される
  3. 各文章データは、選択された言語コードで翻訳される
  4. CSVデータがダウンロードできる

HTMLフォームにテキストエリア(text)とドロップダウン(lang)が設けられ、入力された英文を、文章単位で分割して、選択した言語コードで翻訳して、その原文・訳文を並べた、CSVファイルをダウンロードできる…といった仕様です。

スクリプトエディターでの実装

アプリケーションの構成は、前回のエントリと同様にしました。

Gistだと順番が編集できないのですかね…見難い。

実際に動くアプリケーションは、こちらとなります。

なお、正規表現で英文を文章単位に分割する処理が、あまり賢くないため、分割しなくてよい文字列群(Mr. Mrs. St.など)で分割してしまいます…。こちらは、パターンを調べると、相当数あるため、暫定的に今の実装にしています。

POST送信にも対応

POST送信にも対応できるよう、インタフェースは、originalText(原文)、translateInto(翻訳する言語コード)と同じくして、実装しました。

CLIから、curlコマンドで確認すると次のようになります。

$ curl -d "originalText=hello. good morning. good evening. this is a pen." -d "translateInto=ja" -L https://script.google.com/macros/s/AKfycbwgjFTP9neJeD1Cp85F3EVmJomzyjYiapiA09C8yl4i9wRU97U/exec
"en","ja"
"hello.","こんにちは。"
"good morning.","おはよう。"
"good evening.","こんばんは。"
"this is a pen.","これはペンです。

以前作った、sayコマンドのRubyスクリプトと組み合わせると、実用感が出るかもしれません。

参考リンク