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.
11 % Thailand (Thai) locale
14 % Author: Theppitak Karoonboonyanan
15 % Contact: Software and Language Engineering Laboratory (SLL)
16 % National Electronics and Computer Technology Center (NECTEC)
17 % National Science and Technology Development Agency (NSTDA)
18 % Ministry of Science Technology and Environment
19 % 22nd Floor, Gypsum Metropilitan Tower
20 % Sri Ayuthaya Rd, Ratchathewee, Bangkok 10400
22 % E-mail: thep@links.nectec.or.th
29 title "Thai locale for Thailand"
33 email "bug-glibc-locales@gnu.org"
41 category "i18n:2012";LC_IDENTIFICATION
42 category "i18n:2012";LC_CTYPE
43 category "i18n:2012";LC_COLLATE
44 category "i18n:2012";LC_TIME
45 category "i18n:2012";LC_NUMERIC
46 category "i18n:2012";LC_MONETARY
47 category "i18n:2012";LC_MESSAGES
48 category "i18n:2012";LC_PAPER
49 category "i18n:2012";LC_NAME
50 category "i18n:2012";LC_ADDRESS
51 category "i18n:2012";LC_TELEPHONE
52 category "i18n:2012";LC_MEASUREMENT
59 include "translit_combining";""
65 % Copy the template from ISO/IEC 14651
68 % CLDR collation rules for Thai:
69 % (see: https://github.com/unicode-org/cldr/blob/main/common/collation/th.xml)
75 % # The following tailoring is an adjustment of the
76 % # DUCET collation order for PAIYANNOI, MAIYAMOK,
77 % # NIKHAHIT, LAKKHANGYAO, and PHINTHU. This gives
78 % # a sort order as defined in the Royal Institute
79 % # Dictionary 2542 B.E. Edition (1999 A.D.).
81 % &[before 1]๚<ฯ # should be "variable"
83 % &๛<ๆ # should be "variable"
91 % # consider: order pali virama as secondary different from yammacan (another old virama)
96 collating-element <U0E32_0E4D> from "<U0E32><U0E4D>"
97 % This is already defined in iso14651_t1:
98 % collating-element <U0E4D_0E32> from "<U0E4D><U0E32>" % decomposition of THAI CHARACTER SARA AM
100 collating-element <U0E45_0E4D> from "<U0E45><U0E4D>" % LAKKHANGYAO + NIKHAHIT
101 collating-element <U0E4D_0E45> from "<U0E4D><U0E45>" % NIKHAHIT + LAKKHANGYAO
102 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 % Finished defining collating-elements and collating-symbols
105 % One dummy reorder-after statement here to avoid a syntax error
106 % because the first rule reordering stuff starts without a reorder-after:
107 collating-symbol <dummy>
108 reorder-after <S002E> % FULL STOP
110 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112 % &[before 1]๚<ฯ # should be "variable"
113 % ๚ U+0E5A should keep "IGNORE" as the primary weight (as defined in iso14651_t1_common).
114 % Therefore, I cannot sort ฯ U+0E2F before ๚ U+0E5A as a primary difference.
115 % Sorting it before as a secondary difference works though. To sort the existing test data
116 % in the correct order, this seems good enough. The previous collation in
117 % this th_TH locale, which did not use 'copy "iso14651_t1"' had these characters
118 % as a tertinary difference:
119 % <U0E2F> IGNORE;IGNORE;<U0E2F>;IGNORE % THAI CHARACTER PAIYANNOI
120 % <U0E5A> IGNORE;IGNORE;<U0E5A>;IGNORE % THAI CHARACTER ANGKHANKHU
121 <U0E2F> IGNORE;"<U0E5A><VRNT1>";IGNORE;<U0E2F> % ฯ THAI CHARACTER PAIYANNOI
122 <U0E5A> IGNORE;"<U0E5A><VRNT2>";IGNORE;<U0E5A> % ๚ THAI CHARACTER ANGKHANKHU
123 % &๛<ๆ # should be "variable"
124 % ๛ U+0E5B should keep "IGNORE" as the primary weight (as defined in iso14651_t1_common).
125 % Therefore I cannot sort ๆ U+0E46 after ๛ U+0E5B as a primary difference.
126 % Sorting it after as a secondary differnce works though and it seems good enough
127 % to sort the existing test data in the correct order. The previous collation in
128 % this th_TH locale, which did not use 'copy "iso14651_t1"' had these characters
129 % as a tertinary difference:
130 % <U0E46> IGNORE;IGNORE;<U0E46>;IGNORE % THAI CHARACTER MAIYAMOK
131 % <U0E5B> IGNORE;IGNORE;<U0E5B>;IGNORE % THAI CHARACTER KHOMUT
132 <U0E5B> IGNORE;"<U0E5B><VRNT1>";IGNORE;<U0E5B> % ๛ THAI CHARACTER KHOMUT
133 <U0E46> IGNORE;"<U0E5B><VRNT2>";IGNORE;<U0E46> % ๆ THAI CHARACTER MAIYAMOK
135 <U0E4E> IGNORE;<D0E4E>;IGNORE;<U0E4E> % ๎ THAI CHARACTER YAMAKKAN
136 <U0E4C> IGNORE;<D0E4C>;IGNORE;<U0E4C> % ์ THAI CHARACTER THANTHAKHAT
138 <U0E4D> "<S0E30><VRNT1>";<BASE>;<MIN>;<U0E4D> % ํ THAI CHARACTER NIKHAHIT
139 <U0E30> "<S0E30><VRNT2>";<BASE>;<MIN>;<U0E30> % ะ THAI CHARACTER SARA A
141 <U0E32> <S0E32>;<BASE>;<MIN>;<U0E32> % า THAI CHARACTER SARA AA
142 <U0E45> <S0E32>;<BASE>;<COMPAT>;<U0E45> % ๅ THAI CHARACTER LAKKHANGYAO
144 <U0E32_0E4D> <S0E33>;<BASE>;<MIN>;<U0E33> % าํ decomposition of THAI CHARACTER SARA AM
145 <U0E4D_0E32> <S0E33>;<BASE>;<CAP>;<U0E33> % ํา decomposition of THAI CHARACTER SARA AM
146 <U0E33> <S0E33>;<BASE>;<MAX>;<U0E33> % ำ THAI CHARACTER SARA AM
148 <U0E45_0E4D> <S0E32>;<BASE>;<CAP>;<U0E45> % LAKKHANGYAO + NIKHAHIT
149 <U0E4D_0E45> <S0E32>;<BASE>;<MAX>;<U0E45> % NIKHAHIT + LAKKHANGYAO
151 reorder-after <S0E44>
160 int_curr_symbol "THB "
161 currency_symbol "<U0E3F>"
162 mon_decimal_point "."
163 mon_thousands_sep ","
188 abday "<U0E2D><U0E32>.";"<U0E08>.";"<U0E2D>.";/
189 "<U0E1E>.";"<U0E1E><U0E24>.";"<U0E28>.";/
191 day "<U0E2D><U0E32><U0E17><U0E34><U0E15><U0E22><U0E4C>";/
192 "<U0E08><U0E31><U0E19><U0E17><U0E23><U0E4C>";/
193 "<U0E2D><U0E31><U0E07><U0E04><U0E32><U0E23>";/
194 "<U0E1E><U0E38><U0E18>";/
195 "<U0E1E><U0E24><U0E2B><U0E31><U0E2A><U0E1A><U0E14><U0E35>";/
196 "<U0E28><U0E38><U0E01><U0E23><U0E4C>";/
197 "<U0E40><U0E2A><U0E32><U0E23><U0E4C>"
198 abmon "<U0E21>.<U0E04>.";/
200 "<U0E21><U0E35>.<U0E04>.";/
201 "<U0E40><U0E21>.<U0E22>.";/
203 "<U0E21><U0E34>.<U0E22>.";/
210 mon "<U0E21><U0E01><U0E23><U0E32><U0E04><U0E21>";/
211 "<U0E01><U0E38><U0E21><U0E20><U0E32><U0E1E><U0E31><U0E19><U0E18><U0E4C>";/
212 "<U0E21><U0E35><U0E19><U0E32><U0E04><U0E21>";/
213 "<U0E40><U0E21><U0E29><U0E32><U0E22><U0E19>";/
214 "<U0E1E><U0E24><U0E29><U0E20><U0E32><U0E04><U0E21>";/
215 "<U0E21><U0E34><U0E16><U0E38><U0E19><U0E32><U0E22><U0E19>";/
216 "<U0E01><U0E23><U0E01><U0E0E><U0E32><U0E04><U0E21>";/
217 "<U0E2A><U0E34><U0E07><U0E2B><U0E32><U0E04><U0E21>";/
218 "<U0E01><U0E31><U0E19><U0E22><U0E32><U0E22><U0E19>";/
219 "<U0E15><U0E38><U0E25><U0E32><U0E04><U0E21>";/
220 "<U0E1E><U0E24><U0E28><U0E08><U0E34><U0E01><U0E32><U0E22><U0E19>";/
221 "<U0E18><U0E31><U0E19><U0E27><U0E32><U0E04><U0E21>"
222 % Appropriate date & time representation
223 d_t_fmt "%a %e %b %Ey, %H:%M:%S"
224 % Appropriate date representation
226 % Appropriate time representation
230 % Appropriate 12-hour clock representation
231 t_fmt_ampm "%I:%M:%S %p"
233 era "+:1:-543//01//01:+*:<U0E1E>.<U0E28>.:%EC %Ey"
234 era_d_fmt "%e %b %Ey"
235 era_t_fmt "%H.%M.%S <U0E19>."
236 era_d_t_fmt "<U0E27><U0E31><U0E19>%A<U0E17><U0E35><U0E48> %e %B %EC %Ey, %H.%M.%S <U0E19>."
237 % Appropriate date representation (date(1))
238 date_fmt "%a %e %b %Ey %H:%M:%S %Z"
244 % yesexpr : begins with "y", "Y", or CHO CHANG
245 % noexpr : begins with "n", "N", or MO MA
246 % yesstr = "Chai2" = MAIMUAN + CHO CHANG + MAI EK
247 % nostr = "Mai2Chai2" = MAIMALAI + MO MA + MAI EK + MAIMUAN + CHO CHANG + MAI EK
249 yesexpr "^[+1yY<U0E0A>]"
250 noexpr "^[-0nN<U0E21>]"
251 yesstr "<U0E43><U0E0A><U0E48>"
252 nostr "<U0E44><U0E21><U0E48><U0E43><U0E0A><U0E48>"
261 tel_int_fmt "+%c %a %l"
272 name_fmt "%d%t%g%t%m%t%f"
273 name_gen "<U0E04><U0E38><U0E13>"
274 name_miss "<U0E19><U0E32><U0E07><U0E2A><U0E32><U0E27>"
275 name_mr "<U0E19><U0E32><U0E22>"
276 name_mrs "<U0E19><U0E32><U0E07>"
280 postal_fmt "%f%N%a%N%d%N%r%t%e%t%b%N%h%t%s%N%T%N%S%N%z%c%N"
281 country_name "<U0E44><U0E17><U0E22>"
290 lang_name "<U0E44><U0E17><U0E22>"