dtksh は、C プログラミング環境において、ウィジェット・トランスレーションを増加、無効、削除する機能を提供します。C では、アプリケーションは、トランスレーションのアクション・プロシージャのセットをインストールします。このセットは、特定のイベント・シーケンスに接続できます (トランスレーションは、イベント・シーケンスと関連アクション・プロシージャで構成されます)。dtksh 内のトランスレーションは、単一のアクション・プロシージャだけでも使用できる点を除いて、同様の方法で処理されます。ksh_eval と呼ばれるこのアクション・プロシージャは、渡されるパラメータを dtksh コマンドとして解釈し、トランスレーション開始時に評価します。次のシェル・スクリプトでは、トランスレーションの使用方法例を示しています。
BtnDownProcedure()
{
echo "Button Down event occurred in button "$1
}
XtCreateManagedWidget BUTTON1 button1 XmPushButton $PARENT \
labelString:"Button 1" \
translations:'#augment
<EnterNotify>:ksh_eval("echo Button1 entered")
<Btn1Down>:ksh_eval("BtnDownProcedure 1")'
XtCreateManagedWidget BUTTON2 button2 XmPushButton $PARENT \
labelString:"Button 2"
XtOverrideTranslations $BUTTON2 \
'#override
<Btn1Down>:ksh_eval("BtnDownProcedure 2")'