LDML データを使用したカルチャの記述

アプリケーションが Save でカルチャを保存すると、CultureAndRegionInfoBuilder オブジェクトの XML 表現は、LDML (Locale Data Markup Language) Version 1.1 の形式に従って作成されます。 CreateFromLdml メソッドは Save の逆で、この XML ファイルから読み込まれます。

カルチャを記述する意味のあるデータのほとんどは、XML ファイル内の特殊な要素に格納されています。 LDML の特殊な要素により、製品固有の注釈とデータを使用できます。

.NET Framework では、この特殊な要素に msLocale スキーマ (https://schemas.microsoft.com/globalization/2005/carib/ldml) から抽出されるデータを格納します。 通常のスキーマの場合と同様、この URI は一意の名前を示すものであり、実際のドキュメントの URL ではありません。

関連する XML 要素のほとんどは、CultureAndRegionInfoBuilder クラスや CultureInfo クラスなど、カルチャを記述するクラスのプロパティまたはメソッドの戻り値に対応します。 一部の要素は .NET Framework ではなく Windows に固有であり、CultureAndRegionInfoBuilder のプロパティとしては含まれません。

LDML 標準の詳細については、Unicode ホーム サイトの『Unicode Technical Standard #35』の「Locale Data Markup Language (LDML)」を参照してください。

Windows 専用の要素

このトピックに示す要素には、"Windows 専用" と示されているものがあります。 これらの要素は Windows のアンマネージ コードに関連するもので、.NET Framework には関連しません。 アプリケーションが .NET Framework の外部で LDML ファイルを作成し、.NET Framework を使用してファイルを登録する場合、そのファイルは Windows と .NET Framework の両方で使用できます。 .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

なし

現在は "1.0" です。

msLocale:geoId

GeoId

例: "244"。この値は、type 属性に使用するのではなく、テキスト CDATA として指定します。

msLocale:parentName

Parent

例: "en"。

msLocale:specificCulture

CreateSpecificCulture

例: "en-US"。ニュートラル カルチャにのみ関連します。ニュートラル カルチャでは、既定の特定カルチャを示します。

msLocale:languageNameAbbr

ThreeLetterWindowsLanguageName

例: "ENU"。

msLocale:languageIsoName type="threeLetters"

ThreeLetterISOLanguageName

例: "eng"。この値は、type 属性に使用するのではなく、テキスト CDATA として指定します。型は "threeLetters" です。

msLocale:languageIsoName type="twoLetters"

TwoLetterISOLanguageName

例: "en"。この値は、type 属性に使用するのではなく、テキスト CDATA として指定します。型は "twoLetters" です。

msLocale:nativeDisplayName

CultureNativeName

例: "英語 (U.S.)"、"ドイツ語 (ドイツ)"

msLocale:englishName

CultureEnglishName

例: "English (United States)"、"German (Germany)"

msLocale:countryCode

なし

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"。この値は、type 属性に使用するのではなく、テキスト CDATA として指定します。型は "threeLetters" です。

msLocale:regionIsoName type="twoLetters"

TwoLetterISORegionName

例: "US"。この値は、type 属性に使用するのではなく、テキスト CDATA として指定します。型は "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 で、USB (Unicode Subset Bitfield) のビット番号を表し、Windows の FONTSIGNATURE 構造体に格納されます。この要素は複数回使用できます。

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:codePage 要素を含む単一の msLocale:ansiOemCodePage 要素

  • 単一の msLocale:codePage 要素を含む単一の msLocale:ansiCodePage 要素、および単一の msLocale:codePage 要素を含む msLocale:oemCodePage 要素

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 専用。スクリプトの 4 文字の IS0 15924 コード。"Latn" (ラテン文字)、"Cyrl" (キリル文字) など。この要素は何回でも使用できます。

measurement 要素

次の表は、measurement に属する要素の定義を示しています。

要素

プロパティ/メソッド

メモ

measurementSystem

IsMetric

type 属性は "metric" または "US" です。

paperSize

なし

Windows 専用。この要素は height 要素および width 要素のコンテナーです。次の値を指定できます。

  • 幅 = "216"、高さ = "279" (レター)

  • 幅 = "216"、高さ = "356" (リーガル)

  • 幅 = "297"、高さ = "420" (A3)

  • 幅 = "210"、高さ = "297" (A4)

日付要素

dates に属する要素は calendars 要素だけです。 これは単なるコンテナー要素です。

メモメモ

.NET Framework は、標準 LDML 要素 (msLocale スキーマではなく LDML 名前空間から取得される要素) の日付と時刻の書式を POSIX 規則に基づいて解釈します。たとえば、AM/PM のインジケーターは "a" です。msLocale スキーマ内の要素は、日付と時刻の書式については Microsoft の規則に従います。たとえば、AM/PM 指定子は "tt" 書式パターンによって指定されます。

dates/calendars に属する要素について次の表で説明します。 値はすべて type 属性によって指定されます。

要素

プロパティ/メソッド

メモ

default

AvailableCalendars

既定の暦。type 属性は "metric" または "US" です。Microsoft で生成されるファイルでは、既定の暦は常に AvailableCalendars[0] です。

指定できる暦の値は次のとおりです。

  • "Gregorian"

  • "Gregorian-US"

  • "Japanese"

  • "Taiwan"

  • "Korean"

  • "Hijri"

  • "Thai"

  • "Hebrew"

  • "Gregorian-ME-French"

  • "Gregorian-Arabic"

  • "Gregorian-XLIT-English"

  • "Gregorian-XLIT-French"

calendar

AvailableCalendars

使用可能な暦のインジケーター。この要素は、使用可能な暦ごとに 1 回繰り返されます。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

なし

コンテナー

eras

なし

コンテナー

dates/calendars/calendar/months では、単一の monthContext 要素です。この要素には "format" の type 属性が必要です。 dates/calendars/calendar/months/monthContext では、4 つの monthWidth 要素が必要です。

要素

プロパティ/メソッド

メモ

monthWidth type="wide"

MonthNames

コンテナー

monthWidth type="abbreviated"

AbbreviatedMonthNames

コンテナー

monthWidth type="genitive"

MonthGenitiveNames

コンテナー

monthWidth type="genitiveAbbreviated"

AbbreviatedMonthGenitiveNames

コンテナー

dates/calendars/calendar/months/monthContext/monthWidth には、年の月ごとに 1 つの 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 要素です。この要素には "format" の type 属性が必要です。 dates/calendars/calendar/days/dayContext では、3 つの dayWidth 要素が必要です。

要素

プロパティ/メソッド

メモ

dayWidth type="wide"

DayNames

コンテナー

dayWidth type="abbreviated"

AbbreviatedDayNames

コンテナー

dayWidth type="shorter"

ShortestDayNames

コンテナー

dates/calendars/calendar/days/dayContext/dayWidth には、曜日ごとに 1 つの 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>

次の表に示す要素は 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 属性は 0 から始まる一意のインデックスを示します。ギャップがないことが必要です。

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 属性は 0 から始まる一意のインデックスを示します。ギャップがないことが必要です。

次の要素は、値を 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 属性は 0 から始まる一意のインデックスを示します。ギャップがないことが必要です。

次の表に示す要素は dates/calendars/calendar/dateformats/special/msLocale:timeFormatLength に分類されます。 値はすべて type 属性によって指定されます。

要素

プロパティ/メソッド

メモ

msLocale:default

なし

既定の書式の type 属性に対応する値。Microsoft で生成されるファイルでは、既定値は常に "0" です。

msLocale:timeFormat

GetAllDateTimePatterns ('T'), GetAllDateTimePatterns ('t')

それぞれの対応する DateTime 値のコンテナー。type 属性は 0 から始まる一意のインデックスを示します。ギャップがないことが必要です。

次の要素は、値を 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>

次の表に示す要素は dates/calendars/calendar/eras に分類されます。

要素

プロパティ/メソッド

メモ

eraAbbr

GetEraName

コンテナー

eraNames

GetAbbreviatedEraName

コンテナー

dates/calendars/calendar/eras/eraAbbr および dates/calendars/calendar/eras/eraNames には、年号ごとに 1 つの era 要素が必要です。 各 era 要素について、type は年号を示す数であり、CDATA 型は対応する文字列を示します。 次に例を示します。

<eras>
   <eraAbbr>
      <era type="0">BC</era>
      <era type="1">AD</era>
   </eraAbbr>
   <eraNames>
      <era type="0">Before Christ</era>
      <era type="1">Anno Domini</era>
   </eraNames>
</eras>

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

なし

コンテナー。内容はすべて msLocale スキーマから取得されます。

次の表に示す要素は numbers/symbols/special に分類されます。 特に記載のない限り、これらの要素には CDATA 型のデータが割り当てられます。

要素

プロパティ/メソッド

メモ

msLocale:currencyDecimalSeparator

CurrencyDecimalSeparator

例: "."

msLocale:currencyGroupSeparator

CurrencyGroupSeparator

例: ","

msLocale:leadingZero

なし

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 属性は "既定" として指定する必要があります。

次の表に示す要素は numbers/currencies/currency に分類されます。 特に記載のない限り、これらの要素には CDATA 型のデータが割り当てられます。

要素

プロパティ/メソッド

メモ

symbol

ISOCurrencySymbol

例: "$"

displayName

CurrencyNativeName

例: "Dollar"

special

なし

コンテナー。内容はすべて msLocale スキーマから取得されます。

次の表に示す要素は 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 に相当するネイティブな数字であり、各数字に 1 つの要素が対応します。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