BookTranslator
BookTranslator

Come tradurre un foglio di calcolo Excel senza rompere formule o menu a discesa

Scopri il testo che un traduttore cella per cella salta in un file .xlsx (testo delle formule, testo formattato, link, grafici, macro), correggi i menu a discesa e i codici che può rompere, e verifica il risultato con uno script gratuito e una cartella di lavoro di prova.

BookTranslator

BookTranslator Team

16 min di lettura

Per tradurre un'intera cartella di lavoro Excel, carica il file .xlsx su un traduttore di documenti invece di tradurre le celle una per una. Il comando Review > Translate di Excel funziona sul testo selezionato (Microsoft Support), il che va bene per un'etichetta ma è lento per un listino prezzi. Un traduttore di file legge ogni cella di testo, la traduce e la riscrive nello stesso indirizzo, così formule, numeri e date restano dove erano.

Quello che non ti dice è quale testo non ha mai letto. Testo digitato all'interno di una formula, una cella con una parola in grassetto, un link, una nota, il titolo di un grafico: in una traduzione cella per cella, tutti questi possono tornare nella lingua originale. E due cose possono rompersi: un menu a discesa i cui valori consentiti non sono stati tradotti, e un codice prodotto che lo è stato.

Abbiamo creato una cartella di lavoro di prova con due fogli e testo in ciascuno di quei punti, scritto un verificatore gratuito che elenca dove si trova il testo, e abbiamo eseguito la cartella di lavoro attraverso una riproduzione locale della gestione dei fogli di calcolo utilizzata da BookTranslator. Questa guida mostra cosa è tornato, cosa cambiare prima di caricare e come verificare il file tradotto.

Risposta rapida: cosa viene tradotto in una cartella di lavoro

Dove si trova il testoEsempio dal nostro testTradotto da BookTranslator?Cosa fare
Celle di testo normale, comprese le righe di intestazione"Quaderno blu", "Prezzo"SìNiente
Numeri, date, valori booleani4.5, 2026-10-30Lasciati come eranoControlla i formati numerici per il mercato di destinazione
Formule=C2*D2Lasciate come eranoNiente
Testo all'interno di una formula=IF(D2>5,"In stock","Low stock")NoSposta le parole nelle celle (vedi Passo 2)
Cella con formattazione mista"Edizione limitata penna"No, l'intera cella viene saltataCancella prima la formattazione, oppure traducila manualmente
Celle con collegamento ipertestuale"Pagina prodotto"NoModifica il testo del link dopo la traduzione
Valore all'interno di una cella a discesa"Cartoleria"Sì, ma l'elenco a discesa noCorreggi l'elenco, altrimenti la cella non è più valida
Codici con lettere"A-77", "B-09"Inviato al traduttoreControllali dopo la traduzione
Codici con solo cifre o simboli"00123"Lasciati come eranoNiente
Note e commenti"Controlla il nome del fornitore prima del rilascio"NoTraducili manualmente, oppure eliminali
Nomi dei fogli e intervalli denominati"Prodotti", PriceRangeNo, così le formule tra fogli continuano a funzionareRinomina i fogli manualmente solo se necessario, dopo aver controllato le formule
Grafici e macroUn grafico a barre, un progetto VBARimossi dal file tradotto nel nostro testConserva l'originale, ricostruisci dopo (vedi sotto)

I file .xls più vecchi non sono accettati. Aprili in Excel e salvali come .xlsx prima. I file .xlsm con macro sono accettati, ma leggi la sezione sulle macro prima di caricarne uno: il file tradotto non contiene macro e, se il download termina ancora con .xlsm, rinominalo in .xlsx prima di aprirlo.

Passo 1: esegui il checker sulla tua cartella di lavoro

Scarica check_xlsx_text.py ed eseguilo sul tuo file:

python3 check_xlsx_text.py "Price list.xlsx"

Richiede solo Python 3 e legge il file senza modificarlo. Ecco il riepilogo per la nostra cartella di lavoro di esempio:

Counts by location:
  cell         code, ID or address        2
  cell         link text                  1
  cell         mixed formatting           1
  cell         plain text                 15
  comments     comment or note text       1
  dropdown     list of allowed values     1
  formula text text inside a formula      6
  sheet        sheet name                 2
  workbook     defined name               1

Plain text cells (translated by a cell-by-cell translator): 15
Items that need a decision before you upload: 12

Sotto i conteggi, elenca ogni elemento con il suo foglio e la sua cella, ad esempio Products!E2 formula text 'In stock'. Usa quell'elenco come lista di cose da fare per il Passo 2. Se la tua cartella di lavoro contiene grafici, caselle di testo, tabelle pivot o un progetto macro, compaiono anch'essi nei conteggi.

Il README descrive la cartella di lavoro di esempio, elenca gli hash dei file e fornisce i link agli script che la costruiscono, così puoi ripetere il test.

Cosa è successo alla nostra cartella di lavoro di test

Abbiamo eseguito la cartella di lavoro di esempio attraverso il codice utilizzato dal gestore di fogli di calcolo di BookTranslator, riprodotto localmente il 2026-11-01 con la stessa libreria (ExcelJS 4.4.0). Invece di una traduzione reale, abbiamo usato un segnaposto che aggiunge "[DE]" davanti al testo di ogni cella. In questo modo il modello linguistico resta fuori dal test, e i risultati mostrano solo ciò che la gestione dei file invia, conserva e scarta.

Il gestore legge ogni foglio cella per cella. Invia una cella per la traduzione solo se la cella contiene un valore di testo semplice, e salta qualsiasi testo composto solo da cifre, punteggiatura e simboli. Tutto il resto nella griglia delle celle viene copiato senza modifiche. BookTranslator restituisce quindi due file: una cartella di lavoro tradotta e una cartella di lavoro bilingue.

La cartella di lavoro tradotta

Questo è il file da usare. Tutte le 6 formule, i 7 numeri e date, i formati di valuta e data, le celle unite, la nota, la regola dell'elenco a discesa e l'intervallo denominato sono tornati invariati. Le 9 celle di intestazione e le altre celle di testo semplice sono state tradotte sul posto. Tre risultati richiedono attenzione:

Il testo all'interno delle formule rimane nella lingua di origine. La colonna Status usava =IF(D2>5,"In stock","Low stock"). Una formula non è una cella di testo, quindi il gestore non la legge mai, e "In stock" rimane in inglese in ogni riga. Lo stesso vale per il testo unito con & o CONCAT, e per il testo all'interno di HYPERLINK.

Un valore tradotto di un elenco a discesa non corrisponde più alla sua lista. La cella H2 aveva un elenco a discesa che consentiva "Stationery, Office, Art". Il valore della cella è stato tradotto, ma la lista è memorizzata nella regola di convalida, non in una cella, quindi non è stata tradotta. La modalità di confronto del nostro checker lo ha segnalato così:

Problems: 3
  Products!A3: code changed: 'A-77' -> '[DE] A-77'
  Products!A4: code changed: 'B-09' -> '[DE] B-09'
  Products!H2: '[DE] Stationery' is not in its dropdown list ['Art', 'Office', 'Stationery']

Excel mantiene un valore che viola la sua regola di convalida, ma la prossima persona che apre l'elenco a discesa vede solo le vecchie scelte, e Dati > Cerchia dati non validi segnalerà la cella.

I codici con lettere vengono inviati al traduttore. "00123" è stato saltato perché contiene solo cifre. "A-77" e "B-09" sono stati inviati, perché contengono una lettera. Che un codice torni invariato dipende quindi dal modello; nulla nella gestione dei file lo protegge. Uno SKU che torna come "A-77-Artikel" rompe ogni ricerca che lo utilizza.

La cartella di lavoro bilingue

Il file bilingue inserisce una colonna di traduzione a destra di ogni colonna che aveva almeno una cella tradotta, con intestazioni come "Name (Translated)". Sposta i valori delle celle nelle nuove colonne, ma non sposta i formati delle celle né aggiorna le formule. Nel nostro test:

  • il formato del prezzo $#,##0.00 è rimasto nella colonna C, che ora contiene i nomi dei prodotti, mentre i prezzi si sono spostati nella colonna E senza di esso;
  • il formato data è rimasto nella colonna G, che ora contiene la quantità, quindi una quantità di 10 veniva visualizzata come data;
  • =C2*D2 si è spostata nella colonna K ma puntava ancora a C2 e D2, che ora contengono il nome del prodotto e la sua traduzione, quindi non può più restituire 45;
  • nel foglio Summary, =SUM(Products!F2:F4) ora sommava una colonna di traduzione vuota.

Quindi la cartella di lavoro bilingue serve per leggere l'originale e la traduzione affiancati, non per calcolare. Non modificarla né copiarne le formule.

Grafici e macro

In una copia separata della cartella di lavoro, abbiamo aggiunto un grafico e un progetto di macro, memorizzati come fa Excel. Nessuno dei due era presente nel file tradotto o in quello bilingue. ExcelJS legge e scrive fogli di lavoro, stili, testo condiviso, immagini, tabelle e commenti, e non ha codice per le parti dei grafici o per il progetto VBA, quindi li omette al salvataggio. Lo stesso codice non ha nulla per le tabelle pivot, quindi aspettati che anche queste vengano eliminate, anche se non ne abbiamo testata una. Il gestore salva inoltre il suo output come file .xlsx, che non può contenere macro.

