ローカリゼーションとグローバリゼーション (Visual Basic 6.0 ユーザー向け)
更新 : 2007 年 11 月
Visual Basic 6.0 と Visual Basic 2008 は、国際対応のアプリケーションをそれぞれサポートします。ただし、アプリケーションのローカライズとグローバライズの概念とテクニックは異なります。
概念の違い
リソースのローカライズ
Visual Basic 6.0 では、アプリケーションの国際対応バージョンを作成するときに、ローカライズ可能な情報 (文字列など) を言語ごとに個別のリソース ファイル (.res) に格納します。ロケール固有のリソースは、実行時に LoadResString、LoadResPicture、および LoadResData の各関数を呼び出すことによって、リソース ファイルから読み込まれます。
Visual Basic 2008 では、デザイン時にフォームの Language プロパティを変更することによって、アプリケーションの国際対応バージョンを作成します。個別のリソース ファイル (.resx) は、選択された各ロケールに対して自動的に作成されます。リソースは、ユーザーのロケールに応じて自動的に読み込まれるため、コードから明示的に読み込む必要がなくなりました。詳細については、「Windows フォームのグローバル化」を参照してください。
リソースの編集
Visual Basic 6.0 のリソース ファイルは、リソース エディタ アドインまたは Visual C++ のリソース エディタを使用して編集できます。
Visual Basic 2008 では、リソース エディタは、プロジェクト デザイナの一部として IDE に組み込まれています。詳細については、「アプリケーション リソースの管理」を参照してください。
Unicode
Visual Basic 6.0 では、文字列を内部的には Unicode 文字として表現しますが、実際の表示には Windows コード ページが使用されます。ANSI コード ページと DBCS コード ページの間で文字列を変換するには、StrConv 関数と一緒に、文字列操作関数のバイナリ バージョンと Unicode バージョン (ChrB や ChrW など) を使用する必要があります。
Visual Basic 2008 では、フォームが Unicode に完全に対応しているため、コード ページ間の変換は不要です。詳細については、「エンコード方式および Windows フォームのグローバリゼーション」を参照してください。
日付と通貨の形式
Visual Basic 6.0 では、コードにおける日付と通貨の形式に細心の注意を払う必要があります。これは、テキストとして入力した値が、ローカライズされたアプリケーションで日付や通貨に変換されるときに、誤って解釈される可能性があるためです。
Visual Basic 2008 では、ユーザーのカルチャに応じて日付と通貨の形式が自動的に設定されます。この設定は System.Globalization 名前空間の関数を使用して、必要に応じてオーバーライドできます。詳細については、「グローバルな Windows フォームおよび Web フォームにおけるカルチャ固有のクラス」を参照してください。
参照
処理手順
方法 : Visual Basic で、ローカライズされたリソースを取得する
概念
.NET Framework ベースの国際対応アプリケーションの概要