Skip to content
10 changes: 9 additions & 1 deletion i18n/ja/TRANSLATION_GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ This document outlines the rules for style, tone, and terminology unification fo
* **理由 1 (参照性)**: 技術用語や固有名詞が多く、英語のままの方が参照しやすいこと、また既存ドキュメントとの統一性を保つため。
* **理由 2 (リンク維持)**: 見出しが他のドキュメントからのリンク(アンカー)のターゲットになっている場合、見出しを翻訳すると自動生成されるアンカー ID が変化し、リンク切れの原因となります。 Docusaurus の仕様上、明示的なアンカー ID (`{#...}`) を付与してもリンク切れが発生するケースがあるため、見出しテキスト自体を英語のまま維持することを強く推奨します。
* **例外**: FAQ の質問文など、翻訳しなければ意味が通じにくい箇所については翻訳を検討しますが、その場合もリンク切れのリスクを考慮してください。
* 例: `## Benefits of UID2 for Publishers` (「パブリッシャーにとっての UID2 のメリット」とはしない)
* **英語見出しは sentence case** を使用します(最初の単語と固有名詞のみ大文字、それ以外は小文字)。
* 例: `## Benefits of UID2 for publishers` (「パブリッシャーにとっての UID2 のメリット」とはしない。`Publishers` は固有名詞でないため小文字)
* 例: `## Getting started`(title case の `Getting Started` としない)
* 固有名詞(UID2, Private Operator, DSP, SDK 等)は sentence case でも常に大文字を維持します。

## 3. 固有名詞・専門用語の扱い

Expand Down Expand Up @@ -75,6 +78,11 @@ This document outlines the rules for style, tone, and terminology unification fo
* 例: `DII (Directly Identifying Information)` — DII は英語略語のため、展開形も英語。
* 例: `DSP (デマンドサイドプラットフォーム)` — 用語集の定義に従いカッコ内は日本語。

* **英語のままのリンクテキストも sentence case** に従います。
* 例: `[Getting started](...)` (`[Getting Started]` としない)
* 例: `[Advertiser/data provider integration overview](...)` (`[Advertiser/Data Provider Integration Overview]` としない)
* 固有名詞・製品名はリンクテキスト内でも大文字を維持します(例: `[UID2 token]`、`[Private Operator]`)。

* **結果として**: 同じページ内でリンクテキストが英語のものと日本語のものが混在することがあります。これは不整合ではなく、各用語が用語集の定義に従った結果です。

## 5. 箇条書き
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,15 @@ UID2 のオプトアウトワークフローとユーザーがオプトアウト
知っておくべきことは以下のとおりです:

