gt-next@6.14.0
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.
| Package | Version | Export |
|---|---|---|
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();
// 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.