better 2-3 letter language handling

in the db, it's always 2 or 5 letters - the convetion for po files
however is to use 3 letter language codes