diff --git a/core/Mail.php b/core/Mail.php
index 1e9ef0bb52c04b3fe5e26cbf86a551cf006f707f..12d97568f68fbb583dc8888a45cc81c7e5ec4393 100644
--- a/core/Mail.php
+++ b/core/Mail.php
@@ -8,7 +8,9 @@
  */
 namespace Piwik;
 
+use Piwik\Container\StaticContainer;
 use Piwik\Plugins\CoreAdminHome\CustomLogo;
+use Piwik\Translation\Translator;
 use Zend_Mail;
 
 /**
@@ -35,10 +37,13 @@ class Mail extends Zend_Mail
     {
         $customLogo = new CustomLogo();
 
+        /** @var Translator $translator */
+        $translator = StaticContainer::get('Piwik\Translation\Translator');
+
         if ($customLogo->isEnabled()) {
-            $fromEmailName = Piwik::translate('CoreHome_WebAnalyticsReports');
+            $fromEmailName = $translator->translate('CoreHome_WebAnalyticsReports');
         } else {
-            $fromEmailName = Piwik::translate('ScheduledReports_PiwikReports');
+            $fromEmailName = $translator->translate('ScheduledReports_PiwikReports');
         }
 
         $fromEmailAddress = Config::getInstance()->General['noreply_email_address'];
diff --git a/core/Period.php b/core/Period.php
index eb3c0fda89c980721890ce82895cde3a9193290c..d4044ed68e4bd578df56776a0c51a5d2ea99223f 100644
--- a/core/Period.php
+++ b/core/Period.php
@@ -8,8 +8,10 @@
  */
 namespace Piwik;
 
+use Piwik\Container\StaticContainer;
 use Piwik\Period\Factory as PeriodFactory;
 use Piwik\Period\Range;
+use Piwik\Translation\Translator;
 
 /**
  * Date range representation.
@@ -30,7 +32,7 @@ abstract class Period
 {
     /**
      * Array of subperiods
-     * @var \Piwik\Period[]
+     * @var Period[]
      */
     protected $subperiods = array();
     protected $subperiodsProcessed = false;
@@ -45,6 +47,11 @@ abstract class Period
      */
     protected $date = null;
 
+    /**
+     * @var Translator
+     */
+    protected $translator;
+
     /**
      * Constructor.
      *
@@ -54,6 +61,8 @@ abstract class Period
     public function __construct(Date $date)
     {
         $this->date = clone $date;
+
+        $this->translator = StaticContainer::get('Piwik\Translation\Translator');
     }
 
     /**
diff --git a/core/Period/Day.php b/core/Period/Day.php
index b8212844cde18a498a08e7b17bcfd1ab0a8a52fb..551e5e65aa4df316827f361bc00bcfe1eac53df5 100644
--- a/core/Period/Day.php
+++ b/core/Period/Day.php
@@ -38,7 +38,7 @@ class Day extends Period
     {
         //"Mon 15 Aug"
         $date     = $this->getDateStart();
-        $template = Piwik::translate('CoreHome_ShortDateFormat');
+        $template = $this->translator->translate('CoreHome_ShortDateFormat');
 
         $out = $date->getLocalized($template);
         return $out;
@@ -53,7 +53,7 @@ class Day extends Period
     {
         //"Mon 15 Aug"
         $date     = $this->getDateStart();
-        $template = Piwik::translate('CoreHome_DateFormat');
+        $template = $this->translator->translate('CoreHome_DateFormat');
 
         $out = $date->getLocalized($template);
         return $out;
diff --git a/core/Period/Month.php b/core/Period/Month.php
index 46091809804958d54ed29f05f98874730cc60e2d..252d394db27975a0365e18dd33839ed64eefa6ad 100644
--- a/core/Period/Month.php
+++ b/core/Period/Month.php
@@ -25,7 +25,7 @@ class Month extends Period
     public function getLocalizedShortString()
     {
         //"Aug 09"
-        $out = $this->getDateStart()->getLocalized(Piwik::translate('CoreHome_ShortMonthFormat'));
+        $out = $this->getDateStart()->getLocalized($this->translator->translate('CoreHome_ShortMonthFormat'));
         return $out;
     }
 
@@ -37,7 +37,7 @@ class Month extends Period
     public function getLocalizedLongString()
     {
         //"August 2009"
-        $out = $this->getDateStart()->getLocalized(Piwik::translate('CoreHome_LongMonthFormat'));
+        $out = $this->getDateStart()->getLocalized($this->translator->translate('CoreHome_LongMonthFormat'));
         return $out;
     }
 
diff --git a/core/Period/Range.php b/core/Period/Range.php
index d88a5e2da743ebeca98762f5d1f3506d64f68b8d..5e640d7324511798df3d76d67198390219d3ad98 100644
--- a/core/Period/Range.php
+++ b/core/Period/Range.php
@@ -10,6 +10,7 @@ namespace Piwik\Period;
 
 use Exception;
 use Piwik\Common;
+use Piwik\Container\StaticContainer;
 use Piwik\Date;
 use Piwik\Period;
 use Piwik\Piwik;
@@ -54,6 +55,8 @@ class Range extends Period
         }
 
         $this->today = $today;
+
+        $this->translator = StaticContainer::get('Piwik\Translation\Translator');
     }
 
     /**
@@ -66,7 +69,7 @@ class Range extends Period
         //"30 Dec 08 - 26 Feb 09"
         $dateStart = $this->getDateStart();
         $dateEnd   = $this->getDateEnd();
-        $template  = Piwik::translate('CoreHome_ShortDateFormatWithYear');
+        $template  = $this->translator->translate('CoreHome_ShortDateFormatWithYear');
 
         $shortDateStart = $dateStart->getLocalized($template);
         $shortDateEnd   = $dateEnd->getLocalized($template);
@@ -109,7 +112,7 @@ class Range extends Period
      */
     public function getPrettyString()
     {
-        $out = Piwik::translate('General_DateRangeFromTo', array($this->getDateStart()->toString(), $this->getDateEnd()->toString()));
+        $out = $this->translator->translate('General_DateRangeFromTo', array($this->getDateStart()->toString(), $this->getDateEnd()->toString()));
         return $out;
     }
 
