오프라인에서 명령어로 일괄 번역을 수행하면 대량의 텍스트(배치당 파일 한도 100개)를 다양한 타겟 언어(최대 10개)로 번역할 수 있습니다. 총 콘텐츠 크기는 100M 유니코드 코드포인트 이하여야 하며 UTF-8 인코딩을 사용해야 합니다.
시작하기 전에
Cloud Translation API를 사용을 시작하려면 Cloud Translation API가 사용 설정된 프로젝트가 있고 적절한 사용자 인증 정보가 있어야 합니다. 공통 프로그래밍 언어용 클라이언트 라이브러리를 설치하여 API를 호출할 수도 있습니다. 자세한 내용은 설정 페이지를 참조하세요.
권한
일괄 번역의 경우 Cloud Translation 권한 외에 Cloud Storage 버킷에 대한 액세스 권한이 있어야 합니다.
일괄 번역 입력 파일은 Cloud Storage 버킷에서 읽어오고 출력 파일은 Cloud Storage 버킷에 기록됩니다. 예를 들어 버킷에서 입력 파일을 읽어오려면 최소한 버킷에 대한 읽기 객체 권한(roles/storage.objectViewer
역할로 제공됨)이 있어야 합니다. Cloud Storage 역할에 대한 자세한 내용은 Cloud Storage 문서를 참조하세요.
입력 파일
text/html(HTML) 및 text/plain(.tsv 및 .txt)이라는 두 가지 MIME 유형만 지원됩니다.
TSV 파일 사용
파일 확장자가 TSV이면 열 1~2개를 포함할 수 있습니다. 첫 번째 열(선택 사항)은 텍스트 요청의 ID입니다. 첫 번째 열이 없으면 Google은 입력 파일의 행 번호(0 기반)를 출력 파일의 ID로 사용합니다. 두 번째 열은 번역할 실제 텍스트입니다. 최상의 결과를 얻으려면 각 행이 유니코드 코드포인트 10,000개 이하여야 합니다. 그렇지 않으면 오류가 반환 될 수 있습니다.
텍스트 또는 HTML 사용
지원되는 다른 파일 확장자는 텍스트 파일(.txt) 또는 HTML이며 하나의 큰 텍스트 덩어리로 처리됩니다.
일괄 요청
일괄 번역을 요청할 때는 번역할 콘텐츠가 포함된 입력 구성 파일(InputConfig)과 최종 번역을 저장할 출력 위치(OutputConfig)의 경로를 제공합니다. Cloud Storage 버킷이 최소 두 개 필요합니다. 소스 버킷에는 번역할 콘텐츠가 포함되고 대상 버킷에는 번역된 결과 파일이 포함됩니다. 번역 프로세스가 시작되기 전에 대상 폴더가 비어 있어야 합니다.
요청이 처리됨에 따라 결과가 실시간으로 출력 위치에 기록됩니다. 사용자가 도중에 요청을 취소하더라도 입력 파일 수준의 부분 출력이 여전히 출력 Cloud Storage 위치에 생성됩니다. 따라서 번역된 문자 수만큼 요금이 계속 청구됩니다.
REST
이 예시에서는 번역을 위해 전송된 입력 파일 두 개를 보여줍니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
JSON 요청 본문:
{ "sourceLanguageCode": "en", "targetLanguageCodes": ["es", "fr"], "inputConfigs": [ { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-number/locations/us-central1/operations/20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Go API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 후 .NET용 Cloud Translation 참조 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 후 PHP용 Cloud Translation 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Cloud Translation 참고 문서를 참조하세요.
AutoML 모델을 사용하여 일괄 요청
일괄 요청에 커스텀 모델을 사용할 수 있습니다. 여러 도착어가 관련되어 있는 경우 다양한 시나리오가 있습니다.
도착어에 대한 AutoML 모델 지정
REST
이 예시에서는 도착어의 커스텀 모델을 지정하는 방법을 보여줍니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
JSON 요청 본문:
{ "models":{"es":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id"}, "sourceLanguageCode": "en", "targetLanguageCodes": ["es"], "inputConfigs": [ { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-number/locations/us-central1/operations/20190725-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Go API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 후 .NET용 Cloud Translation 참조 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 후 PHP용 Cloud Translation 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Cloud Translation 참고 문서를 참조하세요.
여러 도착어에 대한 AutoML 모델 지정
REST
도착어가 여러 개인 경우 각 도착어에 커스텀 모델을 지정할 수 있습니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
JSON 요청 본문:
{ "models":{ "es":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id1", "fr":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id2"}, "sourceLanguageCode": "en", "targetLanguageCodes": ["es", "fr"], "inputConfigs": [ { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-number/locations/us-central1/operations/20191105-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
특정 도착어에 대해서만 AutoML 모델 지정
다른 도착어가 아닌 특정 도착어에 커스텀 모델을 지정할 수 있습니다. 여러 도착어에 커스텀 모델 지정 코드를 사용하여 models
필드를 수정하면 모델의 도착어(이 예시에서 es
)를 지정하고 fr
은 지정하지 않습니다.
"models": {'es':'projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id'},
여기서 PROJECT_NUMBER_OR_ID
는 Google Cloud 프로젝트 번호 또는 ID이고 model-id
는 AutoML 모델에 지정한 이름입니다.
용어집을 사용하여 텍스트 번역
REST
이 예시에서는 도착어에 용어집을 지정하는 방법을 보여줍니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
- glossary-id: 용어집 ID(예: 'my-en-to-es-glossary')
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
JSON 요청 본문:
{ "sourceLanguageCode": "en", "targetLanguageCodes": ["es"], "glossaries": { "es": { "glossary": "projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id" } }, "inputConfigs": [{ "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name1" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Go API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 후 .NET용 Cloud Translation 참조 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 후 PHP용 Cloud Translation 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Cloud Translation 참고 문서를 참조하세요.
AutoML Translation 커스텀 모델 및 용어집을 사용하여 텍스트 번역
REST
이 예시에서는 도착어에 커스텀 모델과 용어집을 지정하는 방법을 보여줍니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
JSON 요청 본문:
{ "models": { "es": "projects/project_number_or_id/locations/us-central1/models/model-id" }, "sourceLanguageCode": "en", "targetLanguageCodes": ["es"], "glossaries": { "es": { "glossary": "projects/project_number_or_id/locations/us-central1/glossaries/glossary-id" } }, "inputConfigs": [{ "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name" } }, { "gcsSource": { "inputUri": "gs://bucket-name-source/input-file-name2" } } ], "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://bucket-name-destination/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata", "state": "RUNNING" } }
Go
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Go API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 후 .NET용 Cloud Translation 참조 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 후 PHP용 Cloud Translation 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Cloud Translation 참고 문서를 참조하세요.
작업 상태
일괄 요청은 장기 실행 작업이므로 완료하는 데 상당한 시간이 걸릴 수 있습니다. 이 작업의 상태를 폴링하여 작업이 완료되었는지 확인하거나 작업을 취소할 수 있습니다.
자세한 내용은 장기 실행 작업을 참조하세요.
추가 리소스
- 일반적인 문제 또는 오류를 해결하는 데 도움이 필요하면 문제 해결 페이지를 참조하세요.