I'm working on a single-language site where the language is Polish.
The proposed "i18n::set_default_lang('pl');" or "i18n::set_default_lang('pl_PL');" added to _config.php has no effect on the site, it only affects the Translatable class. There is however the i18n::$default_locale member variable that seems to be used no matter what I call i18n::set_default_lang() with.
Presently I have changed i18n::$default_locale to pl_PL and the site works as expected (e.g. with Polish validation messages in forms) but this clearly is not the proper way of doing this.
Is this a bug? If so, should I file a bug report somewhere? Maybe i18n::set_default_lang function should be patched to set the i18n::$default_locale variable in addition to what it does?
On a side-note: I really like silverstripe's approach to building CMS sites, it's a bit rough around the edges, but generally a very nice system :)