gt-next@6.14.0
概述
新的 useVersionId 钩子和 getVersionId 辅助函数现已在所有 GT JavaScript 包中可用。借助它们,你可以在运行时从 GT 配置中读取 _versionId,这对于调试、缓存失效、日志记录,以及跟踪当前启用的翻译版本都很有帮助。
| 包 | 版本 | 导出 |
|---|---|---|
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("当前翻译版本:", get_version_id())你也可以直接将 version_id 传递给 initialize_gt():
initialize_gt(version_id="abc123", ...)配置
在你的 gt.config.json 中设置 _versionId。当你运行 translate 命令时,CLI (命令行界面) 会自动设置此值:
{
"defaultLocale": "en",
"locales": ["en", "es", "fr"],
"_versionId": "abc123"
}下一步是什么
现在 locale 和版本 id 已可在运行时访问,下一步就是分析追踪——让开发者能够清楚看到实际渲染了哪些翻译,并将这些信息与他们的分析事件关联起来。
计划是引入哈希聚合:当 <T>、gt() 和 m() 这类翻译组件在运行时解析时,它们的哈希会被收集到一个可追踪的集合中。新的 useAnalytics() 钩子可让开发者在分析事件触发时读取当前已解析哈希的集合,而 <AnalyticsScope> 包装器则可将收集范围限定在 React 树的特定部分。