このブログをご覧のみなさん、こんにちは。

本記事はMicrosoft MVPブログ企画の記事として投稿しています。その他の記事はこちらからご覧ください。

三月末から日本国内だけではなく、アメリカやシンガポールにいる有志とともに接触確認アプリ開発に取り組んでいます。

開発している接触確認アプリの詳細についてはこちらからご覧ください。

このアプリは多くのユーザーに利用してもらう必要があるため、多言語対応がほぼ必須です。当初、日本語と英語の対応をせっせとしていました。しかし、日本国内に限定したとしても、日本語と英語だけで事足りるということはありません。

とはいえ、私は他言語の専門家ではないので、私ひとりの力だけで日本語と英語以外の言語にそれぞれ対応することもできません。

しかしながら、開発している接触確認アプリの言語対応をご覧いただければわかる通り、58 カ言語に対応しています。

確かに、このアプリはシンガポールなど他国のメンバーを含めて開発をしていますが、58 カ言語もの多くの言語の対応ができる人はひとりもいませんでした。

どうやって、58 カ言語も対応しているかというと、

  • Visual Studio 2019 for Windows
  • Multilingual App Toolkit(MAT)
  • Azure Cognitive Services

を使っています。

詳細な手順は以下をご覧ください。

処理としてはどのようになっているのかというと、

  1. Visual Studio 2019 for Windows で AppResources.resx に文字列を手で追加
  2. AppResources.resx を元に MAT が Covid19Radar.xx.xlf をビルド時に自動生成
  3. 自動生成された Covid19Radar.xx.xlf の文字列に対して、Azure Cognitive Services が機械翻訳で文字列を置換
  4. Covid19Radar.xx.xlf から AppResources.xx.resx をビルド時に自動生成
  5. アプリはシステム内の言語設定と一致する、 AppResources.xx.resx の文字列を表示

といった具合です。

これら三つのツールの支援を受けることで、日本語と少しの英語しかわからない私でも 58 カ言語にひとりで対応可能な状態になっていますし、他国メンバーを含むリモート開発でも言語面も含めて協調して開発することができています。

リモート開発での多言語対応や、多言語対応を少人数で行う場合、今回の三つの組み合わせはとてもオススメです。

docs.microsoft.com