gt-next@6.14.0
Descripción general
Un nuevo hook useVersionId y la función auxiliar getVersionId ya están disponibles en todos los paquetes de JavaScript de GT. Permiten leer el _versionId de la configuración de GT en tiempo de ejecución, lo que resulta útil para depurar, invalidar la caché, registrar eventos y hacer seguimiento de qué versión de tus traducciones está activa actualmente.
| Paquete | Versión | Exportación |
|---|---|---|
gt-next | 6.14.0 | useVersionId (cliente + servidor), getVersionId (función) |
gt-i18n | 0.7.0 | getVersionId (función) |
gt-node | 0.4.0 | getVersionId (función) |
gt-tanstack-start | 0.2.0 | getVersionId (función) |
gt-i18n (Python) | 0.3.0 | get_version_id() (función) |
gt-fastapi | 0.3.0 | get_version_id() (función) |
gt-flask | 0.3.0 | get_version_id() (función) |
Uso
Next.js (cliente)
import { useVersionId } from 'gt-next';
function DebugFooter() {
const versionId = useVersionId();
return <footer>Translation version: {versionId ?? 'unknown'}</footer>;
}Next.js (servidor)
import { useVersionId } from 'gt-next/server';
export default function Page() {
const versionId = useVersionId();
// usar en componentes del servidor, registros, encabezados, etc.
}Node / sin React
import { getVersionId } from 'gt-i18n';
// o: import { getVersionId } from 'gt-node';
console.log('Versión de traducción actual:', getVersionId());Python (gt-fastapi / gt-flask)
from gt_i18n import get_version_id
# or: from gt_fastapi import get_version_id
# or: from gt_flask import get_version_id
print("Current translation version:", get_version_id())También puedes pasar version_id directamente a initialize_gt():
initialize_gt(version_id="abc123", ...)Configuración
Configura _versionId en tu gt.config.json. La CLI establece este valor automáticamente cuando ejecutas el comando translate:
{
"defaultLocale": "en",
"locales": ["en", "es", "fr"],
"_versionId": "abc123"
}Qué sigue
Con la configuración regional y el identificador de versión ahora accesibles en tiempo de ejecución, el siguiente paso es el seguimiento analítico: dar a los desarrolladores visibilidad sobre qué traducciones se están renderizando realmente junto con sus eventos analíticos.
El plan es introducir la agregación de hashes: a medida que componentes de traducción como <T>, gt() y m() se resuelvan en tiempo de ejecución, sus hashes se recopilarían en un conjunto rastreable. Un nuevo hook useAnalytics() permitiría a los desarrolladores leer el conjunto actual de hashes resueltos en el momento en que se activa un evento analítico, y un contenedor <AnalyticsScope> permitiría delimitar esa recopilación a partes específicas del árbol de React.