diff --git a/package.json b/package.json index 61b359d08..20dd412b5 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "scratch-audio": "latest", "scratch-paint": "latest", "scratch-blocks": "latest", - "scratch-l10n": "1.0.20171013211708", + "scratch-l10n": "^2.0.0", "scratch-render": "latest", "scratch-storage": "^0.2.0", "scratch-vm": "latest", diff --git a/src/reducers/intl.js b/src/reducers/intl.js index e2a59e6b3..12841c407 100644 --- a/src/reducers/intl.js +++ b/src/reducers/intl.js @@ -1,25 +1,30 @@ import {addLocaleData} from 'react-intl'; import {updateIntl as superUpdateIntl} from 'react-intl-redux'; import {IntlProvider, intlReducer} from 'react-intl-redux'; +import defaultsDeep from 'lodash.defaultsdeep'; -import locales from 'scratch-l10n'; +import localeData from 'scratch-l10n'; +import guiMessages from 'scratch-l10n/locales/gui-msgs'; +import paintMessages from 'scratch-l10n/locales/paint-msgs'; -Object.keys(locales).forEach(locale => { +const combinedMessages = defaultsDeep({}, guiMessages.messages, paintMessages.messages); + +Object.keys(localeData).forEach(locale => { // TODO: will need to handle locales not in the default intl - see www/custom-locales - addLocaleData(locales[locale].localeData); + addLocaleData(localeData[locale].localeData); }); const intlInitialState = { intl: { defaultLocale: 'en', locale: 'en', - messages: locales.en.messages + messages: combinedMessages.en.messages } }; const updateIntl = locale => superUpdateIntl({ locale: locale, - messages: locales[locale].messages || locales.en.messages + messages: combinedMessages[locale].messages || combinedMessages.en.messages }); export {