de_DE has been using the wrong group separator for over 18 years
kdex
kdex@kdex.de
Wed Apr 18 08:31:00 GMT 2018
On Wednesday, April 18, 2018 9:14:45 AM CEST Florian Weimer wrote:
> On 04/18/2018 12:24 AM, kdex wrote:
> > To give some context: I have previously posted the following on
> > libc-locales and was asked to bring this to the attention of senior
> > developers on this least who speak German.
> >
> > I have noticed that the locale `de_DE` has erroneously been using a full
> > stop (U+002E) for the thousands (group) separator in `mon_thousands_sep`
> > and `thousands_sep` ever since 2000. The usage of a full stop to group
> > thousands has (to my knowledge) has never been standardized.
> >
> > As per DIN 1333, DIN 5008, and DIN EN ISO 80000, the separator should have
> > been a thin space (U+2009).
> >
> > In fact, DIN 1333 even explicitly forbids the usage of U+002E to group
> > thousands, and DIN EN ISO 80000 explicitly excludes all other characters
> > than a thin space.
>
> These standards are simply not universally used. They aren't exactly
> wrong, either, because some typesetters actually use a (thin) space.
> It's just that adoption is poor.
>
> U+002E is perfectly acceptable and widely used, especially if U+2009 is
> not available (and U+0020 risks introducing a line break). Here's a
> recent example:
>
> »Die Finanzkontrolle Schwarzarbeit überprüfte im Jahr 2017 mehr als
> 52.000 Arbeitgeber und leitete fast 108.000 Strafverfahren ein. Die
> Anzahl der eingeleiteten Ermittlungsverfahren wegen der Nichtgewährung
> des gesetzlichen Mindestlohns nach dem Mindestlohngesetz stieg auf 2.522
> Verfahren (2016: 1.651; 2015: 705).«
>
> <https://www.bundesfinanzministerium.de/Content/DE/Pressemitteilungen/Finanz
> politik/2018/04/2018-04-17-ZJPK.html>
While the Federal Ministry of Finance may be an interesting (or even ironic)
source to point out, it is in no way normative, and their website is mostly
subject to their team of web developers.
Note that according to DIN 5008, amounts of money should, for security
purposes, indeed be grouped with periods, so leaving `mon_thousands_sep` as-is
would still allow for standards-compliance. Amounts of money are also covered
by the three norms I've brought up before:
[…] Aus diesem Grund sehen Normen die Verwendung eines Leerzeichens als
Tausendertrennzeichen vor (DIN 1333, DIN 5008 und ISO 80000). Dabei wird ein
schmales Leerzeichen empfohlen, falls dieses technisch verfügbar ist. Eine
Ausnahme bilden Geldbeträge, die aus Sicherheitsgründen mit dem Leerzeichen,
das mindestens die Breite einer der Ziffern hat, oder einem Trennzeichen (wie
dem Punkt) getrennt werden können. [2]
>
> (Also look at the date at the top of the page—it doesn't follow DIN ISO
> 8601, either.)
That's unfortunate; but the paragraph about normativity above would apply
here, too.
Duden, the German approach to these matters (generally considered relatively
normative among Germans), adheres to the ISO norms as well [1], which should
speak for itself.
It's simple enough to find instances of German articles about finances that
try to use spaces (admittedly the wrong ones) as separators as well, see [3].
>
> I don't think the locales need to change. Using characters from the
> ASCII range for printing numbers has its advantages.
I don't think this premise is correct: In de_DE, amounts of money include
`currency_symbol` (U+20AC), which is not in the ASCII range. ps_AF uses U+066C
for `thousands_sep`, fa_IR uses U+002C and es_MX even uses U+2009 (the very
same character that this thread is about). None of these are in the ASCII
range; so why should we treat de_DE like a special case? It's much easier to
be standards-compliant here and get used to the fact that numbers do generally
contain non-ASCII characters that a parser could just skip over.
>
> Thanks,
> Florian
[1] https://www.duden.de/sprachwissen/rechtschreibregeln/zahlen-und-ziffern
[2] https://de.wikipedia.org/wiki/
Zifferngruppierung#Zur_Problematik_von_Punkt_und_Komma_f%C3%BCr_Tausender-
_und_Dezimaltrennzeichen
[3] https://www.finanzen.ch/nachrichten/aktien/Aktien-Frankfurt-Eroeffnung-Dax-schiebt-sich-wieder-ueber-12-600-Punkte-1021483710
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20180418/1c681bc0/attachment.sig>
More information about the Libc-alpha
mailing list