O Day.js tem ótimo suporte para internacionalização. Mas note que as traduções não serão incluídas no build de seu projeto até você usá-las. É possível usar e trocar entre vários locales (algo como "localizações").
Por padrão, Day.js vem com o locale do inglês americano (English (US)).
Você está livre para contribuir com a internacionalização deste projeto abrindo uma pull request! 👍
- Retorna uma string com o locale global
import 'dayjs/locale/es'
import de from 'dayjs/locale/de'
dayjs.locale('es') // usar o locale es globalmente
dayjs.locale('de-german', de) // usar o locale de e alterar a string padrão
const customizedLocaleObject = { ... } // mais detalhes podem ser vistos na seção de customização abaixo
dayjs.locale(customizedLocaleObject) // usar locale customizado
- Mudar o locale global não afeta instâncias já existentes.
- Retorna o objeto
Dayjs
usado
Apenas altera o locale de uma instância Dayjs específica.
import 'dayjs/locale/es'
dayjs().locale('es').format() // usar locale localmente
dayjs('2018-4-28', { locale: es }) // também pode ser feito no constructor
- Via NPM:
import 'dayjs/locale/es' // carregar locale es
// require('dayjs/locale/es') // se estiver usando CommonJS
// import locale_es from 'dayjs/locale/es' -> carregar e obter objeto locale locale_es
dayjs.locale('es') // usar locale globalmente
dayjs().locale('es').format() // usar locale em uma instância específica
- Via CDN:
<script src="https://unpkg.com/dayjs"></script>
<!-- carregar locale como window.dayjs_locale_NOME -->
<script src="https://unpkg.com/dayjs/locale/pt-br"></script>
<script>
dayjs.locale('pt-br');
dayjs().locale('pt-br').format()
// obter objeto locale
var customLocale = window.dayjs_locale_zh_cn // pt-br -> pt-br
</script>
Você também pode criar seu próprio locale! Sinta-se à vontade para submeter uma pull request depois.
Template de um objeto de locale do Day.js.
const objetoLocale = {
name: 'es', // name: String
weekdays: 'Domingo_Lunes ...'.split('_'), // weekdays: Array
months: 'Enero_Febrero ... '.split('_'), // months: Array
ordinal: n => `${n}º`, // ordinal: Function (number) => return number + saída
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 de um arquivo de locale do Day.js.
import dayjs from 'dayjs'
const locale = { ... } // seu objeto de locale
dayjs.locale(locale, null, true) // carregar locale para uso posterior
export default locale