Indietro

gt-next@6.14.0

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

Panoramica

Un nuovo hook useVersionId e la funzione helper getVersionId sono ora disponibili in tutti i pacchetti JavaScript di GT. Ti consentono di leggere _versionId nella tua configurazione GT a runtime — utile per il debug, l'invalidazione della cache, il logging e per monitorare quale versione delle tue traduzioni è attualmente attiva.

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

Utilizzo

Next.js (client)

import { useVersionId } from 'gt-next';

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

Next.js (server)

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

export default function Page() {
  const versionId = useVersionId();
  // usa nei componenti server, logging, header, ecc.
}

Node / senza React

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

console.log('Versione di traduzione corrente:', getVersionId());

Python (gt-fastapi / gt-flask)

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

print("Current translation version:", get_version_id())

Puoi anche passare version_id direttamente a initialize_gt():

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

Configurazione

Imposta _versionId nel file gt.config.json. Questo valore viene impostato automaticamente dalla CLI (interfaccia a riga di comando) quando esegui il comando translate:

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

Prossimi passi

Con locale e l'id della versione ora accessibili a runtime, il passaggio successivo è il tracciamento analytics — offrendo ai Developer visibilità su quali traduzioni vengono effettivamente renderizzate insieme ai rispettivi eventi analytics.

Il piano è introdurre l'aggregazione degli hash: man mano che componenti di traduzione come <T>, gt() e m() vengono risolti a runtime, i relativi hash verrebbero raccolti in un insieme tracciabile. Un nuovo hook useAnalytics() permetterebbe ai Developer di leggere l'insieme corrente degli hash risolti nel momento in cui viene inviato un evento analytics, mentre un wrapper <AnalyticsScope> consentirebbe di circoscrivere questa raccolta a parti specifiche dell'albero React.