

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Personalización de las traducciones con terminología personalizada
<a name="how-custom-terminology"></a>

Utilice terminología personalizada con sus solicitudes de traducción para asegurarse de que las marcas, los nombres de personajes y de modelos y demás contenido exclusivo se traduzcan con el resultado deseado.

Puede crear archivos de terminología y cargarlos en su cuenta de Amazon Translate. Para obtener información sobre los tamaños de los archivos y la cantidad de archivos de terminología, consulte [Service Quotas](what-is-limits.md#limits). Al traducir texto, si lo desea, puede optar por elegir un archivo de terminología personalizado. Cuando Amazon Translate encuentra una coincidencia entre el texto de origen y el archivo de terminología, utiliza la traducción de este último.

Considere el siguiente ejemplo: *Amazon Photos* ofrece almacenamiento gratuito de fotos y vídeos a los miembros de Amazon Prime. En francés, el nombre no está traducido: sigue siendo *Amazon Photos*. 

Si utilizas Amazon Translate para traducir *Amazon Photos* al francés sin ningún contexto adicional, el resultado es *Photos d'Amazon*, que no es la traducción deseada. 

Si añades una entrada terminológica personalizada para el término *Amazon Photos*, especificando que la traducción al francés es *Amazon Photos*, Amazon Translate utilizará la terminología personalizada para traducir la frase y obtener el resultado deseado.

Amazon Translate no garantiza que vaya a utilizar el término de destino en todas las traducciones. La terminología personalizada utiliza el significado del término de origen y el término de destino en el contexto de la traducción para decidir si se debe utilizar el término de destino. Para obtener más información, consulte [Prácticas recomendadas](ct-best-practices.md).

**Topics**
+ [Creación de terminología personalizada](creating-custom-terminology.md)
+ [Uso de terminología personalizada](using-ct.md)
+ [Ejemplo de terminología personalizada utilizando el AWS SDK para Python (Boto)](examples-ct.md)
+ [Cifrado de la terminología](protect-terminology.md)
+ [Prácticas recomendadas](ct-best-practices.md)

# Creación de terminología personalizada
<a name="creating-custom-terminology"></a>

La terminología personalizada se define mediante la creación de un archivo terminológico. Amazon Translate admite los formatos de archivo CSV, TSV o TMX. Cada entrada del archivo contiene el término de origen y el término equivalente (traducido) para cada idioma de destino.

Tras crear un archivo de terminología, cargará el archivo en su cuenta de Amazon Translate.

**importante**  
El texto fuente de una terminología personalizada distingue entre mayúsculas y *minúsculas*. Durante la traducción, Amazon Translate utiliza la terminología personalizada cuando encuentra una coincidencia exacta en el documento de entrada.

## Formatos de archivo de terminología
<a name="creating-custom-terminology-examples"></a>

El siguiente ejemplo muestra un archivo de terminología con formato CSV.

**CSV (valores separados por comas)**

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

El siguiente ejemplo muestra un archivo de terminología con formato TMX. Un archivo TMX utiliza un formato XML que suelen usar los programas de traducción.

**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>
```

## Direccionalidad
<a name="creating-custom-terminology-directionality"></a>

Al cargar un archivo de terminología personalizado, se establece el valor de *direccionalidad* de la terminología personalizada. La direccionalidad indica si el archivo terminológico especifica un idioma de origen o varios idiomas de origen.

En el campo de direccionalidad, defina uno de los siguientes valores:

**Unidireccional**  
El archivo terminológico contiene un idioma de origen (el primer idioma de la lista). Todos los demás idiomas son idiomas de destino.   
Por ejemplo, en un archivo CSV, la primera columna contiene texto para el idioma de origen y todas las demás columnas contienen texto para los idiomas de destino.

**Multidireccional**  
Cualquier idioma del archivo puede ser un idioma de origen o un idioma de destino. Por ejemplo, si el archivo terminológico contiene texto en inglés, francés y español, puede usarlo para trabajos que traduzcan las siguientes combinaciones de idiomas:  
+ Inglés a francés
+ Inglés a español
+ Francés a inglés
+ Francés a español
+ Español a inglés
+ Francés a francés

En cambio, tendría que crear tres archivos terminológicos unidireccionales para estos seis trabajos de traducción (uno para cada idioma de origen).

# Uso de terminología personalizada
<a name="using-ct"></a>

Para utilizar una terminología personalizada al traducir texto con la [TranslateText](https://docs.aws.amazon.com/translate/latest/APIReference/API_TranslateText.html)operación, incluya el `TerminologyNames` parámetro opcional. 

Por ejemplo, si carga el archivo de terminología siguiente llamado `Amazon_Family.csv` asociado a su cuenta:

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

Puede utilizar el siguiente comando de la CLI para traducir el texto utilizando terminología personalizada:

**nota**  
Este ejemplo está preparado para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\$1) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).

```
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?"
```

Se utiliza la terminología personalizada seleccionada para traducir este texto como “¿Avez-vous déjà fait des achats avec Amazon Famille?” en lugar de la traducción directa (pero no deseada) “Avez-vous déjà fait des achats avec Famille Amazon?”

En el siguiente ejemplo se muestra cómo utilizar el mismo archivo de terminología en 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")
```

Para obtener más información acerca del uso de las operaciones de Amazon Translate con terminología personalizada, consulte [Operaciones de API](https://docs.aws.amazon.com/translate/latest/APIReference/API_Operations.html). 

# Ejemplo de terminología personalizada utilizando el AWS SDK para Python (Boto)
<a name="examples-ct"></a>

El siguiente ejemplo muestra cómo utilizar las operaciones de terminología personalizada en Python. Para ejecutar el ejemplo, instale el SDK de Python mediante AWS CLI. Para obtener instrucciones, consulte [Instale y configure el 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.")
```

# Cifrado de la terminología
<a name="protect-terminology"></a>

Amazon Translate utiliza todos los medios a su alcance para proteger los datos y la terminología personalizada. Cuando se crea una terminología personalizada, se cifra para que solo usted pueda obtener acceso a ella.

Hay tres opciones de cifrado disponibles:
+ Uso AWS de cifrado. AWS El cifrado es la opción predeterminada para proteger su información.
+ Uso de una clave de cifrado asociada a la cuenta. Un menú en la consola proporciona una selección de las claves de cifrado asociadas que se van a utilizar.
+ Uso de una clave de cifrado no asociada a la cuenta. La consola muestra un campo de entrada para que escriba el nombre de recurso de Amazon (ARN) de la clave de cifrado.

# Prácticas recomendadas
<a name="ct-best-practices"></a>

Utilice las siguientes prácticas recomendadas generales cuando utilice terminologías personalizadas:
+ Mantenga su terminología personalizada ordenada. Incluya únicamente los términos para los que necesite controlar los valores traducidos.
+ Las terminologías personalizadas distinguen entre mayúsculas y minúsculas. Si desea una traducción personalizada para las versiones en mayúscula y no mayúscula de una palabra, incluya una entrada para cada versión.
+ La terminología personalizada no pretende ser una herramienta para controlar el espaciado, la puntuación o el uso de mayúsculas. Por ejemplo, evite los siguientes tipos de entradas: 
  + Añadir espacios — EN: USA FR: U S A
  + Añadir signos de puntuación — EN: USA FR: U.S.A
  + Cambiar la capitalización — EN: USA FR: Usa
+ No incluyas traducciones diferentes para la misma frase de origen. Por ejemplo:
  + Entrada nº 1: EN: Amazon FR: Amazon
  + Entrada nº 2: EN: Amazon FR: Amazone
+ Puede crear archivos terminológicos personalizados para cualquiera de los idiomas compatibles con Amazon Translate.

Amazon Translate no garantiza que la terminología personalizada utilice el término de destino en todas las traducciones. Para lograr una alta precisión con la terminología personalizada, siga estas prácticas recomendadas al crear el contenido del archivo terminológico:
+ La terminología personalizada funciona bien con cualquier palabra, incluidos los verbos y los homógrafos. Los nombres propios, como nombres de marcas y nombres de productos, son entradas ideales.
+ Los términos de destino deben adaptarse con fluidez al idioma de destino. No se recomienda utilizar terminología personalizada para los términos de destino que contienen numerosos caracteres especiales o formatos. 
+ Puede incluir frases o sintagmas de varias palabras en su archivo terminológico. Sin embargo, es menos probable que los términos que contienen varias palabras se lean con fluidez en los idiomas de destino.
+ La terminología personalizada utiliza el significado del término de origen y el término de destino en el contexto de la traducción para decidir si se debe utilizar el término de destino. Si un término de destino no se ajusta bien a un contexto de traducción determinado, Amazon Translate no puede utilizar el término de destino. 

  Por ejemplo, si su archivo terminológico contiene la siguiente entrada del inglés al francés: 

  `EN: order, FR: commande`(basado en la palabra inglesa «to order» que se traduce como «commander» en francés).

  Amazon Translate no utiliza esta entrada al traducir la siguiente oración porque el contexto de la traducción no coincide: 

  «**Para** que podamos ayudarte, comparte tu nombre». 

  Sugerencias para evitar este tipo de situaciones: 
  + Asegúrese de que el término de destino de cada idioma sea semánticamente equivalente al término de origen. 
  + Evite los términos de origen o de destino que tengan varios significados.