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

/**
 * Test data for one particular date formatted for a small number of locales.
 * Provides at least a basic check on formatting, including formatting with
 * non-ASCII characters and some different orderings.
 */

// TODO(alanknight): Test more locales and a wider variety of test data,
// possibly by generating test data out of ICU.

#library('date_time_format_test_data');

var English = const {
  "DAY" : "27",
  "ABBR_WEEKDAY" : "Fri",
  "WEEKDAY" : "Friday",
  "ABBR_STANDALONE_MONTH" : "Jan",
  "STANDALONE_MONTH" : "January",
  "NUM_MONTH" : "1",
  "NUM_MONTH_DAY" : "1/27",
  "NUM_MONTH_WEEKDAY_DAY" : "Fri, 1/27",
  "ABBR_MONTH" : "Jan",
  "ABBR_MONTH_DAY" : "Jan 27",
  "ABBR_MONTH_WEEKDAY_DAY" : "Fri, Jan 27",
  "MONTH" : "January",
  "MONTH_DAY" : "January 27",
  "MONTH_WEEKDAY_DAY" : "Friday, January 27",
  "ABBR_QUARTER" : "Q1",
  "QUARTER" : "1st quarter",
  "YEAR" : "2012",
  "YEAR_NUM_MONTH" : "1/2012",
  "YEAR_NUM_MONTH_DAY" : "1/27/2012",
  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Fri, 1/27/2012",
  "YEAR_ABBR_MONTH" : "Jan 2012",
  "YEAR_ABBR_MONTH_DAY" : "Jan 27, 2012",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Fri, Jan 27, 2012",
  "YEAR_MONTH" : "January 2012",
  "YEAR_MONTH_DAY" : "January 27, 2012",
  "YEAR_MONTH_WEEKDAY_DAY" : "Friday, January 27, 2012",
  "YEAR_ABBR_QUARTER" : "Q1 2012",
  "YEAR_QUARTER" : "1st quarter 2012",
  "HOUR24" : "20",
  "HOUR24_MINUTE" : "20:58",
  "HOUR24_MINUTE_SECOND" : "20:58:59",
  "HOUR" : "8 PM",
  "HOUR_MINUTE" : "8:58 PM",
  "HOUR_MINUTE_SECOND" : "8:58:59 PM",
  "MINUTE" : "58",
  "MINUTE_SECOND" : "58:59",
  "SECOND" : "59",
  "LOCATION_TZ" : "United States Time (Los Angeles)",
  "GENERIC_TZ" : "Pacific Time",
  "ABBR_GENERIC_TZ" : "PT",
  "SPECIFIC_TZ" : "Pacific Standard Time",
  "ABBR_SPECIFIC_TZ" : "PST",
  "ABBR_UTC_TZ" : "GMT-08:00",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
      "Friday, January 27, 2012 8:58:59 PM",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
      "Friday, January 27, 2012 8:58:59 PM Pacific Time",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
      "Fri, Jan 27, 2012 8:58:59 PM PST",
  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" : "8:58:59 PM PT",
  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "8:58 PM PST"};

