Creazione e utilizzo dei glossari (Advanced)
Un glossario è un dizionario personalizzato utilizzato dall'API Cloud Translation per tradurre in modo coerente la terminologia specifica del dominio del cliente. Ciò comporta in genere la specifica di come tradurre un'entità denominata.
Puoi utilizzare un glossario per i seguenti casi d'uso:
- Nomi dei prodotti: ad esempio, "Google Home" deve essere tradotto "Google Home".
- Parole ambigue: ad esempio, la parola "pesca" può indicare un'attività o un frutto. Se sai che stai traducendo parole relative alla frutta, potresti utilizzare un glossario per fornire all'API Cloud Translation la traduzione relativa alla frutta "pesca", non quella relativa all'attività.
- Prestiti: ad esempio, "bouillabaisse" in francese rimane "bouillabaisse" in italiano. La lingua italiana ha preso in prestito la parola "bouillabaisse" dalla lingua francese nel XIX secolo. Un italofono che non conosce il contesto culturale francese potrebbe non sapere che la bouillabaisse è un piatto a base di stufato di pesce. I glossari possono sostituire una traduzione in modo che "bouillabaisse" in francese venga tradotto come "zuppa di pesce" in italiano.
Prima di iniziare
Prima di poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto in cui sia abilitata l'API Cloud Translation e le credenziali appropriate. Puoi anche installare librerie client per i linguaggi di programmazione più comuni per facilitare le chiamate all'API. Per saperne di più, consulta la pagina Configurazione.
Autorizzazioni obbligatorie
Per lavorare con i glossari, il service account deve avere autorizzazioni specifiche per i glossari. Puoi concedere un ruolo al tuo service account utilizzando uno dei ruoli IAM predefiniti, ad esempio Cloud Translation API Editor (roles/cloudtranslate.editor), oppure puoi creare un ruolo personalizzato che conceda le autorizzazioni necessarie. Per visualizzare tutte le autorizzazioni dell'API Cloud Translation, consulta Riferimento per ruoli e autorizzazioni IAM.
Le autorizzazioni Cloud Translation iniziano con cloudtranslate.
Per creare glossari, devi disporre anche delle autorizzazioni necessarie per leggere gli oggetti nel bucket Cloud Storage in cui si trova il file del glossario. Puoi concedere un ruolo al tuo service account utilizzando uno dei ruoli IAM predefiniti, ad esempio Storage Object Viewer (roles/storage.objectViewer), oppure puoi creare un ruolo personalizzato che conceda le autorizzazioni necessarie per leggere gli oggetti.
Per informazioni sull'aggiunta di un account a un ruolo, consulta Concessione, modifica e revoca dell'accesso alle risorse.
Crea un glossario
I termini di un glossario possono essere singoli token (parole) o brevi frasi (in genere meno di cinque parole). Questi sono i passaggi principali da eseguire per utilizzare un glossario:
- Crea un file di glossario
- Crea la risorsa di glossario con l'API Cloud Translation di Google
- Specifica quale glossario utilizzare quando richiedi una traduzione
Un progetto può avere più glossari. Puoi ottenere un elenco dei glossari disponibili ed eliminare i glossari che non ti servono più.
Parole non significative
Cloud Translation ignora alcuni termini inclusi in un glossario; questi termini sono noti come parole non significative. Quando traduce le parole non significative, Cloud Translation ignora le voci di glossario corrispondenti. Per un elenco di tutte le parole non significative, consulta Parole non significative del glossario.
Creazione di un file di glossario
Fondamentalmente, un glossario è un file di testo in cui ogni riga contiene termini corrispondenti in più lingue. L'API Cloud Translation supporta sia i glossari unidirezionali, che specificano la traduzione desiderata per una singola coppia di lingue di origine e di destinazione, sia gli insiemi di termini equivalenti, che identificano i termini equivalenti in più lingue.
Il numero totale di termini in un file di input di glossario non può superare i 10,4 milioni (10.485.760) di byte UTF-8 per tutti i termini in tutte le lingue combinate. Ogni singolo termine del glossario deve essere inferiore a 1024 byte UTF-8. I termini che superano i 1024 byte vengono ignorati.
Per impostazione predefinita, le corrispondenze del glossario sono sensibili alle maiuscole. Quando applichi un glossario, puoi ignorare la distinzione tra maiuscole e minuscole per tutte le voci. Se hai un mix di termini sensibili alle maiuscole e di termini senza distinzione tra maiuscole e minuscole, utilizza il comportamento predefinito e, per i termini senza distinzione tra maiuscole e minuscole, includi entrambe le forme nel glossario.
Glossari unidirezionali
L'API Cloud Translation accetta file in formato TSV, CSV o TMX.
TSV e CSV
Per i valori delimitati da tabulazioni (TSV) e i valori separati da virgola (CSV), ogni riga contiene una coppia di termini separati da una tabulazione (\t) o da una virgola (,). La prima colonna include il termine nella lingua di origine e la seconda colonna include il termine nella lingua di destinazione, come mostrato nell'esempio seguente:

Translation Memory eXchange (TMX)
TMX (Translation Memory eXchange) è un formato XML standard per fornire traduzioni di termini con origine e destinazione. L'API Cloud Translation supporta i file di input in un formato basato su TMX versione 1.4. Questo esempio illustra la struttura richiesta:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
<header segtype="sentence" o-tmf="UTF-8"
adminlang="en" srclang="en" datatype="PlainText"/>
<body>
<tu>
<tuv xml:lang="en">
<seg>account</seg>
</tuv>
<tuv xml:lang="es">
<seg>cuenta</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="en">
<seg>directions</seg>
</tuv>
<tuv xml:lang="es">
<seg>indicaciones</seg>
</tuv>
</tu>
</body>
</tmx>
L'elemento <header> di un file TMX con formato corretto deve identificare la lingua di origine utilizzando l'attributo srclang, mentre ogni elemento <tuv> deve identificare la lingua del testo contenuto utilizzando l'attributo xml:lang. Per identificare le lingue di origine e di destinazione, utilizzi i relativi codici ISO-639.
Tutti gli elementi <tu> devono contenere una coppia di elementi <tuv> con le stesse lingue di origine e di destinazione. Se un elemento <tu> contiene più di due elementi <tuv>, l'API Cloud Translation elabora solo il primo elemento <tuv> che corrisponde alla lingua di origine e il primo che corrisponde alla lingua di destinazione, ignorando il resto.
Se un elemento <tu> non ha una coppia corrispondente di elementi <tuv>, l'API Cloud Translation salta l'elemento <tu> non valido.
L'API Cloud Translation estrae i tag di markup da un elemento <seg> prima di elaborarlo. Se un elemento <tuv> contiene più elementi <seg>, l'API Cloud Translation concatena i loro testi in un unico elemento separandoli con uno spazio.
Se il file contiene tag XML diversi da quelli riportati sopra, l'API Cloud Translation li ignora.
Se il file non è conforme al formato XML e TMX corretto, ad esempio se manca di un tag finale o di un elemento <tmx>, l'API Cloud Translation ne interrompe l'elaborazione. L'API Cloud Translation interrompe l'elaborazione anche se salta più di 1024 elementi <tu> non validi.
Insiemi di termini equivalenti (CSV)
Per gli insiemi di termini equivalenti, l'API Cloud Translation accetta solo file in formato CSV. Per definire insiemi di termini equivalenti, crea un file CSV a più colonne in cui ogni riga contiene un singolo termine del glossario in più lingue.
La prima riga del file è una riga di intestazione che identifica la lingua di ogni colonna, utilizzando il codice lingua ISO-639 o BCP-47. Puoi anche includere colonne facoltative per la parte del discorso (pos) e la descrizione (description). Attualmente l'algoritmo non utilizza le informazioni pos e i valori pos specifici non vengono convalidati.
Ogni riga successiva contiene i termini del glossario equivalenti nelle lingue identificate nell'intestazione. Puoi lasciare vuote le colonne corrispondenti se il termine non è disponibile in tutte le lingue.

