Volver

generaltranslation@7.8.0

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

Resumen

En generaltranslation@7.8.0, presentamos funcionalidades de formato de listas que sientan las bases para los próximos componentes y métodos. Esta versión añade formatListToParts() tanto a la clase GT como a una función autónoma.


Motivación

Las listas de elementos requieren un formato correcto que tenga en cuenta la configuración regional. En concreto, queríamos añadir la capacidad de combinar varios elementos (no solo cadenas) en una lista con el formato adecuado. Esto nos deja bien preparados 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 adecuados según la configuración regional:

import { GT, formatListToParts } from 'generaltranslation'

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

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

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

Se admiten distintos tipos y estilos de listas:

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

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

// Formato de unidades
gt.formatListToParts(['1km', '2mi'], { type: 'unit' })
// Devuelve: ['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 ofrecerán interfaces de React para dar formato a listas.