The TD;DR: I would classify it as a bug.
A bit of background:
The store for the product alerts always is determined as follows in Mage_ProductAlert_Model_Email::send()
:
....
$store = $this->_website->getDefaultStore();
$storeId = $store->getId();
....
$templateId = Mage::getStoreConfig($templateConfigPath, $storeId);
....
Mage::getModel('core/email_template')
->setDesignConfig(array(
'area' => 'frontend',
'store' => $storeId
))->sendTransactional(...)
The so it always uses the default store of the specified website.
The website in turn is set during the subscription. That is when a customer subscribes to notifications the current website ID is stored with the subscription record:
$model = Mage::getModel('productalert/price')
->setCustomerId(Mage::getSingleton('customer/session')->getId())
->setProductId($product->getId())
->setPrice($product->getFinalPrice())
->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
$model->save();
So even if the customer has registered in, lets say, the french store view, and has subscribed to the notifications in the french store view, if the default store for the website happens to be the english store view, that specifies which template will be used.
To fix the behavior, rewrite Mage_ProductAlert_Model_Email::send()
and use the customers store_id instead (for example).
It might be an issue with hardcoded lines but first try to find the strings in the corresponding phtml files.
You can use template hints under System > Configuration > Developer > Debug
(set scope to the website) to see what phtml file the line is in. Then open up that file, probably under app/design/frontend/[package]/[template]/template/path/to/file.phtml
and look for the line Add to Cart for example.
Check if it is inside something that looks like
<?php echo $this->('Add to Cart')?>
If so: go to the locale/nl_NL/translate.csv
file under app/design/frontend/[package]/[template]/
or create it and add the line
"Add to Cart","Voeg toe aan winkelwagen"
"Go to Top","Ga naar boven"
If it's not wrapped in the above code you can do so yourself. This will tell Magento to translate it
Best Answer
Yes, the inline translation feature is broken in Google Chrome. Back when the inline translation feature was originally developed, Magento made use of a non-standard
translate
attribute in DOM elements to flag translatable text.Since then, Google Chrome has a feature where a default
translate
property is added to every DOM node available in javascript (over simplification).This, in turn, interfers with Magento's PrototypeJS xpath code used to implement the translation feature. Specifically, this
I solution I came up with last year was to add the following bit of javascript to every page when inline translations are active.