// 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 h",
  "HOUR24_MINUTE": "20:58",
  "HOUR24_MINUTE_SECOND": "20:58:59",
  "HOUR": "20 h",
  "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"
};
