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', '"' - . Piwik::translate('Referrers_ReferrerTypes') . '"'); + $view->config->documentation = $this->translator->translate('Referrers_EvolutionDocumentation') . '<br />' + . $this->translator->translate('General_BrokenDownReportDocumentation') . '<br />' + . $this->translator->translate('Referrers_EvolutionDocumentationMoreInfo', '"' + . $this->translator->translate('Referrers_ReferrerTypes') . '"'); 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