Retour

generaltranslation@7.8.0

Ernest McCarter avatarErnest McCarter
generaltranslation7.8.0Mise en forme des listestraduction

Vue d’ensemble

Dans generaltranslation@7.8.0, nous introduisons des fonctionnalités de mise en forme des listes qui posent les bases des futurs composants et méthodes. Cette version ajoute formatListToParts() à la classe GT, ainsi que sous forme de fonction autonome.


Motivation

Les listes d’éléments nécessitent un formatage adapté au paramètre régional. Plus précisément, nous voulions ajouter la possibilité d’assembler plusieurs éléments (et pas seulement des chaînes de caractères) dans une liste formatée. Cela facilite la création de listes de données arbitraires, comme des éléments JSX.


Utilisation

La nouvelle fonction formatListToParts() préserve les types d’origine des éléments de la liste tout en insérant les séparateurs appropriés au paramètre régional :

import { GT, formatListToParts } from 'generaltranslation'

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

// Types de données mixtes
gt.formatListToParts(['apple', 42, { type: 'fruit' }])
// Retourne : ['apple', ', ', 42, ', and ', { type: 'fruit' }]

// Fonction autonome
formatListToParts(['red', 'green', 'blue'], {
  locales: ['es'],
  type: 'disjunction',
})
// Retourne : ['red', ', ', 'green', ' o ', 'blue']

Différents types et styles de listes sont pris en charge :

// Disjonction (ou)
gt.formatListToParts(['A', 'B', 'C'], { type: 'disjunction' })
// Retourne : ['A', ', ', 'B', ', or ', 'C']

// Style court
gt.formatListToParts(['first', 'second'], { style: 'short' })
// Retourne : ['first', ' & ', 'second']

// Formatage d'unités
gt.formatListToParts(['1km', '2mi'], { type: 'unit' })
// Retourne : ['1km', ', ', '2mi']

Base des composants

Cette fonctionnalité pose les bases du futur composant <List/> et des méthodes msg.list() / gt.list(), qui fourniront des interfaces React pour la mise en forme des listes.