Modificare testi PrestaShop: l'etichetta resta uguale o la traduzione non si salva
Quando modificare i testi in PrestaShop non funziona, controlla la cache, il posto in cui hai fatto la modifica e il template. La pagina può mostrare una vecchia copia dalla cache. La traduzione può essere finita nel tema, mentre l'etichetta arriva da un modulo. Oppure l'etichetta è scritta nel template, e allora la cambi in un file, meglio in una copia del template nel tema.
Autore: Il team TellMyShop. Una guida per i titolari di negozi PrestaShop: la causa, la correzione a mano e lo stesso lavoro in una conversazione in chat.
Ultimo aggiornamento: · 5 min di lettura
Perché l'etichetta nel negozio non cambia?
Perché PrestaShop tiene i testi in più posti, e la pagina li prende da uno solo. Giovedì, ore 19:50. Per la terza volta cambi «Aggiungi al carrello» in «Metti nel carrello», salvi e ricarichi il negozio. Sempre la vecchia etichetta. Torni alle traduzioni, e lì la tua versione è salvata.
È un sintomo tipico. La traduzione si è salvata correttamente, ma non dove la pagina la legge. Oppure si è salvata, e la pagina mostra una copia dalla cache.
Sintomo e causa: cosa controllare per primo
Abbina quello che vedi a una riga della tabella.
| Sintomo | Causa più comune | Cosa fare |
|---|---|---|
| Traduzione salvata nel pannello, il negozio mostra il vecchio testo | la cache | svuotala in Parametri avanzati > Prestazioni, ricarica la pagina saltando la cache del browser |
| La modifica funziona in un posto ma non in un altro | lo stesso testo è nel tema e in un modulo | cambialo in entrambi i tipi di traduzione |
| Il testo non si trova nella ricerca delle traduzioni | l'etichetta è scritta direttamente in un template | cambiala nel file del template, nel tema |
| Il testo cambia nel modulo ma non in un tema acquistato | il tema ha una sua copia del template del modulo | cambialo nella copia del template nel tema |
| Dopo il salvataggio il campo torna alla versione vecchia | un errore nel salvataggio della traduzione nel database | il log degli errori, poi uno sviluppatore |
| La modifica sparisce dopo un aggiornamento del modulo | qualcuno ha modificato i file del modulo | sposta la modifica in una copia del template nel tema |
Il caso del campo che torna alla versione vecchia l'ha descritto Pskrk. Il colpevole era una voce nel database che sovrascriveva la traduzione. Come funzionano i tipi di traduzione nel pannello lo mostrano PrestaPros e PrestaPremium (tutti e tre in polacco).
Come trovare e cambiare un testo passo per passo
Parti dalle traduzioni nel pannello, e passa ai file solo quando il testo lì non c'è.
- Copia l'etichetta esattamente come appare nel negozio. Con le stesse maiuscole e la stessa punteggiatura.
- Apri Internazionale > Traduzioni. Scegli le traduzioni del tema, il tuo tema e la lingua.
- Cerca l'etichetta. Se c'è, cambiala e salva. Se non c'è, controlla le traduzioni dei moduli installati.
- Svuota la cache in Parametri avanzati > Prestazioni e controlla il negozio in una finestra privata.
- Se il testo non si trova da nessuna parte, è in un template. Scopri quale modulo o file del tema mostra quell'elemento.
- Cambia il testo in una copia del template nel tema. PrestaShop usa la copia al posto dell'originale del modulo. Il meccanismo è descritto nella documentazione di PrestaShop sull'override dei moduli.
Non cambiare i testi nei file della cartella modules. Il prossimo aggiornamento del modulo riporterà la vecchia etichetta.
Come cambiare i testi in un negozio con più lingue
Cambiali nelle traduzioni di ogni lingua separatamente, e fai attenzione ai file. Le traduzioni nel pannello hanno una versione a parte per ogni lingua del negozio. Cambiare l'etichetta italiana non cambia quella francese, quindi dopo la modifica passa il negozio all'altra lingua e controllale entrambe.
Un testo scritto direttamente in un template è diverso. Una riga in un file si vede allo stesso modo in tutte le lingue. Se il negozio ha una versione francese e scrivi una frase in italiano nel template, un cliente dalla Francia vedrà un testo in italiano. In un negozio così è meglio chiedere a uno sviluppatore di cambiare il template in modo che l'etichetta si possa tradurre nel pannello.
Come cambiare l'etichetta di un modulo in modo che sopravviva a un aggiornamento
Descrivi quale testo cambiare e in cosa, e la tua chat (Claude o ChatGPT) con il modulo TellMyShop capisce quale modulo lo mostra. Poi copia il template del modulo nel tema e mostra la differenza prima del salvataggio.
Tu: Cambia il testo nel riquadro della newsletter nel footer in «Una email al mese con le novità di Lampiarnia». Deve sopravvivere a un aggiornamento del modulo.
La tua chat: Il riquadro lo mostra il modulo newsletter. Il testo è scritto direttamente nel suo template, quindi le traduzioni nel pannello non lo cambiano. Copio il template nel tema e cambio il testo nella copia. Anteprima:
Il negozio ha anche una versione francese. Il testo nella copia del template sarà in italiano in entrambe le versioni. Lo cambio?
Tu: Sì, la versione francese la spegniamo comunque.
La tua chat: Salvato, cache svuotata. L'originale del modulo non è stato toccato, quindi un aggiornamento non riporterà il vecchio testo.
versione precedente: Iscriviti alla nostra newsletter per ricevere notizie sui nuovi prodotti.
nuova versione: Una email al mese con le novità di Lampiarnia.
Correggere un'etichetta è una richiesta e un'anteprima della riga del template cambiata. Questo lavoro richiede TellMyShop Pro e l'interruttore Tema. Dopo l'installazione è spento, e lo accendi nel pannello del modulo per 24 ore, quando il negozio ha un backup del database dello stesso giorno. Prima di ogni salvataggio il modulo fa una copia del file, e tornare a quella annulla la modifica. Due attività simili sono descritte nei casi d'uso cambiare un testo fisso nel riquadro di un modulo e cambiare l'aspetto di un modulo in modo che sopravviva a un aggiornamento. Di TellMyShop Pro puoi leggere nella pagina prezzi.
La chat non modifica la schermata Internazionale > Traduzioni. Traduce i nomi di caratteristiche, valori e attributi, come colori e taglie, in TellMyShop Pro subito dopo l'attivazione della licenza, senza interruttore. Come tradurre un intero negozio lo spieghiamo nell'articolo come tradurre un negozio PrestaShop. Se dopo la modifica il negozio mostra ancora il vecchio testo, leggi cosa fare quando le modifiche non si vedono in PrestaShop.
Domande e risposte
Dove cambio l'etichetta Aggiungi al carrello in PrestaShop?
In Internazionale > Traduzioni. Scegli le traduzioni del tema, il tuo tema e la lingua, poi scrivi l'etichetta attuale nella ricerca. Cambiala, salva e svuota la cache in Parametri avanzati > Prestazioni. Se l'etichetta arriva da un modulo, cercala nelle traduzioni dei moduli invece che nel tema.
Perché la modifica di una traduzione non si vede nel negozio?
Di solito per uno di tre motivi. Il negozio mostra il vecchio testo dalla cache. Hai cambiato la traduzione in un posto diverso da quello che usa la pagina, per esempio in un modulo invece che nel tema. Oppure il tema ha una sua copia del template del modulo con il testo scritto direttamente, e le traduzioni nel pannello non la coprono.
La modifica del testo sparirà dopo un aggiornamento del modulo?
Una modifica nelle traduzioni del pannello di solito resta. Una modifica scritta direttamente nei file del modulo sparisce con l'aggiornamento, perché la nuova versione sovrascrive i file. Per questo il testo che non si può cambiare nelle traduzioni lo cambi in una copia del template del modulo nel tema. Quella copia sopravvive agli aggiornamenti del modulo.
Cosa faccio con un testo che non c'è nelle traduzioni?
Quel testo è scritto direttamente nel template del tema o del modulo. Lo cambi nel file del template, meglio se in un child theme o in una copia del template del modulo nel tema. In un negozio con più lingue ricorda che un testo scritto direttamente sarà uguale in tutte le versioni linguistiche.
La chat cambia le traduzioni nel pannello?
No. La chat non modifica la schermata Internazionale > Traduzioni. In TellMyShop Pro, con l'interruttore Tema, cambia i testi in una copia del template di un modulo o in un file del tema, con un'anteprima delle differenze e un backup. I nomi di caratteristiche e attributi, come colori e taglie, li traduce a parte, senza interruttore.
PrestaShop è un marchio registrato di PrestaShop SA. Claude è un marchio di Anthropic PBC. ChatGPT e OpenAI sono marchi di OpenAI. TellMyShop non è affiliato a queste aziende.