@@ -209,7 +212,7 @@ class Range extends Period
             }
             $endDate = Date::factory($strDateEnd, $timezone);
         } else {
-            throw new Exception(Piwik::translate('General_ExceptionInvalidDateRange', array($this->strDate, ' \'lastN\', \'previousN\', \'YYYY-MM-DD,YYYY-MM-DD\'')));
+            throw new Exception($this->translator->translate('General_ExceptionInvalidDateRange', array($this->strDate, ' \'lastN\', \'previousN\', \'YYYY-MM-DD,YYYY-MM-DD\'')));
         }
 
         if ($this->strPeriod != 'range') {
diff --git a/core/Period/Week.php b/core/Period/Week.php
index 23f7ab32b669817549453dcf198064c67f285e50..a8af2fbed80ba42204a40f8fa4d64d79fbff0e2c 100644
--- a/core/Period/Week.php
+++ b/core/Period/Week.php
@@ -28,7 +28,7 @@ class Week extends Period
         $dateStart = $this->getDateStart();
         $dateEnd   = $this->getDateEnd();
 
-        $string = Piwik::translate('CoreHome_ShortWeekFormat');
+        $string = $this->translator->translate('CoreHome_ShortWeekFormat');
         $string = self::getTranslatedRange($string, $dateStart, $dateEnd);
         return $string;
     }
@@ -40,10 +40,10 @@ class Week extends Period
      */
     public function getLocalizedLongString()
     {
-        $format = Piwik::translate('CoreHome_LongWeekFormat');
+        $format = $this->translator->translate('CoreHome_LongWeekFormat');
         $string = self::getTranslatedRange($format, $this->getDateStart(), $this->getDateEnd());
 
-        return Piwik::translate('CoreHome_PeriodWeek') . " " . $string;
+        return $this->translator->translate('CoreHome_PeriodWeek') . " " . $string;
     }
 
     /**
@@ -73,7 +73,7 @@ class Week extends Period
         $dateStart = $this->getDateStart();
         $dateEnd   = $this->getDateEnd();
 
-        $out = Piwik::translate('General_DateRangeFromTo', array($dateStart->toString(), $dateEnd->toString()));
+        $out = $this->translator->translate('General_DateRangeFromTo', array($dateStart->toString(), $dateEnd->toString()));
 
         return $out;
     }
diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php
index 96a788b0647c68348a526928884f6010afc8857b..732639874a07c785e0fff97533091cb0a31ac5b6 100644
--- a/plugins/CoreAdminHome/Controller.php
+++ b/plugins/CoreAdminHome/Controller.php
@@ -18,6 +18,7 @@ use Piwik\Menu\MenuTop;
 use Piwik\Menu\MenuUser;
 use Piwik\Nonce;
 use Piwik\Piwik;
+use Piwik\Plugin\ControllerAdmin;
 use Piwik\Plugins\CorePluginsAdmin\UpdateCommunication;
 use Piwik\Plugins\CustomVariables\CustomVariables;
 use Piwik\Plugins\LanguagesManager\API as APILanguagesManager;
@@ -29,16 +30,26 @@ use Piwik\Settings\SystemSetting;
 use Piwik\Settings\UserSetting;
 use Piwik\Site;
 use Piwik\Tracker\IgnoreCookie;
+use Piwik\Translation\Translator;
 use Piwik\Url;
 use Piwik\View;
 
-/**
- *
- */
-class Controller extends \Piwik\Plugin\ControllerAdmin
+class Controller extends ControllerAdmin
 {
     const SET_PLUGIN_SETTINGS_NONCE = 'CoreAdminHome.setPluginSettings';
 
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
+
     public function index()
     {
         $this->redirectToIndex('UsersManager', 'userSettings');
@@ -172,7 +183,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
         if (!Nonce::verifyNonce(static::SET_PLUGIN_SETTINGS_NONCE, $nonce)) {
             return json_encode(array(
                 'result' => 'error',
-                'message' => Piwik::translate('General_ExceptionNonceMismatch')
+                'message' => $this->translator->translate('General_ExceptionNonceMismatch')
             ));
         }
 
@@ -209,7 +220,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
         } catch (Exception $e) {
             return json_encode(array(
                 'result' => 'error',
-                'message' => Piwik::translate('CoreAdminHome_PluginSettingsSaveFailed'))
+                'message' => $this->translator->translate('CoreAdminHome_PluginSettingsSaveFailed'))
             );
         }
 
diff --git a/plugins/CoreHome/Controller.php b/plugins/CoreHome/Controller.php
index de471d8aa4cbcd5ed732a1746ecda69005d8d4d4..7fdfe1d8147f9767c78d2387230942d42e73ed8f 100644
--- a/plugins/CoreHome/Controller.php
+++ b/plugins/CoreHome/Controller.php
@@ -23,6 +23,7 @@ use Piwik\Plugins\CorePluginsAdmin\MarketplaceApiClient;
 use Piwik\Plugins\Dashboard\DashboardManagerControl;
 use Piwik\Plugins\UsersManager\API;
 use Piwik\Site;
+use Piwik\Translation\Translator;
 use Piwik\UpdateCheck;
 use Piwik\Url;
 use Piwik\View;
@@ -31,7 +32,19 @@ use Piwik\Plugin\Widgets as PluginWidgets;
 
 class Controller extends \Piwik\Plugin\Controller
 {
-    function getDefaultAction()
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
+    
+    public function getDefaultAction()
     {
         return 'redirectToCoreHomeIndex';
     }
@@ -44,7 +57,7 @@ class Controller extends \Piwik\Plugin\Controller
         $report = Report::factory($reportModule, $reportAction);
 
         if (empty($report)) {
-            throw new Exception(Piwik::translate('General_ExceptionReportNotFound'));
+            throw new Exception($this->translator->translate('General_ExceptionReportNotFound'));
         }
 
         $report->checkIsEnabled();
@@ -55,7 +68,7 @@ class Controller extends \Piwik\Plugin\Controller
             throw new Exception('This report is not supposed to be displayed in the menu, please define a $menuTitle in your report.');
         }
 
-        $menuTitle = Piwik::translate($menuTitle);
+        $menuTitle = $this->translator->translate($menuTitle);
         $content   = $this->renderReportWidget($reportModule, $reportAction);
 
         return View::singleReport($menuTitle, $content);
@@ -69,7 +82,7 @@ class Controller extends \Piwik\Plugin\Controller
         $report = Report::factory($reportModule, $reportAction);
 
         if (empty($report)) {
-            throw new Exception(Piwik::translate('General_ExceptionReportNotFound'));
+            throw new Exception($this->translator->translate('General_ExceptionReportNotFound'));
         }
 
         $report->checkIsEnabled();
@@ -87,7 +100,7 @@ class Controller extends \Piwik\Plugin\Controller
             return $widget->$widgetAction();
         }
 
-        throw new Exception(Piwik::translate('General_ExceptionWidgetNotFound'));
+        throw new Exception($this->translator->translate('General_ExceptionWidgetNotFound'));
     }
 
     function redirectToCoreHomeIndex()
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index e157fbf83f429fadeb5b33ed1198ff255807c694..1e2674c14e8634be9997acfad5e30846d94755ee 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -19,12 +19,11 @@ use Piwik\Notification;
 use Piwik\Piwik;
 use Piwik\Plugin;
 use Piwik\Settings\Manager as SettingsManager;
+use Piwik\Translation\Translator;
 use Piwik\Url;
 use Piwik\Version;
 use Piwik\View;
 
