0

Visual Studio ASP.NET 4.0 で XSLT (xml version='1.0') を使用しています。

複数の言語で利用可能な製品を使用していますが、nsxsl:format-date で現在の言語を尊重することができません。たとえば、現在のカルチャをフランス語に設定し、次のように記述したとします。

<xsl:value-of select="msxsl:format-date('31/05/2013', 'dd-MMM-yyyy')"/>

「31-May-2013」のような出力が期待できます。

残念ながら、「月」の部分は翻訳されていません。常に英語版 ('May') を返します。

MSDN のドキュメントでは、3 番目のオプション パラメーター (ロケール) を追加してカルチャを指定することを提案していますが、'locale' パラメーターを省略した場合の既定の動作については言及されていません。

では、'locale' パラメータを省略した場合、format-date() はデフォルトのロケールとしてどこを使用するのでしょうか? また、このデフォルトの動作を変更するにはどうすればよいですか?

ご協力いただきありがとうございます。

4

1 に答える 1

0

ロケールを省略した場合、XSLT は、使用している XSLT プロセッサのインストール言語 (1.0 言語) にデフォルト設定されます。(MS XSL ユーティリティ msxsl.exe または Visual Studio など) ブラウザーまたは asp.net アプリケーションのロケールは関係ありません。

最小限の労力でロケールを認識できるようにするには、変数を宣言し (値 "EN_us" など)、日付、時刻、数値の書式設定関数すべてで 3 番目のパラメーターとして使用する必要があります。

于 2014-03-28T02:02:50.740 に答える