unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]
@ 2020-01-14  9:22 Mike FABIAN
  2020-01-14 21:52 ` Rafal Luzynski
  0 siblings, 1 reply; 3+ messages in thread
From: Mike FABIAN @ 2020-01-14  9:22 UTC (permalink / raw)
  To: libc-alpha

[-- Attachment #1: Type: text/plain, Size: 158 bytes --]


Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]

Part 1 of the patch is what was submitted by the contributor.
Part 2 are my fixes.


[-- Attachment #2: 0001-Add-ckb_IQ-locale.patch --]
[-- Type: text/x-patch, Size: 12037 bytes --]

From 17786a4aa7d43a48c5187e33c328005716b2501d Mon Sep 17 00:00:00 2001
From: Jwtiyar Nariman <jwtiyar@gmail.com>
Date: Mon, 13 Jan 2020 10:06:06 +0100
Subject: [PATCH 1/2] Add ckb_IQ locale

---
 localedata/locales/ckb_IQ | 452 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 452 insertions(+)
 create mode 100644 localedata/locales/ckb_IQ

diff --git a/localedata/locales/ckb_IQ b/localedata/locales/ckb_IQ
new file mode 100644
index 0000000000..08574db72e
--- /dev/null
+++ b/localedata/locales/ckb_IQ
@@ -0,0 +1,452 @@
+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.
+
+
+% FOR ALL KURDISH DIALECTS USING ARABIC ALPHABETS
+% Central Kurdish language locale for Iraq (using arabic letters):
+% Contributed by Aras Noori <aras.noori@gmail.com>
+% Filename: ckb_iq
+% Locale name: ckb_iq.UTF-8
+% Language: Central Kurdish (Sorani)
+% Language abbrivation: KU-AR(Kurdish - Arabic letters)
+% Charset: UTF-8
+% Creation Date: 2009-11-03
+% History:
+% January 2009: Defining CKB locale
+% March 2009: Adding rule for CKB
+% October 2009: bug fixing and redefine
+% April 2010 fixing "not found category" problems
+% March 2011 fixing all bugs
+% Sept 2014: fixing alphabet and unicode bugs
+% Oct 2014: fixing Address and fmt_name issues
+
+LC_IDENTIFICATION
+title	   "Central Kurdish language locale for Iraq"
+source	   "Aras Noori, Jwtiyar Nariman"
+address    "see e-mail"
+contact    "Aras Noori, Jwtiyar Nariman"
+email	   "aras.noori@gmail.com, Jwtiyar@gmail.com"
+tel	 	   ""
+fax		   ""
+language   "Central Kurdish"
+territory  "Iraq"
+revision   "0.9"
+date	   "2020-01-05"
+
+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_CTYPE
+copy "i18n"
+END LC_CTYPE
+
+LC_COLLATE
+% The Kurdish Sorani, Bahdini, and others dialects is mainly written using a modified (Arabic-based alphabet) with 33 letters. 
+% Unlike the regular Arabic alphabet, which is an abjad, kurdish is an alphabet in which vowels are mandatory, making the script easy to read.
+%
+% The kurdish alphabet order is: 
+% in Latin: a, b, c, ç, d, e, ê, f, g, h, i, î, j, k, l, ll, m, n, o, p, q, r, rr, s, sh, t, u, uu, v, w, x, y, z
+% vowels: A, E, I, O, U, UU
+%
+% Copy the template from ISO/IEC 14651
+
+order_start             forward; forward 
+% 
+% Kurdish numeric characters. 
+% 
+<U0660> <U0660> 
+<U0661> <U0661> 
+<U0662> <U0662> 
+<U0663> <U0663> 
+<U0664> <U0664> 
+<U0665> <U0665> 
+<U0666> <U0666> 
+<U0667> <U0667> 
+<U0668> <U0668> 
+<U0669> <U0669> 
+
+% 
+% Characters from space to / and from : to ~ and nbsp. 
+% 
+<U0020> <U0020> 
+<U0021> <U0021> 
+<U0022> <U0022> 
+<U0023> <U0023> 
+<U0024> <U0024> 
+<U0025> <U0025> 
+<U0026> <U0026> 
+<U0027> <U0027> 
+<U0028> <U0028> 
+<U0029> <U0029> 
+<U002A> <U002A> 
+<U002B> <U002B> 
+<U002C> <U002C> 
+<U002D> <U002D> 
+<U002E> <U002E> 
+<U002F> <U002F> 
+<U003A> <U003A> 
+<U003B> <U003B> 
+<U003C> <U003C> 
+<U003D> <U003D> 
+<U003E> <U003E> 
+<U003F> <U003F> 
+<U0040> <U0040> 
+<U005B> <U005B> 
+<U005C> <U005C> 
+<U005D> <U005D> 
+<U005E> <U005E> 
+<U005F> <U005F> 
+<U0060> <U0060> 
+<U007B> <U007B> 
+<U007C> <U007C> 
+<U007D> <U007D> 
+<U007E> <U007E> 
+<U00A0> <U00A0> 
+% 
+% Kurish alphabet order.
+%
+<U0626> <U0626>
+<U0627> <U0627>
+<U0628>	<U0628>
+<U067E> <U067E>
+<U062A> <U062A>
+<U062C> <U062C>
+<U0686> <U0686>
+<U062D> <U062D>
+<U062E> <U062E>
+<U062F> <U062F>
+<U0631> <U0631>
+<U0695> <U0695>
+<U0632> <U0632>
+<U0698> <U0698>
+<U0633> <U0633>
+<U0634> <U0634>
+<U0639> <U0639>
+<U063A> <U063A>
+<U0641> <U0641>
+<U06A4> <U06A4>
+<U0642> <U0642>
+<U06A9> <U06A9> 
+<U06AF> <U06AF>
+<U0644> <U0644>
+<U06B5> <U06B5>
+<U0645> <U0645>
+<U0646> <U0646>
+<U0648> <U0648>
+<U06C6> <U06C6>
+<U0647> <U0647>
+<U06D5> <U06D5>
+<U06CC> <U06CC>
+<U06CE> <U06CE>
+
+%
+		%
+		% English numeric characters.
+		%
+		<U0030>	<U0030>
+		<U0031>	<U0031>
+		<U0032>	<U0032>
+		<U0033>	<U0033>
+		<U0034>	<U0034>
+		<U0035>	<U0035>
+		<U0036>	<U0036>
+		<U0037>	<U0037>
+		<U0038>	<U0038>
+		<U0039>	<U0039>
+		%
+		%
+		% English alphabet.
+		%
+		<U0041>	<U0041>;<U0041>
+		<U0061>	<U0041>;<U0061>
+		<U0042>	<U0042>;<U0042>
+		<U0062>	<U0042>;<U0062>
+		<U0043>	<U0043>;<U0043>
+		<U0063>	<U0043>;<U0063>
+		<U0044>	<U0044>;<U0044>
+		<U0064>	<U0044>;<U0064>
+		<U0045>	<U0045>;<U0045>
+		<U0065>	<U0045>;<U0065>
+		<U0046>	<U0046>;<U0046>
+		<U0066>	<U0046>;<U0066>
+		<U0047>	<U0047>;<U0047>
+		<U0067>	<U0047>;<U0067>
+		<U0048>	<U0048>;<U0048>
+		<U0068>	<U0048>;<U0068>
+		<U0049>	<U0049>;<U0049>
+		<U0069>	<U0049>;<U0069>
+		<U004A>	<U004A>;<U004A>
+		<U006A>	<U004A>;<U006A>
+		<U004B>	<U004B>;<U004B>
+		<U006B>	<U004B>;<U006B>
+		<U004C>	<U004C>;<U004C>
+		<U006C>	<U004C>;<U006C>
+		<U004D>	<U004D>;<U004D>
+		<U006D>	<U004D>;<U006D>
+		<U004E>	<U004E>;<U004E>
+		<U006E>	<U004E>;<U006E>
+		<U004F>	<U004F>;<U004F>
+		<U006F>	<U004F>;<U006F>
+		<U0050>	<U0050>;<U0050>
+		<U0070>	<U0050>;<U0070>
+		<U0051>	<U0051>;<U0051>
+		<U0071>	<U0051>;<U0071>
+		<U0052>	<U0052>;<U0052>
+		<U0072>	<U0052>;<U0072>
+		<U0053>	<U0053>;<U0053>
+		<U0073>	<U0053>;<U0073>
+		<U0054>	<U0054>;<U0054>
+		<U0074>	<U0054>;<U0074>
+		<U0055>	<U0055>;<U0055>
+		<U0075>	<U0055>;<U0075>
+		<U0056>	<U0056>;<U0056>
+		<U0076>	<U0056>;<U0076>
+		<U0057>	<U0057>;<U0057>
+		<U0077>	<U0057>;<U0077>
+		<U0058>	<U0058>;<U0058>
+		<U0078>	<U0058>;<U0078>
+		<U0059>	<U0059>;<U0059>
+		<U0079>	<U0059>;<U0079>
+		<U005A>	<U005A>;<U005A>
+		<U007A>	<U005A>;<U007A>
+		%
+		%
+		% Other control characters etc. upto order_end
+		%
+		<U0000>	<U0000>
+		<U0001>	<U0001>
+		<U0002>	<U0002>
+		<U0003>	<U0003>
+		<U0004>	<U0004>
+		<U0005>	<U0005>
+		<U0006>	<U0006>
+		<U0007>	<U0007>
+		<U0008>	<U0008>
+		<U0009>	<U0009>
+		<U000A>	<U000A>
+		<U000B>	<U000B>
+		<U000C>	<U000C>
+		<U000D>	<U000D>
+		<U000E>	<U000E>
+		<U000F>	<U000F>
+		<U0010>	<U0010>
+		<U0011>	<U0011>
+		<U0012>	<U0012>
+		<U0013>	<U0013>
+		<U0014>	<U0014>
+		<U0015>	<U0015>
+		<U0016>	<U0016>
+		<U0017>	<U0017>
+		<U0018>	<U0018>
+		<U0019>	<U0019>
+		<U001A>	<U001A>
+		<U001B>	<U001B>
+		<U001C>	<U001C>
+		<U001D>	<U001D>
+		<U001E>	<U001E>
+		<U001F>	<U001F>
+
+		<U0080>	<U0080>
+		<U0081>	<U0081>
+		<U0082>	<U0082>
+		<U0083>	<U0083>
+		<U0084>	<U0084>
+		<U0085>	<U0085>
+		<U0086>	<U0086>
+		<U0087>	<U0087>
+		<U0088>	<U0088>
+		<U0089>	<U0089>
+		<U008A>	<U008A>
+		<U008B>	<U008B>
+		<U008C>	<U008C>
+		<U008D>	<U008D>
+		<U008E>	<U008E>
+		<U008F>	<U008F>
+		<U0090>	<U0090>
+		<U0091>	<U0091>
+		<U0092>	<U0092>
+		<U0093>	<U0093>
+		<U0094>	<U0094>
+		<U0095>	<U0095>
+		<U0096>	<U0096>
+		<U0097>	<U0097>
+		<U0098>	<U0098>
+		<U0099>	<U0099>
+		<U009A>	<U009A>
+		<U009B>	<U009B>
+		<U009C>	<U009C>
+		<U009D>	<U009D>
+		<U009E>	<U009E>
+		<U009F>	<U009F>
+		<U007F>	<U007F>
+		<U0640>	IGNORE  
+order_end 
+
+END LC_COLLATE
+
+LC_MONETARY
+int_curr_symbol       "<U0049><U0051><U0044><U0020>"
+currency_symbol       "<U062F><U002E><U0639>"
+mon_decimal_point     "<U002E>"
+mon_thousands_sep     "<U002C>"
+mon_grouping	      3
+positive_sign	      ""
+negative_sign	      "<U002D>"
+int_frac_digits       3
+frac_digits	      3
+p_cs_precedes	      1
+p_sep_by_space	      1
+n_cs_precedes	      1
+n_sep_by_space	      1
+p_sign_posn	      1
+n_sign_posn	      2
+
+END LC_MONETARY
+
+
+LC_NUMERIC
+decimal_point	       "<U002E>"
+thousands_sep	       "<U002C>"
+grouping	       3
+END LC_NUMERIC
+
+
+LC_TIME
+% These are generated based on XML base Locale difintion file
+%
+% Abbreviated weekday names
+abday	    "<U0634><U06D5><U0645>";/
+	    "<U06CC><U06D5><U06A9><U0634>";/
+	    "<U062F><U0648><U0648><U0634>";/
+	    "<U0633><U06CE><U0634>";/
+	    "<U0686><U0648><U0627><U0634>";/
+            "<U067E><U06CE><U0646><U0634>";/
+	    "<U0647><U06D5><U06CC><U0646>"	
+%
+% Full weekday names 
+day	    "<U06CC><U06D5><U0643><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U062F><U0648><U0648><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U0633><U06CE><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U0686><U0648><U0624><U0631><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U067E><U06CE><U0646><U062C><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U0647><U06D5><U06CC><U0646><U06CC>";/
+		"<U0634><U06D5><U0645><U0645><U06D5>"
+%
+% Abbreviated month names
+abmon	    "<U06A9><U0627><U0662>";/
+			"<U0634><U0648><U0628>";/
+			"<U0626><U0627><U0632>";/
+			"<U0646><U06CC><U0633>";/
+			"<U0626><U0627><U06CC>";/
+			"<U062D><U0648><U0632>";/
+			"<U062A><U06D5><U0645>";/
+			"<U0626><U0627><U0628>";/
+			"<U0626><U06D5><U06CC>";/
+			"<U062A><U0634><U0661>";/
+			"<U062A><U0634><U0662>";/
+			"<U06A9><U0627><U0661>"
+%
+% Full month names
+mon 	"<U06A9><U0627><U0646><U0648><U0646><U06CC><U0020><U062F><U0648><U0648><U06D5><U0645>";/
+		"<U0634><U0648><U0628><U0627><U062A>";/
+	    "<U0626><U0627><U0632><U0627><U0631>";/
+	    "<U0646><U06CC><U0633><U0627><U0646>";/
+	    "<U0626><U0627><U06CC><U0627><U0631>";/
+	    "<U062D><U0648><U0632><U06D5><U06CC><U0631><U0627><U0646>";/
+	    "<U062A><U06D5><U0645><U0648><U0632>";/
+	    "<U0626><U0627><U0628>";/
+		"<U0626><U06D5><U06CC><U0644><U0648><U0648><U0644>";/
+		"<U062A><U0634><U0631><U06CC><U0646><U06CC><U0020><U06CC><U06D5><U06A9><U06D5><U0645>";/
+		"<U062A><U0634><U0631><U06CC><U0646><U06CC><U0020><U062F><U0648><U0648><U06D5><U0645>";/
+		"<U06A9><U0627><U0646><U0648><U0646><U06CC><U0020><U06CC><U06D5><U06A9><U06D5><U0645>"
+%
+% Equivalent of AM PM
+am_pm	    "<U067E><U0646>";"<U062F><U0646>"
+%
+% Appropriate date and time representation
+d_t_fmt     "%d %b %Y, %Z %I:%M:%S %p"
+%
+% Appropriate date representation(%x)
+d_fmt	 "%A %d %b %Y"
+%
+% Appropriate time representation
+t_fmt	 "%Z %I:%M:%S %p"
+%
+% Appropriate 12 h time representation
+t_fmt_ampm  "%I:%M:%S %p"
+%
+% Appropriate date representation 
+date_fmt	"%A %d %B %Y"
+
+week 7;19971130;1
+first_weekday 7
+first_workday	2
+cal_direction	3
+END LC_TIME
+
+
+LC_MESSAGES
+yesexpr  "<U0628><U06D5><U06B5><U06CE>"
+noexpr   "<U0646><U06D5><U062E><U06CE><U0631>"
+yesstr   "<U0628><U06D5><U06B5><U06CE>"
+nostr    "<U0646><U06D5><U062E><U06CE><U0631>"
+END LC_MESSAGES
+
+
+LC_PAPER
+copy "ar_IQ"
+END LC_PAPER
+
+
+LC_NAME
+name_fmt    "%d%t%g%t%m%t%f"
+name_gen    "<U0628><U06D5><U0695><U06CE><U0632>"
+name_miss   "<U062E><U0627><U062A><U0648>"
+name_ms     "<U062E><U0627><U062A><U0648>"
+name_mrs    "<U062E><U0627><U062A><U0648>"
+name_mr     "<U0643><U0627><U0643>"
+END LC_NAME
+%
+LC_ADDRESS
+postal_fmt  "%z%c%T%s%b%e%r"
+country_name "Iraq"
+country_ab2 "<U0049><U0051>"
+country_ab3 "<U0049><U0052><U0051>"
+country_post "<U0049><U0052><U0051>"
+country_num 368
+country_car "<U0049><U0051>"
+%
+END LC_ADDRESS
+
+
+LC_TELEPHONE
+%
+tel_int_fmt "+%c %a%t%l"
+int_select     "<U0030><U0030>"  % 00
+int_prefix  "<U0039><U0036><U0034>" %964
+
+END LC_TELEPHONE
+
+
+LC_MEASUREMENT
+copy "ar_IQ"
+END LC_MEASUREMENT
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]
  2020-01-14  9:22 Mike FABIAN
@ 2020-01-14 21:52 ` Rafal Luzynski
  0 siblings, 0 replies; 3+ messages in thread
