2025-05-06 06:45:49 +00:00
|
|
|
import { useEffect } from 'react'
|
|
|
|
|
import dayjs from 'dayjs'
|
|
|
|
|
import { useStoreState } from '@/store'
|
2025-08-12 09:39:09 +00:00
|
|
|
import { dateLocales } from '@/constants/dateLocales.constant'
|
2025-05-06 06:45:49 +00:00
|
|
|
|
|
|
|
|
function useLocale() {
|
|
|
|
|
const cultureName = useStoreState((state) => state.locale.currentLang)
|
|
|
|
|
const languageList = useStoreState((state) => state.abpConfig.config?.localization.languages)
|
|
|
|
|
const twoLetterISOLanguageName = languageList?.find(
|
|
|
|
|
(lang) => lang.cultureName === cultureName,
|
|
|
|
|
)?.twoLetterISOLanguageName
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
if (cultureName && twoLetterISOLanguageName && dateLocales[twoLetterISOLanguageName]) {
|
|
|
|
|
dateLocales[twoLetterISOLanguageName]().then(() => {
|
|
|
|
|
dayjs.locale(cultureName)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}, [cultureName, twoLetterISOLanguageName])
|
|
|
|
|
|
|
|
|
|
return cultureName
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default useLocale
|