43 lines
893 B
TypeScript
43 lines
893 B
TypeScript
import {Formats, hasLocale} from 'next-intl'
|
|
import {getRequestConfig} from 'next-intl/server'
|
|
|
|
import {routing} from './routing'
|
|
|
|
export const formats = {
|
|
dateTime: {
|
|
short: {
|
|
day: 'numeric',
|
|
month: 'short',
|
|
year: 'numeric'
|
|
}
|
|
},
|
|
number: {
|
|
precise: {
|
|
maximumFractionDigits: 2
|
|
}
|
|
},
|
|
list: {
|
|
enumeration: {
|
|
style: 'long',
|
|
type: 'conjunction'
|
|
}
|
|
}
|
|
} satisfies Formats
|
|
|
|
export default getRequestConfig(async ({requestLocale}) => {
|
|
// Typically corresponds to the `[locale]` segment
|
|
const requested = await requestLocale
|
|
const locale = hasLocale(routing.locales, requested)
|
|
? requested
|
|
: routing.defaultLocale
|
|
|
|
/**
|
|
* https://dev.to/hpouyanmehr/split-your-translations-in-next-intl-in-a-nice-way-4jof
|
|
* Split your translations in `next-intl` in a nice way!
|
|
*/
|
|
return {
|
|
locale,
|
|
messages: (await import(`../messages/${locale}.json`)).default
|
|
}
|
|
})
|