diff mbox

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

Message ID 554AF03A.2010601@gmail.com
State New
Headers show

Commit Message

Mjbmr May 7, 2015, 4:55 a.m. UTC
Add South Azerbaijani (azb) locale

https://sourceware.org/bugzilla/show_bug.cgi?id=14172#c11
https://www.ethnologue.com/language/azb
commit 27114eb4a709371743f033a9a1c47ab0c5006f4c
Author: mjbmr <mjbmri@gmail.com>
Date:   Thu May 7 04:49:22 2015 +0000

    Add South Azerbaijani (azb) locale
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=14172#c11
    https://www.ethnologue.com/language/azb

Comments

Marko Myllynen May 7, 2015, 8:24 a.m. UTC | #1
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,
diff mbox

Patch

diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 9bf2a4f..ac99dbf 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -51,6 +51,7 @@  ar_YE.UTF-8/UTF-8 \
 ar_YE/ISO-8859-6 \
 ayc_PE/UTF-8 \
 az_AZ/UTF-8 \
+azb_IR/UTF-8 \
 as_IN/UTF-8 \
 ast_ES.UTF-8/UTF-8 \
 ast_ES/ISO-8859-15 \
diff --git a/localedata/locales/azb_IR b/localedata/locales/azb_IR
new file mode 100644
index 0000000..49dd68f
--- /dev/null
+++ b/localedata/locales/azb_IR
@@ -0,0 +1,290 @@ 
+comment_char %
+escape_char  /
+%
+% South Azerbaijani Language Locale for Iran
+% Source:
+% Contact: Mousa Moradi
+% Email: <mousamk@gmail.com>
+% Language: azb
+% Territory: IR
+% Revision: 0.2
+% Date: 2014-05-02
+% 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 "0.2"
+date "2014-05-02"
+
+category azb_IR:2000;LC_IDENTIFICATION
+category azb_IR:2000;LC_CTYPE
+category azb_IR:2000;LC_COLLATE
+category azb_IR:2000;LC_TIME
+category azb_IR:2000;LC_NUMERIC
+category azb_IR:2000;LC_PAPER
+category azb_IR:2000;LC_TELEPHONE
+category azb_IR:2000;LC_MEASUREMENT
+category azb_IR:2000;LC_ADDRESS
+category azb_IR:2000;LC_MONETARY
+category azb_IR:2000;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>"
+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 "fr_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 "IR"
+country_ab3 "IRN"
+country_num 364
+country_car "IR"
+country_isbn "964"
+
+% Turkce
+lang_name "<U062A><U06C6><U0631><U06A9><U062C><U0647>"
+lang_ab "azb"
+lang_term "aze"
+lang_lib "aze"
+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