Tivoli Service Desk 6.0 Developer's Toolkit Script プログラミングの手引き

第 10 章: 国際使用のためのプログラミング

目次に戻る


概要

多くのソフトウェア開発者がその市場範囲を拡大しているので、1 つの国で開発されたソフトウェアは必然的に、様々な国で販売され、使用されることになります。こうした移動の場合、ソフトウェア開発者は、国際市場でソフトウェアを使用することから発生する特殊な要件を認識する必要があります。

建築法規で扱う必要があるかもしれない文化的相違を認識するのに加えて、地域化がアプリケーションに及ぼす可能性がある影響も認識する必要があります。ソフトウェア・アプリケーションを特定の文化的グループに合わせて変更することは、地域化と呼ばれています。

国際市場に存在する差異を認識しないとしたらどうなるでしょう? どのようにして地域化が容易なソフトウェアを作成するのでしょうか?

国際化対応リソース

地域化の一番簡単なソリューションは、必要なすべてのリソースを .df ファイルに保管することです。すなわち、すべてのビットマップ、メニュー、ストリング、アイコン、およびダイアログ・ボックスがコンパイルされ、コードの残りとは別個に保管されます。アプリケーションが米国外で販売される時には、配布業者がこうしたリソースを編集するために必要なすべてのツールおよび指示を受け取ります。

これらのリソースが適切に地域化されると、コピーをビルドし直して、インストール媒体にコピーすることができます。

コードを変更する必要がなく、またインストール媒体を他のやり方で変更する必要はありません。この操作の結果として、インストール・プログラムも地域化されます。

オペレーティング・システム API サポート

可能な場合には常に、Tivoli アプリケーションは、所有権コードを使用できないようにして、国際化対応の課題を処理します。このため、どのネイティブ・オペレーティング・システムでもワイド文字のコピー処理で 2 バイト・コードを 1 バイト・コードに変換することができます。

ホスト・オペレーティング・システムによって使用可能になる国際化対応のデータおよび API 呼び出しが常に所有権機能の代わりに使用されます。これにより、アプリケーションのサイズが縮小し、サポートされる新規地域の追加が簡単になります。

Unicode サポート

Tivoli アプリケーションによって使用されるすべてのストリングは、内部的に Unicode ストリングとして保管されます。 Unicode (または ISO 10646) は、すべての国際地域のアルファベットを一度にサポートする同一標準の 16 ビット文字です。

他の多くの国際アプリケーションは、国際文字ストリング (マルチバイトとも呼ばれます) に ISO 8859/x 標準を使用します。この標準では、小文字のアルファベットには 8 ビット文字が使用され、大文字のアルファベットには 16 ビット文字が使用されます。マルチバイト・コード・ページを使用するアプリケーションでは使うメモリーが少なくなりますが、結果のパフォーマンス・ヒットは実用的でありません。

1 つの ISO ストリングでは、8 ビット文字と 16 ビット文字を混合させることができます。1 文字のバックアップやストリング中の文字のカウントなどの単純な操作は、1 バイトが文字全体であるのか、文字の一部であるのかがその前のバイト数を調べなければ確実に判断する方法がないので、より複雑になります。

文化的考慮事項

TSD Script の国際化対応サポートにより、サポートされる地域の要件に準拠するコードを書くのが容易になっています。しかし、文化的偏りが存在し、その文化的偏りが米国で書かれ、特定地域のために翻訳されたアプリケーションの認知に影響を及ぼすことがあるということを覚えておくのは重要です。

様々な地域で使用されるアプリケーションに影響する可能性がある一定の偏りを認識する必要があります。たとえば、紫色には、次のような文化的解釈があります。

文化的カテゴリー

次の文脈は、国際アプリケーションに順応性をもたせる上で特に重要です。

コード・ページ

オペレーティング・システムは、異なるコード・ページを使用することによって地域言語のアルファベットに適応します。 コード・ページとは、基本的には文字ストリングを正しく表示できるようにする数字対文字の関連表です。

コンピューター・システムは、そのコード・ページでストリング中の番号に関連付けられた文字を表示します。ソフトウェアは、コード・ページを介して適切なストリングがオペレーティング・システムに送られるように書かなければなりません。

1 つのオペレーティング・システムは、多くの同じ文字を含む複数のコード・ページをサポートしている場合があります。しかし、両方のコード・ページに共通な文字は、両方のコード・ページで同じ番号に関連付ける必要はありません。

たとえば、文字 e は、Windows 95 によって使用されるローマ字アルファベットのコード・ページでは番号 233 です。同じ文字は、MS-DOS によって使用されるローマ字アルファベットでは番号 130 です。

Developer's Toolkit Interface Designer を使用すると、変換プログラムは、1 つのコード・ページ用に書かれたストリングをロードして、それを別のコード・ページに変換します。ネイティブ・オペレーティング・システムは、アプリケーションにどのコード・ページが使用可能になるかを決定します。

キーボード・レイアウト

異なるコード・ページが使用される場合には、同時に異なるキーボード・レイアウトもあります。国際アプリケーションは、デフォルトのアクセラレーター・マッピングでどのようなキーボードにも対応できるようにしなければなりません。

ストリングのソートおよび比較

異なる地域には異なるソート順が必要になることがあります。アプリケーションは、地域のコード・ページのアルファベット順により、必要な順序でソートされたリストが提供されるように書かなければなりません。

大文字小文字を区別しないストリング比較は、地域が変われば意味も変わってきます。日本語や中国語など漢字言語では、「大文字小文字の区別」は意味をもちません。他のアルファベットでは、文字は大文字だけまたは小文字だけ以上のものをもちます。

.df ファイルが作成されると、Developer's Toolkit は、ソートおよび比較ストリング用にオペレーティング・システム上で現地国呼び出しを使用します。

