# gt-react: General Translation React SDK: useMessages URL: https://generaltranslation.com/ja/docs/react/api/strings/use-messages.mdx --- title: useMessages description: useMessages() 文字列翻訳関数の API リファレンス --- {/* 自動生成: 直接編集しないでください。代わりに content/docs-templates/ 内のテンプレートを編集してください。 */} ## 概要 `useMessages` 関数は、`msg` でエンコードされた文字列をビルド時に翻訳するためのフックです。 ```jsx const m = useMessages();
{m(encodedString)}
; ```{m(encodedGreeting)}
; } ``` 注: "Alice" はユーザーが設定した優先言語に翻訳されます。 ### 変数を使う [#variables] エンコードされた文字列には変数を渡せます。 ```jsx copy 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!" と表示されます */}
); } ``` ### `msg` の変数は `m` の変数より優先されます `msg` と `m` の両方に変数を渡した場合は、`msg` に渡した変数が `m` に渡した変数より優先されます。 ```jsx copy import { msg, useMessages } from 'gt-react'; const encodedGreeting = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return{m(encodedGreeting, { name: 'Bob' })}
; } ``` 注: これは "Hello, Alice!" と表示されます。変数はレンダリング時に上書きされません。 ### ICU メッセージ形式の使用 `gt-react` は ICU メッセージ形式をサポートしており、変数の書式設定も行えます。 ```jsx copy import { msg, useMessages } from 'gt-react'; const encodedMessage = msg( 'There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 } ); export default function TranslateGreeting() { const m = useMessages(); return{m(encodedMessage)}
; } ```{m(encodedGreeting)}
; } ``` *** ## 注記 * `useMessages` 関数は、`msg` によってエンコードされた文字列を翻訳するフックです。 * `useMessages` による文字列の翻訳は、runtime ではなくビルドプロセス中に行われます (開発時を除く) 。 ## 次のステップ * 文字列を翻訳用にエンコードする方法については、[`msg`](/docs/react/api/strings/msg)を参照してください。