generaltranslation@7.8.0
Übersicht
In generaltranslation@7.8.0 führen wir Listenformatierungsfunktionen ein, die die Grundlage für kommende Komponenten und Methoden bilden. Diese Version fügt formatListToParts() sowohl der GT-Klasse als auch als eigenständige Funktion hinzu.
Motivation
Listen von Elementen erfordern eine korrekte, lokalisierungsabhängige Formatierung. Konkret wollten wir die Möglichkeit hinzufügen, mehrere Elemente (nicht nur Strings) zu einer formatierten Liste zu verbinden. Dadurch können wir problemlos Listen mit beliebigen Daten erstellen, beispielsweise JSX-Elementen.
Verwendung
Die neue Funktion formatListToParts() erhält die ursprünglichen Typen der Listeneinträge bei und fügt dabei passende, lokalisierungsspezifische Trennzeichen ein:
import { GT, formatListToParts } from 'generaltranslation'
const gt = new GT({ locales: ['en'] })
// Gemischte Datentypen
gt.formatListToParts(['apple', 42, { type: 'fruit' }])
// Rückgabe: ['apple', ', ', 42, ', and ', { type: 'fruit' }]
// Eigenständige Funktion
formatListToParts(['red', 'green', 'blue'], {
locales: ['es'],
type: 'disjunction',
})
// Rückgabe: ['red', ', ', 'green', ' o ', 'blue']Es werden verschiedene Listentypen und -stile unterstützt:
// Disjunktion (oder)
gt.formatListToParts(['A', 'B', 'C'], { type: 'disjunction' })
// Gibt zurück: ['A', ', ', 'B', ' oder ', 'C']
// Kurzer Stil
gt.formatListToParts(['first', 'second'], { style: 'short' })
// Gibt zurück: ['first', ' & ', 'second']
// Einheitenformatierung
gt.formatListToParts(['1km', '2mi'], { type: 'unit' })
// Gibt zurück: ['1km', ', ', '2mi']Grundlage für Komponenten
Diese Funktionalität legt das Fundament für die kommende <List/>-Komponente und die Methoden msg.list() / gt.list(), die React-Schnittstellen für die Listenformatierung bereitstellen werden.