gt-next@6.14.0
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.
| Pacchetto | Versione | Esportazione |
|---|---|---|
gt-next | 6.14.0 | useVersionId (client + server), getVersionId (funzione) |
gt-i18n | 0.7.0 | getVersionId (funzione) |
gt-node | 0.4.0 | getVersionId (funzione) |
gt-tanstack-start | 0.2.0 | getVersionId (funzione) |
gt-i18n (Python) | 0.3.0 | get_version_id() (funzione) |
gt-fastapi | 0.3.0 | get_version_id() (funzione) |
gt-flask | 0.3.0 | get_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.