From: Rafal Luzynski @ 2020-01-14 21:52 UTC (permalink / raw)
  To: Mike FABIAN, libc-alpha

Hi,

This is an incomplete review because it's always tricky with
a locale which we are completely unfamiliar with.  That means,
there may be more issues which I am unable to notice but otherwise
it is OK to push if you fix the issues I have found and consider
whether or not to apply my suggestions.

Also here I skip the issues which are fixed by the second patch.

14.01.2020 10:22 Mike FABIAN <mfabian@redhat.com> wrote:
> Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]

I like this subject (a short git log line) more than the original
one...

> Part 1 of the patch is what was submitted by the contributor.
> Part 2 are my fixes.
> 
> From 17786a4aa7d43a48c5187e33c328005716b2501d Mon Sep 17 00:00:00 2001
> From: Jwtiyar Nariman <jwtiyar@gmail.com>
> Date: Mon, 13 Jan 2020 10:06:06 +0100
> Subject: [PATCH 1/2] Add ckb_IQ locale

... more than this one.  Please consider which one looks better.

> ---
>  localedata/locales/ckb_IQ | 452 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 452 insertions(+)
>  create mode 100644 localedata/locales/ckb_IQ
> 
> diff --git a/localedata/locales/ckb_IQ b/localedata/locales/ckb_IQ
> new file mode 100644
> index 0000000000..08574db72e
> --- /dev/null
> +++ b/localedata/locales/ckb_IQ
> @@ -0,0 +1,452 @@
> +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.
> +
> +
> +% FOR ALL KURDISH DIALECTS USING ARABIC ALPHABETS
> +% Central Kurdish language locale for Iraq (using arabic letters):

