Italian (it_IT) locale has empty thousands_sep

Bug #1279558 reported by Paul Schreiber on 2014-02-12
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GLibC
Fix Released
Medium
langpack-locales (Ubuntu)
Low
Gunnar Hjalmarsson

Bug Description

The Italian (it_IT) locale has an empty thousands_sep.

This is likely due to a bug in glibc:
https://sourceware.org/bugzilla/show_bug.cgi?id=10797

That bug is five years old; it'll probably be faster to patch this than wait for an upstream fix.

Places where you see the desired behaviour (a period/dot):
1. Mac OS X 10.9.1
2. Oracle documentation:
http://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html
3. Microsoft Style Guide (page 15):
http://download.microsoft.com/download/b/c/9/bc941591-4242-4c22-97d6-dfebc7aa6869/ita-ita-StyleGuide.pdf
4. Django source code:
https://github.com/django/django/blob/master/django/conf/locale/it/formats.py?source=cc

Italian people use to put a separator for thousends in numbers.
This separator is U+0307 COMBINING DOT ABOVE

Where is the evidence? I need to see official documents (standards, official
web sites) which show this.

Ok, I will try to look for them.
In the mean time you can see that there is a separator for thousends in the
currency.

Ulrich can you help me in bug http://sourceware.org/bugzilla/show_bug.cgi?id=10425 ?

A sort of citation is wikipedia: http://en.wikipedia.org/wiki/Decimal_separator
In Germany, Belgium, Denmark, Italy, Romania, Sweden and much of Europe: 1 234
567,89 or 1.234.567,89 (in handwriting, 1˙234˙567,89 is also seen[citation
needed], but never in Denmark or Sweden).

Notice that at primary school, my math teacher used ˙ (COMBINIG DOT ABOVE),
while during the following courses nothing was used (just because the thousands
separator is not mandatory, I imagine). I've also seen the space and the full
stop used.

I'm trying to find this in online newspapers, but they seem to prefer using the
word "thousands" instead of the full number

