I have been working with SilverStripe for last 3 months, did many interesting and challenging things.
Today i had to fix some issues with translation and some missing files.
After trying to enable 2nd language for content my default was changed.
Polish language was changed to English and i can't rollback.
SS version: 2.4.6
was interface was running in Polish (in my admin profile it is still polish) changed to English.
Polish translation is present no files seem to be missing.
On fresh install of SS: Polish language doesn't work from start (CMS uses en_GB/US).
P.S. this might sound strange, ask as many questions as you wish, so i can explain in more detailed form.
You need to set the default locale before you enable Translatable:
When Translatable is enabled, it will create a 'Locale' field in every page and other Translatable object. If you don't set the default locale like this, then 'en_US' is used. Once done, you can't easily go back!
When I set my admin profile to Polish (after installing in Dutch :-) ), I get this (see attachment) in SilverStripe 2.4.7, so normally that should work for you as well... But you don't see any Polish, ever, not even after reloading the CMS? What version of the CMS are you using?
I would think that the backend profile settings would normally overrule the i18n::setLocale() in _config.php. There must be a reason why, as you said, i18n doesn't seem to work at all.
If _t() always returns the default, the only thing I can think of is that for some reason the pl_PL.php language file is not present in /cms/lang/ or it cannot be loaded. But I don't know why that should be...