## 2.1 用語の定義

どの国のコンピュータユーザーにとっても、自国の言語と文化的な規約でシステムを操作できるのは望ましいことです。国際的に広く受け入れられるソフトウェアを開発するには、通貨や数字の表現方法など、地域ごとの条件に応じて柔軟に変更することができる入出力規則を提供する必要があります。また、各言語に特化した複数のソフトウェアを作るのではなく、１つのソフトウェアでインターフェースやメッセージを切り替えられるようにするべきです。

世界各地で受け入れられるソフトウェアを作るには、国際化と地域対応化という 2 つのプロセスがあります。国際化とは、ソフトウェアが国際的に受け入れられる能力をソフトウェアに組み込むプロセスをいいます。これは、ソフトウェア開発時のプログラマやソフトウェア設計者の努力に依存します。

国際化では、さまざまな言語や文化の規約に対応できるように、ソフトウェアを意識的に設計し実装する必要があります。また、画面の位置やファイル名など、地域対応が可能な要素をハードコード化しないようにしてください。たとえば、メッセージ、プロンプト、その他表示テキストはコード中に埋め込まずに、外部に保存します。こうすることによって、プログラムを再コンパイルしなくても変換することがが可能です。国際化ソフトウェアを開発するときは、数字や通貨の値、表示される日時に特定の規約を想定すべきではありません。

地域対応化とは、国際化ソフトウェアを特定の地域や文化圏のユーザーの要求に適応させるプロセスです。ソフトウェア翻訳者によるメッセージの翻訳もその作業に含まれます。その場合、所定のシステムに必要な関連する地域データを含む、テーブルの作成と準備が必要です。この作業は、主にシステム管理者とオペレーティングシステムベンダーの役目であり、これらの機能が、プログラム実行環境で機能するように構築します。国際化ソフトウェアのユーザーも地域対応のための規約を選択するときに、それぞれの環境で利用できる規約を選択する点では、このプロセスと無関係ではありません。

標準 C++ ライブラリには、プログラムの国際化に備えて多くのクラスが用意されています。この章では、それらのクラスについて詳しく説明します。まず、ソフトウェアの国際化に関係があり、プログラミング言語の C と C++、および各標準ライブラリでサポートされている文化面の規約について検討します。また、ここでは扱っていませんが、画面表示の方向やサイズの設定、位置決め、縦書きとその出力、フォントテーブルの選択、国際キーボードといった重要な項目もあります。

このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。

OEM リリース, 1998 年 6 月