Power Apps とAzure で作成したドキュメント全体を別の言語に翻訳するアプリです。
利用の流れのイメージです。
Azure ドキュメント翻訳:ドキュメント変換とは – Azure AI services | Microsoft Learn
- ドキュメントをPower Apps にアップロードして、翻訳先の言語を指定します。
- 実行すると翻訳され、結果のファイルのリンクが提供されます。
- また、チャットにも翻訳の実行完了とともにファイルのリンクが通知されます。
- ファイルはOneDrive のルードフォルダに保存されるので、必要に応じて別の場所に移動します。
Teams への通知も何故なされるかというと、Power Automate をPower Apps から呼び出した際の最大の待機時間の2分間であるための対処で、その時間を超える処理が経過した際にも完了通知が来るようにするため保険的に行われるようになっています。
また、これにより大きいファイルの翻訳にも対応できる仕様としています。
目次
アーキテクチャ
ドキュメント翻訳(Azure Translation) にて翻訳処理を行いつつ、非同期処理のためPower Automate で処理を監視しています。処理が完了したらOneDrive に翻訳後のファイルを保存して、変換が終了したら、一時的に利用したストレージ(BLOB) は削除します。
Power Automate のフローはこのようにしています。
Do untilのところはバッチジョブのステータスを確認して成功したらループを抜けるようになっています。
デザイン
レスポンシブデザインに対応しています。
自由な画面サイズで利用いただけます。
対応しているファイル形式
対応している形式は以下のとおりです。こちらはAzure Translation サービスに依存しています。
pdf, csv, html, htm, xlf, markdown, mdown, mkdn, md, mkd, mdwn, mdtxt, mdtext, rmd, mthml, mht, xls, xlsx, msg, ppt, pptx, doc, docx, odt, odp, ods, rtf, tsv/tab, txt
Azure Translation Serivice | Mcirosoft Learn
前提条件
以下が必要です。
- Power Apps Premium ライセンス
- Azure サブスクリプション
- Azure ストレージアカウントの管理権利
- Azure AI Translator の管理権利
事前準備
Azure ストレージアカウントの準備
Azure ポータルにて、ストレージアカウントを作成します。
マーケットプレイスからStorage account
を探して作成します。Standardのレベルで作成するようにします。
2個のコンテナを作成します。
コンテナ名はinput
とoutput
とします。
作成できましたら、Access keyとStorage Account name を取得しておきます。
ソリューションをインポートする際の接続情報を作成する際に必要となります。
AI Translator の準備
Translator と検索します。表示されたサービスを選択して作成します。
リソースの名前、リージョンはご自身のお住いに近いところ、Pricing tier は利用量に応じて選択ください。
Azure AI 翻訳の価格はこちらに記載があります。
デプロイされたTranslator のリソースにて、Identity を選択します。Status を有効にして一度保存します。保存後に現れるPermissions からAzure role assignments を行います。
Add role assignment からロールを追加します。
Roleの設定は以下のとおりに行います。Resource のところは先ほど作成したストレージアカウント名を指定するようにしてください。
1-2 分程立つとストレージアカウントが追加されます。少し待ってから更新を行って反映されるのを確認してください。
Identity の設定がこれで完了しました。
次に、Keys and Endpoint に移ります。こちらで、Document Translation のエンドポイント名とKey を取得しておきます。メモ帳などに残しておいてください。
ここまでで、以下の項目をメモ帳などに残しているか確認してください。
- BLOB Access key
- BLOB Storage Account name
- Document Translation Endpoint Name
- Document Translation Key
インポート方法
最新のソリューションをダウンロードします。
ソリューションをインポートを選択します。
参照からダウンロードしたソリューションをアップロードします。
次へ進みます。
接続情報を作成します。
こちらでBLOBの接続情報はAccess Key として、先ほど取得したBLOB Storage アカウント名とBLOBのアクセスキーをこちらにペーストして作成ボタンをクリックします。
他のコネクタについてもサインインしていないものがありましたらサインインします。接続がすべて作成できましたら次へ移ります。
ストレージアカウントのアカウント名は、接続だけでなくDocument Translation でも利用するため、ストレージアカウント名はもう一度同じものを入力します。その他。先ほど入手したKey とエンドポイント名を入力します。
こちらでインポートの作業は完了です。あとはインポート処理が完了するのを待ちます。
少々複雑なアプリのためか、私の環境ではおよそ30分ほどインポートにかかりました。
テスト実行
インポートが完了すると、緑のような成功メッセージが表示されます。
環境によっては言語ラベルについて警告が出ることもありますが、ラベルの警告は問題ありません。
マネージドソリューションとしてインポートされるため、マネージドのタブに切り替えます。
アプリを選択して再生します。
アプリのアクセス許可を行ってください。
ドキュメントをアップロードして、翻訳先の言語を選択して、翻訳ボタンを押せばドキュメント全体を翻訳してくれます。
翻訳が成功するとメッセージが表示されます。翻訳結果を開く
ボタンを押せば、その言語での翻訳結果を見ることができます。
OneDrive のルートフォルダにファイルは保存されています。
ファイル名は、翻訳先の言語コード2文字 + 処理を行った時刻 + 元のファイル名 で出力されます。
フランス語だと私は読めないのでうまくいっているかわかりませんが、日本語からフランス語にPowerPoint のファイルを変換してくれた例です。
以上、ご参考になれば幸いです。