[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

1 概要

DEC Cランタイム・ライブラリ・ユーティリティは, 各国対応ソフトウェア・アプリケーションのローカライゼーション・データ, および時刻データを管理するのに役立ちます。 ローカライゼーション・データはアプリケーションとは別に定義され, 実行時になってはじめて,アプリケーションに利用されます。

DEC Cランタイム・ライブラリには,次のユーティリティが登録されています。


1.1  XPG4に準拠したローカライズ・アプリケーションの作成

国際的に使用できるアプリケーションを開発するのに役立つように,OpenVMSオペ レーティング・システムでは,DEC Cランタイム・ライブラリの一部として, XPG4国 際化モデル(X/Open Portability Guide Issue 4)をサポートするユーティリティを提 供しています。XPG4に準拠する次のユーティリティが提供されます。

これらのツールは, XPG4モデルを対象に作成されたアプリケーションでのみ使用できます。


1.1.1 メッセージ・カタログの作成と起動

メッセージ・カタログとは,アプリケーションが表示または書き出すメッセージを 含むバイナリ・ファイルです。このファイルには,アプリケーションが出力する すべてのメッセージ,たとえばエラー・メッセージ,情報メッセージ,画面メッセージ, プロンプトが格納されます。メッセージ・カタログを作成するには, GENCATコマンドを使用します。

GENCATは1つ以上の入力ソース・ファイルを読み込み, カタログ・ファイルが存在するときは,そのカタログ・ファイルも読み込みます。 ソース・ファイルは, プログラムで出力するメッセージを格納するために作成するテキスト・ファイルです。 ソース・ファイルにメッセージを入力するときは, 任意のテキスト・エディタを使用できます。 複数のソース・ファイルを指定した場合には,GENCATは指定された順に 1つずつソース・ファイルを処理します。各ソース・ファイルがカタログを変更します。

開発者またはアプリケーションでGENCATを実行する前に, 必要な入力ソース・ファイルを作成し, 必要に応じてカタログ・ファイルも作成しておかなければなりません。

GENCATコマンドについての詳細は,第4章 を参照してください。


1.1.1.1  メッセージ・ソース・ファイル

入力ソース・ファイルを作成する場合には,次のガイドラインに従ってください。


1.1.1.2 メッセージ・カタログ・ファイル

catfileという名前のメッセージ・カタログが存在する場合には, GENCATは旧バージョンの内容を格納したファイルの新しいバージョンを作成し, その新しいバージョンを変更します。カタログが存在しない場合には, GENCATはcatfileという名前のファイルを作成します。


1.1.1.3  メッセージ・カタログからのメッセージの検索

OpenVMSアプリケーションでは,次のDEC Cランタイム・ライブラリ・ルーチンを 使用して,メッセージ・カタログからメッセージを検索します。

詳細は『DEC C Run-Time Library Reference Manual for OpenVMS Systems』を参照してください。


1.1.2 コードセット変換の実行

ICONVユーティリティは変換テーブル・ファイルを作成し,また, このファイルを使用して文字を 1つのコードセットから別のコードセットに変換するコマンドを提供します。

ICONVコマンドは,状態に依存しない1〜4バイトのコードセットをサポートします。


注意
このインプリメンテーションでは,変換先のエンコーディングに制限があります。 変換先内の文字の4バイト目で0XFFを使用することはできません。


1.1.2.1 変換テーブルの作成

変換テーブル・ファイルを作成するには, DCLコマンドのICONV COMPILE を使用します。

     ICONV COMPILE  sourcefile tablefile

変換ソース・ファイルのフォーマットについては, 第4章のICONV COMPILEコマンドの説明を参照してください。

tablefile命名の規則については,第4章 のICONV CONVERTコマンドの説明を参照してください。


1.1.2.2 1つのコードセットから別のコードセットへの変換

ファイル内の文字を1つのコードセットから別のコードセットに変換するには, ICONV CONVERTコマンドを使用します。

    ICONV CONVERT  infile outfile /FROMCODE=fromcodeset /TOCODE=tocodeset

変換された文字は,出力ファイル・パラメータoutfileに書き込まれます。


1.1.3 国際化環境論理名の設定

LOCALEユーティリティは,次の操作を行う OpenVMS XPG4ローカライゼーション・ユーティリティです。

LOCALEユーティリティは,次のコマンドをサポートしています。

LOCALEコマンドについての詳細は 第4章を参照してください。


1.2 タイム・ゾーン変換情報の作成

ZICコンパイラはZone Information Compiler(ZIC)ユーティリティを使用して, タイム・ゾーン変換情報を格納したバイナリ・ファイルを作成します。 これらのファイルは, ユーザが指定したタイム・ゾーンのソース・ファイルから生成されます。

ソース・ファイルの行は複数のフィールドから構成されます。 有効なタイム・ゾーンのソース・ファイルを作成するには,次の形式に従ってください。


1.2.1 ルール行

ルール行の形式は次のとおりです。

      Rule  NAME  FROM    TO TYPE IN ON      AT   SAVE LETTER/S

次の例を参照してください。

      Rule  USA   1969 1973 - Apr lastSun    2:00 1:00 D

ルール行は次のフィールドで構成されます。

NAME

このルールが属しているルール集合の任意の名前を指定します。

FROM

ルールが適用される最初の年を指定します。minimumまたはその短縮形は, 表現可能な時刻値の年の最小値を表します。maximumまたはその短縮形は, 表現可能な時刻値の年の最大値を表します。

TO

ルールが適用される最後の年を指定します。FROMで定義したminimumとmaximumの他に, FROMフィールドの値を繰り返し指定するために,minimumまたはonly (またはその短縮形)が使用できます。

TYPE

ルールが適用される年のタイプを指定します。TYPEがハイフン - の場合は, FROMからTOまでのすべての年にルールが適用されます。 ZICは年のタイプをチェックするために,次のコマンドを実行します。

     yearistype year type

終了状態が1の場合は,年が指定されたタイプであることを示します。 終了状態が5の場合は,年が指定されたタイプでないことを示します。

IN

ルールが有効になる月を指定します。月の名前は短縮できます。

ON

ルールが有効になる日を指定します。 表 1-1は認識される形式を示しています。

表 1-1 ルールが有効になる日

形式 意味
5 その月の5日
lastSun その月の最後の日曜日
lastMon その月の最後の月曜日
Sun>=8 8日以降の最初の日曜日
Sun<=25 25日以前の最後の日曜日

曜日名は短縮することも,つづりを完全に指定することもできます。 ONフィールドの内部でスペース文字を使用することはできません。

AT

ルールが有効になる時刻を指定します。 表 1-2は認識される形式を示しています。

表 1-2 ルールが有効になる時刻

形式 意味
2
2:00 時と分
15:00 24時間形式の時刻(午後12時以降の時刻の場合)
1:28:14 時,分,秒

指定した時刻がローカルwall clock時刻の場合は,これらの形式の後に wという文字を続けて指定することができ,時刻がローカル標準 (standard)時の場合はsという文字を続けることができます。w またはsという文字が指定されていない時は, wall clock時刻であると解釈されます。

SAVE

ルールが有効になるときに,ローカル標準時に加算する時間を指定します。 このフィールドはATフィールドと同じ形式ですが,もちろん, wsという接尾語は使用しません。

LETTER/S

このルールが有効になるときに使用するタイム・ゾーンの短縮形の可変部を指定します。 たとえばESTEDTの場合はSまたはDです。 このフィールドが - の場合には,可変部はヌルです。


1.2.2 ゾーン行

ゾーン行の形式は次のとおりです。

     Zone NAME              GMTOFF  RULES/SAVE FORMAT UNTIL

次の例を参照してください。

     Zone Australia/South-west 9:30   Aus         CST  1987 Mar 15 2:00

ゾーン行は次のフィールドで構成されます。

NAME

タイム・ゾーンの名前を指定します。 この名前はタイム・ゾーンの時刻変換情報ファイルを作成するときに使用されます。

GMTOFF

このタイム・ゾーンの標準時刻を求めるために,GMT (Greenwich Mean Time) に加算する時間を指定します。このフィールドはルール行のATフィールドや SAVEフィールドと同じ形式です。時間をGMTから減算しなければならない場合には, フィールドの先頭にマイナス記号を指定します。

RULES/SAVE

タイム・ゾーンに適用するルールの名前, またはローカル標準時に加算する時間を指定します。このフィールドが - の場合には,常にそのタイム・ゾーンにおける標準時が適用されます。

FORMAT

このタイム・ゾーンの短縮形の形式を指定します。 タイム・ゾーンの短縮形の可変部を示すために%sを使用します。

UNTIL

GMTオフセットの時間,つまりその地域に対してルールが変化する時刻を指定します。 これは次のように指定します。




時刻

UNTILを指定した場合には,タイム・ゾーン情報は,指定された時刻まで指定された GMTオフセットと変換ルールにより生成されます。

UNTILを指定した場合は,次の行は継続行でなければなりません。 継続行はゾーン行と同じ形式ですが,Zoneという文字列と名前は省略されます。 継続行は,前の行のUNTILフィールドに指定された時刻から始まる情報を, そのファイルに格納します。継続行にはゾーン行と同様に UNTILフィールドを指定することができ,その場合は, 次の行がさらに継続行であることを示します。


1.2.3 リンク行

リンク行の形式は次のとおりです。

     Link     LINK-FROM      LINK-TO

次の例を参照してください。

     Link      US/Eastern     EST5EDT

OpenVMSインプリメンテーションでは,Linkはコピーとして解釈されます。 したがって,上記の行は情報をUS/EasternからEST5EDTにコピーします。

LINK-FROMフィールドは,ゾーン行にNAMEフィールドとして表示されます。 LINK-TOフィールドは,そのタイム・ゾーンの別の名前として使用されます。

継続行を除き,行はどの順序で入力してもかまいません。


注意
2つ以上のローカル時刻を使用する地域では, コンパイルされたファイルに記録される最も早い遷移時刻(transition time) が正しくなるように,遷移時刻(transition time)が最も早いルールの ATフィールドで,ローカル標準時を指定する必要があります。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]