Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. import { createStore } from 'redux'
  2. import reducers from '../reducers'
  3.  
  4. const store = createStore(reducers);
  5.  
  6. let translations = {
  7. 'languages': store.getState().language,
  8. 'store': store.getState().oneTranslation,
  9. 'pl': {
  10.  
  11. },
  12. 'en': {
  13.  
  14. }
  15. };
  16.  
  17. let preloadStateTranslations = false;
  18.  
  19. const lang = (TRANSLATION_ID) => {
  20. if (!preloadStateTranslations && window && window.preloadedInitialState) {
  21. if (typeof window.preloadedInitialState == "string") {
  22. preloadStateTranslations = JSON.parse(window.preloadedInitialState);
  23. }
  24. }
  25.  
  26. let defaultLang = 'pl';
  27. let pickedLang = typeof window != 'undefined' && 'localStorage' in window && 'pickedLang' in window.localStorage ?
  28. window.localStorage['pickedLang'] : defaultLang;
  29.  
  30. let stateLanguage = !store.getState().language.length && preloadStateTranslations ? preloadStateTranslations.language : store.getState().language;
  31. const pickedLangFromBase = stateLanguage.find(language => pickedLang == language.isoCode);
  32.  
  33. const fromOldBase = (TRANSLATION_ID in translations[pickedLang] ? translations[pickedLang][TRANSLATION_ID] : TRANSLATION_ID);
  34.  
  35. let oneTranslation = !store.getState().oneTranslation.length && preloadStateTranslations ? preloadStateTranslations.oneTranslation : store.getState().oneTranslation;
  36. const foundTranslation = oneTranslation.find(translation =>
  37. translation.reference == TRANSLATION_ID &&
  38. translation.language == pickedLangFromBase._id
  39. );
  40. if (!foundTranslation) {
  41. return fromOldBase;
  42. }
  43.  
  44. return foundTranslation.text || foundTranslation.html || fromOldBase;
  45. };
  46.  
  47. exports.pickedLang = () => {
  48. let stateLanguage = !store.getState().language.length && preloadStateTranslations ? preloadStateTranslations.language : store.getState().language;
  49.  
  50. let defaultLang = 'pl';
  51. let pickedLang = typeof window != 'undefined' && 'localStorage' in window && 'pickedLang' in window.localStorage ?
  52. window.localStorage['pickedLang'] : defaultLang;
  53.  
  54. const pickedLangFromBase = stateLanguage.find(language => pickedLang == language.isoCode);
  55.  
  56. return pickedLangFromBase;
  57. };
  58.  
  59. exports.lang = lang;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement