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
};
});