diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-01-28 16:21:47 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-01-28 16:21:47 +0100 |
| commit | 2bae7c43764df5678fe2fc2e68be11ae95d85a41 (patch) | |
| tree | 761f1283ace5681378b2a1d90fc05d8816e5eb41 /src/pages/blog | |
| parent | 341c256566f4e2301c0adeaaa7c6833070bf0e86 (diff) | |
fix: handle translation with lingui
The previous method was not working so I tried a different approach.
Translation is loaded but I'm still getting warnings:
* Plurals for locale undefined aren't loaded
* Text content did not match
I can't figure how to fix them...
Diffstat (limited to 'src/pages/blog')
| -rw-r--r-- | src/pages/blog/index.tsx | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/pages/blog/index.tsx b/src/pages/blog/index.tsx index e0d1485..0650cfb 100644 --- a/src/pages/blog/index.tsx +++ b/src/pages/blog/index.tsx @@ -1,4 +1,4 @@ -import { GetStaticProps } from 'next'; +import { GetStaticProps, GetStaticPropsContext } from 'next'; import Head from 'next/head'; import { t } from '@lingui/macro'; import { getLayout } from '@components/Layouts/Layout'; @@ -6,7 +6,7 @@ import { seo } from '@config/seo'; import { config } from '@config/website'; import { NextPageWithLayout } from '@ts/types/app'; import { BlogPageProps, PostsList as PostsListData } from '@ts/types/blog'; -import { loadTranslation } from '@utils/helpers/i18n'; +import { defaultLocale, loadTranslation } from '@utils/helpers/i18n'; import PostsList from '@components/PostsList/PostsList'; import useSWRInfinite from 'swr/infinite'; import { Button } from '@components/Buttons'; @@ -161,13 +161,13 @@ const Blog: NextPageWithLayout<BlogPageProps> = ({ fallback }) => { Blog.getLayout = getLayout; -export const getStaticProps: GetStaticProps = async (context) => { - const translation = await loadTranslation( - context.locale!, - process.env.NODE_ENV === 'production' - ); - const data = await getPublishedPosts({ first: config.postsPerPage }); +export const getStaticProps: GetStaticProps = async ( + context: GetStaticPropsContext +) => { const breadcrumbTitle = t`Blog`; + const data = await getPublishedPosts({ first: config.postsPerPage }); + const { locale } = context; + const translation = await loadTranslation(locale || defaultLocale); return { props: { @@ -175,6 +175,7 @@ export const getStaticProps: GetStaticProps = async (context) => { fallback: { '/api/posts': data, }, + locale, translation, }, }; |
