しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

ASP.NET での多言語対応についておさらいしておく

迷った時にはとりあえず MSDN を探すのは基本ですね。

ASP.NET のグローバリゼーションおよびローカリゼーション

基本的に WinForm も WebForm も適切な文字列リソースを用意して、そのリソースを参照するようにしておけば対応できます。

ASP.NET では App_GlobalResource と App_LocalResource という特殊なディレクトリが用意されていて、それぞれグローバルリソースとローカルリソースと呼ばれます。何が違うかというと、そのリソースが複数のページで共有するのか、単一のページ用という点です。

詳しくはやっぱり MSDN 見るのが良いですね。リソースファイル名にカルチャ名を含めると、ブラウザの言語設定に従い選択されるということです。

ASP.NET Web ページのリソースの概要

見てもらえればわかるように MSDN には WebForm の多言語対応については情報がたくさんあります。

それで「ASP.NET MVC はどうなんだ?」という感じですが、MVC 2 までと MVC 3 でビューエンジンに ASPX を選択した場合はほとんどそのまま適用できるんじゃないかと思います。

<%$ Resources: Messages, HelloWorld %>

上記のようなリソース式も使えるのであまり問題にならないかと。

さて、問題は MVC 3 の新機能である Razor ビューエンジンを使った場合ですが、これに関してはまた後日まとめたいと思います。