gt-next@6.14.0
Обзор
Новый хук useVersionId и вспомогательная функция getVersionId теперь доступны во всех JavaScript-пакетах GT. Они позволяют читать _versionId из конфигурации GT во время выполнения — это полезно для отладки, инвалидации кэша, логирования и отслеживания того, какая версия переводов сейчас активна.
| Пакет | Версия | Экспорт |
|---|---|---|
gt-next | 6.14.0 | useVersionId (клиент + сервер), getVersionId (функция) |
gt-i18n | 0.7.0 | getVersionId (функция) |
gt-node | 0.4.0 | getVersionId (функция) |
gt-tanstack-start | 0.2.0 | getVersionId (функция) |
gt-i18n (Python) | 0.3.0 | get_version_id() (функция) |
gt-fastapi | 0.3.0 | get_version_id() (функция) |
gt-flask | 0.3.0 | get_version_id() (функция) |
Использование
Next.js (клиент)
import { useVersionId } from 'gt-next';
function DebugFooter() {
const versionId = useVersionId();
return <footer>Translation version: {versionId ?? 'unknown'}</footer>;
}Next.js (сервер)
import { useVersionId } from 'gt-next/server';
export default function Page() {
const versionId = useVersionId();
// использовать в серверных компонентах, логах, заголовках и т.д.
}Node / без использования React
import { getVersionId } from 'gt-i18n';
// или: import { getVersionId } from 'gt-node';
console.log('Текущая версия перевода:', getVersionId());Python (gt-fastapi / gt-flask)
from gt_i18n import get_version_id
# или: from gt_fastapi import get_version_id
# или: from gt_flask import get_version_id
print("Current translation version:", get_version_id())Вы также можете напрямую передать version_id в initialize_gt():
initialize_gt(version_id="abc123", ...)Конфигурация
Укажите _versionId в gt.config.json. CLI автоматически устанавливает это значение при выполнении команды translate:
{
"defaultLocale": "en",
"locales": ["en", "es", "fr"],
"_versionId": "abc123"
}Что дальше
Теперь, когда локаль и id версии доступны во время выполнения, следующий шаг — отслеживание аналитики: оно даст разработчикам возможность видеть, какие именно переводы реально отображаются вместе с их аналитическими событиями.
Планируется добавить агрегацию хешей: по мере того как такие компоненты перевода, как <T>, gt() и m(), вычисляются во время выполнения, их хеши будут собираться в отслеживаемый набор. Новый хук useAnalytics() позволит разработчикам получать текущий набор вычисленных хешей в момент срабатывания аналитического события, а обёртка <AnalyticsScope> — ограничивать этот сбор конкретными частями дерева React.