Traduci documenti
Cloud Translation - Advanced fornisce un'API Document Translation per tradurre direttamente i documenti formattati, come PDF e DOCX. Rispetto alle traduzioni in testo normale, la funzionalità Traduzione di documenti conserva la formattazione e il layout originali nei documenti tradotti, consentendoti di mantenere gran parte del contesto originale, ad esempio gli a capo.
Le sezioni seguenti descrivono come tradurre documenti e utilizzare la traduzione di documenti con altre funzionalità di Cloud Translation - Advanced, come i glossari e i modelli di AutoML Translation. La funzionalità Traduzione di documenti supporta sia le richieste di traduzione online sia quelle batch.
Per le traduzioni in testo normale e HTML, consulta la sezione Tradurre text.
Formati di file supportati
Document Translation supporta i seguenti tipi di file di input e i relativi tipi di file di output associati.
Input | Tipo MIME del documento | Output |
---|---|---|
DOC* | application/msword | DOC, DOCX |
DOCX* | application/vnd.openxmlformats-officedocument.wordprocessingml.document | DOCX |
PDF† | application/pdf | PDF, DOCX |
PPT | application/vnd.ms-powerpoint | PPT, PPTX |
PPTX | application/vnd.openxmlformats-officedocument.presentationml.presentation | PPTX |
XLS | application/vnd.ms-excel | XLS, XLSX |
XLSX | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | XLSX |
* I contenuti all'interno delle caselle di testo non vengono tradotti e rimangono nella lingua di origine.
† La traduzione di documenti supporta sia i documenti PDF nativi che quelli acquisiti con alcune differenze. Per un'ottima gestione del formato, utilizza, se possibile, i file PDF nativi. La traduzione dei file PDF scansionati comporta una perdita di formattazione. Anche i layout PDF complessi possono comportare una certa perdita di formattazione, che può includere tabelle di dati, layout a più colonne e grafici con etichette o legende.
Se hai contenuti PDF in formato DOCX o PPTX, ti consigliamo di tradurli utilizzando questi formati prima di convertirli in PDF. In genere, la funzionalità Traduzione di documenti preserva il layout e lo stile di un documento dei file DOCX e PPTX meglio dei file PDF. Dopo aver tradotto un documento, puoi poi convertire i risultati in file PDF.
Traduzioni di documenti PDF nativi e scansionati
La funzionalità Traduzione di documenti supporta sia i file PDF nativi sia quelli scansionati, incluse le traduzioni verso o da lingue da destra verso sinistra. Il supporto per le conversioni da PDF a DOCX è disponibile solo per le traduzioni batch di documenti su file PDF nativi. Inoltre, la traduzione di documenti conserva i link ipertestuali, le dimensioni e il colore dei caratteri solo per i file PDF nativi (sia per le traduzioni sincrone che per quelle collettive).
Se traduci un file PDF con contenuti PDF scansionati e nativi, i contenuti scansionati non vengono tradotti.
Prima di iniziare
Prima di poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto in cui è attivata l'API Cloud Translation e disporre delle credenziali appropriate. Puoi anche installare librerie client per linguaggi di programmazione comuni per aiutarti a effettuare chiamate all'API. Per ulteriori informazioni, consulta la pagina Configurazione.
Autorizzazioni obbligatorie
Per le richieste che richiedono l'accesso a Cloud Storage, come la traduzione di documenti collettiva, potresti richiedere le autorizzazioni di Cloud Storage per leggere i file di input o inviare i file di output a un bucket. Ad esempio, per leggere i file di input da un bucket, devi disporre almeno delle autorizzazioni di lettura degli oggetti (fornite dal ruolo roles/storage.objectViewer
) sul bucket. Per ulteriori informazioni sui ruoli di Cloud Storage, consulta la documentazione di Cloud Storage.
Tradurre documenti (online)
La traduzione online fornisce l'elaborazione in tempo reale (elaborazione sincrona) di un singolo file.
Per i PDF, le dimensioni del file possono essere massime di 20 MB e fino a 300 pagine per i PDF nativi
(è necessario che il campo isTranslateNativePdfOnly
sia true
). Se attivi il
campo enableShadowRemovalNativePdf
, il limite è di 20 pagine. Per i PDF acquisiti, il limite è di 20 pagine.
Per altri tipi di documenti, le dimensioni dei file possono arrivare fino a 20 MB senza limiti di pagine.
Tradurre un documento da Cloud Storage
L'esempio seguente traduce un file da un bucket Cloud Storage e visualizza il risultato in un altro bucket Cloud Storage. La risposta restituisce anche un stream di byte. Puoi specificare il tipo MIME. Se non lo fai, Document Translation lo determina utilizzando l'estensione del file di input.
Se non specifichi un codice lingua di origine, Document Translation la rileva per te. La lingua rilevata è inclusa nell'output nel
campo detectedLanguageCode
.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud.
- LOCATION: regione in cui vuoi eseguire questa operazione. Ad esempio,
us-central1
. - SOURCE_LANGUAGE: (Facoltativo) Il codice lingua del documento di input. Se noto, imposta uno dei codici lingua elencati in Supporto delle lingue.
- TARGET_LANGUAGE: la lingua di destinazione in cui tradurre il documento di input. Impostato su uno dei codici lingua elencati in Supporto delle lingue.
- INPUT_FILE_PATH: la posizione e il nome file di Cloud Storage del documento di input.
- OUTPUT_FILE_PREFIX: la posizione Cloud Storage in cui verrà memorizzato il documento di output.
- IS_NATIVE: (Facoltativo) Per i documenti PDF nativi, un valore booleano che indica se la richiesta utilizza il limite di pagine PDF native o scansionate. Se true, il limite di pagine viene aumentato a 300 solo per i documenti PDF nativi. Se è falso o non specificato, viene utilizzato il limite di pagine PDF scansionate (20 pagine).
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON della richiesta:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH" } }, "document_output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "isTranslateNativePdfOnly": IS_NATIVE }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "documentTranslation": { "byteStreamOutputs": ["BYTE_STREAM"], "mimeType": "MIME_TYPE" }, "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/general/nmt" }
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per autenticarti a Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Tradurre un documento in linea
L'esempio seguente invia un documento in linea nell'ambito della richiesta. Devi includere il tipo MIME per le traduzioni dei documenti in linea.
Se non specifichi un codice lingua di origine, Document Translation la rileva per te. La lingua rilevata è inclusa nell'output nel
campo detectedLanguageCode
.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud.
- LOCATION: regione in cui vuoi eseguire questa operazione. Ad esempio,
us-central1
. - SOURCE_LANGUAGE: (Facoltativo) Il codice lingua del documento di input. Se noto, imposta uno dei codici lingua elencati in Supporto delle lingue.
- TARGET_LANGUAGE: la lingua di destinazione in cui tradurre il documento di input. Impostato su uno dei codici lingua elencati in Supporto delle lingue.
- MIME_TYPE: il formato del documento di origine, ad esempio
application/pdf
. - INPUT_BYTE_STREAM: i contenuti del documento di input rappresentati come stream di byte.
- OUTPUT_FILE_PREFIX: la posizione Cloud Storage in cui verrà memorizzato il documento di output.
- IS_NATIVE: (Facoltativo) Per i documenti PDF nativi, un valore booleano che indica se la richiesta utilizza il limite di pagine PDF native o scansionate. Se true, il limite di pagine viene aumentato a 300 solo per i documenti PDF nativi. Se è falso o non specificato, viene utilizzato il limite di pagine PDF scansionate (20 pagine).
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON della richiesta:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "mimeType": "MIME_TYPE", "content": "INPUT_BYTE_STREAM" }, "document_output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "isTranslateNativePdfOnly": IS_NATIVE }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "documentTranslation": { "byteStreamOutputs": ["BYTE_STREAM"], "mimeType": "MIME_TYPE" }, "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/general/nmt" }
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per autenticarti a Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Utilizza un modello AutoML o un glossario
Anziché il modello gestito da Google, puoi utilizzare i tuoi modelli di traduzione di AutoML per tradurre i documenti. Oltre a specificare un modello, puoi anche includere un glossario per gestire la terminologia specifica del dominio. Se specifichi un modello o un glossario, devi specificare la lingua di origine. L'esempio seguente utilizza un modello AutoML e un glossario. Se il modello o il glossario si trovano in un progetto diverso, devi disporre dell'autorizzazione IAM corrispondente per accedere a queste risorse.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud.
- LOCATION: regione in cui vuoi eseguire questa operazione, ad esempio
us-central1
. La località deve corrispondere alla regione in cui si trovano il modello, il glossario o entrambi. - SOURCE_LANGUAGE: il codice lingua del documento inserito. Impostato su uno dei codici lingua elencati in Supporto delle lingue.
- TARGET_LANGUAGE: la lingua di destinazione in cui tradurre il documento di input. Impostato su uno dei codici lingua elencati in Supporto delle lingue.
- INPUT_FILE_PATH: la posizione e il nome file di Cloud Storage del documento di input.
- OUTPUT_FILE_PREFIX: la posizione Cloud Storage in cui verrà memorizzato il documento di output.
- MODEL_PROJECT_ID: l'ID progetto in cui si trova il modello.
- MODEL_LOCATION: la regione in cui si trova il modello.
- MODEL_ID: l'ID del modello da utilizzare.
- GLOSSARY_PROJECT_ID: l'ID progetto in cui si trova il glossario.
- GLOSSARY_LOCATION: la regione in cui si trova il glossario.
- GLOSSARY_ID: l'ID del glossario da utilizzare.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON della richiesta:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH" } }, "document_output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "model": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID", "glossary_config": { "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "documentTranslation": { "byteStreamOutputs": ["BYTE_STREAM"], "mimeType": "MIME_TYPE" }, "glossary_document_translation": { "byteStreamOutputs": ["BYTE_STREAM_USING_GLOSSARY"], "mimeType": "MIME_TYPE" }, "model": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID", "glossaryConfig": { "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID" } }
Tradurre documenti (collettivamente)
La traduzione batch consente di tradurre più file in più lingue in una singola richiesta. Per ogni richiesta, puoi inviare fino a 100 file con contenuti di dimensioni massime pari a 1 GB o 100 milioni di punti di codice Unicode, a seconda del limite raggiunto per primo. Puoi specificare un determinato modello di traduzione per ogni lingua.
Tradurre più documenti
L'esempio seguente include più configurazioni di input. Ogni configurazione di input è un puntatore a un file in un bucket Cloud Storage.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
- LOCATION: regione in cui vuoi eseguire questa operazione. Ad esempio,
us-central1
. - SOURCE_LANGUAGE: il codice lingua dei documenti di input. Impostato su uno dei codici lingua elencati in Supporto delle lingue.
- TARGET_LANGUAGE: la lingua o le lingue di destinazione in cui tradurre i documenti di input. Utilizza i codici lingua elencati in Supporto delle lingue.
- INPUT_FILE_PATH: la posizione e il nome file di Cloud Storage di uno o più documenti di input.
- OUTPUT_FILE_PREFIX: la posizione di Cloud Storage in cui vengono archiviati tutti i documenti di output.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:batchTranslateDocument
Corpo JSON della richiesta:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": ["TARGET_LANGUAGE", ...], "input_configs": [ { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_1" } }, { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_2" } }, ... ], "output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'ID di un'operazione a lunga esecuzione.{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata", "state": "RUNNING" } }
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.
Per autenticarti a Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.
Per autenticarti a Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Tradurre e convertire un file PDF nativo
L'esempio seguente traduce e converte un file PDF nativo in un file DOCX. Puoi specificare più input di vari tipi di file; non devono essere tutti file PDF nativi. Tuttavia, i file PDF scansionati non possono essere inclusi quando è inclusa una conversione; la richiesta viene rifiutata e non vengono eseguite traduzioni. Solo i file PDF nativi vengono tradotti e convertiti in file DOCX. Ad esempio, se includi file PPTX, questi vengono tradotti e restituiti come file PPTX.
Se traduci regolarmente una combinazione di file PDF scansionati e nativi, ti consigliamo di organizzarli in bucket Cloud Storage separati. In questo modo, quando richiedi una traduzione e una conversione collettiva, puoi escludere facilmente il bucket contenente i file PDF scansionati anziché dover escludere i singoli file.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
- LOCATION: regione in cui vuoi eseguire questa operazione. Ad esempio,
us-central1
. - SOURCE_LANGUAGE: il codice lingua dei documenti di input. Impostato su uno dei codici lingua elencati in Supporto delle lingue.
- TARGET_LANGUAGE: la lingua o le lingue di destinazione in cui tradurre i documenti di input. Utilizza i codici lingua elencati in Supporto delle lingue.
- INPUT_FILE_PATH: la posizione e il nome file di Cloud Storage di uno o più file PDF nativi.
- OUTPUT_FILE_PREFIX: la posizione di Cloud Storage in cui vengono archiviati tutti i documenti di output.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:batchTranslateDocument
Corpo JSON della richiesta:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": ["TARGET_LANGUAGE", ...], "input_configs": [ { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_1" } }, { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH_2" } }, ... ], "output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "format_conversions": { "application/pdf": "application/vnd.openxmlformats-officedocument.wordprocessingml.document" } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'ID di un'operazione a lunga esecuzione.{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata", "state": "RUNNING" } }
Utilizza un modello AutoML o un glossario
Anziché il modello gestito da Google, puoi utilizzare i tuoi modelli di traduzione di AutoML per tradurre i documenti. Oltre a specificare un modello, puoi anche includere un glossario per gestire la terminologia specifica del dominio. Se specifichi un modello o un glossario, devi specificare la lingua di origine. L'esempio seguente utilizza un modello AutoML e un glossario. Puoi specificare fino a 10 lingue di destinazione con il proprio modello e glossario.
Se specifichi un modello per alcune lingue di destinazione e non per altre, Document Translation utilizza il modello gestito da Google per le lingue non specificate. Analogamente, se specifichi un glossario per alcune lingue di destinazione, Document Translation non utilizza alcun glossario per le lingue non specificate.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud
- LOCATION: regione in cui vuoi eseguire questa operazione, ad esempio
us-central1
. La località deve corrispondere alla regione in cui si trovano il modello, il glossario o entrambi. - SOURCE_LANGUAGE: il codice lingua dei documenti di input. Impostato su uno dei codici lingua elencati in Supporto delle lingue.
- TARGET_LANGUAGE: la lingua o le lingue di destinazione in cui tradurre i documenti di input. Utilizza i codici lingua elencati in Supporto delle lingue.
- INPUT_FILE_PATH: la posizione e il nome file di Cloud Storage di uno o più documenti di input.
- OUTPUT_FILE_PREFIX: la posizione di Cloud Storage in cui vengono archiviati tutti i documenti di output.
- MODEL_PROJECT_ID: l'ID progetto in cui si trova il modello.
- MODEL_LOCATION: la regione in cui si trova il modello.
- MODEL_ID: l'ID del modello da utilizzare.
- GLOSSARY_PROJECT_ID: l'ID progetto in cui si trova il glossario.
- GLOSSARY_LOCATION: la regione in cui si trova il glossario.
- GLOSSARY_ID: l'ID del glossario da utilizzare.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument
Corpo JSON della richiesta:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": "[TARGET_LANGUAGE, ...]", "input_configs": [ { "gcsSource": { "inputUri": "gs://INPUT_FILE_PATH" } } ], "output_config": { "gcsDestination": { "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX" } }, "models": { "TARGET_LANGUAGE": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID", ... }, "glossaries": { "TARGET_LANGUAGE": { "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID" }, ... } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'ID di un'operazione a lunga esecuzione.{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata", "state": "RUNNING" } }
Testo sovrapposto
In alcuni casi, le traduzioni dei PDF nativi potrebbero includere il testo tradotto sovrapposto al testo di origine. Questo problema è noto come testo ombra.
In alcuni casi, puoi rimuovere il testo in ombra attivando l'opzione
enableShadowRemovalNativePdf
. Se attivi questa opzione, la latenza di risposta aumenta e, per le traduzioni di documenti online, il limite di pagine viene ridotto a 20. Puoi sapere se il tuo documento richiede la rimozione del testo ombra solo dopo averlo tradotto.
In altri casi, se l'opzione enableShadowRemovalNativePdf
non funziona, converti il PDF in un'immagine e poi traducilo. In genere, questi casi includono testo su più livelli, ad esempio quando il testo selezionabile si trova sopra un'immagine di sfondo che include anche del testo. La conversione del PDF in un'immagine consente a Cloud Translation di elaborare il documento come PDF scansionato. Per eseguire la conversione,
puoi utilizzare Chrome (stampa come immagine) o altri strumenti di terze parti.
Orientamento del testo
Per le traduzioni di PDF scansionati, il testo di origine deve essere orientato orizzontalmente. Ad esempio, se un documento scansionato include testo inclinato verso l'alto o verso il basso, Cloud Translation potrebbe non analizzare correttamente tutto il testo, con conseguenti traduzioni errate o incomplete.
Se i tuoi documenti non sono orientati in modo coerente, puoi chiedere a Cloud Translation di farlo al posto tuo. Nella richiesta di traduzione, attiva l'opzione
enableRotationCorrection
in modo che il testo sia correttamente orientato prima della traduzione.
Passaggi successivi
- La traduzione di documenti ha un prezzo per pagina. Per ulteriori informazioni, consulta la sezione Prezzi.