# General Translation Changelog: gt-next 6.13.0: msg() が配列を受け入れるようになりました
URL: https://generaltranslation.com/ja/blog/gt-next_v6_13_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-02-25

## 概要

[`msg()`](/docs/react/reference/functions/msg) が配列を受け取れるようになりました。

以前は、関連する文字列の一覧を登録するには、それぞれを個別にラップする必要がありました。

```tsx
const confirmations = [
  msg("Yes"),
  msg("Yup"),
  msg("Right"),
  msg("Absolutely"),
  msg("Exactly"),
];
```

これには2つの問題があります。1つ目は、すべての行で [`msg()`](/docs/react/reference/functions/msg) を呼び出す必要があることです。2つ目は、関連する文字列では同じメタデータ — `$context`、`$id` など — が必要になることが多く、CLI がビルド時にそれを解決するため、そのメタデータをインラインで記述しなければならないことです。単独では意味が曖昧な &quot;Right&quot; や &quot;Exactly&quot; のような文字列では、各エントリで `$context` を毎回繰り返し指定することになります:

```tsx
const confirmations = [
  msg("はい"),
  msg("うん"),
  msg("そうです", { $context: "As in a confirmation" }),
  msg("もちろん", { $context: "As in a confirmation" }),
  msg("まさに", { $context: "As in a confirmation" }),
];
```

代わりに、次のようにできます:

```tsx
const confirmations = msg([
  "Yes",
  "Yup",
  "Right",
  "Absolutely",
  "Exactly",
], { $context: "Confirmation responses" });
```

## 設計

### ID の生成

`$id` を指定すると、配列内の各項目にインデックスベースの ID (`${id}.0`、`${id}.1` など) が付与されます。

```tsx
const greetings = msg([
  "Hi",
  "Hello",
  "Howdy",
], { $id: "greeting" });
// "Hi"    → id: "greeting.0"
// "Hello" → id: "greeting.1"
// "Howdy" → id: "greeting.2"
```


## なぜオブジェクトではないのか？

これをオブジェクトにも拡張したいところですが、そうはしないことにしました。オブジェクトには通常、翻訳対象のフィールドと翻訳対象でないフィールドが混在しているためです。

```tsx
{
  id: 'planning.v1',           // 翻訳しない
  message: 'Not yet enabled',  // 翻訳する
}
```

構文を増やさずに、どのフィールドを登録すべきかをうまく表現する方法はありません。一方、配列にはこの問題がありません。すべての要素が翻訳対象の文字列だからです。


## 今後

`gt()` での配列サポートは、自然な次のステップです。`gt()` と [`msg()`](/docs/react/reference/functions/msg) はどちらも登録関数なので、両者で挙動をそろえるのは理にかなっています。これは `m()` にも当てはまります。[`msg()`](/docs/react/reference/functions/msg) と `m()` はよく組み合わせて使われるため、`m()` が配列を受け入れれば、[`msg()`](/docs/react/reference/functions/msg) の出力を `m()` に渡しても壊れないことが保証されます。

## Sitemap

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