使用 LDML 数据描述区域性

更新:2007 年 11 月

应用程序使用 Save 保存区域性时,生成的 CultureAndRegionInfoBuilder 对象的 XML 表示形式将遵循区域设置数据标记语言 (LDML) 1.1 版的格式。CreateFromLdml 方法是 Save 的逆方法,可从此 XML 文件加载。

用于描述区域性的大部分有意义的数据包含在 XML 文件的 special 元素中。LDML 的 special 元素为特定于产品的批注和数据提供支持。

.NET Framework 使用 special 元素来容纳从 msLocale 架构 (https://schemas.microsoft.com/globalization/2005/carib/ldml) 中提取的数据。作为架构的惯例,此 URI 提供了一个唯一名称,但它不是实际文档的 URL。

大多数相关 XML 元素都对应于描述区域性的类(如 CultureAndRegionInfoBuilderCultureInfo)的属性或这些类的方法的返回值。少量元素特定于 Windows 而不是 .NET Framework,它们没有作为 CultureAndRegionInfoBuilder 的属性包括进来。

有关 LDML 标准的更多信息,请参见位于 Unicode home site(Unicode 主站点)上的 Unicode Technical Standard #35,“Locale Data Markup Language (LDML)”(Unicode 技术标准 #35,“区域设置数据标记语言 (LDML)”)。

仅限 Windows 的元素

本主题中有几个元素称为“仅限 Windows 的元素”。它们与非托管 Windows 代码相关,但不与 .NET Framework 相关。如果应用程序在 .NET Framework 外部创建 LDML 文件,然后使用该框架来注册它,则该文件既可用于 .NET Framework,也可用于 Windows。在 .NET Framework 中,如果应用程序从现有区域性定义开始,然后修改该定义并将其另存为自定义区域性,则仅限 Windows 的元素将从原始区域性切换到另存的区域性,并且不会受到影响。

Identity 元素

下表描述了 identity 元素。

元素

说明

version

LDML 1.1;格式为 <version number="1.1">ldml version 1.1</version>

generation

生成数据文件的时间,例如 <generation date="2006-08-28" />

special

一个容器,含有从 msLocale 架构中提取的所有内容

以下是 identity/special 元素。除非特别说明,所有值都由 type 属性指定。例如:

    <identity>
        …
        <special xmlns:msLocale="https://schemas.microsoft.com/globalization/2005/carib/ldml">
             <!-- A typical case… -->
             <msLocale:cultureAndRegionInfoName type="en-US-fabricam"/>
             ...
             <!-- …but here are some examples that use CDATA -->
             <msLocale:geoId>244</msLocale:geoId>
             <msLocale:languageIsoName type="twoLetters">
                 en
             </msLocale:languageIsoName> 
             ...
        </special>
    </identity>

下表描述了与 identity 元素对应的属性和方法。

元素

属性/方法

说明

msLocale:cultureAndRegionInfoName

CultureName

示例:“en”、“en-US”、“en-US-fabricam”

msLocale:cultureAndRegionModifier

IsNeutralCulture

仅用于非特定区域性;type 始终为“neutral”

msLocale:cultureInfoVersion

N/A

当前为“1.0”

msLocale:geoId

GeoId

示例:“244”;此值是以文本 CDATA 的形式指定的,而不是用 type 属性指定的。

msLocale:parentName

Parent

示例:“en”

msLocale:specificCulture

CreateSpecificCulture

示例:“en-US”;仅与非特定区域性有关,它在其中指示默认的特定区域性

msLocale:languageNameAbbr

ThreeLetterWindowsLanguageName

示例:“ENU”

msLocale:languageIsoName type="threeLetters"

ThreeLetterISOLanguageName

示例:“eng”;此值是以文本 CDATA 的形式指定的,而不是用 type 属性指定的;type 为“threeLetters”

msLocale:languageIsoName type="twoLetters"

TwoLetterISOLanguageName

示例:“en”;此值是以文本 CDATA 的形式指定的,而不是用 type 属性指定的;type 为“twoLetters”

msLocale:nativeDisplayName

CultureNativeName

示例:“English (United States)”、“Deutsch (Deutschland)”

msLocale:englishName

CultureEnglishName

示例:“English (United States)”、“German (Germany)”

msLocale:countryCode

N/A

仅限 Windows;值是以 CDATA 的形式指定的;此值与国际电话呼叫代码相同,唯一的例外是加拿大(代码为 2);在 Windows 上,可通过 GetLocaleInfo 或 GetLocaleInfoEx 并将 LCTYPE 指定为 LOCALE_ICOUNTRY 来访问它

msLocale:regionNativeName

RegionNativeName

示例:“United States”、“Deutschland”

msLocale:regionEnglishName

RegionEnglishName

示例:“United States”、“Germany”

msLocale:regionIsoName type="threeLetters"

ThreeLetterISORegionName

示例:“USA”;此值是以文本 CDATA 的形式指定的,而不是用 type 属性指定的;type 为“threeLetters”

msLocale:regionIsoName type="twoLetters"

TwoLetterISORegionName

示例:“US”;此值是以文本 CDATA 的形式指定的,而不是用 type 属性指定的;type 为“twoLetters”

msLocale:textInfoName

TextInfo.CultureName

示例:“en-US”

msLocale:sortName

CompareInfo.Name

示例:“en-US”、“de-DE_phoneb”

msLocale:ietfLanguageTag

IetfLanguageTag

示例:“en-US”

msLocale:englishLanguage

仅限 Windows

示例:“English”、“German”

Layout 元素

下表描述了 layout 元素。

元素

说明

special

一个容器;其中所有内容都来自 msLocale 架构

下表中的元素位于 layout/special 之下。

元素

属性/方法

说明

msLocale:direction

IsRightToLeft

文本布局方向,可具有下列值:

  • “left-to-right”

  • “right-to-left”

示例:<msLocale:Direction type="left-to-right" />

Characters 元素

下表描述 characters 元素。

元素

说明

special

一个容器;其中所有内容都来自 msLocale 架构

下表描述了 characters/special 元素。除非特别说明,所有值都由 type 属性指定。

元素

属性/方法

说明

msLocale:keyboardLayout

KeyboardLayoutId

将值作为 CDATA 进行处理

msLocale:consoleFallbackName

ConsoleFallbackUICulture

示例:“en-US”

msLocale:fontSignature

不可用

一个容器;用于存放来自 msLocale 架构的其他内容

mslocale:scripts

不可用

一个容器;用于存放来自 msLocale 架构的其他内容

以下元素位于 characters/special/msLocale:fontSignature 之下:

  • msLocale:unicodeRanges

  • msLocale:defaultCodePages

  • msLocale:codePages

严格地说,这些元素中的每一个都是一个容器,用于存放从 msLocale 架构提取的其他内容。

下表中的元素位于 characters/special/msLocale:fontSignature/msLocale:unicodeRanges 之下。所有值都由 type 属性指定。这是仅限 Windows 的信息,并且部分地对应于 Windows LOCALESIGNATURE 结构。

元素

属性/方法

说明

msLocale:range

不可用

仅限 Windows;一个介于 0 和 122 之间的值,表示 Windows FONTSIGNATURE 结构中包含的 Unicode 子集位域 (USB) 中的位数;此元素可出现多次

msLocale:layoutProgress

不可用

仅限 Windows;可能的值为:

  • “horizontalRightToLeft”

  • “verticalBeforeHorizontal”

  • “verticalBottomToTop”

以下元素位于 characters/special/msLocale:fontSignature/msLocale:defaultCodePages 和 characters/special/msLocale:fontSignature/msLocale:codePages 之下:

  • msLocale:ansiCodePage

  • msLocale:ansiOemCodePage

  • msLocale:oemCodePage

严格地说,这些元素中的每一个都是 msLocale:codePage 元素的容器,具有通过 type 属性指定的值。

元素

说明

msLocale:codePage

一个代码页;必须与包含它的元素相对应;例如,代码页“1252”是 Windows ANSI 代码页,位于 msLocale:ansiCodePage 之下;代码页“932”是 ANSI/OEM 代码页,位于 msLocale:ansiOemCodePage 之下;代码页“855”是 OEM 代码页,位于 msLocale:oemCodePage 之下

位于 characters/special/msLocale:fontSignature/msLocale:defaultCodePages 之下的元素应为下列元素之一:

  • 单个 msLocale:ansiOemCodePage 元素,其中包含单个 msLocale:codePage 元素

  • 单个 msLocale:ansiCodePage 元素(其中包含单个 msLocale:codePage 元素)和单个 msLocale:oemCodePage 元素(其中包含单个 msLocale:codePage 元素)

msLocale:defaultCodePages 数据是仅限 Windows 的数据。characters/special/msLocale:fontSignature/msLocale:codePages 数据也是仅限 Windows 的信息。它列出了可以支持指定语言和脚本的所有代码页。因此,此列表可以有同一类型的多个代码页。例如:

<msLocale:codePages>
    <msLocale:ansiCodePage>
        ...
    </msLocale:ansiCodePage>
    <msLocale:oemCodePage>
        <msLocale:codePage type="864" />
        <msLocale:codePage type="708" />
    </msLocale:oemCodePage>
</msLocale:codePages>

下表中的元素位于 characters/special/msLocale:fontSignature/msLocale:scripts 之下。所有值都由 type 属性指定。这是仅限 Windows 的信息。无法在 Windows 中设置此数据,但它对应于 Windows GetStringScripts 函数的返回值。

元素

属性/方法

说明

msLocale:script

不可用

仅限 Windows;一个由四个字母组成的 IS0 15924 脚本代码,如“Latn”(表示拉丁语)或“Cyrl”(表示西里尔语);此元素可出现任意次

Measurement 元素

下表定义了位于 measurement 之下的元素。

元素

属性/方法

说明

measurementSystem

IsMetric

type 属性为“metric”或“US”

paperSize

不可用

仅限 Windows;此元素是 height 和 width 元素的容器;可能的值为:

  • width = "216", height = "279" (Letter)

  • width = "216", height = "356" (Legal)

  • width = "297", height = "420" (A3)

  • width = "210", height = "297" (A4)

Dates 元素

位于 dates 之下的唯一一个元素是 calendars 元素。这仅仅是一个容器元素。

说明:

.NET Framework 使用 POSIX 规则来解释标准 LDML 元素(即提取自 LDML 命名空间而非 msLocale 架构的元素)中的日期和时间格式。例如,AM/PM 指示符为“a”。msLocale 架构中的元素遵循 Microsoft 有关日期和时间格式的规则。例如,AM/PM 指示符由“tt”格式模式来指定。

下表描述位于 dates/calendars 之下的元素。所有值都由 type 属性指定。

元素

属性/方法

说明

default

AvailableCalendars

默认日历;type 属性为“metric”或“US”;在 Microsoft 生成的文件中,default 日历总是与 AvailableCalendars[0] 匹配

可能的日历值为:

  • “Gregorian”

  • “Gregorian-US”

  • “Japanese”

  • “Taiwan”

  • “Korean”

  • “Hijri”

  • “Thai”

  • “Hebrew”

  • “Gregorian-ME-French”

  • “Gregorian-Arabic”

  • “Gregorian-XLIT-English”

  • "Gregorian-XLIT-French"

calendar

AvailableCalendars

可用日历的指示符;对于每个可用日历,此元素可以重复一次;可能的 type 属性值与 default 的 type 属性值相同;此元素还可以用作提供日历相关数据的元素的容器

注意   对于非默认日历,此元素通常为空。因此,如果“Gregorian”和“Gregorian-US”都可用,且“Gregorian”是默认值,则“Gregorian-US”的元素仅为 <calendar type=" Gregorian-US" />。

下表中的元素位于 dates/calendars/calendar 之下。所有值都由 type 属性指定。

元素

属性/方法

说明

months

不可用

一个容器

days

不可用

一个容器

week

不可用

一个容器

am

AMDesignator

CDATA 指定用于标记午前时间的文本,例如“AM”

pm

PMDesignator

CDATA 指定用于标记午后时间的文本,例如“PM”

dateformat

不可用

一个容器

timeformat

不可用

一个容器

在 dates/calendars/calendar/months 之下是单个 monthContext 元素,它的 type 属性必须是“format”。在 dates/calendars/calendar/months/monthContext 之下应为四个 monthWidth 元素。

元素

属性/方法

说明

monthWidth type="wide"

MonthNames

一个容器

monthWidth type="abbreviated"

AbbreviatedMonthNames

一个容器

monthWidth type="genitive"

MonthGenitiveNames

一个容器

monthWidth type="genitiveAbbreviated"

AbbreviatedMonthGenitiveNames

一个容器

在 dates/calendars/calendar/months/monthContext/monthWidth 之下,应该是一个与一年中的每个月相对应的 month 元素。根据日历的不同,这样的元素应有 12 个或 13 个。对于每个 months 元素,type 是月份,CDATA 类型指示相关字符串。例如:

...
<calendar type="Gregorian">
   <months>
      <monthContext type="format">
          <monthWidth type="wide">            
              <month type="1">January</month>
              <month type="2">February</month>
              <month type="3">March</month>
              ...
          </monthWidth>
          <monthWidth type="abbreviated">
              <month type="1">Jan</month>
              <month type="2">Feb</month>
              <month type="3">Mar</month>
              ...
          </monthWidth>
          ...
      </monthContext>
   </months>
</calendar>

在 dates/calendars/calendar/days 之下是单个 dayContext 元素,其 type 属性必须为“format”。在 dates/calendars/calendar/days/dayContext 之下应为三个 dayWidth 元素。

元素

属性/方法

说明

dayWidth type="wide"

DayNames

一个容器

dayWidth type="abbreviated"

AbbreviatedDayNames

一个容器

dayWidth type="shorter"

ShortestDayNames

一个容器

在 dates/calendars/calendar/days/dayContext/dayWidth 之下应是一个与一周中的每一天相对应的 day 元素。对于每个 day 元素,type 为值“sun”、“mon”、“tue”、“wed”、“thu”、“fri”和“sat”之一。CDATA 类型指示相关字符串。例如:

...
<calendar type="Gregorian">
   <days>
      <dayContext type="format">
          <dayWidth type="wide">
              <day type="sun">Sunday</month>
              <day type="mon">Monday</month>
              <day type="tue">Tuesday</month>
              ...
          </dayWidth>
          ...
      </dayContext>
   </days>
</calendar>

下表中的元素位于 under dates/calendars/calendar/week 之下。

元素

属性/方法

说明

firstDay

FirstDayOfWeek

属性 day 必须为下列值之一:“sun”、“mon”、“tue”、“wed”、“thu”、“fri”和“sat”

special

不可用

一个容器;其中所有内容都来自 msLocale 架构

下表中的元素位于 dates/calendars/calendar/week/special 之下。

元素

属性/方法

说明

msLocale:weekRule

CalendarWeekRule

type 属性必须是下列值之一:

  • firstDay

  • firstFourDayWeek

  • firstFullWeek

下表中的元素位于 dates/calendars/calendar/dateformats 之下。

元素

说明

special

一个容器;其中所有内容都来自 msLocale 架构

下表中的元素位于 dates/calendars/calendar/dateformats/special 之下。所有值都由 type 属性指定。

元素

属性/方法

说明

msLocale:dateFormatLength type="long"

GetAllDateTimePatterns('D')

一个容器

msLocale:dateFormatLength type="short"

GetAllDateTimePatterns('d')

一个容器

msLocale:yearMonth

GetAllDateTimePatterns('Y')

一个用于每个相关 DateTime 模式的容器;type 属性指定一个从零开始的唯一索引;不应有间隙

msLocale:monthDay

MonthDayPattern

一个容器

下表中的元素位于 dates/calendars/calendar/dateformats/special/msLocale:dateFormatLength 之下。所有值都由 type 属性指定。

元素

属性/方法

说明

msLocale:default

不可用

与默认格式的 type 属性相对应的值;在 Microsoft 生成的 LDML 文件中,默认值总是为“0”

msLocale:dateFormat

GetAllDateTimePatterns ('D')、GetAllDateTimePatterns ('d')

一个用于每个相关 DateTime 格式模式的容器;type 属性指定一个从零开始的唯一索引;不应有间隙

下列元素是提供自己的值作为 CDATA 类型的 msLocale:pattern 元素的容器:

  • dates/calendars/calendar/dateformats/special/msLocale:dateFormatLength /msLocale:dateformat

  • dates/calendars/calendar/dateformats/special/msLocale:yearMonth

  • dates/calendars/calendar/dateformats/special/msLocale:monthDay

例如:

<dateFormats>
    <special xmlns:msLocale="https://schemas.microsoft.com/globalization/2005/carib/ldml">
        <msLocale:dateFormatLength type="long">
            <msLocale:default type="0"/>
            <msLocale:dateFormat type="0">
                <msLocale:pattern>dddd, MMMM dd, yyyy</pattern>
            </msLocale:dateFormat>
                       
            <msLocale:dateFormat type="1">
                <msLocale:pattern>MMMM dd, yyyy</pattern>
            </msLocale:dateFormat>
            ...
        </msLocale:dateFormatLength>
        ...
        <msLocale:yearMonth type=”0”>
            <msLocale:pattern>MMMM, yyyy</msLocale:pattern>
        </msLocale:yearMonth>

        <msLocale:yearMonth type=”1”>
            <msLocale:pattern>mm, yy</msLocale:pattern>
        </msLocale:yearMonth>

        <msLocale:monthDay>
            <msLocale:pattern>MMMM dd</msLocale:pattern>
        </msLocale:monthDay>
    </special>
</dateFormats>

下表中的元素位于 dates/calendars/calendar/timeformats 之下。

元素

说明

special

一个容器;其中所有内容都来自 msLocale 架构

下表中的元素位于 dates/calendars/calendar/timeformats/special 之下。所有值都由 type 属性指定。

元素

属性/方法

说明

msLocale:durationFormats

不可用

仅限 Windows;一个容器

msLocale:timeFormatLength type="long"

GetAllDateTimePatterns('T')

一个容器

msLocale:timeFormatLength type="short"

GetAllDateTimePatterns('t')

一个容器

下表中的元素位于 dates/calendars/calendar/dateformats/special/msLocale:durationFormats 之下。所有值都由 type 属性指定。

元素

属性/方法

说明

msLocale:default

不可用

仅限 Windows;一个与默认格式的 type 属性相对应的值;在 Microsoft 生成的文件中,默认值总是为“0”

msLocale:durationFormat

不可用

仅限 Windows。一个用于每个相关 DateTime 值的容器;type 属性指定一个从零开始的唯一索引;不应有间隙

下表中的元素位于 dates/calendars/calendar/dateformats/special/msLocale:timeFormatLength 之下。所有值都由 type 属性指定。

元素

属性/方法

说明

msLocale:default

不可用

一个与默认格式的 type 属性相对应的值;在 Microsoft 生成的文件中,默认值总是为“0”

msLocale:timeFormat

GetAllDateTimePatterns ('T')、GetAllDateTimePatterns ('t')

一个用于每个相关 DateTime 值的容器;type 属性指定一个从零开始的唯一索引;不应有间隙

下列元素是提供自己的值作为 CDATA 类型的 msLocale:pattern 元素的容器:

  • dates/calendars/calendar/dateformats/special/msLocale:durationFormats/msLocale:durationFormat

  • dates/calendars/calendar/dateformats/special/msLocale:timeFormatLength/msLocale:timeformat

例如:

<timeFormats>
    <special xmlns:msLocale="https://schemas.microsoft.com/globalization/2005/carib/ldml">
        <msLocale:durationFormats>
            <msLocale:default type="0" />
            <msLocale:durationFormat type="0">
                <msLocale:pattern>HH:mm:ss</msLocale:pattern>
            </msLocale:durationFormat>
        </msLocale:durationFormats>

        <msLocale:timeFormatLength type="long">
            <msLocale:default type="0"/>
            <msLocale:timeFormat type="0">
                <msLocale:pattern>h:mm:ss tt</msLocale:pattern>
            </msLocale:timeFormat>
            <msLocale:timeFormat type="1">
                <msLocale:pattern>h:mm:ss a</msLocale:pattern>
            </timeFormat>
            ...
        </timeFormatLength>
        ...
    </special>
</timeFormats>

Numbers 元素

下表定义了位于 numbers 之下的元素。

元素

说明

symbols

一个容器

currencies

一个容器

special

一个容器;其中所有内容都来自 msLocale 架构

位于 numbers/symbols 之下的元素

下表中的元素位于 numbers/symbols 之下。除非特别说明,这些元素都提供自己的数据作为 CDATA 类型。

元素

属性/方法

说明

decimal

NumberDecimalSeparator

示例:“.”

group

NumberGroupSeparator

示例:“,”

list

TextInfo.ListSeparator

示例:“;”

percentSign

PercentSymbol

示例:“%”

infinity type="positive"

PositiveInfinitySymbol,

示例:“Infinity”

infinity type="negative"

NegativeInfinitySymbol

示例:“-Infinity”

nan

NaNSymbol

“非数字”符号。示例:“NaN”。

special

N/A

一个容器;其中所有内容都来自 msLocale 架构

下表中的元素位于 numbers/symbols/special 之下。除非特别说明,这些元素都提供自己的数据作为 CDATA 类型。

元素

属性/方法

说明

msLocale:currencyDecimalSeparator

CurrencyDecimalSeparator

示例:“.”

msLocale:currencyGroupSeparator

CurrencyGroupSeparator

示例:“,”

msLocale:leadingZero

N/A

仅限 Windows;无 CDATA;type 属性必须为“yes”或“no”,以允许或禁止使用前导零

例如:

<symbols>
    <decimal>.</decimal>
    <group>,</group>
    …
    <infinity type="positive">Infinity</infinity>
    <infinity type="negative">-Infinity</infinity>
    …
    <special xmlns:msLocale="https://schemas.microsoft.com/globalization/2005/carib/ldml">
        <msLocale:currencyDecimalSeparator>
            .
        </msLocale:currencyDecimalSeparator>
        <msLocale:currencyGroupSeparator>
            ,
        </msLocale:currencyGroupSeparator>
        <msLocale:leadingZero type="yes" />
    </special>
</symbols>

位于 numbers/currencies 之下的元素

下表中的元素位于 numbers/currencies 之下。

元素

说明

currency

一个容器;必须将其 type 属性指定为“default”

下表中的元素位于 numbers/currencies/currency 之下。除非特别说明,这些元素都提供自己的数据作为 CDATA 类型。

元素

属性/方法

说明

symbol

ISOCurrencySymbol

示例:“$”

displayName

CurrencyNativeName

示例:“Dollar”

special

N/A

一个容器;其中所有内容都来自 msLocale 架构

下表中的元素位于 under numbers/currencies/currency/special 之下。除非特别说明,这些元素都提供自己的数据作为 CDATA 类型。

元素

属性/方法

说明

msLocale:isoCurrency

ISOCurrencySymbol

示例:“USD”

msLocale:currencyEnglishName

CurrencyEnglishName

示例:“Dollar”

例如:

<currencies>
    <currency type="default">
        <symbol>$</symbol>
        <displayName>Dollar</displayName>
        <special xmlns:msLocale="https://schemas.microsoft.com/globalization/2005/carib/ldml">
                <msLocale:isoCurrency>USD</msLocale:isoCurrency>
                <msLocale:currencyEnglishName>
                    Dollar
                </msLocale:currencyEnglishName>
    </special>
</currency>

下表中的元素位于 numbers/currencies/special 之下。除非另外说明,所有值都由 type 属性指定。

元素

属性/方法

说明

msLocale:decimalDigits

NumberDecimalDigits

要在数值中使用的小数位数,指定为 CDATA;示例:“2”

msLocale:negativePattern

NumberNegativePattern

负数值的格式模式

msLocale:currencyDecimalDigits

CurrencyDecimalDigits

要在货币值中使用的小数位数;与 msLocale:decimalDigits 不同,此元素是在 type 属性中指定的。示例:“2”

msLocale:currencyPositivePattern

CurrencyPositivePattern

正货币值的格式模式

msLocale:currencyNagativePattern

CurrencyNegativePattern

负货币值的格式模式

msLocale:percentPositivePattern

PercentPositivePattern

正百分比值的格式模式

msLocale:percentNagativePattern

PercentNegativePattern

负百分比值的格式模式

msLocale:groupSizes

NumberGroupSizes

数值中小数点左边每一组的位数;实际编组大小被指定为 CDATA 类型;type 属性用于对此进行序列化;这些元素可以有任意多个,每一个都具有唯一的 type 属性,从“0”开始序列化;值从最低有效数字组开始

msLocale:nativeDigits

NativeDigits

与西文数字 0 到 9 等效的本机数字,每个数字对应一个等效数字;type 属性为数字“0”到“9”;CDATA 类型指定用于表示数字的字符

msLocale:digitSubstitution

DigitSubstitution

一个值,指定图形用户界面如何显示数字的形状;type 属性的有效设置为:

  • “context”(默认值)

  • “none”(始终使用“0”-“9”)

  • “nativeNational”(始终替代)

例如:

<numbers>
    ...
    <special xmlns:msLocale="https://schemas.microsoft.com/globalization/2005/carib/ldml">
        <msLocale:decimalDigits>2</msLocale:decimalDigits>     
        <msLocale:negativePattern type="1"/>
        <msLocale:currencyDecimalDigits type="2"/>
        <msLocale:currencyPositivePattern type="0"/>
        <msLocale:currencyNegativePattern type="0"/>
        <msLocale:percentNegativePattern type="0"/>
        <msLocale:percentPositivePattern type="0"/>
        <msLocale:groupSizes type="0">3</msLocale:groupSizes>
        <msLocale:currencyGroupSizes type="0">
            3
        </msLocale:currencyGroupSizes>
        <msLocale:nativeDigits type="0">0</msLocale:nativeDigits>
        <msLocale:nativeDigits type="1">1</msLocale:nativeDigits>
        ...
        <msLocale:nativeDigits type="9">9</msLocale:nativeDigits>
        <msLocale:digitSubstitution type="context"/>
    </special>
</numbers>

请参见

参考

CultureAndRegionInfoBuilder