Indietro

generaltranslation@7.8.0

Ernest McCarter avatarErnest McCarter
generaltranslation7.8.0Formattazione elenchitraduzione

Panoramica

In generaltranslation@7.8.0 introduciamo funzionalità di formattazione delle liste che gettano le basi per i prossimi componenti e metodi. Questa release aggiunge formatListToParts() sia alla classe GT che come funzione autonoma.


Motivazione

Gli elenchi di elementi richiedono una formattazione corretta e sensibile alle impostazioni locali. In particolare, volevamo aggiungere la possibilità di unire più elementi (non solo stringhe) in un elenco formattato. Questo ci permette di creare facilmente elenchi di dati arbitrari, come elementi JSX.


Utilizzo

La nuova funzione formatListToParts() mantiene i tipi originali degli elementi dell’elenco e inserisce i separatori appropriati in base alla locale:

import { GT, formatListToParts } from 'generaltranslation'

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

// Tipi di dati misti
gt.formatListToParts(['apple', 42, { type: 'fruit' }])
// Restituisce: ['apple', ', ', 42, ', and ', { type: 'fruit' }]

// Funzione autonoma
formatListToParts(['red', 'green', 'blue'], {
  locales: ['es'],
  type: 'disjunction',
})
// Restituisce: ['red', ', ', 'green', ' o ', 'blue']

Sono supportati diversi tipi e stili di liste:

// Disgiunzione (o)
gt.formatListToParts(['A', 'B', 'C'], { type: 'disjunction' })
// Restituisce: ['A', ', ', 'B', ', or ', 'C']

// Stile abbreviato
gt.formatListToParts(['first', 'second'], { style: 'short' })
// Restituisce: ['first', ' & ', 'second']

// Formattazione di unità
gt.formatListToParts(['1km', '2mi'], { type: 'unit' })
// Restituisce: ['1km', ', ', '2mi']

Fondamenta per i componenti

Questa funzionalità pone le basi per il futuro componente <List/> e per i metodi msg.list() / gt.list(), che forniranno interfacce React per la formattazione delle liste.