# General Translation Changelog: gt 2.12.0: オブジェクトと辞書の導出
URL: https://generaltranslation.com/ja/blog/gt-cli_v2_12_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-03-19

## 概要

[`derive()`](/docs/react/reference/functions/derive) は、関数の戻り値だけでなく、オブジェクトと配列からも値を取得できるようになりました。同様に、Python の [`derive()`](/docs/python/reference/functions/derive) でも辞書やリストがサポートされます。これにより、CLI はビルド時にデータ構造から考えられるすべての文字列バリアントを静的に抽出し、それぞれに個別の翻訳エントリを作成できます。

これは、gt-react@10.15.0 で追加された [`derive()` の tagged template サポート](/devlog/gt-react_v10_15_0) を踏まえたものです。

## オブジェクトと配列へのアクセス

文字列バリアントからなるオブジェクトがある場合、[`derive()`](/docs/react/reference/functions/derive) はそのすべての値を抽出します：

```tsx
const labels = { success: "Saved", error: "Failed", pending: "Saving..." };

t`Status: ${derive(labels[status])}`;
```

CLI はこれら 3 つの値をすべて解決し、それぞれに対して個別の翻訳エントリを登録します。

これは、動的アクセス (`obj[key]`) と静的アクセス (`obj.prop`) の両方に対応しており、ネストもサポートしています。

```tsx
const messages = {
  greeting: { formal: "Good evening", casual: "Hey" },
  farewell: { formal: "Goodbye", casual: "See ya" },
};

t`${derive(messages[category][tone])}`;
```

配列も同様です:

```tsx
const ranks = ["Bronze", "Silver", "Gold", "Platinum"];

t`Your rank: ${derive(ranks[level])}`;
```

## Python

Python でも、辞書とリストに対して同じオブジェクト/配列 の解決が機能します。

```python
from gt_flask import t, derive

labels = { "success": "Saved", "error": "Failed" }

t(derive(labels[status_key]))
```

```python
from gt_flask import t, derive

ranks = ["Bronze", "Silver", "Gold", "Platinum"]

t(derive(ranks[level]))
```

派生させた式は第 1 引数として渡すか、その引数に渡す f-string の中に記述してください。キーワード補間の値に入れた場合、辞書やリストのエントリは抽出されません。

## 要件

* オブジェクトと配列は、TypeScript では `const`、Python ではモジュールレベルで宣言する必要があります。
* スプレッド構文 (`...base`) はサポートされており、抽出時にフラット化されます。
* TypeScript の型注釈 (`as const`、`satisfies`) は自動的にアンラップされます。
* 循環するスプレッドは検出され、ハングする代わりに警告が表示されます。

## リンク

* [前の記事: tagged template での `derive()` (gt-react@10.15.0) ](/devlog/gt-react_v10_15_0)
* [`derive()` API リファレンス](/docs/react/reference/functions/derive)
* [PR #1137](https://github.com/generaltranslation/gt/pull/1137)

## Sitemap

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