XSLT msxsl:format-date忽略当前文化

时间:2014-03-28 01:40:23

标签: asp.net xslt culture msxsl formatdatetime

我在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-Mai-2013”​​的内容。

不幸的是,“月份”部分未翻译。它总是返回英文版('May')。

MSDN文档建议添加第三个可选参数(区域设置)来指定区域性,但是如果省略'locale'参数,它没有说明默认行为是什么。

那么,如果省略'locale'参数,format-date()在哪里使用它的默认语言环境?我该如何更改此默认行为?

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

如果省略语言环境,则XSLT默认使用您正在使用的XSLT处理器的安装语言,即1.0。 (MS XSL实用程序msxsl.exe或Visual Studio等)与浏览器或asp.net应用程序的区域设置无关。

为了尽量节省语言环境,你需要声明一个变量(比如值&#34; EN_us&#34;)并将其用作所有这些日期,时间,数字格式化函数中的第三个参数