Browse Source

added German (Switzerland) localflavor formats
added documentation on the limitations of the German (Switzerland)
localflavor formats
Based on a patch by sspross (#16188)

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17472 bcc190cf-cafb-0310-a4f2-bffc1f526a37

Jannis Leidel 13 years ago
parent
commit
e445b66fd8
2 changed files with 61 additions and 0 deletions
  1. 43 0
      django/contrib/localflavor/de_CH/formats.py
  2. 18 0
      docs/topics/i18n/formatting.txt

+ 43 - 0
django/contrib/localflavor/de_CH/formats.py

@@ -0,0 +1,43 @@
+# -*- encoding: utf-8 -*-
+# This file is distributed under the same license as the Django package.
+#
+
+# The *_FORMAT strings use the Django date format syntax,
+# see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
+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 = 1 # Monday
+
+# The *_INPUT_FORMATS strings use the Python strftime format syntax,
+# see http://docs.python.org/library/datetime.html#strftime-strptime-behavior
+DATE_INPUT_FORMATS = (
+    '%d.%m.%Y', '%d.%m.%y',     # '25.10.2006', '25.10.06'
+    '%Y-%m-%d', '%y-%m-%d',     # '2006-10-25', '06-10-25'
+    # '%d. %B %Y', '%d. %b. %Y',  # '25. October 2006', '25. Oct. 2006'
+)
+TIME_INPUT_FORMATS = (
+    '%H:%M:%S', # '14:30:59'
+    '%H:%M',    # '14:30'
+)
+DATETIME_INPUT_FORMATS = (
+    '%d.%m.%Y %H:%M:%S',    # '25.10.2006 14:30:59'
+    '%d.%m.%Y %H:%M',       # '25.10.2006 14:30'
+    '%d.%m.%Y',             # '25.10.2006'
+    '%Y-%m-%d %H:%M:%S',    # '2006-10-25 14:30:59'
+    '%Y-%m-%d %H:%M',       # '2006-10-25 14:30'
+    '%Y-%m-%d',             # '2006-10-25'
+)
+
+# these are the separators for non-monetary numbers. For monetary numbers, 
+# the DECIMAL_SEPARATOR is a . (decimal point) and the THOUSAND_SEPARATOR is a
+# ' (single quote).
+# For details, please refer to http://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de
+# (in German) and the documentation
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = " "
+NUMBER_GROUPING = 3

+ 18 - 0
docs/topics/i18n/formatting.txt

@@ -180,3 +180,21 @@ where :file:`formats.py` contains custom format definitions. For example::
 
 to use a space as a thousand separator, instead of the default for English,
 a comma.
+
+
+Limitations of the provided locale formats
+==========================================
+
+Some locales use context-sensitive formats for numbers, which Djangos
+localization system cannot handle automatically.
+
+
+Switzerland (German)
+--------------------
+
+The Swiss number formatting depends on the type of number that is being
+formatted. For monetary values, a comma is used as the thousand separator and
+a decimal point for the decimal separator, for all other numbers, a comma is
+used as decimal separator and a space as thousand separator. The locale format
+provided by Django uses the generic separators, a comma for decimal and a space
+for thousand separators.