Un'altra limitazione del test: abbiamo creato la cartella di lavoro di esempio con ExcelJS stesso, che è il caso più favorevole per mantenere formati, unioni di celle e regole di convalida. Una cartella di lavoro salvata da Excel può contenere funzionalità che ExcelJS non modella, quindi esegui il passaggio di confronto qui sotto sul tuo file invece di dare per scontato lo stesso risultato pulito.

Passaggio 2: prepara la cartella di lavoro prima di caricarla

Lavora su una copia. Il verificatore ti dice quali celle modificare.

  1. Sposta il testo delle formule nelle celle. Inserisci le parole in un piccolo foglio "Labels" e fai puntare la formula a esse: =IF(D2>5,Labels!$A$1,Labels!$A$2). Le celle delle etichette sono testo semplice, quindi vengono tradotte, e ogni formula recepisce la traduzione. Questa singola modifica di solito risolve la maggior parte del conteggio "testo nelle formule", perché la stessa frase tende a ripetersi lungo un'intera colonna.
  2. Sposta gli elenchi a discesa nelle celle. In Dati > Convalida dati, cambia l'Origine da un elenco digitato (Stationery,Office,Art) a un intervallo nel foglio Labels (=Labels!$B$1:$B$3). I valori dell'elenco vengono quindi tradotti insieme alle celle che li usano. Controlla alcune celle in seguito: l'elenco a discesa accetta il valore tradotto solo se il modello ha tradotto "Stationery" allo stesso modo in entrambi i punti.
  3. Rimuovi la formattazione mista. Una cella con una parola in grassetto o colorata è memorizzata come sequenze formattate e viene saltata del tutto. Seleziona la cella e scegli Home > Cancella > Cancella formati, oppure riscrivila, poi riapplica il grassetto dopo la traduzione. Se ne hai molte, annotale prima.
  4. Decidi cosa fare con note e commenti. Non vengono tradotti. Elimina le note di revisione che non vuoi inviare a un servizio di traduzione e traduci il resto a mano.
  5. Salva le cartelle di lavoro con macro come .xlsx. Conserva il tuo .xlsm come master. Traduci una copia .xlsx, poi o copia le colonne di testo tradotte nel master (Incolla speciale > Valori, solo colonne di testo, per non sovrascrivere le formule) oppure esporta i moduli VBA e importali nel file tradotto.
  6. Lascia i grafici per dopo. Un grafico ha poco testo: un titolo, i titoli degli assi e una legenda che di solito proviene dalle celle di intestazione. Spesso è più rapido ricostruire il grafico nella cartella di lavoro tradotta dagli stessi intervalli, oppure incollare le colonne di testo tradotte nella cartella di lavoro originale in modo che i suoi grafici e le tabelle pivot si aggiornino da soli.

Passaggio 3: traduci l'intero file

Carica il file .xlsx sulla pagina del traduttore di documenti, scegli la lingua di destinazione e controlla il prezzo mostrato prima di pagare. Il caricamento dell'intero file traduce ogni cella di testo su ogni foglio in un'unica attività, il che rende più facile mantenere lo stesso nome di prodotto nella riga 3 e nella riga 3.000. La nostra guida per creare un glossario di traduzione spiega come fissare i termini che non devono variare.

Al termine dell'attività, la pagina Cronologia offre entrambi i download. Usa la cartella di lavoro tradotta. Apri la cartella di lavoro bilingue solo per rivedere la formulazione con qualcuno che legge entrambe le lingue.

Se lavori in Google Sheets, ci sono altre due strade. La scheda Documenti di Google Translate accetta file .xlsx fino a 10 MB (Guida di Google Translate); la nostra guida alla traduzione di Google Docs confronta le sue opzioni. E Sheets ha una funzione GOOGLETRANSLATE(text, source_language, target_language) (Guida di Google Docs Editors) che puoi trascinare in una nuova colonna accanto all'originale. È comodo per una colonna di etichette brevi, ma i risultati sono formule, quindi incollali come valori prima di condividere il foglio. Anche DeepL traduce documenti; vedi cosa significano in pratica i suoi limiti sui documenti. Qualunque strumento usi, esegui prima il verificatore sull'originale: il testo dentro le formule, i link e i grafici si trova negli stessi punti indipendentemente da quale strumento legga il file.

Passaggio 4: controlla la cartella di lavoro tradotta

  1. Esegui la modalità di confronto. Metti l'originale e il file tradotto affiancati:

    python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"
    

    Verifica che ogni formula, numero e data sia invariato, che i codici con lettere siano tornati esattamente come erano e che ogni valore dell'elenco a discesa sia presente nella sua lista. Usalo solo sulla cartella di lavoro tradotta. Poiché il file bilingue sposta le colonne, quasi ogni cella verrebbe segnalata.

  2. Ricalcola. Se una formula mostra ancora il vecchio testo dopo aver corretto le etichette, premi F9 (o Formule > Calcola ora).

  3. Traduci i residui. Usa l'elenco del verificatore dal Passaggio 1: testo dei link, note, titoli dei grafici e qualsiasi cella di cui hai cancellato la formattazione.

  4. Controlla i testi troncati. Le traduzioni sono spesso più lunghe dell'originale, e le stringhe brevi crescono di più. Il W3C cita le linee guida IBM che indicano un'espansione media dall'inglese alle lingue europee del 200–300% per testi fino a 10 caratteri (W3C). Le intestazioni di colonna sono brevi, quindi allarga le colonne o attiva Testo a capo dove vengono tagliate.

  5. Controlla la visualizzazione di numeri e date. I valori non sono stati toccati, ma "4.50" potrebbe dover apparire come "4,50" per un lettore tedesco. Si tratta di un formato di cella o di un'impostazione locale, non di una traduzione.

  6. Non "correggere" i nomi delle funzioni. Se l'Excel francese di un collega mostra SOMME invece di SUM, è Excel che visualizza i propri nomi di funzione localizzati; la formula è la stessa.

  7. Imposta i fogli da destra a sinistra. Per arabo, ebraico, persiano o urdu, attiva Layout di pagina > Foglio da destra a sinistra e controlla l'allineamento delle celle.

  8. Fallo rivedere da un lettore fluente se è destinato ai clienti, come un listino prezzi o un catalogo prodotti. Una traduzione automatica è una buona prima bozza, non una versione finale.

File CSV e TSV

Un file .csv non ha formule, formati o menu a discesa, quindi la maggior parte dei problemi sopra scompare. Tre cose sono diverse:

  • La riga di intestazione non viene tradotta. Il gestore tratta la prima riga come intestazioni e traduce solo le righe di dati. Traduci le intestazioni a mano, oppure copiale in una riga di dati prima di caricare e spostale di nuovo dopo.
  • Una colonna viene tradotta nel suo insieme. Se una cella di una colonna contiene una lettera, ogni cella di quella colonna che contiene una lettera viene inviata, codici inclusi. La modalità confronto legge solo .xlsx, quindi controlla a mano una colonna di codici CSV: copiala da entrambi i file in un unico foglio e confronta le due colonne con =EXACT(A2,B2).
  • Un CSV torna separato da virgole. Qualunque delimitatore usasse l'originale, il CSV tradotto usa le virgole; un file .tsv mantiene le tabulazioni. Nel nostro test, un CSV separato da punti e virgola è tornato separato da virgole, con le virgole decimali come "4,50" mantenute tra virgolette. Il file è UTF-8 senza byte order mark. Microsoft afferma che Excel apre normalmente un CSV UTF-8 quando ha quel mark, e altrimenti consiglia di importarlo con Dati > Recupera dati > Da testo/CSV (Microsoft Support). Se fai doppio clic sul file e vedi accenti illeggibili, importalo invece in quel modo.

Se i tuoi dati si trovano in una cartella di lavoro con formule, traduci il file .xlsx. Esportare in CSV per tradurlo elimina ogni formula.

Problemi comuni

ProblemaCausa probabileCosa fare
Un'intera colonna dice ancora "Disponibile"Le parole sono dentro una formula IFSpostale in celle etichetta e fai puntare la formula a quelle
Un menu a discesa rifiuta il valore tradottoI valori consentiti sono digitati nella regola di convalidaCambia l'Origine della regola in un intervallo di celle e traduci l'intervallo
Un codice prodotto è cambiatoContiene lettere, quindi è stato inviato al traduttoreCorreggilo dall'originale; esegui la modalità confronto a ogni consegna
Una cella non è stata affatto tradottaHa una formattazione mista oppure è un collegamentoRimuovi la formattazione o modifica il testo del collegamento, poi ritraducila o correggila manualmente
Il grafico o le macro sono scomparsiLa libreria usata per riscrivere il file non li salvaTraduci una copia .xlsx e riporta il testo tradotto nel file originale
I totali sono errati nel file bilingueLe colonne aggiunte spostano i valori ma non le formule o i formatiUsa la cartella di lavoro tradotta per qualsiasi calcolo
Gli accenti appaiono corrotti in un CSV tradottoExcel ha indovinato la codifica sbagliataImportalo con Dati > Recupera dati > Da testo/CSV
Il caricamento viene rifiutatoIl file è .xls oppure richiede una password per l'aperturaSalvalo come un normale .xlsx senza password di apertura (la sola protezione del foglio va bene)

Lo stesso principio vale per le presentazioni: anche una presentazione PowerPoint conserva il testo in punti che un traduttore salta, e il verificatore per quell'articolo funziona allo stesso modo di questo.

Post Correlati