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 formatage de listes qui posent les bases de futurs composants et méthodes. Cette version ajoute formatListToParts() à la fois à la classe GT et en tant que fonction autonome.


Motivation

Les listes d’éléments nécessitent un formatage correct tenant compte de la locale. Plus précisément, nous voulions ajouter la possibilité de combiner plusieurs éléments (pas seulement des chaînes de caractères) dans une liste formatée. Cela nous prépare idéalement à créer des listes de données arbitraires, comme des éléments JSX.


Utilisation

La nouvelle fonction formatListToParts() préserve les types d’éléments de liste d’origine tout en insérant des séparateurs adaptés à la locale :

import { GT, formatListToParts } from 'generaltranslation'

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

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

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

Plusieurs 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 pour les composants

Cette fonctionnalité prépare le terrain pour le futur composant <List/> et les méthodes msg.list() / gt.list(), qui fourniront des interfaces React pour le formatage de listes.