# General Translation Changelog: gt-next 6.14.0: Read the translation version at runtime
URL: https://generaltranslation.com/en-GB/blog/gt-next_v6_14_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Jackie Chen
Published: 2026-03-18

## Overview

A new `useVersionId` hook and [`getVersionId`](/docs/node/reference/functions/get-version-id) helper function are now available across all GT JavaScript packages. These let you read the `_versionId` from your GT configuration at runtime — useful for debugging, cache-busting, logging, and tracking which version of your translations is currently active.

| Package             | Version | Export                                                                                                       |
| ------------------- | ------- | ------------------------------------------------------------------------------------------------------------ |
| `gt-next`           | 6.14.0  | `useVersionId` (client + server), [`getVersionId`](/docs/node/reference/functions/get-version-id) (function) |
| `gt-i18n`           | 0.7.0   | [`getVersionId`](/docs/node/reference/functions/get-version-id) (function)                                   |
| `gt-node`           | 0.4.0   | [`getVersionId`](/docs/node/reference/functions/get-version-id) (function)                                   |
| `gt-tanstack-start` | 0.2.0   | [`getVersionId`](/docs/node/reference/functions/get-version-id) (function)                                   |
| `gt-i18n` (Python)  | 0.3.0   | [`get_version_id()`](/docs/python/reference/functions/get-version-id) (function)                             |
| `gt-fastapi`        | 0.3.0   | [`get_version_id()`](/docs/python/reference/functions/get-version-id) (function)                             |
| `gt-flask`          | 0.3.0   | [`get_version_id()`](/docs/python/reference/functions/get-version-id) (function)                             |

## Usage

### Next.js (client)

```tsx
import { useVersionId } from 'gt-next';

function DebugFooter() {
  const versionId = useVersionId();
  return <footer>Translation version: {versionId ?? 'unknown'}</footer>;
}
```


### Next.js (server)

```tsx
import { useVersionId } from 'gt-next/server';

export default function Page() {
  const versionId = useVersionId();
  // use in server components, logging, headers, etc.
}
```


### Node / non-React

```ts
import { getVersionId } from 'gt-i18n';
// or: import { getVersionId } from 'gt-node';

console.log('Current translation version:', getVersionId());
```


### Python (gt-fastapi / gt-flask)

```python
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())
```

You can also pass `version_id` directly to [`initialize_gt()`](/docs/python/reference/functions/initialize-gt):

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

## Configuration

Set `_versionId` in your `gt.config.json`. This value is set automatically by the CLI when you run the [`translate`](/docs/cli/reference/commands/translate) command:

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

## What&#39;s next

With locale and version id now accessible at runtime, the next step is **analytics tracking** — giving developers visibility into which translations are actually being rendered alongside their analytics events.

The plan is to introduce hash aggregation: as translation components such as [`<T>`](/docs/react/reference/components/t), `gt()`, and `m()` resolve at runtime, their hashes would be collected into a trackable set. A new `useAnalytics()` hook would let developers read the current set of resolved hashes at the moment an analytics event fires, and an `<AnalyticsScope>` wrapper would allow that collection to be scoped to specific parts of the React tree.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