^arabic^Arabic

> +% Contributed by Aras Noori <aras.noori@gmail.com>
> +% Filename: ckb_iq
> +% Locale name: ckb_iq.UTF-8
> +% Language: Central Kurdish (Sorani)
> +% Language abbrivation: KU-AR(Kurdish - Arabic letters)

^abbrivation^abbreviation

also add a space: "KU-AR(Kurdish" -> "KU-AR (Kurdish"

> +% Charset: UTF-8
> +% Creation Date: 2009-11-03
> +% History:
> +% January 2009: Defining CKB locale
> +% March 2009: Adding rule for CKB
> +% October 2009: bug fixing and redefine
> +% April 2010 fixing "not found category" problems
> +% March 2011 fixing all bugs
> +% Sept 2014: fixing alphabet and unicode bugs

^unicode^Unicode

> +% Oct 2014: fixing Address and fmt_name issues

What is "Address" in this context?  If it refers to a field or
a section then please use that field or section identifier.
If it's about an address in general then please use lowercase
"address".

What about using consistent month names: all full (September,
October) or all abbreviated (Jan, Mar, Oct,...)

I don't understand the format of this comment but as this is
just a comment we can put anything here and it does not change
the output.

> +
> +LC_IDENTIFICATION
> +title	   "Central Kurdish language locale for Iraq"
> +source	   "Aras Noori, Jwtiyar Nariman"
> +address    "see e-mail"
> +contact    "Aras Noori, Jwtiyar Nariman"
> +email	   "aras.noori@gmail.com, Jwtiyar@gmail.com"
> +tel	 	   ""
> +fax		   ""
> +language   "Central Kurdish"
> +territory  "Iraq"
> +revision   "0.9"
> +date	   "2020-01-05"
> +
> +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_CTYPE
> +copy "i18n"
> +END LC_CTYPE
> +