- リクエストの最大サイズは 1MB です。
- 大量のメールアドレス、電話番号、またはそれぞれのハッシュをマップするには、1 バッチあたり最大 5,000 アイテムのバッチサイズで、それらを *連続した* バッチで送信してください。
- <Link href="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link> を使用している場合を除き、バッチを並行して送信しないでください。つまり、単一の HTTP 接続を使用して、[Directly identifying information (DII)](../ref-info/glossary-uid.md#gl-dii) を連続してマッピングしてください。
- 大量のメールアドレス、電話番号、またはそれぞれのハッシュをマップするには、1 バッチあたり最大 5,000 アイテムで送信してください。同時に送信するバッチは 20 件以内にすることを勧めます。
- メールアドレス、電話番号、またはそれぞれのハッシュのマッピングを必ず保存してください。<br/>マッピングを保存しないと、数百万のメールアドレスや電話番号をマッピングする必要がある場合に、処理時間が大幅に増加する可能性があります。しかし、実際に更新が必要なマッピングのみを再計算することで、毎日更新が必要な raw UID2 の数は約 1/365 となり、総処理時間を短縮できます。[Advertiser/data provider integration overview](../guides/integration-advertiser-dataprovider-overview.md) と [FAQs for advertisers and data providers](../getting-started/gs-faqs.md#faqs-for-advertisers-and-data-providers) も参照してください。

## Rate limiting

公正な使用とプラットフォームの安定性を確保するために、`POST /v2/identity/map` エンドポイントは、急激なトラフィックの増加から保護するためにレート制限を適用しています。短時間に多数のリクエストを送信すると、`429` エラー応答が返される可能性があります。

レート制限エラーを適切に処理するには、リクエストを再試行する際に [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff) とランダムジッターを実装することを勧めます。制限内でスループットを最大化するには、多数の小さなリクエストを送信するのではなく、リクエストごとに最大バッチサイズの 5,000 アイテムを使用してください。

## Request format

`POST '{environment}/v2/identity/map'`
Expand Down Expand Up @@ -203,5 +208,6 @@ echo '{"phone": ["+12345678901", "+441234567890"]}' | python3 uid2_request.py ht
| `success` | 200 | リクエストは成功しました。レスポンスは暗号化されています。 |
| `client_error` | 400 | リクエストに不足している、または無効なパラメータがありました。 |
| `unauthorized` | 401 | リクエストにベアラートークンが含まれていない、無効なベアラートークンが含まれている、またはリクエストされた操作を実行するのに許可されていないベアラートークンが含まれていました。 |
| N/A | 429 | このエンドポイントへのリクエストが多すぎます。待ってからexponential backoffを使用して再試行してください。 |

`status` の値が `success` 以外であれば、`message` フィールドにその問題に関する追加情報が表示されます。
`status` の値が `success` 以外であれば、`message` フィールドにその問題に関する追加情報が表示されます。Note: 429 のレスポンスには、JSON 形式のレスポンス本文が含まれていません。
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,15 @@ UID2 のオプトアウト手順とユーザーがオプトアウトする方法
以下が必要な情報です:

- 最大リクエストサイズは 1MB です。
- 大量のメールアドレス、電話番号、またはそれぞれのハッシュをマッピングする場合は、1 バッチあたり最大 5,000 アイテムの *順次* バッチで送信します。
- <Link href="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link> を使用していない限り、バッチを並行して送信しないでください。つまり、単一の HTTP 接続を使用し、ハッシュ化またはハッシュされていない <Link href="../ref-info/glossary-uid#gl-dii">Directly Identifying Information (DII)</Link> 値のバッチを連続して送信し、複数の並行接続を作成しないでください。
- 大量のメールアドレス、電話番号、またはそれぞれのハッシュをマップするには、1 バッチあたり最大 5,000 アイテムで送信してください。同時に送信するバッチは 20 件以内にすることを勧めます。
- メールアドレス、電話番号、またはそれぞれのハッシュのマッピングを必ず保存してください。<br/>マッピングを保存しないと、数百万のメールアドレスや電話番号をマッピングする際に処理時間が大幅に増加する可能性があります。ただし、実際に更新が必要なマッピングのみを再計算すると、UID2 の約 1/365 が毎日更新されるため、総処理時間が短縮されます。詳細は、[Advertiser/data provider integration overview](../guides/integration-advertiser-dataprovider-overview.md) と [FAQs for advertisers and data providers](../getting-started/gs-faqs.md#faqs-for-advertisers-and-data-providers) を参照してください。

## Rate limiting

公正な使用とプラットフォームの安定性を確保するために、`POST /v3/identity/map` エンドポイントは、急激なトラフィックの増加から保護するためにレート制限を適用しています。短時間に多数のリクエストを送信すると、`429` エラー応答が返される可能性があります。

レート制限エラーを適切に処理するには、リクエストを再試行する際に [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff) とランダムジッターを実装することを勧めます。制限内でスループットを最大化するには、多数の小さなリクエストを送信するのではなく、リクエストごとに最大バッチサイズの 5,000 アイテムを使用してください。

## Request format

`POST '{environment}/v3/identity/map'`
Expand Down Expand Up @@ -140,12 +145,12 @@ Response:
{
"u": "AdvIvSiaum0P5s3X/7X8h8sz+OhF2IG8DNbEnkWSbYM=",
"p": "EObwtHBUqDNZR33LNSMdtt5cafsYFuGmuY4ZLenlue4=",
"r": 1735689600000
"r": 1735689600
},
{
"u": "IbW4n6LIvtDj/8fCESlU0QG9K/fH63UdcTkJpAG8fIQ=",
"p": null,
"r": 1735862400000
"r": 1735862400
},
{ "e": "invalid identifier" },
{ "e": "optout" }
Expand Down Expand Up @@ -176,7 +181,7 @@ DII が正常にマッピングされた場合、マッピングされたオブ
| :------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `u` | string | リクエストで提供されたメールアドレスまたは電話番号に対応する raw UID2。 |
| `p` | string | 以下のいずれか:<ul><li>現在の raw UID2 が過去 90 日以内にローテーションされた場合: 以前の raw UID2。</li><li>それ以外の場合: `null`。</li></ul> |
| `r` | number | raw UID2 を更新する可能性がある時刻を示す Unix タイムスタンプ(ミリ秒)。raw UID2 はこのタイムスタンプまで有効です。 |
| `r` | number | raw UID2 を更新する可能性がある時刻を示す Unix タイムスタンプ()。raw UID2 はこのタイムスタンプまで有効です。 |

:::note
raw UID2 はリフレッシュタイムスタンプの前では変化しません。リフレッシュタイムスタンプの後、DII を再マッピングすると新しいリフレッシュタイムスタンプが返されますが、raw UID2 は変化する場合もあれば変化しない場合もあります。raw UID2 が複数のリフレッシュ間隔にわたって変化しない可能性もあります。
Expand All @@ -197,8 +202,13 @@ raw UID2 はリフレッシュタイムスタンプの前では変化しませ
| `success` | 200 | リクエストは成功しました。レスポンスは暗号化されます。 |
| `client_error` | 400 | リクエストに欠落または無効なパラメーターが含まれていました。 |
| `unauthorized` | 401 | リクエストにベアラートークンが含まれていない、無効なベアラートークンが含まれている、またはリクエストされた操作を実行する権限のないベアラートークンが含まれていました。 |
| N/A | 429 | このエンドポイントへのリクエストが多すぎます。待ってからexponential backoffを使用して再試行してください。 |

`status` プロパティの値が `success` 以外の場合、`message` フィールドには問題に関する追加情報が提供されます。
`status` の値が `success` 以外であれば、`message` フィールドにその問題に関する追加情報が表示されます。Note: 429 のレスポンスには、JSON 形式のレスポンス本文が含まれていません。

:::note
429 のレスポンスには、JSON 形式のレスポンスボディが含まれていません。
:::

## Migration from POST /v2/identity/map

Expand Down Expand Up @@ -285,7 +295,7 @@ for index, item in enumerate(response['body']['email']):
import time

def is_refresh_needed(mapping):
now = int(time.time() * 1000) # Convert to milliseconds
now = int(time.time()) # Current time in seconds
return now >= mapping['refresh_from']

# Check individual mappings for refresh needs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ UID2 API のリクエストレスポンスワークフローは、以下のス

## Decrypting responses

レスポンスを復号化するコードを自分で書くか、UID2 SDKを使うか、提供されているコード例のいずれかを使うかの選択肢があります([Encryption and decryption code examples](#encryption-and-decryption-code-examples) を参照)。独自のコードを書く場合は、[Encrypted response envelope](#encrypted-response-envelope) および [Encrypted response envelope](#unencrypted-response-data-envelope) に記載されているフィールドレイアウトの要件に従うようにしてください。
レスポンスを復号化するコードを自分で書くか、UID2 SDK を使うか、提供されているコード例のいずれかを使うかの選択肢があります([Encryption and decryption code examples](#encryption-and-decryption-code-examples) を参照)。独自のコードを書く場合は、[Encrypted response envelope](#encrypted-response-envelope) および [Encrypted response envelope](#unencrypted-response-data-envelope) に記載されているフィールドレイアウトの要件に従うようにしてください。

:::note
レスポンスは、サービスが HTTP ステータスコード 200 を返す場合のみ、暗号化されます。
Expand Down Expand Up @@ -127,7 +127,7 @@ Windows の場合、PowerShell の代わりに Windows コマンドプロンプ
以下のコードサンプルは Python を使ってリクエストを暗号化し、レスポンスを復号化します。必要なパラメータはコード例の一番上に示されており、 `python3 uid2_request.py` を実行することで得ることができます。

:::note
Windowsの場合は `python3` を `python` に置き換えてください。
Windows の場合は `python3` を `python` に置き換えてください。
:::

Python のコードには `pycryptodomex` と `requests` パッケージが必要です。これらは以下のようにしてインストールできます:
Expand Down Expand Up @@ -205,7 +205,7 @@ Maven を使用している場合は、以下の最小限の `pom.xml` を使用

以下のコードサンプルは、C# を使用してリクエストを暗号化し、レスポンスを復号化します。必要なパラメータはファイルの先頭に記載されています。また、`.\uid2_request` をビルドして実行することでも確認できます。

このファイルには.NET 7.0が必要です。必要であれば、それ以前のバージョンを使用することもできますが、.NET Core 3.0以降でなければなりません。バージョンを変更するには、[top-level statements](https://learn.microsoft.com/ja-jp/dotnet/csharp/fundamentals/program-structure/top-level-statements) を Main メソッドに、[using 宣言](https://learn.microsoft.com/ja-jp/cpp/cpp/using-declaration?view=msvc-170) を [using ステートメント](https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/proposals/csharp-8.0/using) に置き換えてください。
このファイルには .NET 7.0 が必要です。必要であれば、それ以前のバージョンを使用することもできますが、.NET Core 3.0 以降でなければなりません。バージョンを変更するには、[top-level statements](https://learn.microsoft.com/ja-jp/dotnet/csharp/fundamentals/program-structure/top-level-statements) を Main メソッドに、[using 宣言](https://learn.microsoft.com/ja-jp/cpp/cpp/using-declaration?view=msvc-170) を [using ステートメント](https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/proposals/csharp-8.0/using) に置き換えてください。

</TabItem>
<TabItem value='go' label='Go'>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ Refresh Token のワークフローをテストするにはどうすればよい
メールアドレスの正規化、ハッシュ化、Base64 エンコードされたハッシュ値、または、電話番号のハッシュ化、Base64 エンコードされたハッシュ値を取得するには、ハッシングツールを使用できます。詳細は、[UID2 hashing tool](gs-normalization-encoding.md#uid2-hashing-tool) を参照してください。
:::

SDKを使うかどうかで手順は少し異なります
SDK を使うかどうかで手順は少し異なります

##### With SDK:

Expand Down Expand Up @@ -237,10 +237,6 @@ raw UID2 は、リフレッシュタイムスタンプの前では変化しま

はい。何百万ものメールアドレスや電話番号をマッピングする必要がある場合、マッピングを保存しないことで処理時間が大幅に増加する可能性があります。しかし、実際に更新が必要なマッピングだけを再計算すると、毎日更新する必要があるのは UID2 の約 365 分の 1 なので、総処理時間が短縮されます。

:::important
<Link href="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link> を使用していない場合は、単一の HTTP 接続を使用して、バッチあたり最大 5,000 アイテムのバッチサイズで、メールアドレス、電話番号、またはハッシュを連続してマッピングする必要があります。つまり、複数の並行接続を作成せずにマッピングを行ってください。
:::

#### How should I handle user opt-outs?
ユーザーのオプトアウトはどのように処理すればよいですか?

Expand Down
Loading
Loading