i18n - docs translations (#17434)
Created by Github action Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
committed by
GitHub
parent
2353bc62cc
commit
e0d4492013
+43
-43
@@ -1,76 +1,76 @@
|
||||
---
|
||||
title: Error Handling & Validation
|
||||
description: Review and fix import errors directly in the UI before confirming.
|
||||
title: エラー処理と検証
|
||||
description: 確定する前に、UI 上でインポートエラーを確認して修正します。
|
||||
---
|
||||
|
||||
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
|
||||
|
||||
## Pre-Import Validation
|
||||
## インポート前の検証
|
||||
|
||||
After uploading your file and mapping fields, Twenty validates your data **before** importing. This allows you to catch and fix errors without affecting your existing data.
|
||||
ファイルをアップロードしてフィールドをマッピングした後、Twenty はインポートする**前**にデータを検証します。 これにより、既存のデータに影響を与えることなく、エラーを検出して修正できます。
|
||||
|
||||
## How It Works
|
||||
## 仕組み
|
||||
|
||||
1. **Upload** your CSV file
|
||||
2. **Map** your columns to Twenty fields
|
||||
3. **Review** the potential errors highlighted in yellow
|
||||
4. **Fix errors** directly in the UI
|
||||
5. **Confirm** the import
|
||||
1. **CSV ファイルをアップロード**
|
||||
2. **列を Twenty のフィールドにマッピング**
|
||||
3. **黄色で強調表示された潜在的なエラーを確認**
|
||||
4. **UI で直接エラーを修正**
|
||||
5. **インポートを確定**
|
||||
|
||||
<VimeoEmbed videoId="1145273857" title="Video demonstration" />
|
||||
<VimeoEmbed videoId="1145273857" title="デモ動画" />
|
||||
|
||||
## Error Display
|
||||
## エラーの表示
|
||||
|
||||
Rows with issues are highlighted in **yellow**. You can:
|
||||
問題のある行は **黄色** で強調表示されます。 次のことができます:
|
||||
|
||||
* **Edit the cell directly** to fix the error
|
||||
* **Remove the row** to skip it entirely
|
||||
* **セルを直接編集**してエラーを修正
|
||||
* **行を削除**して完全にスキップ
|
||||
|
||||
This inline editing saves time—no need to go back to your spreadsheet, fix errors, and re-upload.
|
||||
このインライン編集により時間を節約できます—スプレッドシートに戻ってエラーを修正し、再アップロードする必要はありません。
|
||||
|
||||
## Common Error Types
|
||||
## よくあるエラーの種類
|
||||
|
||||
### Duplicate Values
|
||||
### 重複した値
|
||||
|
||||
**Cause**: A unique field (email, domain) already exists in Twenty or appears twice in your file.
|
||||
**原因**: 一意のフィールド(メール、ドメイン)が Twenty に既に存在するか、ファイル内で 2 回出現しています。
|
||||
|
||||
**Fix**:
|
||||
**対処**:
|
||||
|
||||
* Edit the duplicate value in the import UI
|
||||
* Remove one of the duplicate rows
|
||||
* インポート UI で重複値を編集
|
||||
* 重複行のいずれかを削除
|
||||
|
||||
See [Uniqueness Constraints](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints) for more details on how uniqueness is enforced.
|
||||
一意性の適用方法の詳細は[一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)を参照してください。
|
||||
|
||||
### Invalid Format
|
||||
### 無効な形式
|
||||
|
||||
**Cause**: Data doesn't match the expected format (e.g., invalid email, wrong date format).
|
||||
**原因**: データが期待される形式に一致していません(例: 無効なメールアドレス、日付形式の誤り)。
|
||||
|
||||
**Fix**: Edit the cell to use the correct format.
|
||||
**対処**: セルを編集して正しい形式にする。
|
||||
|
||||
See [Field Mapping](/l/ja/user-guide/data-migration/capabilities/field-mapping) for the expected format of each field type.
|
||||
各フィールドタイプの期待される形式は[フィールドマッピング](/l/ja/user-guide/data-migration/capabilities/field-mapping)を参照してください。
|
||||
|
||||
### Missing Required Fields
|
||||
### 必須フィールドの欠落
|
||||
|
||||
**Cause**: A required field is empty.
|
||||
**原因**: 必須フィールドが空です。
|
||||
|
||||
**Fix**: Enter a value in the required field or remove the row.
|
||||
**対処**: 必須フィールドに値を入力するか、その行を削除する。
|
||||
|
||||
### Relation Not Found
|
||||
### リレーションが見つかりません
|
||||
|
||||
**Cause**: The referenced record doesn't exist (e.g., a Company domain that wasn't imported).
|
||||
**原因**: 参照しているレコードが存在しません(例: インポートされていない会社のドメイン)。
|
||||
|
||||
**Fix**:
|
||||
**対処**:
|
||||
|
||||
* Import the parent records first
|
||||
* Or correct the reference value
|
||||
* まず親レコードをインポートする
|
||||
* または参照値を修正する
|
||||
|
||||
See [Import Relations](/l/ja/user-guide/data-migration/capabilities/import-relations) for the correct import order and how to link records.
|
||||
正しいインポート順序とレコードの関連付け方法は[リレーションのインポート](/l/ja/user-guide/data-migration/capabilities/import-relations)を参照してください。
|
||||
|
||||
## Tips for Fewer Errors
|
||||
## エラーを減らすためのヒント
|
||||
|
||||
1. **Download the template** to see expected format prior to importing your file
|
||||
2. **Clean your data** in the spreadsheet first
|
||||
3. **Import files in correct order** to import relations (Companies → People → Opportunities)
|
||||
4. **Test with small batches** before full import
|
||||
5. **Check for duplicates** before uploading
|
||||
6. **Limit the size of your file to 10,000 records** per file
|
||||
1. **テンプレートをダウンロード**して、ファイルをインポートする前に期待される形式を確認
|
||||
2. まず**スプレッドシートでデータをクリーンアップ**
|
||||
3. **正しい順序でファイルをインポート**してリレーションを取り込む(会社 → 人 → 商談)
|
||||
4. **小さなバッチでテスト**してから全量インポート
|
||||
5. **アップロード前に重複を確認**
|
||||
6. **ファイルあたりのレコード数を 10,000 に制限**
|
||||
|
||||
+102
-102
@@ -1,198 +1,198 @@
|
||||
---
|
||||
title: Field Mapping
|
||||
description: How field mapping works during data import.
|
||||
title: フィールドマッピング
|
||||
description: データインポート時のフィールドマッピングの仕組み。
|
||||
---
|
||||
|
||||
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
|
||||
|
||||
## How Field Mapping Works
|
||||
## フィールドマッピングの仕組み
|
||||
|
||||
When you upload a file, Twenty analyzes your columns and attempts to match them to existing fields.
|
||||
ファイルをアップロードすると、Twenty が列を解析し、既存のフィールドに一致させようとします。
|
||||
|
||||
### Automatic Mapping
|
||||
### 自動マッピング
|
||||
|
||||
Twenty tries to match columns based on:
|
||||
Twenty は次の基準に基づいて列を照合します:
|
||||
|
||||
* Column header names (exact or similar matches)
|
||||
* Data type detection (dates, numbers, emails)
|
||||
* Common field patterns
|
||||
* 列ヘッダー名(完全一致または類似一致)
|
||||
* データ型の検出(日付、数値、メールアドレス)
|
||||
* 一般的なフィールドのパターン
|
||||
|
||||
<Note>**Quick tip:** Export a few rows from the object you want to import. The exported file will have the exact column names Twenty expects, making automatic mapping seamless during import.</Note>
|
||||
<Note>**クイックヒント:** インポートしたいオブジェクトから数行をエクスポートしてください。 エクスポートしたファイルには、Twenty が想定する正確な列名が含まれているため、インポート時の自動マッピングがスムーズになります。</Note>
|
||||
|
||||
### Manual Mapping Options
|
||||
### 手動マッピングのオプション
|
||||
|
||||
For each column, you can:
|
||||
各列に対して、次の操作ができます:
|
||||
|
||||
* **Map to a field**: Select the matching Twenty field from a dropdown
|
||||
* **Do not map**: Skip the column entirely (data won't be imported)
|
||||
* **フィールドにマップ**:ドロップダウンから一致する Twenty のフィールドを選択します
|
||||
* **マップしない**:その列をスキップします(データはインポートされません)
|
||||
|
||||
<Note>**Fields must exist before import.** The import creates records, not fields. Create custom fields under **Settings → Data Model** before importing.</Note>
|
||||
<Note>**フィールドはインポート前に存在している必要があります。** インポートで作成されるのはフィールドではなくレコードです。 インポート前に **Settings → Data Model** でカスタムフィールドを作成してください。</Note>
|
||||
|
||||
## Field Type Compatibility
|
||||
## フィールドタイプの互換性
|
||||
|
||||
All field types available in the Data Model are supported for import.
|
||||
Data Model で利用可能なすべてのフィールドタイプはインポートに対応しています。
|
||||
|
||||
You can also import `id` values to either assign a specific ID to new records or update existing ones.
|
||||
`id` 値をインポートして、新規レコードに特定の ID を割り当てるか、既存レコードを更新することもできます。
|
||||
|
||||
<img src="/images/user-guide/fields/all-field-types.png" style={{width:'100%'}} />
|
||||
|
||||
## Data Format Requirements
|
||||
## データ形式の要件
|
||||
|
||||
<Note>**Some fields have special syntax.** We recommend downloading the sample file before preparing your import to see the expected syntax for each field type.</Note>
|
||||
<Note>**一部のフィールドには特別な書式があります。** インポートの準備をする前にサンプルファイルをダウンロードし、各フィールドタイプに期待される書式を確認することをおすすめします。</Note>
|
||||
|
||||
### Address Fields
|
||||
### 住所フィールド
|
||||
|
||||
Address is a nested field with multiple columns. Some can be left empty.
|
||||
住所は複数の列を持つネストされたフィールドです。 一部は空欄のままにできます。
|
||||
|
||||
* **Address / Address 1**: Street address line 1
|
||||
* **Address / Address 2**: Street address line 2
|
||||
* **Address / City**: City name
|
||||
* **Address / State**: State or province
|
||||
* **Address / Country**: Country name
|
||||
* **Address / Post Code**: Postal/ZIP code
|
||||
* **Address / Address 1**:住所の1行目
|
||||
* **Address / Address 2**:住所の2行目
|
||||
* **Address / City**:市区町村名
|
||||
* **Address / State**:州または都道府県
|
||||
* **Address / Country**:国名
|
||||
* **Address / Post Code**:郵便番号/ZIP コード
|
||||
|
||||
### Array Fields
|
||||
### 配列フィールド
|
||||
|
||||
Use the following format:
|
||||
次の形式を使用します:
|
||||
|
||||
```
|
||||
["value1","value2"]
|
||||
[\"value1\",\"value2\"]
|
||||
```
|
||||
|
||||
### Boolean Fields
|
||||
### ブール型フィールド
|
||||
|
||||
Use `TRUE` or `FALSE` (uppercase) - not `true` or `false`
|
||||
`TRUE` または `FALSE`(大文字)を使用します。`true` や `false` は使用しません
|
||||
|
||||
### Currency Fields
|
||||
### 通貨フィールド
|
||||
|
||||
Currency is a nested field with two columns that **both must be filled**:
|
||||
通貨は 2 列からなるネストされたフィールドで、**両方を必ず入力** する必要があります:
|
||||
|
||||
* **Amount / Amount**: The numeric value (e.g., `1234.56`)
|
||||
* **Amount / Currency**: The currency code (e.g., `USD`, `EUR`)
|
||||
* **Amount / Amount**:数値(例:`1234.56`)
|
||||
* **Amount / Currency**:通貨コード(例:`USD`、`EUR`)
|
||||
|
||||
### Date Fields
|
||||
### 日付フィールド
|
||||
|
||||
Supported formats:
|
||||
サポートされている形式:
|
||||
|
||||
* `YYYY-MM-DD` (recommended)
|
||||
* `YYYY-MM-DD`(推奨)
|
||||
* `MM/DD/YYYY`
|
||||
* `DD/MM/YYYY`
|
||||
* ISO 8601 format
|
||||
* ISO 8601 形式
|
||||
|
||||
### Domain Fields
|
||||
### ドメインフィールド
|
||||
|
||||
* It is recommended to use the format `https://domain.com` to avoid creating duplicates, as this is the format used for Companies created by the mailbox and calendar synchronizations
|
||||
* A `Domain Label` and `Domain URL` can be filled: best practice is to fill `domain.com` in the label and `https://domain.com` in the url
|
||||
* Domains must be unique within the Companies object
|
||||
* **Domains must be unique within the file to import**
|
||||
* 重複作成を避けるため、`https://domain.com` の形式を使用することを推奨します。これは、メールボックスおよびカレンダーの同期で作成される Companies オブジェクトでも使用される形式です
|
||||
* `Domain Label` と `Domain URL` を入力できます。ベストプラクティスは、ラベルには `domain.com`、URL には `https://domain.com` を入力することです
|
||||
* Companies オブジェクト内でドメインは一意である必要があります
|
||||
* **インポートするファイル内でもドメインは一意である必要があります**
|
||||
|
||||
### Email Fields
|
||||
### メールアドレスフィールド
|
||||
|
||||
* Must be valid email format
|
||||
* Emails must be unique within the People object
|
||||
* **Emails must be unique within the file to import**
|
||||
* For additional emails: use **Emails / Primary Email** for the main email, and **Emails / Additional Emails** with this format:
|
||||
* 有効なメールアドレス形式である必要があります
|
||||
* People オブジェクト内でメールアドレスは一意である必要があります
|
||||
* **インポートするファイル内でもメールアドレスは一意である必要があります**
|
||||
* 追加のメールアドレスについて:メインのメールには **Emails / Primary Email** を使用し、**Emails / Additional Emails** には次の形式を使用します:
|
||||
|
||||
```
|
||||
["jane@twenty.com","jane.doe@twenty.com"]
|
||||
[\"jane@twenty.com\",\"jane.doe@twenty.com\"]
|
||||
```
|
||||
|
||||
### Id Fields
|
||||
### ID フィールド
|
||||
|
||||
Specifying an `id` during import is optional. Twenty auto-generates one if not provided.
|
||||
インポート時に `id` を指定するかどうかは任意です。 指定しない場合は、Twenty が自動生成します。
|
||||
|
||||
Use cases for mapping an `id` column:
|
||||
`id` 列をマッピングするユースケース:
|
||||
|
||||
* **Set a specific ID**: Choose the UUID for newly created records
|
||||
* **Update existing records**: Match against existing records to update them instead of creating duplicates. In that case, it is recommended to not map the other unique fields: mapping only one unique field ensures a smoother import.
|
||||
* **特定の ID を設定**:新規作成されるレコードの UUID を指定します
|
||||
* **既存レコードを更新**:既存レコードに照合して、重複を作成せずに更新します。 その場合、他の一意なフィールドはマッピングしないことを推奨します。唯一の一意フィールドのみをマッピングすることで、よりスムーズにインポートできます。
|
||||
|
||||
<Note>If you provide an `id`, it must be in UUID format (e.g., `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
|
||||
<Note>`id` を指定する場合は UUID 形式(例:`c776ee49-f608-4a77-8cc8-6fe96ae1e43f`)である必要があります。</Note>
|
||||
|
||||
### JSON Fields
|
||||
### JSON フィールド
|
||||
|
||||
Use valid JSON format:
|
||||
有効な JSON 形式を使用します:
|
||||
|
||||
```
|
||||
{"key":"value","key2":"value2"}
|
||||
{\"key\":\"value\",\"key2\":\"value2\"}
|
||||
```
|
||||
|
||||
### Links Fields
|
||||
### リンクフィールド
|
||||
|
||||
Similar to Domain fields:
|
||||
ドメインフィールドと同様に:
|
||||
|
||||
* Fill both the label and URL columns: **Links / Link URL** and **Links / Link Label**
|
||||
* Use full URL format: `https://example.com`
|
||||
* For secondary links, use **Links / Secondary Links** column with this format:
|
||||
* ラベル列と URL 列の両方を入力します:**Links / Link URL** と **Links / Link Label**
|
||||
* 完全な URL 形式(`https://example.com`)を使用します
|
||||
* セカンダリリンクには **Links / Secondary Links** 列を使用し、次の形式で入力します:
|
||||
|
||||
```
|
||||
[{"url":"https://twenty.com","label":"Twenty"}]
|
||||
[{\"url\":\"https://twenty.com\",\"label\":\"Twenty\"}]
|
||||
```
|
||||
|
||||
### Multi-Select Fields
|
||||
### マルチセレクトフィールド
|
||||
|
||||
Use the **API names** (not the display labels) in the following format:
|
||||
表示ラベルではなく **API 名** を使用し、次の形式で指定します:
|
||||
|
||||
```
|
||||
["VALUE1","VALUE2"]
|
||||
[\"VALUE1\",\"VALUE2\"]
|
||||
```
|
||||
|
||||
See [here](#finding-api-names-for-select-fields) where to find the API names.
|
||||
API 名の確認方法は[こちら](#finding-api-names-for-select-fields)をご覧ください。
|
||||
|
||||
<Note>New select options will not be created automatically by the import. They must be added under **Settings → Data Model** before importing.</Note>
|
||||
<Note>新しい選択肢はインポートによって自動作成されません。 インポート前に **Settings → Data Model** で追加する必要があります。</Note>
|
||||
|
||||
<Warning>
|
||||
**Import overwrites, it does not add.**
|
||||
**インポートは追加ではなく上書きです。**
|
||||
|
||||
If a record already has `VALUE2` and `VALUE3` selected, and you import `["VALUE1"]`, the record will only have `VALUE1` after import. The previous selections are replaced, not merged.
|
||||
レコードにすでに `VALUE2` と `VALUE3` が選択されている状態で `[\"VALUE1\"]` をインポートすると、インポート後そのレコードは `VALUE1` のみになります。 以前の選択は結合されず、置き換えられます。
|
||||
</Warning>
|
||||
|
||||
### Number Fields
|
||||
### 数値フィールド
|
||||
|
||||
* Numbers only
|
||||
* Decimals use period: `1234.56`
|
||||
* No thousands separators
|
||||
* 数値のみ
|
||||
* 小数点はピリオドを使用:`1234.56`
|
||||
* 桁区切りは使用しないでください
|
||||
|
||||
### Phone Fields
|
||||
### 電話番号フィールド
|
||||
|
||||
Phone is a nested field with multiple columns that **must be filled**
|
||||
電話は複数の列からなるネストされたフィールドで、**必ず入力** する必要があります
|
||||
|
||||
* **Phones / Primary Phone Number**: The phone number (e.g., `4159095555`)
|
||||
* **Phones / Primary Phone Country Code**: Country code (e.g., `US`)
|
||||
* **Phones / Primary Phone Calling Code**: Dialing code (e.g., `+1`)
|
||||
* **Phones / Primary Phone Number**:電話番号(例:`4159095555`)
|
||||
* **Phones / Primary Phone Country Code**:国コード(例:`US`)
|
||||
* **Phones / Primary Phone Calling Code**:ダイヤルコード(例:`+1`)
|
||||
|
||||
### Rating Fields
|
||||
### 評価フィールド
|
||||
|
||||
Use the API name format: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4`, `RATING_5`
|
||||
API 名の形式(`RATING_1`、`RATING_2`、`RATING_3`、`RATING_4`、`RATING_5`)を使用します
|
||||
|
||||
### Relation Fields
|
||||
### リレーションフィールド
|
||||
|
||||
Please see our dedicated article: [Import Relations Between Objects](/l/ja/user-guide/data-migration/capabilities/import-relations)
|
||||
詳細は専用記事「[オブジェクト間のリレーションのインポート](/l/ja/user-guide/data-migration/capabilities/import-relations)」をご覧ください
|
||||
|
||||
### Select Fields
|
||||
### 選択フィールド
|
||||
|
||||
Use the **API name** of the option (not the display label):
|
||||
表示ラベルではなく、オプションの **API 名** を使用します:
|
||||
|
||||
```
|
||||
VALUE1
|
||||
```
|
||||
|
||||
See [here](#finding-api-names-for-select-fields) where to find the API names.
|
||||
<Note>New select options will not be created automatically by the import. They must be added under **Settings → Data Model** before importing.</Note>
|
||||
API 名の見つけ方は[こちら](#finding-api-names-for-select-fields)を参照してください。
|
||||
<Note>新しい Select オプションは、インポートによって自動的に作成されません。 インポート前に **設定 → データモデル** で追加する必要があります。</Note>
|
||||
|
||||
### Text Fields
|
||||
### テキストフィールド
|
||||
|
||||
* No special formatting required
|
||||
* Leading/trailing spaces are trimmed
|
||||
* 特別な書式設定は不要です
|
||||
* 先頭と末尾の空白は削除されます
|
||||
|
||||
## Finding API Names
|
||||
## API 名の見つけ方
|
||||
|
||||
For Select, Multi-Select, and Array fields with predefined options, you must use the **API names**, not the display labels.
|
||||
事前定義されたオプションを持つ Select、Multi-Select、Array フィールドでは、表示ラベルではなく、必ず **API 名** を使用してください。
|
||||
|
||||
### How to Find API Names
|
||||
### API 名の確認方法
|
||||
|
||||
1. Go to **Settings → Data Model**
|
||||
2. Select the object and field
|
||||
3. Enable **Advanced mode** (toggle at the bottom right of the settings page)
|
||||
4. View the API name for each option
|
||||
1. **設定 → データモデル** に移動する
|
||||
2. オブジェクトとフィールドを選択する
|
||||
3. **詳細モード** を有効にする(設定ページの右下にあるトグル)
|
||||
4. 各オプションの API 名を確認する
|
||||
|
||||
<VimeoEmbed videoId="1144910809" title="Video demonstration" />
|
||||
<VimeoEmbed videoId="1144910809" title="デモ動画" />
|
||||
|
||||
@@ -1,48 +1,48 @@
|
||||
---
|
||||
title: Supported File Formats
|
||||
description: File formats supported for data import in Twenty.
|
||||
title: 対応ファイル形式
|
||||
description: Twenty でのデータインポートで対応しているファイル形式。
|
||||
---
|
||||
|
||||
## Supported Formats
|
||||
## 対応形式
|
||||
|
||||
Twenty supports three file formats for import:
|
||||
Twenty はインポート用に 3 種類のファイル形式に対応しています:
|
||||
|
||||
| Format | Extension | Notes |
|
||||
| ------------------ | --------- | ---------------------------- |
|
||||
| **CSV** | .csv | Recommended, most compatible |
|
||||
| **Excel** | .xlsx | Modern Excel format |
|
||||
| **Excel (Legacy)** | .xls | Older Excel format |
|
||||
| 形式 | 拡張子 | ノート |
|
||||
| ---------------- | ----- | ------------ |
|
||||
| **CSV** | .csv | 推奨(最も互換性が高い) |
|
||||
| **Excel** | .xlsx | 現行の Excel 形式 |
|
||||
| **Excel (レガシー)** | .xls | 旧 Excel 形式 |
|
||||
|
||||
## File Requirements
|
||||
## ファイル要件
|
||||
|
||||
| Requirement | Value |
|
||||
| ---------------- | ------------------------------------- |
|
||||
| **Encoding** | UTF-8 recommended |
|
||||
| **Record limit** | 10,000 records per file |
|
||||
| **Structure** | First row must contain column headers |
|
||||
| **Content** | One object type per file |
|
||||
| 要件 | 値 |
|
||||
| ------------ | --------------------- |
|
||||
| **エンコーディング** | UTF-8 を推奨 |
|
||||
| **レコード数の上限** | 1 ファイルあたり 10,000 レコード |
|
||||
| **構造** | 先頭行には列ヘッダーを含める必要があります |
|
||||
| **コンテンツ** | 1 ファイルにつき 1 種類のオブジェクト |
|
||||
|
||||
## CSV Best Practices
|
||||
## CSV ベストプラクティス
|
||||
|
||||
* **Delimiter**: Use comma (`,`) or semicolon (`;`)
|
||||
* **Text qualifier**: Use double quotes (`"`) for text containing commas
|
||||
* **Line endings**: Windows (CRLF) or Unix (LF) both supported
|
||||
* **Empty values**: Leave cells empty, don't use "NULL" or "N/A"
|
||||
* **区切り文字**: カンマ (`,`) またはセミコロン (`;`) を使用
|
||||
* **テキスト囲み文字**: カンマを含むテキストには二重引用符 (`\"`) を使用
|
||||
* **改行コード**: Windows (CRLF) または Unix (LF) のどちらにも対応
|
||||
* **空の値**: セルは空のままにし、"NULL" や "N/A" は使用しないでください
|
||||
|
||||
## Excel Best Practices
|
||||
## Excel ベストプラクティス
|
||||
|
||||
When exporting from Excel:
|
||||
Excel からエクスポートする場合:
|
||||
|
||||
* Remove formulas (export values only)
|
||||
* Delete empty rows at the end
|
||||
* Ensure no merged cells
|
||||
* Use the first sheet only
|
||||
* 数式を削除 (値のみをエクスポート),
|
||||
* 末尾の空行を削除
|
||||
* 結合セルがないことを確認
|
||||
* 最初のシートのみを使用
|
||||
|
||||
## Large Datasets
|
||||
## 大規模データセット
|
||||
|
||||
For datasets larger than 10,000 records:
|
||||
10,000 レコードを超えるデータセットの場合:
|
||||
|
||||
* Split into multiple files
|
||||
* Or use the [API import](/l/ja/user-guide/data-migration/how-tos/import-data-via-api) for unlimited records
|
||||
* 複数のファイルに分割
|
||||
* または、無制限のレコードに対応する [API インポート](/l/ja/user-guide/data-migration/how-tos/import-data-via-api) を使用
|
||||
|
||||
<Note>For very large migrations (100,000+ records), the API is significantly faster and more reliable than CSV imports.</Note>
|
||||
<Note>非常に大規模な移行 (100,000 レコード以上) の場合、API は CSV インポートよりも大幅に高速で信頼性も高くなります。</Note>
|
||||
|
||||
+78
-78
@@ -1,94 +1,94 @@
|
||||
---
|
||||
title: Import Relations Between Objects
|
||||
description: Import relationships between records via CSV.
|
||||
title: オブジェクト間のリレーションをインポートする
|
||||
description: CSV を使ってレコード間のリレーションをインポートします。
|
||||
---
|
||||
|
||||
## Overview
|
||||
## 概要
|
||||
|
||||
Twenty supports importing relationships between objects during CSV import. This allows you to link records (e.g., attach People to Companies) as part of your data migration.
|
||||
Twenty は、CSV インポート時にオブジェクト間のリレーションのインポートをサポートしています。 これにより、データ移行の一環としてレコードをリンクできます(例:連絡先を会社に関連付ける)。
|
||||
|
||||
<Note>**Currently supported for import**: One-to-many relations pointing to a single object type on each side (e.g., People → Companies). Relations pointing to multiple object types are not yet supported in import/export.</Note>
|
||||
<Note>**現在インポートでサポート**:各側が単一のオブジェクトタイプを指す一対多リレーション(例:連絡先 → 会社)。 複数のオブジェクトタイプを指すリレーションは、現時点ではインポート/エクスポートに対応していません。</Note>
|
||||
|
||||
## How Relations Work in Twenty
|
||||
## Twenty におけるリレーションの仕組み
|
||||
|
||||
### One to Many / Many to One
|
||||
### 1 対多 / 多対 1
|
||||
|
||||
Twenty supports standard relations where one record links to many others:
|
||||
Twenty は、1 件のレコードが複数のレコードにリンクする標準的なリレーションをサポートしています:
|
||||
|
||||
* **One Company → Many People**: A company can have multiple employees, but each person belongs to one company
|
||||
* **One Company → Many Opportunities**: A company can have multiple deals, but each opportunity belongs to one company
|
||||
* **1 社 → 複数の連絡先**:1 つの会社には複数の従業員が所属できますが、各連絡先は 1 つの会社に所属します
|
||||
* **1 社 → 複数の商談**:1 つの会社は複数の商談を持てますが、各商談は 1 つの会社に属します
|
||||
|
||||
### Relations That Can Point to Multiple Object Types
|
||||
### 複数のオブジェクトタイプを指すことができるリレーション
|
||||
|
||||
Some relations can connect to different types of objects. This works in two ways:
|
||||
一部のリレーションは、異なる種類のオブジェクトに接続できます。 これは 2 つのパターンで機能します:
|
||||
|
||||
**Pattern 1: Many records linking to one record each from different object types**
|
||||
**パターン 1:異なるオブジェクトタイプからの多数のレコードが、それぞれ 1 件のレコードにリンクする場合**
|
||||
|
||||
Several Notes, Tasks, or Activities can each be attached to multiple object types at once:
|
||||
複数のメモ、タスク、またはアクティビティは、それぞれ同時に複数のオブジェクトタイプに関連付けることができます:
|
||||
|
||||
* **Notes** can be linked to one Person, one Company, and one Opportunity simultaneously
|
||||
* **Tasks** can be linked to one Person, one Company, and one Opportunity simultaneously
|
||||
* **メモ**は、連絡先 1 件、会社 1 社、商談 1 件に同時にリンクできます
|
||||
* **タスク**は、連絡先 1 件、会社 1 社、商談 1 件に同時にリンクできます
|
||||
|
||||
Here, the Notes/Tasks are on the "many" side. Each links to one record per object type.
|
||||
ここでは、メモ/タスクが「多」の側です。 それぞれがオブジェクトタイプごとに 1 件のレコードへリンクします。
|
||||
|
||||
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
|
||||
|
||||
**Pattern 2: One record receiving links from many records of different object types**
|
||||
**パターン 2:1 件のレコードが、異なるオブジェクトタイプの多数のレコードからリンクを受け取る場合**
|
||||
|
||||
A Project can receive links from multiple records across different object types:
|
||||
プロジェクトは、異なるオブジェクトタイプにわたる複数のレコードからリンクを受け取ることができます:
|
||||
|
||||
* **A Project** can have many People linked to it, many Companies linked to it, and many Notes attached to it
|
||||
* **プロジェクト**には、多数の連絡先がリンクされ、多数の会社がリンクされ、多数のメモが添付される可能性があります
|
||||
|
||||
Here, the Project is on the "one" side. Multiple records from different objects can all link to the same Project.
|
||||
ここでは、プロジェクトが「1」の側です。 異なるオブジェクトの複数のレコードが、同じプロジェクトにすべてリンクできます。
|
||||
|
||||
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
|
||||
|
||||
<Warning>
|
||||
**Import/Export limitation**: Relations that point to multiple object types (like Notes → People/Companies/Opportunities) are **not yet supported** in CSV import or export.
|
||||
**インポート/エクスポートの制限**:複数のオブジェクトタイプを指すリレーション(例:メモ → 連絡先/会社/商談)は、CSV のインポートやエクスポートでは**まだサポートされていません**。
|
||||
|
||||
* **Import**: Only one-to-many relations pointing to a single object type on each side can be imported
|
||||
* **Export**: Columns for relations pointing to multiple object types are currently left empty
|
||||
* **インポート**:各側が単一のオブジェクトタイプを指す一対多のリレーションのみインポートできます
|
||||
* **エクスポート**:複数のオブジェクトタイプを指すリレーションの列は、現在空のままになります
|
||||
|
||||
This is on our roadmap.
|
||||
これはロードマップにあります。
|
||||
</Warning>
|
||||
|
||||
### What's Not Supported Today
|
||||
### 現在サポートされていないもの
|
||||
|
||||
**Many to Many relations** are not yet available. For example, you cannot currently create a relation where:
|
||||
**多対多リレーション**はまだ利用できません。 たとえば、現在は次のようなリレーションを作成できません:
|
||||
|
||||
* Many People are linked to many Projects
|
||||
* 多数の連絡先が多数のプロジェクトにリンクされる
|
||||
|
||||
<Note>Many to Many relations are planned for H1 2026.</Note>
|
||||
<Note>多対多リレーションは 2026 年上半期に提供予定です。</Note>
|
||||
|
||||
## Linking Records During Import
|
||||
## インポート時にレコードをリンクする
|
||||
|
||||
<Note>**Reminder**: Only one-to-many relations pointing to a single object type can be imported (e.g., People → Companies). Relations pointing to multiple object types (e.g., Notes → People/Companies/Opportunities) are not yet supported.</Note>
|
||||
<Note>**リマインダー**:各側が単一のオブジェクトタイプを指す一対多のリレーションのみインポートできます(例:連絡先 → 会社)。 複数のオブジェクトタイプを指すリレーション(例:メモ → 連絡先/会社/商談)は、まだサポートされていません。</Note>
|
||||
|
||||
### Step 1: Identify the "One" and "Many" Sides
|
||||
### ステップ 1: 「1」と「多」の側を特定する
|
||||
|
||||
First, determine which object is on the "one" side and which is on the "many" side of the relationship.
|
||||
まず、どのオブジェクトがリレーションの「1」の側で、どのオブジェクトが「多」の側かを特定します。
|
||||
|
||||
**Example**:
|
||||
**例**:
|
||||
|
||||
* **Company** is the "one" side (one company has many employees)
|
||||
* **People** is the "many" side (each person belongs to one company)
|
||||
* **会社**が「1」の側(1 つの会社に多くの従業員がいる)
|
||||
* **連絡先**が「多」の側(各人は 1 つの会社に所属する)
|
||||
|
||||
### Step 2: Ensure the "One" Side Records Exist
|
||||
### ステップ 2: 「1」の側のレコードが存在することを確認する
|
||||
|
||||
Before importing the "many" side, the "one" side records must already exist in Twenty.
|
||||
「多」の側をインポートする前に、「1」の側のレコードが Twenty に既に存在している必要があります。
|
||||
|
||||
* Import or create the "one" side records first (e.g., Companies)
|
||||
* Validate their unique identifier. This can be:
|
||||
* The `id` (Twenty's UUID)
|
||||
* A field set as unique (e.g., `domain` for Companies, or an external ID from your previous system)
|
||||
* まず「1」の側のレコード(例:会社)をインポートまたは作成します
|
||||
* それらの一意の識別子を検証します。 これは次のいずれかです:
|
||||
* `id`(Twenty の UUID)
|
||||
* 一意に設定されたフィールド(例:会社の `domain`、または以前のシステムの外部 ID)
|
||||
|
||||
<Warning>The import will fail if a reference is made to a record that does not exist.</Warning>
|
||||
<Warning>存在しないレコードを参照している場合、インポートは失敗します。</Warning>
|
||||
|
||||
### Step 3: Prepare Your CSV File
|
||||
### ステップ 3: CSV ファイルを準備する
|
||||
|
||||
Add a column in your "many" side CSV file that references the "one" side record.
|
||||
「多」の側の CSV ファイルに、「1」の側のレコードを参照する列を追加します。
|
||||
|
||||
**Example**: For a People CSV file linking to Companies:
|
||||
**例**:会社にリンクする連絡先の CSV ファイルの場合:
|
||||
|
||||
```
|
||||
firstName,lastName,email,companyDomain
|
||||
@@ -96,53 +96,53 @@ John,Smith,john@acme.com,https://acme.com
|
||||
Jane,Doe,jane@widgets.co,https://widgets.co
|
||||
```
|
||||
|
||||
**Important**:
|
||||
**重要**:
|
||||
|
||||
* The value must **exactly match** the unique field on the Company record
|
||||
* For domains, use the **Domain URL** (e.g., `https://acme.com`), not the Domain Label
|
||||
* Map only **one** unique identifier per relation: this leads to a smoother import
|
||||
* 値は会社レコード上の一意フィールドと**完全に一致**している必要があります
|
||||
* ドメインの場合は、ドメインラベルではなく、**ドメイン URL**(例:`https://acme.com`)を使用してください
|
||||
* リレーションごとに**1 つ**の一意の識別子のみをマッピングしてください。そうすることで、よりスムーズにインポートできます
|
||||
|
||||
### Step 4: Ensure the Relation Field Exists
|
||||
### ステップ 4: リレーションフィールドが存在することを確認する
|
||||
|
||||
Before uploading your file, make sure the relation field exists between your objects.
|
||||
ファイルをアップロードする前に、オブジェクト間にリレーションフィールドが存在することを確認してください。
|
||||
|
||||
If it doesn't exist:
|
||||
存在しない場合は:
|
||||
|
||||
1. Go to **Settings → Data Model**
|
||||
2. Select your object (e.g., People)
|
||||
3. Create a relation field pointing to the target object (e.g., Company)
|
||||
1. **設定 → データモデル** に移動
|
||||
2. オブジェクト(例:連絡先)を選択する
|
||||
3. 対象オブジェクト(例:会社)を指すリレーションフィールドを作成する
|
||||
|
||||
### Step 5: Upload and Map the Relation
|
||||
### ステップ 5: リレーションをアップロードしてマッピングする
|
||||
|
||||
1. Upload your CSV file via the import UI
|
||||
2. In the field mapping step, find your relation column (e.g., `companyDomain`)
|
||||
3. Map it to the relation field (e.g., Company)
|
||||
4. Twenty will automatically link each record to the matching parent
|
||||
1. インポート UI から CSV ファイルをアップロードする
|
||||
2. フィールドのマッピング手順で、リレーション列(例:`companyDomain`)を見つける
|
||||
3. それをリレーションフィールド(例:会社)にマッピングする
|
||||
4. Twenty が各レコードを一致する親に自動でリンクします。
|
||||
|
||||
### Available Unique Fields for Relations
|
||||
### リレーションで利用可能な一意フィールド
|
||||
|
||||
| Object | Unique Fields Available |
|
||||
| ------------------------------------- | --------------------------------------- |
|
||||
| **Companies** | `id`, `domain`, any custom unique field |
|
||||
| **People** | `id`, `email`, any custom unique field |
|
||||
| **Workspace Members** | `id`, `email` (not name) |
|
||||
| **Other standard and custom objects** | `id`, any field marked as unique |
|
||||
| オブジェクト | 利用可能な一意フィールド |
|
||||
| ----------------------------- | ---------------------------- |
|
||||
| **会社** | `id`、`domain`、任意のカスタム一意フィールド |
|
||||
| **連絡先** | `id`、`email`、任意のカスタム一意フィールド |
|
||||
| **ワークスペースメンバー** | `id`、`email`(名前ではありません) |
|
||||
| **その他の標準オブジェクトおよびカスタムオブジェクト** | `id`、一意としてマークされた任意のフィールド |
|
||||
|
||||
<Note>**Linking to Workspace Members**: When the relation points to Workspace Members (your team logging into Twenty), reference them by their **email address**, not their name.</Note>
|
||||
<Note>**ワークスペースメンバーへのリンク**:リレーションの参照先がワークスペースメンバー(Twenty にログインするあなたのチーム)の場合、名前ではなく**メールアドレス**で参照してください。</Note>
|
||||
|
||||
<Note>We recommend using `domain` for Companies and `email` for People, as these are human-readable and easy to maintain in spreadsheets.</Note>
|
||||
<Note>会社には `domain`、連絡先には `email` を使用することをおすすめします。これらは人間が読みやすく、スプレッドシートでの管理も容易です。</Note>
|
||||
|
||||
<Note>**Reminder**: Soft-deleted records (visible under Command Menu → See deleted records) count toward uniqueness criteria. If you import a record with the same unique value as a deleted record, the deleted record will be restored. See [Uniqueness Constraints](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints) for more details.</Note>
|
||||
<Note>**リマインダー**:ソフト削除されたレコード(コマンドメニュー → 削除済みレコードを表示 で確認可能)は、一意性の判定に含まれます。 削除済みレコードと同じ一意の値を持つレコードをインポートすると、その削除済みレコードが復元されます。 詳細は[一意性制約](/l/ja/user-guide/data-migration/capabilities/uniqueness-constraints)を参照してください。</Note>
|
||||
|
||||
## Import Order Rule
|
||||
## インポート順のルール
|
||||
|
||||
<Warning>
|
||||
**Always import the "one" side first!**
|
||||
**必ず「1」の側を先にインポートしてください!**
|
||||
|
||||
1. **Companies** first (no dependencies)
|
||||
2. **People** second (linked to Companies)
|
||||
3. **Opportunities** third (linked to Companies/People)
|
||||
4. **Custom objects** following their dependencies
|
||||
1. **会社**を最初に(依存関係なし)
|
||||
2. **連絡先**を次に(会社にリンク)
|
||||
3. **商談**を 3 番目に(会社/連絡先にリンク)
|
||||
4. **カスタムオブジェクト**は依存関係に従って
|
||||
|
||||
The parent record must exist before you can reference it.
|
||||
参照する前に、親レコードが存在している必要があります。
|
||||
</Warning>
|
||||
|
||||
+41
-41
@@ -1,72 +1,72 @@
|
||||
---
|
||||
title: Uniqueness Constraints
|
||||
description: How Twenty enforces data uniqueness during import.
|
||||
title: 一意性の制約
|
||||
description: Twenty によるインポート時のデータ一意性の確保方法。
|
||||
---
|
||||
|
||||
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
|
||||
|
||||
## Overview
|
||||
## 概要
|
||||
|
||||
Twenty enforces uniqueness on certain fields to prevent duplicate records and ensure data integrity. Understanding these constraints is essential for successful imports.
|
||||
Twenty は、重複レコードを防ぎデータの整合性を確保するため、特定のフィールドに一意性を強制します。 これらの制約を理解することは、インポートを成功させるうえで不可欠です。
|
||||
|
||||
## Default Unique Fields
|
||||
## デフォルトの一意のフィールド
|
||||
|
||||
| Object | Unique Fields |
|
||||
| ------------------ | ---------------------- |
|
||||
| **People** | `id`, `email` |
|
||||
| **Companies** | `id`, `domain` |
|
||||
| **Custom objects** | `id` only (by default) |
|
||||
| オブジェクト | 一意のフィールド |
|
||||
| -------------- | -------------- |
|
||||
| **連絡先** | `id`, `email` |
|
||||
| **会社** | `id`, `domain` |
|
||||
| **カスタムオブジェクト** | `id` のみ(デフォルト) |
|
||||
|
||||
<Note>The `id` field is Twenty's internal identifier, auto-generated for each record. It uses UUID format (e.g., `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
|
||||
<Note>`id` フィールドは Twenty の内部識別子で、各レコードに対して自動生成されます。 UUID 形式を使用します(例: `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`)。</Note>
|
||||
|
||||
## Custom Unique Fields
|
||||
## カスタムの一意フィールド
|
||||
|
||||
You can define additional unique fields under **Settings → Data Model**:
|
||||
追加の一意フィールドは **設定 → データモデル** で定義できます:
|
||||
|
||||
1. Go to **Settings → Data Model**
|
||||
2. Select the object
|
||||
3. Click on a field
|
||||
4. Enable **Unique** in field settings
|
||||
1. **設定 → データモデル** に移動します
|
||||
2. オブジェクトを選択する
|
||||
3. フィールドをクリックする
|
||||
4. フィールド設定で **Unique** を有効化する
|
||||
|
||||
### Use Cases for Custom Unique Fields
|
||||
### カスタムの一意フィールドのユースケース
|
||||
|
||||
* **External IDs**: Store IDs from other systems (Salesforce ID, HubSpot ID)
|
||||
* **Business identifiers**: Employee numbers, customer codes
|
||||
* **Alternative contact info**: LinkedIn profile, phone number
|
||||
* **外部 ID**: 他システムの ID を保存(Salesforce ID、HubSpot ID)
|
||||
* **ビジネス識別子**: 従業員番号、顧客コード
|
||||
* **代替連絡先情報**: LinkedIn プロフィール、電話番号
|
||||
|
||||
<Note>The field name `id` is reserved for Twenty's internal ID. Use a different name like `externalId` or `legacyId` for external identifiers.</Note>
|
||||
<Note>フィールド名 `id` は Twenty の内部 ID 用に予約されています。 外部識別子には `externalId` や `legacyId` など別の名前を使用してください。</Note>
|
||||
|
||||
## Import Behavior
|
||||
## インポート時の動作
|
||||
|
||||
### Creating New Records
|
||||
### 新規レコードの作成
|
||||
|
||||
If a unique field value doesn't exist, a new record is created.
|
||||
一意フィールドの値が存在しない場合は、新しいレコードが作成されます。
|
||||
|
||||
### Updating Existing Records
|
||||
### 既存レコードの更新
|
||||
|
||||
If a unique field value matches an existing record, that record is **updated** with the new data.
|
||||
<Warning>To **update existing records**, it is recommended to **only match one unique field**.</Warning>
|
||||
一意フィールドの値が既存レコードに一致する場合、そのレコードは新しいデータで**更新**されます。
|
||||
<Warning>**既存レコードを更新**する場合は、**一意フィールドを 1 つのみに限定して照合**することを推奨します。</Warning>
|
||||
|
||||
### Soft-Deleted Records
|
||||
### ソフト削除済みレコード
|
||||
|
||||
<Warning>
|
||||
**Deleted records count toward uniqueness.**
|
||||
**削除済みレコードは一意性の判定に含まれます。**
|
||||
|
||||
Soft-deleted records (visible under Command Menu → See deleted records) are included in uniqueness checks. If you import a record with the same unique value as a deleted record, the deleted record will be **restored** with the new data.
|
||||
ソフト削除されたレコード(コマンドメニュー → 削除済みレコードを表示 で表示可能)は、一意性チェックに含まれます。 削除済みレコードと同じ一意の値を持つレコードをインポートすると、その削除済みレコードが新しいデータで**復元**されます。
|
||||
</Warning>
|
||||
|
||||
## Duplicate Detection During Import
|
||||
## インポート時の重複検出
|
||||
|
||||
During the validation phase:
|
||||
検証フェーズ中:
|
||||
|
||||
* Duplicates within your file are highlighted in yellow
|
||||
* You can edit or remove duplicate rows from the UI before starting the import
|
||||
* ファイル内の重複は黄色でハイライト表示されます
|
||||
* インポートを開始する前に、UI から重複行を編集または削除できます
|
||||
|
||||
<VimeoEmbed videoId="1145246326" title="Video demonstration" />
|
||||
<VimeoEmbed videoId="1145246326" title="デモ動画" />
|
||||
|
||||
## Best Practices
|
||||
## ベストプラクティス
|
||||
|
||||
1. **Remove duplicates** from your file before importing
|
||||
2. **Check for existing records** in Twenty before importing
|
||||
3. **Use external IDs** when migrating from other systems
|
||||
4. **Include unique fields** if you want to update existing records
|
||||
1. インポート前にファイルから**重複を削除**してください
|
||||
2. インポート前に Twenty で**既存レコードを確認**してください
|
||||
3. 他のシステムから移行する場合は、**外部 ID を使用**してください
|
||||
4. 既存レコードを更新したい場合は、**一意フィールドを含め**てください
|
||||
|
||||
Reference in New Issue
Block a user