Tradurre un testo
Suggerimento
Per altri dettagli, vedi la scheda Testo e immagini .
Traduttore di Azure in Foundry Tools offre un'API per la traduzione di testo tra più di 90 lingue supportate. Con Traduttore di Azure è possibile:
- Tradurre o traslitterare testo usando il modello di traduzione predefinito o un modello linguistico di grandi dimensioni (LLM).
- Tradurre documenti, in modo sincrono o asincrono, mantenendo la struttura del documento.
- Usare modelli di traduzione personalizzati per tradurre termini specifici del dominio.
In questo modulo verrà illustrato l'API traduzione testuale . Per altre informazioni sulla gamma completa di funzionalità di Traduttore di Azure, vedere la documentazione di Traduttore di Azure in Foundry Tools.
Usare Traduttore di Azure nel portale di Microsoft Foundry
È possibile esplorare Traduttore di Azure nel portale di Microsoft Foundry, in cui sono disponibili aree di lavoro per la traduzione testuale e la traduzione di documenti.
Il portale di Foundry è un ottimo modo per sperimentare con Azure Translator, confrontare i risultati del modello predefinito con quelli dei moduli LLM e visualizzare il codice di esempio per usare il traduttore dalle proprie applicazioni client.
Usare Traduttore di Azure nel codice dell'applicazione
È possibile usare l'API REST per chiamare le funzioni di Traduttore di Azure oppure scrivere codice nella lingua preferita usando uno degli SDK supportati; che includono:
- Client di Azure Translator per la traduzione testuale in Python
- Client traduzione testuale di Azure per Microsoft .NET
- Client per la traduzione testuale di Azure per Java
- Client di traduzione testuale di Azure per JavaScript
Connettersi a una risorsa di Traduttore di Azure
Le API di Traduttore di Azure vengono gestite tramite endpoint REST, a cui il client deve stabilire una connessione autenticata. L'endpoint può essere:
- Endpoint globale di Traduttore di Azure:
api.cognitive.microsofttranslator.com - Endpoint a livello di area di Traduttore di Azure: questi endpoint includono
api-nam.cognitive.microsofttranslator.com,api-apc.cognitive.microsofttranslator.comeapi-eur.cognitive.microsofttranslator.com - Endpoint delle risorse di Fonderia:
{foundry-resource-name}.cognitiveservices.azure.com/
È possibile connettere un client a un endpoint specifico oppure è possibile connettersi specificando l'area in cui viene effettuato il provisioning della risorsa. Ad esempio, è possibile usare una delle tecniche illustrate nell'esempio di codice seguente per connettersi ad Traduttore di Azure usando la chiave API Foundry per l'autenticazione:
from azure.core.credentials import AzureKeyCredential
from azure.ai.translation.text import *
key_credential = AzureKeyCredential("FOUNDRY_KEY")
# Connect to a Foundry resource endpoint
client = TextTranslationClient(credential=key_credential, endpoint="FOUNDRY_ENDPOINT")
# Or connect using a region
client = TextTranslationClient(credential=key_credential, region="FOUNDRY_REGION")
Suggerimento
Per altre informazioni sul costruttore TextTranslationClient , vedere la documentazione di Traduttore di Azure Python SDK.
Determinare le lingue disponibili
Traduttore di Azure supporta più di 90 lingue. In alcuni casi, è possibile fornire agli utenti un elenco di lingue disponibili per la traduzione; come illustrato nel codice di esempio seguente:
languages = client.get_supported_languages(scope="translation")
print("{} languages supported:".format(len(languages.translation)))
for language in languages.translation.keys():
print(languages.translation[language].name + " (" + language + ")")
I risultati includono il nome e il codice ISO per ogni lingua:
137 languages supported:
Afrikaans (af)
Amharic (am)
Arabic (ar)
Assamese (as)
Azerbaijani (az)
Bashkir (ba)
Belarusian (be)
Bulgarian (bg)
...
Suggerimento
Per altre informazioni sul metodo get_supported_language , vedere la documentazione di Traduttore di Azure Python SDK.
Tradurre un testo
Per tradurre testo da una lingua di origine a una o più lingue di destinazione , usare il metodo translate .
- Il testo di origine viene passato al metodo come elenco di oggetti InputTextItem , ognuno contenente una stringa di testo da tradurre.
- Facoltativamente, è possibile specificare un parametro from_language con il codice ISO per la lingua di origine ( ad esempio "en"); oppure è possibile omettere questo parametro per fare in modo che Traduttore di Azure rilevi automaticamente la lingua di origine.
- Lingue di destinazione specificate come elenco di codici di lingua nel parametro to_language : Traduttore di Azure restituirà una traduzione per ogni codice di lingua valido.
Nell'esempio seguente vengono convertiti due input di testo in lingue diverse non specificate in francese (fr) e inglese (en):
input_text_elements = [InputTextItem(text="Hola"), InputTextItem(text="こんにちは")]
translation_results = client.translate(body=input_text_elements, to_language=["fr", "en"])
idx = 0
for translation in translation_results:
input_text = input_text_elements[idx].text
idx += 1
sourceLanguage = translation.detected_language
for translated_text in translation.translations:
print(f"'{input_text}' was translated from {sourceLanguage.language} to {translated_text.to} as '{translated_text.text}'.")
L'output di questo codice mostra le lingue di origine rilevate come spagnolo (es) e giapponese (ja):
'Hola' was translated from es to fr as 'Bonjour'.
'Hola' was translated from es to en as 'Hello'.
'こんにちは' was translated from ja to fr as 'Bonjour'.
'こんにちは' was translated from ja to en as 'Hello'.
Suggerimento
Per altre informazioni sul metodo translate , vedere la documentazione di Traduttore di Azure Python SDK.
Traslitterare testo
Il testo giapponese nell'esempio precedente viene scritto usando lo script Hiragana, quindi anziché convertirlo in una lingua diversa, è possibile traslitterarlo in uno script diverso, ad esempio per eseguire il rendering delle parole giapponesi nello script latino (come usato dal testo in lingua inglese).
A tale scopo, è possibile inviare il testo giapponese al metodo traslitterato con un parametro from_script di Jpan e un parametro to_script di Latn, come illustrato di seguito:
source_text = "こんにちは"
input_text_elements = [InputTextItem(text=source_text)]
transliteration_results = client.transliterate(body=input_text_elements, language="ja",
from_script="Jpan", to_script="Latn")
for transliteration in transliteration_results:
sourceScript = transliteration.script
targetScript = transliteration.text
print(f"'{source_text}' was transliterated into {sourceScript} as {targetScript}.")
Questo esempio di codice produce il risultato seguente:
'こんにちは' was transliterated into Latn as Kon'nichiwa.
Suggerimento
Per altre informazioni sul metodo di traslitterazione , vedere la documentazione di Traduttore di Azure Python SDK.