# General Translation Integrations: 対応コンテンツ URL: https://generaltranslation.com/ja/docs/integrations/storyblok/reference/supported-content.mdx --- title: 対応コンテンツ description: General Translation が翻訳する Storyblok のフィールド型、リッチテキストやテーブルの扱い、コンテンツのシリアライズ方法についてのリファレンスです。Storyblok の対応コンテンツに関する API リファレンス。 --- General Translation が翻訳する Storyblok のフィールド型、リッチテキストやテーブルの扱い、使用されるデータ形式について説明します。General Translation は各ストーリーのコンテンツツリーを走査し、ネストされたブロックを再帰的にたどって、翻訳可能なフィールドを抽出します。 ## 概要 [#overview] | トピック | 説明 | | ---------------------------------------- | ------------------------------------------- | | [翻訳可能なフィールド型](#field-types) | 翻訳対象として送信されるフィールド型と、そのデータ形式。 | | [`translatable` フラグ](#translatable-flag) | フィールドに `translatable: true` を指定する必要がある理由。 | | [フィールドの処理](#field-handling) | 各フィールド型がどのように抽出され、再帰的に処理され、または保持されるか。 | | [リッチテキストとテーブル](#rich-text-tables) | `richtext` フィールドと `table` フィールド向けの専用シリアライズ。 | | [スキップされるフィールド](#skipped-fields) | フィールドがスキップされる理由を、原因別に説明します。 | | [データ形式](#data-format) | `STORYBLOK_CONTENT_JSON` 形式と、そのキーごとのメタデータ。 | ## 翻訳可能なフィールド型 [#field-types] General Translation は、以下の Storyblok のフィールド型を抽出し、表に記載されたデータ形式で翻訳します。 | フィールド型 | データ形式 | | ---------- | ---------- | | `text` | `text` | | `textarea` | `text` | | `markdown` | `markdown` | | `richtext` | `richtext` | | `table` | `table` | `text` と `textarea` は、どちらもプレーンテキストとして翻訳されます。`markdown`、`richtext`、`table` は、専用のシリアライズ処理によって構造が保持されます。 ## translatable フラグ [#translatable-flag] 対応しているフィールドは、コンポーネントのスキーマで `translatable: true` に設定されている場合にのみ抽出されます。Storyblok では、フィールド単位の翻訳は翻訳可能なフィールドに対してのみ保存されるため、対応していても翻訳可能でないフィールドは翻訳に送られず、そのまま保持されます (翻訳せずにコピーされます) 。 Storyblok の Block Library でフィールドを翻訳可能としてマークするか、ダッシュボードで **サポートされているフィールドを自動で有効化** をオンにすると、General Translation がその space 全体の対応フィールドにこのフラグを設定します。詳しくは、[Storyblok を設定する](/docs/integrations/storyblok/guides/configuring-storyblok#enable-fields)を参照してください。 ## フィールドの処理 [#field-handling] コンポーネント スキーマの各フィールドは、次の 4 つのアクションのいずれかで処理されます。 * **Extract** — フィールドは翻訳対象になります。`text`、`textarea`、`markdown`、`richtext`、`table` に適用されますが、フィールドが `translatable: true` の場合に限ります。 * **Recurse** — インテグレーションはネストされたコンテンツをたどって処理します。`bloks` フィールドに適用され、各項目は同じ方法で処理されるコンポーネントです。 * **Preserve** — フィールドはそのまま保持され、翻訳されません。`option`、`options`、`section`、`number`、`datetime`、`boolean` に適用されるほか、サポート対象でも `translatable` としてマークされていないフィールドにも適用されます。 * **Skip (unsupported)** — そのフィールド型は翻訳できないため、スキップとして報告されます。`custom`、`asset`、`multiasset`、`multilink`、`image`、`file` に適用されます。 *注: `bloks` フィールドの項目が有効なコンポーネントでない場合、それらの項目は理由 `missing_nested_component` でスキップとして報告されます。* ## リッチテキストとテーブル [#rich-text-tables] `richtext` フィールドと `table` フィールドでは、翻訳後も構造が保たれるように、それぞれ専用のシリアライズ処理が行われます。 * **リッチテキスト** — リッチテキストドキュメントは、マーク (太字やリンクなど) やインラインノードを保持したまま翻訳可能な形式にシリアライズされ、翻訳後に再構成されます。値がリッチテキストドキュメントではない `richtext` フィールドは、理由 `non_string_value` でスキップされます。 * **テーブル** — テーブルのヘッダーセルと本文セルは、セルごとにシリアライズされ、翻訳後に再構成されます。値がテーブルではない `table` フィールドは、理由 `non_string_value` でスキップされます。翻訳可能なセルがないテーブルは、そのまま変更されません。 ## スキップされたフィールド [#skipped-fields] フィールドを翻訳できない場合、そのフィールドはスキップとして報告されます。結果の概要では、スキップされたフィールドがコンポーネント、フィールド、型、理由ごとにまとめられます。 | 理由 | 意味 | | -------------------------- | ------------------------------------------------------------------------------------------------- | | `missing_component_schema` | ブロックのコンポーネントに、インテグレーションが読み取れるスキーマがありません。 | | `unsupported_field_type` | そのフィールド型は翻訳対象ではありません (たとえば `asset`、`multilink`、`image`、`custom` など) 。 | | `non_string_value` | フィールド値の形式が想定どおりではありません (たとえば、`text` フィールドの値が文字列ではない、または `richtext` フィールドの値がリッチテキストドキュメントではない場合) 。 | | `missing_nested_component` | ネストされた `bloks` 項目が有効なコンポーネントではありません。 | ## データ形式 [#data-format] 抽出されたコンテンツは、`STORYBLOK_CONTENT_JSON` データ形式で General Translation にアップロードされます。ペイロードは、各フィールドのパスキーをそのソース文字列に対応付けた JSON オブジェクトです。 General Translation は、ペイロードに加えてキー付きメタデータも付与します。これはフィールドごとに 1 つのエントリで、同じパスキーをキーとして持つため、翻訳を正しい場所にマージして戻せます。各エントリには次の情報を含めることができます。 * `id` と `pathKey` — ストーリー内でのフィールドの識別子とパス。 * `provider` と `resourceType` — `STORYBLOK` と `STORYBLOK_SPACE`。 * `spaceId`、`storyId`、`storyName`、`storyFullSlug` — ソースの space と ストーリー。 * `component`、`field`、`fieldType` — 値の取得元と、その Storyblok のフィールド型。 * `dataFormat` — 上の表にある、そのフィールドの翻訳データ形式。 * `displayPath` — context に使われる、人が読める形式のパス。 * `context` — フィールドの場所、型、ストーリー を説明する、生成済みの翻訳 context。 *注: このメタデータには、翻訳品質を高めるための `context` (および `maxChars` を含めることもできます) が含まれます。*