summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnnabelle Wiegart <44520920+annalauraw@users.noreply.github.com>2025-10-23 16:11:52 +0200
committerGitHub <noreply@github.com>2025-10-23 10:11:52 -0400
commit74239181252ca73bebb84789856f5d8937d421b4 (patch)
tree3921d0958c42e4d9b43b00bf43904374eee7b6e0
parent42d6e20feba81fb1182c8111d0c18e492fbe4e87 (diff)
Fixed #35095 -- Clarified Swiss number formatting in docs/topics/i18n/formatting.txt.
Co-authored-by: Ahmed Nassar <a.moh.nassar00@gmail.com>
-rw-r--r--AUTHORS1
-rw-r--r--django/conf/locale/de_CH/formats.py8
-rw-r--r--django/conf/locale/fr_CH/formats.py4
-rw-r--r--docs/topics/i18n/formatting.txt17
4 files changed, 17 insertions, 13 deletions
diff --git a/AUTHORS b/AUTHORS
index be55e379c2..7e287e75ed 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -97,6 +97,7 @@ answer newbie questions, and generally made Django that much better:
Andy Dustman <farcepest@gmail.com>
Andy Gayton <andy-django@thecablelounge.com>
andy@jadedplanet.net
+ Annabelle Wiegart
Anssi Kääriäinen <akaariai@gmail.com>
ant9000@netwise.it
Anthony Briggs <anthony.briggs@gmail.com>
diff --git a/django/conf/locale/de_CH/formats.py b/django/conf/locale/de_CH/formats.py
index f42dd48739..bf048462bd 100644
--- a/django/conf/locale/de_CH/formats.py
+++ b/django/conf/locale/de_CH/formats.py
@@ -25,11 +25,9 @@ DATETIME_INPUT_FORMATS = [
"%d.%m.%Y %H:%M", # '25.10.2006 14:30'
]
-# 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 the documentation and the following link:
-# https://www.bk.admin.ch/bk/de/home/dokumentation/sprachen/hilfsmittel-textredaktion/schreibweisungen.html
+# Swiss number formatting can vary based on context (e.g. Fr. 23.50 vs 22,5 m).
+# Django does not support context-specific formatting and uses generic
+# separators.
DECIMAL_SEPARATOR = ","
THOUSAND_SEPARATOR = "\xa0" # non-breaking space
NUMBER_GROUPING = 3
diff --git a/django/conf/locale/fr_CH/formats.py b/django/conf/locale/fr_CH/formats.py
index 84f065713e..0a63166e80 100644
--- a/django/conf/locale/fr_CH/formats.py
+++ b/django/conf/locale/fr_CH/formats.py
@@ -27,6 +27,10 @@ DATETIME_INPUT_FORMATS = [
"%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200'
"%d/%m/%Y %H:%M", # '25/10/2006 14:30'
]
+
+# Swiss number formatting can vary based on context (e.g. Fr. 23.50 vs 22,5 m).
+# Django does not support context-specific formatting and uses generic
+# separators.
DECIMAL_SEPARATOR = ","
THOUSAND_SEPARATOR = "\xa0" # non-breaking space
NUMBER_GROUPING = 3
diff --git a/docs/topics/i18n/formatting.txt b/docs/topics/i18n/formatting.txt
index c670f02b25..ed941a20e0 100644
--- a/docs/topics/i18n/formatting.txt
+++ b/docs/topics/i18n/formatting.txt
@@ -189,12 +189,13 @@ Limitations of the provided locale formats
Some locales use context-sensitive formats for numbers, which Django's
localization system cannot handle automatically.
-Switzerland (German)
---------------------
+Switzerland (German, French)
+----------------------------
-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.
+The Swiss number formatting traditionally varies depending on context. For
+example, monetary values may use a dot as decimal separator (``Fr. 23.50``),
+while measurements often use a comma (``22,5 m``). Django’s localization system
+does not support such context-specific variations automatically.
+
+The locale format provided by Django uses the generic separators, a comma for
+decimal and a space for thousand separators.