Zurück

gt-next@6.14.0

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

Überblick

Ein neuer useVersionId-Hook und die neue Hilfsfunktion getVersionId sind jetzt in allen GT-JavaScript-Paketen verfügbar. Damit können Sie die _versionId zur Laufzeit aus Ihrer GT-Konfiguration auslesen — nützlich für Debugging, Cache-Busting, Logging und um nachzuverfolgen, welche Version Ihrer Übersetzungen aktuell aktiv ist.

PaketVersionExport
gt-next6.14.0useVersionId (Client und Server), getVersionId (Funktion)
gt-i18n0.7.0getVersionId (Funktion)
gt-node0.4.0getVersionId (Funktion)
gt-tanstack-start0.2.0getVersionId (Funktion)
gt-i18n (Python)0.3.0get_version_id() (Funktion)
gt-fastapi0.3.0get_version_id() (Funktion)
gt-flask0.3.0get_version_id() (Funktion)

Verwendung

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();
  // in server components, Logging, Headern usw. verwenden
}

Node / ohne React

import { getVersionId } from 'gt-i18n';
// oder: import { getVersionId } from 'gt-node';

console.log('Aktuelle Übersetzungsversion:', getVersionId());

Python (gt-fastapi / gt-flask)

from gt_i18n import get_version_id
# oder: from gt_fastapi import get_version_id
# oder: from gt_flask import get_version_id

print("Aktuelle Übersetzungsversion:", get_version_id())

Sie können außerdem version_id direkt an initialize_gt() übergeben:

initialize_gt(version_id="abc123", ...)

Konfiguration

Setzen Sie _versionId in Ihrer gt.config.json. Dieser Wert wird automatisch durch die CLI festgelegt, wenn Sie den Befehl translate ausführen:

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

Was kommt als Nächstes

Da Gebietsschema und Versions-ID nun zur Laufzeit verfügbar sind, ist der nächste Schritt Analytics-Tracking — damit Developer nachvollziehen können, welche Übersetzungen tatsächlich zusammen mit ihren Analytics-Ereignissen gerendert werden.

Geplant ist die Einführung einer Hash-Aggregation: Wenn Übersetzungskomponenten wie <T>, gt() und m() zur Laufzeit aufgelöst werden, würden ihre Hashes in einem nachverfolgbaren Set gesammelt. Ein neuer useAnalytics()-Hook würde es Developern ermöglichen, die aktuelle Menge aufgelöster Hashes genau in dem Moment auszulesen, in dem ein Analytics-Ereignis ausgelöst wird, und ein <AnalyticsScope>-Wrapper würde erlauben, diese Erfassung auf bestimmte Teile des React-Baums zu begrenzen.