Power Apps で作成したドキュメント全体を別の言語に翻訳するアプリです。
- ドキュメントをPower Apps にアップロードして、翻訳先の言語を指定します。
- 実行すると翻訳され、結果のファイルのリンクが提供されます。
- また、チャットにも翻訳の実行完了とともにファイルのリンクが通知されます。
- ファイルはOneDrive のルードフォルダに保存されるので、必要に応じて別の場所に移動します。
Azure ドキュメント翻訳: ドキュメント変換とは - Azure AI services | Microsoft Learn
Note
Teams への通知も何故なされるかというと、Power Automate をPower Apps から呼び出した際の最大の待機時間の2分間であるための対処で、その時間を超える処理が経過した際にも完了通知が来るようにするため保険的に行われるようになっています。 また、これにより大きいファイルの翻訳にも対応できる仕様としています。
default.mp4
ドキュメント翻訳(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
- 最大40MBです。
- もしこれを超える場合、ファイルを分割するか、ファイル内のコンテンツを一度削除したりしてください。
- 例えば動画が入っている場合、動画は翻訳されませんので、一旦削除して、変換が終わったらまた追加するようにしてください。
以下が必要です。
- Power Apps Premium ライセンス
- Azure サブスクリプション
- Azure ストレージアカウントの管理権利
- Azure AI Translator の管理権利
Azure ポータルにて、ストレージアカウントを作成します。
マーケットプレイスからStorage account
を探して作成します。Standardのレベルで作成するようにします。
2個のコンテナを作成します。
コンテナ名はinput
とoutput
とします。
作成できましたら、Access keyとStorage Account name を取得しておきます。
Note
ソリューションをインポートする際の接続情報を作成する際に必要となります。
Translator と検索します。表示されたサービスを選択して作成します。
リソースの名前、リージョンはご自身のお住いに近いところ、Pricing tier は利用量に応じて選択ください。
Note
Azure AI 翻訳の価格はこちらに記載があります。
デプロイされたTranslator のリソースにて、Identity を選択します。Status を有効にして一度保存します。保存後に現れるPermissions からAzure role assignments を行います。
Add role assignment からロールを追加します。
Roleの設定は以下のとおりに行います。Resource のところは先ほど作成したストレージアカウント名を指定するようにしてください。
Note
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 とエンドポイント名を入力します。
こちらでインポートの作業は完了です。あとはインポート処理が完了するのを待ちます。
Note
少々複雑なアプリのためか、私の環境ではおよそ30分ほどインポートにかかりました。
インポートが完了すると、緑のような成功メッセージが表示されます。
Note
環境によっては言語ラベルについて警告が出ることもありますが、ラベルの警告は問題ありません。
マネージドソリューションとしてインポートされるため、マネージドのタブに切り替えます。
アプリを選択して再生します。
アプリのアクセス許可を行ってください。
ドキュメントをアップロードして、翻訳先の言語を選択して、翻訳ボタンを押せばドキュメント全体を翻訳してくれます。
翻訳が成功するとメッセージが表示されます。翻訳結果を開く
ボタンを押せば、その言語での翻訳結果を見ることができます。
OneDrive のルートフォルダにファイルは保存されています。
ファイル名は、翻訳先の言語コード2文字 + 処理を行った時刻 + 元のファイル名 で出力されます。
- Azure Translation サービスの制限はこちらに記載があります。「非同期 (バッチ) 操作の制限」を御覧ください。
- こちらのアプリはPower Apps 上であえて制限をかけているのは、ファイル数1とファイルサイズ10MBです。AttachmentControl にてプロパティを変更することで上限を変更することができます。
以上、ご参考になれば幸いです。