var German = const {
  "DAY" : "27",
  "ABBR_WEEKDAY" : "Fr.",
  "WEEKDAY" : "Freitag",
  "ABBR_STANDALONE_MONTH" : "Jan",
  "STANDALONE_MONTH" : "Januar",
  "NUM_MONTH" : "1",
  "NUM_MONTH_DAY" : "27.1.",
  "NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.",
  "ABBR_MONTH" : "Jan",
  "ABBR_MONTH_DAY" : "27. Jan",
  "ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jan",
  "MONTH" : "Januar",
  "MONTH_DAY" : "27. Januar",
  "MONTH_WEEKDAY_DAY" : "Freitag, 27. Januar",
  "ABBR_QUARTER" : "Q1",
  "QUARTER" : "1. Quartal",
  "YEAR" : "2012",
  "YEAR_NUM_MONTH" : "1.2012",
  "YEAR_NUM_MONTH_DAY" : "27.1.2012",
  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.2012",
  "YEAR_ABBR_MONTH" : "Jan 2012",
  "YEAR_ABBR_MONTH_DAY" : "27. Jan 2012",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jan 2012",
  "YEAR_MONTH" : "Januar 2012",
  "YEAR_MONTH_DAY" : "27. Januar 2012",
  "YEAR_MONTH_WEEKDAY_DAY" : "Freitag, 27. Januar 2012",
  "YEAR_ABBR_QUARTER" : "Q1 2012",
  "YEAR_QUARTER" : "1. Quartal 2012",
  "HOUR24" : "20 Uhr",
  "HOUR24_MINUTE" : "20:58",
  "HOUR24_MINUTE_SECOND" : "20:58:59",
  "HOUR" : "20 Uhr",
  "HOUR_MINUTE" : "20:58",
  "HOUR_MINUTE_SECOND" : "20:58:59",
  "MINUTE" : "58",
  "MINUTE_SECOND" : "58:59",
  "SECOND" : "59",
  "LOCATION_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
  "GENERIC_TZ" : "Nordamerikanische Westküstenzeit",
  "ABBR_GENERIC_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
  "SPECIFIC_TZ" : "Nordamerikanische Westküsten-Winterzeit",
  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
  "ABBR_UTC_TZ" : "GMT-08:00",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
      "Freitag, 27. Januar 2012 20:58:59",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
      "Freitag, 27. Januar 2012 20:58:59 Nordamerikanische Westküstenzeit",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
      "Fr., 27. Jan 2012 20:58:59 GMT-08:00",
  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
      "20:58:59 Vereinigte Staaten Zeit (Los Angeles)",
  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 GMT-08:00"};

var Austrian = const {
  "DAY" : "27",
  "ABBR_WEEKDAY" : "Fr.",
  "WEEKDAY" : "Freitag",
  "ABBR_STANDALONE_MONTH" : "Jän",
  "STANDALONE_MONTH" : "Jänner",
  "NUM_MONTH" : "1",
  "NUM_MONTH_DAY" : "27.1.",
  "NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.",
  "ABBR_MONTH" : "Jän",
  "ABBR_MONTH_DAY" : "27. Jän",
  "ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jän",
  "MONTH" : "Jänner",
  "MONTH_DAY" : "27. Jänner",
  "MONTH_WEEKDAY_DAY" : "Freitag, 27. Jänner",
  "ABBR_QUARTER" : "Q1",
  "QUARTER" : "1. Quartal",
  "YEAR" : "2012",
  "YEAR_NUM_MONTH" : "1.2012",
  "YEAR_NUM_MONTH_DAY" : "27.1.2012",
  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.2012",
  "YEAR_ABBR_MONTH" : "Jän 2012",
  "YEAR_ABBR_MONTH_DAY" : "27. Jän 2012",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jän 2012",
  "YEAR_MONTH" : "Jänner 2012",
  "YEAR_MONTH_DAY" : "27. Jänner 2012",
  "YEAR_MONTH_WEEKDAY_DAY" : "Freitag, 27. Jänner 2012",
  "YEAR_ABBR_QUARTER" : "Q1 2012",
  "YEAR_QUARTER" : "1. Quartal 2012",
  "HOUR24" : "20 Uhr",
  "HOUR24_MINUTE" : "20:58",
  "HOUR24_MINUTE_SECOND" : "20:58:59",
  "HOUR" : "20 Uhr",
  "HOUR_MINUTE" : "20:58",
  "HOUR_MINUTE_SECOND" : "20:58:59",
  "MINUTE" : "58",
  "MINUTE_SECOND" : "58:59",
  "SECOND" : "59",
  "LOCATION_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
  "GENERIC_TZ" : "Nordamerikanische Westküstenzeit",
  "ABBR_GENERIC_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
  "SPECIFIC_TZ" : "Nordamerikanische Westküsten-Winterzeit",
  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
  "ABBR_UTC_TZ" : "GMT-08:00",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
      "Freitag, 27. Jänner 2012 20:58:59",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
      "Freitag, 27. Jänner 2012 20:58:59 Nordamerikanische Westküstenzeit",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
      "Fr., 27. Jän 2012 20:58:59 GMT-08:00",
  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
      "20:58:59 Vereinigte Staaten Zeit (Los Angeles)",
  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 GMT-08:00"};

var French = const {
  "DAY" : "27",
  "ABBR_WEEKDAY" : "ven.",
  "WEEKDAY" : "vendredi",
  "ABBR_STANDALONE_MONTH" : "janv.",
  "STANDALONE_MONTH" : "janvier",
  "NUM_MONTH" : "1",
  "NUM_MONTH_DAY" : "27/1",
  "NUM_MONTH_WEEKDAY_DAY" : "ven. 27/1",
  "ABBR_MONTH" : "janv.",
  "ABBR_MONTH_DAY" : "27 janv.",
  "ABBR_MONTH_WEEKDAY_DAY" : "ven. 27 janv.",
  "MONTH" : "janvier",
  "MONTH_DAY" : "27 janvier",
  "MONTH_WEEKDAY_DAY" : "vendredi 27 janvier",
  "ABBR_QUARTER" : "T1",
  "QUARTER" : "1er trimestre",
  "YEAR" : "2012",
  "YEAR_NUM_MONTH" : "1/2012",
  "YEAR_NUM_MONTH_DAY" : "27/1/2012",
  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "ven. 27/1/2012",
  "YEAR_ABBR_MONTH" : "janv. 2012",
  "YEAR_ABBR_MONTH_DAY" : "27 janv. 2012",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "ven. 27 janv. 2012",
  "YEAR_MONTH" : "janvier 2012",
  "YEAR_MONTH_DAY" : "27 janvier 2012",
  "YEAR_MONTH_WEEKDAY_DAY" : "vendredi 27 janvier 2012",
  "YEAR_ABBR_QUARTER" : "T1 2012",
  "YEAR_QUARTER" : "1er trimestre 2012",
  "HOUR24" : "20",
  "HOUR24_MINUTE" : "20:58",
  "HOUR24_MINUTE_SECOND" : "20:58:59",
  "HOUR" : "20",
  "HOUR_MINUTE" : "20:58",
  "HOUR_MINUTE_SECOND" : "20:58:59",
  "MINUTE" : "58",
  "MINUTE_SECOND" : "58:59",
  "SECOND" : "59",
  "LOCATION_TZ" : "Heure : États-Unis (Los Angeles)",
  "GENERIC_TZ" : "heure du Pacifique",
  "ABBR_GENERIC_TZ" : "Heure : États-Unis (Los Angeles)",
  "SPECIFIC_TZ" : "heure normale du Pacifique",
  "ABBR_SPECIFIC_TZ" : "UTC-08:00",
  "ABBR_UTC_TZ" : "UTC-08:00",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
      "vendredi 27 janvier 2012 20:58:59",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
      "vendredi 27 janvier 2012 20:58:59 heure du Pacifique",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
      "ven. 27 janv. 2012 20:58:59 UTC-08:00",
  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
      "20:58:59 Heure : États-Unis (Los Angeles)",
  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 UTC-08:00"};

var Japanese = const {
  "DAY" : "27日",
  "ABBR_WEEKDAY" : "金",
  "WEEKDAY" : "金曜日",
  "ABBR_STANDALONE_MONTH" : "1月",
  "STANDALONE_MONTH" : "1月",
  "NUM_MONTH" : "1月",
  "NUM_MONTH_DAY" : "1/27",
  "NUM_MONTH_WEEKDAY_DAY" : "1/27(金)",
  "ABBR_MONTH" : "1月",
  "ABBR_MONTH_DAY" : "1月27日",
  "ABBR_MONTH_WEEKDAY_DAY" : "1月27日(金)",
  "MONTH" : "1月",
  "MONTH_DAY" : "1月27日",
  "MONTH_WEEKDAY_DAY" : "1月27日(金曜日)",
  "ABBR_QUARTER" : "Q1",
  "QUARTER" : "第1四半期",
  "YEAR" : "2012年",
  "YEAR_NUM_MONTH" : "2012/1",
  "YEAR_NUM_MONTH_DAY" : "2012/1/27",
  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "2012/1/27(金)",
  "YEAR_ABBR_MONTH" : "2012年1月",
  "YEAR_ABBR_MONTH_DAY" : "2012年1月27日",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "2012年1月27日(金)",
  "YEAR_MONTH" : "2012年1月",
  "YEAR_MONTH_DAY" : "2012年1月27日",
  "YEAR_MONTH_WEEKDAY_DAY" : "2012年1月27日(金曜日)",
  "YEAR_ABBR_QUARTER" : "2012/Q1",
  "YEAR_QUARTER" : "2012/第1四半期",
  "HOUR24" : "20時",
  "HOUR24_MINUTE" : "20:58",
  "HOUR24_MINUTE_SECOND" : "20:58:59",
  "HOUR" : "20時",
  "HOUR_MINUTE" : "20:58",
  "HOUR_MINUTE_SECOND" : "20:58:59",
  "MINUTE" : "58",
  "MINUTE_SECOND" : "58:59",
  "SECOND" : "59",
  "LOCATION_TZ" : "アメリカ合衆国時間（ロサンゼルス）",
  "GENERIC_TZ" : "アメリカ太平洋時間",
  "ABBR_GENERIC_TZ" : "アメリカ合衆国時間（ロサンゼルス）",
  "SPECIFIC_TZ" : "アメリカ太平洋標準時",
  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
  "ABBR_UTC_TZ" : "GMT-08:00",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
      "2012年1月27日(金曜日) 20:58:59",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
      "2012年1月27日(金曜日) 20時58分59秒 アメリカ太平洋時間",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
      "2012年1月27日(金) 20時58分59秒 GMT-08:00",
  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
      "20時58分59秒 アメリカ合衆国時間（ロサンゼルス）",
  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 GMT-08:00"};

var Greek = const {
  "DAY" : "27",
  "ABBR_WEEKDAY" : "Παρ",
  "WEEKDAY" : "Παρασκευή",
  "ABBR_STANDALONE_MONTH" : "Ιαν",
  "STANDALONE_MONTH" : "Ιανουάριος",
  "NUM_MONTH" : "1",
  "NUM_MONTH_DAY" : "27/1",
  "NUM_MONTH_WEEKDAY_DAY" : "Παρ, 27/1",
  "ABBR_MONTH" : "Ιαν",
  "ABBR_MONTH_DAY" : "27 Ιαν",
  "ABBR_MONTH_WEEKDAY_DAY" : "Παρ, 27 Ιαν",
  "MONTH" : "Ιανουάριος",
  "MONTH_DAY" : "27 Ιανουαρίου",
  "MONTH_WEEKDAY_DAY" : "Παρασκευή, 27 Ιανουαρίου",
  "ABBR_QUARTER" : "Τ1",
  "QUARTER" : "1ο τρίμηνο",
  "YEAR" : "2012",
  "YEAR_NUM_MONTH" : "1/2012",
  "YEAR_NUM_MONTH_DAY" : "27/1/2012",
  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Παρ, 27/1/2012",
  "YEAR_ABBR_MONTH" : "Ιαν 2012",
  "YEAR_ABBR_MONTH_DAY" : "27 Ιαν 2012",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Παρ, 27 Ιαν 2012",
  "YEAR_MONTH" : "Ιανουάριος 2012",
  "YEAR_MONTH_DAY" : "27 Ιανουαρίου 2012",
  "YEAR_MONTH_WEEKDAY_DAY" : "Παρασκευή, 27 Ιανουαρίου 2012",
  "YEAR_ABBR_QUARTER" : "2012 Τ1",
  "YEAR_QUARTER" : "2012 1ο τρίμηνο",
  "HOUR24" : "20",
  "HOUR24_MINUTE" : "20:58",
  "HOUR24_MINUTE_SECOND" : "20:58:59",
  "HOUR" : "8 μ.μ.",
  "HOUR_MINUTE" : "8:58 μ.μ.",
  "HOUR_MINUTE_SECOND" : "8:58:59 μ.μ.",
  "MINUTE" : "58",
  "MINUTE_SECOND" : "58:59",
  "SECOND" : "59",
  "LOCATION_TZ" : "Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
  "GENERIC_TZ" : "Ώρα Ειρηνικού",
  "ABBR_GENERIC_TZ" : "Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
  "SPECIFIC_TZ" : "Χειμερινή ώρα Ειρηνικού",
  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
  "ABBR_UTC_TZ" : "GMT-08:00",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
      "Παρασκευή, 27 Ιανουαρίου 2012 8:58:59 μ.μ.",
  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
      "Παρασκευή, 27 Ιανουαρίου 2012 8:58:59 μ.μ. Ώρα Ειρηνικού",
  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
      "Παρ, 27 Ιαν 2012 8:58:59 μ.μ. GMT-08:00",
  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
      "8:58:59 μ.μ. Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "8:58 μ.μ. GMT-08:00"};