`I18n::InvalidLocale` error when `:en` is not included in `config.i18n.available_locales`
It's not a bug, but possibly a new feature! 😄
My issue:
I'm building a French-only application with solid_errors and I get this error I18n::InvalidLocale.
My application will be available in different languages, but for now, the only locale available is :fr.
In solid_errors the locale is forced in the ErrorsController by around_action :force_english_locale!
I patched it with this initializer, added the locale keys to my locale file and everything works fine:
Rails.application.config.to_prepare do
SolidErrors::ErrorsController.class_eval do
skip_around_action :force_english_locale!
end
end
My suggestions:
I think about two solutions :
- Changing the hardcoded
:enlocale and rely on the application's default locale. - Add the
SolidErrorsconfiguration to manually set the locale with:enas fallback.
Let me know if this feature catches your attention, I'm ready to help.
Hmm... You are right, I don't love this. That change originated with PR #36 which was added to avoid missing translations:
because the engine is using the custom "datetime.distance_in_words.short" translation set, which doesn't exist on rails-i18n.
So, what we need, I think, is a localization flexible approach to the views. But I would love to make the localization story in Solid Errors much better, and I am happy to see your take on it.