# General Translation Integrations: コンテンツの翻訳 URL: https://generaltranslation.com/ja/docs/integrations/sanity/guides/translating-content.mdx --- title: コンテンツの翻訳 description: ドキュメントアクション、タブビュー、または翻訳ページから、General Translation を使って Sanity ドキュメントを翻訳する方法。 related: links: - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity --- General Translation プラグインを使用して、各対象ロケール向けの翻訳済みドキュメントを生成します。 翻訳済みドキュメントはそれぞれ独立した Sanity ドキュメントとして作成され、各ドキュメントには language フィールドが設定されます。また、`translation.metadata` ドキュメントを介してソースドキュメントに関連付けられます。 ## 1 つのドキュメントを翻訳する [#translate-one] **翻訳** アクションはすべてのドキュメントで利用できますが、翻訳ツールが表示されるのはソース言語のドキュメントのみです。翻訳済みドキュメントでは、代わりにダイアログにメッセージが表示されます。 1. Sanity Studio でソース言語のドキュメントを開きます。 2. ドキュメントのアクションバーで **翻訳** をクリックします。 3. **翻訳を生成** で、対象のロケールを選択します。 4. **翻訳を生成** をクリックします。 翻訳が生成されると、ダイアログの **翻訳ステータス** に進行状況がポーリング表示されます。翻訳の準備ができると、プラグインはそれをインポートし、参照をパッチして公開します。このダイアログでは自動インポート、自動パッチ、自動公開がデフォルトで有効になっているためです。各動作は個別に切り替えられるほか、ステータス行からロケールを手動でインポートしたり、**すべてインポート**、**参照をパッチ**、**翻訳を公開** を使用したりできます。 ## 翻訳タブを使う [#translations-tab] Studio に `TranslationsTab` が含まれている場合は、ドキュメントで **General Translation** タブを開いてください。**翻訳** アクションと同じワークフローを、ドキュメントエディタ内で常に表示された状態で利用できます。 タブを追加するには、[Sanity を設定する](/docs/integrations/sanity/guides/configuring-sanity#translations-tab) を参照してください。 ## 複数のドキュメントを翻訳する [#translate-many] サイト全体の **翻訳** ツールを使うと、翻訳可能なすべてのドキュメントを一括で操作できます。ここでは次の操作を行えます。 * すべてのドキュメントの翻訳を生成する (**すべて翻訳**) 。 * 準備ができた翻訳をすべてインポートする (**すべてインポート**) 。 * まだインポートされていない翻訳のみをインポートする (**未インポート分をインポート**) 。 * 翻訳済みドキュメント間の参照を修正する (**ドキュメント参照を修正**) 。 * 原文が公開済みの翻訳済みドキュメントを公開する (**翻訳を公開**) 。 [翻訳の管理](/docs/integrations/sanity/guides/managing-translations)を参照してください。 ## 翻訳対象 [#what-translated] このプラグインはドキュメントを HTML にシリアライズし、その HTML を翻訳に送信して、翻訳済みの HTML を新しいロケールのドキュメントにマージします。次の要素は再帰的に処理されます。 * 文字列フィールドとテキストフィールド。 * Portable Text ブロック。 * ネストされたオブジェクト。 * 配列。 一部のフィールド型はそのまま保持され、デフォルトでは翻訳に送信されません。これには、参照、日付、ファイル、画像、数値、ブール値、URL、色、コード、ジオポイントが含まれます。完全な一覧は [default stop types](/docs/integrations/sanity/reference/plugin-configuration#stop-types) を参照してください。 スラッグフィールドはデフォルトでは除外されないため、スラッグの `current` 値は翻訳に送信されます。スラッグの動作を制御するには、`dedupeFields` または `skipFields` を使用してください。 ## 参照を処理する [#references] 翻訳済みドキュメントは、ほかのドキュメントを参照できます。プラグインは参照先ドキュメントごとの翻訳を参照し、存在する場合は、その参照先が正しいロケール版を指すように書き換えます。 これはドキュメントダイアログでのインポート後に自動的に実行されるほか、翻訳ページの **ドキュメント参照を修正** で必要に応じて実行することもできます。詳しくは、[翻訳を管理する](/docs/integrations/sanity/guides/managing-translations#patch-references)を参照してください。 ## スラッグとコピーされるフィールドの扱い [#slugs-fields] 一部のフィールドは、直接翻訳しないほうがよい場合があります。これらはフィールドマッチャーを使って制御します。 * `dedupeFields` — `source value` をコピーし、末尾に `locale` を追加して、ドキュメントごとに一意になるようにします。たとえば `about` は `about-es` になります。通常はスラッグに使用します。 * `ignoreFields` — `source value` を変更せずに各翻訳済みドキュメントへコピーします。 * `skipFields` — 翻訳済みドキュメントからそのフィールドを完全に削除します。 [翻訳を管理する](/docs/integrations/sanity/guides/managing-translations#field-behavior) を参照してください。 ## Next steps - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity