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 di supporto getVersionId sono ora disponibili in tutti i pacchetti JavaScript di GT. Consentono di leggere _versionId dalla configurazione di GT in fase di esecuzione — utile per il debug, l'invalidazione della cache, il logging e per tenere traccia della versione delle traduzioni attualmente attiva.

PackageVersionExport
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();
  // da usare in componenti server, logging, header, ecc.
}

Node / non-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("Versione di traduzione corrente:", 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 quando esegui il comando translate:

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

Prossimi passi

Con l'impostazione regionale e l'ID della versione ora accessibili in fase di esecuzione, il passo successivo è il tracciamento delle analytics: offrire agli sviluppatori visibilità su quali traduzioni vengono effettivamente renderizzate insieme agli eventi di analytics.

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