Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LanguagesManager/TranslationWriter/Filter/EncodedEntities.php')
-rw-r--r--plugins/LanguagesManager/TranslationWriter/Filter/EncodedEntities.php17
1 files changed, 17 insertions, 0 deletions
diff --git a/plugins/LanguagesManager/TranslationWriter/Filter/EncodedEntities.php b/plugins/LanguagesManager/TranslationWriter/Filter/EncodedEntities.php
index 492ad6953a..f63f35b2eb 100644
--- a/plugins/LanguagesManager/TranslationWriter/Filter/EncodedEntities.php
+++ b/plugins/LanguagesManager/TranslationWriter/Filter/EncodedEntities.php
@@ -13,6 +13,18 @@ use Piwik\Translate;
class EncodedEntities extends FilterAbstract
{
+ protected $baseTranslations = array();
+
+ /**
+ * Sets base translations
+ *
+ * @param array $baseTranslations
+ */
+ public function __construct($baseTranslations = array())
+ {
+ $this->baseTranslations = $baseTranslations;
+ }
+
/**
* Decodes all encoded entities in the given translations
*
@@ -25,6 +37,11 @@ class EncodedEntities extends FilterAbstract
foreach ($translations as $pluginName => $pluginTranslations) {
foreach ($pluginTranslations as $key => $translation) {
+ if (isset($this->baseTranslations[$pluginName][$key]) &&
+ $this->baseTranslations[$pluginName][$key] != Translate::clean($this->baseTranslations[$pluginName][$key])) {
+ continue; // skip if base translation already contains encoded entities
+ }
+
// remove encoded entities
$decoded = Translate::clean($translation);
if ($translation != $decoded) {