The Legacy-Mixed encoding

The Legacy-Mixed encoding corresponds to the traditional encoding of desktop files in older versions of the GNOME and KDE desktop files. In this encoding, the encoding of each localestring key is determined by the locale tag for that key, if any. For keys without a locale tag, the value must contain only ASCII characters.

If the locale tag includes an .ENCODING part, then that determines the encoding for the line. Otherwise, the encoding is determined by the language, or language-country pair from the locale, according to the following table.

EncodingTags
ARMSCII-8 (*)by
BIG5zh_TW.Big5
CP1251be bg
EUC-CNzh_CN.GB2312
EUC-JPja
EUC-KRko
GEORGIAN-ACADEMY (*)ka_GE.georgianacademy
GEORGIAN-PS (*)ka
ISO-8859-1br ca da de en es eu fi fr gl it nl wa no pt pt sv
ISO-8859-2cs hr hu pl ro sk sl sq sr
ISO-8859-3 eo
ISO-8859-5mk sp
ISO-8859-7el
ISO-8859-9tr
ISO-8859-13lt lv mi
ISO-8859-14ga cy
ISO-8859-15et
KOI8-Rru
KOI8-Uuk
TCVN-5712 (*)vi vi_VN.TCVN
TIS-620th

Encodings marked with a (*) are not currently supported by the GNU C Library; for this reason, implementations may choose to ignore lines in desktop files with the corresponding tags. Desktop files with these tags are currently rare or non-existent.

The encoding here is listed according to its canonical name in the GNU C Library's iconv facility. The more common tags tags found with an encoding part are listed here, so that implementors can verify that the correct encoding will be used. (In particular, note the mismatch between zh_CN.GB2312, and the canonical name EUC-CN.)