Files coming from http://zyzzyva.net/lexicons twl06.zip (TWL06.txt) from http://www.isc.ro/en/commands/lists.html kelimelik.txt custom made. Contains many words not accepted by kelimelik. --- To make kelimelik.txt, I merged words from http://sed.free.fr/bts and a filtered full.txt.tr with the following script (I used stuff in FOUND.all) (yes, it took days to process) (and yes, there are bugs in there, shell escaping blabla). I also used tdk.txt below, diffed, and ran the script on the result and merged that to kelimelik.txt. Anyway, kelimelik.txt is a mix, not official in anyway, and may change whenever I find something better. --- #!/bin/bash while true; do read a if [[ -z $a ]]; then exit 0; fi echo $a b=`echo $a|iconv -t iso-8859-9` wget -q "http://tdkterim.gov.tr/bts/arama/?kategori=verilst&kelime=$b&ayn=tam" -O DL.html if [[ $? -ne 0 ]]; then echo $a >> ERROR echo " error" continue fi iconv -f iso8859-9 DL.html | grep -q "Güncel Türkçe Sözlük" if [[ $? -eq 0 ]]; then echo $a >> FOUND echo " found" else echo $a >> NOTFOUND echo " not found" fi iconv -f iso8859-9 DL.html | grep -q "sözü bulunamadı" if [[ $? -eq 0 ]]; then echo $a >> NOTFOUND.all echo " not found all" else echo $a >> FOUND.all echo " found all" fi done --- information below is wrong (the dictionaries are not included), but kept. ------ full.txt.tr.tar.gz from http://code.google.com/p/zemberek/downloads/list tdk.txt from http://www.teknomobil.org/cesitli-yazilimlar/1337-tdk-buyuk-turkce-sozluk.html (Buyuk.Turkce.Sozluk.zip, 32072576 MB, md5 c347f9e7a4415c22774b1e1407e7b65c) using mdbtools (http://sourceforge.net/projects/mdbtools/): (toto.mdb copy of the .mdb because of weird characters in name) bin/mdb-array toto.mdb WORDMULT|iconv -fwindows-1254 > dict.h dumping with: /home/sed/Downloads/q> cat dict.c typedef struct _WORDMULT { char * word_id; char * mult_no; char * pre_mult; char * head_mult; char * suffix; char * plural; char * special; char * language1; char * see_pre; } WORDMULT ; #include "dict.h" #include int main(void) { int i; for (i = 0; i < sizeof(WORDMULT_array) / sizeof(WORDMULT); i++) if (WORDMULT_array[i].mult_no[0] == '0' && WORDMULT_array[i].mult_no[1] == 0) printf("%s\n", WORDMULT_array[i].head_mult); return 0; } and running: ./dict |sort|uniq|grep -v " "|grep -v _|grep -v \-|grep -v ^_|grep -v [0123456789]|grep -v â|grep -v î|grep -v ^.$|grep -v ^$|grep -v Â|grep -v û > ~/c/scrabble/dictionaries/tdk.txt and removing unaccepted words in kelimelik when they popup...