# react-native: useGT
URL: https://generaltranslation.com/zh/docs/react-native/api/strings/use-gt.mdx
---
title: useGT
description: useGT 字符串翻译函数的 API 参考文档
---
{/* 自动生成:请勿直接编辑。请改为编辑 content/docs-templates/ 中的 template。 */}
## 概述
`useGT` 函数是一个用于在构建时翻译字符串的 Hook。
```jsx
const gt = useGT();
{gt('This text will be translated')}
;
```
**构建时翻译:** `useGT` 的翻译发生在构建时,即在应用部署之前。虽然你可以向待翻译的字符串传入变量,
但只能翻译在构建时就已知的内容。
## 参考文档
### 参数
无
### 返回值
回调函数 `gt`,用于翻译传入的内容。
```jsx
(content: string, options?: InlineTranslationOptions) => string
```
| 名称 | 类型 | 说明 |
| ---------- | ------------------------------------------------------------------------------------- | ------------------- |
| `content` | `string` | 待翻译的字符串内容。 |
| `options?` | [`InlineTranslationOptions`](/docs/react-native/api/types/inline-translation-options) | 用于自定义 `gt` 行为的翻译选项。 |
***
## 运行行为
### 生产环境
在 CD 过程中,`gt` 函数中的任何内容都会在应用部署前被翻译。
这样可以确保所有区域设置都能获得快速的加载速度,但它只能翻译在构建时已知的内容。
生成后,翻译内容会根据你的设置以两种方式之一存储: (1) 存储在 CDN 中,或 (2) 存储在应用的构建输出中。
之后,这些翻译后的内容会被提供给用户。
如果找不到翻译,则会回退到原始内容。
请务必遵循[这里的部署指南](/docs/react-native/tutorials/quickdeploy)。
### 开发
在开发过程中,`gt` 函数会按需翻译内容。
这对于原型设计很有帮助,方便你查看应用在不同语言下的显示效果。
请记得在环境变量中添加 Dev API 密钥,以启用此功能。
在开发环境中进行按需翻译时,你会感受到一定延迟。
除非内容被明确设置为按需翻译,否则生产构建中不会出现这种情况。
***
## 示例
### 基本用法
你可以使用 `useGT` 来翻译字符串。
```jsx copy
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, Alice!')}
;
}
```
注意:"Alice" 会被翻译成用户的首选语言。
### 使用变量 [#variables]
你可以向字典中的翻译传入变量。
```jsx copy
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, {name}!', { name: 'Alice' })}
;
}
```
注意:由于 "Alice" 是变量,因此不会被翻译为用户的首选语言。
### 使用 ICU 消息格式
`gt-react-native` 支持 ICU 消息格式,因此你也可以对变量进行格式化。
```jsx copy
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return (
{gt(
'There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart',
{ count: 10 }
)}
);
}
```
ICU 消息格式是一种功能强大的变量格式化方式。更多
信息请参阅 [ICU 消息格式
文档](https://unicode-org.github.io/icu/userguide/format_parse/messages/)。
### 从 `gt-react-native` 导入
如果使用 `"use client"` 指令,应从 `gt-react-native` 导入,而不是从 `gt-react-native` 导入。
```jsx copy
'use client';
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, Alice!')}
;
}
```
***
## 说明
* `useGT` 函数是一个用于翻译字符串的 Hook。
* 使用 `useGT` 翻译字符串是在 runtime 之前、构建过程中进行的 (开发环境除外) 。