first pass on pref_language, bugfixes for participation
pref_language doesn't respect matches param; update comments
prefer config to magic constants