次の方法で共有


国際化チェックリスト

このトピックでは、複数の市場をサポートするコードを作成するために実行するアクションについて説明します。 これらのステートメントは、コード設計時のガイドとして、ビルドを評価する際のメトリックと考えてください。

  • 最初から国際的な考慮事項を考慮したプログラム仕様を作成します。
    • アイコンとビットマップは、ターゲット 市場で意味があり、不快ではなく、テキストを含めないように設計します。
    • テキスト展開用のスペースを残すデザイン メニューとダイアログ ボックス。 たとえば、ドイツ語やオランダ語に翻訳すると、英語の文字列が 40% 拡大することがよくあります。
    • UI 要素またはメッセージでは、スラングまたはカルチャ固有の参照を使用しないでください。
    • 国際キーボードでアクセスできるショートカット キーの組み合わせを作成します。 たとえば、句読点文字キーは、常に国際キーボードで見つかったり、ユーザーによって簡単に生成されたりするとは限らないため、ショートカット キーとして使用しないでください。 キーボード レイアウトの例については、「 Windows キーボード レイアウト」を参照してください。
    • 政府機関が複数の公用語をサポートするソフトウェアを購入する要件など、機能設計に影響を与える地域の法律を検討してください。
    • organizationの国際 UI 標準と設計上の決定をサポートするサードパーティの契約を作成します。
    • 翻訳する必要があるユーザー インターフェイス文字列では、一貫した用語を使用します。
  • ロケールに依存しないコードを作成します。
    • 文字列を連結して文を形成しないでください。
    • 複数のコンテキストで特定の文字列変数を使用しないでください 。たとえば、異なるメッセージやプロンプトで文のフラグメントを再利用する場合などです。このような文字列は簡単に翻訳できない場合があるためです。
    • コメントを使用して翻訳ツールのコンテキストを提供し、ローカライズすべきではない文字列または文字を明確にマークする文字列をドキュメント化します。
    • ハードコーディングされた文字定数、数値定数、画面の位置、ファイル名、または特定の言語を前提とするパス名は使用しないでください。
    • 翻訳された文字列を保持するのに十分な大きさのバッファーを作成します。
    • 日付、時刻、通貨など、ロケールによって異なる形式のデータの入力を許可します。
    • 用紙サイズ、封筒サイズ、および特定のロケールに適したその他の既定値を使用します。
    • 各言語エディションで、他のエディションによって作成されたドキュメントを読み取れるようにします。
    • 必要に応じて、ロケール固有のハードウェアのサポートを提供します。
    • 簡単に無効にできる実装オプションとして、国際市場に適用されない機能を構成します。
  • Microsoft Windows によって提供される国際機能を利用するコードを作成します。
    • システムによって提供される国際情報を使用する (各国語サポート)。
    • 並べ替え、大文字と小文字の変換、および文字列マッピングには、システム関数を使用します。
    • 汎用テキスト レイアウト関数を使用します。
    • コントロール パネルの国際設定の変更に対応します。
    • WM_INPUTLANGCHANGEREQUEST メッセージを処理します。
    • 東アジアのエディションでは、入力メソッド エディター、縦書きテキスト、および改行ルールをサポートします。
  • 1 セットのソース ファイルからプログラムのすべての国際エディションをコンパイルします。
    • 異なる言語エディションに対してコードを再コンパイルする必要があるメカニズムを最小限に抑えるか排除します。
    • 文字列やアイコンなどのローカライズ可能な項目を Windows リソース ファイルに格納します。
    • 同じファイル形式を使用して、すべての言語エディションでドキュメントを格納します。
  • ラテン 1 コード ページの番号 1252 だけでなく、さまざまな文字セットをサポートします。
    • プログラムは、コンピューターが異なる既定のコード ページでオペレーティング システムを実行するネットワーク環境をサポートします。
    • GetCPInfoEx を使用して、東アジアのコード ページのリード バイト範囲を取得します。
    • コードが Unicode に基づいている場合を除き、東アジア言語アプリケーションで 2 バイト文字を解析します。
    • Unicode または Unicode とローカル コード ページ間の変換をサポートします。
    • すべての文字が 8 ビットまたは 16 ビットであると想定しないでください。
    • ジェネリック データ型とジェネリック関数プロトタイプを使用します。
    • EnumFontFamiliesEx と ChooseFont 共通ダイアログ関数を呼び出す font charset プロパティを使用します。
    • ロケールに適したフォントを使用してテキストを表示および印刷します。
  • プログラムの国際的な機能をテストします。
    • 翻訳されたテキストは、ネイティブスピーカーの標準を満たしている必要があります。
    • 異なる言語が表示されている場合は、ダイアログ ボックスのサイズを適切に変更し、テキストを適切にハイフネーションする必要があります。
    • ダイアログ ボックス、ステータス バー、ツール バー、メニューは画面に収まり、表示が異なる解像度で設定されている場合は、すべての翻訳された言語に対して読み取る必要があります。
    • メニュー アクセラレータとダイアログ ボックス アクセラレータは一意である必要があります。
    • ユーザーは、ヨーロッパ以外のスクリプトの文字をドキュメント、ダイアログ ボックス、ファイル名に入力できる必要があります。
    • ユーザーは、ヨーロッパ以外のスクリプトの文字を正常に切り取り、貼り付け、保存、印刷できる必要があります。
    • 異なるロケールでは、並べ替えと大文字と小文字の変換が正確である必要があります。
    • アプリケーションは、Windows のローカライズされたエディションで正しく動作する必要があります。