...

Text file src/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt

Documentation: golang.org/x/text/language/testdata

     1# basics
     2fr, en-GB, en ; 	en-GB ; 	en-GB
     3fr, en-GB, en ; 	en-US ; 	en
     4fr, en-GB, en ; 	fr-FR ; 	fr
     5fr, en-GB, en ; 	ja-JP ; 	fr
     6
     7# script fallbacks
     8zh-CN, zh-TW, iw ; 	zh-Hant ; 	zh-TW
     9zh-CN, zh-TW, iw ; 	zh ; 	zh-CN
    10zh-CN, zh-TW, iw ; 	zh-Hans-CN ; 	zh-CN
    11zh-CN, zh-TW, iw ; 	zh-Hant-HK ; 	zh-TW
    12zh-CN, zh-TW, iw ; 	he-IT ; 	iw ; iw-u-rg-itzzzz
    13
    14# language-specific script fallbacks 1
    15en, sr, nl ; 	sr-Latn ; 	sr
    16en, sr, nl ; 	sh ; 	sr   # different script, but seems okay and is as CLDR suggests
    17en, sr, nl ; 	hr ; 	en
    18en, sr, nl ; 	bs ; 	en
    19en, sr, nl ; 	nl-Cyrl ; 	sr
    20
    21# language-specific script fallbacks 2
    22en, sh ; 	sr ; 	sh
    23en, sh ; 	sr-Cyrl ; 	sh
    24en, sh ; 	hr ; 	sh
    25
    26# don't match hr to sr-Latn
    27en, sr-Latn ; 	hr ; 	en
    28
    29# both deprecated and not
    30fil, tl, iw, he ; 	he-IT ; 	he
    31fil, tl, iw, he ; 	he ; 	he
    32fil, tl, iw, he ; 	iw ; 	iw
    33fil, tl, iw, he ; 	fil-IT ; 	fil
    34fil, tl, iw, he ; 	fil ; 	fil
    35fil, tl, iw, he ; 	tl ; 	tl
    36
    37# nearby languages
    38en, fil, ro, nn ; 	tl ; 	fil
    39en, fil, ro, nn ; 	mo ; 	ro
    40en, fil, ro, nn ; 	nb ; 	nn
    41en, fil, ro, nn ; 	ja ; 	en
    42
    43# nearby languages: Nynorsk to Bokmål
    44en, nb ; 	nn ; 	nb
    45
    46# nearby languages: Danish does not match nn
    47en, nn ; 	da ; 	en
    48
    49# nearby languages: Danish matches no
    50en, no ; 	da ; 	no
    51
    52# nearby languages: Danish matches nb
    53en, nb ; 	da ; 	nb
    54
    55# prefer matching languages over language variants.
    56nn, en-GB ; 	no, en-US ; 	en-GB
    57nn, en-GB ; 	nb, en-US ; 	en-GB
    58
    59# deprecated version is closer than same language with other differences
    60nl, he, en-GB ; 	iw, en-US ; 	he
    61
    62# macro equivalent is closer than same language with other differences
    63nl, zh, en-GB, no ; 	cmn, en-US ; 	zh
    64nl, zh, en-GB, no ; 	nb, en-US ; 	no
    65
    66# legacy equivalent is closer than same language with other differences
    67nl, fil, en-GB ; 	tl, en-US ; 	fil
    68
    69# distinguish near equivalents
    70en, ro, mo, ro-MD ; 	ro ; 	ro
    71en, ro, mo, ro-MD ; 	mo ; 	mo
    72en, ro, mo, ro-MD ; 	ro-MD ; 	ro-MD
    73
    74# maximization of legacy
    75sr-Cyrl, sr-Latn, ro, ro-MD ; 	sh ; 	sr-Latn
    76sr-Cyrl, sr-Latn, ro, ro-MD ; 	mo ; 	ro-MD
    77
    78# empty
    79 ; 	fr ; 	und
    80 ; 	en ; 	und
    81
    82# private use subtags
    83fr, en-GB, x-bork, es-ES, es-419 ; 	x-piglatin ; 	fr
    84fr, en-GB, x-bork, es-ES, es-419 ; 	x-bork ; 	x-bork
    85
    86# grandfathered codes
    87fr, i-klingon, en-Latn-US ; 	en-GB-oed ; 	en-Latn-US
    88fr, i-klingon, en-Latn-US ; 	i-klingon ; 	tlh
    89
    90
    91# simple variant match
    92fr, en-GB, ja, es-ES, es-MX ; 	de, en-US ; 	en-GB
    93fr, en-GB, ja, es-ES, es-MX ; 	de, zh ; 	fr
    94
    95# best match for traditional Chinese
    96fr, zh-Hans-CN, en-US ; 	zh-TW ; 	zh-Hans-CN
    97fr, zh-Hans-CN, en-US ; 	zh-Hant ; 	zh-Hans-CN
    98fr, zh-Hans-CN, en-US ; 	zh-TW, en ; 	en-US
    99fr, zh-Hans-CN, en-US ; 	zh-Hant-CN, en ; 	en-US
   100fr, zh-Hans-CN, en-US ; 	zh-Hans, en ; 	zh-Hans-CN
   101
   102# more specific script should win in case regions are identical
   103af, af-Latn, af-Arab ; 	af ; 	af
   104af, af-Latn, af-Arab ; 	af-ZA ; 	af
   105af, af-Latn, af-Arab ; 	af-Latn-ZA ; 	af-Latn
   106af, af-Latn, af-Arab ; 	af-Latn ; 	af-Latn
   107
   108# more specific region should win
   109nl, nl-NL, nl-BE ; 	nl ; 	nl
   110nl, nl-NL, nl-BE ; 	nl-Latn ; 	nl
   111nl, nl-NL, nl-BE ; 	nl-Latn-NL ; 	nl-NL
   112nl, nl-NL, nl-BE ; 	nl-NL ; 	nl-NL
   113
   114# region may replace matched if matched is enclosing
   115es-419,es ; 	es-MX ; 	es-419 ; es-MX
   116es-419,es ; 	es-SG ; 	es
   117
   118# more specific region wins over more specific script
   119nl, nl-Latn, nl-NL, nl-BE ; 	nl ; 	nl
   120nl, nl-Latn, nl-NL, nl-BE ; 	nl-Latn ; 	nl-Latn
   121nl, nl-Latn, nl-NL, nl-BE ; 	nl-NL ; 	nl-NL
   122nl, nl-Latn, nl-NL, nl-BE ; 	nl-Latn-NL ; 	nl-NL
   123
   124# region distance Portuguese
   125pt, pt-PT ; 	pt-ES ; 	pt-PT
   126
   127# if no preferred locale specified, pick top language, not regional
   128en, fr, fr-CA, fr-CH ; 	fr-US ; 	fr  ; fr-u-rg-uszzzz
   129
   130# region distance German
   131de-AT, de-DE, de-CH ; 	de ; 	de-DE
   132
   133# en-AU is closer to en-GB than to en (which is en-US)
   134en, en-GB, es-ES, es-419 ; 	en-AU ; 	en-GB
   135en, en-GB, es-ES, es-419 ; 	es-MX ; 	es-419 ; es-MX
   136en, en-GB, es-ES, es-419 ; 	es-PT ; 	es-ES
   137
   138# undefined
   139it, fr ; 	und ; 	it
   140
   141# und does not match en
   142it, en ; 	und ; 	it
   143
   144# undefined in priority list
   145it, und ; 	und ; 	und
   146it, und ; 	en ; 	it
   147
   148# undefined
   149it, fr, zh ; 	und-FR ; 	fr
   150it, fr, zh ; 	und-CN ; 	zh
   151it, fr, zh ; 	und-Hans ; 	zh
   152it, fr, zh ; 	und-Hant ; 	zh
   153it, fr, zh ; 	und-Latn ; 	it
   154
   155# match on maximized tag
   156fr, en-GB, ja, es-ES, es-MX ; 	ja-JP, en-GB ; 	ja
   157fr, en-GB, ja, es-ES, es-MX ; 	ja-Jpan-JP, en-GB ; 	ja
   158
   159# pick best maximized tag
   160ja, ja-Jpan-US, ja-JP, en, ru ; 	ja-Jpan, ru ; 	ja
   161ja, ja-Jpan-US, ja-JP, en, ru ; 	ja-JP, ru ; 	ja-JP
   162ja, ja-Jpan-US, ja-JP, en, ru ; 	ja-US, ru ; 	ja-Jpan-US
   163
   164# termination: pick best maximized match
   165ja, ja-Jpan, ja-JP, en, ru ; 	ja-Jpan-JP, ru ; 	ja-JP
   166ja, ja-Jpan, ja-JP, en, ru ; 	ja-Jpan, ru ; 	ja-Jpan
   167
   168# same language over exact, but distinguish when user is explicit
   169fr, en-GB, ja, es-ES, es-MX ; 	ja, de ; 	ja
   170en, de, fr, ja ; 	de-CH, fr ; 	de # TODO: ; de-u-rg-CH
   171en-GB, nl ; 	en, nl ; en-GB
   172en-GB, nl ; 	en, nl, en-GB ; nl
   173
   174# parent relation preserved
   175en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-150 ; 	en-GB
   176en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-AU ; 	en-GB
   177en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-BE ; 	en-GB
   178en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-GG ; 	en-GB
   179en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-GI ; 	en-GB
   180en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-HK ; 	en-GB
   181en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-IE ; 	en-GB
   182en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-IM ; 	en-GB
   183en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-IN ; 	en-GB
   184en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-JE ; 	en-GB
   185en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-MT ; 	en-GB
   186en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-NZ ; 	en-GB
   187en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-PK ; 	en-GB
   188en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-SG ; 	en-GB
   189en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-DE ; 	en-GB
   190en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	en-MT ; 	en-GB
   191en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-AR ; 	es-419 ; es-AR
   192en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-BO ; 	es-419 ; es-BO
   193en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-CL ; 	es-419 ; es-CL
   194en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-CO ; 	es-419 ; es-CO
   195en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-CR ; 	es-419 ; es-CR
   196en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-CU ; 	es-419 ; es-CU
   197en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-DO ; 	es-419 ; es-DO
   198en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-EC ; 	es-419 ; es-EC
   199en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-GT ; 	es-419 ; es-GT
   200en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-HN ; 	es-419 ; es-HN
   201en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-MX ; 	es-419 ; es-MX
   202en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-NI ; 	es-419 ; es-NI
   203en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-PA ; 	es-419 ; es-PA
   204en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-PE ; 	es-419 ; es-PE
   205en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-PR ; 	es-419 ; es-PR
   206en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-PT ; 	es
   207en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-PY ; 	es-419 ; es-PY
   208en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-SV ; 	es-419 ; es-SV
   209en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-US ; 	es-419
   210en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-UY ; 	es-419 ; es-UY
   211en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	es-VE ; 	es-419 ; es-VE
   212en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	pt-AO ; 	pt-PT
   213en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	pt-CV ; 	pt-PT
   214en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	pt-GW ; 	pt-PT
   215en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	pt-MO ; 	pt-PT
   216en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	pt-MZ ; 	pt-PT
   217en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	pt-ST ; 	pt-PT
   218en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh,  zh-Hant, zh-Hant-HK ; 	pt-TL ; 	pt-PT
   219
   220# preserve extensions
   221en, de, sl-nedis ; 	de-FR-u-co-phonebk ; 	de ; de-u-co-phonebk-rg-frzzzz
   222en, de, sl-nedis ; 	sl-nedis-u-cu-eur ; 	sl-nedis ; sl-nedis-u-cu-eur
   223en, de, sl-nedis ; 	sl-u-cu-eur ; 	sl-nedis ; sl-nedis-u-cu-eur
   224en, de, sl-nedis ; 	sl-HR-nedis-u-cu-eur ; 	sl-nedis ; sl-nedis-u-cu-eur-rg-hrzzzz
   225en, de, sl-nedis ; 	de-t-m0-iso-i0-pinyin ; 	de ; de-t-m0-iso-i0-pinyin
   226
   227und, nl ; 	nl-BE-fonipa ; 	nl ; 	nl-u-rg-bezzzz
   228und, nl-CA ;	nl-BE-fonipa ; 	nl-CA ; 	nl-CA-u-rg-bezzzz
   229und, nl-fonupa ; 	nl-BE-fonipa ; 	nl-fonupa ; 	nl-fonupa-u-rg-bezzzz
   230und, no ; 	nn-DK-fonipa ; 	no ; 	no-u-rg-dkzzzz
   231und, en-GB-u-sd-usca ; 	en-US-fonipa-u-nu-Arab-ca-buddhist-sd-usdc-t-m0-iso-i0-pinyin ; 	en-GB-u-sd-usca ; 	en-GB-t-m0-iso-i0-pinyin-u-ca-buddhist-nu-Arab-rg-uszzzz-sd-usca

View as plain text