ニュース
.NETの公式サイトが日本語と中国語(簡体字)に対応 ~学習リソースにも日本語でアクセス
個人・会社サイトを多言語化する際の参考にも
2021年12月10日 06:45
米Microsoftは12月7日(現地時間)、.NETの公式サイト「dotnet.microsoft.com」に日本語版と中国語(簡体字)版を追加したと発表した。これまでは英語のみだった。
「dotnet.microsoft.com」の大部分は「ASP.NET Core Razor Pages」製のCMS「Orchard Core」で構築されているが、第一段階は既存のサイトを多言語化前提の構成へ改修することだった。このプロセスは数カ月前から水面下で進められ、依存性注入(DI)と呼ばれる手法でミドルウェアに多言語化のためのサービスを追加すること、コードから言語やカルチャーに依存する部分を取り除くこと、ビューにローカライザーを挿入することなどが実施された。これらは多言語化のための下準備といえる。
第二段階は、実際にWebサイトをローカライズする処理だ。英語のリソースを日本語と中国に翻訳し、「ja-jp」「zh-cn」カルチャーをサポートしてルーティング(URLアクセスの振り分け)処理を加え、言語を選択するセレクターを追加した。この際、ちょうど同社のローカリゼーションチームがポータブルオブジェクト(PO)ファイル対応をローカリゼーションエンジンへ追加したところだったのが功を奏したという。
POファイルは言語ごとに作成されるテキストベースの文字列辞書で、キー(msgid:英語)と値(msgstr:翻訳テキスト)がペアになっている。「Orchard Core」でWebコンテンツを更新すると、翻訳されていない英語テキストは空の値とともにキーとしてPOファイルに追加される。それを受け取った翻訳チームがPOファイルの値が欠けた部分を埋め、それをWebサイトに反映されれば、英語テキストは翻訳テキストに置き換えられる。
「dotnet.microsoft.com」は現在、カルチャー(言語と地域のペア)として「en-us」(英語/米国)、「ja-jp」(日本)、「zh-cn」(中国)の3つをサポートしている。ユーザーがWebサイトを訪れると、Cookieでカルチャーが指定されている場合はそのカルチャーへ、されていない場合はAccept-Language HTTPヘッダーをチェックして適切なカルチャーを振り分ける。もし日本語のユーザーが英語のサイトを閲覧したい場合は、Webサイト下の言語ピッカーでカルチャーの切り替えが可能。URLの所定位置を「ja-jp」と書き加えて日本語サイトへアクセスすることもできる。
これらの多言語プロセスに関しては、同社のドキュメントサイトでも詳述されている。興味のある開発者はぜひ参照してほしい。翻訳ミスや要望がある場合は、右下のボタンからフィードバックを送信できるので、Webサイトの改善に協力してほしい。