From c968a10284b750ed24eacf67089f62961326a0fc Mon Sep 17 00:00:00 2001 From: sgiehl <stefan@piwik.org> Date: Wed, 30 Sep 2015 23:34:31 +0200 Subject: [PATCH] fixes #8848 - use translations for all countries on map --- plugins/UserCountryMap/Controller.php | 11 +++++++++++ plugins/UserCountryMap/javascripts/visitor-map.js | 9 ++++++++- plugins/UserCountryMap/templates/visitorMap.twig | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/plugins/UserCountryMap/Controller.php b/plugins/UserCountryMap/Controller.php index e333e80c4a..c1c1b44e16 100644 --- a/plugins/UserCountryMap/Controller.php +++ b/plugins/UserCountryMap/Controller.php @@ -12,6 +12,7 @@ use Exception; use Piwik\API\Request; use Piwik\Common; use Piwik\Config; +use Piwik\Container\StaticContainer; use Piwik\Piwik; use Piwik\Plugins\Goals\API as APIGoals; use Piwik\Site; @@ -107,6 +108,16 @@ class Controller extends \Piwik\Plugin\Controller $view->config = json_encode($config); $view->noData = empty($config['visitsSummary']['nb_visits']); + $countriesByIso = array(); + $regionDataProvider = StaticContainer::get('Piwik\Intl\Data\Provider\RegionDataProvider'); + $countries = array_keys($regionDataProvider->getCountryList()); + + foreach ($countries AS $country) { + $countriesByIso[strtoupper($country)] = Piwik::translate('Intl_Country_'.strtoupper($country)); + } + + $view->countriesByIso = $countriesByIso; + $view->continents = array( 'AF' => \Piwik\Plugins\UserCountry\continentTranslate('afr'), 'AS' => \Piwik\Plugins\UserCountry\continentTranslate('asi'), diff --git a/plugins/UserCountryMap/javascripts/visitor-map.js b/plugins/UserCountryMap/javascripts/visitor-map.js index 7b5210473c..fb4d5ad259 100644 --- a/plugins/UserCountryMap/javascripts/visitor-map.js +++ b/plugins/UserCountryMap/javascripts/visitor-map.js @@ -536,7 +536,14 @@ return UserCountryMap.countriesByIso[pd.iso] === undefined; }, tooltips: function (pd) { - return '<h3>' + pd.name + '</h3>' + _.no_visit; + var countryName = pd.name; + for (var iso in self.config.countryNames) { + if (UserCountryMap.ISO2toISO3[iso.toUpperCase()] == pd.iso) { + countryName = self.config.countryNames[iso]; + break; + } + } + return '<h3>' + countryName + '</h3>' + _.no_visit; } }); diff --git a/plugins/UserCountryMap/templates/visitorMap.twig b/plugins/UserCountryMap/templates/visitorMap.twig index 7fed992035..7873200c9f 100644 --- a/plugins/UserCountryMap/templates/visitorMap.twig +++ b/plugins/UserCountryMap/templates/visitorMap.twig @@ -80,6 +80,7 @@ config = JSON.parse('{{ config|e('js') }}'); config._ = JSON.parse('{{ localeJSON|e('js') }}'); config.reqParams = JSON.parse('{{ reqParamsJSON|e('js') }}'); + config.countryNames = JSON.parse('{{ countriesByIso|json_encode|e('js') }}'); $('.UserCountryMap').addClass('dataTable'); -- GitLab