Day.js soporta muy bien la internacionalización.
Pero no se incluirá en tu compilación final a menos que así lo requieras.
Por defecto, Day.js viene con la configuración regional de Estados Unidos (Inglés).
Pero podemos cargar diferentes configuraciones regionales y alternar entre ellas fácilmente.
Lista de configuraciones regionales soportadas
Estás más que invitado a añadir otra configuración regional abriendo una pull request 👍.
- Devuelve una cadena de configuración regional
import 'dayjs/locale/es'
import de from 'dayjs/locale/de'
dayjs.locale('es') // uso global de la configuración regional cargada
// uso de la configuración regional y actualización de su nombre predeterminado
dayjs.locale('de-german', de)
// Ver más detalles en la sección «Personalización» más abajo
const customizedLocaleObject = { ... }
// uso de la configuración regional personalizada
dayjs.locale(customizedLocaleObject)
dayjs.locale('en') // switch back to default English locale globally
- Cambiar la configuración regional global no afecta a las instancias ya existentes.
- Devuelve un nuevo objeto
Dayjs
con la nueva configuración regional.
Se usa igual que dayjs#locale
, con la salvedad de que se utiliza locale
sobre una instancia específica.
import 'dayjs/locale/es'
dayjs().locale('es').format() // uso local de la configuración regional cargada
dayjs('2018-4-28', { locale: es }) // ídem, pero mediante el constructor
- Vía NPM:
import 'dayjs/locale/es' // carga bajo demanda
// require('dayjs/locale/es') // CommonJS
// import locale_es from 'dayjs/locale/es' -> carga y obtiene el objeto de configuración regional en locale_es
dayjs.locale('es') // uso global de la configuración regional
// uso de la configuración regional en una instancia específica
dayjs().locale('es').format()
- Vía CDN:
<script src="https://unpkg.com/dayjs"></script>
<!-- Load locale as window.dayjs_locale_NAME -->
<script src="https://unpkg.com/dayjs/locale/zh-cn"></script>
<script>
dayjs.locale('zh-cn');
dayjs().locale('zh-cn').format()
// get locale object
var customLocale = window.dayjs_locale_zh_cn // zh-cn -> zh_cn
</script>
You could create your own locale.
Feel free to open a pull request to share your locale.
Template of a Day.js locale Object.
const localeObject = {
name: 'es', // name String
weekdays: 'Domingo_Lunes ...'.split('_'), // weekdays Array
weekdaysShort: 'Sun_M'.split('_'), // OPTIONAL, short weekdays Array, use first three letters if not provided
weekdaysMin: 'Su_Mo'.split('_'), // OPTIONAL, min weekdays Array, use first two letters if not provided
months: 'Enero_Febrero ... '.split('_'), // months Array
monthsShort: 'Jan_F'.split('_'), // OPTIONAL, short months Array, use first three letters if not provided
ordinal: n => `${n}º`, // ordinal Function (number) => return number + output
relativeTime: { // relative time format strings, keep %s %d as the same
future: 'in %s', // e.g. in 2 hours, %s been replaced with 2hours
past: '%s ago',
s: 'a few seconds',
m: 'a minute',
mm: '%d minutes',
h: 'an hour',
hh: '%d hours', // e.g. 2 hours, %d been replaced with 2
d: 'a day',
dd: '%d days',
M: 'a month',
MM: '%d months',
y: 'a year',
yy: '%d years'
}
}
Template of a Day.js locale file.
import dayjs from 'dayjs'
const locale = { ... } // Your Day.js locale Object.
dayjs.locale(locale, null, true) // load locale for later use
export default locale