// 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.

part of date_symbol_data_json;

/// Hard-coded list of all available locales for dates.
final availableLocalesForDateFormatting = const ["en_ISO",
    "af",
    "am",
    "ar",
    "bg",
    "bn",
    "ca",
    "cs",
    "da",
    "de",
    "de_AT",
    "de_CH",
    "el",
    "en",
    "en_AU",
    "en_GB",
    "en_IE",
    "en_IN",
    "en_SG",
    "en_US",
    "en_ZA",
    "es",
    "es_419",
    "et",
    "eu",
    "fa",
    "fi",
    "fil",
    "fr",
    "fr_CA",
    "gl",
    "gsw",
    "gu",
    "he",
    "hi",
    "hr",
    "hu",
    "id",
    "in",
    "is",
    "it",
    "iw",
    "ja",
    "kn",
    "ko",
    "ln",
    "lt",
    "lv",
    "ml",
    "mr",
    "ms",
    "mt",
    "nl",
    "no",
    "or",
    "pl",
    "pt",
    "pt_BR",
    "pt_PT",
    "ro",
    "ru",
    "sk",
    "sl",
    "sq",
    "sr",
    "sv",
    "sw",
    "ta",
    "te",
    "th",
    "tl",
    "tr",
    "uk",
    "ur",
    "vi",
    "zh",
    "zh_CN",
    "zh_HK",
    "zh_TW",
    "zu"];