Atrás

generaltranslation@7.8.0

Ernest McCarter avatarErnest McCarter
generaltranslation7.8.0Formato de listastraducción

Descripción general

En generaltranslation@7.8.0, presentamos funcionalidades de formato de listas que sientan las bases para futuros componentes y métodos. Esta versión incorpora formatListToParts() tanto a la clase GT como también como función independiente.


Motivación

Las listas de elementos requieren un formato adecuado según la configuración regional. En concreto, queríamos añadir la posibilidad de combinar varios elementos (no solo cadenas) en una lista con formato. Esto nos prepara muy bien para crear listas de datos arbitrarios, como elementos JSX.


Uso

La nueva función formatListToParts() conserva los tipos originales de los elementos de la lista mientras inserta los separadores específicos de la configuración regional adecuados:

import { GT, formatListToParts } from 'generaltranslation'

const gt = new GT({ locales: ['en'] })

// Tipos de datos mixtos
gt.formatListToParts(['apple', 42, { type: 'fruit' }])
// Retorna: ['apple', ', ', 42, ', and ', { type: 'fruit' }]

// Función independiente
formatListToParts(['red', 'green', 'blue'], {
  locales: ['es'],
  type: 'disjunction',
})
// Retorna: ['red', ', ', 'green', ' o ', 'blue']

Se admiten distintos tipos y estilos de listas:

// Disyunción (o)
gt.formatListToParts(['A', 'B', 'C'], { type: 'disjunction' })
// Retorna: ['A', ', ', 'B', ', or ', 'C']

// Estilo corto
gt.formatListToParts(['first', 'second'], { style: 'short' })
// Retorna: ['first', ' & ', 'second']

// Formato de unidades
gt.formatListToParts(['1km', '2mi'], { type: 'unit' })
// Retorna: ['1km', ', ', '2mi']

Base para componentes

Esta funcionalidad sienta las bases para el próximo componente <List/> y los métodos msg.list() / gt.list(), que proporcionarán interfaces de React para el formateo de listas.