Windows Phone 8.1アプリ、Windows 8.1ストアアプリの多言語化を支援するツールキットの"Multilingual App Toolkit"(MAT)ですが、 Windows 10 UWPアプリ、Xamarinアプリの多言語化をするにはv4.0のベータ版が必要です。 現在はv4.0.1466.0ベータ版がVisual Studioのギャラリーで公開されているようです。
注意点としては、説明>NOTEにあるように現時点のMAT v4.0ベータ版はMAT v3.1と互換性がなく、MAT v4.0ベータ版を導入したVisual StudioでMAT v3.1で多言語化を有効にしたプロジェクトを開けなくなります。 対応策としては、手動でプロジェクトファイルを編集して、“多言語化対応を外す"作業のあと、"(1) MAT v3.1環境に戻す"もしくは”(2) MAT v4.0ベータ版に移行する"方法があります。
(参考) MAT v4.0 Manual Upgrade – Customer Feedback for the Multilingual App Toolkit…
多言語化対応を外す
プロジェクトを選択して、Visual Stduioの"ツール">“多言語アプリツールキットの無効"メニューを選択できる場合はそれを使います。
ただし、このメニューが操作できない場合は、プロジェクトファイルを手動で編集する必要があります。
- プロジェクト全体をバックアップする。
- MAT v4.0ベータ版を導入したVisual Studioで、プロジェクトファイルを編集(右クリックして編集。下記画像)して、以下の2か所を削除する。
a.
<PropertyGroup Label="MultilingualAppToolkit">~</PropertyGroup>
b.<Import ~ Label="MultilingualAppToolkit" />
- プロジェクトファイルを保存して、再読み込みする。
- プロジェクトの翻訳ファイル(xlfファイル)を他のフォルダにコピーして退避する。
- プロジェクトから翻訳ファイルを削除する。
- ビルドをして問題がないか確認する。
(1) MAT v3.1に環境を戻す
MAT v3.1に環境を戻す場合は、拡張機能を入れなおして、翻訳ファイルを戻します。
- MAT v4.0ベータ版をアンインストールして、MAT v3.1を導入する。
- MAT v3.1で多言語化して、退避した翻訳ファイルを戻す。
(2) MAT v4.0ベータ版に移行する
Windows 10 UWPアプリに対応する必要があるなど、MAT v4.0ベータ版に移行する場合は 以下の手順が必要です。
- MAT v4.0ベータ版で多言語アプリツールキットを有効にする。
- プロジェクトを右クリックして、翻訳言語の追加を実行して、必要な言語を追加する。
- 追加された翻訳ファイルを右クリックして、“Multilingual App Toolkit”>“Import / recycling translations…“を選択する。
- 追加ボタンを押して、退避したMAT v3.1の翻訳ファイルを選択する。
- ダイアログボックスの’Enable resource recycling’をチェックして、インポートボタンを押す。
- ビルドしてインポートした翻訳を確認する。
なお、不具合で全ての翻訳が取り込まれないことがあるようです。数回インポートすることで回避できるようです。
参考情報
Visual StudioギャラリーのMultilingual App Toolkit v4.0 Betaページの “Additional information"にあるように、解説動画がChannel 9で公開されています。
https://channel9.msdn.com/events/Build/2015/2-90
https://channel9.msdn.com/events/Build/2015/2-84