diff --git a/.yarn/cache/@formatjs-ecma402-abstract-npm-1.11.4-98baf4d2cc-05dbe1c645.zip b/.yarn/cache/@formatjs-ecma402-abstract-npm-1.11.4-98baf4d2cc-05dbe1c645.zip new file mode 100644 index 000000000..b142b502c Binary files /dev/null and b/.yarn/cache/@formatjs-ecma402-abstract-npm-1.11.4-98baf4d2cc-05dbe1c645.zip differ diff --git a/.yarn/cache/@formatjs-ecma402-abstract-npm-1.17.0-e86778d1fc-cc45d238e5.zip b/.yarn/cache/@formatjs-ecma402-abstract-npm-1.17.0-e86778d1fc-cc45d238e5.zip new file mode 100644 index 000000000..ccb19a5ab Binary files /dev/null and b/.yarn/cache/@formatjs-ecma402-abstract-npm-1.17.0-e86778d1fc-cc45d238e5.zip differ diff --git a/.yarn/cache/@formatjs-fast-memoize-npm-1.2.1-e1ac6697b8-7df9e94114.zip b/.yarn/cache/@formatjs-fast-memoize-npm-1.2.1-e1ac6697b8-7df9e94114.zip new file mode 100644 index 000000000..deef27276 Binary files /dev/null and b/.yarn/cache/@formatjs-fast-memoize-npm-1.2.1-e1ac6697b8-7df9e94114.zip differ diff --git a/.yarn/cache/@formatjs-icu-messageformat-parser-npm-2.1.0-2edfa20736-8dab4d102b.zip b/.yarn/cache/@formatjs-icu-messageformat-parser-npm-2.1.0-2edfa20736-8dab4d102b.zip new file mode 100644 index 000000000..713888a10 Binary files /dev/null and b/.yarn/cache/@formatjs-icu-messageformat-parser-npm-2.1.0-2edfa20736-8dab4d102b.zip differ diff --git a/.yarn/cache/@formatjs-icu-skeleton-parser-npm-1.3.6-d4a8303901-cce2d8bea5.zip b/.yarn/cache/@formatjs-icu-skeleton-parser-npm-1.3.6-d4a8303901-cce2d8bea5.zip new file mode 100644 index 000000000..af092052a Binary files /dev/null and b/.yarn/cache/@formatjs-icu-skeleton-parser-npm-1.3.6-d4a8303901-cce2d8bea5.zip differ diff --git a/.yarn/cache/@formatjs-intl-localematcher-npm-0.2.25-6e304157f3-ee00ddc233.zip b/.yarn/cache/@formatjs-intl-localematcher-npm-0.2.25-6e304157f3-ee00ddc233.zip new file mode 100644 index 000000000..f81b1fdb9 Binary files /dev/null and b/.yarn/cache/@formatjs-intl-localematcher-npm-0.2.25-6e304157f3-ee00ddc233.zip differ diff --git a/.yarn/cache/@formatjs-intl-localematcher-npm-0.2.32-1117c79148-477e18aaba.zip b/.yarn/cache/@formatjs-intl-localematcher-npm-0.2.32-1117c79148-477e18aaba.zip new file mode 100644 index 000000000..a41720044 Binary files /dev/null and b/.yarn/cache/@formatjs-intl-localematcher-npm-0.2.32-1117c79148-477e18aaba.zip differ diff --git a/.yarn/cache/intl-messageformat-npm-9.13.0-7b380a28e9-effb840ae6.zip b/.yarn/cache/intl-messageformat-npm-9.13.0-7b380a28e9-effb840ae6.zip new file mode 100644 index 000000000..fda59675c Binary files /dev/null and b/.yarn/cache/intl-messageformat-npm-9.13.0-7b380a28e9-effb840ae6.zip differ diff --git a/.yarn/cache/next-intl-npm-2.19.1-d3fdbffe0b-b4c3cfbb22.zip b/.yarn/cache/next-intl-npm-2.19.1-d3fdbffe0b-b4c3cfbb22.zip new file mode 100644 index 000000000..38645bbba Binary files /dev/null and b/.yarn/cache/next-intl-npm-2.19.1-d3fdbffe0b-b4c3cfbb22.zip differ diff --git a/.yarn/cache/use-intl-npm-2.19.1-f53642df96-9c249791a4.zip b/.yarn/cache/use-intl-npm-2.19.1-f53642df96-9c249791a4.zip new file mode 100644 index 000000000..5997b9463 Binary files /dev/null and b/.yarn/cache/use-intl-npm-2.19.1-f53642df96-9c249791a4.zip differ diff --git a/app/[lang]/[page]/layout.tsx b/app/[locale]/[page]/layout.tsx similarity index 100% rename from app/[lang]/[page]/layout.tsx rename to app/[locale]/[page]/layout.tsx diff --git a/app/[lang]/[page]/opengraph-image.tsx b/app/[locale]/[page]/opengraph-image.tsx similarity index 100% rename from app/[lang]/[page]/opengraph-image.tsx rename to app/[locale]/[page]/opengraph-image.tsx diff --git a/app/[lang]/[page]/page.tsx b/app/[locale]/[page]/page.tsx similarity index 100% rename from app/[lang]/[page]/page.tsx rename to app/[locale]/[page]/page.tsx diff --git a/app/[lang]/error.tsx b/app/[locale]/error.tsx similarity index 100% rename from app/[lang]/error.tsx rename to app/[locale]/error.tsx diff --git a/app/[lang]/globals.css b/app/[locale]/globals.css similarity index 100% rename from app/[lang]/globals.css rename to app/[locale]/globals.css diff --git a/app/[lang]/images/home-image-001.webp b/app/[locale]/images/home-image-001.webp similarity index 100% rename from app/[lang]/images/home-image-001.webp rename to app/[locale]/images/home-image-001.webp diff --git a/app/[lang]/layout.tsx b/app/[locale]/layout.tsx similarity index 75% rename from app/[lang]/layout.tsx rename to app/[locale]/layout.tsx index b4b4eefe0..72154a809 100644 --- a/app/[lang]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -1,11 +1,11 @@ import Navbar from 'components/layout/navbar'; -import { Locale, i18n } from 'i18n-config'; +import { Locale } from 'i18n-config'; import { Noto_Sans_JP } from 'next/font/google'; import localFont from 'next/font/local'; import { ReactNode, Suspense } from 'react'; -import { LanguageProvider } from 'app/context/language-context'; -import { getDictionary } from 'dictionaries'; +import { NextIntlClientProvider } from 'next-intl'; +import { notFound } from 'next/navigation'; import './globals.css'; const { TWITTER_CREATOR, TWITTER_SITE, SITE_NAME } = process.env; @@ -69,8 +69,8 @@ const mincho = localFont({ variable: '--font-mincho' }); -export async function generateStaticParams() { - return i18n.locales.map((locale) => ({ lang: locale })); +export function generateStaticParams() { + return [{ locale: 'en' }, { locale: 'ja' }]; } export default async function RootLayout({ @@ -78,20 +78,25 @@ export default async function RootLayout({ params }: { children: ReactNode; - params: { lang: Locale }; + params: { locale: Locale }; }) { - const dictionary = await getDictionary(params?.lang); + let messages; + try { + messages = (await import(`../../messages/${params?.locale}.json`)).default; + } catch (error) { + notFound(); + } return ( - +