diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 10c3a001329e354e92d4782c7f00135daf64cc85..87da4a0b3253bd19b1fe37ab3493df82d76ef4f5 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -155,7 +155,9 @@ class ResponseBuilder { // If we are in tests, show full backtrace if (defined('PIWIK_PATH_TEST_TO_ROOT')) { - if (self::DISPLAY_BACKTRACE_DEBUG) { + if (self::DISPLAY_BACKTRACE_DEBUG + || Piwik_ShouldPrintBackTraceWithMessage() + ) { $message = $e->getMessage() . " in \n " . $e->getFile() . ":" . $e->getLine() . " \n " . $e->getTraceAsString(); } else { $message = $e->getMessage() . "\n \n --> To temporarily debug this error further, set const DISPLAY_BACKTRACE_DEBUG=true; in " . basename(__FILE__); diff --git a/core/CacheFile.php b/core/CacheFile.php index 4aa8dd5d0a173b2170c2b07a4c9985d98637463d..139beeaffc5c71f96b76552239f0b448156b90e1 100644 --- a/core/CacheFile.php +++ b/core/CacheFile.php @@ -128,6 +128,10 @@ class CacheFile $id = $this->cachePath . $id . '.php'; + if (is_object($content)) { + throw new \Exception('You cannot use the CacheFile to cache an object, only arrays, strings and numbers.'); + } + $cache_literal = "<" . "?php\n"; $cache_literal .= "$" . "content = " . var_export($content, true) . ";\n"; $cache_literal .= "$" . "expires_on = " . $this->getExpiresTime() . ";\n"; diff --git a/core/Controller.php b/core/Controller.php index 78f20aad426327bafa15adcb0dd30c072e792654..7837bdd4cab45b2c42934a4101a999527120aa83 100644 --- a/core/Controller.php +++ b/core/Controller.php @@ -425,7 +425,7 @@ abstract class Controller $view->topMenu = Piwik_GetTopMenu(); } catch (Exception $e) { - Piwik_ExitWithMessage($e->getMessage(), '' /* $e->getTraceAsString() */); + Piwik_ExitWithMessage($e->getMessage(), $e->getTraceAsString()); } } diff --git a/core/DataTable/Renderer.php b/core/DataTable/Renderer.php index d62514c1f4db0c96de7dfbdf55a3dfa659de681a..fe70f9e28f340baeeb2730b98bc3ece7c1d95b0e 100644 --- a/core/DataTable/Renderer.php +++ b/core/DataTable/Renderer.php @@ -125,11 +125,11 @@ abstract class Renderer protected function getExceptionMessage() { - $message = self::renderHtmlEntities($this->exception->getMessage()); - - // DEBUG -// $message .= $this->exception->getTraceAsString(); - return $message; + $message = $this->exception->getMessage(); + if (Piwik_ShouldPrintBackTraceWithMessage()) { + $message .= "\n" . $this->exception->getTraceAsString(); + } + return self::renderHtmlEntities($message); } /** diff --git a/core/FrontController.php b/core/FrontController.php index 21032df160582ed1b1bce895546a7ad9b5769bb8..d56991af11405e5bb3fb80106d8389f42640d907 100644 --- a/core/FrontController.php +++ b/core/FrontController.php @@ -129,7 +129,7 @@ class FrontController } catch (Exception $e) { $debugTrace = $e->getTraceAsString(); $message = Common::sanitizeInputValue($e->getMessage()); - Piwik_ExitWithMessage($message, '' /* $debugTrace */, true); + Piwik_ExitWithMessage($message, $debugTrace, true); } } @@ -311,7 +311,7 @@ class FrontController } $trace = $e->getTraceAsString(); - Piwik_ExitWithMessage($e->getMessage(), false /* $debugTrace */, true); + Piwik_ExitWithMessage($e->getMessage(), $debugTrace, true); } } diff --git a/core/PluginsManager.php b/core/PluginsManager.php index 6e099f0d78751a9072ddf26e61983a1d51ccc615..2f8caad88762e38847802516d9f08e93b50bdbd8 100644 --- a/core/PluginsManager.php +++ b/core/PluginsManager.php @@ -393,7 +393,7 @@ class PluginsManager return file_exists($path . "/" . MetadataLoader::PLUGIN_JSON_FILENAME); } - protected function isPluginBundledWithCore($name) + public function isPluginBundledWithCore($name) { // Reading the plugins from the global.ini.php config file $pluginsBundledWithPiwik = Config::getInstance()->getFromDefaultConfig('Plugins'); diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php index 7a4487b5e060048510b19841c74d6f1d3c77b8a9..a74a6c360f18557b7d050d4cfff6d9d3cc22f152 100644 --- a/core/ViewDataTable.php +++ b/core/ViewDataTable.php @@ -17,6 +17,7 @@ use Piwik\Period\Range; use Piwik\Plugins\API\API; use Piwik\ViewDataTable\Properties; use Piwik\ViewDataTable\VisualizationPropertiesProxy; +use Piwik\ViewDataTable\Visualization; /** * This class is used to load (from the API) and customize the output of a given DataTable. @@ -158,11 +159,11 @@ class ViewDataTable $visualizationId = null) { if (class_exists($visualizationId) - && is_subclass_of($visualizationId, "Piwik\\DataTableVisualization") + && is_subclass_of($visualizationId, "Piwik\\ViewDataTable\\Visualization") ) { $visualizationClass = $visualizationId; } else { - $visualizationClass = $visualizationId ? DataTableVisualization::getClassFromId($visualizationId) : null; + $visualizationClass = $visualizationId ? Visualization::getClassFromId($visualizationId) : null; } $this->visualizationClass = $visualizationClass; @@ -453,7 +454,7 @@ class ViewDataTable return null; } - $visualizationIds = DataTableVisualization::getVisualizationIdsWithInheritance($this->visualizationClass); + $visualizationIds = Visualization::getVisualizationIdsWithInheritance($this->visualizationClass); foreach ($visualizationIds as $visualizationId) { if (empty($properties[$visualizationId])) { continue; @@ -1207,8 +1208,8 @@ class ViewDataTable } if ($this->show_non_core_visualizations) { - $nonCoreVisualizations = DataTableVisualization::getNonCoreVisualizations(); - $nonCoreVisualizationInfo = DataTableVisualization::getVisualizationInfoFor($nonCoreVisualizations); + $nonCoreVisualizations = Visualization::getNonCoreVisualizations(); + $nonCoreVisualizationInfo = Visualization::getVisualizationInfoFor($nonCoreVisualizations); foreach ($nonCoreVisualizationInfo as $format => $info) { $graphViewIcons['buttons'][] = array( diff --git a/core/Visualization/Graph.php b/core/ViewDataTable/Graph.php similarity index 98% rename from core/Visualization/Graph.php rename to core/ViewDataTable/Graph.php index c47523bbbc045ee064efedfd091d4d795fcf2615..a12a6b63ba98976f8f161055cf617629c1281fbb 100644 --- a/core/Visualization/Graph.php +++ b/core/ViewDataTable/Graph.php @@ -8,11 +8,11 @@ * @category Piwik * @package Piwik */ -namespace Piwik\Visualization; +namespace Piwik\ViewDataTable; use Piwik\Common; use Piwik\DataTable\Row; -use Piwik\DataTableVisualization; +use Piwik\ViewDataTable\Visualization; /** * This is an abstract visualization that should be the base of any 'graph' visualization. @@ -20,7 +20,7 @@ use Piwik\DataTableVisualization; * Derived visualizations can decide for themselves whether they should support individual * properties. */ -abstract class Graph extends DataTableVisualization +abstract class Graph extends Visualization { const ID = 'graph'; diff --git a/core/ViewDataTable/Properties.php b/core/ViewDataTable/Properties.php index ee96165968645e9ec55ed061dfe350cebf7e3632..310c09f3d60c8137a61c63d598281f217e9badd5 100644 --- a/core/ViewDataTable/Properties.php +++ b/core/ViewDataTable/Properties.php @@ -529,7 +529,7 @@ class Properties /** * The list of ViewDataTable properties that are 'Client Side Parameters'. * - * @see Piwik\DataTableVisualization::getClientSideParameters + * @see Piwik\ViewDataTable\Visualization::getClientSideParameters */ public static $clientSideParameters = array( 'filter_excludelowpop', @@ -541,7 +541,7 @@ class Properties /** * The list of ViewDataTable properties that are 'Client Side Properties'. * - * @see Piwik\DataTableVisualization::getClientSideProperties + * @see Piwik\ViewDataTable\Visualization::getClientSideProperties */ public static $clientSideProperties = array( 'show_limit_control' @@ -550,7 +550,7 @@ class Properties /** * The list of ViewDataTable properties that can be overriden by query parameters. * - * @see Piwik\DataTableVisualization::getOverridableProperties + * @see Piwik\ViewDataTable\Visualization::getOverridableProperties */ public static $overridableProperties = array( 'show_goals', @@ -627,7 +627,7 @@ class Properties $properties = self::getFlippedClassConstantMap($visualizationClass); $parentClass = get_parent_class($visualizationClass); - if ($parentClass != 'Piwik\\DataTableVisualization') { + if ($parentClass != 'Piwik\\ViewDataTable\\Visualization') { $properties += self::getVisualizationProperties($parentClass); } diff --git a/core/DataTableVisualization.php b/core/ViewDataTable/Visualization.php similarity index 88% rename from core/DataTableVisualization.php rename to core/ViewDataTable/Visualization.php index 788ae500641e844733bf7514d1077af4dc293532..3d4d69b3c4340c3de4ad0537b55406fa7b26487a 100644 --- a/core/DataTableVisualization.php +++ b/core/ViewDataTable/Visualization.php @@ -9,8 +9,9 @@ * @package Piwik */ -namespace Piwik; +namespace Piwik\ViewDataTable; +use Piwik\View; use Piwik\DataTable; /** @@ -20,7 +21,7 @@ use Piwik\DataTable; * * TODO: must be more in depth */ -abstract class DataTableVisualization extends View +abstract class Visualization extends View { /** * This event is used to gather all available DataTable visualizations. Callbacks @@ -28,7 +29,7 @@ abstract class DataTableVisualization extends View * * Callback Signature: function (&$visualizations) {} */ - const GET_AVAILABLE_EVENT = 'DataTableVisualization.getAvailable'; + const GET_AVAILABLE_EVENT = 'ViewDataTable.Visualization.getAvailable'; /** * Default implementation of getDefaultPropertyValues static function. @@ -45,7 +46,7 @@ abstract class DataTableVisualization extends View * to be both visible to client side JavaScript, and passed along as query parameters * in every AJAX request. * - * Derived DataTableVisualizations can specify client side parameters by declaring + * Derived Visualizations can specify client side parameters by declaring * a static $clientSideParameters field that contains a list of view property * names. * @@ -61,7 +62,7 @@ abstract class DataTableVisualization extends View * require to be visible to client side JavaScript. Unlike 'client side parameters', * these will not be passed with AJAX requests as query parameters. * - * Derived DataTableVisualizations can specify client side properties by declaring + * Derived Visualizations can specify client side properties by declaring * a static $clientSideProperties field that contains a list of view property * names. * @@ -77,7 +78,7 @@ abstract class DataTableVisualization extends View * If a query parameter is sent with the same name as a view property, the view * property will be set to the value of the query parameter. * - * Derived DataTableVisualizations can specify overridable properties by declaring + * Derived Visualizations can specify overridable properties by declaring * a static $overridableProperties field that contains a list of view property * names. */ @@ -102,18 +103,18 @@ abstract class DataTableVisualization extends View } /** - * Returns the list of parents for a DataTableVisualization class excluding the - * DataTableVisualization class and above. + * Returns the list of parents for a Visualization class excluding the + * Visualization class and above. * - * @param string $klass The class name of the DataTableVisualization. - * @return DataTableVisualization[] The list of parent classes in order from highest + * @param string $klass The class name of the Visualization. + * @return Visualization[] The list of parent classes in order from highest * ancestor to the descended class. */ public static function getVisualizationClassLineage($klass) { $klasses = array_merge(array($klass), array_values(class_parents($klass, $autoload = false))); - $idx = array_search('Piwik\\DataTableVisualization', $klasses); + $idx = array_search('Piwik\\ViewDataTable\\Visualization', $klasses); if ($idx !== false) { $klasses = array_slice($klasses, 0, $idx); } @@ -142,7 +143,7 @@ abstract class DataTableVisualization extends View } /** - * Returns all registered visualization classes. Uses the 'DataTableVisualization.getAvailable' + * Returns all registered visualization classes. Uses the 'Visualization.getAvailable' * event to retrieve visualizations. * * @return array Array mapping visualization IDs with their associated visualization classes. @@ -159,7 +160,7 @@ abstract class DataTableVisualization extends View foreach ($visualizations as $viz) { if (!class_exists($viz)) { throw new \Exception( - "Invalid visualization class '$viz' found in DataTableVisualization.getAvailableVisualizations."); + "Invalid visualization class '$viz' found in Visualization.getAvailableVisualizations."); } if (is_subclass_of($viz, __CLASS__)) { diff --git a/core/testMinimumPhpVersion.php b/core/testMinimumPhpVersion.php index 36ee1d183be003aad2d36137d214cd0bd37c9853..532b68153cd36d2af75a1d083449b79ed23654bb 100644 --- a/core/testMinimumPhpVersion.php +++ b/core/testMinimumPhpVersion.php @@ -67,6 +67,18 @@ if ($minimumPhpInvalid) { } if (!function_exists('Piwik_ExitWithMessage')) { + /** + * Returns true if Piwik should print the backtrace with error messages. + * + * To make sure the backtrace is printed, define PIWIK_PRINT_ERROR_BACKTRACE. + * + * @return bool + */ + function Piwik_ShouldPrintBackTraceWithMessage() + { + return defined('PIWIK_PRINT_ERROR_BACKTRACE') || defined('PIWIK_TRACKER_DEBUG'); + } + /** * Displays info/warning/error message in a friendly UI and exits. * @@ -103,7 +115,8 @@ if (!function_exists('Piwik_ExitWithMessage')) { . '<a href="index.php">Go to Piwik</a><br/> <a href="index.php?module=Login">Login</a>' . '</p>' - . ' ' . $optionalTrace . ' ' . $optionalLinks; + . ' ' . (Piwik_ShouldPrintBackTraceWithMessage() ? $optionalTrace : '') + . ' ' . $optionalLinks; echo $headerPage . $content . $footerPage; exit; diff --git a/lang/am.json b/lang/am.json index d1f5ae208e1283e7099a6489573733a73380877b..488f25ec31a47f263d3de969fa900ef87b0308cd 100644 --- a/lang/am.json +++ b/lang/am.json @@ -801,7 +801,6 @@ "MaxNbActions": "%s በአንድ ጉብáŠá‰µ የተወሰዱ ከáተኛ áˆáˆáŒƒá‹Žá‰½", "NbUniqueVisitors": "%s የተለዩ ጎብኚዎች", "NbVisitsBounced": "%s የተመለሱ ጉብáŠá‰¶á‰½ (ከአንድ áŒˆá… á‰ áŠ‹áˆ‹ ገáን የተዉ)", - "WidgetLastVisitors": "የመጨረሻዠየተለዩ ጎብኚዎች áŒáˆ«á", "WidgetLastVisits": "የመጨረሻዠጉብáŠá‰¶á‰½ áŒáˆ«á", "WidgetOverviewGraph": "አጠቃላዠእá‹á‰³ ከáŒáˆ«á ጋáˆ", "WidgetVisits": "የጉብáŠá‰¶á‰½ አጠቃላዠእá‹á‰³" diff --git a/lang/ar.json b/lang/ar.json index 3479f481420290f3478002489a9e4c02939f4797..8753345f13c166622baf1f31eeeec3a65b39dd91 100644 --- a/lang/ar.json +++ b/lang/ar.json @@ -840,7 +840,6 @@ "CancelAndReturnToReports": "إلغاء Ùˆ%s رجوع إلى قائمة التقارير%s", "CreateAndScheduleReport": "أنشئ وأعد جدولاً لتقرير", "CreateReport": "إنشاء تقرير", - "DefaultContainingAllReports": "التقرير الاÙتراضي يتضمن كاÙØ© الإØصائيات المتواÙرة.", "DescriptionOnFirstPage": "وص٠التقرير سيتم عرضه ÙÙŠ الصÙØØ© الأولى من التقرير.", "EmailHello": "مرØباً", "EmailReports": "التقارير البريدية", @@ -849,7 +848,6 @@ "ManageEmailReports": "إدارة تقارير البريد", "MonthlyScheduleHelp": "الجدولة الشهرية: سيتم إرسال التقرير ÙÙŠ الأول من كل شهر.", "MustBeLoggedIn": "يجب أن تسجل الدخول لإنشاء وجدولة التقارير.", - "PDF": "PDF", "PiwikReports": "تقارير Piwik", "PleaseFindAttachedFile": "انظر المرÙقات رجاء لتØميل %1$s التقارير Øول %2$s.", "PleaseFindBelow": "ستجد %1$s تقريرك Øول %2$s أدناه.", @@ -1210,7 +1208,6 @@ }, "UserCountryMap": { "map": "خريطة", - "toggleFullscreen": "تبديل ملء الشاشة", "worldMap": "خريطة العالم" }, "UserSettings": { @@ -1511,7 +1508,6 @@ "NbVisitsBounced": "%s زيارات مرتدة (غادر الموقع بعد مشاهدة أول صÙØØ©)", "PluginDescription": "يعد تقاريراً Øول أرقام التØليلات العامة الخاصة بالزيارات، الزيارات الÙريدة، عدد السلوكيات، معدل الارتداد، وغيرها.", "VisitsSummary": "ملخص الزيارات", - "WidgetLastVisitors": "الرسم البياني لآخر الزيارات الÙريدة", "WidgetLastVisits": "الرسم البياني لآخر الزيارات", "WidgetOverviewGraph": "نظرة عامة مع الرسم البياني", "WidgetVisits": "نظرة عامة على الزيارات" diff --git a/lang/be.json b/lang/be.json index 90c7a7ec9f9c409865c8c26ceb095395cc94c854..2221b55b6b136b97687ba41946e7132f14ee64d7 100644 --- a/lang/be.json +++ b/lang/be.json @@ -817,7 +817,6 @@ "CancelAndReturnToReports": "ÐдмÑніць Ñ– %sвÑрнуцца да ÑпіÑу Ñправаздач %s", "CreateAndScheduleReport": "Стварыць Ñправаздачу Ñ– зрабіць раÑклад", "CreateReport": "Стварыць Ñправаздачу", - "DefaultContainingAllReports": "Па змаўчанні Ñправаздача ўключае ÑžÑе даÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ ÑтатыÑÑ‚Ñ‹Ñ‡Ð½Ñ‹Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ.", "DescriptionOnFirstPage": "ÐпіÑанне Ñправаздачы будзе адлюÑтроўвацца на першай Ñтаронцы Ñправаздачы.", "EmailHello": "Прывітанне,", "EmailReports": "Справаздачы па Email", @@ -1191,7 +1190,6 @@ }, "UserCountryMap": { "map": "карта", - "toggleFullscreen": "Уключыць поўнаÑкранны Ñ€Ñжым", "worldMap": "карта Ñвету" }, "UserSettings": { @@ -1433,7 +1431,6 @@ "PluginDescription": "Справаздачы у агульных аналітычных лічбах: наведванні, ÑƒÐ½Ñ–ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ Ð½Ð°Ð²ÐµÐ´Ð²Ð°Ð»ÑŒÐ½Ñ–ÐºÑ–, колькаÑць дзеÑннÑÑž, узровень адмоў Ñ– г.д.", "VisitsSummary": "Ðаведванні Ñумарна", "VisitsSummaryDocumentation": "ГÑта аглÑд зменаў наведваннÑÑž.", - "WidgetLastVisitors": "Графік апошніх унікальных наведваннÑÑž", "WidgetLastVisits": "Графік апошніх наведваннÑÑž", "WidgetOverviewGraph": "ÐглÑд па ÑžÑÑ–Ñ… графіках", "WidgetVisits": "ÐглÑд наведваннÑÑž" diff --git a/lang/bg.json b/lang/bg.json index cfb8ef6480b92df2862fefb0c25e5b0b18434ff8..c840deb1708e782a98d4b21241986c4782f3ad73 100644 --- a/lang/bg.json +++ b/lang/bg.json @@ -1129,7 +1129,6 @@ "CancelAndReturnToReports": "Откажи и Ñе %s върни в ÑпиÑъка Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð¸ %s", "CreateAndScheduleReport": "Създайте доклад и разпиÑание", "CreateReport": "Създайте доклад", - "DefaultContainingAllReports": "Докладът по подразбиране Ñъдържа вÑички необходими ÑтатиÑтики.", "DescriptionOnFirstPage": "ОпиÑанието на този отчет ще бъде показано на първата Ñтраница на отчета.", "DisplayFormat_TablesOnly": "Покажете Ñамо таблици (без графики)", "EmailHello": "Здравей,", @@ -1142,7 +1141,6 @@ "NoRecipients": "Този доклад вÑе още нÑма получатели", "OClock": "чаÑа", "Pagination": "Страница %s от %s", - "PDF": "PDF", "PiwikReports": "Piwik доклади", "PleaseFindAttachedFile": "МолÑ, вижте в Ð¿Ñ€Ð¸ÐºÐ°Ñ‡ÐµÐ½Ð¸Ñ Ñи файл %1$s доклад за %2$s.", "PleaseFindBelow": "ÐœÐ¾Ð»Ñ Ð½Ð°Ð¼ÐµÑ€ÐµÑ‚Ðµ по-долу вашиÑÑ‚ %1$s отчет за %2$s.", @@ -1165,7 +1163,6 @@ "AddNewSegment": "Добави нов Ñигмент", "ChooseASegment": "Избери Ñигмент", "DefaultAllVisits": "Ð’Ñички поÑещениÑ", - "NewSegment": "Ðов Ñигмент", "OperatorAND": "И", "OperatorOR": "ИЛИ", "SaveAndApply": "Запази & Приложи", @@ -1242,7 +1239,6 @@ "FromPreviousSiteSearchesInline": "%s от вътрешни Ñ‚ÑŠÑ€ÑениÑ", "FromSearchEngines": "От Ñ‚ÑŠÑ€Ñещи машини", "FromWebsites": "От уебÑайтове", - "Including": "включително", "IncomingTraffic": "ВходÑщ трафик", "OutgoingTraffic": "ИзходÑщ трафик", "ShareOfAllPageviews": "Тази Ñтраница има %s Ñ€Ð°Ð·Ð³Ð»ÐµÐ¶Ð´Ð°Ð½Ð¸Ñ (от вÑички %s разглежданиÑ)", @@ -1570,7 +1566,6 @@ "Searches": "%s Ñ‚ÑŠÑ€ÑениÑ", "Seconds": "Ñекунди", "SecondsAgo": "преди %s Ñекунди", - "toggleFullscreen": "Ðа цÑл екран", "Unlocated": "<b>%s<\/b> %p поÑÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ %c вашето меÑтоположение не може да бъде открито.", "worldMap": "Ñветовна карта" }, @@ -1912,7 +1907,6 @@ "PluginDescription": "Доклад за Ð³ÐµÐ½ÐµÑ€Ð°Ð»Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¸Ð· по номера: поÑещениÑ, уникални поÑещениÑ, поредица от дейÑтвиÑ, Bounce Rate и други", "VisitsSummary": "Резюме на поÑещениÑта", "VisitsSummaryDocumentation": "Това е преглед на еволюциÑта на поÑещениÑта.", - "WidgetLastVisitors": "ПоÑледни уникални поÑетители", "WidgetLastVisits": "ПоÑледни поÑетители", "WidgetOverviewGraph": "Резюме Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ°", "WidgetVisits": "Резюме на поÑещениÑта" diff --git a/lang/ca.json b/lang/ca.json index d1301aa31a90b3309ec1dd1dc8b082133d6d20f1..904acd9fa380f772813b80609d42134fa4e8b4b8 100644 --- a/lang/ca.json +++ b/lang/ca.json @@ -1185,7 +1185,6 @@ "CancelAndReturnToReports": "Cancela i %storna a la llista d'informes%s", "CreateAndScheduleReport": "Crear i programar un informe", "CreateReport": "Crear un informe", - "DefaultContainingAllReports": "L'informe per defecte conte totes les estadÃstiques disponibles.", "DescriptionOnFirstPage": "La descripció del informes es mostrarà a la primera pà gina del informe.", "DisplayFormat_TablesOnly": "Mostra només taules (sense grà fics)", "EmailHello": "Hola,", @@ -1198,7 +1197,6 @@ "MustBeLoggedIn": "Heu d'estar identificat per crear i programar informes personalitzats", "NoRecipients": "Aquest informe no té destinataris", "Pagination": "Pà gina %s de %s", - "PDF": "PDF", "PiwikReports": "Informes Piwik", "PleaseFindAttachedFile": "Podeu trobar al fitxer adjunt el vostre informe %1$s per a %2$s.", "PleaseFindBelow": "A continuació podeu trobar el vostre informe %1$s per a %2$s.", @@ -1310,7 +1308,6 @@ "FromPreviousSiteSearchesInline": "%s de la cerques internes", "FromSearchEngines": "De cercadors", "FromWebsites": "De llocs web", - "Including": "incloïent", "IncomingTraffic": "Trà fic entrant", "LoopsInline": "%s refrescos de pà gina", "NoDataForAction": "No hi ha informació per %s", @@ -1322,7 +1319,6 @@ "ToFollowingPagesInline": "%s a pà gines internes", "ToFollowingSiteSearches": "Cerques internes", "ToFollowingSiteSearchesInline": "%s cerques internes", - "ToInternalPages": "a pà gines internes", "XOfAllPageviews": "%s de totes les visualitzacions d'aquesta pà gina", "XOutOfYVisits": "%s (de %s)" }, @@ -1691,7 +1687,6 @@ }, "UserCountryMap": { "map": "mapa", - "toggleFullscreen": "Mostra pantalla completa", "worldMap": "Mapa mundial" }, "UserSettings": { @@ -2031,7 +2026,6 @@ "PluginDescription": "Informa de les principals analÃtiques: visitants, visitants únics, nombre d'accions, rati de rebots,etc.", "VisitsSummary": "Resum de les visites", "VisitsSummaryDocumentation": "Aquesta és una visió general de l'evolució visita.", - "WidgetLastVisitors": "Grà fic dels darrers visitants únics", "WidgetLastVisits": "Grà fic de les darreres visites", "WidgetOverviewGraph": "Resum amb grà fic", "WidgetVisits": "Resum de les visites" diff --git a/lang/cs.json b/lang/cs.json index 6c88e9fe3eb84a9effa1b29cf4cf536a680555e1..3baf1b298a96a1380110d30a1c04e5d813403064 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -965,7 +965,6 @@ "ManageEmailReports": "Spravovat emailové hlášenÃ", "MonthlyScheduleHelp": "MÄ›sÃÄnà plán: hlášenà bude odesláno prvnà den mÄ›sÃce", "Pagination": "Stránka %s z %s", - "PDF": "PDF", "PiwikReports": "Hlášenà Piwiku", "PleaseFindAttachedFile": "ProsÃm najdÄ›te v pÅ™iloženém souboru %1$s hlášenà pro %2$s", "PluginDescription": "VytvoÅ™it a uložit vlastnà hlášenà a dostávat dennÃ, týdennà nebo mÄ›sÃÄnà emailové hlášenÃ.", @@ -1358,7 +1357,6 @@ "Searches": "%s vyhledávánÃ", "Seconds": "sekund", "SecondsAgo": "pÅ™ed %s sekundami", - "toggleFullscreen": "PÅ™epnout celou obrazovku", "VisitorMap": "Mapa návÅ¡tÄ›vnÃků", "worldMap": "mapa svÄ›ta", "WorldWide": "CelostvÄ›tová" @@ -1680,7 +1678,6 @@ "PluginDescription": "Hlásà základnà analytická ÄÃsla: návÅ¡tÄ›v, unikátnÃch návÅ¡tÄ›vnÃků, poÄet akcÃ, pomÄ›r návratů", "VisitsSummary": "Shrnutà návÅ¡tÄ›v", "VisitsSummaryDocumentation": "Toto je pÅ™ehled vývoj návÅ¡tÄ›v", - "WidgetLastVisitors": "Graf poslednÃch jedineÄných návÅ¡tÄ›vnÃků", "WidgetLastVisits": "Graf poslednÃch návÅ¡tÄ›v", "WidgetOverviewGraph": "PÅ™ehled s grafem", "WidgetVisits": "PÅ™ehled návÅ¡tÄ›v" diff --git a/lang/da.json b/lang/da.json index 7448748f13bd1b6581b547c3c936ea5459fcbc65..c390a8fba9c1f7162cbf3769888a33d849f96f21 100644 --- a/lang/da.json +++ b/lang/da.json @@ -1347,7 +1347,6 @@ "CreateAndScheduleReport": "Opret og planlæg rapport", "CreateReport": "Opret rapport", "CustomVisitorSegment": "Brugerdefineret besøgssegment:", - "DefaultContainingAllReports": "Standard rapport indeholder alle tilgængelige statistikker.", "DescriptionOnFirstPage": "Rapportbeskrivelsen bliver vist pÃ¥ den første side i rapporten.", "DisplayFormat_TablesOnly": "Vis kun tabeller (ingen grafer)", "EmailHello": "Hej,", @@ -1361,7 +1360,6 @@ "NoRecipients": "Denne rapport har ingen modtagere", "OClock": "klokken", "Pagination": "Side %s af %s", - "PDF": "PDF", "PiwikReports": "Piwik rapporter", "PleaseFindAttachedFile": "Vedlagt i vedhæftede fil din %1$s rapport for %2$s.", "PleaseFindBelow": "Find rapporten nedenfor %1$s for %2$s.", @@ -1394,7 +1392,6 @@ "DefaultAllVisits": "Alle besøg", "DragDropCondition": "Træk og slip betingelse", "LoadingSegmentedDataMayTakeSomeTime": "Behandling af besøgendes segmenterede data kan tage et par minutter ...", - "NewSegment": "Nyt segment", "OperatorAND": "OG", "OperatorOR": "ELLER", "SaveAndApply": "Gem og anvend", @@ -1507,7 +1504,6 @@ "FromPreviousSiteSearchesInline": "%s fra interne søgninger", "FromSearchEngines": "Fra søgemaskiner", "FromWebsites": "Fra hjemmesider", - "Including": "herunder", "IncomingTraffic": "Indkommende trafik", "LoopsInline": "%s side genindlæsninger", "NoDataForAction": "Der er ingen data for %s", @@ -1519,7 +1515,6 @@ "ToFollowingPagesInline": "%s til interne sider", "ToFollowingSiteSearches": "Interne søgninger", "ToFollowingSiteSearchesInline": "%s interne søgninger", - "ToInternalPages": "til intern side", "XOfAllPageviews": "%s af alle visninger af denne side", "XOutOfYVisits": "%s (ud af %s)" }, @@ -1896,7 +1891,6 @@ "GoalConversions": "%s mÃ¥lkonverteringer", "Hours": "timer", "HoursAgo": "%s timer siden", - "LoginToViewRealTime": "Log ind for at fÃ¥ vist tidstro Piwik besøgskort!", "map": "kort", "Minutes": "minutter", "MinutesAgo": "%s minutter siden", @@ -1908,7 +1902,6 @@ "Seconds": "sekunder", "SecondsAgo": "%s sekunder siden", "ShowingVisits": "Geografisk placeret besøg af sidste", - "toggleFullscreen": "Fuldskærm fra\/til", "Unlocated": "<b>%s<\/b> besøg %p fra %c kunne ikke placeres geografisk.", "VisitorMap": "Besøgerkort", "worldMap": "Verdenskort", @@ -2258,7 +2251,6 @@ "PluginDescription": "Generelle analyserapporter: besøg, unikke besøgende, antal handlinger, afvisningsprocent osv..", "VisitsSummary": "Besøg resumé", "VisitsSummaryDocumentation": "Oversigt over besøgsudviklingen.", - "WidgetLastVisitors": "Seneste unikke besøgende", "WidgetLastVisits": "Seneste besøg", "WidgetOverviewGraph": "Oversigt med diagrammer", "WidgetVisits": "Besøgsoversigt" diff --git a/lang/de.json b/lang/de.json index 46eef1cac2feea65539c9c5fffe24cc91ccfbdd2..8e16260d6c8821efba189d717e908654bb3521b0 100644 --- a/lang/de.json +++ b/lang/de.json @@ -1360,7 +1360,6 @@ "CreateAndScheduleReport": "Einen Bericht erstellen und planen", "CreateReport": "Bericht erstellen", "CustomVisitorSegment": "Benutzerdefiniertes Besuchersegment:", - "DefaultContainingAllReports": "Der Standardbericht enthält alle verfügbaren Statistiken", "DescriptionOnFirstPage": "Die Beschreibung wird auf der ersten Seite des Berichts angezeigt.", "DisplayFormat_TablesOnly": "Nur Tabellen anzeigen (keine Grafiken)", "EmailHello": "Hallo,", @@ -1374,7 +1373,6 @@ "NoRecipients": "Dieser Bericht hat keine Empfänger.", "OClock": "Uhr", "Pagination": "Seite %s von %s", - "PDF": "PDF", "PiwikReports": "Piwik-Berichte", "PleaseFindAttachedFile": "Sie finden in der angehängten Datei Ihren Bericht (Intervall: %1$s) für %2$s.", "PleaseFindBelow": "Unterhalb befindet sich der Bericht (Intervall: %1$s) für %2$s.", @@ -1407,7 +1405,6 @@ "DefaultAllVisits": "Alle Besuche", "DragDropCondition": "Bedingung durch Drag & Drop hinzufügen", "LoadingSegmentedDataMayTakeSomeTime": "Die Verarbeitung der segmentierten Besucherdaten kann einige Minuten dauern...", - "NewSegment": "Neues Segment", "OperatorAND": "UND", "OperatorOR": "ODER", "SaveAndApply": "Speichern & Ãœbernehmen", @@ -1520,7 +1517,6 @@ "FromPreviousSiteSearchesInline": "%s von internen Suchen", "FromSearchEngines": "Von Suchmaschinen", "FromWebsites": "Von Webseiten", - "Including": "inklusive", "IncomingTraffic": "Eingehende Daten", "LoopsInline": "%s Seite erneut geladen", "NoDataForAction": "Es sind keine Daten für %s verfügbar", @@ -1532,7 +1528,6 @@ "ToFollowingPagesInline": "%s zu internen Seiten", "ToFollowingSiteSearches": "Interne Suchen", "ToFollowingSiteSearchesInline": "%s interne Suchen", - "ToInternalPages": "zu internen Seiten", "XOfAllPageviews": "%s von allen Seitenansichten", "XOutOfYVisits": "%s (von insgesamt %s)" }, @@ -1909,7 +1904,6 @@ "GoalConversions": "%s Ziel-Konversionen", "Hours": "Stunden", "HoursAgo": "vor %s Stunden", - "LoginToViewRealTime": "Du musst eingeloggt sein, um die Besucherkarte in Echtzeit zu sehen!", "map": "Karte", "Minutes": "Minuten", "MinutesAgo": "vor %s Minuten", @@ -1921,7 +1915,6 @@ "Seconds": "Sekunden", "SecondsAgo": "vor %s Sekunden", "ShowingVisits": "Lokalisierte Besuche der letzten", - "toggleFullscreen": "Vollbild", "Unlocated": "<b>%s<\/b> der Besuche %p aus %c konnten nicht lokalisiert werden.", "VisitorMap": "Besucherkarte", "worldMap": "Weltkarte", @@ -2271,7 +2264,6 @@ "PluginDescription": "Berichte über allgemeine Informationen: Besuche, eindeutige Besucher, Anzahl der Aktionen, Absprungrate etc.", "VisitsSummary": "Besucherüberblick", "VisitsSummaryDocumentation": "Dies ist eine Ãœbersicht über die Entwicklung der Besuche.", - "WidgetLastVisitors": "Graph der eindeutigen Besucher", "WidgetLastVisits": "Graph der letzten Besuche", "WidgetOverviewGraph": "Ãœbersicht mit Graph", "WidgetVisits": "Besucherübersicht" diff --git a/lang/el.json b/lang/el.json index 57b9d34d26bec3e271d2295402848f761a1ce97a..359aa04d8aef58ca6441e7c796c678224803cac6 100644 --- a/lang/el.json +++ b/lang/el.json @@ -1358,7 +1358,6 @@ "CreateAndScheduleReport": "ΔημιουÏγήστε και Î ÏογÏαμματίστε μια αναφοÏά", "CreateReport": "ΔημιουÏγία ΑναφοÏάς", "CustomVisitorSegment": "Î ÏοσαÏμοσμÎνο Τμήμα Επισκεπτών:", - "DefaultContainingAllReports": "Η Ï€ÏοεπιλεγμÎνη αναφοÏά πεÏιλαμβάνει όλα τα διαθÎσιμα στατιστικά.", "DescriptionOnFirstPage": "Η πεÏιγÏαφή της αναφοÏάς θα εμφανίζεται στην Ï€Ïώτη σελίδα της αναφοÏάς.", "DisplayFormat_TablesOnly": "Î Ïοβολή πινάκων μόνο (χωÏίς γÏαφικά)", "EmailHello": "Γεια σας,", @@ -1372,7 +1371,6 @@ "NoRecipients": "Αυτή η αναφοÏά δεν Îχει παÏαλήπτες", "OClock": "η ÏŽÏα", "Pagination": "Σελίδα %s από %s", - "PDF": "PDF", "PiwikReports": "ΑναφοÏÎÏ‚ Piwik", "PleaseFindAttachedFile": "Î’Ïείτε στο συνημμÎνο αÏχείο την αναφοÏά %1$s για %2$s.", "PleaseFindBelow": "Î’Ïείτε παÏακάτω την αναφοÏά %1$s για τη %2$s.", @@ -1405,7 +1403,6 @@ "DefaultAllVisits": "Όλες οι επισκÎψεις", "DragDropCondition": "Συνθήκη με ΣÏÏε & Άσε", "LoadingSegmentedDataMayTakeSomeTime": "Η επεξεÏγασία των δεδομÎνων των τμημάτων επισκεπτών μποÏεί να διαÏκÎσει κάποια λεπτά...", - "NewSegment": "ÎÎο τμήμα", "OperatorAND": "ΚΑΙ", "OperatorOR": "Ή", "SaveAndApply": "Αποθήκευση και εφαÏμογή", @@ -1518,7 +1515,6 @@ "FromPreviousSiteSearchesInline": "%s από εσωτεÏικÎÏ‚ αναζητήσεις", "FromSearchEngines": "Από ΜηχανÎÏ‚ Αναζήτησης", "FromWebsites": "Από Ιστοσελίδες", - "Including": "πεÏιλαμβάνει", "IncomingTraffic": "ΕισεÏχόμενη κίνηση", "LoopsInline": "%s ανανεώσεις σελίδας", "NoDataForAction": "Δεν υπάÏχουν δεδομÎνα για %s", @@ -1530,7 +1526,6 @@ "ToFollowingPagesInline": "%s Ï€Ïος εσωτεÏικÎÏ‚ σελίδες", "ToFollowingSiteSearches": "ΕσωτεÏικÎÏ‚ Αναζητήσεις", "ToFollowingSiteSearchesInline": "%s εσωτεÏικÎÏ‚ αναζητήσεις", - "ToInternalPages": "Ï€Ïος εσωτεÏικÎÏ‚ σελίδες", "XOfAllPageviews": "%s από όλες τις Ï€ÏοβολÎÏ‚ αυτής της σελίδας", "XOutOfYVisits": "%s (από %s)" }, @@ -1907,7 +1902,6 @@ "GoalConversions": "%s μετατÏοπÎÏ‚ στόχων", "Hours": "ÏŽÏες", "HoursAgo": "Ï€Ïιν %s ÏŽÏες", - "LoginToViewRealTime": "Κάντε είσοδο για να δείτε τον ΧάÏτη Επισκεπτών σε Î Ïαγματικό ΧÏόνο του Piwik", "map": "χάÏτης", "Minutes": "λεπτά", "MinutesAgo": "Ï€Ïιν %s λεπτά", @@ -1919,7 +1913,6 @@ "Seconds": "δευτεÏόλεπτα", "SecondsAgo": "Ï€Ïιν %s δευτεÏόλεπτα", "ShowingVisits": "ΕπισκÎψεις με γεωτοποθεσία από τις τελευταίες", - "toggleFullscreen": "Εναλλαγή πλήÏους οθόνης", "Unlocated": "<b>%s<\/b> %p από τις επισκÎψεις από %c δεν ήταν δυνατόν να χαÏακτηÏιστοÏν με γεωτοποθεσία.", "VisitorMap": "ΧάÏτης Επισκεπτών", "worldMap": "παγκόσμιος χάÏτης", @@ -2269,7 +2262,6 @@ "PluginDescription": "ΑναφÎÏει τους γενικοÏÏ‚ αÏιθμοÏÏ‚ στατιστικών: επισκÎψεις, μοναδικοί επισκÎπτες, αÏιθμος δÏαστηÏιοτήτων, Βαθμός Αναπήδησης, κλπ.", "VisitsSummary": "ΠεÏίληψη επισκÎψεων", "VisitsSummaryDocumentation": "Αυτή είναι μια επισκόπηση της εξÎλιξης των επισκÎψεων.", - "WidgetLastVisitors": "ΔιάγÏαμμα τελευταίων μοναδικών επισκεπτών", "WidgetLastVisits": "ΔιάγÏαμμα τελευταίων επισκÎψεων", "WidgetOverviewGraph": "Επισκόπηση με διάγÏαμμα", "WidgetVisits": "Επισκόπηση επισκÎψεων" diff --git a/lang/en.json b/lang/en.json index f5461344587612821df2128ab8b980dda655fa66..bddeeb5119800d001430426f4856d3b0a85010ed 100644 --- a/lang/en.json +++ b/lang/en.json @@ -1181,10 +1181,10 @@ "NetworkErrorWithStatusCode": "There was an error \"%s\". The request returned the status \"%s\". URL was \"%s\". Please check your entered URL and the error logs on this server for more information about the error and how to resolve it.", "NetworkNotReachable": "Network not reachable", "NavigationBack": "Back", - "NoDataShort": "No Reports", + "NoDataShort": "No Data", "NoVisitorsShort": "No Visitors", "NoWebsitesShort": "No Websites", - "NoReportsShort": "No Data", + "NoReportsShort": "No Reports", "NoPiwikAccount": "No Piwik Account?", "NoVisitorFound": "No visitor found", "NoWebsiteFound": "No website found", @@ -1762,12 +1762,10 @@ "Regions": "Regions", "Cities": "Cities", "WorldWide": "World-Wide", - "toggleFullscreen": "Toggle fullscreen", "AndNOthers": "and %s others", "None": "None", "Unlocated": "<b>%s<\/b> %p of the visits from %c couldn't be geo located.", "NoVisit": "No visit", - "LoginToViewRealTime": "Login to view the Piwik Real Time Visitor Map!", "RealTimeMap": "Real-time Map", "Seconds": "seconds", "SecondsAgo": "%s seconds ago", @@ -2126,7 +2124,6 @@ "GenerateQueries": "%s queries executed", "WidgetLastVisits": "Visits Over Time", "WidgetVisits": "Visits Overview", - "WidgetLastVisitors": "Last unique visitors graph", "WidgetOverviewGraph": "Visits Overview (with graph)" }, "VisitTime": { @@ -2154,7 +2151,6 @@ "PluginDescription": "Create and download your custom reports, and have them emailed daily, weekly or monthly.", "ManageEmailReports": "Manage Email Reports", "EmailReports": "Email Reports", - "PDF": "PDF", "SendReportNow": "Send Report now", "EmailSchedule": "Email Schedule", "SendReportTo": "Send report to", @@ -2182,7 +2178,6 @@ "CreateReport": "Create Report", "UpdateReport": "Update Report", "PiwikReports": "Piwik Reports", - "DefaultContainingAllReports": "Default report contains all available statistics.", "EmailHello": "Hello,", "PleaseFindAttachedFile": "Please find in attached file your %1$s report for %2$s.", "PleaseFindBelow": "Please find below your %1$s report for %2$s.", @@ -2220,8 +2215,6 @@ "IncomingTraffic": "Incoming traffic", "OutgoingTraffic": "Outgoing traffic", "XOfAllPageviews": "%s of all views of this page", - "ToInternalPages": "to internal pages", - "Including": "including", "LoopsInline": "%s page reloads", "XOutOfYVisits": "%s (out of %s)", "FromPreviousPages": "From Internal Pages", @@ -2284,7 +2277,6 @@ }, "SegmentEditor": { "AddNewSegment": "Add new segment", - "NewSegment": "New segment", "SelectSegmentOfVisitors": "Select a segment of visitors:", "YouMustBeLoggedInToCreateSegments": "You must be logged in to create and edit custom visitor segments.", "DragDropCondition": "Drag & Drop condition", diff --git a/lang/es.json b/lang/es.json index 7a56db379a1983cc40e9061e0a5fd687c2b7d4c1..0b51f67f7496c4c1a574b41156974b3a49fe5cde 100644 --- a/lang/es.json +++ b/lang/es.json @@ -1222,7 +1222,6 @@ "CancelAndReturnToReports": "Cancelar y %svolver a la lista de reportes%s", "CreateAndScheduleReport": "Crear y Programar un reporte", "CreateReport": "Crear Reporte", - "DefaultContainingAllReports": "El reporte por defecto contiene todas las estadÃsticas disponibles.", "DescriptionOnFirstPage": "La descripción del reporte será mostrada en la primera página del reporte.", "DisplayFormat_TablesOnly": "Mostrar sólo Tablas (no gráficas)", "EmailHello": "Hola,", @@ -1235,7 +1234,6 @@ "MustBeLoggedIn": "Usted debe haber iniciado sesión para crear y programar reportes personalizados.", "NoRecipients": "Este reporte no tiene destinatarios", "Pagination": "Página %s de %s", - "PDF": "PDF", "PiwikReports": "Reportes Piwik", "PleaseFindAttachedFile": "Encontrará el reporte de %1$s %2$s como un archivo PDF adjunto.", "PleaseFindBelow": "Por favor encuentre debajo su reporte %1$s para %2$s.", @@ -1347,7 +1345,6 @@ "FromPreviousSiteSearchesInline": "%s desde búsquedas internas", "FromSearchEngines": "Desde motores de búsqueda", "FromWebsites": "Desde sitios de internet", - "Including": "incluyendo", "IncomingTraffic": "Tráfico entrante", "LoopsInline": "%s recargas de página", "NoDataForAction": "No hay información para %s", @@ -1359,7 +1356,6 @@ "ToFollowingPagesInline": "%s a páginas internas", "ToFollowingSiteSearches": "Búsquedas internas", "ToFollowingSiteSearchesInline": "%s búsquedas internas", - "ToInternalPages": "a páginas internas", "XOfAllPageviews": "%s de todas las vistas de esta página", "XOutOfYVisits": "%s (de %s)" }, @@ -1728,7 +1724,6 @@ }, "UserCountryMap": { "map": "mapa", - "toggleFullscreen": "Pantalla completa", "worldMap": "mapamundi" }, "UserSettings": { @@ -2069,7 +2064,6 @@ "PluginDescription": "Reporta los Números Generales del Análisis: visita, visitantes únicos, número de acciones, porcentaje de abandono, etc.", "VisitsSummary": "Resumen de visitas", "VisitsSummaryDocumentation": "Esta es una visión holÃstica de la evolución de las visitas.", - "WidgetLastVisitors": "Gráfica de últimos visitantes únicos", "WidgetLastVisits": "Gráfica de las últimas visitas", "WidgetOverviewGraph": "Visión general con gráfica", "WidgetVisits": "Visión general de visitas" diff --git a/lang/et.json b/lang/et.json index 6d3403c3741cbfbacadf76b52f69022975f4475c..fd95c057c9b4c061adc77cd978d6f5de9b0b869e 100644 --- a/lang/et.json +++ b/lang/et.json @@ -742,7 +742,6 @@ "GenerateTime": "Lehe genereerimiseks kulus %s sekundit", "MaxNbActions": "%s maksmimum tegevuste arv ühel külastusel", "NbUniqueVisitors": "%s unikaalset külastajat", - "WidgetLastVisitors": "Viimaste unikaalsete külastajate graafik", "WidgetLastVisits": "Viimaste külastuste graafik", "WidgetOverviewGraph": "Graafikutega ülevaade", "WidgetVisits": "Külastuste ülevaade" diff --git a/lang/eu.json b/lang/eu.json index ca4639a951ab5d08f7007bb15ef3c062be60ec77..81741e0f2c8e05f00ffacd85f6f3ad3c1e856878 100644 --- a/lang/eu.json +++ b/lang/eu.json @@ -952,7 +952,6 @@ "NbUniqueVisitors": "%s bisitari desberdin", "NbVisitsBounced": "%s bisita errebotatu dira (webgunea utzi dute orri bat ikusi ondoren)", "VisitsSummary": "Bisiten laburpena", - "WidgetLastVisitors": "Azken bisitari desberdinen grafikoa", "WidgetLastVisits": "Azken bisiten grafikoa", "WidgetOverviewGraph": "Ikuspegi orokorra grafikoarekin", "WidgetVisits": "Bisiten ikuspegi orokorra" diff --git a/lang/fa.json b/lang/fa.json index dc9e41114df095ed3a38b8188cc896bde1e299ab..9a79eeae62a351ebbffae5ede5f116f0be37864b 100644 --- a/lang/fa.json +++ b/lang/fa.json @@ -345,6 +345,7 @@ "AfterEntry": "بعد از ورود به اینجا", "AllowPiwikArchivingToTriggerBrowser": "اجازه Piwik آرشیو باعث زمانی Ú©Ù‡ گزارش ها از مرورگر مشاهده", "AllWebsitesDashboard": "داشبورد همه وب سايت ها", + "And": "Ùˆ", "API": "API", "ApplyDateRange": "بکار بردن بازه زمانی", "ArchivingInlineHelp": "متوسط ​​به وب سایت های تراÙیک بالا، آن است Ú©Ù‡ توصیه Ù…ÛŒ شود برای غیر Ùعال کردن Piwik آرشیو از مرورگر را آغاز کند. در عوض، توصیه Ù…ÛŒ کنیم Ú©Ù‡ یک کار cron را به شما راه اندازی به پردازش گزارش Piwik هر ساعت.", @@ -369,6 +370,7 @@ "Close": "بستن", "ColumnActionsPerVisit": "عملیات در هر بازدید", "ColumnActionsPerVisitDocumentation": "میانگین تعداد عملیاتی (صÙØات بازدید شده ØŒ دانلودها Ùˆ لینکهای بیرونی)Ú©Ù‡ در Ø·ÛŒ بازدید انجام شده است.", + "ColumnAverageGenerationTime": "میانگین زمان ایجاد", "ColumnAverageTimeOnPage": "میانگین زمان سپری شده بر روی صÙØÙ‡", "ColumnAverageTimeOnPageDocumentation": "مقدار به طور متوسط ​​از بازدید کنندگان زمان صر٠شده در این صÙØÙ‡ (Ùقط صÙØه، Ú©Ù„ وب سایت نیست).", "ColumnAvgTimeOnSite": "میانگین زمان سپری شده روی وبسایت", @@ -387,6 +389,7 @@ "ColumnExitRateDocumentation": "The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)", "ColumnExits": "خروجی ها", "ColumnExitsDocumentation": "تعداد دÙعات بازدیدی Ú©Ù‡ در این صÙØÙ‡ تمام شده", + "ColumnGenerationTime": "زمان ایجاد", "ColumnKeyword": "کلمه کلیدی", "ColumnLabel": "برچسب", "ColumnMaxActions": "بیشترین عملیات در یک بازدید", @@ -418,6 +421,7 @@ "CurrentWeek": "Ù‡Ùته جاری", "CurrentYear": "سال جاری", "Daily": "روزانه", + "DailyReport": "روزانه", "DailyReports": "گزارش های روزانه", "DailySum": "مجموع روزانه", "DashboardForASpecificWebsite": "داشبورد برای یک وب سایت ویژه", @@ -556,6 +560,7 @@ "Monthly": "ماهانه", "MonthlyReport": "ماهانه", "MonthlyReports": "گزارش های ماهانه", + "More": "بیشتر", "MoreDetails": "جزئیات بیشتر", "MultiSitesSummary": "همه وب سايت ها", "Name": "نام", @@ -953,16 +958,20 @@ "LastMinutes": "آخرین %s دقایق", "LastVisit": "اخرین بازدید", "LinkVisitorLog": "مشاهده جزئیات لاگ بازدید کننده", + "LoadMoreVisits": "نمایش بازدیدهای بیشتر", "MorePagesNotDisplayed": "صÙØات بیشتر به این بازدید کننده ها نشان داده نمی شود", "NbVisitor": "یک ویزیتور", "NbVisitors": "%s ویزیتور", + "NextVisitor": "دیدن کننده بعدی", "PageRefreshed": "تعداد بار این صÙØÙ‡ \/ مشاهده شده در یک ردی٠تجدید شد.", "PluginDescription": "!نظارت بر روی بازدید کنندگان خود را، زنده، در زمان واقعی!", + "PreviousVisitor": "دیدن کننده قبلی", "RealTimeVisitorCount": "زمان واقعی تعداد بازدید کنندگان", "Referrer_URL": "URL بازگشتی", "ShowMap": "نمایش نقشه", "SimpleRealTimeWidget_Message": "%s Ùˆ %s در اخرین %s", "Time": "زمان", + "ViewVisitorProfile": "مشاهده نمایه دیدن کننده", "VisitedPages": "صÙØات بازدید شده", "VisitorLog": "لاگ بازدیدکننده", "VisitorProfile": "مشخصات بازدید کننده", @@ -1213,7 +1222,6 @@ "CreateAndScheduleReport": "ایجاد Ùˆ زمانبندی یک گزارش", "CreateReport": "ایجاد گزارش", "CustomVisitorSegment": "بخش سÙارشی بازدید کنندگان:", - "DefaultContainingAllReports": "گزارش پیش Ùرض شامل همه آمار های موجود Ù…ÛŒ باشد.", "DescriptionOnFirstPage": "توضیØات گزارش در اولین صÙØÙ‡ گزارش نمایش داده خواهد شد.", "DisplayFormat_TablesOnly": "نمایش جداول تنها (بدون نمودار)", "EmailHello": "درود,", @@ -1226,7 +1234,6 @@ "NoRecipients": "این گزارش هیچ دریاÙت کننده ای ندارد.", "OClock": "ساعت", "Pagination": "صÙØÙ‡ %s از %s", - "PDF": "Ù¾ÛŒ دی اÙ", "PiwikReports": "گزارش های Piwik", "PluginDescription": "ایجاد Ùˆ گزارش های سÙارشی خود را، Ùˆ آنها را ایمیل های روزانه، Ù‡Ùتگی Ùˆ یا ماهانه.", "ReportFormat": "Ùرمت گزارش", @@ -1254,7 +1261,6 @@ "DefaultAllVisits": "تمامی بازدیدکننده ها", "DragDropCondition": "کشیدن Ùˆ رها کردن", "LoadingSegmentedDataMayTakeSomeTime": "پردازش داده های بازدید کننده تقسیم ممکن است چند دقیقه طول بکشد ...", - "NewSegment": "بخش جدید", "OperatorAND": "Ùˆ", "OperatorOR": "یا", "SaveAndApply": "ذخیره Ùˆ درخواست", @@ -1351,7 +1357,6 @@ "FromPreviousSiteSearchesInline": "%s از جستجوهای داخلی", "FromSearchEngines": "از موتورهای جستجو", "FromWebsites": "از وبسایت ها", - "Including": "شامل", "IncomingTraffic": "تراÙیک ورودی", "LoopsInline": "%s بارگذاری مجدد صÙØÙ‡", "NoDataForAction": "هیچ داده ای وجود ندارد برای %s", @@ -1362,7 +1367,6 @@ "ToFollowingPagesInline": "%s به صÙØÙ‡ های داخلی", "ToFollowingSiteSearches": "جستجوهای داخلی", "ToFollowingSiteSearchesInline": "%s جستجوهای داخلی", - "ToInternalPages": "به صÙØÙ‡ های داخلی", "XOfAllPageviews": "%s از همه ÛŒ بازدیدهای این صÙØÙ‡", "XOutOfYVisits": "%s (از %s)" }, @@ -1696,7 +1700,6 @@ "GoalConversions": "%s تبدیل هدÙ", "Hours": "ساعت", "HoursAgo": "%s ساعت پیش", - "LoginToViewRealTime": "وارد شوید تا نقشه بازدیدکنندگان در Ù„Øظه پیویک را ببینید!", "map": "نقشه", "Minutes": "دقیقه", "MinutesAgo": "%s دقیقه پیش", @@ -1708,7 +1711,6 @@ "Seconds": "ثانیه", "SecondsAgo": "%s ثانیه پیش", "ShowingVisits": "مکان اخرین بازدید کنندگان", - "toggleFullscreen": "Øالت تمام صÙØÙ‡", "VisitorMap": "نقشه بازدیدکننده", "worldMap": "نقشه جهان", "WorldWide": "سراسر جهان" @@ -2050,7 +2052,6 @@ "PluginDescription": "به گزارش تجزیه Ùˆ تØلیل عمومی: بار مشاهده شده است، بازدید کنندگان منØصر به Ùرد، تعدادی از اقدامات، نرخ گزا٠گویی، Ùˆ غیره", "VisitsSummary": "خلاصه بازدیدها", "VisitsSummaryDocumentation": "این مروری بر تکامل بازدید است.", - "WidgetLastVisitors": "نمودار آخرین بازدید کنندگان منØصر به Ùرد", "WidgetLastVisits": "نمودار آخرین بازدید ها", "WidgetOverviewGraph": "مرور به وسیله نمودار", "WidgetVisits": "مرور بازدید ها" diff --git a/lang/fi.json b/lang/fi.json index d685b078f844a3e522d3d0bbab7ced9ebeaafeb7..9c23dc2d1be37aef47905cae9337ec7622d9a3b4 100644 --- a/lang/fi.json +++ b/lang/fi.json @@ -1086,7 +1086,6 @@ "CancelAndReturnToReports": "Peruuta ja %spalaa raporttilistaan%s", "CreateAndScheduleReport": "Luo ja ajasta raportti", "CreateReport": "Luo raportti", - "DefaultContainingAllReports": "Oletusraportti sisältää kaikki saatavilla olevat tilastot.", "DescriptionOnFirstPage": "Tämä kuvaus näytetään raportin ensimmäisellä sivulla.", "DisplayFormat_TablesOnly": "Näytä vain taulukot (ei kuvaajia)", "EmailHello": "Hei,", @@ -1099,7 +1098,6 @@ "MustBeLoggedIn": "Sinun täytyy olla kirjautuneena sisään ennen kustomoitujen raporttien luomista ja ajastamista.", "NoRecipients": "Tällä raportilla ei ole vastaanottajia", "Pagination": "Sivu %s\/%s", - "PDF": "PDF", "PiwikReports": "Piwikin raportit", "PleaseFindAttachedFile": "Liitteenä on raporttisi %1$s sivulle %2$s.", "PleaseFindBelow": "Alla on raporttisi %1$s sivulle %2$s.", @@ -1187,7 +1185,6 @@ "FromPreviousPagesInline": "%s sisäisiltä sivuilta", "FromSearchEngines": "Hakukoneista", "FromWebsites": "Verkkosivuilta", - "Including": "sisältäen", "IncomingTraffic": "Sisääntuleva liikenne", "LoopsInline": "%s sivujen uudelleenlatauksia", "NoDataForAction": "%s:lle ei ole tietoja", @@ -1197,7 +1194,6 @@ "ShareOfAllPageviews": "Tällä sivulla on %s sivunavausta (%s kaikista)", "ToFollowingPages": "Sisäisille sivuille", "ToFollowingPagesInline": "%s sisäisille sivuille", - "ToInternalPages": "sisäisille sivuille", "XOfAllPageviews": "%s kaikista tämän sivun katseluista", "XOutOfYVisits": "%s (%s:stä)" }, @@ -1507,7 +1503,6 @@ }, "UserCountryMap": { "map": "kartta", - "toggleFullscreen": "Vaihda koko näytön kokoiseen", "worldMap": "maailmankartta" }, "UserSettings": { @@ -1844,7 +1839,6 @@ "PluginDescription": "Yleiset analyysit: käynnit, uniikit kävijät, toimintojen määrä, lähtevien määrä jne.", "VisitsSummary": "Yhteenveto käynneistä", "VisitsSummaryDocumentation": "Tämä on käyntien muutoksen yleiskatsaus", - "WidgetLastVisitors": "Edelliset uniikit kävijät", "WidgetLastVisits": "Edelliset käynnit", "WidgetOverviewGraph": "Yleiskatsaus graafilla", "WidgetVisits": "Käyntien yleiskatsaus" diff --git a/lang/fr.json b/lang/fr.json index 82d4cab1c851cff5348063503e39aa24d59c6179..a73b265ebe29350dadc6b6f4c0ae567501887bea 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -1345,7 +1345,6 @@ "CreateAndScheduleReport": "Créer et planifier un rapport", "CreateReport": "Créer le rapport", "CustomVisitorSegment": "Segment de visiteur personnalisé:", - "DefaultContainingAllReports": "Le rapport par défaut contient toutes les statistiques disponibles.", "DescriptionOnFirstPage": "La description du rapport sera affichée sur la première page du rapport.", "DisplayFormat_TablesOnly": "Afficher uniquement les tableaux (pas de graphiques)", "EmailHello": "Bonjour,", @@ -1359,7 +1358,6 @@ "NoRecipients": "Ce rapport n'a aucun destinataire", "OClock": "pile", "Pagination": "Page %s sur %s", - "PDF": "PDF", "PiwikReports": "Rapports Piwik", "PleaseFindAttachedFile": "Veuillez trouver en pièce jointe votre rapport %1$s pour %2$s.", "PleaseFindBelow": "Veuillez trouver ci-dessous votre %1$s rapport pour %2$s.", @@ -1392,7 +1390,6 @@ "DefaultAllVisits": "Toutes les visites", "DragDropCondition": "Condition de Drag & Drop", "LoadingSegmentedDataMayTakeSomeTime": "Le traitement des données visiteurs segmentées peut prendre quelques minutes...", - "NewSegment": "Nouveau segment", "OperatorAND": "ET", "OperatorOR": "OU", "SaveAndApply": "Sauvegarder & appliquer", @@ -1505,7 +1502,6 @@ "FromPreviousSiteSearchesInline": "%s depuis des recherches internes", "FromSearchEngines": "Depuis des moteurs de recherche", "FromWebsites": "Depuis des sites web", - "Including": "en incluant", "IncomingTraffic": "Trafic entrant", "LoopsInline": "%s rechargements de pages", "NoDataForAction": "Il n'y a aucune données pour %s", @@ -1517,7 +1513,6 @@ "ToFollowingPagesInline": "%s vers des pages internes", "ToFollowingSiteSearches": "Recherches internes", "ToFollowingSiteSearchesInline": "%s recherches internes", - "ToInternalPages": "vers des pages internes", "XOfAllPageviews": "%s de toutes les pages vues", "XOutOfYVisits": "%s (de %s)" }, @@ -1894,7 +1889,6 @@ "GoalConversions": "%s conversions d'objectifs", "Hours": "heures", "HoursAgo": "%s heures", - "LoginToViewRealTime": "Identifiez-vous pour visualiser la carte des visiteurs en temps réel de Piwik!", "map": "carte", "Minutes": "minutes", "MinutesAgo": "%s minutes", @@ -1906,7 +1900,6 @@ "Seconds": "secondes", "SecondsAgo": "%s secondes", "ShowingVisits": "Visites géo-localisées des derniers", - "toggleFullscreen": "Plein écran", "Unlocated": "<b>%s<\/b> %p des dernières visites de %c n'ont pas pu être géo-localisées.", "VisitorMap": "Carte du visiteur", "worldMap": "carte du monde", @@ -2256,7 +2249,6 @@ "PluginDescription": "Effectue des rapports sur les valeurs générales des statistiques: visites, visiteurs uniques, nombre d'actions, taux de rebond, etc.", "VisitsSummary": "Récapitulatif des visites", "VisitsSummaryDocumentation": "Ceci est un aperçu de l'évolution de la visite.", - "WidgetLastVisitors": "Graphique des derniers visiteurs uniques", "WidgetLastVisits": "Graphique des dernières visites", "WidgetOverviewGraph": "Graphique récapitulatif", "WidgetVisits": "Récapitulatif des visites" diff --git a/lang/gl.json b/lang/gl.json index 399bd6c6e3384d036c47ec3f39843de898380576..eaf2a622af2a21f6d3d8b21836e9d2d30153f6f4 100644 --- a/lang/gl.json +++ b/lang/gl.json @@ -747,7 +747,6 @@ "GenerateTime": "%s segundos para xerar a páxina", "MaxNbActions": "%s accións máximas nunha visita", "NbUniqueVisitors": "%s visitas únicas", - "WidgetLastVisitors": "Gráfico dos últimos visitantes únicos", "WidgetLastVisits": "Gráfico das últimas visitas", "WidgetOverviewGraph": "Visión xeral con gráfico", "WidgetVisits": "Visión xeral de visitas" diff --git a/lang/he.json b/lang/he.json index 9c04b2655d6271c451016806839303c15c9552f2..5f90729b76849153eebc439662e029df0143e004 100644 --- a/lang/he.json +++ b/lang/he.json @@ -520,7 +520,6 @@ "ScheduledReports": { "CreateReport": "יצירת דוח", "EmailHello": "שלו×,", - "PDF": "PDF", "SendReportTo": "שלח דוח ×ל", "SentToMe": "שלח ×לי" }, @@ -1009,7 +1008,6 @@ "NbVisitsBounced": "%s ×‘×™×§×•×¨×™× ×§×¤×¦×• (עזבו ×ת ×”×תר ×חרי עמוד ×חד)", "PluginDescription": "מדווח על × ×™×ª×•×— ×”×ž×¡×¤×¨×™× ×”×›×œ×œ×™: ביקורי×, ×ž×‘×§×¨×™× ×™×—×•×“×™×™×, מספר פעולות, שיעור קפיצה וכו'", "VisitsSummary": "תקציר ביקורי×", - "WidgetLastVisitors": "גרף ×ž×‘×§×¨×™× ×™×—×•×“×™×™× ××—×¨×•× ×™×", "WidgetLastVisits": "גרף ×‘×™×§×•×¨×™× ××—×¨×•× ×™×", "WidgetOverviewGraph": "מבט כללי ×¢× ×’×¨×£", "WidgetVisits": "מבט כללי על ביקורי×" diff --git a/lang/hi.json b/lang/hi.json index e239113abf548ae0283e4be7f7aeb88695efe417..2350af92b5cb637fa482cb755379a9ced538f069 100644 --- a/lang/hi.json +++ b/lang/hi.json @@ -1340,7 +1340,6 @@ "CreateAndScheduleReport": "à¤à¤• रिपोरà¥à¤Ÿ तैयार करें और कारà¥à¤¯à¤•à¥à¤°à¤® तय करे", "CreateReport": "रिपोरà¥à¤Ÿ बनाà¤à¤", "CustomVisitorSegment": "विशिषà¥à¤Ÿ आगंतà¥à¤• खंड", - "DefaultContainingAllReports": "डिफ़ॉलà¥à¤Ÿ रिपोरà¥à¤Ÿ में सà¤à¥€ उपलबà¥à¤§ आंकड़े शामिल हैं.", "DescriptionOnFirstPage": "रिपोरà¥à¤Ÿ विवरण रिपोरà¥à¤Ÿ के पहले पृषà¥à¤ पर पà¥à¤°à¤¦à¤°à¥à¤¶à¤¿à¤¤ किया जाà¤à¤—ा.", "DisplayFormat_TablesOnly": "केवल तालिकाà¤à¤ (कोई रेखांकन) पà¥à¤°à¤¦à¤°à¥à¤¶à¤¿à¤¤ करें", "EmailHello": "नमसà¥à¤¤à¥‡", @@ -1354,7 +1353,6 @@ "NoRecipients": "इस रिपोरà¥à¤Ÿ में कोई पà¥à¤°à¤¾à¤ªà¥à¤¤à¤•à¤°à¥à¤¤à¤¾ नहीं हैं", "OClock": "बजे", "Pagination": "%s का %s पृषà¥à¤ ", - "PDF": "पीडीà¤à¤«", "PiwikReports": "Piwik पà¥à¤°à¤¤à¤¿à¤µà¥‡à¤¦à¤¨", "PleaseFindAttachedFile": "संलगà¥à¤¨ फाइल में %2$s के लिठअपने %1$s रिपोरà¥à¤Ÿ मिल दें", "PleaseFindBelow": "%2$s के लिठअपने %1$s रिपोरà¥à¤Ÿ के नीचे खोजे .", @@ -1387,7 +1385,6 @@ "DefaultAllVisits": "सà¤à¥€ का दौरा", "DragDropCondition": "खींचें और शरà¥à¤¤ बताये", "LoadingSegmentedDataMayTakeSomeTime": "खंडों आगंतà¥à¤• डेटा पà¥à¤°à¤¸à¤‚सà¥à¤•à¤°à¤£ में कà¥à¤› मिनट लग सकते हैं ...", - "NewSegment": "नई खंड", "OperatorAND": "और", "OperatorOR": "या", "SaveAndApply": "सहेजें और लागू करें", @@ -1500,7 +1497,6 @@ "FromPreviousSiteSearchesInline": "%s आंतरिक खोजों से", "FromSearchEngines": "खोज इंजन से", "FromWebsites": "वेबसाइटों से", - "Including": "सहित", "IncomingTraffic": "आने वाले यातायात", "LoopsInline": "पृषà¥à¤ पà¥à¤¨à¤ƒ लोड %s", "NoDataForAction": "%s के लिठकोई डेटा नहीं है", @@ -1512,7 +1508,6 @@ "ToFollowingPagesInline": "%s आंतरिक पृषà¥à¤ ", "ToFollowingSiteSearches": "आंतरिक खोजें", "ToFollowingSiteSearchesInline": "%s आंतरिक खोजें", - "ToInternalPages": "आंतरिक पृषà¥à¤ ों के लिà¤", "XOfAllPageviews": "इस पृषà¥à¤ के सà¤à¥€ दृशà¥à¤¯à¥‹à¤‚ का %s", "XOutOfYVisits": "%s (बाहर %s)" }, @@ -1883,7 +1878,6 @@ "GoalConversions": "%s लकà¥à¤·à¥à¤¯ रूपांतरण", "Hours": "घंटे", "HoursAgo": "%s घंटे पहले", - "LoginToViewRealTime": "Piwik रीयल टाइम आगंतà¥à¤• नकà¥à¤¶à¤¾ देखने के लिठलॉग इन करें!", "map": "नकà¥à¤¶à¤¾", "Minutes": "मिनट", "MinutesAgo": "%s मिनट पहले", @@ -1895,7 +1889,6 @@ "Seconds": "सेकंडà¥à¤¸", "SecondsAgo": "%s सेकंड पहले", "ShowingVisits": "आखिरी का à¤à¥‚ सà¥à¤¥à¤¿à¤¤ दौरा", - "toggleFullscreen": "फà¥à¤² सà¥à¤•à¥à¤°à¥€à¤¨ टॉगल", "Unlocated": "<b>%s<\/b> %p से यातà¥à¤°à¤¾à¤“ं की %c à¤à¥Œà¤—ोलिक सà¥à¤¥à¤¿à¤¤ खोजा नहीं जा सकता है.", "VisitorMap": "आगंतà¥à¤• मानचितà¥à¤°", "worldMap": "विशà¥à¤µ मानचितà¥à¤°", diff --git a/lang/hu.json b/lang/hu.json index 5c42ab8fc72c1403379510aade5d8adbefe35d16..ea5f6e6428c215dc13de374e4b0fa39be8ffc794 100644 --- a/lang/hu.json +++ b/lang/hu.json @@ -728,7 +728,6 @@ "EmailReports": "Jelentés e-mailben", "EmailSchedule": "E-mail küldésének ütemezése", "MonthlyScheduleHelp": "Havi ütemezés: a jelentés a hónap elsÅ‘ napján kerül elküldésre.", - "PDF": "PDF", "PiwikReports": "Piwik jelentések", "PleaseFindAttachedFile": "A %2$s oldalról szóló %1$s webanalitikai jelentés a csatolt fájlban található.", "SendReportNow": "Jelentés elküldése most", @@ -1079,7 +1078,6 @@ }, "UserCountryMap": { "map": "térkép", - "toggleFullscreen": "teljes képernyÅ‘re", "worldMap": "világtérkép" }, "UserSettings": { @@ -1382,7 +1380,6 @@ "PluginDescription": "Jelentések webanalitikai alapadatokról: látogatások, egyedi látogatások, akciók gyakorisága, visszafordulások aránya, stb.", "VisitsSummary": "Látogatások összesÃtése", "VisitsSummaryDocumentation": "Ez egy összefoglaló nézet a látogatások folyamatáról.", - "WidgetLastVisitors": "Utolsó egyedi látogatók grafikonja", "WidgetLastVisits": "Utolsó látogatások grafikonja", "WidgetOverviewGraph": "Ãttekintés grafikonnal", "WidgetVisits": "Látogatások áttekintése" diff --git a/lang/id.json b/lang/id.json index f30069b39a3c2737c513e672990816f02ea7c3a9..5a34d308f6fc393fc9008b4107fd07b5ab10a27c 100644 --- a/lang/id.json +++ b/lang/id.json @@ -1307,7 +1307,6 @@ "CreateAndScheduleReport": "Buat dan Jadwalkan laporan", "CreateReport": "Buat Laporan", "CustomVisitorSegment": "pecahan pengunjung kustom:", - "DefaultContainingAllReports": "Laporan asali mengandung seluruh statistik yang teredia.", "DescriptionOnFirstPage": "Penjelasan laporan akan ditampilkan dalam halaman pertama laporan.", "DisplayFormat_TablesOnly": "Hanya tampilkan Tabel (tanpa grafik)", "EmailHello": "Apa kabar?", @@ -1321,7 +1320,6 @@ "NoRecipients": "Laporan ini tidak memiliki penerima", "OClock": "`", "Pagination": "Halaman %s dari %s", - "PDF": "PDF", "PiwikReports": "Laporan Piwik", "PleaseFindAttachedFile": "Silakan temukan berkas lampiran laporan %1$s Anda untuk %2$s.", "PleaseFindBelow": "Silakan temukan di bawah laporan %1$s Anda untuk %2$s.", @@ -1354,7 +1352,6 @@ "DefaultAllVisits": "Semua kunjungan", "DragDropCondition": "Kondisi Seret dan Taruh", "LoadingSegmentedDataMayTakeSomeTime": "Memproses pecahan data pengunjung mungkin membutuhkan waktu beberapa menit...", - "NewSegment": "Pecahan baru", "OperatorAND": "TAMBAH", "OperatorOR": "ATAU", "SaveAndApply": "Simpan dan Terapkan", @@ -1467,7 +1464,6 @@ "FromPreviousSiteSearchesInline": "%s dari pencarian dalam", "FromSearchEngines": "Dari Mesin Pencari", "FromWebsites": "Dari Situs", - "Including": "termasuk", "IncomingTraffic": "Lalu lintas masuk", "LoopsInline": "%s halam dimuat ulang", "NoDataForAction": "Tidak tersedia data untuk %s", @@ -1479,7 +1475,6 @@ "ToFollowingPagesInline": "%s menuju halaman dalam", "ToFollowingSiteSearches": "Pencarian Dalam", "ToFollowingSiteSearchesInline": "%s pencarian dalam", - "ToInternalPages": "ke halman dalam", "XOfAllPageviews": "%s dari selruh tanpilan dari halaman ini", "XOutOfYVisits": "%s (di luar dari %s)" }, @@ -1856,7 +1851,6 @@ "GoalConversions": "%s konversi tujuan", "Hours": "jam", "HoursAgo": "%s jam lalu", - "LoginToViewRealTime": "Masuk-log ke tampilan Peta Waktu Nyata Pengunjung Piwik!", "map": "peta", "Minutes": "menit", "MinutesAgo": "%s menit lalu", @@ -1868,7 +1862,6 @@ "Seconds": "detik", "SecondsAgo": "%s detik lalu", "ShowingVisits": "Kunjungan Lokasi-Geo terakhir", - "toggleFullscreen": "Beralih ke layar penuh", "Unlocated": "<b>%s<\/b> %p kunjungan dari %c lokasi-geo tidak diketahui.", "VisitorMap": "Peta Pengunjung", "worldMap": "peta dunia", @@ -2218,7 +2211,6 @@ "PluginDescription": "Laporan Analisis angka umum: kunjungan, pengunjung unik, jumlah tindakan, Tingkat Pentalan, dsb.", "VisitsSummary": "Rangkuman Kunjungan", "VisitsSummaryDocumentation": "Ini merupakan iktisar perkembangan kunjungan.", - "WidgetLastVisitors": "Grafik pengunjung unik terakhir", "WidgetLastVisits": "Grafik kunjungan terakhir", "WidgetOverviewGraph": "Iktisar dengan grafik", "WidgetVisits": "Iktisar kunjungan" diff --git a/lang/is.json b/lang/is.json index c69989daeb47c43b85fa0cf7b5cfed7c4868f6f5..30d387243b8c50ed612c6beac800ef1c28787ae3 100644 --- a/lang/is.json +++ b/lang/is.json @@ -392,7 +392,6 @@ "EmailReports": "Senda skýrslur með tölvupósti", "EmailSchedule": "TÃmaáætlun fyrir tölvupóst", "MonthlyScheduleHelp": "Mánaðarleg tÃmaáætlun: skýrsla er send fyrsta dag hvers mánaðar.", - "PDF": "PDF", "PiwikReports": "Piwik skýrslur", "PleaseFindAttachedFile": "Gjörðu svo vel að skoða skýrslu um %2$s à skránni %1$s sem er hjálögð.", "SendReportNow": "Senda skýrslu strax", @@ -965,7 +964,6 @@ "NbVisitsBounced": "%s heimsóknir hafa skoppað (yfirgefið vefinn eftir eina sÃðu)", "PluginDescription": "Gefur skýrslu um almennar greiningartölur: heimsóknir, einstakir gestir, fjöldi aðgerða, skopptÃðni, o.s.frv.", "VisitsSummary": "Samantekt heimsókna", - "WidgetLastVisitors": "LÃnurit yfir sÃðustu einstaka gesti", "WidgetLastVisits": "LÃnurit yfir sÃðustu heimsóknir", "WidgetOverviewGraph": "Yfirlit með lÃnuriti", "WidgetVisits": "Heimsóknayfirlit" diff --git a/lang/it.json b/lang/it.json index eb187ef63a4e5b262884d3a7f78be91c3bcf934d..69ef2ffb1e31dee5fd668575bdce2912c76dcb79 100644 --- a/lang/it.json +++ b/lang/it.json @@ -3,7 +3,7 @@ "AvgGenerationTimeTooltip": "Media basata su %s hit(s) %s tra %s e %s", "ColumnClickedURL": "URL Click", "ColumnClicks": "Clicks", - "ColumnClicksDocumentation": "Il numero di volte che questo link è stato cliccato", + "ColumnClicksDocumentation": "Numero di volte che questo link è stato cliccato", "ColumnDownloadURL": "URL Download", "ColumnEntryPageTitle": "Titoli pagine di ingresso", "ColumnEntryPageURL": "URL pagine di ingresso", @@ -1356,7 +1356,6 @@ "CreateAndScheduleReport": "Crea e programma un report", "CreateReport": "Crea report", "CustomVisitorSegment": "Segento Personalizzato Visitatore:", - "DefaultContainingAllReports": "Report di default contenente tutte le statistiche disponibili.", "DescriptionOnFirstPage": "La descrizione del report verrà visualizzata nella prima pagina del report.", "DisplayFormat_TablesOnly": "Mostra solo Tabelle (niente grafici)", "EmailHello": "Salve,", @@ -1370,7 +1369,6 @@ "NoRecipients": "Questo report non ha destinatari", "OClock": ".", "Pagination": "Pagina %s di %s", - "PDF": "PDF", "PiwikReports": "Report di Piwik", "PleaseFindAttachedFile": "Potete trovare nel file allegato %1$s il report per %2$s.", "PleaseFindBelow": "Di seguito trovate il vostro %1$s report per %2$s.", @@ -1403,7 +1401,6 @@ "DefaultAllVisits": "Tutte le visite", "DragDropCondition": "Copia & Incolla condizione", "LoadingSegmentedDataMayTakeSomeTime": "L'elaborazione dei dati visitatore segmentati può richiedere qualche minuto...", - "NewSegment": "Nuovo segmento", "OperatorAND": "E", "OperatorOR": "O", "SaveAndApply": "Salva & Applica", @@ -1516,7 +1513,6 @@ "FromPreviousSiteSearchesInline": "%s da ricerche interne", "FromSearchEngines": "Da Motori di Ricerca", "FromWebsites": "Da siti web", - "Including": "includendo", "IncomingTraffic": "Traffico entrante", "LoopsInline": "%s pagine ricaricate", "NoDataForAction": "Non ci sono dati per %s", @@ -1528,7 +1524,6 @@ "ToFollowingPagesInline": "%s a pagine interne", "ToFollowingSiteSearches": "Ricerche Interne", "ToFollowingSiteSearchesInline": "%s ricerche interne", - "ToInternalPages": "a ricerche interne", "XOfAllPageviews": "%s di tutte le visualizzazioni di questa pagina", "XOutOfYVisits": "%s (su %s)" }, @@ -1904,7 +1899,6 @@ "GoalConversions": "%s conversioni goals", "Hours": "ore", "HoursAgo": "%s ore fa", - "LoginToViewRealTime": "Accedi per vedere la Mappa Piwik in Tempo Reale dei Visitatori!", "map": "mappa", "Minutes": "minuti", "MinutesAgo": "%s minuti fa", @@ -1916,7 +1910,6 @@ "Seconds": "secondi", "SecondsAgo": "%s secondi fa", "ShowingVisits": "Visite geolocalizzate degli ultimi", - "toggleFullscreen": "Passa a schermo intero", "Unlocated": "<b>%s<\/b> %p delle visite da %c non possono essere geolocalizzate.", "VisitorMap": "Mappa Visitatori", "worldMap": "mappamondo", @@ -2266,7 +2259,6 @@ "PluginDescription": "Riporta i dati generali di Web Analytics: visite, visite uniche, numero di azioni, frequenza di rimbalzo, ecc.", "VisitsSummary": "Sommario delle visite", "VisitsSummaryDocumentation": "Questa è una panoramica dell'evoluzione delle visite.", - "WidgetLastVisitors": "Grafico ultimi visitatori unici", "WidgetLastVisits": "Grafico ultime visite", "WidgetOverviewGraph": "Riepilogo con grafico", "WidgetVisits": "Riepilogo visite" diff --git a/lang/ja.json b/lang/ja.json index 8486f610ab227e0246229f59544eedc904b4166c..b3760d0ae2767aa7aaea55185510b6c7178e2759 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -1034,7 +1034,6 @@ "CancelAndReturnToReports": "ã‚ャンセルã—ã¦%sリãƒãƒ¼ãƒˆä¸€è¦§ã¸æˆ»ã‚‹%s", "CreateAndScheduleReport": "リãƒãƒ¼ãƒˆã®ä½œæˆã¨ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«", "CreateReport": "リãƒãƒ¼ãƒˆã®ä½œæˆ", - "DefaultContainingAllReports": "デフォルトã®ãƒ¬ãƒãƒ¼ãƒˆã«ã¯ã€ä½¿ç”¨å¯èƒ½ãªã™ã¹ã¦ã®çµ±è¨ˆãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚", "DescriptionOnFirstPage": "リãƒãƒ¼ãƒˆã®èª¬æ˜Žã¯ãƒªãƒãƒ¼ãƒˆã®æœ€åˆã®ãƒšãƒ¼ã‚¸ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚", "DisplayFormat_TablesOnly": "表ã®ã¿ã‚’表示(グラフã¯è¡¨ç¤ºã—ãªã„)", "EmailHello": "ã“ã‚“ã«ã¡ã¯ï¼", @@ -1044,7 +1043,6 @@ "ManageEmailReports": "メールリãƒãƒ¼ãƒˆã®ç®¡ç†", "MonthlyScheduleHelp": "月間スケジュール: リãƒãƒ¼ãƒˆã¯æ¯Žæœˆ1æ—¥ã«é€ä¿¡ã•ã‚Œã¾ã™ã€‚", "MustBeLoggedIn": "カスタムリãƒãƒ¼ãƒˆã®ä½œæˆã¨ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã¯ãƒã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚", - "PDF": "PDF", "PiwikReports": "Piwik リãƒãƒ¼ãƒˆ", "PleaseFindAttachedFile": "%2$s ã® %1$s ã®ãƒªãƒãƒ¼ãƒˆã‚’添付ã—ã¦ã„ã¾ã™ã€‚", "PleaseFindBelow": "%2$s ã® %1$s ã®ãƒªãƒãƒ¼ãƒˆã‚’ãŠå±Šã‘ã—ã¾ã™ã€‚", @@ -1410,7 +1408,6 @@ }, "UserCountryMap": { "map": "地図", - "toggleFullscreen": "フルスクリーンã«åˆ‡ã‚Šæ›¿ãˆã‚‹", "worldMap": "世界地図" }, "UserSettings": { @@ -1743,7 +1740,6 @@ "PluginDescription": "全体的ãªè§£æžæ•°ï¼ˆãƒ“ジットã€ãƒ¦ãƒ‹ãƒ¼ã‚¯ãƒ“ジター数ã€ã‚¢ã‚¯ã‚·ãƒ§ãƒ³æ•°ã€ãƒã‚¦ãƒ³ã‚¹çŽ‡ç‰ï¼‰ã‚’リãƒãƒ¼ãƒˆã—ã¾ã™ã€‚", "VisitsSummary": "ビジットã®æ¦‚è¦", "VisitsSummaryDocumentation": "ビジット推移ã®æ¦‚観ã§ã™", - "WidgetLastVisitors": "最終ユニークビジターã®ã‚°ãƒ©ãƒ•", "WidgetLastVisits": "最終ビジットã®ã‚°ãƒ©ãƒ•", "WidgetOverviewGraph": "グラフ付ã概観", "WidgetVisits": "ビジットã®æ¦‚観" diff --git a/lang/ka.json b/lang/ka.json index 0d4f4c6f8b66f8ab7e4196215dc81933d5f48755..3d745ef243784c5089b978982f6d7aff1a6cb93d 100644 --- a/lang/ka.json +++ b/lang/ka.json @@ -614,7 +614,6 @@ "EmailReports": "რეპáƒáƒ ტები ელ.ფáƒáƒ¡áƒ¢áƒáƒ–ე", "EmailSchedule": "ელ.ფáƒáƒ¡áƒ¢áƒáƒ–ე გáƒáƒ’ზáƒáƒ•áƒœáƒ˜áƒ¡ გáƒáƒœáƒ იგი", "MonthlyScheduleHelp": "ყáƒáƒ•áƒ”ლთვიური გáƒáƒœáƒ იგი: რეპáƒáƒ ტი გáƒáƒ˜áƒ’ზáƒáƒ•áƒœáƒ”ბრყáƒáƒ•áƒ”ლი თვის პირველ დღეს.", - "PDF": "PDF", "PiwikReports": "Piwik რეპáƒáƒ ტები", "PleaseFindAttachedFile": "გთხáƒáƒ•áƒ—, მიმáƒáƒ’რებულ ფáƒáƒ˜áƒšáƒ¨áƒ˜ იხილáƒáƒ— თქვენი %1$s რეპáƒáƒ ტი %2$s–სთვის.", "SendReportNow": "გáƒáƒ’ზáƒáƒ•áƒœáƒ”თ რეპáƒáƒ ტი áƒáƒ®áƒšáƒ", @@ -964,7 +963,6 @@ }, "UserCountryMap": { "map": "რუკáƒ", - "toggleFullscreen": "გáƒáƒ“áƒáƒ თვრსრულ ეკრáƒáƒœáƒ–ე", "worldMap": "მსáƒáƒ¤áƒšáƒ˜áƒ რუკáƒ" }, "UserSettings": { @@ -1236,7 +1234,6 @@ "NbVisitsBounced": "%s უსáƒáƒ გებლრვიზიტი (დáƒáƒ¢áƒáƒ•áƒ ვებ სáƒáƒ˜áƒ¢áƒ˜ ერთ გვერდის ნáƒáƒ®áƒ•áƒ˜áƒ¡ შემდეგ)", "PluginDescription": "áƒáƒ™áƒ”თებს áƒáƒœáƒ’áƒáƒ იშს áƒáƒœáƒáƒšáƒ˜áƒ–áƒáƒ¢áƒáƒ ის ძირითáƒáƒ“ მáƒáƒ©áƒ•áƒ”ნებლებზე: ვიზიტები, უნიკáƒáƒšáƒ£áƒ ი ვიზიტები, ქმედებების რáƒáƒáƒ“ენáƒáƒ‘áƒ, უსáƒáƒ გებლრშესვლის მáƒáƒ©áƒ•áƒ”ნებელი დრსხვ.", "VisitsSummary": "ვიზიტების მáƒáƒ™áƒšáƒ” áƒáƒœáƒ’áƒáƒ იში", - "WidgetLastVisitors": "ბáƒáƒšáƒ უნიკáƒáƒšáƒ£áƒ ი ვიზიტáƒáƒ ების გრáƒáƒ¤áƒ˜áƒ™áƒ˜", "WidgetLastVisits": "ბáƒáƒšáƒ ვიზიტების გრáƒáƒ¤áƒ˜áƒ™áƒ˜", "WidgetOverviewGraph": "მიმáƒáƒ®áƒ˜áƒšáƒ•áƒ გრáƒáƒ¤áƒ˜áƒ™áƒ˜áƒ—", "WidgetVisits": "ვიზიტების მიმáƒáƒ®áƒ˜áƒšáƒ•áƒ" diff --git a/lang/ko.json b/lang/ko.json index 870379372147b483cb15bc6c0cb8b7cab2611fc8..5168c73227c0947a0d05237baacba078d84e39ca 100644 --- a/lang/ko.json +++ b/lang/ko.json @@ -1230,7 +1230,6 @@ "CancelAndReturnToReports": "ì·¨ì†Œí•˜ê³ %së³´ê³ ì„œ 목ë¡ìœ¼ë¡œ ì´ë™%s", "CreateAndScheduleReport": "ë³´ê³ ì„œ 작성 ë° ì¼ì •", "CreateReport": "ë³´ê³ ì„œ ìƒì„±", - "DefaultContainingAllReports": "기본 ë³´ê³ ì„œëŠ” 사용 가능한 ëª¨ë“ í†µê³„ê°€ í¬í•¨ë˜ì–´ 있습니다.", "DescriptionOnFirstPage": "ë³´ê³ ì„œ ì„¤ëª…ì€ ë³´ê³ ì„œì˜ ì²« 페ì´ì§€ì— 표시ë©ë‹ˆë‹¤.", "DisplayFormat_TablesOnly": "í…Œì´ë¸”만 표시 (그래프는 표시ë˜ì§€ ì•ŠìŒ)", "EmailHello": "안녕하세요,", @@ -1244,7 +1243,6 @@ "NoRecipients": "ì´ ë³´ê³ ì„œì˜ ìˆ˜ì‹ ìžê°€ ì—†ìŒ", "OClock": "ì‹œ", "Pagination": "페ì´ì§€ %s \/ %s", - "PDF": "PDF", "PiwikReports": "Piwik ë³´ê³ ì„œ", "PleaseFindAttachedFile": "%2$sì˜ %1$sì˜ ë³´ê³ ì„œë¥¼ 첨부합니다.", "PleaseFindBelow": "%2$sì˜ %1$s ë³´ê³ ì„œë¥¼ ì œê³µí•©ë‹ˆë‹¤.", @@ -1361,7 +1359,6 @@ "FromPreviousSiteSearchesInline": "%s 내부 검색ì—ì„œ", "FromSearchEngines": "검색 엔진ì—ì„œ", "FromWebsites": "웹사ì´íŠ¸ì—ì„œ", - "Including": "í¬í•¨", "IncomingTraffic": "들어오는 트래픽", "LoopsInline": "%s 페ì´ì§€ ìƒˆë¡œê³ ì¹¨", "NoDataForAction": "%s ë°ì´í„° ì—†ìŒ", @@ -1373,7 +1370,6 @@ "ToFollowingPagesInline": "%s 내부 페ì´ì§€", "ToFollowingSiteSearches": "내부 검색", "ToFollowingSiteSearchesInline": "%s 내부 검색", - "ToInternalPages": "내부 페ì´ì§€ë¡œ", "XOfAllPageviews": "ì´ íŽ˜ì´ì§€ì˜ ëª¨ë“ ë³´ê¸° 중 %s", "XOutOfYVisits": "%s (%s 나ê°)" }, @@ -1749,7 +1745,6 @@ "GoalConversions": "%s 목표 ì „í™˜", "Hours": "시간", "HoursAgo": "%s시간 ì „", - "LoginToViewRealTime": "Piwik 실시간 ë°©ë¬¸ìž ì§€ë„를 ë³´ê¸°ë ¤ë©´ 로그ì¸í•˜ì„¸ìš”!", "map": "지ë„", "Minutes": "분", "MinutesAgo": "%s분 ì „", @@ -1761,7 +1756,6 @@ "Seconds": "ì´ˆ", "SecondsAgo": "%sì´ˆ ì „", "ShowingVisits": "최근 ë°©ë¬¸ì˜ ì§€ë¦¬ì 위치", - "toggleFullscreen": "ì „ì²´ 화면으로 ì „í™˜", "Unlocated": "<b>%s<\/b> %c 방문ì—ì„œ %pì˜ ì§€ë¦¬ì 위치를 ì°¾ì„ ìˆ˜ 없습니다.", "VisitorMap": "ë°©ë¬¸ìž ì§€ë„", "worldMap": "세계지ë„", @@ -2106,7 +2100,6 @@ "PluginDescription": "ì „ë°˜ì ì¸ ë¶„ì„수 (방문수, ê³ ìœ ë°©ë¬¸ìžìˆ˜, 활ë™ìˆ˜, 반송비율 등)를 ë³´ê³ í•©ë‹ˆë‹¤.", "VisitsSummary": "방문 개요", "VisitsSummaryDocumentation": "방문 ì¶”ì´ ê°œìš”ìž…ë‹ˆë‹¤.", - "WidgetLastVisitors": "최근 ê³ ìœ ë°©ë¬¸ìž ê·¸ëž˜í”„", "WidgetLastVisits": "최근 방문 그래프", "WidgetOverviewGraph": "개요 그래프", "WidgetVisits": "ë°©ë¬¸ìž ê°œìš”" diff --git a/lang/lt.json b/lang/lt.json index 91ba04e1da2aade5e8f1a0221de9830f896e26e6..b1a9e644044235cab42654aba095ebda3dbbeabc 100644 --- a/lang/lt.json +++ b/lang/lt.json @@ -647,7 +647,6 @@ "AlsoSendReportToTheseEmails": "Taip pat siųsti Å¡iÄ… ataskaitÄ… Å¡iems adresatams (kiekvienam adresui atskira eilutÄ—)", "CreateAndScheduleReport": "Sukurti ir suplanuoti ataskaitÄ…", "CreateReport": "Sukurti ataskaitÄ…", - "DefaultContainingAllReports": "Numatytoji ataskaita turi visÄ… pasiekiamÄ… statistikÄ…", "EmailHello": "Sveiki,", "EmailReports": "Ataskaitos el. paÅ¡tu", "EmailSchedule": "Siuntimo tvarkaraÅ¡tis", @@ -655,7 +654,6 @@ "ManageEmailReports": "Administruoti ataskaitas", "MonthlyScheduleHelp": "Kas mÄ—nesį: ataskaita bus iÅ¡siųsta kiekvieno mÄ—nesio pirmÄ…jÄ… dienÄ….", "Pagination": "Puslapis %s iÅ¡ %s", - "PDF": "PDF", "PiwikReports": "Piwik ataskaitos", "PleaseFindAttachedFile": "PraÅ¡ome peržiÅ«rÄ—ti %1$s ataskaitų failÄ… skirtÄ… %2$s.", "PluginDescription": "Sukurkite ir atsisiųskite savo ataskaitas arba nustatytike jų kadieninį, kas savaitinį ar mÄ—nesinį atsisiuntimÄ….", @@ -1014,7 +1012,6 @@ }, "UserCountryMap": { "map": "žemÄ—lapis", - "toggleFullscreen": "Perjungti į visÄ… ekranÄ…", "worldMap": "pasaulio žamÄ—lapis" }, "UserSettings": { @@ -1310,7 +1307,6 @@ "NbVisitsBounced": "%s atsitiktiniai apsilankymai (paliko svetainÄ™ po pirmojo puslapio)", "PluginDescription": "Parodo pagrindinius analizatoriaus duomenis: apsilankymus, unikalius lankytojus, veiksmų kiekį, Å¡oklumo koeficientÄ… ir t.t.", "VisitsSummary": "Apsilankymų suvestinÄ—", - "WidgetLastVisitors": "Paskutinių unikalių lankytojų diagrama", "WidgetLastVisits": "Paskutinių apsilankymų diagrama", "WidgetOverviewGraph": "PeržiÅ«ra su diagrama", "WidgetVisits": "Apsilankymų peržiÅ«ra" diff --git a/lang/lv.json b/lang/lv.json index d243e40dcc811561b063ea0ecc61527a2600b563..77d6ec062182061be0bc8a775899c6e7fe75724a 100644 --- a/lang/lv.json +++ b/lang/lv.json @@ -668,12 +668,10 @@ }, "ScheduledReports": { "CreateReport": "Izveidot atskaiti", - "DefaultContainingAllReports": "NoklusÄ“juma atskaite satur visu pieejamo statistiku.", "EmailHello": "Sveiki,", "EmailReports": "E-pasta atskaites", "FrontPage": "PirmÄ lapa", "Pagination": "%s. lapa no %s", - "PDF": "PDF", "PiwikReports": "Piwik atskaites", "ReportFormat": "Atskaites formÄts", "ReportsIncluded": "IekļautÄ statistika", @@ -1021,7 +1019,6 @@ }, "UserCountryMap": { "map": "karte", - "toggleFullscreen": "PÄrslÄ“gt pilnekrÄna režīmu", "worldMap": "Pasaules karte" }, "UserSettings": { diff --git a/lang/nb.json b/lang/nb.json index cdfc39ddfabcb04c0a0ef5e0cf171575733c4e98..aa47276ac7449af7c3df5299e597b1778cec1c20 100644 --- a/lang/nb.json +++ b/lang/nb.json @@ -789,7 +789,6 @@ "ManageEmailReports": "Administrer e-postrapporter", "MonthlyScheduleHelp": "MÃ¥nedsplan: Rapportene blir sendt første dag i hver mÃ¥ned.", "Pagination": "Side %s av %s", - "PDF": "PDF", "PiwikReports": "Piwik-rapporter", "PleaseFindAttachedFile": "I den vedlagte filen finner du din %1$s rapport for %2$s.", "ReportFormat": "Rapportformat", @@ -804,7 +803,6 @@ "SegmentEditor": { "AddNewSegment": "Legg til nytt segment", "ChooseASegment": "Velg et segment", - "NewSegment": "Nytt segment", "OperatorAND": "OG", "OperatorOR": "ELLER", "SegmentIsDisplayedForWebsite": "og vises for", @@ -858,11 +856,9 @@ "FromPreviousSiteSearchesInline": "%s fra interne søk", "FromSearchEngines": "Fra søkemotorer", "FromWebsites": "Fra nettsider", - "Including": "inkludert", "IncomingTraffic": "Innkommende trafikk", "OutgoingTraffic": "UtgÃ¥ende trafikk", "ToFollowingSiteSearches": "Interne søk", - "ToInternalPages": "til interne sider", "XOutOfYVisits": "%s (av %s)" }, "UserCountry": { @@ -1176,7 +1172,6 @@ "Regions": "Regioner", "Seconds": "sekunder", "SecondsAgo": "%s sekunder siden", - "toggleFullscreen": "SlÃ¥ av\/pÃ¥ fullskjerm", "worldMap": "verdenskart", "WorldWide": "Verdensbasis" }, @@ -1481,7 +1476,6 @@ "NbVisitsBounced": "%s besøk har sprettet (forlatt nettstedet etter en side)", "PluginDescription": "Rapporterer generell statistikk: Besøk, unike besøkende, antall handlinger, sprettfrekvens, osv.", "VisitsSummary": "Besøksammendrag", - "WidgetLastVisitors": "Grafikk over siste unike besøkende", "WidgetLastVisits": "Graf over siste besøk", "WidgetOverviewGraph": "Oversikt med grafikk", "WidgetVisits": "Besøksoversikt" diff --git a/lang/nl.json b/lang/nl.json index 0e5804e88ded9ca2316de350e9a4c774c86ba310..cc14f33335e033e3da441217e112d260340720e0 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -1338,7 +1338,6 @@ "CreateAndScheduleReport": "Maak en plan een rapport", "CreateReport": "Maak een rapport", "CustomVisitorSegment": "Aangepast bezoekers segment:", - "DefaultContainingAllReports": "Standaard rapport bevat alle beschikbare statistische gegevens.", "DescriptionOnFirstPage": "Het rapport beschrijving wordt weergegeven op de eerste pagina van het rapport.", "DisplayFormat_TablesOnly": "Toon alleen tabellen (geen grafieken)", "EmailHello": "Hallo,", @@ -1352,7 +1351,6 @@ "NoRecipients": "Dit rapport heeft geen ontvangers", "OClock": "uur", "Pagination": "Pagina %s van %s", - "PDF": "PDF", "PiwikReports": "Piwik rapporten", "PleaseFindAttachedFile": "In de bijlage treft u uw %1$s rapport voor %2$s.", "PleaseFindBelow": "Hieronder treft u uw %1$s rapport voor %2$s.", @@ -1379,7 +1377,6 @@ "ChooseASegment": "Kies een segment", "DefaultAllVisits": "Alle bezoeken", "DragDropCondition": "Sleep en verplaats voorwaarde", - "NewSegment": "Nieuw segment", "OperatorAND": "EN", "OperatorOR": "OF", "SaveAndApply": "Bewaar & Pas Toe", @@ -1784,7 +1781,6 @@ "Searches": "%s zoekopdrachten", "Seconds": "seconden", "SecondsAgo": "%s seconden geleden", - "toggleFullscreen": "Volledig scherm", "worldMap": "wereldkaart", "WorldWide": "Wereldwijd" }, @@ -2122,7 +2118,6 @@ "PluginDescription": "Toont de algemene analyses: bezoeken, unieke bezoekers, aantal acties, bouncerate enz.", "VisitsSummary": "Bezoekers samenvatting", "VisitsSummaryDocumentation": "Dit is een trendlijn die de ontwikkeling weergeeft.", - "WidgetLastVisitors": "Laatste unieke bezoekers", "WidgetLastVisits": "Recente bezoeken", "WidgetOverviewGraph": "Totalen met trendlijn", "WidgetVisits": "Bezoeken totalen" diff --git a/lang/nn.json b/lang/nn.json index a824aa6a3812c97ea54c10c5080103f515cbb6d5..8c2be728c1f0fcc78846eacc6f46b676c789415d 100644 --- a/lang/nn.json +++ b/lang/nn.json @@ -1339,7 +1339,6 @@ "MaxNbActions": "%s maks mengd handlingar pÃ¥ ein vitjing", "NbUniqueVisitors": "%s unike vitjarar", "NbVisitsBounced": "%s vitjarar hev hoppa (forsvunne etter ein sidevising)", - "WidgetLastVisitors": "Graf over dei siste unike vitjarane", "WidgetLastVisits": "Siste vitjingar", "WidgetOverviewGraph": "Oversikt med graf", "WidgetVisits": "Vitjingsoversikt" diff --git a/lang/pl.json b/lang/pl.json index f8072081a6d37ae7a7b201f37600c9c123fcfdad..acc2b68fa27579c79f023ffdf2b7b17ceea1ad98 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -784,7 +784,6 @@ "FrontPage": "Strona główna", "ManageEmailReports": "Administracja raportami pocztowymi", "MonthlyScheduleHelp": "Planowanie miesiÄ™czne: raport bÄ™dzie wysyÅ‚any pierwszego dnia każdego miesiÄ…ca.", - "PDF": "PDF", "PiwikReports": "Raporty Piwik", "PleaseFindAttachedFile": "Prosimy odszukać w pliku zaÅ‚Ä…cznika twój %1$s raport dla %2$s.", "PleaseFindBelow": "Prosimy odszukać w poniższym %1$s raport %2$s.", @@ -1143,7 +1142,6 @@ }, "UserCountryMap": { "map": "mapa", - "toggleFullscreen": "Tryb peÅ‚noekranowy", "worldMap": "mapa Å›wiata" }, "UserSettings": { @@ -1450,7 +1448,6 @@ "NbVisitsBounced": "%s odwiedzin powróciÅ‚o (opuszczajÄ…c serwis po jednej stronie)", "PluginDescription": "Ogólne raporty liczbowe odnoÅ›nie: odwiedzin, jednorazowych odwiedzin, zakres ich dziaÅ‚aÅ„, współczynnik rezygnacji, etc.", "VisitsSummary": "Podsumowanie odwiedzin", - "WidgetLastVisitors": "Wykres ostatnich jednorazowych odwiedzajÄ…cych", "WidgetLastVisits": "Wykres z ostatnich odwiedzin", "WidgetOverviewGraph": "PodglÄ…d z wykresem", "WidgetVisits": "PodglÄ…d odwiedzin" diff --git a/lang/pt-br.json b/lang/pt-br.json index edf7b2f2b3a39e07ea2916305cbbf1ef0fdf125c..6db1c5c39b70017ed3383a24d48704b95d84cf68 100644 --- a/lang/pt-br.json +++ b/lang/pt-br.json @@ -1347,7 +1347,6 @@ "CreateAndScheduleReport": "Criar e agendar um relatório", "CreateReport": "Criar relatório", "CustomVisitorSegment": "Segmento de visitantes personalizado:", - "DefaultContainingAllReports": "Relatório padrão contém todas as estatÃsticas disponÃveis.", "DescriptionOnFirstPage": "A descrição do relatório será apresentado na primeira página do mesmo.", "DisplayFormat_TablesOnly": "Mostrar apenas tabelas (sem gráficos)", "EmailHello": "Olá,", @@ -1361,7 +1360,6 @@ "NoRecipients": "Este relatório não tem destinatários", "OClock": "horas", "Pagination": "Página %s de %s", - "PDF": "PDF", "PiwikReports": "Relatórios Piwik", "PleaseFindAttachedFile": "Por favor, encontrar no arquivo anexo o relatório %1$s para %2$s.", "PleaseFindBelow": "Veja abaixo o seu relatório %1$s para %2$s.", @@ -1394,7 +1392,6 @@ "DefaultAllVisits": "Todas as visitas", "DragDropCondition": "Condição Drag & Drop", "LoadingSegmentedDataMayTakeSomeTime": "O processamento segmentado de dados de visitantes pode demorar alguns mitutos...", - "NewSegment": "Novo segmento", "OperatorAND": "e", "OperatorOR": "ou", "SaveAndApply": "Salvar e Aplicar", @@ -1507,7 +1504,6 @@ "FromPreviousSiteSearchesInline": "%s de pesquisas internas", "FromSearchEngines": "Dos motores de busca", "FromWebsites": "de Websites", - "Including": "incluindo", "IncomingTraffic": "Tráfego de entrada", "LoopsInline": "%s atualizações de página", "NoDataForAction": "Não há dados para %s", @@ -1519,7 +1515,6 @@ "ToFollowingPagesInline": "%s para páginas internas", "ToFollowingSiteSearches": "Pesquisas internas", "ToFollowingSiteSearchesInline": "%s pesquisas internas", - "ToInternalPages": "para páginas internas", "XOfAllPageviews": "%s de todas as visualizações desta página", "XOutOfYVisits": "%s (fora de %s)" }, @@ -1896,7 +1891,6 @@ "GoalConversions": "%s conversões de meta", "Hours": "horas", "HoursAgo": "%s horas atrás", - "LoginToViewRealTime": "Login para ver o Mapa de visitantes Piwik em Tempo Real!", "map": "mapa", "Minutes": "minutos", "MinutesAgo": "%s minutos atrás", @@ -1908,7 +1902,6 @@ "Seconds": "segundos", "SecondsAgo": "%s segundos atrás", "ShowingVisits": "Geo-localização das últimas visitas", - "toggleFullscreen": "Alternar tela cheia", "Unlocated": "<b>%s<\/b> %p das visitas de %c não puderam ser geo localizados.", "VisitorMap": "Mapa de visitantes", "worldMap": "mapa mundi", @@ -2258,7 +2251,6 @@ "PluginDescription": "Relata os números gerais Analytics: visitas, visitantes únicos, número de ações, taxas, etc.", "VisitsSummary": "Resumo dos Visitantes", "VisitsSummaryDocumentation": "Esta é uma visão geral da evolução da visita.", - "WidgetLastVisitors": "Gráfico dos últimos visitantes únicos", "WidgetLastVisits": "Gráfico dos últimos visitantes", "WidgetOverviewGraph": "Visão Geral com Gráfico", "WidgetVisits": "Visão Geral dos Visitantes" diff --git a/lang/pt.json b/lang/pt.json index 775ed98b2ee0b2a9253a5b0a6524e468f1386d96..e773d6bfe8371ea3690201cfa8c3312ef34588a5 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -839,7 +839,6 @@ "CancelAndReturnToReports": "Cancelar e %sretornar para a lista de relatórios %s", "CreateAndScheduleReport": "Criar e agendar um relatório", "CreateReport": "Criar um relatório", - "DefaultContainingAllReports": "O Relatório padrão contém todas as estatÃsticas disponÃveis.", "DescriptionOnFirstPage": "A descrição do relatório será exibido na primeira página do relatório.", "EmailHello": "Olá,", "EmailReports": "Relatórios Email", @@ -849,7 +848,6 @@ "MonthlyScheduleHelp": "Agenda mensal: o relatório será enviado no primeiro dia de cada mês.", "MustBeLoggedIn": "Deve estar autenticado para criar e agendar relatórios personalizados.", "Pagination": "Página %s de %s", - "PDF": "PDF", "PiwikReports": "Relatórios Piwik", "PleaseFindAttachedFile": "Por favor encontre anexado o seu %1$s relatório para %2$s.", "PleaseFindBelow": "Veja abaixo o relatório %1$s para %2$s.", @@ -1214,7 +1212,6 @@ }, "UserCountryMap": { "map": "mapa", - "toggleFullscreen": "Alternar ecrã inteiro", "worldMap": "mapa mundial" }, "UserSettings": { @@ -1544,7 +1541,6 @@ "PluginDescription": "Relata os números gerais das AnalÃticas: visitas, visitantes únicos, número de acções, Taxa de Ressalto, etc.", "VisitsSummary": "Resumo das Visitas", "VisitsSummaryDocumentation": "Isto é uma visualização global da evolução das visitas.", - "WidgetLastVisitors": "Gráfico dos últimos visitantes únicos", "WidgetLastVisits": "Gráfico das últimas visitas", "WidgetOverviewGraph": "Visão geral com gráfico", "WidgetVisits": "Visão geral das visitas" diff --git a/lang/ro.json b/lang/ro.json index 3d793bbf8596db641bb6b6eae40a9e75ed2461ad..e473b90406992a18dfe6dd2c5190d04d41f487fa 100644 --- a/lang/ro.json +++ b/lang/ro.json @@ -851,7 +851,6 @@ "EmailReports": "Expediază raport prin e-mail", "OClock": "ore", "Pagination": "Pagina %s din %s", - "PDF": "PDF", "PiwikReports": "Rapoarte Piwik", "ReportFormat": "Formatul raportului", "ReportHour": "Expediază raportul la", @@ -868,7 +867,6 @@ "AutoArchiveRealTime": "rapoartele segmentate sunt procesate în timp real", "ChooseASegment": "Selectare segment", "DefaultAllVisits": "Toate vizite", - "NewSegment": "Segment nou", "OperatorAND": "ÅžI", "OperatorOR": "SAU", "SaveAndApply": "Salvează ÅŸi aplică", @@ -908,7 +906,6 @@ }, "Transitions": { "ExitsInline": "%s există", - "Including": "inclusiv", "XOutOfYVisits": "%s (din %s)" }, "UserCountry": { @@ -1212,7 +1209,6 @@ "Cities": "OraÅŸe", "Countries": "Ţări", "Hours": "ore", - "LoginToViewRealTime": "Intră pentru a vizualiza harta vizitatorilor în timp real", "Minutes": "minute", "None": "Nu sunt", "RealTimeMap": "Harta în timp real", @@ -1516,7 +1512,6 @@ "NbUniqueVisitors": "%s vizitatori unici", "VisitsSummary": "Rezumatul vizitelor", "VisitsSummaryDocumentation": "Acesta este un rezumat a evoluÅ£iei vizitelor.", - "WidgetLastVisitors": "Grafic ultimi vizitatori unici", "WidgetLastVisits": "Grafic ultima vizita", "WidgetOverviewGraph": "Rezumatul grafic", "WidgetVisits": "Rezumatul vizitelor" diff --git a/lang/ru.json b/lang/ru.json index fef0d1df2fe5b1f5e8bae9bd536f2b3ea134d5c8..fbad995a1588507270157d7165821ac2bdd3c9af 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -1258,7 +1258,6 @@ "CancelAndReturnToReports": "Отменить и %sвернутьÑÑ Ðº ÑпиÑку отчетов%s", "CreateAndScheduleReport": "Создать и наÑтроить раÑпиÑание отчетов", "CreateReport": "Создать отчетноÑÑ‚ÑŒ", - "DefaultContainingAllReports": "Отчет по умолчанию Ñодержит вÑÑŽ доÑтупную ÑтатиÑтику.", "DescriptionOnFirstPage": "ОпиÑание отчета будет отображено на первой Ñтрание отчета.", "DisplayFormat_TablesOnly": "Отображать только таблицы (без графиков)", "EmailHello": "ЗдравÑтвуйте,", @@ -1272,7 +1271,6 @@ "NoRecipients": "У Ñтого отчета нет получателей", "OClock": "чаÑов", "Pagination": "Страница %s из %s", - "PDF": "PDF", "PiwikReports": "Отчеты Веб-аналитики", "PleaseFindAttachedFile": "К Ñтому пиÑьму прикреплен файл %1$s, ÑвлÑющийÑÑ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð¾Ð¼ Ð´Ð»Ñ %2$s.", "PleaseFindBelow": "ПожалуйÑта, ниже вашего %1$s отчет за %2$s.", @@ -1298,7 +1296,6 @@ "AutoArchiveRealTime": "отчёты по Ñегментам обрабатываютÑÑ Ð² реальном времени", "ChooseASegment": "Выбрать Ñегмент", "DefaultAllVisits": "Ð’Ñе поÑещениÑ", - "NewSegment": "Ðовый Ñегмент", "OperatorAND": "И", "OperatorOR": "ИЛИ", "SaveAndApply": "Сохранить и применить", @@ -1410,7 +1407,6 @@ "FromPreviousSiteSearchesInline": "%s Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ поиÑка по Ñайту", "FromSearchEngines": "Ñ Ð¿Ð¾Ð¸Ñковых ÑиÑтем", "FromWebsites": "Ñ Ñайтов", - "Including": "включаÑ", "IncomingTraffic": "ВходÑщий трафик", "LoopsInline": "%s обновлений Ñтраницы", "NoDataForAction": "Ðет данныз Ð´Ð»Ñ %s", @@ -1422,7 +1418,6 @@ "ToFollowingPagesInline": "%s на внутренние Ñтраницы", "ToFollowingSiteSearches": "внутренних поиÑков по Ñайту", "ToFollowingSiteSearchesInline": "%s внутренних поиÑков по Ñайту", - "ToInternalPages": "на внутренние Ñтраницы", "XOfAllPageviews": "%s из вÑех проÑмотров Ñтраницы", "XOutOfYVisits": "%s (из %s)" }, @@ -1800,7 +1795,6 @@ "Searches": "%s поиÑковых запроÑов", "Seconds": "Ñекунд", "SecondsAgo": "%s Ñекунд назад", - "toggleFullscreen": "Развернуть на веÑÑŒ Ñкран", "VisitorMap": "Карта поÑещений", "worldMap": "карта мира", "WorldWide": "ВеÑÑŒ мир" @@ -2146,7 +2140,6 @@ "PluginDescription": "Показывает общую аналитику: поÑещениÑ, уникальные поÑетители, поличеÑтво дейÑтвий, Ð´Ð¾Ð»Ñ Ð¾Ñ‚ÐºÐ°Ð·Ð¾Ð² и Ñ‚. д.", "VisitsSummary": "ПоÑещениÑ", "VisitsSummaryDocumentation": "Ðто обзор динамики поÑещений.", - "WidgetLastVisitors": "График поÑледних уникальных поÑещений", "WidgetLastVisits": "График поÑледних поÑещений", "WidgetOverviewGraph": "Обзор по вÑем графикам", "WidgetVisits": "Обзор поÑещений" diff --git a/lang/sk.json b/lang/sk.json index 4d4dadcee3535bec21093b99b810a453c4173472..2703835ad1cd418200fe8d54f06096b64a274a93 100644 --- a/lang/sk.json +++ b/lang/sk.json @@ -590,7 +590,6 @@ "EmailReports": "Reporty e-mailom", "EmailSchedule": "E-mail report", "MonthlyScheduleHelp": "MesaÄný plán: správa bude odoslaná prvý deň každého mesiaca.", - "PDF": "PDF", "PiwikReports": "Reporty", "PleaseFindAttachedFile": "Nájdete v priloženom súbore %1$s reporte pre %2$s.", "SendReportNow": "Teraz poslaÅ¥ report", @@ -906,7 +905,6 @@ }, "UserCountryMap": { "map": "mapa", - "toggleFullscreen": "PrepÃnaÄ na celú obrazovku", "worldMap": "svetová mapa" }, "UserSettings": { @@ -1192,7 +1190,6 @@ "NbVisitsBounced": "%s návÅ¡tev odskoÄilo (odiÅ¡li po zobrazenà jednej stránky)", "PluginDescription": "VÅ¡eobecný analytický report: návÅ¡tevy, jedineÄné návÅ¡tevy, poÄet akciÃ, Bounce Rate, atÄ", "VisitsSummary": "VÅ¡etky návÅ¡tevy", - "WidgetLastVisitors": "Graf posledných jedineÄných návÅ¡tevnÃkov", "WidgetLastVisits": "Graf posledných návÅ¡tev", "WidgetOverviewGraph": "Prehľad s grafom", "WidgetVisits": "Prehľad návÅ¡tevnÃkov" diff --git a/lang/sl.json b/lang/sl.json index f89f5071e2debb332bf9a9ee39051b940f0fac46..dd2677e2baea28ec60fd1b52255a5c4cc9bfb721 100644 --- a/lang/sl.json +++ b/lang/sl.json @@ -740,7 +740,6 @@ "ManageEmailReports": "Urejaj Email PoroÄila", "MonthlyScheduleHelp": "MeseÄno poroÄilo: poroÄilo bo poslano vsak prvi dan v mesecu.", "Pagination": "Stran %s od %s", - "PDF": "PDF", "PiwikReports": "Piwik PoroÄila", "ReportFormat": "Format poroÄila", "ReportsIncluded": "Statistika vkljuÄena", @@ -1097,7 +1096,6 @@ }, "UserCountryMap": { "map": "zemljevid", - "toggleFullscreen": "Celozaslonski NaÄin", "worldMap": "svetovni zemljevid" }, "UserSettings": { @@ -1384,7 +1382,6 @@ "PluginDescription": "Prikaže sploÅ¡ne statistike glede obiska na spletni strani: obiske, unikatne obiske, Å¡tevilo akcij, odbojno stopnjo, itd.", "VisitsSummary": "Povzetek obiskov", "VisitsSummaryDocumentation": "To je pregled obiskov v zadnjem Äasu.", - "WidgetLastVisitors": "Graf zadnjih unikatnih obiskov", "WidgetLastVisits": "Graf zadnjih obiskov", "WidgetOverviewGraph": "Pregled z grafom", "WidgetVisits": "Povzetek obiskov" diff --git a/lang/sq.json b/lang/sq.json index 3a25d6226543bed9783d79f61865383052de5f91..776da0732e4828410dc7136cc0edef3ea53b5a7e 100644 --- a/lang/sq.json +++ b/lang/sq.json @@ -907,7 +907,6 @@ "CancelAndReturnToReports": "Anuloje dhe %skthehu te lista e raporteve%s", "CreateAndScheduleReport": "Krijoni dhe Planifikoni një raport", "CreateReport": "Krijoje Raportin", - "DefaultContainingAllReports": "Raporti parazgjedhje përmban krejt statistikat e passhme.", "DescriptionOnFirstPage": "Përshkrimi i raportit do të shfaqet te faqja e parë e raportit.", "EmailHello": "Tungjatjeta,", "EmailReports": "Dërgo Raportet Me Email", @@ -917,7 +916,6 @@ "MonthlyScheduleHelp": "Planifikim mujor: raporti do të dërgohet ditën e parë të çdo muaji.", "MustBeLoggedIn": "Duhet të jeni i futur që të krijoni dhe të planifikoni raporte të personalizuar.", "Pagination": "Faqja %s nga %s", - "PDF": "PDF", "PiwikReports": "Raporte Piwik", "PleaseFindAttachedFile": "Ju lutem, shihni te kartela bashkangjitur %1$s raportin tuaj për %2$s.", "PleaseFindBelow": "Ju lutem, shihni më poshtë raportin tuaj %1$s për %2$s.", @@ -1283,7 +1281,6 @@ }, "UserCountryMap": { "map": "hartë", - "toggleFullscreen": "Kalo në\/dil nga mënyra tërë ekrani", "worldMap": "hartë e botës" }, "UserSettings": { @@ -1530,7 +1527,6 @@ "PluginDescription": "Raporton numrat e përgjithshëm të Analizës: vizita, vizitorë unikë, numër veprimesh, Shkallë Kthimesh, etj.", "VisitsSummary": "Përmbledhje Vizitash", "VisitsSummaryDocumentation": "Kjo është një përmbledhje e evolucionit të vizitave", - "WidgetLastVisitors": "Grafik për vizitorët e fundit unikë", "WidgetLastVisits": "Grafik për vizitat e fundit", "WidgetOverviewGraph": "Përmbledhje me grafik", "WidgetVisits": "Përmbledhje vizitash" diff --git a/lang/sr.json b/lang/sr.json index 96d74ac4e174d94ff6ad83aa45d008963734ea44..18dc1a6e23217bec74a4da6016a8b186a18e97ee 100644 --- a/lang/sr.json +++ b/lang/sr.json @@ -1308,7 +1308,6 @@ "CreateAndScheduleReport": "Kreiraj i zakaži izveÅ¡taj", "CreateReport": "Kreiraj izveÅ¡taj", "CustomVisitorSegment": "KorisniÄki definisan segment posetilaca:", - "DefaultContainingAllReports": "Podrazumevani izveÅ¡taj sadrži sve raspoložive statistike", "DescriptionOnFirstPage": "Opis izveÅ¡taja će biti prikazan na prvoj stranici izveÅ¡taja.", "DisplayFormat_TablesOnly": "Prikaži samo tabele (bez grafikona)", "EmailHello": "Pozdrav,", @@ -1322,7 +1321,6 @@ "NoRecipients": "Nije definisan primaoc", "OClock": "sati", "Pagination": "Strana %s od %s", - "PDF": "PDF", "PiwikReports": "Piwik izveÅ¡taji", "PleaseFindAttachedFile": "u prilogu se nalazi vaÅ¡ %1$s izveÅ¡taj za %2$s.", "PleaseFindBelow": "u nastavku je vaÅ¡ %1$s izveÅ¡taj za %2$s.", @@ -1355,7 +1353,6 @@ "DefaultAllVisits": "Sve posete", "DragDropCondition": "Prevuci i Pusti uslov", "LoadingSegmentedDataMayTakeSomeTime": "Obrada podataka može potrajati par trenutaka...", - "NewSegment": "Novi segment", "OperatorAND": "I", "OperatorOR": "ILI", "SaveAndApply": "SaÄuvaj i primeni", @@ -1468,7 +1465,6 @@ "FromPreviousSiteSearchesInline": "%s iz pretraživanja sajta", "FromSearchEngines": "Od pretraživaÄa", "FromWebsites": "Od sajtova", - "Including": "ukljuÄujući", "IncomingTraffic": "Dolazni saobraćaj", "LoopsInline": "%s ponovnih uÄitavanja stranice", "NoDataForAction": "Nema podataka za %s", @@ -1480,7 +1476,6 @@ "ToFollowingPagesInline": "%s ka drugim stranicama", "ToFollowingSiteSearches": "Pretraživanja sajta", "ToFollowingSiteSearchesInline": "%s pretraživanja sajta", - "ToInternalPages": "ka internim stranicama", "XOfAllPageviews": "%s od svih pregleda ove strane", "XOutOfYVisits": "%s (od %s)" }, @@ -1857,7 +1852,6 @@ "GoalConversions": "%s ispunjenih ciljeva", "Hours": "sati", "HoursAgo": "pre %s sati", - "LoginToViewRealTime": "Prijavite se kako biste videli Piwik mapu posetilaca u realnom vremenu!", "map": "mapa", "Minutes": "minuti", "MinutesAgo": "pre %s minuta", @@ -1869,7 +1863,6 @@ "Seconds": "sekundi", "SecondsAgo": "pre %s sekundi", "ShowingVisits": "Geolocirane posete od poslednjih", - "toggleFullscreen": "Ceo ekran", "Unlocated": "<b>%s<\/b> %p od poseta sa %c nije moguće geolocirati.", "VisitorMap": "Mapa posetilaca", "worldMap": "svetska mapa", @@ -2219,7 +2212,6 @@ "PluginDescription": "OpÅ¡te analitiÄke brojke: posete, jedinstveni posetioci, broj akcija, stopa odbijanja itd.", "VisitsSummary": "Sumarno", "VisitsSummaryDocumentation": "Ovo je pregled razvoja poseta", - "WidgetLastVisitors": "Grafikon najskorijih jedinstvenih posetilaca", "WidgetLastVisits": "Grafikon najskorijih poseta", "WidgetOverviewGraph": "Pregled sa grafikonom", "WidgetVisits": "Pregled poseta" diff --git a/lang/sv.json b/lang/sv.json index 5896e90ba560b00ebd4968f4af9ab196aef5049f..15d477f49f1e992a05635fc3fc37dbee932e9a2e 100644 --- a/lang/sv.json +++ b/lang/sv.json @@ -1266,7 +1266,6 @@ "CancelAndReturnToReports": "Avbryt och %sÃ¥tergÃ¥ till listan över rapporter%s", "CreateAndScheduleReport": "Skapa och schemalägg en rapport", "CreateReport": "Skapa rapport", - "DefaultContainingAllReports": "Standardrapporten innehÃ¥ller all tillgänglig statistik.", "DescriptionOnFirstPage": "Rapportens beskrivning kommer att visas pÃ¥ första sidan i rapporten.", "DisplayFormat_TablesOnly": "Visa Tabeller (inga grafer)", "EmailHello": "Hej,", @@ -1280,7 +1279,6 @@ "NoRecipients": "Rapporten har ingen mottagare", "OClock": "klockan", "Pagination": "Sida %s av %s", - "PDF": "PDF", "PiwikReports": "Piwik Rapporter", "PleaseFindAttachedFile": "Du finner din rapport %1$s i den bifogade filen för %2$s.", "PleaseFindBelow": "Nedan hittar du din %1$s rapport för %2$s.", @@ -1305,12 +1303,12 @@ "AreYouSureDeleteSegment": "Vill du verkligen radera detta segment?", "ChooseASegment": "Välj ett segment", "DefaultAllVisits": "Alla besök", - "NewSegment": "Nytt segment", "OperatorAND": "OCH", "OperatorOR": "ELLER", "SaveAndApply": "Spara & Använd", "SegmentDisplayedAllWebsites": "alla webbsidor", "SegmentDisplayedThisWebsiteOnly": "endast denna webbsida", + "SelectSegmentOfVisitors": "Välj ett besökarsegment", "VisibleToAllUsers": "alla användare", "VisibleToMe": "jag" }, @@ -1409,7 +1407,6 @@ "FromPreviousSiteSearchesInline": "%s frÃ¥n interna sökningar", "FromSearchEngines": "FrÃ¥n sökmotorer", "FromWebsites": "FrÃ¥n webbplatser", - "Including": "inklusive", "IncomingTraffic": "Inkommande trafik", "LoopsInline": "%s siduppdateringar", "NoDataForAction": "Det finns inga data för %s", @@ -1421,7 +1418,6 @@ "ToFollowingPagesInline": "%s till interna sidor", "ToFollowingSiteSearches": "Interna Sökningar", "ToFollowingSiteSearchesInline": "%s interna sökningar", - "ToInternalPages": "till interna sidor", "XOfAllPageviews": "%s av alla sidvisningar", "XOutOfYVisits": "%s (av %s)" }, @@ -1797,7 +1793,6 @@ "GoalConversions": "%s mÃ¥lomvandlingar", "Hours": "timmar", "HoursAgo": "%s timmar sedan", - "LoginToViewRealTime": "Logga in för att visa Piwik's realtidskarta med användare!", "map": "karta", "Minutes": "minuter", "MinutesAgo": "%s minuter sedan", @@ -1809,7 +1804,6 @@ "Seconds": "sekunder", "SecondsAgo": "%s sekunder sedan", "ShowingVisits": "Geolokaliserade besök de senaste", - "toggleFullscreen": "Växla till fullskärm", "Unlocated": "<b>%s<\/b> %p av besöken frÃ¥n %c kunde inte geolokaliseras.", "VisitorMap": "Besökskarta", "worldMap": "världskarta", @@ -2155,25 +2149,24 @@ "PluginDescription": "Rapporterar allmänna analyssiffror: besök, unika besökare, antal händelser, avvisningsfrekvens, etc.", "VisitsSummary": "Besökssummering", "VisitsSummaryDocumentation": "Detta är en översikt av besöksutvecklingen.", - "WidgetLastVisitors": "Graf över senaste unika besökarna", "WidgetLastVisits": "Besöksgraf", "WidgetOverviewGraph": "Översiktsgraf", "WidgetVisits": "Besöksöversikt" }, "VisitTime": { "ColumnLocalTime": "Lokal tid", - "ColumnServerTime": "Server tid", + "ColumnServerTime": "Servertid", "DayOfWeek": "Veckodag", "LocalTime": "Besök efter lokal tid", "NHour": "%sh", "PluginDescription": "Rapporterar den lokala tiden och servertiden. Servertid kan vara användbart för att kunna schemalägga ett underhÃ¥ll pÃ¥ webbplatsen.", - "ServerTime": "Besök efter server tid", + "ServerTime": "Besök efter servertid", "SubmenuTimes": "Tider", "VisitsByDayOfWeek": "Besök efter veckodag", "WidgetByDayOfWeekDocumentation": "Den här grafen visar antalet besök din webbplats fÃ¥tt per veckodag.", "WidgetLocalTime": "Besök efter lokal tid", "WidgetLocalTimeDocumentation": "Denna graf visar vad klockan var i %s besökarens tidszon %s vid deras besök.", - "WidgetServerTime": "Besök efter server tid", + "WidgetServerTime": "Besök efter servertid", "WidgetServerTimeDocumentation": "Denna graf visar vad klockan var i %s serverns tidszon %s vid besöket." }, "Widgetize": { diff --git a/lang/te.json b/lang/te.json index b7d6d27deecb49cc994d123e56070288920cf236..79ec88ee3e38ca24982720497a1f51167e4119f2 100644 --- a/lang/te.json +++ b/lang/te.json @@ -589,7 +589,6 @@ }, "UserCountryMap": { "map": "పటం", - "toggleFullscreen": "నిండà±à°¤à±†à°°", "worldMap": "à°ªà±à°°à°ªà°‚à°š పటం" }, "UserSettings": { diff --git a/lang/th.json b/lang/th.json index 13e91a06eb6e5f28e0f6ab1aeef8070bf4448b3e..a66f92e0b1f934c2d7cc3b06bed4293609d27676 100644 --- a/lang/th.json +++ b/lang/th.json @@ -915,7 +915,6 @@ "MonthlyScheduleHelp": "ตารางเวลารายเดืà¸à¸™: รายงานจะถูà¸à¸ªà¹ˆà¸‡à¹„ปวันà¹à¸£à¸à¸‚à¸à¸‡à¹à¸•à¹ˆà¸¥à¸°à¹€à¸”ืà¸à¸™", "OClock": "นาฬิà¸à¸²", "Pagination": "หน้า %s จาภ%s", - "PDF": "PDF", "PiwikReports": "รายงาน Piwik", "PleaseFindAttachedFile": "à¸à¸£à¸¸à¸“าหาในไฟล์à¹à¸™à¸šà¸‚à¸à¸‡à¸„ุณ %1$s รายงานสำหรับ %2$s", "ReportFormat": "รูปà¹à¸šà¸šà¸£à¸²à¸¢à¸‡à¸²à¸™", @@ -986,7 +985,6 @@ "Transitions": { "FromCampaigns": "จาà¸à¹à¸„มเปà¸", "FromWebsites": "จาà¸à¹€à¸§à¹‡à¸šà¹„ซต์", - "Including": "รวมทั้ง", "NoDataForAction": "ยังไม่มีข้à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸«à¸£à¸±à¸š %s" }, "UserCountry": { @@ -1282,7 +1280,6 @@ }, "UserCountryMap": { "map": "à¹à¸œà¸™à¸—ี่", - "toggleFullscreen": "สลับเต็มจà¸", "worldMap": "à¹à¸œà¸™à¸—ี่โลà¸" }, "UserSettings": { @@ -1593,7 +1590,6 @@ "PluginDescription": "รายงานตัวเลขà¸à¸²à¸£à¸§à¸´à¹€à¸„ราะห์ทั่วไป: เข้าชม ผู้เข้าชมที่ไม่ซ้ำà¸à¸±à¸™ หมายเลขขà¸à¸‡à¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£ à¸à¸±à¸•à¸£à¸²à¸à¸²à¸£à¸•à¸à¸šà¸à¸¥à¸±à¸š ฯลฯ", "VisitsSummary": "สรุปà¸à¸²à¸£à¹€à¸‚้าชม", "VisitsSummaryDocumentation": "ภาพรวมขà¸à¸‡à¸œà¸¹à¹‰à¹€à¸‚้าชม", - "WidgetLastVisitors": "ผู้เข้าชมที่ไม่ซ้ำà¸à¸£à¸²à¸Ÿà¸¥à¹ˆà¸²à¸ªà¸¸à¸”", "WidgetLastVisits": "à¸à¸£à¸²à¸Ÿà¸‚à¸à¸‡à¸œà¸¹à¹‰à¹€à¸‚้าชมล่าสุด", "WidgetOverviewGraph": "ภาพรวมà¹à¸¥à¸°à¸à¸£à¸²à¸Ÿ", "WidgetVisits": "ภาพรวมผู้เข้าชม" diff --git a/lang/tr.json b/lang/tr.json index 2bacc74f7a95d3c862486a7f76272d977cb0ed72..64b264f1be39bce8c7985b0477aaea7d10ccf4f1 100644 --- a/lang/tr.json +++ b/lang/tr.json @@ -1050,9 +1050,7 @@ "SubmenuLocations": "Konumlar" }, "UserCountryMap": { - "LoginToViewRealTime": "GiriÅŸ yaparak gerçek zamanlı ziyaretçi haritasını görebilirsiniz!", "map": "harita", - "toggleFullscreen": "GeniÅŸ tüm ekran", "VisitorMap": "Ziyaretçi Haritası", "worldMap": "Dünya Haritası" }, @@ -1315,7 +1313,6 @@ "PluginDescription": "Genel analiz sonuçlarını rapor eder: ziyaretler,tekil ziyaretçiler,etkinlik sayıları,sıçrama oranı vb.", "VisitsSummary": "Özeri gör", "VisitsSummaryDocumentation": "Ziyaretler için genel bakış niteliÄŸindedir.", - "WidgetLastVisitors": "Son tekil ziyaretçi grafiÄŸi", "WidgetLastVisits": "Son ziyaret grafiÄŸi", "WidgetOverviewGraph": "Grafiklere genel bakış", "WidgetVisits": "Ziyaret özeti" diff --git a/lang/uk.json b/lang/uk.json index 002aaf9b635129f887078c448968e3c79ca020c8..0e93e8dd2289e90e86c72d86f8d4a2949a13bd49 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -615,7 +615,6 @@ "EmailReports": "Звіти на е-майл", "EmailSchedule": "Розклад розÑилки", "MonthlyScheduleHelp": "ЩоміÑÑчний розклад: звіт буде надÑилатиÑÑ Ð² перший день кожного міÑÑцÑ", - "PDF": "PDF", "PiwikReports": "Звіти Piwik", "PleaseFindAttachedFile": "Прикріплений файл Ñ” звітом %1$s від %2$s.", "SendReportNow": "ÐадіÑлати звіт зараз", @@ -965,7 +964,6 @@ }, "UserCountryMap": { "map": "карта", - "toggleFullscreen": "Увімкнути повноекраний режим", "worldMap": "карта Ñвіту" }, "UserSettings": { @@ -1265,7 +1263,6 @@ "NbVisitsBounced": "%s візитів з відмовами (залишили Ñайт піÑÐ»Ñ Ð¿Ñ€ÐµÐ³Ð»Ñду однієї Ñторінки)", "PluginDescription": "Показує загальні показники аналізу: відвідуваннÑ, унікальних відвідувачів, кількіÑÑ‚ÑŒ дій, показник відмов, тощо...", "VisitsSummary": "Узагальнено відвідуваннÑ", - "WidgetLastVisitors": "Графік оÑтанніх унікальних відвідувань", "WidgetLastVisits": "Графік оÑтанніх відвідувань", "WidgetOverviewGraph": "ОглÑд з графіком", "WidgetVisits": "ОглÑд відвідувань" diff --git a/lang/zh-cn.json b/lang/zh-cn.json index 5cce125ae12a93958a0198963955caa4fd7002f5..72f909c4d553eedd5ae732565e9008c474de3ddc 100644 --- a/lang/zh-cn.json +++ b/lang/zh-cn.json @@ -1323,7 +1323,6 @@ "CancelAndReturnToReports": "å–消 %s 并返回报表列表 %s", "CreateAndScheduleReport": "创建报表和定时任务", "CreateReport": "生æˆæŠ¥è¡¨", - "DefaultContainingAllReports": "默认报表包括所有的统计。", "DescriptionOnFirstPage": "报表说明显示在第一页。", "DisplayFormat_TablesOnly": "ä»…æ˜¾ç¤ºè¡¨æ ¼(æ— å›¾è¡¨)", "EmailHello": "您好,", @@ -1337,7 +1336,6 @@ "NoRecipients": "这个报表没有收件人", "OClock": "点", "Pagination": "第 %s 页,共 %s 页", - "PDF": "PDF", "PiwikReports": "Piwik 报表", "PleaseFindAttachedFile": "您的 %2$s çš„ %1$s 报表在附件ä¸ã€‚", "PleaseFindBelow": "下é¢æ˜¯æ‚¨çš„ %2$s çš„ %1$s 报表。", @@ -1468,7 +1466,6 @@ "FromPreviousSiteSearchesInline": "%s 次æ¥è‡ªç«™å†…æœç´¢", "FromSearchEngines": "æ¥è‡ªæœç´¢å¼•æ“Ž", "FromWebsites": "æ¥è‡ªç½‘ç«™", - "Including": "包括", "IncomingTraffic": "å…¥å£æµé‡", "LoopsInline": "%s 次刷新页é¢", "NoDataForAction": "没有 %s æ•°æ®", @@ -1480,7 +1477,6 @@ "ToFollowingPagesInline": "%s 次转å‘站内页é¢", "ToFollowingSiteSearches": "站内æœç´¢", "ToFollowingSiteSearchesInline": "%s 次站内æœç´¢", - "ToInternalPages": "站内页é¢", "XOfAllPageviews": "%s 的本页æµè§ˆé‡", "XOutOfYVisits": "%s (å…± %s)" }, @@ -1857,7 +1853,6 @@ "GoalConversions": "%s ç›®æ ‡è½¬åŒ–", "Hours": "å°æ—¶", "HoursAgo": "%s å°æ—¶å‰", - "LoginToViewRealTime": "登录åŽæŸ¥çœ‹ Piwik 实时访问地图ï¼", "map": "地图", "Minutes": "分钟", "MinutesAgo": "%s 分钟å‰", @@ -1869,7 +1864,6 @@ "Seconds": "秒", "SecondsAgo": "%s 秒å‰", "ShowingVisits": "最åŽè®¿å®¢åœ°ç†ä½ç½®", - "toggleFullscreen": "切æ¢å…¨å±", "Unlocated": "<b>%s<\/b> %p 的访问æ¥è‡ª %c æ— æ³•å®šä½åœ°ç†ä½ç½®ã€‚", "VisitorMap": "访客地图", "worldMap": "世界地图", @@ -2219,7 +2213,6 @@ "PluginDescription": "显示常è§çš„分æžæ•°æ®: 访问次数ã€è®¿å®¢äººæ•°ã€æ´»åŠ¨æ¬¡æ•°ã€è·³å‡ºçŽ‡ç‰ã€‚", "VisitsSummary": "访客总表", "VisitsSummaryDocumentation": "这是访客趋势总表。", - "WidgetLastVisitors": "最近唯一访客趋势图", "WidgetLastVisits": "访客趋势图", "WidgetOverviewGraph": "趋势图总表", "WidgetVisits": "访客总表" diff --git a/lang/zh-tw.json b/lang/zh-tw.json index fda35d88c2f451cefc1449f45462063937c1c031..1b8e7c0974c0e9cc98eda60698f19b26d9030166 100644 --- a/lang/zh-tw.json +++ b/lang/zh-tw.json @@ -966,7 +966,6 @@ }, "UserCountryMap": { "map": "地圖", - "toggleFullscreen": "切æ›å…¨èž¢å¹•", "worldMap": "世界地圖" }, "UserSettings": { @@ -1269,7 +1268,6 @@ "NbVisitsBounced": "跳出率 %s(僅ç€è¦½ä¸€é 便離站)", "PluginDescription": "一般分æžé …ç›®å ±å‘Šï¼šé€ è¨ªæ¬¡æ•¸ã€çµ•å°ä¸é‡è¤‡è¨ªå®¢ã€æ´»å‹•æ•¸ã€è·³å‡ºçŽ‡ç‰ç‰ã€‚", "VisitsSummary": "訪客總覽", - "WidgetLastVisitors": "最近ç¨ç«‹éžé‡è¿”訪客圖表", "WidgetLastVisits": "æœ€è¿‘é€ è¨ªåœ–è¡¨", "WidgetOverviewGraph": "圖表總覽", "WidgetVisits": "é€ è¨ªæ¬¡æ•¸ç¸½è¦½" diff --git a/plugins/CoreAdminHome/javascripts/jsTrackingGenerator.js b/plugins/CoreAdminHome/javascripts/jsTrackingGenerator.js index 2b0d7cfa83442af1b0f0f479390b0bf01e4def70..cd54d1cf548d4f63da6035df5f12af167bbb7cb1 100644 --- a/plugins/CoreAdminHome/javascripts/jsTrackingGenerator.js +++ b/plugins/CoreAdminHome/javascripts/jsTrackingGenerator.js @@ -250,8 +250,8 @@ <img src="' + piwikURL + '?' + $.param(params) + '" style="border:0" alt="" />\n\ <!-- End Piwik -->'; - result = result.replace("&", "&", "g"); - $('#image-tracking-link').find('textarea').val(result); + result = result.replace(/[&]/g, "&"); + $('#image-tracking-text').find('textarea').val(result); }; // on image link tracker site change, change available goals @@ -318,7 +318,7 @@ }); // on click generated code textareas, select the text so it can be easily copied - $('#javascript-text>textarea,#image-tracking-link>textarea').click(function () { + $('#javascript-text>textarea,#image-tracking-text>textarea').click(function () { $(this).select(); }); diff --git a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig index 103d8bc87405340525f1328fee6070d2e836c67a..52aa5527da15ce76916ac44bf230f35c44549fed 100644 --- a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig +++ b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig @@ -242,7 +242,7 @@ <div id="image-link-output-section" width="560px"> <h3>{{ 'CoreAdminHome_ImageTrackingLink'|translate }}</h3><br/><br/> - <div id="image-tracking-link"> + <div id="image-tracking-text"> <textarea> </textarea> </div> <br/> diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php index 13ebc522c578baefb129fa0eb47c5c44809b9583..4383bfb5d3243678dd2137314f4c96ba31f81df3 100644 --- a/plugins/CorePluginsAdmin/Controller.php +++ b/plugins/CorePluginsAdmin/Controller.php @@ -19,7 +19,6 @@ use Piwik\Nonce; use Piwik\Piwik; use Piwik\Plugin; use Piwik\Url; -use Piwik\Version; use Piwik\View; use Piwik\PluginsManager; @@ -28,37 +27,28 @@ use Piwik\PluginsManager; */ class Controller extends \Piwik\Controller\Admin { + const UPDATE_NONCE = 'CorePluginsAdmin.updatePlugin'; + const INSTALL_NONCE = 'CorePluginsAdmin.installPlugin'; + const ACTIVATE_NONCE = 'CorePluginsAdmin.activatePlugin'; + const DEACTIVATE_NONCE = 'CorePluginsAdmin.deactivatePlugin'; + const UNINSTALL_NONCE = 'CorePluginsAdmin.uninstallPlugin'; + private $validSortMethods = array('popular', 'newest', 'alpha'); private $defaultSortMethod = 'popular'; private function createUpdateOrInstallView($template, $nonceName) { - Piwik::checkUserIsSuperUser(); + $pluginName = $this->initPluginModification($nonceName); $view = $this->configureView('@CorePluginsAdmin/' . $template); - $pluginName = Common::getRequestVar('pluginName', '', 'string'); - $pluginName = strip_tags($pluginName); - $nonce = Common::getRequestVar('nonce', '', 'string'); - - if (empty($pluginName)) { - throw new \Exception('Plugin parameter is missing'); - } - $view->plugin = array('name' => $pluginName); - if (!Nonce::verifyNonce('CorePluginsAdmin.' . $nonceName, $nonce)) { - $view->errorMessage = Piwik_Translate('General_ExceptionNonceMismatch'); - return $view; - } - - Nonce::discardNonce('CorePluginsAdmin.' . $nonceName); - try { $pluginInstaller = new PluginInstaller($pluginName); $pluginInstaller->installOrUpdatePluginFromMarketplace(); - } catch (PluginInstallerException $e) { + } catch (\Exception $e) { $view->errorMessage = $e->getMessage(); return $view; } @@ -71,13 +61,13 @@ class Controller extends \Piwik\Controller\Admin public function updatePlugin() { - $view = $this->createUpdateOrInstallView('updatePlugin', 'updatePlugin'); + $view = $this->createUpdateOrInstallView('updatePlugin', static::UPDATE_NONCE); echo $view->render(); } public function installPlugin() { - $view = $this->createUpdateOrInstallView('installPlugin', 'installPlugin'); + $view = $this->createUpdateOrInstallView('installPlugin', static::INSTALL_NONCE); $view->nonce = Nonce::getNonce('CorePluginsAdmin.activatePlugin'); echo $view->render(); @@ -85,12 +75,7 @@ class Controller extends \Piwik\Controller\Admin public function pluginDetails() { - $pluginName = Common::getRequestVar('pluginName', '', 'string'); - $pluginName = strip_tags($pluginName); - - if (empty($pluginName)) { - return; - } + $pluginName = Common::getRequestVar('pluginName', null, 'string'); $view = $this->configureView('@CorePluginsAdmin/pluginDetails'); @@ -107,7 +92,6 @@ class Controller extends \Piwik\Controller\Admin private function createBrowsePluginsOrThemesView($template, $themesOnly) { $query = Common::getRequestVar('query', '', 'string', $_POST); - $query = strip_tags($query); $sort = Common::getRequestVar('sort', $this->defaultSortMethod, 'string'); if (!in_array($sort, $this->validSortMethods)) { @@ -121,8 +105,8 @@ class Controller extends \Piwik\Controller\Admin $view->query = $query; $view->sort = $sort; - $view->installNonce = Nonce::getNonce('CorePluginsAdmin.installPlugin'); - $view->updateNonce = Nonce::getNonce('CorePluginsAdmin.updatePlugin'); + $view->installNonce = Nonce::getNonce(static::INSTALL_NONCE); + $view->updateNonce = Nonce::getNonce(static::UPDATE_NONCE); $view->isSuperUser = Piwik::isUserIsSuperUser(); return $view; @@ -152,7 +136,6 @@ class Controller extends \Piwik\Controller\Admin $activated = Common::getRequestVar('activated', false, 'integer', $_GET); $pluginName = Common::getRequestVar('pluginName', '', 'string'); - $pluginName = strip_tags($pluginName); $view = $this->configureView('@CorePluginsAdmin/' . $template); @@ -161,9 +144,11 @@ class Controller extends \Piwik\Controller\Admin $view->activatedPluginName = $pluginName; } - $view->updateNonce = Nonce::getNonce('CorePluginsAdmin.updatePlugin'); - $view->activateNonce = Nonce::getNonce('CorePluginsAdmin.activatePlugin'); - $view->pluginsInfo = $this->getPluginsInfo($themesOnly); + $view->updateNonce = Nonce::getNonce(static::UPDATE_NONCE); + $view->activateNonce = Nonce::getNonce(static::ACTIVATE_NONCE); + $view->uninstallNonce = Nonce::getNonce(static::UNINSTALL_NONCE); + $view->deactivateNonce = Nonce::getNonce(static::DEACTIVATE_NONCE); + $view->pluginsInfo = $this->getPluginsInfo($themesOnly); $marketplace = new Marketplace(); $view->pluginsHavingUpdate = $marketplace->getPluginsHavingUpdate($themesOnly); @@ -239,7 +224,7 @@ class Controller extends \Piwik\Controller\Admin public function deactivate($redirectAfter = true) { - $pluginName = $this->initPluginModification(); + $pluginName = $this->initPluginModification(static::DEACTIVATE_NONCE); \Piwik\PluginsManager::getInstance()->deactivatePlugin($pluginName); $this->redirectAfterModification($redirectAfter); } @@ -251,31 +236,25 @@ class Controller extends \Piwik\Controller\Admin } } - protected function initPluginModification() + protected function initPluginModification($nonceName) { Piwik::checkUserIsSuperUser(); - $this->checkTokenInUrl(); + + $nonce = Common::getRequestVar('nonce', null, 'string'); + + if (!Nonce::verifyNonce($nonceName, $nonce)) { + throw new \Exception(Piwik_Translate('General_ExceptionNonceMismatch')); + } + + Nonce::discardNonce($nonceName); + $pluginName = Common::getRequestVar('pluginName', null, 'string'); return $pluginName; } public function activate($redirectAfter = true) { - Piwik::checkUserIsSuperUser(); - - $pluginName = Common::getRequestVar('pluginName', '', 'string'); - $pluginName = strip_tags($pluginName); - $nonce = Common::getRequestVar('nonce', '', 'string'); - - if (empty($pluginName)) { - throw new \Exception('Plugin parameter is missing'); - } - - if (!Nonce::verifyNonce('CorePluginsAdmin.activatePlugin', $nonce)) { - throw new \Exception(Piwik_Translate('General_ExceptionNonceMismatch')); - } - - Nonce::discardNonce('CorePluginsAdmin.activatePlugin'); + $pluginName = $this->initPluginModification(static::ACTIVATE_NONCE); \Piwik\PluginsManager::getInstance()->activatePlugin($pluginName); @@ -283,18 +262,21 @@ class Controller extends \Piwik\Controller\Admin $params = array('activated' => 1, 'pluginName' => $pluginName); $plugin = PluginsManager::getInstance()->loadPlugin($pluginName); + $actionToRedirect = 'plugins'; if ($plugin->isTheme()) { - $this->redirectToIndex('CorePluginsAdmin', 'themes', null, null, null, $params); - } else { - $this->redirectToIndex('CorePluginsAdmin', 'plugins', null, null, null, $params); + $actionToRedirect = 'themes'; } + + $this->redirectToIndex('CorePluginsAdmin', $actionToRedirect, null, null, null, $params); } } public function uninstall($redirectAfter = true) { - $pluginName = $this->initPluginModification(); + $pluginName = $this->initPluginModification(static::UNINSTALL_NONCE); + $uninstalled = \Piwik\PluginsManager::getInstance()->uninstallPlugin($pluginName); + if (!$uninstalled) { $path = Filesystem::getPathToPiwikRoot() . '/plugins/' . $pluginName . '/'; $messagePermissions = Filechecks::getErrorMessageMissingPermissions($path); @@ -304,6 +286,7 @@ class Controller extends \Piwik\Controller\Admin $exitMessage = $messageIntro . "<br/><br/>" . $messagePermissions; Piwik_ExitWithMessage($exitMessage, $optionalTrace = false, $optionalLinks = false, $optionalLinkBack = true); } + $this->redirectAfterModification($redirectAfter); } diff --git a/plugins/CorePluginsAdmin/Marketplace.php b/plugins/CorePluginsAdmin/Marketplace.php index f2b9e18df56d3bfcb8006ed9ebc617306f646d72..03ff437a5dbf37b3dbb1626d209aaf63efee878b 100644 --- a/plugins/CorePluginsAdmin/Marketplace.php +++ b/plugins/CorePluginsAdmin/Marketplace.php @@ -47,10 +47,10 @@ class Marketplace $dateFormat = Piwik_Translate('CoreHome_ShortDateFormatWithYear'); - foreach ($plugins as $plugin) { - $plugin->canBeUpdated = $this->hasPluginUpdate($plugin); - $plugin->isInstalled = PluginsManager::getInstance()->isPluginLoaded($plugin->name); - $plugin->lastUpdated = Date::factory($plugin->lastUpdated)->getLocalized($dateFormat); + foreach ($plugins as &$plugin) { + $plugin['canBeUpdated'] = $this->hasPluginUpdate($plugin); + $plugin['isInstalled'] = PluginsManager::getInstance()->isPluginLoaded($plugin['name']); + $plugin['lastUpdated'] = Date::factory($plugin['lastUpdated'])->getLocalized($dateFormat); } return $plugins; @@ -58,14 +58,14 @@ class Marketplace private function hasPluginUpdate($plugin) { - if (empty($plugin->name)) { + if (empty($plugin['name'])) { return false; } - $pluginsHavingUpdate = $this->getPluginsHavingUpdate($plugin->isTheme); + $pluginsHavingUpdate = $this->getPluginsHavingUpdate($plugin['isTheme']); foreach ($pluginsHavingUpdate as $pluginHavingUpdate) { - if ($plugin->name == $pluginHavingUpdate->name) { + if ($plugin['name'] == $pluginHavingUpdate['name']) { return true; } } @@ -80,6 +80,7 @@ class Marketplace public function getPluginsHavingUpdate($themesOnly) { $pluginManager = PluginsManager::getInstance(); + $pluginManager->returnLoadedPluginsInfo(); $loadedPlugins = $pluginManager->getLoadedPlugins(); try { @@ -89,12 +90,14 @@ class Marketplace $pluginsHavingUpdate = array(); } - foreach ($pluginsHavingUpdate as $updatePlugin) { + foreach ($pluginsHavingUpdate as &$updatePlugin) { foreach ($loadedPlugins as $loadedPlugin) { - if (!empty($updatePlugin->name) && $loadedPlugin->getPluginName() == $updatePlugin->name) { - $updatePlugin->currentVersion = $loadedPlugin->getVersion(); - $updatePlugin->isActivated = $pluginManager->isPluginActivated($updatePlugin->name); + if (!empty($updatePlugin['name']) + && $loadedPlugin->getPluginName() == $updatePlugin['name']) { + + $updatePlugin['currentVersion'] = $loadedPlugin->getVersion(); + $updatePlugin['isActivated'] = $pluginManager->isPluginActivated($updatePlugin['name']); break; } } diff --git a/plugins/CorePluginsAdmin/MarketplaceApiClient.php b/plugins/CorePluginsAdmin/MarketplaceApiClient.php index 19c8cf636a31819861e8190d85d4aef24e09aedd..dc7b3841a164c7b1c74b746be8d59cd671cd7c60 100644 --- a/plugins/CorePluginsAdmin/MarketplaceApiClient.php +++ b/plugins/CorePluginsAdmin/MarketplaceApiClient.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\CorePluginsAdmin; use Piwik\CacheFile; use Piwik\Http; +use Piwik\PluginsManager; /** * @@ -18,6 +19,9 @@ use Piwik\Http; */ class MarketplaceApiClient { + const CACHE_TIMEOUT_IN_SECONDS = 1200; + const HTTP_REQUEST_TIMEOUT = 30; + private $domain = 'http://plugins.piwik.org'; /** @@ -27,7 +31,7 @@ class MarketplaceApiClient public function __construct() { - $this->cache = new CacheFile('marketplace', 1200); + $this->cache = new CacheFile('marketplace', self::CACHE_TIMEOUT_IN_SECONDS); } public static function clearAllCacheEntries() @@ -45,16 +49,13 @@ class MarketplaceApiClient public function download($pluginOrThemeName, $target) { - $plugin = $this->getPluginInfo($pluginOrThemeName); + $downloadUrl = $this->getDownloadUrl($pluginOrThemeName); - if (empty($plugin->versions)) { + if (empty($downloadUrl)) { return false; } - $latestVersion = array_pop($plugin->versions); - $downloadUrl = $latestVersion->download; - - $success = Http::fetchRemoteFile($this->domain . $downloadUrl, $target); + $success = Http::fetchRemoteFile($downloadUrl, $target, 0, static::HTTP_REQUEST_TIMEOUT); return $success; } @@ -68,7 +69,10 @@ class MarketplaceApiClient $params = array(); foreach ($plugins as $plugin) { - $params[] = array('name' => $plugin->getPluginName(), 'version' => $plugin->getVersion()); + $pluginName = $plugin->getPluginName(); + if (!PluginsManager::getInstance()->isPluginBundledWithCore($pluginName)) { + $params[] = array('name' => $plugin->getPluginName(), 'version' => $plugin->getVersion()); + } } $params = array('plugins' => $params); @@ -94,9 +98,9 @@ class MarketplaceApiClient $pluginDetails = array(); foreach ($hasUpdates as $pluginHavingUpdate) { - $plugin = $this->getPluginInfo($pluginHavingUpdate->name); + $plugin = $this->getPluginInfo($pluginHavingUpdate['name']); - if (!empty($plugin->isTheme) == $themesOnly) { + if (!empty($plugin['isTheme']) == $themesOnly) { $pluginDetails[] = $plugin; } } @@ -108,8 +112,8 @@ class MarketplaceApiClient { $response = $this->fetch('plugins', array('keywords' => $keywords, 'query' => $query, 'sort' => $sort)); - if (!empty($response->plugins)) { - return $response->plugins; + if (!empty($response['plugins'])) { + return $response['plugins']; } return array(); @@ -119,8 +123,8 @@ class MarketplaceApiClient { $response = $this->fetch('themes', array('keywords' => $keywords, 'query' => $query, 'sort' => $sort)); - if (!empty($response->plugins)) { - return $response->plugins; + if (!empty($response['plugins'])) { + return $response['plugins']; } return array(); @@ -128,24 +132,27 @@ class MarketplaceApiClient private function fetch($action, $params) { + ksort($params); $query = http_build_query($params); $result = $this->getCachedResult($action, $query); if (false === $result) { $endpoint = $this->domain . '/api/1.0/'; $url = sprintf('%s%s?%s', $endpoint, $action, $query); - $result = Http::sendHttpRequest($url, 5); - $this->cacheResult($action, $query, $result); - } + $response = Http::sendHttpRequest($url, static::HTTP_REQUEST_TIMEOUT); + $result = json_decode($response, true); - $result = json_decode($result); + if (is_null($result)) { + $message = sprintf('There was an error reading the response from the Marketplace: %s. Please try again later.', + substr($response, 0, 50)); + throw new MarketplaceApiException($message); + } - if (is_null($result)) { - throw new MarketplaceApiException('Failure during communication with marketplace, unable to read response'); - } + if (!empty($result['error'])) { + throw new MarketplaceApiException($result['error']); + } - if (!empty($result->error)) { - throw new MarketplaceApiException($result->error); + $this->cacheResult($action, $query, $result); } return $result; @@ -170,4 +177,23 @@ class MarketplaceApiClient return sprintf('api.1.0.%s.%s', str_replace('/', '.', $action), md5($query)); } + /** + * @param $pluginOrThemeName + * @throws MarketplaceApiException + * @return string + */ + public function getDownloadUrl($pluginOrThemeName) + { + $plugin = $this->getPluginInfo($pluginOrThemeName); + + if (empty($plugin['versions'])) { + throw new MarketplaceApiException('Plugin has no versions.'); + } + + $latestVersion = array_pop($plugin['versions']); + $downloadUrl = $latestVersion['download']; + + return $this->domain . $downloadUrl; + } + } diff --git a/plugins/CorePluginsAdmin/PluginInstaller.php b/plugins/CorePluginsAdmin/PluginInstaller.php index e77b79757d105721193f7940de94b0a9f769f192..cd664b3aefab1679e5cdb5b4ad4d1b1ffe3aa386 100644 --- a/plugins/CorePluginsAdmin/PluginInstaller.php +++ b/plugins/CorePluginsAdmin/PluginInstaller.php @@ -35,6 +35,7 @@ class PluginInstaller $tmpPluginFolder = PIWIK_USER_PATH . self::PATH_TO_DOWNLOAD . $this->pluginName; $this->makeSureFoldersAreWritable(); + $this->makeSurePluginNameIsValid(); $this->downloadPluginFromMarketplace($tmpPluginZip); $this->extractPluginFiles($tmpPluginZip, $tmpPluginFolder); $this->makeSurePluginJsonExists($tmpPluginFolder); @@ -53,21 +54,21 @@ class PluginInstaller { $this->removeFileIfExists($pluginZipTargetFile); - try { - $marketplace = new MarketplaceApiClient(); - $pluginDetails = $marketplace->getPluginInfo($this->pluginName); - } catch (\Exception $e) { - throw new PluginInstallerException($e->getMessage()); - } - - if (empty($pluginDetails)) { - throw new PluginInstallerException('A plugin with this name does not exist'); - } + $marketplace = new MarketplaceApiClient(); try { $marketplace->download($this->pluginName, $pluginZipTargetFile); } catch (\Exception $e) { - throw new PluginInstallerException('Failed to download plugin: ' . $e->getMessage()); + + try { + $downloadUrl = $marketplace->getDownloadUrl($this->pluginName); + $errorMessage = sprintf('Failed to download plugin from %s: %s', $downloadUrl, $e->getMessage()); + + } catch (\Exception $ex) { + $errorMessage = sprintf('Failed to download plugin: %s', $e->getMessage()); + } + + throw new PluginInstallerException($errorMessage); } } @@ -94,7 +95,7 @@ class PluginInstaller private function makeSurePluginJsonExists($tmpPluginFolder) { if (!file_exists($tmpPluginFolder . DIRECTORY_SEPARATOR . $this->pluginName . DIRECTORY_SEPARATOR . 'plugin.json')) { - throw new PluginInstallerException('Plugin is not valid, missing plugin.json'); + throw new PluginInstallerException('Plugin is not valid, it is missing the plugin.json file.'); } } @@ -112,9 +113,7 @@ class PluginInstaller */ private function removeFolderIfExists($pathExtracted) { - if (file_exists($pathExtracted)) { - Filesystem::unlinkRecursive($pathExtracted, true); - } + Filesystem::unlinkRecursive($pathExtracted, true); } /** @@ -127,4 +126,21 @@ class PluginInstaller } } + /** + * @throws PluginInstallerException + */ + private function makeSurePluginNameIsValid() + { + try { + $marketplace = new MarketplaceApiClient(); + $pluginDetails = $marketplace->getPluginInfo($this->pluginName); + } catch (\Exception $e) { + throw new PluginInstallerException($e->getMessage()); + } + + if (empty($pluginDetails)) { + throw new PluginInstallerException('This plugin was not found in the Marketplace.'); + } + } + } diff --git a/plugins/CorePluginsAdmin/templates/installPlugin.twig b/plugins/CorePluginsAdmin/templates/installPlugin.twig index 41757a56d66f9da2908eb7cab49bedfe57404086..9ef95329dd38935f75c1897df1daede3d1df2cba 100644 --- a/plugins/CorePluginsAdmin/templates/installPlugin.twig +++ b/plugins/CorePluginsAdmin/templates/installPlugin.twig @@ -18,30 +18,29 @@ <p>Unzipping theme</p> - <p>Installing theme</p> - <p>You have successfully installed the theme {{ plugin.name }} {{ plugin.latestVersion }}.</p> <p><strong><a href="{{ linkTo({'action': 'activate', 'pluginName': plugin.name, 'nonce': nonce}) }}">Activate Theme</a></strong> + | + <a href="{{ linkTo({'action': 'extend'}) }}">Back to Extend Piwik</a></p> + {% else %} <p>Downloading plugin from Marketplace</p> <p>Unzipping plugin</p> - <p>Installing plugin</p> - <p>You have successfully installed the Plugin {{ plugin.name }} {{ plugin.latestVersion }}.</p> <p><strong><a href="{{ linkTo({'action': 'activate', 'pluginName': plugin.name, 'nonce': nonce}) }}">Activate Plugin</a></strong> + | + <a href="{{ linkTo({'action': 'extend'}) }}">Back to Extend Piwik</a></p> + {% endif %} </div> - | - <a href="{{ linkTo({'action': 'extend'}) }}">Back to Extend Piwik</a></p> - {% endif %} </div> diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig index 73e9c778ce7c3f6ba09101282c627dbc8e8350aa..8a52bb478727fbf7fed0b4af70643367b5d9f691 100644 --- a/plugins/CorePluginsAdmin/templates/macros.twig +++ b/plugins/CorePluginsAdmin/templates/macros.twig @@ -41,7 +41,7 @@ {% endmacro %} -{% macro tablePlugins(pluginsInfo, token_auth, activateNonce, isTheme) %} +{% macro tablePlugins(pluginsInfo, activateNonce, deactivateNonce, uninstallNonce, isTheme) %} <div class='entityContainer'> <table class="dataTable entityTable"> @@ -84,15 +84,15 @@ {{ 'CorePluginsAdmin_Active'|translate }} {% else %} {{ 'CorePluginsAdmin_Inactive'|translate }} <br/> - - {% if plugin.uninstallable %}<a href='index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ name }}&token_auth={{ - token_auth }}'>uninstall</a>{% endif %} + - {% if plugin.uninstallable %}<a href='index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ name }}&nonce={{ + uninstallNonce }}'>uninstall</a>{% endif %} {% endif %} </td> <td class="togl action-links"> {% if plugin.invalid is not defined %} {% if plugin.activated %} - <a href='index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ name }}&token_auth={{ token_auth }}'>{{ 'CorePluginsAdmin_Deactivate'|translate }}</a> + <a href='index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ name }}&nonce={{ deactivateNonce }}'>{{ 'CorePluginsAdmin_Deactivate'|translate }}</a> {% else %} <a href='index.php?module=CorePluginsAdmin&action=activate&pluginName={{ name }}&nonce={{ activateNonce }}'>{{ 'CorePluginsAdmin_Activate'|translate }}</a> {% endif %} diff --git a/plugins/CorePluginsAdmin/templates/pluginMetadata.twig b/plugins/CorePluginsAdmin/templates/pluginMetadata.twig index f6752d0e645571d085e18d535789de346f648bbf..831dc3b2200d7fc02c1afdf746f9c0083a0e221d 100644 --- a/plugins/CorePluginsAdmin/templates/pluginMetadata.twig +++ b/plugins/CorePluginsAdmin/templates/pluginMetadata.twig @@ -1,4 +1,4 @@ -<hr class="metadataSeparator"> +<hr class="metadataSeparator"/> <ul class="metadata"> <li>{{ 'CorePluginsAdmin_Version'|translate }}: <strong>{{ plugin.latestVersion }}</strong></li> <li class="even">Updated: <strong>{{ plugin.lastUpdated }}</strong></li> diff --git a/plugins/CorePluginsAdmin/templates/pluginOverview.twig b/plugins/CorePluginsAdmin/templates/pluginOverview.twig index d5da8de48764157f67a55f342446a7464c0ae6fd..39a39b5052d408d020b8901aca10c09e755a79e5 100644 --- a/plugins/CorePluginsAdmin/templates/pluginOverview.twig +++ b/plugins/CorePluginsAdmin/templates/pluginOverview.twig @@ -1,21 +1,22 @@ -{% if not isSuperUser %} -{% elseif plugin.canBeUpdated %} - <a class="update" - href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}" - >Update</a> -{% elseif plugin.isInstalled %} - <span class="install">Installed</span> -{% else %} - <a href="{{ linkTo({'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}" - class="install">Install</a> +{% if isSuperUser %} + {% if plugin.canBeUpdated %} + <a class="update" + href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}" + >Update</a> + {% elseif plugin.isInstalled %} + <span class="install">Installed</span> + {% else %} + <a href="{{ linkTo({'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}" + class="install">Install</a> + {% endif %} {% endif %} -<h3 class="header"> +<h3 class="header" title="Click for more details"> <a href="javascript:return;" data-pluginName="{{ plugin.name }}" class="more">{{ plugin.name }}</a> </h3> <p class="description">{{ plugin.description }} <br /> - <a href="javascript:return;" data-pluginName="{{ plugin.name }}" class="more">>> more</a> + <a href="javascript:return;" title="Click for more details" data-pluginName="{{ plugin.name }}" class="more">>> more</a> </p> {% if plugin.canBeUpdated %} <p class="updateAvailableNotice">You can update this plugin to version {{ plugin.latestVersion }}</p> diff --git a/plugins/CorePluginsAdmin/templates/plugins.twig b/plugins/CorePluginsAdmin/templates/plugins.twig index 7b6887e91569423ef661d5c9308b6c0885b9e876..c87114c5a15838ee4258314381a0ef8b413f730f 100644 --- a/plugins/CorePluginsAdmin/templates/plugins.twig +++ b/plugins/CorePluginsAdmin/templates/plugins.twig @@ -6,12 +6,14 @@ <div style="max-width:980px;"> {% if activatedPluginName %} - <div id="feedback-success">You have successfully activated plugin {{ activatedPluginName }}</div> + <div id="feedback-success"><strong>Well done!</strong> You have successfully activated plugin {{ activatedPluginName }}</div> {% endif %} {% if pluginsHavingUpdate|length %} <h2>{{ pluginsHavingUpdate|length }} Update(s) available</h2> + <p>{{ 'Update your plugins now to benefit from the latest improvements.'|translate }}</p> + {{ plugins.tablePluginUpdates(pluginsHavingUpdate, updateNonce, activateNonce, 0) }} {% endif %} @@ -19,7 +21,7 @@ <p>{{ 'CorePluginsAdmin_MainDescription'|translate }}</p> - {{ plugins.tablePlugins(pluginsInfo, token_auth, activateNonce, false) }} + {{ plugins.tablePlugins(pluginsInfo, activateNonce, deactivateNonce, uninstallNonce, false) }} </div> {% endblock %} \ No newline at end of file diff --git a/plugins/CorePluginsAdmin/templates/themeOverview.twig b/plugins/CorePluginsAdmin/templates/themeOverview.twig index dffb65aa253e7e1497723004db4378b31da6a390..63a5700c5172eb748c1988a5932f52b8a0c97660 100644 --- a/plugins/CorePluginsAdmin/templates/themeOverview.twig +++ b/plugins/CorePluginsAdmin/templates/themeOverview.twig @@ -1,22 +1,25 @@ -{% if not isSuperUser %} -{% elseif plugin.canBeUpdated %} - <a href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}" - class="update" - >{{ 'CoreUpdater_UpdateTitle'|translate }}</a> -{% elseif plugin.isInstalled %} - <span class="install">{{ 'General_Installed'|translate }}</span> -{% else %} - <a href="{{ linkTo({'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}" - class="install">Install</a> +{% if isSuperUser %} + {% if plugin.canBeUpdated %} + <a href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}" + class="update" + >{{ 'CoreUpdater_UpdateTitle'|translate }}</a> + {% elseif plugin.isInstalled %} + <span class="install">{{ 'General_Installed'|translate }}</span> + {% else %} + <a href="{{ linkTo({'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}" + class="install">Install</a> + {% endif %} {% endif %} -<h3 class="header"> +<h3 class="header" title="Click for more details"> <a href="javascript:return;" data-pluginName="{{ plugin.name }}" class="more">{{ plugin.name }}</a> </h3> + <p class="description">{{ plugin.description }}</p> -<a href="javascript:return;" data-pluginName="{{ plugin.name }}" class="more"><img +<a href="javascript:return;" data-pluginName="{{ plugin.name }}" class="more"><img title="Click for more details" class="preview" src="{{ plugin.screenshots|first }}?w=250&h=250"/></a> + {% if plugin.canBeUpdated %} <p class="updateAvailableNotice">You can update this theme to version {{ plugin.latestVersion }}</p> {% endif %} \ No newline at end of file diff --git a/plugins/CorePluginsAdmin/templates/themes.twig b/plugins/CorePluginsAdmin/templates/themes.twig index b364c0fabfe709c8309d1985352183bfb4fca688..599e5fb91cb659d50bd85e2861101fda0643daae 100644 --- a/plugins/CorePluginsAdmin/templates/themes.twig +++ b/plugins/CorePluginsAdmin/templates/themes.twig @@ -6,12 +6,14 @@ <div style="max-width:980px;"> {% if activatedPluginName %} - <div id="feedback-success">You have successfully activated plugin {{ activatedPluginName }}</div> + <div id="feedback-success"><strong>Well done!</strong> You have successfully activated theme {{ activatedPluginName }}</div> {% endif %} {% if pluginsHavingUpdate|length %} <h2>{{ pluginsHavingUpdate|length }} Update(s) available</h2> + <p>{{ 'Update your themes to enjoy the latest version.'|translate }}</p> + {{ plugins.tablePluginUpdates(pluginsHavingUpdate, updateNonce, true) }} {% endif %} @@ -19,7 +21,7 @@ <p>{{ 'CorePluginsAdmin_ThemesDescription'|translate }}</p> - {{ plugins.tablePlugins(pluginsInfo, token_auth, activateNonce, true) }} + {{ plugins.tablePlugins(pluginsInfo, activateNonce, deactivateNonce, uninstallNonce, true) }} </div> {% endblock %} diff --git a/plugins/CoreVisualizations/CoreVisualizations.php b/plugins/CoreVisualizations/CoreVisualizations.php index 206eaa9e47d3c043f03f39d10c929a29bcbbca0f..c7b6973f0f99b7de1413308b19063afa8fd67bbb 100644 --- a/plugins/CoreVisualizations/CoreVisualizations.php +++ b/plugins/CoreVisualizations/CoreVisualizations.php @@ -30,7 +30,7 @@ class CoreVisualizations extends \Piwik\Plugin return array( 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'AssetManager.getJsFiles' => 'getJsFiles', - 'DataTableVisualization.getAvailable' => 'getAvailableDataTableVisualizations', + 'ViewDataTable.Visualization.getAvailable' => 'getAvailableDataTableVisualizations', 'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys' ); } diff --git a/plugins/CoreVisualizations/JqplotDataGenerator.php b/plugins/CoreVisualizations/JqplotDataGenerator.php index 0a395f92fac04616b07c802513c359e8601570f8..8852e2186ce1d8bb0aa6012ea4b986b0bd9f36dd 100644 --- a/plugins/CoreVisualizations/JqplotDataGenerator.php +++ b/plugins/CoreVisualizations/JqplotDataGenerator.php @@ -15,7 +15,7 @@ use Exception; use Piwik\Common; use Piwik\Metrics; use Piwik\DataTable; -use Piwik\Visualization; +use Piwik\ViewDataTable\Visualization; use Piwik\Plugins\CoreVisualizations\JqplotDataGenerator\Chart; require_once PIWIK_INCLUDE_PATH . '/plugins/CoreVisualizations/JqplotDataGenerator/Evolution.php'; @@ -64,7 +64,7 @@ class JqplotDataGenerator * @param array $properties * @param string $graphType * - * @internal param \Piwik\Visualization\ $visualization + * @internal param \Piwik\ViewDataTable\Visualization\ $visualization */ public function __construct($properties, $graphType) { diff --git a/plugins/CoreVisualizations/Visualizations/Cloud.php b/plugins/CoreVisualizations/Visualizations/Cloud.php index d99baf52fae576df22a009dc2e25c27497f5d922..971331059cce74b78dc73df143f798d4f9a7942a 100644 --- a/plugins/CoreVisualizations/Visualizations/Cloud.php +++ b/plugins/CoreVisualizations/Visualizations/Cloud.php @@ -13,7 +13,7 @@ namespace Piwik\Plugins\CoreVisualizations\Visualizations; use Piwik\Common; use Piwik\View; use Piwik\DataTable; -use Piwik\DataTableVisualization; +use Piwik\ViewDataTable\Visualization; /** * Generates a tag cloud from a given data array. @@ -24,7 +24,7 @@ use Piwik\DataTableVisualization; * @package Piwik * @subpackage Piwik_Visualization */ -class Cloud extends DataTableVisualization +class Cloud extends Visualization { const ID = 'cloud'; diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable.php b/plugins/CoreVisualizations/Visualizations/HtmlTable.php index c808a0471dc3971e4afa1aabe69a4a3734495c2f..aaec9caa28b32a703482fdccb326ae0209a42258 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable.php @@ -14,7 +14,7 @@ use Piwik\Common; use Piwik\Config; use Piwik\DataTable; use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; -use Piwik\DataTableVisualization; +use Piwik\ViewDataTable\Visualization; use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugins\Goals\API as APIGoals; @@ -27,7 +27,7 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/CoreVisualizations/Visualizations/Ht /** * DataTable visualization that shows DataTable data in an HTML table. */ -class HtmlTable extends DataTableVisualization +class HtmlTable extends Visualization { const ID = 'table'; diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php b/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php index 02eee0b12df23a58d811a371f536a022e806ad9b..20d31e82708fa8584a0b0b6b6f4e44637295e303 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php @@ -14,7 +14,7 @@ namespace Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; /** - * DataTableVisualization that derives from HtmlTable and sets show_extra_columns to true. + * DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true. */ class AllColumns extends HtmlTable { diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php b/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php index d42ea06ef26576219cd83599e8cbe85785519eeb..e6dd8abbc3e718b40d060c437c9daf26875519d9 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable/Goals.php @@ -14,7 +14,7 @@ namespace Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; /** - * DataTableVisualization that derives from HtmlTable and sets show_goals_columns to true. + * DataTable Visualization that derives from HtmlTable and sets show_goals_columns to true. */ class Goals extends HtmlTable { diff --git a/plugins/CoreVisualizations/Visualizations/JqplotGraph.php b/plugins/CoreVisualizations/Visualizations/JqplotGraph.php index 4059df0d7c24bc89d0d6d914f3308a34dfd13f58..6eae635bd1a77e70d2fa01ad5c7b33153e31c743 100644 --- a/plugins/CoreVisualizations/Visualizations/JqplotGraph.php +++ b/plugins/CoreVisualizations/Visualizations/JqplotGraph.php @@ -13,7 +13,7 @@ namespace Piwik\Plugins\CoreVisualizations\Visualizations; use Piwik\Common; use Piwik\View; use Piwik\DataTable; -use Piwik\Visualization\Graph; +use Piwik\ViewDataTable\Graph; use Piwik\Plugins\CoreVisualizations\JqplotDataGenerator; /** diff --git a/plugins/Feedback/stylesheets/feedback.less b/plugins/Feedback/stylesheets/feedback.less index 6ecdf3d151866477ae72a4a0ad31622ffe028e30..22c747c0428475086f236ab3628b755763000afb 100644 --- a/plugins/Feedback/stylesheets/feedback.less +++ b/plugins/Feedback/stylesheets/feedback.less @@ -33,9 +33,11 @@ } #feedback-success { - color: #38D73B; + color: #468847; + background-color: #dff0d8; text-align: center; - border: 2px solid #38D73B; + border: 1px solid #d6e9c6; + border-radius: 5px; margin: 10px; padding: 10px; } diff --git a/plugins/Live/VisitorLog.php b/plugins/Live/VisitorLog.php index b8fbd2431b2913dfad0aa07e3f3cf68369dadbae..3c7b8cc1e3d8d49e02c09bb561e804953b10a66d 100644 --- a/plugins/Live/VisitorLog.php +++ b/plugins/Live/VisitorLog.php @@ -11,12 +11,12 @@ namespace Piwik\Plugins\Live; use Piwik\View; -use Piwik\DataTableVisualization; +use Piwik\ViewDataTable\Visualization; /** * A special DataTable visualization for the Live.getLastVisitsDetails API method. */ -class VisitorLog extends DataTableVisualization +class VisitorLog extends Visualization { static public $clientSideParameters = array( 'filter_limit', diff --git a/plugins/TreemapVisualization/Treemap.php b/plugins/TreemapVisualization/Treemap.php index 8cb2d416dfa54a55d8ccf94c1c793186d89091cc..16b955ff08b45ddde909a4491e18520ad652e632 100644 --- a/plugins/TreemapVisualization/Treemap.php +++ b/plugins/TreemapVisualization/Treemap.php @@ -16,7 +16,7 @@ use Piwik\View; use Piwik\Period; use Piwik\Period\Range; use Piwik\DataTable\Map; -use Piwik\Visualization\Graph; +use Piwik\ViewDataTable\Graph; /** * DataTable visualization that displays DataTable data as a treemap (see diff --git a/plugins/TreemapVisualization/TreemapVisualization.php b/plugins/TreemapVisualization/TreemapVisualization.php index eb8c09c39a32976e9ad517cde09e07306d7cf59a..7b002ffd93c40c352139714ee2f90c2755ffa35f 100644 --- a/plugins/TreemapVisualization/TreemapVisualization.php +++ b/plugins/TreemapVisualization/TreemapVisualization.php @@ -44,14 +44,14 @@ class TreemapVisualization extends \Piwik\Plugin public function getListHooksRegistered() { return array( - 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', - 'AssetManager.getJsFiles' => 'getJsFiles', - 'DataTableVisualization.getAvailable' => 'getAvailableDataTableVisualizations', - 'ViewDataTable.configureReportView' => 'configureReportViewForActions' + 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', + 'AssetManager.getJsFiles' => 'getJsFiles', + 'ViewDataTable.Visualization.getAvailable' => 'getAvailableVisualizations', + 'ViewDataTable.configureReportView' => 'configureReportViewForActions' ); } - public function getAvailableDataTableVisualizations(&$visualizations) + public function getAvailableVisualizations(&$visualizations) { // treemap doesn't work w/ flat=1 if (!Common::getRequestVar('flat', 0)) { diff --git a/plugins/UsersManager/templates/userSettings.twig b/plugins/UsersManager/templates/userSettings.twig index 6e24ace24670b4c85a3c6cbadcb7280efd8aa1b4..a1641e78799d1d85c2d942b262fef49197ccc013 100644 --- a/plugins/UsersManager/templates/userSettings.twig +++ b/plugins/UsersManager/templates/userSettings.twig @@ -11,7 +11,7 @@ <input role="no" type="button" value="{{ 'General_No'|translate }}"/> </div> -<table id='userSettingsTable' class="adminTable" style="width:1050px;"> +<table id='userSettingsTable' class="adminTable"> <tr> <td><label for="username">{{ 'General_Username'|translate }} </label></td> <td> diff --git a/tests/PHPUnit/proxy/index.php b/tests/PHPUnit/proxy/index.php index 14c0d7593d51b885c61d8d5137aa08312c80ad28..56e86d91e306ed7b9bf981182bcd25cc7cf113b1 100644 --- a/tests/PHPUnit/proxy/index.php +++ b/tests/PHPUnit/proxy/index.php @@ -13,6 +13,7 @@ ob_start(); define('PIWIK_INCLUDE_PATH', '../../..'); define('PIWIK_USER_PATH', PIWIK_INCLUDE_PATH); +define('PIWIK_PRINT_ERROR_BACKTRACE', true); require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php'; require_once PIWIK_INCLUDE_PATH . '/core/Loader.php';