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();
// использовать в server components, логировании, заголовках и т.д.
}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("Текущая версия перевода:", 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"
}Что дальше
Теперь, когда локаль и идентификатор версии доступны во время выполнения, следующий шаг — отслеживание аналитики, которое даст разработчикам понимание того, какие переводы фактически рендерятся вместе с их аналитическими событиями.
Планируется внедрить агрегацию хешей: по мере того как компоненты перевода, такие как <T>, gt() и m(), вычисляются во время выполнения, их хеши будут собираться в отслеживаемый набор. Новый хук useAnalytics() позволит разработчикам получать текущий набор вычисленных хешей в момент отправки аналитического события, а обёртка <AnalyticsScope> позволит ограничить этот сбор определёнными частями дерева React.