airflow.providers.google.cloud.hooks.translate

This module contains a Google Cloud Translate Hook.

Module Contents

class airflow.providers.google.cloud.hooks.translate.CloudTranslateHook(gcp_conn_id: str = 'google_cloud_default', delegate_to: Optional[str] = None, impersonation_chain: Optional[Union[str, Sequence[str]]] = None)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Hook for Google Cloud translate APIs.

All the methods in the hook where project_id is used must be called with keyword arguments rather than positional.

get_conn(self)[source]

Retrieves connection to Cloud Translate

Returns

Google Cloud Translate client object.

Return type

google.cloud.translate_v2.Client

translate(self, values: Union[str, List[str]], target_language: str, format_: Optional[str] = None, source_language: Optional[str] = None, model: Optional[Union[str, List[str]]] = None)[source]

Translate a string or list of strings.

See https://cloud.google.com/translate/docs/translating-text

Parameters
  • values (str or list) -- String or list of strings to translate.

  • target_language (str) -- The language to translate results into. This is required by the API and defaults to the target language of the current instance.

  • format (str) -- (Optional) One of text or html, to specify if the input text is plain text or HTML.

  • source_language (str or None) -- (Optional) The language of the text to be translated.

  • model (str or None) -- (Optional) The model used to translate the text, such as 'base' or 'nmt'.

Return type

str or list

Returns

A list of dictionaries for each queried value. Each dictionary typically contains three keys (though not all will be present in all cases)

  • detectedSourceLanguage: The detected language (as an ISO 639-1 language code) of the text.

  • translatedText: The translation of the text into the target language.

  • input: The corresponding input value.

  • model: The model used to translate the text.

If only a single value is passed, then only a single dictionary will be returned.

Raises

ValueError if the number of values and translations differ.

Was this entry helpful?