【问题标题】:XSLT msxsl:format-date ignores current cultureXSLT msxsl:format-date 忽略当前文化
【发布时间】:2014-05-07 07:29:40
【问题描述】:

我在 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' 参数被省略,format-date() 在哪里使用它作为默认语言环境?以及如何更改此默认行为?

感谢您提供的任何帮助!

【问题讨论】:

    标签: asp.net xslt culture msxsl formatdatetime


    【解决方案1】:

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

    为了以最少的努力使其能够识别语言环境,您需要声明一个变量(例如使用值“EN_us”)并将其用作所有此类日期、时间、数字格式化函数中的第三个参数。

    【讨论】:

    • 看来你是对的。感谢您的澄清。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多