- implement i18n

- translation dynamic for sections
- added articles for SEO
This commit is contained in:
Amruth Pillai
2020-07-16 08:42:19 +05:30
parent b7c565de79
commit a7657b4a5c
74 changed files with 2373 additions and 586 deletions

View File

@ -1,5 +1,14 @@
import arrayMove from 'array-move';
import { clone, findIndex, get, isUndefined, merge, setWith } from 'lodash';
import {
clone,
findIndex,
get,
isUndefined,
merge,
setWith,
set,
has,
} from 'lodash';
import React, {
createContext,
memo,
@ -7,6 +16,7 @@ import React, {
useContext,
useReducer,
} from 'react';
import i18next from 'i18next';
import demoState from '../data/demoState.json';
import initialState from '../data/initialState.json';
import DatabaseContext from './DatabaseContext';
@ -73,6 +83,18 @@ const ResumeProvider = ({ children }) => {
debouncedUpdateResume(newState);
return newState;
case 'change_language':
newState = clone(state);
items = get(
i18next.getDataByLanguage(payload),
'translation.builder.sections',
);
Object.keys(items).forEach((key) => {
has(newState, `${key}.heading`) &&
set(newState, `${key}.heading`, items[key]);
});
return newState;
case 'reset_layout':
temp = get(state, 'metadata.template');
items = get(initialState, `metadata.layout.${temp}`);