branch: elpa/datetime
commit c134420a9e5cb9548b43ac3804dc8b312e9699fd
Author: Paul Pogonyshev <pogonys...@gmail.com>
Commit: Paul Pogonyshev <pogonys...@gmail.com>

    Move locale data to an external database loaded with `extmap' package; add 
a Shell script to update it in one command.
---
 datetime.el          | 757 +++------------------------------------------------
 dev/HarvestData.java |  17 +-
 dev/harvest-data     |   2 -
 locale-data.extmap   | Bin 0 -> 50699 bytes
 refresh-extmaps.sh   |  17 ++
 5 files changed, 61 insertions(+), 732 deletions(-)

diff --git a/datetime.el b/datetime.el
index 9a04c53575..6bf0382408 100644
--- a/datetime.el
+++ b/datetime.el
@@ -7,7 +7,7 @@
 ;; Version:    0.3.2
 ;; Keywords:   lisp, i18n
 ;; Homepage:   https://github.com/doublep/datetime
-;; Package-Requires: ((emacs "24.1"))
+;; Package-Requires: ((emacs "24.1") (extmap "1.0"))
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License as
@@ -89,15 +89,36 @@
 ;;   timezone (?) -- currently not supported further than pattern parsing
 
 
+(require 'extmap)
+
+
 (if (fboundp 'define-error)
     (define-error 'datetime-unsupported-timezone "Timezones are currently not 
supported")
   (put 'datetime-unsupported-timezone 'error-conditions 
'(datetime-unsupported-timezone error))
   (put 'datetime-unsupported-timezone 'error-message "Timezones are currently 
not supported"))
 
 
-;; Set at the end of this file because the initializer is huge.
-(defvar datetime--locale-data nil
-  "Don't access directly, use `datetime-locale-field' instead.")
+(defconst datetime--directory (file-name-directory (or load-file-name 
(buffer-file-name))))
+
+;; Extracted from Java using `dev/HarvestData.java'.  All patterns are
+;; obviously of `java' type.
+;;
+;; There are many fallbacks involved to reduce size:
+;;   - for locale XX-YY value for any property defaults to that of
+;;     locale XX;
+;;   - `:decimal-separator' defaults to dot;
+;;   - `:eras' and `:am-pm' default to English version;
+;;   - month/dayweek standalone abbreviations or names default to
+;;     the corresponding context-aware property;
+;;   - date-time patterns are not stored, instead they are built from
+;;     date and time parts for that locale; corresponding field is a
+;;     cons with car determining what should be in the beginning (t
+;;     for date, nil for time), and cdr being the separator string;
+;;     the cons defaults to (t . " ");
+;;   - all patterns have the following fallbacks: `:short' defaults to
+;;     `:medium', `:long' defaults to `:medium', `:full' defaults to
+;;     `:long'.
+(defvar datetime--locale-extmap (extmap-init (expand-file-name 
"locale-data.extmap" datetime--directory)))
 
 (defvar datetime--pattern-parsers '((parsed . (lambda (pattern options) 
pattern))
                                     (java   . datetime--parse-java-pattern)))
@@ -511,12 +532,13 @@ If INCLUDE-VARIANTS is nil, only include “base” locales 
(in
 format \"xx\"), if it is t then also include “variants” in format
 \"xx-YY\".
 
-Return value is a list of symbols; it can be modified freely."
-  (let (locales)
-    (dolist (data datetime--locale-data)
-      (when (or include-variants (null (plist-get (cdr data) :parent)))
-        (push (car data) locales)))
-    (nreverse locales)))
+Return value is a list of symbols in no particular order; it can
+be modified freely."
+  (if include-variants
+      (extmap-keys datetime--locale-extmap)
+    (let (locales)
+      (extmap-mapc datetime--locale-extmap (lambda (locale data) (unless 
(plist-get (cdr data) :parent) (push locale locales))))
+      locales)))
 
 
 (defsubst datetime--do-get-locale-pattern (patterns variant)
@@ -565,7 +587,7 @@ separated by a space, for a few locales it is different."
 
 (defsubst datetime--do-get-locale-field (locale-data field)
   (or (plist-get locale-data field)
-      ;; See `datetime--locale-data' for description of fallbacks.
+      ;; See `datetime--locale-extmap' for description of fallbacks.
       (pcase field
         (:month-standalone-abbr    (plist-get locale-data :month-context-abbr))
         (:month-standalone-names   (plist-get locale-data 
:month-context-names))
@@ -589,726 +611,17 @@ Supported fields:
   :am-pm"
   ;; Additionally `:date-patterns', `:time-patterns' and
   ;; `:date-time-pattern-rule' are supported for internal use.
-  (let ((data (cdr (assq locale datetime--locale-data))))
+  (let ((data (extmap-get datetime--locale-extmap locale t)))
     (or (datetime--do-get-locale-field data field)
         (let ((parent (plist-get data :parent)))
           (when parent
-            (datetime--do-get-locale-field (cdr (assq parent 
datetime--locale-data)) field)))
+            (datetime--do-get-locale-field (extmap-get datetime--locale-extmap 
parent) field)))
         (pcase field
           (:decimal-separator ?.)
           (:eras              datetime--english-eras)
           (:am-pm             datetime--english-am-pm)))))
 
 
-;; Extracted from Java using `dev/HarvestData.java'.  All patterns are
-;; obviously of java type.
-;;
-;; There are many fallbacks involved to reduce size of this alist:
-;;   - for locale XX-YY value for any property defaults to that of
-;;     locale XX;
-;;   - `:decimal-separator' defaults to dot;
-;;   - `:eras' and `:am-pm' default to English version;
-;;   - month/dayweek standalone abbreviations or names default to
-;;     the corresponding context-aware property;
-;;   - date-time patterns are not stored, instead they are built from
-;;     date and time parts for that locale; corresponding field is a
-;;     cons with car determining what should be in the beginning (t
-;;     for date, nil for time), and cdr being the separator string;
-;;     the cons defaults to (t . " ");
-;;   - all patterns have the following fallbacks: `:short' defaults to
-;;     `:medium', `:long' defaults to `:medium', `:full' defaults to
-;;     `:long'.
-(setq datetime--locale-data
-  '((ar
-     :eras                     ["ق.م" "م"]
-     :month-context-abbr       ["ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" 
"أغس" "سبت" "أكت" "نوف" "ديس"]
-     :month-context-names      ["يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" 
"يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر"]
-     :weekday-context-abbr     ["ن" "ث" "ر" "خ" "ج" "س" "ح"]
-     :weekday-context-names    ["الاثنين" "الثلاثاء" "الأربعاء" "الخميس" 
"الجمعة" "السبت" "الأحد"]
-     :am-pm                    ["ص" "م"]
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"dd MMMM, yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long "z 
hh:mm:ss a"))
-    (ar-JO
-     :month-context-abbr       ["كانون الثاني" "شباط" "آذار" "نيسان" "نوار" 
"حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول"]
-     :month-context-names      ["كانون الثاني" "شباط" "آذار" "نيسان" "نوار" 
"حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول"]
-     :weekday-context-abbr     ["الاثنين" "الثلاثاء" "الأربعاء" "الخميس" 
"الجمعة" "السبت" "الأحد"]
-     :parent                   ar)
-    (ar-LB
-     :month-context-abbr       ["كانون الثاني" "شباط" "آذار" "نيسان" "نوار" 
"حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول"]
-     :month-context-names      ["كانون الثاني" "شباط" "آذار" "نيسان" "نوار" 
"حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول"]
-     :weekday-context-abbr     ["الاثنين" "الثلاثاء" "الأربعاء" "الخميس" 
"الجمعة" "السبت" "الأحد"]
-     :parent                   ar)
-    (ar-SY
-     :month-context-abbr       ["كانون الثاني" "شباط" "آذار" "نيسان" "نوار" 
"حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول"]
-     :month-context-names      ["كانون الثاني" "شباط" "آذار" "نيسان" "نواران" 
"حزير" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول"]
-     :weekday-context-abbr     ["الاثنين" "الثلاثاء" "الأربعاء" "الخميس" 
"الجمعة" "السبت" "الأحد"]
-     :parent                   ar)
-    (be
-     :decimal-separator        ?,
-     :eras                     ["да н.е." "н.е."]
-     :month-context-abbr       ["стд" "лют" "скв" "крс" "май" "чрв" "лпн" 
"жнв" "врс" "кст" "ліс" "снж"]
-     :month-context-names      ["студзеня" "лютага" "сакавіка" "красавіка" 
"мая" "чрвеня" "ліпеня" "жніўня" "верасня" "кастрычніка" "лістапада" "снежня"]
-     :weekday-context-abbr     ["пн" "ат" "ср" "чц" "пт" "сб" "нд"]
-     :weekday-context-names    ["панядзелак" "аўторак" "серада" "чацвер" 
"пятніца" "субота" "нядзеля"]
-     :date-patterns            (:short "d.M.yy" :medium "d.M.yyyy" :long 
"EEEE, d, MMMM yyyy")
-     :time-patterns            (:short "H.mm" :medium "H.mm.ss" :long "H.mm.ss 
z"))
-    (bg
-     :decimal-separator        ?,
-     :eras                     ["пр.н.е." "н.е."]
-     :month-context-abbr       ["I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" 
"X" "XI" "XII"]
-     :month-context-names      ["Януари" "Февруари" "Март" "Април" "Май" "Юни" 
"Юли" "Август" "Септември" "Октомври" "Ноември" "Декември"]
-     :weekday-context-abbr     ["Пн" "Вт" "Ср" "Чт" "Пт" "Сб" "Нд"]
-     :weekday-context-names    ["Понеделник" "Вторник" "Сряда" "Четвъртък" 
"Петък" "Събота" "Неделя"]
-     :date-patterns            (:short "dd.MM.yy" :medium "dd.MM.yyyy" :long 
"dd MMMM y" :full "dd MMMM y, EEEE")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "HH:mm:ss zzzz"))
-    (ca
-     :decimal-separator        ?,
-     :month-context-abbr       ["de gen." "de febr." "de març" "d’abr." "de 
maig" "de juny" "de jul." "d’ag." "de set." "d’oct." "de nov." "de des."]
-     :month-context-names      ["de gener" "de febrer" "de març" "d’abril" "de 
maig" "de juny" "de juliol" "d’agost" "de setembre" "d’octubre" "de novembre" 
"de desembre"]
-     :weekday-context-abbr     ["dl." "dt." "dc." "dj." "dv." "ds." "dg."]
-     :weekday-context-names    ["dilluns" "dimarts" "dimecres" "dijous" 
"divendres" "dissabte" "diumenge"]
-     :month-standalone-abbr    ["gen." "feb." "març" "abr." "maig" "juny" 
"jul." "ag." "set." "oct." "nov." "des."]
-     :month-standalone-names   ["gener" "febrer" "març" "abril" "maig" "juny" 
"juliol" "agost" "setembre" "octubre" "novembre" "desembre"]
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' / 'MMMM' / 'yyyy" :full "EEEE, d' / 'MMMM' / 'yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (cs
-     :decimal-separator        ?,
-     :eras                     ["př.Kr." "po Kr."]
-     :month-context-abbr       ["Led" "Úno" "Bře" "Dub" "Kvě" "Čer" "Čvc" 
"Srp" "Zář" "Říj" "Lis" "Pro"]
-     :month-context-names      ["ledna" "února" "března" "dubna" "května" 
"června" "července" "srpna" "září" "října" "listopadu" "prosince"]
-     :weekday-context-abbr     ["Po" "Út" "St" "Čt" "Pá" "So" "Ne"]
-     :weekday-context-names    ["Pondělí" "Úterý" "Středa" "Čtvrtek" "Pátek" 
"Sobota" "Neděle"]
-     :month-standalone-abbr    ["I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" 
"X" "XI" "XII"]
-     :month-standalone-names   ["leden" "únor" "březen" "duben" "květen" 
"červen" "červenec" "srpen" "září" "říjen" "listopad" "prosinec"]
-     :am-pm                    ["dop." "odp."]
-     :date-patterns            (:short "d.M.yy" :medium "d.M.yyyy" :long "d. 
MMMM yyyy" :full "EEEE, d. MMMM yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z"))
-    (da
-     :decimal-separator        ?,
-     :eras                     ["f.Kr." "e.Kr."]
-     :month-context-abbr       ["jan." "feb." "mar." "apr." "maj" "jun." 
"jul." "aug." "sep." "okt." "nov." "dec."]
-     :month-context-names      ["januar" "februar" "marts" "april" "maj" 
"juni" "juli" "august" "september" "oktober" "november" "december"]
-     :weekday-context-abbr     ["ma" "ti" "on" "to" "fr" "lø" "sø"]
-     :weekday-context-names    ["mandag" "tirsdag" "onsdag" "torsdag" "fredag" 
"lørdag" "søndag"]
-     :month-standalone-abbr    ["jan" "feb" "mar" "apr" "maj" "jun" "jul" 
"aug" "sep" "okt" "nov" "dec"]
-     :date-patterns            (:short "dd-MM-yy" :medium "dd-MM-yyyy" :long 
"d. MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (de
-     :decimal-separator        ?,
-     :eras                     ["v. Chr." "n. Chr."]
-     :month-context-abbr       ["Jan" "Feb" "Mär" "Apr" "Mai" "Jun" "Jul" 
"Aug" "Sep" "Okt" "Nov" "Dez"]
-     :month-context-names      ["Januar" "Februar" "März" "April" "Mai" "Juni" 
"Juli" "August" "September" "Oktober" "November" "Dezember"]
-     :weekday-context-abbr     ["Mo" "Di" "Mi" "Do" "Fr" "Sa" "So"]
-     :weekday-context-names    ["Montag" "Dienstag" "Mittwoch" "Donnerstag" 
"Freitag" "Samstag" "Sonntag"]
-     :date-patterns            (:short "dd.MM.yy" :medium "dd.MM.yyyy" :long 
"d. MMMM yyyy" :full "EEEE, d. MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "HH:mm' Uhr 'z"))
-    (de-AT
-     :month-context-abbr       ["Jän" "Feb" "Mär" "Apr" "Mai" "Jun" "Jul" 
"Aug" "Sep" "Okt" "Nov" "Dez"]
-     :month-context-names      ["Jänner" "Februar" "März" "April" "Mai" "Juni" 
"Juli" "August" "September" "Oktober" "November" "Dezember"]
-     :date-patterns            (:short "dd.MM.yy" :medium "dd.MM.yyyy" :long 
"dd. MMMM yyyy" :full "EEEE, dd. MMMM yyyy")
-     :parent                   de)
-    (de-CH
-     :parent                   de)
-    (el
-     :decimal-separator        ?,
-     :month-context-abbr       ["Ιαν" "Φεβ" "Μαρ" "Απρ" "Μαϊ" "Ιουν" "Ιουλ" 
"Αυγ" "Σεπ" "Οκτ" "Νοε" "Δεκ"]
-     :month-context-names      ["Ιανουαρίου" "Φεβρουαρίου" "Μαρτίου" 
"Απριλίου" "Μαΐου" "Ιουνίου" "Ιουλίου" "Αυγούστου" "Σεπτεμβρίου" "Οκτωβρίου" 
"Νοεμβρίου" "Δεκεμβρίου"]
-     :weekday-context-abbr     ["Δευ" "Τρι" "Τετ" "Πεμ" "Παρ" "Σαβ" "Κυρ"]
-     :weekday-context-names    ["Δευτέρα" "Τρίτη" "Τετάρτη" "Πέμπτη" 
"Παρασκευή" "Σάββατο" "Κυριακή"]
-     :month-standalone-abbr    ["Ιαν" "Φεβ" "Μάρ" "Απρ" "Μάι" "Ιούν" "Ιούλ" 
"Αυγ" "Σεπ" "Οκτ" "Νοέ" "Δεκ"]
-     :month-standalone-names   ["Ιανουάριος" "Φεβρουάριος" "Μάρτιος" 
"Απρίλιος" "Μάϊος" "Ιούνιος" "Ιούλιος" "Αύγουστος" "Σεπτέμβριος" "Οκτώβριος" 
"Νοέμβριος" "Δεκέμβριος"]
-     :am-pm                    ["πμ" "μμ"]
-     :date-patterns            (:short "d/M/yyyy" :medium "d MMM yyyy" :long 
"d MMMM yyyy" :full "EEEE, d MMMM yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :long 
"h:mm:ss a z"))
-    (el-CY
-     :eras                     ["π.Χ." "μ.Χ."]
-     :month-context-names      ["Ιανουάριος" "Φεβρουάριος" "Μάρτιος" 
"Απρίλιος" "Μάιος" "Ιούνιος" "Ιούλιος" "Αύγουστος" "Σεπτέμβριος" "Οκτώβριος" 
"Νοέμβριος" "Δεκέμβριος"]
-     :am-pm                    ["ΠΜ" "ΜΜ"]
-     :date-patterns            (:short "dd/MM/yyyy" :medium "dd MMM yyyy" 
:long "dd MMMM yyyy" :full "EEEE, dd MMMM yyyy")
-     :parent                   el)
-    (en
-     :month-context-abbr       ["Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" 
"Aug" "Sep" "Oct" "Nov" "Dec"]
-     :month-context-names      ["January" "February" "March" "April" "May" 
"June" "July" "August" "September" "October" "November" "December"]
-     :weekday-context-abbr     ["Mon" "Tue" "Wed" "Thu" "Fri" "Sat" "Sun"]
-     :weekday-context-names    ["Monday" "Tuesday" "Wednesday" "Thursday" 
"Friday" "Saturday" "Sunday"]
-     :date-patterns            (:short "M/d/yy" :medium "MMM d, yyyy" :long 
"MMMM d, yyyy" :full "EEEE, MMMM d, yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :long 
"h:mm:ss a z"))
-    (en-AU
-     :date-patterns            (:short "d/MM/yy" :medium "dd/MM/yyyy" :long "d 
MMMM yyyy" :full "EEEE, d MMMM yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :full 
"h:mm:ss a z")
-     :parent                   en)
-    (en-CA
-     :date-patterns            (:short "dd/MM/yy" :medium "d-MMM-yyyy" :long 
"MMMM d, yyyy" :full "EEEE, MMMM d, yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :long 
"h:mm:ss z a" :full "h:mm:ss 'o''clock' a z")
-     :parent                   en)
-    (en-GB
-     :date-patterns            (:short "dd/MM/yy" :medium "dd-MMM-yyyy" :long 
"dd MMMM yyyy" :full "EEEE, d MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "HH:mm:ss 'o''clock' z")
-     :parent                   en)
-    (en-IE
-     :date-patterns            (:short "dd/MM/yy" :medium "dd-MMM-yyyy" :long 
"dd MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "HH:mm:ss 'o''clock' z")
-     :parent                   en)
-    (en-IN
-     :date-patterns            (:short "d/M/yy" :medium "d MMM, yyyy" :long "d 
MMMM, yyyy" :full "EEEE, d MMMM, yyyy")
-     :parent                   en)
-    (en-MT
-     :date-patterns            (:short "dd/MM/yyyy" :medium "dd MMM yyyy" 
:long "dd MMMM yyyy" :full "EEEE, d MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z")
-     :parent                   en)
-    (en-NZ
-     :date-patterns            (:short "d/MM/yy" :medium "d/MM/yyyy" :long "d 
MMMM yyyy" :full "EEEE, d MMMM yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :full 
"h:mm:ss a z")
-     :parent                   en)
-    (en-PH
-     :date-patterns            (:short "M/d/yy" :medium "MM d, yy" :long "MMMM 
d, yyyy" :full "EEEE, MMMM d, yyyy")
-     :parent                   en)
-    (en-SG
-     :date-patterns            (:short "d/M/yy" :medium "d MMM, yyyy" :long "d 
MMMM, yyyy" :full "EEEE, d MMMM, yyyy")
-     :parent                   en)
-    (en-ZA
-     :date-patterns            (:short "yyyy/MM/dd" :medium "dd MMM yyyy" 
:long "dd MMMM yyyy" :full "EEEE dd MMMM yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a")
-     :parent                   en)
-    (es
-     :decimal-separator        ?,
-     :eras                     ["antes de Cristo" "anno Dómini"]
-     :month-context-abbr       ["ene" "feb" "mar" "abr" "may" "jun" "jul" 
"ago" "sep" "oct" "nov" "dic"]
-     :month-context-names      ["enero" "febrero" "marzo" "abril" "mayo" 
"junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre"]
-     :weekday-context-abbr     ["lun" "mar" "mié" "jue" "vie" "sáb" "dom"]
-     :weekday-context-names    ["lunes" "martes" "miércoles" "jueves" 
"viernes" "sábado" "domingo"]
-     :date-patterns            (:short "d/MM/yy" :medium "dd-MMM-yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "HH'H'mm'' z"))
-    (es-AR
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"H:mm:ss z" :full "HH'h'''mm z")
-     :parent                   es)
-    (es-BO
-     :date-patterns            (:short "dd-MM-yy" :medium "dd-MM-yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-CL
-     :date-patterns            (:short "dd-MM-yy" :medium "dd-MM-yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "HH:mm:ss zzzz")
-     :parent                   es)
-    (es-CO
-     :date-patterns            (:short "d/MM/yy" :medium "d/MM/yyyy" :long "d' 
de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-CR
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-DO
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-EC
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "HH:mm:ss zzzz")
-     :parent                   es)
-    (es-GT
-     :date-patterns            (:short "d/MM/yy" :medium "d/MM/yyyy" :long "d' 
de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-HN
-     :date-patterns            (:short "MM-dd-yy" :medium "MM-dd-yyyy" :long 
"dd' de 'MMMM' de 'yyyy" :full "EEEE dd' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-MX
-     :date-patterns            (:short "d/MM/yy" :medium "d/MM/yyyy" :long "d' 
de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-NI
-     :date-patterns            (:short "MM-dd-yy" :medium "MM-dd-yyyy" :long 
"dd' de 'MMMM' de 'yyyy" :full "EEEE dd' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-PA
-     :date-patterns            (:short "MM/dd/yy" :medium "MM/dd/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-PE
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-PR
-     :date-patterns            (:short "MM-dd-yy" :medium "MM-dd-yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-PY
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-SV
-     :date-patterns            (:short "MM-dd-yy" :medium "MM-dd-yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-US
-     :eras                     ["a.C." "d.C."]
-     :am-pm                    ["a.m." "p.m."]
-     :date-patterns            (:short "M/d/yy" :medium "MMM d, yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :long 
"h:mm:ss a z")
-     :parent                   es)
-    (es-UY
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (es-VE
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "hh:mm a" :medium "hh:mm:ss a" :long 
"hh:mm:ss a z")
-     :parent                   es)
-    (et
-     :decimal-separator        ?,
-     :eras                     ["e.m.a." "m.a.j."]
-     :month-context-abbr       ["jaan" "veebr" "märts" "apr" "mai" "juuni" 
"juuli" "aug" "sept" "okt" "nov" "dets"]
-     :month-context-names      ["jaanuar" "veebruar" "märts" "aprill" "mai" 
"juuni" "juuli" "august" "september" "oktoober" "november" "detsember"]
-     :weekday-context-abbr     ["E" "T" "K" "N" "R" "L" "P"]
-     :weekday-context-names    ["esmaspäev" "teisipäev" "kolmapäev" 
"neljapäev" "reede" "laupäev" "pühapäev"]
-     :date-patterns            (:short "d.MM.yy" :medium "d.MM.yyyy" :long 
"EEEE, d. MMMM yyyy. 'a'" :full "EEEE, d. MMMM yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z"))
-    (fi
-     :decimal-separator        ?,
-     :eras                     ["eKr." "jKr."]
-     :month-context-abbr       ["tammikuuta" "helmikuuta" "maaliskuuta" 
"huhtikuuta" "toukokuuta" "kesäkuuta" "heinäkuuta" "elokuuta" "syyskuuta" 
"lokakuuta" "marraskuuta" "joulukuuta"]
-     :month-context-names      ["tammikuuta" "helmikuuta" "maaliskuuta" 
"huhtikuuta" "toukokuuta" "kesäkuuta" "heinäkuuta" "elokuuta" "syyskuuta" 
"lokakuuta" "marraskuuta" "joulukuuta"]
-     :weekday-context-abbr     ["ma" "ti" "ke" "to" "pe" "la" "su"]
-     :weekday-context-names    ["maanantai" "tiistai" "keskiviikko" "torstai" 
"perjantai" "lauantai" "sunnuntai"]
-     :month-standalone-abbr    ["tammi" "helmi" "maalis" "huhti" "touko" 
"kesä" "heinä" "elo" "syys" "loka" "marras" "joulu"]
-     :month-standalone-names   ["tammikuu" "helmikuu" "maaliskuu" "huhtikuu" 
"toukokuu" "kesäkuu" "heinäkuu" "elokuu" "syyskuu" "lokakuu" "marraskuu" 
"joulukuu"]
-     :am-pm                    ["ap." "ip."]
-     :date-patterns            (:medium "d.M.yyyy" :long "d. MMMM yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "'klo 
'H.mm.ss" :full "H.mm.ss z"))
-    (fr
-     :decimal-separator        ?,
-     :eras                     ["BC" "ap. J.-C."]
-     :month-context-abbr       ["janv." "févr." "mars" "avr." "mai" "juin" 
"juil." "août" "sept." "oct." "nov." "déc."]
-     :month-context-names      ["janvier" "février" "mars" "avril" "mai" 
"juin" "juillet" "août" "septembre" "octobre" "novembre" "décembre"]
-     :weekday-context-abbr     ["lun." "mar." "mer." "jeu." "ven." "sam." 
"dim."]
-     :weekday-context-names    ["lundi" "mardi" "mercredi" "jeudi" "vendredi" 
"samedi" "dimanche"]
-     :date-patterns            (:short "dd/MM/yy" :medium "d MMM yyyy" :long 
"d MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "HH' h 'mm z"))
-    (fr-BE
-     :date-patterns            (:short "d/MM/yy" :medium "dd-MMM-yyyy" :long 
"d MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "H' h 'mm' min 'ss' s 'z")
-     :parent                   fr)
-    (fr-CA
-     :date-patterns            (:short "yy-MM-dd" :medium "yyyy-MM-dd" :long 
"d MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "H' h 'mm z")
-     :parent                   fr)
-    (fr-CH
-     :date-patterns            (:short "dd.MM.yy" :medium "d MMM yyyy" :long 
"d. MMMM yyyy" :full "EEEE, d. MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "HH.mm.' h' z")
-     :parent                   fr)
-    (ga
-     :eras                     ["RC" "AD"]
-     :month-context-abbr       ["Ean" "Feabh" "Márta" "Aib" "Beal" "Meith" 
"Iúil" "Lún" "MFómh" "DFómh" "Samh" "Noll"]
-     :month-context-names      ["Eanáir" "Feabhra" "Márta" "Aibreán" 
"Bealtaine" "Meitheamh" "Iúil" "Lúnasa" "Meán Fómhair" "Deireadh Fómhair" 
"Samhain" "Nollaig"]
-     :weekday-context-abbr     ["Luan" "Máirt" "Céad" "Déar" "Aoine" "Sath" 
"Domh"]
-     :weekday-context-names    ["Dé Luain" "Dé Máirt" "Dé Céadaoin" 
"Déardaoin" "Dé hAoine" "Dé Sathairn" "Dé Domhnaigh"]
-     :am-pm                    ["a.m." "p.m."]
-     :date-patterns            (:short "yy/MM/dd" :medium "yyyy MMM d" :long 
"yyyy MMMM d" :full "EEEE, yyyy MMMM dd")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (ga-IE
-     :date-patterns            (:short "dd/MM/yyyy" :medium "d MMM yyyy" :long 
"d MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :parent                   ga)
-    (he
-     :eras                     ["לסה"נ" "לפסה"נ"]
-     :month-context-abbr       ["ינו" "פבר" "מרץ" "אפר" "מאי" "יונ" "יול" 
"אוג" "ספט" "אוק" "נוב" "דצמ"]
-     :month-context-names      ["ינואר" "פברואר" "מרץ" "אפריל" "מאי" "יוני" 
"יולי" "אוגוסט" "ספטמבר" "אוקטובר" "נובמבר" "דצמבר"]
-     :weekday-context-abbr     ["ב" "ג" "ד" "ה" "ו" "ש" "א"]
-     :weekday-context-names    ["יום שני" "יום שלישי" "יום רביעי" "יום חמישי" 
"יום שישי" "שבת" "יום ראשון"]
-     :month-standalone-abbr    ["ינו׳" "פבר׳" "מרץ" "אפר׳" "מאי" "יונ׳" "יול׳" 
"אוג׳" "ספט׳" "אוק׳" "נוב׳" "דצמ׳"]
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z")
-     :date-time-pattern-rule   (nil . " "))
-    (hi
-     :month-context-abbr       ["Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" 
"Aug" "Sep" "Oct" "Nov" "Dec"]
-     :month-context-names      ["January" "February" "March" "April" "May" 
"June" "July" "August" "September" "October" "November" "December"]
-     :weekday-context-abbr     ["Mon" "Tue" "Wed" "Thu" "Fri" "Sat" "Sun"]
-     :weekday-context-names    ["Monday" "Tuesday" "Wednesday" "Thursday" 
"Friday" "Saturday" "Sunday"]
-     :date-patterns            (:short "M/d/yy" :medium "MMM d, yyyy" :long 
"MMMM d, yyyy" :full "EEEE, MMMM d, yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :long 
"h:mm:ss a z"))
-    (hi-IN
-     :eras                     ["ईसापूर्व" "सन"]
-     :month-context-abbr       ["जनवरी" "फ़रवरी" "मार्च" "अप्रैल" "मई" "जून" 
"जुलाई" "अगस्त" "सितंबर" "अक्तूबर" "नवंबर" "दिसंबर"]
-     :month-context-names      ["जनवरी" "फ़रवरी" "मार्च" "अप्रैल" "मई" "जून" 
"जुलाई" "अगस्त" "सितंबर" "अक्तूबर" "नवंबर" "दिसंबर"]
-     :weekday-context-abbr     ["सोम" "मंगल" "बुध" "गुरु" "शुक्र" "शनि" "रवि"]
-     :weekday-context-names    ["सोमवार" "मंगलवार" "बुधवार" "गुरुवार" 
"शुक्रवार" "शनिवार" "रविवार"]
-     :am-pm                    ["पूर्वाह्न" "अपराह्न"]
-     :date-patterns            (:short "d/M/yy" :medium "d MMM, yyyy" :long "d 
MMMM, yyyy" :full "EEEE, d MMMM, yyyy")
-     :parent                   hi)
-    (hr
-     :decimal-separator        ?,
-     :eras                     ["Prije Krista" "Poslije Krista"]
-     :month-context-abbr       ["sij" "velj" "ožu" "tra" "svi" "lip" "srp" 
"kol" "ruj" "lis" "stu" "pro"]
-     :month-context-names      ["siječnja" "veljače" "ožujka" "travnja" 
"svibnja" "lipnja" "srpnja" "kolovoza" "rujna" "listopada" "studenoga" 
"prosinca"]
-     :weekday-context-abbr     ["pon" "uto" "sri" "čet" "pet" "sub" "ned"]
-     :weekday-context-names    ["ponedjeljak" "utorak" "srijeda" "četvrtak" 
"petak" "subota" "nedjelja"]
-     :month-standalone-abbr    ["sij" "vel" "ožu" "tra" "svi" "lip" "srp" 
"kol" "ruj" "lis" "stu" "pro"]
-     :month-standalone-names   ["siječanj" "veljača" "ožujak" "travanj" 
"svibanj" "lipanj" "srpanj" "kolovoz" "rujan" "listopad" "studeni" "prosinac"]
-     :date-patterns            (:medium "yyyy.MM.dd" :long "yyyy. MMMM dd")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (hr-HR
-     :date-patterns            (:short "dd.MM.yy." :medium "dd.MM.yyyy." :long 
"yyyy. MMMM dd")
-     :parent                   hr)
-    (hu
-     :decimal-separator        ?,
-     :eras                     ["i.e." "i.u."]
-     :month-context-abbr       ["jan." "febr." "márc." "ápr." "máj." "jún." 
"júl." "aug." "szept." "okt." "nov." "dec."]
-     :month-context-names      ["január" "február" "március" "április" "május" 
"június" "július" "augusztus" "szeptember" "október" "november" "december"]
-     :weekday-context-abbr     ["H" "K" "Sze" "Cs" "P" "Szo" "V"]
-     :weekday-context-names    ["hétfő" "kedd" "szerda" "csütörtök" "péntek" 
"szombat" "vasárnap"]
-     :am-pm                    ["DE" "DU"]
-     :date-patterns            (:medium "yyyy.MM.dd." :long "yyyy. MMMM d.")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z"))
-    (id
-     :decimal-separator        ?,
-     :eras                     ["BCE" "CE"]
-     :month-context-abbr       ["Jan" "Feb" "Mar" "Apr" "Mei" "Jun" "Jul" 
"Agu" "Sep" "Okt" "Nov" "Des"]
-     :month-context-names      ["Januari" "Februari" "Maret" "April" "Mei" 
"Juni" "Juli" "Agustus" "September" "Oktober" "November" "Desember"]
-     :weekday-context-abbr     ["Sen" "Sel" "Rab" "Kam" "Jum" "Sab" "Min"]
-     :weekday-context-names    ["Senin" "Selasa" "Rabu" "Kamis" "Jumat" 
"Sabtu" "Minggu"]
-     :date-patterns            (:short "yy/MM/dd" :medium "yyyy MMM d" :long 
"yyyy MMMM d" :full "EEEE, yyyy MMMM dd")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (id-ID
-     :date-patterns            (:short "dd/MM/yy" :medium "dd MMM yy" :long 
"dd MMMM yyyy" :full "EEEE dd MMMM yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss")
-     :parent                   id)
-    (is
-     :decimal-separator        ?,
-     :month-context-abbr       ["jan." "feb." "mar." "apr." "maí" "jún." 
"júl." "ágú." "sep." "okt." "nóv." "des."]
-     :month-context-names      ["janúar" "febrúar" "mars" "apríl" "maí" "júní" 
"júlí" "ágúst" "september" "október" "nóvember" "desember"]
-     :weekday-context-abbr     ["mán." "þri." "mið." "fim." "fös." "lau." 
"sun."]
-     :weekday-context-names    ["mánudagur" "þriðjudagur" "miðvikudagur" 
"fimmtudagur" "föstudagur" "laugardagur" "sunnudagur"]
-     :date-patterns            (:medium "d.M.yyyy" :long "d. MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (it
-     :decimal-separator        ?,
-     :eras                     ["BC" "dopo Cristo"]
-     :month-context-abbr       ["gen" "feb" "mar" "apr" "mag" "giu" "lug" 
"ago" "set" "ott" "nov" "dic"]
-     :month-context-names      ["gennaio" "febbraio" "marzo" "aprile" "maggio" 
"giugno" "luglio" "agosto" "settembre" "ottobre" "novembre" "dicembre"]
-     :weekday-context-abbr     ["lun" "mar" "mer" "gio" "ven" "sab" "dom"]
-     :weekday-context-names    ["lunedì" "martedì" "mercoledì" "giovedì" 
"venerdì" "sabato" "domenica"]
-     :month-standalone-names   ["Gennaio" "Febbraio" "Marzo" "Aprile" "Maggio" 
"Giugno" "Luglio" "Agosto" "Settembre" "Ottobre" "Novembre" "Dicembre"]
-     :date-patterns            (:short "dd/MM/yy" :medium "d-MMM-yyyy" :long 
"d MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :time-patterns            (:short "H.mm" :medium "H.mm.ss" :long "H.mm.ss 
z"))
-    (it-CH
-     :date-patterns            (:short "dd.MM.yy" :medium "d-MMM-yyyy" :long 
"d. MMMM yyyy" :full "EEEE, d. MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "H.mm' h' z")
-     :parent                   it)
-    (ja
-     :eras                     ["紀元前" "西暦"]
-     :month-context-abbr       ["1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" 
"12"]
-     :month-context-names      ["1月" "2月" "3月" "4月" "5月" "6月" "7月" "8月" "9月" 
"10月" "11月" "12月"]
-     :weekday-context-abbr     ["月" "火" "水" "木" "金" "土" "日"]
-     :weekday-context-names    ["月曜日" "火曜日" "水曜日" "木曜日" "金曜日" "土曜日" "日曜日"]
-     :am-pm                    ["午前" "午後"]
-     :date-patterns            (:short "yy/MM/dd" :medium "yyyy/MM/dd" :full 
"yyyy'年'M'月'd'日'")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "H'時'mm'分'ss'秒' z"))
-    (ja-JP-u-ca-japanese-x-lvariant-JP
-     :date-patterns            (:medium "Gy.MM.dd" :full "GGGGyyyy'年'M'月'd'日'")
-     :parent                   ja)
-    (ko
-     :eras                     ["기원전" "서기"]
-     :month-context-abbr       ["1월" "2월" "3월" "4월" "5월" "6월" "7월" "8월" "9월" 
"10월" "11월" "12월"]
-     :month-context-names      ["1월" "2월" "3월" "4월" "5월" "6월" "7월" "8월" "9월" 
"10월" "11월" "12월"]
-     :weekday-context-abbr     ["월" "화" "수" "목" "금" "토" "일"]
-     :weekday-context-names    ["월요일" "화요일" "수요일" "목요일" "금요일" "토요일" "일요일"]
-     :am-pm                    ["오전" "오후"]
-     :date-patterns            (:short "yy. M. d" :medium "yyyy. M. d" :long 
"yyyy'년' M'월' d'일' '('EE')'" :full "yyyy'년' M'월' d'일' EEEE")
-     :time-patterns            (:short "a h:mm" :medium "a h:mm:ss" :long "a 
h'시' mm'분' ss'초'" :full "a h'시' mm'분' ss'초' z"))
-    (lt
-     :decimal-separator        ?,
-     :eras                     ["pr.Kr." "po.Kr."]
-     :month-context-abbr       ["Sau" "Vas" "Kov" "Bal" "Geg" "Bir" "Lie" 
"Rgp" "Rgs" "Spa" "Lap" "Grd"]
-     :month-context-names      ["sausio" "vasaris" "kovas" "balandis" "gegužė" 
"birželis" "liepa" "rugpjūtis" "rugsėjis" "spalis" "lapkritis" "gruodis"]
-     :weekday-context-abbr     ["Pr" "An" "Tr" "Kt" "Pn" "Št" "Sk"]
-     :weekday-context-names    ["Pirmadienis" "Antradienis" "Trečiadienis" 
"Ketvirtadienis" "Penktadienis" "Šeštadienis" "Sekmadienis"]
-     :month-standalone-abbr    ["Saus." "Vas." "Kov." "Bal." "Geg." "Bir." 
"Liep." "Rugp." "Rugs." "Spal." "Lapkr." "Gruod."]
-     :month-standalone-names   ["Sausio" "Vasario" "Kovo" "Balandžio" 
"Gegužės" "Birželio" "Liepos" "Rugpjūčio" "Rugsėjo" "Spalio" "Lapkričio" 
"Gruodžio"]
-     :date-patterns            (:short "yy.M.d" :medium "yyyy-MM-dd" :long 
"EEEE, yyyy, MMMM d")
-     :time-patterns            (:short "HH.mm" :medium "HH.mm.ss" :long 
"HH.mm.ss z"))
-    (lv
-     :decimal-separator        ?,
-     :eras                     ["pmē" "mē"]
-     :month-context-abbr       ["janv." "febr." "marts" "apr." "maijs" "jūn." 
"jūl." "aug." "sept." "okt." "nov." "dec."]
-     :month-context-names      ["janvāris" "februāris" "marts" "aprīlis" 
"maijs" "jūnijs" "jūlijs" "augusts" "septembris" "oktobris" "novembris" 
"decembris"]
-     :weekday-context-abbr     ["P" "O" "T" "C" "Pk" "S" "Sv"]
-     :weekday-context-names    ["pirmdiena" "otrdiena" "trešdiena" 
"ceturtdiena" "piektdiena" "sestdiena" "svētdiena"]
-     :month-standalone-abbr    ["Jan" "Feb" "Mar" "Apr" "Maijs" "Jūn" "Jūl" 
"Aug" "Sep" "Okt" "Nov" "Dec"]
-     :date-patterns            (:short "yy.d.M" :medium "yyyy.d.M" :long 
"EEEE, yyyy, d MMMM")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (mk
-     :decimal-separator        ?,
-     :eras                     ["пр.н.е." "ае."]
-     :month-context-abbr       ["јан." "фев." "мар." "апр." "мај." "јун." 
"јул." "авг." "септ." "окт." "ноем." "декем."]
-     :month-context-names      ["јануари" "февруари" "март" "април" "мај" 
"јуни" "јули" "август" "септември" "октомври" "ноември" "декември"]
-     :weekday-context-abbr     ["пон." "вт." "сре." "чет." "пет." "саб." 
"нед."]
-     :weekday-context-names    ["понеделник" "вторник" "среда" "четврток" 
"петок" "сабота" "недела"]
-     :date-patterns            (:short "d.M.yy" :medium "d.M.yyyy" :long "d, 
MMMM yyyy" :full "EEEE, d, MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:" :long 
"HH:mm:ss z"))
-    (ms
-     :eras                     ["BCE" "CE"]
-     :month-context-abbr       ["Jan" "Feb" "Mac" "Apr" "Mei" "Jun" "Jul" 
"Ogos" "Sep" "Okt" "Nov" "Dis"]
-     :month-context-names      ["Januari" "Februari" "Mac" "April" "Mei" "Jun" 
"Julai" "Ogos" "September" "Oktober" "November" "Disember"]
-     :weekday-context-abbr     ["Isn" "Sel" "Rab" "Kha" "Jum" "Sab" "Ahd"]
-     :weekday-context-names    ["Isnin" "Selasa" "Rabu" "Khamis" "Jumaat" 
"Sabtu" "Ahad"]
-     :date-patterns            (:short "yy/MM/dd" :medium "yyyy MMM d" :long 
"yyyy MMMM d" :full "EEEE, yyyy MMMM dd")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (ms-MY
-     :date-patterns            (:short "dd/MM/yyyy" :medium "dd MMMM yyyy" 
:full "EEEE dd MMM yyyy")
-     :time-patterns            (:short "h:mm" :medium "h:mm:ss a" :long 
"h:mm:ss a z")
-     :parent                   ms)
-    (mt
-     :eras                     ["QK" "WK"]
-     :month-context-abbr       ["Jan" "Fra" "Mar" "Apr" "Mej" "Ġun" "Lul" 
"Aww" "Set" "Ott" "Nov" "Diċ"]
-     :month-context-names      ["Jannar" "Frar" "Marzu" "April" "Mejju" 
"Ġunju" "Lulju" "Awwissu" "Settembru" "Ottubru" "Novembru" "Diċembru"]
-     :weekday-context-abbr     ["Tne" "Tli" "Erb" "Ħam" "Ġim" "Sib" "Ħad"]
-     :weekday-context-names    ["It-Tnejn" "It-Tlieta" "L-Erbgħa" "Il-Ħamis" 
"Il-Ġimgħa" "Is-Sibt" "Il-Ħadd"]
-     :am-pm                    ["QN" "WN"]
-     :date-patterns            (:short "dd/MM/yyyy" :medium "dd MMM yyyy" 
:long "d 'ta’' MMMM yyyy" :full "EEEE, d 'ta’' MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (nl
-     :decimal-separator        ?,
-     :eras                     ["v. Chr." "n. Chr."]
-     :month-context-abbr       ["jan" "feb" "mrt" "apr" "mei" "jun" "jul" 
"aug" "sep" "okt" "nov" "dec"]
-     :month-context-names      ["januari" "februari" "maart" "april" "mei" 
"juni" "juli" "augustus" "september" "oktober" "november" "december"]
-     :weekday-context-abbr     ["ma" "di" "wo" "do" "vr" "za" "zo"]
-     :weekday-context-names    ["maandag" "dinsdag" "woensdag" "donderdag" 
"vrijdag" "zaterdag" "zondag"]
-     :date-patterns            (:short "d-M-yy" :medium "d-MMM-yyyy" :long "d 
MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "H:mm:ss' uur' z"))
-    (nl-BE
-     :date-patterns            (:short "d/MM/yy" :medium "d-MMM-yyyy" :long "d 
MMMM yyyy" :full "EEEE d MMMM yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "H.mm' u. 'z")
-     :parent                   nl)
-    (nn-NO
-     :weekday-context-abbr     ["må" "ty" "on" "to" "fr" "lau" "su"]
-     :weekday-context-names    ["måndag" "tysdag" "onsdag" "torsdag" "fredag" 
"laurdag" "sundag"]
-     :parent                   no)
-    (no
-     :decimal-separator        ?,
-     :month-context-abbr       ["jan" "feb" "mar" "apr" "mai" "jun" "jul" 
"aug" "sep" "okt" "nov" "des"]
-     :month-context-names      ["januar" "februar" "mars" "april" "mai" "juni" 
"juli" "august" "september" "oktober" "november" "desember"]
-     :weekday-context-abbr     ["ma" "ti" "on" "to" "fr" "lø" "sø"]
-     :weekday-context-names    ["mandag" "tirsdag" "onsdag" "torsdag" "fredag" 
"lørdag" "søndag"]
-     :date-patterns            (:short "dd.MM.yy" :medium "dd.MMM.yyyy" :long 
"d. MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "'kl 'HH.mm z"))
-    (pl
-     :decimal-separator        ?,
-     :eras                     ["p.n.e." "n.e."]
-     :month-context-abbr       ["sty" "lut" "mar" "kwi" "maj" "cze" "lip" 
"sie" "wrz" "paź" "lis" "gru"]
-     :month-context-names      ["stycznia" "lutego" "marca" "kwietnia" "maja" 
"czerwca" "lipca" "sierpnia" "września" "października" "listopada" "grudnia"]
-     :weekday-context-abbr     ["Pn" "Wt" "Śr" "Cz" "Pt" "So" "N"]
-     :weekday-context-names    ["poniedziałek" "wtorek" "środa" "czwartek" 
"piątek" "sobota" "niedziela"]
-     :month-standalone-names   ["styczeń" "luty" "marzec" "kwiecień" "maj" 
"czerwiec" "lipiec" "sierpień" "wrzesień" "październik" "listopad" "grudzień"]
-     :date-patterns            (:short "yy-MM-dd" :medium "yyyy-MM-dd" :long 
"d MMMM yyyy" :full "EEEE, d MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (pl-PL
-     :date-patterns            (:short "dd.MM.yy" :medium "yyyy-MM-dd" :long 
"d MMMM yyyy" :full "EEEE, d MMMM yyyy")
-     :parent                   pl)
-    (pt
-     :decimal-separator        ?,
-     :eras                     ["a.C." "d.C."]
-     :month-context-abbr       ["jan" "fev" "mar" "abr" "mai" "jun" "jul" 
"ago" "set" "out" "nov" "dez"]
-     :month-context-names      ["Janeiro" "Fevereiro" "Março" "Abril" "Maio" 
"Junho" "Julho" "Agosto" "Setembro" "Outubro" "Novembro" "Dezembro"]
-     :weekday-context-abbr     ["Seg" "Ter" "Qua" "Qui" "Sex" "Sáb" "Dom"]
-     :weekday-context-names    ["Segunda-feira" "Terça-feira" "Quarta-feira" 
"Quinta-feira" "Sexta-feira" "Sábado" "Domingo"]
-     :date-patterns            (:short "dd-MM-yyyy" :medium "d/MMM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE, d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z" :full "HH'H'mm'm' z"))
-    (pt-BR
-     :date-patterns            (:short "dd/MM/yy" :medium "dd/MM/yyyy" :long 
"d' de 'MMMM' de 'yyyy" :full "EEEE, d' de 'MMMM' de 'yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"H'h'm'min's's' z" :full "HH'h'mm'min'ss's' z")
-     :parent                   pt)
-    (ro
-     :decimal-separator        ?,
-     :eras                     ["d.C." "î.d.C."]
-     :month-context-abbr       ["Ian" "Feb" "Mar" "Apr" "Mai" "Iun" "Iul" 
"Aug" "Sep" "Oct" "Nov" "Dec"]
-     :month-context-names      ["ianuarie" "februarie" "martie" "aprilie" 
"mai" "iunie" "iulie" "august" "septembrie" "octombrie" "noiembrie" "decembrie"]
-     :weekday-context-abbr     ["L" "Ma" "Mi" "J" "V" "S" "D"]
-     :weekday-context-names    ["luni" "marţi" "miercuri" "joi" "vineri" 
"sâmbătă" "duminică"]
-     :month-standalone-abbr    ["ian." "feb." "mar." "apr." "mai" "iun." 
"iul." "aug." "sept." "oct." "nov." "dec."]
-     :date-patterns            (:medium "dd.MM.yyyy" :long "dd MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (ru
-     :decimal-separator        ?,
-     :eras                     ["до н.э." "н.э."]
-     :month-context-abbr       ["янв" "фев" "мар" "апр" "мая" "июн" "июл" 
"авг" "сен" "окт" "ноя" "дек"]
-     :month-context-names      ["января" "февраля" "марта" "апреля" "мая" 
"июня" "июля" "августа" "сентября" "октября" "ноября" "декабря"]
-     :weekday-context-abbr     ["Пн" "Вт" "Ср" "Чт" "Пт" "Сб" "Вс"]
-     :weekday-context-names    ["понедельник" "вторник" "среда" "четверг" 
"пятница" "суббота" "воскресенье"]
-     :month-standalone-abbr    ["Янв." "Февр." "Март" "Апр." "Май" "Июнь" 
"Июль" "Авг." "Сент." "Окт." "Нояб." "Дек."]
-     :month-standalone-names   ["Январь" "Февраль" "Март" "Апрель" "Май" 
"Июнь" "Июль" "Август" "Сентябрь" "Октябрь" "Ноябрь" "Декабрь"]
-     :date-patterns            (:short "dd.MM.yy" :medium "dd.MM.yyyy" :long 
"d MMMM yyyy 'г.'")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z"))
-    (sk
-     :decimal-separator        ?,
-     :eras                     ["pred n.l." "n.l."]
-     :month-context-abbr       ["jan" "feb" "mar" "apr" "máj" "jún" "júl" 
"aug" "sep" "okt" "nov" "dec"]
-     :month-context-names      ["januára" "februára" "marca" "apríla" "mája" 
"júna" "júla" "augusta" "septembra" "októbra" "novembra" "decembra"]
-     :weekday-context-abbr     ["Po" "Ut" "St" "Št" "Pi" "So" "Ne"]
-     :weekday-context-names    ["Pondelok" "Utorok" "Streda" "Štvrtok" 
"Piatok" "Sobota" "Nedeľa"]
-     :month-standalone-names   ["január" "február" "marec" "apríl" "máj" "jún" 
"júl" "august" "september" "október" "november" "december"]
-     :date-patterns            (:medium "d.M.yyyy" :long "EEEE, yyyy, MMMM d")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z"))
-    (sl
-     :decimal-separator        ?,
-     :eras                     ["pr.n.š." "po Kr."]
-     :month-context-abbr       ["jan." "feb." "mar." "apr." "maj" "jun." 
"jul." "avg." "sep." "okt." "nov." "dec."]
-     :month-context-names      ["januar" "februar" "marec" "april" "maj" 
"junij" "julij" "avgust" "september" "oktober" "november" "december"]
-     :weekday-context-abbr     ["Pon" "Tor" "Sre" "Čet" "Pet" "Sob" "Ned"]
-     :weekday-context-names    ["Ponedeljek" "Torek" "Sreda" "Četrtek" "Petek" 
"Sobota" "Nedelja"]
-     :month-standalone-abbr    ["jan" "feb" "mar" "apr" "maj" "jun" "jul" 
"avg" "sep" "okt" "nov" "dec"]
-     :date-patterns            (:short "d.M.y" :medium "d.M.yyyy" :long "dd. 
MMMM y" :full "EEEE, dd. MMMM y")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z"))
-    (sq
-     :decimal-separator        ?,
-     :eras                     ["p.e.r." "n.e.r."]
-     :month-context-abbr       ["Jan" "Shk" "Mar" "Pri" "Maj" "Qer" "Kor" 
"Gsh" "Sht" "Tet" "Nën" "Dhj"]
-     :month-context-names      ["janar" "shkurt" "mars" "prill" "maj" 
"qershor" "korrik" "gusht" "shtator" "tetor" "nëntor" "dhjetor"]
-     :weekday-context-abbr     ["Hën" "Mar" "Mër" "Enj" "Pre" "Sht" "Die"]
-     :weekday-context-names    ["e hënë" "e martë" "e mërkurë" "e enjte" "e 
premte" "e shtunë" "e diel"]
-     :am-pm                    ["PD" "MD"]
-     :date-patterns            (:short "yy-MM-dd" :medium "yyyy-MM-dd")
-     :time-patterns            (:short "h.mm.a" :medium "h:mm:ss.a" :long 
"h.mm.ss.a z"))
-    (sr
-     :decimal-separator        ?,
-     :eras                     ["п. н. е." "н. е"]
-     :month-context-abbr       ["јан" "феб" "мар" "апр" "мај" "јун" "јул" 
"авг" "сеп" "окт" "нов" "дец"]
-     :month-context-names      ["јануар" "фебруар" "март" "април" "мај" "јун" 
"јул" "август" "септембар" "октобар" "новембар" "децембар"]
-     :weekday-context-abbr     ["пон" "уто" "сре" "чет" "пет" "суб" "нед"]
-     :weekday-context-names    ["понедељак" "уторак" "среда" "четвртак" 
"петак" "субота" "недеља"]
-     :date-patterns            (:short "d.M.yy." :medium "dd.MM.yyyy." :full 
"EEEE, dd.MMMM.yyyy.")
-     :time-patterns            (:short "HH.mm" :medium "HH.mm.ss" :long 
"HH.mm.ss z"))
-    (sr-BA
-     :month-context-names      ["јануар" "фебруар" "март" "април" "мај" "јуни" 
"јули" "август" "септембар" "октобар" "новембар" "децембар"]
-     :weekday-context-abbr     ["пон" "уто" "сри" "чет" "пет" "суб" "нед"]
-     :weekday-context-names    ["понедељак" "уторак" "сриједа" "четвртак" 
"петак" "субота" "недеља"]
-     :date-patterns            (:short "yy-MM-dd" :medium "yyyy-MM-dd" :long 
"dd. MMMM yyyy." :full "EEEE, dd. MMMM yyyy.")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH.mm.ss z" :full "HH 'часова', mm 'минута', ss' секунди'")
-     :parent                   sr)
-    (sr-Latn
-     :eras                     ["p. n. e." "n. e"]
-     :month-context-abbr       ["jan" "feb" "mar" "apr" "maj" "jun" "jul" 
"avg" "sep" "okt" "nov" "dec"]
-     :month-context-names      ["januar" "februar" "mart" "april" "maj" "jun" 
"jul" "avgust" "septembar" "oktobar" "novembar" "decembar"]
-     :weekday-context-abbr     ["pon" "uto" "sre" "čet" "pet" "sub" "ned"]
-     :weekday-context-names    ["ponedeljak" "utorak" "sreda" "četvrtak" 
"petak" "subota" "nedelja"]
-     :date-patterns            (:short "d.M.yy." :medium "dd.MM.y." :long "dd. 
MMMM y." :full "EEEE, dd. MMMM y.")
-     :time-patterns            (:short "HH.mm" :medium "HH.mm.ss" :long 
"HH.mm.ss z" :full "HH.mm.ss zzzz")
-     :parent                   sr)
-    (sr-Latn-BA
-     :eras                     ["p. n. e." "n. e"]
-     :month-context-abbr       ["jan" "feb" "mar" "apr" "maj" "jun" "jul" 
"avg" "sep" "okt" "nov" "dec"]
-     :month-context-names      ["januar" "februar" "mart" "april" "maj" "jun" 
"jul" "avgust" "septembar" "oktobar" "novembar" "decembar"]
-     :weekday-context-abbr     ["pon" "uto" "sre" "čet" "pet" "sub" "ned"]
-     :weekday-context-names    ["ponedeljak" "utorak" "sreda" "četvrtak" 
"petak" "subota" "nedelja"]
-     :date-patterns            (:short "d.M.yy." :medium "dd.MM.y." :long "dd. 
MMMM y." :full "EEEE, dd. MMMM y.")
-     :time-patterns            (:short "HH.mm" :medium "HH.mm.ss" :long 
"HH.mm.ss z" :full "HH.mm.ss zzzz")
-     :parent                   sr)
-    (sr-Latn-ME
-     :eras                     ["p. n. e." "n. e"]
-     :month-context-abbr       ["jan" "feb" "mar" "apr" "maj" "jun" "jul" 
"avg" "sep" "okt" "nov" "dec"]
-     :month-context-names      ["januar" "februar" "mart" "april" "maj" "jun" 
"jul" "avgust" "septembar" "oktobar" "novembar" "decembar"]
-     :weekday-context-abbr     ["pon" "uto" "sre" "čet" "pet" "sub" "ned"]
-     :weekday-context-names    ["ponedeljak" "utorak" "sreda" "četvrtak" 
"petak" "subota" "nedelja"]
-     :date-patterns            (:short "d.M.yy." :medium "dd.MM.y." :long 
"d.MM.yyyy." :full "EEEE, dd. MMMM y.")
-     :time-patterns            (:short "HH.mm" :medium "HH.mm.ss" :long 
"HH.mm.ss z" :full "HH.mm.ss zzzz")
-     :parent                   sr)
-    (sr-Latn-RS
-     :eras                     ["p. n. e." "n. e"]
-     :month-context-abbr       ["jan" "feb" "mar" "apr" "maj" "jun" "jul" 
"avg" "sep" "okt" "nov" "dec"]
-     :month-context-names      ["januar" "februar" "mart" "april" "maj" "jun" 
"jul" "avgust" "septembar" "oktobar" "novembar" "decembar"]
-     :weekday-context-abbr     ["pon" "uto" "sre" "čet" "pet" "sub" "ned"]
-     :weekday-context-names    ["ponedeljak" "utorak" "sreda" "četvrtak" 
"petak" "subota" "nedelja"]
-     :date-patterns            (:short "d.M.yy." :medium "dd.MM.y." :long "dd. 
MMMM y." :full "EEEE, dd. MMMM y.")
-     :time-patterns            (:short "HH.mm" :medium "HH.mm.ss" :long 
"HH.mm.ss z" :full "HH.mm.ss zzzz")
-     :parent                   sr)
-    (sv
-     :decimal-separator        ?,
-     :eras                     ["före Kristus" "efter Kristus"]
-     :month-context-abbr       ["jan" "feb" "mar" "apr" "maj" "jun" "jul" 
"aug" "sep" "okt" "nov" "dec"]
-     :month-context-names      ["januari" "februari" "mars" "april" "maj" 
"juni" "juli" "augusti" "september" "oktober" "november" "december"]
-     :weekday-context-abbr     ["må" "ti" "on" "to" "fr" "lö" "sö"]
-     :weekday-context-names    ["måndag" "tisdag" "onsdag" "torsdag" "fredag" 
"lördag" "söndag"]
-     :am-pm                    ["fm" "em"]
-     :date-patterns            (:short "yyyy-MM-dd" :medium "yyyy-MMM-dd" 
:long "'den 'd MMMM yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z" :full "'kl 'H:mm z"))
-    (th
-     :eras                     ["ปีก่อนคริสต์กาลที่" "ค.ศ."]
-     :month-context-abbr       ["ม.ค." "ก.พ." "มี.ค." "เม.ย." "พ.ค." "มิ.ย." 
"ก.ค." "ส.ค." "ก.ย." "ต.ค." "พ.ย." "ธ.ค."]
-     :month-context-names      ["มกราคม" "กุมภาพันธ์" "มีนาคม" "เมษายน" 
"พฤษภาคม" "มิถุนายน" "กรกฎาคม" "สิงหาคม" "กันยายน" "ตุลาคม" "พฤศจิกายน" 
"ธันวาคม"]
-     :weekday-context-abbr     ["จ." "อ." "พ." "พฤ." "ศ." "ส." "อา."]
-     :weekday-context-names    ["วันจันทร์" "วันอังคาร" "วันพุธ" "วันพฤหัสบดี" 
"วันศุกร์" "วันเสาร์" "วันอาทิตย์"]
-     :am-pm                    ["ก่อนเที่ยง" "หลังเที่ยง"]
-     :date-patterns            (:short "d/M/yyyy" :medium "d MMM yyyy" :long 
"d MMMM yyyy" :full "EEEE'ที่ 'd MMMM G yyyy")
-     :time-patterns            (:short "H:mm' น.'" :medium "H:mm:ss" :long "H' 
นาฬิกา 'm' นาที'" :full "H' นาฬิกา 'm' นาที 'ss' วินาที'")
-     :date-time-pattern-rule   (t . ", "))
-    (tr
-     :decimal-separator        ?,
-     :eras                     ["MÖ" "MS"]
-     :month-context-abbr       ["Oca" "Şub" "Mar" "Nis" "May" "Haz" "Tem" 
"Ağu" "Eyl" "Eki" "Kas" "Ara"]
-     :month-context-names      ["Ocak" "Şubat" "Mart" "Nisan" "Mayıs" 
"Haziran" "Temmuz" "Ağustos" "Eylül" "Ekim" "Kasım" "Aralık"]
-     :weekday-context-abbr     ["Pzt" "Sal" "Çar" "Per" "Cum" "Cmt" "Paz"]
-     :weekday-context-names    ["Pazartesi" "Salı" "Çarşamba" "Perşembe" 
"Cuma" "Cumartesi" "Pazar"]
-     :date-patterns            (:short "dd.MM.yyyy" :medium "dd.MMM.yyyy" 
:long "dd MMMM yyyy EEEE")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z"))
-    (uk
-     :decimal-separator        ?,
-     :eras                     ["до н.е." "після н.е."]
-     :month-context-abbr       ["січ." "лют." "бер." "квіт." "трав." "черв." 
"лип." "серп." "вер." "жовт." "лист." "груд."]
-     :month-context-names      ["січня" "лютого" "березня" "квітня" "травня" 
"червня" "липня" "серпня" "вересня" "жовтня" "листопада" "грудня"]
-     :weekday-context-abbr     ["пн" "вт" "ср" "чт" "пт" "сб" "нд"]
-     :weekday-context-names    ["понеділок" "вівторок" "середа" "четвер" 
"п'ятниця" "субота" "неділя"]
-     :month-standalone-abbr    ["січ" "лют" "бер" "квіт" "трав" "черв" "лип" 
"серп" "вер" "жовт" "лист" "груд"]
-     :month-standalone-names   ["Січень" "Лютий" "Березень" "Квітень" 
"Травень" "Червень" "Липень" "Серпень" "Вересень" "Жовтень" "Листопад" 
"Грудень"]
-     :date-patterns            (:short "dd.MM.yy" :medium "d MMM yyyy" :long 
"d MMMM yyyy" :full "EEEE, d MMMM yyyy р.")
-     :time-patterns            (:short "H:mm" :medium "H:mm:ss" :long "H:mm:ss 
z"))
-    (und
-     :month-context-abbr       ["Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" 
"Aug" "Sep" "Oct" "Nov" "Dec"]
-     :month-context-names      ["January" "February" "March" "April" "May" 
"June" "July" "August" "September" "October" "November" "December"]
-     :weekday-context-abbr     ["Mon" "Tue" "Wed" "Thu" "Fri" "Sat" "Sun"]
-     :weekday-context-names    ["Monday" "Tuesday" "Wednesday" "Thursday" 
"Friday" "Saturday" "Sunday"]
-     :date-patterns            (:short "M/d/yy" :medium "MMM d, yyyy" :long 
"MMMM d, yyyy" :full "EEEE, MMMM d, yyyy")
-     :time-patterns            (:short "h:mm a" :medium "h:mm:ss a" :long 
"h:mm:ss a z"))
-    (vi
-     :decimal-separator        ?,
-     :eras                     ["tr. CN" "sau CN"]
-     :month-context-abbr       ["thg 1" "thg 2" "thg 3" "thg 4" "thg 5" "thg 
6" "thg 7" "thg 8" "thg 9" "thg 10" "thg 11" "thg 12"]
-     :month-context-names      ["tháng một" "tháng hai" "tháng ba" "tháng tư" 
"tháng năm" "tháng sáu" "tháng bảy" "tháng tám" "tháng chín" "tháng mười" 
"tháng mười một" "tháng mười hai"]
-     :weekday-context-abbr     ["Th 2" "Th 3" "Th 4" "Th 5" "Th 6" "Th 7" "CN"]
-     :weekday-context-names    ["Thứ hai" "Thứ ba" "Thứ tư" "Thứ năm" "Thứ 
sáu" "Thứ bảy" "Chủ nhật"]
-     :am-pm                    ["SA" "CH"]
-     :date-patterns            (:short "dd/MM/yyyy" :medium "dd-MM-yyyy" :long 
"'Ngày' dd 'tháng' M 'năm' yyyy" :full "EEEE, 'ngày' dd MMMM 'năm' yyyy")
-     :time-patterns            (:short "HH:mm" :medium "HH:mm:ss" :long 
"HH:mm:ss z")
-     :date-time-pattern-rule   (nil . " "))
-    (zh
-     :eras                     ["公元前" "公元"]
-     :month-context-abbr       ["一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" 
"十月" "十一月" "十二月"]
-     :month-context-names      ["一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" 
"十月" "十一月" "十二月"]
-     :weekday-context-abbr     ["星期一" "星期二" "星期三" "星期四" "星期五" "星期六" "星期日"]
-     :weekday-context-names    ["星期一" "星期二" "星期三" "星期四" "星期五" "星期六" "星期日"]
-     :am-pm                    ["上午" "下午"]
-     :date-patterns            (:short "yy-M-d" :medium "yyyy-M-d" :long 
"yyyy'年'M'月'd'日'" :full "yyyy'年'M'月'd'日' EEEE")
-     :time-patterns            (:short "ah:mm" :medium "H:mm:ss" :long 
"ahh'时'mm'分'ss'秒'" :full "ahh'时'mm'分'ss'秒' z"))
-    (zh-HK
-     :eras                     ["西元前" "西元"]
-     :month-context-abbr       ["1月" "2月" "3月" "4月" "5月" "6月" "7月" "8月" "9月" 
"10月" "11月" "12月"]
-     :weekday-context-abbr     ["一" "二" "三" "四" "五" "六" "日"]
-     :date-patterns            (:short "yy'年'M'月'd'日'" :medium 
"yyyy'年'M'月'd'日'" :long "yyyy'年'MM'月'dd'日' EEEE")
-     :time-patterns            (:short "ah:mm" :medium "ahh:mm:ss" :long 
"ahh'時'mm'分'ss'秒'" :full "ahh'時'mm'分'ss'秒' z")
-     :parent                   zh)
-    (zh-SG
-     :weekday-context-abbr     ["周一" "周二" "周三" "周四" "周五" "周六" "周日"]
-     :date-patterns            (:short "dd/MM/yy" :medium "dd-MMM-yy" :long 
"dd MMM yyyy" :full "dd MMMM yyyy")
-     :time-patterns            (:medium "a hh:mm" :long "a hh:mm:ss")
-     :parent                   zh)
-    (zh-TW
-     :eras                     ["西元前" "西元"]
-     :month-standalone-abbr    ["1月" "2月" "3月" "4月" "5月" "6月" "7月" "8月" "9月" 
"10月" "11月" "12月"]
-     :date-patterns            (:medium "yyyy/M/d" :long "yyyy'年'M'月'd'日'" 
:full "yyyy'年'M'月'd'日' EEEE")
-     :time-patterns            (:short "a h:mm" :medium "a hh:mm:ss" :long 
"ahh'時'mm'分'ss'秒'" :full "ahh'時'mm'分'ss'秒' z")
-     :parent                   zh)))
-
-
 (provide 'datetime)
 
 ;;; datetime.el ends here
diff --git a/dev/HarvestData.java b/dev/HarvestData.java
index c9f9ab0abf..f66475d156 100644
--- a/dev/HarvestData.java
+++ b/dev/HarvestData.java
@@ -125,8 +125,10 @@ public class HarvestData
             }
         }
 
+        System.out.println ("(");
         for (Map.Entry <Locale, Map <String, String>> entry : data.entrySet ())
-            System.out.println (toLispPlist (entry.getKey ().toLanguageTag (), 
entry.getValue (), false, 25));
+            System.out.println (toLispPlist (entry.getKey ().toLanguageTag (), 
entry.getValue (), false));
+        System.out.println (")");
     }
 
     protected static List <String> getNames (Locale locale, int field, int 
style, int from, int to, int extra)
@@ -164,18 +166,17 @@ public class HarvestData
 
     protected static String toLispPlist (Map <String, String> properties, 
boolean quote_value_strings)
     {
-        return toLispPlist (null, properties, quote_value_strings, 0);
+        return toLispPlist (null, properties, quote_value_strings);
     }
 
-    protected static String toLispPlist (String associate_to, Map <String, 
String> properties, boolean quote_value_strings, int align_to_width)
+    protected static String toLispPlist (String associate_to, Map <String, 
String> properties, boolean quote_value_strings)
     {
         return String.format ("(%s%s%s)",
                               associate_to != null ? associate_to : "",
-                              associate_to != null && !properties.isEmpty () ? 
(align_to_width > 0 ? "\n " : " ") : "",
-                              properties.entrySet ().stream ().map ((entry) -> 
String.format (align_to_width > 0 ? String.format ("%%-%ds %%s", 
align_to_width) : "%s %s",
-                                                                               
               entry.getKey (),
-                                                                               
               quote_value_strings ? quoteString (entry.getValue ()) : 
entry.getValue ()))
-                                                              .collect 
(Collectors.joining (align_to_width > 0 ? "\n " : " ")));
+                              associate_to != null && !properties.isEmpty () ? 
" " : "",
+                              (properties.entrySet ().stream ()
+                               .map ((entry) -> String.format ("%s %s", 
entry.getKey (), quote_value_strings ? quoteString (entry.getValue ()) : 
entry.getValue ()))
+                               .collect (Collectors.joining (" "))));
     }
 
     protected static String toLispVector (List <String> strings)
diff --git a/dev/harvest-data b/dev/harvest-data
deleted file mode 100755
index a7cb5edd88..0000000000
--- a/dev/harvest-data
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /bin/sh
-javac HarvestData.java && java HarvestData
diff --git a/locale-data.extmap b/locale-data.extmap
new file mode 100644
index 0000000000..e21bfb9735
Binary files /dev/null and b/locale-data.extmap differ
diff --git a/refresh-extmaps.sh b/refresh-extmaps.sh
new file mode 100755
index 0000000000..15afa42e76
--- /dev/null
+++ b/refresh-extmaps.sh
@@ -0,0 +1,17 @@
+#! /usr/bin/env bash
+
+set -e
+
+if [ -z "$EMACS" ] ; then
+    EMACS=emacs
+fi
+
+cd dev
+javac HarvestData.java
+cd ..
+
+# Emacs only reads single lines from stdin...
+java -cp dev HarvestData | tr "\n" " "                                         
                   \
+  | $EMACS -batch                                                              
                   \
+          --eval "(progn (require 'package) (package-initialize) (require 
'extmap))"              \
+          --eval "(extmap-from-alist \"locale-data.extmap\" (read-minibuffer 
\"\") :overwrite t)"

Reply via email to