返回

gt-next@6.14.0

Jackie Chen avatarJackie Chen
gt-nextgt-i18ngt-nodegt-tanstack-startversion-id钩子i18n

概述

新的 useVersionId 钩子和 getVersionId 辅助函数现已在所有 GT JavaScript 包中可用。借助它们,你可以在运行时从 GT 配置中读取 _versionId,这对于调试、缓存失效、日志记录,以及跟踪当前启用的翻译版本都很有帮助。

版本导出
gt-next6.14.0useVersionId (客户端 + 服务端) 、getVersionId (函数)
gt-i18n0.7.0getVersionId (函数)
gt-node0.4.0getVersionId (函数)
gt-tanstack-start0.2.0getVersionId (函数)
gt-i18n (Python)0.3.0get_version_id() (函数)
gt-fastapi0.3.0get_version_id() (函数)
gt-flask0.3.0get_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 树的特定部分。