http://stardict.sourceforge.net/StarDictFileFormat {6}. The collation file's format. StarDict-2.4.8 start to support collation, that sort the word list by collate function. It will create collation file which names .idx.clt and .syn.clt, the format is a little like offset cache file: First a utf-8 string terminated by '\0', then many 32-bits numbers as the index that sorted by the collate function, they are not stored in network byte order. The string must begin with: ===== StarDict's clt file version=2.4.8 ===== Then two lines like this: url=/usr/share/stardict/dic/stardict-somedict-2.4.2/somedict.idx func=0 The second line should have a ending '\n' too. StarDict support these collate functions currently: {{{ typedef enum { UTF8_GENERAL_CI = 0, UTF8_UNICODE_CI, UTF8_BIN, UTF8_CZECH_CI, UTF8_DANISH_CI, UTF8_ESPERANTO_CI, UTF8_ESTONIAN_CI, UTF8_HUNGARIAN_CI, UTF8_ICELANDIC_CI, UTF8_LATVIAN_CI, UTF8_LITHUANIAN_CI, UTF8_PERSIAN_CI, UTF8_POLISH_CI, UTF8_ROMAN_CI, UTF8_ROMANIAN_CI, UTF8_SLOVAK_CI, UTF8_SLOVENIAN_CI, UTF8_SPANISH_CI, UTF8_SPANISH2_CI, UTF8_SWEDISH_CI, UTF8_TURKISH_CI, COLLATE_FUNC_NUMS } CollateFunctions; }}} These UTF8_*_CI functions comes from MySQL in fact. The file's locate path just like the .oft file. Notice, for "somedict.idx.gz" file, the corresponding collation file is somedict.idx.clt, but not somedict.idx.gz.clt, the "url=" is somedict.idx, not somedict.idx.gz. So after you gzip the .idx file, StarDict needn't create the .clt file again.