Skip to content

Latest commit

 

History

History
105 lines (80 loc) · 3.05 KB

I18n.md

File metadata and controls

105 lines (80 loc) · 3.05 KB

Internacionalização

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)).

Lista de locales disponíveis

Você está livre para contribuir com a internacionalização deste projeto abrindo uma pull request! 👍

API

Mudando locale globalmente

  • 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.

Mudar locales localmente

  • 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

Instalação

  • 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>

Customizar

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