> ## Documentation Index
> Fetch the complete documentation index at: https://docs.legitmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ローカライゼーション

> Accept-Language ヘッダーを使用して、中国語と日本語の翻訳済み API レスポンスをリクエストします。

## 概要

Legitmark はタクソノミーデータのローカライズされた API レスポンスをサポートしています — カテゴリ、タイプ、サイド、サービス、ステージ、理由。`Accept-Language` ヘッダーを設定すると、翻訳可能なフィールドが英語ではなくリクエストされた言語で返されます。

ユーザーの希望言語でカテゴリ名、撮影手順、拒否理由を表示するのに役立ちます。

## サポートされているロケール

| ロケールコード | 言語        | 例 `Accept-Language`   |
| ------- | --------- | --------------------- |
| `en`    | 英語（デフォルト） | `Accept-Language: en` |
| `zh`    | 中国語（簡体字）  | `Accept-Language: zh` |
| `ja`    | 日本語       | `Accept-Language: ja` |

ヘッダーが省略された場合、またはサポートされていないロケールが含まれている場合、API はデフォルトで英語を返します。

## 使用方法

翻訳可能なデータを返すリクエストに `Accept-Language` ヘッダーを追加します：

<CodeGroup>
  ```javascript HTTP theme={null}
  const response = await fetch('https://api.legitmark.com/api/v2/categories?active_only=true', {
    headers: {
      'Authorization': 'Bearer leo_xxxxxxxxx',
      'Accept-Language': 'ja'
    }
  });
  const { data } = await response.json();
  // data[0].name → "バッグ"（"Bags" の代わりに）
  ```

  ```typescript SDK theme={null}
  const { data: categories } = await legitmark.taxonomy.getCategories({
    headers: { 'Accept-Language': 'ja' }
  });
  // categories[0].name → "バッグ"
  ```
</CodeGroup>

レスポンスには使用されたロケールを確認する `Content-Language` ヘッダーが含まれます：

```
Content-Language: ja
```

## 翻訳可能なエンドポイント

以下のエンドポイントがローカライズされたレスポンスをサポートしています：

### カテゴリ

| エンドポイント                              | 翻訳フィールド          |
| ------------------------------------ | ---------------- |
| `GET /api/v2/categories`             | `name`           |
| `GET /api/v2/categories/:uuid`       | `name`           |
| `GET /api/v2/categories/:uuid/types` | `name`（タイプ）      |
| `GET /api/v2/categories/tree`        | `name`（カテゴリとタイプ） |

### タイプ

| エンドポイント                   | 翻訳フィールド |
| ------------------------- | ------- |
| `GET /api/v2/types`       | `name`  |
| `GET /api/v2/types/:uuid` | `name`  |

### サイド（撮影要件）

| エンドポイント                            | 翻訳フィールド                         |
| ---------------------------------- | ------------------------------- |
| `GET /api/v2/sides`                | `name`、`description`            |
| `GET /api/v2/sides/:uuid`          | `name`、`description`            |
| `GET /api/v2/sr/:uuid/side-groups` | `name`、`description`（ネストされたサイド） |

<Tip>
  サイドの翻訳は、ユーザーに撮影手順を表示するのに特に役立ちます。例えば、「正面」とその説明「アイテムの正面の鮮明な写真を撮影してください」をユーザーの言語で表示できます。
</Tip>

### 理由（拒否理由）

| エンドポイント                       | 翻訳フィールド              |
| ----------------------------- | -------------------- |
| `GET /api/v2/reasons`         | `name`、`description` |
| `GET /api/v2/reasons/:uuid`   | `name`、`description` |
| `GET /api/v2/reasons/grouped` | `name`、`description` |

### サービス

| エンドポイント                   | 翻訳フィールド              |
| ------------------------- | -------------------- |
| `GET /api/services/:uuid` | `name`、`description` |

### ステージ

| エンドポイント     | 翻訳フィールド               |
| ----------- | --------------------- |
| ステージエンドポイント | `title`、`description` |

### サービスリクエスト（V2）

| エンドポイント                | 翻訳フィールド                      |
| ---------------------- | ---------------------------- |
| `GET /api/v2/sr/:uuid` | 埋め込まれたカテゴリ、タイプ、サイド、理由が翻訳されます |

## 例：ローカライズされたタクソノミーフロー

ユーザーの言語でタクソノミー選択を提示する典型的な統合：

```javascript theme={null}
const userLocale = 'ja'; // ユーザー設定から

const headers = {
  'Authorization': 'Bearer leo_xxxxxxxxx',
  'Accept-Language': userLocale
};

// ステップ 1：日本語でカテゴリを取得
const categoriesRes = await fetch(
  'https://api.legitmark.com/api/v2/categories?active_only=true',
  { headers }
);
const { data: categories } = await categoriesRes.json();
// → [{name: "バッグ", uuid: "..."}, {name: "時計", uuid: "..."}, ...]

// ステップ 2：選択したカテゴリのタイプを取得（日本語）
const typesRes = await fetch(
  `https://api.legitmark.com/api/v2/categories/${selectedCategoryUuid}/types`,
  { headers }
);
const { data: types } = await typesRes.json();
// → [{name: "トートバッグ", uuid: "..."}, ...]

// ステップ 3：SR 作成後、ローカライズされた説明付きのサイドグループを取得
const sidesRes = await fetch(
  `https://api.legitmark.com/api/v2/sr/${srUuid}/side-groups`,
  { headers }
);
const { data: sideGroups } = await sidesRes.json();
// サイドには撮影ガイダンス用の翻訳された名前と説明があります
```

## フォールバック動作

* 特定のフィールドの翻訳が利用できない場合、英語の値が返されます
* ロケールヘッダーの形式が不正またはサポート外の場合、英語が使用されます
* ブランドとモデルは**翻訳されません** — グローバルにオリジナル名を使用します

## 次のステップ

1. **確認** [タクソノミー](/ja/partner/taxonomy) 分類システムを理解する
2. **実装** [ワークフロー](/ja/partner/workflow) サービスリクエストの完全なライフサイクル
3. **設定** [Webhooks](/ja/webhook-reference/introduction) リアルタイムのステータス更新
