diff mbox

[BZ,14172] Add South Azerbaijani (azb) locale

Message ID 554BF472.8050703@gmail.com
State New
Headers show

Commit Message

Mjbmr May 7, 2015, 11:25 p.m. UTC
Hi,

Thank you for your feedback, new patch attached.

On 5/7/2015 12:54 PM, Marko Myllynen wrote:
> Hi,
>
> On 2015-05-07 07:55, Mjbmr wrote:
>> Add South Azerbaijani (azb) locale
>>
>> https://sourceware.org/bugzilla/show_bug.cgi?id=14172#c11
>> https://www.ethnologue.com/language/azb
> I don't know the language so I cannot comment on those aspects but in
> general it looks pretty good with one major and few minor issues. The
> major issue is that the locale does not compile, please see the Locales
> wiki page for instructions how to test locales (looks like you need to
> adjust the country codes and perhaps also introduce a new language code
> definition in iso-639.def):
>
> https://sourceware.org/glibc/wiki/Locales
>
> Also see the manual page or other locales (like de_DE) for the format to
> use (ie, plain strings / texts are very rarely used):
>
> http://man7.org/linux/man-pages/man5/locale.5.html
>
> Please add the week definition to LC_TIME section and fix the fr_IR typo.
>
> Cheers,
>
commit c7aaada2db64f2e77b9bcdc5a9fccccce4e8a44b
Author: mjbmr <mjbmri@gmail.com>
Date:   Thu May 7 23:17:10 2015 +0000

    Add South Azerbaijani (azb) locale
diff mbox

Patch

diff --git a/locale/iso-639.def b/locale/iso-639.def
index 2529425..b62f44a 100644
--- a/locale/iso-639.def
+++ b/locale/iso-639.def
@@ -49,6 +49,7 @@  DEFINE_LANGUAGE_CODE3 ("Awadhi", awa, awa)
 DEFINE_LANGUAGE_CODE ("Aymara, Southern", ay, ayc, ayc)
 DEFINE_LANGUAGE_CODE ("Aymara", ay, aym, aym)
 DEFINE_LANGUAGE_CODE ("Azerbaijani", az, aze, aze)
+DEFINE_LANGUAGE_CODE3 ("South Azerbaijani", azb, azb)
 DEFINE_LANGUAGE_CODE3 ("Balinese", ban, ban)
 DEFINE_LANGUAGE_CODE3 ("Baltic (Other)", bat, bat)
 DEFINE_LANGUAGE_CODE3 ("Baluchi", bal, bal)
