Retour

gt-next@6.14.0

Jackie Chen avatarJackie Chen
gt-nextgt-i18ngt-nodegt-tanstack-startversion-idhooki18n

Aperçu

Un nouveau hook useVersionId et une nouvelle fonction utilitaire getVersionId sont désormais disponibles dans tous les packages JavaScript de GT. Ils vous permettent de lire le _versionId de votre configuration GT à l’exécution — pratique pour le débogage, l’invalidation du cache, la journalisation et le suivi de la version actuellement active de vos traductions.

PackageVersionExport
gt-next6.14.0useVersionId (client + serveur), getVersionId (fonction)
gt-i18n0.7.0getVersionId (fonction)
gt-node0.4.0getVersionId (fonction)
gt-tanstack-start0.2.0getVersionId (fonction)
gt-i18n (Python)0.3.0get_version_id() (fonction)
gt-fastapi0.3.0get_version_id() (fonction)
gt-flask0.3.0get_version_id() (fonction)

Utilisation

Next.js (côté client)

import { useVersionId } from 'gt-next';

function DebugFooter() {
  const versionId = useVersionId();
  return <footer>Translation version: {versionId ?? 'unknown'}</footer>;
}

Next.js (serveur)

import { useVersionId } from 'gt-next/server';

export default function Page() {
  const versionId = useVersionId();
  // à utiliser dans les composants serveur, la journalisation, les en-têtes, etc.
}

Node / hors React

import { getVersionId } from 'gt-i18n';
// ou : import { getVersionId } from 'gt-node';

console.log('Version de traduction actuelle :', getVersionId());

Python (gt-fastapi / gt-flask)

from gt_i18n import get_version_id
# ou : from gt_fastapi import get_version_id
# ou : from gt_flask import get_version_id

print("Version de traduction actuelle :", get_version_id())

Vous pouvez également passer version_id directement à initialize_gt() :

initialize_gt(version_id="abc123", ...)

Configuration

Définissez _versionId dans votre gt.config.json. Cette valeur est automatiquement définie par le CLI lorsque vous exécutez la commande translate :

{
  "defaultLocale": "en",
  "locales": ["en", "es", "fr"],
  "_versionId": "abc123"
}

Et ensuite

Avec le paramètre régional et l’identifiant de version désormais accessibles à l’exécution, la prochaine étape est le suivi analytique — afin de donner aux développeurs de la visibilité sur les traductions effectivement rendues en même temps que leurs événements d’analyse.

L’idée est d’introduire une agrégation de hachages : à mesure que des composants de traduction comme <T>, gt() et m() se résolvent à l’exécution, leurs hachages seraient collectés dans un ensemble exploitable pour le suivi. Un nouveau hook useAnalytics() permettrait aux développeurs de lire l’ensemble courant des hachages résolus au moment où un événement d’analyse est déclenché, et un wrapper <AnalyticsScope> permettrait de limiter cette collecte à des parties spécifiques de l’arborescence React.