2019-08-09 10:26:22 +00:00
|
|
|
import React from "react";
|
2019-08-13 11:26:34 +00:00
|
|
|
import { IntlProvider } from "react-intl";
|
2019-06-19 14:40:52 +00:00
|
|
|
|
2019-08-13 11:26:34 +00:00
|
|
|
export type LocaleContextType = string;
|
|
|
|
export const LocaleContext = React.createContext<LocaleContextType>("en");
|
2019-06-19 14:40:52 +00:00
|
|
|
|
|
|
|
const { Consumer: LocaleConsumer, Provider } = LocaleContext;
|
|
|
|
|
|
|
|
const LocaleProvider = ({ children }) => {
|
2019-08-13 11:26:34 +00:00
|
|
|
const [locale] = React.useState(navigator.language);
|
|
|
|
|
|
|
|
return (
|
|
|
|
<IntlProvider locale={locale}>
|
|
|
|
<Provider value={navigator.language}>{children}</Provider>
|
|
|
|
</IntlProvider>
|
|
|
|
);
|
2019-06-19 14:40:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export { LocaleConsumer, LocaleProvider };
|