マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

関連

本コンテンツに関連するコンテンツ

概要

国際化対応とは

アプリケーションの国際化対応とは

を行い実行環境、ユーザによってアプリケーションの動作を切り替えることである。

以下サイトでは

と表現されている。

国際化対応の要件

要件の例を以下に示す。

対象

切り替え方式

国際化対象

本項では国際化対象となる項目を示す。

それぞれのアプリケーションの要件に
合わせて対応する項目を取捨選択する。

項目の選択は以下を参考とした。

文言

文言を外部リソースファイル等に定義し文言の
メンテナンス、言語の増減を行いやすくする。

以下に文言の国際化対象項目を整理した。

UI要素

UI要素には以下の様な項目がある(クライアント側)。

※ 初期値として静的に用意する文言、動的に置き換える文言がある。

メッセージ

メッセージには以下の様な項目がある。

クライアント、サーバでの切り替え方式については別途検討する必要がある。

string msg = "アセンブリ名:[{0}]に、クラス名:[{1}]が存在しません。";
↓
string msg = "Class name: [{1}] does not exist in assembly name: [{0}].";

throw new ArgumentException(
  String.Format(msg, assemblyName, className));

書式

言語、地域により数値、日時の表現を切り替える。

数値書式

国により数値の小数点の文字、桁区切りの文字・区切る桁数が異なる。

表示する際に数値データの書式(フォーマット指定)を切り替える。

なお、小数点以下の桁区切りの有・無は、国毎ではなく業務毎の仕様である模様。

日時

(1)UTCと時差

最近の言語ではDatetime型を使用し、内部的にはUTC(協定世界時)でデータを保持、
タイムゾーン(日付と時刻)に合わせて、時差、サマータイムを算出して表示を行う。

(2)西暦の表記の仕方

世界標準規格として、ISO 8601の"YYYY-MM-DD"方式が確立している。

の様に数字以外での表記方法もある。
(日が01-12の範囲内の場合、月・日の区別が付き難いため)

(3)各国独自の暦

単位

国、地域により単位の表現を切り替える。

(1)通貨

(2)計測単位

¥記号問題

(1)日本の円、中国の人民元はどちらも¥記号を使う

区別する場合は以下の様にする。

(2)¥はバックスラッシュやウォンに置き換わる

各国語用のフォントのうちU+005Cの文字は、それぞれカスタマイズされている。
そのため使用するフォント次第で別の記号に置き換わる。

UI要素

Windows Formsであれば、
リソースファイル」を用いることで、

下記、UI要素の

を切り替えることができる。

サイズ

表示する文言の長さにより、画面項目のサイズを調整する。

配置順

言語、地域により文字の方向性を切り替える。
#アラビア語では文字方向が右から左

ロケール(地域と言語)の変更方法

本項では、Windows ロケール(地域と言語)の変更方法について説明する。
Windows ロケール(地域と言語)に対応するカルチャの変更方法については、

カルチャ」を参照。

地域と言語との関係

「コントロールパネル」の[時計、言語、および地域]
 →[地域と言語]「地域と言語」画面から変更する。

[形式]タブ

ユーザ・ロケール

[場所]タブ

既定の場所

[キーボードと言語]タブ

ダイアログや、メッセージのUI表示言語

[キーボードと言語]タブ

入力ロケール

[管理]タブ

システム・ロケール(LCID)

参考

切り替え方式

大きく分けて、以下の切り替え方式がある。

システムのアーキテクチャ毎の
カルチャを使い分けるポイントについて説明する。

スタンドアロン

クライアント・サーバ

ベターユース

クライアント・サーバでは、考慮点が多く国際化が難しい。

ベターユースは以下の様に考える。

その他

I/O、エンコーディング

I/Oが発生する場合は、エンコーディングを意識する必要がある。

詳細はこちらを参照のこと。

出力ファイル

出力ファイルには以下の様な項目がある。

通常、クライアント側ユーザの言語に合わせて文言を作成する。

ドキュメント

ドキュメントには以下の様な項目がある。

各言語向けのものを静的に用意することで多言語対応を行う。

元号・時差の管理

元号・時差の管理について。

レジストリ

Windows Update

業務システムにおける国際化の要件

などの場合は .NET Framework の国際化対応機能で十分であるが、
業務アプリケーションの場合は不十分である場合が多い。

事前に以下の業務システムにおける国際化の要件を確認しておくと良い。


Tags: :その他、開発の色々, :.NET開発, :国際化対応


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS