セグメントを翻訳する

認証

認証はリクエストヘッダーでAuthorization: Bearer <API key>として提供されなければなりません。

セグメントベースの翻訳用APIキー

有効なAPIキーは以下です:

  • ユーザーのAPIキー。ユーザーは、エンジンが属するグループでtranslate権限を持っている必要があります。

  • エンジンに割り当てられた翻訳用のAPIキー。

リクエストに必要なパラメータ

翻訳されるセンテンスとは別に、成功するリクエストを作成するためには常に以下の情報が必要であり、クライアントの実装ではハードコードしてはなりません:

パラメータ

使用方法

サービスベースURL

リクエストは、このベースURL + /api/v1 + エンドポイントに送信する必要があります。

このURLはエンジンがデプロイされている地域によって決まります。

APIキー

リクエストヘッダーの中で Authorization: Bearer <API key> として送信されなければなりません

エンジンID

セグメントを翻訳するために使用されるエンジンのUUID。JSONペイロード内でengine_idとして送信する必要があります。

エンドポイント

最新のAPIバージョンはv1です。

POST /translations

JSONペイロード

パラメータ

必須

タイプ

使用方法

engine_id

はい

string

使用するエンジンのUUID。

sentences

はい

string[]

翻訳するセンテンス。それらは次です:

  • プレーンテキスト

  • XMLフラグメント

  • 整形式のXLIFF 1.2またはXLIFF 2.1 (センテンスを何かでラップ/エンベロープする必要はありません。つまり、<source>タグにあるものは何でも送信できます)

format

いいえ

string

同じリクエストで送信されたすべてのセンテンスの形式は、sentences配列内にあります。

承認された値:

  • text-plain

  • xliff:1.2

  • xliff:2.1

  • GLOBALESE 4.1.2+ xml

GLOBALESE 4.1.2+ このパラメータが提供されない場合、globalese by memoQ は最善の推測値を使用します。形式がわかっている場合は常に形式を指定し、形式がわかっている場合は常にglobalese by memoQが自動検出を行わないことをお勧めします。

翻訳対象のセグメントが異なるフォーマットの場合、それらは別々のリクエストで送信しなければなりません。

制限

最大リクエストサイズは100キロバイトです。

リクエスト例

{
    "engine_id": "<engine ID>",
    "format": "xliff:1.2",
    "sentences": [
        "Sentence one.",
        "Sentence <g id=\"1\">two</g>."    ]
}

応答例

成功した応答は201のレスポンスコードを持ち、以下のボディ構造を持ちます:

{
    "sentences": [
        "Translation one.",
        "Translation <g id=\"1\">two</g>."    ]
}

その他の応答コード:

  • 400 不正なリクエスト

  • 401 未承認

  • 413 ペイロードが大きすぎる

  • 500 内部サーバーエラー

  • 502 バッドゲートウェイ(翻訳中のエラー)

cURLの例

以下のリクエストは、/translationsへの完全なcURLリクエストを示しています:

curl --location --request POST '<service URL>/api/v1/translations' \
--header 'Authorization:Bearer <API key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "engine_id": "<engine ID>",
    "format": "xliff:1.2",
    "sentences" : [
        "Sentence one.",
        "Sentence <g id=\"1\">two</g>."    ]
}'