

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 執行批次翻譯任務
<a name="async-start"></a>

您可以使用 Amazon Translate 主控台、 AWS CLI或 Amazon Translate API 執行批次翻譯任務。

**注意**  
批次翻譯工作是長時間執行的作業，可能需要大量時間才能完成。例如，小型資料集上的批次轉譯可能需要幾分鐘的時間，而非常大型的資料集可能需要最多 2 天或更久的時間。完成時間也取決於 資源的可用性。

## Amazon Translate 主控台
<a name="async-start-console"></a>

若要使用 Amazon Translate 主控台執行翻譯任務，請使用**批次翻譯**頁面來建立任務：

1. 開啟 [Amazon Translate 主控台](https://console.aws.amazon.com/translate/home)。

1. 在左側的導覽功能表中，選擇**批次翻譯**。

1. 在**翻譯任務**頁面上，選擇**建立任務**。主控台會顯示**建立翻譯任務**頁面。

1. 在**任務設定**下，執行下列動作：

   1. 針對**名稱**，輸入批次翻譯任務的自訂名稱。

   1. 針對**來源語言**，選取來源檔案的語言。如果您不知道來源檔案的語言，或輸入文件包含不同的來源語言，請選取 `auto`。Amazon Translate 會自動偵測每個檔案的來源語言。

   1. 針對**目標語言**，最多選取 10 種語言。Amazon Translate 會將每個來源檔案轉譯為每種目標語言。

1. 在**輸入資料**下，執行下列動作：

   1. 針對**輸入 S3 位置**，指定在 Amazon S3 中包含轉譯來源檔案的輸入資料夾。若要在 Amazon S3 中導覽至資料夾以提供資料夾，請選擇**選取資料夾**。

   1. 針對**檔案格式**，選取轉譯來源檔案的格式。

1. 在**輸出資料**下，執行下列動作：

   1. 對於**輸出 S3 位置**，在 Amazon S3 中指定輸出資料夾，Amazon Translate 會在其中放置轉譯輸出。若要在 Amazon S3 中導覽至資料夾以提供資料夾，請選擇**選取資料夾**。

   1. 或者，如果您想要使用您在 **() 中管理的客戶受管金鑰來加密輸出，請選擇自訂加密設定 （進階**)AWS KMS。 AWS Key Management Service 

      根據預設，Amazon Translate 會使用 代表您建立、管理和使用的 KMS 金鑰來加密翻譯輸出 AWS。如果您想要改用自己的 KMS 金鑰來加密輸出，請選擇此選項。

      如果您想要使用目前 AWS 帳戶中的 KMS 金鑰，請在選擇** AWS Key Management Service 金鑰下選取它**。或者，如果您想要使用來自不同 AWS 帳戶的 KMS 金鑰，請輸入該金鑰的 Amazon Resource Name (ARN)。
**注意**  
您必須先將許可新增至 IAM 中 Amazon Translate 的服務角色，才能使用自己的 KMS 金鑰。如果您想要使用不同帳戶的 KMS 金鑰，您還必須在 中更新金鑰政策 AWS KMS。如需詳細資訊，請參閱[自訂加密的先決條件許可](async-prereqs.md#async-prereqs-permissions-custom-encryption)。

1. 在**自訂 - 選用**下，您可以選擇使用以下設定自訂翻譯任務的輸出：  
****褻瀆  
遮罩翻譯輸出中的褻瀆單字和片語。如果您為任務指定多種目標語言，所有目標語言都必須支援褻瀆遮罩。如果任何目標語言不支援褻瀆遮罩，翻譯任務不會遮罩任何目標語言的褻瀆遮罩。  
如需詳細資訊，請參閱[在 Amazon Translate 中遮罩褻瀆單字和片語](customizing-translations-profanity.md)。  
**Brevity**  
Amazon Translate 不支援批次翻譯工作的簡潔性。  
如需詳細資訊，請參閱[在 Amazon Translate 中使用簡潔](customizing-translations-brevity.md)。  
**形式**  
對於某些目標語言，您可以將**形式**設定為正式或非正式。如果您為任務指定多種目標語言，轉譯會忽略任何不支援的目標語言的正規設定。  
 如需詳細資訊，請參閱[在 Amazon Translate 中設定正式性](customizing-translations-formality.md)。  
**自訂術語**  
包含範例來源詞彙和每個詞彙所需的翻譯。如果您為任務指定多種目標語言，轉譯會針對每個請求的目標語言使用指定的術語，該語言在術語檔案中具有來源術語的項目。  
如需詳細資訊，請參閱[使用自訂術語自訂翻譯](how-custom-terminology.md)。  
**平行資料**  
由範例組成，顯示您希望如何翻譯文字區段。如果您為任務指定多種目標語言，平行資料檔案必須包含所有目標語言的翻譯。  
當您將平行資料新增至批次翻譯任務時，您會建立*作用中的自訂翻譯*任務。  
作用中的自訂轉譯任務定價比不使用平行資料的其他任務高。如需詳細資訊，請參閱 [Amazon Translate 定價](https://aws.amazon.com/translate/pricing/)。
如需詳細資訊，請參閱[使用平行資料自訂翻譯 （主動自訂翻譯）](customizing-translations-parallel-data.md)。

1. 在**存取許可**下，向 Amazon Translate 提供 IAM 角色，將必要的許可授予 Amazon S3 中的輸入和輸出檔案：
   + 如果您的帳戶中已有此 IAM 角色，請選擇**使用現有的 IAM 角色**，然後在 **IAM 角色**下選取該角色。
   + 如果您的帳戶中還沒有此 IAM 角色，請選擇**建立 IAM 角色**。針對 **IAM 角色**，選擇**輸入和輸出 S3 儲存貯體**。對於**角色名稱**，請提供自訂名稱。當您建立翻譯任務時，Amazon Translate 會自動建立角色。IAM 中的角色名稱字首為 *AmazonTranslateServiceRole-*。
**注意**  
如果您選擇使用自己的 KMS 金鑰加密翻譯輸出，則無法選擇**建立 IAM 角色**。在這種情況下，您必須使用預先存在的 IAM 角色，而您的 KMS 金鑰必須具有允許角色使用金鑰的金鑰政策。  
如需詳細資訊，請參閱 [自訂加密的先決條件許可](async-prereqs.md#async-prereqs-permissions-custom-encryption)

1. 選擇**建立作業**。

   主控台會返回**翻譯任務**頁面，其中任務建立狀態會顯示在頁面頂端的橫幅中。幾分鐘後，您的任務會顯示在表格中。

1. 在名稱欄中選擇任務**名稱**，以開啟任務詳細資訊頁面。

   當您的翻譯任務執行時，**狀態**欄位會顯示**進行中**。

1. 當狀態變成**已完成**時，選擇輸出**檔案位置下方的連結，前往您的翻譯輸出**。主控台會前往 Amazon S3 中的輸出儲存貯體。

1. 若要下載輸出檔案，請選取每個檔案的核取方塊，然後選擇**下載**。

## AWS CLI
<a name="async-start-cli"></a>

若要使用 執行翻譯任務 AWS CLI，請使用 [https://docs.aws.amazon.com/cli/latest/reference/translate/start-text-translation-job.html](https://docs.aws.amazon.com/cli/latest/reference/translate/start-text-translation-job.html)命令，並指定 `parallel-data-names` 參數的平行資料資源名稱。

**Example Start-text-translation-job 命令**  
下列範例會透過提交存放在 Amazon S3 輸入儲存貯體中的 Excel 檔案來執行翻譯任務。此任務由請求中包含的平行資料自訂。  

```
$ aws translate start-text-translation-job \
> --input-data-config ContentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,S3Uri=s3://amzn-s3-demo-bucket/input/ \
> --output-data-config S3Uri=s3://amzn-s3-demo-bucket/output/ \
> --data-access-role-arn arn:aws:iam::111122223333:role/my-iam-role \
> --source-language-code en \
> --target-language-codes es it \
> --job-name my-translation-job
```
如果命令成功，Amazon Translate 會回應任務 ID 和狀態：  

```
{
    "JobId": "4446f95f20c88a4b347449d3671fbe3d",
    "JobStatus": "SUBMITTED"
}
```
如果您想要自訂翻譯任務的輸出，您可以使用下列參數：    
`--settings`  
設定轉換輸出的設定，包括下列選項：  
在轉譯輸出中開啟簡潔性。Amazon Translate 不支援批次翻譯工作的簡潔性。如需詳細資訊，請參閱[在 Amazon Translate 中使用簡潔](customizing-translations-brevity.md)。  
啟用褻瀆性以遮罩褻瀆單字和片語。若要啟用，請將褻瀆參數設定為 `Profanity=MASK`。如需詳細資訊，請參閱[在 Amazon Translate 中遮罩褻瀆單字和片語](customizing-translations-profanity.md)。如果任何目標語言不支援褻瀆遮罩，翻譯任務不會遮罩任何目標語言的褻瀆遮罩。  
設定轉譯輸出中的正式程度。將 `Formality` 參數設定為 `FORMAL`或 `INFORMAL`。如果您為任務指定多種目標語言，轉譯會忽略任何不支援的目標語言的正規設定。如需詳細資訊，請參閱[在 Amazon Translate 中設定正式性](customizing-translations-formality.md)。  
`--terminology-names`  
要新增至翻譯任務的自訂術語資源名稱。此資源會列出範例來源詞彙，以及每個詞彙所需的翻譯。如果您為任務指定多種目標語言，轉譯會針對每個請求的目標語言使用指定的術語，該語言在術語檔案中具有來源術語的項目。  
此參數僅接受一個自訂術語資源。  
如需可用的自訂術語資源清單，請使用 [https://docs.aws.amazon.com/cli/latest/reference/translate/list-terminologies.html](https://docs.aws.amazon.com/cli/latest/reference/translate/list-terminologies.html)命令。  
如需詳細資訊，請參閱[使用自訂術語自訂翻譯](how-custom-terminology.md)。  
`--parallel-data-names`  
要新增至翻譯任務的平行資料資源名稱。此資源包含範例，顯示您希望如何翻譯文字區段。如果您為任務指定多種目標語言，平行資料檔案必須包含所有目標語言的翻譯。  
當您將平行資料新增至翻譯任務時，您可以建立*作用中的自訂翻譯*任務。  
此參數僅接受一個平行資料資源。  
作用中的自訂轉譯任務定價比不使用平行資料的其他任務高。如需詳細資訊，請參閱 [Amazon Translate 定價](https://aws.amazon.com/translate/pricing/)。
如需可用的平行資料資源清單，請使用 [https://docs.aws.amazon.com/cli/latest/reference/translate/list-parallel-data.html](https://docs.aws.amazon.com/cli/latest/reference/translate/list-parallel-data.html)命令。  
如需詳細資訊，請參閱[使用平行資料自訂翻譯 （主動自訂翻譯）](customizing-translations-parallel-data.md)。

若要檢查翻譯任務的狀態，請使用 [https://docs.aws.amazon.com/cli/latest/reference/translate/describe-text-translation-job.html](https://docs.aws.amazon.com/cli/latest/reference/translate/describe-text-translation-job.html)命令。

**Example Describe-text-translation-job 命令**  

下列範例會提供任務 ID 來檢查任務狀態。此 ID 是由 Amazon Translate 在 `start-text-translation-job`命令啟動任務時提供。

```
$ aws translate describe-text-translation-job \
> --job-id 4446f95f20c88a4b347449d3671fbe3d
```

Amazon Translate 會回應任務屬性，其中包括其狀態：

```
{
    "TextTranslationJobProperties": {
        "JobId": "4446f95f20c88a4b347449d3671fbe3d",
        "JobName": "my-translation-job",
        "JobStatus": "COMPLETED",
        "JobDetails": {
            "TranslatedDocumentsCount": 0,
            "DocumentsWithErrorsCount": 0,
            "InputDocumentsCount": 1
        },
        "SourceLanguageCode": "en",
        "TargetLanguageCodes": [
            "es", 
            "it" 
        ],
        "SubmittedTime": 1598661012.468,
        "InputDataConfig": {
            "S3Uri": "s3://amzn-s3-demo-bucket/input/",
            "ContentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        },
        "OutputDataConfig": {
            "S3Uri": "s3://amzn-s3-demo-bucket/output/111122223333-TranslateText-4446f95f20c88a4b347449d3671fbe3d/"
        },
        "DataAccessRoleArn": "arn:aws:iam::111122223333:role/my-iam-role"
    }
}
```

如果該`JobStatus`值為 `IN_PROGRESS`，請等待幾分鐘的時間通過，然後[https://docs.aws.amazon.com/cli/latest/reference/translate/describe-text-translation-job.html](https://docs.aws.amazon.com/cli/latest/reference/translate/describe-text-translation-job.html)再次執行，直到狀態為 為止`COMPLETED`。當任務完成時，您可以在 下 `S3Uri` 欄位提供的位置下載翻譯結果`OutputDataConfig`。

## Amazon Translate API
<a name="async-start-api"></a>

若要使用 Amazon Translate API 提交批次翻譯任務，請使用 [StartTextTranslationJob](https://docs.aws.amazon.com/translate/latest/APIReference/API_StartTextTranslationJob.html) 操作。