You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

144 lines
6.5 KiB

  1. // Copyright 2013 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. package language
  5. // TODO: Various sets of commonly use tags and regions.
  6. // MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.
  7. // It simplifies safe initialization of Tag values.
  8. func MustParse(s string) Tag {
  9. t, err := Parse(s)
  10. if err != nil {
  11. panic(err)
  12. }
  13. return t
  14. }
  15. // MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.
  16. // It simplifies safe initialization of Tag values.
  17. func (c CanonType) MustParse(s string) Tag {
  18. t, err := c.Parse(s)
  19. if err != nil {
  20. panic(err)
  21. }
  22. return t
  23. }
  24. // MustParseBase is like ParseBase, but panics if the given base cannot be parsed.
  25. // It simplifies safe initialization of Base values.
  26. func MustParseBase(s string) Base {
  27. b, err := ParseBase(s)
  28. if err != nil {
  29. panic(err)
  30. }
  31. return b
  32. }
  33. // MustParseScript is like ParseScript, but panics if the given script cannot be
  34. // parsed. It simplifies safe initialization of Script values.
  35. func MustParseScript(s string) Script {
  36. scr, err := ParseScript(s)
  37. if err != nil {
  38. panic(err)
  39. }
  40. return scr
  41. }
  42. // MustParseRegion is like ParseRegion, but panics if the given region cannot be
  43. // parsed. It simplifies safe initialization of Region values.
  44. func MustParseRegion(s string) Region {
  45. r, err := ParseRegion(s)
  46. if err != nil {
  47. panic(err)
  48. }
  49. return r
  50. }
  51. var (
  52. und = Tag{}
  53. Und Tag = Tag{}
  54. Afrikaans Tag = Tag{lang: _af} // af
  55. Amharic Tag = Tag{lang: _am} // am
  56. Arabic Tag = Tag{lang: _ar} // ar
  57. ModernStandardArabic Tag = Tag{lang: _ar, region: _001} // ar-001
  58. Azerbaijani Tag = Tag{lang: _az} // az
  59. Bulgarian Tag = Tag{lang: _bg} // bg
  60. Bengali Tag = Tag{lang: _bn} // bn
  61. Catalan Tag = Tag{lang: _ca} // ca
  62. Czech Tag = Tag{lang: _cs} // cs
  63. Danish Tag = Tag{lang: _da} // da
  64. German Tag = Tag{lang: _de} // de
  65. Greek Tag = Tag{lang: _el} // el
  66. English Tag = Tag{lang: _en} // en
  67. AmericanEnglish Tag = Tag{lang: _en, region: _US} // en-US
  68. BritishEnglish Tag = Tag{lang: _en, region: _GB} // en-GB
  69. Spanish Tag = Tag{lang: _es} // es
  70. EuropeanSpanish Tag = Tag{lang: _es, region: _ES} // es-ES
  71. LatinAmericanSpanish Tag = Tag{lang: _es, region: _419} // es-419
  72. Estonian Tag = Tag{lang: _et} // et
  73. Persian Tag = Tag{lang: _fa} // fa
  74. Finnish Tag = Tag{lang: _fi} // fi
  75. Filipino Tag = Tag{lang: _fil} // fil
  76. French Tag = Tag{lang: _fr} // fr
  77. CanadianFrench Tag = Tag{lang: _fr, region: _CA} // fr-CA
  78. Gujarati Tag = Tag{lang: _gu} // gu
  79. Hebrew Tag = Tag{lang: _he} // he
  80. Hindi Tag = Tag{lang: _hi} // hi
  81. Croatian Tag = Tag{lang: _hr} // hr
  82. Hungarian Tag = Tag{lang: _hu} // hu
  83. Armenian Tag = Tag{lang: _hy} // hy
  84. Indonesian Tag = Tag{lang: _id} // id
  85. Icelandic Tag = Tag{lang: _is} // is
  86. Italian Tag = Tag{lang: _it} // it
  87. Japanese Tag = Tag{lang: _ja} // ja
  88. Georgian Tag = Tag{lang: _ka} // ka
  89. Kazakh Tag = Tag{lang: _kk} // kk
  90. Khmer Tag = Tag{lang: _km} // km
  91. Kannada Tag = Tag{lang: _kn} // kn
  92. Korean Tag = Tag{lang: _ko} // ko
  93. Kirghiz Tag = Tag{lang: _ky} // ky
  94. Lao Tag = Tag{lang: _lo} // lo
  95. Lithuanian Tag = Tag{lang: _lt} // lt
  96. Latvian Tag = Tag{lang: _lv} // lv
  97. Macedonian Tag = Tag{lang: _mk} // mk
  98. Malayalam Tag = Tag{lang: _ml} // ml
  99. Mongolian Tag = Tag{lang: _mn} // mn
  100. Marathi Tag = Tag{lang: _mr} // mr
  101. Malay Tag = Tag{lang: _ms} // ms
  102. Burmese Tag = Tag{lang: _my} // my
  103. Nepali Tag = Tag{lang: _ne} // ne
  104. Dutch Tag = Tag{lang: _nl} // nl
  105. Norwegian Tag = Tag{lang: _no} // no
  106. Punjabi Tag = Tag{lang: _pa} // pa
  107. Polish Tag = Tag{lang: _pl} // pl
  108. Portuguese Tag = Tag{lang: _pt} // pt
  109. BrazilianPortuguese Tag = Tag{lang: _pt, region: _BR} // pt-BR
  110. EuropeanPortuguese Tag = Tag{lang: _pt, region: _PT} // pt-PT
  111. Romanian Tag = Tag{lang: _ro} // ro
  112. Russian Tag = Tag{lang: _ru} // ru
  113. Sinhala Tag = Tag{lang: _si} // si
  114. Slovak Tag = Tag{lang: _sk} // sk
  115. Slovenian Tag = Tag{lang: _sl} // sl
  116. Albanian Tag = Tag{lang: _sq} // sq
  117. Serbian Tag = Tag{lang: _sr} // sr
  118. SerbianLatin Tag = Tag{lang: _sr, script: _Latn} // sr-Latn
  119. Swedish Tag = Tag{lang: _sv} // sv
  120. Swahili Tag = Tag{lang: _sw} // sw
  121. Tamil Tag = Tag{lang: _ta} // ta
  122. Telugu Tag = Tag{lang: _te} // te
  123. Thai Tag = Tag{lang: _th} // th
  124. Turkish Tag = Tag{lang: _tr} // tr
  125. Ukrainian Tag = Tag{lang: _uk} // uk
  126. Urdu Tag = Tag{lang: _ur} // ur
  127. Uzbek Tag = Tag{lang: _uz} // uz
  128. Vietnamese Tag = Tag{lang: _vi} // vi
  129. Chinese Tag = Tag{lang: _zh} // zh
  130. SimplifiedChinese Tag = Tag{lang: _zh, script: _Hans} // zh-Hans
  131. TraditionalChinese Tag = Tag{lang: _zh, script: _Hant} // zh-Hant
  132. Zulu Tag = Tag{lang: _zu} // zu
  133. )