gt-node@0.2.0
Vue d’ensemble
IMPORTANT Cette bibliothèque est encore expérimentale et peut faire l’objet de changements incompatibles.
gt-node apporte General Translation à l’environnement JavaScript côté serveur. Il fonctionne avec Node.js, Bun et Deno.
En établissant un contexte par requête via AsyncLocalStorage, gt-node vous permet d’importer directement les fonctions de traduction depuis la bibliothèque :
const gt = await getGT();Cela reprend l’API de nos autres bibliothèques, comme gt-next, lorsque vous travaillez avec des fonctions asynchrones.
Ce qui est inclus
initializeGT()— Configure le singleton i18n. Appelez-le une seule fois au démarrage du serveur.withGT(locale, fn)— Enveloppe un gestionnaire de requêtes pour lui associer un paramètre régional. Tous les appels de traduction à l’intérieur du callback utilisent le paramètre régional fourni. Toutes les routes doivent être enveloppées danswithGT.getGT()— Renvoie une fonction de traduction pour les chaînes intégrées. Prend en charge l’interpolation de variables et le format de message ICU.
Prise en main (Express)
Installer
npm install gt-nodeInitialisez
import express from 'express';
import { initializeGT, withGT, getGT } from 'gt-node';
initializeGT({
defaultLocale: 'en-US',
locales: ['en-US', 'es', 'fr'],
projectId: process.env.GT_PROJECT_ID,
});
const app = express();Ajouter le middleware de paramètre régional
Extrayez le paramètre régional à partir des en-têtes de la requête (ou des cookies, des paramètres de requête — selon la façon dont votre application le détermine) et enveloppez chaque requête avec withGT :
app.use((req, res, next) => {
const locale = req.headers['accept-language']?.split(',')[0] || 'en-US';
withGT(locale, () => next());
});Traduire
app.get('/api/greeting', async (req, res) => {
const gt = await getGT();
res.json({ message: gt('Hello, world!') });
});
app.listen(3000);Traduire et déployer
npx gtx-cli translate --publishC'est tout. Les chaînes sont détectées par le compilateur GT au moment de la compilation, traduites pendant le CD, puis résolues à l’exécution pour chaque requête.
À venir
gt-node et gt-tanstack-start sont les deux premières bibliothèques construites sur l’architecture singleton gt-i18n. Attendez-vous à voir d’autres adaptateurs de framework suivre le même modèle.