Traduci documenti
Cloud Translation - Advanced fornisce un'API Document Translation per tradurre direttamente documenti formattati come PDF e DOCX. Rispetto a traduzioni di testo normale, la traduzione di documenti conserva l'originale formattazione e layout nei documenti tradotti, contribuendo a conservare gran parte nel contesto originale, come le interruzioni di paragrafo.
Le seguenti sezioni descrivono come tradurre documenti e utilizzare Traduzione di documenti con altre funzionalità di Cloud Translation - avanzate come i glossari e i modelli AutoML Translation. Traduzione di documenti supporta le richieste di traduzione sia online che batch.
Per le traduzioni di testo normale e HTML, consulta la sezione Traduzione. testo.
Formati di file supportati
La traduzione di documenti 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 in la lingua di origine.
†La traduzione di documenti supporta sia i modelli nativi che documenti PDF scansionati con alcune differenze. Per un formato ottimale per la gestione dei contenuti, utilizza se possibile file PDF nativi. Traduzione di file PDF scansionati causa una perdita di formattazione. Anche i layout PDF complessi possono comportare perdita di formattazione, che può includere tabelle di dati, layout a più colonne e grafici con etichette o legende.
Se disponi di contenuti PDF in formato DOCX o PPTX, ti consigliamo di: tradurre i contenuti utilizzando questi formati prima di convertirli in PDF. Nel generale, la traduzione di documenti conserva il layout e lo stile di un documento di file DOCX e PPTX migliori rispetto ai file PDF. Dopo aver tradotto un documento, puoi poi convertire i risultati in file PDF.
Traduzioni di documenti PDF nativi e scansionati
La traduzione di documenti supporta file PDF nativi e scansionati, incluse le traduzioni da o verso le lingue con scrittura da destra a sinistra. Supporto per PDF per Le conversioni DOCX sono disponibili per le traduzioni batch di documenti su nativi Solo file PDF. Inoltre, la traduzione dei documenti conserva i link ipertestuali, dimensioni e colore del carattere solo per i file PDF nativi (sia per i file sincroni che per quelli batch traduzioni).
Se traduci un file PDF con una combinazione di contenuti PDF scansionati e nativi, contenuti scansionati non vengono tradotti.
Prima di iniziare
Per poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto con l'API Cloud Translation sia abilitata e devi disporre delle credenziali appropriate. Puoi installare anche librerie client per i linguaggi di programmazione più comuni 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 l'input
file da un bucket, devi disporre almeno delle autorizzazioni di lettura per gli oggetti (fornite da
il ruolo roles/storage.objectViewer
) sul bucket. Per ulteriori informazioni
per i ruoli di Cloud Storage, consulta
documentazione.
Traduzione di documenti (online)
La traduzione online offre l'elaborazione in tempo reale (elaborazione sincrona) di un un singolo file.
Per i PDF, le dimensioni dei file possono essere fino a 20 MB e fino a 300 pagine per i PDF nativi
(il campo isTranslateNativePdfOnly
deve essere true
). Se attivi il
enableShadowRemovalNativePdf
, il limite è di 20 pagine. Per
PDF scansionati, il limite è di 20 pagine.
Per altri tipi di documenti, le dimensioni dei file possono arrivare fino a 20 MB senza limiti di pagine.
Traduci un documento da Cloud Storage
L'esempio seguente traduce un file da un bucket Cloud Storage invia il risultato a un bucket Cloud Storage. La risposta restituisce anche un flusso 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 viene inclusa nell'output in
il campo detectedLanguageCode
.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del progetto Google Cloud.
- LOCATION: regione in cui vuoi eseguire questa operazione. Per
ad esempio
us-central1
. - SOURCE_LANGUAGE: (Facoltativo) Il codice lingua del documento di input. Se noto, imposta uno dei codici lingua elencati nella sezione Supporto lingua.
- TARGET_LANGUAGE: la lingua di destinazione in cui tradurre l'input documento. Imposta uno dei codici lingua elencati nella sezione Supporto lingua.
- INPUT_FILE_PATH: il percorso di Cloud Storage e il nome del file il documento di input.
- OUTPUT_FILE_PREFIX: la località di Cloud Storage in cui verrà archiviato il documento di output.
- IS_NATIVE: (facoltativo) per i documenti PDF nativi, un valore booleano che indica se la richiesta utilizza la pagina PDF nativa o scansionata limite. Se il valore è true, il limite di pagine per il PDF nativo viene aumentato a 300 solo documenti. Se falso o non specificato, viene utilizzato il limite di pagine del PDF scansionato (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 delle seguenti 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 per la configurazione di Node.js nel Guida rapida di Cloud Translation con librerie client. Per ulteriori informazioni, consulta API Cloud Translation Node.js documentazione di riferimento.
Per autenticarti a Cloud Translation, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Traduci un documento in linea
L'esempio seguente invia un documento in linea come parte della richiesta. Devi Includere il tipo MIME per le traduzioni dei documenti incorporati.
Se non specifichi un codice in lingua di origine, Document Translation
rileva la lingua per te. La lingua rilevata viene inclusa nell'output in
il campo detectedLanguageCode
.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del progetto Google Cloud.
- LOCATION: regione in cui vuoi eseguire questa operazione. Per
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 l'input documento. 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 un flusso di byte.
- OUTPUT_FILE_PREFIX: la località di Cloud Storage in cui verrà archiviato il documento di output.
- IS_NATIVE: (facoltativo) per i documenti PDF nativi, un valore booleano che indica se la richiesta utilizza la pagina PDF nativa o scansionata limite. Se il valore è true, il limite di pagine per il PDF nativo viene aumentato a 300 solo documenti. Se falso o non specificato, viene utilizzato il limite di pagine del PDF scansionato (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 delle seguenti 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 per la configurazione di Python nel Guida rapida di Cloud Translation con librerie client. Per ulteriori informazioni, consulta API Cloud Translation Python documentazione di riferimento.
Per autenticarti a Cloud Translation, configura le credenziali predefinite dell'applicazione. Per ulteriori 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 AutoML Modelli di traduzione per tradurre 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 si trovano in un altro progetto, devi disporre delle risorse IAM corrispondenti per accedere a quelle risorse.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del progetto Google Cloud.
- LOCATION: regione in cui vuoi eseguire questa operazione, ad esempio
us-central1
. La località deve corrispondere alla regione in cui modello, glossario o entrambi. - SOURCE_LANGUAGE: il codice lingua dell'input documento. Imposta uno dei codici lingua elencati nella sezione Supporto lingua.
- TARGET_LANGUAGE: la lingua di destinazione in cui tradurre il documento di input. Imposta uno dei codici lingua elencati nella sezione Supporto lingua.
- INPUT_FILE_PATH: la posizione e il nome file di Cloud Storage del documento di input.
- OUTPUT_FILE_PREFIX: la località di Cloud Storage in cui verrà archiviato il documento di output.
- MODEL_PROJECT_ID: l'ID progetto in cui si trova il modello individuarlo.
- 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 delle seguenti 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" } }
Traduzione di documenti (batch)
La traduzione batch consente di tradurre più file in più lingue in una singola richiesta. Per ogni richiesta è possibile inviare fino a 100 file con un dimensione dei contenuti fino a 1 GB o 100 milioni di punti di codice Unicode, a seconda di quale limite premiamo per primo. Puoi specificare un particolare modello di traduzione per ogni lingua.
Traduci più documenti
L'esempio seguente include più configurazioni di input. Ogni input è un puntatore a un file in un bucket Cloud Storage.
REST
Prima di utilizzare i dati della richiesta, effettua 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. Per
ad esempio
us-central1
. - SOURCE_LANGUAGE: il codice lingua dei documenti di input. Imposta uno dei codici lingua elencati nella sezione Supporto lingua.
- TARGET_LANGUAGE: la lingua o le lingue di destinazione da tradurre a cui inviare i documenti di input. Utilizza i codici lingua elencati in Supporto delle lingue.
- INPUT_FILE_PATH: il percorso di Cloud Storage e il nome del file uno o più documenti di input.
- OUTPUT_FILE_PREFIX: la località di Cloud Storage in cui 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 delle seguenti 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 su Cloud Translation, configura Credenziali predefinite dell'applicazione. Per ulteriori 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 ulteriori informazioni, consulta API Cloud Translation Python documentazione di riferimento.
Per autenticarti su Cloud Translation, configura Credenziali predefinite dell'applicazione. Per ulteriori 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 tutti devono essere file PDF nativi. Tuttavia, i file PDF scansionati non possono essere inclusi quando è incluso un conversione; la richiesta viene rifiutata e non viene eseguita alcuna traduzione. Solo i file PDF nativi vengono tradotti e convertiti in file DOCX. Ad esempio, se includono file PPTX, vengono tradotti e restituiti come file PPTX.
Se traduci regolarmente un mix 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 in batch, puoi facilmente escludere bucket che contiene file PDF scansionati, invece di dover escludere singoli .
REST
Prima di utilizzare i dati della richiesta, effettua 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. Per
ad esempio
us-central1
. - SOURCE_LANGUAGE: il codice lingua dell'input documenti. Imposta uno dei codici lingua elencati nella sezione Supporto lingua.
- TARGET_LANGUAGE: la lingua o le lingue di destinazione da tradurre a cui inviare 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 delle seguenti 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 AutoML Modelli di traduzione per tradurre 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. La L'esempio seguente utilizza un modello AutoML e un glossario. Puoi specificare fino a 10 lingue di destinazione con modello e glossario propri.
Se specifichi un modello per alcune lingue di destinazione e non per altre, La traduzione di documenti utilizza il modello gestito da Google per lingue diverse. Analogamente, se specifichi un glossario per alcune lingue di destinazione, La traduzione dei documenti non utilizza alcun glossario per i termini lingue diverse.
REST
Prima di utilizzare i dati della richiesta, effettua 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 da tradurre a cui inviare i documenti di input. Utilizza i codici lingua elencati in Supporto delle lingue.
- INPUT_FILE_PATH: il percorso di Cloud Storage e il nome del file uno o più documenti di input.
- OUTPUT_FILE_PREFIX: la località di Cloud Storage in cui i documenti di output.
- MODEL_PROJECT_ID: l'ID progetto in cui si trova il modello individuarlo.
- 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 delle seguenti opzioni:
La risposta contiene l'ID per un modello di lunga durata operativa.{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata", "state": "RUNNING" } }
Sovrapposizione testo
In alcuni casi, le traduzioni native dei PDF potrebbero includere il testo tradotto. sovrapposto al testo di origine. Questo problema è denominato testo ombra.
In alcuni casi, puoi rimuovere il testo in ombra attivando il metodo
enableShadowRemovalNativePdf
. Se abiliti questa opzione, la latenza di risposta aumenta e, per
traduzioni di documenti online, il limite di pagine è 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 corrisponde
prima di lavorare, converti il PDF in un'immagine e poi traducilo. In genere, questi casi
includi testo a 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
Cloud Translation per elaborare il documento come PDF scansionato. Per eseguire la conversione,
puoi utilizzare Chrome (stampa come immagine) o altri strumenti di terze parti.
Orientamento testo
Per le traduzioni PDF scansionate, 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 utilizzare Cloud Translation
orientarli per te. Nella richiesta di traduzione, abilita il
enableRotationCorrection
in modo che il testo sia orientato correttamente prima della traduzione.
Passaggi successivi
- La traduzione di documenti ha un prezzo per pagina. Per ulteriori informazioni, vedi Prezzi.