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-lhe como traduzir um texto de exemplo usando a API Vertex AI Translation no dispositivo isolado do Google Distributed Cloud (GDC).

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.

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 francês:

Bonjour, c'est un test.

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 Bonjour, do texto de entrada:

c'est un test.

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 Bonjour, do texto de entrada anterior em francês ao traduzir 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": "fr", "target_language_code": "en", "contents": [<span class="notranslate">"Bonjour,"</span>"c'est un test."]}'

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 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.