# gt-react: General Translation React SDK: declareVar URL: https://generaltranslation.com/ja/docs/react/api/strings/declare-var.mdx --- title: declareVar description: declareVar() 文字列関数の API リファレンス --- {/* 自動生成: 直接編集しないでください。代わりに、content/docs-templates/ 内の template を編集してください。 */} ## 概要 `declareVar` 関数は、`derive` を使用する際の `` コンポーネントに対応する文字列版です。 これは、`derive` の内容内にある動的なコンテンツをマークし、ハッシュ計算の対象から除外して、runtime では変数として扱えるようにします。 ```jsx function Component() { function getGreeting(name) { return "Hello, " + declareVar(name); } // 結果: "Hello, {_gt_, select, other {Brian}}" gt(`${derive(getGreeting(name))}. How are you?`); // 結果: "Hello, Brian. How are you?" return

{message}

; } ``` `declareVar` は、動的なコンテンツを ICU 互換のプレースホルダーでラップし、runtime に元の値として解決されるようにします。 ICUマーカーを削除するには、[`decodeVars`](/docs/react/api/strings/decode-vars) を使用できます。 **ICUマーカー:** `declareVar` はソーステキストに ICU 互換のマーカーを追加します。文字列処理で元の値が必要な場合は、`decodeVars` を使って抽出してください。 ## リファレンス ### パラメータ | 名前 | 型 | 説明 | | --------------- | ----------------------------------------------------------- | ------------------------------------------------ | | `value` | ` value \| string \| number \| boolean\| undefined \| null` | 変数としてマークする動的な値。 | | `options?` | `Object` | `declareVar` 関数のオプション。 | | `options.$name` | `string` | 翻訳コンテキスト用の変数名。(`` コンポーネントの `name` prop と同様) | ### 戻り値 元の値を保持し、runtime 時に解決される ICU 互換のマーカーを含む文字列。 *** ## 挙動 ### 変数のマーク付け `declareVar` が値をラップすると、次の処理が行われます: 1. 値を ICU の select ステートメント形式に変換します 2. 翻訳処理用の動的なコンテンツとしてマークします 3. 翻訳ハッシュの計算対象から除外します 4. runtime での補間のために元の値を保持します ### ICU形式 この関数は、ICU MessageFormat 互換の文字列を出力します。 ```jsx declareVar("John") // → "{_gt_, select, other {John}}" ``` *** ## 例 ### 基本的な使い方 静的関数内の動的なコンテンツをマークします。 ```jsx copy import { derive, declareVar, gt } from 'gt-react'; function getGreeting(name) { return `Hello, ${declareVar(name)}!`; } function Component() { const name = "Brian"; const message = gt(`${derive(getGreeting(name))} Welcome back.`); return

{message}

; } ``` ### 他の ICU 関数と組み合わせる `declareVar` は、他の ICU 関数と組み合わせて、より複雑な文字列を作成できます。 ```jsx copy import { declareVar, derive, useGT } from 'gt-react'; function Component({ name1, name2 }) { const gt = useGT(); const message = gt("Hello, {name1}! My name is " + derive(declareVar(name2)), { name1 }); return

{message}

; // 結果: "Hello, Brian! My name is Archie" } ``` *** ## 注記 * `declareVar` は、`derive` から呼び出される関数内でのみ使用してください * この関数は、文字列処理に影響する可能性がある ICU マーカーを追加します * 必要に応じて元の値を取り出すには、`decodeVars` を使用してください * 変数は翻訳の対象外となり、runtime でも保持されます ## 次のステップ * 文字列内で静的な関数呼び出しを作成するには、[`derive`](/docs/react/api/strings/derive)を参照してください * 元の値を抽出するには、[`decodeVars`](/docs/react/api/strings/decode-vars)を参照してください * JSXで同等の機能を使うには、[``](/docs/react/api/components/var)を参照してください