1 @!!!!!!!!!!!!!! Linux Locale-Related Translations !!!!!!!!!!!!!!
3 ! Default location: /usr/dt/config/svc/Linux.lcx
5 ! Define the Linux-specific set of locale-related translations.
7 ! This file contains the set of all locale-related translations
8 ! that can occur during _DtLcxXlateOpToStd() and _DtLcxStdToOp()
9 ! calls on Linux platforms. Note that platform-specific tables may
10 ! include more than one translation to and from CDE standard
11 ! strings if they can be distinguished by version, operation, or
14 ! It is important that additional CDE standard strings only
15 ! be created by the CDE owner of the _DtLcx translation service
16 ! and NOT be created by an individual vendor or user. This be because
17 ! the purpose of adopting a set of CDE standard strings is to
18 ! support interoperability across platforms. If individual vendors
19 ! add their own "standard" strings and these strings are not
20 ! known on other platforms, then the goal of interoperability
23 ! If you feel that a new CDE standard string is needed,
24 ! contact your CDE representative/vendor with a specific
25 ! proposal and justification and have them forward it to
26 ! the owner of the CDE _DtLcx service.
28 ! Note that it is allowed for vendors and users to add new
29 ! operations for which translations are specified and which
30 ! utilize the standard strings. If the operations are of
31 ! general utility, please bring them to the attention of
32 ! your CDE representative/vendor for forwarding to the
35 ! This table is used by the _DtLcx translation service
37 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
39 !!!!!!!!!!!!!!!! translation specification syntax !!!!!!!!!!!!!!!!!!!
40 ! Introductory fields:
41 ! ====================
42 ! The _DtLcx translation specifications have a fixed number of
43 ! introductory fields followed by a several standard value
44 ! fields and the operation-specific value.
45 ! The introductory fields are:
46 ! <platform>.<version range>.<operation(s)>.<kind>
48 ! Platform generally is the same string as uname(1) -s.
49 ! Version range utilizes normalized version numbers that
50 ! are acquired using the 'version' translations.
51 ! Operations are one or more comma-separated strings that
52 ! uniquely identify the operation associated with the
53 ! operation-specific value. This string is specified
54 ! as part of the request for a translation.
56 ! Kinds of translations allow the mechanism to support several modes
57 ! of operation, each useful for different purposes. When
58 ! reading or writing a specification, pay particular attention
59 ! to the kind of specification, as this guides the usage of it.
61 ! Specification kinds:
62 ! .=. means a valid bi-directional translation requiring the op-value
63 ! in the translation specification to exactly match the op-value of
64 ! the call to _DtLcxXlateOpToStd(), e.g. foo matches only foo
65 ! .~. means a valid bi-directional translation requiring the op-value
66 ! in the translation specification to match the beginning of the
67 ! op-value of the call to _DtLcxXlateOpToStd(), e.g. foo matches
68 ! foo@@bar. This is often useful, e.g. for operation-specific
69 ! locale strings that may also contain modifier suffixes.
70 ! .>. means only from standard to op-specific (generally a
71 ! compatibility translation, meaning on op-specific value
72 ! that will work for the standard, although that is not
73 ! the straight mapping)
74 ! .<. means only from op-specific to standard (generally a
75 ! regex in the op-value which is used to map a class of
76 ! op values to a standard value)
77 ! .0. means that translation is not supported and if a translation
78 ! request matches the specification, the request will fail.
82 ! _DtLcx defines the order of the standard values in the
83 ! translations it utilizes. All translation specifications
84 ! must adhere to this order.
85 ! <std lang_terr>.<std codeset>.<std modifier>
86 ! In CDE 1.0, no modifiers are standard and that
87 ! portion of the table is unspecified. This means
88 ! that no CDE standard modifiers are available across
89 ! platforms. Operations that use only the <std codeset>
90 ! should specify the wildcard character ("?") for the
91 ! <std lang_terr> value.
93 ! Operation-specific value:
94 ! =========================
95 ! The operation-specific value is a string that is used
96 ! according to the kind of translation. The syntax is
98 ! or : "<op-string>", if it contains white space
100 ! Filling in the table of translations:
101 ! =====================================
102 ! The person preparing the translation table should know
103 ! the minimum version of the target platform that is
104 ! be supported. For example, assume that we must
105 ! complete the table for all versions 9.00 and higher.
107 ! The objective is then to provide two sets of translations:
108 ! a full set of translations from CDE standard locales to
109 ! valid platform locales, and a full set of translations
110 ! from valid platform locales to some or all CDE standard
113 ! Translations from CDE standard locales to valid platform
114 ! locales must use the .~. .=. or .>. mappings. When there
115 ! is a 1:1 mapping between a CDE locale and a platform locale,
116 ! use the .~. or .=. mapping. See the comment below to
117 ! decide which to use. When there is no 1:1 mapping between
118 ! CDE locale and platform locale, use the .>. mapping. This
119 ! provides a valid translation from the CDE locale to the
120 ! best-suitable platform locale, but never translates from
121 ! that platform locale to the CDE locale.
123 ! Translations from every platform locale to the appropriate
124 ! CDE locale must use the .~. .=. or .<. mappings.
125 ! When there is a 1:1 mapping between a platform locale and
126 ! a CDE standard locale, use the .~. or .=. mapping. See the
127 ! comment below to decide which to use. If there is a 1:1
128 ! mapping, but the platform locale pattern uses a regular
129 ! expression, or if more than one platform locale can
130 ! be translated to one CDE standard locale, the .<. mapping must
133 ! If no appropriate CDE standard locale can be found, you have
134 ! identified the need for a new CDE standard locale. Refer to
135 ! the instructions at the head of this file for how to go about
136 ! registering a new CDE standard locale. You should not create
137 ! a new "standard" locale (the left hand side of the translation
138 ! specification) without registering it with CDE, because this
139 ! will hinder the free exchange of information across locales
142 ! The .=. and .~. mappings are similar. The difference is
143 ! that the .=. mapping requires an exact string match between
144 ! the platform locale and the string provided to the
145 ! translation routine. Generally speaking, this mapping
146 ! is risky unless exact matchings can be guaranteed in
147 ! all DtLcx clients for the particular operation in question.
148 ! The .~. mapping is to be preferred, but the .=. translation
149 ! is useful in limited situations, where similar strings may
152 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
154 ! define this resource to dump debug/test info
157 !!!!!!!!!!!!!!!! Linux Version Identificaton !!!!!!!!!!!!!!!!!
158 ! These translations are used by the _DtXlateGetXlateEnv()
159 ! call to determine the version number to use.
161 ! To understand the translation, realize that the
162 ! operation-specific regexp(5) pattern on the right
163 ! hand side is matched against the strings returned
164 ! by uname(2). The best match determines the "normalized"
165 ! version number of the platform, which should range from
166 ! 001 and up. By convention, major release numbers
167 ! map to centuries and minor release numbers to within
170 ! To determine the string that the regular expression on the
171 ! right hand side is matching against, use uname(1) and run
172 ! 'uname -r' and 'uname -v' and note the strings. During execution,
173 ! the strings returned by this command are retrieved and
174 ! concatenated "rv"--in that order, no extra spaces.
175 ! This is the string that the pattern must match.
177 ! Sometimes this string may not be intuitive. For example,
178 ! note that Linux 3.2 returns 2 for 'uname -r' and 3 for 'uname -v'.
179 ! So the pattern string must be 23, not 32. Do not go by
180 ! the order of 'uname -rv' or 'uname -vr', as that is not used.
183 Linux.?.version.<.100: ".*" !! any CDE value
186 !!!!!!!!!!!!!!!! Linux-specific setlocale translations !!!!!!!!!!!!!!!!!!!
187 ! These translations are for the string returned by the
188 ! getlocale() or setlocale(LC_xxx,NULL) operations, but not
189 ! setlocale(LC_ALL,NULL) operation.
191 ! It provides translations from Linux operation-specific
192 ! to CDE standard strings and back again.
194 ! Some language,territory combinations have the following comments:
195 ! (1) These ISO territory names may be subject to change
196 ! However, their CDE names will continue to be supported
197 ! (2) No ISO "territory" name exists for the Arabic-speaking regions of the
198 ! world as a whole. Vendors have sometimes supplied their own.
199 ! Those names, when conformant to the ISO model, will be adopted for CDE.
201 !Platform Operation Lang_Terr Op-Value Language,Territory Who has
202 !--- --------- ----- -------- ------------------ -------
203 ! Version Kind Codeset
207 ! setlocales Compliance
208 Linux.100+.setlocale.~.C.IBM-850: C ! setlocales compliance ,IBM
209 Linux.100+.setlocale.~.POSIX.IBM-850: POSIX ! setlocales compliance ,IBM
210 Linux.100+.setlocale.~.C.ISO-8859-1: C ! setlocales compliance ,IBM, HP, Sun , USL
211 Linux.100+.setlocale.~.POSIX.ISO-8859-1: POSIX ! setlocales compliance ,IBM, HP, Sun , USL
213 ! W European/Americas, Latin 1 codeset
214 Linux.100+.setlocale.~.da_DK.ISO-8859-1: da_DK !.ISO8859-1 ! Danish, Denmark XoJIG,IBM, HP, , USL ("da")
215 Linux.100+.setlocale.>.de_AT.ISO-8859-1: de_DE !.ISO8859-1 ! German,Austria XoJIG, , , , USL
216 Linux.100+.setlocale.~.de_CH.ISO-8859-1: de_CH !.ISO8859-1 ! German,Switzerland XoJIG,IBM, , , USL
217 Linux.100+.setlocale.~.de_DE.ISO-8859-1: de_DE !.ISO8859-1 ! German, Germany XoJIG,IBM, HP, Sun ("de"), USL ("de")
218 Linux.100+.setlocale.>.en_AU.ISO-8859-1: en_GB !.ISO8859-1 ! English,Australia , , , , USL
219 Linux.100+.setlocale.>.en_CA.ISO-8859-1: en_US !.ISO8859-1 ! English,Canada XoJIG, , , , USL
220 Linux.100+.setlocale.>.en_DK.ISO-8859-1: en_GB !.ISO8859-1 ! English, Denmark XoJIG, , , , USL
221 Linux.100+.setlocale.~.en_GB.ISO-8859-1: en_GB !.ISO8859-1 ! English, U.K. XoJIG,IBM, HP, , USL ("en")
222 Linux.100+.setlocale.>.en_JP.ISO-8859-1: en_JP !.ISO8859-1 ! English, Japan XoJIG,IBM, , ,
223 Linux.100+.setlocale.>.en_JP.ISO-8859-1: en_US !.ISO8859-1 ! English, Japan XoJIG,IBM, , ,
224 Linux.100+.setlocale.>.en_IE.ISO-8859-1: en_GB !.ISO8859-1 ! English, Ireland XoJIG, , , , USL
225 Linux.100+.setlocale.>.en_MY.ISO-8859-1: en_US !.ISO8859-1 ! English,Malaysia , , , , USL
226 Linux.100+.setlocale.>.en_NZ.ISO-8859-1: en_GB !.ISO8859-1 ! English,New Zealand , , , , USL
227 Linux.100+.setlocale.>.en_KR.ISO-8859-1: en_KR !.ISO8859-1 ! English,Korea , , , , USL
228 Linux.100+.setlocale.>.en_KR.ISO-8859-1: en_US !.ISO8859-1 ! English,Korea ,IBM, , ,
229 Linux.100+.setlocale.>.en_TW.ISO-8859-1: en_TW !.ISO8859-1 ! English,Taiwan , , , , USL
230 Linux.100+.setlocale.>.en_TW.ISO-8859-1: en_US !.ISO8859-1 ! English,Taiwan ,IBM, , ,
231 Linux.100+.setlocale.~.en_US.ISO-8859-1: en_US !.ISO8859-1 ! English, USA XoJIG,IBM, HP, Sun , USL
232 Linux.100+.setlocale.>.es_AR.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Argentina , , , Sun , USL
233 Linux.100+.setlocale.>.es_BO.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Bolivia , , , Sun
234 Linux.100+.setlocale.>.es_CL.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Chile , , , Sun , USL
235 Linux.100+.setlocale.>.es_CO.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Columbia , , , Sun
236 Linux.100+.setlocale.>.es_CR.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Costa Rica , , , Sun
237 Linux.100+.setlocale.>.es_EC.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Ecuador , , , Sun
238 Linux.100+.setlocale.~.es_ES.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Spain XoJIG,IBM, HP, Sun , USL
239 Linux.100+.setlocale.~.ca_ES.ISO-8859-1: ca_ES !.ISO8859-1 ! Catalan, Spain XoJIG,IBM, HP, Sun , USL
240 Linux.100+.setlocale.>.es_GT.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Guatemala , , , Sun
241 Linux.100+.setlocale.>.es_MX.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Mexico , , , Sun , USL
242 Linux.100+.setlocale.>.es_PE.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Peru , , , Sun
243 Linux.100+.setlocale.>.es_UY.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Uruguay , , , Sun
244 Linux.100+.setlocale.>.es_VE.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Venezuela , , , Sun , USL
245 ! Linux.100+.setlocale.>.et_EE.ISO-8859-1: ! Estonian, Estonia XoJIG,
246 Linux.100+.setlocale.~.fi_FI.ISO-8859-1: fi_FI !.ISO8859-1 ! Finnish, Finland XoJIG,IBM, HP, , USL ("fi")
247 ! Linux.100+.setlocale.>.fo_FO.ISO-8859-1: ! Faroese, Faeroe Island XoJIG,
248 Linux.100+.setlocale.~.fr_BE.ISO-8859-1: fr_BE !.ISO8859-1 ! French,Belgium XoJIG, , , , USL
249 Linux.100+.setlocale.~.fr_CA.ISO-8859-1: fr_CA !.ISO8859-1 ! French, Canada XoJIG,IBM, HP, , USL
250 Linux.100+.setlocale.~.fr_CH.ISO-8859-1: fr_CH !.ISO8859-1 ! French, Switzerland XoJIG,IBM, , , USL
251 Linux.100+.setlocale.~.fr_FR.ISO-8859-1: fr_FR !.ISO8859-1 ! French, France XoJIG,IBM, HP, Sun ("fr"), USL ("fr")
252 Linux.100+.setlocale.~.is_IS.ISO-8859-1: is_IS !.ISO8859-1 ! Icelandic, Iceland XoJIG,IBM, HP, , USL ("is")
253 Linux.100+.setlocale.>.it_CH.ISO-8859-1: it_IT !.ISO8859-1 ! Italian,Switzerland , , , , USL
254 Linux.100+.setlocale.~.it_IT.ISO-8859-1: it_IT !.ISO8859-1 ! Italian, Italy XoJIG,IBM, HP, Sun ("it"), USL ("it")
255 ! Linux.100+.setlocale.>.kl_GL.ISO-8859-1: ! Greenlandic, Greenland XoJIG,
256 ! Linux.100+.setlocale.>.lt_LT.ISO-8859-1: ! Lithuanian, Lithuania XoJIG,
257 ! Linux.100+.setlocale.>.lv_LV.ISO-8859-1: ! Latvian, Latvia XoJIG,
258 Linux.100+.setlocale.~.nl_BE.ISO-8859-1: nl_BE !.ISO8859-1 ! Dutch, Belgium XoJIG,IBM, , , USL
259 Linux.100+.setlocale.~.nl_NL.ISO-8859-1: nl_NL !.ISO8859-1 ! Dutch, The Netherlands XoJIG,IBM, HP, , USL ("nl")
260 Linux.100+.setlocale.~.no_NO.ISO-8859-1: no_NO !.ISO8859-1 ! Norwegian, Norway XoJIG,IBM, HP, , USL ("no")
261 Linux.100+.setlocale.~.pt_BR.ISO-8859-1: pt_BR !.ISO8859-1 ! Portuguese,Brazil , , , , USL
262 Linux.100+.setlocale.~.pt_PT.ISO-8859-1: pt_PT !.ISO8859-1 ! Portuguese, Portugal XoJIG,IBM, HP, , USL
263 Linux.100+.setlocale.>.sv_FI.ISO-8859-1: sv_SE !.ISO8859-1 ! Swedish, Finland XoJIG,
264 Linux.100+.setlocale.~.sv_SE.ISO-8859-1: sv_SE !.ISO8859-1 ! Swedish, Sweden XoJIG,IBM, HP, Sun ("sv"), USL ("sv")
268 Linux.100+.setlocale.~.cs_CS.ISO-8859-2: cs_CZ !.ISO8859-2 ! Czech(1) ,IBM, HP
269 Linux.100+.setlocale.~.hr_HR.ISO-8859-2: hr_HR !.ISO8859-2 ! Croatian, Croatia ,IBM
270 Linux.100+.setlocale.~.hu_HU.ISO-8859-2: hu_HU !.ISO8859-2 ! Hungarian, Hungry XoJIG,IBM, HP
271 Linux.100+.setlocale.~.pl_PL.ISO-8859-2: pl_PL !.ISO8859-2 ! Polish, Poland XoJIG,IBM, HP
272 Linux.100+.setlocale.~.ro_RO.ISO-8859-2: ro_RO !.ISO8859-2 ! Rumanian, Romania XoJIG,IBM, HP
273 Linux.100+.setlocale.~.sh_YU.ISO-8859-2: sh_SP !.ISO8859-2 ! Serbocroatian, Yugoslavia(1) ,IBM, HP
274 Linux.100+.setlocale.>.sl_CS.ISO-8859-2: sl_SI !.ISO8859-2 ! Slovenian , , HP
275 Linux.100+.setlocale.~.si_SI.ISO-8859-2: sl_SI !.ISO8859-2 ! Slovenian ,IBM,
276 Linux.100+.setlocale.~.sk_SK.ISO-8859-2: sk_SK !.ISO8859-2 ! Slovak ,IBM
279 Linux.100+.setlocale.~.bg_BG.ISO-8859-5: bg_BG !.ISO8859-5 ! Bulgarian, Bulgaria ,IBM, HP
280 Linux.100+.setlocale.~.mk_MK.ISO-8859-5: mk_MK !.ISO8859-5 ! Macedonian ,IBM
281 Linux.100+.setlocale.~.ru_RU.ISO-8859-5: ru_RU !.ISO8859-5 ! Russian(1) ,IBM,
282 Linux.100+.setlocale.>.ru_SU.ISO-8859-5: ru_RU !.ISO8859-5 ! Russian(1) , , HP
283 Linux.100+.setlocale.~.sp_YU.ISO-8859-5: sr_SP !.ISO8859-5 ! Serbian,Yugoslavia(1) ,IBM
286 Linux.100+.setlocale.>.ar_DZ.ISO-8859-6: ar_AA !.ISO8859-6 ! Arabic(2) , , HP
287 Linux.100+.setlocale.~.ar_SA.ISO-8859-6: ar_AA !.ISO8859-6 ! Arabic(2) ,IBM, HP
288 Linux.100+.setlocale.~.ar_SA.IBM-1046: Ar_AA !.IBM-1046 ! Arabic(2) ,IBM
291 Linux.100+.setlocale.~.iw_IL.ISO-8859-8: iw_IL !.ISO8859-8 ! Hebrew, Israel ,IBM, HP
292 Linux.100+.setlocale.~.iw_IL.IBM-856: Iw_IL !.IBM-856 ! Hebrew, Israel ,IBM
295 Linux.100+.setlocale.~.el_GR.ISO-8859-7: el_GR !.ISO8859-7 ! Greek, Greece ,IBM, HP
298 Linux.100+.setlocale.~.tr_TR.ISO-8859-9: tr_TR !.ISO8859-9 ! Turkish, Turkey ,IBM, HP
301 Linux.100+.setlocale.~.ja_JP.EUC-JP: ja_JP !.IBM-eucJP ! Japanese, Japan ,IBM, HP, Sun ("ja"), USL
302 Linux.100+.setlocale.~.ja_JP.IBM-932: Ja_JP !.IBM-932 ! Japanese, Japan ,IBM
303 Linux.100+.setlocale.>.ja_JP.HP-SJIS: Ja_JP !.IBM-932 ! Japanese, Japan aka japanese 15 , , HP,
304 Linux.100+.setlocale.~.ko_KR.EUC-KR: ko_KR !.IBM-eucKR ! Korean, Korea ,IBM, HP, Sun ("ko"), USL
305 Linux.100+.setlocale.~.zh_CN.EUC-CN: zh_CN !.IBM-eucCN ! Chinese, China ,IBM, , Sun ("zh"), USL
306 Linux.100+.setlocale.>.zh_CN.HP-15CN: zh_CN !.IBM-eucCN ! Chinese, China , , HP
307 Linux.100+.setlocale.~.zh_CN.UTF-8: ZH_CN !.UTF-8 ! Chinese, China ,IBM,
308 Linux.100+.setlocale.~.zh_TW.EUC-TW: zh_TW !.IBM-eucTW ! Chinese, Taiwan ,IBM, HP, Sun , USL
309 Linux.100+.setlocale.>.zh_TW.HP-BIG5: Zh_TW !.big5 ! Chinese, Taiwan ,IBM, HP, ,
310 ! Linux.100+.setlocale.>.zh_TW.HP-CCDC: ! Chinese, Taiwan , , HP, ,
311 ! Linux.100+.setlocale.>.ja_JP.HP-KANA8: ! Japanese, Japan , , HP, ,
315 Linux.100+.setlocale.~.th_TH.TIS-620: th_TH !.TIS-620 ! Thai, Thailand ,IBM, HP
318 ! W European/Americas, IBM-850 codeset
319 Linux.100+.setlocale.~.da_DK.IBM-850: Da_DK ! Danish, Denmark ,IBM,
320 Linux.100+.setlocale.>.de_AT.IBM-850: De_DE ! German,Austria , ,
321 Linux.100+.setlocale.~.de_CH.IBM-850: De_CH ! German,Switzerland ,IBM,
322 Linux.100+.setlocale.~.de_DE.IBM-850: De_DE ! German, Germany ,IBM,
323 Linux.100+.setlocale.>.en_AU.IBM-850: En_GB ! English,Australia , ,
324 Linux.100+.setlocale.>.en_CA.IBM-850: En_US ! English,Canada , ,
325 Linux.100+.setlocale.>.en_DK.IBM-850: En_GB ! English, Denmark , ,
326 Linux.100+.setlocale.~.en_GB.IBM-850: En_GB ! English, U.K. ,IBM,
327 Linux.100+.setlocale.~.en_JP.IBM-850: En_JP ! English, Japan ,IBM,
328 Linux.100+.setlocale.>.en_IE.IBM-850: En_GB ! English, Ireland , ,
329 Linux.100+.setlocale.>.en_MY.IBM-850: En_US ! English,Malaysia , ,
330 Linux.100+.setlocale.>.en_NZ.IBM-850: En_GB ! English,New Zealand , ,
331 Linux.100+.setlocale.>.en_KR.IBM-850: En_GB ! English,Korea , ,
332 Linux.100+.setlocale.>.en_TW.IBM-850: En_GB ! English,Taiwan , ,
333 Linux.100+.setlocale.~.en_US.IBM-850: En_US ! English, USA ,IBM,
334 Linux.100+.setlocale.>.es_AR.IBM-850: Es_ES ! Spanish, Argentina , ,
335 Linux.100+.setlocale.>.es_BO.IBM-850: Es_ES ! Spanish, Bolivia , ,
336 Linux.100+.setlocale.>.es_CL.IBM-850: Es_ES ! Spanish, Chile , ,
337 Linux.100+.setlocale.>.es_CO.IBM-850: Es_ES ! Spanish, Columbia , ,
338 Linux.100+.setlocale.>.es_CR.IBM-850: Es_ES ! Spanish, Costa Rica , ,
339 Linux.100+.setlocale.>.es_EC.IBM-850: Es_ES ! Spanish, Ecuador , ,
340 Linux.100+.setlocale.~.es_ES.IBM-850: Es_ES ! Spanish, Spain ,IBM,
341 Linux.100+.setlocale.~.ca_ES.IBM-850: Ca_ES ! Catalan, Spain ,IBM,
342 Linux.100+.setlocale.>.es_GT.IBM-850: Es_ES ! Spanish, Guatemala , ,
343 Linux.100+.setlocale.>.es_MX.IBM-850: Es_ES ! Spanish, Mexico , ,
344 Linux.100+.setlocale.>.es_PE.IBM-850: Es_ES ! Spanish, Peru , ,
345 Linux.100+.setlocale.>.es_UY.IBM-850: Es_ES ! Spanish, Uruguay , ,
346 Linux.100+.setlocale.>.es_VE.IBM-850: Es_ES ! Spanish, Venezuela , ,
347 ! Linux.100+.setlocale.>.et_EE.IBM-850: ! Estonian, Estonia ,
348 Linux.100+.setlocale.~.fi_FI.IBM-850: Fi_FI ! Finnish, Finland ,IBM,
349 ! Linux.100+.setlocale.>.fo_FO.IBM-850: ! Faroese, Faeroe Island ,
350 Linux.100+.setlocale.~.fr_BE.IBM-850: Fr_BE ! French,Belgium , ,
351 Linux.100+.setlocale.~.fr_CA.IBM-850: Fr_CA ! French, Canada ,IBM,
352 Linux.100+.setlocale.~.fr_CH.IBM-850: Fr_CH ! French, Switzerland ,IBM,
353 Linux.100+.setlocale.~.fr_FR.IBM-850: Fr_FR ! French, France ,IBM,
354 Linux.100+.setlocale.~.is_IS.IBM-850: Is_IS ! Icelandic, Iceland ,IBM,
355 Linux.100+.setlocale.>.it_CH.IBM-850: It_IT ! Italian,Switzerland , ,
356 Linux.100+.setlocale.~.it_IT.IBM-850: It_IT ! Italian, Italy ,IBM,
357 ! Linux.100+.setlocale.>.kl_GL.IBM-850: ! Greenlandic, Greenland ,
358 ! Linux.100+.setlocale.>.lt_LT.IBM-850: ! Lithuanian, Lithuania ,
359 ! Linux.100+.setlocale.>.lv_LV.IBM-850: ! Latvian, Latvia ,
360 Linux.100+.setlocale.~.nl_BE.IBM-850: Nl_BE ! Dutch, Belgium ,IBM,
361 Linux.100+.setlocale.~.nl_NL.IBM-850: Nl_NL ! Dutch, The Netherlands ,IBM,
362 Linux.100+.setlocale.~.no_NO.IBM-850: No_NO ! Norwegian, Norway ,IBM,
363 Linux.100+.setlocale.>.pt_BR.IBM-850: Pt_PT ! Portuguese,Brazil , ,
364 Linux.100+.setlocale.~.pt_PT.IBM-850: Pt_PT ! Portuguese, Portugal ,IBM,
365 Linux.100+.setlocale.>.sv_FI.IBM-850: Sv_SE ! Swedish, Finland ,
366 vvLinux.100+.setlocale.~.sv_SE.IBM-850: Sv_SE ! Swedish, Sweden ,IBM,
369 ! codesets supported for iconv(1,3) & nl_langinfo and above
370 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-1: ISO8859-1
371 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-2: ISO8859-2
372 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-5: ISO8859-5
373 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-6: ISO8859-6
374 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-7: ISO8859-7
375 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-8: ISO8859-8
376 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-9: ISO8859-9
377 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-KR: IBM-eucKR
378 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-JP: IBM-eucJP
379 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-TW: IBM-eucTW
380 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-CN: IBM-eucCN
381 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).>.?.HP-15CN: IBM-eucCN
382 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-437: IBM-437
383 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-850: IBM-850
384 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-856: IBM-856
385 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-932: IBM-932
386 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).>.?.HP-SJIS: IBM-932
387 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-1046: IBM-1046
388 Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.UTF-8: UTF-8
389 Linux.100+.iconv1,iconv3.>.?.ISO-2022-JP: fold7
390 Linux.100+.iconv1,iconv3.>.?.ISO-2022-KR: fold7
391 Linux.100+.iconv1,iconv3.>.?.ISO-2022-TW: fold7
392 Linux.100+.iconv1,iconv3.>.?.ISO-2022-CN: fold7
393 Linux.100+.iconv1,iconv3.>.?.HP-BIG5: big5
394 Linux.100+.iconv1,iconv3.>.?.TIS-620: TIS-620
396 ! codesets not supported by Linux iconv(1,3)
397 ! Linux.?.iconv1,iconv3.~.?.UCS-2:
398 ! Linux.?.iconv1,iconv3.~.?.HP-ARABIC8:
399 ! Linux.?.iconv1,iconv3.~.?.HP-GREEK8:
400 ! Linux.?.iconv1,iconv3.~.?.HP-HEBREW8
401 ! Linux.?.iconv1,iconv3.~.?.HP-ROMAN8:
402 ! Linux.?.iconv1,iconv3.~.?.HP-TURKISH8:
403 ! Linux.?.iconv1,iconv3.~.?.HP-KANA8:
404 ! Linux.?.iconv1,iconv3.~.?.HP-CCDC:
407 ! This translation provides an alternative to a call to
408 ! using setlocale() and MB_CUR_MAX to determine this.
409 Linux.100+.multibyte.=.?.EUC-KR: 2
410 Linux.100+.multibyte.=.?.HP-SJIS: 2
411 Linux.100+.multibyte.=.?.IBM-932: 2
412 Linux.100+.multibyte.=.?.EUC-JP: 3
413 ! Linux.?.multibyte.~.?.HP-CCDC: 2
414 Linux.100+.multibyte.>.?.HP-BIG5: 2
415 Linux.100+.multibyte.=.?.EUC-TW: 4
416 Linux.100+.multibyte.=.?.TIS-620: 2
417 Linux.100+.multibyte.=.?.EUC-CN: 2
418 Linux.100+.multibyte.=.?.HP-15CN: 2
419 Linux.100+.multibyte.=.?.EUC-KR: 2
420 Linux.100+.multibyte.=.?.UTF-8: 3
423 ! Translations from predefined CCDF-locales to CDE Standard Locales
424 Linux.100+.ccdf.=.?.ISO-8859-1: ISO8859-1
425 Linux.100+.ccdf.=.?.ISO-8859-2: ISO8859-2
426 Linux.100+.ccdf.=.?.ISO-8859-5: ISO8859-5
427 Linux.100+.ccdf.=.?.ISO-8859-6: ISO8859-6
428 Linux.100+.ccdf.=.?.ISO-8859-7: ISO8859-7
429 Linux.100+.ccdf.=.?.ISO-8859-8: ISO8859-8
430 Linux.100+.ccdf.=.?.ISO-8859-9: ISO8859-9
431 Linux.100+.ccdf.=.?.EUC-JP: IBM-eucJP
432 Linux.100+.ccdf.=.?.EUC-KR: IBM-eucKR
433 Linux.100+.ccdf.=.?.EUC-TW: IBM-eucTW
434 Linux.100+.ccdf.=.?.EUC-CN: IBM-eucCN
435 Linux.100+.ccdf.>.?.IBM-932: IBM-932
436 Linux.100+.ccdf.>.?.HP-SJIS: IBM-932
437 Linux.100+.ccdf.=.?.IBM-1046: IBM-1046
438 Linux.100+.ccdf.=.?.IBM-850: IBM-850
439 Linux.100+.ccdf.=.?.IBM-856: IBM-856
440 Linux.100+.ccdf.=.?.HP-BIG5: big5
441 Linux.100+.ccdf.=.?.TIS-620: TIS-620
442 Linux.100+.ccdf.=.?.UTF-8: UTF-8
443 Linux.100+.ccdf.=.?.DT-SYMBOL-1: symbol !!! standard Dt symbol font
445 ! These CDE standard locales may have CCDF-locales, but they are defined by localizers
446 Linux.100+.ccdf.>.?.HP-ROMAN8: ISO8859-1
447 Linux.100+.ccdf.>.?.HP-ARABIC8: ISO8859-6
448 Linux.100+.ccdf.>.?.HP-GREEK8: ISO8859-8
449 Linux.100+.ccdf.>.?.HP-HEBREW8: ISO8859-7
450 Linux.100+.ccdf.>.?.HP-TURKISH8: ISO8859-9
451 Linux.100+.ccdf.>.?.HP-KANA8: IBM-932
452 Linux.100+.ccdf.>.?.HP-CCDC: IBM-eucCN
456 ! Codesets that require multibyte parsing to avoid confusion with shell special chars
457 Linux.?.dtkshSpecialParse.=.ja_JP.HP-JIS: True
458 Linux.?.dtkshSpecialParse.=.ja_JP.HP-SJIS: True
459 Linux.?.dtkshSpecialParse.=.ja_JP.IBM-932: True
460 Linux.?.dtkshSpecialParse.=.zh_TW.HP-BIG5: True
461 Linux.?.dtkshSpecialParse.=.zh_TW.HP-CCDC: True
464 !! When content is exchanged with other platforms, the interchange codeset
465 !! may be different that the codeset used locally. In CDE1, these translations
466 !! are used by dtmail, but other clients may use the same translations
467 !! in the future. For example, to improve interoperability of 8-bit mail,
468 !! the mail messages of users working in codesets such as HP-ROMAN8 or IBM-850
469 !! are translated to the interchangeCodeset (in this case, ISO-8859-1) before
470 !! they are sent. Similarly, the mail of Japanese users is translated to JIS
471 !! before it is sent.
473 !! --------------------------------------------------------------------
474 !! Linux does provide the fold7 conversion which is an ISO 2022 encoding
475 !! of every code set supported by a locale... so ... the name
476 !! ISO-2022-xx ( where xx is JP, CN, KR, TW)
477 !! can be used for any of the following interchangeCodeset... but it has
478 !! been left as is in case 8-bit mail is supported...
479 !! --------------------------------------------------------------------
481 Linux.?.interchangeCodeset.~.?.ISO-8859-1: ISO-8859-1 ! ISO Latin 1
482 !Linux.?.interchangeCodeset.>.?.HP-ROMAN8: ISO-8859-1 ! HP Roman8
483 Linux.?.interchangeCodeset.>.?.IBM-850: ISO-8859-1 ! PC (Multi-lingual)
484 Linux.?.interchangeCodeset.>.?.IBM-437: ISO-8859-1 ! PC (US)
485 Linux.?.interchangeCodeset.~.?.ISO-8859-2: ISO-8859-2 ! ISO Latin 2
486 Linux.?.interchangeCodeset.~.?.ISO-8859-5: ISO-8859-5 ! ISO Latin/Cyrillic
487 Linux.?.interchangeCodeset.~.?.ISO-8859-6: ISO-8859-6 ! ISO Latin/Arabic
488 !Linux.?.interchangeCodeset.>.?.HP-ARABIC8: ISO-8859-6 ! HP Arabic8
489 Linux.?.interchangeCodeset.>.?.IBM-1046: ISO-8859-6 ! PC Arabic Code Set
490 Linux.?.interchangeCodeset.~.?.ISO-8859-8: ISO-8859-8 ! ISO Latin/Hebrew
491 !Linux.?.interchangeCodeset.>.?.HP-HEBREW8: ISO-8859-8 ! HP Hebrew8
492 Linux.?.interchangeCodeset.>.?.IBM-856: ISO-8859-8 ! PC Hebrew
493 Linux.?.interchangeCodeset.~.?.ISO-8859-7: ISO-8859-7 ! ISO Latin/Greek
494 !Linux.?.interchangeCodeset.>.?.HP-GREEK8: ISO-8859-7 ! HP Greek8
495 Linux.?.interchangeCodeset.~.?.ISO-8859-9: ISO-8859-9 ! ISO Latin 5
496 !Linux.?.interchangeCodeset.>.?.HP-TURKISH8: ISO-8859-9 ! HP Turkish8
497 Linux.?.interchangeCodeset.~.?.EUC-JP: ISO-2022-JP ! Japanese EUC
498 !Linux.?.interchangeCodeset.>.?.HP-SJIS: ISO-2022-JP ! HP Japanese Shift JIS
499 Linux.?.interchangeCodeset.>.?.IBM-932: ISO-2022-JP ! PC Japanese Shift JIS
500 !Linux.?.interchangeCodeset.>.?.HP-KANA8: ISO-2022-JP ! HP Japanese Katakana8
501 ! uncomment when ISO-2022-KR is supported by iconv
502 Linux.?.interchangeCodeset.~.?.EUC-KR: ISO-2022-KR ! Korean EUC
503 ! uncomment when ISO-2022-CN is supported by iconv
504 Linux.?.interchangeCodeset.~.?.EUC-CN: ISO-2022-CN ! China Chinese EUC
505 Linux.?.interchangeCodeset.>.?.HP-15CN: ISO-2022-CN ! HP Chinese EUC
506 ! uncomment when ISO-2022-TW is supported by iconv
507 Linux.?.interchangeCodeset.~.?.EUC-TW: ISO-2022-TW ! Taiwan Chinese EUC
508 Linux.?.interchangeCodeset.>.?.HP-BIG5: ISO-2022-TW ! HP Big5 Chinese
509 Linux.?.interchangeCodeset.>.?.HP-CCDC: ISO-2022-TW ! HP CCDC Chinese
510 Linux.?.interchangeCodeset.~.?.TIS-620: TIS-620 ! Thai
511 Linux.?.interchangeCodeset.>.?.UCS-2: ISO-2022-JP ! Unicode
512 Linux.?.interchangeCodeset.~.?.UTF-8: ISO-2022-JP ! multibyte Unicode
513 !! Codeset identifiers for use with MIME messages. The .~. translations
514 !! are used by dtmail and adhere to the MIME standard, RFC 1521.
515 !! Note that the MIME standard states that codeset identifiers are
516 !! case-insensitive. The operation-specific values on the right-hand-side
517 !! of the translations below, however, ARE case sensitive. Before
518 !! doing a OpToStd translation, first convert the MIME codeset identifier
519 !! to uppercase. Alternatively, one could provide lower-case versions
520 !! of the translations (right-hand-side only should be in lower-case).
521 Linux.?.mime.~.?.ISO-8859-1: ISO-8859-1 ! ISO Latin 1
522 Linux.?.mime.~.?.HP-ROMAN8: X-HP-ROMAN8 ! HP Roman8
523 Linux.?.mime.~.?.IBM-437: X-IBM-437 ! PC (US)
524 Linux.?.mime.~.?.IBM-850: X-IBM-850 ! PC (Multi-lingual)
525 Linux.?.mime.~.?.ISO-8859-2: ISO-8859-2 ! ISO Latin 2
526 Linux.?.mime.~.?.ISO-8859-5: ISO-8859-5 ! ISO Latin/Cyrillic
527 Linux.?.mime.~.?.ISO-8859-6: ISO-8859-6 ! ISO Latin/Arabic
528 Linux.?.mime.~.?.HP-ARABIC8: X-HP-ARABIC8 ! HP Arabic8
529 Linux.?.mime.~.?.IBM-1046: X-IBM-1046 ! PC Arabic Code Set
530 Linux.?.mime.~.?.ISO-8859-8: ISO-8859-8 ! ISO Latin/Hebrew
531 Linux.?.mime.~.?.HP-HEBREW8: X-HP-HEBREW8 ! HP Hebrew8
532 Linux.?.mime.~.?.IBM-856: X-IBM-856 ! PC Hebrew
533 Linux.?.mime.~.?.ISO-8859-7: ISO-8859-7 ! ISO Latin/Greek
534 Linux.?.mime.~.?.HP-GREEK8: X-HP-GREEK8 ! HP Greek8
535 Linux.?.mime.~.?.ISO-8859-9: ISO-8859-9 ! ISO Latin 5
536 Linux.?.mime.~.?.HP-TURKISH8: X-HP-TURKISH8 ! HP Turkish8
537 Linux.?.mime.~.?.EUC-JP: X-EUC-JP ! Japanese EUC
538 Linux.?.mime.~.?.ISO-2022-JP: ISO-2022-JP ! Japanese JIS with 7-bit encoding per ISO-2022-JP
539 Linux.?.mime.~.?.HP-SJIS: X-HP-SJIS ! HP Japanese Shift JIS
540 Linux.?.mime.~.?.IBM-932: X-IBM-932 ! PC Japanese Shift JIS
541 Linux.?.mime.~.?.HP-KANA8: X-HP-KANA8 ! HP Japanese Katakana8
542 Linux.?.mime.~.?.EUC-KR: X-EUC-KR ! Korean EUC
543 Linux.?.mime.~.?.ISO-2022-KR: ISO-2022-KR ! Korean with 7-bit encoding per ISO-2022-KR
544 Linux.?.mime.~.?.EUC-CN: X-EUC-CN ! China Chinese EUC
545 Linux.?.mime.~.?.ISO-2022-CN: ISO-2022-CN ! China Chinese with 7-bit encoding per ISO-2022-CN
546 Linux.?.mime.~.?.HP-15CN: X-HP-15CN ! HP China Chinese EUC
547 Linux.?.mime.~.?.EUC-TW: X-EUC-TW ! Taiwan Chinese EUC
548 Linux.?.mime.~.?.ISO-2022-TW: ISO-2022-TW ! Taiwan Chinese with 7-bit encoding per ISO-2022-TW
549 Linux.?.mime.~.?.HP-BIG5: X-HP-BIG5 ! HP Big5 Taiwan Chinese
550 Linux.?.mime.~.?.HP-CCDC: X-HP-CCDC ! HP CCDC Taiwan Chinese
551 Linux.?.mime.~.?.TIS-620: X-TIS-620 ! Thai
552 Linux.?.mime.~.?.UCS-2: X-UCS-2 ! Unicode; group 0, plane 0 of ISO-10646
553 Linux.?.mime.~.?.UCS-4: X-UCS-4 ! ISO-10646
554 Linux.?.mime.~.?.UTF-7: X-UTF-7 ! multibyte encoding of Unicode
555 Linux.?.mime.~.?.UTF-8: X-UTF-8 ! multibyte encoding of Unicode
556 Linux.?.mime.~.?.UTF-16: X-UTF-16 ! multibyte encoding of Unicode
558 !! If other mailers are using other codeset identifiers in their MIME
559 !! messages, dtmail will not be able to process them correctly.
560 !! To correct this, additional .<. translations for these identifiers
561 !! can be added to a <platform>.lcx file in the /etc/dt/config/svc
562 !! or $HOME/.dt/config/svc directories. Such translations should read:
563 !! <platform>.100+.mime.<.?.<CDE std codeset>: <mailer identifier for the codeset>
565 !! ***NEVER*** use a .~. translation, such as we use above, as this could
566 !! cause dtmail to send unexpected identifier strings by overriding the
567 !! above definition. Further, never use .=. or .>. translations.
569 !! These two identifiers are in common usage, as they derive from RFC1521.
570 Linux.?.mime.<.?.ISO-8859-1: us-ascii ! ISO Latin 1
571 Linux.?.mime.<.?.ISO-8859-1: US-ASCII ! ISO Latin 1