Localized document path
Localized document path ( relativePath ) -> 戻り値
引数 | 型 | 説明 | |
---|---|---|---|
relativePath | Text | → | ローカライズされたバージョンを取得したいドキュメントの相対パス名 |
戻り値 | Text | ← | ローカライズされたドキュメントの絶対パス名 |
説明
Localized document path コマンドはxxx.lprojフォルダ内に存在する、相対パスで指定されたドキュメントの完全 (絶対) パス名を返します。
このコマンドはResourcesフォルダおよびxxx.lproj (xxxは言語コード) サブフォルダが存在するマルチ言語アプリケーションアーキテクチャで使用しなければなりません。このアーキテクチャにおいて、4Dはローカライズされた.xliffタイプや画像などのファイルを自動でサポートします。しかし開発者は他のタイプのファイルについても同じメカニズムを使用する必要があるかもしれません。
relativePathに検索するドキュメントの相対パス名を渡します。渡すパス名はデータベースの"xxx.lproj"フォルダの第一階層から相対でなければなりません。このコマンドはデータベースのカレント言語に対応する "xxx.lproj"フォルダを使用した完全パス名を返します。
Note: カレント言語はResourcesの内容に基づき4Dが自動で (Get database localizationコマンド参照)、あるいは新しいSET DATABASE LOCALIZATIONコマンドで設定されます。
relativePath引数はシステムまたはPOSIXシンタックスを使用して表現できます。例えば:
- xsl/log.xsl (POSIXシンタックス: Mac OSおよびWindowsで利用可)
- xsllog.xsl (Windows のみ)
- xsl:log.xsl (Mac OS のみ)
コマンドから返される絶対パス名は常にシステムシンタックスで表されます。
4D Server: リモートモードで、コマンドがクライアントプロセスから呼び出された場合、クライアントマシンのResourcesフォルダのパスが返されます。
4Dは処理されるマルチ言語アプリケーションの、ありうるすべてのケースのシーケンスを試しながら、ファイルを探します。ステップごとに4Dは言語に対応するフォルダ内でrelativePathの存在を検証し、ファイルを見つければその完全パスを返します。relativePathが見つからないかフォルダが存在しない場合、4D次のステップを試みます。検索ステージ毎のフォルダは以下のようになります:
カレント言語 (例: fr-ca) 地域なしのカレント言語 (例: fr) 開始時にデフォルトでロードされる言語 (例: ja-jp) 開始時にデフォルトでロードされる地域なし言語 (例: ja) 最初に見つかった .lproj フォルダ (例: it.lproj) Resourcesフォルダの第一レベル
relativePathがこれらのパスのどこにも存在しない場合、コマンドは空の文字列を返します。
例題
XMLやHTMLファイルを変換する目的で、"log.xsl"変換ファイルを使用したいとします。このファイルはカレント言語により異なるため、どの"log.xsl"ファイルを使用するか決定する必要があります。
Resources フォルダの中身は以下のようになっています:
カレント言語に適用する.xslファイルを決定するには、以下のコードを使用します:
$myxsl:=Localized document path("xsl/log.xsl")
カレントの言語が日本語である場合 (ja)、コマンドは以下を返します:
- Windows: C:\users\…\…\…\resources\ja.lproj\xsl\log.xsl
- Mac OS: "HardDisk:users:…:…:…:resources:ja.lproj:xsl:log.xsl"