aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/_app.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/_app.tsx')
-rw-r--r--src/pages/_app.tsx28
1 files changed, 8 insertions, 20 deletions
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index a22c616..db021f9 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -1,31 +1,19 @@
-import { useEffect, useRef } from 'react';
-import { useRouter } from 'next/router';
+import { useEffect } from 'react';
import { i18n } from '@lingui/core';
import { I18nProvider } from '@lingui/react';
import { AppPropsWithLayout } from '@ts/types/app';
-import { initTranslation } from '@utils/helpers/i18n';
+import { activateLocale, defaultLocale, initLingui } from '@utils/helpers/i18n';
import '../styles/globals.scss';
import { ThemeProvider } from 'next-themes';
-initTranslation(i18n);
+initLingui(defaultLocale);
-function MyApp({ Component, pageProps }: AppPropsWithLayout) {
- const router = useRouter();
- const locale: string = router.locale || router.defaultLocale!;
- const firstRender = useRef(true);
-
- if (pageProps.translation && firstRender.current) {
- i18n.load(locale, pageProps.translation);
- i18n.activate(locale);
- firstRender.current = false;
- }
+const MyApp = ({ Component, pageProps }: AppPropsWithLayout) => {
+ const locale: string = pageProps.locale || defaultLocale;
useEffect(() => {
- if (pageProps.translation) {
- i18n.load(locale, pageProps.translation);
- i18n.activate(locale);
- }
- }, [locale, pageProps.translation]);
+ activateLocale(locale, pageProps.translation);
+ });
const getLayout = Component.getLayout ?? ((page) => page);
return (
@@ -39,6 +27,6 @@ function MyApp({ Component, pageProps }: AppPropsWithLayout) {
</ThemeProvider>
</I18nProvider>
);
-}
+};
export default MyApp;