Crea una risorsa di glossario
Una volta identificati i termini del glossario equivalenti, rendi il file del glossario disponibile per l'API Cloud Translation creando una risorsa di glossario.
Glossario unidirezionale
Quando crei un glossario unidirezionale, devi indicare la coppia di lingue (language_pair) specificando la lingua di origine (source_language_code) e la lingua di destinazione (target_language_code). L'esempio seguente utilizza l'API REST e la riga di comando, ma puoi anche utilizzare le librerie client per creare un glossario unidirezionale.
REST
Per creare un nuovo glossario, devi fornire un ID glossario (un nome di risorsa). Ad esempio:projects/my-project/locations/us-central1/glossaries/my-en-to-ru-glossary
my-project è PROJECT_NUMBER_OR_ID e my-en-ru-glossary
è l'ID glossario che hai specificato.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
- glossary-id: l'ID del glossario, ad esempio my_en_ru_glossary
- bucket-name: il nome del bucket in cui si trova il file del glossario
- glossary-filename: il nome file del glossario
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
Corpo JSON della richiesta:
{
"name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id",
"languagePair": {
"sourceLanguageCode": "en",
"targetLanguageCode": "ru"
},
"inputConfig": {
"gcsSource": {
"inputUri": "gs://bucket-name/glossary-filename"
}
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/project-number/locations/us-central1/operations/operation-id",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata",
"name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
"state": "RUNNING",
"submitTime": "2019-11-19T19:05:10.650047636Z"
}
}
Glossario di insiemi di termini equivalenti
Una volta identificati i termini del glossario nell'insieme di termini equivalenti, rendi il file del glossario disponibile per l'API Cloud Translation creando una risorsa di glossario.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
- glossary-id: l'ID del glossario
- bucket-name: il nome del bucket in cui si trova il file del glossario
- glossary-filename: il nome file del glossario
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
Corpo JSON della richiesta:
{
"name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id",
"languageCodesSet": {
"languageCodes": ["en", "en-GB", "ru", "fr", "pt-BR", "pt-PT", "es"]
},
"inputConfig": {
"gcsSource": {
"inputUri": "gs://bucket-name/glossary-file-name"
}
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/project-number/locations/us-central1/operations/20191103-09061569945989-5d937985-0000-21ac-816d-f4f5e80782d4",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata",
"name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
"state": "RUNNING",
"submitTime": "2019-11-03T16:06:29.134496675Z"
}
}
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Stato dell'operazione
La creazione di una risorsa di glossario è un'operazione a lunga esecuzione, quindi potrebbe essere necessario un periodo di tempo considerevole per completarla. Puoi eseguire il polling dello stato di questa operazione per vedere se è stata completata oppure puoi annullarla.
Per saperne di più, consulta Operazioni a lunga esecuzione.
Utilizza i glossari
Traduci testo con un glossario
In Cloud Translation - Advanced, devi specificare esplicitamente quale modello di traduzione utilizzare per tradurre il testo. I modelli LLM di traduzione, NMT e personalizzati possono essere chiamati in combinazione con il glossario, ma solo il modello LLM di traduzione supporta il più recente miglioramento della qualità con il glossario contestuale. Per applicare questa funzionalità, imposta BOOLEAN_CONTEXTUAL su TRUE. Puoi anche identificare un glossario da utilizzare per la terminologia specifica del dominio.
REST
Questo esempio traduce il testo utilizzando il modello NMT predefinito e un glossario.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- GLOSSARY_ID: l'ID del glossario, ad esempio
my-en-ru-glossary. - BOOLEAN: indica se le corrispondenze sono senza distinzione tra maiuscole e minuscole. Per impostazione predefinita, questo valore è
false. - BOOLEAN_CONTEXTUAL: Indica se il contesto viene preso in considerazione nella traduzione del glossario. Per impostazione predefinita, questo valore è
false.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:translateText
Corpo JSON della richiesta:
{
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": "Dr. Watson, please discard your trash. You've shared unsolicited email with me. Let's talk about spam and importance ranking in a confidential mode.",
"glossaryConfig": {
"glossary": "projects/project-number/locations/us-central1/glossaries/GLOSSARY_ID",
"ignoreCase": BOOLEAN,
"contextual_translation_enabled": BOOLEAN_CONTEXTUAL
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"glossaryTranslations": {
"translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со я . Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.",
"glossaryConfig": {
"glossary": "projects/project-number/locations/us-central1/glossaries/GLOSSARY_ID",
"ignoreCase": BOOLEAN,
"contextual_translation_enabled": BOOLEAN_CONTEXTUAL
}
},
"translations": {
"translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.",
}
}
Il campo translations contiene la traduzione automatica standard prima dell'applicazione del glossario, mentre il campo glossaryTranslations contiene la traduzione dopo l'applicazione del glossario.
Se imposti il campo contextual_translation_enabled su true, la risposta conterrà solo il campo glossaryTranslations e non il campo translations.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Traduzioni adattive con un glossario
Per utilizzare un glossario con una richiesta di traduzione adattiva, includi una configurazione del glossario nella richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- LOCATION: la regione in cui si trova il set di dati di origine, ad esempio
us-central1. - DATASET_NAME: il nome del set di dati che Cloud Translation utilizza per personalizzare le traduzioni, formattato come
projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID. Puoi ottenere i nomi dei set di dati elencando tutti i set di dati nel tuo progetto. - SOURCE_TEXT: il testo da tradurre.
- (Facoltativo) MIME_TYPE: il formato del testo di origine, ad esempio
text/htmlotext/plain. Per impostazione predefinita, il tipo MIME è impostato sutext/plain. - GLOSSARY_ID: l'ID del glossario, ad esempio
my-en-ru-glossary. - BOOLEAN (facoltativo): indica se le corrispondenze sono senza distinzione tra maiuscole e minuscole. Per impostazione predefinita, questo valore è
false. - BOOLEAN_CONTEXTUAL (facoltativo): indica se considerare il contesto nella traduzione del glossario. Per impostazione predefinita, questo valore è
false.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate
Corpo JSON della richiesta:
{
"dataset": "DATASET_NAME",
"content": ["SOURCE_TEXT"],
"mimeType": "MIME_TYPE",
"glossaryConfig": {
"glossary": "projects/project-number/locations/LOCATION/glossaries/GLOSSARY_ID",
"ignoreCase": BOOLEAN,
"contextual_translation_enabled": BOOLEAN_CONTEXTUAL
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"translations": [
{
"translatedText": "TRANSLATED_TEXT"
}
],
"languageCode": "TARGET_LANGUAGE",
"glossaryTranslations": {
"translatedText": "TRANSLATED_TEXT",
"glossaryConfig": {
"glossary": "projects/project-number/locations/LOCATION/glossaries/GLOSSARY_ID",
"ignoreCase": BOOLEAN,
"contextual_translation_enabled": BOOLEAN_CONTEXTUAL
}
},
}
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
{% dynamic setvar launch_stage %}preview{% dynamic endsetvar %} {% dynamic setvar launch_type %}feature{% dynamic endsetvar %} {% include "cloud/_shared/_info_launch_stage_disclaimer.html" %} /** Translates using AdaptiveMt. */ private static void adaptiveMtTranslate( TranslationServiceClient translationServiceClient, String projectId, String datasetId) { String adaptiveMtDatasetName = String.format( "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId); String glossaryId = "your-glossary-display-name"; GlossaryName glossaryName = GlossaryName.of(projectId, location, glossaryId); GlossaryConfig glossaryConfig = GlossaryConfig.newBuilder().setGlossary(glossaryName.toString()).build(); AdaptiveMtTranslateRequest request = AdaptiveMtTranslateRequest.newBuilder() .setParent(LocationName.of(projectId, "us-central1").toString()) .setDataset(adaptiveMtDatasetName) .addContent("Sample translation text") .setGlossaryConfig(glossaryConfig) .build(); AdaptiveMtTranslateResponse response = translationServiceClient.adaptiveMtTranslate(request); System.out.println("Translating using AdaptiveMt"); System.out.println(response); }
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
async function translate() { /** * TODO(developer): Uncomment these variables before running the sample. */ // const projectId = 'YOUR_PROJECT_ID'; // const location = 'global'; // const glossaryId = 'YOUR_GLOSSARY_ID'; const glossaryConfig = { glossary: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`, }; const request = { parent: `projects/${projectId}/locations/${location}`, dataset: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${ adaptiveMtDatasetName}`, content: ['Sample translate query'], glossaryConfig: glossaryConfig, } const [response] = await translationClient.adaptiveMtTranslate(request) console.log('Translating') console.log(response) }
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
def adaptive_mt_translate( project_id: str = "YOUR_PROJECT_ID", glossary_id: str = "YOUR_GLOSSARY_ID"): # Create a client client = translate.TranslationServiceClient() # Create a glossary glossary = client.glossary_path( project_id, "us-central1", glossary_id # The location of the glossary ) glossary_config = translate.GlossaryConfig(glossary=glossary) # Initialize the request request = translate.AdaptiveMtTranslateRequest( parent="projects/PROJECT_ID/locations/LOCATION", dataset="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID", content=["Sample translation request"] glossary_config=glossary_config, ) # Make the request response = client.adaptive_mt_translate(request) # Handle the response print(response)
Recupera informazioni su un glossario
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
- glossary-id: l'ID del glossario, ad esempio "my-en-to-ru-glossary"
Metodo HTTP e URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
"languagePair": {
"sourceLanguageCode": "en",
"targetLanguageCode": "ru"
},
"inputConfig": {
"gcsSource": {
"inputUri": "gs://bucket-name/glossary-file-name"
}
},
"entryCount": 9603
}
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Recupera un elenco dei glossari
Un progetto può includere numerosi glossari. Questa sezione descrive come recuperare un elenco dei glossari disponibili per un determinato progetto.
REST
Questo esempio elenca tutti i glossari associati al progetto specificato.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
Metodo HTTP e URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"glossaries": [
{
"name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
"languagePair": {
"sourceLanguageCode": "en",
"targetLanguageCode": "ru"
},
"inputConfig": {
"gcsSource": {
"inputUri": "gs://bucket-name/glossary-file-name"
}
},
"entryCount": 9603
},
...
]
}
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Aggiorna un glossario
Puoi aggiornare un glossario per modificarne il nome o sostituire tutte le voci con un nuovo file di input del glossario. Se devi eseguire il rollback delle modifiche alle voci del glossario, devi utilizzare il file del glossario originale per sostituire quello modificato.
REST
Per aggiornare un glossario, invia una richiesta PATCH con il metodo glossary.patch. L'esempio seguente aggiorna un glossario di insiemi di termini equivalenti. Utilizza il metodo list per trovare l'ID di un glossario specifico.
Il parametro di query update_mask specifica se stai aggiornando il file di input del glossario, il nome visualizzato del glossario o entrambi. Devi specificare almeno un parametro della maschera di aggiornamento.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- LOCATION: la regione in cui si trova il glossario da aggiornare, ad esempio
us-central1. - GLOSSARY_ID: l'ID di un glossario esistente.
- LANGUAGE_CODE: il codice lingua che specifica le lingue di questo glossario di insiemi di termini equivalenti.
- GLOSSARY_FILE_PATH: il percorso e il nome file del file di input del glossario.
Metodo HTTP e URL:
PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID?update_mask=input_config&update_mask=display_name
Corpo JSON della richiesta:
{
"name":"projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID",
"languageCodesSet": {
"languageCodes": ["LANGUAGE_CODE", ...]
},
"inputConfig": {
"gcsSource": {
"inputUri": "gs://GLOSSARY_FILE_PATH"
}
}
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.UpdateGlossaryMetadata",
"glossary": {
"name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID",
"languageCodesSet": {
"languageCodes": ["LANGUAGE_CODE", ...]
},
"inputConfig": {
"gcsSource": {
"inputUri": "gs://GLOSSARY_FILE_PATH"
}
},
"entryCount": NUMBER_OF_ENTRIES,
"submitTime": "2022-04-22T23:16:30.628806944Z",
"endTime": "2022-04-22T23:41:15.115797Z",
"displayName": "GLOSSARY_ID"
},
"state": "RUNNING",
"submitTime": "2022-04-22T23:50:24.337964527Z"
}
}
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Elimina un glossario
L'esempio seguente elimina un glossario.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
- glossary-id: l'ID del glossario
Metodo HTTP e URL:
DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Go.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Java.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Cloud Translation per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per eseguire l'autenticazione in Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Gestisci le voci di glossario
Una voce di glossario mappa un termine in una lingua a un termine in un'altra lingua. Puoi aggiungere nuove voci a un glossario, elencare tutte le voci di un glossario esistente o modificare voci esistenti.
Crea nuove voci
Crea nuove voci per aggiungere termini a un glossario esistente. Per i glossari unidirezionali, fornisci una coppia di termini, uno nella lingua di origine e l'altro nella lingua di destinazione. Per i glossari di insiemi di termini equivalenti, fornisci un insieme di termini, in cui ogni elemento dell'insieme specifica un termine e il relativo codice lingua.
REST
Gli esempi seguenti creano una voce per un glossario di insiemi di termini equivalenti. Puoi creare una sola voce per richiesta. Per saperne di più, consulta il metodo glossaryEntries.create.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- LOCATION: la regione in cui si trova il glossario da aggiornare, ad esempio
us-central1. - GLOSSARY_ID: l'ID di un glossario esistente.
- LANGUAGE_CODE: il codice lingua che specifica la lingua del termine.
- TERM: il termine da aggiungere al glossario.
- DESCRIPTION: informazioni sulla voce di glossario.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries
Corpo JSON della richiesta:
{
termsSet: {
terms: {
languageCode: "LANGUAGE_CODE",
text: "TERM"
},
...
},
description: "DESCRIPTION"
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
"termsSet": {
"terms": [
{
"languageCode": "LANGUAGE_CODE",
"text": "TERM"
},
...
]
},
"description": "DESCRIPTION"
}
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Elenca le voci di glossario
Puoi elencare tutte le voci di un glossario esistente. Questa operazione è utile, ad esempio, se vuoi controllare quali termini e quali lingue sono presenti in un glossario specifico.
REST
Per elencare tutte le voci di glossario, invia una richiesta GET con il metodo glossaryEntries.list.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- LOCATION: la regione in cui si trova il glossario da aggiornare, ad esempio
us-central1. - GLOSSARY_ID: l'ID di un glossario esistente.
Metodo HTTP e URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"glossaryEntries": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
"termsSet": {
"terms": [
{
"languageCode": "LANGUAGE_CODE",
"text": "TERM"
},
...
]
},
"description": "DESCRIPTION"
},
...
]
}
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Recupera una voce di glossario
Puoi recuperare una singola voce per visualizzarne le informazioni.
REST
Per recuperare una singola voce di glossario, invia una richiesta GET con il metodo glossaryEntries.get. Utilizza il metodo list per trovare l'ID di una voce specifica.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- LOCATION: la regione in cui si trova il glossario da aggiornare, ad esempio
us-central1. - GLOSSARY_ID: l'ID di un glossario esistente.
- GLOSSARY_ENTRY_ID: l'ID di una voce di glossario esistente.
Metodo HTTP e URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
"termsSet": {
"terms": [
{
"languageCode": "LANGUAGE_CODE",
"text": "TERM"
},
...
]
},
"description": "DESCRIPTION"
}
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Aggiorna le voci di glossario
Puoi aggiornare una singola voce o sostituire tutte le voci di un glossario. Per sostituire tutte le voci, consulta Aggiorna un glossario.
Per modificare una voce in un glossario unidirezionale, fornisci una coppia di termini, in cui un termine è nella lingua di origine e l'altro è nella lingua di destinazione. Per i glossari di insiemi di termini equivalenti, fornisci un insieme di termini, in cui ogni elemento dell'insieme specifica un termine e il relativo codice lingua.
REST
Gli esempi seguenti aggiornano una voce per un glossario di insiemi di termini equivalenti. Per saperne di più, consulta il metodo glossaryEntries.patch.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- LOCATION: la regione in cui si trova il glossario da aggiornare, ad esempio
us-central1. - GLOSSARY_ID: l'ID di un glossario esistente che contiene la voce da aggiornare.
- GLOSSARY_ENTRY_ID: l'ID della voce di glossario da aggiornare.
- LANGUAGE_CODE: il codice lingua che specifica la lingua del termine.
- TERM: il termine da aggiornare.
- DESCRIPTION: informazioni sulla voce di glossario.
Metodo HTTP e URL:
PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
Corpo JSON della richiesta:
{
termsSet: {
terms: {
languageCode: "LANGUAGE_CODE",
text: "TERM"
},
...
},
description: "DESCRIPTION"
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
"termsSet": {
"terms": [
{
"languageCode": "LANGUAGE_CODE",
"text": "TERM"
},
...
]
},
"description": "DESCRIPTION"
}
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Elimina una voce di glossario
Puoi rimuovere una singola voce di glossario.
REST
Per eliminare una singola voce di glossario, invia una richiesta DELETE con il metodo glossaryEntries.delete. Utilizza il metodo list per trovare l'ID di una voce specifica.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud .
- LOCATION: la regione in cui si trova il glossario da aggiornare, ad esempio
us-central1. - GLOSSARY_ID: l'ID di un glossario esistente che contiene la voce da eliminare.
- GLOSSARY_ENTRY_ID: l'ID della voce di glossario da eliminare.
Metodo HTTP e URL:
DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Cloud Translation per Ruby.
Risorse aggiuntive
- Per ricevere assistenza per la risoluzione di problemi o errori comuni, consulta la pagina Risoluzione dei problemi.