[v3] New language: Lower Sorbian (dsb_DE) [BZ #23208]

Message ID 716008909.1183425.1530261584908@poczta.nazwa.pl
State New
Headers show
Series
  • [v3] New language: Lower Sorbian (dsb_DE) [BZ #23208]
Related show

Commit Message

Rafal Luzynski June 29, 2018, 8:39 a.m.
28.06.2018 17:54 Joseph Myers <joseph@codesourcery.com> wrote:
>
> On Thu, 28 Jun 2018, Rafal Luzynski wrote:
>
> [...]
> > 2. Should I mention Lower Sorbian as a newly added language in NEWS?
>
> I think new locales should always be mentioned in NEWS.

Thank you for clarification, Joseph.  I have reviewed NEWS and I can see
that new locales usually have their Bugzilla tickets and therefore they
are reflected in the list of bugs fixed.

However, given the special case when the new locale supports the new feature
which we list explicitly for already existing locales I have added this
to NEWS.  I hope that the attached patch is correct and I'm going to
push it later today.

Regards,

Rafal

Comments

Rafal Luzynski June 29, 2018, 9:25 p.m. | #1
I have committed this version with minor reword of the commit comment:
"language" -> "locale".

Regards,

Rafal
Tulio Magno Quites Machado Filho July 10, 2018, 9:05 p.m. | #2
Rafal Luzynski <digitalfreak@lingonborough.com> writes:

> I have committed this version with minor reword of the commit comment:
> "language" -> "locale".

Anyone else seeing the following errors when installing this locale?

locales/dsb_DE:80: LC_COLLATE: syntax error
locales/dsb_DE:81: LC_COLLATE: syntax error
Rafal Luzynski July 10, 2018, 11:52 p.m. | #3
10.07.2018 23:05 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> wrote:
>
> Rafal Luzynski <digitalfreak@lingonborough.com> writes:
>
> > I have committed this version with minor reword of the commit comment:
> > "language" -> "locale".
>
> Anyone else seeing the following errors when installing this locale?
>
> locales/dsb_DE:80: LC_COLLATE: syntax error
> locales/dsb_DE:81: LC_COLLATE: syntax error

I can't see.  Do you mean "make install" or installing a binary, like
"dnf update glibc" or "dnf install glibc-langpack-dsb"?  If a binary,
what distro is this?

Also I can't see anything unusual in lines 80 and 81.

Regards,

Rafal
Tulio Magno Quites Machado Filho July 11, 2018, 12:58 p.m. | #4
Rafal Luzynski <digitalfreak@lingonborough.com> writes:

> 10.07.2018 23:05 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> wrote:
>>
>> Rafal Luzynski <digitalfreak@lingonborough.com> writes:
>>
>> > I have committed this version with minor reword of the commit comment:
>> > "language" -> "locale".
>>
>> Anyone else seeing the following errors when installing this locale?
>>
>> locales/dsb_DE:80: LC_COLLATE: syntax error
>> locales/dsb_DE:81: LC_COLLATE: syntax error
>
> I can't see.  Do you mean "make install" or installing a binary, like
> "dnf update glibc" or "dnf install glibc-langpack-dsb"?  If a binary,
> what distro is this?

It's a make command, but not just "make install":
https://sourceware.org/glibc/wiki/Locales#Testing_Locales

More like:
    make localedata/install-locales install_root=(configure's --prefix)
Rafal Luzynski July 11, 2018, 9:56 p.m. | #5
11.07.2018 14:58 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> wrote:
>
> Rafal Luzynski <digitalfreak@lingonborough.com> writes:
>
> > 10.07.2018 23:05 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
> > wrote:
> >> [...]
> >> Anyone else seeing the following errors when installing this locale?
> >>
> >> locales/dsb_DE:80: LC_COLLATE: syntax error
> >> locales/dsb_DE:81: LC_COLLATE: syntax error
> >
> > I can't see. Do you mean "make install" or installing a binary, like
> > "dnf update glibc" or "dnf install glibc-langpack-dsb"? If a binary,
> > what distro is this?
>
> It's a make command, but not just "make install":
> https://sourceware.org/glibc/wiki/Locales#Testing_Locales
>
> More like:
> make localedata/install-locales install_root=(configure's --prefix)

OK, it is also visible in glibc build logs in koji.fedoraproject.org.
However, this error is ignored by scripts and binaries ar generated and
there are no further error messages.

Indeed, there is a syntax error.  Thank you for spotting it!  I have fixed
this and added a test to make sure this bug is spotted earlier in case of
a regression.

OK to commit to master?  As we are in the slushy freeze period I will not
commit without a review.

(The patch follows in the next message)

Regards,

Rafal

Patch

From f135fcdc9f9a8d33be19c80a1f7feebe3943ffb2 Mon Sep 17 00:00:00 2001
From: Michael Wolf <milupo@sorbzilla.de>
Date: Fri, 8 Jun 2018 01:26:43 +0200
Subject: [PATCH] New language: Lower Sorbian (dsb_DE) [BZ #23208]

	[BZ #23208]
	* localedata/SUPPORTED (dsb_DE/UTF-8): New entry.
	* localedata/locales/dsb_DE: New file.
---
 NEWS                      |   3 +
 localedata/SUPPORTED      |   1 +
 localedata/locales/dsb_DE | 251 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 255 insertions(+)
 create mode 100644 localedata/locales/dsb_DE

diff --git a/NEWS b/NEWS
index 9d6fc08..9666223 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,9 @@  Major new features:
   and Walloon.  The following languages now support abbreviated alternative
   month names: Catalan, Greek, and Kashubian.
 
+* New locale added: Lower Sorbian (dsb_DE), including the support of the
+  nominative and genitive month names.
+
 * Building and running on GNU/Hurd systems now works without out-of-tree
   patches.
 
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 8754b13..74aa15d 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -119,6 +119,7 @@  de_LU.UTF-8/UTF-8 \
 de_LU/ISO-8859-1 \
 de_LU@euro/ISO-8859-15 \
 doi_IN/UTF-8 \
+dsb_DE/UTF-8 \
 dv_MV/UTF-8 \
 dz_BT/UTF-8 \
 el_GR.UTF-8/UTF-8 \
diff --git a/localedata/locales/dsb_DE b/localedata/locales/dsb_DE
new file mode 100644
index 0000000..419d0b3
--- /dev/null
+++ b/localedata/locales/dsb_DE
@@ -0,0 +1,251 @@ 
+comment_char %
+escape_char /
+
+% This file is part of the GNU C Library and contains locale data.
+% The Free Software Foundation does not claim any copyright interest
+% in the locale data contained in this file.  The foregoing does not
+% affect the license of the GNU C Library as a whole.  It does not
+% exempt you from the conditions of the license if your use would
+% otherwise be governed by that license.
+
+% Lower Sorbian Language Locale for Germany
+
+% Source: information from Michael Wolf <milupo at sorbzilla de>
+
+LC_IDENTIFICATION
+title      "Lower Sorbian locale for Germany"
+source     "Information from Michael Wolf"
+address    ""
+contact    ""
+email      "bug-glibc-locales@gnu.org"
+tel        ""
+fax        ""
+language   "Lower Sorbian"
+territory  "Germany"
+revision   "0.1"
+date       ""
+
+category "i18n:2012";LC_IDENTIFICATION
+category "i18n:2012";LC_CTYPE
+category "i18n:2012";LC_COLLATE
+category "i18n:2012";LC_TIME
+category "i18n:2012";LC_NUMERIC
+category "i18n:2012";LC_MONETARY
+category "i18n:2012";LC_MESSAGES
+category "i18n:2012";LC_PAPER
+category "i18n:2012";LC_NAME
+category "i18n:2012";LC_ADDRESS
+category "i18n:2012";LC_TELEPHONE
+category "i18n:2012";LC_MEASUREMENT
+END LC_IDENTIFICATION
+
+LC_COLLATE
+copy "iso14651_t1"
+
+% CLDR collation rules for Lower Sorbian:
+% (see:https://unicode.org/cldr/trac/browser/trunk/common/collation/dsb.xml)
+%
+% &C<č<<<Č<ć<<<Ć
+% &E<ě<<<Ě
+% &H<ch<<<cH<<<Ch<<<CH
+% &[before 1] L<ł<<<Ł
+% &N<ń<<<Ń
+% &O<ó<<<Ó
+% &R<ŕ<<<Ŕ
+% &S<š<<<Š<ś<<<Ś
+% &Z<ž<<<Ž<ź<<<Ź
+%
+% And CLDR also lists the following
+% index characters:
+% (see: https://unicode.org/cldr/trac/browser/trunk/common/main/dsb.xml)
+%
+% <exemplarCharacters type="index">[A B C Č Ć D E F G H {Ch} I J K Ł L M N O P Q R S Š Ś T U V W X Y Z Ž Ź]</exemplarCharacters>
+% <exemplarCharacters>[a b c č ć d e ě f g h {ch} i j k ł l m n ń o ó p q r ŕ s š ś t u v w x y z ž ź]</exemplarCharacters>
+
+% The characters ě, ń, ó, ŕ are usually used as lower case characters only,
+% only in fully capitalized words they exist as upper case characters
+% In contrast to Upper Sorbian, the character ř does not exist in Lower Sorbian
+
+collating-element <c-h> from "<U0063><U0068>"
+collating-element <c-H> from "<U0063><U0048>"
+collating-element <C-h> from "<U0043><U0068>"
+collating-element <C-H> from "<U0043><U0048>"
+
+collating-symbol <c-caron>
+collating-symbol <c-acute>
+collating-symbol <d-z-acute-digraph>
+collating-symbol <e-caron>
+collating-symbol <c-h-digraph>
+collating-symbol <l-stroke>
+collating symbol <n-acute>
+collating symbol <o-acute>
+collating-symbol <r-acute>
+collating-symbol <s-caron>
+collating-symbol <s-acute>
+collating-symbol <z-caron>
+collating-symbol <z-acute>
+
+reorder-after <AFTER-C>
+<c-caron>
+<c-acute>
+reorder-after <AFTER-D>
+<d-z-acute-digraph>
+reorder-after <AFTER-E>
+<e-caron>
+ reorder-after <AFTER-H>
+<c-h-digraph>
+reorder-after <AFTER-K>
+<l-stroke>
+reorder-after <AFTER-N>
+<n-acute>
+reorder-after <AFTER-O>
+<o-acute>
+reorder-after <AFTER-R>
+<r-acute>
+reorder-after <AFTER-S>
+<s-caron>
+<s-acute>
+reorder-after <AFTER-Z>
+<z-caron>
+<z-acute>
+
+<U010D> <c-caron>;<BASE>;<MIN>;IGNORE % č
+<U010C> <c-caron>;<BASE>;<CAP>;IGNORE % Č
+<U0107> <c-acute>;<BASE>;<MIN>;IGNORE % ć
+<U0106> <c-acute>;<BASE>;<CAP>;IGNORE % Ć
+<d-z'> <d-z-acute-digraph>;<BASE>;"<MIN><MIN>";IGNORE % dź
+<d-Z'> <d-z-acute-digraph>;<BASE>;"<MIN><CAP>";IGNORE % dŹ
+<D-z'> <d-z-acute-digraph>;<BASE>;"<CAP><MIN>";IGNORE % Dź
+<D-Z'> <d-z-acute-digraph>;<BASE>;"<CAP><CAP>";IGNORE % DŹ
+<U011B> <e-caron>;<BASE>;<MIN>;IGNORE % ě
+<U011A> <e-caron>;<BASE>;<CAP>;IGNORE % Ě
+<c-h> <c-h-digraph>;<BASE>;"<MIN><MIN>";IGNORE % ch
+<c-H> <c-h-digraph>;<BASE>;"<MIN><CAP>";IGNORE % cH
+<C-h> <c-h-digraph>;<BASE>;"<CAP><MIN>";IGNORE % Ch
+<C-H> <c-h-digraph>;<BASE>;"<CAP><CAP>";IGNORE % CH
+<U0142> <l-stroke>;<BASE>;<MIN>;IGNORE % ł
+<U0141> <l-stroke>;<BASE>;<CAP>;IGNORE % Ł
+<U0144> <n-acute>;<BASE>;<MIN>;IGNORE % ń
+<U0143> <n-acute>;<BASE>;<CAP>;IGNORE % Ń
+<U00F3> <o-acute>;<BASE>;<MIN>;IGNORE % ó
+<U00D3> <o-acute>;<BASE>;<CAP>;IGNORE % Ó
+<U0155> <r-acute>;<BASE>;<MIN>;IGNORE % ŕ
+<U0154> <r-acute>;<BASE>;<CAP>;IGNORE % Ŕ
+<U0161> <s-caron>;<BASE>;<MIN>;IGNORE % š
+<U0160> <s-caron>;<BASE>;<CAP>;IGNORE % Š
+<U015B> <s-acute>;<BASE>;<MIN>;IGNORE % ś
+<U015A> <s-acute>;<BASE>;<CAP>;IGNORE % Ś
+<U017E> <z-caron>;<BASE>;<MIN>;IGNORE % ž
+<U017D> <z-caron>;<BASE>;<CAP>;IGNORE % Ž
+<U017A> <z-acute>;<BASE>;<MIN>;IGNORE % ź
+<U0179> <z-acute>;<BASE>;<CAP>;IGNORE % Ź
+
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "i18n"
+END LC_CTYPE
+
+LC_MESSAGES
+yesexpr "^[+1jJhHyY]"
+noexpr  "^[-0nN]"
+yesstr  "jo"
+nostr   "n<U011B>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy "de_DE"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "de_DE"
+END LC_NUMERIC
+
+LC_TIME
+abday   "Nj";"P<U00F3>";/
+        "Wa";"Sr";/
+        "St";"P<U011B>";/
+        "So"
+day     "Nje<U017A>ela";/
+        "P<U00F3>nje<U017A>ele";/
+        "Wa<U0142>tora";/
+        "Srjoda";/
+        "Stw<U00F3>rtk";/
+        "P<U011B>tk";/
+        "Sobota"
+abmon   "Jan";"Feb";/
+        "M<U011B>r";"Apr";/
+        "Maj";"Jun";/
+        "Jul";"Awg";/
+        "Sep";"Okt";/
+        "Now";"Dec"
+alt_mon "Januar";/
+        "Februar";/
+        "M<U011B>rc";/
+        "Apryl";/
+        "Maj";/
+        "Junij";/
+        "Julij";/
+        "Awgust";/
+        "September";/
+        "Oktober";/
+        "Nowember";/
+        "December"
+mon     "januara";/
+        "februara";/
+        "m<U011B>rca";/
+        "apryla";/
+        "maja";/
+        "junija";/
+        "julija";/
+        "awgusta";/
+        "septembra";/
+        "oktobra";/
+        "nowembra";/
+        "decembra"
+d_t_fmt "%a %d %b %Y %T %Z"
+d_fmt   "%d.%m.%Y"
+t_fmt   "%T"
+am_pm   "";""
+t_fmt_ampm ""
+
+week    7;19971130;4
+first_weekday 2
+END LC_TIME
+
+LC_PAPER
+copy "i18n"
+END LC_PAPER
+
+LC_TELEPHONE
+copy "de_DE"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy "de_DE"
+END LC_MEASUREMENT
+
+LC_NAME
+name_fmt    "%d%t%g%t%m%t%f"
+name_miss   "kn<U011B><U017E>na"
+name_mr     "kn<U011B>z"
+name_mrs    "kn<U011B>ni"
+name_ms     "kn<U011B>ni"
+END LC_NAME
+
+LC_ADDRESS
+postal_fmt   "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N"
+country_name "Nimska"
+country_post "D"
+country_ab2  "DE"
+country_ab3  "DEU"
+country_num  276
+country_car  "D"
+country_isbn 3
+lang_name    "dolnoserb<U0161><U0107>ina"
+lang_ab      ""
+lang_term    "dsb"
+lang_lib     "dsb"
+END LC_ADDRESS
-- 
2.7.5