# General Translation Changelog: gt-react 10.15.0: 标签模板字面量中的 derive()
URL: https://generaltranslation.com/zh/blog/gt-react_v10_15_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-03-18

import Video from '@/components/Video';

## `declareStatic()` → `derive()` 更名

这是首个使用新名称 [`derive()`](/docs/react/reference/functions/derive) 的版本。此前，该函数名为 `declareStatic()`，对应的 JSX 组件为 `<Static>`。在 [PR #1062](https://github.com/generaltranslation/gt/pull/1062) 中，为了表达更清晰，这两者分别更名为 [`derive()`](/docs/react/reference/functions/derive) 和 [`<Derive>`](/docs/react/reference/components/derive)。

<Video src="https://assets.gtx.dev/derive-animation.mp4" />

## 概述

此版本在 `gt-react` [不再依赖 React 上下文](/devlog/gt-react_v10_12_0) 和 [`t` tagged template 宏](/devlog/gt-react_v10_13_0) 的基础上进一步完善。[`derive()`](/docs/react/reference/functions/derive) 现在可在 [`t`](/docs/react/reference/functions/t-function) 标签模板字面量 中使用。此前，[`derive()`](/docs/react/reference/functions/derive) 只能在 [`t()`](/docs/react/reference/functions/t-function) 函数调用中使用：

```jsx
t("The {subject} is playing.", { subject: derive(getSubject(gender)) })
```

现在你可以直接将它写在模板字面量中：

```jsx
t`The ${derive(getSubject(gender))} is playing.`
```

## 工作原理

[`derive()`](/docs/react/reference/functions/derive) 会让 CLI 工具分析某个函数所有可能的返回值，并为每个返回值创建单独的翻译条目。这样可以在不同语言中保持语法一致性——例如，在西班牙语中，“The boy is playing”和“The girl is playing”需要使用不同的冠词 (*El niño* vs *La niña*) 。

## 示例

```jsx
import { t } from "gt-react/browser";
import { derive } from "gt-react";

function getSubject(gender) {
  return gender === "male" ? "boy" : "girl";
}

function Component({ gender }) {
  return <p>{t`The ${derive(getSubject(gender))} is playing.`}</p>;
}
```

这会创建两个翻译条目：

* &quot;男孩在玩耍。&quot;
* &quot;女孩在玩耍。&quot;


## 相关链接

* [上一篇开发日志：t 标签模板字面量 (gt-react@10.13.0) ](/devlog/gt-react_v10_13_0)
* [`derive()` API 参考文档](/docs/react/reference/functions/derive)
* [PR #1129](https://github.com/generaltranslation/gt/pull/1129)

## Sitemap

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