// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this sourcecode is governed by a
// BSD-style license that can be found in the LICENSE file.

/// Hard-coded list of all available locales for dates.
final availableLocalesForDateFormatting = const [
  'en_ISO',
  'af',
  'am',
  'ar',
  'ar_DZ',
  'ar_EG',
  'az',
  'be',
  'bg',
  'bn',
  'br',
  'bs',
  'ca',
  'chr',
  'cs',
  'cy',
  'da',
  'de',
  'de_AT',
  'de_CH',
  'el',
  'en',
  'en_AU',
  'en_CA',
  'en_GB',
  'en_IE',
  'en_IN',
  'en_MY',
  'en_SG',
  'en_US',
  'en_ZA',
  'es',
  'es_419',
  'es_ES',
  'es_MX',
  'es_US',
  'et',
  'eu',
  'fa',
  'fi',
  'fil',
  'fr',
  'fr_CA',
  'fr_CH',
  'ga',
  'gl',
  'gsw',
  'gu',
  'haw',
  'he',
  'hi',
  'hr',
  'hu',
  'hy',
  'id',
  'in',
  'is',
  'it',
  'it_CH',
  'iw',
  'ja',
  'ka',
  'kk',
  'km',
  'kn',
  'ko',
  'ky',
  'ln',
  'lo',
  'lt',
  'lv',
  'mk',
  'ml',
  'mn',
  'mr',
  'ms',
  'mt',
  'my',
  'nb',
  'ne',
  'nl',
  'no',
  'no_NO',
  'or',
  'pa',
  'pl',
  'ps',
  'pt',
  'pt_BR',
  'pt_PT',
  'ro',
  'ru',
  'si',
  'sk',
  'sl',
  'sq',
  'sr',
  'sr_Latn',
  'sv',
  'sw',
  'ta',
  'te',
  'th',
  'tl',
  'tr',
  'uk',
  'ur',
  'uz',
  'vi',
  'zh',
  'zh_CN',
  'zh_HK',
  'zh_TW',
  'zu'
];
