UiPathで英文ガイドを日本語で読んでもらった！

技術調査する際に英文のガイドを読むことが増え、翻訳するのも読むのも面倒なので、いっそのこと、UiPathで英文のPDFを翻訳して更に日本語で読んでくれる機能を作り、使って見ることにしました。

実装は、既に投稿した[UiPathで無料のGoogle翻訳機能を作る方法](https://qiita.com/Jun96427231/private/d405d7922c61a39d4739)と[UiPathワークフローの処理状況を音声で知らせる方法](https://qiita.com/Jun96427231/private/acc90eadbd782524a9be)を組み合わせて実現してます。

尚、翻訳機能はGoogle Apps Scriptで実現しており、フリーのGoogleアカウント（Gmailアドレス）でお試しできますが、Google Apps Scriptには１日の利用制限等あります。詳しくはGoogle Apps Scriptの利用規約をご確認ください。
開発ツールについてはUiPath Studio Community Edition 2020.4.1を使用しています。

# Twitter（デモ動画）
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">英文のガイドが多く、翻訳するのも読むのもメンドイ😅いっそのこと、UiPathで英文のPDFを翻訳して更に日本語で読んでくれる機能を作り、使って見ることに🤣<br>マーケットプレースに公開したら使う人いるかな⁉️<br>こんなん使う人少ない気もする😅<br>実行で、こんな感じで読み上げる↓<a href="https://twitter.com/hashtag/uipathfriends?src=hash&amp;ref_src=twsrc%5Etfw">#uipathfriends</a><a href="https://twitter.com/hashtag/uipath?src=hash&amp;ref_src=twsrc%5Etfw">#uipath</a> <a href="https://t.co/SPJLimLydo">pic.twitter.com/SPJLimLydo</a></p>&mdash; しおちゃん@UiPathグローバルに挑戦^_^ (@Jun96427231) <a href="https://twitter.com/Jun96427231/status/1275446741521715200?ref_src=twsrc%5Etfw">June 23, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# 全体のシーケンス
![A11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/67500c1c-3058-fb9b-336d-d5f871328bf6.jpeg)


## （1）必要なパッケージをインストール
![A1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/23791a21-4ae6-d42e-fac9-b5b0b7db8087.png)
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/73ad82fc-9ea7-5721-cc85-cf3303d0bd6f.png)

## （2）「PDFファイルを選択」のプロパティ
PDFファイルを選択するためのフィルターを設定します。選択されたPDFファイルのパスはFileNameに格納されます。
![A5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/ab4c9373-e4d4-1bae-6bb7-f83ce17e6bb8.png)

## （3）「英文のPDFをテキストに読み込み」のプロパティ
FileNameに格納されているPDFファイルを読み込み、全文テキストはPdfTextに格納されます。
![A6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/9e4e8c63-0654-19f3-04ae-9652ef6c4466.png)

## （4）「"."で文字列を分解」のプロパティ
一度に翻訳できる容量に制限があるため、英文なので文末を"."と想定し、文字列を分割。一文単位で翻訳できる様にします。
文面によっては、エラーが出るかも知れません・・・
![A8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/088941ea-7d2e-5b78-e0c9-ae5145f80869.png)

## （5）「HTTP 要求」のプロパティ
HTTP要求するための翻訳APIの構築が必要です。
詳しくは[UiPathで無料のGoogle翻訳機能を作る方法](https://qiita.com/Jun96427231/private/d405d7922c61a39d4739)を参照してください。
お試しなので、エラーハンドリングは割愛してます。
![A10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/f72957f6-42b0-f5d8-0e6c-3b96630746fd.png)
エンドポイントの設定で[UiPathで無料のGoogle翻訳機能を作る方法](https://qiita.com/Jun96427231/private/d405d7922c61a39d4739)と赤線の部分の変数が異なるので注意してください。
![A13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/8c216a52-0ecb-4219-7b04-c6269ca02b3f.png)


## （6）「音声出力」のプロパティ
synth変数を定義するために名前空間のImportの解決が必要です。
詳しくは[UiPathワークフローの処理状況を音声で知らせる方法](https://qiita.com/Jun96427231/private/acc90eadbd782524a9be)を参照してください。
![A11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/d2150b45-f0d8-2381-2a6a-2a072dcf1d35.png)
[UiPathワークフローの処理状況を音声で知らせる方法](https://qiita.com/Jun96427231/private/acc90eadbd782524a9be)とパラメータの値の変数が異なるので注意してください。
![A12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/8f3f950d-a4f0-5687-0382-819b6a1eea92.png)

## （7）ワークフローを実行してみる
選択したPDFファイルの英文を日本語で音声出力されれば成功です。


# まとめ
翻訳で使用しているGoogle Apps ScriptのLanguageApp クラスは機械翻訳です。
実際に使用して見ましたが、機械翻訳を、そのまま日本語で読み上げると、時たま日本語であるものの、言っている意味が不明な場合があります・・・:joy:
URLはアルファベットで読み上げる等、面白いと言えば面白いですが:laughing:

それとは別に、RPAは外部の機能と連携したい時でも簡単に作れるのは良いですねー。
RPAを使って、今後も色々な可能性を試して見たいと思います！