first commit
This commit is contained in:
32
i18n/i18n.ts
Normal file
32
i18n/i18n.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { getRequestConfig } from "next-intl/server"
|
||||
import { notFound } from "next/navigation"
|
||||
|
||||
export const locales = ["ru", "tm"] as const
|
||||
export const defaultLocale = "ru" as const
|
||||
|
||||
export default getRequestConfig(async ({ requestLocale }) => {
|
||||
let locale = await requestLocale
|
||||
|
||||
// Fallback to default if undefined
|
||||
if (!locale) {
|
||||
locale = defaultLocale
|
||||
}
|
||||
|
||||
// Validate locale
|
||||
if (!locales.includes(locale as any)) {
|
||||
notFound()
|
||||
}
|
||||
|
||||
try {
|
||||
const messages = (await import(`./messages/${locale}.json`)).default
|
||||
return {
|
||||
locale,
|
||||
messages,
|
||||
}
|
||||
} catch (error) {
|
||||
return {
|
||||
locale,
|
||||
messages: {},
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user