Atrás

gt-next@6.14.0

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

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.

PaqueteVersiónExportación
gt-next6.14.0useVersionId (cliente + servidor), getVersionId (función)
gt-i18n0.7.0getVersionId (función)
gt-node0.4.0getVersionId (función)
gt-tanstack-start0.2.0getVersionId (función)
gt-i18n (Python)0.3.0get_version_id() (función)
gt-fastapi0.3.0get_version_id() (función)
gt-flask0.3.0get_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.