virolea / rosetta

Unobstrusive Internationalization solution for Rails applications.
MIT License
53 stars 1 forks source link

Persist default locale #13

Closed virolea closed 2 weeks ago

virolea commented 2 weeks ago

The first version of the default locale feature a non-persisted instance of Rosetta::Locale. It made sense since the convention in Rosetta is that your default locale is the locale the codebase is written in. Therefore there should be no need for a persisted default locale.

However, work on https://github.com/virolea/rosetta/pull/10 showed that in order to have a common pluralization API, pluralized translations need to be stored, even for the default locale. Therefore it needs to be persisted.

This PR implements a new workflow around default locales. Any installation of Rosetta without a persisted default locale will now redirect to default_locales#new. A new boolean default is added to the rosetta_locales table to set the default locale.

The default locale is memoized in Rosetta::Locale.default_locale.

The default Locale should not change in theory. It should only be set once.