ストリング連結

サブストリングを結合して完全な句を作ることは、アプリケーションの多くの初期国際化対応バージョンで犯される古典的な誤りです。他の地域では文の構成が異なるので、動詞、名詞、形容詞、および副詞がすべて他の地域と異なる位置に現れることがあります。多くの言語では話のさまざまな部分に性を表す語を割り当てています。そのため関連の名詞が男性、女性、中性であるかによっては異なる語を使用する必要があります。

注: 可能であっても、サブストリングの結合は避けてください。

入力メソッド・エディター

漢字言語 (日本語や中国語など) は、文字が多過ぎてそのすべてをキーボードに表すことができません。したがって、ほとんどのオペレーティング・システムでは、ユーザーが別のアルファベットを使用して文字の表音的つづりを入力できるようになっています。これにより、オペレーティング・システムは、可能な漢字のセットを提示し、ユーザーがそこから選択を行います。選択された文字は、文書または入力フィールドに入れられます。1 つの地域で複数の音標アルファベットが使用可能になっていることがあります。

Developer's Toolkit は、オペレーティング・システムによって提供された標準 IME をサポートします。

数字形式

様々な地域で、数値情報、日付、時間、および金額を表示するのに、各種の形式が使用されます。例:

ページ / 封筒サイズ

8.5"x11" 用紙は、すべての地域で使用されるとは限らないので、国際化対応ソフトウェア・アプリケーションは、ページおよび封筒に印刷する時に各種のサイズに対応できるようになっていなければなりません。
Developer's Toolkit には、用紙サイズを変換するメカニズムはありません。

計測単位

米国外のほとんどの地域では、アプリケーションがヤード・ポンド単位ではなく、メートル単位を表示する必要があります。
Developer's Toolkit には、ヤード・ポンド単位をメートル単位に変換するメカニズムはありません。

テキスト拡張

テキストが異なる言語に翻訳された後では、テキストのサイズが原文より著しく大きくなるか、小さくなることがあります。 (これは、翻訳の隔たりとも言うべきものです。)

たとえば、文章を英語からスペイン語またはドイツ語に翻訳すると、テキスト全体のサイズがほぼ 30% 増えます。

次の表にはこの概念を示しています。

文字数 テキスト拡張係数
1 - 10 100 - 200%
11 - 20 80 - 100%
21 - 30 60 - 80%
31 - 50 40 - 60%
51 - 70 31 - 40%
70 以上 30%

アイコン、ビットマップ、およびカラー

アイコンおよび他のビットマップ上の図形記号は、容易に変更できるか、あるいは世界中に通じる意味をもつものでなければなりません。国際化対応ソフトウェア・アプリケーションでは、あらゆる地域で翻訳を必要とするようなテキストをビットマップ中に直接にもつようなことを避ける必要があります。

また、悪気がなく、世界中に通じると思われている記号でも特定の地域では悪意のある意味や侮辱的な意味をもつ可能性が存在します。

ダイアログ・ボックスおよびウィンドウで色を使用するについても、同様の注意が必要です。 一部の地域では、色が西洋文化圏とまったく異なる意味をもちます。

次の表は、米国と中国との間の色の認知の仕方の相違を示したものです。

国と解釈
中国: 幸運、再生
米国: 力、停止、危険
中国: 死、服喪
米国: 純粋、むく
黄色 中国: 喜び、富、地位、名誉
米国: 注意、物理的危険の可能性

地域サポート

ソフトウェア・アプリケーションは、地域の概念を使って、アプリケーションを地域化できる文化的グループを識別します。

言語、国、および国民性 (文化) は、独立した実体です。こうした実体の組み合わせはすべて、それに関連した固有の地域をもたなければなりません。たとえば、スイス国民は、4 つの異なる言語を話します。

これらの組み合わせは、それぞれ個別の固有地域を必要とします。

サポートされる国際地域

Windows、UNIX、および OS/2 用の TSD Script では次の地域が完全にサポートされています。

国際化対応の機能強化

外字印刷

文字セットは、他のプリンター特性とともに、現在では softart.ini ファイル中の項目によってコントロールすることができます。 softart.ini のプリンター・セクション中の "ControlString" 項目には、PRN または LPT1 ファイル名が書き込み用にオープンされると、必ずプリンターに送られる文字列が入っています。

この機能によって、「外字」を含むストリングを印刷することができます。 外字とは、ASCII 値が 128 を超える文字のことです。 こうした文字は、アクセント付き文字または標準米国キーボードで使用できない文字 (たとえばドイツ語の "ss" 文字) を表示するために、オペレーティング・システムの国際化対応バージョンで使用されます。

Hewlett Packard レーザー・プリンターを使用する場合には、MS-Windows では制御ストリング "\x1B(9U"、OS/2 では制御ストリング "\x1B(12U" によって、外字をサポートするための適切な文字セットが選択されます。別のメーカーのプリンターを使用する場合には、プリンターの資料を見れば、適切な制御ストリングが分かります。

構成ファイルでの国際文字の使用

Developer's Toolkit によって使用される構成ファイル (sai_sql.cfg や softart.ini など) 中の外字を使用するのは避けてください。外字とは、ASCII 値が 128 を超える文字のことです。

2000 年処理

ネイティブ日付形式が 2 桁の年であるような地域では、"2000 年" 処理で次の前提事項があります。年は次のように解釈されます。

関係する世紀についてのあいまいさを避けるには、Windows で地域設定コントロール・パネルを使用して、4 桁年の日付形式を選択できる国際設定にアクセスしてください。

注: UNIX では地域のデフォルトが使用されます。


Tivoli Service Desk 6.0 Developer's Toolkit Script プログラミングの手引き

目次に戻る

著作権