OK so far.

> +LC_COLLATE
> +% The Kurdish Sorani, Bahdini, and others dialects is mainly written
> using a modified (Arabic-based alphabet) with 33 letters. 

In the second patch you have removed all trailing spaces but there is
one more in the line above.

> +% Unlike the regular Arabic alphabet, which is an abjad, kurdish is an
> alphabet in which vowels are mandatory, making the script easy to read.

^kurdish^Kurdish

Please rewrap this comment so the lines are shorter, below 80 chars,
preferably about 72 chars.

> +%
> +% The kurdish alphabet order is: 

^kurdish^Kurdish

The second patch correctly removes the trailing space.

> +% in Latin: a, b, c, ç, d, e, ê, f, g, h, i, î, j, k, l, ll, m, n, o, p,
> q, r, rr, s, sh, t, u, uu, v, w, x, y, z

Any chance to rewrap this?  No problem if it is impossible here.

> +% vowels: A, E, I, O, U, UU
> +%
> +% Copy the template from ISO/IEC 14651

[ cut the part which is removed by the second patch ]

> +END LC_COLLATE
> +
> +LC_MONETARY

[ cut the part which is removed by the second patch ]

> +int_frac_digits       3
> +frac_digits	      3
> +p_cs_precedes	      1
> +p_sep_by_space	      1
> +n_cs_precedes	      1
> +n_sep_by_space	      1
> +p_sign_posn	      1
> +n_sign_posn	      2
> +
> +END LC_MONETARY

