XtDisplayInitialize() 関数は、まず指定されたディスプレイに使用される言語文字列を決定し、ディスプレイとホストとアプリケーションの組み合わせのためのアプリケーションのリソース・データベースを、次のソースから読み込みます (数字は優先順位を示します)。
アプリケーション・コマンド行 (argv)
ローカル・ホストのホストごとのユーザ環境リソース・ファイル
サーバのリソース属性またはローカル・ホストのユーザ選択リソース・ファイル
ローカル・ホストのアプリケーション固有ユーザ・リソース・ファイル
ローカル・ホストのアプリケーション固有クラス・リソース・ファイル
XtDisplayInitialize() 関数は、指定された各 display パラメータに対して固有のリソース・データベースを作成します。データベースが作成されると、display パラメータの言語文字列が以下のアクションのシーケンスと同じ方法で決定されます。
XtDisplayInitialize() 関数は、まず一時的なデータベースを 2 つ作成します。1 番目のデータベースはコマンド行を解析することにより構築されます。2 番目のデータベースは XResourceManagerString() 関数が返す文字列から構築されるか、あるいは XResourceManagerString() 関数がヌルの値を返す場合は、ユーザのホーム・ディレクトリのリソース・ファイルの内容から構築されます。このようなユーザ選択リソース・ファイルの名前は $HOME/.Xdefaults です。
コマンド行から構築されるデータベースが、リソース name.xnlLanguage とクラス class.XnlLanguage で照会されます。この name と class は指定されたアプリケーション名とアプリケーション・クラスです。このデータベース照会が失敗した場合、サーバのリソース・データベースが照会されます。この照会も失敗した場合は、言語は環境から決定されます。環境からの言語の決定は、LANG 環境変数の値を取り出すことで実行されます。言語文字列が見つからない場合は、空の文字列が使用されます。
アプリケーション固有のクラス・リソース・ファイル名は、アプリケーションのクラス名から構築されます。アプリケーションのクラス名は、アプリケーションのインストール時に通常サイト・マネージャによってインストールされるローカライズされたリソース・ファイルを指します。このファイルは、XtResolvePathname() 関数をパラメータ (displayID, applicationdefaults, NULL, NULL, NULL, NULL, 0, NULL) で呼び出すと見つけられます。このファイルはアプリケーションが正しく機能するのに必要な場合があるので、アプリケーション開発者が提供すべきです。クラス・リソース・ファイルがないときにリソースのセットを最小限しか必要としないシンプルなアプリケーションは、XtAppSetFallbackResources() 関数でフォールバック・リソース指定を宣言できます。
アプリケーション固有のユーザ・リソース・ファイル名はユーザ固有のリソース・ファイルを指し、アプリケーションのクラス名から構築されます。このファイルは、アプリケーションによって所有され、ふつうユーザのカスタマイズを格納しています。このファイルは、XtResolvePathname() 関数をパラメータ (displayID, NULL, NULL, NULL, path, NULL, 0, NULL) で呼び出すと見つけられます。この path はオペレーティング・システム固有の方法で定義されます。path 変数は、XUSERFILESEARCHPATH 環境変数が設定されている場合は、その値に定義されます。そうでない場合は、デフォルトはベンダの定義した値です。
結果のリソース・ファイルが存在する場合は、そのファイルはリソース・データベースにマージされます。このファイルはアプリケーションと共に提供されるか、またはユーザによって作成されます。
言語の決定の間にサーバのリソース属性かユーザ・リソース・ファイルから作成される一時的なデータベースが、リソース・データベースにマージされます。サーバのリソース・ファイルは完全にユーザによって作成されるので、ディスプレイに依存しないユーザ選択とディスプレイ固有のユーザ選択が含まれています。
ユーザの環境リソース・ファイルが存在する場合は、それがリソース・データベースに読み込まれ、マージされます。このファイル名はユーザおよびホスト固有です。ユーザの環境リソース・ファイル名は、絶対パス名としてユーザの XENVIRONMENT 環境変数の値から構築されます。この環境変数が存在しない場合、XtDisplayInitialize() 関数はユーザのディレクトリで .Xdefaults-host ファイルを検索します。この host はアプリケーションが実行されるマシン名です。結果のリソース・ファイルが存在する場合は、リソース・データベースにマージされます。環境リソース・ファイルには、サーバのリソース・ファイルでそれらのユーザ選択指定を補足するプロセス固有のリソース仕様が指定されることが予想されます。