// 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/01",
  "NUM_MONTH_WEEKDAY_DAY": "ven. 27/01",
  "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": "01/2012",
  "YEAR_NUM_MONTH_DAY": "27/01/2012",
  "YEAR_NUM_MONTH_WEEKDAY_DAY": "ven. 27/01/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"
};
