Traduz o texto

O serviço Vertex AI Translation permite-lhe traduzir texto escrito num idioma para qualquer um dos outros idiomas suportados.

Esta página mostra como traduzir um texto de exemplo usando a API Vertex AI Translation no Google Distributed Cloud (GDC) isolado.

Antes de começar

Antes de poder começar a usar a API Vertex AI Translation, tem de ter um projeto com a API Vertex AI Translation ativada e as credenciais adequadas. Também pode instalar bibliotecas cliente para ajudar a fazer chamadas para a API. Para mais informações, consulte o artigo Configure um projeto de tradução.

Traduz o texto

O método translateText recebe texto de entrada num idioma específico e devolve o texto traduzido noutro idioma. Pode introduzir texto simples ou HTML como entrada.

Se introduzir texto HTML, o método translateText traduz apenas o texto entre as etiquetas HTML sem traduzir as etiquetas. No entanto, traduz os atributos nas etiquetas HTML5, como os atributos alt. Um exemplo de utilização de etiquetas e atributos HTML5 é usado na sintaxe para excluir texto da tradução. A saída retém as etiquetas HTML não traduzidas e inclui o texto traduzido entre elas.

Faça um pedido curl à API Vertex AI Translation pré-preparada. Caso contrário, interaja com a API pré-treinada Vertex AI Translation a partir de um script Python para traduzir texto de um idioma para outro.

Os exemplos seguintes mostram como traduzir um texto de entrada de um idioma para outro:

curl

Siga estes passos para fazer um pedido curl:

  1. Obtenha um token de autenticação.

  2. Faça o pedido:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

Substitua o seguinte:

  • TOKEN: o token de autenticação que obteve.
  • ENDPOINT: o ponto final da Vertex AI Translation que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.
  • PROJECT_ID: o ID do seu projeto.
  • SOURCE_LANGUAGE: o código do idioma do texto de entrada. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.
  • TARGET_LANGUAGE: o código do idioma para o qual quer traduzir o texto. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.
  • INPUT_TEXT: o texto de entrada no idioma de origem.

Use o campo mime_type para especificar um tipo de ficheiro. Defina o campo mime_type para um dos seguintes valores:

  • text/plain: a sua entrada é texto simples.
  • text/html: a sua entrada é texto HTML.

Se o campo mime_type estiver vazio, text/html é o valor predefinido.

O exemplo seguinte usa o campo mime_type:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"mime_type": "text/html", "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

O resultado devolve o texto traduzido.

Python

Siga estes passos para usar o serviço Vertex AI Translation a partir de um script Python:

  1. Instale a versão mais recente da biblioteca cliente da Vertex AI Translation.

  2. Defina as variáveis de ambiente necessárias num script Python.

  3. Autentique o seu pedido de API.

  4. Adicione o seguinte código ao script Python que criou:

    from google.cloud import translate
    import google.auth
    from google.auth.transport import requests
    from google.api_core.client_options import ClientOptions
    
    audience = "https://ENDPOINT:443"
    api_endpoint="ENDPOINT:443"
    
    def translate_client(creds):
      opts = ClientOptions(api_endpoint=api_endpoint)
      return translate.TranslationServiceClient(credentials=creds, client_options=opts)
    
    def main():
      creds = None
      try:
        creds, project_id = google.auth.default()
        creds = creds.with_gdch_audience(audience)
        req = requests.Request()
        creds.refresh(req)
        print("Got token: ")
        print(creds.token)
      except Exception as e:
        print("Caught exception" + str(e))
        raise e
      return creds
    
    def translate_func(creds):
      tc = translate_client(creds)
      req = {
        "parent": "projects/PROJECT_ID",
        "source_language_code": "SOURCE_LANGUAGE",
        "target_language_code": "TARGET_LANGUAGE",
        "mime_type": "text/plain",
        "contents": ["INPUT_TEXT"]
      }
    
      resp = tc.translate_text(req)
      print(resp)
    
    if __name__=="__main__":
      creds = main()
      translate_func(creds)
    

    Substitua o seguinte:

    • ENDPOINT: o ponto final da Vertex AI Translation que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.
    • PROJECT_ID: o ID do seu projeto.
    • SOURCE_LANGUAGE: o código do idioma do texto de entrada. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.
    • TARGET_LANGUAGE: o código do idioma para o qual quer traduzir o texto. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.
    • INPUT_TEXT: o texto de entrada no idioma de origem.

    Use o campo mime_type para especificar um tipo de ficheiro. Defina o campo mime_type para um dos seguintes valores:

    • text/plain: a sua entrada é texto simples.
    • text/html: a sua entrada é texto HTML.

    Se o campo mime_type estiver vazio, text/html é o valor predefinido.

  5. Guarde o script Python.

  6. Execute o script Python para traduzir o texto:

    python SCRIPT_NAME
    

    Substitua SCRIPT_NAME pelo nome que deu ao seu script Python, como translation.py.

Para mais informações sobre o método translateText, consulte a biblioteca cliente Python.

Exclua texto da tradução

Use uma das seguintes etiquetas HTML no campo contents de pedidos para excluir partes do texto da tradução:

  • <span translate="no">"TEXT"</span>
  • <span class="notranslate">"TEXT"</span>

Substitua TEXT pela parte do texto que quer excluir da tradução.

Por exemplo, se tiver o seguinte texto de entrada em espanhol:

Hola, esto es una prueba.

Em seguida, esse texto é traduzido para inglês na seguinte frase:

Hello, this is a test.

Suponhamos que só quer traduzir a seguinte parte do texto, excluindo Hola, do texto de entrada:

esto es una prueba.

Essa parte do texto é traduzida para inglês na seguinte frase:

this is a test.

Use as etiquetas HTML para excluir texto da tradução. Por exemplo, o pedido curl seguinte usa a etiqueta <span class="notranslate">"TEXT"</span> para excluir Hola, do texto de entrada anterior em espanhol quando traduz o texto para inglês:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "es", "target_language_code": "en", "contents": [<span class="notranslate">"Hola,"</span>"esto es una prueba."]}'

Detetar idioma

O método detectLanguage devolve o idioma de uma string de texto através do envio de um pedido HTTP.

Por exemplo, o pedido seguinte deteta o inglês como o idioma do texto de entrada Hello, this is a test:

curl

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:detectLanguage -d '{"parent": "projects/PROJECT_ID", "content": "Hello, this is a test"}'

Obtenha uma operação

O método getOperation devolve o estado mais recente de uma operação de longa duração. Use este método para obter o resultado da operação gerado pelo serviço da API Vertex AI Translation. Para usar este método, especifique o ID do projeto e o ponto final do Vertex AI Translation.

Por exemplo, o pedido seguinte devolve o estado de uma operação de longa duração, como criar um glossário, que está a ser executada no seu projeto:

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/PROJECT_ID

Apresentar operações

O método listOperations devolve uma lista das operações de longa duração que correspondem a um filtro especificado no pedido. Para usar este método, especifique o ID do projeto e o ponto final do Vertex AI Translation.

Por exemplo, o pedido seguinte devolve a lista de operações em execução no seu projeto e limita o tamanho da página a dez resultados por página:

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations?page_size=10

Obtenha idiomas suportados

O método supportedLanguages devolve a lista de idiomas suportados pela API Vertex AI Translation.

Por exemplo, o pedido seguinte devolve os idiomas suportados especificando o ponto final da Vertex AI Translation:

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID/supportedLanguages

Para ver a lista completa dos idiomas suportados, consulte o artigo Idiomas suportados para a Vertex AI Translation.