Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { createStore } from 'redux'
- import reducers from '../reducers'
- const store = createStore(reducers);
- let translations = {
- 'languages': store.getState().language,
- 'store': store.getState().oneTranslation,
- 'pl': {
- },
- 'en': {
- }
- };
- let preloadStateTranslations = false;
- const lang = (TRANSLATION_ID) => {
- if (!preloadStateTranslations && window && window.preloadedInitialState) {
- if (typeof window.preloadedInitialState == "string") {
- preloadStateTranslations = JSON.parse(window.preloadedInitialState);
- }
- }
- let defaultLang = 'pl';
- let pickedLang = typeof window != 'undefined' && 'localStorage' in window && 'pickedLang' in window.localStorage ?
- window.localStorage['pickedLang'] : defaultLang;
- let stateLanguage = !store.getState().language.length && preloadStateTranslations ? preloadStateTranslations.language : store.getState().language;
- const pickedLangFromBase = stateLanguage.find(language => pickedLang == language.isoCode);
- const fromOldBase = (TRANSLATION_ID in translations[pickedLang] ? translations[pickedLang][TRANSLATION_ID] : TRANSLATION_ID);
- let oneTranslation = !store.getState().oneTranslation.length && preloadStateTranslations ? preloadStateTranslations.oneTranslation : store.getState().oneTranslation;
- const foundTranslation = oneTranslation.find(translation =>
- translation.reference == TRANSLATION_ID &&
- translation.language == pickedLangFromBase._id
- );
- if (!foundTranslation) {
- return fromOldBase;
- }
- return foundTranslation.text || foundTranslation.html || fromOldBase;
- };
- exports.pickedLang = () => {
- let stateLanguage = !store.getState().language.length && preloadStateTranslations ? preloadStateTranslations.language : store.getState().language;
- let defaultLang = 'pl';
- let pickedLang = typeof window != 'undefined' && 'localStorage' in window && 'pickedLang' in window.localStorage ?
- window.localStorage['pickedLang'] : defaultLang;
- const pickedLangFromBase = stateLanguage.find(language => pickedLang == language.isoCode);
- return pickedLangFromBase;
- };
- exports.lang = lang;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement