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")'