Webatrice: i18n (#4562)

* implement i18n capability

* reset package.lock file

* remove custom fallback

* fix relative path for i18n files

* check for language support before fetch request

* add LanguageDropdown component, es translation file to prove functionality

* remove boilerplate

* bundle default english translation with app

* add missing file

* rollup component-level i18n files

* cleanup

Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
This commit is contained in:
Jeremy Letto 2022-02-26 21:36:53 -06:00 committed by GitHub
parent 217dc09c0f
commit 9577ada171
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 365 additions and 111 deletions

View file

@ -0,0 +1,21 @@
import { ModuleType } from 'i18next';
import { Language } from 'types';
class I18nBackend {
static type: ModuleType = 'backend';
static BASE_URL = `${process.env.PUBLIC_URL}/locales`;
read(language, namespace, callback) {
if (!Language[language]) {
callback(true, null);
return;
}
fetch(`${I18nBackend.BASE_URL}/${Language[language]}/${namespace}.json`)
.then(resp => resp.json().then(json => callback(null, json)))
.catch(error => callback(error, null));
}
}
export default I18nBackend;