# General Translation React SDKs (gt-react, gt-next): useMessages URL: https://generaltranslation.com/zh/docs/react/reference/hooks/use-messages.mdx --- title: useMessages description: useMessages 的 API 参考。使用 General Translation gt-react 将通过 msg 注册的字符串解析为当前区域设置。 --- `useMessages` 钩子会返回一个函数,用于将通过 [`msg`](/docs/react/reference/functions/msg) 创建的编码后的字符串解析为当前区域设置。可用它来翻译在模块层级 (组件外) 注册的字符串。 *可用于 `gt-react`、`gt-next`、`gt-tanstack-start` 和 `gt-react-native`。示例从 `gt-react` 导入;请改为从你所用框架对应的包中导入。* ## 概览 [#overview] 先用 `msg` 注册一个字符串,再用 `useMessages` 返回的函数将其解析。 ```tsx const m = useMessages();
{m(encodedString)}
; ``` *注:在 `gt-react` 中,请在 [`{m(encodedGreeting)}
; } ``` ```tsx import { msg, useMessages } from 'gt-react'; const encodedGreeting = msg('Hello, {name}!'); export default function TranslateGreeting() { const m = useMessages(); return{m(encodedGreeting, { name: 'Bob' })}
; // "Hello, Bob!" } ``` ```tsx import { msg, useMessages } from 'gt-react'; // 传递给 msg() 的变量优先级高于传递给 m() 的变量 const encodedGreeting = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return{m(encodedGreeting, { name: 'Bob' })}
; // "Hello, Alice!" } ``` ## 注意事项 [#notes] * `useMessages` 会解析来自 [`msg`](/docs/react/reference/functions/msg) 的编码后的字符串。 * 在异步 App Router 组件中,请改用 [`getMessages`](/docs/react/nextjs/reference/functions/get-messages)。 * 翻译会在构建时进行 (开发环境中则按需进行) 。