Fix en locale, symlinks and use async await

This commit is contained in:
dominik-zeglen 2020-09-04 14:52:28 +02:00
parent 8e0740372a
commit ce6d9d835a
6 changed files with 17 additions and 18 deletions

View file

@ -1 +0,0 @@
defaultMessages.json

View file

@ -1 +0,0 @@
es_CO.json

View file

@ -1 +0,0 @@
pt_BR.json

View file

@ -1 +0,0 @@
zh-Hans.json

View file

@ -1 +0,0 @@
zh-Hant.json

View file

@ -1,6 +1,5 @@
import useLocalStorage from "@saleor/hooks/useLocalStorage"; import useLocalStorage from "@saleor/hooks/useLocalStorage";
import React from "react"; import React from "react";
import { useEffect } from "react";
import { IntlProvider } from "react-intl"; import { IntlProvider } from "react-intl";
export enum Locale { export enum Locale {
@ -15,7 +14,7 @@ export enum Locale {
EL = "el", EL = "el",
EN = "en", EN = "en",
ES = "es", ES = "es",
ES_CO = "es-co", ES_CO = "es-CO",
ET = "et", ET = "et",
FA = "fa", FA = "fa",
FR = "fr", FR = "fr",
@ -32,7 +31,7 @@ export enum Locale {
NL = "nl", NL = "nl",
PL = "pl", PL = "pl",
PT = "pt", PT = "pt",
PT_BR = "pt-br", PT_BR = "pt-BR",
RO = "ro", RO = "ro",
RU = "ru", RU = "ru",
SK = "sk", SK = "sk",
@ -44,8 +43,8 @@ export enum Locale {
TR = "tr", TR = "tr",
UK = "uk", UK = "uk",
VI = "vi", VI = "vi",
ZH_HANS = "zh-hans", ZH_HANS = "zh-Hans",
ZH_HANT = "zh-hant" ZH_HANT = "zh-Hant"
} }
interface StructuredMessage { interface StructuredMessage {
@ -144,16 +143,21 @@ const LocaleProvider: React.FC = ({ children }) => {
"locale", "locale",
getMatchingLocale(navigator.languages) || defaultLocale getMatchingLocale(navigator.languages) || defaultLocale
); );
const [messages, setMessages] = useLocalStorage("messages", {}); const [messages, setMessages] = React.useState(undefined);
useEffect(() => { React.useEffect(() => {
async function changeLocale() {
if (locale !== defaultLocale) { if (locale !== defaultLocale) {
// It seems like Webpack is unable to use aliases for lazy imports // It seems like Webpack is unable to use aliases for lazy imports
import(`../../../locale/${locale}.json`).then(({ default: res }) => const mod = await import(`../../../locale/${locale}.json`);
setMessages(res) setMessages(mod.default);
); } else {
setMessages(undefined);
} }
}); }
changeLocale();
}, [locale]);
return ( return (
<IntlProvider <IntlProvider