Service methods

ここでは、各種サービスをGengo API上で扱うエンドポイントについてご説明しています。

Language pairs (GET)

概要 :

翻訳対応している言語ペア、レベル、ポイント価格を返します。

URL :

https://api.gengo.com/v2/translate/service/language_pairs

認証 :

非必須

パラメータ :
  • api_key (必須) - お客様の API key

  • api_sig (必須) - お客様の API signature

  • ts (必須) - 現在のUNIX時間のInteger (整数型)

データ引数 :

lc_src (任意): ソース 言語コード。これを送信した場合、レスポンスを関連する言語ペアに限定します。

呼び出し例

 1#!/usr/bin/python
 2# -*- coding: utf-8 -*-
 3
 4from gengo import Gengo
 5
 6
 7gengo = Gengo(
 8    public_key='your_public_key',
 9    private_key='your_private_key',
10    sandbox=False,
11    debug=False)
12
13print(gengo.getServiceLanguagePairs(lc_src='de'))

返り値

 1{
 2  "opstat": "ok",
 3  "response": [
 4    {
 5      "unit_price": 0.0500,
 6      "lc_tgt": "en",
 7      "lc_src": "de",
 8      "tier": "standard",
 9      "currency": "USD"
10    },
11    {
12      "unit_price": 0.1000,
13      "lc_tgt": "en",
14      "lc_src": "de",
15      "tier": "pro",
16      "currency": "USD"
17    },
18  ]
19}

Languages (GET)

概要 :

翻訳対応している言語とその言語コードのリストを返します。

URL :

https://api.gengo.com/v2/translate/service/languages

認証 :

非必須

パラメータ :
  • api_key (必須) - お客様の API key

呼び出し例

 1#!/usr/bin/python
 2# -*- coding: utf-8 -*-
 3
 4from gengo import Gengo
 5
 6
 7gengo = Gengo(
 8    public_key='your_public_key',
 9    private_key='your_private_key',
10    sandbox=False,
11    debug=False)
12
13print(gengo.getServiceLanguages())

返り値

 1{
 2  "opstat": "ok",
 3  "response": [
 4    {
 5      "unit_type": "word",
 6      "lc": "en",
 7      "localized_name": "English",
 8      "language": "English"
 9    },
10    {
11      "unit_type": "character",
12      "lc": "ja",
13      "localized_name": "日本語",
14      "language": "Japanese"
15    },
16    {
17      "unit_type": "word",
18      "lc": "es",
19      "localized_name": "Español",
20      "language": "Spanish (Spain)"
21    }
22  ]
23}

Quote (POST)

概要 :

対象テキストのポイントお見積もりとユニット数を、提出された案件 (複数も可) のコンテンツ、レベル、および言語ペアにもとづいて返します。

URL :

https://api.gengo.com/v2/translate/service/quote

認証 :

必須

パラメータ :
  • api_key (必須) - お客様の API key

  • api_sig (必須) - お客様の API signature

  • ts (必須) - 現在のUNIX時間のInteger (整数型)

データ引数 :

jobs (required): A dictionary of Job payloads, but only with the "lc_src", "lc_tgt", and "tier" parameters.

呼び出し例

 1#!/usr/bin/python
 2# -*- coding: utf-8 -*-
 3
 4from gengo import Gengo
 5
 6
 7gengo = Gengo(
 8    public_key='your_public_key',
 9    private_key='your_private_key',
10    sandbox=False,
11    debug=False)
12
13jobs_data = {
14        'job_1': {
15            'type': 'text',
16            'slug': 'Single :: English to Japanese',
17            'body_src': 'Testing Gengo API library calls.',
18            'lc_src': 'en',
19            'lc_tgt': 'ja',
20            'tier': 'standard',
21            'auto_approve': 0,
22            'comment': 'HEY THERE TRANSLATOR',
23            'callback_url': 'http://...',
24            'custom_data': 'your optional custom data, limited to 1kb.',
25        },
26        'job_2': {
27            'type': 'text',
28            'slug': 'Single :: English to Japanese',
29            'body_src': 'Testing Gengo API library calls.',
30            'lc_src': 'en',
31            'lc_tgt': 'ja',
32            'tier': 'standard',
33            'auto_approve': 0,
34            'comment': 'HEY THERE TRANSLATOR',
35            'callback_url': 'http://...',
36            'custom_data':'your optional custom data, limited to 1kb.',
37            'services': ['translation', 'edit'],
38        },
39        ...
40}
41
42print(gengo.determineTranslationCost(jobs=jobs_data))

返り値

 1{
 2  "opstat": "ok",
 3  "response": {
 4    "jobs": {
 5      "job_2": {
 6        "custom_data": "your optional custom data, limited to 1kb.",
 7        "credits": 4.2,
 8        "eta": 25164,
 9        "unit_count": 42,
10        "lc_src_detected": "en",
11        "currency": "USD",
12        "type": "text"
13      },
14      "job_1": {
15        "custom_data": "your optional custom data, limited to 1kb.",
16        "credits": 35.64,
17        "eta": 45198,
18        "unit_count": 324,
19        "lc_src_detected": "en",
20        "currency": "USD",
21        "type": "text"
22      }
23    }
24  }
25}

