共通デスクトップ環境 Dtksh ユーザーズ・ガイド

ローカライズされたシェル・スクリプトの作成

dtksh スクリプトは、C アプリケーションに似たプロセスで、国際化対応とローカライズを行います。ユーザに表示されるすべての文字列は、スクリプト内で識別されます。ポストプロセッサは、スクリプトから文字列を抽出し、カタログを作成します。これは、要求されたロケールに翻訳できます。スクリプトを実行すると、現在のロケールは、表示文字列を捜すためのメッセージ・カタログを決定します。

文字列が表示される時、その文字列はセット内のメッセージ・セット ID (カタログに対応) とメッセージ番号で識別されます。これらの値は、ユーザに見えるテキストを決定します。次のコードで、そのプロセスを説明します。

# Attempt to open our message 
catalog catopen MSG_CAT_ID "myCatalog.cat"  

# The localized button label is in set 1, and is message # 2 
XtCreatePushButton OK $PARENT ok ¥  
  labelString:$(catgets $MSG_CAT_ID 1 2 "OK")  

# The localized button label is in set 1, and is message #3 
XtCreatePushButton CANCEL $PARENT cancel ¥   
  labelString:$(catgets $MSG_CAT_ID 1 3 "Cancel")  

# Close the message catalog, when no longer needed 
catclose $MSG_CAT_ID

catopen によって返されるファイル記述子は、kshell の exec コマンドではなく、catclose を使用して閉じなければならないことに注意してください。