Add `?locale=<localecode>` to load in a new langage.
Add `?enable=language` to enable the language selector
Or combine the two: `?enable=language&locale=<localecode>`
Still accepts a hash, but requires that the hash be a sequence of digits.
Added new locales reducer to gui:
- initializes default react-intl/localeData
- initializes default locale messages for all locales
- default locale is ‘en’ (can be overridden by URL)
Removed dependency on react-intl-redux, added ConnectedIntlProvider (uses correct locale messages from redux based on current locale)
The project loader that is exported with GUI just expects to be passed projectId as a prop, and it manages loading project data.
The part of the project loader that watches for URL hash changes for the playground is a new HOC that is only used in the various playground examples.
Previously we tested the ProjectLoader helper object, but now all loading is confined to storage. Unfortunately I wasn't able to get enzyme to wait for the storage promise to resolve within componentDidUpdate, so I can't test the actual results of storage.load, just what it was called with.
Add a setup file that configures the React adapter. Fix one deprecated usage for ProjectLoaderHOC tests.
There are some tests still broken, but these weren't called out by Enzyme.