

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 지정 용어로 번역 사용자 지정
<a name="how-custom-terminology"></a>

번역 요청에 사용자 지정 용어를 사용하여 브랜드 이름, 캐릭터 이름, 모델 이름 및 기타 고유한 콘텐츠가 원하는 결과로 번역되도록 하세요.

용어 파일을 생성한 후 파일을 Amazon Translate 계정에 업로드합니다. 파일 크기 및 용어 파일 수에 대한 자세한 내용은 [Service quotas](what-is-limits.md#limits) 섹션을 참조하세요. 텍스트를 번역할 때 사용할 사용자 지정 용어 파일을 선택할 수 있습니다(선택 사항). Amazon Translate는 소스 텍스트와 용어 파일 간에 일치하는 내용을 발견하면 용어 파일의 번역을 사용합니다.

예를 들어, Amazon Photos는 Amazon Prime 회원에게 무료 사진 및 동영상 스토리지를 제공합니다.** 프랑스어에서는 이 이름이 번역되지 않고 Amazon Photos를 그대로 사용합니다.**

Amazon Translate를 사용하여 별도의 맥락 없이 Amazon Photos를 프랑스어로 번역하면 알맞은 번역이 아닌 Photos d'Amazon이 출력됩니다.****

Amazon Photos라는 용어에 대한 사용자 지정 용어 항목을 추가하고 프랑스어 번역이 Amazon Photos임을 지정하는 경우, Amazon Translate는 해당 사용자 지정 용어를 사용하여 구문을 알맞은 결과로 번역합니다.****

Amazon Translate는 모든 번역에 대상 용어를 사용할 것이라고 보장하지 않습니다. 사용자 지정 용어는 번역 컨텍스트에서 소스 및 대상 용어의 의미를 사용하여 대상 용어를 사용할지 여부를 결정합니다. 자세한 내용은 [모범 사례](ct-best-practices.md) 단원을 참조하십시오.

**Topics**
+ [사용자 지정 용어 생성](creating-custom-terminology.md)
+ [사용자 지정 용어 사용](using-ct.md)
+ [를 사용한 사용자 지정 용어 예제 AWS SDK for Python (Boto)](examples-ct.md)
+ [용어 암호화](protect-terminology.md)
+ [모범 사례](ct-best-practices.md)

# 사용자 지정 용어 생성
<a name="creating-custom-terminology"></a>

용어 파일을 생성하여 사용자 지정 용어를 정의합니다. Amazon Translate는 CSV, TSV 또는 TMX 파일 형식을 지원합니다. 파일의 각 항목에는 소스 용어와 각 대상 언어에 해당하는 (번역된) 용어가 포함되어 있습니다.

용어 파일을 생성한 후 파일을 Amazon Translate 계정에 업로드합니다.

**중요**  
사용자 지정 용어의 소스 텍스트는 대소문자를 구분합니다.** Amazon Translate는 번역 중에 입력 문서에서 정확히 일치하는 용어를 찾으면 사용자 지정 용어를 사용합니다.

## 용어 파일 형식
<a name="creating-custom-terminology-examples"></a>

다음 예제에서는 CSV 형식의 용어 파일을 보여줍니다.

**CSV(쉼표로 분리된 값)**

```
en,fr,es
Amazon Photos,Amazon Photos,Amazon Photos
```

다음 예제에서는 TMX 형식의 용어 파일을 보여줍니다. TMX 파일은 번역 소프트웨어에서 자주 사용하는 XML 형식을 사용합니다.

**TMX(Translation Memory eXchange)**

```
<?xml version="1.0" encoding="UTF-8"?>
 <tmx version="1.4">
  <header
     creationtool="XYZTool" creationtoolversion="0"
     datatype="PlainText" segtype="sentence"
     adminlang="en-us" srclang="en"
     o-tmf="test"/>
  <body>
    <tu>
      <tuv xml:lang="en">
        <seg>Amazon Photos</seg>
      </tuv>
      <tuv xml:lang="fr">
        <seg>Amazon Photos</seg>
      </tuv>
      <tuv xml:lang="es">
        <seg>Amazon Photos</seg>
      </tuv>
    </tu>   
  </body>
 </tmx>
```

## 방향성
<a name="creating-custom-terminology-directionality"></a>

사용자 지정 용어 파일을 업로드할 때 사용자 지정 용어의 방향성 값을 설정합니다.** 방향성은 용어 파일이 하나의 소스 언어를 지정하는지 아니면 여러 소스 언어를 지정하는지를 나타냅니다.

방향성에 대해 다음 값 중 하나를 설정합니다.

**단방향**  
용어 파일에는 하나의 소스 언어(목록의 첫 번째 언어)가 포함되어 있습니다. 다른 모든 언어는 대상 언어입니다.  
예를 들어 CSV 파일에서 첫 번째 열에는 소스 언어 텍스트가 포함되고 다른 모든 열에는 대상 언어 텍스트가 포함됩니다.

**다방향**  
파일의 모든 언어는 소스 언어 또는 대상 언어가 될 수 있습니다. 예를 들어 용어 파일에 영어, 프랑스어, 스페인어 텍스트가 포함된 경우 다음 언어 쌍을 번역하는 작업에 이 파일을 사용할 수 있습니다.  
+ 영어-프랑스어
+ 영어-스페인어
+ 프랑스어-영어
+ 프랑스어-스페인어
+ 스페인어-영어
+ 스페인어-프랑스어

이 6가지 번역 작업을 진행하려면 단방향 용어 파일을 3개(소스 언어별로 하나씩) 만들어야 합니다.

# 사용자 지정 용어 사용
<a name="using-ct"></a>

[TranslateText](https://docs.aws.amazon.com/translate/latest/APIReference/API_TranslateText.html) 작업으로 텍스트를 번역할 때 사용자 지정 용어를 사용하려면 선택 사항인 `TerminologyNames` 파라미터를 포함하세요.

예를 들어 다음과 같이 `Amazon_Family.csv`라는 용어 파일이 계정과 연결되어 있는 경우

```
     en,fr
     Amazon Family,Amazon Famille
```

다음 CLI 명령으로 사용자 지정 용어를 사용해 텍스트를 번역할 수 있습니다.

**참고**  
이 예제는 Unix, Linux 및 macOS용 형식으로 표시됩니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws translate translate-text \
     --region region \
     --source-language-code "en" \
     --target-language-code "fr" \
     --terminology-names "Amazon_Family" \
     --text "Have you ever stored videos in Amazon Family?"
```

여기에서는 선택한 사용자 지정 용어를 사용하므로 이 텍스트를 ‘Avez-vous déjà fait des achats avec Famille Amazon?’라고 직역(지양해야 하는 방식)하는 대신 ‘Avez-vous déjà fait des achats avec Amazon Famille?’로 번역합니다.

다음 예제는 Python에서 동일한 용어 파일을 사용하는 방법을 보여 줍니다.

```
import boto3
     
translate = boto3.client(service_name='translate')
  
print("Translating 'Have you ever shopped with Amazon Family?' from English to French with the 'Amazon_Family' custom terminology...")
response = translate.translate_text(Text="Have you ever shopped with Amazon Family?", TerminologyNames=["Amazon_Family"], SourceLanguageCode="en", TargetLanguageCode="fr")
print("Translated text: " + response.get('TranslatedText'))
print("\n")
```

Amazon Translate 작업에서 사용자 지정 용어를 사용하는 방법에 대한 자세한 내용은 [API 작업](https://docs.aws.amazon.com/translate/latest/APIReference/API_Operations.html)을 참조하세요.

# 를 사용한 사용자 지정 용어 예제 AWS SDK for Python (Boto)
<a name="examples-ct"></a>

다음 예제에서는 Python에서 사용자 지정 용어 작업을 사용하는 방법을 보여줍니다. 예제를 실행하려면를 통해 Python SDK를 설치합니다 AWS CLI. 지침은 [설치 및 구성 AWS Command Line Interface (AWS CLI)](setting-up.md#setup-awscli) 단원을 참조하세요.

```
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
    import boto3
     
    translate = boto3.client(service_name='translate')
     
    # The terminology file 'my-first-terminology.csv' has the following contents:
    '''
    en,fr
    Amazon Family,Amazon Famille
    '''
     
    # Read the terminology from a local file
    with open('/tmp/my-first-terminology.csv', 'rb') as f:
        data = f.read()
     
    file_data = bytearray(data)
     
    print("Importing the terminology into Amazon Translate...")
    response = translate.import_terminology(Name='my-first-terminology', MergeStrategy='OVERWRITE', TerminologyData={"File": file_data, "Format": 'CSV'})
    print("Terminology imported: "),
    print(response.get('TerminologyProperties'))
    print("\n")
     
    print("Getting the imported terminology...")
    response = translate.get_terminology(Name='my-first-terminology', TerminologyDataFormat='CSV')
    print("Received terminology: "),
    print(response.get('TerminologyProperties'))
    print("The terminology data file can be downloaded here: " + response.get('TerminologyDataLocation').get('Location'))
    print("\n")
     
    print("Listing the first 10 terminologies for the account...")
    response = translate.list_terminologies(MaxResults=10)
    print("Received terminologies: "),
    print(response.get('TerminologyPropertiesList'))
    print("\n")
     
    print("Translating 'Amazon Family' from English to French with no terminology...")
    response = translate.translate_text(Text="Amazon Family", SourceLanguageCode="en", TargetLanguageCode="fr")
    print("Translated text: " + response.get('TranslatedText'))
    print("\n")
     
    print("Translating 'Amazon Family' from English to French with the 'my-first-terminology' terminology...")
    response = translate.translate_text(Text="Amazon Family", TerminologyNames=["my-first-terminology"], SourceLanguageCode="en", TargetLanguageCode="fr")
    print("Translated text: " + response.get('TranslatedText'))
    print("\n")
     
    # The terminology file 'my-updated-terminology.csv' has the following contents:
    '''
    en,fr
    Amazon Family,Amazon Famille
    Prime Video, Prime Video
    '''
     
    # Read the terminology from a local file
    with open('/tmp/my-updated-terminology.csv', 'rb') as f:
        data = f.read()
     
    file_data = bytearray(data)
     
    print("Updating the imported terminology in Amazon Translate...")
    response = translate.import_terminology(Name='my-first-terminology', MergeStrategy='OVERWRITE', TerminologyData={"File": file_data, "Format": 'CSV'})
    print("Terminology updated: "),
    print(response.get('TerminologyProperties'))
    print("\n")
     
    print("Translating 'Prime Video' from English to French with no terminology...")
    response = translate.translate_text(Text="Prime Video", SourceLanguageCode="en", TargetLanguageCode="fr")
    print("Translated text: " + response.get('TranslatedText'))
    print("\n")
     
    print("Translating 'Prime Video' from English to French with the 'my-first-terminology' terminology...")
    response = translate.translate_text(Text="Prime Video", TerminologyNames=["my-first-terminology"], SourceLanguageCode="en", TargetLanguageCode="fr")
    print("Translated text: " + response.get('TranslatedText'))
    print("\n")
     
    print("Cleaning up by deleting 'my-first-terminology'...")
    translate.delete_terminology(Name="my-first-terminology")
    print("Terminology deleted.")
```

# 용어 암호화
<a name="protect-terminology"></a>

Amazon Translate는 모든 데이터를 보호하기 위해 노력하며 사용자 지정 용어도 마찬가지입니다. 생성된 각 사용자 지정 용어는 사용자만 액세스할 수 있도록 암호화됩니다.

세 가지 암호화 옵션을 사용할 수 있습니다.
+  AWS encryption. AWS encryption을 사용하는 것이 정보를 보호하는 기본 옵션입니다.
+ 계정과 연결된 암호화 키 사용. 어떤 연결된 암호화 키를 사용할 것인지 콘솔의 메뉴에서 선택할 수 있습니다.
+ 계정과 연결되지 않은 암호화 키 사용. 콘솔은 암호화 키의 Amazon 리소스 이름(ARN)을 입력할 수 있는 입력 필드를 표시합니다.

# 모범 사례
<a name="ct-best-practices"></a>

사용자 지정 용어를 사용할 때는 다음 일반 모범 사례를 사용합니다.
+ 사용자 지정 용어를 깔끔하게 정리하세요. 번역된 값을 관리해야 하는 용어만 포함하세요.
+ 사용자 지정 용어는 대/소문자를 구분합니다. 단어의 대문자 버전과 소문자 버전에 대해 서로 다른 번역을 원하는 경우 각 버전에 대한 항목을 포함하세요.
+ 사용자 지정 용어는 공백, 구두점 또는 대소문자를 제어하는 도구로 사용할 수 없습니다. 예를 들어 다음과 같은 유형의 항목은 사용하지 마세요.
  + 공백 추가 - EN: USA FR: U S A
  + 구두점 추가 - EN: 미국 FR: 미국
  + 대문자 변경 - EN: USA FR: Usa
+ 동일한 소스 구문에 대해 서로 다른 번역을 포함시키지 마세요. 예시:
  + 항목 \$11 — 영어: Amazon 프랑스어: Amazon
  + 항목 \$12 — 영어: Amazon 프랑스어: Amazone
+ Amazon Translate에서 지원하는 모든 언어에 대한 사용자 지정 용어 파일을 생성할 수 있습니다.

Amazon Translate는 사용자 지정 용어가 모든 번역에 대상 용어를 사용할 것이라고 보장하지 않습니다. 사용자 지정 용어로 높은 정확도를 달성하려면 용어 파일에 대한 콘텐츠를 생성할 때 다음 모범 사례를 따르세요.
+ 사용자 지정 용어에는 동사와 동형이의어를 비롯한 모든 단어가 포함될 수 있습니다. 브랜드 이름, 제품 이름 등 고유 명사가 들어가는 것도 좋습니다.
+ 대상 용어에는 대상 언어가 자연스럽게 반영되어야 합니다. 많은 특수 문자 또는 서식이 포함된 대상 용어에는 사용자 지정 용어가 권장되지 않습니다.
+ 여러 단어로 된 구문이나 절도 용어 파일에 포함할 수 있습니다. 그러나 여러 단어가 포함된 용어는 대상 언어에서 자연스럽게 번역될 가능성이 낮습니다.
+ 사용자 지정 용어는 번역 컨텍스트에서 소스 및 대상 용어의 의미를 사용하여 대상 용어를 사용할지 여부를 결정합니다. 대상 용어가 지정된 번역 컨텍스트에 적합하지 않은 경우 Amazon Translate는 대상 용어를 사용하지 않을 수 있습니다.

  예를 들어 용어 파일에 영어에서 프랑스어로 다음 항목이 포함된 경우: 

  `EN: order, FR: commande` (프랑스어 "명령자"로 번역된 영어 "주문" 기준).

  Amazon Translate는 번역 컨텍스트가 일치하지 않기 때문에 다음 문장을 번역할 때이 항목을 사용하지 않습니다.

  "도움을 드릴 수 **있도록** 이름을 공유해 주세요.” 

  이러한 유형의 상황을 피하기 위한 제안 사항: 
  + 각 언어의 대상 용어가 소스 용어와 의미상 동일한지 확인합니다.
  + 여러 의미가 있는 소스 또는 대상 용어는 피합니다.