pluralrules.js 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128
  1. // Copyright 2012 The Closure Library Authors. All Rights Reserved.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS-IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. /**
  15. * @fileoverview Plural rules.
  16. *
  17. * This file is autogenerated by script:
  18. * http://go/generate_pluralrules.py
  19. * File generated from CLDR ver. 31.0.1
  20. *
  21. * Before check in, this file could have been manually edited. This is to
  22. * incorporate changes before we could fix CLDR. All manual modification must be
  23. * documented in this section, and should be removed after those changes land to
  24. * CLDR.
  25. */
  26. // clang-format off
  27. goog.provide('goog.i18n.pluralRules');
  28. /**
  29. * Plural pattern keyword
  30. * @enum {string}
  31. */
  32. goog.i18n.pluralRules.Keyword = {
  33. ZERO: 'zero',
  34. ONE: 'one',
  35. TWO: 'two',
  36. FEW: 'few',
  37. MANY: 'many',
  38. OTHER: 'other'
  39. };
  40. /**
  41. * Default Plural select rule.
  42. * @param {number} n The count of items.
  43. * @param {number=} opt_precision optional, precision.
  44. * @return {goog.i18n.pluralRules.Keyword} Default value.
  45. * @private
  46. */
  47. goog.i18n.pluralRules.defaultSelect_ = function(n, opt_precision) {
  48. return goog.i18n.pluralRules.Keyword.OTHER;
  49. };
  50. /**
  51. * Returns the fractional part of a number (3.1416 => 1416)
  52. * @param {number} n The count of items.
  53. * @return {number} The fractional part.
  54. * @private
  55. */
  56. goog.i18n.pluralRules.decimals_ = function(n) {
  57. var str = n + '';
  58. var result = str.indexOf('.');
  59. return (result == -1) ? 0 : str.length - result - 1;
  60. };
  61. /**
  62. * Calculates v and f as per CLDR plural rules.
  63. * The short names for parameters / return match the CLDR syntax and UTS #35
  64. * (http://unicode.org/reports/tr35/tr35-numbers.html#Plural_rules_syntax)
  65. * @param {number} n The count of items.
  66. * @param {number=} opt_precision optional, precision.
  67. * @return {!{v:number, f:number}} The v and f.
  68. * @private
  69. */
  70. goog.i18n.pluralRules.get_vf_ = function(n, opt_precision) {
  71. var DEFAULT_DIGITS = 3;
  72. if (undefined === opt_precision) {
  73. var v = Math.min(goog.i18n.pluralRules.decimals_(n), DEFAULT_DIGITS);
  74. } else {
  75. var v = opt_precision;
  76. }
  77. var base = Math.pow(10, v);
  78. var f = ((n * base) | 0) % base;
  79. return {v: v, f: f};
  80. };
  81. /**
  82. * Calculates w and t as per CLDR plural rules.
  83. * The short names for parameters / return match the CLDR syntax and UTS #35
  84. * (http://unicode.org/reports/tr35/tr35-numbers.html#Plural_rules_syntax)
  85. * @param {number} v Calculated previously.
  86. * @param {number} f Calculated previously.
  87. * @return {!{w:number, t:number}} The w and t.
  88. * @private
  89. */
  90. goog.i18n.pluralRules.get_wt_ = function(v, f) {
  91. if (f === 0) {
  92. return {w: 0, t: 0};
  93. }
  94. while ((f % 10) === 0) {
  95. f /= 10;
  96. v--;
  97. }
  98. return {w: v, t: f};
  99. };
  100. /**
  101. * Plural select rules for fil locale
  102. *
  103. * @param {number} n The count of items.
  104. * @param {number=} opt_precision Precision for number formatting, if not default.
  105. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  106. * @private
  107. */
  108. goog.i18n.pluralRules.filSelect_ = function(n, opt_precision) {
  109. var i = n | 0;
  110. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  111. if (vf.v == 0 && (i == 1 || i == 2 || i == 3) || vf.v == 0 && i % 10 != 4 && i % 10 != 6 && i % 10 != 9 || vf.v != 0 && vf.f % 10 != 4 && vf.f % 10 != 6 && vf.f % 10 != 9) {
  112. return goog.i18n.pluralRules.Keyword.ONE;
  113. }
  114. return goog.i18n.pluralRules.Keyword.OTHER;
  115. };
  116. /**
  117. * Plural select rules for br locale
  118. *
  119. * @param {number} n The count of items.
  120. * @param {number=} opt_precision Precision for number formatting, if not default.
  121. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  122. * @private
  123. */
  124. goog.i18n.pluralRules.brSelect_ = function(n, opt_precision) {
  125. if (n % 10 == 1 && n % 100 != 11 && n % 100 != 71 && n % 100 != 91) {
  126. return goog.i18n.pluralRules.Keyword.ONE;
  127. }
  128. if (n % 10 == 2 && n % 100 != 12 && n % 100 != 72 && n % 100 != 92) {
  129. return goog.i18n.pluralRules.Keyword.TWO;
  130. }
  131. if ((n % 10 >= 3 && n % 10 <= 4 || n % 10 == 9) && (n % 100 < 10 || n % 100 > 19) && (n % 100 < 70 || n % 100 > 79) && (n % 100 < 90 || n % 100 > 99)) {
  132. return goog.i18n.pluralRules.Keyword.FEW;
  133. }
  134. if (n != 0 && n % 1000000 == 0) {
  135. return goog.i18n.pluralRules.Keyword.MANY;
  136. }
  137. return goog.i18n.pluralRules.Keyword.OTHER;
  138. };
  139. /**
  140. * Plural select rules for sr locale
  141. *
  142. * @param {number} n The count of items.
  143. * @param {number=} opt_precision Precision for number formatting, if not default.
  144. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  145. * @private
  146. */
  147. goog.i18n.pluralRules.srSelect_ = function(n, opt_precision) {
  148. var i = n | 0;
  149. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  150. if (vf.v == 0 && i % 10 == 1 && i % 100 != 11 || vf.f % 10 == 1 && vf.f % 100 != 11) {
  151. return goog.i18n.pluralRules.Keyword.ONE;
  152. }
  153. if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14) || vf.f % 10 >= 2 && vf.f % 10 <= 4 && (vf.f % 100 < 12 || vf.f % 100 > 14)) {
  154. return goog.i18n.pluralRules.Keyword.FEW;
  155. }
  156. return goog.i18n.pluralRules.Keyword.OTHER;
  157. };
  158. /**
  159. * Plural select rules for ro locale
  160. *
  161. * @param {number} n The count of items.
  162. * @param {number=} opt_precision Precision for number formatting, if not default.
  163. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  164. * @private
  165. */
  166. goog.i18n.pluralRules.roSelect_ = function(n, opt_precision) {
  167. var i = n | 0;
  168. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  169. if (i == 1 && vf.v == 0) {
  170. return goog.i18n.pluralRules.Keyword.ONE;
  171. }
  172. if (vf.v != 0 || n == 0 || n != 1 && n % 100 >= 1 && n % 100 <= 19) {
  173. return goog.i18n.pluralRules.Keyword.FEW;
  174. }
  175. return goog.i18n.pluralRules.Keyword.OTHER;
  176. };
  177. /**
  178. * Plural select rules for hi locale
  179. *
  180. * @param {number} n The count of items.
  181. * @param {number=} opt_precision Precision for number formatting, if not default.
  182. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  183. * @private
  184. */
  185. goog.i18n.pluralRules.hiSelect_ = function(n, opt_precision) {
  186. var i = n | 0;
  187. if (i == 0 || n == 1) {
  188. return goog.i18n.pluralRules.Keyword.ONE;
  189. }
  190. return goog.i18n.pluralRules.Keyword.OTHER;
  191. };
  192. /**
  193. * Plural select rules for fr locale
  194. *
  195. * @param {number} n The count of items.
  196. * @param {number=} opt_precision Precision for number formatting, if not default.
  197. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  198. * @private
  199. */
  200. goog.i18n.pluralRules.frSelect_ = function(n, opt_precision) {
  201. var i = n | 0;
  202. if (i == 0 || i == 1) {
  203. return goog.i18n.pluralRules.Keyword.ONE;
  204. }
  205. return goog.i18n.pluralRules.Keyword.OTHER;
  206. };
  207. /**
  208. * Plural select rules for pt locale
  209. *
  210. * @param {number} n The count of items.
  211. * @param {number=} opt_precision Precision for number formatting, if not default.
  212. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  213. * @private
  214. */
  215. goog.i18n.pluralRules.ptSelect_ = function(n, opt_precision) {
  216. var i = n | 0;
  217. if (i >= 0 && i <= 1) {
  218. return goog.i18n.pluralRules.Keyword.ONE;
  219. }
  220. return goog.i18n.pluralRules.Keyword.OTHER;
  221. };
  222. /**
  223. * Plural select rules for cs locale
  224. *
  225. * @param {number} n The count of items.
  226. * @param {number=} opt_precision Precision for number formatting, if not default.
  227. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  228. * @private
  229. */
  230. goog.i18n.pluralRules.csSelect_ = function(n, opt_precision) {
  231. var i = n | 0;
  232. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  233. if (i == 1 && vf.v == 0) {
  234. return goog.i18n.pluralRules.Keyword.ONE;
  235. }
  236. if (i >= 2 && i <= 4 && vf.v == 0) {
  237. return goog.i18n.pluralRules.Keyword.FEW;
  238. }
  239. if (vf.v != 0) {
  240. return goog.i18n.pluralRules.Keyword.MANY;
  241. }
  242. return goog.i18n.pluralRules.Keyword.OTHER;
  243. };
  244. /**
  245. * Plural select rules for pl locale
  246. *
  247. * @param {number} n The count of items.
  248. * @param {number=} opt_precision Precision for number formatting, if not default.
  249. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  250. * @private
  251. */
  252. goog.i18n.pluralRules.plSelect_ = function(n, opt_precision) {
  253. var i = n | 0;
  254. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  255. if (i == 1 && vf.v == 0) {
  256. return goog.i18n.pluralRules.Keyword.ONE;
  257. }
  258. if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14)) {
  259. return goog.i18n.pluralRules.Keyword.FEW;
  260. }
  261. if (vf.v == 0 && i != 1 && i % 10 >= 0 && i % 10 <= 1 || vf.v == 0 && i % 10 >= 5 && i % 10 <= 9 || vf.v == 0 && i % 100 >= 12 && i % 100 <= 14) {
  262. return goog.i18n.pluralRules.Keyword.MANY;
  263. }
  264. return goog.i18n.pluralRules.Keyword.OTHER;
  265. };
  266. /**
  267. * Plural select rules for shi locale
  268. *
  269. * @param {number} n The count of items.
  270. * @param {number=} opt_precision Precision for number formatting, if not default.
  271. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  272. * @private
  273. */
  274. goog.i18n.pluralRules.shiSelect_ = function(n, opt_precision) {
  275. var i = n | 0;
  276. if (i == 0 || n == 1) {
  277. return goog.i18n.pluralRules.Keyword.ONE;
  278. }
  279. if (n >= 2 && n <= 10) {
  280. return goog.i18n.pluralRules.Keyword.FEW;
  281. }
  282. return goog.i18n.pluralRules.Keyword.OTHER;
  283. };
  284. /**
  285. * Plural select rules for lv locale
  286. *
  287. * @param {number} n The count of items.
  288. * @param {number=} opt_precision Precision for number formatting, if not default.
  289. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  290. * @private
  291. */
  292. goog.i18n.pluralRules.lvSelect_ = function(n, opt_precision) {
  293. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  294. if (n % 10 == 0 || n % 100 >= 11 && n % 100 <= 19 || vf.v == 2 && vf.f % 100 >= 11 && vf.f % 100 <= 19) {
  295. return goog.i18n.pluralRules.Keyword.ZERO;
  296. }
  297. if (n % 10 == 1 && n % 100 != 11 || vf.v == 2 && vf.f % 10 == 1 && vf.f % 100 != 11 || vf.v != 2 && vf.f % 10 == 1) {
  298. return goog.i18n.pluralRules.Keyword.ONE;
  299. }
  300. return goog.i18n.pluralRules.Keyword.OTHER;
  301. };
  302. /**
  303. * Plural select rules for iu locale
  304. *
  305. * @param {number} n The count of items.
  306. * @param {number=} opt_precision Precision for number formatting, if not default.
  307. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  308. * @private
  309. */
  310. goog.i18n.pluralRules.iuSelect_ = function(n, opt_precision) {
  311. if (n == 1) {
  312. return goog.i18n.pluralRules.Keyword.ONE;
  313. }
  314. if (n == 2) {
  315. return goog.i18n.pluralRules.Keyword.TWO;
  316. }
  317. return goog.i18n.pluralRules.Keyword.OTHER;
  318. };
  319. /**
  320. * Plural select rules for he locale
  321. *
  322. * @param {number} n The count of items.
  323. * @param {number=} opt_precision Precision for number formatting, if not default.
  324. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  325. * @private
  326. */
  327. goog.i18n.pluralRules.heSelect_ = function(n, opt_precision) {
  328. var i = n | 0;
  329. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  330. if (i == 1 && vf.v == 0) {
  331. return goog.i18n.pluralRules.Keyword.ONE;
  332. }
  333. if (i == 2 && vf.v == 0) {
  334. return goog.i18n.pluralRules.Keyword.TWO;
  335. }
  336. if (vf.v == 0 && (n < 0 || n > 10) && n % 10 == 0) {
  337. return goog.i18n.pluralRules.Keyword.MANY;
  338. }
  339. return goog.i18n.pluralRules.Keyword.OTHER;
  340. };
  341. /**
  342. * Plural select rules for mt locale
  343. *
  344. * @param {number} n The count of items.
  345. * @param {number=} opt_precision Precision for number formatting, if not default.
  346. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  347. * @private
  348. */
  349. goog.i18n.pluralRules.mtSelect_ = function(n, opt_precision) {
  350. if (n == 1) {
  351. return goog.i18n.pluralRules.Keyword.ONE;
  352. }
  353. if (n == 0 || n % 100 >= 2 && n % 100 <= 10) {
  354. return goog.i18n.pluralRules.Keyword.FEW;
  355. }
  356. if (n % 100 >= 11 && n % 100 <= 19) {
  357. return goog.i18n.pluralRules.Keyword.MANY;
  358. }
  359. return goog.i18n.pluralRules.Keyword.OTHER;
  360. };
  361. /**
  362. * Plural select rules for si locale
  363. *
  364. * @param {number} n The count of items.
  365. * @param {number=} opt_precision Precision for number formatting, if not default.
  366. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  367. * @private
  368. */
  369. goog.i18n.pluralRules.siSelect_ = function(n, opt_precision) {
  370. var i = n | 0;
  371. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  372. if ((n == 0 || n == 1) || i == 0 && vf.f == 1) {
  373. return goog.i18n.pluralRules.Keyword.ONE;
  374. }
  375. return goog.i18n.pluralRules.Keyword.OTHER;
  376. };
  377. /**
  378. * Plural select rules for cy locale
  379. *
  380. * @param {number} n The count of items.
  381. * @param {number=} opt_precision Precision for number formatting, if not default.
  382. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  383. * @private
  384. */
  385. goog.i18n.pluralRules.cySelect_ = function(n, opt_precision) {
  386. if (n == 0) {
  387. return goog.i18n.pluralRules.Keyword.ZERO;
  388. }
  389. if (n == 1) {
  390. return goog.i18n.pluralRules.Keyword.ONE;
  391. }
  392. if (n == 2) {
  393. return goog.i18n.pluralRules.Keyword.TWO;
  394. }
  395. if (n == 3) {
  396. return goog.i18n.pluralRules.Keyword.FEW;
  397. }
  398. if (n == 6) {
  399. return goog.i18n.pluralRules.Keyword.MANY;
  400. }
  401. return goog.i18n.pluralRules.Keyword.OTHER;
  402. };
  403. /**
  404. * Plural select rules for da locale
  405. *
  406. * @param {number} n The count of items.
  407. * @param {number=} opt_precision Precision for number formatting, if not default.
  408. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  409. * @private
  410. */
  411. goog.i18n.pluralRules.daSelect_ = function(n, opt_precision) {
  412. var i = n | 0;
  413. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  414. var wt = goog.i18n.pluralRules.get_wt_(vf.v, vf.f);
  415. if (n == 1 || wt.t != 0 && (i == 0 || i == 1)) {
  416. return goog.i18n.pluralRules.Keyword.ONE;
  417. }
  418. return goog.i18n.pluralRules.Keyword.OTHER;
  419. };
  420. /**
  421. * Plural select rules for ru locale
  422. *
  423. * @param {number} n The count of items.
  424. * @param {number=} opt_precision Precision for number formatting, if not default.
  425. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  426. * @private
  427. */
  428. goog.i18n.pluralRules.ruSelect_ = function(n, opt_precision) {
  429. var i = n | 0;
  430. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  431. if (vf.v == 0 && i % 10 == 1 && i % 100 != 11) {
  432. return goog.i18n.pluralRules.Keyword.ONE;
  433. }
  434. if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14)) {
  435. return goog.i18n.pluralRules.Keyword.FEW;
  436. }
  437. if (vf.v == 0 && i % 10 == 0 || vf.v == 0 && i % 10 >= 5 && i % 10 <= 9 || vf.v == 0 && i % 100 >= 11 && i % 100 <= 14) {
  438. return goog.i18n.pluralRules.Keyword.MANY;
  439. }
  440. return goog.i18n.pluralRules.Keyword.OTHER;
  441. };
  442. /**
  443. * Plural select rules for gv locale
  444. *
  445. * @param {number} n The count of items.
  446. * @param {number=} opt_precision Precision for number formatting, if not default.
  447. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  448. * @private
  449. */
  450. goog.i18n.pluralRules.gvSelect_ = function(n, opt_precision) {
  451. var i = n | 0;
  452. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  453. if (vf.v == 0 && i % 10 == 1) {
  454. return goog.i18n.pluralRules.Keyword.ONE;
  455. }
  456. if (vf.v == 0 && i % 10 == 2) {
  457. return goog.i18n.pluralRules.Keyword.TWO;
  458. }
  459. if (vf.v == 0 && (i % 100 == 0 || i % 100 == 20 || i % 100 == 40 || i % 100 == 60 || i % 100 == 80)) {
  460. return goog.i18n.pluralRules.Keyword.FEW;
  461. }
  462. if (vf.v != 0) {
  463. return goog.i18n.pluralRules.Keyword.MANY;
  464. }
  465. return goog.i18n.pluralRules.Keyword.OTHER;
  466. };
  467. /**
  468. * Plural select rules for be locale
  469. *
  470. * @param {number} n The count of items.
  471. * @param {number=} opt_precision Precision for number formatting, if not default.
  472. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  473. * @private
  474. */
  475. goog.i18n.pluralRules.beSelect_ = function(n, opt_precision) {
  476. if (n % 10 == 1 && n % 100 != 11) {
  477. return goog.i18n.pluralRules.Keyword.ONE;
  478. }
  479. if (n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) {
  480. return goog.i18n.pluralRules.Keyword.FEW;
  481. }
  482. if (n % 10 == 0 || n % 10 >= 5 && n % 10 <= 9 || n % 100 >= 11 && n % 100 <= 14) {
  483. return goog.i18n.pluralRules.Keyword.MANY;
  484. }
  485. return goog.i18n.pluralRules.Keyword.OTHER;
  486. };
  487. /**
  488. * Plural select rules for mk locale
  489. *
  490. * @param {number} n The count of items.
  491. * @param {number=} opt_precision Precision for number formatting, if not default.
  492. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  493. * @private
  494. */
  495. goog.i18n.pluralRules.mkSelect_ = function(n, opt_precision) {
  496. var i = n | 0;
  497. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  498. if (vf.v == 0 && i % 10 == 1 || vf.f % 10 == 1) {
  499. return goog.i18n.pluralRules.Keyword.ONE;
  500. }
  501. return goog.i18n.pluralRules.Keyword.OTHER;
  502. };
  503. /**
  504. * Plural select rules for ga locale
  505. *
  506. * @param {number} n The count of items.
  507. * @param {number=} opt_precision Precision for number formatting, if not default.
  508. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  509. * @private
  510. */
  511. goog.i18n.pluralRules.gaSelect_ = function(n, opt_precision) {
  512. if (n == 1) {
  513. return goog.i18n.pluralRules.Keyword.ONE;
  514. }
  515. if (n == 2) {
  516. return goog.i18n.pluralRules.Keyword.TWO;
  517. }
  518. if (n >= 3 && n <= 6) {
  519. return goog.i18n.pluralRules.Keyword.FEW;
  520. }
  521. if (n >= 7 && n <= 10) {
  522. return goog.i18n.pluralRules.Keyword.MANY;
  523. }
  524. return goog.i18n.pluralRules.Keyword.OTHER;
  525. };
  526. /**
  527. * Plural select rules for es locale
  528. *
  529. * @param {number} n The count of items.
  530. * @param {number=} opt_precision Precision for number formatting, if not default.
  531. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  532. * @private
  533. */
  534. goog.i18n.pluralRules.esSelect_ = function(n, opt_precision) {
  535. if (n == 1) {
  536. return goog.i18n.pluralRules.Keyword.ONE;
  537. }
  538. return goog.i18n.pluralRules.Keyword.OTHER;
  539. };
  540. /**
  541. * Plural select rules for dsb locale
  542. *
  543. * @param {number} n The count of items.
  544. * @param {number=} opt_precision Precision for number formatting, if not default.
  545. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  546. * @private
  547. */
  548. goog.i18n.pluralRules.dsbSelect_ = function(n, opt_precision) {
  549. var i = n | 0;
  550. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  551. if (vf.v == 0 && i % 100 == 1 || vf.f % 100 == 1) {
  552. return goog.i18n.pluralRules.Keyword.ONE;
  553. }
  554. if (vf.v == 0 && i % 100 == 2 || vf.f % 100 == 2) {
  555. return goog.i18n.pluralRules.Keyword.TWO;
  556. }
  557. if (vf.v == 0 && i % 100 >= 3 && i % 100 <= 4 || vf.f % 100 >= 3 && vf.f % 100 <= 4) {
  558. return goog.i18n.pluralRules.Keyword.FEW;
  559. }
  560. return goog.i18n.pluralRules.Keyword.OTHER;
  561. };
  562. /**
  563. * Plural select rules for lag locale
  564. *
  565. * @param {number} n The count of items.
  566. * @param {number=} opt_precision Precision for number formatting, if not default.
  567. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  568. * @private
  569. */
  570. goog.i18n.pluralRules.lagSelect_ = function(n, opt_precision) {
  571. var i = n | 0;
  572. if (n == 0) {
  573. return goog.i18n.pluralRules.Keyword.ZERO;
  574. }
  575. if ((i == 0 || i == 1) && n != 0) {
  576. return goog.i18n.pluralRules.Keyword.ONE;
  577. }
  578. return goog.i18n.pluralRules.Keyword.OTHER;
  579. };
  580. /**
  581. * Plural select rules for is locale
  582. *
  583. * @param {number} n The count of items.
  584. * @param {number=} opt_precision Precision for number formatting, if not default.
  585. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  586. * @private
  587. */
  588. goog.i18n.pluralRules.isSelect_ = function(n, opt_precision) {
  589. var i = n | 0;
  590. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  591. var wt = goog.i18n.pluralRules.get_wt_(vf.v, vf.f);
  592. if (wt.t == 0 && i % 10 == 1 && i % 100 != 11 || wt.t != 0) {
  593. return goog.i18n.pluralRules.Keyword.ONE;
  594. }
  595. return goog.i18n.pluralRules.Keyword.OTHER;
  596. };
  597. /**
  598. * Plural select rules for ksh locale
  599. *
  600. * @param {number} n The count of items.
  601. * @param {number=} opt_precision Precision for number formatting, if not default.
  602. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  603. * @private
  604. */
  605. goog.i18n.pluralRules.kshSelect_ = function(n, opt_precision) {
  606. if (n == 0) {
  607. return goog.i18n.pluralRules.Keyword.ZERO;
  608. }
  609. if (n == 1) {
  610. return goog.i18n.pluralRules.Keyword.ONE;
  611. }
  612. return goog.i18n.pluralRules.Keyword.OTHER;
  613. };
  614. /**
  615. * Plural select rules for ar locale
  616. *
  617. * @param {number} n The count of items.
  618. * @param {number=} opt_precision Precision for number formatting, if not default.
  619. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  620. * @private
  621. */
  622. goog.i18n.pluralRules.arSelect_ = function(n, opt_precision) {
  623. if (n == 0) {
  624. return goog.i18n.pluralRules.Keyword.ZERO;
  625. }
  626. if (n == 1) {
  627. return goog.i18n.pluralRules.Keyword.ONE;
  628. }
  629. if (n == 2) {
  630. return goog.i18n.pluralRules.Keyword.TWO;
  631. }
  632. if (n % 100 >= 3 && n % 100 <= 10) {
  633. return goog.i18n.pluralRules.Keyword.FEW;
  634. }
  635. if (n % 100 >= 11 && n % 100 <= 99) {
  636. return goog.i18n.pluralRules.Keyword.MANY;
  637. }
  638. return goog.i18n.pluralRules.Keyword.OTHER;
  639. };
  640. /**
  641. * Plural select rules for gd locale
  642. *
  643. * @param {number} n The count of items.
  644. * @param {number=} opt_precision Precision for number formatting, if not default.
  645. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  646. * @private
  647. */
  648. goog.i18n.pluralRules.gdSelect_ = function(n, opt_precision) {
  649. if (n == 1 || n == 11) {
  650. return goog.i18n.pluralRules.Keyword.ONE;
  651. }
  652. if (n == 2 || n == 12) {
  653. return goog.i18n.pluralRules.Keyword.TWO;
  654. }
  655. if (n >= 3 && n <= 10 || n >= 13 && n <= 19) {
  656. return goog.i18n.pluralRules.Keyword.FEW;
  657. }
  658. return goog.i18n.pluralRules.Keyword.OTHER;
  659. };
  660. /**
  661. * Plural select rules for sl locale
  662. *
  663. * @param {number} n The count of items.
  664. * @param {number=} opt_precision Precision for number formatting, if not default.
  665. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  666. * @private
  667. */
  668. goog.i18n.pluralRules.slSelect_ = function(n, opt_precision) {
  669. var i = n | 0;
  670. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  671. if (vf.v == 0 && i % 100 == 1) {
  672. return goog.i18n.pluralRules.Keyword.ONE;
  673. }
  674. if (vf.v == 0 && i % 100 == 2) {
  675. return goog.i18n.pluralRules.Keyword.TWO;
  676. }
  677. if (vf.v == 0 && i % 100 >= 3 && i % 100 <= 4 || vf.v != 0) {
  678. return goog.i18n.pluralRules.Keyword.FEW;
  679. }
  680. return goog.i18n.pluralRules.Keyword.OTHER;
  681. };
  682. /**
  683. * Plural select rules for lt locale
  684. *
  685. * @param {number} n The count of items.
  686. * @param {number=} opt_precision Precision for number formatting, if not default.
  687. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  688. * @private
  689. */
  690. goog.i18n.pluralRules.ltSelect_ = function(n, opt_precision) {
  691. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  692. if (n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) {
  693. return goog.i18n.pluralRules.Keyword.ONE;
  694. }
  695. if (n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) {
  696. return goog.i18n.pluralRules.Keyword.FEW;
  697. }
  698. if (vf.f != 0) {
  699. return goog.i18n.pluralRules.Keyword.MANY;
  700. }
  701. return goog.i18n.pluralRules.Keyword.OTHER;
  702. };
  703. /**
  704. * Plural select rules for tzm locale
  705. *
  706. * @param {number} n The count of items.
  707. * @param {number=} opt_precision Precision for number formatting, if not default.
  708. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  709. * @private
  710. */
  711. goog.i18n.pluralRules.tzmSelect_ = function(n, opt_precision) {
  712. if (n >= 0 && n <= 1 || n >= 11 && n <= 99) {
  713. return goog.i18n.pluralRules.Keyword.ONE;
  714. }
  715. return goog.i18n.pluralRules.Keyword.OTHER;
  716. };
  717. /**
  718. * Plural select rules for en locale
  719. *
  720. * @param {number} n The count of items.
  721. * @param {number=} opt_precision Precision for number formatting, if not default.
  722. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  723. * @private
  724. */
  725. goog.i18n.pluralRules.enSelect_ = function(n, opt_precision) {
  726. var i = n | 0;
  727. var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision);
  728. if (i == 1 && vf.v == 0) {
  729. return goog.i18n.pluralRules.Keyword.ONE;
  730. }
  731. return goog.i18n.pluralRules.Keyword.OTHER;
  732. };
  733. /**
  734. * Plural select rules for ak locale
  735. *
  736. * @param {number} n The count of items.
  737. * @param {number=} opt_precision Precision for number formatting, if not default.
  738. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value.
  739. * @private
  740. */
  741. goog.i18n.pluralRules.akSelect_ = function(n, opt_precision) {
  742. if (n >= 0 && n <= 1) {
  743. return goog.i18n.pluralRules.Keyword.ONE;
  744. }
  745. return goog.i18n.pluralRules.Keyword.OTHER;
  746. };
  747. /**
  748. * Selected Plural rules by locale.
  749. */
  750. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  751. if (goog.LOCALE == 'af') {
  752. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  753. }
  754. if (goog.LOCALE == 'am') {
  755. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  756. }
  757. if (goog.LOCALE == 'ar') {
  758. goog.i18n.pluralRules.select = goog.i18n.pluralRules.arSelect_;
  759. }
  760. if (goog.LOCALE == 'ar_DZ' || goog.LOCALE == 'ar-DZ') {
  761. goog.i18n.pluralRules.select = goog.i18n.pluralRules.arSelect_;
  762. }
  763. if (goog.LOCALE == 'az') {
  764. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  765. }
  766. if (goog.LOCALE == 'be') {
  767. goog.i18n.pluralRules.select = goog.i18n.pluralRules.beSelect_;
  768. }
  769. if (goog.LOCALE == 'bg') {
  770. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  771. }
  772. if (goog.LOCALE == 'bn') {
  773. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  774. }
  775. if (goog.LOCALE == 'br') {
  776. goog.i18n.pluralRules.select = goog.i18n.pluralRules.brSelect_;
  777. }
  778. if (goog.LOCALE == 'bs') {
  779. goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_;
  780. }
  781. if (goog.LOCALE == 'ca') {
  782. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  783. }
  784. if (goog.LOCALE == 'chr') {
  785. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  786. }
  787. if (goog.LOCALE == 'cs') {
  788. goog.i18n.pluralRules.select = goog.i18n.pluralRules.csSelect_;
  789. }
  790. if (goog.LOCALE == 'cy') {
  791. goog.i18n.pluralRules.select = goog.i18n.pluralRules.cySelect_;
  792. }
  793. if (goog.LOCALE == 'da') {
  794. goog.i18n.pluralRules.select = goog.i18n.pluralRules.daSelect_;
  795. }
  796. if (goog.LOCALE == 'de') {
  797. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  798. }
  799. if (goog.LOCALE == 'de_AT' || goog.LOCALE == 'de-AT') {
  800. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  801. }
  802. if (goog.LOCALE == 'de_CH' || goog.LOCALE == 'de-CH') {
  803. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  804. }
  805. if (goog.LOCALE == 'el') {
  806. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  807. }
  808. if (goog.LOCALE == 'en') {
  809. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  810. }
  811. if (goog.LOCALE == 'en_AU' || goog.LOCALE == 'en-AU') {
  812. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  813. }
  814. if (goog.LOCALE == 'en_CA' || goog.LOCALE == 'en-CA') {
  815. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  816. }
  817. if (goog.LOCALE == 'en_GB' || goog.LOCALE == 'en-GB') {
  818. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  819. }
  820. if (goog.LOCALE == 'en_IE' || goog.LOCALE == 'en-IE') {
  821. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  822. }
  823. if (goog.LOCALE == 'en_IN' || goog.LOCALE == 'en-IN') {
  824. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  825. }
  826. if (goog.LOCALE == 'en_SG' || goog.LOCALE == 'en-SG') {
  827. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  828. }
  829. if (goog.LOCALE == 'en_US' || goog.LOCALE == 'en-US') {
  830. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  831. }
  832. if (goog.LOCALE == 'en_ZA' || goog.LOCALE == 'en-ZA') {
  833. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  834. }
  835. if (goog.LOCALE == 'es') {
  836. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  837. }
  838. if (goog.LOCALE == 'es_419' || goog.LOCALE == 'es-419') {
  839. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  840. }
  841. if (goog.LOCALE == 'es_ES' || goog.LOCALE == 'es-ES') {
  842. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  843. }
  844. if (goog.LOCALE == 'es_MX' || goog.LOCALE == 'es-MX') {
  845. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  846. }
  847. if (goog.LOCALE == 'es_US' || goog.LOCALE == 'es-US') {
  848. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  849. }
  850. if (goog.LOCALE == 'et') {
  851. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  852. }
  853. if (goog.LOCALE == 'eu') {
  854. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  855. }
  856. if (goog.LOCALE == 'fa') {
  857. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  858. }
  859. if (goog.LOCALE == 'fi') {
  860. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  861. }
  862. if (goog.LOCALE == 'fil') {
  863. goog.i18n.pluralRules.select = goog.i18n.pluralRules.filSelect_;
  864. }
  865. if (goog.LOCALE == 'fr') {
  866. goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_;
  867. }
  868. if (goog.LOCALE == 'fr_CA' || goog.LOCALE == 'fr-CA') {
  869. goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_;
  870. }
  871. if (goog.LOCALE == 'ga') {
  872. goog.i18n.pluralRules.select = goog.i18n.pluralRules.gaSelect_;
  873. }
  874. if (goog.LOCALE == 'gl') {
  875. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  876. }
  877. if (goog.LOCALE == 'gsw') {
  878. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  879. }
  880. if (goog.LOCALE == 'gu') {
  881. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  882. }
  883. if (goog.LOCALE == 'haw') {
  884. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  885. }
  886. if (goog.LOCALE == 'he') {
  887. goog.i18n.pluralRules.select = goog.i18n.pluralRules.heSelect_;
  888. }
  889. if (goog.LOCALE == 'hi') {
  890. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  891. }
  892. if (goog.LOCALE == 'hr') {
  893. goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_;
  894. }
  895. if (goog.LOCALE == 'hu') {
  896. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  897. }
  898. if (goog.LOCALE == 'hy') {
  899. goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_;
  900. }
  901. if (goog.LOCALE == 'id') {
  902. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  903. }
  904. if (goog.LOCALE == 'in') {
  905. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  906. }
  907. if (goog.LOCALE == 'is') {
  908. goog.i18n.pluralRules.select = goog.i18n.pluralRules.isSelect_;
  909. }
  910. if (goog.LOCALE == 'it') {
  911. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  912. }
  913. if (goog.LOCALE == 'iw') {
  914. goog.i18n.pluralRules.select = goog.i18n.pluralRules.heSelect_;
  915. }
  916. if (goog.LOCALE == 'ja') {
  917. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  918. }
  919. if (goog.LOCALE == 'ka') {
  920. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  921. }
  922. if (goog.LOCALE == 'kk') {
  923. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  924. }
  925. if (goog.LOCALE == 'km') {
  926. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  927. }
  928. if (goog.LOCALE == 'kn') {
  929. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  930. }
  931. if (goog.LOCALE == 'ko') {
  932. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  933. }
  934. if (goog.LOCALE == 'ky') {
  935. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  936. }
  937. if (goog.LOCALE == 'ln') {
  938. goog.i18n.pluralRules.select = goog.i18n.pluralRules.akSelect_;
  939. }
  940. if (goog.LOCALE == 'lo') {
  941. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  942. }
  943. if (goog.LOCALE == 'lt') {
  944. goog.i18n.pluralRules.select = goog.i18n.pluralRules.ltSelect_;
  945. }
  946. if (goog.LOCALE == 'lv') {
  947. goog.i18n.pluralRules.select = goog.i18n.pluralRules.lvSelect_;
  948. }
  949. if (goog.LOCALE == 'mk') {
  950. goog.i18n.pluralRules.select = goog.i18n.pluralRules.mkSelect_;
  951. }
  952. if (goog.LOCALE == 'ml') {
  953. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  954. }
  955. if (goog.LOCALE == 'mn') {
  956. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  957. }
  958. if (goog.LOCALE == 'mo') {
  959. goog.i18n.pluralRules.select = goog.i18n.pluralRules.roSelect_;
  960. }
  961. if (goog.LOCALE == 'mr') {
  962. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  963. }
  964. if (goog.LOCALE == 'ms') {
  965. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  966. }
  967. if (goog.LOCALE == 'mt') {
  968. goog.i18n.pluralRules.select = goog.i18n.pluralRules.mtSelect_;
  969. }
  970. if (goog.LOCALE == 'my') {
  971. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  972. }
  973. if (goog.LOCALE == 'nb') {
  974. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  975. }
  976. if (goog.LOCALE == 'ne') {
  977. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  978. }
  979. if (goog.LOCALE == 'nl') {
  980. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  981. }
  982. if (goog.LOCALE == 'no') {
  983. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  984. }
  985. if (goog.LOCALE == 'no_NO' || goog.LOCALE == 'no-NO') {
  986. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  987. }
  988. if (goog.LOCALE == 'or') {
  989. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  990. }
  991. if (goog.LOCALE == 'pa') {
  992. goog.i18n.pluralRules.select = goog.i18n.pluralRules.akSelect_;
  993. }
  994. if (goog.LOCALE == 'pl') {
  995. goog.i18n.pluralRules.select = goog.i18n.pluralRules.plSelect_;
  996. }
  997. if (goog.LOCALE == 'pt') {
  998. goog.i18n.pluralRules.select = goog.i18n.pluralRules.ptSelect_;
  999. }
  1000. if (goog.LOCALE == 'pt_BR' || goog.LOCALE == 'pt-BR') {
  1001. goog.i18n.pluralRules.select = goog.i18n.pluralRules.ptSelect_;
  1002. }
  1003. if (goog.LOCALE == 'pt_PT' || goog.LOCALE == 'pt-PT') {
  1004. goog.i18n.pluralRules.select = goog.i18n.pluralRules.ptSelect_;
  1005. }
  1006. if (goog.LOCALE == 'ro') {
  1007. goog.i18n.pluralRules.select = goog.i18n.pluralRules.roSelect_;
  1008. }
  1009. if (goog.LOCALE == 'ru') {
  1010. goog.i18n.pluralRules.select = goog.i18n.pluralRules.ruSelect_;
  1011. }
  1012. if (goog.LOCALE == 'sh') {
  1013. goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_;
  1014. }
  1015. if (goog.LOCALE == 'si') {
  1016. goog.i18n.pluralRules.select = goog.i18n.pluralRules.siSelect_;
  1017. }
  1018. if (goog.LOCALE == 'sk') {
  1019. goog.i18n.pluralRules.select = goog.i18n.pluralRules.csSelect_;
  1020. }
  1021. if (goog.LOCALE == 'sl') {
  1022. goog.i18n.pluralRules.select = goog.i18n.pluralRules.slSelect_;
  1023. }
  1024. if (goog.LOCALE == 'sq') {
  1025. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  1026. }
  1027. if (goog.LOCALE == 'sr') {
  1028. goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_;
  1029. }
  1030. if (goog.LOCALE == 'sr_Latn' || goog.LOCALE == 'sr-Latn') {
  1031. goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_;
  1032. }
  1033. if (goog.LOCALE == 'sv') {
  1034. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  1035. }
  1036. if (goog.LOCALE == 'sw') {
  1037. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  1038. }
  1039. if (goog.LOCALE == 'ta') {
  1040. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  1041. }
  1042. if (goog.LOCALE == 'te') {
  1043. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  1044. }
  1045. if (goog.LOCALE == 'th') {
  1046. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  1047. }
  1048. if (goog.LOCALE == 'tl') {
  1049. goog.i18n.pluralRules.select = goog.i18n.pluralRules.filSelect_;
  1050. }
  1051. if (goog.LOCALE == 'tr') {
  1052. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  1053. }
  1054. if (goog.LOCALE == 'uk') {
  1055. goog.i18n.pluralRules.select = goog.i18n.pluralRules.ruSelect_;
  1056. }
  1057. if (goog.LOCALE == 'ur') {
  1058. goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_;
  1059. }
  1060. if (goog.LOCALE == 'uz') {
  1061. goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_;
  1062. }
  1063. if (goog.LOCALE == 'vi') {
  1064. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  1065. }
  1066. if (goog.LOCALE == 'zh') {
  1067. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  1068. }
  1069. if (goog.LOCALE == 'zh_CN' || goog.LOCALE == 'zh-CN') {
  1070. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  1071. }
  1072. if (goog.LOCALE == 'zh_HK' || goog.LOCALE == 'zh-HK') {
  1073. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  1074. }
  1075. if (goog.LOCALE == 'zh_TW' || goog.LOCALE == 'zh-TW') {
  1076. goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_;
  1077. }
  1078. if (goog.LOCALE == 'zu') {
  1079. goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_;
  1080. }