# gt-next: General Translation Next.js SDK: declareVar URL: https://generaltranslation.com/ja/docs/next/api/strings/declare-var.mdx --- title: declareVar description: declareVar() 文字列関数のAPIリファレンス --- {/* 自動生成: 直接編集しないでください。代わりに content/docs-templates/ 内の template を編集してください。 */} ## 概要 `declareVar` 関数は、`derive` で使用する際の `` コンポーネントに対応する文字列版です。 これは、ハッシュ計算から除外し、runtime で変数として扱う必要がある `derive` コンテンツ内の動的な内容を示します。 ```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` は、動的なコンテンツを runtime 時に元の値へ解決される ICU 対応のプレースホルダーでラップします。 ICU マーカーを削除するには、[`decodeVars`](/docs/next/api/strings/decode-vars) を使用できます。 **ICU マーカー:** `declareVar` はソーステキストに ICU 対応のマーカーを追加します。文字列処理のために元の値が必要な場合は、`decodeVars` を使用して抽出してください。 ## リファレンス ### パラメーター | 名前 | 型 | 説明 | | --------------- | ----------------------------------------------------------- | ------------------------------------------------- | | `value` | ` value \| string \| number \| boolean\| undefined \| null` | 変数としてマークする動的な値。 | | `options?` | `Object` | `declareVar` 関数のオプション。 | | `options.$name` | `string` | 翻訳コンテキスト用の変数名。(` ` コンポーネントの `name` プロパティに類似) | ### 戻り値 元の値を保持したまま、runtime に解決される ICU 互換マーカーを含む文字列です。 *** ## 挙動 ### 変数のマーク付け 値を `declareVar` でラップすると、次の処理が行われます。 1. 値を ICU の `select` 文形式に変換します 2. 翻訳処理用の動的コンテンツとしてマークします 3. 翻訳ハッシュの計算対象から除外します 4. runtime で補間できるように元の値を保持します ### ICUフォーマット この関数は、ICU メッセージ形式 と互換性のある文字列を返します。 ```jsx declareVar("John") // → "{_gt_, select, other {John}}" ``` *** ## 例 ### 基本的な使い方 静的関数内の動的コンテンツをマークします。 ```jsx copy import { derive, declareVar, gt } from 'gt-next'; 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-next'; 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/next/api/strings/derive)を参照してください * 元の値を抽出する方法については、[`decodeVars`](/docs/next/api/strings/decode-vars)を参照してください * JSXでの同等の機能については、[``](/docs/next/api/components/var)を参照してください