バリエーションの機能は、多言語間で情報を発信するためのポータルサイトとしてSharePoint を利用する場合に利用します。この機能を構成すると、日本語と英語というように異なる言語用のサイトが自動的に作成されます。これにより日本語のWebページを作成して公開すると、自動的に英語サイトにページがコピーされるという仕組みが提供されます。ただ、これまではこのコピーされたページは何らかの形で人の手による翻訳を行う必要がありました。SharePoint Server 2013 からは、翻訳方法としては手動で翻訳することはもちろん、翻訳用のXMLフォーマットであるXLIFFを自動生成したり、今回の記事の内容である機械翻訳サービスを利用したりできるように選択肢が広がっています。
まずは、どのような動きになるのかを知るために Web ページ (*.aspx) の翻訳例をご紹介しましょう。英語サイトに次のようなページを作成します。
Visual Studio を利用することなく、気軽にちょっと試したい場合は、JavaScript が手軽です。MSDNにコーディング概要は書かれているのですが、詳細な情報はWebにページタイトルしか公開されておらず、コンテンツはこれから作成されるようです。今のところ、Webに公開されているサンプルコードを入手して、動作を確認するのが最善策であるようです。ということで、とりあえず動作確認をしてみようとコンテンツ エディタ Web パーツを使って検証した際のスクリプトを以下に記載しておきますので、参考にしてみてください。このスクリプトを実行すると、翻訳結果は別ファイルとして生成されます。
構成するためには必要な準備
クラウド上の翻訳サーバーへ接続するために SharePoint 2013 は OAuth 2.0 を利用します。そのため、SharePoint Web アプリケーションを作成する際には、クレームベース認証モードとなっている必要があります。ちなみに、SharePoint 2013 では Web アプリケーションを新規に作成する場合にGUIからは認証モードは選択できず、既定でクレームベース認証モードになります。機械翻訳サービスはファーム構成ウィザードを使うと自動的に構成できますが、追加設定として、ファーム内の全 SharePoint Server 2013 サーバーに対して次のリンクの設定を行う必要があります。
すでにご存じの方も多いかと思いますが、Office Web Apps はSharePoint 2013 とは別サーバーにインストールする必要があります。その代り、SharePoint 2013 だけでなく、Exchange 2013 や Lync Server 2013 でもこの機能を利用できるようになりました。つまりは柔軟な利用ができるようになったのですが、トレードオフとして Office Web Apps 自体の設計をきちんとしなければならないという点が、今回の記事の要点です。
Office Web Apps Server 2013 はリアル サーバーだけでなく、Hyper-V上にも構築できます。いずれにしても、Office Web Apps 専用サーバーとして構築することが推奨されています。つまり、SharePoint、Exchange, SQL Server などのサーバーと同居させてはいけないということです。また、Office アプリケーションをインストールしてはいけません。さらに 80, 443, 809 番ポートを利用するIIS に依存するサービスはインストールしてはいけません。
余談ですが、Office Web Apps は独立したサーバーとなっているため、Office Web Apps Server 2013 と呼ばれます。ちなみに、このサーバーの略称ですが、 単純に考えるとOWA と思われるのではないでしょうか。しかしこれでは Outlook Web Apps と紛らわしいので、昔の名残であるOffice Web Application Components の頭文字をとってWAC や WAC 2013 とも呼ばれます。英語のドキュメントやブログ記事などを読む際にはこうした略語を覚えておくことは重要です。