diff --git a/src/services/locale.ts b/src/services/locale.ts new file mode 100644 index 00000000..dab23b9e --- /dev/null +++ b/src/services/locale.ts @@ -0,0 +1,16 @@ +'use server'; + +import {cookies} from 'next/headers'; +import {Locale, defaultLocale} from '@/i18n/config'; + +// In this example the locale is read from a cookie. You could alternatively +// also read it from a database, backend service, or any other source. +const COOKIE_NAME = 'NEXT_LOCALE'; + +export async function getUserLocale() { + return (await cookies()).get(COOKIE_NAME)?.value || defaultLocale; +} + +export async function setUserLocale(locale: Locale) { + (await cookies()).set(COOKIE_NAME, locale); +} \ No newline at end of file