Quote files (POST)

概要 :

ファイルをGengoにアップロードし、各ファイルのお見積もりを、実際のご注文時にお使いいただける識別子(identifier)とともに返します。お見積もりは、コンテンツ、レベル、および言語ペアにもとづいて算出されます。この呼び出しをされた後は、返された識別子を案件 (jobs) のPOSTメソッドのパラメータの1つとして実際の案件のご注文にご利用ください (案件の ペイロードをご参照ください)。

Note:

1回のシステムコールでアップロードできるファイル数は、最大50ファイルまでになっています。

URL :

https://api.gengo.com/v2/translate/service/quote/file

認証 :

必須

パラメータ :
  • api_key (必須) - お客様の API key

  • api_sig (必須) - お客様の API signature

  • ts (必須) - 現在のUNIX時間のInteger (整数型)

  • Additional one parameter for each "file_key" mentioned in data arguments, with the multipart-encoded file.

データ引数 :
  • jobs (required) - A dictionary of Job payloads with "lc_src", "lc_tgt", "tier", "type" and "file_key" parameters.

呼び出し例

 1#!/usr/bin/python
 2# -*- coding: utf-8 -*-
 3
 4from gengo import Gengo
 5
 6
 7gengo = Gengo(
 8    public_key='your_public_key',
 9    private_key='your_private_key',
10    sandbox=False,
11    debug=False)
12
13jobs_data = {
14    'job_1': {
15        'type': 'file',
16        'lc_src': 'en',
17        'lc_tgt': 'ja',
18        'tier': 'standard',
19        'file_path': '/job_1/file_path.doc',
20    },
21    'job_2': {
22        'type': 'file',
23        'lc_src': 'en',
24        'lc_tgt': 'ja',
25        'tier': 'standard',
26        'file_path': '/job_2/file_path.pdf',
27    },
28    'job_3': {
29        'type': 'file',
30        'lc_src': 'en',
31        'lc_tgt': 'ja',
32        'tier': 'standard',
33        'file_path': '/job_3/file_path.foo',
34    },
35}
36
37print(gengo.determineTranslationCost(jobs=jobs_data))

返り値

 1{
 2  "opstat": "ok",
 3  "response": {
 4    "jobs": {
 5      "job_3": {
 6        "err": {
 7          "filename": "file_path.foo",
 8          "code": 1802,
 9          "key": "job_3"
10        }
11      },
12      "job_2": {
13        "credits": 0.30,
14        "eta": 25128,
15        "identifier": "4fd1551c3a5628f795d645394bfcd0a5442e4e7ae60ad1f163424bdeb8420df4",
16        "unit_count": 6,
17        "lc_src": "en",
18        "lc_src_detected": "en",
19        "currency": "USD",
20        "type": "file"
21      },
22      "job_1": {
23        "credits": 0.30,
24        "eta": 25128,
25        "order_id": "54632",
26        "identifier": "49427e41a1b6cefd7444b0d27ec165e7481658791885e71b7602c6babfc80b77",
27        "unit_count": 6,
28        "lc_src": "en",
29        "lc_src_detected": "en",
30        "currency": "USD",
31        "type": "file"
32      }
33    }
34  }
35}

Unit Count (GET)

概要 :

テキストのユニットの種類と数を、提出されたコンテンツと言語コードに応じて返します。

URL :

https://api.gengo.com/service/unit_count

認証 :

非必須

データ引数 :
  • データ (必須) - 「text」と「lc」のパラメータのみを含むデータ列。

呼び出し例

 1#!/usr/bin/env python
 2# -*- coding: utf-8 -*-
 3
 4import requests
 5
 6url = 'https://api.gengo.com/service/unit_count'
 7
 8headers = {'Content-type': 'application/json',
 9           'Accept': 'application/json',}
10
11data = [
12    {'text': 'Hello World!', 'lc': 'en'},
13    {'text': 'Ciao Mondo!', 'lc': 'it'},
14    {'text': 'こんにちは', 'lc': 'ja'}
15]
16
17resp = requests.post(url, json=data, headers=headers)
18print(resp.text)

返り値

 1[
 2	{
 3		"text":"Hello World!",
 4		"lc":"en",
 5		"unit_type":"word",
 6		"unit_count":2
 7	},
 8	{
 9		"text":"Ciao Mondo!",
10		"lc":"it",
11		"unit_type":"word",
12		"unit_count":2
13	},
14	{
15		"text":"こんにちは",
16		"lc":"ja",
17		"unit_type":"character",
18		"unit_count":5
19	}
20]