Probably OK, I am unable to verify.

> +
> +
> +LC_NUMERIC

[ cut the part which is removed by the second patch ]

> +grouping	       3
> +END LC_NUMERIC

Probably OK, I am unable to verify.

> +
> +
> +LC_TIME
> +% These are generated based on XML base Locale difintion file
> +%
> +% Abbreviated weekday names

[ cut the part which is removed by the second patch ]

Again, I am unable to verify the Arabic weekday and month names.

> +%
> +% Equivalent of AM PM
> +am_pm	    "<U067E><U0646>";"<U062F><U0646>"

Probably OK.

> +%
> +% Appropriate date and time representation
> +d_t_fmt     "%d %b %Y, %Z %I:%M:%S %p"

As a resolution of bug 24054 [1] I removed "%Z" from almost all d_t_fmt
in order to make the locales consistent with the builtin C locale.

Also the date formats usually contain "%a".  I can see that d_fmt
in this file uses "%A" instead.  I don't know why this is better here
but for the consistency please consider this format:

"%A %d %b %Y, %I:%M:%S %p"

> +%
> +% Appropriate date representation(%x)
> +d_fmt	 "%A %d %b %Y"

As I said, I don't understand why "%A" is better than "%a" but maybe
there are good reasons so OK.

> +%
> +% Appropriate time representation
> +t_fmt	 "%Z %I:%M:%S %p"
> +%
> +% Appropriate 12 h time representation
> +t_fmt_ampm  "%I:%M:%S %p"
> +%

OK

> +% Appropriate date representation 
> +date_fmt	"%A %d %B %Y"

It's not specified what date_fmt should contain but usually it contains
not just the date but also the time and the time zone.  Please consider:

"%A %d %B %Y, %Z %I:%M:%S %p"

even although I still don't understand why "%A" is better than "%a"
and (new thing here) why "%B" is better than "%b".

> +
> +week 7;19971130;1
> +first_weekday 7
> +first_workday	2
> +cal_direction	3
> +END LC_TIME
> +
> +

I am unable to verify but probably OK.

> +LC_MESSAGES

[ cut the part which is removed by the second patch ]

> +yesstr   "<U0628><U06D5><U06B5><U06CE>"
> +nostr    "<U0646><U06D5><U062E><U06CE><U0631>"
> +END LC_MESSAGES

I am unable to verify but probably OK.

> +
> +
> +LC_PAPER
> +copy "ar_IQ"
> +END LC_PAPER

Looks reasonable.

> +
> +
> +LC_NAME
> +name_fmt    "%d%t%g%t%m%t%f"
> +name_gen    "<U0628><U06D5><U0695><U06CE><U0632>"
> +name_miss   "<U062E><U0627><U062A><U0648>"
> +name_ms     "<U062E><U0627><U062A><U0648>"
> +name_mrs    "<U062E><U0627><U062A><U0648>"
> +name_mr     "<U0643><U0627><U0643>"
> +END LC_NAME

I am unable to verify but probably OK.

> +%
> +LC_ADDRESS
> +postal_fmt  "%z%c%T%s%b%e%r"
> +country_name "Iraq"
> +country_ab2 "<U0049><U0051>"
> +country_ab3 "<U0049><U0052><U0051>"
> +country_post "<U0049><U0052><U0051>"
> +country_num 368
> +country_car "<U0049><U0051>"
> +%
> +END LC_ADDRESS
> +
> +
> +LC_TELEPHONE
> +%
> +tel_int_fmt "+%c %a%t%l"
> +int_select     "<U0030><U0030>"  % 00
> +int_prefix  "<U0039><U0036><U0034>" %964
> +
> +END LC_TELEPHONE

This is already fixed by the second patch.

> +
> +
> +LC_MEASUREMENT
> +copy "ar_IQ"
> +END LC_MEASUREMENT
> -- 
> 2.24.1
> 

Looks reasonable.

Regards,

Rafal


[1] https://sourceware.org/bugzilla/show_bug.cgi?id=24054

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]
@ 2020-01-15  9:17 Mike FABIAN
  0 siblings, 0 replies; 3+ messages in thread
From: Mike FABIAN @ 2020-01-15  9:17 UTC (permalink / raw)
  To: libc-alpha

[-- Attachment #1: Type: text/plain, Size: 224 bytes --]

Changed according to Rafał Lużyński’s review:

Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]

Part 1 of the patch is what was submitted by the contributor.
Part 2 are fixes by me and Rafał.


