--- /dev/null
+@!!!!!!!!!!!!!! Linux Locale-Related Translations !!!!!!!!!!!!!!
+! File: Linux.lcx
+! Default location: /usr/dt/config/svc/Linux.lcx
+! Purpose:
+! Define the Linux-specific set of locale-related translations.
+! Description:
+! This file contains the set of all locale-related translations
+! that can occur during _DtLcxXlateOpToStd() and _DtLcxStdToOp()
+! calls on Linux platforms. Note that platform-specific tables may
+! include more than one translation to and from CDE standard
+! strings if they can be distinguished by version, operation, or
+! pattern matching.
+!
+! It is important that additional CDE standard strings only
+! be created by the CDE owner of the _DtLcx translation service
+! and NOT be created by an individual vendor or user. This be because
+! the purpose of adopting a set of CDE standard strings is to
+! support interoperability across platforms. If individual vendors
+! add their own "standard" strings and these strings are not
+! known on other platforms, then the goal of interoperability
+! will be defeated.
+!
+! If you feel that a new CDE standard string is needed,
+! contact your CDE representative/vendor with a specific
+! proposal and justification and have them forward it to
+! the owner of the CDE _DtLcx service.
+!
+! Note that it is allowed for vendors and users to add new
+! operations for which translations are specified and which
+! utilize the standard strings. If the operations are of
+! general utility, please bring them to the attention of
+! your CDE representative/vendor for forwarding to the
+! _DtLcx owner.
+! Invoked by:
+! This table is used by the _DtLcx translation service
+! Defects:
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!! translation specification syntax !!!!!!!!!!!!!!!!!!!
+! Introductory fields:
+! ====================
+! The _DtLcx translation specifications have a fixed number of
+! introductory fields followed by a several standard value
+! fields and the operation-specific value.
+! The introductory fields are:
+! <platform>.<version range>.<operation(s)>.<kind>
+!
+! Platform generally is the same string as uname(1) -s.
+! Version range utilizes normalized version numbers that
+! are acquired using the 'version' translations.
+! Operations are one or more comma-separated strings that
+! uniquely identify the operation associated with the
+! operation-specific value. This string is specified
+! as part of the request for a translation.
+!
+! Kinds of translations allow the mechanism to support several modes
+! of operation, each useful for different purposes. When
+! reading or writing a specification, pay particular attention
+! to the kind of specification, as this guides the usage of it.
+!
+! Specification kinds:
+! .=. means a valid bi-directional translation requiring the op-value
+! in the translation specification to exactly match the op-value of
+! the call to _DtLcxXlateOpToStd(), e.g. foo matches only foo
+! .~. means a valid bi-directional translation requiring the op-value
+! in the translation specification to match the beginning of the
+! op-value of the call to _DtLcxXlateOpToStd(), e.g. foo matches
+! foo@@bar. This is often useful, e.g. for operation-specific
+! locale strings that may also contain modifier suffixes.
+! .>. means only from standard to op-specific (generally a
+! compatibility translation, meaning on op-specific value
+! that will work for the standard, although that is not
+! the straight mapping)
+! .<. means only from op-specific to standard (generally a
+! regex in the op-value which is used to map a class of
+! op values to a standard value)
+! .0. means that translation is not supported and if a translation
+! request matches the specification, the request will fail.
+!
+! Standard values:
+! ================
+! _DtLcx defines the order of the standard values in the
+! translations it utilizes. All translation specifications
+! must adhere to this order.
+! <std lang_terr>.<std codeset>.<std modifier>
+! In CDE 1.0, no modifiers are standard and that
+! portion of the table is unspecified. This means
+! that no CDE standard modifiers are available across
+! platforms. Operations that use only the <std codeset>
+! should specify the wildcard character ("?") for the
+! <std lang_terr> value.
+!
+! Operation-specific value:
+! =========================
+! The operation-specific value is a string that is used
+! according to the kind of translation. The syntax is
+! : <op-string>
+! or : "<op-string>", if it contains white space
+!
+! Filling in the table of translations:
+! =====================================
+! The person preparing the translation table should know
+! the minimum version of the target platform that is
+! be supported. For example, assume that we must
+! complete the table for all versions 9.00 and higher.
+!
+! The objective is then to provide two sets of translations:
+! a full set of translations from CDE standard locales to
+! valid platform locales, and a full set of translations
+! from valid platform locales to some or all CDE standard
+! locales.
+!
+! Translations from CDE standard locales to valid platform
+! locales must use the .~. .=. or .>. mappings. When there
+! is a 1:1 mapping between a CDE locale and a platform locale,
+! use the .~. or .=. mapping. See the comment below to
+! decide which to use. When there is no 1:1 mapping between
+! CDE locale and platform locale, use the .>. mapping. This
+! provides a valid translation from the CDE locale to the
+! best-suitable platform locale, but never translates from
+! that platform locale to the CDE locale.
+!
+! Translations from every platform locale to the appropriate
+! CDE locale must use the .~. .=. or .<. mappings.
+! When there is a 1:1 mapping between a platform locale and
+! a CDE standard locale, use the .~. or .=. mapping. See the
+! comment below to decide which to use. If there is a 1:1
+! mapping, but the platform locale pattern uses a regular
+! expression, or if more than one platform locale can
+! be translated to one CDE standard locale, the .<. mapping must
+! be used.
+!
+! If no appropriate CDE standard locale can be found, you have
+! identified the need for a new CDE standard locale. Refer to
+! the instructions at the head of this file for how to go about
+! registering a new CDE standard locale. You should not create
+! a new "standard" locale (the left hand side of the translation
+! specification) without registering it with CDE, because this
+! will hinder the free exchange of information across locales
+! and platforms.
+!
+! The .=. and .~. mappings are similar. The difference is
+! that the .=. mapping requires an exact string match between
+! the platform locale and the string provided to the
+! translation routine. Generally speaking, this mapping
+! is risky unless exact matchings can be guaranteed in
+! all DtLcx clients for the particular operation in question.
+! The .~. mapping is to be preferred, but the .=. translation
+! is useful in limited situations, where similar strings may
+! occur.
+!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+! define this resource to dump debug/test info
+!*debugDtXlate: True
+
+!!!!!!!!!!!!!!!! Linux Version Identificaton !!!!!!!!!!!!!!!!!
+! These translations are used by the _DtXlateGetXlateEnv()
+! call to determine the version number to use.
+!
+! To understand the translation, realize that the
+! operation-specific regexp(5) pattern on the right
+! hand side is matched against the strings returned
+! by uname(2). The best match determines the "normalized"
+! version number of the platform, which should range from
+! 001 and up. By convention, major release numbers
+! map to centuries and minor release numbers to within
+! the century.
+!
+! To determine the string that the regular expression on the
+! right hand side is matching against, use uname(1) and run
+! 'uname -r' and 'uname -v' and note the strings. During execution,
+! the strings returned by this command are retrieved and
+! concatenated "rv"--in that order, no extra spaces.
+! This is the string that the pattern must match.
+!
+! Sometimes this string may not be intuitive. For example,
+! note that Linux 3.2 returns 2 for 'uname -r' and 3 for 'uname -v'.
+! So the pattern string must be 23, not 32. Do not go by
+! the order of 'uname -rv' or 'uname -vr', as that is not used.
+!!
+
+Linux.?.version.<.100: ".*" !! any CDE value
+
+
+!!!!!!!!!!!!!!!! Linux-specific setlocale translations !!!!!!!!!!!!!!!!!!!
+! These translations are for the string returned by the
+! getlocale() or setlocale(LC_xxx,NULL) operations, but not
+! setlocale(LC_ALL,NULL) operation.
+!
+! It provides translations from Linux operation-specific
+! to CDE standard strings and back again.
+!
+! Some language,territory combinations have the following comments:
+! (1) These ISO territory names may be subject to change
+! However, their CDE names will continue to be supported
+! (2) No ISO "territory" name exists for the Arabic-speaking regions of the
+! world as a whole. Vendors have sometimes supplied their own.
+! Those names, when conformant to the ISO model, will be adopted for CDE.
+!
+!Platform Operation Lang_Terr Op-Value Language,Territory Who has
+!--- --------- ----- -------- ------------------ -------
+! Version Kind Codeset
+! ---- - ---------
+
+
+! setlocales Compliance
+Linux.100+.setlocale.~.C.IBM-850: C ! setlocales compliance ,IBM
+Linux.100+.setlocale.~.POSIX.IBM-850: POSIX ! setlocales compliance ,IBM
+Linux.100+.setlocale.~.C.ISO-8859-1: C ! setlocales compliance ,IBM, HP, Sun , USL
+Linux.100+.setlocale.~.POSIX.ISO-8859-1: POSIX ! setlocales compliance ,IBM, HP, Sun , USL
+
+! W European/Americas, Latin 1 codeset
+Linux.100+.setlocale.~.da_DK.ISO-8859-1: da_DK !.ISO8859-1 ! Danish, Denmark XoJIG,IBM, HP, , USL ("da")
+Linux.100+.setlocale.>.de_AT.ISO-8859-1: de_DE !.ISO8859-1 ! German,Austria XoJIG, , , , USL
+Linux.100+.setlocale.~.de_CH.ISO-8859-1: de_CH !.ISO8859-1 ! German,Switzerland XoJIG,IBM, , , USL
+Linux.100+.setlocale.~.de_DE.ISO-8859-1: de_DE !.ISO8859-1 ! German, Germany XoJIG,IBM, HP, Sun ("de"), USL ("de")
+Linux.100+.setlocale.>.en_AU.ISO-8859-1: en_GB !.ISO8859-1 ! English,Australia , , , , USL
+Linux.100+.setlocale.>.en_CA.ISO-8859-1: en_US !.ISO8859-1 ! English,Canada XoJIG, , , , USL
+Linux.100+.setlocale.>.en_DK.ISO-8859-1: en_GB !.ISO8859-1 ! English, Denmark XoJIG, , , , USL
+Linux.100+.setlocale.~.en_GB.ISO-8859-1: en_GB !.ISO8859-1 ! English, U.K. XoJIG,IBM, HP, , USL ("en")
+Linux.100+.setlocale.>.en_JP.ISO-8859-1: en_JP !.ISO8859-1 ! English, Japan XoJIG,IBM, , ,
+Linux.100+.setlocale.>.en_JP.ISO-8859-1: en_US !.ISO8859-1 ! English, Japan XoJIG,IBM, , ,
+Linux.100+.setlocale.>.en_IE.ISO-8859-1: en_GB !.ISO8859-1 ! English, Ireland XoJIG, , , , USL
+Linux.100+.setlocale.>.en_MY.ISO-8859-1: en_US !.ISO8859-1 ! English,Malaysia , , , , USL
+Linux.100+.setlocale.>.en_NZ.ISO-8859-1: en_GB !.ISO8859-1 ! English,New Zealand , , , , USL
+Linux.100+.setlocale.>.en_KR.ISO-8859-1: en_KR !.ISO8859-1 ! English,Korea , , , , USL
+Linux.100+.setlocale.>.en_KR.ISO-8859-1: en_US !.ISO8859-1 ! English,Korea ,IBM, , ,
+Linux.100+.setlocale.>.en_TW.ISO-8859-1: en_TW !.ISO8859-1 ! English,Taiwan , , , , USL
+Linux.100+.setlocale.>.en_TW.ISO-8859-1: en_US !.ISO8859-1 ! English,Taiwan ,IBM, , ,
+Linux.100+.setlocale.~.en_US.ISO-8859-1: en_US !.ISO8859-1 ! English, USA XoJIG,IBM, HP, Sun , USL
+Linux.100+.setlocale.>.es_AR.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Argentina , , , Sun , USL
+Linux.100+.setlocale.>.es_BO.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Bolivia , , , Sun
+Linux.100+.setlocale.>.es_CL.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Chile , , , Sun , USL
+Linux.100+.setlocale.>.es_CO.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Columbia , , , Sun
+Linux.100+.setlocale.>.es_CR.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Costa Rica , , , Sun
+Linux.100+.setlocale.>.es_EC.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Ecuador , , , Sun
+Linux.100+.setlocale.~.es_ES.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Spain XoJIG,IBM, HP, Sun , USL
+Linux.100+.setlocale.~.ca_ES.ISO-8859-1: ca_ES !.ISO8859-1 ! Catalan, Spain XoJIG,IBM, HP, Sun , USL
+Linux.100+.setlocale.>.es_GT.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Guatemala , , , Sun
+Linux.100+.setlocale.>.es_MX.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Mexico , , , Sun , USL
+Linux.100+.setlocale.>.es_PE.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Peru , , , Sun
+Linux.100+.setlocale.>.es_UY.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Uruguay , , , Sun
+Linux.100+.setlocale.>.es_VE.ISO-8859-1: es_ES !.ISO8859-1 ! Spanish, Venezuela , , , Sun , USL
+! Linux.100+.setlocale.>.et_EE.ISO-8859-1: ! Estonian, Estonia XoJIG,
+Linux.100+.setlocale.~.fi_FI.ISO-8859-1: fi_FI !.ISO8859-1 ! Finnish, Finland XoJIG,IBM, HP, , USL ("fi")
+! Linux.100+.setlocale.>.fo_FO.ISO-8859-1: ! Faroese, Faeroe Island XoJIG,
+Linux.100+.setlocale.~.fr_BE.ISO-8859-1: fr_BE !.ISO8859-1 ! French,Belgium XoJIG, , , , USL
+Linux.100+.setlocale.~.fr_CA.ISO-8859-1: fr_CA !.ISO8859-1 ! French, Canada XoJIG,IBM, HP, , USL
+Linux.100+.setlocale.~.fr_CH.ISO-8859-1: fr_CH !.ISO8859-1 ! French, Switzerland XoJIG,IBM, , , USL
+Linux.100+.setlocale.~.fr_FR.ISO-8859-1: fr_FR !.ISO8859-1 ! French, France XoJIG,IBM, HP, Sun ("fr"), USL ("fr")
+Linux.100+.setlocale.~.is_IS.ISO-8859-1: is_IS !.ISO8859-1 ! Icelandic, Iceland XoJIG,IBM, HP, , USL ("is")
+Linux.100+.setlocale.>.it_CH.ISO-8859-1: it_IT !.ISO8859-1 ! Italian,Switzerland , , , , USL
+Linux.100+.setlocale.~.it_IT.ISO-8859-1: it_IT !.ISO8859-1 ! Italian, Italy XoJIG,IBM, HP, Sun ("it"), USL ("it")
+! Linux.100+.setlocale.>.kl_GL.ISO-8859-1: ! Greenlandic, Greenland XoJIG,
+! Linux.100+.setlocale.>.lt_LT.ISO-8859-1: ! Lithuanian, Lithuania XoJIG,
+! Linux.100+.setlocale.>.lv_LV.ISO-8859-1: ! Latvian, Latvia XoJIG,
+Linux.100+.setlocale.~.nl_BE.ISO-8859-1: nl_BE !.ISO8859-1 ! Dutch, Belgium XoJIG,IBM, , , USL
+Linux.100+.setlocale.~.nl_NL.ISO-8859-1: nl_NL !.ISO8859-1 ! Dutch, The Netherlands XoJIG,IBM, HP, , USL ("nl")
+Linux.100+.setlocale.~.no_NO.ISO-8859-1: no_NO !.ISO8859-1 ! Norwegian, Norway XoJIG,IBM, HP, , USL ("no")
+Linux.100+.setlocale.~.pt_BR.ISO-8859-1: pt_BR !.ISO8859-1 ! Portuguese,Brazil , , , , USL
+Linux.100+.setlocale.~.pt_PT.ISO-8859-1: pt_PT !.ISO8859-1 ! Portuguese, Portugal XoJIG,IBM, HP, , USL
+Linux.100+.setlocale.>.sv_FI.ISO-8859-1: sv_SE !.ISO8859-1 ! Swedish, Finland XoJIG,
+Linux.100+.setlocale.~.sv_SE.ISO-8859-1: sv_SE !.ISO8859-1 ! Swedish, Sweden XoJIG,IBM, HP, Sun ("sv"), USL ("sv")
+
+
+! E European
+Linux.100+.setlocale.~.cs_CS.ISO-8859-2: cs_CZ !.ISO8859-2 ! Czech(1) ,IBM, HP
+Linux.100+.setlocale.~.hr_HR.ISO-8859-2: hr_HR !.ISO8859-2 ! Croatian, Croatia ,IBM
+Linux.100+.setlocale.~.hu_HU.ISO-8859-2: hu_HU !.ISO8859-2 ! Hungarian, Hungry XoJIG,IBM, HP
+Linux.100+.setlocale.~.pl_PL.ISO-8859-2: pl_PL !.ISO8859-2 ! Polish, Poland XoJIG,IBM, HP
+Linux.100+.setlocale.~.ro_RO.ISO-8859-2: ro_RO !.ISO8859-2 ! Rumanian, Romania XoJIG,IBM, HP
+Linux.100+.setlocale.~.sh_YU.ISO-8859-2: sh_SP !.ISO8859-2 ! Serbocroatian, Yugoslavia(1) ,IBM, HP
+Linux.100+.setlocale.>.sl_CS.ISO-8859-2: sl_SI !.ISO8859-2 ! Slovenian , , HP
+Linux.100+.setlocale.~.si_SI.ISO-8859-2: sl_SI !.ISO8859-2 ! Slovenian ,IBM,
+Linux.100+.setlocale.~.sk_SK.ISO-8859-2: sk_SK !.ISO8859-2 ! Slovak ,IBM
+
+! Cyrillic
+Linux.100+.setlocale.~.bg_BG.ISO-8859-5: bg_BG !.ISO8859-5 ! Bulgarian, Bulgaria ,IBM, HP
+Linux.100+.setlocale.~.mk_MK.ISO-8859-5: mk_MK !.ISO8859-5 ! Macedonian ,IBM
+Linux.100+.setlocale.~.ru_RU.ISO-8859-5: ru_RU !.ISO8859-5 ! Russian(1) ,IBM,
+Linux.100+.setlocale.>.ru_SU.ISO-8859-5: ru_RU !.ISO8859-5 ! Russian(1) , , HP
+Linux.100+.setlocale.~.sp_YU.ISO-8859-5: sr_SP !.ISO8859-5 ! Serbian,Yugoslavia(1) ,IBM
+
+! Arabic
+Linux.100+.setlocale.>.ar_DZ.ISO-8859-6: ar_AA !.ISO8859-6 ! Arabic(2) , , HP
+Linux.100+.setlocale.~.ar_SA.ISO-8859-6: ar_AA !.ISO8859-6 ! Arabic(2) ,IBM, HP
+Linux.100+.setlocale.~.ar_SA.IBM-1046: Ar_AA !.IBM-1046 ! Arabic(2) ,IBM
+
+! Hebrew
+Linux.100+.setlocale.~.iw_IL.ISO-8859-8: iw_IL !.ISO8859-8 ! Hebrew, Israel ,IBM, HP
+Linux.100+.setlocale.~.iw_IL.IBM-856: Iw_IL !.IBM-856 ! Hebrew, Israel ,IBM
+
+! Greek
+Linux.100+.setlocale.~.el_GR.ISO-8859-7: el_GR !.ISO8859-7 ! Greek, Greece ,IBM, HP
+
+! Turkish
+Linux.100+.setlocale.~.tr_TR.ISO-8859-9: tr_TR !.ISO8859-9 ! Turkish, Turkey ,IBM, HP
+
+! East Asia
+Linux.100+.setlocale.~.ja_JP.EUC-JP: ja_JP !.IBM-eucJP ! Japanese, Japan ,IBM, HP, Sun ("ja"), USL
+Linux.100+.setlocale.~.ja_JP.IBM-932: Ja_JP !.IBM-932 ! Japanese, Japan ,IBM
+Linux.100+.setlocale.>.ja_JP.HP-SJIS: Ja_JP !.IBM-932 ! Japanese, Japan aka japanese 15 , , HP,
+Linux.100+.setlocale.~.ko_KR.EUC-KR: ko_KR !.IBM-eucKR ! Korean, Korea ,IBM, HP, Sun ("ko"), USL
+Linux.100+.setlocale.~.zh_CN.EUC-CN: zh_CN !.IBM-eucCN ! Chinese, China ,IBM, , Sun ("zh"), USL
+Linux.100+.setlocale.>.zh_CN.HP-15CN: zh_CN !.IBM-eucCN ! Chinese, China , , HP
+Linux.100+.setlocale.~.zh_CN.UTF-8: ZH_CN !.UTF-8 ! Chinese, China ,IBM,
+Linux.100+.setlocale.~.zh_TW.EUC-TW: zh_TW !.IBM-eucTW ! Chinese, Taiwan ,IBM, HP, Sun , USL
+Linux.100+.setlocale.>.zh_TW.HP-BIG5: Zh_TW !.big5 ! Chinese, Taiwan ,IBM, HP, ,
+! Linux.100+.setlocale.>.zh_TW.HP-CCDC: ! Chinese, Taiwan , , HP, ,
+! Linux.100+.setlocale.>.ja_JP.HP-KANA8: ! Japanese, Japan , , HP, ,
+
+
+! Thai
+Linux.100+.setlocale.~.th_TH.TIS-620: th_TH !.TIS-620 ! Thai, Thailand ,IBM, HP
+
+
+! W European/Americas, IBM-850 codeset
+Linux.100+.setlocale.~.da_DK.IBM-850: Da_DK ! Danish, Denmark ,IBM,
+Linux.100+.setlocale.>.de_AT.IBM-850: De_DE ! German,Austria , ,
+Linux.100+.setlocale.~.de_CH.IBM-850: De_CH ! German,Switzerland ,IBM,
+Linux.100+.setlocale.~.de_DE.IBM-850: De_DE ! German, Germany ,IBM,
+Linux.100+.setlocale.>.en_AU.IBM-850: En_GB ! English,Australia , ,
+Linux.100+.setlocale.>.en_CA.IBM-850: En_US ! English,Canada , ,
+Linux.100+.setlocale.>.en_DK.IBM-850: En_GB ! English, Denmark , ,
+Linux.100+.setlocale.~.en_GB.IBM-850: En_GB ! English, U.K. ,IBM,
+Linux.100+.setlocale.~.en_JP.IBM-850: En_JP ! English, Japan ,IBM,
+Linux.100+.setlocale.>.en_IE.IBM-850: En_GB ! English, Ireland , ,
+Linux.100+.setlocale.>.en_MY.IBM-850: En_US ! English,Malaysia , ,
+Linux.100+.setlocale.>.en_NZ.IBM-850: En_GB ! English,New Zealand , ,
+Linux.100+.setlocale.>.en_KR.IBM-850: En_GB ! English,Korea , ,
+Linux.100+.setlocale.>.en_TW.IBM-850: En_GB ! English,Taiwan , ,
+Linux.100+.setlocale.~.en_US.IBM-850: En_US ! English, USA ,IBM,
+Linux.100+.setlocale.>.es_AR.IBM-850: Es_ES ! Spanish, Argentina , ,
+Linux.100+.setlocale.>.es_BO.IBM-850: Es_ES ! Spanish, Bolivia , ,
+Linux.100+.setlocale.>.es_CL.IBM-850: Es_ES ! Spanish, Chile , ,
+Linux.100+.setlocale.>.es_CO.IBM-850: Es_ES ! Spanish, Columbia , ,
+Linux.100+.setlocale.>.es_CR.IBM-850: Es_ES ! Spanish, Costa Rica , ,
+Linux.100+.setlocale.>.es_EC.IBM-850: Es_ES ! Spanish, Ecuador , ,
+Linux.100+.setlocale.~.es_ES.IBM-850: Es_ES ! Spanish, Spain ,IBM,
+Linux.100+.setlocale.~.ca_ES.IBM-850: Ca_ES ! Catalan, Spain ,IBM,
+Linux.100+.setlocale.>.es_GT.IBM-850: Es_ES ! Spanish, Guatemala , ,
+Linux.100+.setlocale.>.es_MX.IBM-850: Es_ES ! Spanish, Mexico , ,
+Linux.100+.setlocale.>.es_PE.IBM-850: Es_ES ! Spanish, Peru , ,
+Linux.100+.setlocale.>.es_UY.IBM-850: Es_ES ! Spanish, Uruguay , ,
+Linux.100+.setlocale.>.es_VE.IBM-850: Es_ES ! Spanish, Venezuela , ,
+! Linux.100+.setlocale.>.et_EE.IBM-850: ! Estonian, Estonia ,
+Linux.100+.setlocale.~.fi_FI.IBM-850: Fi_FI ! Finnish, Finland ,IBM,
+! Linux.100+.setlocale.>.fo_FO.IBM-850: ! Faroese, Faeroe Island ,
+Linux.100+.setlocale.~.fr_BE.IBM-850: Fr_BE ! French,Belgium , ,
+Linux.100+.setlocale.~.fr_CA.IBM-850: Fr_CA ! French, Canada ,IBM,
+Linux.100+.setlocale.~.fr_CH.IBM-850: Fr_CH ! French, Switzerland ,IBM,
+Linux.100+.setlocale.~.fr_FR.IBM-850: Fr_FR ! French, France ,IBM,
+Linux.100+.setlocale.~.is_IS.IBM-850: Is_IS ! Icelandic, Iceland ,IBM,
+Linux.100+.setlocale.>.it_CH.IBM-850: It_IT ! Italian,Switzerland , ,
+Linux.100+.setlocale.~.it_IT.IBM-850: It_IT ! Italian, Italy ,IBM,
+! Linux.100+.setlocale.>.kl_GL.IBM-850: ! Greenlandic, Greenland ,
+! Linux.100+.setlocale.>.lt_LT.IBM-850: ! Lithuanian, Lithuania ,
+! Linux.100+.setlocale.>.lv_LV.IBM-850: ! Latvian, Latvia ,
+Linux.100+.setlocale.~.nl_BE.IBM-850: Nl_BE ! Dutch, Belgium ,IBM,
+Linux.100+.setlocale.~.nl_NL.IBM-850: Nl_NL ! Dutch, The Netherlands ,IBM,
+Linux.100+.setlocale.~.no_NO.IBM-850: No_NO ! Norwegian, Norway ,IBM,
+Linux.100+.setlocale.>.pt_BR.IBM-850: Pt_PT ! Portuguese,Brazil , ,
+Linux.100+.setlocale.~.pt_PT.IBM-850: Pt_PT ! Portuguese, Portugal ,IBM,
+Linux.100+.setlocale.>.sv_FI.IBM-850: Sv_SE ! Swedish, Finland ,
+vvLinux.100+.setlocale.~.sv_SE.IBM-850: Sv_SE ! Swedish, Sweden ,IBM,
+
+
+! codesets supported for iconv(1,3) & nl_langinfo and above
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-1: ISO8859-1
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-2: ISO8859-2
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-5: ISO8859-5
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-6: ISO8859-6
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-7: ISO8859-7
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-8: ISO8859-8
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.ISO-8859-9: ISO8859-9
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-KR: IBM-eucKR
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-JP: IBM-eucJP
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-TW: IBM-eucTW
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.EUC-CN: IBM-eucCN
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).>.?.HP-15CN: IBM-eucCN
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-437: IBM-437
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-850: IBM-850
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-856: IBM-856
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-932: IBM-932
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).>.?.HP-SJIS: IBM-932
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.IBM-1046: IBM-1046
+Linux.100+.iconv1,iconv3,nl_langinfo(CODESET).=.?.UTF-8: UTF-8
+Linux.100+.iconv1,iconv3.>.?.ISO-2022-JP: fold7
+Linux.100+.iconv1,iconv3.>.?.ISO-2022-KR: fold7
+Linux.100+.iconv1,iconv3.>.?.ISO-2022-TW: fold7
+Linux.100+.iconv1,iconv3.>.?.ISO-2022-CN: fold7
+Linux.100+.iconv1,iconv3.>.?.HP-BIG5: big5
+Linux.100+.iconv1,iconv3.>.?.TIS-620: TIS-620
+
+! codesets not supported by Linux iconv(1,3)
+! Linux.?.iconv1,iconv3.~.?.UCS-2:
+! Linux.?.iconv1,iconv3.~.?.HP-ARABIC8:
+! Linux.?.iconv1,iconv3.~.?.HP-GREEK8:
+! Linux.?.iconv1,iconv3.~.?.HP-HEBREW8
+! Linux.?.iconv1,iconv3.~.?.HP-ROMAN8:
+! Linux.?.iconv1,iconv3.~.?.HP-TURKISH8:
+! Linux.?.iconv1,iconv3.~.?.HP-KANA8:
+! Linux.?.iconv1,iconv3.~.?.HP-CCDC:
+
+! multibyte codesets
+! This translation provides an alternative to a call to
+! using setlocale() and MB_CUR_MAX to determine this.
+Linux.100+.multibyte.=.?.EUC-KR: 2
+Linux.100+.multibyte.=.?.HP-SJIS: 2
+Linux.100+.multibyte.=.?.IBM-932: 2
+Linux.100+.multibyte.=.?.EUC-JP: 3
+! Linux.?.multibyte.~.?.HP-CCDC: 2
+Linux.100+.multibyte.>.?.HP-BIG5: 2
+Linux.100+.multibyte.=.?.EUC-TW: 4
+Linux.100+.multibyte.=.?.TIS-620: 2
+Linux.100+.multibyte.=.?.EUC-CN: 2
+Linux.100+.multibyte.=.?.HP-15CN: 2
+Linux.100+.multibyte.=.?.EUC-KR: 2
+Linux.100+.multibyte.=.?.UTF-8: 3
+
+
+! Translations from predefined CCDF-locales to CDE Standard Locales
+Linux.100+.ccdf.=.?.ISO-8859-1: ISO8859-1
+Linux.100+.ccdf.=.?.ISO-8859-2: ISO8859-2
+Linux.100+.ccdf.=.?.ISO-8859-5: ISO8859-5
+Linux.100+.ccdf.=.?.ISO-8859-6: ISO8859-6
+Linux.100+.ccdf.=.?.ISO-8859-7: ISO8859-7
+Linux.100+.ccdf.=.?.ISO-8859-8: ISO8859-8
+Linux.100+.ccdf.=.?.ISO-8859-9: ISO8859-9
+Linux.100+.ccdf.=.?.EUC-JP: IBM-eucJP
+Linux.100+.ccdf.=.?.EUC-KR: IBM-eucKR
+Linux.100+.ccdf.=.?.EUC-TW: IBM-eucTW
+Linux.100+.ccdf.=.?.EUC-CN: IBM-eucCN
+Linux.100+.ccdf.>.?.IBM-932: IBM-932
+Linux.100+.ccdf.>.?.HP-SJIS: IBM-932
+Linux.100+.ccdf.=.?.IBM-1046: IBM-1046
+Linux.100+.ccdf.=.?.IBM-850: IBM-850
+Linux.100+.ccdf.=.?.IBM-856: IBM-856
+Linux.100+.ccdf.=.?.HP-BIG5: big5
+Linux.100+.ccdf.=.?.TIS-620: TIS-620
+Linux.100+.ccdf.=.?.UTF-8: UTF-8
+Linux.100+.ccdf.=.?.DT-SYMBOL-1: symbol !!! standard Dt symbol font
+
+! These CDE standard locales may have CCDF-locales, but they are defined by localizers
+Linux.100+.ccdf.>.?.HP-ROMAN8: ISO8859-1
+Linux.100+.ccdf.>.?.HP-ARABIC8: ISO8859-6
+Linux.100+.ccdf.>.?.HP-GREEK8: ISO8859-8
+Linux.100+.ccdf.>.?.HP-HEBREW8: ISO8859-7
+Linux.100+.ccdf.>.?.HP-TURKISH8: ISO8859-9
+Linux.100+.ccdf.>.?.HP-KANA8: IBM-932
+Linux.100+.ccdf.>.?.HP-CCDC: IBM-eucCN
+
+
+
+! Codesets that require multibyte parsing to avoid confusion with shell special chars
+Linux.?.dtkshSpecialParse.=.ja_JP.HP-JIS: True
+Linux.?.dtkshSpecialParse.=.ja_JP.HP-SJIS: True
+Linux.?.dtkshSpecialParse.=.ja_JP.IBM-932: True
+Linux.?.dtkshSpecialParse.=.zh_TW.HP-BIG5: True
+Linux.?.dtkshSpecialParse.=.zh_TW.HP-CCDC: True
+
+
+!! When content is exchanged with other platforms, the interchange codeset
+!! may be different that the codeset used locally. In CDE1, these translations
+!! are used by dtmail, but other clients may use the same translations
+!! in the future. For example, to improve interoperability of 8-bit mail,
+!! the mail messages of users working in codesets such as HP-ROMAN8 or IBM-850
+!! are translated to the interchangeCodeset (in this case, ISO-8859-1) before
+!! they are sent. Similarly, the mail of Japanese users is translated to JIS
+!! before it is sent.
+!!
+!! --------------------------------------------------------------------
+!! Linux does provide the fold7 conversion which is an ISO 2022 encoding
+!! of every code set supported by a locale... so ... the name
+!! ISO-2022-xx ( where xx is JP, CN, KR, TW)
+!! can be used for any of the following interchangeCodeset... but it has
+!! been left as is in case 8-bit mail is supported...
+!! --------------------------------------------------------------------
+!!
+Linux.?.interchangeCodeset.~.?.ISO-8859-1: ISO-8859-1 ! ISO Latin 1
+!Linux.?.interchangeCodeset.>.?.HP-ROMAN8: ISO-8859-1 ! HP Roman8
+Linux.?.interchangeCodeset.>.?.IBM-850: ISO-8859-1 ! PC (Multi-lingual)
+Linux.?.interchangeCodeset.>.?.IBM-437: ISO-8859-1 ! PC (US)
+Linux.?.interchangeCodeset.~.?.ISO-8859-2: ISO-8859-2 ! ISO Latin 2
+Linux.?.interchangeCodeset.~.?.ISO-8859-5: ISO-8859-5 ! ISO Latin/Cyrillic
+Linux.?.interchangeCodeset.~.?.ISO-8859-6: ISO-8859-6 ! ISO Latin/Arabic
+!Linux.?.interchangeCodeset.>.?.HP-ARABIC8: ISO-8859-6 ! HP Arabic8
+Linux.?.interchangeCodeset.>.?.IBM-1046: ISO-8859-6 ! PC Arabic Code Set
+Linux.?.interchangeCodeset.~.?.ISO-8859-8: ISO-8859-8 ! ISO Latin/Hebrew
+!Linux.?.interchangeCodeset.>.?.HP-HEBREW8: ISO-8859-8 ! HP Hebrew8
+Linux.?.interchangeCodeset.>.?.IBM-856: ISO-8859-8 ! PC Hebrew
+Linux.?.interchangeCodeset.~.?.ISO-8859-7: ISO-8859-7 ! ISO Latin/Greek
+!Linux.?.interchangeCodeset.>.?.HP-GREEK8: ISO-8859-7 ! HP Greek8
+Linux.?.interchangeCodeset.~.?.ISO-8859-9: ISO-8859-9 ! ISO Latin 5
+!Linux.?.interchangeCodeset.>.?.HP-TURKISH8: ISO-8859-9 ! HP Turkish8
+Linux.?.interchangeCodeset.~.?.EUC-JP: ISO-2022-JP ! Japanese EUC
+!Linux.?.interchangeCodeset.>.?.HP-SJIS: ISO-2022-JP ! HP Japanese Shift JIS
+Linux.?.interchangeCodeset.>.?.IBM-932: ISO-2022-JP ! PC Japanese Shift JIS
+!Linux.?.interchangeCodeset.>.?.HP-KANA8: ISO-2022-JP ! HP Japanese Katakana8
+! uncomment when ISO-2022-KR is supported by iconv
+Linux.?.interchangeCodeset.~.?.EUC-KR: ISO-2022-KR ! Korean EUC
+! uncomment when ISO-2022-CN is supported by iconv
+Linux.?.interchangeCodeset.~.?.EUC-CN: ISO-2022-CN ! China Chinese EUC
+Linux.?.interchangeCodeset.>.?.HP-15CN: ISO-2022-CN ! HP Chinese EUC
+! uncomment when ISO-2022-TW is supported by iconv
+Linux.?.interchangeCodeset.~.?.EUC-TW: ISO-2022-TW ! Taiwan Chinese EUC
+Linux.?.interchangeCodeset.>.?.HP-BIG5: ISO-2022-TW ! HP Big5 Chinese
+Linux.?.interchangeCodeset.>.?.HP-CCDC: ISO-2022-TW ! HP CCDC Chinese
+Linux.?.interchangeCodeset.~.?.TIS-620: TIS-620 ! Thai
+Linux.?.interchangeCodeset.>.?.UCS-2: ISO-2022-JP ! Unicode
+Linux.?.interchangeCodeset.~.?.UTF-8: ISO-2022-JP ! multibyte Unicode
+!! Codeset identifiers for use with MIME messages. The .~. translations
+!! are used by dtmail and adhere to the MIME standard, RFC 1521.
+!! Note that the MIME standard states that codeset identifiers are
+!! case-insensitive. The operation-specific values on the right-hand-side
+!! of the translations below, however, ARE case sensitive. Before
+!! doing a OpToStd translation, first convert the MIME codeset identifier
+!! to uppercase. Alternatively, one could provide lower-case versions
+!! of the translations (right-hand-side only should be in lower-case).
+Linux.?.mime.~.?.ISO-8859-1: ISO-8859-1 ! ISO Latin 1
+Linux.?.mime.~.?.HP-ROMAN8: X-HP-ROMAN8 ! HP Roman8
+Linux.?.mime.~.?.IBM-437: X-IBM-437 ! PC (US)
+Linux.?.mime.~.?.IBM-850: X-IBM-850 ! PC (Multi-lingual)
+Linux.?.mime.~.?.ISO-8859-2: ISO-8859-2 ! ISO Latin 2
+Linux.?.mime.~.?.ISO-8859-5: ISO-8859-5 ! ISO Latin/Cyrillic
+Linux.?.mime.~.?.ISO-8859-6: ISO-8859-6 ! ISO Latin/Arabic
+Linux.?.mime.~.?.HP-ARABIC8: X-HP-ARABIC8 ! HP Arabic8
+Linux.?.mime.~.?.IBM-1046: X-IBM-1046 ! PC Arabic Code Set
+Linux.?.mime.~.?.ISO-8859-8: ISO-8859-8 ! ISO Latin/Hebrew
+Linux.?.mime.~.?.HP-HEBREW8: X-HP-HEBREW8 ! HP Hebrew8
+Linux.?.mime.~.?.IBM-856: X-IBM-856 ! PC Hebrew
+Linux.?.mime.~.?.ISO-8859-7: ISO-8859-7 ! ISO Latin/Greek
+Linux.?.mime.~.?.HP-GREEK8: X-HP-GREEK8 ! HP Greek8
+Linux.?.mime.~.?.ISO-8859-9: ISO-8859-9 ! ISO Latin 5
+Linux.?.mime.~.?.HP-TURKISH8: X-HP-TURKISH8 ! HP Turkish8
+Linux.?.mime.~.?.EUC-JP: X-EUC-JP ! Japanese EUC
+Linux.?.mime.~.?.ISO-2022-JP: ISO-2022-JP ! Japanese JIS with 7-bit encoding per ISO-2022-JP
+Linux.?.mime.~.?.HP-SJIS: X-HP-SJIS ! HP Japanese Shift JIS
+Linux.?.mime.~.?.IBM-932: X-IBM-932 ! PC Japanese Shift JIS
+Linux.?.mime.~.?.HP-KANA8: X-HP-KANA8 ! HP Japanese Katakana8
+Linux.?.mime.~.?.EUC-KR: X-EUC-KR ! Korean EUC
+Linux.?.mime.~.?.ISO-2022-KR: ISO-2022-KR ! Korean with 7-bit encoding per ISO-2022-KR
+Linux.?.mime.~.?.EUC-CN: X-EUC-CN ! China Chinese EUC
+Linux.?.mime.~.?.ISO-2022-CN: ISO-2022-CN ! China Chinese with 7-bit encoding per ISO-2022-CN
+Linux.?.mime.~.?.HP-15CN: X-HP-15CN ! HP China Chinese EUC
+Linux.?.mime.~.?.EUC-TW: X-EUC-TW ! Taiwan Chinese EUC
+Linux.?.mime.~.?.ISO-2022-TW: ISO-2022-TW ! Taiwan Chinese with 7-bit encoding per ISO-2022-TW
+Linux.?.mime.~.?.HP-BIG5: X-HP-BIG5 ! HP Big5 Taiwan Chinese
+Linux.?.mime.~.?.HP-CCDC: X-HP-CCDC ! HP CCDC Taiwan Chinese
+Linux.?.mime.~.?.TIS-620: X-TIS-620 ! Thai
+Linux.?.mime.~.?.UCS-2: X-UCS-2 ! Unicode; group 0, plane 0 of ISO-10646
+Linux.?.mime.~.?.UCS-4: X-UCS-4 ! ISO-10646
+Linux.?.mime.~.?.UTF-7: X-UTF-7 ! multibyte encoding of Unicode
+Linux.?.mime.~.?.UTF-8: X-UTF-8 ! multibyte encoding of Unicode
+Linux.?.mime.~.?.UTF-16: X-UTF-16 ! multibyte encoding of Unicode
+
+!! If other mailers are using other codeset identifiers in their MIME
+!! messages, dtmail will not be able to process them correctly.
+!! To correct this, additional .<. translations for these identifiers
+!! can be added to a <platform>.lcx file in the /etc/dt/config/svc
+!! or $HOME/.dt/config/svc directories. Such translations should read:
+!! <platform>.100+.mime.<.?.<CDE std codeset>: <mailer identifier for the codeset>
+!!
+!! ***NEVER*** use a .~. translation, such as we use above, as this could
+!! cause dtmail to send unexpected identifier strings by overriding the
+!! above definition. Further, never use .=. or .>. translations.
+!!
+!! These two identifiers are in common usage, as they derive from RFC1521.
+Linux.?.mime.<.?.ISO-8859-1: us-ascii ! ISO Latin 1
+Linux.?.mime.<.?.ISO-8859-1: US-ASCII ! ISO Latin 1