quintodrome/ui/src/i18nProvider/index.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
834 B
JavaScript
Raw Normal View History

2020-05-01 14:29:50 -08:00
import polyglotI18nProvider from 'ra-i18n-polyglot'
import dataProvider from '../dataProvider'
import en from './en.json'
const defaultLocale = function () {
const locale = localStorage.getItem('locale')
const current = JSON.parse(localStorage.getItem('translation'))
if (current && current.id === locale) {
return locale
}
return 'en'
}
const i18nProvider = polyglotI18nProvider((locale) => {
if (locale === 'en') {
return en
}
const current = JSON.parse(localStorage.getItem('translation'))
if (current && current.id === locale) {
return JSON.parse(current.data)
}
return dataProvider.getOne('translation', { id: locale }).then((res) => {
localStorage.setItem('translation', JSON.stringify(res.data))
return JSON.parse(res.data.data)
})
}, defaultLocale())
export default i18nProvider