Changing Email Subject Translations “No Subject was found” PrestaShop

Your solution to this issue depends on what email template subject lines you are trying to translate. The following solutions describe how to translate order status email template subject lines and how to update email subject lines that are not related to order status emails.

For order status emails subject translations you can change from Back Office -> Orders ->  Statuses -> select status -> edit -> select translation language -> and translate

email subject translation order status

 

The following solution describes how to translate email subject lines that are not related to order status emails.

Using the cPanel file explorer go to folder: /themes/<your-theme-folder>/mails/<iso-code-folder> and edit file lang.php and look for the English equivalent subjects and modify.

(Note: always backup before editing files)

Below is an example on how to manually modify the French email subjects for the prestashop default theme.

Edit File: /themes/default-bootstrap/mails/fr/lang.php

$_LANGMAIL['Newsletter confirmation'] = 'My translation in french';
$_LANGMAIL['Email verification'] = 'My translation in french';
$_LANGMAIL['Newsletter voucher'] = 'My translation in french';

TIP: If you can’t see the English equivalent subject line then probably the program that is sending the email is missing the Mail::l() function. Here is an example of the Mail Send function call (Notice: the third parameter is the subject line text and the text is passed into function Mail::l() for translation) :

 return Mail::Send($this->context->language->id, 'newsletter_voucher', Mail::l('Newsletter voucher', $this->context->language->id), array('{discount}' => $code), $email, null, null, null, null, null, dirname(__FILE__).'/mails/', false, $this->context->shop->id);

 

 

Was this article helpful?

Related Articles