[-- Attachment #2: 0001-Add-new-locale-ckb_IQ-Kurdish-Sorani-spoken-in-Iraq-.patch --]
[-- Type: text/x-patch, Size: 12087 bytes --]

From 2f213400dcc2a499bf8c1372fcec18466c640359 Mon Sep 17 00:00:00 2001
From: Jwtiyar Nariman <jwtiyar@gmail.com>
Date: Mon, 13 Jan 2020 10:06:06 +0100
Subject: [PATCH 1/2] Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq)
 [BZ #9809]

---
 localedata/locales/ckb_IQ | 452 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 452 insertions(+)
 create mode 100644 localedata/locales/ckb_IQ

diff --git a/localedata/locales/ckb_IQ b/localedata/locales/ckb_IQ
new file mode 100644
index 0000000000..08574db72e
--- /dev/null
+++ b/localedata/locales/ckb_IQ
@@ -0,0 +1,452 @@
+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.
+
+
+% FOR ALL KURDISH DIALECTS USING ARABIC ALPHABETS
+% Central Kurdish language locale for Iraq (using arabic letters):
+% Contributed by Aras Noori <aras.noori@gmail.com>
+% Filename: ckb_iq
+% Locale name: ckb_iq.UTF-8
+% Language: Central Kurdish (Sorani)
+% Language abbrivation: KU-AR(Kurdish - Arabic letters)
+% Charset: UTF-8
+% Creation Date: 2009-11-03
+% History:
+% January 2009: Defining CKB locale
+% March 2009: Adding rule for CKB
+% October 2009: bug fixing and redefine
+% April 2010 fixing "not found category" problems
+% March 2011 fixing all bugs
+% Sept 2014: fixing alphabet and unicode bugs
+% Oct 2014: fixing Address and fmt_name issues
+
+LC_IDENTIFICATION
+title	   "Central Kurdish language locale for Iraq"
+source	   "Aras Noori, Jwtiyar Nariman"
+address    "see e-mail"
+contact    "Aras Noori, Jwtiyar Nariman"
+email	   "aras.noori@gmail.com, Jwtiyar@gmail.com"
+tel	 	   ""
+fax		   ""
+language   "Central Kurdish"
+territory  "Iraq"
+revision   "0.9"
+date	   "2020-01-05"
+
+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_CTYPE
+copy "i18n"
+END LC_CTYPE
+
+LC_COLLATE
+% The Kurdish Sorani, Bahdini, and others dialects is mainly written using a modified (Arabic-based alphabet) with 33 letters. 
+% Unlike the regular Arabic alphabet, which is an abjad, kurdish is an alphabet in which vowels are mandatory, making the script easy to read.
+%
+% The kurdish alphabet order is: 
+% in Latin: a, b, c, ç, d, e, ê, f, g, h, i, î, j, k, l, ll, m, n, o, p, q, r, rr, s, sh, t, u, uu, v, w, x, y, z
+% vowels: A, E, I, O, U, UU
+%
+% Copy the template from ISO/IEC 14651
+
+order_start             forward; forward 
+% 
+% Kurdish numeric characters. 
+% 
+<U0660> <U0660> 
+<U0661> <U0661> 
+<U0662> <U0662> 
+<U0663> <U0663> 
+<U0664> <U0664> 
+<U0665> <U0665> 
+<U0666> <U0666> 
+<U0667> <U0667> 
+<U0668> <U0668> 
+<U0669> <U0669> 
+
+% 
+% Characters from space to / and from : to ~ and nbsp. 
+% 
+<U0020> <U0020> 
+<U0021> <U0021> 
+<U0022> <U0022> 
+<U0023> <U0023> 
+<U0024> <U0024> 
+<U0025> <U0025> 
+<U0026> <U0026> 
+<U0027> <U0027> 
+<U0028> <U0028> 
+<U0029> <U0029> 
+<U002A> <U002A> 
+<U002B> <U002B> 
+<U002C> <U002C> 
+<U002D> <U002D> 
+<U002E> <U002E> 
+<U002F> <U002F> 
+<U003A> <U003A> 
+<U003B> <U003B> 
+<U003C> <U003C> 
+<U003D> <U003D> 
+<U003E> <U003E> 
+<U003F> <U003F> 
+<U0040> <U0040> 
+<U005B> <U005B> 
+<U005C> <U005C> 
+<U005D> <U005D> 
+<U005E> <U005E> 
+<U005F> <U005F> 
+<U0060> <U0060> 
+<U007B> <U007B> 
+<U007C> <U007C> 
+<U007D> <U007D> 
+<U007E> <U007E> 
+<U00A0> <U00A0> 
+% 
+% Kurish alphabet order.
+%
+<U0626> <U0626>
+<U0627> <U0627>
+<U0628>	<U0628>
+<U067E> <U067E>
+<U062A> <U062A>
+<U062C> <U062C>
+<U0686> <U0686>
+<U062D> <U062D>
+<U062E> <U062E>
+<U062F> <U062F>
+<U0631> <U0631>
+<U0695> <U0695>
+<U0632> <U0632>
+<U0698> <U0698>
+<U0633> <U0633>
+<U0634> <U0634>
+<U0639> <U0639>
+<U063A> <U063A>
+<U0641> <U0641>
+<U06A4> <U06A4>
+<U0642> <U0642>
+<U06A9> <U06A9> 
+<U06AF> <U06AF>
+<U0644> <U0644>
+<U06B5> <U06B5>
+<U0645> <U0645>
+<U0646> <U0646>
+<U0648> <U0648>
+<U06C6> <U06C6>
+<U0647> <U0647>
+<U06D5> <U06D5>
+<U06CC> <U06CC>
+<U06CE> <U06CE>
+
+%
+		%
+		% English numeric characters.
+		%
+		<U0030>	<U0030>
+		<U0031>	<U0031>
+		<U0032>	<U0032>
+		<U0033>	<U0033>
+		<U0034>	<U0034>
+		<U0035>	<U0035>
+		<U0036>	<U0036>
+		<U0037>	<U0037>
+		<U0038>	<U0038>
+		<U0039>	<U0039>
+		%
+		%
+		% English alphabet.
+		%
+		<U0041>	<U0041>;<U0041>
+		<U0061>	<U0041>;<U0061>
+		<U0042>	<U0042>;<U0042>
+		<U0062>	<U0042>;<U0062>
+		<U0043>	<U0043>;<U0043>
+		<U0063>	<U0043>;<U0063>
+		<U0044>	<U0044>;<U0044>
+		<U0064>	<U0044>;<U0064>
+		<U0045>	<U0045>;<U0045>
+		<U0065>	<U0045>;<U0065>
+		<U0046>	<U0046>;<U0046>
+		<U0066>	<U0046>;<U0066>
+		<U0047>	<U0047>;<U0047>
+		<U0067>	<U0047>;<U0067>
+		<U0048>	<U0048>;<U0048>
+		<U0068>	<U0048>;<U0068>
+		<U0049>	<U0049>;<U0049>
+		<U0069>	<U0049>;<U0069>
+		<U004A>	<U004A>;<U004A>
+		<U006A>	<U004A>;<U006A>
+		<U004B>	<U004B>;<U004B>
+		<U006B>	<U004B>;<U006B>
+		<U004C>	<U004C>;<U004C>
+		<U006C>	<U004C>;<U006C>
+		<U004D>	<U004D>;<U004D>
+		<U006D>	<U004D>;<U006D>
+		<U004E>	<U004E>;<U004E>
+		<U006E>	<U004E>;<U006E>
+		<U004F>	<U004F>;<U004F>
+		<U006F>	<U004F>;<U006F>
+		<U0050>	<U0050>;<U0050>
+		<U0070>	<U0050>;<U0070>
+		<U0051>	<U0051>;<U0051>
+		<U0071>	<U0051>;<U0071>
+		<U0052>	<U0052>;<U0052>
+		<U0072>	<U0052>;<U0072>
+		<U0053>	<U0053>;<U0053>
+		<U0073>	<U0053>;<U0073>
+		<U0054>	<U0054>;<U0054>
+		<U0074>	<U0054>;<U0074>
+		<U0055>	<U0055>;<U0055>
+		<U0075>	<U0055>;<U0075>
+		<U0056>	<U0056>;<U0056>
+		<U0076>	<U0056>;<U0076>
+		<U0057>	<U0057>;<U0057>
+		<U0077>	<U0057>;<U0077>
+		<U0058>	<U0058>;<U0058>
+		<U0078>	<U0058>;<U0078>
+		<U0059>	<U0059>;<U0059>
+		<U0079>	<U0059>;<U0079>
+		<U005A>	<U005A>;<U005A>
+		<U007A>	<U005A>;<U007A>
+		%
+		%
+		% Other control characters etc. upto order_end
+		%
+		<U0000>	<U0000>
+		<U0001>	<U0001>
+		<U0002>	<U0002>
+		<U0003>	<U0003>
+		<U0004>	<U0004>
+		<U0005>	<U0005>
+		<U0006>	<U0006>
+		<U0007>	<U0007>
+		<U0008>	<U0008>
+		<U0009>	<U0009>
+		<U000A>	<U000A>
+		<U000B>	<U000B>
+		<U000C>	<U000C>
+		<U000D>	<U000D>
+		<U000E>	<U000E>
+		<U000F>	<U000F>
+		<U0010>	<U0010>
+		<U0011>	<U0011>
+		<U0012>	<U0012>
+		<U0013>	<U0013>
+		<U0014>	<U0014>
+		<U0015>	<U0015>
+		<U0016>	<U0016>
+		<U0017>	<U0017>
+		<U0018>	<U0018>
+		<U0019>	<U0019>
+		<U001A>	<U001A>
+		<U001B>	<U001B>
+		<U001C>	<U001C>
+		<U001D>	<U001D>
+		<U001E>	<U001E>
+		<U001F>	<U001F>
+
+		<U0080>	<U0080>
+		<U0081>	<U0081>
+		<U0082>	<U0082>
+		<U0083>	<U0083>
+		<U0084>	<U0084>
+		<U0085>	<U0085>
+		<U0086>	<U0086>
+		<U0087>	<U0087>
+		<U0088>	<U0088>
+		<U0089>	<U0089>
+		<U008A>	<U008A>
+		<U008B>	<U008B>
+		<U008C>	<U008C>
+		<U008D>	<U008D>
+		<U008E>	<U008E>
+		<U008F>	<U008F>
+		<U0090>	<U0090>
+		<U0091>	<U0091>
+		<U0092>	<U0092>
+		<U0093>	<U0093>
+		<U0094>	<U0094>
+		<U0095>	<U0095>
+		<U0096>	<U0096>
+		<U0097>	<U0097>
+		<U0098>	<U0098>
+		<U0099>	<U0099>
+		<U009A>	<U009A>
+		<U009B>	<U009B>
+		<U009C>	<U009C>
+		<U009D>	<U009D>
+		<U009E>	<U009E>
+		<U009F>	<U009F>
+		<U007F>	<U007F>
+		<U0640>	IGNORE  
+order_end 
+
+END LC_COLLATE
+
+LC_MONETARY
+int_curr_symbol       "<U0049><U0051><U0044><U0020>"
+currency_symbol       "<U062F><U002E><U0639>"
+mon_decimal_point     "<U002E>"
+mon_thousands_sep     "<U002C>"
+mon_grouping	      3
+positive_sign	      ""
+negative_sign	      "<U002D>"
+int_frac_digits       3
+frac_digits	      3
+p_cs_precedes	      1
+p_sep_by_space	      1
+n_cs_precedes	      1
+n_sep_by_space	      1
+p_sign_posn	      1
+n_sign_posn	      2
+
+END LC_MONETARY
+
+
+LC_NUMERIC
+decimal_point	       "<U002E>"
+thousands_sep	       "<U002C>"
+grouping	       3
+END LC_NUMERIC
+
+
+LC_TIME
+% These are generated based on XML base Locale difintion file
+%
+% Abbreviated weekday names
+abday	    "<U0634><U06D5><U0645>";/
+	    "<U06CC><U06D5><U06A9><U0634>";/
+	    "<U062F><U0648><U0648><U0634>";/
+	    "<U0633><U06CE><U0634>";/
+	    "<U0686><U0648><U0627><U0634>";/
+            "<U067E><U06CE><U0646><U0634>";/
+	    "<U0647><U06D5><U06CC><U0646>"	
+%
+% Full weekday names 
+day	    "<U06CC><U06D5><U0643><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U062F><U0648><U0648><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U0633><U06CE><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U0686><U0648><U0624><U0631><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U067E><U06CE><U0646><U062C><U0634><U06D5><U0645><U0645><U06D5>";/
+		"<U0647><U06D5><U06CC><U0646><U06CC>";/
+		"<U0634><U06D5><U0645><U0645><U06D5>"
+%
+% Abbreviated month names
+abmon	    "<U06A9><U0627><U0662>";/
+			"<U0634><U0648><U0628>";/
+			"<U0626><U0627><U0632>";/
+			"<U0646><U06CC><U0633>";/
+			"<U0626><U0627><U06CC>";/
+			"<U062D><U0648><U0632>";/
+			"<U062A><U06D5><U0645>";/
+			"<U0626><U0627><U0628>";/
+			"<U0626><U06D5><U06CC>";/
+			"<U062A><U0634><U0661>";/
+			"<U062A><U0634><U0662>";/
+			"<U06A9><U0627><U0661>"
+%
+% Full month names
+mon 	"<U06A9><U0627><U0646><U0648><U0646><U06CC><U0020><U062F><U0648><U0648><U06D5><U0645>";/
+		"<U0634><U0648><U0628><U0627><U062A>";/
+	    "<U0626><U0627><U0632><U0627><U0631>";/
+	    "<U0646><U06CC><U0633><U0627><U0646>";/
+	    "<U0626><U0627><U06CC><U0627><U0631>";/
+	    "<U062D><U0648><U0632><U06D5><U06CC><U0631><U0627><U0646>";/
+	    "<U062A><U06D5><U0645><U0648><U0632>";/
+	    "<U0626><U0627><U0628>";/
+		"<U0626><U06D5><U06CC><U0644><U0648><U0648><U0644>";/
+		"<U062A><U0634><U0631><U06CC><U0646><U06CC><U0020><U06CC><U06D5><U06A9><U06D5><U0645>";/
+		"<U062A><U0634><U0631><U06CC><U0646><U06CC><U0020><U062F><U0648><U0648><U06D5><U0645>";/
+		"<U06A9><U0627><U0646><U0648><U0646><U06CC><U0020><U06CC><U06D5><U06A9><U06D5><U0645>"
+%
+% Equivalent of AM PM
+am_pm	    "<U067E><U0646>";"<U062F><U0646>"
+%
+% Appropriate date and time representation
+d_t_fmt     "%d %b %Y, %Z %I:%M:%S %p"
+%
+% Appropriate date representation(%x)
+d_fmt	 "%A %d %b %Y"
+%
+% Appropriate time representation
+t_fmt	 "%Z %I:%M:%S %p"
+%
+% Appropriate 12 h time representation
+t_fmt_ampm  "%I:%M:%S %p"
+%
+% Appropriate date representation 
+date_fmt	"%A %d %B %Y"
+
+week 7;19971130;1
+first_weekday 7
+first_workday	2
+cal_direction	3
+END LC_TIME
+
+
+LC_MESSAGES
+yesexpr  "<U0628><U06D5><U06B5><U06CE>"
+noexpr   "<U0646><U06D5><U062E><U06CE><U0631>"
+yesstr   "<U0628><U06D5><U06B5><U06CE>"
+nostr    "<U0646><U06D5><U062E><U06CE><U0631>"
+END LC_MESSAGES
+
+
+LC_PAPER
+copy "ar_IQ"
+END LC_PAPER
+
+
+LC_NAME
+name_fmt    "%d%t%g%t%m%t%f"
+name_gen    "<U0628><U06D5><U0695><U06CE><U0632>"
+name_miss   "<U062E><U0627><U062A><U0648>"
+name_ms     "<U062E><U0627><U062A><U0648>"
+name_mrs    "<U062E><U0627><U062A><U0648>"
+name_mr     "<U0643><U0627><U0643>"
+END LC_NAME
+%
+LC_ADDRESS
+postal_fmt  "%z%c%T%s%b%e%r"
+country_name "Iraq"
+country_ab2 "<U0049><U0051>"
+country_ab3 "<U0049><U0052><U0051>"
+country_post "<U0049><U0052><U0051>"
+country_num 368
+country_car "<U0049><U0051>"
+%
+END LC_ADDRESS
+
+
+LC_TELEPHONE
+%
+tel_int_fmt "+%c %a%t%l"
+int_select     "<U0030><U0030>"  % 00
+int_prefix  "<U0039><U0036><U0034>" %964
+
+END LC_TELEPHONE
+
+
+LC_MEASUREMENT
+copy "ar_IQ"
+END LC_MEASUREMENT
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-15  9:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-15  9:17 [PATCH 1/2] Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809] Mike FABIAN
  -- strict thread matches above, loose matches on Subject: below --
2020-01-14  9:22 Mike FABIAN
2020-01-14 21:52 ` Rafal Luzynski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).