Service methods¶
ここでは、各種サービスをGengo API上で扱うエンドポイントについてご説明しています。
Language pairs (GET)¶
- 概要 :
翻訳対応している言語ペア、レベル、ポイント価格を返します。
- URL :
https://api.gengo.com/v2/translate/service/language_pairs
- 認証 :
非必須
- パラメータ :
api_key
(必須) - お客様の API keyapi_sig
(必須) - お客様の API signaturets
(必須) - 現在の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 keyapi_sig
(必須) - お客様の API signaturets
(必須) - 現在の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 keyapi_sig
(必須) - お客様の API signaturets
(必須) - 現在の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]