-/**
- */
 class Controller extends Plugin\ControllerAdmin
 {
     const UPDATE_NONCE = 'CorePluginsAdmin.updatePlugin';
@@ -36,6 +35,18 @@ class Controller extends Plugin\ControllerAdmin
     private $validSortMethods = array('popular', 'newest', 'alpha');
     private $defaultSortMethod = 'popular';
 
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
+
     private function createUpdateOrInstallView($template, $nonceName)
     {
         static::dieIfMarketplaceIsDisabled();
@@ -89,7 +100,7 @@ class Controller extends Plugin\ControllerAdmin
         $nonce = Common::getRequestVar('nonce', null, 'string');
 
         if (!Nonce::verifyNonce(static::INSTALL_NONCE, $nonce)) {
-            throw new \Exception(Piwik::translate('General_ExceptionNonceMismatch'));
+            throw new \Exception($this->translator->translate('General_ExceptionNonceMismatch'));
         }
 
         Nonce::discardNonce(static::INSTALL_NONCE);
@@ -291,7 +302,7 @@ class Controller extends Plugin\ControllerAdmin
 
             if (!isset($plugin['info'])) {
 
-                $suffix = Piwik::translate('CorePluginsAdmin_PluginNotWorkingAlternative');
+                $suffix = $this->translator->translate('CorePluginsAdmin_PluginNotWorkingAlternative');
                 // If the plugin has been renamed, we do not show message to ask user to update plugin
                 list($pluginNameRenamed, $methodName) = Request::getRenamedModuleAndAction($pluginName, 'index');
                 if ($pluginName != $pluginNameRenamed) {
@@ -299,13 +310,13 @@ class Controller extends Plugin\ControllerAdmin
                 }
 
                 $description = '<strong><em>'
-                    . Piwik::translate('CorePluginsAdmin_PluginNotCompatibleWith', array($pluginName, self::getPiwikVersion()))
+                    . $this->translator->translate('CorePluginsAdmin_PluginNotCompatibleWith', array($pluginName, self::getPiwikVersion()))
                     . '</strong><br/>'
                     . $suffix
                     . '</em>';
                 $plugin['info'] = array(
                     'description' => $description,
-                    'version'     => Piwik::translate('General_Unknown'),
+                    'version'     => $this->translator->translate('General_Unknown'),
                     'theme'       => false,
                 );
             }
@@ -404,17 +415,17 @@ class Controller extends Plugin\ControllerAdmin
                 $actionToRedirect = 'themes';
             }
 
-            $message = Piwik::translate('CorePluginsAdmin_SuccessfullyActicated', array($pluginName));
+            $message = $this->translator->translate('CorePluginsAdmin_SuccessfullyActicated', array($pluginName));
             if (SettingsManager::hasSystemPluginSettingsForCurrentUser($pluginName)) {
                 $target   = sprintf('<a href="index.php%s#%s">',
                     Url::getCurrentQueryStringWithParametersModified(array('module' => 'CoreAdminHome', 'action' => 'pluginSettings')),
                     $pluginName);
-                $message .= ' ' . Piwik::translate('CorePluginsAdmin_ChangeSettingsPossible', array($target, '</a>'));
+                $message .= ' ' . $this->translator->translate('CorePluginsAdmin_ChangeSettingsPossible', array($target, '</a>'));
             }
 
             $notification = new Notification($message);
             $notification->raw     = true;
-            $notification->title   = Piwik::translate('General_WellDone');
+            $notification->title   = $this->translator->translate('General_WellDone');
             $notification->context = Notification::CONTEXT_SUCCESS;
             Notification\Manager::notify('CorePluginsAdmin_PluginActivated', $notification);
 
@@ -442,7 +453,7 @@ class Controller extends Plugin\ControllerAdmin
             $path = Filesystem::getPathToPiwikRoot() . '/plugins/' . $pluginName . '/';
             $messagePermissions = Filechecks::getErrorMessageMissingPermissions($path);
 
-            $messageIntro = Piwik::translate("Warning: \"%s\" could not be uninstalled. Piwik did not have enough permission to delete the files in $path. ",
+            $messageIntro = $this->translator->translate("Warning: \"%s\" could not be uninstalled. Piwik did not have enough permission to delete the files in $path. ",
                 $pluginName);
             $exitMessage  = $messageIntro . "<br/><br/>" . $messagePermissions;
             $exitMessage .= "<br> Or manually delete this directory (using FTP or SSH access)";
@@ -463,7 +474,7 @@ class Controller extends Plugin\ControllerAdmin
         $nonce = Common::getRequestVar('nonce', null, 'string');
 
         if (!Nonce::verifyNonce($nonceName, $nonce)) {
-            throw new \Exception(Piwik::translate('General_ExceptionNonceMismatch'));
+            throw new \Exception($this->translator->translate('General_ExceptionNonceMismatch'));
         }
 
         Nonce::discardNonce($nonceName);
diff --git a/plugins/Ecommerce/Controller.php b/plugins/Ecommerce/Controller.php
index 99b427b01a7bcba60a9108907327af46b6c8dad7..b1ce7cdd4ab6630d159f9ecf7689283fac1ce9a7 100644
--- a/plugins/Ecommerce/Controller.php
+++ b/plugins/Ecommerce/Controller.php
@@ -9,14 +9,26 @@
 namespace Piwik\Plugins\Ecommerce;
 
 use Exception;
-use Piwik\Common;
 use Piwik\DataTable;
 use Piwik\FrontController;
 use Piwik\Piwik;
+use Piwik\Translation\Translator;
 use Piwik\View;
 
 class Controller extends \Piwik\Plugins\Goals\Controller
 {
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct($translator);
+    }
+
     public function ecommerceReport()
     {
         if (!\Piwik\Plugin\Manager::getInstance()->isPluginActivated('CustomVariables')) {
@@ -25,7 +37,8 @@ class Controller extends \Piwik\Plugins\Goals\Controller
 
         $view = $this->getGoalReportView($idGoal = Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER);
         $view->displayFullReport = false;
-        $view->headline = Piwik::translate('General_EvolutionOverPeriod');
+        $view->headline = $this->translator->translate('General_EvolutionOverPeriod');
+
         return $view->render();
     }
 
diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php
index f3d6167924aef0f99235b51f37ee0e6dc01a6006..fe1a648e19ddada4631e39e9ace5f93e47a0fe84 100644
--- a/plugins/Goals/Controller.php
+++ b/plugins/Goals/Controller.php
@@ -15,6 +15,7 @@ use Piwik\DataTable;
 use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal;
 use Piwik\Piwik;
 use Piwik\Plugins\Referrers\API as APIReferrers;
+use Piwik\Translation\Translator;
 use Piwik\View;
 use Piwik\View\ReportsByDimension;
 
@@ -42,6 +43,11 @@ class Controller extends \Piwik\Plugin\Controller
         'items'             => 'General_PurchasedProducts',
     );
 
+    /**
+     * @var Translator
+     */
+    private $translator;
+
     private function formatConversionRate($conversionRate)
     {
         if ($conversionRate instanceof DataTable) {
@@ -59,9 +65,12 @@ class Controller extends \Piwik\Plugin\Controller
         return $conversionRate;
     }
 
-    public function __construct()
+    public function __construct(Translator $translator)
     {
         parent::__construct();
+
+        $this->translator = $translator;
+
         $this->idSite = Common::getRequestVar('idSite', null, 'int');
         $this->goals = API::getInstance()->getGoals($this->idSite);
         foreach ($this->goals as &$goal) {
@@ -90,7 +99,7 @@ class Controller extends \Piwik\Plugin\Controller
     {
         $view = new View('@Goals/getGoalReportView');
         if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
-            $goalDefinition['name'] = Piwik::translate('Goals_Ecommerce');
+            $goalDefinition['name'] = $this->translator->translate('Goals_Ecommerce');
             $goalDefinition['allow_multiple'] = true;
             $ecommerce = $view->ecommerce = true;
         } else {
@@ -277,10 +286,10 @@ class Controller extends \Piwik\Plugin\Controller
         if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
             $nameToLabel['nb_conversions'] = 'General_EcommerceOrders';
         } elseif ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) {
-            $nameToLabel['nb_conversions'] = Piwik::translate('General_VisitsWith', Piwik::translate('Goals_AbandonedCart'));
+            $nameToLabel['nb_conversions'] = $this->translator->translate('General_VisitsWith', $this->translator->translate('Goals_AbandonedCart'));
             $nameToLabel['conversion_rate'] = $nameToLabel['nb_conversions'];
-            $nameToLabel['revenue'] = Piwik::translate('Goals_LeftInCart', Piwik::translate('General_ColumnRevenue'));
-            $nameToLabel['items'] = Piwik::translate('Goals_LeftInCart', Piwik::translate('Goals_Products'));
+            $nameToLabel['revenue'] = $this->translator->translate('Goals_LeftInCart', $this->translator->translate('General_ColumnRevenue'));
+            $nameToLabel['items'] = $this->translator->translate('Goals_LeftInCart', $this->translator->translate('Goals_Products'));
         }
 
         $selectableColumns = array('nb_conversions', 'conversion_rate', 'revenue');
@@ -294,14 +303,14 @@ class Controller extends \Piwik\Plugin\Controller
             // find the right translation for this column, eg. find 'revenue' if column is Goal_1_revenue
             foreach ($nameToLabel as $metric => $metricTranslation) {
                 if (strpos($columnName, $metric) !== false) {
-                    $columnTranslation = Piwik::translate($metricTranslation);
+                    $columnTranslation = $this->translator->translate($metricTranslation);
                     break;
                 }
             }
 
             if (!empty($idGoal) && isset($this->goals[$idGoal])) {
                 $goalName = $this->goals[$idGoal]['name'];
-                $columnTranslation = "$columnTranslation (" . Piwik::translate('Goals_GoalX', "$goalName") . ")";
+                $columnTranslation = "$columnTranslation (" . $this->translator->translate('Goals_GoalX', "$goalName") . ")";
             }
             $view->config->translations[$columnName] = $columnTranslation;
         }
@@ -315,7 +324,7 @@ class Controller extends \Piwik\Plugin\Controller
         $view->config->selectable_columns = $selectableColumns;
 
         $langString = $idGoal ? 'Goals_SingleGoalOverviewDocumentation' : 'Goals_GoalsOverviewDocumentation';
-        $view->config->documentation = Piwik::translate($langString, '<br />');
+        $view->config->documentation = $this->translator->translate($langString, '<br />');
 
         return $this->renderView($view);
     }
@@ -456,9 +465,9 @@ class Controller extends \Piwik\Plugin\Controller
             $allReports = Goals::getReportsWithGoalMetrics();
             foreach ($allReports as $category => $reports) {
                 if ($ecommerce) {
-                    $categoryText = Piwik::translate('Ecommerce_ViewSalesBy', $category);
+                    $categoryText = $this->translator->translate('Ecommerce_ViewSalesBy', $category);
                 } else {
-                    $categoryText = Piwik::translate('Goals_ViewGoalsBy', $category);
+                    $categoryText = $this->translator->translate('Goals_ViewGoalsBy', $category);
                 }
 
                 foreach ($reports as $report) {
diff --git a/plugins/MobileMessaging/Controller.php b/plugins/MobileMessaging/Controller.php
index cb3ec59238c4e865d0dd12e101d88eaa0dd9e38d..5a906d3ba1a83a107a6e3f943fc23f0410f9452b 100644
--- a/plugins/MobileMessaging/Controller.php
+++ b/plugins/MobileMessaging/Controller.php
@@ -16,6 +16,7 @@ use Piwik\Piwik;
 use Piwik\Plugin\ControllerAdmin;
 use Piwik\Plugins\LanguagesManager\LanguagesManager;
 use Piwik\Plugins\MobileMessaging\SMSProvider;
+use Piwik\Translation\Translator;
 use Piwik\View;
 
 require_once PIWIK_INCLUDE_PATH . '/plugins/UserCountry/functions.php';
@@ -27,9 +28,15 @@ class Controller extends ControllerAdmin
      */
     private $regionDataProvider;
 
-    public function __construct(RegionDataProvider $regionDataProvider)
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(RegionDataProvider $regionDataProvider, Translator $translator)
     {
         $this->regionDataProvider = $regionDataProvider;
+        $this->translator = $translator;
 
         parent::__construct();
     }
@@ -76,7 +83,10 @@ class Controller extends ControllerAdmin
         $view->delegatedManagement = $mobileMessagingAPI->getDelegatedManagement();
         $view->credentialSupplied = $mobileMessagingAPI->areSMSAPICredentialProvided();
         $view->accountManagedByCurrentUser = $view->isSuperUser || $view->delegatedManagement;
-        $view->strHelpAddPhone = Piwik::translate('MobileMessaging_Settings_PhoneNumbers_HelpAdd', array(Piwik::translate('General_Settings'), Piwik::translate('MobileMessaging_SettingsMenu')));
+        $view->strHelpAddPhone = $this->translator->translate('MobileMessaging_Settings_PhoneNumbers_HelpAdd', array(
+            $this->translator->translate('General_Settings'),
+            $this->translator->translate('MobileMessaging_SettingsMenu')
+        ));
         $view->creditLeft = 0;
         $view->provider = '';
         if ($view->credentialSupplied && $view->accountManagedByCurrentUser) {
diff --git a/plugins/MultiSites/Controller.php b/plugins/MultiSites/Controller.php
index 689eb42a41be929e8cba6b7ebcdd156048d5972e..647ae147dcb9bbb6712a6e15028dddd458880018 100644
--- a/plugins/MultiSites/Controller.php
+++ b/plugins/MultiSites/Controller.php
@@ -13,16 +13,21 @@ use Piwik\Config;
 use Piwik\Date;
 use Piwik\Period;
 use Piwik\Piwik;
+use Piwik\Translation\Translator;
 use Piwik\View;
 
-/**
- *
- */
 class Controller extends \Piwik\Plugin\Controller
 {
-    public function __construct()
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
     {
         parent::__construct();
+
+        $this->translator = $translator;
     }
 
     public function index()
@@ -64,7 +69,7 @@ class Controller extends \Piwik\Plugin\Controller
 
         $this->setGeneralVariablesView($view);
 
-        $view->siteName = Piwik::translate('General_AllWebsitesDashboard');
+        $view->siteName = $this->translator->translate('General_AllWebsitesDashboard');
 
         return $view->render();
     }
diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php
index bd2d5622e2f30d5aa206f2a2ac0229f8f6858041..2a962755ee0bff20d236e5894f0976e5e1dd7530 100644
--- a/plugins/Referrers/Controller.php
+++ b/plugins/Referrers/Controller.php
@@ -21,6 +21,7 @@ use Piwik\Plugins\Referrers\Reports\GetSearchEngines;
 use Piwik\Plugins\Referrers\Reports\GetSocials;
 use Piwik\Plugins\Referrers\Reports\GetWebsites;
 use Piwik\SettingsPiwik;
+use Piwik\Translation\Translator;
 use Piwik\View;
 
 /**
@@ -28,6 +29,18 @@ use Piwik\View;
  */
 class Controller extends \Piwik\Plugin\Controller
 {
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
+
     public function index()
     {
         $view = new View('@Referrers/index');
@@ -217,7 +230,7 @@ class Controller extends \Piwik\Plugin\Controller
                 $typeReferrer = Common::getRequestVar('typeReferrer', false);
             }
             $label = self::getTranslatedReferrerTypeLabel($typeReferrer);
-            $total = Piwik::translate('General_Total');
+            $total = $this->translator->translate('General_Total');
 
             if (!empty($view->config->rows_to_display)) {
                 $visibleRows = $view->config->rows_to_display;
@@ -230,10 +243,10 @@ class Controller extends \Piwik\Plugin\Controller
         $view->config->row_picker_match_rows_by = 'label';
         $view->config->rows_to_display = $visibleRows;
 
-        $view->config->documentation = Piwik::translate('Referrers_EvolutionDocumentation') . '<br />'
-            . Piwik::translate('General_BrokenDownReportDocumentation') . '<br />'
-            . Piwik::translate('Referrers_EvolutionDocumentationMoreInfo', '&quot;'
-                . Piwik::translate('Referrers_ReferrerTypes') . '&quot;');
+        $view->config->documentation = $this->translator->translate('Referrers_EvolutionDocumentation') . '<br />'
+            . $this->translator->translate('General_BrokenDownReportDocumentation') . '<br />'
+            . $this->translator->translate('Referrers_EvolutionDocumentationMoreInfo', '&quot;'
+                . $this->translator->translate('Referrers_ReferrerTypes') . '&quot;');
 
         return $this->renderView($view);
     }
@@ -241,7 +254,7 @@ class Controller extends \Piwik\Plugin\Controller
     public function getLastDistinctSearchEnginesGraph()
     {
         $view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctSearchEngines");
-        $view->config->translations['Referrers_distinctSearchEngines'] = ucfirst(Piwik::translate('Referrers_DistinctSearchEngines'));
+        $view->config->translations['Referrers_distinctSearchEngines'] = ucfirst($this->translator->translate('Referrers_DistinctSearchEngines'));
         $view->config->columns_to_display = array('Referrers_distinctSearchEngines');
         return $this->renderView($view);
     }
@@ -249,7 +262,7 @@ class Controller extends \Piwik\Plugin\Controller
     public function getLastDistinctKeywordsGraph()
     {
         $view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctKeywords");
-        $view->config->translations['Referrers_distinctKeywords'] = ucfirst(Piwik::translate('Referrers_DistinctKeywords'));
+        $view->config->translations['Referrers_distinctKeywords'] = ucfirst($this->translator->translate('Referrers_DistinctKeywords'));
         $view->config->columns_to_display = array('Referrers_distinctKeywords');
         return $this->renderView($view);
     }
@@ -257,7 +270,7 @@ class Controller extends \Piwik\Plugin\Controller
     public function getLastDistinctWebsitesGraph()
     {
         $view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctWebsites");
-        $view->config->translations['Referrers_distinctWebsites'] = ucfirst(Piwik::translate('Referrers_DistinctWebsites'));
+        $view->config->translations['Referrers_distinctWebsites'] = ucfirst($this->translator->translate('Referrers_DistinctWebsites'));
         $view->config->columns_to_display = array('Referrers_distinctWebsites');
         return $this->renderView($view);
     }
@@ -265,7 +278,7 @@ class Controller extends \Piwik\Plugin\Controller
     public function getLastDistinctCampaignsGraph()
     {
         $view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctCampaigns");
-        $view->config->translations['Referrers_distinctCampaigns'] = ucfirst(Piwik::translate('Referrers_DistinctCampaigns'));
+        $view->config->translations['Referrers_distinctCampaigns'] = ucfirst($this->translator->translate('Referrers_DistinctCampaigns'));
         $view->config->columns_to_display = array('Referrers_distinctCampaigns');
         return $this->renderView($view);
     }
@@ -409,7 +422,7 @@ function DisplayTopKeywords($url = "")
      */
     private function getReferrerUrlSparkline($referrerType)
     {
-        $totalRow = Piwik::translate('General_Total');
+        $totalRow = $this->translator->translate('General_Total');
         return $this->getUrlSparkline(
             'getEvolutionGraph',
             array('columns'      => array('nb_visits'),
diff --git a/plugins/UserCountryMap/Controller.php b/plugins/UserCountryMap/Controller.php
index 914835439e13dd4f8a298efb73336263ca9be892..f1cc36eed010ea7d2c2bb4724480a28153c40c61 100644
--- a/plugins/UserCountryMap/Controller.php
+++ b/plugins/UserCountryMap/Controller.php
@@ -15,6 +15,7 @@ use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Plugins\Goals\API as APIGoals;
 use Piwik\Site;
+use Piwik\Translation\Translator;
 use Piwik\View;
 
 /**
@@ -22,9 +23,20 @@ use Piwik\View;
  */
 class Controller extends \Piwik\Plugin\Controller
 {
-
     // By default plot up to the last 30 days of visitors on the map, for low traffic sites
     const REAL_TIME_WINDOW = 'last30';
+    
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
 
     public function visitorMap($fetch = false, $segmentOverride = false)
     {
@@ -64,18 +76,18 @@ class Controller extends \Piwik\Plugin\Controller
 
         // some translations
         $view->localeJSON = json_encode(array(
-                                                     'nb_visits'            => Piwik::translate('General_NVisits'),
-                                                     'one_visit'            => Piwik::translate('General_OneVisit'),
-                                                     'no_visit'             => Piwik::translate('UserCountryMap_NoVisit'),
-                                                     'nb_actions'           => Piwik::translate('VisitsSummary_NbActionsDescription'),
-                                                     'nb_actions_per_visit' => Piwik::translate('VisitsSummary_NbActionsPerVisit'),
-                                                     'bounce_rate'          => Piwik::translate('VisitsSummary_NbVisitsBounced'),
-                                                     'avg_time_on_site'     => Piwik::translate('VisitsSummary_AverageVisitDuration'),
-                                                     'and_n_others'         => Piwik::translate('UserCountryMap_AndNOthers'),
-                                                     'no_data'              => Piwik::translate('CoreHome_ThereIsNoDataForThisReport'),
-                                                     'nb_uniq_visitors'     => Piwik::translate('VisitsSummary_NbUniqueVisitors'),
-                                                     'nb_users'             => Piwik::translate('VisitsSummary_NbUsers'),
-                                                ));
+             'nb_visits'            => $this->translator->translate('General_NVisits'),
+             'one_visit'            => $this->translator->translate('General_OneVisit'),
+             'no_visit'             => $this->translator->translate('UserCountryMap_NoVisit'),
+             'nb_actions'           => $this->translator->translate('VisitsSummary_NbActionsDescription'),
+             'nb_actions_per_visit' => $this->translator->translate('VisitsSummary_NbActionsPerVisit'),
+             'bounce_rate'          => $this->translator->translate('VisitsSummary_NbVisitsBounced'),
+             'avg_time_on_site'     => $this->translator->translate('VisitsSummary_AverageVisitDuration'),
+             'and_n_others'         => $this->translator->translate('UserCountryMap_AndNOthers'),
+             'no_data'              => $this->translator->translate('CoreHome_ThereIsNoDataForThisReport'),
+             'nb_uniq_visitors'     => $this->translator->translate('VisitsSummary_NbUniqueVisitors'),
+             'nb_users'             => $this->translator->translate('VisitsSummary_NbUsers'),
+        ));
 
         $view->reqParamsJSON = $this->getEnrichedRequest($params = array(
             'period'                      => $period,
@@ -136,19 +148,19 @@ class Controller extends \Piwik\Plugin\Controller
 
         // some translations
         $locale = array(
-            'nb_actions'       => Piwik::translate('VisitsSummary_NbActionsDescription'),
-            'local_time'       => Piwik::translate('VisitTime_ColumnLocalTime'),
-            'from'             => Piwik::translate('General_FromReferrer'),
-            'seconds'          => Piwik::translate('UserCountryMap_Seconds'),
-            'seconds_ago'      => Piwik::translate('UserCountryMap_SecondsAgo'),
-            'minutes'          => Piwik::translate('UserCountryMap_Minutes'),
-            'minutes_ago'      => Piwik::translate('UserCountryMap_MinutesAgo'),
-            'hours'            => Piwik::translate('UserCountryMap_Hours'),
-            'hours_ago'        => Piwik::translate('UserCountryMap_HoursAgo'),
-            'days_ago'         => Piwik::translate('UserCountryMap_DaysAgo'),
-            'actions'          => Piwik::translate('VisitsSummary_NbPageviewsDescription'),
-            'searches'         => Piwik::translate('UserCountryMap_Searches'),
-            'goal_conversions' => Piwik::translate('UserCountryMap_GoalConversions'),
+            'nb_actions'       => $this->translator->translate('VisitsSummary_NbActionsDescription'),
+            'local_time'       => $this->translator->translate('VisitTime_ColumnLocalTime'),
+            'from'             => $this->translator->translate('General_FromReferrer'),
+            'seconds'          => $this->translator->translate('UserCountryMap_Seconds'),
+            'seconds_ago'      => $this->translator->translate('UserCountryMap_SecondsAgo'),
+            'minutes'          => $this->translator->translate('UserCountryMap_Minutes'),
+            'minutes_ago'      => $this->translator->translate('UserCountryMap_MinutesAgo'),
+            'hours'            => $this->translator->translate('UserCountryMap_Hours'),
+            'hours_ago'        => $this->translator->translate('UserCountryMap_HoursAgo'),
+            'days_ago'         => $this->translator->translate('UserCountryMap_DaysAgo'),
+            'actions'          => $this->translator->translate('VisitsSummary_NbPageviewsDescription'),
+            'searches'         => $this->translator->translate('UserCountryMap_Searches'),
+            'goal_conversions' => $this->translator->translate('UserCountryMap_GoalConversions'),
         );
 
         $segment = $segmentOverride ? : Request::getRawSegmentFromRequest() ? : '';
@@ -206,7 +218,7 @@ class Controller extends \Piwik\Plugin\Controller
     private function checkUserCountryPluginEnabled()
     {
         if (!\Piwik\Plugin\Manager::getInstance()->isPluginActivated('UserCountry')) {
-            throw new Exception(Piwik::translate('General_Required', 'Plugin UserCountry'));
+            throw new Exception($this->translator->translate('General_Required', 'Plugin UserCountry'));
         }
     }
 
diff --git a/plugins/UsersManager/Controller.php b/plugins/UsersManager/Controller.php
index c0c03ef9cc1eda2638089d5f2c2b71061bcfc68b..1eb0d93b8f6dd52ff0ea3fb503a91cb2cbd086a1 100644
--- a/plugins/UsersManager/Controller.php
+++ b/plugins/UsersManager/Controller.php
@@ -13,6 +13,7 @@ use Piwik\API\ResponseBuilder;
 use Piwik\Common;
 use Piwik\Metrics\Formatter;
 use Piwik\Piwik;
+use Piwik\Plugin\ControllerAdmin;
 use Piwik\Plugins\LanguagesManager\API as APILanguagesManager;
 use Piwik\Plugins\LanguagesManager\LanguagesManager;
 use Piwik\Plugins\Login\SessionInitializer;
@@ -21,14 +22,24 @@ use Piwik\Plugins\UsersManager\API as APIUsersManager;
 use Piwik\SettingsPiwik;
 use Piwik\Site;
 use Piwik\Tracker\IgnoreCookie;
+use Piwik\Translation\Translator;
 use Piwik\Url;
 use Piwik\View;
 
-/**
- *
- */
-class Controller extends \Piwik\Plugin\ControllerAdmin
+class Controller extends ControllerAdmin
 {
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
+
     static function orderByName($a, $b)
     {
         return strcmp($a['name'], $b['name']);
@@ -53,7 +64,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
 
         if ($idSiteSelected === 'all') {
             $usersAccessByWebsite = array();
-            $defaultReportSiteName = Piwik::translate('UsersManager_ApplyToAllWebsites');
+            $defaultReportSiteName = $this->translator->translate('UsersManager_ApplyToAllWebsites');
         } else {
             $usersAccessByWebsite = APIUsersManager::getInstance()->getUsersAccessFromSite($idSiteSelected);
             $defaultReportSiteName = Site::getNameFor($idSiteSelected);
@@ -158,15 +169,15 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
     protected function getDefaultDates()
     {
         $dates = array(
-            'today'      => Piwik::translate('General_Today'),
-            'yesterday'  => Piwik::translate('General_Yesterday'),
-            'previous7'  => Piwik::translate('General_PreviousDays', 7),
-            'previous30' => Piwik::translate('General_PreviousDays', 30),
-            'last7'      => Piwik::translate('General_LastDays', 7),
-            'last30'     => Piwik::translate('General_LastDays', 30),
-            'week'       => Piwik::translate('General_CurrentWeek'),
-            'month'      => Piwik::translate('General_CurrentMonth'),
-            'year'       => Piwik::translate('General_CurrentYear'),
+            'today'      => $this->translator->translate('General_Today'),
+            'yesterday'  => $this->translator->translate('General_Yesterday'),
+            'previous7'  => $this->translator->translate('General_PreviousDays', 7),
+            'previous30' => $this->translator->translate('General_PreviousDays', 30),
+            'last7'      => $this->translator->translate('General_LastDays', 7),
+            'last30'     => $this->translator->translate('General_LastDays', 30),
+            'week'       => $this->translator->translate('General_CurrentWeek'),
+            'month'      => $this->translator->translate('General_CurrentMonth'),
+            'year'       => $this->translator->translate('General_CurrentYear'),
         );
 
         $mappingDatesToPeriods = array(
@@ -394,7 +405,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
             || !empty($passwordBis)
         ) {
             if ($password != $passwordBis) {
-                throw new Exception(Piwik::translate('Login_PasswordsDoNotMatch'));
+                throw new Exception($this->translator->translate('Login_PasswordsDoNotMatch'));
             }
             $newPassword = $password;
         }
diff --git a/plugins/VisitFrequency/Controller.php b/plugins/VisitFrequency/Controller.php
index 43453f06bf902e19e979b2d0ee10ce9d3d49ffd9..e1279206fd0b79b81ce046861cc95b7953f919b3 100644
--- a/plugins/VisitFrequency/Controller.php
+++ b/plugins/VisitFrequency/Controller.php
@@ -11,14 +11,24 @@ namespace Piwik\Plugins\VisitFrequency;
 use Piwik\API\Request;
 use Piwik\Common;
 use Piwik\Piwik;
+use Piwik\Translation\Translator;
 use Piwik\View;
 
-/**
- *
- */
 class Controller extends \Piwik\Plugin\Controller
 {
-    function index()
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
+
+    public function index()
     {
         $view = new View('@VisitFrequency/index');
         $this->setGeneralVariablesView($view);
@@ -45,9 +55,9 @@ class Controller extends \Piwik\Plugin\Controller
             }
         }
 
-        $documentation = Piwik::translate('VisitFrequency_ReturningVisitsDocumentation') . '<br />'
-            . Piwik::translate('General_BrokenDownReportDocumentation') . '<br />'
-            . Piwik::translate('VisitFrequency_ReturningVisitDocumentation');
+        $documentation = $this->translator->translate('VisitFrequency_ReturningVisitsDocumentation') . '<br />'
+            . $this->translator->translate('General_BrokenDownReportDocumentation') . '<br />'
+            . $this->translator->translate('VisitFrequency_ReturningVisitDocumentation');
 
         // Note: if you edit this array, maybe edit the code below as well
         $selectableColumns = array(
diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php
index 84916cf057b4b72cfa619d3f4d7d07aecd21cfce..825a5f5bba7d3d6419d5147b3eb9e44fb89c8f6e 100644
--- a/plugins/VisitsSummary/Controller.php
+++ b/plugins/VisitsSummary/Controller.php
@@ -15,6 +15,7 @@ use Piwik\DataTable\Row;
 use Piwik\Piwik;
 use Piwik\Plugins\Actions\API as APIActions;
 use Piwik\Site;
+use Piwik\Translation\Translator;
 use Piwik\View;
 
 /**
@@ -22,6 +23,18 @@ use Piwik\View;
  */
 class Controller extends \Piwik\Plugin\Controller
 {
+    /**
+     * @var Translator
+     */
+    private $translator;
+
+    public function __construct(Translator $translator)
+    {
+        $this->translator = $translator;
+
+        parent::__construct();
+    }
+
     public function index()
     {
         $view = new View('@VisitsSummary/index');
@@ -48,23 +61,23 @@ class Controller extends \Piwik\Plugin\Controller
             }
         }
 
-        $documentation = Piwik::translate('VisitsSummary_VisitsSummaryDocumentation') . '<br />'
-            . Piwik::translate('General_BrokenDownReportDocumentation') . '<br /><br />'
+        $documentation = $this->translator->translate('VisitsSummary_VisitsSummaryDocumentation') . '<br />'
+            . $this->translator->translate('General_BrokenDownReportDocumentation') . '<br /><br />'
 
-            . '<b>' . Piwik::translate('General_ColumnNbVisits') . ':</b> '
-            . Piwik::translate('General_ColumnNbVisitsDocumentation') . '<br />'
+            . '<b>' . $this->translator->translate('General_ColumnNbVisits') . ':</b> '
+            . $this->translator->translate('General_ColumnNbVisitsDocumentation') . '<br />'
 
-            . '<b>' . Piwik::translate('General_ColumnNbUniqVisitors') . ':</b> '
-            . Piwik::translate('General_ColumnNbUniqVisitorsDocumentation') . '<br />'
+            . '<b>' . $this->translator->translate('General_ColumnNbUniqVisitors') . ':</b> '
+            . $this->translator->translate('General_ColumnNbUniqVisitorsDocumentation') . '<br />'
 
-            . '<b>' . Piwik::translate('General_ColumnNbActions') . ':</b> '
-            . Piwik::translate('General_ColumnNbActionsDocumentation') . '<br />'
+            . '<b>' . $this->translator->translate('General_ColumnNbActions') . ':</b> '
+            . $this->translator->translate('General_ColumnNbActionsDocumentation') . '<br />'
 
-            . '<b>' . Piwik::translate('General_ColumnNbUsers') . ':</b> '
-            . Piwik::translate('General_ColumnNbUsersDocumentation') . ' (<a rel="noreferrer"  target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />'
+            . '<b>' . $this->translator->translate('General_ColumnNbUsers') . ':</b> '
+            . $this->translator->translate('General_ColumnNbUsersDocumentation') . ' (<a rel="noreferrer"  target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />'
 
-            . '<b>' . Piwik::translate('General_ColumnActionsPerVisit') . ':</b> '
-            . Piwik::translate('General_ColumnActionsPerVisitDocumentation');
+            . '<b>' . $this->translator->translate('General_ColumnActionsPerVisit') . ':</b> '
+            . $this->translator->translate('General_ColumnActionsPerVisitDocumentation');
 
         $selectableColumns = array(
             // columns from VisitsSummary.get