# vue: t URL: https://generaltranslation.com/ja/docs/vue/reference/functions/t.mdx --- title: t description: 初期化済みのブラウザ SPA ランタイムでプレーンな文字列を同期的に翻訳します。t の API リファレンス。 --- ブラウザ専用のシングルページアプリケーションで、Vue コンポーネントの外部で評価される定数やその他の文字列には `t` を使用します。通常、コンポーネント内のコードでは、代わりにリアクティブな [`useGT()`](/docs/vue/reference/composables/use-gt) コールバックを使用します。 ## 概要 [#overview] ```ts const t: GTFunction; ``` この関数は、[`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) によってプリロードされたカタログを取得します。 ```ts title="src/navigation.ts" import { t } from 'gt-vue'; export const navigation = [ t('Documentation', { $context: 'primary navigation' }), t('Account settings'), ]; ``` CLI でランタイムがハッシュ化するのと同じカタログエントリを抽出できるよう、リテラルのソース文字列とリテラルの `$context` を使用してください。 ## パラメータ [#parameters] | パラメータ | 説明 | 型 | 任意 | デフォルト | | --------- | ------------------------------- | ---------------------------------------------------------------- | --- | ----- | | `message` | 翻訳する静的なソース文字列。波括弧はリテラルとして扱われます。 | `string` | いいえ | — | | `options` | カタログハッシュの曖昧さを解消するためのコンテキスト。 | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | はい | `{}` | サポートされているオプションは `$context` のみです。`t` は補間変数、`$format`、`$maxChars`、`$requiresReview` を受け付けません。 ## 仕組み [#how-it-works] `t` は、`message` と `$context` からプレーンな `STRING` カタログのハッシュを計算し、アクティブな SPA カタログを同期的に読み取ります。ハッシュが見つからない場合、またはカタログの値が文字列でない場合は、ソース文字列を返します。 結果は、呼び出し時に生成されるスナップショットです。モジュールレベルの定数は Vue のリアクティビティの対象になりません。そのため、SPA のロケール変更時にはドキュメントが再読み込みされ、ブートストラップが再実行され、新しいカタログがプリロードされ、モジュールが再評価されます。 この API はリテラル文字列の参照のみを行います。 * `{name}` のような波括弧は通常の文字です。 * ICU 構文は解析も書式設定もされません。 * ランタイムの値は補間されません。 * `` t`Hello` `` のようなタグ付きテンプレート構文はサポートされていません。 ランタイムの値を含む翻訳可能なコンテンツには、[``](/docs/vue/reference/components/var) とともに [``](/docs/vue/reference/components/t) を使用してください。 ## 戻り値 [#returns] **型** `string` 該当する文字列の翻訳を返します。文字列の翻訳が存在しない場合は、`message` を返します。 ## エラー [#failures] `t` は、次のいずれかの場合に例外をスローします。 * リクエスト間でブラウザのグローバルな翻訳状態が漏洩する可能性があるサーバー上で実行される場合。 * [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) の完了前にブラウザで実行される場合。 ブートストラップモジュールでイニシャライザの完了を await し、その後で `t` を呼び出すモジュールを動的にインポートしてください。サーバーレンダリングでは、リクエストスコープの [`createGT({ locale })`](/docs/vue/reference/functions/create-gt#server-rendering) 状態を設定し、[`useGT()`](/docs/vue/reference/composables/use-gt) を使用するコンポーネントから翻訳してください。 ## 例 [#example] ```ts title="src/status.ts" import { t } from 'gt-vue'; export const STATUS_LABELS = { draft: t('Draft', { $context: 'document status' }), published: t('Published', { $context: 'document status' }), }; ``` エクストラクタは両方の呼び出しを登録します。アクティブなカタログが利用できない場合、またはどちらのエントリも含まれていない場合、値は `"Draft"` と `"Published"` になります。