# General Translation Changelog: gt-sanity 2.0.0: 設定不要の翻訳ダイアログ
URL: https://generaltranslation.com/ja/blog/gt-sanity_v2_0_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Brian Lou
Published: 2026-04-01

## 概要

`gt-sanity` v2 は、plugin を Sanity v5 と React 19 に対応させるメジャーリリースです。さらに、設定不要の翻訳ダイアログによってセットアップを簡素化し、翻訳済みドキュメントに表示するフィールドを制御するための新しいオプションも追加されています。

***

## 最新情報

### よりシンプルなセットアップ: 翻訳ダイアログ

v2 での最大の変更点は、開発者が翻訳 UI とどうやり取りするかです。以前は、ドキュメントに Translations タブを追加するために、カスタムの `defaultDocumentNode` を使って `structureTool` を設定する必要がありました。現在は、plugin がすべてのドキュメントに **Translate** アクションを自動で追加し、クリックすると翻訳 UI 全体を含むダイアログが開きます。

つまり、最小限のセットアップは 2 ステップだけです。plugin をインストールして、設定に追加します。

```typescript title="sanity.config.ts"
import { defineConfig } from 'sanity';
import { gtPlugin } from 'gt-sanity';

export default defineConfig({
  plugins: [
    gtPlugin({
      sourceLocale: 'en',
      locales: ['es', 'zh', 'ja'],
    }),
  ],
});
```

専用のタブ表示を好むユーザー向けに、`TranslationsTab` コンポーネントは引き続きエクスポートされていますが、現在は省略可能です。


### `defaultLocale` 設定オプション

`gt-next` または `gt-react` を使用していて、すでに `gt.config.json` がある場合は、その内容をそのまま plugin の設定に直接スプレッドできるようになりました。`defaultLocale` フィールドは `sourceLocale` のエイリアスとして利用できます。

```typescript
import gtConfig from './gt.config.json';

gtPlugin({
  ...gtConfig, // { defaultLocale: 'en', locales: ['es', 'zh', 'ja'] }
});
```

`sourceLocale` と `defaultLocale` の両方が指定されている場合、`sourceLocale` が優先されます。


### `skipFields` オプション

新しい `skipFields` 設定オプションでは、一致したフィールドを翻訳済みドキュメントから完全に除外します。これは `ignoreFields` とは異なります。`ignoreFields` はソースドキュメントの値を訳文にコピーしますが、`skipFields` はそのフィールドが翻訳済みドキュメントに一切含まれないようにします。

`skipFields` は、一意のドキュメント slug、SEO のカノニカル URL、または訳文に引き継ぐべきでないソース専用のメタデータのようなフィールドに使用してください:

```typescript
gtPlugin({
  sourceLocale: 'en',
  locales: ['es', 'zh', 'ja'],
  skipFields: [
    { fields: [{ property: '$.slug', type: 'slug' }] },
    { fields: [{ property: '$.canonicalUrl' }] },
  ],
});
```

一方、`ignoreFields` は、翻訳はしたくないものの、ソースからはコピーしておきたいフィールドに使います。たとえば、すべての言語で同じ値にしておくべきカテゴリ、タグ、内部メタデータなどです。

`ignoreFields` と同様に、`documentId` を使ってスキップルールの適用対象を特定のドキュメントに限定でき、`property` には [JSONPath](https://goessner.net/articles/JsonPath/) 式を使用できます。


### `ignoreFields` の動作を改善

v1 では、無視したフィールドは翻訳*後*にソースドキュメントから復元されるだけで、コンテンツ自体は翻訳 API に送信されていました。v2 では、無視したフィールドはシリアライズの**前**にドキュメントから除去されるようになったため、無視したコンテンツが API に送信されることはありません。

***

## 破壊的変更

### Sanity v5 と React 19

`gt-sanity` v2 には Sanity v5 以降と React 19 以降が必要です。Sanity v3 または v4 を引き続き使用している場合は、`gt-sanity` v1 を使い続けてください。

### Translations タブは自動登録されなくなりました

plugin で Translations タブのビューが自動的に登録されることはなくなりました。代わりに、既定の操作方法として 翻訳ダイアログが使われます。引き続き専用タブを使いたい場合は、手動で追加できます。詳しくは [Quickstart](/docs/integrations/sanity/quickstart) を参照してください。

***

## リンク

* [Quickstart](/docs/integrations/sanity/quickstart)
* [設定ガイド](/docs/integrations/sanity/guides/configuring-sanity)
* [API リファレンス](/docs/integrations/sanity/reference/plugin-configuration)

## Sitemap

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