diff --git a/localedata/locales/azb_IR b/localedata/locales/azb_IR
new file mode 100644
index 0000000..07dfad2
--- /dev/null
+++ b/localedata/locales/azb_IR
@@ -0,0 +1,291 @@ 
+comment_char %
+escape_char  /
+%
+% South Azerbaijani Language Locale for Iran
+% Source:
+% Contact: Mousa Moradi
+% Email: <mousamk@gmail.com>
+% Language: azb
+% Territory: IR
+% Revision: 1.0
+% Date: 2015-05-07
+% Application: general
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+% FIXME: Azerbaijani O in the arabic script which should have a circle above WAW,
+% was not found in the unicode table, so we're using the simple WAW and the Sukun
+% after that. This should be changed if they add the unified character to table.
+
+% NOTE: Azerbaijani dotless 'i' in the arabic script exists in the Unicode table by
+% code U063D, but according to arthography rules, it should not be used in usual
+% texts and can be used just in kids' learning books and whenever there is ambiguity,
+% so here in the words that have it like 'Xanim' it's not been used.
+
+LC_IDENTIFICATION
+title "South Azerbaijani language locale for Iran"
+source ""
+address ""
+contact "Mousa Moradi"
+email "mousamk@gmail.com"
+tel "(+98) 914 492 1058"
+fax ""
+language "South Azerbaijani"
+territory "Iran"
+revision "1.0"
+date "2015-05-07"
+
+category azb_IR:2015;LC_IDENTIFICATION
+category azb_IR:2015;LC_CTYPE
+category azb_IR:2015;LC_COLLATE
+category azb_IR:2015;LC_TIME
+category azb_IR:2015;LC_NUMERIC
+category azb_IR:2015;LC_PAPER
+category azb_IR:2015;LC_TELEPHONE
+category azb_IR:2015;LC_MEASUREMENT
+category azb_IR:2015;LC_ADDRESS
+category azb_IR:2015;LC_MONETARY
+category azb_IR:2015;LC_MESSAGES
+
+END LC_IDENTIFICATION
+
+%
+% TODO: check LC_COLLATE
+
+LC_COLLATE
+% FIXME: For now we're going with persian collation, but the few Azerbaijani specific
+% characters need to be considered too.
+copy "fa_IR"
+
+% Azerbaijani letters can be ordered like this:
+% ALEF WITH MADDA ABOVE, ALEF, ALEF WITH HAMZA ABOVE, ALEF WITH HAMZA BELOW,
+% BEH, PEH, TEH, THEH, JIM, CHEH, HHEH, KHEH, DAL, ZAL, REH, ZEH, JEH, SIN,
+% SHIN, SAD, ZAD, TAH, ZAH, AYN, GHAYN, FEH, QAF, KAF, GAF, LAM, MIM, NUN, WAW,
+% WAW WITH SOKUN ABOVE (O in latic script - It's not in unicode table yet),
+% WAW WITH HAMZA ABOVE (O with two dots above in latin script), WAW WITH LITTLE
+% WAW ABOVE (U in latic script), WAW WITH LITTLE V ABOVE (U with two dots
+% above in latin script), HEH, YEH WITH HAMZA ABOVE (E in latin script), YEH
+% WITH LITTLE INVERTED V ABOVE (Dotless i in latic script), YEH
+
+% collating-symbol <az_ar_oe>     % O with two dots above in latic script
+% collating-symbol <az_ar_u>      % U in latic script
+% collating-symbol <az_ar_ue>     % U with two dots above in latic script
+% collating-symbol <az_ar_e>      % E in latic script
+% collating-symbol <az_ar_ih>     % dotless I in latic script
+
+% collating-element <az_ar_o> from "<U0648><U0652>"     % O in latic script
+% ...
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "fa_IR"
+END LC_CTYPE
+
+LC_MESSAGES
+% This is "^[yY<HEH><BEH>].*"
+yesexpr "<U005E><U005B><U0079><U0059><U0647><U0628><U005D><U002E><U002A>"
+% This is "^[nN<YEH><KHEH>].*"
+noexpr  "<U005E><U005B><U006E><U004E><U06CC><U062E><U005D><U002E><U002A>"
+% This is "Hen":
+yesstr  "<U0647><U0646>"
+% This is "Yox":
+nostr   "<U06CC><U0648><U0652><U062E>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy "fa_IR"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "fa_IR"
+END LC_NUMERIC
+
+LC_TIME
+% copied from "fa_IR"
+% Alternative digits are used for Persian numerals in date and time. This is
+% a hack, until a new prefix is defined for alternative digits.
+alt_digits      "<U06F0><U06F0>";"<U06F0><U06F1>";/
+                "<U06F0><U06F2>";"<U06F0><U06F3>";/
+                "<U06F0><U06F4>";"<U06F0><U06F5>";/
+                "<U06F0><U06F6>";"<U06F0><U06F7>";/
+                "<U06F0><U06F8>";"<U06F0><U06F9>";/
+                "<U06F1><U06F0>";"<U06F1><U06F1>";/
+                "<U06F1><U06F2>";"<U06F1><U06F3>";/
+                "<U06F1><U06F4>";"<U06F1><U06F5>";/
+                "<U06F1><U06F6>";"<U06F1><U06F7>";/
+                "<U06F1><U06F8>";"<U06F1><U06F9>";/
+                "<U06F2><U06F0>";"<U06F2><U06F1>";/
+                "<U06F2><U06F2>";"<U06F2><U06F3>";/
+                "<U06F2><U06F4>";"<U06F2><U06F5>";/
+                "<U06F2><U06F6>";"<U06F2><U06F7>";/
+                "<U06F2><U06F8>";"<U06F2><U06F9>";/
+                "<U06F3><U06F0>";"<U06F3><U06F1>";/
+                "<U06F3><U06F2>";"<U06F3><U06F3>";/
+                "<U06F3><U06F4>";"<U06F3><U06F5>";/
+                "<U06F3><U06F6>";"<U06F3><U06F7>";/
+                "<U06F3><U06F8>";"<U06F3><U06F9>";/
+                "<U06F4><U06F0>";"<U06F4><U06F1>";/
+                "<U06F4><U06F2>";"<U06F4><U06F3>";/
+                "<U06F4><U06F4>";"<U06F4><U06F5>";/
+                "<U06F4><U06F6>";"<U06F4><U06F7>";/
+                "<U06F4><U06F8>";"<U06F4><U06F9>";/
+                "<U06F5><U06F0>";"<U06F5><U06F1>";/
+                "<U06F5><U06F2>";"<U06F5><U06F3>";/
+                "<U06F5><U06F4>";"<U06F5><U06F5>";/
+                "<U06F5><U06F6>";"<U06F5><U06F7>";/
+                "<U06F5><U06F8>";"<U06F5><U06F9>";/
+                "<U06F6><U06F0>";"<U06F6><U06F1>";/
+                "<U06F6><U06F2>";"<U06F6><U06F3>";/
+                "<U06F6><U06F4>";"<U06F6><U06F5>";/
+                "<U06F6><U06F6>";"<U06F6><U06F7>";/
+                "<U06F6><U06F8>";"<U06F6><U06F9>";/
+                "<U06F7><U06F0>";"<U06F7><U06F1>";/
+                "<U06F7><U06F2>";"<U06F7><U06F3>";/
+                "<U06F7><U06F4>";"<U06F7><U06F5>";/
+                "<U06F7><U06F6>";"<U06F7><U06F7>";/
+                "<U06F7><U06F8>";"<U06F7><U06F9>";/
+                "<U06F8><U06F0>";"<U06F8><U06F1>";/
+                "<U06F8><U06F2>";"<U06F8><U06F3>";/
+                "<U06F8><U06F4>";"<U06F8><U06F5>";/
+                "<U06F8><U06F6>";"<U06F8><U06F7>";/
+                "<U06F8><U06F8>";"<U06F8><U06F9>";/
+                "<U06F9><U06F0>";"<U06F9><U06F1>";/
+                "<U06F9><U06F2>";"<U06F9><U06F3>";/
+                "<U06F9><U06F4>";"<U06F9><U06F5>";/
+                "<U06F9><U06F6>";"<U06F9><U06F7>";/
+                "<U06F9><U06F8>";"<U06F9><U06F9>"
+
+% South Azerbaijani like Persian doesn't have abbreviations for weekdays and month
+% names, so "abday" is the same as "day" and "abmon" is the same as "mon".
+day     "<U06CC><U06A9><U0634><U0646><U0628><U0647>";/
+        "<U062F><U0648><U0634><U0646><U0628><U0647>";/
+        "<U0633><U0647><U200C><U0634><U0646><U0628><U0647>";/
+        "<U0686><U0627><U0631><U0634><U0646><U0628><U0647>";/
+        "<U062C><U06C6><U0645><U0639><U0647><U0020><U0622><U062E><U0634><U0627><U0645><U06CC>";/
+        "<U062C><U06C6><U0645><U0639><U0647>";/
+        "<U0634><U0646><U0628><U0647>"
+abday   "<U06CC><U06A9><U0634><U0646><U0628><U0647>";/
+        "<U062F><U0648><U0634><U0646><U0628><U0647>";/
+        "<U0633><U0647><U200C><U0634><U0646><U0628><U0647>";/
+        "<U0686><U0627><U0631><U0634><U0646><U0628><U0647>";/
+        "<U062C><U06C6><U0645><U0639><U0647><U0020><U0622><U062E><U0634><U0627><U0645><U06CC>";/
+        "<U062C><U06C6><U0645><U0639><U0647>";/
+        "<U0634><U0646><U0628><U0647>"
+mon     "<U0698><U0627><U0646><U0648><U06CC><U0647>";/
+        "<U0641><U0648><U0631><U06CC><U0647>";/
+        "<U0645><U0627><U0631><U0633>";/
+        "<U0622><U0648><U0631><U06CC><U0644>";/
+        "<U0645><U0626><U06CC>";/
+        "<U0698><U0648><U0626><U0646>";/
+        "<U062C><U0648><U0644><U0627><U06CC>";/
+        "<U0622><U0642><U06C7><U0633><U062A>";/
+        "<U0633><U067E><U062A><U0627><U0645><U0628><U0631>";/
+        "<U0627><U0648><U0652><U06A9><U062A><U0648><U0652><U0628><U0631>";/
+        "<U0646><U0648><U0652><U0648><U0627><U0645><U0628><U0631>";/
+        "<U062F><U0633><U0627><U0645><U0628><U0631>"
+abmon   "<U0698><U0627><U0646><U0648><U06CC><U0647>";/
+        "<U0641><U0648><U0631><U06CC><U0647>";/
+        "<U0645><U0627><U0631><U0633>";/
+        "<U0622><U0648><U0631><U06CC><U0644>";/
+        "<U0645><U0626><U06CC>";/
+        "<U0698><U0648><U0626><U0646>";/
+        "<U062C><U0648><U0644><U0627><U06CC>";/
+        "<U0622><U0642><U06C7><U0633><U062A>";/
+        "<U0633><U067E><U062A><U0627><U0645><U0628><U0631>";/
+        "<U0627><U0648><U0652><U06A9><U062A><U0648><U0652><U0628><U0631>";/
+        "<U0646><U0648><U0652><U0648><U0627><U0645><U0628><U0631>";/
+        "<U062F><U0633><U0627><U0645><U0628><U0631>"
+%
+% Copied from "fa_IR":
+% Appropriate date representation (%x)
+%       "%Oy/%Om/%Od"
+d_fmt   "<U0025><U004F><U0079><U002F>/
+<U0025><U004F><U006D><U002F>/
+<U0025><U004F><U0064>"
+%
+% Cofied from "fa_IR":
+% Appropriate time representation (%X)
+%       "%OH:%OM:%OS"
+t_fmt   "<U0025><U004F><U0048><U003A>/
+<U0025><U004F><U004D><U003A>/
+<U0025><U004F><U0053>"
+%
+% Copied from "fa_IR":
+% Appropriate date and time representation (%c)
+%       "<RLE>%A %Oe %B %Oy<ARABIC COMMA> %OH:%OM:%OS<PDF>"
+d_t_fmt "<U202B><U0025><U0041><U0020>/
+<U0025><U004F><U0065><U0020>/
+<U0025><U0042><U0020>/
+<U0025><U004F><U0079><U060C><U0020>/
+<U0025><U004F><U0048><U003A>/
+<U0025><U004F><U004D><U003A>/
+<U0025><U004F><U0053><U202C>"
+am_pm     "";""
+t_fmt_ampm ""
+%
+% Copied from "fa_IR" and changed a little:
+% Appropriate date representation (date(1))
+% "<RLE>%A %Oe %B %Oy<ARABIC COMMA> <SEEN><ALEF><AIN><ALEF><TEH> %OH:%OM:%OS (%Z)<PDF>"
+date_fmt "<U202B><U0025><U0041><U0020>/
+<U0025><U004F><U0065><U0020>/
+<U0025><U0042><U0020>/
+<U0025><U004F><U0079><U060C><U0020>/
+<U0633><U0627><U0639><U0627><U062A><U0020>/
+<U0025><U004F><U0048><U003A>/
+<U0025><U004F><U004D><U003A>/
+<U0025><U004F><U0053><U0020>/
+<U0028><U0025><U005A><U0029><U202C>"
+week 7;19971059;4
+first_weekday 7
+first_workday 7
+cal_direction 3
+END LC_TIME
+
+LC_PAPER
+copy "fa_IR"
+END LC_PAPER
+
+LC_MEASUREMENT
+copy "fa_IR"
+END LC_MEASUREMENT
+
+LC_ADDRESS
+% NOTE: Copied from "fa_IR", it should be checked and reconsidered if necessary:
+postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+
+country_name "<U0627><U06CC><U0631><U0627><U0646>"
+country_ab2 "<U0049><U0052>"
+country_ab3 "<U0049><U0052><U004E>"
+country_num 364
+country_car "<U0049><U0052>"
+country_isbn "<U0039><U0036><U0034>"
+
+% Turkce
+lang_name "<U062A><U06C6><U0631><U06A9><U062C><U0647>"
+lang_term "<U0061><U007A><U0062>"
+lang_lib "<U0061><U007A><U0062>"
+END LC_ADDRESS
+
+LC_TELEPHONE
+copy "fa_IR"
+END LC_TELEPHONE
+
+LC_NAME
+name_gen ""
+% Xanim:
+name_miss "<U062E><U0627><U0646><U06CC><U0645>"
+name_ms "<U062E><U0627><U0646><U06CC><U0645>"
+name_mrs "<U062E><U0627><U0646><U06CC><U0645>"
+% Agha
+name_mr "<U0622><U063A><U0627>"
+name_fmt "<U0025><U0064><U0025><U0074><U0025><U0073><U0025><U0074>/
+<U0025><U0067><U0025><U0074><U0025><U006D><U0025><U0074><U0025><U0066>"
+END LC_NAME