feat: add i18n dependency to website workspace

This commit is contained in:
JiPai
2024-09-05 19:59:05 +08:00
parent d88633f2c6
commit 9c36f30bb0
6 changed files with 120 additions and 8 deletions

View File

@@ -0,0 +1,12 @@
import { notFound } from 'next/navigation'
import { getRequestConfig } from 'next-intl/server'
import { routing } from './routing'
export default getRequestConfig(async ({ locale }) => {
// Validate that the incoming `locale` parameter is valid
if (!routing.locales.includes(locale as any)) notFound()
return {
messages: (await import(`../locales/${locale}.json`)).default,
}
})

View File

@@ -0,0 +1,16 @@
import { defineRouting } from 'next-intl/routing'
import { createSharedPathnamesNavigation } from 'next-intl/navigation'
export const routing = defineRouting({
// A list of all locales that are supported
locales: ['en', 'zh-Hans'],
// Used when no locale matches
defaultLocale: 'en',
localePrefix: 'as-needed',
})
// Lightweight wrappers around Next.js' navigation APIs
// that will consider the routing configuration
export const { Link, redirect, usePathname, useRouter } =
createSharedPathnamesNavigation(routing)