summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/conf/locale/ar/__init__.py0
-rw-r--r--django/conf/locale/ar/formats.py14
-rw-r--r--django/conf/locale/bg/__init__.py0
-rw-r--r--django/conf/locale/bg/formats.py14
-rw-r--r--django/conf/locale/bn/__init__.py0
-rw-r--r--django/conf/locale/bn/formats.py14
-rw-r--r--django/conf/locale/ca/formats.py16
-rw-r--r--django/conf/locale/cs/__init__.py0
-rw-r--r--django/conf/locale/cs/formats.py14
-rw-r--r--django/conf/locale/cy/__init__.py0
-rw-r--r--django/conf/locale/cy/formats.py14
-rw-r--r--django/conf/locale/da/__init__.py0
-rw-r--r--django/conf/locale/da/formats.py14
-rw-r--r--django/conf/locale/de/__init__.py0
-rw-r--r--django/conf/locale/de/formats.py14
-rw-r--r--django/conf/locale/el/__init__.py0
-rw-r--r--django/conf/locale/el/formats.py14
-rw-r--r--django/conf/locale/en/formats.py18
-rw-r--r--django/conf/locale/es/__init__.py0
-rw-r--r--django/conf/locale/es/formats.py14
-rw-r--r--django/conf/locale/es_AR/__init__.py0
-rw-r--r--django/conf/locale/es_AR/formats.py14
-rw-r--r--django/conf/locale/et/__init__.py0
-rw-r--r--django/conf/locale/et/formats.py14
-rw-r--r--django/conf/locale/eu/__init__.py0
-rw-r--r--django/conf/locale/eu/formats.py14
-rw-r--r--django/conf/locale/fa/__init__.py0
-rw-r--r--django/conf/locale/fa/formats.py14
-rw-r--r--django/conf/locale/fi/__init__.py0
-rw-r--r--django/conf/locale/fi/formats.py14
-rw-r--r--django/conf/locale/fr/__init__.py0
-rw-r--r--django/conf/locale/fr/formats.py14
-rw-r--r--django/conf/locale/ga/__init__.py0
-rw-r--r--django/conf/locale/ga/formats.py14
-rw-r--r--django/conf/locale/gl/__init__.py0
-rw-r--r--django/conf/locale/gl/formats.py14
-rw-r--r--django/conf/locale/he/__init__.py0
-rw-r--r--django/conf/locale/he/formats.py14
-rw-r--r--django/conf/locale/hi/__init__.py0
-rw-r--r--django/conf/locale/hi/formats.py14
-rw-r--r--django/conf/locale/hr/__init__.py0
-rw-r--r--django/conf/locale/hr/formats.py14
-rw-r--r--django/conf/locale/hu/__init__.py0
-rw-r--r--django/conf/locale/hu/formats.py14
-rw-r--r--django/conf/locale/is/__init__.py0
-rw-r--r--django/conf/locale/is/formats.py14
-rw-r--r--django/conf/locale/it/__init__.py0
-rw-r--r--django/conf/locale/it/formats.py14
-rw-r--r--django/conf/locale/ja/__init__.py0
-rw-r--r--django/conf/locale/ja/formats.py14
-rw-r--r--django/conf/locale/ka/__init__.py0
-rw-r--r--django/conf/locale/ka/formats.py14
-rw-r--r--django/conf/locale/km/__init__.py0
-rw-r--r--django/conf/locale/km/formats.py14
-rw-r--r--django/conf/locale/kn/__init__.py0
-rw-r--r--django/conf/locale/kn/formats.py14
-rw-r--r--django/conf/locale/ko/__init__.py0
-rw-r--r--django/conf/locale/ko/formats.py14
-rw-r--r--django/conf/locale/lt/__init__.py0
-rw-r--r--django/conf/locale/lt/formats.py14
-rw-r--r--django/conf/locale/lv/__init__.py0
-rw-r--r--django/conf/locale/lv/formats.py14
-rw-r--r--django/conf/locale/mk/__init__.py0
-rw-r--r--django/conf/locale/mk/formats.py14
-rw-r--r--django/conf/locale/nl/__init__.py0
-rw-r--r--django/conf/locale/nl/formats.py14
-rw-r--r--django/conf/locale/no/__init__.py0
-rw-r--r--django/conf/locale/no/formats.py14
-rw-r--r--django/conf/locale/pl/__init__.py0
-rw-r--r--django/conf/locale/pl/formats.py14
-rw-r--r--django/conf/locale/pt/__init__.py0
-rw-r--r--django/conf/locale/pt/formats.py14
-rw-r--r--django/conf/locale/pt_BR/__init__.py0
-rw-r--r--django/conf/locale/pt_BR/formats.py14
-rw-r--r--django/conf/locale/ro/__init__.py0
-rw-r--r--django/conf/locale/ro/formats.py14
-rw-r--r--django/conf/locale/ru/__init__.py0
-rw-r--r--django/conf/locale/ru/formats.py14
-rw-r--r--django/conf/locale/sk/__init__.py0
-rw-r--r--django/conf/locale/sk/formats.py14
-rw-r--r--django/conf/locale/sl/__init__.py0
-rw-r--r--django/conf/locale/sl/formats.py14
-rw-r--r--django/conf/locale/sr/__init__.py0
-rw-r--r--django/conf/locale/sr/formats.py14
-rw-r--r--django/conf/locale/sv/__init__.py0
-rw-r--r--django/conf/locale/sv/formats.py14
-rw-r--r--django/conf/locale/ta/__init__.py0
-rw-r--r--django/conf/locale/ta/formats.py14
-rw-r--r--django/conf/locale/te/__init__.py0
-rw-r--r--django/conf/locale/te/formats.py14
-rw-r--r--django/conf/locale/th/__init__.py0
-rw-r--r--django/conf/locale/th/formats.py14
-rw-r--r--django/conf/locale/tr/__init__.py0
-rw-r--r--django/conf/locale/tr/formats.py14
-rw-r--r--django/conf/locale/uk/__init__.py0
-rw-r--r--django/conf/locale/uk/formats.py14
-rw-r--r--django/conf/locale/zh_CN/__init__.py0
-rw-r--r--django/conf/locale/zh_CN/formats.py14
-rw-r--r--django/conf/locale/zh_TW/__init__.py0
-rw-r--r--django/conf/locale/zh_TW/formats.py14
-rw-r--r--django/core/management/commands/importcldr.py237
101 files changed, 936 insertions, 21 deletions
diff --git a/django/conf/locale/ar/__init__.py b/django/conf/locale/ar/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ar/__init__.py
diff --git a/django/conf/locale/ar/formats.py b/django/conf/locale/ar/formats.py
new file mode 100644
index 0000000000..3a6cd8b2ef
--- /dev/null
+++ b/django/conf/locale/ar/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F، Y'
+TIME_FORMAT = 'g:i:s A'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd‏/m‏/Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/bg/__init__.py b/django/conf/locale/bg/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/bg/__init__.py
diff --git a/django/conf/locale/bg/formats.py b/django/conf/locale/bg/formats.py
new file mode 100644
index 0000000000..8c16c5f45f
--- /dev/null
+++ b/django/conf/locale/bg/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd.m.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/bn/__init__.py b/django/conf/locale/bn/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/bn/__init__.py
diff --git a/django/conf/locale/bn/formats.py b/django/conf/locale/bn/formats.py
new file mode 100644
index 0000000000..3824b1d6dd
--- /dev/null
+++ b/django/conf/locale/bn/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F, Y'
+TIME_FORMAT = 'g:i:s A'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M, Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ca/formats.py b/django/conf/locale/ca/formats.py
index cc8a494f7c..3bc7984eba 100644
--- a/django/conf/locale/ca/formats.py
+++ b/django/conf/locale/ca/formats.py
@@ -2,17 +2,13 @@
#
DATE_FORMAT = 'j \de F \de Y'
-DATETIME_FORMAT = 'j \de F \de Y \\a \le\s H:i'
-TIME_FORMAT = 'H:i'
-YEAR_MONTH_FORMAT = 'F \de Y'
+TIME_FORMAT = 'G:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F \de\l Y'
MONTH_DAY_FORMAT = 'j \de F'
-
SHORT_DATE_FORMAT = 'd/m/Y'
-SHORT_DATETIME_FORMAT = 'd/m/Y H:i'
-
-FIRST_DAY_OF_WEEK = 1 # 0 means Sunday
-
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
DECIMAL_SEPARATOR = ','
THOUSAND_SEPARATOR = '.'
-NUMBER_GROUPING = 3
-
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/cs/__init__.py b/django/conf/locale/cs/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/cs/__init__.py
diff --git a/django/conf/locale/cs/formats.py b/django/conf/locale/cs/formats.py
new file mode 100644
index 0000000000..107c718915
--- /dev/null
+++ b/django/conf/locale/cs/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j. F Y'
+TIME_FORMAT = 'G:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'j.n.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/cy/__init__.py b/django/conf/locale/cy/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/cy/__init__.py
diff --git a/django/conf/locale/cy/formats.py b/django/conf/locale/cy/formats.py
new file mode 100644
index 0000000000..ac95ecc107
--- /dev/null
+++ b/django/conf/locale/cy/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd F Y'
+TIME_FORMAT = 'g:i:s A'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+SHORT_DATE_FORMAT = 'j M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/da/__init__.py b/django/conf/locale/da/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/da/__init__.py
diff --git a/django/conf/locale/da/formats.py b/django/conf/locale/da/formats.py
new file mode 100644
index 0000000000..d9fd00936d
--- /dev/null
+++ b/django/conf/locale/da/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j. M Y'
+TIME_FORMAT = 'H.i.s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'd/m/Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/de/__init__.py b/django/conf/locale/de/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/de/__init__.py
diff --git a/django/conf/locale/de/formats.py b/django/conf/locale/de/formats.py
new file mode 100644
index 0000000000..f046030538
--- /dev/null
+++ b/django/conf/locale/de/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j. F Y'
+TIME_FORMAT = 'H:i:s'
+DATETIME_FORMAT = 'j. F Y H:i:s'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'd.m.Y'
+SHORT_DATETIME_FORMAT = 'd.m.Y H:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/el/__init__.py b/django/conf/locale/el/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/el/__init__.py
diff --git a/django/conf/locale/el/formats.py b/django/conf/locale/el/formats.py
new file mode 100644
index 0000000000..d73e604f2a
--- /dev/null
+++ b/django/conf/locale/el/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd F Y'
+TIME_FORMAT = 'g:i:s A'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/en/formats.py b/django/conf/locale/en/formats.py
index 670245c3ce..61e0ca333e 100644
--- a/django/conf/locale/en/formats.py
+++ b/django/conf/locale/en/formats.py
@@ -1,18 +1,14 @@
# This file is distributed under the same license as the Django package.
#
-DATE_FORMAT = 'N j, Y'
-DATETIME_FORMAT = 'N j, Y, P'
-TIME_FORMAT = 'P'
+DATE_FORMAT = 'F j, Y'
+TIME_FORMAT = 'g:i:s A'
+DATETIME_FORMAT = 'F j, Y g:i:s A'
YEAR_MONTH_FORMAT = 'F Y'
MONTH_DAY_FORMAT = 'F j'
-
-SHORT_DATE_FORMAT = 'm/d/Y'
-SHORT_DATETIME_FORMAT = 'm/d/Y h:i A'
-
-FIRST_DAY_OF_WEEK = 0 # 0 means Sunday
-
+SHORT_DATE_FORMAT = 'M j, Y'
+SHORT_DATETIME_FORMAT = 'M j, Y g:i:s A'
+# FIRST_DAY_OF_WEEK =
DECIMAL_SEPARATOR = '.'
THOUSAND_SEPARATOR = ','
-
-
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/es/__init__.py b/django/conf/locale/es/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/es/__init__.py
diff --git a/django/conf/locale/es/formats.py b/django/conf/locale/es/formats.py
new file mode 100644
index 0000000000..34cbd4b96b
--- /dev/null
+++ b/django/conf/locale/es/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j \de F \de Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F \de Y'
+MONTH_DAY_FORMAT = 'j \de F'
+SHORT_DATE_FORMAT = 'd/m/Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/es_AR/__init__.py b/django/conf/locale/es_AR/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/es_AR/__init__.py
diff --git a/django/conf/locale/es_AR/formats.py b/django/conf/locale/es_AR/formats.py
new file mode 100644
index 0000000000..8dfd1efed2
--- /dev/null
+++ b/django/conf/locale/es_AR/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+# DATE_FORMAT =
+# TIME_FORMAT =
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+# SHORT_DATE_FORMAT =
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/et/__init__.py b/django/conf/locale/et/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/et/__init__.py
diff --git a/django/conf/locale/et/formats.py b/django/conf/locale/et/formats.py
new file mode 100644
index 0000000000..875b6cf4b1
--- /dev/null
+++ b/django/conf/locale/et/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'G:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd.m.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/eu/__init__.py b/django/conf/locale/eu/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/eu/__init__.py
diff --git a/django/conf/locale/eu/formats.py b/django/conf/locale/eu/formats.py
new file mode 100644
index 0000000000..4ba01d39de
--- /dev/null
+++ b/django/conf/locale/eu/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'Yeko M\re\n d\a'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+SHORT_DATE_FORMAT = 'Y M j'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/fa/__init__.py b/django/conf/locale/fa/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/fa/__init__.py
diff --git a/django/conf/locale/fa/formats.py b/django/conf/locale/fa/formats.py
new file mode 100644
index 0000000000..3f4ecec5ba
--- /dev/null
+++ b/django/conf/locale/fa/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'G:i:s'
+DATETIME_FORMAT = 'j F Y، ساعت G:i:s'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'Y/n/j'
+SHORT_DATETIME_FORMAT = 'Y/n/j،‏ G:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/fi/__init__.py b/django/conf/locale/fi/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/fi/__init__.py
diff --git a/django/conf/locale/fi/formats.py b/django/conf/locale/fi/formats.py
new file mode 100644
index 0000000000..75ea8089e6
--- /dev/null
+++ b/django/conf/locale/fi/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j. F Y'
+TIME_FORMAT = 'G.i.s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'j.n.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/fr/__init__.py b/django/conf/locale/fr/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/fr/__init__.py
diff --git a/django/conf/locale/fr/formats.py b/django/conf/locale/fr/formats.py
new file mode 100644
index 0000000000..22218cc42a
--- /dev/null
+++ b/django/conf/locale/fr/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'H:i:s'
+DATETIME_FORMAT = 'j F Y H:i:s'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+SHORT_DATETIME_FORMAT = 'j M Y H:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ga/__init__.py b/django/conf/locale/ga/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ga/__init__.py
diff --git a/django/conf/locale/ga/formats.py b/django/conf/locale/ga/formats.py
new file mode 100644
index 0000000000..36ffb8ba13
--- /dev/null
+++ b/django/conf/locale/ga/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/gl/__init__.py b/django/conf/locale/gl/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/gl/__init__.py
diff --git a/django/conf/locale/gl/formats.py b/django/conf/locale/gl/formats.py
new file mode 100644
index 0000000000..733de83f92
--- /dev/null
+++ b/django/conf/locale/gl/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M, Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/he/__init__.py b/django/conf/locale/he/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/he/__init__.py
diff --git a/django/conf/locale/he/formats.py b/django/conf/locale/he/formats.py
new file mode 100644
index 0000000000..23fb0fcd37
--- /dev/null
+++ b/django/conf/locale/he/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j בF Y'
+TIME_FORMAT = 'H:i:s'
+DATETIME_FORMAT = 'j בF Y H:i:s'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j בF'
+SHORT_DATE_FORMAT = 'd/m/Y'
+SHORT_DATETIME_FORMAT = 'd/m/Y H:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/hi/__init__.py b/django/conf/locale/hi/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/hi/__init__.py
diff --git a/django/conf/locale/hi/formats.py b/django/conf/locale/hi/formats.py
new file mode 100644
index 0000000000..b8b2b0dab8
--- /dev/null
+++ b/django/conf/locale/hi/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'g:i:s A'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd-m-Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/hr/__init__.py b/django/conf/locale/hr/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/hr/__init__.py
diff --git a/django/conf/locale/hr/formats.py b/django/conf/locale/hr/formats.py
new file mode 100644
index 0000000000..3069e99d17
--- /dev/null
+++ b/django/conf/locale/hr/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j. F Y.'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y.'
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'j.n.Y.'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/hu/__init__.py b/django/conf/locale/hu/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/hu/__init__.py
diff --git a/django/conf/locale/hu/formats.py b/django/conf/locale/hu/formats.py
new file mode 100644
index 0000000000..9fb4b216b9
--- /dev/null
+++ b/django/conf/locale/hu/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'Y. F j.'
+TIME_FORMAT = 'G:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'F j.'
+SHORT_DATE_FORMAT = 'Y.m.d.'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/is/__init__.py b/django/conf/locale/is/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/is/__init__.py
diff --git a/django/conf/locale/is/formats.py b/django/conf/locale/is/formats.py
new file mode 100644
index 0000000000..15e14138df
--- /dev/null
+++ b/django/conf/locale/is/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j. F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'j.n.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/it/__init__.py b/django/conf/locale/it/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/it/__init__.py
diff --git a/django/conf/locale/it/formats.py b/django/conf/locale/it/formats.py
new file mode 100644
index 0000000000..669b256c7b
--- /dev/null
+++ b/django/conf/locale/it/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd F Y'
+TIME_FORMAT = 'H.i.s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd/M/Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ja/__init__.py b/django/conf/locale/ja/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ja/__init__.py
diff --git a/django/conf/locale/ja/formats.py b/django/conf/locale/ja/formats.py
new file mode 100644
index 0000000000..cb9ed3006c
--- /dev/null
+++ b/django/conf/locale/ja/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'Y年n月j日'
+TIME_FORMAT = 'G:i:s'
+DATETIME_FORMAT = 'Y年n月j日G:i:s'
+YEAR_MONTH_FORMAT = 'Y年n月'
+MONTH_DAY_FORMAT = 'n月j日'
+SHORT_DATE_FORMAT = 'Y/m/d'
+SHORT_DATETIME_FORMAT = 'Y/m/d G:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ka/__init__.py b/django/conf/locale/ka/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ka/__init__.py
diff --git a/django/conf/locale/ka/formats.py b/django/conf/locale/ka/formats.py
new file mode 100644
index 0000000000..2a867bc798
--- /dev/null
+++ b/django/conf/locale/ka/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'Y F j'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+SHORT_DATE_FORMAT = 'Y M j'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/km/__init__.py b/django/conf/locale/km/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/km/__init__.py
diff --git a/django/conf/locale/km/formats.py b/django/conf/locale/km/formats.py
new file mode 100644
index 0000000000..cf1046a42f
--- /dev/null
+++ b/django/conf/locale/km/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j ខែ F ឆ្នាំ Y'
+TIME_FORMAT = 'G:i:s'
+DATETIME_FORMAT = 'j ខែ F ឆ្នាំ Y, G:i:s'
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+SHORT_DATETIME_FORMAT = 'j M Y, G:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/kn/__init__.py b/django/conf/locale/kn/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/kn/__init__.py
diff --git a/django/conf/locale/kn/formats.py b/django/conf/locale/kn/formats.py
new file mode 100644
index 0000000000..bace88f422
--- /dev/null
+++ b/django/conf/locale/kn/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'h:i:s A'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ko/__init__.py b/django/conf/locale/ko/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ko/__init__.py
diff --git a/django/conf/locale/ko/formats.py b/django/conf/locale/ko/formats.py
new file mode 100644
index 0000000000..d092cd3383
--- /dev/null
+++ b/django/conf/locale/ko/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'Y년 n월 j일'
+TIME_FORMAT = 'A g:i:s'
+DATETIME_FORMAT = 'Y년 n월 j일A g:i:s'
+YEAR_MONTH_FORMAT = 'Y년 F'
+MONTH_DAY_FORMAT = 'F j일'
+SHORT_DATE_FORMAT = 'Y. n. j.'
+SHORT_DATETIME_FORMAT = 'Y. n. j. A g:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/lt/__init__.py b/django/conf/locale/lt/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/lt/__init__.py
diff --git a/django/conf/locale/lt/formats.py b/django/conf/locale/lt/formats.py
new file mode 100644
index 0000000000..ea109595e0
--- /dev/null
+++ b/django/conf/locale/lt/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'Y \m. F j \d.'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+SHORT_DATE_FORMAT = 'Y.m.d'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/lv/__init__.py b/django/conf/locale/lv/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/lv/__init__.py
diff --git a/django/conf/locale/lv/formats.py b/django/conf/locale/lv/formats.py
new file mode 100644
index 0000000000..895c5f60f5
--- /dev/null
+++ b/django/conf/locale/lv/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'Y. \g\a\d\a j. F'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'Y. \g. F'
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'Y. \g\a\d\a j. M'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/mk/__init__.py b/django/conf/locale/mk/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/mk/__init__.py
diff --git a/django/conf/locale/mk/formats.py b/django/conf/locale/mk/formats.py
new file mode 100644
index 0000000000..0610df2bb9
--- /dev/null
+++ b/django/conf/locale/mk/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+SHORT_DATE_FORMAT = 'd.n.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/nl/__init__.py b/django/conf/locale/nl/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/nl/__init__.py
diff --git a/django/conf/locale/nl/formats.py b/django/conf/locale/nl/formats.py
new file mode 100644
index 0000000000..a6ae83f691
--- /dev/null
+++ b/django/conf/locale/nl/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/no/__init__.py b/django/conf/locale/no/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/no/__init__.py
diff --git a/django/conf/locale/no/formats.py b/django/conf/locale/no/formats.py
new file mode 100644
index 0000000000..8dfd1efed2
--- /dev/null
+++ b/django/conf/locale/no/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+# DATE_FORMAT =
+# TIME_FORMAT =
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+# SHORT_DATE_FORMAT =
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/pl/__init__.py b/django/conf/locale/pl/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/pl/__init__.py
diff --git a/django/conf/locale/pl/formats.py b/django/conf/locale/pl/formats.py
new file mode 100644
index 0000000000..30fec1f4ca
--- /dev/null
+++ b/django/conf/locale/pl/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd-m-Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/pt/__init__.py b/django/conf/locale/pt/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/pt/__init__.py
diff --git a/django/conf/locale/pt/formats.py b/django/conf/locale/pt/formats.py
new file mode 100644
index 0000000000..34cbd4b96b
--- /dev/null
+++ b/django/conf/locale/pt/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j \de F \de Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F \de Y'
+MONTH_DAY_FORMAT = 'j \de F'
+SHORT_DATE_FORMAT = 'd/m/Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/pt_BR/__init__.py b/django/conf/locale/pt_BR/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/pt_BR/__init__.py
diff --git a/django/conf/locale/pt_BR/formats.py b/django/conf/locale/pt_BR/formats.py
new file mode 100644
index 0000000000..8dfd1efed2
--- /dev/null
+++ b/django/conf/locale/pt_BR/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+# DATE_FORMAT =
+# TIME_FORMAT =
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+# SHORT_DATE_FORMAT =
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ro/__init__.py b/django/conf/locale/ro/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ro/__init__.py
diff --git a/django/conf/locale/ro/formats.py b/django/conf/locale/ro/formats.py
new file mode 100644
index 0000000000..32861e94b4
--- /dev/null
+++ b/django/conf/locale/ro/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'H:i:s'
+DATETIME_FORMAT = 'j F Y, H:i:s'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd.m.Y'
+SHORT_DATETIME_FORMAT = 'd.m.Y, H:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ru/__init__.py b/django/conf/locale/ru/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ru/__init__.py
diff --git a/django/conf/locale/ru/formats.py b/django/conf/locale/ru/formats.py
new file mode 100644
index 0000000000..b89daaf90d
--- /dev/null
+++ b/django/conf/locale/ru/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y г.'
+TIME_FORMAT = 'G:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'd.m.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/sk/__init__.py b/django/conf/locale/sk/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/sk/__init__.py
diff --git a/django/conf/locale/sk/formats.py b/django/conf/locale/sk/formats.py
new file mode 100644
index 0000000000..b0e3b678ec
--- /dev/null
+++ b/django/conf/locale/sk/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j. F Y'
+TIME_FORMAT = 'G:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'j.n.Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/sl/__init__.py b/django/conf/locale/sl/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/sl/__init__.py
diff --git a/django/conf/locale/sl/formats.py b/django/conf/locale/sl/formats.py
new file mode 100644
index 0000000000..cc5e0b2297
--- /dev/null
+++ b/django/conf/locale/sl/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd. F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j. F'
+SHORT_DATE_FORMAT = 'j. M. Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/sr/__init__.py b/django/conf/locale/sr/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/sr/__init__.py
diff --git a/django/conf/locale/sr/formats.py b/django/conf/locale/sr/formats.py
new file mode 100644
index 0000000000..53f04ea370
--- /dev/null
+++ b/django/conf/locale/sr/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd. F Y.'
+TIME_FORMAT = 'H.i.s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'Y F'
+MONTH_DAY_FORMAT = 'F j.'
+SHORT_DATE_FORMAT = 'd.m.Y.'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/sv/__init__.py b/django/conf/locale/sv/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/sv/__init__.py
diff --git a/django/conf/locale/sv/formats.py b/django/conf/locale/sv/formats.py
new file mode 100644
index 0000000000..ac69dfde41
--- /dev/null
+++ b/django/conf/locale/sv/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'H.i.s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'Y F'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/ta/__init__.py b/django/conf/locale/ta/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/ta/__init__.py
diff --git a/django/conf/locale/ta/formats.py b/django/conf/locale/ta/formats.py
new file mode 100644
index 0000000000..3be06333f0
--- /dev/null
+++ b/django/conf/locale/ta/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F, Y'
+TIME_FORMAT = 'g:i:s A'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M, Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/te/__init__.py b/django/conf/locale/te/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/te/__init__.py
diff --git a/django/conf/locale/te/formats.py b/django/conf/locale/te/formats.py
new file mode 100644
index 0000000000..bf236b58c1
--- /dev/null
+++ b/django/conf/locale/te/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'g:i:s A'
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/th/__init__.py b/django/conf/locale/th/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/th/__init__.py
diff --git a/django/conf/locale/th/formats.py b/django/conf/locale/th/formats.py
new file mode 100644
index 0000000000..58b5d12ffc
--- /dev/null
+++ b/django/conf/locale/th/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y'
+TIME_FORMAT = 'G:i:s'
+DATETIME_FORMAT = 'j F Y, G:i:s'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+SHORT_DATETIME_FORMAT = 'j M Y, G:i:s'
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/tr/__init__.py b/django/conf/locale/tr/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/tr/__init__.py
diff --git a/django/conf/locale/tr/formats.py b/django/conf/locale/tr/formats.py
new file mode 100644
index 0000000000..aeaaf08bea
--- /dev/null
+++ b/django/conf/locale/tr/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'd F Y'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'd F'
+SHORT_DATE_FORMAT = 'd M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '.'
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/uk/__init__.py b/django/conf/locale/uk/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/uk/__init__.py
diff --git a/django/conf/locale/uk/formats.py b/django/conf/locale/uk/formats.py
new file mode 100644
index 0000000000..510449cbc8
--- /dev/null
+++ b/django/conf/locale/uk/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+DATE_FORMAT = 'j F Y р.'
+TIME_FORMAT = 'H:i:s'
+# DATETIME_FORMAT =
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j M Y'
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = ' '
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/zh_CN/__init__.py b/django/conf/locale/zh_CN/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/zh_CN/__init__.py
diff --git a/django/conf/locale/zh_CN/formats.py b/django/conf/locale/zh_CN/formats.py
new file mode 100644
index 0000000000..8dfd1efed2
--- /dev/null
+++ b/django/conf/locale/zh_CN/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+# DATE_FORMAT =
+# TIME_FORMAT =
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+# SHORT_DATE_FORMAT =
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/conf/locale/zh_TW/__init__.py b/django/conf/locale/zh_TW/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/conf/locale/zh_TW/__init__.py
diff --git a/django/conf/locale/zh_TW/formats.py b/django/conf/locale/zh_TW/formats.py
new file mode 100644
index 0000000000..8dfd1efed2
--- /dev/null
+++ b/django/conf/locale/zh_TW/formats.py
@@ -0,0 +1,14 @@
+# This file is distributed under the same license as the Django package.
+#
+
+# DATE_FORMAT =
+# TIME_FORMAT =
+# DATETIME_FORMAT =
+# YEAR_MONTH_FORMAT =
+# MONTH_DAY_FORMAT =
+# SHORT_DATE_FORMAT =
+# SHORT_DATETIME_FORMAT =
+# FIRST_DAY_OF_WEEK =
+# DECIMAL_SEPARATOR =
+# THOUSAND_SEPARATOR =
+# NUMBER_GROUPING =
diff --git a/django/core/management/commands/importcldr.py b/django/core/management/commands/importcldr.py
new file mode 100644
index 0000000000..b42c85e64b
--- /dev/null
+++ b/django/core/management/commands/importcldr.py
@@ -0,0 +1,237 @@
+import sys
+import os
+import re
+from optparse import make_option, OptionParser
+
+from django.core.management.base import LabelCommand, CommandError
+
+try:
+ from lxml import etree
+except ImportError:
+ raise CommandError('You need to install `python-lxml` to run this script')
+
+FORMATS_FILE_NAME = 'formats.py'
+FORMATS_FILE_HEADER = '''# This file is distributed under the same license as the Django package.
+#
+
+'''
+
+def quote(nodes, name, locale, previous):
+ if len(nodes):
+ return "'%s'" % unicode(nodes[0].text).replace("'", "\\'")
+ else:
+ return None
+
+def convert_time(nodes, name, locale, previous):
+ SPECIAL_CHARS = ('a', 'A', 'b', 'B', 'd', 'D', 'f', 'F', 'g', 'G', 'h',
+ 'H', 'i', 'I', 'j', 'l', 'L', 'm', 'M', 'n', 'N', 'O', 'P', 'r',
+ 's', 'S', 't', 'T', 'U', 'w', 'W', 'y', 'Y', 'z', 'Z')
+ FORMAT_STR_MAP = ( # not using a dict, because we have to apply formats in order
+ ('dd', 'd'),
+ ('d', 'j'),
+ ('MMMM', 'F'),
+ ('MMM', 'M'),
+ ('MM', 'm'),
+ ('M', 'n'),
+ ('yyyy', 'Y'),
+ ('yy', 'y'),
+ ('y', 'Y'),
+ ('hh', 'h'),
+ ('h', 'g'),
+ ('HH', 'H'),
+ ('H', 'G'),
+ ('mm', 'i'),
+ ('ss', 's'),
+ ('a', 'A'),
+ ('LLLL', 'F'),
+ )
+ if len(nodes):
+ original = nodes[0].text
+ result = ''
+ for cnt, segment in enumerate(original.split("'")):
+ if cnt % 2:
+ for char in SPECIAL_CHARS:
+ segment = segment.replace(char, '\\%s' % char)
+ result += segment
+ else:
+ while segment:
+ found = False
+ for src, dst in FORMAT_STR_MAP:
+ if segment[0:len(src)] == src:
+ result += dst
+ segment = segment[len(src):]
+ found = True
+ break
+ if not found:
+ result += segment[0]
+ segment = segment[1:]
+
+ return "'%s'" % result
+ else:
+ return None
+
+def datetime(nodes, name, locale, previous):
+ result = None
+ if len(nodes) and 'DATE_FORMAT' in previous and 'TIME_FORMAT' in previous:
+ result = nodes[0].text
+ result = result.replace('{0}', previous['TIME_FORMAT'][1:-1])
+ if name == 'SHORT_DATETIME_FORMAT' and 'SHORT_DATE_FORMAT' in previous:
+ result = result.replace('{1}', previous['SHORT_DATE_FORMAT'][1:-1])
+ else:
+ result = result.replace('{1}', previous['DATE_FORMAT'][1:-1])
+ if result:
+ return "'%s'" % result
+ else:
+ return None
+
+def first_day(nodes, name, locale, previous):
+ DAY_MAP = {
+ 'sun': '0',
+ 'mon': '1',
+ 'tue': '2',
+ 'wed': '3',
+ 'thu': '4',
+ 'fri': '5',
+ 'sat': '6',
+ }
+ for node in nodes:
+ territories = node.attrib['territories']
+ day = node.attrib['day']
+ if territories == '001':
+ result = day
+ if locale.upper() in territories.split():
+ result = day
+ break
+ return DAY_MAP.get(result)
+
+FORMATS_MAP = [
+ {
+ 'name': 'DATE_FORMAT',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/dates/calendars/calendar[@type='gregorian']/dateFormats/dateFormatLength[@type='long']/dateFormat/pattern",
+ 'conversion': convert_time,
+ },
+ {
+ 'name': 'TIME_FORMAT',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/dates/calendars/calendar[@type='gregorian']/timeFormats/timeFormatLength[@type='medium']/timeFormat/pattern",
+ 'conversion': convert_time,
+ },
+ {
+ 'name': 'DATETIME_FORMAT',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength[@type='long']/dateTimeFormat/pattern",
+ 'conversion': datetime,
+ },
+ {
+ 'name': 'YEAR_MONTH_FORMAT',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/availableFormats/dateFormatItem[@id='yMMMM']",
+ 'conversion': convert_time,
+ },
+ {
+ 'name': 'MONTH_DAY_FORMAT',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/availableFormats/dateFormatItem[@id='MMMMd']",
+ 'conversion': convert_time,
+ },
+ {
+ 'name': 'SHORT_DATE_FORMAT',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/dates/calendars/calendar[@type='gregorian']/dateFormats/dateFormatLength[@type='medium']/dateFormat/pattern",
+ 'conversion': convert_time,
+ },
+ {
+ 'name': 'SHORT_DATETIME_FORMAT',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength[@type='short']/dateTimeFormat/pattern",
+ 'conversion': datetime,
+ },
+ {'name': 'FIRST_DAY_OF_WEEK'},
+ {
+ 'name': 'DECIMAL_SEPARATOR',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/numbers/symbols/decimal",
+ 'conversion': quote,
+ },
+ {
+ 'name': 'THOUSAND_SEPARATOR',
+ 'file': os.path.join('common', 'main', '%(locale)s.xml'),
+ 'pattern': "/ldml/numbers/symbols/group",
+ 'conversion': quote,
+ },
+ {'name': 'NUMBER_GROUPING'},
+]
+"""
+"""
+
+def get_locales(django_locale_dir, locale=None):
+ if locale:
+ yield locale
+ else:
+ locale_re = re.compile('[a-z]{2}(_[A-Z]{2})?')
+ for locale in os.listdir(django_locale_dir):
+ if locale_re.match(locale):
+ yield locale
+
+def import_cldr(cldr_dir, locale=None, overwrite=False):
+ """
+ For every locale defined in Django, get from the CLDR locale file all
+ settings defined in output_structure, and write the result to the
+ locale directories on Django.
+ """
+ if not os.path.isdir(cldr_dir):
+ raise Exception, "Specified CLDR directory '%s' does not exist" % cldr_dir
+
+ import django
+ django_locale_dir = os.path.join(os.path.dirname(django.__file__), 'conf', 'locale')
+
+ for locale in get_locales(django_locale_dir, locale):
+ output_filename = os.path.join(django_locale_dir, locale, FORMATS_FILE_NAME)
+ if os.path.isfile(output_filename) and not overwrite:
+ print "'%s' locale already exists. Skipping" % locale
+ else:
+ result = {}
+ output_file = open(output_filename, 'w')
+ output_file.write(FORMATS_FILE_HEADER)
+ for format in FORMATS_MAP:
+ if 'file' in format:
+ cldr_file = os.path.join(cldr_dir, format['file'] % dict(locale=locale))
+ tree = etree.parse(cldr_file) # TODO: error control
+ try:
+ original_value = tree.xpath(format['pattern'])
+ except IndexError:
+ output_file.write('# %s = \n' % (format['name']))
+ else:
+ value = format['conversion'](original_value, format['name'], locale, result)
+ if value:
+ output_file.write('%s = %s\n' % (format['name'], value.encode('utf8')))
+ result[format['name']] = value
+ else:
+ output_file.write('# %s = \n' % (format['name']))
+ else:
+ output_file.write('# %s = \n' % (format['name']))
+ output_file.close()
+
+ init_filename = os.path.join(django_locale_dir, locale, '__init__.py')
+ open(init_filename, 'a').close()
+
+class Command(LabelCommand):
+ option_list = LabelCommand.option_list + (
+ make_option('--locale', '-l', dest='locale',
+ help='The locale to process. Default is to process all.'),
+ ) + (
+ make_option('--overwite', '-o', action='store_true', dest='overwrite',
+ help='Wheter to overwrite format definitions of locales that already have one.'),
+ )
+ help = 'Creates format definition files for locales, importing data from the CLDR.'
+ args = '[cldrpath]'
+ label = 'CLDR path'
+ requires_model_validation = False
+ can_import_settings = False
+
+ def handle_label(self, cldrpath, **options):
+ locale = options.get('locale')
+ overwrite = options.get('overwrite')
+ import_cldr(cldrpath, locale, overwrite)
+