CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-google-cloud-translate

Google Cloud Translate API client library for translating text between thousands of language pairs with support for adaptive MT, AutoML, and glossaries

Pending
Overview
Eval results
Files

v3-glossary-management.mddocs/

V3 Glossary Management

Translation glossaries provide consistent terminology translation for domain-specific content. Glossaries contain term mappings that ensure specific words or phrases are translated consistently according to user preferences, particularly useful for technical documentation, brand names, and specialized terminology.

Core Import

from google.cloud import translate_v3

Capabilities

Glossary Lifecycle Management

Create, update, and manage translation glossaries with custom terminology mappings.

def create_glossary(
    self,
    request=None,
    *,
    parent=None,
    glossary=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Creates a glossary and returns the long-running operation.
    
    Args:
        request (CreateGlossaryRequest): The request object
        parent (str): Project/location resource name
        glossary (Glossary): Glossary configuration
        retry: Retry configuration
        timeout (float): Request timeout in seconds  
        metadata: Additional metadata
    
    Returns:
        Operation: Long-running operation for glossary creation
    """

def update_glossary(
    self,
    request=None,
    *,
    glossary=None,
    update_mask=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Updates a glossary and returns the long-running operation.
    
    Args:
        request (UpdateGlossaryRequest): The request object
        glossary (Glossary): Updated glossary configuration
        update_mask (FieldMask): Fields to update
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        Operation: Long-running operation for glossary update
    """

def list_glossaries(
    self,
    request=None,
    *,
    parent=None,
    page_size=None,
    page_token=None,
    filter=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Lists glossaries in a project.
    
    Args:
        request (ListGlossariesRequest): The request object
        parent (str): Project/location resource name
        page_size (int): Maximum number of glossaries to return
        page_token (str): Token for pagination
        filter (str): Filter expression for glossaries
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        ListGlossariesResponse: Paginated list of glossaries
    """

def get_glossary(
    self,
    request=None,
    *,
    name=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Gets a glossary.
    
    Args:
        request (GetGlossaryRequest): The request object
        name (str): Glossary resource name
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        Glossary: Glossary resource
    """

def delete_glossary(
    self,
    request=None,
    *,
    name=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Deletes a glossary, or cancels glossary construction if in progress.
    
    Args:
        request (DeleteGlossaryRequest): The request object
        name (str): Glossary resource name
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        Operation: Long-running operation for glossary deletion
    """

Glossary Entry Management

Manage individual glossary entries for fine-grained terminology control.

def create_glossary_entry(
    self,
    request=None,
    *,
    parent=None,
    glossary_entry=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Creates a glossary entry.
    
    Args:
        request (CreateGlossaryEntryRequest): The request object
        parent (str): Glossary resource name
        glossary_entry (GlossaryEntry): Entry configuration
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        GlossaryEntry: Created glossary entry
    """

def update_glossary_entry(
    self,
    request=None,
    *,
    glossary_entry=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Updates a glossary entry.
    
    Args:
        request (UpdateGlossaryEntryRequest): The request object
        glossary_entry (GlossaryEntry): Updated entry configuration
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        GlossaryEntry: Updated glossary entry
    """

def list_glossary_entries(
    self,
    request=None,
    *,
    parent=None,
    page_size=None,
    page_token=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    List the entries for the glossary.
    
    Args:
        request (ListGlossaryEntriesRequest): The request object
        parent (str): Glossary resource name
        page_size (int): Maximum number of entries to return
        page_token (str): Token for pagination
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        ListGlossaryEntriesResponse: Paginated list of glossary entries
    """

def get_glossary_entry(
    self,
    request=None,
    *,
    name=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Gets a single glossary entry by the given id.
    
    Args:
        request (GetGlossaryEntryRequest): The request object
        name (str): Glossary entry resource name
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        GlossaryEntry: Glossary entry resource
    """

def delete_glossary_entry(
    self,
    request=None,
    *,
    name=None,
    retry=None,
    timeout=None,
    metadata=()
):
    """
    Deletes a single entry from the glossary.
    
    Args:
        request (DeleteGlossaryEntryRequest): The request object
        name (str): Glossary entry resource name
        retry: Retry configuration
        timeout (float): Request timeout in seconds
        metadata: Additional metadata
    
    Returns:
        None
    """

Usage Examples

Creating a Glossary from Cloud Storage

from google.cloud import translate_v3

client = translate_v3.TranslationServiceClient()

parent = "projects/my-project/locations/us-central1"

glossary = {
    "name": f"{parent}/glossaries/my-glossary",
    "language_pair": {
        "source_language_code": "en",
        "target_language_code": "es",
    },
    "input_config": {
        "gcs_source": {
            "input_uri": "gs://my-bucket/glossary.csv"
        },
        "mime_type": "text/csv"
    }
}

operation = client.create_glossary(
    request={
        "parent": parent,
        "glossary": glossary,
    }
)

print(f"Operation name: {operation.name}")

# Wait for operation to complete
result = operation.result(timeout=300)
print(f"Created glossary: {result.name}")
print(f"Entry count: {result.entry_count}")

Creating a Glossary with Equivalent Terms

from google.cloud import translate_v3

client = translate_v3.TranslationServiceClient()

parent = "projects/my-project/locations/us-central1"

glossary = {
    "name": f"{parent}/glossaries/multi-language-glossary",
    "language_codes_set": {
        "language_codes": ["en", "es", "fr"]
    },
    "input_config": {
        "gcs_source": {
            "input_uri": "gs://my-bucket/multilingual-glossary.tsv"
        },
        "mime_type": "text/tab-separated-values"
    }
}

operation = client.create_glossary(
    request={
        "parent": parent,
        "glossary": glossary,
    }
)

result = operation.result(timeout=300)
print(f"Created multilingual glossary: {result.name}")

Using Glossary in Translation

from google.cloud import translate_v3

client = translate_v3.TranslationServiceClient()

parent = "projects/my-project/locations/us-central1"
glossary_name = f"{parent}/glossaries/my-glossary"

glossary_config = {
    "glossary": glossary_name
}

response = client.translate_text(
    request={
        "parent": parent,
        "contents": ["Hello world", "Machine learning"],
        "mime_type": "text/plain",
        "source_language_code": "en",
        "target_language_code": "es",
        "glossary_config": glossary_config,
    }
)

for translation in response.translations:
    print(f"Translated with glossary: {translation.translated_text}")

Managing Glossary Entries

from google.cloud import translate_v3

client = translate_v3.TranslationServiceClient()

glossary_name = "projects/my-project/locations/us-central1/glossaries/my-glossary"

# Create a new glossary entry
glossary_entry = {
    "terms_set": {
        "terms": {
            "en": "machine learning",
            "es": "aprendizaje automático"
        }
    }
}

entry = client.create_glossary_entry(
    request={
        "parent": glossary_name,
        "glossary_entry": glossary_entry,
    }
)

print(f"Created entry: {entry.name}")

# List all entries
entries_response = client.list_glossary_entries(
    request={
        "parent": glossary_name,
        "page_size": 10,
    }
)

for entry in entries_response.glossary_entries:
    print(f"Entry: {entry.name}")
    if hasattr(entry, 'terms_set'):
        for term in entry.terms_set.terms:
            print(f"  {term}: {entry.terms_set.terms[term]}")

# Update an entry
entry.terms_set.terms["fr"] = "apprentissage automatique"

updated_entry = client.update_glossary_entry(
    request={
        "glossary_entry": entry,
    }
)

print(f"Updated entry with French term: {updated_entry.terms_set.terms['fr']}")

Listing and Managing Glossaries

from google.cloud import translate_v3

client = translate_v3.TranslationServiceClient()

parent = "projects/my-project/locations/us-central1"

# List all glossaries
response = client.list_glossaries(
    request={
        "parent": parent,
        "page_size": 10,
    }
)

for glossary in response.glossaries:
    print(f"Glossary: {glossary.name}")
    print(f"Display name: {glossary.display_name}")
    print(f"Entry count: {glossary.entry_count}")
    
    if hasattr(glossary, 'language_pair'):
        print(f"Language pair: {glossary.language_pair.source_language_code} -> {glossary.language_pair.target_language_code}")
    elif hasattr(glossary, 'language_codes_set'):
        print(f"Language codes: {', '.join(glossary.language_codes_set.language_codes)}")
    
    print(f"Submit time: {glossary.submit_time}")
    print("---")

# Get specific glossary
glossary_name = f"{parent}/glossaries/my-glossary"
glossary = client.get_glossary(
    request={"name": glossary_name}
)

print(f"Retrieved glossary: {glossary.display_name}")
print(f"Input URI: {glossary.input_config.gcs_source.input_uri}")

Updating a Glossary

from google.cloud import translate_v3
from google.protobuf import field_mask_pb2

client = translate_v3.TranslationServiceClient()

glossary_name = "projects/my-project/locations/us-central1/glossaries/my-glossary"

# Get existing glossary
glossary = client.get_glossary(
    request={"name": glossary_name}
)

# Update display name
glossary.display_name = "Updated Glossary Name"

# Create update mask
update_mask = field_mask_pb2.FieldMask()
update_mask.paths.append("display_name")

# Update glossary
operation = client.update_glossary(
    request={
        "glossary": glossary,
        "update_mask": update_mask,
    }
)

result = operation.result(timeout=300)
print(f"Updated glossary: {result.display_name}")

Deleting a Glossary

from google.cloud import translate_v3

client = translate_v3.TranslationServiceClient()

glossary_name = "projects/my-project/locations/us-central1/glossaries/my-glossary"

operation = client.delete_glossary(
    request={"name": glossary_name}
)

result = operation.result(timeout=300)
print(f"Deleted glossary: {result.name}")
print(f"Submit time: {result.submit_time}")
print(f"End time: {result.end_time}")

Install with Tessl CLI

npx tessl i tessl/pypi-google-cloud-translate

docs

index.md

v2-legacy-api.md

v3-adaptive-mt.md

v3-automl-translation.md

v3-data-structures.md

v3-glossary-management.md

v3-request-response-types.md

v3-translation-services.md

tile.json