Files
klz-cables.com/i18n/request.ts

32 lines
857 B
TypeScript

import { getRequestConfig } from 'next-intl/server';
import * as Sentry from '@sentry/nextjs';
export default getRequestConfig(async ({ requestLocale }) => {
let locale = await requestLocale;
// Ensure that a valid locale is used
if (!locale || !['en', 'de'].includes(locale)) {
locale = 'en';
}
return {
locale,
messages: (await import(`../messages/${locale}.json`)).default,
onError(error) {
if (error.code === 'MISSING_MESSAGE') {
console.error(error.message);
} else {
console.error(error);
}
Sentry.captureException(error);
},
getMessageFallback({ namespace, key, error }) {
const path = [namespace, key].filter((part) => part != null).join('.');
if (error.code === 'MISSING_MESSAGE') {
return path;
}
return 'fallback';
}
} as any;
});