Open棟梁Project - マイクロソフト系技術情報 Wiki
リソースファイルに画像などのバイナリファイルを文字列と同様に含めることが可能である。
この際、BASE64エンコードされた文字列がresxファイルに格納される。
カルチャを使用し、対応したリソースファイルから情報を取得することで
文言や、UI要素の多言語対応が可能となる(詳細は後述)。
リソースファイルの作成方法には下記の様なものがある。
リソース作成画面にて
[Shift]+[Enter]キー
を押下すると改行コードを挿入できる。
リソースファイルを作成するAPIが用意されている。
.txtファイルからリソースファイルを作成するResgen.exeが用意されている。
リソースファイルの使用方法には下記の様なものがある。
リソースファイルを使用するAPIが用意されている。
スレッド毎に保持しているCurrentUICultureに設定されているカルチャを使用して、
対応したリソースファイルから情報を取得することで文言や、UI要素の多言語対応が可能となる。
R1.resx 既定カルチャ用リソースファイル ├R1.ja.resx 日本語用リソースファイル ├R1.en.resx 英語用リソースファイル ├R1.zh-Hans.resx 簡体字中国語用リソースファイル └R1.zh-Hant.resx 繁体字中国語用リソースファイル R2.resx 既定カルチャ用リソースファイル ├R2.ja-JP.resx 日本語(日本)用リソースファイル └R2.en-US.resx 英語(米国)用リソースファイル
リソースファイルを使用することで、UIの多言語対応が可能である。
Windows FormsとASP.NET Web Formsで実装の方法が異なる。
Windows Formsの機能で以下には対応していないことが判明しています。
できることを確認しながら実装する様にしてください。
プロジェクトをビルドすると、カルチャ毎にフォルダが分けられてDLLファイルが生成される。
これらのDLLファイルは、単一のカルチャのリソース(=文字列や画像などの情報)のみを
含むアセンブリとなるので、通常のメイン・アセンブリに対比して、「サテライト・アセンブリ」と呼ばれる。
ブラウザの言語設定で、HTTPリクエスト ヘッダに「Accept-Language: ja」と
カルチャ情報が付与されるためデフォルトでこれを使用してもよいが、通常システムで制御した方が良い。
アプリケーションによっては、それらを個別に設定することが必要な場合もある。
例えばWeb オークション サイトではWeb ブラウザごとに UI カルチャは変わるが、 カルチャ自体は変更されない(価格に適用される通貨と表示形式は常に一定になる)。