PrestaShop tekst wijzigen: het label blijft hetzelfde of de vertaling wordt niet opgeslagen
Lukt tekst wijzigen in PrestaShop niet, controleer dan de cache, de plek van je wijziging en het template. De cache kan een oude kopie tonen. De vertaling kan in het thema staan terwijl het label uit een module komt. Of het label staat in het template; dan wijzig je het in een bestand, liefst een kopie van het template in het thema.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van PrestaShop-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 6 min lezen
Waarom verandert het label in de webshop niet?
Omdat PrestaShop tekst op meerdere plekken bewaart en de pagina hem maar van één plek haalt. Donderdag, 19:50. Voor de derde keer verander je “In winkelwagen” in “In mijn mandje”, sla je op en ververs je de webshop. Nog steeds het oude label. Je gaat terug naar de vertalingen, en daar staat jouw versie opgeslagen.
Dat is een typisch symptoom. De vertaling is goed opgeslagen, maar niet op de plek waar de pagina hem leest. Of hij is opgeslagen, en de pagina toont een kopie uit de cache.
Symptoom en oorzaak: wat je eerst controleert
Zoek bij wat je ziet de passende rij in de tabel.
| Symptoom | Meest voorkomende oorzaak | Wat je doet |
|---|---|---|
| Vertaling opgeslagen in de backoffice, de webshop toont de oude tekst | de cache | leeg hem in Geavanceerde parameters > Prestaties, ververs de pagina zonder browsercache |
| De wijziging werkt op de ene plek, maar niet op de andere | dezelfde tekst staat in het thema en in een module | wijzig hem in beide soorten vertalingen |
| De tekst wordt niet gevonden in de zoekfunctie van de vertalingen | het label staat vast in een template | wijzig hem in het templatebestand, in het thema |
| De tekst verandert in de module, maar niet in een gekocht thema | het thema heeft een eigen kopie van het moduletemplate | wijzig hem in de kopie van het template in het thema |
| Na het opslaan springt het veld terug naar de oude versie | een fout bij het opslaan van de vertaling in de database | het foutenlog, daarna een ontwikkelaar |
| De wijziging verdwijnt na een module-update | iemand heeft de bestanden van de module bewerkt | verplaats de wijziging naar een kopie van het template in het thema |
Het geval van een veld dat terugspringt naar de oude versie is beschreven door Pskrk. De boosdoener was een record in de database dat de vertaling overschreef. Hoe de soorten vertalingen in de backoffice werken, laten PrestaPros en PrestaPremium zien (alle drie in het Pools).
Zo vind en wijzig je tekst stap voor stap
Begin bij de vertalingen in de backoffice, en ga pas naar de bestanden als de tekst daar niet staat.
- Kopieer het label precies zoals het in de webshop staat. Met dezelfde hoofdletters en leestekens.
- Open Internationaal > Vertalingen. Kies themavertalingen, je thema en de taal.
- Zoek het label. Staat het er, wijzig het dan en sla op. Zo niet, controleer dan de vertalingen van geïnstalleerde modules.
- Leeg de cache in Geavanceerde parameters > Prestaties en controleer de webshop in een privévenster.
- Is de tekst nergens te vinden, dan staat hij in een template. Zoek uit welke module of welk themabestand dat element toont.
- Wijzig de tekst in een kopie van het template in het thema. PrestaShop gebruikt de kopie in plaats van het origineel van de module. Het mechanisme staat in de PrestaShop-documentatie over het overschrijven van modules.
Wijzig geen tekst in bestanden in de map modules. De volgende module-update brengt het oude label terug.
Zo wijzig je tekst in een webshop met meerdere talen
Wijzig hem in de vertalingen voor elke taal apart, en wees voorzichtig met bestanden. Vertalingen in de backoffice hebben voor elke taal van de webshop een eigen versie. Wijzig je het Nederlandse label, dan verandert het Franse niet, dus zet de webshop na de wijziging op de andere taal en controleer beide.
Met tekst die vast in een template staat, ligt het anders. Eén regel in een bestand wordt in elke taal hetzelfde getoond. Heeft de webshop een Franse versie en typ je een Nederlandse zin in het template, dan ziet een klant uit Frankrijk Nederlandse tekst. Vraag in zo’n webshop liever een ontwikkelaar om het template zo aan te passen dat je het label in de backoffice kunt vertalen.
Zo wijzig je het label van een module zodat het een update overleeft
Je beschrijft welke tekst je in wat wilt veranderen, en je chat (Claude of ChatGPT) met de TellMyShop-module zoekt uit welke module hem toont. Daarna kopieert hij het moduletemplate naar het thema en toont hij het verschil voor het opslaan.
Jij: Verander de tekst in het nieuwsbriefblok in de footer in “Eén e-mail per maand met wat er nieuw is bij Lampiarnia”. Het moet een module-update overleven.
Je chat: Het blok wordt getoond door de nieuwsbriefmodule. De tekst staat vast in het template ervan, dus vertalingen in de backoffice veranderen hem niet. Ik kopieer het template naar het thema en wijzig de tekst in de kopie. Voorbeeld:
De webshop heeft ook een Franse versie. De tekst in de kopie van het template is in beide versies Nederlands. Wijzigen?
Jij: Ja, we zetten de Franse versie toch uit.
Je chat: Opgeslagen, cache geleegd. Het origineel van de module is niet aangeraakt, dus een update brengt de oude tekst niet terug.
oude versie: Meld je aan voor onze nieuwsbrief en ontvang nieuws over nieuwe producten.
nieuwe versie: Eén e-mail per maand met wat er nieuw is bij Lampiarnia.
Een label verbeteren is één verzoek en een voorbeeld van de gewijzigde regel in het template. Voor dit werk heb je TellMyShop Pro en de schakelaar Thema nodig. Die staat na de installatie uit, en je zet hem in het modulepaneel aan voor 24 uur, als de webshop een databaseback-up van dezelfde dag heeft. Voor elke opslag maakt de module een kopie van het bestand, en teruggaan naar die kopie maakt de wijziging ongedaan. Twee vergelijkbare taken staan beschreven in de use cases vaste tekst in een moduleblok wijzigen en het uiterlijk van een module wijzigen zodat het een update overleeft. Over TellMyShop Pro lees je op de pagina prijzen.
De chat bewerkt het scherm Internationaal > Vertalingen niet. Namen van kenmerken, waarden en attributen, zoals kleuren en maten, vertaalt hij in TellMyShop Pro direct na het activeren van de licentie, zonder schakelaar. Een hele webshop vertalen beschrijven we in het bericht een PrestaShop-webshop vertalen. Toont de webshop na de wijziging nog de oude tekst, lees dan wat je doet als wijzigingen niet zichtbaar zijn in PrestaShop.
Vragen en antwoorden
Waar wijzig ik het label In winkelwagen in PrestaShop?
In Internationaal > Vertalingen. Kies themavertalingen, je thema en de taal, en typ het huidige label in het zoekveld. Wijzig het, sla op en leeg de cache in Geavanceerde parameters > Prestaties. Komt het label uit een module, zoek het dan in de modulevertalingen in plaats van in het thema.
Waarom is een gewijzigde vertaling niet zichtbaar in de webshop?
Meestal om een van drie redenen. De webshop toont de oude tekst uit de cache. Je hebt de vertaling op een andere plek gewijzigd dan de plek die de pagina gebruikt, bijvoorbeeld in een module in plaats van in het thema. Of het thema heeft een eigen kopie van het moduletemplate met de tekst vast in de code, en daar komen vertalingen in de backoffice niet bij.
Verdwijnt mijn tekstwijziging na een module-update?
Een wijziging in de vertalingen in de backoffice blijft meestal staan. Een wijziging die rechtstreeks in de bestanden van de module is getypt, verdwijnt bij een update, omdat de nieuwe versie de bestanden overschrijft. Tekst die je niet in de vertalingen kunt wijzigen, wijzig je daarom in een kopie van het moduletemplate in het thema. Die kopie overleeft module-updates.
Wat doe ik met tekst die niet in de vertalingen staat?
Die tekst staat vast in het template van het thema of de module. Je wijzigt hem in het templatebestand, het liefst in een child theme of in een kopie van het moduletemplate in het thema. Onthoud in een webshop met meerdere talen dat vaste tekst in elke taalversie hetzelfde is.
Wijzigt de chat vertalingen in de backoffice?
Nee. De chat bewerkt het scherm Internationaal > Vertalingen niet. In TellMyShop Pro, met de schakelaar Thema, wijzigt hij tekst in een kopie van een moduletemplate of in een themabestand, met een voorbeeld van de verschillen en een back-up. Namen van kenmerken en attributen, zoals kleuren en maten, vertaalt hij apart, zonder schakelaar.
PrestaShop is een geregistreerd handelsmerk van PrestaShop SA. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.