Microsoft Flow × SharePoint Online:投稿したアイテムを自動翻訳してみた

グローバルに展開している企業などでは SharePoint Online 上のコンテンツを多言語で展開したいといった要件がある場合もあるかと思います。

そこで今回は Microsoft Flow を使ってSharePoint Online の日本語のサイトのリストにアイテムを投稿した際に、自動で翻訳した内容を英語サイトのリストに投稿するアプリを作ってみようと思います。

日本語がわかりずらいので(笑)、以下の↓のフローチャートをご覧ください。

f:id:trivia365:20180705203001p:plain

 

ポイントは以下となります。

  • 本文(複数行テキスト)をそのままTranslator で翻訳しようとすると html の要素ごと翻訳にかけられてしまう(div やら 余計なものまで翻訳されちゃう)ので、Html to text を使用して複数行テキストの本文をテキストに変換します。

  • Translator で翻訳する際には、タイトルと本文をそれぞれわけて翻訳します。
    (そうしないと次の「項目の作成」の時に翻訳した結果が使用できない)

 

※事前に以下のサイト・リスト・列を用意してください。

  • 日本語のサイトにリストを作成して以下の列を用意しておきます。
    ・列名:タイトル 種類:一行テキスト
    ・列名:本文   種類:複数行テキスト
  • 日本語サイトとは別に英語のサイトを作成し、リストを作成して以下の列を用意しておきます。
    ・列名:Title  種類:Text
    ・列名:Body   種類:Multiple lines of text


    以上を踏まえて以下に手順を記載します。
  1. Microsoft Flow にアクセスして「マイフロー」のタブから「一から作成」をクリックします
  2. トリガーの追加では「項目が作成されたとき」を検索して追加します。
  3. 日本語サイトのアドレス、リスト名を選択します。
  4. 新しいステップ>アクションの追加の順に選択し、「Content Conversion - Html to text」を選択して追加します。
  5. Content には「本文」を選択します。
  6. 新しいステップ>アクションの追加の順に選択し、「Microsoft Translator - テキストの翻訳」を選択して追加します。
  7. テキストには「タイトル」を、対象言語には「English」を選択します。
  8. 新しいステップ>アクションの追加の順に選択し、「Microsoft Translator - テキストの翻訳」を選択して追加します。
  9. テキストには「Html to text」のセクションから「The plain text content.」を選択し、対象言語には「English」を選択します。
  10. 新しいステップ>アクションの追加の順に選択し、「SharePoint - 項目の作成」を選択して追加します。
  11. 日本語サイトのアドレス、リスト名を選択します。
  12. Title には「テキストの翻訳」セクションの「翻訳されたテキスト」を選択し、Bodyには「テキストの翻訳2」セクションの「翻訳されたテキスト」を選択します。
  13. 以上で完了です。保存して実際にアイテムを登録してみます。

    こんな感じに自動で翻訳されました!

    こちらが日本語で投稿したアイテム

    f:id:trivia365:20180705205934p:plain

    日本語で投稿したアイテム

    そしてこちらが英語に翻訳されたアイテム

    f:id:trivia365:20180705205950p:plain

    Flow で自動で翻訳した英語のアイテム

    ん~ぶっちゃけかなり英語怪しいけど、まあ良しとします(笑)