Indietro

generaltranslation@7.8.0

Ernest McCarter avatarErnest McCarter
generaltranslation7.8.0Formattazione delle listetraduzione

Panoramica

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


Motivazione

Gli elenchi di elementi richiedono una formattazione corretta in base all'impostazione regionale. In particolare, volevamo aggiungere la possibilità di unire più elementi (non solo string) in un elenco formattato. Questo ci permette poi di creare facilmente elenchi di dati arbitrari, come gli elementi JSX.


Utilizzo

La nuova funzione formatListToParts() mantiene i tipi originali degli elementi dell'elenco, inserendo al contempo i separatori appropriati specifici dell'impostazione regionale:

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 elenco:

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

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

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

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