# Vue: MessagesFunction
URL: https://generaltranslation.com/ja/docs/vue/reference/types/messages-function.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: アクティブなカタログから登録済みメッセージ、生の文字列、nullish 値を解決します。MessagesFunction の API リファレンス。

[`useMessages()`](/docs/vue/reference/composables/use-messages) はこのコールバックを返します。このコールバックは [`msg()`](/docs/vue/reference/functions/msg) で作成された値をデコードし、通常のソース文字列も受け取ります。

## 概要 [#overview]

```ts
type MessagesFunction = <T extends string | null | undefined>(
  message: T,
  options?: GTStringOptions
) => T extends string ? string : T;
```

| パラメータ                 | 説明                                            | 型                                                                | 任意  | デフォルト |
| --------------------- | --------------------------------------------- | ---------------------------------------------------------------- | --- | ----- |
| [`message`](#message) | エンコードされたメッセージ、生のソース文字列、`null`、または`undefined`。 | `T extends string \| null \| undefined`                          | いいえ | —     |
| [`options`](#options) | 生のソース文字列のコンテキスト。                              | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | はい  | `{}`  |

## パラメータ [#parameters]

### `message`

**型** `T extends string | null | undefined` · **必須**

[`msg()`](/docs/vue/reference/functions/msg) が返す値、通常のソース文字列、または nullish 値を渡します。エンコードされた文字列には、元のソース、ハッシュ、任意の `$context` が含まれます。

### `options`

**型** [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) · **任意** · **デフォルト** `{}`

生の文字列の場合、`$context` はカタログのハッシュに含まれます。エンコードされた値の場合は、[`msg()`](/docs/vue/reference/functions/msg) に保存されたメタデータが優先され、呼び出し側で指定したオプションは無視されます。

## 戻り値 [#returns]

| 入力          | 戻り値の型       | 動作                                  |
| ----------- | ----------- | ----------------------------------- |
| `string`    | `string`    | カタログの翻訳、またはデコードされたソースのフォールバックを返します。 |
| `null`      | `null`      | `null` をそのまま返します。                   |
| `undefined` | `undefined` | `undefined` をそのまま返します。              |

条件付きジェネリックによりnull許容の入力型が保持されるため、任意のメッセージを個別にガードすることなくそのまま渡せます。

## 解決 [#resolution]

エンコードされたメッセージの場合、コールバックは参照前に、保存されているソース、`$context`、事前計算されたハッシュをデコードします。通常の文字列の場合は、文字列と呼び出し元の`$context`からハッシュを計算します。

どちらの場合も、アクティブなカタログに文字列値が存在する必要があります。エントリが存在しない場合や文字列以外の場合は、ソーステキストが返されます。ICUフォーマットや補間は行われず、中括弧は文字どおりに扱われます。

[`createGT()`](/docs/vue/reference/functions/create-gt)プラグインによるカタログの読み込みやロケールの変更後に結果を更新する必要がある場合は、Vueテンプレート、算出値、またはリアクティブエフェクトからコールバックを呼び出します。

## 例 [#example]

```vue title="src/PageTitle.vue"
<script setup lang="ts">
import { msg, useMessages } from 'gt-vue';

const title = msg('Settings', { $context: 'page title' });
const m = useMessages();
</script>

<template>
  <h1>{{ m(title) }}</h1>
</template>
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