(In reply to comment #3)
> A sort of citation is wikipedia: http://en.wikipedia.org/wiki/Decimal_separator
> In Germany, Belgium, Denmark, Italy, Romania, Sweden and much of Europe: 1 234
> 567,89 or 1.234.567,89 (in handwriting, 1˙234˙567,89 is also seen[citation
> needed], but never in Denmark or Sweden).

Well, this text says it's a space or a decimal point. Not the character you
expect to use.

Another negative is that this combining character is used for something
completely different. You likely want something like U00B7. U0307 is
transliterated to "". But even that isn't correct according to your source.

Either provide additional justification or I'll close this.

I recently hit this bug on CentOS 6.5 and Ubuntu 12.10.

Places where you see the desired behaviour (a period/dot):
1. Mac OS X 10.9.1
2. Oracle documentation:
http://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html
3. Microsoft Style Guide (page 15):
http://download.microsoft.com/download/b/c/9/bc941591-4242-4c22-97d6-dfebc7aa6869/ita-ita-StyleGuide.pdf
4. Django source code:
https://github.com/django/django/blob/master/django/conf/locale/it/formats.py?source=cc

Changed in langpack-locales (Ubuntu):
assignee: nobody → Gunnar Hjalmarsson (gunnarhj)
importance: Undecided → Low
status: New → In Progress
Changed in glibc:
importance: Unknown → Medium
status: Unknown → Incomplete
Gunnar Hjalmarsson (gunnarhj) wrote :

Paul,
I wrote a patch, but for some reason it does not make a difference for me when testing with Language Support. Can you please test it and let us know about the result?

Gunnar Hjalmarsson (gunnarhj) wrote :

Mystery solved: The grouping keyword had to be changed too. Merge proposal submitted.

Brian Murray (brian-murray) wrote :

I've uploaded this, thanks!

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package langpack-locales - 2.13+git20120306-10

---------------
langpack-locales (2.13+git20120306-10) trusty; urgency=low

  * debian/patches/ubuntu-it_IT-thousands_sep.patch:
    Use a dot as the thousands_sep (LP: #1279558).
 -- Gunnar Hjalmarsson <email address hidden> Fri, 14 Feb 2014 10:34:27 -0800

Changed in langpack-locales (Ubuntu):
status: In Progress → Fix Released

1. All links provided in comment 5 consistently confirm that a dot is used as a grouping (thousands) separator in it_IT, also a comma is used as a decimal (fraction) separator. Also CLDR which we usually treat as an authoritative source confirms the same. Currently it_IT provides the same except (as the original reporter noticed) that it does not provide any grouping separator for LC_NUMERIC. Therefore I'm going to add a dot as a grouping separator in LC_NUMERIC in it_IT even if this differs from the original request. Note that the same values are currently in LC_MONETARY in it_IT.

2. But CLDR also confirms that a similar mark as the original reporter suggests is used in it_CH (Italian language as used in Switzerland). Currently an ASCII apostrophe is used in glibc but CLDR says it should be a <U2019> character (Right Single Quotation Mark, "’"). It is correctly transliterated to an ASCII apostrophe while building non-Unicode locales. Therefore I'm going to use the <U2019> character as a grouping separator in LC_NUMERIC in it_CH.

3. But all LC_NUMERIC and LC_MONETARY sections in all Swiss locales (including LC_MONETARY in it_CH) contain just “copy "de_CH"”. So maybe LC_NUMERIC should also contain “copy "de_CH"”? True, de_CH uses an ASCII apostrophe as a grouping separator while CLDR says it should be <U2019>. Also, CLDR says that a decimal separator for both it_CH and de_CH should be a dot. In glibc it is correctly set in all Swiss locales except it_CH. Shortly: all Swiss locales should use an apostrophe (or better the Right Single Quotation Mark) as a grouping (thousands) separator and a dot as a decimal (fraction) separator. Therefore instead of what I said in point 2. I am going to use “copy "de_CH"” in LC_NUMERIC section of it_CH and I'm going to update de_CH to use <U2019> as a thousands separator in both LC_NUMERIC and LC_MONETARY.

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via 527f355e5e97bb0f76e88caadb08d2405cacea94 (commit)
      from 7244f13ded2f09c089df768a4587110d181d1fb8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=527f355e5e97bb0f76e88caadb08d2405cacea94

commit 527f355e5e97bb0f76e88caadb08d2405cacea94
Author: Rafal Luzynski <email address hidden>
Date: Mon Sep 10 16:00:45 2018 +0200

    Italian and Swiss locales: Use the correct separators (bug 10797).

    CLDR and many other sources say that it_IT (Italian) should use a dot
    (".") as a thousands separator and a comma (",") as a decimal separator.

    For it_CH and de_CH CLDR says that they should use the Right Single
    Quotation Mark ("’") as a thousands separator and a dot (".") as a
    decimal separator. Consequently, the same rules are copied to all other
    locales in Switzerland.

    These rules apply to both LC_MONETARY and LC_NUMERIC.

     [BZ #10797]
     * localedata/locales/de_CH (mon_thousands_sep): Use "<U2019>" (Right
     Single Quotation Mark).
     (thousands_sep): Likewise.
     * localedata/locales/it_CH (LC_NUMERIC): Use “copy "de_CH"”.
     * localedata/locales/it_IT (thousands_sep): Use ".".
     (grouping): Use "3;3".

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog | 10 ++++++++++
 localedata/locales/de_CH | 4 ++--
 localedata/locales/it_CH | 4 +---
 localedata/locales/it_IT | 4 ++--
 4 files changed, 15 insertions(+), 7 deletions(-)

Fixed in master, commit 527f355e5e97bb0f76e88caadb08d2405cacea94.

Changed in glibc:
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.