Translations empty in Prestashop

When translating -for example- modules in the prestashop backend, you might find a lot of translations missing after you have saved your work. And with missing I don't mean not translated, I mean empty, not visible, gone.

The default behaviour for text that does not have a translation in Prestashop is to show the original english text. Now let's say you have finished translating 1 module to German. Lots of other modules don't have German translations, so the translation fields will be empty. What happens next is that Prestashop saves ALL strings, even the empty ones. So now a not-yet-translated string translates to '', rendering it invisible.

This behaviour has been present in prestashop since the early versions and has not been addressed in the newest version 1.6 .

When you don't want to go about modifying prestashop's core files, there are esentially 2 options to avoid this problem:

  1. when you start translating, translate everying that is not yet translated. This can be a LOT of work.
  2. make use of my inline translate module, which will allow you to translate everything directly from the frontend. The module can be found in Prestashop's Addon store : inline translation module

Prestashop 1.6 : theme columns not visible on cms page

My client had the following problem : the left column was not visible on any CMS pages in his Prestashop 1.6 installation. Furthermore, the cms meta did not show up in the theme configuration page. Here's how you can manually set the column visibility:

Go to your Prestashop database in PhpMyAdmin. Then execute the following query (I'm assuming table prefix ps_ here..substitute if you are using a different prefix)

UPDATE ps_theme_meta SET left_column = 1 WHERE id_meta = 
(SELECT id_meta from ps_meta WHERE page = "cms")

This of course also works for the right column (substitute left_column with right_column in the query), or with any other page type found in the ps_meta table.