i18n.ts
import { notFound } from 'next/navigation';
import { getRequestConfig } from 'next-intl/server';
export const locales = ['ro', 'en'] as const;
export type Locale = (typeof locales)[number];
export function isLocale(value: string): value is Locale {
return (locales as readonly string[]).includes(value);
}
export default getRequestConfig(async ({ locale }) => {
// Validate that the incoming `locale` parameter is valid
if (locale && !isLocale(locale)) notFound();
// Ensure locale is always a string
const validLocale = locale || 'ro';
return {
locale: validLocale,
messages: (await import(`./messages/${validLocale}.json`)).default,
timeZone: 'Europe/Bucharest' // Add timezone for Romania
};
});