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

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Mike FABIAN

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ł.


From 13e1ed2a7b7446bc015f9638a771bbae4cd6a6e5 Mon Sep 17 00:00:00 2001
From: Mike FABIAN <[hidden email]>
Date: Mon, 13 Jan 2020 10:12:07 +0100
Subject: [PATCH 2/2] Fix ckb_IQ [BZ #9809]

Add ckb_IQ to SUPPORTED file.
Add ckb_IQ.UTF-8.in collation test file.
---
 localedata/Makefile        |   2 +
 localedata/SUPPORTED       |   1 +
 localedata/ckb_IQ.UTF-8.in | 105 ++++++++++
 localedata/locales/ckb_IQ  | 395 ++++++++-----------------------------
 4 files changed, 194 insertions(+), 309 deletions(-)
 create mode 100644 localedata/ckb_IQ.UTF-8.in

diff --git a/localedata/Makefile b/localedata/Makefile
index b8a3b67810..75da312579 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -47,6 +47,7 @@ test-input := \
  bg_BG.UTF-8 \
  br_FR.UTF-8 \
  bs_BA.UTF-8 \
+ ckb_IQ.UTF-8 \
  cmn_TW.UTF-8 \
  crh_UA.UTF-8 \
  cs_CZ.UTF-8 \
@@ -202,6 +203,7 @@ LOCALES := \
  bg_BG.UTF-8 \
  br_FR.UTF-8 \
  bs_BA.UTF-8 \
+ ckb_IQ.UTF-8 \
  cmn_TW.UTF-8 \
  crh_UA.UTF-8 \
  cs_CZ.UTF-8 \
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 40b2ccee5a..1ee5b5e8c8 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -91,6 +91,7 @@ ca_IT.UTF-8/UTF-8 \
 ca_IT/ISO-8859-15 \
 ce_RU/UTF-8 \
 chr_US/UTF-8 \
+ckb_IQ/UTF-8 \
 cmn_TW/UTF-8 \
 crh_UA/UTF-8 \
 cs_CZ.UTF-8/UTF-8 \
diff --git a/localedata/ckb_IQ.UTF-8.in b/localedata/ckb_IQ.UTF-8.in
new file mode 100644
index 0000000000..157546d419
--- /dev/null
+++ b/localedata/ckb_IQ.UTF-8.in
@@ -0,0 +1,105 @@
+0

+1

+2

+3

+4

+5

+6

+7

+8

+9

+a
+A
+b
+B
+c
+C
+d
+D
+e
+E
+f
+F
+g
+G
+h
+H
+i
+I
+j
+J
+k
+K
+l
+L
+m
+M
+n
+N
+o
+O
+p
+P
+q
+Q
+r
+R
+s
+S
+t
+T
+u
+U
+v
+V
+w
+W
+x
+X
+y
+Y
+z
+Z

































diff --git a/localedata/locales/ckb_IQ b/localedata/locales/ckb_IQ
index 08574db72e..1e47561909 100644
--- a/localedata/locales/ckb_IQ
+++ b/localedata/locales/ckb_IQ
@@ -10,12 +10,12 @@ escape_char /
 
 
 % FOR ALL KURDISH DIALECTS USING ARABIC ALPHABETS
-% Central Kurdish language locale for Iraq (using arabic letters):
+% Central Kurdish language locale for Iraq (using Arabic letters):
 % Contributed by Aras Noori <[hidden email]>
 % Filename: ckb_iq
 % Locale name: ckb_iq.UTF-8
 % Language: Central Kurdish (Sorani)
-% Language abbrivation: KU-AR(Kurdish - Arabic letters)
+% Language abbrevation: KU-AR (Kurdish - Arabic letters)
 % Charset: UTF-8
 % Creation Date: 2009-11-03
 % History:
@@ -24,8 +24,8 @@ escape_char /
 % 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
+% September 2014: fixing alphabet and Unicode bugs
+% October 2014: fixing address and fmt_name issues
 
 LC_IDENTIFICATION
 title   "Central Kurdish language locale for Iraq"
@@ -33,8 +33,8 @@ source   "Aras Noori, Jwtiyar Nariman"
 address    "see e-mail"
 contact    "Aras Noori, Jwtiyar Nariman"
 email   "[hidden email], [hidden email]"
-tel   ""
-fax   ""
+tel   ""
+fax   ""
 language   "Central Kurdish"
 territory  "Iraq"
 revision   "0.9"
@@ -60,257 +60,40 @@ 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 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
+% 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>
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
 
-%
-% 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>
+reorder-after <S0631> % ر
+<S0695> % ڕ
 
-%
- %
- % 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
+reorder-after <S0646> % ن
+<S0648> % و
+<S06C6> % ۆ
 
 END LC_COLLATE
 
 LC_MONETARY
-int_curr_symbol       "<U0049><U0051><U0044><U0020>"
+int_curr_symbol       "IQD "
 currency_symbol       "<U062F><U002E><U0639>"
-mon_decimal_point     "<U002E>"
-mon_thousands_sep     "<U002C>"
+mon_decimal_point     "."
+mon_thousands_sep     ","
 mon_grouping      3
-positive_sign      ""
-negative_sign      "<U002D>"
+positive_sign      "+"
+negative_sign      "-"
 int_frac_digits       3
 frac_digits      3
 p_cs_precedes      1
@@ -319,71 +102,66 @@ 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>"
+decimal_point       "."
+thousands_sep       ","
 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>"
+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>"
+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>"
+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"
+d_t_fmt     "%A %d %b %Y, %I:%M:%S %p"
 %
 % Appropriate date representation(%x)
 d_fmt "%A %d %b %Y"
@@ -394,8 +172,8 @@ 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"
+% Appropriate date representation
+date_fmt "%A %d %B %Y, %Z %I:%M:%S %p"
 
 week 7;19971130;1
 first_weekday 7
@@ -403,20 +181,17 @@ first_workday 2
 cal_direction 3
 END LC_TIME
 
-
 LC_MESSAGES
-yesexpr  "<U0628><U06D5><U06B5><U06CE>"
-noexpr   "<U0646><U06D5><U062E><U06CE><U0631>"
+yesexpr  "^[+1yY<U0628>]"
+noexpr   "^[-0nN<U0646>]"
 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>"
@@ -428,21 +203,23 @@ 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_name "<U0639><U06CE><U0631><U0627><U0642>"
+country_ab2 "IQ"
+country_ab3 "IRQ"
+country_post "IRQ"
 country_num 368
-country_car "<U0049><U0051>"
+country_car "IQ"
+lang_name   "<U06A9><U0648><U0631><U062F><U06CC><U06CC> <U0646><U0627><U0648><U06D5><U0646><U062F><U06CC>"
+lang_term   "ckb"
+lang_lib    "ckb"
 %
 END LC_ADDRESS
 
-
 LC_TELEPHONE
 %
 tel_int_fmt "+%c %a%t%l"
-int_select     "<U0030><U0030>"  % 00
-int_prefix  "<U0039><U0036><U0034>" %964
+int_select  "00"
+int_prefix  "964"
 
 END LC_TELEPHONE
 
--
2.24.1

Reply | Threaded
Open this post in threaded view
|

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

Rafal Luzynski
15.01.2020 10:18 Mike FABIAN <[hidden email]> wrote:

> [...]
> diff --git a/localedata/locales/ckb_IQ b/localedata/locales/ckb_IQ
> index 08574db72e..1e47561909 100644
> --- a/localedata/locales/ckb_IQ
> +++ b/localedata/locales/ckb_IQ
> @@ -10,12 +10,12 @@ escape_char /
>  
>  
>  % FOR ALL KURDISH DIALECTS USING ARABIC ALPHABETS
> -% Central Kurdish language locale for Iraq (using arabic letters):
> +% Central Kurdish language locale for Iraq (using Arabic letters):
>  % Contributed by Aras Noori <[hidden email]>
>  % Filename: ckb_iq
>  % Locale name: ckb_iq.UTF-8
>  % Language: Central Kurdish (Sorani)
> -% Language abbrivation: KU-AR(Kurdish - Arabic letters)
> +% Language abbrevation: KU-AR (Kurdish - Arabic letters)

Still: ^abbrevation^abbreviation

Otherwise probably OK.  Feel free to commit after master is open
for 2.32 development.

Regards,

Rafal