如何在Material-UI DateTimePicker(v7.13.0)中翻译月日名称?
解决Material-UI DateTimePicker西班牙语本地化问题
问题原因
你的配置遗漏了两个关键环节:
- Moment.js 需要单独加载对应语言的本地化文件,否则日期库底层仍会使用英文
- LocalizationProvider 的 locale 属性配置方式有误,无需手动解构
localeText
正确实现步骤
1. 加载Moment.js西班牙语语言包
在代码中导入Moment的西班牙语本地化文件,让Moment本身支持西班牙语日期格式化:
import 'moment/locale/es';
2. 修正LocalizationProvider配置
直接将esES作为locale属性传入组件,无需手动提取localeText,同时保留adapterLocale="es"配置以适配Moment的语言设置:
完整代码示例:
import React from "react"; import { LocalizationProvider } from "@mui/x-date-pickers"; import { AdapterMoment } from "@mui/x-date-pickers/AdapterMoment"; import { DesktopDateTimePicker } from "@mui/x-date-pickers"; import { esES } from "@mui/x-date-pickers/locales"; // 导入Moment西班牙语语言包 import 'moment/locale/es'; export default function MyDateTimePicker() { return ( <LocalizationProvider dateAdapter={AdapterMoment} locale={esES} adapterLocale="es" > <DesktopDateTimePicker label="Selecciona fecha y hora" /> </LocalizationProvider> ); }
额外说明
- 切换其他语言时,只需替换对应的locale导入(如
frFR对应法语)和Moment语言包(如import 'moment/locale/fr') - 确保
@mui/x-date-pickers与moment版本兼容,你的7.13.0版本搭配最新Moment即可正常运行
内容的提问来源于stack exchange,提问作者JM90
相关产品推荐
相关产品推荐

