1comment_char % 2escape_char / 3 4% This file is part of the GNU C Library and contains locale data. 5% The Free Software Foundation does not claim any copyright interest 6% in the locale data contained in this file. The foregoing does not 7% affect the license of the GNU C Library as a whole. It does not 8% exempt you from the conditions of the license if your use would 9% otherwise be governed by that license. 10 11% Persian Language Locale for Iran with UTF-8 character set 12% Source: Sharif FarsiWeb, Inc. 13% Address: 5, Shahid Ghasemi Habibollah, Azadi Ave, Tehran, Iran 14% Contact: Roozbeh Pournader 15% Email: roozbeh@farsiweb.info 16% Tel: +98 21 6022372 17% Fax: +98 21 6019568 18% Language: fa 19% Territory: IR 20% Revision: 3.0 21% Date: 2005-04-06 22% Users: general 23 24LC_IDENTIFICATION 25title "Persian locale for Iran" 26source "Sharif FarsiWeb, Inc." 27address "5, Shahid Ghasemi Habibollah, Azadi Ave, Tehran, Iran" 28contact "Roozbeh Pournader" 29email "roozbeh@farsiweb.info" 30tel "" 31fax "" 32language "Persian" 33territory "Iran" 34revision "3.0" 35date "2005-04-06" 36 37category "i18n:2012";LC_IDENTIFICATION 38category "i18n:2012";LC_CTYPE 39category "i18n:2012";LC_COLLATE 40category "i18n:2012";LC_TIME 41category "i18n:2012";LC_NUMERIC 42category "i18n:2012";LC_MONETARY 43category "i18n:2012";LC_MESSAGES 44category "i18n:2012";LC_PAPER 45category "i18n:2012";LC_NAME 46category "i18n:2012";LC_ADDRESS 47category "i18n:2012";LC_TELEPHONE 48category "i18n:2012";LC_MEASUREMENT 49END LC_IDENTIFICATION 50 51LC_CTYPE 52copy "i18n" 53 54% Persian uses the alternate digits U+06F0..U+06F9 55outdigit <U06F0>..<U06F9> 56 57% This is used in the scanf family of functions to read Persian numbers 58% using "%Id" and such. 59map to_inpunct; / 60 (<U0030>,<U06F0>); / 61 (<U0031>,<U06F1>); / 62 (<U0032>,<U06F2>); / 63 (<U0033>,<U06F3>); / 64 (<U0034>,<U06F4>); / 65 (<U0035>,<U06F5>); / 66 (<U0036>,<U06F6>); / 67 (<U0037>,<U06F7>); / 68 (<U0038>,<U06F8>); / 69 (<U0039>,<U06F9>); / 70 (<U002E>,<U066B>); / 71 (<U002C>,<U066C>) 72 73% This is used in the printf family of functions to write Persian floating 74% point numbers using "%If" and such. 75map to_outpunct; / 76 (<U002E>,<U066B>); / 77 (<U002C>,<U066C>) 78 79translit_start 80include "translit_combining";"" 81translit_end 82END LC_CTYPE 83 84LC_COLLATE 85copy "iso14651_t1" 86 87% CLDR collation rules for Ukrainian: 88% (see: https://unicode.org/cldr/trac/browser/trunk/common/collation/fa.xml) 89% 90% <collation type="standard"> 91% <cr><![CDATA[ 92% <collations> 93% <collation type="standard"> 94% <cr><![CDATA[ 95% [normalization on] 96% [reorder Arab] 97% &َ<<ِ<<ُ<<ً<<ٍ<<ٌ 98% &[before 1]ا<آ 99% &ا<<ٱ<ء 100% <<أ<<ٲ<<إ<<ٳ<<ؤ 101% <<یٔ<<<ىٔ<<<ئ 102% &ک<<*ڪګكڬڭڮ 103% &ۏ<ه<<ە<<ہ<<ة<<ۃ<<ۀ<<ھ 104% &ی<<*ىےيېۑۍێ 105% ]]></cr> 106% </collation> 107% </collations> 108% 109% And CLDR also lists the following 110% index characters: 111% (see: https://unicode.org/cldr/trac/browser/trunk/common/main/fa.xml) 112% 113% <exemplarCharacters type="index">[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]</exemplarCharacters> 114% 115% The following rules implement the same order for glibc. 116 117collating-symbol <arabic-letter-heh> 118 119collating-element <arabic-letter-farsi-yeh-with-hamza-above> from "<U06CC><U0654>" 120collating-element <arabic-letter-alef-maksura-with-hamza-above> from "<U0649><U0654>" 121 122% &َ<<ِ<<ُ<<ً<<ٍ<<ٌ 123reorder-after <FATHA> 124<KASRA> 125<DAMMA> 126<FATHATAN> 127<KASRATAN> 128<DAMMATAN> 129 130% &[before 1]ا<آ 131reorder-after <S08AC> % ARABIC LETTER ROHINGYA YEH 132<S0622> % ARABIC LETTER ALEF WITH MADDA ABOVE 133 134% &ا<<ٱ<ء<<أ<<ٲ<<إ<<ٳ<<ؤ<<یٔ<<<ىٔ<<<ئ 135% Entry in iso14651_t1_common: 136% 137% <U0627> <S0627>;<BASE>;<MIN>;<U0627> % ARABIC LETTER ALEF 138% 139% So we make <U0671> sort like <S0627> with a secondary difference: 140<U0671> <S0627>;"<BASE><VRNT1>";<MIN>;<U0671> % ARABIC LETTER ALEF WASLA 141 142reorder-after <S0627> % ARABIC LETTER ALEF 143<S0621> % ARABIC LETTER HAMZA 144 145<U0623> <S0621>;"<BASE><VRNT1><VRNT1>";<MIN>;<U0623> % ARABIC LETTER ALEF WITH HAMZA ABOVE 146<U0672> <S0621>;"<BASE><VRNT1><VRNT2>";<MIN>;<U0672> % ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE 147<U0625> <S0621>;"<BASE><VRNT1><VRNT3>";<MIN>;<U0625> % ARABIC LETTER ALEF WITH HAMZA BELOW 148<U0673> <S0621>;"<BASE><VRNT1><VRNT4>";<MIN>;<U0673> % ARABIC LETTER ALEF WITH WAVY HAMZA BELOW 149<U0624> <S0621>;"<BASE><VRNT1><VRNT5>";<MIN>;<U0624> % ARABIC LETTER WAW WITH HAMZA ABOVE 150<arabic-letter-farsi-yeh-with-hamza-above> <S0621>;"<BASE><VRNT2><VRNT1>";<MIN>;<U06CC> 151<arabic-letter-alef-maksura-with-hamza-above> <S0621>;"<BASE><VRNT2><VRNT1>";<CAP>;<U0649> 152<U0626> <S0621>;"<BASE><VRNT2><VRNT1>";<COMPATCAP>;<U0626> % ARABIC LETTER YEH WITH HAMZA ABOVE 153 154% &ک<<*ڪګكڬڭڮ 155% Entry for ک in iso14651_t1_common: 156% 157% <U06A9> <S06A9>;<BASE>;<MIN>;<U06A9> % ARABIC LETTER KEHEH 158% 159% So we make ڪ ګ ك ڬ ڭ ڮ sort like <S06A9> with secondary differences: 160<U06AA> <S06A9>;"<BASE><VRNT1><VRNT1>";<MIN>;<U06AA> % ڪ ARABIC LETTER SWASH KAF 161<U06AB> <S06A9>;"<BASE><VRNT1><VRNT2>";<MIN>;<U06AB> % ګ ARABIC LETTER KAF WITH RING 162<U0643> <S06A9>;"<BASE><VRNT1><VRNT3>";<MIN>;<U0643> % ك ARABIC LETTER KAF 163<U06AC> <S06A9>;"<BASE><VRNT1><VRNT4>";<MIN>;<U06AC> % ڬ ARABIC LETTER KAF WITH DOT ABOVE 164<U06AD> <S06A9>;"<BASE><VRNT1><VRNT5>";<MIN>;<U06AD> % ڭ ARABIC LETTER NG 165<U06AE> <S06A9>;"<BASE><VRNT2><VRNT1>";<MIN>;<U06AE> % ڮ ARABIC LETTER KAF WITH THREE DOTS BELOW 166 167% &ۏ<ه<<ە<<ہ<<ة<<ۃ<<ۀ<<ھ 168reorder-after <S06CF> % ARABIC LETTER WAW WITH DOT ABOVE 169<arabic-letter-heh> 170 171% &ۏ<ه<<ە<<ہ<<ة<<ۃ<<ۀ<<ھ 172<U0647> <arabic-letter-heh>;<BASE>;<MIN>;<U0647> % ه ARABIC LETTER HEH 173<U06D5> <arabic-letter-heh>;"<BASE><VRNT1><VRNT1>";<MIN>;<U06D5> % ARABIC LETTER AE 174<U06C1> <arabic-letter-heh>;"<BASE><VRNT1><VRNT2>";<MIN>;<U06C1> % ARABIC LETTER HEH GOAL 175<U0629> <arabic-letter-heh>;"<BASE><VRNT1><VRNT3>";<MIN>;<U0629> % ARABIC LETTER TEH MARBUTA 176<U06C3> <arabic-letter-heh>;"<BASE><VRNT1><VRNT4>";<MIN>;<U06C3> % ARABIC LETTER TEH MARBUTA GOAL 177<U06C0> <arabic-letter-heh>;"<BASE><VRNT1><VRNT5>";"<MIN><MIN>";<U06C0> % ARABIC LETTER HEH WITH YEH ABOVE 178<U06BE> <arabic-letter-heh>;"<BASE><VRNT2><VRNT1>";<MIN>;<U06BE> % ARABIC LETTER HEH DOACHASHMEE 179 180% &ی<<*ىےيېۑۍێ 181% Entry for in iso14651_t1_common: 182% 183% <U06CC> <S06CC>;<BASE>;<MIN>;<U06CC> % ARABIC LETTER FARSI YEH 184% 185% So we make ى ے ي ې ۑ ۍ ێ sort like <S06CC> with secondary differences: 186<U0649> <S06CC>;"<BASE><VRNT1><VRNT1>";<MIN>;<U0649> % ARABIC LETTER ALEF MAKSURA 187<U06D2> <S06CC>;"<BASE><VRNT1><VRNT2>";<MIN>;<U06D2> % ARABIC LETTER YEH BARREE 188<U064A> <S06CC>;"<BASE><VRNT1><VRNT3>";<MIN>;<U064A> % ARABIC LETTER YEH 189<U06D0> <S06CC>;"<BASE><VRNT1><VRNT4>";<MIN>;<U06D0> % ARABIC LETTER E 190<U06D1> <S06CC>;"<BASE><VRNT1><VRNT5>";<MIN>;<U06D1> % ARABIC LETTER YEH WITH THREE DOTS BELOW 191<U06CD> <S06CC>;"<BASE><VRNT2><VRNT1>";<MIN>;<U06CD> % ARABIC LETTER YEH WITH TAIL 192<U06CE> <S06CC>;"<BASE><VRNT2><VRNT2>";<MIN>;<U06CE> % ARABIC LETTER YEH WITH SMALL V 193 194reorder-end 195 196END LC_COLLATE 197 198LC_MONETARY 199int_curr_symbol "IRR " 200currency_symbol "<U0631><U06CC><U0627><U0644>" 201mon_decimal_point "<U066B>" 202mon_thousands_sep "<U066C>" 203mon_grouping 3 204positive_sign "" 205negative_sign "-" 206int_frac_digits 0 207frac_digits 0 208% The following positioning is based on Unicode 3.0 bidirectional algorithm, 209% with a "base direction" of right-to-left. 210p_cs_precedes 0 211p_sep_by_space 1 212n_cs_precedes 0 213n_sep_by_space 1 214p_sign_posn 1 215n_sign_posn 1 216% The following positioning is based on Unicode 3.0 bidirectional algorithm, 217% with a "base direction" of left-to-right. 218int_p_cs_precedes 0 219int_p_sep_by_space 1 220int_n_cs_precedes 0 221int_n_sep_by_space 1 222int_p_sign_posn 1 223int_n_sign_posn 1 224END LC_MONETARY 225 226LC_NUMERIC 227decimal_point "." 228thousands_sep "," 229grouping 3 230END LC_NUMERIC 231 232LC_TIME 233% Alternative digits are used for Persian numerals in date and time. This is 234% a hack, until a new prefix is defined for alternative digits. 235alt_digits "<U06F0><U06F0>";"<U06F0><U06F1>";/ 236 "<U06F0><U06F2>";"<U06F0><U06F3>";/ 237 "<U06F0><U06F4>";"<U06F0><U06F5>";/ 238 "<U06F0><U06F6>";"<U06F0><U06F7>";/ 239 "<U06F0><U06F8>";"<U06F0><U06F9>";/ 240 "<U06F1><U06F0>";"<U06F1><U06F1>";/ 241 "<U06F1><U06F2>";"<U06F1><U06F3>";/ 242 "<U06F1><U06F4>";"<U06F1><U06F5>";/ 243 "<U06F1><U06F6>";"<U06F1><U06F7>";/ 244 "<U06F1><U06F8>";"<U06F1><U06F9>";/ 245 "<U06F2><U06F0>";"<U06F2><U06F1>";/ 246 "<U06F2><U06F2>";"<U06F2><U06F3>";/ 247 "<U06F2><U06F4>";"<U06F2><U06F5>";/ 248 "<U06F2><U06F6>";"<U06F2><U06F7>";/ 249 "<U06F2><U06F8>";"<U06F2><U06F9>";/ 250 "<U06F3><U06F0>";"<U06F3><U06F1>";/ 251 "<U06F3><U06F2>";"<U06F3><U06F3>";/ 252 "<U06F3><U06F4>";"<U06F3><U06F5>";/ 253 "<U06F3><U06F6>";"<U06F3><U06F7>";/ 254 "<U06F3><U06F8>";"<U06F3><U06F9>";/ 255 "<U06F4><U06F0>";"<U06F4><U06F1>";/ 256 "<U06F4><U06F2>";"<U06F4><U06F3>";/ 257 "<U06F4><U06F4>";"<U06F4><U06F5>";/ 258 "<U06F4><U06F6>";"<U06F4><U06F7>";/ 259 "<U06F4><U06F8>";"<U06F4><U06F9>";/ 260 "<U06F5><U06F0>";"<U06F5><U06F1>";/ 261 "<U06F5><U06F2>";"<U06F5><U06F3>";/ 262 "<U06F5><U06F4>";"<U06F5><U06F5>";/ 263 "<U06F5><U06F6>";"<U06F5><U06F7>";/ 264 "<U06F5><U06F8>";"<U06F5><U06F9>";/ 265 "<U06F6><U06F0>";"<U06F6><U06F1>";/ 266 "<U06F6><U06F2>";"<U06F6><U06F3>";/ 267 "<U06F6><U06F4>";"<U06F6><U06F5>";/ 268 "<U06F6><U06F6>";"<U06F6><U06F7>";/ 269 "<U06F6><U06F8>";"<U06F6><U06F9>";/ 270 "<U06F7><U06F0>";"<U06F7><U06F1>";/ 271 "<U06F7><U06F2>";"<U06F7><U06F3>";/ 272 "<U06F7><U06F4>";"<U06F7><U06F5>";/ 273 "<U06F7><U06F6>";"<U06F7><U06F7>";/ 274 "<U06F7><U06F8>";"<U06F7><U06F9>";/ 275 "<U06F8><U06F0>";"<U06F8><U06F1>";/ 276 "<U06F8><U06F2>";"<U06F8><U06F3>";/ 277 "<U06F8><U06F4>";"<U06F8><U06F5>";/ 278 "<U06F8><U06F6>";"<U06F8><U06F7>";/ 279 "<U06F8><U06F8>";"<U06F8><U06F9>";/ 280 "<U06F9><U06F0>";"<U06F9><U06F1>";/ 281 "<U06F9><U06F2>";"<U06F9><U06F3>";/ 282 "<U06F9><U06F4>";"<U06F9><U06F5>";/ 283 "<U06F9><U06F6>";"<U06F9><U06F7>";/ 284 "<U06F9><U06F8>";"<U06F9><U06F9>" 285% Persian doesn't have abbreviations for weekdays and month names, so 286% "abday" is the same as "day" and "abmon" is the same as "mon" 287abday "<U06CC><U06A9><U0634><U0646><U0628><U0647>";/ 288 "<U062F><U0648><U0634><U0646><U0628><U0647>";/ 289 "<U0633><U0647><U200C><U0634><U0646><U0628><U0647>";/ 290 "<U0686><U0647><U0627><U0631><U0634><U0646><U0628><U0647>";/ 291 "<U067E><U0646><U062C><U0634><U0646><U0628><U0647>";/ 292 "<U062C><U0645><U0639><U0647>";/ 293 "<U0634><U0646><U0628><U0647>" 294day "<U06CC><U06A9><U0634><U0646><U0628><U0647>";/ 295 "<U062F><U0648><U0634><U0646><U0628><U0647>";/ 296 "<U0633><U0647><U200C><U0634><U0646><U0628><U0647>";/ 297 "<U0686><U0647><U0627><U0631><U0634><U0646><U0628><U0647>";/ 298 "<U067E><U0646><U062C><U0634><U0646><U0628><U0647>";/ 299 "<U062C><U0645><U0639><U0647>";/ 300 "<U0634><U0646><U0628><U0647>" 301mon "<U0698><U0627><U0646><U0648><U06CC><U0647>";/ 302 "<U0641><U0648><U0631><U06CC><U0647>";/ 303 "<U0645><U0627><U0631><U0633>";/ 304 "<U0622><U0648><U0631><U06CC><U0644>";/ 305 "<U0645><U0647>";/ 306 "<U0698><U0648><U0626><U0646>";/ 307 "<U0698><U0648><U0626><U06CC><U0647>";/ 308 "<U0627><U0648><U062A>";/ 309 "<U0633><U067E><U062A><U0627><U0645><U0628><U0631>";/ 310 "<U0627><U0643><U062A><U0628><U0631>";/ 311 "<U0646><U0648><U0627><U0645><U0628><U0631>";/ 312 "<U062F><U0633><U0627><U0645><U0628><U0631>" 313abmon "<U0698><U0627><U0646><U0648><U06CC><U0647>";/ 314 "<U0641><U0648><U0631><U06CC><U0647>";/ 315 "<U0645><U0627><U0631><U0633>";/ 316 "<U0622><U0648><U0631><U06CC><U0644>";/ 317 "<U0645><U0647>";/ 318 "<U0698><U0648><U0626><U0646>";/ 319 "<U0698><U0648><U0626><U06CC><U0647>";/ 320 "<U0627><U0648><U062A>";/ 321 "<U0633><U067E><U062A><U0627><U0645><U0628><U0631>";/ 322 "<U0627><U0643><U062A><U0628><U0631>";/ 323 "<U0646><U0648><U0627><U0645><U0628><U0631>";/ 324 "<U062F><U0633><U0627><U0645><U0628><U0631>" 325% Persian does not have the 12-hour format 326am_pm "";"" 327t_fmt_ampm "" 328% 329% Appropriate date representation (%x) 330d_fmt "%Oy//%Om//%Od" 331% 332% Appropriate time representation (%X) 333t_fmt "%OH:%OM:%OS" 334% 335% FIXME: need to add "HAMZA ABOVE" after January, February, May, July when used 336% before a year 337% 338% Appropriate date and time representation (%c) 339% "<RLE>%A %Oe %B %Oy<ARABIC COMMA> %OH:%OM:%OS<PDF>" 340d_t_fmt "<U202B>%A %Oe %B %Oy<U060C> %OH:%OM:%OS<U202C>" 341% 342% Appropriate date representation (date(1)) 343% "<RLE>%A %Oe %B %Oy<ARABIC COMMA> <SEEN><ALEF><AIN><TEH> %OH:%OM:%OS (%Z)<PDF>" 344date_fmt "<U202B>%A %Oe %B %Oy<U060C> <U0633><U0627><U0639><U062A> / 345%OH:%OM:%OS (%Z)<U202C>" 346week 7;19971130;1 347first_weekday 7 348cal_direction 3 349first_workday 7 350END LC_TIME 351 352LC_MESSAGES 353yesexpr "^[+1yY<U0622><U0628>Hf]" 354noexpr "^[-0nN<U062E><U0646>ok]" 355yesstr "<U0628><U0644><U0647>" 356nostr "<U0646><U0647>" 357END LC_MESSAGES 358 359LC_PAPER 360copy "i18n" 361END LC_PAPER 362 363LC_NAME 364name_gen "" 365name_miss "<U062E><U0627><U0646><U0645>" 366name_ms "<U062E><U0627><U0646><U0645>" 367name_mrs "<U062E><U0627><U0646><U0645>" 368name_mr "<U0622><U0642><U0627><U06CC>" 369name_fmt "%d%t%s%t%g%t%m%t%f" 370END LC_NAME 371 372LC_ADDRESS 373postal_fmt "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N" 374country_name "<U0627><U06CC><U0631><U0627><U0646>" 375country_ab2 "IR" 376country_ab3 "IRN" 377country_num 364 378country_car "IR" 379country_isbn 964 380lang_name "<U0641><U0627><U0631><U0633><U06CC>" 381lang_ab "fa" 382lang_term "fas" 383lang_lib "per" 384END LC_ADDRESS 385 386LC_TELEPHONE 387tel_int_fmt "<U202A>+%c %a %l<U202C>" 388tel_dom_fmt "<U202A>%A<U2012>%l<U202C>" 389int_select "00" 390int_prefix "98" 391END LC_TELEPHONE 392 393LC_MEASUREMENT 394copy "i18n" 395END LC_MEASUREMENT 396