Author: achiumenti Date: Fri Jul 25 11:20:31 2008 New Revision: 68
Added: trunk/main/claw.i18n/ trunk/main/claw.i18n/claw.i18n.asd trunk/main/claw.i18n/src/ trunk/main/claw.i18n/src/i18n.lisp trunk/main/claw.i18n/src/locales.lisp trunk/main/claw.i18n/src/packages.lisp Log: internationalization package
Added: trunk/main/claw.i18n/claw.i18n.asd ============================================================================== --- (empty file) +++ trunk/main/claw.i18n/claw.i18n.asd Fri Jul 25 11:20:31 2008 @@ -0,0 +1,38 @@ +;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*- +;;; $Header: claw-i18n.asd $ + +;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved. + +;;; Redistribution and use in source and binary forms, with or without +;;; modification, are permitted provided that the following conditions +;;; are met: + +;;; * Redistributions of source code must retain the above copyright +;;; notice, this list of conditions and the following disclaimer. + +;;; * Redistributions in binary form must reproduce the above +;;; copyright notice, this list of conditions and the following +;;; disclaimer in the documentation and/or other materials +;;; provided with the distribution. + +;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED +;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(asdf:defsystem :claw.i18n + :name "claw.i18n" + :author "Andrea Chiumenti" + :description "Localization library." + :depends-on (:closer-mop :alexandria :cl-ppcre :cl-fad :local-time :split-sequence :parenscript :bordeaux-threads :flexi-streams :md5) + :components ((:module src + :components ((:file "packages") + (:file "i18n" :depends-on ("packages")) + (:file "locales" :depends-on ("i18n")))
Added: trunk/main/claw.i18n/src/i18n.lisp ============================================================================== --- (empty file) +++ trunk/main/claw.i18n/src/i18n.lisp Fri Jul 25 11:20:31 2008 @@ -0,0 +1,103 @@ +;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*- +;;; $Header: src/components.lisp $ + +;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved. + +;;; Redistribution and use in source and binary forms, with or without +;;; modification, are permitted provided that the following conditions +;;; are met: + +;;; * Redistributions of source code must retain the above copyright +;;; notice, this list of conditions and the following disclaimer. + +;;; * Redistributions in binary form must reproduce the above +;;; copyright notice, this list of conditions and the following +;;; disclaimer in the documentation and/or other materials +;;; provided with the distribution. + +;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED +;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(in-package :claw.i18n) + +(defvar *locales* (make-hash-table :test 'equal) + "A hash table of locale key strings and lists of locale directives. +You should use locale access functions to get its internal values.") + +(defun number-format-grouping-separator (&optional (locale (user-locale))) + "Returns the character used as thousands grouping separator for numbers" + (getf (getf (gethash locale *locales*) :number-format) :grouping-separator)) + +(defun number-format-decimal-separator (&optional (locale (user-locale))) + "Returns the character used as decimals separator for numbers" + (getf (getf (gethash locale *locales*) :number-format) :decimal-separator)) + +(defun ampm (&optional (locale (user-locale))) + "Returns a list with the localized version of AM and PM for time" + (getf (gethash locale *locales*) :ampm)) + +(defun monthes (&optional (locale (user-locale))) + "Returns a localized list of monthes in long form" + (getf (gethash locale *locales*) :months)) + +(defun short-monthes (&optional (locale (user-locale))) + "Returns a localized list of monthes in short form" + (getf (gethash locale *locales*) :short-months)) + +(defun first-day-of-the-week (&optional (locale (user-locale))) + "Returns the first day position of the week for the given locale, being sunday on position 0 and saturday on position 6" + (1- (getf (gethash locale *locales*) :first-day-of-the-week))) + +(defun weekdays (&optional (locale (user-locale))) + "Returns a localized list of days of the week in long form" + (getf (gethash locale *locales*) :weekdays)) + +(defun short-weekdays (&optional (locale (user-locale))) + "Returns a localized list of days of the week in short form" + (getf (gethash locale *locales*) :short-weekdays)) + +(defun eras (&optional (locale (user-locale))) + "Returns a list with the localized version of BC and AD eras" + (getf (gethash locale *locales*) :eras)) + +;;----------------------------------------------------------------------------------------------------------- + +(defvar *message-dispatcher* nil + "Global variable holding a MESSAGE-DISPATCHER, usually bound to the current lisplet, when it holds one") + +(defgeneric message-dispatch (object key locale) + (:documentation "Returns the KEY translation by the given LOCALE")) + +(defclass message-dispatcher (claw-service) + () + (:default-initargs :name 'message-dispatcher) + (:documentation "This is and interface for message dispatchers")) + +(defmethod message-dispatch ((message-dispatcher message-dispatcher) key locale) nil) + +(defun do-message (key &optional (default "") (locale (user-locale))) + "This function dispatches a message with the *message-dispatcher* object." + (or (and *message-dispatcher* + (message-dispatch *message-dispatcher* key locale)) + default)) + +(defclass simple-message-dispatcher (message-dispatcher) + ((locales :initform (make-hash-table :test #'equal) + :accessor simple-message-dispatcher-locales + :documentation "Hash table of locales strings and KEY/VALUE message pairs")) + (:documentation "A message disptcher that leave data unchanged during encoding and decoding phases.")) + +(defmethod simple-message-dispatcher-add-message ((simple-message-dispatcher simple-message-dispatcher) locale key value) + (let ((current-locale (gethash locale (simple-message-dispatcher-locales simple-message-dispatcher) (make-hash-table :test #'equal)))) + (setf (gethash key current-locale) value) + (setf (gethash locale (simple-message-dispatcher-locales simple-message-dispatcher)) current-locale))) +
Added: trunk/main/claw.i18n/src/locales.lisp ============================================================================== --- (empty file) +++ trunk/main/claw.i18n/src/locales.lisp Fri Jul 25 11:20:31 2008 @@ -0,0 +1,1857 @@ +;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*- +;;; $Header: src/locales.lisp $ + +;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved. + +;;; Redistribution and use in source and binary forms, with or without +;;; modification, are permitted provided that the following conditions +;;; are met: + +;;; * Redistributions of source code must retain the above copyright +;;; notice, this list of conditions and the following disclaimer. + +;;; * Redistributions in binary form must reproduce the above +;;; copyright notice, this list of conditions and the following +;;; disclaimer in the documentation and/or other materials +;;; provided with the distribution. + +;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED +;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +;;; --*-- AUTOMATICALLY GENERATED - DO NOT EDIT !!!!! --*-- + +(in-package :claw.i18n) + +(setf (gethash "ja_JP" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "JPY") + :DATE-FORMAT (list + :AMPM '("午前" "午後") + :MONTHS '("1月" "2月" "3月" "4月" "5月" "6月" "7月" "8月" "9月" "10月" "11月" "12月") + :SHORT-MONTHS '("1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("日曜日" "月曜日" "火曜日" "水曜日" "木曜日" "金曜日" "土曜日") + :SHORT-WEEKDAYS '("日" "月" "火" "水" "木" "金" "土") + :ERAS '("紀元前" "西暦")))) + +(setf (gethash "es_PE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "PEN") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "en" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "ja_JP" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "JPY") + :DATE-FORMAT (list + :AMPM '("午前" "午後") + :MONTHS '("1月" "2月" "3月" "4月" "5月" "6月" "7月" "8月" "9月" "10月" "11月" "12月") + :SHORT-MONTHS '("1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("日曜日" "月曜日" "火曜日" "水曜日" "木曜日" "金曜日" "土曜日") + :SHORT-WEEKDAYS '("日" "月" "火" "水" "木" "金" "土") + :ERAS '("紀元前" "西暦")))) + +(setf (gethash "es_PA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "PAB") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "sr_BA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "BAM") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("јануар" "фебруар" "март" "април" "мај" "јуни" "јули" "август" "септембар" "октобар" "новембар" "децембар") + :SHORT-MONTHS '("јан" "феб" "мар" "апр" "мај" "јун" "јул" "авг" "сеп" "окт" "нов" "дец") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("недеља" "понедељак" "уторак" "сриједа" "четвртак" "петак" "субота") + :SHORT-WEEKDAYS '("нед" "пон" "уто" "сри" "чет" "пет" "суб") + :ERAS '("п. н. е." "н. е")))) + +(setf (gethash "mk" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("јануари" "февруари" "март" "април" "мај" "јуни" "јули" "август" "септември" "октомври" "ноември" "декември") + :SHORT-MONTHS '("јан." "фев." "мар." "апр." "мај." "јун." "јул." "авг." "септ." "окт." "ноем." "декем.") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("недела" "понеделник" "вторник" "среда" "четврток" "петок" "сабота") + :SHORT-WEEKDAYS '("нед." "пон." "вт." "сре." "чет." "пет." "саб.") + :ERAS '("пр.н.е." "ае.")))) + +(setf (gethash "es_GT" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "GTQ") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_AE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "AED") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "no_NO" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "NOK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januar" "februar" "mars" "april" "mai" "juni" "juli" "august" "september" "oktober" "november" "desember") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "mai" "jun" "jul" "aug" "sep" "okt" "nov" "des") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("søndag" "mandag" "tirsdag" "onsdag" "torsdag" "fredag" "lørdag") + :SHORT-WEEKDAYS '("sø" "ma" "ti" "on" "to" "fr" "lø") + :ERAS '("BC" "AD")))) + +(setf (gethash "sq_AL" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "ALL") + :DATE-FORMAT (list + :AMPM '("PD" "MD") + :MONTHS '("janar" "shkurt" "mars" "prill" "maj" "qershor" "korrik" "gusht" "shtator" "tetor" "nëntor" "dhjetor") + :SHORT-MONTHS '("Jan" "Shk" "Mar" "Pri" "Maj" "Qer" "Kor" "Gsh" "Sht" "Tet" "Nën" "Dhj") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("e diel" "e hënë" "e martë" "e mërkurë" "e enjte" "e premte" "e shtunë") + :SHORT-WEEKDAYS '("Die" "Hën" "Mar" "Mër" "Enj" "Pre" "Sht") + :ERAS '("p.e.r." "n.e.r.")))) + +(setf (gethash "bg" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Януари" "Февруари" "Март" "Април" "Май" "Юни" "Юли" "Август" "Септември" "Октомври" "Ноември" "Декември") + :SHORT-MONTHS '("I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" "XI" "XII") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Неделя" "Понеделник" "Вторник" "Сряда" "Четвъртък" "Петък" "Събота") + :SHORT-WEEKDAYS '("Нд" "Пн" "Вт" "Ср" "Чт" "Пт" "Сб") + :ERAS '("пр.н.е." "н.е.")))) + +(setf (gethash "ar_IQ" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "IQD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "ar_YE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "YER") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "hu" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("DE" "DU") + :MONTHS '("január" "február" "március" "április" "május" "június" "július" "augusztus" "szeptember" "október" "november" "december") + :SHORT-MONTHS '("jan." "febr." "márc." "ápr." "máj." "jún." "júl." "aug." "szept." "okt." "nov." "dec.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("vasárnap" "hétfő" "kedd" "szerda" "csütörtök" "péntek" "szombat") + :SHORT-WEEKDAYS '("V" "H" "K" "Sze" "Cs" "P" "Szo") + :ERAS '("i.e." "i.u.")))) + +(setf (gethash "pt_PT" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Janeiro" "Fevereiro" "Março" "Abril" "Maio" "Junho" "Julho" "Agosto" "Setembro" "Outubro" "Novembro" "Dezembro") + :SHORT-MONTHS '("Jan" "Fev" "Mar" "Abr" "Mai" "Jun" "Jul" "Ago" "Set" "Out" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Domingo" "Segunda-feira" "Terça-feira" "Quarta-feira" "Quinta-feira" "Sexta-feira" "Sábado") + :SHORT-WEEKDAYS '("Dom" "Seg" "Ter" "Qua" "Qui" "Sex" "Sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "el_CY" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "CYP") + :DATE-FORMAT (list + :AMPM '("ΠΜ" "ΜΜ") + :MONTHS '("Ιανουάριος" "Φεβρουάριος" "Μάρτιος" "Απρίλιος" "Μάιος" "Ιούνιος" "Ιούλιος" "Αύγουστος" "Σεπτέμβριος" "Οκτώβριος" "Νοέμβριος" "Δεκέμβριος") + :SHORT-MONTHS '("Ιαν" "Φεβ" "Μαρ" "Απρ" "Μαϊ" "Ιουν" "Ιουλ" "Αυγ" "Σεπ" "Οκτ" "Νοε" "Δεκ") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Κυριακή" "Δευτέρα" "Τρίτη" "Τετάρτη" "Πέμπτη" "Παρασκευή" "Σάββατο") + :SHORT-WEEKDAYS '("Κυρ" "Δευ" "Τρι" "Τετ" "Πεμ" "Παρ" "Σαβ") + :ERAS '("π.Χ." "μ.Χ.")))) + +(setf (gethash "ar_QA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "QAR") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "mk_MK" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "MKD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("јануари" "февруари" "март" "април" "мај" "јуни" "јули" "август" "септември" "октомври" "ноември" "декември") + :SHORT-MONTHS '("јан." "фев." "мар." "апр." "мај." "јун." "јул." "авг." "септ." "окт." "ноем." "декем.") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("недела" "понеделник" "вторник" "среда" "четврток" "петок" "сабота") + :SHORT-WEEKDAYS '("нед." "пон." "вт." "сре." "чет." "пет." "саб.") + :ERAS '("пр.н.е." "ае.")))) + +(setf (gethash "sv" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januari" "februari" "mars" "april" "maj" "juni" "juli" "augusti" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "maj" "jun" "jul" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("söndag" "måndag" "tisdag" "onsdag" "torsdag" "fredag" "lördag") + :SHORT-WEEKDAYS '("sö" "må" "ti" "on" "to" "fr" "lö") + :ERAS '("BC" "AD")))) + +(setf (gethash "de_CH" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #' :DECIMAL-SEPARATOR #. "CHF") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januar" "Februar" "März" "April" "Mai" "Juni" "Juli" "August" "September" "Oktober" "November" "Dezember") + :SHORT-MONTHS '("Jan" "Feb" "Mrz" "Apr" "Mai" "Jun" "Jul" "Aug" "Sep" "Okt" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sonntag" "Montag" "Dienstag" "Mittwoch" "Donnerstag" "Freitag" "Samstag") + :SHORT-WEEKDAYS '("So" "Mo" "Di" "Mi" "Do" "Fr" "Sa") + :ERAS '("v. Chr." "n. Chr.")))) + +(setf (gethash "en_US" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "USD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "fi_FI" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("tammikuu" "helmikuu" "maaliskuu" "huhtikuu" "toukokuu" "kesäkuu" "heinäkuu" "elokuu" "syyskuu" "lokakuu" "marraskuu" "joulukuu") + :SHORT-MONTHS '("tammi" "helmi" "maalis" "huhti" "touko" "kesä" "heinä" "elo" "syys" "loka" "marras" "joulu") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("sunnuntai" "maanantai" "tiistai" "keskiviikko" "torstai" "perjantai" "lauantai") + :SHORT-WEEKDAYS '("su" "ma" "ti" "ke" "to" "pe" "la") + :ERAS '("BC" "AD")))) + +(setf (gethash "is" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janúar" "febrúar" "mars" "apríl" "maí" "júní" "júlí" "ágúst" "september" "október" "nóvember" "desember") + :SHORT-MONTHS '("jan." "feb." "mar." "apr." "maí" "jún." "júl." "ágú." "sep." "okt." "nóv." "des.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("sunnudagur" "mánudagur" "þriðjudagur" "miðvikudagur" "fimmtudagur" "föstudagur" "laugardagur") + :SHORT-WEEKDAYS '("sun." "mán." "þri." "mið." "fim." "fös." "lau.") + :ERAS '("BC" "AD")))) + +(setf (gethash "cs" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("dop." "odp.") + :MONTHS '("leden" "únor" "březen" "duben" "květen" "červen" "červenec" "srpen" "září" "říjen" "listopad" "prosinec") + :SHORT-MONTHS '("I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" "XI" "XII") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Neděle" "Pondělí" "Úterý" "Středa" "Čtvrtek" "Pátek" "Sobota") + :SHORT-WEEKDAYS '("Ne" "Po" "Út" "St" "Čt" "Pá" "So") + :ERAS '("př.Kr." "po Kr.")))) + +(setf (gethash "en_MT" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "MTL") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "sl_SI" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januar" "februar" "marec" "april" "maj" "junij" "julij" "avgust" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "maj" "jun" "jul" "avg" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Nedelja" "Ponedeljek" "Torek" "Sreda" "Četrtek" "Petek" "Sobota") + :SHORT-WEEKDAYS '("Ned" "Pon" "Tor" "Sre" "Čet" "Pet" "Sob") + :ERAS '("pr.n.š." "po Kr.")))) + +(setf (gethash "sk_SK" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "SKK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("január" "február" "marec" "apríl" "máj" "jún" "júl" "august" "september" "október" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "máj" "jún" "júl" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Nedeľa" "Pondelok" "Utorok" "Streda" "Štvrtok" "Piatok" "Sobota") + :SHORT-WEEKDAYS '("Ne" "Po" "Ut" "St" "Št" "Pi" "So") + :ERAS '("pred n.l." "n.l.")))) + +(setf (gethash "it" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("gennaio" "febbraio" "marzo" "aprile" "maggio" "giugno" "luglio" "agosto" "settembre" "ottobre" "novembre" "dicembre") + :SHORT-MONTHS '("gen" "feb" "mar" "apr" "mag" "giu" "lug" "ago" "set" "ott" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domenica" "lunedì" "martedì" "mercoledì" "giovedì" "venerdì" "sabato") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mer" "gio" "ven" "sab") + :ERAS '("BC" "dopo Cristo")))) + +(setf (gethash "tr_TR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "TRY") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Ocak" "Şubat" "Mart" "Nisan" "Mayıs" "Haziran" "Temmuz" "Ağustos" "Eylül" "Ekim" "Kasım" "Aralık") + :SHORT-MONTHS '("Oca" "Şub" "Mar" "Nis" "May" "Haz" "Tem" "Ağu" "Eyl" "Eki" "Kas" "Ara") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Pazar" "Pazartesi" "Salı" "Çarşamba" "Perşembe" "Cuma" "Cumartesi") + :SHORT-WEEKDAYS '("Paz" "Pzt" "Sal" "Çar" "Per" "Cum" "Cmt") + :ERAS '("BC" "AD")))) + +(setf (gethash "zh" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("上午" "下午") + :MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :SHORT-MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :SHORT-WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :ERAS '("公元前" "公元")))) + +(setf (gethash "th" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("ก่อนเที่ยง" "หลังเที่ยง") + :MONTHS '("มกราคม" "กุมภาพันธ์" "มีนาคม" "เมษายน" "พฤษภาคม" "มิถุนายน" "กรกฎาคม" "สิงหาคม" "กันยายน" "ตุลาคม" "พฤศจิกายน" "ธันวาคม") + :SHORT-MONTHS '("ม.ค." "ก.พ." "มี.ค." "เม.ย." "พ.ค." "มิ.ย." "ก.ค." "ส.ค." "ก.ย." "ต.ค." "พ.ย." "ธ.ค.") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("วันอาทิตย์" "วันจันทร์" "วันอังคาร" "วันพุธ" "วันพฤหัสบดี" "วันศุกร์" "วันเสาร์") + :SHORT-WEEKDAYS '("อา." "จ." "อ." "พ." "พฤ." "ศ." "ส.") + :ERAS '("ปีก่อนคริสต์กาลที่" "ค.ศ.")))) + +(setf (gethash "ar_SA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "SAR") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "no" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januar" "februar" "mars" "april" "mai" "juni" "juli" "august" "september" "oktober" "november" "desember") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "mai" "jun" "jul" "aug" "sep" "okt" "nov" "des") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("søndag" "mandag" "tirsdag" "onsdag" "torsdag" "fredag" "lørdag") + :SHORT-WEEKDAYS '("sø" "ma" "ti" "on" "to" "fr" "lø") + :ERAS '("BC" "AD")))) + +(setf (gethash "en_GB" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "GBP") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "sr_CS" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "CSD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("јануар" "фебруар" "март" "април" "мај" "јун" "јул" "август" "септембар" "октобар" "новембар" "децембар") + :SHORT-MONTHS '("јан" "феб" "мар" "апр" "мај" "јун" "јул" "авг" "сеп" "окт" "нов" "дец") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("недеља" "понедељак" "уторак" "среда" "четвртак" "петак" "субота") + :SHORT-WEEKDAYS '("нед" "пон" "уто" "сре" "чет" "пет" "суб") + :ERAS '("п. н. е." "н. е")))) + +(setf (gethash "lt" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Sausio" "Vasario" "Kovo" "Balandžio" "Gegužės" "Birželio" "Liepos" "Rugpjūčio" "Rugsėjo" "Spalio" "Lapkričio" "Gruodžio") + :SHORT-MONTHS '("Sau" "Vas" "Kov" "Bal" "Geg" "Bir" "Lie" "Rgp" "Rgs" "Spa" "Lap" "Grd") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sekmadienis" "Pirmadienis" "Antradienis" "Trečiadienis" "Ketvirtadienis" "Penktadienis" "Šeštadienis") + :SHORT-WEEKDAYS '("Sk" "Pr" "An" "Tr" "Kt" "Pn" "Št") + :ERAS '("pr.Kr." "po.Kr.")))) + +(setf (gethash "ro" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("ianuarie" "februarie" "martie" "aprilie" "mai" "iunie" "iulie" "august" "septembrie" "octombrie" "noiembrie" "decembrie") + :SHORT-MONTHS '("Ian" "Feb" "Mar" "Apr" "Mai" "Iun" "Iul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("duminică" "luni" "marţi" "miercuri" "joi" "vineri" "sîmbătă") + :SHORT-WEEKDAYS '("D" "L" "Ma" "Mi" "J" "V" "S") + :ERAS '("d.C." "î.d.C.")))) + +(setf (gethash "en_NZ" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "NZD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "no_NO" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "NOK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januar" "februar" "mars" "april" "mai" "juni" "juli" "august" "september" "oktober" "november" "desember") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "mai" "jun" "jul" "aug" "sep" "okt" "nov" "des") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("søndag" "mandag" "tirsdag" "onsdag" "torsdag" "fredag" "lørdag") + :SHORT-WEEKDAYS '("sø" "ma" "ti" "on" "to" "fr" "lø") + :ERAS '("BC" "AD")))) + +(setf (gethash "lt_LT" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "LTL") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Sausio" "Vasario" "Kovo" "Balandžio" "Gegužės" "Birželio" "Liepos" "Rugpjūčio" "Rugsėjo" "Spalio" "Lapkričio" "Gruodžio") + :SHORT-MONTHS '("Sau" "Vas" "Kov" "Bal" "Geg" "Bir" "Lie" "Rgp" "Rgs" "Spa" "Lap" "Grd") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sekmadienis" "Pirmadienis" "Antradienis" "Trečiadienis" "Ketvirtadienis" "Penktadienis" "Šeštadienis") + :SHORT-WEEKDAYS '("Sk" "Pr" "An" "Tr" "Kt" "Pn" "Št") + :ERAS '("pr.Kr." "po.Kr.")))) + +(setf (gethash "es_NI" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "NIO") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "nl" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januari" "februari" "maart" "april" "mei" "juni" "juli" "augustus" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mrt" "apr" "mei" "jun" "jul" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("zondag" "maandag" "dinsdag" "woensdag" "donderdag" "vrijdag" "zaterdag") + :SHORT-WEEKDAYS '("zo" "ma" "di" "wo" "do" "vr" "za") + :ERAS '("BC" "AD")))) + +(setf (gethash "ga_IE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "EUR") + :DATE-FORMAT (list + :AMPM '("a.m." "p.m.") + :MONTHS '("Eanáir" "Feabhra" "Márta" "Aibreán" "Bealtaine" "Meitheamh" "Iúil" "Lúnasa" "Meán Fómhair" "Deireadh Fómhair" "Samhain" "Nollaig") + :SHORT-MONTHS '("Ean" "Feabh" "Márta" "Aib" "Beal" "Meith" "Iúil" "Lún" "MFómh" "DFómh" "Samh" "Noll") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Dé Domhnaigh" "Dé Luain" "Dé Máirt" "Dé Céadaoin" "Déardaoin" "Dé hAoine" "Dé Sathairn") + :SHORT-WEEKDAYS '("Domh" "Luan" "Máirt" "Céad" "Déar" "Aoine" "Sath") + :ERAS '("RC" "AD")))) + +(setf (gethash "fr_BE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvier" "février" "mars" "avril" "mai" "juin" "juillet" "août" "septembre" "octobre" "novembre" "décembre") + :SHORT-MONTHS '("janv." "févr." "mars" "avr." "mai" "juin" "juil." "août" "sept." "oct." "nov." "déc.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("dimanche" "lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi") + :SHORT-WEEKDAYS '("dim." "lun." "mar." "mer." "jeu." "ven." "sam.") + :ERAS '("BC" "ap. J.-C.")))) + +(setf (gethash "es_ES" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_LB" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "LBP") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("كانون الثاني" "شباط" "آذار" "نيسان" "نوار" "حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول") + :SHORT-MONTHS '("كانون الثاني" "شباط" "آذار" "نيسان" "نوار" "حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :ERAS '("ق.م" "م")))) + +(setf (gethash "ko" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("오전" "오후") + :MONTHS '("1월" "2월" "3월" "4월" "5월" "6월" "7월" "8월" "9월" "10월" "11월" "12월") + :SHORT-MONTHS '("1월" "2월" "3월" "4월" "5월" "6월" "7월" "8월" "9월" "10월" "11월" "12월") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("일요일" "월요일" "화요일" "수요일" "목요일" "금요일" "토요일") + :SHORT-WEEKDAYS '("일" "월" "화" "수" "목" "금" "토") + :ERAS '("BC" "AD")))) + +(setf (gethash "fr_CA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "CAD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvier" "février" "mars" "avril" "mai" "juin" "juillet" "août" "septembre" "octobre" "novembre" "décembre") + :SHORT-MONTHS '("janv." "févr." "mars" "avr." "mai" "juin" "juil." "août" "sept." "oct." "nov." "déc.") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("dimanche" "lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi") + :SHORT-WEEKDAYS '("dim." "lun." "mar." "mer." "jeu." "ven." "sam.") + :ERAS '("BC" "ap. J.-C.")))) + +(setf (gethash "et_EE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "EEK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Jaanuar" "Veebruar" "Märts" "Aprill" "Mai" "Juuni" "Juuli" "August" "September" "Oktoober" "November" "Detsember") + :SHORT-MONTHS '("Jaan" "Veebr" "Märts" "Apr" "Mai" "Juuni" "Juuli" "Aug" "Sept" "Okt" "Nov" "Dets") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("pühapäev" "esmaspäev" "teisipäev" "kolmapäev" "neljapäev" "reede" "laupäev") + :SHORT-WEEKDAYS '("P" "E" "T" "K" "N" "R" "L") + :ERAS '("e.m.a." "m.a.j.")))) + +(setf (gethash "ar_KW" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "KWD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "sr_RS" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "RSD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("јануар" "фебруар" "март" "април" "мај" "јун" "јул" "август" "септембар" "октобар" "новембар" "децембар") + :SHORT-MONTHS '("јан" "феб" "мар" "апр" "мај" "јун" "јул" "авг" "сеп" "окт" "нов" "дец") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("недеља" "понедељак" "уторак" "среда" "четвртак" "петак" "субота") + :SHORT-WEEKDAYS '("нед" "пон" "уто" "сре" "чет" "пет" "суб") + :ERAS '("п. н. е." "н. е")))) + +(setf (gethash "es_US" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "USD") + :DATE-FORMAT (list + :AMPM '("a.m." "p.m.") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("a.C." "d.C.")))) + +(setf (gethash "es_MX" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "MXN") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_SD" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "SDD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "in_ID" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "IDR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januari" "Februari" "Maret" "April" "Mei" "Juni" "Juli" "Agustus" "September" "Oktober" "November" "Desember") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "Mei" "Jun" "Jul" "Agu" "Sep" "Okt" "Nov" "Des") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Minggu" "Senin" "Selasa" "Rabu" "Kamis" "Jumat" "Sabtu") + :SHORT-WEEKDAYS '("Min" "Sen" "Sel" "Rab" "Kam" "Jum" "Sab") + :ERAS '("BCE" "CE")))) + +(setf (gethash "ru" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Январь" "Февраль" "Март" "Апрель" "Май" "Июнь" "Июль" "Август" "Сентябрь" "Октябрь" "Ноябрь" "Декабрь") + :SHORT-MONTHS '("янв" "фев" "мар" "апр" "май" "июн" "июл" "авг" "сен" "окт" "ноя" "дек") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("воскресенье" "понедельник" "вторник" "среда" "четверг" "пятница" "суббота") + :SHORT-WEEKDAYS '("Вс" "Пн" "Вт" "Ср" "Чт" "Пт" "Сб") + :ERAS '("до н.э." "н.э.")))) + +(setf (gethash "lv" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvāris" "februāris" "marts" "aprīlis" "maijs" "jūnijs" "jūlijs" "augusts" "septembris" "oktobris" "novembris" "decembris") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "Maijs" "Jūn" "Jūl" "Aug" "Sep" "Okt" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("svētdiena" "pirmdiena" "otrdiena" "trešdiena" "ceturtdiena" "piektdiena" "sestdiena") + :SHORT-WEEKDAYS '("Sv" "P" "O" "T" "C" "Pk" "S") + :ERAS '("pmē" "mē")))) + +(setf (gethash "es_UY" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "UYU") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "lv_LV" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "LVL") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvāris" "februāris" "marts" "aprīlis" "maijs" "jūnijs" "jūlijs" "augusts" "septembris" "oktobris" "novembris" "decembris") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "Maijs" "Jūn" "Jūl" "Aug" "Sep" "Okt" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("svētdiena" "pirmdiena" "otrdiena" "trešdiena" "ceturtdiena" "piektdiena" "sestdiena") + :SHORT-WEEKDAYS '("Sv" "P" "O" "T" "C" "Pk" "S") + :ERAS '("pmē" "mē")))) + +(setf (gethash "iw" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("ינואר" "פברואר" "מרץ" "אפריל" "מאי" "יוני" "יולי" "אוגוסט" "ספטמבר" "אוקטובר" "נובמבר" "דצמבר") + :SHORT-MONTHS '("ינו" "פבר" "מרץ" "אפר" "מאי" "יונ" "יול" "אוג" "ספט" "אוק" "נוב" "דצמ") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("יום ראשון" "יום שני" "יום שלישי" "יום רביעי" "יום חמישי" "יום שישי" "שבת") + :SHORT-WEEKDAYS '("א" "ב" "ג" "ד" "ה" "ו" "ש") + :ERAS '("לסה"נ" "לפסה"נ")))) + +(setf (gethash "pt_BR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "BRL") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Janeiro" "Fevereiro" "Março" "Abril" "Maio" "Junho" "Julho" "Agosto" "Setembro" "Outubro" "Novembro" "Dezembro") + :SHORT-MONTHS '("Jan" "Fev" "Mar" "Abr" "Mai" "Jun" "Jul" "Ago" "Set" "Out" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Domingo" "Segunda-feira" "Terça-feira" "Quarta-feira" "Quinta-feira" "Sexta-feira" "Sábado") + :SHORT-WEEKDAYS '("Dom" "Seg" "Ter" "Qua" "Qui" "Sex" "Sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_SY" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "SYP") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("كانون الثاني" "شباط" "آذار" "نيسان" "نواران" "حزير" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول") + :SHORT-MONTHS '("كانون الثاني" "شباط" "آذار" "نيسان" "نوار" "حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :ERAS '("ق.م" "م")))) + +(setf (gethash "hr" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("siječanj" "veljača" "ožujak" "travanj" "svibanj" "lipanj" "srpanj" "kolovoz" "rujan" "listopad" "studeni" "prosinac") + :SHORT-MONTHS '("sij" "vel" "ožu" "tra" "svi" "lip" "srp" "kol" "ruj" "lis" "stu" "pro") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("nedjelja" "ponedjeljak" "utorak" "srijeda" "četvrtak" "petak" "subota") + :SHORT-WEEKDAYS '("ned" "pon" "uto" "sri" "čet" "pet" "sub") + :ERAS '("BC" "AD")))) + +(setf (gethash "et" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Jaanuar" "Veebruar" "Märts" "Aprill" "Mai" "Juuni" "Juuli" "August" "September" "Oktoober" "November" "Detsember") + :SHORT-MONTHS '("Jaan" "Veebr" "Märts" "Apr" "Mai" "Juuni" "Juuli" "Aug" "Sept" "Okt" "Nov" "Dets") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("pühapäev" "esmaspäev" "teisipäev" "kolmapäev" "neljapäev" "reede" "laupäev") + :SHORT-WEEKDAYS '("P" "E" "T" "K" "N" "R" "L") + :ERAS '("e.m.a." "m.a.j.")))) + +(setf (gethash "es_DO" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "DOP") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "fr_CH" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #' :DECIMAL-SEPARATOR #. "CHF") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvier" "février" "mars" "avril" "mai" "juin" "juillet" "août" "septembre" "octobre" "novembre" "décembre") + :SHORT-MONTHS '("janv." "févr." "mars" "avr." "mai" "juin" "juil." "août" "sept." "oct." "nov." "déc.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("dimanche" "lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi") + :SHORT-WEEKDAYS '("dim." "lun." "mar." "mer." "jeu." "ven." "sam.") + :ERAS '("BC" "ap. J.-C.")))) + +(setf (gethash "hi_IN" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "INR") + :DATE-FORMAT (list + :AMPM '("पूर्वाह्न" "अपराह्न") + :MONTHS '("जनवरी" "फ़रवरी" "मार्च" "अप्रैल" "मई" "जून" "जुलाई" "अगस्त" "सितंबर" "अक्तूबर" "नवंबर" "दिसंबर") + :SHORT-MONTHS '("जनवरी" "फ़रवरी" "मार्च" "अप्रैल" "मई" "जून" "जुलाई" "अगस्त" "सितंबर" "अक्तूबर" "नवंबर" "दिसंबर") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("रविवार" "सोमवार" "मंगलवार" "बुधवार" "गुरुवार" "शुक्रवार" "शनिवार") + :SHORT-WEEKDAYS '("रवि" "सोम" "मंगल" "बुध" "गुरु" "शुक्र" "शनि") + :ERAS '("ईसापूर्व" "सन")))) + +(setf (gethash "es_VE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "VEB") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_BH" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "BHD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "en_PH" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "PHP") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_TN" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "TND") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "fi" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("tammikuu" "helmikuu" "maaliskuu" "huhtikuu" "toukokuu" "kesäkuu" "heinäkuu" "elokuu" "syyskuu" "lokakuu" "marraskuu" "joulukuu") + :SHORT-MONTHS '("tammi" "helmi" "maalis" "huhti" "touko" "kesä" "heinä" "elo" "syys" "loka" "marras" "joulu") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("sunnuntai" "maanantai" "tiistai" "keskiviikko" "torstai" "perjantai" "lauantai") + :SHORT-WEEKDAYS '("su" "ma" "ti" "ke" "to" "pe" "la") + :ERAS '("BC" "AD")))) + +(setf (gethash "de_AT" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Jänner" "Februar" "März" "April" "Mai" "Juni" "Juli" "August" "September" "Oktober" "November" "Dezember") + :SHORT-MONTHS '("Jän" "Feb" "Mär" "Apr" "Mai" "Jun" "Jul" "Aug" "Sep" "Okt" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sonntag" "Montag" "Dienstag" "Mittwoch" "Donnerstag" "Freitag" "Samstag") + :SHORT-WEEKDAYS '("So" "Mo" "Di" "Mi" "Do" "Fr" "Sa") + :ERAS '("v. Chr." "n. Chr.")))) + +(setf (gethash "es" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "nl_NL" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januari" "februari" "maart" "april" "mei" "juni" "juli" "augustus" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mrt" "apr" "mei" "jun" "jul" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("zondag" "maandag" "dinsdag" "woensdag" "donderdag" "vrijdag" "zaterdag") + :SHORT-WEEKDAYS '("zo" "ma" "di" "wo" "do" "vr" "za") + :ERAS '("BC" "AD")))) + +(setf (gethash "es_EC" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "USD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "zh_TW" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "TWD") + :DATE-FORMAT (list + :AMPM '("上午" "下午") + :MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :SHORT-MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :SHORT-WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :ERAS '("西元前" "西元")))) + +(setf (gethash "ar_JO" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "JOD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("كانون الثاني" "شباط" "آذار" "نيسان" "نوار" "حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول") + :SHORT-MONTHS '("كانون الثاني" "شباط" "آذار" "نيسان" "نوار" "حزيران" "تموز" "آب" "أيلول" "تشرين الأول" "تشرين الثاني" "كانون الأول") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :ERAS '("ق.م" "م")))) + +(setf (gethash "be" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("студзеня" "лютага" "сакавіка" "красавіка" "мая" "чрвеня" "ліпеня" "жніўня" "верасня" "кастрычніка" "листапада" "снежня") + :SHORT-MONTHS '("стд" "лют" "скв" "крс" "май" "чрв" "лпн" "жнв" "врс" "кст" "лст" "снж") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("нядзеля" "панядзелак" "аўторак" "серада" "чацвер" "пятніца" "субота") + :SHORT-WEEKDAYS '("нд" "пн" "ат" "ср" "чц" "пт" "сб") + :ERAS '("да н.е." "н.е.")))) + +(setf (gethash "is_IS" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "ISK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janúar" "febrúar" "mars" "apríl" "maí" "júní" "júlí" "ágúst" "september" "október" "nóvember" "desember") + :SHORT-MONTHS '("jan." "feb." "mar." "apr." "maí" "jún." "júl." "ágú." "sep." "okt." "nóv." "des.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("sunnudagur" "mánudagur" "þriðjudagur" "miðvikudagur" "fimmtudagur" "föstudagur" "laugardagur") + :SHORT-WEEKDAYS '("sun." "mán." "þri." "mið." "fim." "fös." "lau.") + :ERAS '("BC" "AD")))) + +(setf (gethash "es_CO" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "COP") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "es_CR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "CRC") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "es_CL" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "CLP") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_EG" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "EGP") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "en_ZA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "ZAR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "th_TH" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "THB") + :DATE-FORMAT (list + :AMPM '("ก่อนเที่ยง" "หลังเที่ยง") + :MONTHS '("มกราคม" "กุมภาพันธ์" "มีนาคม" "เมษายน" "พฤษภาคม" "มิถุนายน" "กรกฎาคม" "สิงหาคม" "กันยายน" "ตุลาคม" "พฤศจิกายน" "ธันวาคม") + :SHORT-MONTHS '("ม.ค." "ก.พ." "มี.ค." "เม.ย." "พ.ค." "มิ.ย." "ก.ค." "ส.ค." "ก.ย." "ต.ค." "พ.ย." "ธ.ค.") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("วันอาทิตย์" "วันจันทร์" "วันอังคาร" "วันพุธ" "วันพฤหัสบดี" "วันศุกร์" "วันเสาร์") + :SHORT-WEEKDAYS '("อา." "จ." "อ." "พ." "พฤ." "ศ." "ส.") + :ERAS '("ปีก่อนคริสต์กาลที่" "ค.ศ.")))) + +(setf (gethash "el_GR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("πμ" "μμ") + :MONTHS '("Ιανουάριος" "Φεβρουάριος" "Μάρτιος" "Απρίλιος" "Μάϊος" "Ιούνιος" "Ιούλιος" "Αύγουστος" "Σεπτέμβριος" "Οκτώβριος" "Νοέμβριος" "Δεκέμβριος") + :SHORT-MONTHS '("Ιαν" "Φεβ" "Μαρ" "Απρ" "Μαϊ" "Ιουν" "Ιουλ" "Αυγ" "Σεπ" "Οκτ" "Νοε" "Δεκ") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Κυριακή" "Δευτέρα" "Τρίτη" "Τετάρτη" "Πέμπτη" "Παρασκευή" "Σάββατο") + :SHORT-WEEKDAYS '("Κυρ" "Δευ" "Τρι" "Τετ" "Πεμ" "Παρ" "Σαβ") + :ERAS '("BC" "AD")))) + +(setf (gethash "it_IT" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("gennaio" "febbraio" "marzo" "aprile" "maggio" "giugno" "luglio" "agosto" "settembre" "ottobre" "novembre" "dicembre") + :SHORT-MONTHS '("gen" "feb" "mar" "apr" "mag" "giu" "lug" "ago" "set" "ott" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domenica" "lunedì" "martedì" "mercoledì" "giovedì" "venerdì" "sabato") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mer" "gio" "ven" "sab") + :ERAS '("BC" "dopo Cristo")))) + +(setf (gethash "ca" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("gener" "febrer" "març" "abril" "maig" "juny" "juliol" "agost" "setembre" "octubre" "novembre" "desembre") + :SHORT-MONTHS '("gen." "feb." "març" "abr." "maig" "juny" "jul." "ag." "set." "oct." "nov." "des.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("diumenge" "dilluns" "dimarts" "dimecres" "dijous" "divendres" "dissabte") + :SHORT-WEEKDAYS '("dg." "dl." "dt." "dc." "dj." "dv." "ds.") + :ERAS '("BC" "AD")))) + +(setf (gethash "hu_HU" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "HUF") + :DATE-FORMAT (list + :AMPM '("DE" "DU") + :MONTHS '("január" "február" "március" "április" "május" "június" "július" "augusztus" "szeptember" "október" "november" "december") + :SHORT-MONTHS '("jan." "febr." "márc." "ápr." "máj." "jún." "júl." "aug." "szept." "okt." "nov." "dec.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("vasárnap" "hétfő" "kedd" "szerda" "csütörtök" "péntek" "szombat") + :SHORT-WEEKDAYS '("V" "H" "K" "Sze" "Cs" "P" "Szo") + :ERAS '("i.e." "i.u.")))) + +(setf (gethash "fr" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvier" "février" "mars" "avril" "mai" "juin" "juillet" "août" "septembre" "octobre" "novembre" "décembre") + :SHORT-MONTHS '("janv." "févr." "mars" "avr." "mai" "juin" "juil." "août" "sept." "oct." "nov." "déc.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("dimanche" "lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi") + :SHORT-WEEKDAYS '("dim." "lun." "mar." "mer." "jeu." "ven." "sam.") + :ERAS '("BC" "ap. J.-C.")))) + +(setf (gethash "en_IE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "uk_UA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "UAH") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("січня" "лютого" "березня" "квітня" "травня" "червня" "липня" "серпня" "вересня" "жовтня" "листопада" "грудня") + :SHORT-MONTHS '("січ" "лют" "бер" "квіт" "трав" "черв" "лип" "серп" "вер" "жовт" "лист" "груд") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("неділя" "понеділок" "вівторок" "середа" "четвер" "п'ятниця" "субота") + :SHORT-WEEKDAYS '("нд" "пн" "вт" "ср" "чт" "пт" "сб") + :ERAS '("до н.е." "після н.е.")))) + +(setf (gethash "pl_PL" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "PLN") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("styczeń" "luty" "marzec" "kwiecień" "maj" "czerwiec" "lipiec" "sierpień" "wrzesień" "październik" "listopad" "grudzień") + :SHORT-MONTHS '("sty" "lut" "mar" "kwi" "maj" "cze" "lip" "sie" "wrz" "paź" "lis" "gru") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("niedziela" "poniedziałek" "wtorek" "środa" "czwartek" "piątek" "sobota") + :SHORT-WEEKDAYS '("N" "Pn" "Wt" "Śr" "Cz" "Pt" "So") + :ERAS '("p.n.e." "n.e.")))) + +(setf (gethash "fr_LU" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvier" "février" "mars" "avril" "mai" "juin" "juillet" "août" "septembre" "octobre" "novembre" "décembre") + :SHORT-MONTHS '("janv." "févr." "mars" "avr." "mai" "juin" "juil." "août" "sept." "oct." "nov." "déc.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("dimanche" "lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi") + :SHORT-WEEKDAYS '("dim." "lun." "mar." "mer." "jeu." "ven." "sam.") + :ERAS '("BC" "ap. J.-C.")))) + +(setf (gethash "nl_BE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januari" "februari" "maart" "april" "mei" "juni" "juli" "augustus" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mrt" "apr" "mei" "jun" "jul" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("zondag" "maandag" "dinsdag" "woensdag" "donderdag" "vrijdag" "zaterdag") + :SHORT-WEEKDAYS '("zo" "ma" "di" "wo" "do" "vr" "za") + :ERAS '("BC" "AD")))) + +(setf (gethash "en_IN" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "INR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "ca_ES" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("gener" "febrer" "març" "abril" "maig" "juny" "juliol" "agost" "setembre" "octubre" "novembre" "desembre") + :SHORT-MONTHS '("gen." "feb." "març" "abr." "maig" "juny" "jul." "ag." "set." "oct." "nov." "des.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("diumenge" "dilluns" "dimarts" "dimecres" "dijous" "divendres" "dissabte") + :SHORT-WEEKDAYS '("dg." "dl." "dt." "dc." "dj." "dv." "ds.") + :ERAS '("BC" "AD")))) + +(setf (gethash "ar_MA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "MAD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "es_BO" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "BOB") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "en_AU" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "AUD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "sr" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("јануар" "фебруар" "март" "април" "мај" "јун" "јул" "август" "септембар" "октобар" "новембар" "децембар") + :SHORT-MONTHS '("јан" "феб" "мар" "апр" "мај" "јун" "јул" "авг" "сеп" "окт" "нов" "дец") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("недеља" "понедељак" "уторак" "среда" "четвртак" "петак" "субота") + :SHORT-WEEKDAYS '("нед" "пон" "уто" "сре" "чет" "пет" "суб") + :ERAS '("п. н. е." "н. е")))) + +(setf (gethash "zh_SG" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "SGD") + :DATE-FORMAT (list + :AMPM '("上午" "下午") + :MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :SHORT-MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :SHORT-WEEKDAYS '("周日" "周一" "周二" "周三" "周四" "周五" "周六") + :ERAS '("公元前" "公元")))) + +(setf (gethash "pt" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Janeiro" "Fevereiro" "Março" "Abril" "Maio" "Junho" "Julho" "Agosto" "Setembro" "Outubro" "Novembro" "Dezembro") + :SHORT-MONTHS '("Jan" "Fev" "Mar" "Abr" "Mai" "Jun" "Jul" "Ago" "Set" "Out" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Domingo" "Segunda-feira" "Terça-feira" "Quarta-feira" "Quinta-feira" "Sexta-feira" "Sábado") + :SHORT-WEEKDAYS '("Dom" "Seg" "Ter" "Qua" "Qui" "Sex" "Sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "uk" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("січня" "лютого" "березня" "квітня" "травня" "червня" "липня" "серпня" "вересня" "жовтня" "листопада" "грудня") + :SHORT-MONTHS '("січ" "лют" "бер" "квіт" "трав" "черв" "лип" "серп" "вер" "жовт" "лист" "груд") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("неділя" "понеділок" "вівторок" "середа" "четвер" "п'ятниця" "субота") + :SHORT-WEEKDAYS '("нд" "пн" "вт" "ср" "чт" "пт" "сб") + :ERAS '("до н.е." "після н.е.")))) + +(setf (gethash "es_SV" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "SVC") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "ru_RU" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "RUB") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Январь" "Февраль" "Март" "Апрель" "Май" "Июнь" "Июль" "Август" "Сентябрь" "Октябрь" "Ноябрь" "Декабрь") + :SHORT-MONTHS '("янв" "фев" "мар" "апр" "май" "июн" "июл" "авг" "сен" "окт" "ноя" "дек") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("воскресенье" "понедельник" "вторник" "среда" "четверг" "пятница" "суббота") + :SHORT-WEEKDAYS '("Вс" "Пн" "Вт" "Ср" "Чт" "Пт" "Сб") + :ERAS '("до н.э." "н.э.")))) + +(setf (gethash "ko_KR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "KRW") + :DATE-FORMAT (list + :AMPM '("오전" "오후") + :MONTHS '("1월" "2월" "3월" "4월" "5월" "6월" "7월" "8월" "9월" "10월" "11월" "12월") + :SHORT-MONTHS '("1월" "2월" "3월" "4월" "5월" "6월" "7월" "8월" "9월" "10월" "11월" "12월") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("일요일" "월요일" "화요일" "수요일" "목요일" "금요일" "토요일") + :SHORT-WEEKDAYS '("일" "월" "화" "수" "목" "금" "토") + :ERAS '("BC" "AD")))) + +(setf (gethash "vi" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("SA" "CH") + :MONTHS '("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") + :SHORT-MONTHS '("thg 1" "thg 2" "thg 3" "thg 4" "thg 5" "thg 6" "thg 7" "thg 8" "thg 9" "thg 10" "thg 11" "thg 12") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Chủ nhật" "Thứ hai" "Thứ ba" "Thứ tư" "Thứ năm" "Thứ sáu" "Thứ bảy") + :SHORT-WEEKDAYS '("CN" "Th 2" "Th 3" "Th 4" "Th 5" "Th 6" "Th 7") + :ERAS '("tr. CN" "sau CN")))) + +(setf (gethash "ar_DZ" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "DZD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "vi_VN" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "VND") + :DATE-FORMAT (list + :AMPM '("SA" "CH") + :MONTHS '("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") + :SHORT-MONTHS '("thg 1" "thg 2" "thg 3" "thg 4" "thg 5" "thg 6" "thg 7" "thg 8" "thg 9" "thg 10" "thg 11" "thg 12") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Chủ nhật" "Thứ hai" "Thứ ba" "Thứ tư" "Thứ năm" "Thứ sáu" "Thứ bảy") + :SHORT-WEEKDAYS '("CN" "Th 2" "Th 3" "Th 4" "Th 5" "Th 6" "Th 7") + :ERAS '("tr. CN" "sau CN")))) + +(setf (gethash "sr_ME" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("јануар" "фебруар" "март" "април" "мај" "јун" "јул" "август" "септембар" "октобар" "новембар" "децембар") + :SHORT-MONTHS '("јан" "феб" "мар" "апр" "мај" "јун" "јул" "авг" "сеп" "окт" "нов" "дец") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("недеља" "понедељак" "уторак" "среда" "четвртак" "петак" "субота") + :SHORT-WEEKDAYS '("нед" "пон" "уто" "сре" "чет" "пет" "суб") + :ERAS '("п. н. е." "н. е")))) + +(setf (gethash "sq" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("PD" "MD") + :MONTHS '("janar" "shkurt" "mars" "prill" "maj" "qershor" "korrik" "gusht" "shtator" "tetor" "nëntor" "dhjetor") + :SHORT-MONTHS '("Jan" "Shk" "Mar" "Pri" "Maj" "Qer" "Kor" "Gsh" "Sht" "Tet" "Nën" "Dhj") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("e diel" "e hënë" "e martë" "e mërkurë" "e enjte" "e premte" "e shtunë") + :SHORT-WEEKDAYS '("Die" "Hën" "Mar" "Mër" "Enj" "Pre" "Sht") + :ERAS '("p.e.r." "n.e.r.")))) + +(setf (gethash "ar_LY" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "LYD") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "ar" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "zh_CN" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "CNY") + :DATE-FORMAT (list + :AMPM '("上午" "下午") + :MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :SHORT-MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :SHORT-WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :ERAS '("公元前" "公元")))) + +(setf (gethash "be_BY" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "BYR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("студзеня" "лютага" "сакавіка" "красавіка" "мая" "чрвеня" "ліпеня" "жніўня" "верасня" "кастрычніка" "листапада" "снежня") + :SHORT-MONTHS '("стд" "лют" "скв" "крс" "май" "чрв" "лпн" "жнв" "врс" "кст" "лст" "снж") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("нядзеля" "панядзелак" "аўторак" "серада" "чацвер" "пятніца" "субота") + :SHORT-WEEKDAYS '("нд" "пн" "ат" "ср" "чц" "пт" "сб") + :ERAS '("да н.е." "н.е.")))) + +(setf (gethash "zh_HK" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "HKD") + :DATE-FORMAT (list + :AMPM '("上午" "下午") + :MONTHS '("一月" "二月" "三月" "四月" "五月" "六月" "七月" "八月" "九月" "十月" "十一月" "十二月") + :SHORT-MONTHS '("1月" "2月" "3月" "4月" "5月" "6月" "7月" "8月" "9月" "10月" "11月" "12月") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("星期日" "星期一" "星期二" "星期三" "星期四" "星期五" "星期六") + :SHORT-WEEKDAYS '("日" "一" "二" "三" "四" "五" "六") + :ERAS '("西元前" "西元")))) + +(setf (gethash "ja" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("午前" "午後") + :MONTHS '("1月" "2月" "3月" "4月" "5月" "6月" "7月" "8月" "9月" "10月" "11月" "12月") + :SHORT-MONTHS '("1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("日曜日" "月曜日" "火曜日" "水曜日" "木曜日" "金曜日" "土曜日") + :SHORT-WEEKDAYS '("日" "月" "火" "水" "木" "金" "土") + :ERAS '("紀元前" "西暦")))) + +(setf (gethash "iw_IL" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "ILS") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("ינואר" "פברואר" "מרץ" "אפריל" "מאי" "יוני" "יולי" "אוגוסט" "ספטמבר" "אוקטובר" "נובמבר" "דצמבר") + :SHORT-MONTHS '("ינו" "פבר" "מרץ" "אפר" "מאי" "יונ" "יול" "אוג" "ספט" "אוק" "נוב" "דצמ") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("יום ראשון" "יום שני" "יום שלישי" "יום רביעי" "יום חמישי" "יום שישי" "שבת") + :SHORT-WEEKDAYS '("א" "ב" "ג" "ד" "ה" "ו" "ש") + :ERAS '("לסה"נ" "לפסה"נ")))) + +(setf (gethash "bg_BG" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "BGN") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Януари" "Февруари" "Март" "Април" "Май" "Юни" "Юли" "Август" "Септември" "Октомври" "Ноември" "Декември") + :SHORT-MONTHS '("I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" "XI" "XII") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Неделя" "Понеделник" "Вторник" "Сряда" "Четвъртък" "Петък" "Събота") + :SHORT-WEEKDAYS '("Нд" "Пн" "Вт" "Ср" "Чт" "Пт" "Сб") + :ERAS '("пр.н.е." "н.е.")))) + +(setf (gethash "in" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januari" "Februari" "Maret" "April" "Mei" "Juni" "Juli" "Agustus" "September" "Oktober" "November" "Desember") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "Mei" "Jun" "Jul" "Agu" "Sep" "Okt" "Nov" "Des") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Minggu" "Senin" "Selasa" "Rabu" "Kamis" "Jumat" "Sabtu") + :SHORT-WEEKDAYS '("Min" "Sen" "Sel" "Rab" "Kam" "Jum" "Sab") + :ERAS '("BCE" "CE")))) + +(setf (gethash "mt_MT" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "MTL") + :DATE-FORMAT (list + :AMPM '("QN" "WN") + :MONTHS '("Jannar" "Frar" "Marzu" "April" "Mejju" "Ġunju" "Lulju" "Awissu" "Settembru" "Ottubru" "Novembru" "Diċembru") + :SHORT-MONTHS '("Jan" "Fra" "Mar" "Apr" "Mej" "Ġun" "Lul" "Awi" "Set" "Ott" "Nov" "Diċ") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Il-Ħadd" "It-Tnejn" "It-Tlieta" "L-Erbgħa" "Il-Ħamis" "Il-Ġimgħa" "Is-Sibt") + :SHORT-WEEKDAYS '("Ħad" "Tne" "Tli" "Erb" "Ħam" "Ġim" "Sib") + :ERAS '("QK" "WK")))) + +(setf (gethash "es_PY" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "PYG") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "sl" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januar" "februar" "marec" "april" "maj" "junij" "julij" "avgust" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "maj" "jun" "jul" "avg" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Nedelja" "Ponedeljek" "Torek" "Sreda" "Četrtek" "Petek" "Sobota") + :SHORT-WEEKDAYS '("Ned" "Pon" "Tor" "Sre" "Čet" "Pet" "Sob") + :ERAS '("pr.n.š." "po Kr.")))) + +(setf (gethash "fr_FR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("janvier" "février" "mars" "avril" "mai" "juin" "juillet" "août" "septembre" "octobre" "novembre" "décembre") + :SHORT-MONTHS '("janv." "févr." "mars" "avr." "mai" "juin" "juil." "août" "sept." "oct." "nov." "déc.") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("dimanche" "lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi") + :SHORT-WEEKDAYS '("dim." "lun." "mar." "mer." "jeu." "ven." "sam.") + :ERAS '("BC" "ap. J.-C.")))) + +(setf (gethash "cs_CZ" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "CZK") + :DATE-FORMAT (list + :AMPM '("dop." "odp.") + :MONTHS '("leden" "únor" "březen" "duben" "květen" "červen" "červenec" "srpen" "září" "říjen" "listopad" "prosinec") + :SHORT-MONTHS '("I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" "XI" "XII") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Neděle" "Pondělí" "Úterý" "Středa" "Čtvrtek" "Pátek" "Sobota") + :SHORT-WEEKDAYS '("Ne" "Po" "Út" "St" "Čt" "Pá" "So") + :ERAS '("př.Kr." "po Kr.")))) + +(setf (gethash "it_CH" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #' :DECIMAL-SEPARATOR #. "CHF") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("gennaio" "febbraio" "marzo" "aprile" "maggio" "giugno" "luglio" "agosto" "settembre" "ottobre" "novembre" "dicembre") + :SHORT-MONTHS '("gen" "feb" "mar" "apr" "mag" "giu" "lug" "ago" "set" "ott" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domenica" "lunedì" "martedì" "mercoledì" "giovedì" "venerdì" "sabato") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mer" "gio" "ven" "sab") + :ERAS '("BC" "dopo Cristo")))) + +(setf (gethash "ro_RO" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "RON") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("ianuarie" "februarie" "martie" "aprilie" "mai" "iunie" "iulie" "august" "septembrie" "octombrie" "noiembrie" "decembrie") + :SHORT-MONTHS '("Ian" "Feb" "Mar" "Apr" "Mai" "Iun" "Iul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("duminică" "luni" "marţi" "miercuri" "joi" "vineri" "sîmbătă") + :SHORT-WEEKDAYS '("D" "L" "Ma" "Mi" "J" "V" "S") + :ERAS '("d.C." "î.d.C.")))) + +(setf (gethash "es_PR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "USD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "en_CA" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "CAD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "de_DE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januar" "Februar" "März" "April" "Mai" "Juni" "Juli" "August" "September" "Oktober" "November" "Dezember") + :SHORT-MONTHS '("Jan" "Feb" "Mrz" "Apr" "Mai" "Jun" "Jul" "Aug" "Sep" "Okt" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sonntag" "Montag" "Dienstag" "Mittwoch" "Donnerstag" "Freitag" "Samstag") + :SHORT-WEEKDAYS '("So" "Mo" "Di" "Mi" "Do" "Fr" "Sa") + :ERAS '("v. Chr." "n. Chr.")))) + +(setf (gethash "ga" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("a.m." "p.m.") + :MONTHS '("Eanáir" "Feabhra" "Márta" "Aibreán" "Bealtaine" "Meitheamh" "Iúil" "Lúnasa" "Meán Fómhair" "Deireadh Fómhair" "Samhain" "Nollaig") + :SHORT-MONTHS '("Ean" "Feabh" "Márta" "Aib" "Beal" "Meith" "Iúil" "Lún" "MFómh" "DFómh" "Samh" "Noll") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Dé Domhnaigh" "Dé Luain" "Dé Máirt" "Dé Céadaoin" "Déardaoin" "Dé hAoine" "Dé Sathairn") + :SHORT-WEEKDAYS '("Domh" "Luan" "Máirt" "Céad" "Déar" "Aoine" "Sath") + :ERAS '("RC" "AD")))) + +(setf (gethash "de_LU" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "EUR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januar" "Februar" "März" "April" "Mai" "Juni" "Juli" "August" "September" "Oktober" "November" "Dezember") + :SHORT-MONTHS '("Jan" "Feb" "Mrz" "Apr" "Mai" "Jun" "Jul" "Aug" "Sep" "Okt" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sonntag" "Montag" "Dienstag" "Mittwoch" "Donnerstag" "Freitag" "Samstag") + :SHORT-WEEKDAYS '("So" "Mo" "Di" "Mi" "Do" "Fr" "Sa") + :ERAS '("v. Chr." "n. Chr.")))) + +(setf (gethash "de" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januar" "Februar" "März" "April" "Mai" "Juni" "Juli" "August" "September" "Oktober" "November" "Dezember") + :SHORT-MONTHS '("Jan" "Feb" "Mrz" "Apr" "Mai" "Jun" "Jul" "Aug" "Sep" "Okt" "Nov" "Dez") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Sonntag" "Montag" "Dienstag" "Mittwoch" "Donnerstag" "Freitag" "Samstag") + :SHORT-WEEKDAYS '("So" "Mo" "Di" "Mi" "Do" "Fr" "Sa") + :ERAS '("v. Chr." "n. Chr.")))) + +(setf (gethash "es_AR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "ARS") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) + +(setf (gethash "sk" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("január" "február" "marec" "apríl" "máj" "jún" "júl" "august" "september" "október" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "máj" "jún" "júl" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Nedeľa" "Pondelok" "Utorok" "Streda" "Štvrtok" "Piatok" "Sobota") + :SHORT-WEEKDAYS '("Ne" "Po" "Ut" "St" "Št" "Pi" "So") + :ERAS '("pred n.l." "n.l.")))) + +(setf (gethash "ms_MY" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "MYR") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januari" "Februari" "Mac" "April" "Mei" "Jun" "Julai" "Ogos" "September" "Oktober" "November" "Disember") + :SHORT-MONTHS '("Jan" "Feb" "Mac" "Apr" "Mei" "Jun" "Jul" "Ogos" "Sep" "Okt" "Nov" "Dis") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Ahad" "Isnin" "Selasa" "Rabu" "Khamis" "Jumaat" "Sabtu") + :SHORT-WEEKDAYS '("Ahd" "Isn" "Sel" "Rab" "Kha" "Jum" "Sab") + :ERAS '("BCE" "CE")))) + +(setf (gethash "hr_HR" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "HRK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("siječanj" "veljača" "ožujak" "travanj" "svibanj" "lipanj" "srpanj" "kolovoz" "rujan" "listopad" "studeni" "prosinac") + :SHORT-MONTHS '("sij" "vel" "ožu" "tra" "svi" "lip" "srp" "kol" "ruj" "lis" "stu" "pro") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("nedjelja" "ponedjeljak" "utorak" "srijeda" "četvrtak" "petak" "subota") + :SHORT-WEEKDAYS '("ned" "pon" "uto" "sri" "čet" "pet" "sub") + :ERAS '("BC" "AD")))) + +(setf (gethash "en_SG" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "SGD") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + :SHORT-MONTHS '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") + :SHORT-WEEKDAYS '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat") + :ERAS '("BC" "AD")))) + +(setf (gethash "da" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januar" "februar" "marts" "april" "maj" "juni" "juli" "august" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "maj" "jun" "jul" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("søndag" "mandag" "tirsdag" "onsdag" "torsdag" "fredag" "lørdag") + :SHORT-WEEKDAYS '("sø" "ma" "ti" "on" "to" "fr" "lø") + :ERAS '("BC" "AD")))) + +(setf (gethash "mt" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("QN" "WN") + :MONTHS '("Jannar" "Frar" "Marzu" "April" "Mejju" "Ġunju" "Lulju" "Awissu" "Settembru" "Ottubru" "Novembru" "Diċembru") + :SHORT-MONTHS '("Jan" "Fra" "Mar" "Apr" "Mej" "Ġun" "Lul" "Awi" "Set" "Ott" "Nov" "Diċ") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Il-Ħadd" "It-Tnejn" "It-Tlieta" "L-Erbgħa" "Il-Ħamis" "Il-Ġimgħa" "Is-Sibt") + :SHORT-WEEKDAYS '("Ħad" "Tne" "Tli" "Erb" "Ħam" "Ġim" "Sib") + :ERAS '("QK" "WK")))) + +(setf (gethash "pl" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("styczeń" "luty" "marzec" "kwiecień" "maj" "czerwiec" "lipiec" "sierpień" "wrzesień" "październik" "listopad" "grudzień") + :SHORT-MONTHS '("sty" "lut" "mar" "kwi" "maj" "cze" "lip" "sie" "wrz" "paź" "lis" "gru") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("niedziela" "poniedziałek" "wtorek" "środa" "czwartek" "piątek" "sobota") + :SHORT-WEEKDAYS '("N" "Pn" "Wt" "Śr" "Cz" "Pt" "So") + :ERAS '("p.n.e." "n.e.")))) + +(setf (gethash "ar_OM" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "OMR") + :DATE-FORMAT (list + :AMPM '("ص" "م") + :MONTHS '("يناير" "فبراير" "مارس" "أبريل" "مايو" "يونيو" "يوليو" "أغسطس" "سبتمبر" "أكتوبر" "نوفمبر" "ديسمبر") + :SHORT-MONTHS '("ينا" "فبر" "مار" "أبر" "ماي" "يون" "يول" "أغس" "سبت" "أكت" "نوف" "ديس") + :FIRST-DAY-OF-THE-WEEK 7 + :WEEKDAYS '("الأحد" "الاثنين" "الثلاثاء" "الأربعاء" "الخميس" "الجمعة" "السبت") + :SHORT-WEEKDAYS '("ح" "ن" "ث" "ر" "خ" "ج" "س") + :ERAS '("ق.م" "م")))) + +(setf (gethash "tr" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Ocak" "Şubat" "Mart" "Nisan" "Mayıs" "Haziran" "Temmuz" "Ağustos" "Eylül" "Ekim" "Kasım" "Aralık") + :SHORT-MONTHS '("Oca" "Şub" "Mar" "Nis" "May" "Haz" "Tem" "Ağu" "Eyl" "Eki" "Kas" "Ara") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Pazar" "Pazartesi" "Salı" "Çarşamba" "Perşembe" "Cuma" "Cumartesi") + :SHORT-WEEKDAYS '("Paz" "Pzt" "Sal" "Çar" "Per" "Cum" "Cmt") + :ERAS '("BC" "AD")))) + +(setf (gethash "th_TH" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "THB") + :DATE-FORMAT (list + :AMPM '("ก่อนเที่ยง" "หลังเที่ยง") + :MONTHS '("มกราคม" "กุมภาพันธ์" "มีนาคม" "เมษายน" "พฤษภาคม" "มิถุนายน" "กรกฎาคม" "สิงหาคม" "กันยายน" "ตุลาคม" "พฤศจิกายน" "ธันวาคม") + :SHORT-MONTHS '("ม.ค." "ก.พ." "มี.ค." "เม.ย." "พ.ค." "มิ.ย." "ก.ค." "ส.ค." "ก.ย." "ต.ค." "พ.ย." "ธ.ค.") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("วันอาทิตย์" "วันจันทร์" "วันอังคาร" "วันพุธ" "วันพฤหัสบดี" "วันศุกร์" "วันเสาร์") + :SHORT-WEEKDAYS '("อา." "จ." "อ." "พ." "พฤ." "ศ." "ส.") + :ERAS '("ปีก่อนคริสต์กาลที่" "ค.ศ.")))) + +(setf (gethash "el" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "XXX") + :DATE-FORMAT (list + :AMPM '("πμ" "μμ") + :MONTHS '("Ιανουάριος" "Φεβρουάριος" "Μάρτιος" "Απρίλιος" "Μάϊος" "Ιούνιος" "Ιούλιος" "Αύγουστος" "Σεπτέμβριος" "Οκτώβριος" "Νοέμβριος" "Δεκέμβριος") + :SHORT-MONTHS '("Ιαν" "Φεβ" "Μαρ" "Απρ" "Μαϊ" "Ιουν" "Ιουλ" "Αυγ" "Σεπ" "Οκτ" "Νοε" "Δεκ") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("Κυριακή" "Δευτέρα" "Τρίτη" "Τετάρτη" "Πέμπτη" "Παρασκευή" "Σάββατο") + :SHORT-WEEKDAYS '("Κυρ" "Δευ" "Τρι" "Τετ" "Πεμ" "Παρ" "Σαβ") + :ERAS '("BC" "AD")))) + +(setf (gethash "ms" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "XXX") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("Januari" "Februari" "Mac" "April" "Mei" "Jun" "Julai" "Ogos" "September" "Oktober" "November" "Disember") + :SHORT-MONTHS '("Jan" "Feb" "Mac" "Apr" "Mei" "Jun" "Jul" "Ogos" "Sep" "Okt" "Nov" "Dis") + :FIRST-DAY-OF-THE-WEEK 1 + :WEEKDAYS '("Ahad" "Isnin" "Selasa" "Rabu" "Khamis" "Jumaat" "Sabtu") + :SHORT-WEEKDAYS '("Ahd" "Isn" "Sel" "Rab" "Kha" "Jum" "Sab") + :ERAS '("BCE" "CE")))) + +(setf (gethash "sv_SE" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #\ :DECIMAL-SEPARATOR #, "SEK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januari" "februari" "mars" "april" "maj" "juni" "juli" "augusti" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "maj" "jun" "jul" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("söndag" "måndag" "tisdag" "onsdag" "torsdag" "fredag" "lördag") + :SHORT-WEEKDAYS '("sö" "må" "ti" "on" "to" "fr" "lö") + :ERAS '("BC" "AD")))) + +(setf (gethash "da_DK" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #. :DECIMAL-SEPARATOR #, "DKK") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("januar" "februar" "marts" "april" "maj" "juni" "juli" "august" "september" "oktober" "november" "december") + :SHORT-MONTHS '("jan" "feb" "mar" "apr" "maj" "jun" "jul" "aug" "sep" "okt" "nov" "dec") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("søndag" "mandag" "tirsdag" "onsdag" "torsdag" "fredag" "lørdag") + :SHORT-WEEKDAYS '("sø" "ma" "ti" "on" "to" "fr" "lø") + :ERAS '("BC" "AD")))) + +(setf (gethash "es_HN" *locales*) + (list + :NUMBER-FORMAT (list :GROUPING-SEPARATOR #, :DECIMAL-SEPARATOR #. "HNL") + :DATE-FORMAT (list + :AMPM '("AM" "PM") + :MONTHS '("enero" "febrero" "marzo" "abril" "mayo" "junio" "julio" "agosto" "septiembre" "octubre" "noviembre" "diciembre") + :SHORT-MONTHS '("ene" "feb" "mar" "abr" "may" "jun" "jul" "ago" "sep" "oct" "nov" "dic") + :FIRST-DAY-OF-THE-WEEK 2 + :WEEKDAYS '("domingo" "lunes" "martes" "miércoles" "jueves" "viernes" "sábado") + :SHORT-WEEKDAYS '("dom" "lun" "mar" "mié" "jue" "vie" "sáb") + :ERAS '("BC" "AD")))) +
Added: trunk/main/claw.i18n/src/packages.lisp ============================================================================== --- (empty file) +++ trunk/main/claw.i18n/src/packages.lisp Fri Jul 25 11:20:31 2008 @@ -0,0 +1,51 @@ +;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*- +;;; $Header: src/package.lisp $ + +;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved. + +;;; Redistribution and use in source and binary forms, with or without +;;; modification, are permitted provided that the following conditions +;;; are met: + +;;; * Redistributions of source code must retain the above copyright +;;; notice, this list of conditions and the following disclaimer. + +;;; * Redistributions in binary form must reproduce the above +;;; copyright notice, this list of conditions and the following +;;; disclaimer in the documentation and/or other materials +;;; provided with the distribution. + +;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED +;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(in-package :cl-user) + + +(defpackage :claw.i18n + (:use :cl :claw :local-time) + (:shadow :flatten) + (:documentation "A service for CLAW application server, that performs internationalization (i18n)") + (:export #:number-format-grouping-separator + #:number-format-decimal-separator + #:ampm + #:monthes + #:short-monthes + #:first-day-of-the-week + #:weekdays + #:short-weekdays + #:eras + #:*message-dispatcher* + #:message-dispatcher + #:message-dispatch + #:do-message + #:simple-message-dispatcher + #:simple-message-dispatcher-add-message)) \ No newline at end of file