diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e71eb78159949d17ed61a26971d8b961adae9c0..df034f4ea8b2bda15af2e9935db107f3089d74f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,12 @@ This is a changelog for Piwik platform developers. All changes for our HTTP API' * Support for IE8 was dropped. This affects only the Piwik UI, not the Piwik.js Tracker. * Required PHP version was changed from 5.3 to 5.5 + +## Piwik 2.16.1 + +### New features + * New method `setIsWritableByCurrentUser` for `SystemSetting` to change the writable permission for certain system settings via DI. + ## Piwik 2.16.0 ### New features diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f24e51b41bbcc0889d998051e958d22d7dac353f..2130bf7275640d72df4c2758244a409df6d04070 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,3 +10,7 @@ Please read the recommendations on writing a good [bug report](http://developer. ## How to suggest improvements to translations? You can help improve translations in Piwik, please read [contribute to translations](https://github.com/piwik/piwik/blob/master/lang/README.md). + +## How to submit code improvements via pull requests? + +You can help contribute to Piwik codebase via Pull Requests, see [Contributing to Piwik core](https://developer.piwik.org/guides/contributing-to-piwik-core) diff --git a/README.md b/README.md index 0b01769e0e9c5e6aad5006527a1ac1692345f94b..aec6448c3dfc72870e776a221c560ab409f669b5 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ [](https://scrutinizer-ci.com/g/piwik/piwik/?branch=master) [](http://isitmaintained.com/project/piwik/piwik "Average time to resolve an issue") [](http://isitmaintained.com/project/piwik/piwik "Percentage of issues still open") +[](https://gemnasium.com/piwik/piwik) ## Description diff --git a/composer.lock b/composer.lock index 32d55198356bf20a0640d928a128bc4f32e63593..e880b460918bb124ad5381110e3a4d710e3765cd 100644 --- a/composer.lock +++ b/composer.lock @@ -823,16 +823,16 @@ }, { "name": "piwik/device-detector", - "version": "3.5.1", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/piwik/device-detector.git", - "reference": "29830f9bd67c8300e37828db0688161dd6f5f7a5" + "reference": "8c2fcfce34d8bd25d8db9c48e67fabb65c5497ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/piwik/device-detector/zipball/29830f9bd67c8300e37828db0688161dd6f5f7a5", - "reference": "29830f9bd67c8300e37828db0688161dd6f5f7a5", + "url": "https://api.github.com/repos/piwik/device-detector/zipball/8c2fcfce34d8bd25d8db9c48e67fabb65c5497ae", + "reference": "8c2fcfce34d8bd25d8db9c48e67fabb65c5497ae", "shasum": "" }, "require": { @@ -870,7 +870,7 @@ "parser", "useragent" ], - "time": "2016-01-21 22:26:37" + "time": "2016-03-02 22:20:49" }, { "name": "piwik/ini", diff --git a/core/CronArchive.php b/core/CronArchive.php index 28ddf49ce90755cb33979b208a52cc6ef3429449..d96a0a4ae82fb73696afd0a5641727f64df84102 100644 --- a/core/CronArchive.php +++ b/core/CronArchive.php @@ -265,6 +265,7 @@ class CronArchive * * @param string|null $processNewSegmentsFrom When to archive new segments from. See [General] process_new_segments_from * for possible values. + * @param LoggerInterface|null $logger */ public function __construct($processNewSegmentsFrom = null, LoggerInterface $logger = null) { @@ -714,6 +715,12 @@ class CronArchive /** * Returns base URL to process reports for the $idSite on a given $period + * + * @param string $idSite + * @param string $period + * @param string $date + * @param bool|false $segment + * @return string */ private function getVisitsRequestUrl($idSite, $period, $date, $segment = false) { @@ -839,7 +846,11 @@ class CronArchive return true; } - private function getSegmentsForSite($idSite, $period) + /** + * @param $idSite + * @return array + */ + private function getSegmentsForSite($idSite) { $segmentsAllSites = $this->segments; $segmentsThisSite = SettingsPiwik::getKnownSegmentsToArchiveForSite($idSite); @@ -933,6 +944,8 @@ class CronArchive /** * Logs a section in the output + * + * @param string $title */ private function logSection($title = "") { @@ -968,6 +981,8 @@ class CronArchive /** * Issues a request to $url eg. "?module=API&method=API.getDefaultMetricTranslations&format=original&serialize=1" * + * @param string $url + * @return string */ private function request($url) { @@ -1053,6 +1068,7 @@ class CronArchive /** * @internal + * @param $api */ public function setApiToInvalidateArchivedReport($api) { @@ -1136,6 +1152,7 @@ class CronArchive /** * Detects whether a site had visits since midnight in the websites timezone * + * @param $idSite * @return bool */ private function hadWebsiteTrafficSinceMidnightInTimezone($idSite) @@ -1149,19 +1166,23 @@ class CronArchive $secondsSinceLastArchive = $this->getSecondsSinceLastArchive(); if ($secondsSinceLastArchive < $secondsSinceMidnight) { - $secondsSinceMidnight = $secondsSinceLastArchive; + $secondsBackToLookForVisits = $secondsSinceLastArchive; + $sinceInfo = "(since the last successful archiving)"; + } else { + $secondsBackToLookForVisits = $secondsSinceMidnight; + $sinceInfo = "(since midnight)"; } - $from = Date::now()->subSeconds($secondsSinceMidnight)->getDatetime(); + $from = Date::now()->subSeconds($secondsBackToLookForVisits)->getDatetime(); $to = Date::now()->addHour(1)->getDatetime(); $dao = new RawLogDao(); $hasVisits = $dao->hasSiteVisitsBetweenTimeframe($from, $to, $idSite); if ($hasVisits) { - $this->logger->info("- tracking data found for website id $idSite (between $from and $to)"); + $this->logger->info("- tracking data found for website id $idSite since $from UTC $sinceInfo"); } else { - $this->logger->info("- no new tracking data for website id $idSite (between $from and $to)"); + $this->logger->info("- no new tracking data for website id $idSite since $from UTC $sinceInfo"); } return $hasVisits; @@ -1619,7 +1640,7 @@ class CronArchive private function getUrlsWithSegment($idSite, $period, $date) { $urlsWithSegment = array(); - $segmentsForSite = $this->getSegmentsForSite($idSite, $period); + $segmentsForSite = $this->getSegmentsForSite($idSite); $segments = array(); foreach ($segmentsForSite as $segment) { @@ -1676,6 +1697,7 @@ class CronArchive /** * @param $idSite * @param $period + * @param $date */ private function logArchiveWebsite($idSite, $period, $date) { diff --git a/core/DataTable.php b/core/DataTable.php index 326f25fc6f838ce888378c0b16027f7c7ee1f8f0..1cfe92491d5aea5c6468ee08716f2b3a7973e874 100644 --- a/core/DataTable.php +++ b/core/DataTable.php @@ -1722,6 +1722,7 @@ class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess public function mergeSubtables($labelColumn = false, $useMetadataColumn = false) { $result = new DataTable(); + $result->setAllTableMetadata($this->getAllTableMetadata()); foreach ($this->getRowsWithoutSummaryRow() as $row) { $subtable = $row->getSubtable(); if ($subtable !== false) { diff --git a/core/Piwik.php b/core/Piwik.php index 89b1d6ce8759a3a657c63a26253615bef2b125fb..71817cb1964d051114d9736a3a6171359f41a6c4 100644 --- a/core/Piwik.php +++ b/core/Piwik.php @@ -589,7 +589,7 @@ class Piwik $l = strlen($userLogin); if (!($l >= $loginMinimumLength && $l <= $loginMaximumLength - && (preg_match('/^[A-Za-z0-9_.@+-]*$/D', $userLogin) > 0)) + && (preg_match('/^[A-Za-zÄäÖöÜüß0-9_.@+-]*$/D', $userLogin) > 0)) ) { throw new Exception(Piwik::translate('UsersManager_ExceptionInvalidLoginFormat', array($loginMinimumLength, $loginMaximumLength))); } diff --git a/core/Plugin/ConsoleCommand.php b/core/Plugin/ConsoleCommand.php index 29e2fc65f6c6fb422c7fa54d93e2d283bdf0871d..91d18c5c77a76baa2888e426177080be94ec7be4 100644 --- a/core/Plugin/ConsoleCommand.php +++ b/core/Plugin/ConsoleCommand.php @@ -21,19 +21,12 @@ class ConsoleCommand extends SymfonyCommand { public function writeSuccessMessage(OutputInterface $output, $messages) { - $lengths = array_map('strlen', $messages); - $maxLen = max($lengths) + 4; - - $separator = str_pad('', $maxLen, '*'); - $output->writeln(''); - $output->writeln('<info>' . $separator . '</info>'); foreach ($messages as $message) { - $output->writeln(' ' . $message . ' '); + $output->writeln('<info>' . $message . '</info>'); } - $output->writeln('<info>' . $separator . '</info>'); $output->writeln(''); } diff --git a/core/Settings/SystemSetting.php b/core/Settings/SystemSetting.php index fb0a4d7a2d6e23e767eed9fb110d7f4b01e2d74d..68e780a3e802c246156f055688b4537781925bbc 100644 --- a/core/Settings/SystemSetting.php +++ b/core/Settings/SystemSetting.php @@ -66,6 +66,16 @@ class SystemSetting extends Setting return $this->writableByCurrentUser; } + /** + * Set whether setting is writable or not. For example to hide setting from the UI set it to false. + * + * @param bool $isWritable + */ + public function setIsWritableByCurrentUser($isWritable) + { + $this->writableByCurrentUser = (bool) $isWritable; + } + /** * Returns `true` if this setting can be displayed for the current user, `false` if otherwise. * diff --git a/js/piwik.js b/js/piwik.js index 64998cd0cd7cbd829d4fc1a2f3a6ffe2456abe90..cd00196bd2cf609e3cd95b203cafb930385f427a 100644 --- a/js/piwik.js +++ b/js/piwik.js @@ -956,7 +956,7 @@ if (typeof JSON2 !== 'object' && typeof window.JSON === 'object' && window.JSON. /*global window */ /*global unescape */ /*global ActiveXObject */ -/*members encodeURIComponent, decodeURIComponent, getElementsByTagName, +/*members Piwik, encodeURIComponent, decodeURIComponent, getElementsByTagName, shift, unshift, piwikAsyncInit, frameElement, self, hasFocus, createElement, appendChild, characterSet, charset, all, addEventListener, attachEvent, removeEventListener, detachEvent, disableCookies, @@ -1046,8 +1046,8 @@ if (typeof _paq !== 'object') { } // Piwik singleton and namespace -if (typeof Piwik !== 'object') { - Piwik = (function () { +if (typeof window.Piwik !== 'object') { + window.Piwik = (function () { 'use strict'; /************************************************************ @@ -1702,6 +1702,21 @@ if (typeof Piwik !== 'object') { return -1; } + function stringEndsWith(str, suffix) { + str = String(str); + return str.indexOf(suffix, str.length - suffix.length) !== -1; + } + + function stringContains(str, needle) { + str = String(str); + return str.indexOf(needle) !== -1; + } + + function removeCharactersFromEndOfString(str, numCharactersToRemove) { + str = String(str); + return str.substr(0, str.length - numCharactersToRemove); + } + /************************************************************ * Element Visiblility ************************************************************/ @@ -2086,7 +2101,7 @@ if (typeof Piwik !== 'object') { var foundNodes = nodeToSearch.getElementsByClassName(className); return this.htmlCollectionToArray(foundNodes); } - + var children = getChildrenFromNode(nodeToSearch); if (!children || !children.length) { @@ -2658,10 +2673,29 @@ if (typeof Piwik !== 'object') { return apiUrl; } - if (trackerUrl.slice(-9) === 'piwik.php') { - trackerUrl = trackerUrl.slice(0, trackerUrl.length - 9); + // if eg http://www.example.com/js/tracker.php?version=232323 => http://www.example.com/js/tracker.php + if (stringContains(trackerUrl, '?')) { + var posQuery = trackerUrl.indexOf('?'); + trackerUrl = trackerUrl.slice(0, posQuery); + } + + if (stringEndsWith(trackerUrl, 'piwik.php')) { + // if eg without domain or path "piwik.php" => '' + trackerUrl = removeCharactersFromEndOfString(trackerUrl, 'piwik.php'.length); + } else if (stringEndsWith(trackerUrl, '.php')) { + // if eg http://www.example.com/js/piwik.php => http://www.example.com/js/ + // or if eg http://www.example.com/tracker.php => http://www.example.com/ + var lastSlash = trackerUrl.lastIndexOf('/'); + var includeLastSlash = 1; + trackerUrl = trackerUrl.slice(0, lastSlash + includeLastSlash); + } + + // if eg http://www.example.com/js/ => http://www.example.com/ (when not minified Piwik JS loaded) + if (stringEndsWith(trackerUrl, '/js/')) { + trackerUrl = removeCharactersFromEndOfString(trackerUrl, 'js/'.length); } + // http://www.example.com/ return trackerUrl; } @@ -3058,16 +3092,6 @@ if (typeof Piwik !== 'object') { return false; } - function stringEndsWith(str, suffix) { - str = String(str); - return str.indexOf(suffix, str.length - suffix.length) !== -1; - } - - function removeCharactersFromEndOfString(str, numCharactersToRemove) { - str = String(str); - return str.substr(0, str.length - numCharactersToRemove); - } - /* * Extract pathname from URL. element.pathname is actually supported by pretty much all browsers including * IE6 apart from some rare very old ones @@ -4050,8 +4074,7 @@ if (typeof Piwik !== 'object') { * Log the page view / visit */ function logPageView(customTitle, customData) { - var now = new Date(), - request = getRequest('action_name=' + encodeWrapper(titleFixup(customTitle || configTitle)), customData, 'log'); + var request = getRequest('action_name=' + encodeWrapper(titleFixup(customTitle || configTitle)), customData, 'log'); sendRequest(request, configTrackerPause); } @@ -4153,7 +4176,7 @@ if (typeof Piwik !== 'object') { var sourceHref = sourceElement.href.replace(originalSourceHostName, sourceHostName); // browsers, such as Safari, don't downcase hostname and href - var scriptProtocol = new RegExp('^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto):', 'i'); + var scriptProtocol = new RegExp('^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):', 'i'); if (!scriptProtocol.test(sourceHref)) { // track outlinks and all downloads @@ -6502,7 +6525,7 @@ if (window && window.piwikAsyncInit) { (function () { var jsTrackerType = (typeof AnalyticsTracker); if (jsTrackerType === 'undefined') { - AnalyticsTracker = Piwik; + AnalyticsTracker = window.Piwik; } }()); /*jslint sloppy: false */ @@ -6544,7 +6567,7 @@ if (typeof piwik_log !== 'function') { // instantiate the tracker var option, - piwikTracker = Piwik.getTracker(piwikUrl, siteId); + piwikTracker = window.Piwik.getTracker(piwikUrl, siteId); // initialize tracker piwikTracker.setDocumentTitle(documentTitle); diff --git a/lang/am.json b/lang/am.json index 3635057355eeae1a9eaad34da0517cc99f058967..2ec6809da9a6e2b369e138599cdd6f8c87b0bc1a 100644 --- a/lang/am.json +++ b/lang/am.json @@ -61,7 +61,7 @@ "Settings": "ቅንብሮች", "Table": "ሰንጠረዥ", "TagCloud": "መለያ Cloud", - "TranslatorName": "Alazar Tekle of <a href=\"http:\/\/www.addismap.com\">Addis Map<\/a> \/ <a href=\"http:\/\/www.map.et\">Ethiopia Map<\/a>", + "TranslatorName": "Alazar Tekle \/ Ethiopia Map", "Unknown": "á‹«áˆá‰³á‹ˆá‰€", "VBarGraph": "አቀባዊ አሞሌ áŒáˆ«á", "View": "ትእá‹á‰³", diff --git a/lang/be.json b/lang/be.json index 6d20136fc0e605a234f057fbc8fb8976e5c68d71..774c5757805134c852ba8f16c66378f221d8c2a7 100644 --- a/lang/be.json +++ b/lang/be.json @@ -226,7 +226,7 @@ "Tax": "Падатак", "Total": "Ðгульна", "TotalRevenue": "Ðгульны прыбытак", - "TranslatorName": "Marcis G, <a href=\"http:\/\/finfact.org\">Alban 'r4bble' Ardua<\/a>, Iflexion design", + "TranslatorName": "Marcis G, Alban 'r4bble' Ardua, Iflexion design", "UniquePurchases": "Ð£Ð½Ñ–ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ Ð¿Ð°ÐºÑƒÐ¿ÐºÑ–", "Unknown": "ÐевÑдома", "Upload": "Загрузіць", diff --git a/lang/bg.json b/lang/bg.json index 902bbfb91daed49431e5edcbe17374a65cfdf118..843f5ca515692200861ab6070af352dbbca56bba 100644 --- a/lang/bg.json +++ b/lang/bg.json @@ -340,7 +340,7 @@ "TotalRatioTooltip": "Това е %1$s от вÑички %2$s %3$s.", "TotalRevenue": "Общо приход", "TransitionsRowActionTooltip": "Вижте какво поÑетителите Ñа правили преди и Ñлед поÑещаването на тази Ñтраница", - "TranslatorName": "Kristalin Chavdarov, <a href=\"http:\/\/coffebreak.info\">Ðндон Иванов<\/a>, Tom Atanasov, Dimitar Stamenov, ÐŸÐ°Ð½Ð°Ð¹Ð¾Ñ‚Ð¸Ñ ÐšÐ¾Ð½Ð´Ð¾ÑниÑ", + "TranslatorName": "Kristalin Chavdarov, Ðндон Иванов, Tom Atanasov, Dimitar Stamenov, ÐŸÐ°Ð½Ð°Ð¹Ð¾Ñ‚Ð¸Ñ ÐšÐ¾Ð½Ð´Ð¾ÑниÑ", "UniquePurchases": "Уникални поръчки", "Unknown": "ÐеизвеÑтен", "Upload": "Качи", diff --git a/lang/cs.json b/lang/cs.json index 2cfd9c7ea5b53c4a8c4c09aab79233fd04b97689..274cd5ed67554aa24271d8e643d666c18a445361 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -366,7 +366,7 @@ "TrackingScopeVisit": "NávÅ¡tÄ›va", "TransitionsRowActionTooltip": "PodÃvejte se, co dÄ›lali návÅ¡tÄ›vnÃci pÅ™ed a po návÅ¡tÄ›vÄ› této stránky", "TransitionsRowActionTooltipTitle": "OtevÅ™Ãt pÅ™echody", - "TranslatorName": "Filip Bartmann, Jakub Baláš, Michal ÄŒihaÅ™", + "TranslatorName": "Filip Bartmann, Jakub Baláš, Michal ÄŒihaÅ™, <a href=\"https:\/\/www.openhub.net\/accounts\/svetlemodry\">Jaroslav Lichtblau<\/a>", "UniquePurchases": "JedineÄnà nakupujÃcÃ", "Unknown": "Neznámý", "Upload": "Nahrát", diff --git a/lang/da.json b/lang/da.json index e5c5b2e313a6f1905d9cc4ad99dece05c0d97cfd..d390d5016d539e1b84617ac444d4a0a7b7611636 100644 --- a/lang/da.json +++ b/lang/da.json @@ -341,7 +341,7 @@ "TotalRevenue": "Indtægter i alt", "TransitionsRowActionTooltip": "See hvad besøgende gjorde før og efter de sÃ¥ denne side", "TransitionsRowActionTooltipTitle": "Ã…ben overgange", - "TranslatorName": "<a href=\"http:\/\/danieljuhl.dk\/\">Daniel Juhl<\/a>, jan madsen", + "TranslatorName": "Daniel Juhl, jan madsen", "UniquePurchases": "Unikke køb", "Unknown": "Ukendt", "Upload": "Overfør", diff --git a/lang/de.json b/lang/de.json index 94f585b079d085cc803d003df4fc5a2577339294..4fcf0eb9bb13db6d1e5e472959696f4b1eb2e7b5 100644 --- a/lang/de.json +++ b/lang/de.json @@ -86,6 +86,7 @@ "ConfigFileIsNotWritable": "Die Piwik-Konfigurationsdatei %1$s ist nicht schreibbar, Ihre Änderungen werden nicht gespeichert. %2$s Bitte ändern Sie die Zugriffsrechte der Konfigurationsdatei, um diese schreibbar zu machen.", "Continue": "Weiter", "ContinueToPiwik": "Weiter zu Piwik", + "CurrentlyUsingUnsecureHttp": "Sie besuchen Piwik über eine unsichere HTTP-Verbindung. Wir empfehlen Ihnen, SSL (HTTPS) zu aktivieren.", "CreatedByUser": "Erstellt von %s", "CurrentMonth": "Aktueller Monat", "CurrentWeek": "Aktuelle Woche", @@ -230,6 +231,7 @@ "Name": "Name", "NbActions": "Anzahl der Aktionen", "NbSearches": "Anzahl der internen Suchen", + "NeedMoreHelp": "Benötigen Sie weitere Hilfe?", "Never": "Niemals", "NewReportsWillBeProcessedByCron": "Wenn der Archivierungsprozess nicht vom Browser ausgelöst wird, werden neue Berichte vom Cronjob erzeugt.", "NewUpdatePiwikX": "Neue Version: Piwik %s", diff --git a/lang/el.json b/lang/el.json index 23662599bab37755a87592e1d4d53b56ba2ce39e..fcceae2a811a774290032c520b9d6efcf6316470 100644 --- a/lang/el.json +++ b/lang/el.json @@ -366,7 +366,7 @@ "TrackingScopeVisit": "Επίσκεψη", "TransitionsRowActionTooltip": "Δείτε τι Îκαναν οι επισκÎπτες Ï€Ïιν και μετά την Ï€Ïοβολή αυτής της σελίδας", "TransitionsRowActionTooltipTitle": "Άνοιγμα Μεταβάσεων", - "TranslatorName": "Jim Black www.jblack.info, ΓεώÏγιος ΤÎλλος OnSite.Net VoIP & IT Solutions, Παναγιώτης Παπάζογλου ΔÏ. Δασολόγος-ΠεÏιβαλλοντολόγος, <a href=\"http:\/\/www.lourdas.name\">ΛοÏÏδας Βασίλειος<\/a>", + "TranslatorName": "Jim Black, ΓεώÏγιος ΤÎλλος OnSite.Net VoIP & IT Solutions, Παναγιώτης Παπάζογλου ΔÏ. Δασολόγος-ΠεÏιβαλλοντολόγος, ΛοÏÏδας Βασίλειος, <a href=\"https:\/\/gr.linkedin.com\/in\/lourdas\">Vasilis Lourdas<\/a>", "UniquePurchases": "ΜοναδικÎÏ‚ ΠαÏαγγελίες", "Unknown": "Άγνωστο", "Upload": "Αποστολή", diff --git a/lang/fa.json b/lang/fa.json index f3761b143e78df48fa35f49b2e3434dc607bb7ff..248c7712e464fdda33e6813813cf64baade041c6 100644 --- a/lang/fa.json +++ b/lang/fa.json @@ -312,7 +312,7 @@ "TotalRevenue": "درآمد Ú©Ù„", "TransitionsRowActionTooltip": "کارهایی Ú©Ù‡ بازدیدکنندگان قبل Ùˆ بعد از دیدن این صÙØÙ‡ انجام داده اند را ببینید", "TransitionsRowActionTooltipTitle": "انتقال های باز", - "TranslatorName": "reza abbasi, <a href=\"http:\/\/parsigate.com\">ParsiGate and Sweddata<\/a>, Hojat Ghanad", + "TranslatorName": "reza abbasi, ParsiGate and Sweddata, Hojat Ghanad", "UniquePurchases": "خرید های متÙاوت", "Unknown": "ناشناس", "Upload": "آپلود", diff --git a/lang/fi.json b/lang/fi.json index eec6f7eba142911b6517e11633a06b4070e0843e..715c3afc411a6f7df469caee06a3e692f762246a 100644 --- a/lang/fi.json +++ b/lang/fi.json @@ -340,7 +340,7 @@ "TotalRevenue": "Tulot yhteensä", "TransitionsRowActionTooltip": "Näe mitä kävijät tekivät ennen ja jälkeen tällä sivulla käymistä", "TransitionsRowActionTooltipTitle": "Avaa muutokset", - "TranslatorName": "<a href=\"http:\/\/olli.jarva.fi\/\">Olli Jarva<\/a>, <a href=\"http:\/\/www.alennuskoodia.fi\/\">Alennuskoodia.fi<\/a>", + "TranslatorName": "<a href=\"http:\/\/olli.jarva.fi\/\">Olli Jarva<\/a>", "UniquePurchases": "Uniikit ostot", "Unknown": "Tuntematon", "Upload": "Lähetä", diff --git a/lang/fr.json b/lang/fr.json index ca448a47060daac5d55c125054b031387daafae7..73317845606cc43d85df2ad3a894614e197f63e5 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -364,7 +364,7 @@ "TrackingScopeVisit": "Visite", "TransitionsRowActionTooltip": "Visualisez ce que les visiteurs ont fait après avoir visité cette page", "TransitionsRowActionTooltipTitle": "Ouvrir les transitions", - "TranslatorName": "<a href=\"http:\/\/microsofttouch.fr\/default\/b\/vincent\/default.aspx\">Vincent BIRET<\/a>, <a href=\"http:\/\/www.ludovicevrard.com\">Ludovic Evrard<\/a>, Daniel Castronovo", + "TranslatorName": "<a href=\"http:\/\/microsofttouch.fr\/default\/b\/vincent\/default.aspx\">Vincent BIRET<\/a>, Ludovic Evrard, Daniel Castronovo", "UniquePurchases": "Achats uniques", "Unknown": "Inconnu", "Upload": "Téléchargement", diff --git a/lang/he.json b/lang/he.json index c73ae356ac6283f841aba7bf8ab117f2b1c9b5c4..ad2e793d5680f695ffecd62393711110f85c25e0 100644 --- a/lang/he.json +++ b/lang/he.json @@ -186,7 +186,7 @@ "Table": "טבלה", "TagCloud": "×¢× ×Ÿ תגי×", "Total": "סך הכל", - "TranslatorName": "<a href=\"http:\/\/www.nirlah.com\">Nirlah - Nir Lahad<\/a>", + "TranslatorName": "Nirlah - Nir Lahad", "Unknown": "×œ× ×™×“×•×¢", "Upload": "העל××”", "Username": "×©× ×ž×©×ª×ž×©", diff --git a/lang/hi.json b/lang/hi.json index fedbd7a13d1bdfc80b8e57a72d98eba2440d704f..f186ddc2306b7a47d327550291f51711c9118843 100644 --- a/lang/hi.json +++ b/lang/hi.json @@ -336,7 +336,7 @@ "TotalRevenue": "कà¥à¤² राजसà¥à¤µ", "TransitionsRowActionTooltip": "पहले और इस पृषà¥à¤ को देखने के बाद दरà¥à¤¶à¤•à¥‹à¤‚ ने कà¥à¤¯à¤¾ किया देखें", "TransitionsRowActionTooltipTitle": "ओपन बदलाव", - "TranslatorName": "<a href=\"http:\/\/www.ajoft.com\/\">Ajoft Softwares<\/a> , <a href=\"http:\/\/search-sos.org\">Ritesh Kumar<\/a> , <a href=\"http:\/\/www.best-whiteningstrips.com\/\">Rahul Patil<\/a>", + "TranslatorName": "Ajoft Softwares , Ritesh Kumar , Rahul Patil", "UniquePurchases": "अदà¥à¤µà¤¿à¤¤à¥€à¤¯ खरीद", "Unknown": "अजà¥à¤žà¤¾à¤¤", "Upload": "अपलोड करें", diff --git a/lang/id.json b/lang/id.json index 2e052353fcef56d36bc27cf2509e6530a37ff61e..32d01c7113a8c98742d773222075aeda673b487d 100644 --- a/lang/id.json +++ b/lang/id.json @@ -320,7 +320,7 @@ "TotalRevenue": "Jumalh Pendapatan", "TransitionsRowActionTooltip": "Lihat apa yang pengujung lakukan sebelum dan sesudah melihat halaman ini", "TransitionsRowActionTooltipTitle": "Buka Peralihan", - "TranslatorName": "<a href=\"http:\/\/alihbahasa.yuah.web.id\/?asal=piwikfl\">Bayu Aditya H<\/a>, Djaka PM, Hendry Lee", + "TranslatorName": "Bayu Aditya H, Djaka PM, Hendry Lee", "UniquePurchases": "Pembelian Unik", "Unknown": "TakTahu", "Upload": "Unggah", diff --git a/lang/ko.json b/lang/ko.json index 0e3adbe8531bbb6e5d7828878036a963f794e363..615e8bf38319749ffd4378a47b31d79a22c5d2d9 100644 --- a/lang/ko.json +++ b/lang/ko.json @@ -83,6 +83,7 @@ "ConfigFileIsNotWritable": "Piwik ì„¤ì • íŒŒì¼ %1$s를 쓸수 없기 ë•Œë¬¸ì— ì¼ë¶€ ë³€ê²½ì´ ì €ìž¥ë˜ì§€ ì•Šì„ ìˆ˜ 있습니다. %2$s ì„¤ì • 파ì¼ì˜ ê¶Œí•œì„ ì“¸ 수 있게 변경하세요.", "Continue": "계ì†", "ContinueToPiwik": "Piwik ê³„ì† í•˜ê¸°", + "CurrentlyUsingUnsecureHttp": "현재 ìœ„í—˜í• ìˆ˜ 있는 ë¶ˆì•ˆì „í•œ HTTP를 통해 Piwik를 ì´ìš©í•˜ê³ 있습니다. 우리는 SSL (HTTPS)를 설치하여 ë³´ì•ˆì„ í–¥ìƒì‹œí‚¬ ê²ƒì„ ì¶”ì²œí•©ë‹ˆë‹¤.", "CurrentMonth": "ì´ë²ˆë‹¬", "CurrentWeek": "ì´ë²ˆì£¼", "CurrentYear": "올해", @@ -188,6 +189,7 @@ "Language": "언어", "LastDays": "마지막 %sì¼ê°„ (오늘 í¬í•¨)", "LastDaysShort": "마지막 %sì¼", + "Live": "ë¼ì´ë¸Œ", "Loading": "로딩중...", "LoadingData": "ë°ì´í„° 로딩중...", "LoadingPopover": "로딩중 %s...", @@ -321,9 +323,11 @@ "TimeOnPage": "페ì´ì§€ì— 머문 시간", "Total": "ì´", "TotalRevenue": "ì´ ìˆ˜ìµ", + "TrackingScopePage": "페ì´ì§€", + "TrackingScopeVisit": "방문", "TransitionsRowActionTooltip": "ì´ íŽ˜ì´ì§€ë¥¼ 조회하기 ì´ì „ì˜ ë°©ë¬¸ìž í–‰ë™ ì¶”ì ", "TransitionsRowActionTooltipTitle": "íŠ¸ë Œì§€ì…˜ 열기", - "TranslatorName": "Jong-In Kim, <a href=\"http:\/\/firejune.com\">Joon Kyoung<\/a>", + "TranslatorName": "Jong-In Kim, Joon Kyoung, <a href=\"https:\/\/www.linkedin.com\/in\/jybak\">JinYeong Bak<\/a>", "UniquePurchases": "ê³ ìœ ì£¼ë¬¸", "Unknown": "알수없ìŒ", "Upload": "업로드", @@ -358,6 +362,7 @@ "Weekly": "주간", "WeeklyReport": "매주", "WeeklyReports": "주간 ë³´ê³ ì„œ", + "WellDone": "잘 처리ë˜ì—ˆìŠµë‹ˆë‹¤!", "Widgets": "ìœ„ì ¯", "Widget": "ìœ„ì ¯", "YearlyReport": "매년", diff --git a/lang/pl.json b/lang/pl.json index 743a5fc86229cfe5b29436462d94d80e0357a9a9..b908e83f8e73107ad88076c6163b8dec01c66019 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -331,7 +331,7 @@ "TrackingScopePage": "Strona", "TrackingScopeVisit": "Wizyta", "TransitionsRowActionTooltipTitle": "Otwarte przejÅ›cia", - "TranslatorName": "<a href=\"http:\/\/eliteria.pl\">Remigiusz Waszkiewicz<\/a>, Marcin Kowol, Maciej ZawadziÅ„ski, Artur WarchoÅ‚,AETERNUS, Tomasz Kornicki", + "TranslatorName": "Remigiusz Waszkiewicz, Marcin Kowol, Maciej ZawadziÅ„ski, Artur WarchoÅ‚,AETERNUS, Tomasz Kornicki", "UniquePurchases": "Unikalnych zakupów", "Unknown": "Nieznany", "Upload": "Wgraj", diff --git a/lang/pt-br.json b/lang/pt-br.json index 9d55d2908d5c946cf622dfcfbe1eb51df10e699a..caa49ba874aa50e81d912bf916c0dc47bb2af09f 100644 --- a/lang/pt-br.json +++ b/lang/pt-br.json @@ -366,7 +366,7 @@ "TrackingScopeVisit": "Visita", "TransitionsRowActionTooltip": "Veja o que os visitantes fizeram antes e depois de verem este página", "TransitionsRowActionTooltipTitle": "Transições abertas", - "TranslatorName": "Marcos Napier, Marcela Ferraro, Zob, Raphael Milani, Fernando Fraga Rodrigues", + "TranslatorName": "<a href=\"https:\/\/arenato.com\">A. Renato<\/a>", "UniquePurchases": "Pedidos únicos", "Unknown": "Desconhecido", "Upload": "Carregar", diff --git a/lang/ro.json b/lang/ro.json index ee042e57e643fddd7a2b591e0d6ddbb58440f348..b180bbe00ed3cd692b096a5b19be86932994831f 100644 --- a/lang/ro.json +++ b/lang/ro.json @@ -327,7 +327,7 @@ "TotalRevenue": "Venit total", "TransitionsRowActionTooltip": "Vezi ce au făcut vizitatorii până la ÅŸi după vizionarea acestei pagini", "TransitionsRowActionTooltipTitle": "Treceri Deschise", - "TranslatorName": "astonsoftware, <a href=\"http:\/\/inboxtranslations.com\">Inbox Translation<\/a>, <a href=\"http:\/\/marcelbejgu.ro\">Marcel Bejgu<\/a>", + "TranslatorName": "astonsoftware, Inbox Translation, Marcel Bejgu", "UniquePurchases": "Cumparaturi unice", "Unknown": "Necunoscut", "Upload": "Incarca", diff --git a/lang/ru.json b/lang/ru.json index cd59aba81baabaf9bc3a13d72e0d8c793f0bd2a1..79d4aed2c4fd95e8a96ea2ad8e52730ff550d029 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -351,7 +351,7 @@ "TotalVisitsPageviewsActionsRevenue": "(Ð’Ñего: %1$s визиты, %2$s проÑмотры Ñтраниц, %3$s дейÑтвиÑ, %4$s выручка)", "TransitionsRowActionTooltip": "ПоÑмотрите, что поÑетители делали до и поÑле проÑмотра Ñтой Ñтраницы", "TransitionsRowActionTooltipTitle": "Открыть переходы", - "TranslatorName": "Ademaro, <a href=\"http:\/\/jokerintertactive.ru\/\">Joker Interactive<\/a>, <a href=\"http:\/\/codax.ru\/\">Важенин Ð˜Ð»ÑŒÑ (ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Codax)<\/a>, Nelde Maxim, Andrey, Vadim Nekhai, <a href=\"https:\/\/uptimepal.net\">UptimePal<\/a>", + "TranslatorName": "Ademaro, Joker Interactive, Важенин Ð˜Ð»ÑŒÑ (ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Codax), Nelde Maxim, Andrey, Vadim Nekhai, UptimePal", "UniquePurchases": "Уникальные покупки", "Unknown": "ÐеизвеÑтно", "Upload": "Закачать", diff --git a/lang/sk.json b/lang/sk.json index 8377e7666b6b2150bba5df36eceac58ab7922856..23e3e458ab04a9e73b25e652918f5a3dfc138feb 100644 --- a/lang/sk.json +++ b/lang/sk.json @@ -27,6 +27,7 @@ "CannotUnzipFile": "Nie je možné rozbaliÅ¥ súbor %1$s: %2$s", "ChangePassword": "Zmena hesla", "ChangeTagCloudView": "VÅ¡imnite si, že reporty môžete vidieÅ¥ aj iným spôsobom ako oblak znaÄiek. Použite ovládanie na spodku grafu pre prepÃnanie zobrazenia.", + "ChooseDate": "Vyberte dátum, aktuálne zvolený dátum je: %s", "ChooseLanguage": "Vyberte jazyk", "ChoosePeriod": "Vyberte si obdobie", "ClickHere": "Klinite pre viac informáciÃ.", @@ -85,6 +86,8 @@ "ConfigFileIsNotWritable": "KonfiguraÄný súbor %1$s Piwiku , some of your changes might not be saved. %2$s Please change permissions of the config file to make it writable.", "Continue": "PokraÄovaÅ¥", "ContinueToPiwik": "PokraÄovaÅ¥ do projektu Piwik", + "CurrentlyUsingUnsecureHttp": "PoužÃvate Piwik na nezabezpeÄenom HTTP, ktoré môže byÅ¥ rizikové. OdporúÄame vám nastaviÅ¥ Piwik na použÃvanie SSL (HTTPS) pre zlepÅ¡enie bezpeÄnosti.", + "CreatedByUser": "vytvoril %s", "CurrentMonth": "Aktuálny mesiac", "CurrentWeek": "Aktuálny týždeň", "CurrentYear": "Aktuálny rok", @@ -228,6 +231,7 @@ "Name": "Meno", "NbActions": "PoÄet akciÃ", "NbSearches": "PoÄet vnútorných vyhľadávanÃ", + "NeedMoreHelp": "Potrebujete pomoc?", "Never": "Nikdy", "NewReportsWillBeProcessedByCron": "Ak nie je archivovanie Piwiku spúštané prehliadaÄom, nové správy budú spracované crontabom.", "NewUpdatePiwikX": "Nová aktualizácia: Piwik %s", @@ -262,8 +266,11 @@ "OperationIsNot": "Nie je", "OperationLessThan": "Menej ako", "OperationNotEquals": "Nerovná sa", + "OperationStartsWith": "ZaÄÃna s", + "OperationEndsWith": "KonÄà na", "OptionalSmtpPort": "Nepovinné. Východiskové nastavenie je port 25 pre neÅ¡ifrované spojenie a TLS STMP, Äi port 465 pre SSL STMP.", "Options": "Možnosti", + "Or": "alebo", "OrCancel": "alebo %1$s ZatvoriÅ¥ %2$s", "Others": "Ostatné", "Outlink": "Odchádzajúci preklik", @@ -272,6 +279,7 @@ "OverlayRowActionTooltipTitle": "OtvoriÅ¥ prekrytie stránky", "Overview": "Prehľad", "Pages": "Stránky", + "Pagination": "%1$s - %2$s z %3$s", "PaginationWithoutTotal": "%1$s - %2$s", "ParameterMustIntegerBetween": "Parameter %1$s musà byÅ¥ ÄÃselná hodnota medzi %2$s a %3$s.", "Password": "Heslo", @@ -353,6 +361,9 @@ "TotalRatioTooltip": "Toto je %1$s z celkového %2$s %3$s.", "TotalRevenue": "Celkový prÃjem", "TotalVisitsPageviewsActionsRevenue": "(Celkom: %1$s návÅ¡tev, %2$s zobrazenÃ, %3$s akciÃ, tržby: %4$s)", + "TrackingScopeAction": "Akcia", + "TrackingScopePage": "Strana", + "TrackingScopeVisit": "NávÅ¡teva", "TransitionsRowActionTooltip": "Pozrite si Äo robili návÅ¡tevnÃci pred a po prezretà si tejto stránky.", "TransitionsRowActionTooltipTitle": "Otvorené zmeny", "TranslatorName": "Miroslav Habara, Zdenko Podobný, Juraj \"Lup0\" ViktorÃn, Ivanka", diff --git a/lang/sl.json b/lang/sl.json index d1a09bcbbc569de5fa4b106f8c9df771105e7974..70c1860508744f771f9d7e8ceb1ce5083b84e7b1 100644 --- a/lang/sl.json +++ b/lang/sl.json @@ -345,7 +345,7 @@ "TotalRevenue": "Skupni prihodki", "TransitionsRowActionTooltip": "Poglejte kaj so obiskovalci poÄeli pred in potem, ko so obiskali to stran", "TransitionsRowActionTooltipTitle": "Odpri prehode", - "TranslatorName": "Aleksej Lazanski, <a href=\"http:\/\/www.hupso.com\">Tom Merc<\/a>", + "TranslatorName": "Aleksej Lazanski, Tom Merc", "UniquePurchases": "Edinstveni nakupi", "Unknown": "Neznano", "Upload": "Naloži", diff --git a/lang/sq.json b/lang/sq.json index 28df9c980c8c4f686c524f073b90113eb6f37a49..6e516c0bf052f79a057d323ef282521cba45f26d 100644 --- a/lang/sq.json +++ b/lang/sq.json @@ -1,5 +1,7 @@ { "General": { + "12HourClock": "orë 12-orëshe", + "24HourClock": "orë 24-orëshe", "AbandonedCarts": "Shporta të Braktisura", "AboutPiwikX": "Rreth Piwik-ut %s", "Action": "Veprim", @@ -7,7 +9,7 @@ "Add": "Shtoni", "AfterEntry": "pas hyrjes këtu", "All": "Krejt", - "AllowPiwikArchivingToTriggerBrowser": "Arkivoji raportet kur shihen që nga shfletuesi", + "AllowPiwikArchivingToTriggerBrowser": "Lejoje vënien në punë të arkivimit nga Piwik-u kur raportet shihen në një shfletues", "AllWebsitesDashboard": "Pult për krejt sajtet", "And": "dhe", "API": "API", @@ -48,7 +50,7 @@ "ColumnDestinationPage": "Faqe e Synuar", "ColumnEntrances": "Hyrje", "ColumnEntrancesDocumentation": "Numër vizitash që zunë fill në këtë faqe.", - "ColumnExitRate": "Mesatare Largimesh", + "ColumnExitRate": "Mesatare largimesh", "ColumnExitRateDocumentation": "Përqindje vizitash që e braktisën sajtin pas parjes së kësaj faqeje.", "ColumnExits": "Dalje", "ColumnExitsDocumentation": "Numër vizitash që përfunduan me këtë faqe.", @@ -65,7 +67,7 @@ "ColumnNbVisits": "Vizita", "ColumnNbVisitsDocumentation": "Nëse një vizitor vjen për herë të parë në sajtin tuaj, ose nëse e viziton një faqe pas më shumë se 30 minutash pasi ka parë faqen e fundit, kjo do të regjistrohet si vizitë e re.", "ColumnPageBounceRateDocumentation": "Përqindje vizitash që zunë fill në këtë faqe dhe e braktisën sajtin menjëherë.", - "ColumnPageviews": "Shikime faqesh", + "ColumnPageviews": "Parje faqesh", "ColumnPageviewsDocumentation": "Sa herë është vizituar kjo faqe.", "ColumnPercentageVisits": "% Vizita", "ColumnRevenue": "Të ardhura", @@ -73,9 +75,8 @@ "ColumnTotalPageviews": "Parje faqesh Gjithsej", "ColumnUniqueEntrances": "Hyrje unike", "ColumnUniqueExits": "Dalje unike", - "ColumnUniquePageviews": "Shikime Unike Faqesh", + "ColumnUniquePageviews": "Parje Unike Faqesh", "ColumnUniquePageviewsDocumentation": "Numër vizitash që përfshinë edhe këtë faqe. Nëse një faqe qe parë disa herë gjatë një vizite, numërohet vetëm një herë.", - "ColumnValuePerVisit": "Vlerë për Vizitë", "ColumnViewedAfterSearch": "Përfundime kërkimi të klikuara", "ColumnViewedAfterSearchDocumentation": "Numri i herëve që kjo Faqe qe vizituar nga një vizitor, pasi kreu një kërkim mbi sajtin tuaj, dhe klikoi mbi këtë faqe te përfundimet e kërkimit.", "ColumnVisitDuration": "Kohëzgjatje Vizite (në sekonda)", @@ -97,6 +98,7 @@ "DateRange": "Interval datash:", "DateRangeFrom": "Prej", "DateRangeFromTo": "Nga %1$s në %2$s", + "DateRangeInPeriodList": "Interval datash", "DateRangeTo": "Për", "DaysHours": "%1$s ditë %2$s orë", "DaysSinceFirstVisit": "Ditë që nga vizita e parë", @@ -126,103 +128,91 @@ "EcommerceVisitStatusDesc": "Shihni gjendjen e E-trgtisë në fund të vizitës", "EcommerceVisitStatusEg": "Për shembull, për të përzgjedhur krejt vizitat që janë bërë një porosi E-tregti, kërkesa API do të duhej të përmbante %s", "Edit": "Përpunojeni", - "EncryptedSmtpTransport": "Jepni kodimin e shtresës së mbartjes siç e kërkon shërbyesi juaj SMTP.", + "EncryptedSmtpTransport": "Jepni fshehtëzimin e shtresës së mbartjes siç e kërkon shërbyesi juaj SMTP.", "Error": "Gabim", "ErrorRequest": "Hmm… pati një problem gjatë kërkesës. Ndoshta shërbyesi pati një problem të përkohshëm, ose ndoshta kërkuat një raport me shumë të dhëna. Ju lutemi, riprovoni. Nëse jy gabim përsëritet vazhdimisht, ju lutemi, %1$slidhuni me përgjegjësin tuaj për Piwik-un%2$s për asistancë.", - "EvolutionOverPeriod": "Zhvillime përgjatë periudhës", - "EvolutionSummaryGeneric": "%1$s in %2$s compared to %3$s in %4$s. Evolution: %5$s", "ExceptionContactSupportGeneric": "Nëse e keni ende këtë problem, ju lutemi, %1$slidhuni me përgjegjësin e Piwik-ut tuaj%2$s për asistencë.", - "ExceptionCheckUserHasSuperUserAccessOrIsTheUser": "Përdoruesi duhet të jetë ose një Superpërdorues, ose vetë përdoruesi '%s'.", - "ExceptionConfigurationFileNotFound": "Nuk u gjet kartela {%s} e formësimit.", + "EvolutionOverPeriod": "Zhvillime përgjatë periudhës", + "EvolutionSummaryGeneric": "%1$s në %2$s krahasuar me %3$s te %4$s. Evolucion: %5$s", + "ExceptionCheckUserHasSuperUserAccessOrIsTheUser": "Përdoruesi duhet të jetë ose Superpërdorues, ose vetë përdoruesi '%s'.", + "ExceptionConfigurationFileNotFound": "S’u gjet kartela {%s} e formësimit.", "ExceptionConfigurationFileNotFound2": "Nëse kartela ekziston, ju lutemi, kontrolloni nëse përdoruesi '%1$s' mundet ta lexojë %2$s.", "ExceptionDatabaseVersion": "Versioni juaj për %1$s është %2$s por Piwik-u lyp të paktën %3$s.", - "ExceptionDatabaseVersionNewerThanCodebase": "Kodi i Piwik-ut tuaj po xhiron versionin e vjetër %1$s dhe kemi gjetur se Baza juaj e të Dhënave Piwik është përmirësuar tashmë me versionin e ri %2$s.", - "ExceptionDatabaseVersionNewerThanCodebaseWait": "Ndoshta përgjegjësit e Piwik-ut janë duke përfunduar procesin e përmirësimit të tij. Ju lutemi, riprovoni pas pak minutash.", - "ExceptionFileIntegrity": "Kontrolli i pacënueshmërisë dështoi: %s", + "ExceptionDatabaseVersionNewerThanCodebase": "Kodi bazë i Piwik-ut tuaj xhiron versionin e vjetër %1$s dhe kemi dalluar se Baza juaj e të Dhënave Piwik është përmirësuar tashmë me versionin më të ri %2$s.", + "ExceptionDatabaseVersionNewerThanCodebaseWait": "Ndoshta përgjegjësit e Piwik-ut tuaj janë duke përfunduar procesin e përmirësimit. Ju lutemi, riprovoni pas pak minutash.", + "ExceptionFileIntegrity": "Kontrolli i pacenueshmërisë dështoi: %s", "ExceptionFilesizeMismatch": "Mospërputhje madhësie kartelash: %1$s (pritej gjatësi: %2$s, u gjet: %3$s)", "ExceptionIncompatibleClientServerVersions": "Versioni i klientit tuaj për %1$s është %2$s çka është e papërputhshme me versionin e shërbyesit %3$s.", "ExceptionInvalidAggregateReportsFormat": "Formati '%1$s' për raporte të grumbulluar nuk është i vlefshëm. Provoni më mirë ndonjë nga vijuesit: %2$s.", - "ExceptionInvalidArchiveTimeToLive": "Jetëgjatësia e arkivës për sot duhet të jetë një numër sekondash më i madh se zero", "ExceptionInvalidDateFormat": "Formati i datës duhet të jetë: %1$s ose çfarëdo fjalëkyçi që funksioni %2$s e mbulon (për më tepër të dhëna, shihni %3$s)", "ExceptionInvalidDateRange": "Data '%1$s' nuk është interval i saktë datash. Ky do të duhej të kishte formatin vijues: %2$s.", "ExceptionInvalidPeriod": "Nuk mbulohet periudha '%1$s'. Provoni më mirë ndonjë nga vijuesit: %2$s", "ExceptionInvalidRendererFormat": "Formati '%1$s' për vizatuesin nuk është i vlefshëm. Provoni më mirë ndonjë nga vijuesit: %2$s.", "ExceptionInvalidReportRendererFormat": "Formati '%1$s' për raportuesin nuk është i vlefshëm. Provoni më mirë ndonjë nga vijuesit: %2$s.", "ExceptionInvalidStaticGraphType": "Lloji '%1$s' për grafik statik nuk është i vlefshëm. Provoni më mirë ndonjë nga vijuesit: %2$s.", - "ExceptionInvalidToken": "Token-i nuk është i vlefshëm.", - "ExceptionLanguageFileNotFound": "S’u gjet kartela e gjuhës '%s'.", "ExceptionMethodNotFound": "Metoda '%1$s' nuk ekziston ose nuk është e mundshme në modulin '%2$s'.", + "ExceptionInvalidArchiveTimeToLive": "Jetëgjatësia e arkivës për sot duhet të jetë një numër sekondash më i madh se zero", + "ExceptionInvalidToken": "Token-i s’është i vlefshëm.", + "ExceptionLanguageFileNotFound": "S’u gjet kartela e gjuhës '%s'.", "ExceptionMissingFile": "Kartelë që mungon: %s", - "ExceptionNonceMismatch": "Nuk u verifikua dot token-i i sigurisë në këtë formular.", - "ExceptionPrivilege": "Nuk mund të hyni në këtë burim, ngaqë lyp të drejta %s.", - "ExceptionPrivilegeAccessWebsite": "Nuk mund të hyni në këtë burim, ngaqë lyp të drejta %s për id = %d të site-it web.", - "ExceptionPrivilegeAtLeastOneWebsite": "Nuk mund të hyni në këtë burim, ngaqë lyp të drejta %s për të paktën një nga site-et web.", + "ExceptionNonceMismatch": "S’u verifikua dot token-i i sigurisë në këtë formular.", + "ExceptionPrivilege": "S’mund të hyni në këtë burim, ngaqë lyp të drejta %s.", + "ExceptionPrivilegeAccessWebsite": "S’mund të hyni në këtë burim, ngaqë lyp të drejta %s për id = %d të sajtit.", + "ExceptionPrivilegeAtLeastOneWebsite": "S’mund të hyni në këtë burim, ngaqë lyp të drejta %s për të paktën një nga sajtet.", "ExceptionUnableToStartSession": "I pazoti të nisë sesion.", "ExceptionUndeletableFile": "I pazoti të fshijë %s", "ExceptionUnreadableFileDisabledMethod": "Nuk u lexua dot kartela {%1$s} e formësimit. Streha juaj mund të ketë çaktivizuar %2$s.", "ExceptionReportNotFound": "Raporti i kërkuar s’ekziston.", "ExceptionWidgetNotFound": "Widget-i i kërkuar s’ekziston.", - "ExceptionReportNotEnabled": "Raporti i kërkuar nuk është i aktivizuar. Kjo zakonisht nënkupton se ose shtojca që mbulon raportin është e çaktivizuar, ose se nuk keni leje të mjaftueshme ta hapni këtë raport.", + "ExceptionReportNotEnabled": "Raporti i kërkuar s’është i aktivizuar. Kjo zakonisht do të thotë se ose shtojca që përcakton raportin është e çaktivizuar, ose se s’keni leje të mjaftueshme të përdorni këtë raport.", "ExpandDataTableFooter": "Ndryshoni vizualizimin ose formësoni raportin", "Export": "Eksporto", "ExportAsImage": "Eksportoje si Figurë", "ExportThisReport": "Eksportojeni këtë grup të dhënash në formate të tjerë", "Faq": "FAQ", - "FileIntegrityWarningExplanation": "Kontrolli i pacenueshmërisë së kartelës dështoi dhe njoftoi për disa gabime. Kjo ka shumë të ngjarë të vijë për shkak të një ngarkimi të pjesshëm ose të pasuksesshëm të disa kartelave Piwik. Do të duhej të ringarkonit krejt kartelat e Piwik-ut në trajtë DYORE dhe të rifreskoni faqen derisa të mos tregojë më gabim.", + "FileIntegrityWarningExplanation": "Kontrolli i pacënueshmërisë së kartelës dështoi dhe njoftoi për disa gabime. Kjo ka shumë të ngjarë të vijë për shkak të një ngarkimi të pjesshëm ose të pasuksesshëm të disa kartelave Piwik. Do të duhej të ringarkonit krejt kartelat e Piwik-ut në trajtë DYORE dhe të rifreskoni faqen derisa të mos tregojë më gabim.", "First": "I pari", "ForExampleShort": "p.sh.", - "Forums": "Forums", + "Forums": "Forume", "FromReferrer": "prej", "GeneralInformation": "Të dhëna të Përgjithshme", "General": "Të përgjithshme", - "GetStarted": "Fillojani", + "GetStarted": "Get started", "GiveUsYourFeedback": "Na jepni Përshtypjet!", "Goal": "Objektiv", "GoTo": "Shko te %s", "GraphHelp": "Më tepër të dhëna rreth shfaqjes së grafikëve në Piwik.", "HelloUser": "Tungjatjeta, %s!", - "Help": "Ndihmë", - "HelpTranslatePiwik": "Ndoshta do të donit të na %1$sndihmoni të përmirësojnë përkthimet për Piwik-un%2$s?", - "Hide": "fshihe", + "Help": "Nidhmë", + "Hide": "hide", "HoursMinutes": "%1$s orë %2$s minuta", "Id": "Id", - "IfArchivingIsFastYouCanSetupCronRunMoreOften": "Duke pranuar që arkivimi në sajtin tuaj është i shpejtë, mund ta rregulloni crontab-in të xhirojë më shpesh.", - "InfoFor": "Të dhëna për %s", - "Installed": "Installed", - "InvalidDateRange": "Interval i Pavlefshëm Datash, Ju lutemi, Riprovoni", + "IfArchivingIsFastYouCanSetupCronRunMoreOften": "Duke pranuar që arkivimi në site-in tuaj është i shpejtë, mund ta rregulloni crontab-in të xhirojë më shpesh.", + "InvalidDateRange": "Interval i Pavlefshëm Datash, Ju lutem, Riprovoni", "InvalidResponse": "Të dhënat e marra janë të pavlefshme.", "IP": "IP", "JsTrackingTag": "Kod JavaScript Gjurmimi", "Language": "Gjuhë", "LastDays": "%s ditët e fundit (përfshirë të sotmen)", - "LastDaysShort": "%s ditët e fundit", - "LearnMore": "%1$smësoni më tepër%2$s", "Loading": "Po ngarkohet...", "LoadingData": "Po ngarkohen të dhënat...", - "LoadingPopover": "Po ngarkohet %s...", - "LoadingPopoverFor": "Po ngarkohet %s për", + "LoadingPopover": "Loading %s...", "Locale": "sq_AL.UTF-8", "Logout": "Dilni", - "MainMetrics": "Llogaritjet kryesore", "Matches": "Përputhje", + "MainMetrics": "Matjet kryesore", "MediumToHighTrafficItIsRecommendedTo": "Për sajte me trafik të shumtë, këshillojmë t’i përpunoni raportet për ditën e sotme e shumta çdo gjysmë ore (%1$s sekonda) ose çdo një orë (%2$s sekonda).", "Metadata": "Tejtëdhëna", - "Metric": "Matje", - "Metrics": "Matje", + "Metric": "Metric", + "Metrics": "Metrics", "MetricsToPlot": "Matje për t’u hedhur në grafik", "MetricToPlot": "Matje për t’u hedhur në grafik", "MinutesSeconds": "%1$s minuta %2$ss", - "Mobile": "Celular", + "Mobile": "Mobile", "Monthly": "Përmuaj", - "MonthlyReport": "përmuaj", - "MonthlyReports": "Raporte të përmuajshme", - "More": "More", - "MoreDetails": "Më Tepër Hollësi", - "MoreLowerCase": "më tepër", "MultiSitesSummary": "Krejt Sajtet", "Name": "Emër", "NbActions": "Numër Veprimesh", - "NbSearches": "Numër Kërkimesh të Brendshme", "Never": "Kurrë", "NewReportsWillBeProcessedByCron": "Kur arkivimi nga Piwik-u nuk vihet në punë nga shfletuesi, raportet e reja do të përpunohen nga crontab.", "NewUpdatePiwikX": "Përditësim i Ri: Piwik %s", @@ -233,19 +223,14 @@ "NoDataForGraph": "Pa të dhëna për këtë grafik", "NoDataForTagCloud": "Pa të dhëna për këtë re etiketash.", "NotDefined": "%s pa u përkufizuar", - "Note": "Shënim", - "NotInstalled": "E painstaluar", - "NotRecommended": "e pakëshillueshme", "NotValid": "%s nuk është e vlefshme", "NumberOfVisits": "Numër vizitash", - "NUsers": "%s përdorues", "NVisits": "%s vizita", "Ok": "Ok", - "OneAction": "1 veprim", "OneVisit": "1 vizitë", "OnlyEnterIfRequired": "Jepni emër përdoruesi vetëm nëse shërbyesi juaj SMTP lyp një të tillë.", "OnlyEnterIfRequiredPassword": "Jepni fjalëkalim vetëm nëse shërbyesi juaj SMTP lyp një të tillë.", - "OnlyUsedIfUserPwdIsSet": "E përdorur vetëm kur ka të caktuar një emër përdoruesi\/fjalëkalim, pyetni mundësuesin e llogarisë suaj, nëse jeni i pasigurt se cilën metodë të përdorni.", + "OnlyUsedIfUserPwdIsSet": "E përdorur vetëm kur ka të caktuar një emër përdoruesi\/fjalëkalim, pyesni mundësuesin e llogarisë suaj nëse jeni i pasigurt se cilën metodë të përdorni.", "OpenSourceWebAnalytics": "Analizë Web me Burim të Hapët", "OperationAtLeast": "E pakta", "OperationAtMost": "E shumta", @@ -257,14 +242,12 @@ "OperationIsNot": "S’është", "OperationLessThan": "Më e vogël se", "OperationNotEquals": "Jo Baraz Me", - "OptionalSmtpPort": "Opsionale. Parazgjedhjet janë 25 për të pakoduarat dhe TLS SMTP, dhe 465 për SSL SMTP.", "Options": "Mundësi", "OrCancel": "ose %1$s Anulojeni %2$s", + "OptionalSmtpPort": "Opsionale. Parazgjedhjet janë 25 për të pafshehtëzuarat dhe TLS SMTP, dhe 465 për SSL SMTP.", "Others": "Tjetër", "Outlink": "Lidhje për gjetiu", "Outlinks": "Lidhje për Jashtë", - "OverlayRowActionTooltip": "Shihni të dhëna analitike drejt e te sajti juaj (hapet në skedë të re)", - "OverlayRowActionTooltipTitle": "Hapni Përmbledhje Faqeje", "Overview": "Përmbledhje", "Pages": "Faqe", "Pagination": "%1$s - %2$s of %3$s", @@ -273,17 +256,14 @@ "Password": "Fjalëkalim", "Period": "Periudhë", "Piechart": "Qarkore", - "PiwikIsACollaborativeProjectYouCanContributeAndDonate": "%1$sPiwik%2$s është një projekt bashkëpunues, sjellë për ju nga anëtarët e %7$sekipit Piwik%8$s, si dhe mjaft pjesëmarrës të tjerë nga anembanë rruzullit. Nëse jeni një dashamirës i Piwik-ut, mund të ndihmoni: shihni se si te %3$sSi të merrni pjesë te Piwik-u%4$s, ose %5$sdhuroni%6$s që të ndihmoni në financimin e Piwik 3.0!", - "PiwikXIsAvailablePleaseNotifyPiwikAdmin": "Është gati %1$s. Ju lutemi, njoftojani %2$spërgjegjësit të Piwik-ut tuaj%3$s.", - "PiwikXIsAvailablePleaseUpdateNow": "Mund të kihet Piwik %1$s. %2$s Ju lutemi, përditësojeni tani!%3$s (shihni %4$s ndryshimet%5$s).", + "PiwikXIsAvailablePleaseUpdateNow": "Mund të kihet Piwik %1$s. %2$s Ju lutem, përditësojeni tani!%3$s (shihni %4$s ndryshimet%5$s).", "PleaseSpecifyValue": "Ju lutemi, përcaktoni një vlerë për '%s'.", "PleaseUpdatePiwik": "Ju lutemi, përditësoni Piwik-un tuaj", - "Plugin": "Shtojcë", + "Plugin": "Shtojca", "Plugins": "Shtojca", "PoweredBy": "Bazuar në", "Previous": "E mëparshmja", "PreviousDays": "%s ditë më parë (pa përfshirë të sotmen)", - "PreviousDaysShort": "%s ditët e mëparshme", "Price": "Çmim", "ProductConversionRate": "Kurs Këmbimi Produkti", "ProductRevenue": "Të ardhura Produkti", @@ -291,29 +271,16 @@ "Measurables": "Të matshme", "PurchasedProducts": "Produkte të Blerë", "Quantity": "Sasi", - "RangeReports": "Intervale të personalizuar të dhënash", - "ReadThisToLearnMore": "%1$sLexoni këtë, që të mësoni më tepër.%2$s", - "Recommended": "E këshillueshme", + "Recommended": "(e këshilluar)", "RecordsToPlot": "Regjistrime për t’u hedhur në grafik", - "Refresh": "Rifreskoje", "RefreshPage": "Rifreskoje faqen", - "RelatedReport": "Raport i afërt", - "RelatedReports": "Raporte të afërt", - "Remove": "Hiqe", - "Report": "Raport", - "ReportGeneratedFrom": "Ky raport u prodhua duke përdorur të dhëna nga %s.", - "ReportRatioTooltip": "'%1$s' përfaqëson %2$s nga %3$s %4$s me %5$s.", "Reports": "Raporte", - "ReportsContainingTodayWillBeProcessedAtMostEvery": "Arkivo raporte e shumta çdo X sekonda", + "ReportsContainingTodayWillBeProcessedAtMostEvery": "Raportet për ditën e sotme (ose për çfarëdo Intervali Datash që përfshin ditën e sotme) do të përpunohen e shumta çdo", "RearchiveTimeIntervalOnlyForTodayReports": "Kjo prek vetëm raportet për sot (ose çfarëdo Interval Datash që përfshin të sotmen)", "ReportsWillBeProcessedAtMostEveryHour": "Ndaj raportet do të përpunohen e shumta çdo një orë.", - "RequestTimedOut": "Kërkesës për të dhëna te %s i mbaroi koha. Ju lutemi, riprovoni.", + "RequestTimedOut": "Kërkesës për të dhëna te %s i mbaroi koha. Ju lutem, riprovoni.", "Required": "%s i domosdoshëm", "ReturningVisitor": "Vizitor i Mëparshëm", - "ReturningVisitorAllVisits": "Shihni krejt vizitat", - "RowEvolutionRowActionTooltip": "Shihni se si kanë ndryshuar përgjatë kohës matjet për këtë rresht", - "RowEvolutionRowActionTooltipTitle": "Hap Evolucion Rreshti", - "Rows": "Rreshta", "RowsToDisplay": "Rreshta për shfaqje", "Save": "Ruaje", "SaveImageOnYourComputer": "Për ta ruajtur figurën në kompjuterin tuaj, djathtasklikoni mbi figurën dhe përzgjidhni \"Ruajeni Figurën Si...\"", @@ -324,44 +291,36 @@ "SeeTheOfficialDocumentationForMoreInformation": "Për më tepër të dhëna, shihni %1$sdokumentimin zyrtar%2$s.", "SeeThisFaq": "Shihni %1$skëtë ndarje FAQ%2$s.", "Segment": "Segment", - "SelectYesIfYouWantToSendEmailsViaServer": "Përzgjidhni \"Po\" nëse doni të dërgoni, ose keni për të dërguar, email përmes një shërbyesi të emërtuar, në vend se përmes të një funksioni vendor poste", + "SelectYesIfYouWantToSendEmailsViaServer": "Përzgjidhni \"Po\" nëse doni të dërgoni, ose keni për të dërguar, e-mail përmes një shërbyesi të emërtuar, në vend se përmes të një funksioni vendor poste", "Settings": "Rregullime", "Shipping": "Dërgesë", - "Show": "shfaqe", - "SingleWebsitesDashboard": "Pult Sajti Njësh", - "SmallTrafficYouCanLeaveDefault": "Për ssajte me trafik të pakët, mund të lini parazgjedhjen prej %s sekondash, dhe të konsultoni krejt raportet në kohë reale.", - "SmtpEncryption": "Kodim SMTP", + "SmallTrafficYouCanLeaveDefault": "Për sajte me trafik të pakët, mund të lini parazgjedhjen prej %s sekondash, dhe të konsultoni krejt raportet në kohë reale.", + "SmtpEncryption": "Fshehtëzim SMTP-je", "SmtpPassword": "Fjalëkalim SMTP", "SmtpPort": "Portë SMTP", "SmtpServerAddress": "Adresë shërbyesi SMTP", "SmtpUsername": "Emër përdoruesi SMTP", "Source": "Burim", - "StatisticsAreNotRecorded": "Gjurmimi i Vizitorëve nga Piwik-u hëpërhë është i çaktivizuar! Riaktivizojeni gjurmimin duke dhënë record_statistics = 1 te kartela juaj config\/config.ini.php.", "Subtotal": "Nëntotal", - "Summary": "Përmbledhje", "Table": "Tabelë", "TagCloud": "Re Etiketash", "Tax": "Taksë", - "TimeAgo": "%s më parë", - "TimeOnPage": "Kohëqëndrim në faqe", "Total": "Gjithsej", - "TotalRatioTooltip": "Kjo është %1$s nga krejt %2$s %3$s.", "TotalRevenue": "Të ardhura Gjithsej", - "TotalVisitsPageviewsActionsRevenue": "(Gjithsej: %1$s vizita, %2$s shikime faqesh, %3$s veprime, %4$s të ardhura)", "TransitionsRowActionTooltip": "Shihni se ç’bënë vizitorët para dhe pas parjes së kësaj faqeje", "TransitionsRowActionTooltipTitle": "Ndërkalime të Hapura", + "TotalVisitsPageviewsActionsRevenue": "(Gjithsej: %1$s vizita, %2$s parje faqesh, %3$s veprime, %4$s të ardhura)", "TranslatorName": "Besnik Bleta", "UniquePurchases": "Blerje Unike", "Unknown": "I panjohur", "Upload": "Ngarkoje", "UsePlusMinusIconsDocumentation": "Për lëvizje përdorni ikonën plus dhe minus majtas.", - "UserId": "ID përdoruesi", + "UserId": "User ID", "Username": "Emër përdoruesi", "UseSMTPServerForEmail": "Për email përdor shërbyes SMTP", "Value": "Vlerë", "VBarGraph": "Grafik me shtylla vertikale", "View": "Pamje", - "ViewDocumentationFor": "Shihni dokumentimin për %1$s", "Visit": "Vizitë", "VisitConvertedGoal": "Vizita shndërroi të paktën një Objektiv", "VisitConvertedGoalId": "Vizita shndërroi një Id specifike Objektivi", @@ -373,43 +332,30 @@ "Visitors": "Vizitorë", "VisitsWith": "Vizita me %s", "VisitorSettings": "Rregullimet për Vizitor", - "VisitType": "Lloj vizite", - "VisitTypeExample": "Për shembull, për përzgjedhjen e krejt vizitorëve që janë rikthyer te sajti, përfshi ata që kanë blerë diçka gjatë vizitash të mëparshme, kërkesa API do të duhej të përmbante %s", + "VisitType": "Lloj vizitori", + "VisitTypeExample": "Për shembull, për përzgjedhjen e krejt vizitorëve që janë rikthyer te site-i web, përfshi ata që kanë blerë diçka gjatë vizitash të mëparshme, kërkesa API do të duhej të përmbante %s", "Warning": "Sinjalizim", "WarningPhpVersionXIsTooOld": "Versioni PHP %s që po përdorni ka mbërritur në fund të ciklit të vet (EOL). Ftoheni me forcë ta përmirësoni me një version të tanishëm, ngaqë përdorimi i këtij versioni mund t’ju lërë zbuluar kundrejt cenimesh sigurie dhe të metash që janë ndrequr në versione më të rinj të PHP-së.", - "WarningFileIntegrityNoManifest": "Kontrolli i pacenueshmërisë së kartelës s’u krye dot, për shkak të mungesës së manifest.inc.php.", "WarningFileIntegrityNoManifestDeployingFromGit": "Nëse po krijoni një instalim të Piwik-ut prej Git-i, ky mesazh është normal.", - "WarningFileIntegrityNoMd5file": "Kontrolli i pacenueshmërisë së kartelës s’u plotësua dot, për shkak të mungesës së funksionit md5_file().", "WarningPasswordStored": "%1$sKujdes:%2$s Ky fjalëkalim do të depozitohet te kartela e formësimit që është e dukshme për këdo që mund të mbërrijë deri te ajo.", + "WarningFileIntegrityNoManifest": "Kontrolli i pacenueshmërisë së kartelës s’u krye dot për shkak të mungesës së manifest.inc.php.", + "WarningFileIntegrityNoMd5file": "Kontrolli i pacënueshmërisë së kartelës nuk u plotësua dot për shkak të mungesës së funksionit md5_file().", "WarningDebugOnDemandEnabled": "Mënyra gjurmues %1$s është e aktivizuar. Për arsye sigurie, kjo do të duhej të aktivizohej vetëm për një kohë të shkurtër. Që ta çaktivizoni, caktojeni %2$s si %3$s te %4$s", "Website": "Sajt", "Weekly": "Përjavë", - "WeeklyReport": "përjavë", - "WeeklyReports": "Raporte të përjavshëm", - "WellDone": "Ju lumtë!", "Widgets": "Widget-e", "Widget": "Widget", - "XComparedToY": "%1$s krahasuar me %2$s", - "XFromY": "%1$s nga %2$s", - "YearlyReport": "përvit", - "YearlyReports": "Raporte të përvitshëm", "YearsDays": "%1$s vite %2$s ditë", "Yes": "Po", "YouAreCurrentlyUsing": "Jeni duke përdorur Piwik %s.", - "YouAreViewingDemoShortMessage": "Po shihni demonstrimin e Piwik-ut", + "YouAreViewingDemoShortMessage": "Hëpërhë jeni duke parë një demonstrim të Piwik-ut", "YouMustBeLoggedIn": "Që të përdorni këtë funksion, duhet të keni bërë hyrjen.", "YourChangesHaveBeenSaved": "Ndryshimet tuaja u ruajtën." }, "Mobile": { - "AboutPiwikMobile": "Rreth Piwik-ut për Celular", - "AccessUrlLabel": "URL Hyrjeje në Piwik", "Account": "Llogari", "Accounts": "Llogari", - "AddAccount": "Shtoni llogari", - "AddPiwikDemo": "Shtoni Demo Piwik", - "Advanced": "Të mëtejshme", "AnonymousAccess": "Hyrje anonime", - "AnonymousTracking": "Gjurmim anonim", "AskForAnonymousTrackingPermission": "Kur është i aktivizuar, Piwik-u për Celular do të dërgojë te piwik.org të dhëna anonime përdorimi. Qëllimi është të përdoren këto të dhëna për të ndihmuar zhvilluesit e Piwik-ut për Celular të kuptojnë më mirë se si përdoret aplikacioni. Të dhënat e dërguara janë: menu dhe rregullime mbi të cilat klikohet, emri dhe versioni i OS-it, çfarëdo gabimi i shfaqur te Piwik-u për Celular. NUK do të ndjekim ndonjë të dhënë të analizave tuaja. Këto të dhëna anonime nuk do të bëhen kurrë publike. Gjurmimin anonim mund ta çaktivizoni\/aktivizoni kur të doni, te Rregullimet.", "ChooseHttpTimeout": "Zgjidhni vlerë mbarimi kohe për HTTP-në", "ChooseMetric": "Zgjidhni matje", @@ -469,20 +415,20 @@ "VerifyAccount": "Po Verifikohet Llogaria", "ValidateSslCertificate": "Vleftësoni dëshminë SSL", "VerifyLoginData": "Sigurohuni që dyshja juaj emër përdoruesi dhe fjalëkalim të jetë e saktë.", - "YouAreOffline": "Na ndjeni, hëpërhë nuk jeni i lidhur" + "YouAreOffline": "Na ndjeni, hëpërhë nuk jeni i lidhur", + "AnonymousTracking": "Gjurmim anonim" }, "RowEvolution": { "AvailableMetrics": "Matje të mundshme", - "CompareDocumentation": "Që të krahasoni regjistrime të shumëfishta, klikoni mbi lidhjen më poshtë dhe hapni këtë flluskë për një tjetër rresht nga e njëjta tabelë.<br \/>Përdorni shkurtoren që ta zgjidhni rreshtin për krahasim pa hapur këtë flluskë.", "CompareRows": "Krahasoni regjistrime", "ComparingRecords": "Po krahasohen %s rreshta", "Documentation": "Klikoni mbi matjet që të shfaqen në një grafik të madh rrjedhe kohore. Përdorni shkurtoren Shift-klikim që të shfaqen shumë matje njëherësh.", - "MetricBetweenText": "nga %1$s në %2$s", "MetricChangeText": "%s ndryshim gjatë periudhës", "MetricMinMax": "%1$s doli diku mes %2$s dhe %3$s gjatë periudhës", - "MetricsFor": "Matje për %s", "MultiRowEvolutionTitle": "Evolucion i shumë rreshtave", "PickAnotherRow": "Zgjidhni një tjetër rresht për krahasim", - "PickARow": "Zgjidhni një rresht për krahasim" + "PickARow": "Zgjidhni një rresht për krahasim", + "MetricBetweenText": "nga %1$s në %2$s", + "MetricsFor": "Matje për %s" } } \ No newline at end of file diff --git a/lang/sv.json b/lang/sv.json index ae4c5588c3c99c6a713033bf73277782d906160a..9628ac2bf38c27f9dd725e11c3e766ee85ecd142 100644 --- a/lang/sv.json +++ b/lang/sv.json @@ -27,6 +27,7 @@ "CannotUnzipFile": "Kan ej packa upp filen %1$s: %2$s", "ChangePassword": "Byt lösenord", "ChangeTagCloudView": "Observera att du kan visa rapporten pÃ¥ andra sätt än som ett taggmoln. Använd kontrollerna längst ned i rapporten för att göra det.", + "ChooseDate": "Välj datum, nuvarande datum är: %s", "ChooseLanguage": "Välj sprÃ¥k", "ChoosePeriod": "Välj period", "ClickHere": "Klicka här för mer information.", @@ -85,6 +86,8 @@ "ConfigFileIsNotWritable": "Piwik's konfigurationsfil %1$s är inte skrivbar, de ändringar som du har gjort kommer kanske inte att sparas. %2$s Var vänlig och ändra rättigheterna pÃ¥ konfigurationsfilen för att göra den skrivbar.", "Continue": "Fortsätt", "ContinueToPiwik": "Fortsätt till Piwik", + "CurrentlyUsingUnsecureHttp": "Du använder för närvarande Piwik genom en osäker HTTP, vilket kan vara riskabelt. Vi rekommenderar dig att använda SSL (HTTPS) för ökad säkerhet.", + "CreatedByUser": "skapad av %s", "CurrentMonth": "Denna mÃ¥nad", "CurrentWeek": "Denna vecka", "CurrentYear": "Detta Ã¥r", @@ -99,6 +102,7 @@ "DateRange": "Intervall:", "DateRangeFrom": "FrÃ¥n", "DateRangeFromTo": "FrÃ¥n %1$s till %2$s", + "DateRangeInPeriodList": "datumintervall", "DateRangeTo": "Till", "DaysHours": "%1$s dagar %2$s timmar", "DaysSinceFirstVisit": "Dagar sedan första besöket", @@ -227,6 +231,7 @@ "Name": "Namn", "NbActions": "Antal händelser", "NbSearches": "Antal interna sökningar", + "NeedMoreHelp": "Behöver du mer hjälp?", "Never": "Aldrig", "NewReportsWillBeProcessedByCron": "När Piwik's arkivering inte aktiveras av webbläsaren sÃ¥ kommer nya rapporter att behandlas av crontab.", "NewUpdatePiwikX": "Ny uppdatering: Piwik %s", @@ -361,7 +366,7 @@ "TrackingScopeVisit": "Besök", "TransitionsRowActionTooltip": "Se vad besökarna gjorde före och efter att ha tittat pÃ¥ den här sidan", "TransitionsRowActionTooltipTitle": "Öppna övergÃ¥ngar", - "TranslatorName": "<a href=\"http:\/\/xn--skmotoroptimering-zzb.se\/\">Sökmotoroptimering.se<\/a>, <a href=\"http:\/\/www.kampanjjakt.se\/\">Kampanjjakt.se<\/a>, <a href=\"http:\/\/www.lagun.se\/\">Fredrik Astrom<\/a>, <a href=\"http:\/\/www.dumsnal.se\/\">Tony<\/a>", + "TranslatorName": "Sökmotoroptimering.se, Kampanjjakt.se, Fredrik Astrom, Tony", "UniquePurchases": "Unika beställningar", "Unknown": "Okänt", "Upload": "Ladda upp", diff --git a/lang/th.json b/lang/th.json index bdc397f1ec6290c82f49f0c5f2bc40a3c6a18b06..6905941b68ab21fbd9a7dbb57783ae55ada034be 100644 --- a/lang/th.json +++ b/lang/th.json @@ -6,8 +6,11 @@ "Actions": "ดำเนินà¸à¸²à¸£", "Add": "เพิ่ม", "AfterEntry": "หลังจาà¸à¸—ี่à¸à¸£à¸à¸à¸¥à¸‡à¸—ี่นี่", + "All": "ทั้งหมด", "AllWebsitesDashboard": "à¹à¸œà¸‡à¸„วบคุมเว็บไซต์ทั้งหมด", + "And": "à¹à¸¥à¸°", "API": "API", + "Apply": "นำไปใช้", "ArchivingInlineHelp": "เหมาะสำหรับเว็บไซต์ที่มีà¸à¸²à¸£à¸ˆà¸£à¸²à¸ˆà¸£à¸ªà¸¹à¸‡ เราà¹à¸™à¸°à¸™à¸³à¹ƒà¸«à¹‰à¸›à¸´à¸”à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ Piwik ในà¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸à¹€à¸à¹‡à¸šà¸ˆà¸²à¸à¹€à¸šà¸£à¸²à¸§à¹Œà¹€à¸‹à¸à¸£à¹Œ à¹à¸•à¹ˆà¹€à¸£à¸²à¸‚à¸à¹à¸™à¸°à¸™à¸³à¹ƒà¸«à¹‰à¸„ุณติดตั้ง Cron job ในà¸à¸²à¸£à¸›à¸£à¸°à¸¡à¸§à¸¥à¸œà¸¥à¹€à¸žà¸·à¹ˆà¸à¸£à¸²à¸¢à¸‡à¸²à¸™ Piwik ทุà¸à¸Šà¸±à¹ˆà¸§à¹‚มง", "ArchivingTriggerDescription": "à¹à¸™à¸°à¸™à¸³à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸•à¸´à¸”ตั้ง Piwik ขนาดใหà¸à¹ˆà¸—ี่คุณจะต้à¸à¸‡ %1$s ติดตั้ง Cron job%2$s เพื่à¸à¸”ำเนินà¸à¸²à¸£à¸£à¸²à¸¢à¸‡à¸²à¸™à¹‚ดยà¸à¸±à¸•à¹‚นมัติ", "AuthenticationMethodSmtp": "วิธีà¸à¸²à¸£à¸•à¸£à¸§à¸ˆà¸ªà¸à¸šà¸‚้à¸à¸¡à¸¹à¸¥à¸‚à¸à¸‡ SMTP", @@ -22,6 +25,7 @@ "ChooseLanguage": "เลืà¸à¸à¸ าษา", "ChoosePeriod": "เลืà¸à¸à¸Šà¹ˆà¸§à¸‡à¹€à¸§à¸¥à¸²", "ClickHere": "คลิà¸à¸—ี่นี่สำหรับข้à¸à¸¡à¸¹à¸¥à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•à¸´à¸¡", + "ClickToChangePeriod": "คลิà¸à¸à¸µà¸à¸„รั้งเพื่à¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸Šà¹ˆà¸§à¸‡à¸£à¸°à¸¢à¸°à¹€à¸§à¸¥à¸²", "Close": "ปิด", "ColumnActionsPerVisit": "à¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸à¸œà¸¹à¹‰à¸Šà¸¡", "ColumnActionsPerVisitDocumentation": "ค่าเฉลี่ยขà¸à¸‡à¸ˆà¸³à¸™à¸§à¸™à¸à¸²à¸£à¸à¸£à¸°à¸—ำ (ดูหน้าเว็บดาวน์โหลดหรืภoutlinks) ที่ได้ดำเนินà¸à¸²à¸£à¹ƒà¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸à¸²à¸£à¹€à¸‚้าชม", @@ -58,20 +62,24 @@ "ColumnPercentageVisits": "% เข้าชม", "ColumnRevenue": "รายได้", "ColumnSumVisitLength": "ระยะเวลาทั้งหมดที่ใช้โดยผู้เข้าชม (วินาที)", + "ColumnTotalPageviews": "เพจวิวทั้งหมด", "ColumnUniqueEntrances": "à¸à¸²à¸£à¹€à¸‚้าที่ไม่ซ้ำà¸à¸±à¸™", "ColumnUniqueExits": "à¸à¸²à¸£à¸à¸à¸à¸—ี่ไม่ซ้ำà¸à¸±à¸™", "ColumnUniquePageviews": "เข้าชมไม่ซ้ำà¸à¸±à¸™", "ColumnUniquePageviewsDocumentation": "จำนวนà¸à¸²à¸£à¹€à¸‚้าชมที่รวมหน้านี้ ถ้าเพจที่ถูà¸à¹€à¸‚้าชมหลายครั้งในระหว่างเข้าชมครั้งเดียว à¸à¹‡à¸ˆà¸°à¸–ูà¸à¸™à¸±à¸šà¹€à¸žà¸µà¸¢à¸‡à¸„รั้งเดียว", "ColumnValuePerVisit": "ค่าต่à¸à¸œà¸¹à¹‰à¸Šà¸¡", + "ColumnViewedAfterSearch": "จำนวนคลิà¸à¹ƒà¸™à¸œà¸¥à¸à¸²à¸£à¸„้นหา", "ColumnVisitDuration": "ระยะเวลาเข้าเยี่ยมชม (เป็นวินาที)", "ColumnVisitsWithConversions": "ผู้เข้าชมà¸à¸±à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸‡à¸‚้à¸à¸¡à¸¹à¸¥", "ConfigFileIsNotWritable": "à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าไฟล์ Piwik %1$s ไม่สามารถเขียนบางส่วนขà¸à¸‡à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¹„ด้ ซึ่งà¸à¸²à¸ˆà¸ˆà¸°à¹„ม่ถูà¸à¸šà¸±à¸™à¸—ึภ%2$s à¸à¸£à¸¸à¸“าเปลี่ยนสิทธิ์ขà¸à¸‡à¹„ฟล์à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าเพื่à¸à¹ƒà¸«à¹‰à¸ªà¸²à¸¡à¸²à¸£à¸–เขียนได้", "Continue": "ต่à¸à¹„ป", "ContinueToPiwik": "ต่à¸à¹„ปยัง Piwik", + "CreatedByUser": "สร้างโดย %s", "CurrentMonth": "เดืà¸à¸™à¸™à¸µà¹‰", "CurrentWeek": "สัปดาห์นี้", "CurrentYear": "ปีนี้", "Daily": "à¹à¸•à¹ˆà¸¥à¸°à¸§à¸±à¸™", + "DailyReport": "ทุà¸à¸§à¸±à¸™", "DailyReports": "รายงาน รายวัน", "DailySum": "ผลรวมรายวัน", "DashboardForASpecificWebsite": "à¹à¸œà¸‡à¸„วบคุมสำหรับเว็บไซต์ที่ระบุไว้", @@ -300,27 +308,36 @@ "AnonymousAccess": "à¸à¸²à¸£à¹€à¸‚้าถึงโดยบุคคลนิรนาม", "AnonymousTracking": "ตรวจจับข้à¸à¸¡à¸¹à¸¥à¸šà¸¸à¸„คลนิรนาม", "ChooseReport": "เลืà¸à¸à¸£à¸²à¸¢à¸‡à¸²à¸™", + "ConfirmRemoveAccount": "คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¹à¸¥à¹‰à¸§à¸«à¸£à¸·à¸à¸§à¹ˆà¸²à¸•à¹‰à¸à¸‡à¸¥à¸šà¸šà¸±à¸à¸Šà¸µà¸™à¸µà¹‰à¸—ิ้ง?", "DefaultReportDate": "วันที่รายงาน", + "EmailUs": "ส่งà¸à¸µà¹€à¸¡à¸¥à¸–ึงเรา", "EnableGraphsLabel": "à¹à¸ªà¸”งà¹à¸œà¸™à¸ ูมิ", "LastUpdated": "à¸à¸±à¸žà¹€à¸”ทครั้งล่าสุด: %s", + "LoadingReport": "à¸à¸³à¸¥à¸±à¸‡à¹‚หลด %s", "LoginCredentials": "ข้à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹€à¸‚้าใช้งาน", "LoginUseHttps": "ใช้ https", "NavigationBack": "ย้à¸à¸™à¸à¸¥à¸±à¸š", "NetworkNotReachable": "ไม่สามารถเข้าถึงเครืà¸à¸‚่ายได้", + "NoDataShort": "ยังไม่มีข้à¸à¸¡à¸¹à¸¥", "NoPiwikAccount": "ยังไม่มีบัà¸à¸Šà¸µ Piwik?", + "NoReportsShort": "ยังไม่มีรายงาน", "NoVisitorFound": "ไม่พบผู้เยี่ยมชมที่ต้à¸à¸‡à¸à¸²à¸£", + "NoVisitorsShort": "ยังไม่มีผู้เยี่ยมชม", "NoWebsiteFound": "ไม่พบเว็บไซต์ที่ต้à¸à¸‡à¸à¸²à¸£", + "NoWebsitesShort": "ยังไม่มีเว็บไซต์", "RatingDontRemindMe": "ไม่ต้à¸à¸‡à¹à¸ˆà¹‰à¸‡à¹€à¸•à¸·à¸à¸™à¸‰à¸±à¸™", "RatingNotNow": "ไม่ใช่ตà¸à¸™à¸™à¸µà¹‰", "RatingNow": "ตà¸à¸¥à¸‡, ฉันต้à¸à¸‡à¸à¸²à¸£à¹‚หวตให้คะà¹à¸™à¸™à¸•à¸à¸™à¸™à¸µà¹‰à¹€à¸¥à¸¢", "Reloading": "à¸à¸³à¸¥à¸±à¸‡à¹‚หลดข้à¸à¸¡à¸¹à¸¥à¸‹à¹‰à¸³...", "SearchWebsite": "ค้นหาเว็บไซต์", "ShowAll": "à¹à¸ªà¸”งทั้งหมด", + "TryIt": "ลà¸à¸‡à¸”ู!", "VerifyAccount": "ยืนยันบัà¸à¸Šà¸µ", "YouAreOffline": "ขà¸à¸à¸ ัย, ขณะนี้คุณได้à¸à¸à¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸šà¹à¸¥à¹‰à¸§" }, "RowEvolution": { "CompareRows": "เปรียบเทียบเรคคà¸à¸£à¹Œà¸”", + "ComparingRecords": "à¸à¸³à¸¥à¸±à¸‡à¹€à¸›à¸£à¸µà¸¢à¸šà¹€à¸—ียบ %s à¹à¸–ว", "MetricBetweenText": "ระหว่าง %1$s à¹à¸¥à¸° %2$s", "PickAnotherRow": "เลืà¸à¸à¹à¸–วà¸à¸·à¹ˆà¸™à¹†à¸—ี่ต้à¸à¸‡à¸à¸²à¸£à¹€à¸›à¸£à¸µà¸¢à¸šà¹€à¸—ียบ", "PickARow": "เลืà¸à¸à¹à¸–วที่ต้à¸à¸‡à¸à¸²à¸£à¹€à¸›à¸£à¸µà¸¢à¸šà¹€à¸—ียบ" diff --git a/lang/tl.json b/lang/tl.json index 006b1889f06bea87f5e2b75bf9a25a4b00c0f63c..a3d618b97aa1ce11235eb4f7fef352ea634d42c2 100644 --- a/lang/tl.json +++ b/lang/tl.json @@ -299,7 +299,7 @@ "Segment": "Bahagi", "SelectYesIfYouWantToSendEmailsViaServer": "Piliin ang \"Oo\" kung gusto mo o magpadala ng e-mail sa pamamagitan ng isang server sa halip na ang mga lokal na mail function.", "Table": "Talahanayan", - "TranslatorName": "<a href=\"http:\/\/intripid.com\/\">Intripid<\/a>", + "TranslatorName": "Intripid", "View": "Tingnan", "Visitors": "Mga Bisita", "VisitorSettings": "Mga Setting ng bisita", diff --git a/lang/tr.json b/lang/tr.json index 14a9bdb103bbf6e37487aac2786aed693ec126ed..dd9d03abcb7c4724250a67ce6d5aab240da67c54 100644 --- a/lang/tr.json +++ b/lang/tr.json @@ -1,5 +1,7 @@ { "General": { + "12HourClock": "12 saatlik zaman biçimi", + "24HourClock": "24 saatlik zaman biçimi", "AbandonedCarts": "Terkedilen Sepetler", "AboutPiwikX": "Piwik %s Hakkında", "Action": "Eylem", @@ -7,16 +9,19 @@ "Add": "Ekle", "AfterEntry": "buraya girdikten sonra", "All": "Hepsi", + "AllowPiwikArchivingToTriggerBrowser": "Tarayıcı tarafından görüntülendiÄŸinde raporları arÅŸivle", "AllWebsitesDashboard": "Tüm Websitelerin Panosu", "And": "ve", "API": "API", "Apply": "Uygula", + "ArchivingInlineHelp": "Orta yoÄŸunluklu web siteleri için Tarayıcı üzerinden arÅŸivlemenin kapatılması öneriilir. Bunun yerine her saat Piwik raporu üretecek zamanlanmış bir görev tanımlanması tavsiye edilir.", "AuthenticationMethodSmtp": "SMTP için kimlik doÄŸrulama yöntemi", "AverageOrderValue": "Ortalama SipariÅŸ DeÄŸeri", "AveragePrice": "Ortalama Fiyat", "AverageQuantity": "Ortalama Ãœrün Adedi", "BackToPiwik": "Piwik'e geri dön.", - "Broken": "Kırık", + "Broken": "Bozuk", + "BrokenDownReportDocumentation": "aksis veya ordinatı olmayan kullanışlı küçük grafikler ÅŸeklinde sayfanın altına gösterilen çeÅŸitli raporlar çökmüştür. Raporda bulunan grafiklere tıklayarak grafikleri büyütebilirsin.", "Cancel": "Ä°ptal", "CannotUnzipFile": "Zip'den çıkarılamıyor %1$s: %2$s", "ChangePassword": "Åžifre deÄŸiÅŸtir", @@ -25,6 +30,7 @@ "ClickHere": "Daha fazla bilgi için buraya tıklayın.", "ClickToChangePeriod": "Aralığı deÄŸiÅŸtirmek için tekrar tıklayın.", "Close": "Kapat", + "ClickToSearch": "Aramak için tıklayın", "ColumnActionsPerVisit": "Ziyaret başına eylemler", "ColumnAverageGenerationTime": "Ortalama oluÅŸturma süresi", "ColumnAverageTimeOnPage": "Sayfada geçirilen ort. süre", @@ -76,6 +82,7 @@ "DateRange": "Tarih aralığı:", "DateRangeFrom": "Buradan", "DateRangeFromTo": "%1$s tarihinden %2$s tarihine", + "DateRangeInPeriodList": "Zaman aralığı", "DateRangeTo": "Buraya", "DaysHours": "%1$s gün %2$s saat", "DaysSinceFirstVisit": "Ä°lk ziyaretten bu yana geçen gün", @@ -115,6 +122,9 @@ "ExceptionUnableToStartSession": "Oturum baÅŸlatılamadı.", "ExceptionUndeletableFile": "%s silinemedi", "ExceptionUnreadableFileDisabledMethod": "Yapılandırma dosyası {%1$s} okunamadı. Sitenizi barındıran servis %2$s özelliÄŸini devre dışı bırakmış olabilir.", + "ExceptionReportNotFound": "Talep edilen rapor mevcut deÄŸil.", + "ExceptionWidgetNotFound": "Talep edilen widget mevcut deÄŸil", + "ExpandDataTableFooter": "Raporun görünümünü veya ayarlarını deÄŸiÅŸtir", "Export": "Dışa aktar", "ExportAsImage": "Resim olarak dışa aktar", "ExportThisReport": "Bu veri setini diÄŸer formatlarda ihraç et", @@ -126,6 +136,7 @@ "Forums": "Forum", "FromReferrer": "ÅŸuradan", "GeneralInformation": "Genel Bilgiler", + "General": "Genel", "GetStarted": "BaÅŸla", "GiveUsYourFeedback": "Geri Bildirim Verin!", "Goal": "Hedef", @@ -170,6 +181,7 @@ "Name": "Ä°sim", "NbActions": "Eylem Sayısı", "NbSearches": "Site içi Arama Sayısı", + "NeedMoreHelp": "Daha fazla yardım?", "Never": "Asla", "NewUpdatePiwikX": "Yeni Güncelleme: Piwik %s", "NewVisitor": "Yeni Ziyaretçi", @@ -192,9 +204,11 @@ "OnlyEnterIfRequiredPassword": "SMTP sunucusu için gerekli olan ÅŸifreyi giriniz.", "OpenSourceWebAnalytics": "Açık kaynak kodlu Web Ä°statistik Servisi", "OperationAtLeast": "Sonunda", + "OperationAtMost": "Neredeyse", "OperationContains": "İçerir", "OperationDoesNotContain": "İçermez", "OperationEquals": "EÅŸittir", + "OperationGreaterThan": "büyüktür", "OperationIsNot": "DeÄŸil", "OperationNotEquals": "EÅŸit DeÄŸil", "OptionalSmtpPort": "Ä°steÄŸe baÄŸlıdır. Åžifresiz 25 için TLS SMTP ve güvenli baÄŸlantı için SSL SMTP 465", @@ -225,6 +239,7 @@ "ProductRevenue": "Ãœrün Kazancı", "PurchasedProducts": "Satın Alınan Ãœrünler", "Quantity": "Miktar", + "RangeReports": "Özel tarih aralığı", "Recommended": "Önerilen", "Refresh": "Yenile", "RefreshPage": "Sayfayı yenile", @@ -248,6 +263,7 @@ "Settings": "Ayarlar", "Shipping": "Teslimat", "Show": "göster", + "SingleWebsitesDashboard": "Tek Websitesi Panosu", "SmtpEncryption": "SMTP ÅŸifreleme", "SmtpPassword": "SMTP parolası", "SmtpPort": "SMTP Kapı Numarası", @@ -265,10 +281,11 @@ "Total": "Toplam", "TotalRevenue": "Toplam Kazanç", "TotalVisitsPageviewsActionsRevenue": "(Toplam: %1$s ziyaretçiler, %2$s sayfa görüntülemeler, %3$s aksiyonlar, %4$s geliri)", + "TrackingScopeAction": "Aksiyon", "TrackingScopePage": "Sayfa", "TrackingScopeVisit": "Ziyaret", "TransitionsRowActionTooltipTitle": "Açık GeçiÅŸler", - "TranslatorName": "Fabian Becker, Emre Yazici, Emre SaraçoÄŸlu, <a href=\"http:\/\/www.ugureskici.com\">UÄŸur Eskici<\/a>, <a href=\"http:\/\/www.umutarcn.com\">Umut ARICAN<\/a>", + "TranslatorName": "Fabian Becker, Emre Yazici, Emre SaraçoÄŸlu, UÄŸur Eskici, Umut ARICAN", "UniquePurchases": "Tekil Satın Alımlar", "Unknown": "Bilinmeyen", "Upload": "Yükle", @@ -286,6 +303,7 @@ "Visitors": "Ziyaretçiler", "VisitsWith": "%s ile Ziyaretler", "VisitorSettings": "Ziyaretçi Ayarlari", + "VisitType": "Ziyaret tipi", "Warning": "Uyarı", "WarningFileIntegrityNoManifest": "manifest.inc.php dosyası bulunamadığı için dosya bütünlük kontrolü gerçekleÅŸtirilemedi.", "WarningFileIntegrityNoMd5file": "md5_file() fonksiyonu bulunamadığı için dosya bütünlük kontrolü tamamlanamadı.", @@ -300,6 +318,8 @@ "YearlyReports": "Yıllık raporlar", "YearsDays": "%1$s yıl %2$s gün", "Yes": "Evet", + "YouAreCurrentlyUsing": "Åžuan Piwik %s'i kullanıyorsun", + "YouAreViewingDemoShortMessage": "Piwik'in demosunu görüntülüyorsun", "YouMustBeLoggedIn": "Bu iÅŸleve eriÅŸmek için oturumu açmış olmanız gerekmekte.", "YourChangesHaveBeenSaved": "DeÄŸiÅŸiklikleriniz kaydedildi." }, @@ -314,23 +334,36 @@ "AnonymousAccess": "Ä°simsiz eriÅŸim", "AnonymousTracking": "Ä°simsiz izleme", "ChooseHttpTimeout": "HTTP zamanaşımı deÄŸerini seçin", + "ChooseMetric": "Metriki seç", "ChooseReport": "Rapor seçin", + "ChooseSegment": "Bölüm seç", "ConfirmRemoveAccount": "Bu hesabı kaldırmak istediÄŸinizden emin misiniz?", "DefaultReportDate": "Rapor tarihi", + "EmailUs": "Bize E-Posta gönder", + "EnableGraphsLabel": "Grafikleri Göster", + "EvolutionGraph": "Tarihsel Grafik", + "HelpUsToImprovePiwikMobile": "Piwik Mobil'de anonim kullanımları takip etmek ister misin?", "HowtoDeleteAnAccount": "Bir hesabı silmek için uzun basın.", "HowtoDeleteAnAccountOniOS": "Bir hesabı silmek için saÄŸdan sola kaydırın.", "HowtoLoginAnonymous": "Anonim giriÅŸ yapmak için kullanıcı adı ve ÅŸifre kısmını boÅŸ bırakın", + "HttpIsNotSecureWarning": "EÄŸer 'HTTP' kullanıyorsan Piwik yetkilendirme jetonu (token_auth) ÅŸifrelenmemiÅŸ ÅŸekilde gönderilecektir. Bundan dolayı biz Ä°nternet üzerinden güvenli veri iletiÅŸimi için HTTPS'yi tavsiye ederiz. Devam etmek ister misin?", "HttpTimeout": "HTTP Zamanaşımı", "LastUpdated": "Son Güncelleme: %s", "LoadingReport": "Yükleniyor %s", + "LoginCredentials": "Kimlik Bilgileri", "LoginUseHttps": "https kullan", + "MultiChartLabel": "Ekran mini grafikleri", "NavigationBack": "Geri", "NetworkError": "AÄŸ Hatası", "NetworkErrorWithStatusCodeShort": "AÄŸ Hatası %s", "NetworkNotReachable": "AÄŸa eriÅŸilemiyor", "NoDataShort": "Veri Yok", "NoPiwikAccount": "Piwik Hesabınız yok mu?", + "NoReportsShort": "Rapor yok", "NoVisitorFound": "Hiç ziyaretçi bulunamadı", + "NoVisitorsShort": "Ziyaretçi Yok", + "NoWebsiteFound": "Hiç bir website bulunamadı", + "NoWebsitesShort": "Websiteler bulunamadı", "PullDownToRefresh": "Yenilemek için aÅŸağı çekin...", "PossibleSslError": "Muhtemel SSL sertifika hatası", "IgnoreSslError": "SSL Hatasını yoksay", @@ -339,9 +372,14 @@ "ReleaseToRefresh": "Yenilemek için bırakın...", "Reloading": "Yeniden yükleniyor...", "RequestTimedOutShort": "AÄŸ Zamanaşımı Hatası", + "SaveSuccessError": "Piwik adresi veya kullanıcı adı ve ÅŸifre kombinasyonu yanlış.", + "SearchWebsite": "Websitelerinde ara", "ShowAll": "Tümünü göster", + "ShowLess": "Daha az göster", + "TopVisitedWebsites": "En sık ziyaret edilen websiteleri", "TryIt": "Dene!", "VerifyAccount": "Hesap DoÄŸrulama", + "ValidateSslCertificate": "SSL Sertifikasını DoÄŸrula", "YouAreOffline": "Ãœzgünüm, ÅŸu anda çevrimdışısınız" }, "RowEvolution": { @@ -350,6 +388,8 @@ "CompareRows": "Kayıtları karşılaÅŸtır", "ComparingRecords": "%s satır karşılaÅŸtırılıyor", "MetricBetweenText": "%1$s - %2$s arası", - "MetricsFor": "%s için ölçümler" + "MetricChangeText": "%s zaman içinde deÄŸiÅŸim", + "PickAnotherRow": "KarşılaÅŸtırmak için baÅŸka bir satır seç", + "PickARow": "KarşılaÅŸtırmak için bir satır seç" } } \ No newline at end of file diff --git a/lang/uk.json b/lang/uk.json index d2bca479d4197104be15af5854805cbb3d07a08a..923a203cc7c4212ed2b583b19974390e1ab3b6cb 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -154,7 +154,7 @@ "SmtpUsername": "SMTP логін", "Table": "ТаблицÑ", "TagCloud": "Хмара тегів", - "TranslatorName": "<a href=\"http:\/\/webdevbyjoss.blogspot.com\/\">Joseph Chereshnovsky<\/a>, Anton Andriyevskyy", + "TranslatorName": "Joseph Chereshnovsky, Anton Andriyevskyy", "Unknown": "Ðевідомо", "Username": "Логін", "UseSMTPServerForEmail": "ВикориÑтовуйте SMTP Ñервер Ð´Ð»Ñ Ð½Ð°Ð´ÑÐ¸Ð»Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð¾Ñ— пошти", diff --git a/lang/zh-cn.json b/lang/zh-cn.json index 42e11ac18466b137ef2288d659f56c6fc3a31529..7968d6fd0a487c72acb7051e246b8f9eb63918c7 100644 --- a/lang/zh-cn.json +++ b/lang/zh-cn.json @@ -1,5 +1,7 @@ { "General": { + "12HourClock": "12å°æ—¶åˆ¶å¼", + "24HourClock": "24å°æ—¶åˆ¶å¼", "AbandonedCarts": "丢弃的è´ç‰©è½¦", "AboutPiwikX": "关于 Piwik %s", "Action": "æ“作", @@ -11,6 +13,7 @@ "AllWebsitesDashboard": "所有网站报表", "And": "å’Œ", "API": "API", + "Apply": "åŒæ„", "ArchivingInlineHelp": "对于ä¸é«˜æµé‡çš„网站,建议ç¦ç”¨Piwikæµè§ˆå™¨è§¦å‘处ç†ã€‚最好是设置定时任务(Cron job),æ¯å°æ—¶å¤„ç†ä¸€æ¬¡Piwik报表。", "ArchivingTriggerDescription": "适åˆå¤§åž‹çš„Piwik安装,需è¦%1$s设置定时任务(Cron job) %2$sæ¥è‡ªåŠ¨å¤„ç†æŠ¥è¡¨ã€‚", "AuthenticationMethodSmtp": "SMTP 验è¯æ–¹æ³•", @@ -24,11 +27,13 @@ "CannotUnzipFile": "ä¸èƒ½è§£åŽ‹ç¼©æ–‡ä»¶%1$s: %2$s", "ChangePassword": "修改密ç ", "ChangeTagCloudView": "æ示: 您å¯ä»¥é€šè¿‡æŠ¥è¡¨ä¸‹æ–¹çš„控制按钮,用ä¸åŒäºŽæ ‡ç¾äº‘çš„å…¶å®ƒæ ¼å¼æ˜¾ç¤ºæŠ¥è¡¨ã€‚", + "ChooseDate": "选择日期,当å‰é»˜è®¤çš„日期为:%s", "ChooseLanguage": "选择è¯è¨€", "ChoosePeriod": "选择时间段", "ClickHere": "点击查看更多信æ¯", "ClickToChangePeriod": "点击更改时间段", "Close": "å…³é—", + "ClickToSearch": "点击选择", "ColumnActionsPerVisit": "å¹³å‡æ´»åŠ¨æ¬¡æ•°", "ColumnActionsPerVisitDocumentation": "å¹³å‡æ´»åŠ¨æ¬¡æ•° (查看页é¢ã€ç«™å†…æœç´¢ã€ä¸‹è½½æˆ–离站链接)。", "ColumnAverageGenerationTime": "å¹³å‡ç”Ÿæˆæ—¶é—´", @@ -59,6 +64,7 @@ "ColumnNbUniqVisitors": "访客数", "ColumnNbUniqVisitorsDocumentation": "访问网站的ä¸é‡å¤çš„访客数é‡ï¼Œæ¯ä¸ªè®¿å®¢åªç»Ÿè®¡ä¸€æ¬¡ï¼Œå³ä½¿ä»–一天访问多次。", "ColumnNbUsers": "用户管ç†", + "ColumnNbUsersDocumentation": "ç™»å½•ä½ çš„ç½‘ç«™çš„ç”¨æˆ·æ•°é‡ã€‚它是具有用户ID组唯一活跃用户的数é‡ï¼ˆé€šè¿‡è¿½è¸ªç 函数'setUserId')。", "ColumnNbVisits": "访问次数", "ColumnNbVisitsDocumentation": "如果访客第一次访问您的网站,或者离他上次访问时间超过30分钟,将统计为一次新的访问。", "ColumnPageBounceRateDocumentation": "以该页为起始页åŽé©¬ä¸Šç¦»å¼€çš„百分比。", @@ -80,6 +86,8 @@ "ConfigFileIsNotWritable": "Piwik é…置文件 %1$s æ— æ³•å†™å…¥ï¼Œæ— æ³•ä¿å˜éƒ¨åˆ†ä¿®æ”¹ã€‚%2$s 请修改é…置文件的æƒé™ä¸ºå¯å†™ã€‚", "Continue": "继ç»", "ContinueToPiwik": "ç»§ç» Piwik", + "CurrentlyUsingUnsecureHttp": "ç›®å‰æ‚¨æ£åœ¨ä½¿ç”¨Piwik在ä¸å®‰å…¨çš„HTTP,这是有风险的。我们建议您设置Piwik使用SSL(HTTPS)以æ高安全性。", + "CreatedByUser": "版æƒæ‰€æœ‰ %s", "CurrentMonth": "本月", "CurrentWeek": "本周", "CurrentYear": "今年", @@ -94,6 +102,7 @@ "DateRange": "报表时间:", "DateRangeFrom": "从", "DateRangeFromTo": "从 %1$s 至 %2$s", + "DateRangeInPeriodList": "日期范围", "DateRangeTo": "至", "DaysHours": "%1$s 天 %2$s å°æ—¶", "DaysSinceFirstVisit": "第一次访问至今的天数", @@ -125,10 +134,16 @@ "Edit": "修改", "EncryptedSmtpTransport": "输入您的SMTPæœåŠ¡å™¨éœ€è¦çš„ä¼ è¾“å±‚åŠ å¯†æ–¹å¼", "Error": "错误", + "ErrorRequest": "抱æ‰...请求时出现问题。也许æœåŠ¡å™¨å˜åœ¨æš‚æ—¶æ€§çš„é—®é¢˜ï¼Œæˆ–è€…ä½ è¯·æ±‚äº†å¤ªå¤šçš„æ•°æ®æŠ¥å‘Šã€‚ 请å†è¯•ä¸€æ¬¡ã€‚如果é‡å¤å‡ºçŽ°æ¤é”™è¯¯ï¼Œè¯·%1$sè”系您的Piwik管ç†å‘˜%2$s寻求æ´åŠ©ã€‚", "EvolutionOverPeriod": "趋势分æž", "EvolutionSummaryGeneric": "%1$s 在 %2$s 对比 %3$s 在 %4$s。趋势: %5$s", + "ExceptionContactSupportGeneric": "如果您ä»ç„¶æœ‰è¿™ä¸ªé—®é¢˜ï¼Œè¯·%1$sè”系您的Piwik管ç†å‘˜%2$s寻求æ´åŠ©ã€‚", + "ExceptionCheckUserHasSuperUserAccessOrIsTheUser": "用户必须是超级用户或是'%s' 自己。", "ExceptionConfigurationFileNotFound": "é…置文件 {%s} 找ä¸åˆ°ã€‚", + "ExceptionConfigurationFileNotFound2": "如果该文件å˜åœ¨ï¼Œè¯·æ£€æŸ¥ç”¨æˆ· '%2$s'具有读写 %1$s çš„æƒé™ã€‚", "ExceptionDatabaseVersion": "您的 %1$s 版本为 %2$s ,但 Piwik éœ€æ±‚è‡³å°‘è¦ %3$s。", + "ExceptionDatabaseVersionNewerThanCodebase": "您的Piwik代ç 库è¿è¡Œæ—§ç‰ˆæœ¬%1$s,但是我们检测到您的Piwikæ•°æ®åº“å·²ç»å‡çº§åˆ°æ–°çš„版本%2$s。", + "ExceptionDatabaseVersionNewerThanCodebaseWait": "ä¹Ÿè®¸ä½ çš„Piwik管ç†å‘˜æ£åœ¨å®Œæˆå‡çº§è¿‡ç¨‹ã€‚è¯·åœ¨å‡ åˆ†é’ŸåŽå†è¯•ä¸€æ¬¡ã€‚", "ExceptionFileIntegrity": "完整性检查失败: %s", "ExceptionFilesizeMismatch": "文件大å°ä¸ç¬¦: %1$s (预计长度: %2$s, 找到: %3$s)", "ExceptionIncompatibleClientServerVersions": "您的 %1$s 客户端版本为 %2$s,与æœåŠ¡å™¨ç‰ˆæœ¬ %3$s ä¸å…¼å®¹ã€‚", @@ -151,6 +166,10 @@ "ExceptionUnableToStartSession": "æ— æ³•å¯åŠ¨ä¼šè¯", "ExceptionUndeletableFile": "æ— æ³•åˆªé™¤ %s", "ExceptionUnreadableFileDisabledMethod": "é…置文件 {%1$s} æ— æ³•è¯»å–。您的主机空间å¯èƒ½ç¦ç”¨ %2$s。", + "ExceptionReportNotFound": "请求的报告ä¸å˜åœ¨ã€‚", + "ExceptionWidgetNotFound": "所请求的æ’件ä¸å˜åœ¨ã€‚", + "ExceptionReportNotEnabled": "请求的报告未å¯ç”¨ã€‚这通常æ„味ç€è¦ä¹ˆå®šä¹‰æŠ¥è¡¨åœç”¨æˆ–您没有足够的æƒé™æ¥è®¿é—®æ¤æŠ¥å‘Šçš„æ’件。", + "ExpandDataTableFooter": "更改å¯è§†åŒ–或é…置报告", "Export": "导出", "ExportAsImage": "导出为图片", "ExportThisReport": "å¯¼å‡ºä¸ºå…¶å®ƒæ ¼å¼", @@ -170,6 +189,7 @@ "GraphHelp": "更多关于 Piwik 显示图表的资讯", "HelloUser": "您好,%sï¼", "Help": "帮助", + "HelpTranslatePiwik": "ä¹Ÿè®¸ä½ æƒ³%1$s帮助我们改进Piwik翻译%2$s?", "Hide": "éšè—", "HoursMinutes": "%1$s å°æ—¶ %2$s 分", "Id": "åºå·", @@ -183,6 +203,7 @@ "Language": "è¯è¨€", "LastDays": "最近 %s 天 (包括今天)", "LastDaysShort": "最近 %s 天", + "LearnMore": "%1$så¦ä¹ 更多%2$s", "Live": "在线", "Loading": "载入ä¸...", "LoadingData": "æ•°æ®è½½å…¥ä¸...", @@ -210,6 +231,7 @@ "Name": "网站å称", "NbActions": "活动次数", "NbSearches": "æœç´¢æ¬¡æ•°", + "NeedMoreHelp": "需è¦æ›´å¤šå¸®åŠ©ï¼Ÿ", "Never": "从ä¸", "NewReportsWillBeProcessedByCron": "当 Piwik ä¸æ˜¯é€šè¿‡æµè§ˆå™¨è§¦å‘处ç†æ—¶ï¼Œæ–°çš„报表将通过 crontab 处ç†ã€‚", "NewUpdatePiwikX": "最新更新: Piwik %s", @@ -222,8 +244,10 @@ "NotDefined": "%s 未定义", "Note": "注æ„", "NotInstalled": "未安装", + "NotRecommended": "(ä¸æŽ¨è)", "NotValid": "%s æ— æ•ˆ", "NumberOfVisits": "访问次数", + "NUsers": "%s å用户", "NVisits": "%s 次访问", "Ok": "OK", "OneAction": "1 次活动", @@ -242,8 +266,11 @@ "OperationIsNot": "ä¸æ˜¯", "OperationLessThan": "å°äºŽ", "OperationNotEquals": "ä¸ç‰äºŽ", + "OperationStartsWith": "开始", + "OperationEndsWith": "结æŸ", "OptionalSmtpPort": "å¯é€‰é¡¹ï¼Œé»˜è®¤æ˜¯æœªåŠ 密和TLS SMTPä½¿ç”¨ç«¯å£ 25,SSL åŠ å¯†ä½¿ç”¨ç«¯å£ 465", "Options": "选项", + "Or": "或者", "OrCancel": "或 %1$s å–消 %2$s", "Others": "其它", "Outlink": "离站链接", @@ -252,10 +279,14 @@ "OverlayRowActionTooltipTitle": "显示页é¢å åŠ ", "Overview": "æ¥æºæ€»è¡¨", "Pages": "页é¢", + "Pagination": "%1$s - %2$s of %3$s", + "PaginationWithoutTotal": "%1$s - %2$s", "ParameterMustIntegerBetween": "å‚æ•° %1$s 必须为介于 %2$s å’Œ %3$s 之间的整数", "Password": "密ç ", "Period": "统计时间", "Piechart": "圆饼图", + "PiwikIsACollaborativeProjectYouCanContributeAndDonate": "%1$s Piwik%2$s是由%7$s Piwik团队%8$sçš„æˆå‘˜ä»¥åŠå…¨çƒè®¸å¤šå…¶ä»–贡献者赞助商的åˆä½œé¡¹ç›®ã€‚å¦‚æžœä½ æ˜¯Piwik的粉ä¸ï¼Œä½ å¯ä»¥å¸®åŠ©æˆ‘们:找到%3$sæ€Žæ ·å‚与Piwik项目%4$s,或者%5$sæèµ %6$så¼€å‘Piwik3.0的基金ï¼", + "PiwikXIsAvailablePleaseNotifyPiwikAdmin": "%1$så¯ç”¨ã€‚请通知%2$sPiwik管ç†å‘˜%3$s。", "PiwikXIsAvailablePleaseUpdateNow": "Piwik %1$s å·²ç»å‘布。 %2$s 请立å³æ›´æ–°ï¼%3$s (查看 %4$s 与%5$s 的差异)。", "PleaseSpecifyValue": "请为 '%s' é€‰æ‹©ä¸€ä¸ªæŒ‡æ ‡ã€‚", "PleaseUpdatePiwik": "请更新 Piwik", @@ -268,10 +299,13 @@ "Price": "ä»·æ ¼", "ProductConversionRate": "产å“转化率", "ProductRevenue": "产å“收入", + "Measurable": "测", + "Measurables": "è¡¡é‡æ ‡å‡†", "PurchasedProducts": "å·²è´ä¹°äº§å“", "Quantity": "æ•°é‡", "RangeReports": "自定义时间段", "ReadThisToLearnMore": "%1$s了解详情。%2$s", + "Recommended": "推è", "RecordsToPlot": "用于制表的记录", "Refresh": "刷新", "RefreshPage": "刷新", @@ -280,7 +314,10 @@ "Remove": "åˆ é™¤", "Report": "访客报表", "ReportGeneratedFrom": "报表数æ®çš„时间段是 %s", + "ReportRatioTooltip": "'%1$s' 代表 %2$s of %3$s %4$så’Œ %5$s.", "Reports": "报表", + "ReportsContainingTodayWillBeProcessedAtMostEvery": "归档最多æ¯X秒报告", + "RearchiveTimeIntervalOnlyForTodayReports": "è¿™åªä¼šå½±å“今天的报告(或任何其他日期范围包括今天)", "ReportsWillBeProcessedAtMostEveryHour": "å› æ¤ï¼ŒæŠ¥è¡¨æœ€å¤šæ¯éš”一å°æ—¶å¤„ç†ä¸€æ¬¡ã€‚", "RequestTimedOut": "%s 资料请求超时。请å†è¯•ä¸€æ¬¡ã€‚", "Required": "%s是必填项", @@ -293,9 +330,12 @@ "Save": "ä¿å˜", "SaveImageOnYourComputer": "将图片ä¿å˜è‡³æˆ‘çš„ç”µè„‘ï¼Œåœ¨å›¾ç‰‡ä¸Šç‚¹é€‰é¼ æ ‡å³é”®ç„¶åŽé€‰æ‹©\"将图片å¦å˜ä¸º...\"", "Search": "æœç´¢", + "Clear": "清除", "SearchNoResults": "没有结果", "SeeAll": "查看全部", "SeeTheOfficialDocumentationForMoreInformation": "查看%1$s官方文件%2$så–得更多资讯", + "SeeThisFaq": "请å‚阅 %1$sè¿™æ¡å¸®åŠ©%2$s。", + "Segment": "分割", "SelectYesIfYouWantToSendEmailsViaServer": "如果您想通过邮件æœåŠ¡å™¨æ¥å‘é€ç”µå邮件,而ä¸æ˜¯ mail 函数的è¯è¯·é€‰æ‹© \"是\"", "Settings": "管ç†è®¾ç½®", "Shipping": "è¿è´¹", @@ -314,12 +354,19 @@ "Table": "è¡¨æ ¼", "TagCloud": "æ ‡ç¾äº‘", "Tax": "税收", + "TimeAgo": "%s以å‰", + "TimeFormat": "æ—¶é—´æ ¼å¼", "TimeOnPage": "页é¢åœç•™æ—¶é—´", "Total": "总é¢", + "TotalRatioTooltip": "This is %1$s of all %2$s %3$s.", "TotalRevenue": "订å•æ€»é¢", + "TotalVisitsPageviewsActionsRevenue": "(总访问é‡: %1$s 访问者, %2$s æµè§ˆé‡, %3$s 活动者, %4$s 收入)", + "TrackingScopeAction": "行动", + "TrackingScopePage": "页é¢", + "TrackingScopeVisit": "访问者", "TransitionsRowActionTooltip": "查看访客æµè§ˆè¿™ä¸ªé¡µé¢ä¹‹å‰å’Œä¹‹åŽçš„活动", "TransitionsRowActionTooltipTitle": "显示转æ¢åˆ†æž", - "TranslatorName": "<a href=\"http:\/\/www.piwik.cn\/\">Jack Huang<\/a>, <a href=\"http:\/\/www.binaryoung.com\/\">Young<\/a>, Marine.Ming", + "TranslatorName": "Jack Huang, Young, Marine.Ming", "UniquePurchases": "唯一身份è´ä¹°è€…", "Unknown": "未知", "Upload": "ä¸Šä¼ ", @@ -342,11 +389,16 @@ "Visitors": "访客分æž", "VisitsWith": "有%s的访客", "VisitorSettings": "访客设置", + "VisitType": "访问者类型", "VisitTypeExample": "例如,è¦é€‰æ‹©æ‰€æœ‰å›žå¤´è®¿å®¢ï¼ŒåŒ…括那些以å‰è´ä¹°è¿‡äº§å“的,API 请求需è¦åŒ…å« %s", "Warning": "è¦å‘Š", + "WarningPhpVersionXIsTooOld": "您æ£åœ¨ä½¿ç”¨çš„PHP版本%s 已达到其生命周期结æŸï¼ˆEOL)。我们强烈敦促å‡çº§åˆ°æœ€æ–°ç‰ˆæœ¬ï¼Œå› 为使用这个版本å¯èƒ½ä¼šä½¿æ‚¨å·²ä¿®å¤åœ¨æœ€è¿‘版本的PHPä¸çš„安全æ¼æ´žå’Œé”™è¯¯ã€‚", + "WarningPiwikWillStopSupportingPHPVersion": "Piwikå°†åœæ¢ä¸‹ä¸€ä¸ªä¸»è¦ç‰ˆæœ¬ï¼Œæ”¯æŒPHP%1$s。å‡çº§ä½ çš„PHPæ¥è‡³å°‘PHP%2$s还为时ä¸æ™šã€‚", "WarningFileIntegrityNoManifest": "缺少 manifest.inc.phpï¼Œæ‰€ä»¥æ–‡ä»¶å®Œæ•´æ€§æ£€æŸ¥æ— æ³•å®Œæˆã€‚", + "WarningFileIntegrityNoManifestDeployingFromGit": "如果从Git的部署Piwik,æ¤æ¶ˆæ¯æ˜¯æ£å¸¸çš„。", "WarningFileIntegrityNoMd5file": "缺少 md5_file() å‡½æ•°ï¼Œæ‰€ä»¥æ–‡ä»¶å®Œæ•´æ€§æ£€æŸ¥æ— æ³•å®Œæˆã€‚", "WarningPasswordStored": "%1$sè¦å‘Š:%2$s æ¤å¯†ç 将被ä¿å˜åœ¨é…置文件ä¸ï¼Œä¸”æ¯ä¸ªèƒ½è¯»å–它的人都看得到。", + "WarningDebugOnDemandEnabled": "跟踪%1$s模å¼æ˜¯å¼€å¯çš„。出于安全考虑,它应该被开å¯å¾ˆçŸçš„时间。请设置 %2$s为%3$s在%4$sæ¥å…³é—它。", "Website": "网站", "Weekly": "æ¯å‘¨", "WeeklyReport": "æ¯å‘¨", @@ -361,6 +413,7 @@ "YearsDays": "%1$s å¹´ %2$s 天", "Yes": "是", "YouAreCurrentlyUsing": "您æ£åœ¨ä½¿ç”¨ Piwik %s.", + "YouAreViewingDemoShortMessage": "您æ£åœ¨æŸ¥çœ‹Piwik的演示", "YouMustBeLoggedIn": "您必须登录æ‰èƒ½å˜å–这个功能。", "YourChangesHaveBeenSaved": "修改已ä¿å˜ã€‚" }, @@ -378,6 +431,7 @@ "ChooseHttpTimeout": "请选择HTTP超时值", "ChooseMetric": "é€‰æ‹©æŒ‡æ ‡", "ChooseReport": "选择报表", + "ChooseSegment": "选择区间", "ConfirmRemoveAccount": "您确实è¦åˆ 除该å¸æˆ·å—?", "DefaultReportDate": "报表日期", "EmailUs": "给我们å‘电å邮件", @@ -385,7 +439,7 @@ "EvolutionGraph": "历å²å›¾è¡¨", "HelpUsToImprovePiwikMobile": "您è¦å¯ç”¨ Piwik 移动版本ä¸çš„匿å使用情况统计å—?", "HowtoDeleteAnAccount": "é•¿æŒ‰åˆ é™¤å¸å·", - "HowtoDeleteAnAccountOniOS": "从左到å³æ»‘动å¯åˆ 除å¸å·", + "HowtoDeleteAnAccountOniOS": "从å³åˆ°å·¦æ»‘动å¯åˆ 除å¸å·", "HowtoLoginAnonymous": "用户å和密ç 留空为匿å登录", "HttpIsNotSecureWarning": "如果您使用 'HTTP',Piwik 授æƒå· (token_auth) æ˜¯æ˜Žæ–‡ä¼ é€ï¼Œå› æ¤å»ºè®®ä½¿ç”¨ HTTPS åŠ å¯†å‘é€æ•°æ®ã€‚è¦ç»§ç»å—?", "HttpTimeout": "HTTP超时", @@ -410,6 +464,8 @@ "NoWebsiteFound": "没有找到网站", "NoWebsitesShort": "没有网站", "PullDownToRefresh": "å‘下拉å¯ä»¥æ›´æ–°...", + "PossibleSslError": "å¯èƒ½çš„SSLè¯ä¹¦é”™è¯¯", + "PossibleSslErrorExplanation": "出现错误,å¯èƒ½æ˜¯ç”±ä¸€ä¸ªæ— 效或自ç¾åè¯ä¹¦é€ æˆçš„:“%sâ€ã€‚忽略SSL验è¯æ—¶ç™»å½•å¯èƒ½ä¼šä¸ºä½ å·¥ä½œï¼Œä½†å®ƒçš„å®‰å…¨æ€§è¾ƒä½Žã€‚ä½ å¯ä»¥åœ¨è®¾ç½®éšæ—¶æ›´æ”¹SSL验è¯ã€‚", "IgnoreSslError": "忽略SSL错误", "RatingDontRemindMe": "ä¸è¦è®°ä½æˆ‘", "RatingNotNow": "ä¸æ˜¯çŽ°åœ¨", @@ -429,6 +485,7 @@ "TryIt": "试一试ï¼", "UseSearchBarHint": "这里åªæ˜¾ç¤ºç¬¬ä¸€ä¸ª %s 网站,请用æœç´¢æ¡è®¿é—®å…¶å®ƒç½‘站。", "VerifyAccount": "è´¦å·ç¡®è®¤", + "ValidateSslCertificate": "验è¯SSLè¯ä¹¦", "VerifyLoginData": "确认用户å和密ç æ£ç¡®ã€‚", "YouAreOffline": "抱æ‰ï¼Œæ‚¨ç›®å‰ç¦»çº¿çŠ¶æ€" }, @@ -440,6 +497,7 @@ "Documentation": "ç‚¹å‡»æŒ‡æ ‡æ˜¾ç¤ºè¶‹åŠ¿å›¾ï¼ŒæŒ‰ä½ Shift 键点击å¯åŒæ—¶æ˜¾ç¤ºå¤šä¸ªæŒ‡æ ‡ã€‚", "MetricBetweenText": "在%1$så’Œ%2$s之间", "MetricChangeText": "%s", + "MetricMinMax": "在段时期介入%1$s 〠%2$s或 %3$sä¸ç‰ã€‚", "MetricsFor": "%s çš„æŒ‡æ ‡", "MultiRowEvolutionTitle": "多个记录的趋势图", "PickAnotherRow": "选择å¦å¤–一行比较", diff --git a/lang/zh-tw.json b/lang/zh-tw.json index eed9e644b064176f8214d4811c89d32a672eb71c..ddb87cff7015e2a882514a51809aa49020f6e7c0 100644 --- a/lang/zh-tw.json +++ b/lang/zh-tw.json @@ -178,7 +178,7 @@ "SmtpUsername": "SMTP 使用者å稱", "Table": "è¡¨æ ¼", "TagCloud": "標籤雲", - "TranslatorName": "<a href=\"http:\/\/www.freegroup.org\/\">Pseric<\/a>, Eros", + "TranslatorName": "Pseric, Eros", "Unknown": "未知", "Username": "使用者å稱", "UseSMTPServerForEmail": "使用 SMTP 伺æœå™¨ä¾†å‚³é€ E-mail", diff --git a/piwik.js b/piwik.js index 08107280f43e89e9c38af24501907186a5322c18..550e6053ab80192df7dae760c3dfe64b58f36e82 100644 --- a/piwik.js +++ b/piwik.js @@ -18,49 +18,50 @@ var I="000000";var t=function(ac,ad){return(I+(ad||0)).slice(-ac)};var z="\\u00" }else{at=null}}else{if(typeof at.toJSON=="function"&&((ae!=N&&ae!=O&&ae!=E)||r.call(at,"toJSON"))){at=at.toJSON(ai)}}}if(ag){at=ag.call(aA,ai,at)}if(at===null){return"null"}ae=u.call(at);if(ae==A){return""+at}else{if(ae==N){return at>-1/0&&at<1/0?""+at:"null"}else{if(ae==O){return C(""+at)}}}if(typeof at=="object"){for(af=aj.length;af--;){if(aj[af]===at){throw aa()}}aj.push(at);ar=[];av=ac;ac+=ax;if(ae==E){for(ah=0,af=at.length;ah<af;ah++){ad=p(ah,at,ag,al,ax,ac,aj);ar.push(ad===L?"null":ad)}ao=ar.length?(ax?"[\n"+ac+ar.join(",\n"+ac)+"\n"+av+"]":("["+ar.join(",")+"]")):"[]"}else{m(al||at,function(aC){var aB=p(aC,at,ag,al,ax,ac,aj);if(aB!==L){ar.push(C(aC)+":"+(ax?" ":"")+aB)}});ao=ar.length?(ax?"{\n"+ac+ar.join(",\n"+ac)+"\n"+av+"}":("{"+ar.join(",")+"}")):"{}"}aj.pop();return ao}};V.stringify=function(ac,ae,af){var ad,al,aj,ai;if(e[typeof ae]&&ae){if((ai=u.call(ae))==U){al=ae}else{if(ai==E){aj={};for(var ah=0,ag=ae.length,ak;ah<ag;ak=ae[ah++],((ai=u.call(ak)),ai==O||ai==N)&&(aj[ak]=1)){}}}}if(af){if((ai=u.call(af))==N){if((af-=af%1)>0){for(ad="",af>10&&(af=10); ad.length<af;ad+=" "){}}}else{if(ai==O){ad=af.length<=10?af:af.slice(0,10)}}}return p("",(ak={},ak[""]=ac,ak),al,aj,ad,"",[])}}if(!o("json-parse")){var M=R.fromCharCode;var l={92:"\\",34:'"',47:"/",98:"\b",116:"\t",110:"\n",102:"\f",114:"\r"};var G,X;var H=function(){G=X=null;throw T()};var y=function(){var ah=X,af=ah.length,ag,ae,ac,ai,ad;while(G<af){ad=ah.charCodeAt(G);switch(ad){case 9:case 10:case 13:case 32:G++;break;case 123:case 125:case 91:case 93:case 58:case 44:ag=F?ah.charAt(G):ah[G];G++;return ag;case 34:for(ag="@",G++;G<af;){ad=ah.charCodeAt(G);if(ad<32){H()}else{if(ad==92){ad=ah.charCodeAt(++G);switch(ad){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:ag+=l[ad];G++;break;case 117:ae=++G;for(ac=G+4;G<ac;G++){ad=ah.charCodeAt(G);if(!(ad>=48&&ad<=57||ad>=97&&ad<=102||ad>=65&&ad<=70)){H()}}ag+=M("0x"+ah.slice(ae,G));break;default:H()}}else{if(ad==34){break}ad=ah.charCodeAt(G);ae=G;while(ad>=32&&ad!=92&&ad!=34){ad=ah.charCodeAt(++G)}ag+=ah.slice(ae,G)}}}if(ah.charCodeAt(G)==34){G++; return ag}H();default:ae=G;if(ad==45){ai=true;ad=ah.charCodeAt(++G)}if(ad>=48&&ad<=57){if(ad==48&&((ad=ah.charCodeAt(G+1)),ad>=48&&ad<=57)){H()}ai=false;for(;G<af&&((ad=ah.charCodeAt(G)),ad>=48&&ad<=57);G++){}if(ah.charCodeAt(G)==46){ac=++G;for(;ac<af&&((ad=ah.charCodeAt(ac)),ad>=48&&ad<=57);ac++){}if(ac==G){H()}G=ac}ad=ah.charCodeAt(G);if(ad==101||ad==69){ad=ah.charCodeAt(++G);if(ad==43||ad==45){G++}for(ac=G;ac<af&&((ad=ah.charCodeAt(ac)),ad>=48&&ad<=57);ac++){}if(ac==G){H()}G=ac}return +ah.slice(ae,G)}if(ai){H()}if(ah.slice(G,G+4)=="true"){G+=4;return true}else{if(ah.slice(G,G+5)=="false"){G+=5;return false}else{if(ah.slice(G,G+4)=="null"){G+=4;return null}}}H()}}return"$"};var W=function(ad){var ac,ae;if(ad=="$"){H()}if(typeof ad=="string"){if((F?ad.charAt(0):ad[0])=="@"){return ad.slice(1)}if(ad=="["){ac=[];for(;;ae||(ae=true)){ad=y();if(ad=="]"){break}if(ae){if(ad==","){ad=y();if(ad=="]"){H()}}else{H()}}if(ad==","){H()}ac.push(W(ad))}return ac}else{if(ad=="{"){ac={};for(;;ae||(ae=true)){ad=y(); -if(ad=="}"){break}if(ae){if(ad==","){ad=y();if(ad=="}"){H()}}else{H()}}if(ad==","||typeof ad!="string"||(F?ad.charAt(0):ad[0])!="@"||y()!=":"){H()}ac[ad.slice(1)]=W(y())}return ac}}H()}return ad};var P=function(ae,ad,af){var ac=w(ae,ad,af);if(ac===L){delete ae[ad]}else{ae[ad]=ac}};var w=function(af,ae,ag){var ad=af[ae],ac;if(typeof ad=="object"&&ad){if(u.call(ad)==E){for(ac=ad.length;ac--;){P(ad,ac,ag)}}else{m(ad,function(ah){P(ad,ah,ag)})}}return ag.call(af,ae,ad)};V.parse=function(ae,af){var ac,ad;G=0;X=""+ae;ac=W(y());if(y()!="$"){H()}G=X=null;return af&&u.call(af)==U?w((ad={},ad[""]=ac,ad),"",af):ac}}}V.runInContext=j;return V}if(h&&!c){j(i,h)}else{var f=i.JSON,k=i.JSON3,d=false;var g=j(i,(i.JSON3={noConflict:function(){if(!d){d=true;i.JSON=f;i.JSON3=k;f=k=null}return g}}));i.JSON={parse:g.parse,stringify:g.stringify}}if(c){define(function(){return g})}}).call(this);JSON2=a})()}if(typeof _paq!=="object"){_paq=[]}if(typeof Piwik!=="object"){Piwik=(function(){var k,a={},x=document,e=navigator,N=screen,J=window,f=J.performance||J.mozPerformance||J.msPerformance||J.webkitPerformance,r=false,H=[],m=J.encodeURIComponent,I=J.decodeURIComponent,h=unescape,O,w,d; -function j(Z){try{return I(Z)}catch(aa){return unescape(Z)}}function z(aa){var Z=typeof aa;return Z!=="undefined"}function s(Z){return typeof Z==="function"}function M(Z){return typeof Z==="object"}function p(Z){return typeof Z==="string"||Z instanceof String}function t(aa){if(!aa){return true}var Z;var ab=true;for(Z in aa){if(Object.prototype.hasOwnProperty.call(aa,Z)){ab=false}}return ab}function U(){var Z,ab,aa;for(Z=0;Z<arguments.length;Z+=1){aa=arguments[Z];ab=aa.shift();if(p(ab)){O[ab].apply(O,aa)}else{ab.apply(O,aa)}}}function Y(ac,ab,aa,Z){if(ac.addEventListener){ac.addEventListener(ab,aa,Z);return true}if(ac.attachEvent){return ac.attachEvent("on"+ab,aa)}ac["on"+ab]=aa}function R(aa,ad){var Z="",ac,ab;for(ac in a){if(Object.prototype.hasOwnProperty.call(a,ac)){ab=a[ac][aa];if(s(ab)){Z+=ab(ad)}}}return Z}function V(){var Z;R("unload");if(k){do{Z=new Date()}while(Z.getTimeAlias()<k)}}function S(){var Z;if(!r){r=true;R("load");for(Z=0;Z<H.length;Z++){H[Z]()}}return true}function q(){var aa; -if(x.addEventListener){Y(x,"DOMContentLoaded",function Z(){x.removeEventListener("DOMContentLoaded",Z,false);S()})}else{if(x.attachEvent){x.attachEvent("onreadystatechange",function Z(){if(x.readyState==="complete"){x.detachEvent("onreadystatechange",Z);S()}});if(x.documentElement.doScroll&&J===J.top){(function Z(){if(!r){try{x.documentElement.doScroll("left")}catch(ab){setTimeout(Z,0);return}S()}}())}}}if((new RegExp("WebKit")).test(e.userAgent)){aa=setInterval(function(){if(r||/loaded|complete/.test(x.readyState)){clearInterval(aa);S()}},10)}Y(J,"load",S,false)}function i(ab,aa){var Z=x.createElement("script");Z.type="text/javascript";Z.src=ab;if(Z.readyState){Z.onreadystatechange=function(){var ac=this.readyState;if(ac==="loaded"||ac==="complete"){Z.onreadystatechange=null;aa()}}}else{Z.onload=aa}x.getElementsByTagName("head")[0].appendChild(Z)}function A(){var Z="";try{Z=J.top.document.referrer}catch(ab){if(J.parent){try{Z=J.parent.document.referrer}catch(aa){Z=""}}}if(Z===""){Z=x.referrer -}return Z}function l(Z){var ab=new RegExp("^([a-z]+):"),aa=ab.exec(Z);return aa?aa[1]:null}function c(Z){var ab=new RegExp("^(?:(?:https?|ftp):)/*(?:[^@]+@)?([^:/#]+)"),aa=ab.exec(Z);return aa?aa[1]:Z}function L(ab,aa){var Z="[\\?&#]"+aa+"=([^&#]*)";var ad=new RegExp(Z);var ac=ad.exec(ab);return ac?I(ac[1]):""}function v(Z){return unescape(m(Z))}function X(ao){var ab=function(av,au){return(av<<au)|(av>>>(32-au))},ap=function(ax){var av="",aw,au;for(aw=7;aw>=0;aw--){au=(ax>>>(aw*4))&15;av+=au.toString(16)}return av},ae,ar,aq,aa=[],ai=1732584193,ag=4023233417,af=2562383102,ad=271733878,ac=3285377520,an,am,al,ak,aj,at,Z,ah=[];ao=v(ao);Z=ao.length;for(ar=0;ar<Z-3;ar+=4){aq=ao.charCodeAt(ar)<<24|ao.charCodeAt(ar+1)<<16|ao.charCodeAt(ar+2)<<8|ao.charCodeAt(ar+3);ah.push(aq)}switch(Z&3){case 0:ar=2147483648;break;case 1:ar=ao.charCodeAt(Z-1)<<24|8388608;break;case 2:ar=ao.charCodeAt(Z-2)<<24|ao.charCodeAt(Z-1)<<16|32768;break;case 3:ar=ao.charCodeAt(Z-3)<<24|ao.charCodeAt(Z-2)<<16|ao.charCodeAt(Z-1)<<8|128; -break}ah.push(ar);while((ah.length&15)!==14){ah.push(0)}ah.push(Z>>>29);ah.push((Z<<3)&4294967295);for(ae=0;ae<ah.length;ae+=16){for(ar=0;ar<16;ar++){aa[ar]=ah[ae+ar]}for(ar=16;ar<=79;ar++){aa[ar]=ab(aa[ar-3]^aa[ar-8]^aa[ar-14]^aa[ar-16],1)}an=ai;am=ag;al=af;ak=ad;aj=ac;for(ar=0;ar<=19;ar++){at=(ab(an,5)+((am&al)|(~am&ak))+aj+aa[ar]+1518500249)&4294967295;aj=ak;ak=al;al=ab(am,30);am=an;an=at}for(ar=20;ar<=39;ar++){at=(ab(an,5)+(am^al^ak)+aj+aa[ar]+1859775393)&4294967295;aj=ak;ak=al;al=ab(am,30);am=an;an=at}for(ar=40;ar<=59;ar++){at=(ab(an,5)+((am&al)|(am&ak)|(al&ak))+aj+aa[ar]+2400959708)&4294967295;aj=ak;ak=al;al=ab(am,30);am=an;an=at}for(ar=60;ar<=79;ar++){at=(ab(an,5)+(am^al^ak)+aj+aa[ar]+3395469782)&4294967295;aj=ak;ak=al;al=ab(am,30);am=an;an=at}ai=(ai+an)&4294967295;ag=(ag+am)&4294967295;af=(af+al)&4294967295;ad=(ad+ak)&4294967295;ac=(ac+aj)&4294967295}at=ap(ai)+ap(ag)+ap(af)+ap(ad)+ap(ac);return at.toLowerCase()}function Q(ab,Z,aa){if(!ab){ab=""}if(!Z){Z=""}if(ab==="translate.googleusercontent.com"){if(aa===""){aa=Z -}Z=L(Z,"u");ab=c(Z)}else{if(ab==="cc.bingj.com"||ab==="webcache.googleusercontent.com"||ab.slice(0,5)==="74.6."){Z=x.links[0].href;ab=c(Z)}}return[ab,Z,aa]}function B(aa){var Z=aa.length;if(aa.charAt(--Z)==="."){aa=aa.slice(0,Z)}if(aa.slice(0,2)==="*."){aa=aa.slice(1)}if(aa.indexOf("/")!==-1){aa=aa.substr(0,aa.indexOf("/"))}return aa}function W(aa){aa=aa&&aa.text?aa.text:aa;if(!p(aa)){var Z=x.getElementsByTagName("title");if(Z&&z(Z[0])){aa=Z[0].text}}return aa}function F(Z){if(!Z){return[]}if(!z(Z.children)&&z(Z.childNodes)){return Z.children}if(z(Z.children)){return Z.children}return[]}function K(aa,Z){if(!aa||!Z){return false}if(aa.contains){return aa.contains(Z)}if(aa===Z){return true}if(aa.compareDocumentPosition){return !!(aa.compareDocumentPosition(Z)&16)}return false}function C(ab,ac){if(ab&&ab.indexOf){return ab.indexOf(ac)}if(!z(ab)||ab===null){return -1}if(!ab.length){return -1}var Z=ab.length;if(Z===0){return -1}var aa=0;while(aa<Z){if(ab[aa]===ac){return aa}aa++}return -1}function g(ab){if(!ab){return false -}function Z(ad,ae){if(J.getComputedStyle){return x.defaultView.getComputedStyle(ad,null)[ae]}if(ad.currentStyle){return ad.currentStyle[ae]}}function ac(ad){ad=ad.parentNode;while(ad){if(ad===x){return true}ad=ad.parentNode}return false}function aa(af,al,ad,ai,ag,aj,ah){var ae=af.parentNode,ak=1;if(!ac(af)){return false}if(9===ae.nodeType){return true}if("0"===Z(af,"opacity")||"none"===Z(af,"display")||"hidden"===Z(af,"visibility")){return false}if(!z(al)||!z(ad)||!z(ai)||!z(ag)||!z(aj)||!z(ah)){al=af.offsetTop;ag=af.offsetLeft;ai=al+af.offsetHeight;ad=ag+af.offsetWidth;aj=af.offsetWidth;ah=af.offsetHeight}if(ab===af&&(0===ah||0===aj)&&"hidden"===Z(af,"overflow")){return false}if(ae){if(("hidden"===Z(ae,"overflow")||"scroll"===Z(ae,"overflow"))){if(ag+ak>ae.offsetWidth+ae.scrollLeft||ag+aj-ak<ae.scrollLeft||al+ak>ae.offsetHeight+ae.scrollTop||al+ah-ak<ae.scrollTop){return false}}if(af.offsetParent===ae){ag+=ae.offsetLeft;al+=ae.offsetTop}return aa(ae,al,ad,ai,ag,aj,ah)}return true}return aa(ab) -}var T={htmlCollectionToArray:function(ab){var Z=[],aa;if(!ab||!ab.length){return Z}for(aa=0;aa<ab.length;aa++){Z.push(ab[aa])}return Z},find:function(Z){if(!document.querySelectorAll||!Z){return[]}var aa=document.querySelectorAll(Z);return this.htmlCollectionToArray(aa)},findMultiple:function(ab){if(!ab||!ab.length){return[]}var aa,ac;var Z=[];for(aa=0;aa<ab.length;aa++){ac=this.find(ab[aa]);Z=Z.concat(ac)}Z=this.makeNodesUnique(Z);return Z},findNodesByTagName:function(aa,Z){if(!aa||!Z||!aa.getElementsByTagName){return[]}var ab=aa.getElementsByTagName(Z);return this.htmlCollectionToArray(ab)},makeNodesUnique:function(Z){var ae=[].concat(Z);Z.sort(function(ag,af){if(ag===af){return 0}var ai=C(ae,ag);var ah=C(ae,af);if(ai===ah){return 0}return ai>ah?-1:1});if(Z.length<=1){return Z}var aa=0;var ac=0;var ad=[];var ab;ab=Z[aa++];while(ab){if(ab===Z[aa]){ac=ad.push(aa)}ab=Z[aa++]||null}while(ac--){Z.splice(ad[ac],1)}return Z},getAttributeValueFromNode:function(ad,ab){if(!this.hasNodeAttribute(ad,ab)){return -}if(ad&&ad.getAttribute){return ad.getAttribute(ab)}if(!ad||!ad.attributes){return}var ac=(typeof ad.attributes[ab]);if("undefined"===ac){return}if(ad.attributes[ab].value){return ad.attributes[ab].value}if(ad.attributes[ab].nodeValue){return ad.attributes[ab].nodeValue}var aa;var Z=ad.attributes;if(!Z){return}for(aa=0;aa<Z.length;aa++){if(Z[aa].nodeName===ab){return Z[aa].nodeValue}}return null},hasNodeAttributeWithValue:function(aa,Z){var ab=this.getAttributeValueFromNode(aa,Z);return !!ab},hasNodeAttribute:function(ab,Z){if(ab&&ab.hasAttribute){return ab.hasAttribute(Z)}if(ab&&ab.attributes){var aa=(typeof ab.attributes[Z]);return"undefined"!==aa}return false},hasNodeCssClass:function(ab,Z){if(ab&&Z&&ab.className){var aa=typeof ab.className==="string"?ab.className.split(" "):[];if(-1!==C(aa,Z)){return true}}return false},findNodesHavingAttribute:function(ad,ab,Z){if(!Z){Z=[]}if(!ad||!ab){return Z}var ac=F(ad);if(!ac||!ac.length){return Z}var aa,ae;for(aa=0;aa<ac.length;aa++){ae=ac[aa]; -if(this.hasNodeAttribute(ae,ab)){Z.push(ae)}Z=this.findNodesHavingAttribute(ae,ab,Z)}return Z},findFirstNodeHavingAttribute:function(ab,aa){if(!ab||!aa){return}if(this.hasNodeAttribute(ab,aa)){return ab}var Z=this.findNodesHavingAttribute(ab,aa);if(Z&&Z.length){return Z[0]}},findFirstNodeHavingAttributeWithValue:function(ac,ab){if(!ac||!ab){return}if(this.hasNodeAttributeWithValue(ac,ab)){return ac}var Z=this.findNodesHavingAttribute(ac,ab);if(!Z||!Z.length){return}var aa;for(aa=0;aa<Z.length;aa++){if(this.getAttributeValueFromNode(Z[aa],ab)){return Z[aa]}}},findNodesHavingCssClass:function(ad,ac,Z){if(!Z){Z=[]}if(!ad||!ac){return Z}if(ad.getElementsByClassName){var ae=ad.getElementsByClassName(ac);return this.htmlCollectionToArray(ae)}var ab=F(ad);if(!ab||!ab.length){return[]}var aa,af;for(aa=0;aa<ab.length;aa++){af=ab[aa];if(this.hasNodeCssClass(af,ac)){Z.push(af)}Z=this.findNodesHavingCssClass(af,ac,Z)}return Z},findFirstNodeHavingClass:function(ab,aa){if(!ab||!aa){return}if(this.hasNodeCssClass(ab,aa)){return ab -}var Z=this.findNodesHavingCssClass(ab,aa);if(Z&&Z.length){return Z[0]}},isLinkElement:function(aa){if(!aa){return false}var Z=String(aa.nodeName).toLowerCase();var ac=["a","area"];var ab=C(ac,Z);return ab!==-1},setAnyAttribute:function(aa,Z,ab){if(!aa||!Z){return}if(aa.setAttribute){aa.setAttribute(Z,ab)}else{aa[Z]=ab}}};var o={CONTENT_ATTR:"data-track-content",CONTENT_CLASS:"piwikTrackContent",CONTENT_NAME_ATTR:"data-content-name",CONTENT_PIECE_ATTR:"data-content-piece",CONTENT_PIECE_CLASS:"piwikContentPiece",CONTENT_TARGET_ATTR:"data-content-target",CONTENT_TARGET_CLASS:"piwikContentTarget",CONTENT_IGNOREINTERACTION_ATTR:"data-content-ignoreinteraction",CONTENT_IGNOREINTERACTION_CLASS:"piwikContentIgnoreInteraction",location:undefined,findContentNodes:function(){var aa="."+this.CONTENT_CLASS;var Z="["+this.CONTENT_ATTR+"]";var ab=T.findMultiple([aa,Z]);return ab},findContentNodesWithinNode:function(ac){if(!ac){return[]}var aa=T.findNodesHavingCssClass(ac,this.CONTENT_CLASS);var Z=T.findNodesHavingAttribute(ac,this.CONTENT_ATTR); -if(Z&&Z.length){var ab;for(ab=0;ab<Z.length;ab++){aa.push(Z[ab])}}if(T.hasNodeAttribute(ac,this.CONTENT_ATTR)){aa.push(ac)}else{if(T.hasNodeCssClass(ac,this.CONTENT_CLASS)){aa.push(ac)}}aa=T.makeNodesUnique(aa);return aa},findParentContentNode:function(aa){if(!aa){return}var ab=aa;var Z=0;while(ab&&ab!==x&&ab.parentNode){if(T.hasNodeAttribute(ab,this.CONTENT_ATTR)){return ab}if(T.hasNodeCssClass(ab,this.CONTENT_CLASS)){return ab}ab=ab.parentNode;if(Z>1000){break}Z++}},findPieceNode:function(aa){var Z;Z=T.findFirstNodeHavingAttribute(aa,this.CONTENT_PIECE_ATTR);if(!Z){Z=T.findFirstNodeHavingClass(aa,this.CONTENT_PIECE_CLASS)}if(Z){return Z}return aa},findTargetNodeNoDefault:function(Z){if(!Z){return}var aa=T.findFirstNodeHavingAttributeWithValue(Z,this.CONTENT_TARGET_ATTR);if(aa){return aa}aa=T.findFirstNodeHavingAttribute(Z,this.CONTENT_TARGET_ATTR);if(aa){return aa}aa=T.findFirstNodeHavingClass(Z,this.CONTENT_TARGET_CLASS);if(aa){return aa}},findTargetNode:function(Z){var aa=this.findTargetNodeNoDefault(Z); -if(aa){return aa}return Z},findContentName:function(aa){if(!aa){return}var ad=T.findFirstNodeHavingAttributeWithValue(aa,this.CONTENT_NAME_ATTR);if(ad){return T.getAttributeValueFromNode(ad,this.CONTENT_NAME_ATTR)}var Z=this.findContentPiece(aa);if(Z){return this.removeDomainIfIsInLink(Z)}if(T.hasNodeAttributeWithValue(aa,"title")){return T.getAttributeValueFromNode(aa,"title")}var ab=this.findPieceNode(aa);if(T.hasNodeAttributeWithValue(ab,"title")){return T.getAttributeValueFromNode(ab,"title")}var ac=this.findTargetNode(aa);if(T.hasNodeAttributeWithValue(ac,"title")){return T.getAttributeValueFromNode(ac,"title")}},findContentPiece:function(aa){if(!aa){return}var ac=T.findFirstNodeHavingAttributeWithValue(aa,this.CONTENT_PIECE_ATTR);if(ac){return T.getAttributeValueFromNode(ac,this.CONTENT_PIECE_ATTR)}var Z=this.findPieceNode(aa);var ab=this.findMediaUrlInNode(Z);if(ab){return this.toAbsoluteUrl(ab)}},findContentTarget:function(ab){if(!ab){return}var ac=this.findTargetNode(ab);if(T.hasNodeAttributeWithValue(ac,this.CONTENT_TARGET_ATTR)){return T.getAttributeValueFromNode(ac,this.CONTENT_TARGET_ATTR) -}var aa;if(T.hasNodeAttributeWithValue(ac,"href")){aa=T.getAttributeValueFromNode(ac,"href");return this.toAbsoluteUrl(aa)}var Z=this.findPieceNode(ab);if(T.hasNodeAttributeWithValue(Z,"href")){aa=T.getAttributeValueFromNode(Z,"href");return this.toAbsoluteUrl(aa)}},isSameDomain:function(Z){if(!Z||!Z.indexOf){return false}if(0===Z.indexOf(this.getLocation().origin)){return true}var aa=Z.indexOf(this.getLocation().host);if(8>=aa&&0<=aa){return true}return false},removeDomainIfIsInLink:function(ab){var aa="^https?://[^/]+";var Z="^.*//[^/]+";if(ab&&ab.search&&-1!==ab.search(new RegExp(aa))&&this.isSameDomain(ab)){ab=ab.replace(new RegExp(Z),"");if(!ab){ab="/"}}return ab},findMediaUrlInNode:function(ad){if(!ad){return}var ab=["img","embed","video","audio"];var Z=ad.nodeName.toLowerCase();if(-1!==C(ab,Z)&&T.findFirstNodeHavingAttributeWithValue(ad,"src")){var ac=T.findFirstNodeHavingAttributeWithValue(ad,"src");return T.getAttributeValueFromNode(ac,"src")}if(Z==="object"&&T.hasNodeAttributeWithValue(ad,"data")){return T.getAttributeValueFromNode(ad,"data") -}if(Z==="object"){var ae=T.findNodesByTagName(ad,"param");if(ae&&ae.length){var aa;for(aa=0;aa<ae.length;aa++){if("movie"===T.getAttributeValueFromNode(ae[aa],"name")&&T.hasNodeAttributeWithValue(ae[aa],"value")){return T.getAttributeValueFromNode(ae[aa],"value")}}}var af=T.findNodesByTagName(ad,"embed");if(af&&af.length){return this.findMediaUrlInNode(af[0])}}},trim:function(Z){if(Z&&String(Z)===Z){return Z.replace(/^\s+|\s+$/g,"")}return Z},isOrWasNodeInViewport:function(ae){if(!ae||!ae.getBoundingClientRect||ae.nodeType!==1){return true}var ad=ae.getBoundingClientRect();var ac=x.documentElement||{};var ab=ad.top<0;if(ab&&ae.offsetTop){ab=(ae.offsetTop+ad.height)>0}var aa=ac.clientWidth;if(J.innerWidth&&aa>J.innerWidth){aa=J.innerWidth}var Z=ac.clientHeight;if(J.innerHeight&&Z>J.innerHeight){Z=J.innerHeight}return((ad.bottom>0||ab)&&ad.right>0&&ad.left<aa&&((ad.top<Z)||ab))},isNodeVisible:function(aa){var Z=g(aa);var ab=this.isOrWasNodeInViewport(aa);return Z&&ab},buildInteractionRequestParams:function(Z,aa,ab,ac){var ad=""; -if(Z){ad+="c_i="+m(Z)}if(aa){if(ad){ad+="&"}ad+="c_n="+m(aa)}if(ab){if(ad){ad+="&"}ad+="c_p="+m(ab)}if(ac){if(ad){ad+="&"}ad+="c_t="+m(ac)}return ad},buildImpressionRequestParams:function(Z,aa,ab){var ac="c_n="+m(Z)+"&c_p="+m(aa);if(ab){ac+="&c_t="+m(ab)}return ac},buildContentBlock:function(ab){if(!ab){return}var Z=this.findContentName(ab);var aa=this.findContentPiece(ab);var ac=this.findContentTarget(ab);Z=this.trim(Z);aa=this.trim(aa);ac=this.trim(ac);return{name:Z||"Unknown",piece:aa||"Unknown",target:ac||""}},collectContent:function(ac){if(!ac||!ac.length){return[]}var ab=[];var Z,aa;for(Z=0;Z<ac.length;Z++){aa=this.buildContentBlock(ac[Z]);if(z(aa)){ab.push(aa)}}return ab},setLocation:function(Z){this.location=Z},getLocation:function(){var Z=this.location||J.location;if(!Z.origin){Z.origin=Z.protocol+"//"+Z.hostname+(Z.port?":"+Z.port:"")}return Z},toAbsoluteUrl:function(aa){if((!aa||String(aa)!==aa)&&aa!==""){return aa}if(""===aa){return this.getLocation().href}if(aa.search(/^\/\//)!==-1){return this.getLocation().protocol+aa -}if(aa.search(/:\/\//)!==-1){return aa}if(0===aa.indexOf("#")){return this.getLocation().origin+this.getLocation().pathname+aa}if(0===aa.indexOf("?")){return this.getLocation().origin+this.getLocation().pathname+aa}if(0===aa.search("^[a-zA-Z]{2,11}:")){return aa}if(aa.search(/^\//)!==-1){return this.getLocation().origin+aa}var Z="(.*/)";var ab=this.getLocation().origin+this.getLocation().pathname.match(new RegExp(Z))[0];return ab+aa},isUrlToCurrentDomain:function(aa){var ab=this.toAbsoluteUrl(aa);if(!ab){return false}var Z=this.getLocation().origin;if(Z===ab){return true}if(0===String(ab).indexOf(Z)){if(":"===String(ab).substr(Z.length,1)){return false}return true}return false},setHrefAttribute:function(aa,Z){if(!aa||!Z){return}T.setAnyAttribute(aa,"href",Z)},shouldIgnoreInteraction:function(ab){var aa=T.hasNodeAttribute(ab,this.CONTENT_IGNOREINTERACTION_ATTR);var Z=T.hasNodeCssClass(ab,this.CONTENT_IGNOREINTERACTION_CLASS);return aa||Z}};function E(Z,aa){if(aa){return aa}if(Z.slice(-9)==="piwik.php"){Z=Z.slice(0,Z.length-9) -}return Z}function D(af){var ah="Piwik_Overlay";var aa=new RegExp("index\\.php\\?module=Overlay&action=startOverlaySession&idSite=([0-9]+)&period=([^&]+)&date=([^&]+)(&segment=.*)?$");var ab=aa.exec(x.referrer);if(ab){var ad=ab[1];if(ad!==String(af)){return false}var ae=ab[2],Z=ab[3],ac=ab[4];if(!ac){ac=""}else{if(ac.indexOf("&segment=")===0){ac=ac.substr("&segment=".length)}}J.name=ah+"###"+ae+"###"+Z+"###"+ac}var ag=J.name.split("###");return ag.length===4&&ag[0]===ah}function P(aa,ag,ac){var af=J.name.split("###"),ae=af[1],Z=af[2],ad=af[3],ab=E(aa,ag);i(ab+"plugins/Overlay/client/client.js?v=1",function(){Piwik_Overlay_Client.initialize(ab,ac,ae,Z,ad)})}function n(){if(z(J.frameElement)){return(J.frameElement&&String(J.frameElement.nodeName).toLowerCase()==="iframe")}try{return J.self!==J.top}catch(Z){return true}}function G(bJ,bD){var bz=Q(x.domain,J.location.href,A()),ch=B(bz[0]),bj=j(bz[1]),aY=j(bz[2]),cf=false,bN="GET",cu=bN,an="application/x-www-form-urlencoded; charset=UTF-8",bZ=an,aj=bJ||"",be="",cl="",bB=bD||"",a7="",bk="",aH,aU=x.title,cr=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],af=[ch],a8=[],bh=[],aK=[],bf=500,b8,aI,bn,bl,Z,bV=["pk_campaign","piwik_campaign","utm_campaign","utm_source","utm_medium"],bd=["pk_kwd","piwik_kwd","utm_term"],aV="_pk_",cj,a0,aW=false,cd,aS,a4,b9=33955200000,bT=1800000,cq=15768000000,aF=true,bR=0,bm=false,au=false,bG,br={},bQ={},aX={},a3=200,cm={},cs={},bF=[],bK=false,b2=false,aa=false,ct=false,ar=false,aR=n(),ck=null,bH,av,a9,bC=X,aZ; -function cx(cH,cE,cD,cG,cC,cF){if(aW){return}var cB;if(cD){cB=new Date();cB.setTime(cB.getTime()+cD)}x.cookie=cH+"="+m(cE)+(cD?";expires="+cB.toGMTString():"")+";path="+(cG||"/")+(cC?";domain="+cC:"")+(cF?";secure":"")}function ai(cD){if(aW){return 0}var cB=new RegExp("(^|;)[ ]*"+cD+"=([^;]*)"),cC=cB.exec(x.cookie);return cC?I(cC[2]):0}function bx(cB){var cC;if(bl){cC=new RegExp("#.*");return cB.replace(cC,"")}return cB}function bq(cD,cB){var cE=l(cB),cC;if(cE){return cB}if(cB.slice(0,1)==="/"){return l(cD)+"://"+c(cD)+cB}cD=bx(cD);cC=cD.indexOf("?");if(cC>=0){cD=cD.slice(0,cC)}cC=cD.lastIndexOf("/");if(cC!==cD.length-1){cD=cD.slice(0,cC+1)}return cD+cB}function b6(cD,cB){var cC;cD=String(cD).toLowerCase();cB=String(cB).toLowerCase();if(cD===cB){return true}if(cB.slice(0,1)==="."){if(cD===cB.slice(1)){return true}cC=cD.length-cB.length;if((cC>0)&&(cD.slice(cC)===cB)){return true}}return false}function co(cC,cB){cC=String(cC);return cC.indexOf(cB,cC.length-cB.length)!==-1}function aQ(cC,cB){cC=String(cC); -return cC.substr(0,cC.length-cB)}function bP(cB){var cC=document.createElement("a");if(cB.indexOf("//")!==0&&cB.indexOf("http")!==0){cB="http://"+cB}cC.href=o.toAbsoluteUrl(cB);if(cC.pathname){return cC.pathname}return""}function aG(cC,cB){var cD=(!cB||cB==="/");if(cD){return true}if(cC===cB){return true}if(!cC){return false}cB=String(cB).toLowerCase();cC=String(cC).toLowerCase();if(!co(cC,"/")){cC+="/"}if(!co(cB,"/")){cB+="/"}return cC.indexOf(cB)===0}function ac(cF,cH){var cC,cB,cD,cE,cG;for(cC=0;cC<af.length;cC++){cE=B(af[cC]);cG=bP(af[cC]);if(b6(cF,cE)&&aG(cH,cG)){return true}}return false}function az(cE){var cC,cB,cD;for(cC=0;cC<af.length;cC++){cB=B(af[cC].toLowerCase());if(cE===cB){return true}if(cB.slice(0,1)==="."){if(cE===cB.slice(1)){return true}cD=cE.length-cB.length;if((cD>0)&&(cE.slice(cD)===cB)){return true}}}return false}function bU(cB,cD){var cC=new Image(1,1);cC.onload=function(){w=0;if(typeof cD==="function"){cD()}};cC.src=aj+(aj.indexOf("?")<0?"?":"&")+cB}function cp(cC,cF,cB){if(!z(cB)||null===cB){cB=true -}try{var cE=J.XMLHttpRequest?new J.XMLHttpRequest():J.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;cE.open("POST",aj,true);cE.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)&&cB){bU(cC,cF)}else{if(typeof cF==="function"){cF()}}};cE.setRequestHeader("Content-Type",bZ);cE.send(cC)}catch(cD){if(cB){bU(cC,cF)}}}function bL(cC){var cB=new Date();var cD=cB.getTime()+cC;if(!k||cD>k){k=cD}}function bS(cB){if(bH||!aI){return}bH=setTimeout(function cC(){bH=null;if(!aR){aR=(!x.hasFocus||x.hasFocus())}if(!aR){bS(aI);return}if(bn()){return}var cD=new Date(),cE=aI-(cD.getTime()-ck);cE=Math.min(aI,cE);bS(cE)},cB||aI)}function bg(){if(!bH){return}clearTimeout(bH);bH=null}function aN(){aR=true;if(bn()){return}bS()}function ag(){bg()}function cz(){if(ar||!aI){return}ar=true;Y(J,"focus",aN);Y(J,"blur",ag);bS()}function b3(cF){var cC=new Date();var cB=cC.getTime();ck=cB;if(b2&&cB<b2){var cD=b2-cB;setTimeout(cF,cD);bL(cD+50);b2+=50;return}if(b2===false){var cE=800; -b2=cB+cE}cF()}function bc(cC,cB,cD){if(!cd&&cC){b3(function(){if(cu==="POST"){cp(cC,cD)}else{bU(cC,cD)}bL(cB)})}if(!ar){cz()}else{bS()}}function bO(cB){if(cd){return false}return(cB&&cB.length)}function cy(cD,cB){if(!bO(cD)){return}var cC='{"requests":["?'+cD.join('","?')+'"]}';b3(function(){cp(cC,null,false);bL(cB)})}function ax(cB){return aV+cB+"."+bB+"."+aZ}function bA(){if(aW){return"0"}if(!z(e.cookieEnabled)){var cB=ax("testcookie");cx(cB,"1");return ai(cB)==="1"?"1":"0"}return e.cookieEnabled?"1":"0"}function aT(){aZ=bC((cj||ch)+(a0||"/")).slice(0,4)}function bs(){var cC=ax("cvar"),cB=ai(cC);if(cB.length){cB=JSON2.parse(cB);if(M(cB)){return cB}}return{}}function b4(){if(au===false){au=bs()}}function ce(){return bC((e.userAgent||"")+(e.platform||"")+JSON2.stringify(cs)+(new Date()).getTime()+Math.random()).slice(0,16)}function cb(){var cD=new Date(),cB=Math.round(cD.getTime()/1000),cC=ax("id"),cG=ai(cC),cF,cE;if(cG){cF=cG.split(".");cF.unshift("0");if(bk.length){cF[1]=bk}return cF}if(bk.length){cE=bk -}else{if("0"===bA()){cE=""}else{cE=ce()}}cF=["1",cE,cB,0,cB,"",""];return cF}function aB(){var cI=cb(),cE=cI[0],cF=cI[1],cC=cI[2],cB=cI[3],cG=cI[4],cD=cI[5];if(!z(cI[6])){cI[6]=""}var cH=cI[6];return{newVisitor:cE,uuid:cF,createTs:cC,visitCount:cB,currentVisitTs:cG,lastVisitTs:cD,lastEcommerceOrderTs:cH}}function am(){var cE=new Date(),cC=cE.getTime(),cF=aB().createTs;var cB=parseInt(cF,10);var cD=(cB*1000)+b9-cC;return cD}function ap(cB){if(!bB){return}var cD=new Date(),cC=Math.round(cD.getTime()/1000);if(!z(cB)){cB=aB()}var cE=cB.uuid+"."+cB.createTs+"."+cB.visitCount+"."+cC+"."+cB.lastVisitTs+"."+cB.lastEcommerceOrderTs;cx(ax("id"),cE,am(),a0,cj)}function bi(){var cB=ai(ax("ref"));if(cB.length){try{cB=JSON2.parse(cB);if(M(cB)){return cB}}catch(cC){}}return["","",0,""]}function bt(cD,cC,cB){cx(cD,"",-86400,cC,cB)}function a5(cC){var cB="testvalue";cx("test",cB,10000,null,cC);if(ai("test")===cB){bt("test",null,cC);return true}return false}function ak(){var cD=aW;aW=false;var cB=["id","ses","cvar","ref"]; -var cC,cE;for(cC=0;cC<cB.length;cC++){cE=ax(cB[cC]);if(0!==ai(cE)){bt(cE,a0,cj)}}aW=cD}function by(cB){bB=cB;ap()}function cA(cF){if(!cF||!M(cF)){return}var cE=[];var cD;for(cD in cF){if(Object.prototype.hasOwnProperty.call(cF,cD)){cE.push(cD)}}var cG={};cE.sort();var cB=cE.length;var cC;for(cC=0;cC<cB;cC++){cG[cE[cC]]=cF[cE[cC]]}return cG}function bI(){cx(ax("ses"),"*",bT,a0,cj)}function bW(cD,cY,cZ,cE){var cX,cC=new Date(),cL=Math.round(cC.getTime()/1000),cI,cW,cF=1024,c4,cM,cU=au,cG=ax("ses"),cS=ax("ref"),cP=ax("cvar"),cQ=ai(cG),cV=bi(),c1=aH||bj,cJ,cB;if(aW){ak()}if(cd){return""}var cR=aB();if(!z(cE)){cE=""}var cO=x.characterSet||x.charset;if(!cO||cO.toLowerCase()==="utf-8"){cO=null}cJ=cV[0];cB=cV[1];cI=cV[2];cW=cV[3];if(!cQ){var c0=bT/1000;if(!cR.lastVisitTs||(cL-cR.lastVisitTs)>c0){cR.visitCount++;cR.lastVisitTs=cR.currentVisitTs}if(!a4||!cJ.length){for(cX in bV){if(Object.prototype.hasOwnProperty.call(bV,cX)){cJ=L(c1,bV[cX]);if(cJ.length){break}}}for(cX in bd){if(Object.prototype.hasOwnProperty.call(bd,cX)){cB=L(c1,bd[cX]); -if(cB.length){break}}}}c4=c(aY);cM=cW.length?c(cW):"";if(c4.length&&!az(c4)&&(!a4||!cM.length||az(cM))){cW=aY}if(cW.length||cJ.length){cI=cL;cV=[cJ,cB,cI,bx(cW.slice(0,cF))];cx(cS,JSON2.stringify(cV),cq,a0,cj)}}cD+="&idsite="+bB+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+cC.getHours()+"&m="+cC.getMinutes()+"&s="+cC.getSeconds()+"&url="+m(bx(c1))+(aY.length?"&urlref="+m(bx(aY)):"")+((a7&&a7.length)?"&uid="+m(a7):"")+"&_id="+cR.uuid+"&_idts="+cR.createTs+"&_idvc="+cR.visitCount+"&_idn="+cR.newVisitor+(cJ.length?"&_rcn="+m(cJ):"")+(cB.length?"&_rck="+m(cB):"")+"&_refts="+cI+"&_viewts="+cR.lastVisitTs+(String(cR.lastEcommerceOrderTs).length?"&_ects="+cR.lastEcommerceOrderTs:"")+(String(cW).length?"&_ref="+m(bx(cW.slice(0,cF))):"")+(cO?"&cs="+m(cO):"")+"&send_image=0";for(cX in cs){if(Object.prototype.hasOwnProperty.call(cs,cX)){cD+="&"+cX+"="+cs[cX]}}var c3=[];if(cY){for(cX in cY){if(Object.prototype.hasOwnProperty.call(cY,cX)&&/^dimension\d+$/.test(cX)){var cH=cX.replace("dimension",""); -c3.push(parseInt(cH,10));c3.push(String(cH));cD+="&"+cX+"="+cY[cX];delete cY[cX]}}}if(cY&&t(cY)){cY=null}for(cX in aX){if(Object.prototype.hasOwnProperty.call(aX,cX)){var cN=(-1===c3.indexOf(cX));if(cN){cD+="&dimension"+cX+"="+aX[cX]}}}if(cY){cD+="&data="+m(JSON2.stringify(cY))}else{if(Z){cD+="&data="+m(JSON2.stringify(Z))}}function cK(c5,c6){var c7=JSON2.stringify(c5);if(c7.length>2){return"&"+c6+"="+m(c7)}return""}var c2=cA(br);var cT=cA(bQ);cD+=cK(c2,"cvar");cD+=cK(cT,"e_cvar");if(au){cD+=cK(au,"_cvar");for(cX in cU){if(Object.prototype.hasOwnProperty.call(cU,cX)){if(au[cX][0]===""||au[cX][1]===""){delete au[cX]}}}if(bm){cx(cP,JSON2.stringify(au),bT,a0,cj)}}if(aF){if(bR){cD+=">_ms="+bR}else{if(f&&f.timing&&f.timing.requestStart&&f.timing.responseEnd){cD+=">_ms="+(f.timing.responseEnd-f.timing.requestStart)}}}cR.lastEcommerceOrderTs=z(cE)&&String(cE).length?cE:cR.lastEcommerceOrderTs;ap(cR);bI();cD+=R(cZ);if(cl.length){cD+="&"+cl}if(s(bG)){cD=bG(cD)}return cD}bn=function aJ(){var cB=new Date(); -if(ck+aI<=cB.getTime()){var cC=bW("ping=1",null,"ping");bc(cC,bf);return true}return false};function a1(cE,cD,cI,cF,cB,cL){var cG="idgoal=0",cH,cC=new Date(),cJ=[],cK;if(String(cE).length){cG+="&ec_id="+m(cE);cH=Math.round(cC.getTime()/1000)}cG+="&revenue="+cD;if(String(cI).length){cG+="&ec_st="+cI}if(String(cF).length){cG+="&ec_tx="+cF}if(String(cB).length){cG+="&ec_sh="+cB}if(String(cL).length){cG+="&ec_dt="+cL}if(cm){for(cK in cm){if(Object.prototype.hasOwnProperty.call(cm,cK)){if(!z(cm[cK][1])){cm[cK][1]=""}if(!z(cm[cK][2])){cm[cK][2]=""}if(!z(cm[cK][3])||String(cm[cK][3]).length===0){cm[cK][3]=0}if(!z(cm[cK][4])||String(cm[cK][4]).length===0){cm[cK][4]=1}cJ.push(cm[cK])}}cG+="&ec_items="+m(JSON2.stringify(cJ))}cG=bW(cG,Z,"ecommerce",cH);bc(cG,bf)}function bu(cB,cF,cE,cD,cC,cG){if(String(cB).length&&z(cF)){a1(cB,cF,cE,cD,cC,cG)}}function a2(cB){if(z(cB)){a1("",cB,"","","","")}}function bv(cD,cE){var cB=new Date(),cC=bW("action_name="+m(W(cD||aU)),cE,"log");bc(cC,bf)}function aD(cD,cC){var cE,cB="(^| )(piwik[_-]"+cC; -if(cD){for(cE=0;cE<cD.length;cE++){cB+="|"+cD[cE]}}cB+=")( |$)";return new RegExp(cB)}function ay(cB){return(aj&&cB&&0===String(cB).indexOf(aj))}function bX(cF,cB,cG,cC){if(ay(cB)){return 0}var cE=aD(bh,"download"),cD=aD(aK,"link"),cH=new RegExp("\\.("+cr.join("|")+")([?&#]|$)","i");if(cD.test(cF)){return"link"}if(cC||cE.test(cF)||cH.test(cB)){return"download"}if(cG){return 0}return"link"}function ad(cC){var cB;cB=cC.parentNode;while(cB!==null&&z(cB)){if(T.isLinkElement(cC)){break}cC=cB;cB=cC.parentNode}return cC}function cv(cG){cG=ad(cG);if(!T.hasNodeAttribute(cG,"href")){return}if(!z(cG.href)){return}var cF=T.getAttributeValueFromNode(cG,"href");if(ay(cF)){return}var cC=cG.pathname||bP(cG.href);var cH=cG.hostname||c(cG.href);var cI=cH.toLowerCase();var cD=cG.href.replace(cH,cI);var cE=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto):","i");if(!cE.test(cD)){var cB=bX(cG.className,cD,ac(cI,cC),T.hasNodeAttribute(cG,"download"));if(cB){return{type:cB,href:cD} -}}}function at(cB,cC,cD,cE){var cF=o.buildInteractionRequestParams(cB,cC,cD,cE);if(!cF){return}return bW(cF,null,"contentInteraction")}function ca(cD,cE,cI,cB,cC){if(!z(cD)){return}if(ay(cD)){return cD}var cG=o.toAbsoluteUrl(cD);var cF="redirecturl="+m(cG)+"&";cF+=at(cE,cI,cB,(cC||cD));var cH="&";if(aj.indexOf("?")<0){cH="?"}return aj+cH+cF}function aO(cB,cC){if(!cB||!cC){return false}var cD=o.findTargetNode(cB);if(o.shouldIgnoreInteraction(cD)){return false}cD=o.findTargetNodeNoDefault(cB);if(cD&&!K(cD,cC)){return false}return true}function bY(cD,cC,cF){if(!cD){return}var cB=o.findParentContentNode(cD);if(!cB){return}if(!aO(cB,cD)){return}var cE=o.buildContentBlock(cB);if(!cE){return}if(!cE.target&&cF){cE.target=cF}return o.buildInteractionRequestParams(cC,cE.name,cE.piece,cE.target)}function aA(cC){if(!bF||!bF.length){return false}var cB,cD;for(cB=0;cB<bF.length;cB++){cD=bF[cB];if(cD&&cD.name===cC.name&&cD.piece===cC.piece&&cD.target===cC.target){return true}}return false}function bb(cE){if(!cE){return false -}var cH=o.findTargetNode(cE);if(!cH||o.shouldIgnoreInteraction(cH)){return false}var cI=cv(cH);if(ct&&cI&&cI.type){return false}if(T.isLinkElement(cH)&&T.hasNodeAttributeWithValue(cH,"href")){var cB=String(T.getAttributeValueFromNode(cH,"href"));if(0===cB.indexOf("#")){return false}if(ay(cB)){return true}if(!o.isUrlToCurrentDomain(cB)){return false}var cF=o.buildContentBlock(cE);if(!cF){return}var cD=cF.name;var cJ=cF.piece;var cG=cF.target;if(!T.hasNodeAttributeWithValue(cH,o.CONTENT_TARGET_ATTR)||cH.wasContentTargetAttrReplaced){cH.wasContentTargetAttrReplaced=true;cG=o.toAbsoluteUrl(cB);T.setAnyAttribute(cH,o.CONTENT_TARGET_ATTR,cG)}var cC=ca(cB,"click",cD,cJ,cG);o.setHrefAttribute(cH,cC);return true}return false}function aq(cC){if(!cC||!cC.length){return}var cB;for(cB=0;cB<cC.length;cB++){bb(cC[cB])}}function aC(cB){return function(cC){if(!cB){return}var cF=o.findParentContentNode(cB);var cG;if(cC){cG=cC.target||cC.srcElement}if(!cG){cG=cB}if(!aO(cF,cG)){return}bL(bf);if(T.isLinkElement(cB)&&T.hasNodeAttributeWithValue(cB,"href")&&T.hasNodeAttributeWithValue(cB,o.CONTENT_TARGET_ATTR)){var cD=T.getAttributeValueFromNode(cB,"href"); -if(!ay(cD)&&cB.wasContentTargetAttrReplaced){T.setAnyAttribute(cB,o.CONTENT_TARGET_ATTR,"")}}var cK=cv(cB);if(aa&&cK&&cK.type){return cK.type}if(bb(cF)){return"href"}var cH=o.buildContentBlock(cF);if(!cH){return}var cE=cH.name;var cL=cH.piece;var cJ=cH.target;var cI=at("click",cE,cL,cJ);bc(cI,bf);return cI}}function bw(cD){if(!cD||!cD.length){return}var cB,cC;for(cB=0;cB<cD.length;cB++){cC=o.findTargetNode(cD[cB]);if(cC&&!cC.contentInteractionTrackingSetupDone){cC.contentInteractionTrackingSetupDone=true;Y(cC,"click",aC(cC))}}}function a6(cD,cE){if(!cD||!cD.length){return[]}var cB,cC;for(cB=0;cB<cD.length;cB++){if(aA(cD[cB])){cD.splice(cB,1);cB--}else{bF.push(cD[cB])}}if(!cD||!cD.length){return[]}aq(cE);bw(cE);var cF=[];for(cB=0;cB<cD.length;cB++){cC=bW(o.buildImpressionRequestParams(cD[cB].name,cD[cB].piece,cD[cB].target),undefined,"contentImpressions");cF.push(cC)}return cF}function b1(cC){var cB=o.collectContent(cC);return a6(cB,cC)}function aM(cC){if(!cC||!cC.length){return[]}var cB; -for(cB=0;cB<cC.length;cB++){if(!o.isNodeVisible(cC[cB])){cC.splice(cB,1);cB--}}if(!cC||!cC.length){return[]}return b1(cC)}function al(cD,cB,cC){var cE=o.buildImpressionRequestParams(cD,cB,cC);return bW(cE,null,"contentImpression")}function cw(cE,cC){if(!cE){return}var cB=o.findParentContentNode(cE);var cD=o.buildContentBlock(cB);if(!cD){return}if(!cC){cC="Unknown"}return at(cC,cD.name,cD.piece,cD.target)}function cc(cC,cE,cB,cD){return"e_c="+m(cC)+"&e_a="+m(cE)+(z(cB)?"&e_n="+m(cB):"")+(z(cD)?"&e_v="+m(cD):"")}function ae(cD,cF,cB,cE,cG){if(String(cD).length===0||String(cF).length===0){return false}var cC=bW(cc(cD,cF,cB,cE),cG,"event");bc(cC,bf)}function bE(cB,cE,cC,cF){var cD=bW("search="+m(cB)+(cE?"&search_cat="+m(cE):"")+(z(cC)?"&search_count="+cC:""),cF,"sitesearch");bc(cD,bf)}function cg(cB,cE,cD){var cC=bW("idgoal="+cB+(cE?"&revenue="+cE:""),cD,"goal");bc(cC,bf)}function cn(cE,cB,cI,cH,cD){var cG=cB+"="+m(bx(cE));var cC=bY(cD,"click",cE);if(cC){cG+="&"+cC}var cF=bW(cG,cI,"link");bc(cF,(cH?0:bf),cH) -}function bp(cC,cB){if(cC!==""){return cC+cB.charAt(0).toUpperCase()+cB.slice(1)}return cB}function bM(cG){var cF,cB,cE=["","webkit","ms","moz"],cD;if(!aS){for(cB=0;cB<cE.length;cB++){cD=cE[cB];if(Object.prototype.hasOwnProperty.call(x,bp(cD,"hidden"))){if(x[bp(cD,"visibilityState")]==="prerender"){cF=true}break}}}if(cF){Y(x,cD+"visibilitychange",function cC(){x.removeEventListener(cD+"visibilitychange",cC,false);cG()});return}cG()}function ao(cB){if(x.readyState==="complete"){cB()}else{if(J.addEventListener){J.addEventListener("load",cB)}else{if(J.attachEvent){J.attachEvent("onLoad",cB)}}}}function aP(cC){var cB=false;if(x.attachEvent){cB=x.readyState==="complete"}else{cB=x.readyState!=="loading"}if(cB){cC()}else{if(x.addEventListener){x.addEventListener("DOMContentLoaded",cC)}else{if(x.attachEvent){x.attachEvent("onreadystatechange",cC)}}}}function b7(cB){var cC=cv(cB);if(cC&&cC.type){cC.href=j(cC.href);cn(cC.href,cC.type,undefined,null,cB)}}function b0(){return x.all&&!x.addEventListener -}function ci(cB){var cD=cB.which;var cC=(typeof cB.button);if(!cD&&cC!=="undefined"){if(b0()){if(cB.button&1){cD=1}else{if(cB.button&2){cD=3}else{if(cB.button&4){cD=2}}}}else{if(cB.button===0||cB.button==="0"){cD=1}else{if(cB.button&1){cD=2}else{if(cB.button&2){cD=3}}}}}return cD}function bo(cB){switch(ci(cB)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function aE(cB){return cB.target||cB.srcElement}function ah(cB){return function(cE){cE=cE||J.event;var cD=bo(cE);var cF=aE(cE);if(cE.type==="click"){var cC=false;if(cB&&cD==="middle"){cC=true}if(cF&&!cC){b7(cF)}}else{if(cE.type==="mousedown"){if(cD==="middle"&&cF){av=cD;a9=cF}else{av=a9=null}}else{if(cE.type==="mouseup"){if(cD===av&&cF===a9){b7(cF)}av=a9=null}else{if(cE.type==="contextmenu"){b7(cF)}}}}}}function ab(cC,cB){Y(cC,"click",ah(cB),false);if(cB){Y(cC,"mouseup",ah(cB),false);Y(cC,"mousedown",ah(cB),false);Y(cC,"contextmenu",ah(cB),false)}}function ba(cC){if(!aa){aa=true;var cD,cB=aD(a8,"ignore"),cE=x.links;if(cE){for(cD=0; -cD<cE.length;cD++){if(!cB.test(cE[cD].className)){ab(cE[cD],cC)}}}}}function aw(cD,cF,cG){if(bK){return true}bK=true;var cH=false;var cE,cC;function cB(){cH=true}ao(function(){function cI(cK){setTimeout(function(){if(!bK){return}cH=false;cG.trackVisibleContentImpressions();cI(cK)},cK)}function cJ(cK){setTimeout(function(){if(!bK){return}if(cH){cH=false;cG.trackVisibleContentImpressions()}cJ(cK)},cK)}if(cD){cE=["scroll","resize"];for(cC=0;cC<cE.length;cC++){if(x.addEventListener){x.addEventListener(cE[cC],cB)}else{J.attachEvent("on"+cE[cC],cB)}}cJ(100)}if(cF&&cF>0){cF=parseInt(cF,10);cI(cF)}})}function aL(cF,cH){var cG=bP(cF);var cE=bP(cH);if(!cG||cG==="/"||!cE||cE==="/"){return}var cD=B(cF);if(ac(cD,"/")){return}if(co(cG,"/")){cG=aQ(cG,1)}var cI=cG.split("/");var cC;for(cC=2;cC<cI.length;cC++){var cB=cI.slice(0,cC).join("/");if(ac(cD,cB)){cG=cB;break}}if(!aG(cE,cG)){return}return cG}function b5(){var cD,cF,cG={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",dir:"application/x-director",fla:"application/x-shockwave-flash",java:"application/x-java-vm",gears:"application/x-googlegears",ag:"application/x-silverlight"},cC=J.devicePixelRatio||1; -if(!((new RegExp("MSIE")).test(e.userAgent))){if(e.mimeTypes&&e.mimeTypes.length){for(cD in cG){if(Object.prototype.hasOwnProperty.call(cG,cD)){cF=e.mimeTypes[cG[cD]];cs[cD]=(cF&&cF.enabledPlugin)?"1":"0"}}}if(typeof navigator.javaEnabled!=="unknown"&&z(e.javaEnabled)&&e.javaEnabled()){cs.java="1"}if(s(J.GearsFactory)){cs.gears="1"}cs.cookie=bA()}var cE=parseInt(N.width,10)*cC;var cB=parseInt(N.height,10)*cC;cs.res=parseInt(cE,10)+"x"+parseInt(cB,10)}b5();aT();ap();return{getVisitorId:function(){return aB().uuid},getVisitorInfo:function(){return cb()},getAttributionInfo:function(){return bi()},getAttributionCampaignName:function(){return bi()[0]},getAttributionCampaignKeyword:function(){return bi()[1]},getAttributionReferrerTimestamp:function(){return bi()[2]},getAttributionReferrerUrl:function(){return bi()[3]},setTrackerUrl:function(cB){aj=cB},getTrackerUrl:function(){return aj},getSiteId:function(){return bB},setSiteId:function(cB){by(cB)},setUserId:function(cB){if(!z(cB)||!cB.length){return -}a7=cB;bk=bC(a7).substr(0,16)},getUserId:function(){return a7},setCustomData:function(cB,cC){if(M(cB)){Z=cB}else{if(!Z){Z={}}Z[cB]=cC}},getCustomData:function(){return Z},setCustomRequestProcessing:function(cB){bG=cB},appendToTrackingUrl:function(cB){cl=cB},getRequest:function(cB){return bW(cB)},addPlugin:function(cB,cC){a[cB]=cC},setCustomDimension:function(cB,cC){cB=parseInt(cB,10);if(cB>0){if(!z(cC)){cC=""}if(!p(cC)){cC=String(cC)}aX[cB]=cC}},getCustomDimension:function(cB){cB=parseInt(cB,10);if(cB>0&&Object.prototype.hasOwnProperty.call(aX,cB)){return aX[cB]}},deleteCustomDimension:function(cB){cB=parseInt(cB,10);if(cB>0){delete aX[cB]}},setCustomVariable:function(cC,cB,cF,cD){var cE;if(!z(cD)){cD="visit"}if(!z(cB)){return}if(!z(cF)){cF=""}if(cC>0){cB=!p(cB)?String(cB):cB;cF=!p(cF)?String(cF):cF;cE=[cB.slice(0,a3),cF.slice(0,a3)];if(cD==="visit"||cD===2){b4();au[cC]=cE}else{if(cD==="page"||cD===3){br[cC]=cE}else{if(cD==="event"){bQ[cC]=cE}}}}},getCustomVariable:function(cC,cD){var cB; -if(!z(cD)){cD="visit"}if(cD==="page"||cD===3){cB=br[cC]}else{if(cD==="event"){cB=bQ[cC]}else{if(cD==="visit"||cD===2){b4();cB=au[cC]}}}if(!z(cB)||(cB&&cB[0]==="")){return false}return cB},deleteCustomVariable:function(cB,cC){if(this.getCustomVariable(cB,cC)){this.setCustomVariable(cB,"","",cC)}},storeCustomVariablesInCookie:function(){bm=true},setLinkTrackingTimer:function(cB){bf=cB},setDownloadExtensions:function(cB){if(p(cB)){cB=cB.split("|")}cr=cB},addDownloadExtensions:function(cC){var cB;if(p(cC)){cC=cC.split("|")}for(cB=0;cB<cC.length;cB++){cr.push(cC[cB])}},removeDownloadExtensions:function(cD){var cC,cB=[];if(p(cD)){cD=cD.split("|")}for(cC=0;cC<cr.length;cC++){if(C(cD,cr[cC])===-1){cB.push(cr[cC])}}cr=cB},setDomains:function(cB){af=p(cB)?[cB]:cB;var cD=false,cC;for(cC in af){if(Object.prototype.hasOwnProperty.call(af,cC)&&b6(ch,B(String(af[cC])))){cD=true;if(!a0){var cE=aL(af[cC],bj);if(cE){this.setCookiePath(cE)}break}}}if(!cD){af.push(ch)}},setIgnoreClasses:function(cB){a8=p(cB)?[cB]:cB -},setRequestMethod:function(cB){cu=cB||bN},setRequestContentType:function(cB){bZ=cB||an},setReferrerUrl:function(cB){aY=cB},setCustomUrl:function(cB){aH=bq(bj,cB)},setDocumentTitle:function(cB){aU=cB},setAPIUrl:function(cB){be=cB},setDownloadClasses:function(cB){bh=p(cB)?[cB]:cB},setLinkClasses:function(cB){aK=p(cB)?[cB]:cB},setCampaignNameKey:function(cB){bV=p(cB)?[cB]:cB},setCampaignKeywordKey:function(cB){bd=p(cB)?[cB]:cB},discardHashTag:function(cB){bl=cB},setCookieNamePrefix:function(cB){aV=cB;au=bs()},setCookieDomain:function(cB){var cC=B(cB);if(a5(cC)){cj=cC;aT()}},setCookiePath:function(cB){a0=cB;aT()},setVisitorCookieTimeout:function(cB){b9=cB*1000},setSessionCookieTimeout:function(cB){bT=cB*1000},setReferralCookieTimeout:function(cB){cq=cB*1000},setConversionAttributionFirstReferrer:function(cB){a4=cB},disableCookies:function(){aW=true;cs.cookie="0";if(bB){ak()}},deleteCookies:function(){ak()},setDoNotTrack:function(cC){var cB=e.doNotTrack||e.msDoNotTrack;cd=cC&&(cB==="yes"||cB==="1"); -if(cd){this.disableCookies()}},addListener:function(cC,cB){ab(cC,cB)},enableLinkTracking:function(cB){ct=true;if(r){ba(cB)}else{H.push(function(){ba(cB)})}},enableJSErrorTracking:function(){if(cf){return}cf=true;var cB=J.onerror;J.onerror=function(cG,cE,cD,cF,cC){bM(function(){var cH="JavaScript Errors";var cI=cE+":"+cD;if(cF){cI+=":"+cF}ae(cH,cI,cG)});if(cB){return cB(cG,cE,cD,cF,cC)}return false}},disablePerformanceTracking:function(){aF=false},setGenerationTimeMs:function(cB){bR=parseInt(cB,10)},enableHeartBeatTimer:function(cB){cB=Math.max(cB,1);aI=(cB||15)*1000;if(ck!==null){cz()}},killFrame:function(){if(J.location!==J.top.location){J.top.location=J.location}},redirectFile:function(cB){if(J.location.protocol==="file:"){J.location=cB}},setCountPreRendered:function(cB){aS=cB},trackGoal:function(cB,cD,cC){bM(function(){cg(cB,cD,cC)})},trackLink:function(cC,cB,cE,cD){bM(function(){cn(cC,cB,cE,cD)})},trackPageView:function(cB,cC){bF=[];if(D(bB)){bM(function(){P(aj,be,bB)})}else{bM(function(){bv(cB,cC) -})}},trackAllContentImpressions:function(){if(D(bB)){return}bM(function(){aP(function(){var cB=o.findContentNodes();var cC=b1(cB);cy(cC,bf)})})},trackVisibleContentImpressions:function(cB,cC){if(D(bB)){return}if(!z(cB)){cB=true}if(!z(cC)){cC=750}aw(cB,cC,this);bM(function(){ao(function(){var cD=o.findContentNodes();var cE=aM(cD);cy(cE,bf)})})},trackContentImpression:function(cD,cB,cC){if(D(bB)){return}if(!cD){return}cB=cB||"Unknown";bM(function(){var cE=al(cD,cB,cC);bc(cE,bf)})},trackContentImpressionsWithinNode:function(cB){if(D(bB)||!cB){return}bM(function(){if(bK){ao(function(){var cC=o.findContentNodesWithinNode(cB);var cD=aM(cC);cy(cD,bf)})}else{aP(function(){var cC=o.findContentNodesWithinNode(cB);var cD=b1(cC);cy(cD,bf)})}})},trackContentInteraction:function(cD,cE,cB,cC){if(D(bB)){return}if(!cD||!cE){return}cB=cB||"Unknown";bM(function(){var cF=at(cD,cE,cB,cC);bc(cF,bf)})},trackContentInteractionNode:function(cC,cB){if(D(bB)||!cC){return}bM(function(){var cD=cw(cC,cB);bc(cD,bf)}) -},logAllContentBlocksOnPage:function(){var cC=o.findContentNodes();var cB=o.collectContent(cC);if(console!==undefined&&console&&console.log){console.log(cB)}},trackEvent:function(cC,cE,cB,cD,cF){bM(function(){ae(cC,cE,cB,cD,cF)})},trackSiteSearch:function(cB,cD,cC,cE){bM(function(){bE(cB,cD,cC,cE)})},setEcommerceView:function(cE,cB,cD,cC){if(!z(cD)||!cD.length){cD=""}else{if(cD instanceof Array){cD=JSON2.stringify(cD)}}br[5]=["_pkc",cD];if(z(cC)&&String(cC).length){br[2]=["_pkp",cC]}if((!z(cE)||!cE.length)&&(!z(cB)||!cB.length)){return}if(z(cE)&&cE.length){br[3]=["_pks",cE]}if(!z(cB)||!cB.length){cB=""}br[4]=["_pkn",cB]},addEcommerceItem:function(cF,cB,cD,cC,cE){if(cF.length){cm[cF]=[cF,cB,cD,cC,cE]}},trackEcommerceOrder:function(cB,cF,cE,cD,cC,cG){bu(cB,cF,cE,cD,cC,cG)},trackEcommerceCartUpdate:function(cB){a2(cB)}}}function y(){return{push:U}}function b(ae,ad){var af={};var ab,ac;for(ab=0;ab<ad.length;ab++){var Z=ad[ab];af[Z]=1;for(ac=0;ac<ae.length;ac++){if(ae[ac]&&ae[ac][0]){var aa=ae[ac][0]; -if(Z===aa){U(ae[ac]);delete ae[ac];if(af[aa]>1){if(console!==undefined&&console&&console.error){console.error("The method "+aa+' is registered more than once in "paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: http://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}}af[aa]++}}}}return ae}Y(J,"beforeunload",V,false);q();Date.prototype.getTimeAlias=Date.prototype.getTime;O=new G();var u=["disableCookies","setTrackerUrl","setAPIUrl","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","enableLinkTracking"];_paq=b(_paq,u);for(w=0;w<_paq.length;w++){if(_paq[w]){U(_paq[w])}}_paq=new y();d={addPlugin:function(Z,aa){a[Z]=aa},getTracker:function(Z,aa){if(!z(aa)){aa=this.getAsyncTracker().getSiteId()}if(!z(Z)){Z=this.getAsyncTracker().getTrackerUrl()}return new G(Z,aa)},getAsyncTracker:function(){return O}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return d -})}return d}())}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()}(function(){var a=(typeof AnalyticsTracker);if(a==="undefined"){AnalyticsTracker=Piwik}}());if(typeof piwik_log!=="function"){piwik_log=function(b,f,d,g){function a(h){try{if(window["piwik_"+h]){return window["piwik_"+h]}}catch(i){}return}var c,e=Piwik.getTracker(d,f);e.setDocumentTitle(b);e.setCustomData(g);c=a("tracker_pause");if(c){e.setLinkTrackingTimer(c)}c=a("download_extensions");if(c){e.setDownloadExtensions(c)}c=a("hosts_alias");if(c){e.setDomains(c)}c=a("ignore_classes");if(c){e.setIgnoreClasses(c)}e.trackPageView();if(a("install_tracker")){piwik_track=function(i,k,j,h){e.setSiteId(k);e.setTrackerUrl(j);e.trackLink(i,h)};e.enableLinkTracking()}}; +if(ad=="}"){break}if(ae){if(ad==","){ad=y();if(ad=="}"){H()}}else{H()}}if(ad==","||typeof ad!="string"||(F?ad.charAt(0):ad[0])!="@"||y()!=":"){H()}ac[ad.slice(1)]=W(y())}return ac}}H()}return ad};var P=function(ae,ad,af){var ac=w(ae,ad,af);if(ac===L){delete ae[ad]}else{ae[ad]=ac}};var w=function(af,ae,ag){var ad=af[ae],ac;if(typeof ad=="object"&&ad){if(u.call(ad)==E){for(ac=ad.length;ac--;){P(ad,ac,ag)}}else{m(ad,function(ah){P(ad,ah,ag)})}}return ag.call(af,ae,ad)};V.parse=function(ae,af){var ac,ad;G=0;X=""+ae;ac=W(y());if(y()!="$"){H()}G=X=null;return af&&u.call(af)==U?w((ad={},ad[""]=ac,ad),"",af):ac}}}V.runInContext=j;return V}if(h&&!c){j(i,h)}else{var f=i.JSON,k=i.JSON3,d=false;var g=j(i,(i.JSON3={noConflict:function(){if(!d){d=true;i.JSON=f;i.JSON3=k;f=k=null}return g}}));i.JSON={parse:g.parse,stringify:g.stringify}}if(c){define(function(){return g})}}).call(this);JSON2=a})()}if(typeof _paq!=="object"){_paq=[]}if(typeof window.Piwik!=="object"){window.Piwik=(function(){var l,a={},z=document,f=navigator,Q=screen,M=window,g=M.performance||M.mozPerformance||M.msPerformance||M.webkitPerformance,s=false,K=[],n=M.encodeURIComponent,L=M.decodeURIComponent,i=unescape,R,y,d; +function k(ac){try{return L(ac)}catch(ad){return unescape(ac)}}function B(ad){var ac=typeof ad;return ac!=="undefined"}function u(ac){return typeof ac==="function"}function P(ac){return typeof ac==="object"}function q(ac){return typeof ac==="string"||ac instanceof String}function v(ad){if(!ad){return true}var ac;var ae=true;for(ac in ad){if(Object.prototype.hasOwnProperty.call(ad,ac)){ae=false}}return ae}function X(){var ac,ae,ad;for(ac=0;ac<arguments.length;ac+=1){ad=arguments[ac];ae=ad.shift();if(q(ae)){R[ae].apply(R,ad)}else{ae.apply(R,ad)}}}function ab(af,ae,ad,ac){if(af.addEventListener){af.addEventListener(ae,ad,ac);return true}if(af.attachEvent){return af.attachEvent("on"+ae,ad)}af["on"+ae]=ad}function U(ad,ag){var ac="",af,ae;for(af in a){if(Object.prototype.hasOwnProperty.call(a,af)){ae=a[af][ad];if(u(ae)){ac+=ae(ag)}}}return ac}function Y(){var ac;U("unload");if(l){do{ac=new Date()}while(ac.getTimeAlias()<l)}}function V(){var ac;if(!s){s=true;U("load");for(ac=0;ac<K.length;ac++){K[ac]() +}}return true}function r(){var ad;if(z.addEventListener){ab(z,"DOMContentLoaded",function ac(){z.removeEventListener("DOMContentLoaded",ac,false);V()})}else{if(z.attachEvent){z.attachEvent("onreadystatechange",function ac(){if(z.readyState==="complete"){z.detachEvent("onreadystatechange",ac);V()}});if(z.documentElement.doScroll&&M===M.top){(function ac(){if(!s){try{z.documentElement.doScroll("left")}catch(ae){setTimeout(ac,0);return}V()}}())}}}if((new RegExp("WebKit")).test(f.userAgent)){ad=setInterval(function(){if(s||/loaded|complete/.test(z.readyState)){clearInterval(ad);V()}},10)}ab(M,"load",V,false)}function j(ae,ad){var ac=z.createElement("script");ac.type="text/javascript";ac.src=ae;if(ac.readyState){ac.onreadystatechange=function(){var af=this.readyState;if(af==="loaded"||af==="complete"){ac.onreadystatechange=null;ad()}}}else{ac.onload=ad}z.getElementsByTagName("head")[0].appendChild(ac)}function C(){var ac="";try{ac=M.top.document.referrer}catch(ae){if(M.parent){try{ac=M.parent.document.referrer +}catch(ad){ac=""}}}if(ac===""){ac=z.referrer}return ac}function m(ac){var ae=new RegExp("^([a-z]+):"),ad=ae.exec(ac);return ad?ad[1]:null}function c(ac){var ae=new RegExp("^(?:(?:https?|ftp):)/*(?:[^@]+@)?([^:/#]+)"),ad=ae.exec(ac);return ad?ad[1]:ac}function O(ae,ad){var ac="[\\?&#]"+ad+"=([^&#]*)";var ag=new RegExp(ac);var af=ag.exec(ae);return af?L(af[1]):""}function x(ac){return unescape(n(ac))}function aa(ar){var ae=function(ay,ax){return(ay<<ax)|(ay>>>(32-ax))},at=function(aA){var ay="",az,ax;for(az=7;az>=0;az--){ax=(aA>>>(az*4))&15;ay+=ax.toString(16)}return ay},ah,av,au,ad=[],al=1732584193,aj=4023233417,ai=2562383102,ag=271733878,af=3285377520,aq,ap,ao,an,am,aw,ac,ak=[];ar=x(ar);ac=ar.length;for(av=0;av<ac-3;av+=4){au=ar.charCodeAt(av)<<24|ar.charCodeAt(av+1)<<16|ar.charCodeAt(av+2)<<8|ar.charCodeAt(av+3);ak.push(au)}switch(ac&3){case 0:av=2147483648;break;case 1:av=ar.charCodeAt(ac-1)<<24|8388608;break;case 2:av=ar.charCodeAt(ac-2)<<24|ar.charCodeAt(ac-1)<<16|32768;break;case 3:av=ar.charCodeAt(ac-3)<<24|ar.charCodeAt(ac-2)<<16|ar.charCodeAt(ac-1)<<8|128; +break}ak.push(av);while((ak.length&15)!==14){ak.push(0)}ak.push(ac>>>29);ak.push((ac<<3)&4294967295);for(ah=0;ah<ak.length;ah+=16){for(av=0;av<16;av++){ad[av]=ak[ah+av]}for(av=16;av<=79;av++){ad[av]=ae(ad[av-3]^ad[av-8]^ad[av-14]^ad[av-16],1)}aq=al;ap=aj;ao=ai;an=ag;am=af;for(av=0;av<=19;av++){aw=(ae(aq,5)+((ap&ao)|(~ap&an))+am+ad[av]+1518500249)&4294967295;am=an;an=ao;ao=ae(ap,30);ap=aq;aq=aw}for(av=20;av<=39;av++){aw=(ae(aq,5)+(ap^ao^an)+am+ad[av]+1859775393)&4294967295;am=an;an=ao;ao=ae(ap,30);ap=aq;aq=aw}for(av=40;av<=59;av++){aw=(ae(aq,5)+((ap&ao)|(ap&an)|(ao&an))+am+ad[av]+2400959708)&4294967295;am=an;an=ao;ao=ae(ap,30);ap=aq;aq=aw}for(av=60;av<=79;av++){aw=(ae(aq,5)+(ap^ao^an)+am+ad[av]+3395469782)&4294967295;am=an;an=ao;ao=ae(ap,30);ap=aq;aq=aw}al=(al+aq)&4294967295;aj=(aj+ap)&4294967295;ai=(ai+ao)&4294967295;ag=(ag+an)&4294967295;af=(af+am)&4294967295}aw=at(al)+at(aj)+at(ai)+at(ag)+at(af);return aw.toLowerCase()}function T(ae,ac,ad){if(!ae){ae=""}if(!ac){ac=""}if(ae==="translate.googleusercontent.com"){if(ad===""){ad=ac +}ac=O(ac,"u");ae=c(ac)}else{if(ae==="cc.bingj.com"||ae==="webcache.googleusercontent.com"||ae.slice(0,5)==="74.6."){ac=z.links[0].href;ae=c(ac)}}return[ae,ac,ad]}function D(ad){var ac=ad.length;if(ad.charAt(--ac)==="."){ad=ad.slice(0,ac)}if(ad.slice(0,2)==="*."){ad=ad.slice(1)}if(ad.indexOf("/")!==-1){ad=ad.substr(0,ad.indexOf("/"))}return ad}function Z(ad){ad=ad&&ad.text?ad.text:ad;if(!q(ad)){var ac=z.getElementsByTagName("title");if(ac&&B(ac[0])){ad=ac[0].text}}return ad}function H(ac){if(!ac){return[]}if(!B(ac.children)&&B(ac.childNodes)){return ac.children}if(B(ac.children)){return ac.children}return[]}function N(ad,ac){if(!ad||!ac){return false}if(ad.contains){return ad.contains(ac)}if(ad===ac){return true}if(ad.compareDocumentPosition){return !!(ad.compareDocumentPosition(ac)&16)}return false}function E(ae,af){if(ae&&ae.indexOf){return ae.indexOf(af)}if(!B(ae)||ae===null){return -1}if(!ae.length){return -1}var ac=ae.length;if(ac===0){return -1}var ad=0;while(ad<ac){if(ae[ad]===af){return ad +}ad++}return -1}function J(ad,ac){ad=String(ad);return ad.indexOf(ac,ad.length-ac.length)!==-1}function t(ad,ac){ad=String(ad);return ad.indexOf(ac)!==-1}function e(ad,ac){ad=String(ad);return ad.substr(0,ad.length-ac)}function h(ae){if(!ae){return false}function ac(ag,ah){if(M.getComputedStyle){return z.defaultView.getComputedStyle(ag,null)[ah]}if(ag.currentStyle){return ag.currentStyle[ah]}}function af(ag){ag=ag.parentNode;while(ag){if(ag===z){return true}ag=ag.parentNode}return false}function ad(ai,ao,ag,al,aj,am,ak){var ah=ai.parentNode,an=1;if(!af(ai)){return false}if(9===ah.nodeType){return true}if("0"===ac(ai,"opacity")||"none"===ac(ai,"display")||"hidden"===ac(ai,"visibility")){return false}if(!B(ao)||!B(ag)||!B(al)||!B(aj)||!B(am)||!B(ak)){ao=ai.offsetTop;aj=ai.offsetLeft;al=ao+ai.offsetHeight;ag=aj+ai.offsetWidth;am=ai.offsetWidth;ak=ai.offsetHeight}if(ae===ai&&(0===ak||0===am)&&"hidden"===ac(ai,"overflow")){return false}if(ah){if(("hidden"===ac(ah,"overflow")||"scroll"===ac(ah,"overflow"))){if(aj+an>ah.offsetWidth+ah.scrollLeft||aj+am-an<ah.scrollLeft||ao+an>ah.offsetHeight+ah.scrollTop||ao+ak-an<ah.scrollTop){return false +}}if(ai.offsetParent===ah){aj+=ah.offsetLeft;ao+=ah.offsetTop}return ad(ah,ao,ag,al,aj,am,ak)}return true}return ad(ae)}var W={htmlCollectionToArray:function(ae){var ac=[],ad;if(!ae||!ae.length){return ac}for(ad=0;ad<ae.length;ad++){ac.push(ae[ad])}return ac},find:function(ac){if(!document.querySelectorAll||!ac){return[]}var ad=document.querySelectorAll(ac);return this.htmlCollectionToArray(ad)},findMultiple:function(ae){if(!ae||!ae.length){return[]}var ad,af;var ac=[];for(ad=0;ad<ae.length;ad++){af=this.find(ae[ad]);ac=ac.concat(af)}ac=this.makeNodesUnique(ac);return ac},findNodesByTagName:function(ad,ac){if(!ad||!ac||!ad.getElementsByTagName){return[]}var ae=ad.getElementsByTagName(ac);return this.htmlCollectionToArray(ae)},makeNodesUnique:function(ac){var ah=[].concat(ac);ac.sort(function(aj,ai){if(aj===ai){return 0}var al=E(ah,aj);var ak=E(ah,ai);if(al===ak){return 0}return al>ak?-1:1});if(ac.length<=1){return ac}var ad=0;var af=0;var ag=[];var ae;ae=ac[ad++];while(ae){if(ae===ac[ad]){af=ag.push(ad) +}ae=ac[ad++]||null}while(af--){ac.splice(ag[af],1)}return ac},getAttributeValueFromNode:function(ag,ae){if(!this.hasNodeAttribute(ag,ae)){return}if(ag&&ag.getAttribute){return ag.getAttribute(ae)}if(!ag||!ag.attributes){return}var af=(typeof ag.attributes[ae]);if("undefined"===af){return}if(ag.attributes[ae].value){return ag.attributes[ae].value}if(ag.attributes[ae].nodeValue){return ag.attributes[ae].nodeValue}var ad;var ac=ag.attributes;if(!ac){return}for(ad=0;ad<ac.length;ad++){if(ac[ad].nodeName===ae){return ac[ad].nodeValue}}return null},hasNodeAttributeWithValue:function(ad,ac){var ae=this.getAttributeValueFromNode(ad,ac);return !!ae},hasNodeAttribute:function(ae,ac){if(ae&&ae.hasAttribute){return ae.hasAttribute(ac)}if(ae&&ae.attributes){var ad=(typeof ae.attributes[ac]);return"undefined"!==ad}return false},hasNodeCssClass:function(ae,ac){if(ae&&ac&&ae.className){var ad=typeof ae.className==="string"?ae.className.split(" "):[];if(-1!==E(ad,ac)){return true}}return false},findNodesHavingAttribute:function(ag,ae,ac){if(!ac){ac=[] +}if(!ag||!ae){return ac}var af=H(ag);if(!af||!af.length){return ac}var ad,ah;for(ad=0;ad<af.length;ad++){ah=af[ad];if(this.hasNodeAttribute(ah,ae)){ac.push(ah)}ac=this.findNodesHavingAttribute(ah,ae,ac)}return ac},findFirstNodeHavingAttribute:function(ae,ad){if(!ae||!ad){return}if(this.hasNodeAttribute(ae,ad)){return ae}var ac=this.findNodesHavingAttribute(ae,ad);if(ac&&ac.length){return ac[0]}},findFirstNodeHavingAttributeWithValue:function(af,ae){if(!af||!ae){return}if(this.hasNodeAttributeWithValue(af,ae)){return af}var ac=this.findNodesHavingAttribute(af,ae);if(!ac||!ac.length){return}var ad;for(ad=0;ad<ac.length;ad++){if(this.getAttributeValueFromNode(ac[ad],ae)){return ac[ad]}}},findNodesHavingCssClass:function(ag,af,ac){if(!ac){ac=[]}if(!ag||!af){return ac}if(ag.getElementsByClassName){var ah=ag.getElementsByClassName(af);return this.htmlCollectionToArray(ah)}var ae=H(ag);if(!ae||!ae.length){return[]}var ad,ai;for(ad=0;ad<ae.length;ad++){ai=ae[ad];if(this.hasNodeCssClass(ai,af)){ac.push(ai) +}ac=this.findNodesHavingCssClass(ai,af,ac)}return ac},findFirstNodeHavingClass:function(ae,ad){if(!ae||!ad){return}if(this.hasNodeCssClass(ae,ad)){return ae}var ac=this.findNodesHavingCssClass(ae,ad);if(ac&&ac.length){return ac[0]}},isLinkElement:function(ad){if(!ad){return false}var ac=String(ad.nodeName).toLowerCase();var af=["a","area"];var ae=E(af,ac);return ae!==-1},setAnyAttribute:function(ad,ac,ae){if(!ad||!ac){return}if(ad.setAttribute){ad.setAttribute(ac,ae)}else{ad[ac]=ae}}};var p={CONTENT_ATTR:"data-track-content",CONTENT_CLASS:"piwikTrackContent",CONTENT_NAME_ATTR:"data-content-name",CONTENT_PIECE_ATTR:"data-content-piece",CONTENT_PIECE_CLASS:"piwikContentPiece",CONTENT_TARGET_ATTR:"data-content-target",CONTENT_TARGET_CLASS:"piwikContentTarget",CONTENT_IGNOREINTERACTION_ATTR:"data-content-ignoreinteraction",CONTENT_IGNOREINTERACTION_CLASS:"piwikContentIgnoreInteraction",location:undefined,findContentNodes:function(){var ad="."+this.CONTENT_CLASS;var ac="["+this.CONTENT_ATTR+"]"; +var ae=W.findMultiple([ad,ac]);return ae},findContentNodesWithinNode:function(af){if(!af){return[]}var ad=W.findNodesHavingCssClass(af,this.CONTENT_CLASS);var ac=W.findNodesHavingAttribute(af,this.CONTENT_ATTR);if(ac&&ac.length){var ae;for(ae=0;ae<ac.length;ae++){ad.push(ac[ae])}}if(W.hasNodeAttribute(af,this.CONTENT_ATTR)){ad.push(af)}else{if(W.hasNodeCssClass(af,this.CONTENT_CLASS)){ad.push(af)}}ad=W.makeNodesUnique(ad);return ad},findParentContentNode:function(ad){if(!ad){return}var ae=ad;var ac=0;while(ae&&ae!==z&&ae.parentNode){if(W.hasNodeAttribute(ae,this.CONTENT_ATTR)){return ae}if(W.hasNodeCssClass(ae,this.CONTENT_CLASS)){return ae}ae=ae.parentNode;if(ac>1000){break}ac++}},findPieceNode:function(ad){var ac;ac=W.findFirstNodeHavingAttribute(ad,this.CONTENT_PIECE_ATTR);if(!ac){ac=W.findFirstNodeHavingClass(ad,this.CONTENT_PIECE_CLASS)}if(ac){return ac}return ad},findTargetNodeNoDefault:function(ac){if(!ac){return}var ad=W.findFirstNodeHavingAttributeWithValue(ac,this.CONTENT_TARGET_ATTR); +if(ad){return ad}ad=W.findFirstNodeHavingAttribute(ac,this.CONTENT_TARGET_ATTR);if(ad){return ad}ad=W.findFirstNodeHavingClass(ac,this.CONTENT_TARGET_CLASS);if(ad){return ad}},findTargetNode:function(ac){var ad=this.findTargetNodeNoDefault(ac);if(ad){return ad}return ac},findContentName:function(ad){if(!ad){return}var ag=W.findFirstNodeHavingAttributeWithValue(ad,this.CONTENT_NAME_ATTR);if(ag){return W.getAttributeValueFromNode(ag,this.CONTENT_NAME_ATTR)}var ac=this.findContentPiece(ad);if(ac){return this.removeDomainIfIsInLink(ac)}if(W.hasNodeAttributeWithValue(ad,"title")){return W.getAttributeValueFromNode(ad,"title")}var ae=this.findPieceNode(ad);if(W.hasNodeAttributeWithValue(ae,"title")){return W.getAttributeValueFromNode(ae,"title")}var af=this.findTargetNode(ad);if(W.hasNodeAttributeWithValue(af,"title")){return W.getAttributeValueFromNode(af,"title")}},findContentPiece:function(ad){if(!ad){return}var af=W.findFirstNodeHavingAttributeWithValue(ad,this.CONTENT_PIECE_ATTR);if(af){return W.getAttributeValueFromNode(af,this.CONTENT_PIECE_ATTR) +}var ac=this.findPieceNode(ad);var ae=this.findMediaUrlInNode(ac);if(ae){return this.toAbsoluteUrl(ae)}},findContentTarget:function(ae){if(!ae){return}var af=this.findTargetNode(ae);if(W.hasNodeAttributeWithValue(af,this.CONTENT_TARGET_ATTR)){return W.getAttributeValueFromNode(af,this.CONTENT_TARGET_ATTR)}var ad;if(W.hasNodeAttributeWithValue(af,"href")){ad=W.getAttributeValueFromNode(af,"href");return this.toAbsoluteUrl(ad)}var ac=this.findPieceNode(ae);if(W.hasNodeAttributeWithValue(ac,"href")){ad=W.getAttributeValueFromNode(ac,"href");return this.toAbsoluteUrl(ad)}},isSameDomain:function(ac){if(!ac||!ac.indexOf){return false}if(0===ac.indexOf(this.getLocation().origin)){return true}var ad=ac.indexOf(this.getLocation().host);if(8>=ad&&0<=ad){return true}return false},removeDomainIfIsInLink:function(ae){var ad="^https?://[^/]+";var ac="^.*//[^/]+";if(ae&&ae.search&&-1!==ae.search(new RegExp(ad))&&this.isSameDomain(ae)){ae=ae.replace(new RegExp(ac),"");if(!ae){ae="/"}}return ae},findMediaUrlInNode:function(ag){if(!ag){return +}var ae=["img","embed","video","audio"];var ac=ag.nodeName.toLowerCase();if(-1!==E(ae,ac)&&W.findFirstNodeHavingAttributeWithValue(ag,"src")){var af=W.findFirstNodeHavingAttributeWithValue(ag,"src");return W.getAttributeValueFromNode(af,"src")}if(ac==="object"&&W.hasNodeAttributeWithValue(ag,"data")){return W.getAttributeValueFromNode(ag,"data")}if(ac==="object"){var ah=W.findNodesByTagName(ag,"param");if(ah&&ah.length){var ad;for(ad=0;ad<ah.length;ad++){if("movie"===W.getAttributeValueFromNode(ah[ad],"name")&&W.hasNodeAttributeWithValue(ah[ad],"value")){return W.getAttributeValueFromNode(ah[ad],"value")}}}var ai=W.findNodesByTagName(ag,"embed");if(ai&&ai.length){return this.findMediaUrlInNode(ai[0])}}},trim:function(ac){if(ac&&String(ac)===ac){return ac.replace(/^\s+|\s+$/g,"")}return ac},isOrWasNodeInViewport:function(ah){if(!ah||!ah.getBoundingClientRect||ah.nodeType!==1){return true}var ag=ah.getBoundingClientRect();var af=z.documentElement||{};var ae=ag.top<0;if(ae&&ah.offsetTop){ae=(ah.offsetTop+ag.height)>0 +}var ad=af.clientWidth;if(M.innerWidth&&ad>M.innerWidth){ad=M.innerWidth}var ac=af.clientHeight;if(M.innerHeight&&ac>M.innerHeight){ac=M.innerHeight}return((ag.bottom>0||ae)&&ag.right>0&&ag.left<ad&&((ag.top<ac)||ae))},isNodeVisible:function(ad){var ac=h(ad);var ae=this.isOrWasNodeInViewport(ad);return ac&&ae},buildInteractionRequestParams:function(ac,ad,ae,af){var ag="";if(ac){ag+="c_i="+n(ac)}if(ad){if(ag){ag+="&"}ag+="c_n="+n(ad)}if(ae){if(ag){ag+="&"}ag+="c_p="+n(ae)}if(af){if(ag){ag+="&"}ag+="c_t="+n(af)}return ag},buildImpressionRequestParams:function(ac,ad,ae){var af="c_n="+n(ac)+"&c_p="+n(ad);if(ae){af+="&c_t="+n(ae)}return af},buildContentBlock:function(ae){if(!ae){return}var ac=this.findContentName(ae);var ad=this.findContentPiece(ae);var af=this.findContentTarget(ae);ac=this.trim(ac);ad=this.trim(ad);af=this.trim(af);return{name:ac||"Unknown",piece:ad||"Unknown",target:af||""}},collectContent:function(af){if(!af||!af.length){return[]}var ae=[];var ac,ad;for(ac=0;ac<af.length; +ac++){ad=this.buildContentBlock(af[ac]);if(B(ad)){ae.push(ad)}}return ae},setLocation:function(ac){this.location=ac},getLocation:function(){var ac=this.location||M.location;if(!ac.origin){ac.origin=ac.protocol+"//"+ac.hostname+(ac.port?":"+ac.port:"")}return ac},toAbsoluteUrl:function(ad){if((!ad||String(ad)!==ad)&&ad!==""){return ad}if(""===ad){return this.getLocation().href}if(ad.search(/^\/\//)!==-1){return this.getLocation().protocol+ad}if(ad.search(/:\/\//)!==-1){return ad}if(0===ad.indexOf("#")){return this.getLocation().origin+this.getLocation().pathname+ad}if(0===ad.indexOf("?")){return this.getLocation().origin+this.getLocation().pathname+ad}if(0===ad.search("^[a-zA-Z]{2,11}:")){return ad}if(ad.search(/^\//)!==-1){return this.getLocation().origin+ad}var ac="(.*/)";var ae=this.getLocation().origin+this.getLocation().pathname.match(new RegExp(ac))[0];return ae+ad},isUrlToCurrentDomain:function(ad){var ae=this.toAbsoluteUrl(ad);if(!ae){return false}var ac=this.getLocation().origin; +if(ac===ae){return true}if(0===String(ae).indexOf(ac)){if(":"===String(ae).substr(ac.length,1)){return false}return true}return false},setHrefAttribute:function(ad,ac){if(!ad||!ac){return}W.setAnyAttribute(ad,"href",ac)},shouldIgnoreInteraction:function(ae){var ad=W.hasNodeAttribute(ae,this.CONTENT_IGNOREINTERACTION_ATTR);var ac=W.hasNodeCssClass(ae,this.CONTENT_IGNOREINTERACTION_CLASS);return ad||ac}};function G(ad,ag){if(ag){return ag}if(t(ad,"?")){var af=ad.indexOf("?");ad=ad.slice(0,af)}if(J(ad,"piwik.php")){ad=e(ad,"piwik.php".length)}else{if(J(ad,".php")){var ac=ad.lastIndexOf("/");var ae=1;ad=ad.slice(0,ac+ae)}}if(J(ad,"/js/")){ad=e(ad,"js/".length)}return ad}function F(ai){var ak="Piwik_Overlay";var ad=new RegExp("index\\.php\\?module=Overlay&action=startOverlaySession&idSite=([0-9]+)&period=([^&]+)&date=([^&]+)(&segment=.*)?$");var ae=ad.exec(z.referrer);if(ae){var ag=ae[1];if(ag!==String(ai)){return false}var ah=ae[2],ac=ae[3],af=ae[4];if(!af){af=""}else{if(af.indexOf("&segment=")===0){af=af.substr("&segment=".length) +}}M.name=ak+"###"+ah+"###"+ac+"###"+af}var aj=M.name.split("###");return aj.length===4&&aj[0]===ak}function S(ad,aj,af){var ai=M.name.split("###"),ah=ai[1],ac=ai[2],ag=ai[3],ae=G(ad,aj);j(ae+"plugins/Overlay/client/client.js?v=1",function(){Piwik_Overlay_Client.initialize(ae,af,ah,ac,ag)})}function o(){if(B(M.frameElement)){return(M.frameElement&&String(M.frameElement.nodeName).toLowerCase()==="iframe")}try{return M.self!==M.top}catch(ac){return true}}function I(bL,bF){var bB=T(z.domain,M.location.href,C()),cj=D(bB[0]),bl=k(bB[1]),a0=k(bB[2]),ch=false,bP="GET",cv=bP,aq="application/x-www-form-urlencoded; charset=UTF-8",b1=aq,am=bL||"",bg="",cn="",bD=bF||"",a9="",bm="",aK,aW=z.title,cs=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],ai=[cj],ba=[],bj=[],aN=[],bh=500,ca,aL,bp,bn,ac,bX=["pk_campaign","piwik_campaign","utm_campaign","utm_source","utm_medium"],bf=["pk_kwd","piwik_kwd","utm_term"],aX="_pk_",cl,a2,aY=false,cf,aU,a6,cb=33955200000,bV=1800000,cr=15768000000,aI=true,bT=0,bo=false,ax=false,bI,bt={},bS={},aZ={},a5=200,co={},ct={},bH=[],bM=false,b4=false,ad=false,cu=false,av=false,aT=o(),cm=null,bJ,ay,bb,bE=aa,a1; +function cy(cI,cF,cE,cH,cD,cG){if(aY){return}var cC;if(cE){cC=new Date();cC.setTime(cC.getTime()+cE)}z.cookie=cI+"="+n(cF)+(cE?";expires="+cC.toGMTString():"")+";path="+(cH||"/")+(cD?";domain="+cD:"")+(cG?";secure":"")}function al(cE){if(aY){return 0}var cC=new RegExp("(^|;)[ ]*"+cE+"=([^;]*)"),cD=cC.exec(z.cookie);return cD?L(cD[2]):0}function bz(cC){var cD;if(bn){cD=new RegExp("#.*");return cC.replace(cD,"")}return cC}function bs(cE,cC){var cF=m(cC),cD;if(cF){return cC}if(cC.slice(0,1)==="/"){return m(cE)+"://"+c(cE)+cC}cE=bz(cE);cD=cE.indexOf("?");if(cD>=0){cE=cE.slice(0,cD)}cD=cE.lastIndexOf("/");if(cD!==cE.length-1){cE=cE.slice(0,cD+1)}return cE+cC}function b8(cE,cC){var cD;cE=String(cE).toLowerCase();cC=String(cC).toLowerCase();if(cE===cC){return true}if(cC.slice(0,1)==="."){if(cE===cC.slice(1)){return true}cD=cE.length-cC.length;if((cD>0)&&(cE.slice(cD)===cC)){return true}}return false}function bR(cC){var cD=document.createElement("a");if(cC.indexOf("//")!==0&&cC.indexOf("http")!==0){cC="http://"+cC +}cD.href=p.toAbsoluteUrl(cC);if(cD.pathname){return cD.pathname}return""}function aJ(cD,cC){var cE=(!cC||cC==="/");if(cE){return true}if(cD===cC){return true}if(!cD){return false}cC=String(cC).toLowerCase();cD=String(cD).toLowerCase();if(!J(cD,"/")){cD+="/"}if(!J(cC,"/")){cC+="/"}return cD.indexOf(cC)===0}function af(cG,cI){var cD,cC,cE,cF,cH;for(cD=0;cD<ai.length;cD++){cF=D(ai[cD]);cH=bR(ai[cD]);if(b8(cG,cF)&&aJ(cI,cH)){return true}}return false}function aC(cF){var cD,cC,cE;for(cD=0;cD<ai.length;cD++){cC=D(ai[cD].toLowerCase());if(cF===cC){return true}if(cC.slice(0,1)==="."){if(cF===cC.slice(1)){return true}cE=cF.length-cC.length;if((cE>0)&&(cF.slice(cE)===cC)){return true}}}return false}function bW(cC,cE){var cD=new Image(1,1);cD.onload=function(){y=0;if(typeof cE==="function"){cE()}};cD.src=am+(am.indexOf("?")<0?"?":"&")+cC}function cq(cD,cG,cC){if(!B(cC)||null===cC){cC=true}try{var cF=M.XMLHttpRequest?new M.XMLHttpRequest():M.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null; +cF.open("POST",am,true);cF.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)&&cC){bW(cD,cG)}else{if(typeof cG==="function"){cG()}}};cF.setRequestHeader("Content-Type",b1);cF.send(cD)}catch(cE){if(cC){bW(cD,cG)}}}function bN(cD){var cC=new Date();var cE=cC.getTime()+cD;if(!l||cE>l){l=cE}}function bU(cC){if(bJ||!aL){return}bJ=setTimeout(function cD(){bJ=null;if(!aT){aT=(!z.hasFocus||z.hasFocus())}if(!aT){bU(aL);return}if(bp()){return}var cE=new Date(),cF=aL-(cE.getTime()-cm);cF=Math.min(aL,cF);bU(cF)},cC||aL)}function bi(){if(!bJ){return}clearTimeout(bJ);bJ=null}function aQ(){aT=true;if(bp()){return}bU()}function aj(){bi()}function cA(){if(av||!aL){return}av=true;ab(M,"focus",aQ);ab(M,"blur",aj);bU()}function b5(cG){var cD=new Date();var cC=cD.getTime();cm=cC;if(b4&&cC<b4){var cE=b4-cC;setTimeout(cG,cE);bN(cE+50);b4+=50;return}if(b4===false){var cF=800;b4=cC+cF}cG()}function be(cD,cC,cE){if(!cf&&cD){b5(function(){if(cv==="POST"){cq(cD,cE)}else{bW(cD,cE) +}bN(cC)})}if(!av){cA()}else{bU()}}function bQ(cC){if(cf){return false}return(cC&&cC.length)}function cz(cE,cC){if(!bQ(cE)){return}var cD='{"requests":["?'+cE.join('","?')+'"]}';b5(function(){cq(cD,null,false);bN(cC)})}function aA(cC){return aX+cC+"."+bD+"."+a1}function bC(){if(aY){return"0"}if(!B(f.cookieEnabled)){var cC=aA("testcookie");cy(cC,"1");return al(cC)==="1"?"1":"0"}return f.cookieEnabled?"1":"0"}function aV(){a1=bE((cl||cj)+(a2||"/")).slice(0,4)}function bu(){var cD=aA("cvar"),cC=al(cD);if(cC.length){cC=JSON2.parse(cC);if(P(cC)){return cC}}return{}}function b6(){if(ax===false){ax=bu()}}function cg(){return bE((f.userAgent||"")+(f.platform||"")+JSON2.stringify(ct)+(new Date()).getTime()+Math.random()).slice(0,16)}function cd(){var cE=new Date(),cC=Math.round(cE.getTime()/1000),cD=aA("id"),cH=al(cD),cG,cF;if(cH){cG=cH.split(".");cG.unshift("0");if(bm.length){cG[1]=bm}return cG}if(bm.length){cF=bm}else{if("0"===bC()){cF=""}else{cF=cg()}}cG=["1",cF,cC,0,cC,"",""];return cG}function aE(){var cJ=cd(),cF=cJ[0],cG=cJ[1],cD=cJ[2],cC=cJ[3],cH=cJ[4],cE=cJ[5]; +if(!B(cJ[6])){cJ[6]=""}var cI=cJ[6];return{newVisitor:cF,uuid:cG,createTs:cD,visitCount:cC,currentVisitTs:cH,lastVisitTs:cE,lastEcommerceOrderTs:cI}}function ap(){var cF=new Date(),cD=cF.getTime(),cG=aE().createTs;var cC=parseInt(cG,10);var cE=(cC*1000)+cb-cD;return cE}function at(cC){if(!bD){return}var cE=new Date(),cD=Math.round(cE.getTime()/1000);if(!B(cC)){cC=aE()}var cF=cC.uuid+"."+cC.createTs+"."+cC.visitCount+"."+cD+"."+cC.lastVisitTs+"."+cC.lastEcommerceOrderTs;cy(aA("id"),cF,ap(),a2,cl)}function bk(){var cC=al(aA("ref"));if(cC.length){try{cC=JSON2.parse(cC);if(P(cC)){return cC}}catch(cD){}}return["","",0,""]}function bv(cE,cD,cC){cy(cE,"",-86400,cD,cC)}function a7(cD){var cC="testvalue";cy("test",cC,10000,null,cD);if(al("test")===cC){bv("test",null,cD);return true}return false}function an(){var cE=aY;aY=false;var cC=["id","ses","cvar","ref"];var cD,cF;for(cD=0;cD<cC.length;cD++){cF=aA(cC[cD]);if(0!==al(cF)){bv(cF,a2,cl)}}aY=cE}function bA(cC){bD=cC;at()}function cB(cG){if(!cG||!P(cG)){return +}var cF=[];var cE;for(cE in cG){if(Object.prototype.hasOwnProperty.call(cG,cE)){cF.push(cE)}}var cH={};cF.sort();var cC=cF.length;var cD;for(cD=0;cD<cC;cD++){cH[cF[cD]]=cG[cF[cD]]}return cH}function bK(){cy(aA("ses"),"*",bV,a2,cl)}function bY(cE,cZ,c0,cF){var cY,cD=new Date(),cM=Math.round(cD.getTime()/1000),cJ,cX,cG=1024,c5,cN,cV=ax,cH=aA("ses"),cT=aA("ref"),cQ=aA("cvar"),cR=al(cH),cW=bk(),c2=aK||bl,cK,cC;if(aY){an()}if(cf){return""}var cS=aE();if(!B(cF)){cF=""}var cP=z.characterSet||z.charset;if(!cP||cP.toLowerCase()==="utf-8"){cP=null}cK=cW[0];cC=cW[1];cJ=cW[2];cX=cW[3];if(!cR){var c1=bV/1000;if(!cS.lastVisitTs||(cM-cS.lastVisitTs)>c1){cS.visitCount++;cS.lastVisitTs=cS.currentVisitTs}if(!a6||!cK.length){for(cY in bX){if(Object.prototype.hasOwnProperty.call(bX,cY)){cK=O(c2,bX[cY]);if(cK.length){break}}}for(cY in bf){if(Object.prototype.hasOwnProperty.call(bf,cY)){cC=O(c2,bf[cY]);if(cC.length){break}}}}c5=c(a0);cN=cX.length?c(cX):"";if(c5.length&&!aC(c5)&&(!a6||!cN.length||aC(cN))){cX=a0 +}if(cX.length||cK.length){cJ=cM;cW=[cK,cC,cJ,bz(cX.slice(0,cG))];cy(cT,JSON2.stringify(cW),cr,a2,cl)}}cE+="&idsite="+bD+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+cD.getHours()+"&m="+cD.getMinutes()+"&s="+cD.getSeconds()+"&url="+n(bz(c2))+(a0.length?"&urlref="+n(bz(a0)):"")+((a9&&a9.length)?"&uid="+n(a9):"")+"&_id="+cS.uuid+"&_idts="+cS.createTs+"&_idvc="+cS.visitCount+"&_idn="+cS.newVisitor+(cK.length?"&_rcn="+n(cK):"")+(cC.length?"&_rck="+n(cC):"")+"&_refts="+cJ+"&_viewts="+cS.lastVisitTs+(String(cS.lastEcommerceOrderTs).length?"&_ects="+cS.lastEcommerceOrderTs:"")+(String(cX).length?"&_ref="+n(bz(cX.slice(0,cG))):"")+(cP?"&cs="+n(cP):"")+"&send_image=0";for(cY in ct){if(Object.prototype.hasOwnProperty.call(ct,cY)){cE+="&"+cY+"="+ct[cY]}}var c4=[];if(cZ){for(cY in cZ){if(Object.prototype.hasOwnProperty.call(cZ,cY)&&/^dimension\d+$/.test(cY)){var cI=cY.replace("dimension","");c4.push(parseInt(cI,10));c4.push(String(cI));cE+="&"+cY+"="+cZ[cY];delete cZ[cY]}}}if(cZ&&v(cZ)){cZ=null +}for(cY in aZ){if(Object.prototype.hasOwnProperty.call(aZ,cY)){var cO=(-1===c4.indexOf(cY));if(cO){cE+="&dimension"+cY+"="+aZ[cY]}}}if(cZ){cE+="&data="+n(JSON2.stringify(cZ))}else{if(ac){cE+="&data="+n(JSON2.stringify(ac))}}function cL(c6,c7){var c8=JSON2.stringify(c6);if(c8.length>2){return"&"+c7+"="+n(c8)}return""}var c3=cB(bt);var cU=cB(bS);cE+=cL(c3,"cvar");cE+=cL(cU,"e_cvar");if(ax){cE+=cL(ax,"_cvar");for(cY in cV){if(Object.prototype.hasOwnProperty.call(cV,cY)){if(ax[cY][0]===""||ax[cY][1]===""){delete ax[cY]}}}if(bo){cy(cQ,JSON2.stringify(ax),bV,a2,cl)}}if(aI){if(bT){cE+=">_ms="+bT}else{if(g&&g.timing&&g.timing.requestStart&&g.timing.responseEnd){cE+=">_ms="+(g.timing.responseEnd-g.timing.requestStart)}}}cS.lastEcommerceOrderTs=B(cF)&&String(cF).length?cF:cS.lastEcommerceOrderTs;at(cS);bK();cE+=U(c0);if(cn.length){cE+="&"+cn}if(u(bI)){cE=bI(cE)}return cE}bp=function aM(){var cC=new Date();if(cm+aL<=cC.getTime()){var cD=bY("ping=1",null,"ping");be(cD,bh);return true}return false +};function a3(cF,cE,cJ,cG,cC,cM){var cH="idgoal=0",cI,cD=new Date(),cK=[],cL;if(String(cF).length){cH+="&ec_id="+n(cF);cI=Math.round(cD.getTime()/1000)}cH+="&revenue="+cE;if(String(cJ).length){cH+="&ec_st="+cJ}if(String(cG).length){cH+="&ec_tx="+cG}if(String(cC).length){cH+="&ec_sh="+cC}if(String(cM).length){cH+="&ec_dt="+cM}if(co){for(cL in co){if(Object.prototype.hasOwnProperty.call(co,cL)){if(!B(co[cL][1])){co[cL][1]=""}if(!B(co[cL][2])){co[cL][2]=""}if(!B(co[cL][3])||String(co[cL][3]).length===0){co[cL][3]=0}if(!B(co[cL][4])||String(co[cL][4]).length===0){co[cL][4]=1}cK.push(co[cL])}}cH+="&ec_items="+n(JSON2.stringify(cK))}cH=bY(cH,ac,"ecommerce",cI);be(cH,bh)}function bw(cC,cG,cF,cE,cD,cH){if(String(cC).length&&B(cG)){a3(cC,cG,cF,cE,cD,cH)}}function a4(cC){if(B(cC)){a3("",cC,"","","","")}}function bx(cD,cE){var cC=bY("action_name="+n(Z(cD||aW)),cE,"log");be(cC,bh)}function aG(cE,cD){var cF,cC="(^| )(piwik[_-]"+cD;if(cE){for(cF=0;cF<cE.length;cF++){cC+="|"+cE[cF]}}cC+=")( |$)";return new RegExp(cC) +}function aB(cC){return(am&&cC&&0===String(cC).indexOf(am))}function bZ(cG,cC,cH,cD){if(aB(cC)){return 0}var cF=aG(bj,"download"),cE=aG(aN,"link"),cI=new RegExp("\\.("+cs.join("|")+")([?&#]|$)","i");if(cE.test(cG)){return"link"}if(cD||cF.test(cG)||cI.test(cC)){return"download"}if(cH){return 0}return"link"}function ag(cD){var cC;cC=cD.parentNode;while(cC!==null&&B(cC)){if(W.isLinkElement(cD)){break}cD=cC;cC=cD.parentNode}return cD}function cw(cH){cH=ag(cH);if(!W.hasNodeAttribute(cH,"href")){return}if(!B(cH.href)){return}var cG=W.getAttributeValueFromNode(cH,"href");if(aB(cG)){return}var cD=cH.pathname||bR(cH.href);var cI=cH.hostname||c(cH.href);var cJ=cI.toLowerCase();var cE=cH.href.replace(cI,cJ);var cF=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!cF.test(cE)){var cC=bZ(cH.className,cE,af(cJ,cD),W.hasNodeAttribute(cH,"download"));if(cC){return{type:cC,href:cE}}}}function aw(cC,cD,cE,cF){var cG=p.buildInteractionRequestParams(cC,cD,cE,cF);if(!cG){return +}return bY(cG,null,"contentInteraction")}function cc(cE,cF,cJ,cC,cD){if(!B(cE)){return}if(aB(cE)){return cE}var cH=p.toAbsoluteUrl(cE);var cG="redirecturl="+n(cH)+"&";cG+=aw(cF,cJ,cC,(cD||cE));var cI="&";if(am.indexOf("?")<0){cI="?"}return am+cI+cG}function aR(cC,cD){if(!cC||!cD){return false}var cE=p.findTargetNode(cC);if(p.shouldIgnoreInteraction(cE)){return false}cE=p.findTargetNodeNoDefault(cC);if(cE&&!N(cE,cD)){return false}return true}function b0(cE,cD,cG){if(!cE){return}var cC=p.findParentContentNode(cE);if(!cC){return}if(!aR(cC,cE)){return}var cF=p.buildContentBlock(cC);if(!cF){return}if(!cF.target&&cG){cF.target=cG}return p.buildInteractionRequestParams(cD,cF.name,cF.piece,cF.target)}function aD(cD){if(!bH||!bH.length){return false}var cC,cE;for(cC=0;cC<bH.length;cC++){cE=bH[cC];if(cE&&cE.name===cD.name&&cE.piece===cD.piece&&cE.target===cD.target){return true}}return false}function bd(cF){if(!cF){return false}var cI=p.findTargetNode(cF);if(!cI||p.shouldIgnoreInteraction(cI)){return false +}var cJ=cw(cI);if(cu&&cJ&&cJ.type){return false}if(W.isLinkElement(cI)&&W.hasNodeAttributeWithValue(cI,"href")){var cC=String(W.getAttributeValueFromNode(cI,"href"));if(0===cC.indexOf("#")){return false}if(aB(cC)){return true}if(!p.isUrlToCurrentDomain(cC)){return false}var cG=p.buildContentBlock(cF);if(!cG){return}var cE=cG.name;var cK=cG.piece;var cH=cG.target;if(!W.hasNodeAttributeWithValue(cI,p.CONTENT_TARGET_ATTR)||cI.wasContentTargetAttrReplaced){cI.wasContentTargetAttrReplaced=true;cH=p.toAbsoluteUrl(cC);W.setAnyAttribute(cI,p.CONTENT_TARGET_ATTR,cH)}var cD=cc(cC,"click",cE,cK,cH);p.setHrefAttribute(cI,cD);return true}return false}function au(cD){if(!cD||!cD.length){return}var cC;for(cC=0;cC<cD.length;cC++){bd(cD[cC])}}function aF(cC){return function(cD){if(!cC){return}var cG=p.findParentContentNode(cC);var cH;if(cD){cH=cD.target||cD.srcElement}if(!cH){cH=cC}if(!aR(cG,cH)){return}bN(bh);if(W.isLinkElement(cC)&&W.hasNodeAttributeWithValue(cC,"href")&&W.hasNodeAttributeWithValue(cC,p.CONTENT_TARGET_ATTR)){var cE=W.getAttributeValueFromNode(cC,"href"); +if(!aB(cE)&&cC.wasContentTargetAttrReplaced){W.setAnyAttribute(cC,p.CONTENT_TARGET_ATTR,"")}}var cL=cw(cC);if(ad&&cL&&cL.type){return cL.type}if(bd(cG)){return"href"}var cI=p.buildContentBlock(cG);if(!cI){return}var cF=cI.name;var cM=cI.piece;var cK=cI.target;var cJ=aw("click",cF,cM,cK);be(cJ,bh);return cJ}}function by(cE){if(!cE||!cE.length){return}var cC,cD;for(cC=0;cC<cE.length;cC++){cD=p.findTargetNode(cE[cC]);if(cD&&!cD.contentInteractionTrackingSetupDone){cD.contentInteractionTrackingSetupDone=true;ab(cD,"click",aF(cD))}}}function a8(cE,cF){if(!cE||!cE.length){return[]}var cC,cD;for(cC=0;cC<cE.length;cC++){if(aD(cE[cC])){cE.splice(cC,1);cC--}else{bH.push(cE[cC])}}if(!cE||!cE.length){return[]}au(cF);by(cF);var cG=[];for(cC=0;cC<cE.length;cC++){cD=bY(p.buildImpressionRequestParams(cE[cC].name,cE[cC].piece,cE[cC].target),undefined,"contentImpressions");cG.push(cD)}return cG}function b3(cD){var cC=p.collectContent(cD);return a8(cC,cD)}function aP(cD){if(!cD||!cD.length){return[]}var cC; +for(cC=0;cC<cD.length;cC++){if(!p.isNodeVisible(cD[cC])){cD.splice(cC,1);cC--}}if(!cD||!cD.length){return[]}return b3(cD)}function ao(cE,cC,cD){var cF=p.buildImpressionRequestParams(cE,cC,cD);return bY(cF,null,"contentImpression")}function cx(cF,cD){if(!cF){return}var cC=p.findParentContentNode(cF);var cE=p.buildContentBlock(cC);if(!cE){return}if(!cD){cD="Unknown"}return aw(cD,cE.name,cE.piece,cE.target)}function ce(cD,cF,cC,cE){return"e_c="+n(cD)+"&e_a="+n(cF)+(B(cC)?"&e_n="+n(cC):"")+(B(cE)?"&e_v="+n(cE):"")}function ah(cE,cG,cC,cF,cH){if(String(cE).length===0||String(cG).length===0){return false}var cD=bY(ce(cE,cG,cC,cF),cH,"event");be(cD,bh)}function bG(cC,cF,cD,cG){var cE=bY("search="+n(cC)+(cF?"&search_cat="+n(cF):"")+(B(cD)?"&search_count="+cD:""),cG,"sitesearch");be(cE,bh)}function ci(cC,cF,cE){var cD=bY("idgoal="+cC+(cF?"&revenue="+cF:""),cE,"goal");be(cD,bh)}function cp(cF,cC,cJ,cI,cE){var cH=cC+"="+n(bz(cF));var cD=b0(cE,"click",cF);if(cD){cH+="&"+cD}var cG=bY(cH,cJ,"link");be(cG,(cI?0:bh),cI) +}function bq(cD,cC){if(cD!==""){return cD+cC.charAt(0).toUpperCase()+cC.slice(1)}return cC}function bO(cH){var cG,cC,cF=["","webkit","ms","moz"],cE;if(!aU){for(cC=0;cC<cF.length;cC++){cE=cF[cC];if(Object.prototype.hasOwnProperty.call(z,bq(cE,"hidden"))){if(z[bq(cE,"visibilityState")]==="prerender"){cG=true}break}}}if(cG){ab(z,cE+"visibilitychange",function cD(){z.removeEventListener(cE+"visibilitychange",cD,false);cH()});return}cH()}function ar(cC){if(z.readyState==="complete"){cC()}else{if(M.addEventListener){M.addEventListener("load",cC)}else{if(M.attachEvent){M.attachEvent("onLoad",cC)}}}}function aS(cD){var cC=false;if(z.attachEvent){cC=z.readyState==="complete"}else{cC=z.readyState!=="loading"}if(cC){cD()}else{if(z.addEventListener){z.addEventListener("DOMContentLoaded",cD)}else{if(z.attachEvent){z.attachEvent("onreadystatechange",cD)}}}}function b9(cC){var cD=cw(cC);if(cD&&cD.type){cD.href=k(cD.href);cp(cD.href,cD.type,undefined,null,cC)}}function b2(){return z.all&&!z.addEventListener +}function ck(cC){var cE=cC.which;var cD=(typeof cC.button);if(!cE&&cD!=="undefined"){if(b2()){if(cC.button&1){cE=1}else{if(cC.button&2){cE=3}else{if(cC.button&4){cE=2}}}}else{if(cC.button===0||cC.button==="0"){cE=1}else{if(cC.button&1){cE=2}else{if(cC.button&2){cE=3}}}}}return cE}function br(cC){switch(ck(cC)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function aH(cC){return cC.target||cC.srcElement}function ak(cC){return function(cF){cF=cF||M.event;var cE=br(cF);var cG=aH(cF);if(cF.type==="click"){var cD=false;if(cC&&cE==="middle"){cD=true}if(cG&&!cD){b9(cG)}}else{if(cF.type==="mousedown"){if(cE==="middle"&&cG){ay=cE;bb=cG}else{ay=bb=null}}else{if(cF.type==="mouseup"){if(cE===ay&&cG===bb){b9(cG)}ay=bb=null}else{if(cF.type==="contextmenu"){b9(cG)}}}}}}function ae(cD,cC){ab(cD,"click",ak(cC),false);if(cC){ab(cD,"mouseup",ak(cC),false);ab(cD,"mousedown",ak(cC),false);ab(cD,"contextmenu",ak(cC),false)}}function bc(cD){if(!ad){ad=true;var cE,cC=aG(ba,"ignore"),cF=z.links; +if(cF){for(cE=0;cE<cF.length;cE++){if(!cC.test(cF[cE].className)){ae(cF[cE],cD)}}}}}function az(cE,cG,cH){if(bM){return true}bM=true;var cI=false;var cF,cD;function cC(){cI=true}ar(function(){function cJ(cL){setTimeout(function(){if(!bM){return}cI=false;cH.trackVisibleContentImpressions();cJ(cL)},cL)}function cK(cL){setTimeout(function(){if(!bM){return}if(cI){cI=false;cH.trackVisibleContentImpressions()}cK(cL)},cL)}if(cE){cF=["scroll","resize"];for(cD=0;cD<cF.length;cD++){if(z.addEventListener){z.addEventListener(cF[cD],cC)}else{M.attachEvent("on"+cF[cD],cC)}}cK(100)}if(cG&&cG>0){cG=parseInt(cG,10);cJ(cG)}})}function aO(cG,cI){var cH=bR(cG);var cF=bR(cI);if(!cH||cH==="/"||!cF||cF==="/"){return}var cE=D(cG);if(af(cE,"/")){return}if(J(cH,"/")){cH=e(cH,1)}var cJ=cH.split("/");var cD;for(cD=2;cD<cJ.length;cD++){var cC=cJ.slice(0,cD).join("/");if(af(cE,cC)){cH=cC;break}}if(!aJ(cF,cH)){return}return cH}function b7(){var cE,cG,cH={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",dir:"application/x-director",fla:"application/x-shockwave-flash",java:"application/x-java-vm",gears:"application/x-googlegears",ag:"application/x-silverlight"},cD=M.devicePixelRatio||1; +if(!((new RegExp("MSIE")).test(f.userAgent))){if(f.mimeTypes&&f.mimeTypes.length){for(cE in cH){if(Object.prototype.hasOwnProperty.call(cH,cE)){cG=f.mimeTypes[cH[cE]];ct[cE]=(cG&&cG.enabledPlugin)?"1":"0"}}}if(typeof navigator.javaEnabled!=="unknown"&&B(f.javaEnabled)&&f.javaEnabled()){ct.java="1"}if(u(M.GearsFactory)){ct.gears="1"}ct.cookie=bC()}var cF=parseInt(Q.width,10)*cD;var cC=parseInt(Q.height,10)*cD;ct.res=parseInt(cF,10)+"x"+parseInt(cC,10)}b7();aV();at();return{getVisitorId:function(){return aE().uuid},getVisitorInfo:function(){return cd()},getAttributionInfo:function(){return bk()},getAttributionCampaignName:function(){return bk()[0]},getAttributionCampaignKeyword:function(){return bk()[1]},getAttributionReferrerTimestamp:function(){return bk()[2]},getAttributionReferrerUrl:function(){return bk()[3]},setTrackerUrl:function(cC){am=cC},getTrackerUrl:function(){return am},getSiteId:function(){return bD},setSiteId:function(cC){bA(cC)},setUserId:function(cC){if(!B(cC)||!cC.length){return +}a9=cC;bm=bE(a9).substr(0,16)},getUserId:function(){return a9},setCustomData:function(cC,cD){if(P(cC)){ac=cC}else{if(!ac){ac={}}ac[cC]=cD}},getCustomData:function(){return ac},setCustomRequestProcessing:function(cC){bI=cC},appendToTrackingUrl:function(cC){cn=cC},getRequest:function(cC){return bY(cC)},addPlugin:function(cC,cD){a[cC]=cD},setCustomDimension:function(cC,cD){cC=parseInt(cC,10);if(cC>0){if(!B(cD)){cD=""}if(!q(cD)){cD=String(cD)}aZ[cC]=cD}},getCustomDimension:function(cC){cC=parseInt(cC,10);if(cC>0&&Object.prototype.hasOwnProperty.call(aZ,cC)){return aZ[cC]}},deleteCustomDimension:function(cC){cC=parseInt(cC,10);if(cC>0){delete aZ[cC]}},setCustomVariable:function(cD,cC,cG,cE){var cF;if(!B(cE)){cE="visit"}if(!B(cC)){return}if(!B(cG)){cG=""}if(cD>0){cC=!q(cC)?String(cC):cC;cG=!q(cG)?String(cG):cG;cF=[cC.slice(0,a5),cG.slice(0,a5)];if(cE==="visit"||cE===2){b6();ax[cD]=cF}else{if(cE==="page"||cE===3){bt[cD]=cF}else{if(cE==="event"){bS[cD]=cF}}}}},getCustomVariable:function(cD,cE){var cC; +if(!B(cE)){cE="visit"}if(cE==="page"||cE===3){cC=bt[cD]}else{if(cE==="event"){cC=bS[cD]}else{if(cE==="visit"||cE===2){b6();cC=ax[cD]}}}if(!B(cC)||(cC&&cC[0]==="")){return false}return cC},deleteCustomVariable:function(cC,cD){if(this.getCustomVariable(cC,cD)){this.setCustomVariable(cC,"","",cD)}},storeCustomVariablesInCookie:function(){bo=true},setLinkTrackingTimer:function(cC){bh=cC},setDownloadExtensions:function(cC){if(q(cC)){cC=cC.split("|")}cs=cC},addDownloadExtensions:function(cD){var cC;if(q(cD)){cD=cD.split("|")}for(cC=0;cC<cD.length;cC++){cs.push(cD[cC])}},removeDownloadExtensions:function(cE){var cD,cC=[];if(q(cE)){cE=cE.split("|")}for(cD=0;cD<cs.length;cD++){if(E(cE,cs[cD])===-1){cC.push(cs[cD])}}cs=cC},setDomains:function(cC){ai=q(cC)?[cC]:cC;var cE=false,cD;for(cD in ai){if(Object.prototype.hasOwnProperty.call(ai,cD)&&b8(cj,D(String(ai[cD])))){cE=true;if(!a2){var cF=aO(ai[cD],bl);if(cF){this.setCookiePath(cF)}break}}}if(!cE){ai.push(cj)}},setIgnoreClasses:function(cC){ba=q(cC)?[cC]:cC +},setRequestMethod:function(cC){cv=cC||bP},setRequestContentType:function(cC){b1=cC||aq},setReferrerUrl:function(cC){a0=cC},setCustomUrl:function(cC){aK=bs(bl,cC)},setDocumentTitle:function(cC){aW=cC},setAPIUrl:function(cC){bg=cC},setDownloadClasses:function(cC){bj=q(cC)?[cC]:cC},setLinkClasses:function(cC){aN=q(cC)?[cC]:cC},setCampaignNameKey:function(cC){bX=q(cC)?[cC]:cC},setCampaignKeywordKey:function(cC){bf=q(cC)?[cC]:cC},discardHashTag:function(cC){bn=cC},setCookieNamePrefix:function(cC){aX=cC;ax=bu()},setCookieDomain:function(cC){var cD=D(cC);if(a7(cD)){cl=cD;aV()}},setCookiePath:function(cC){a2=cC;aV()},setVisitorCookieTimeout:function(cC){cb=cC*1000},setSessionCookieTimeout:function(cC){bV=cC*1000},setReferralCookieTimeout:function(cC){cr=cC*1000},setConversionAttributionFirstReferrer:function(cC){a6=cC},disableCookies:function(){aY=true;ct.cookie="0";if(bD){an()}},deleteCookies:function(){an()},setDoNotTrack:function(cD){var cC=f.doNotTrack||f.msDoNotTrack;cf=cD&&(cC==="yes"||cC==="1"); +if(cf){this.disableCookies()}},addListener:function(cD,cC){ae(cD,cC)},enableLinkTracking:function(cC){cu=true;if(s){bc(cC)}else{K.push(function(){bc(cC)})}},enableJSErrorTracking:function(){if(ch){return}ch=true;var cC=M.onerror;M.onerror=function(cH,cF,cE,cG,cD){bO(function(){var cI="JavaScript Errors";var cJ=cF+":"+cE;if(cG){cJ+=":"+cG}ah(cI,cJ,cH)});if(cC){return cC(cH,cF,cE,cG,cD)}return false}},disablePerformanceTracking:function(){aI=false},setGenerationTimeMs:function(cC){bT=parseInt(cC,10)},enableHeartBeatTimer:function(cC){cC=Math.max(cC,1);aL=(cC||15)*1000;if(cm!==null){cA()}},killFrame:function(){if(M.location!==M.top.location){M.top.location=M.location}},redirectFile:function(cC){if(M.location.protocol==="file:"){M.location=cC}},setCountPreRendered:function(cC){aU=cC},trackGoal:function(cC,cE,cD){bO(function(){ci(cC,cE,cD)})},trackLink:function(cD,cC,cF,cE){bO(function(){cp(cD,cC,cF,cE)})},trackPageView:function(cC,cD){bH=[];if(F(bD)){bO(function(){S(am,bg,bD)})}else{bO(function(){bx(cC,cD) +})}},trackAllContentImpressions:function(){if(F(bD)){return}bO(function(){aS(function(){var cC=p.findContentNodes();var cD=b3(cC);cz(cD,bh)})})},trackVisibleContentImpressions:function(cC,cD){if(F(bD)){return}if(!B(cC)){cC=true}if(!B(cD)){cD=750}az(cC,cD,this);bO(function(){ar(function(){var cE=p.findContentNodes();var cF=aP(cE);cz(cF,bh)})})},trackContentImpression:function(cE,cC,cD){if(F(bD)){return}if(!cE){return}cC=cC||"Unknown";bO(function(){var cF=ao(cE,cC,cD);be(cF,bh)})},trackContentImpressionsWithinNode:function(cC){if(F(bD)||!cC){return}bO(function(){if(bM){ar(function(){var cD=p.findContentNodesWithinNode(cC);var cE=aP(cD);cz(cE,bh)})}else{aS(function(){var cD=p.findContentNodesWithinNode(cC);var cE=b3(cD);cz(cE,bh)})}})},trackContentInteraction:function(cE,cF,cC,cD){if(F(bD)){return}if(!cE||!cF){return}cC=cC||"Unknown";bO(function(){var cG=aw(cE,cF,cC,cD);be(cG,bh)})},trackContentInteractionNode:function(cD,cC){if(F(bD)||!cD){return}bO(function(){var cE=cx(cD,cC);be(cE,bh)}) +},logAllContentBlocksOnPage:function(){var cD=p.findContentNodes();var cC=p.collectContent(cD);if(console!==undefined&&console&&console.log){console.log(cC)}},trackEvent:function(cD,cF,cC,cE,cG){bO(function(){ah(cD,cF,cC,cE,cG)})},trackSiteSearch:function(cC,cE,cD,cF){bO(function(){bG(cC,cE,cD,cF)})},setEcommerceView:function(cF,cC,cE,cD){if(!B(cE)||!cE.length){cE=""}else{if(cE instanceof Array){cE=JSON2.stringify(cE)}}bt[5]=["_pkc",cE];if(B(cD)&&String(cD).length){bt[2]=["_pkp",cD]}if((!B(cF)||!cF.length)&&(!B(cC)||!cC.length)){return}if(B(cF)&&cF.length){bt[3]=["_pks",cF]}if(!B(cC)||!cC.length){cC=""}bt[4]=["_pkn",cC]},addEcommerceItem:function(cG,cC,cE,cD,cF){if(cG.length){co[cG]=[cG,cC,cE,cD,cF]}},trackEcommerceOrder:function(cC,cG,cF,cE,cD,cH){bw(cC,cG,cF,cE,cD,cH)},trackEcommerceCartUpdate:function(cC){a4(cC)}}}function A(){return{push:X}}function b(ah,ag){var ai={};var ae,af;for(ae=0;ae<ag.length;ae++){var ac=ag[ae];ai[ac]=1;for(af=0;af<ah.length;af++){if(ah[af]&&ah[af][0]){var ad=ah[af][0]; +if(ac===ad){X(ah[af]);delete ah[af];if(ai[ad]>1){if(console!==undefined&&console&&console.error){console.error("The method "+ad+' is registered more than once in "paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: http://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}}ai[ad]++}}}}return ah}ab(M,"beforeunload",Y,false);r();Date.prototype.getTimeAlias=Date.prototype.getTime;R=new I();var w=["disableCookies","setTrackerUrl","setAPIUrl","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","enableLinkTracking"];_paq=b(_paq,w);for(y=0;y<_paq.length;y++){if(_paq[y]){X(_paq[y])}}_paq=new A();d={addPlugin:function(ac,ad){a[ac]=ad},getTracker:function(ac,ad){if(!B(ad)){ad=this.getAsyncTracker().getSiteId()}if(!B(ac)){ac=this.getAsyncTracker().getTrackerUrl()}return new I(ac,ad)},getAsyncTracker:function(){return R}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return d +})}return d}())}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()}(function(){var a=(typeof AnalyticsTracker);if(a==="undefined"){AnalyticsTracker=window.Piwik}}());if(typeof piwik_log!=="function"){piwik_log=function(b,f,d,g){function a(h){try{if(window["piwik_"+h]){return window["piwik_"+h]}}catch(i){}return}var c,e=window.Piwik.getTracker(d,f);e.setDocumentTitle(b);e.setCustomData(g);c=a("tracker_pause");if(c){e.setLinkTrackingTimer(c)}c=a("download_extensions");if(c){e.setDownloadExtensions(c)}c=a("hosts_alias");if(c){e.setDomains(c)}c=a("ignore_classes");if(c){e.setIgnoreClasses(c)}e.trackPageView();if(a("install_tracker")){piwik_track=function(i,k,j,h){e.setSiteId(k);e.setTrackerUrl(j);e.trackLink(i,h)};e.enableLinkTracking()}}; /*! @license-end */ }; \ No newline at end of file diff --git a/plugins/API/lang/da.json b/plugins/API/lang/da.json index 701cfc28b67229c09c75cb927e2a87335a753942..8408570e49c2580aadad3f330a1e50c32865389a 100644 --- a/plugins/API/lang/da.json +++ b/plugins/API/lang/da.json @@ -5,8 +5,11 @@ "LoadedAPIs": "%s APIs indlæst", "MoreInformation": "Mere information om Piwik API'er, findes pÃ¥ %1$sIntroduktion til Piwik API%2$s og %3$sPiwik API Reference%4$s.", "PluginDescription": "Alle data i Piwik er tilgængelig gennem enkle API'er. Denne udvidelse er en webservice indgang, som kaldes for at fÃ¥ Web Analytics-data i xml, JSON, php, csv etc.", + "ReportingApiReference": "Rapporterings API Reference", "TopLinkTooltip": "FÃ¥ adgang til dine webanalyse data programmeringsmæssigt gennem en simpel API i JSON, XML, etc.", "UserAuthentication": "Brugergodkendelse", - "UsingTokenAuth": "Hvis du ønsker at %1$s hente data i et script, med crontab, m.m. %2$s skal du tilføje parameteren %3$s til API-kaldes netadresse, som kræver godkendelse." + "UsingTokenAuth": "Hvis du ønsker at %1$s hente data i et script, med crontab, m.m. %2$s skal du tilføje parameteren %3$s til API-kaldes netadresse, som kræver godkendelse.", + "Glossary": "Ordliste", + "LearnAboutCommonlyUsedTerms": "Lær om de hyppigst brugter termer for at fÃ¥ det bedste ud af Piwik Analytics: %1$s og %2$s" } } \ No newline at end of file diff --git a/plugins/API/lang/de.json b/plugins/API/lang/de.json index 7ad2ec2d1c4145128d3dc521b87ceb3ba08810b3..e38aaf0b15035e9c92c8fb6e9dc50a79dfc92d64 100644 --- a/plugins/API/lang/de.json +++ b/plugins/API/lang/de.json @@ -1,6 +1,6 @@ { "API": { - "GenerateVisits": "Sollten für heute keine Daten verfügbar sein, so können Sie mit dem %1$s Plugin Testdaten erzeugen. Aktivieren Sie das %2$s Plugin und klicken dann auf das 'Besuchergenerator' Menu in der Piwik-Administration.", + "GenerateVisits": "Sollten für heute keine Daten verfügbar sein, so können Sie mit dem %1$s Plugin Testdaten erzeugen. Aktivieren Sie das %2$s Plugin und klicken dann auf das 'Besuchergenerator'-Menu in der Piwik-Administration.", "KeepTokenSecret": "Der token_auth ist so geheim wie Ihr Login und Passwort, %1$s teilen Sie es niemandem mit%2$s!", "LoadedAPIs": "%s APIs erfolgreich geladen", "MoreInformation": "Für weitere Informationen über die Piwik-APIs lesen Sie bitte %1$s Einführung in die Piwik-API %2$s und die %3$s Piwik-API-Referenz %4$s.", diff --git a/plugins/API/lang/ro.json b/plugins/API/lang/ro.json index 673c34dd3dea513b1c1ea7e6f15689b92f316602..849734f62b5871601a88c01a9eb419e7856efd99 100644 --- a/plugins/API/lang/ro.json +++ b/plugins/API/lang/ro.json @@ -4,8 +4,12 @@ "KeepTokenSecret": "Acest token_auth este secret cum sunt login-ul si parola, %1$s nu le fa publice%2$s!", "LoadedAPIs": "%s API-uri încarcate cu succes", "MoreInformation": "Pentru mai multe informatii despre API-urile Piwik, va rugam sa va uitati la %1$s Introducere la Piwik API %2$s si la %3$s Referinte Piwik API %4$s.", + "PluginDescription": "Toate informaÅ£iile din Piwik sunt disponibile prin simple API-uri. Acest plugin este punctul de intrare al serviciului web prin care poÅ£i prelua date Web Analytics în format xml, json, php, csv, etc.", + "ReportingApiReference": "ReferinÅ£e API de raportare", "TopLinkTooltip": "Acceseaza datele tale de Web Analytics in mod organizat prin intermediul unui simplu API in json, xml, etc.", "UserAuthentication": "Identificare utilizator", - "UsingTokenAuth": "Daca vrei sa %1$s preiei date printr-un script, crontab etc. %2$s este necesar sa adaugi parametrul %3$s la URL-urile API care cer autentificare." + "UsingTokenAuth": "Daca vrei sa %1$s preiei date printr-un script, crontab etc. %2$s este necesar sa adaugi parametrul %3$s la URL-urile API care cer autentificare.", + "Glossary": "Glosar", + "LearnAboutCommonlyUsedTerms": "ÃŽnvaţă cei mai uzuali termeni de analiză Piwik: %1$s ÅŸi %2$s" } } \ No newline at end of file diff --git a/plugins/API/lang/sq.json b/plugins/API/lang/sq.json index ce3df6871a4ea3affee9c91ef71a5d540aaa499a..2a364fc61711fd08f60fc3a9560144af44e3116a 100644 --- a/plugins/API/lang/sq.json +++ b/plugins/API/lang/sq.json @@ -6,6 +6,7 @@ "MoreInformation": "Për më tepër të dhëna rreth API-ve të Piwik-ut, ju lutem, hidhini një sy %1$s Hyrje në API-t e Piwik-ut %2$s dhe %3$s Referencë API-sh Piwik-u %4$s.", "TopLinkTooltip": "Hyni programatikisht te të dhënat tuaja të Analizave Web përmes një API-je të thjeshtë json, xml, etj.", "UserAuthentication": "Mirëfilltësim përdoruesi", - "UsingTokenAuth": "Nëse doni të %1$s kërkoni të dhëna brenda një programthi, një crontab-i, etj. %2$s lypset të shtoni parametrin %3$s te URL-të për thirrje API që lypin mirëfilltësim." + "UsingTokenAuth": "Nëse doni të %1$s kërkoni të dhëna brenda një programthi, një crontab-i, etj. %2$s lypset të shtoni parametrin %3$s te URL-të për thirrje API që lypin mirëfilltësim.", + "Glossary": "Fjalorth" } } \ No newline at end of file diff --git a/plugins/API/lang/tr.json b/plugins/API/lang/tr.json index cdc3253411ce8c019b679a548136b19d501ccc1d..8e9e616b91c4d1d4cfaf8bd4c5e8bcf06d128e8f 100644 --- a/plugins/API/lang/tr.json +++ b/plugins/API/lang/tr.json @@ -4,8 +4,12 @@ "KeepTokenSecret": "token_auth kullanıcı adı ve ÅŸifreniz kadar gizlidir, %1$s kimseyle paylaÅŸmayınız%2$s!", "LoadedAPIs": "%s API baÅŸarılı ÅŸekilde yüklendi", "MoreInformation": "Piwik APIsi hakkında daha fazla bilgi için lütfen %1$s Piwik API Kullanımı %2$s ve %3$s Piwik API Referansına %4$s bakınız.", + "PluginDescription": "Piwik'teki tüm veri basit API tarafından ulaşılabilir. Bu plugin xml,json,php,csv ve benzeri ÅŸekildeki Web Analatik verisini çağırmak için web servis giriÅŸ noktasıdır.", + "ReportingApiReference": "API Referanslarını Raporlamak", "TopLinkTooltip": "Json, xml veya diÄŸerleri ile Api kullanarak eriÅŸin.", "UserAuthentication": "Kullanıcı kimlik doÄŸrulaması", - "UsingTokenAuth": "Bir script, cron vb içerisinden %1$s verisi çağırmak isterseniz, %2$s kimlik doÄŸrulama gerektiren API baÄŸlantılarına %3$s parametresini eklemelisiniz." + "UsingTokenAuth": "Bir script, cron vb içerisinden %1$s verisi çağırmak isterseniz, %2$s kimlik doÄŸrulama gerektiren API baÄŸlantılarına %3$s parametresini eklemelisiniz.", + "Glossary": "Sözlük", + "LearnAboutCommonlyUsedTerms": "Piwik analatiÄŸin çoÄŸu için ÅŸu sık kullanılan terimleri öğren :%1$s ve%2$s." } } \ No newline at end of file diff --git a/plugins/API/lang/zh-cn.json b/plugins/API/lang/zh-cn.json index 69404354653dcfb1d86fa337935dae20fcb29ace..f76730d65cd93c9025e3b254e017d891cd4ae0ef 100644 --- a/plugins/API/lang/zh-cn.json +++ b/plugins/API/lang/zh-cn.json @@ -4,8 +4,12 @@ "KeepTokenSecret": "授æƒå· token_auth 与您的å¸å·å’Œå¯†ç ä¸€æ ·é‡è¦ï¼Œ%1$s请ä¸è¦å…¬å¼€%2$sï¼", "LoadedAPIs": "å·²æˆåŠŸè½½å…¥ %s 个 APIs", "MoreInformation": "了解更多关于 Piwik APIs 的资讯,请访问 %1$sPiwik API 介ç»%2$s å’Œ %3$s Piwik API å‚考资料%4$s。", + "PluginDescription": "在Piwik所有数æ®ï¼Œå¯é€šè¿‡ç®€å•çš„API。这个æ’件是WebæœåŠ¡çš„åˆ‡å…¥ç‚¹ï¼Œé‚£ä½ å¯ä»¥æ‰“电è¯å¾—到XML,JSON,PHP,CSV,ç‰ä½ çš„Web Analyticsæ•°æ®", + "ReportingApiReference": "报告APIå‚考", "TopLinkTooltip": "通过一个简å•çš„ API,让您å¯ä»¥ä»¥ xml, json, åŠå…¶å®ƒæ ¼å¼å–得网站统计数æ®ã€‚", "UserAuthentication": "身份验è¯", - "UsingTokenAuth": "如果您想在代ç ã€å®šæ—¶ä»»åŠ¡ä¸ %1$s 请求资料,%2$s è¦åœ¨ API 调用需è¦è®¤è¯çš„网å€æ—¶å¢žåŠ å‚æ•° %3$s。" + "UsingTokenAuth": "如果您想在代ç ã€å®šæ—¶ä»»åŠ¡ä¸ %1$s 请求资料,%2$s è¦åœ¨ API 调用需è¦è®¤è¯çš„网å€æ—¶å¢žåŠ å‚æ•° %3$s。", + "Glossary": "è¯æ±‡è¡¨", + "LearnAboutCommonlyUsedTerms": "了解Piwik Analytics常用的术è¯ï¼š%1$s and %2$s。" } } \ No newline at end of file diff --git a/plugins/Actions/lang/sq.json b/plugins/Actions/lang/sq.json index c02a62e64881814f1e59054e3023eaaa6c08f982..7ba920bc2a8122316d6c86fd93265fe189b6a928 100644 --- a/plugins/Actions/lang/sq.json +++ b/plugins/Actions/lang/sq.json @@ -2,6 +2,7 @@ "Actions": { "AvgGenerationTimeTooltip": "Mesatare e bazuar në %1$s klikim(e) %2$s mes %3$s dhe %4$s", "ColumnClickedURL": "URL të klikuara", + "ColumnActionURL": "URL Veprimi", "ColumnClicks": "Klikime", "ColumnClicksDocumentation": "Sa herë është klikuar kjo lidhje.", "ColumnDownloadURL": "URL shkarkimesh", @@ -41,9 +42,9 @@ "PageUrls": "URL faqesh", "PluginDescription": "Raporte rreth parjes së faqeve dhe titujve të tyre. Ju lejon të matni motorin e brendshëm të kërkimeve të sajtit tuaj. Gjurmon vetvetiu klikimet drejt lidhjesh të jashtme dhe shkarkime kartelash.", "SiteSearchCategories1": "Ky raport paraqet kategoritë që vizitorët kanë përzgjedhur kur bënë një Kërkim te sajti juaj.", - "SiteSearchCategories2": "Për shembull, sajtet për e-tregti kanë zakonisht një përzgjedhës \"Kategorish\" që kështu vizitorët të mund t'i ngushtojnë kërkimet e tyre nga krejt produktet te një Kategori specifike.", + "SiteSearchCategories2": "Për shembull, sajtet për e-tregti kanë zakonisht një përzgjedhës \"Kategorish\", që kështu vizitorët të mund t’i ngushtojnë kërkimet e tyre nga krejt produktet te një Kategori specifike.", "SiteSearchFollowingPagesDoc": "Kur vizitorët kërkojnë te sajti juaj, ata shohin për një faqe, lëndë, produkt ose shërbim të veçantë. Ky raport paraqet faqet që qenë klikuar më shumë pas një kërkimi të brendshëm. Me fjalë të tjera, listën e faqeve më të kërkuara nga vizitorët tashmë brenda sajtit tuaj.", - "SiteSearchIntro": "Gjurmimi i kërkimeve që bëjnë vizitorët në sajtin tuaj është një rrugë shumë e efektshme për të mësuar më tepër rreth çka po kërkon publiku juaj, mund t'ju ndihmojë të gjeni ide për lëndë të re, produkte të reja e-tregtie që mund të jenë duke u kërkuar nga blerës potencialë, dhe përgjithësisht të përmirësoni për vizitorët punimin e sajtit tuaj.", + "SiteSearchIntro": "Gjurmimi i kërkimeve që bëjnë vizitorët në sajtin tuaj është një rrugë shumë e efektshme për të mësuar më tepër rreth çka po kërkon publiku juaj, mund t’ju ndihmojë të gjeni ide për lëndë të re, produkte të reja e-tregtie që mund të jenë duke u kërkuar nga blerës potencialë, dhe përgjithësisht të përmirësoni për vizitorët punimin e sajtit tuaj.", "SiteSearchKeyword": "Fjalëkyç (Kërkim te Sajti)", "SiteSearchKeywordsDocumentation": "Ky raport paraqet Fjalëkyçe Kërkimesh që vizitorët kanë bërë me Motorin tuaj të brendshëm të Kërkimeve.", "SiteSearchKeywordsNoResultDocumentation": "Ky raport paraqet Fjalëkyçe Kërkimesh që nuk patën ndonjë përfundim kërkimi: ndoshta algoritmi i motorit të kërkimit mund të përmirësohet, ose ndoshta vizitorët tuaj po kërkonin për lëndë që nuk gjendet (ende) në sajtin tuaj?", diff --git a/plugins/Actions/lang/tr.json b/plugins/Actions/lang/tr.json index 5e1060c57cbbc7b23d98fb217586e570abc66261..0c65af530a15f133d9935fb2c97dca73158e1b46 100644 --- a/plugins/Actions/lang/tr.json +++ b/plugins/Actions/lang/tr.json @@ -2,6 +2,7 @@ "Actions": { "AvgGenerationTimeTooltip": "Ortalama %1$s hit, %2$s arasında %3$s \/ %4$s 'e dayalı", "ColumnClickedURL": "Tıklanan Sayfa Adresleri", + "ColumnActionURL": "Aksiyon Adresi", "ColumnClicks": "Tıklamalar", "ColumnClicksDocumentation": "Tıklama sayısı", "ColumnDownloadURL": "Ä°ndirme Sayfa Adresleri", @@ -39,9 +40,11 @@ "PagesReportDocumentation": "Bu rapor ziyaret edilen sayfa URL'leri hakkında bilgi içerir. %s Tablo hiyerarÅŸik olarak düzenlenmiÅŸtir, URL'ler klasör yapısı ile görüntülenmektedir.", "PageTitlesReportDocumentation": "Bu rapor ziyaret edilen sayfaların baÅŸlıkları ile ilgili bilgi içerir. %1$s Sayfa baÅŸlığı, birçok tarayıcının pencere baÅŸlığında gösterdiÄŸi HTML %2$s imidir.", "PageUrls": "Sayfa Adresleri", + "PluginDescription": "Sayfa ziyaretleri ve sayfa baÅŸlıkları hakkında Raporlar. Kendi iç websitenin arama motorunu ölçmeye baÅŸla. Otomatik olarak harici linkleri ve dosya indirmeleri takip eder.", "SiteSearchCategories1": "Bu rapor, ziyaretçilerin sitenizde arama yaptıklarında seçtikleri kategorileri listelemektedir.", "SiteSearchCategories2": "Örnek olarak, E-Ticaret websitelerinde tipik bir \"Kategori\" seçimi vardır böylece ziyaretçiler aramalarını belirli bir kategori içindeki tüm ürünler ile kısıtlayabilirler.", "SiteSearchFollowingPagesDoc": "Ziyaretçileriniz web sitenizde arama yaptığında belirli bir sayfa, içerik, ürün ya da hizmete bakarlar. Bu rapor, web siteniz içinde yapılan bir aramadan sonra en çok tıklanan sayfalarınızı listeler. DiÄŸer bir deyiÅŸle, web sitenizdeki mevcut ziyaretçilerinizin en çok aradığı sayfaları gösterir.", + "SiteSearchIntro": "Sitenizi ziyaret edenleri takip etmek, hedef kitlenizin nee baktığını anlamak için çok etkili bir yol, yeni içerik ile potansiyel müşterilerin arayabileceÄŸi yeni e-ticaret ürünlerini eklemde yardımcı, ve ziyaretçilerin genel kullanıcı deneyimini arttıran bir araçtır.", "SiteSearchKeyword": "Anahtar Kelime (Site Arama)", "SiteSearchKeywordsDocumentation": "Bu rapor, ziyaretçilerinizin Arama Motorunda aradığı Anahtar Kelimeleri listeler.", "SiteSearchKeywordsNoResultDocumentation": "Bu rapordaki arama terimi herhangi bir sonuç döndüremedi: arama motoru algoritması yükselme yada ziyaretçiler sitenizde olmayan bir içeriÄŸi aranma ihtimali olabilir mi ?", @@ -58,6 +61,7 @@ "WidgetPageUrlsFollowingSearch": "Site Aramasını Takip eden Sayfalar", "WidgetSearchCategories": "Arama Kategorileri", "WidgetSearchKeywords": "Arama Kelimeleri", - "WidgetSearchNoResultKeywords": "Sonuç dönmeyen Arama Kelimeleri" + "WidgetSearchNoResultKeywords": "Sonuç dönmeyen Arama Kelimeleri", + "ActionType": "Aksiyon Tipi" } } \ No newline at end of file diff --git a/plugins/Actions/lang/zh-cn.json b/plugins/Actions/lang/zh-cn.json index 6f067e99b509bc8acb69eb4e44b0f7b73c55989e..74c06d6e4a434953e1c322ac9653c9c6ddb37805 100644 --- a/plugins/Actions/lang/zh-cn.json +++ b/plugins/Actions/lang/zh-cn.json @@ -2,6 +2,7 @@ "Actions": { "AvgGenerationTimeTooltip": "å¹³å‡å€¼åŸºäºŽ %1$s 次访问 %2$s,介于 %3$s å’Œ %4$s 之间", "ColumnClickedURL": "点击的网å€", + "ColumnActionURL": "æ“作网å€", "ColumnClicks": "点击次数", "ColumnClicksDocumentation": "链接被点击的次数", "ColumnDownloadURL": "下载的网å€", @@ -60,6 +61,7 @@ "WidgetPageUrlsFollowingSearch": "站内æœç´¢çš„结果页é¢", "WidgetSearchCategories": "æœç´¢ç±»åˆ«", "WidgetSearchKeywords": "站内æœç´¢å…³é”®è¯", - "WidgetSearchNoResultKeywords": "没有查到结果的关键è¯" + "WidgetSearchNoResultKeywords": "没有查到结果的关键è¯", + "ActionType": "æ“作类型" } } \ No newline at end of file diff --git a/plugins/Annotations/lang/tr.json b/plugins/Annotations/lang/tr.json index bd7775adfcca8bc334b4c3ec212fa65222a1b6cb..dc3ba67ba7b34d0f7a0da5988a006e699faa656e 100644 --- a/plugins/Annotations/lang/tr.json +++ b/plugins/Annotations/lang/tr.json @@ -15,6 +15,7 @@ "InlineQuickHelp": "Önemli olduÄŸunu düşündüğünüz yada veri analizleriniz için özel anonslar oluÅŸturabilirsiniz (yeni yazılar yada site yenilenmesi gibi)", "LoginToAnnotate": "Not eklemek için giriÅŸ yapmalısınız.", "NoAnnotations": "Bu tarih aralığı için not yok.", + "PluginDescription": "Websiteniz de yaptığınız deÄŸiÅŸiklikleri farklı günlerde belirtmek için not eklemeye izin verir, veriniz ile ilgili analizleri saklar ve bunları meslektaÅŸlarınız ile birlikte paylaÅŸmanıza izn verir. Neden o veriye baktığınızı hatırlamanızdan emin olmak için veriye dipnot koyar.", "ViewAndAddAnnotations": "%s için notları göster ve yeni not ekle...", "YouCannotModifyThisNote": "Bunu deÄŸiÅŸtiremezsiniz. Bunun için bu siteye yönetici eriÅŸiminiz olması gerekli." } diff --git a/plugins/Contents/lang/de.json b/plugins/Contents/lang/de.json index 61cb4074fa2f7b584342a153533829d3e502c367..4d58b2608468a076a45e9fd4ed45dcbf25557730 100644 --- a/plugins/Contents/lang/de.json +++ b/plugins/Contents/lang/de.json @@ -1,6 +1,6 @@ { "Contents": { - "PluginDescription": "Content und Banner Tracking gibt Ihnen die Möglichkeit die Performance (Ansichten, Klicks, CTR) von einem beliebigen Stück Content (Banner-Werbung, Bild, beliebiges Element) auf Ihrer Seite zu messen.", + "PluginDescription": "Content- und Banner-Tracking gibt Ihnen die Möglichkeit, die Performance (Ansichten, Klicks, CTR) von einem beliebigen Stück Content (Banner-Werbung, Bild, beliebiges Element) auf Ihrer Seite zu messen.", "Impressions": "Impressionen", "Interactions": "Interaktionen", "Interaction": "Interaktion", diff --git a/plugins/Contents/lang/tr.json b/plugins/Contents/lang/tr.json index 0799894fd43af12a00fff0df7632d67ddec164db..6549aa9b32007cf1f1f9a79cc1b60d5651bde6a7 100644 --- a/plugins/Contents/lang/tr.json +++ b/plugins/Contents/lang/tr.json @@ -1,5 +1,6 @@ { "Contents": { + "PluginDescription": "İçerik ve reklam izleme sayfandaki herhangi bir içeriÄŸin (reklam, resim, herhangi bir öğenin) yerinin performansını (görünme, tıklamalar, CTR) izlemene yarar.", "Impressions": "Gösterimler", "Interactions": "EtkileÅŸimler", "Interaction": "EtkileÅŸim", @@ -7,6 +8,9 @@ "ContentName": "İçerik Ä°smi", "ContentPiece": "İçerik Parçası", "ContentTarget": "İçerik Hedefi", - "Contents": "İçerikler" + "Contents": "İçerikler", + "InteractionsMetricDocumentation": "İçeriÄŸin kaç kere engellendiÄŸi (banner veya reklamdaki 'click' ler gibi)", + "ImpressionsMetricDocumentation": "Banner ve reklamlar gibi içeriklerin kaç kere gösterildiÄŸi", + "InteractionRateMetricDocumentation": "İçeriÄŸin gösterimi ile etkileÅŸim oranı" } } \ No newline at end of file diff --git a/plugins/Contents/lang/zh-cn.json b/plugins/Contents/lang/zh-cn.json new file mode 100644 index 0000000000000000000000000000000000000000..dc1b8b1052bc309bc51b3da5a6039408c92584e6 --- /dev/null +++ b/plugins/Contents/lang/zh-cn.json @@ -0,0 +1,16 @@ +{ + "Contents": { + "PluginDescription": "内容和横幅跟踪,您å¯ä»¥è¡¡é‡æ‚¨çš„网页上任何一部分内容(横幅广告,图åƒï¼Œä»»ä½•é¡¹ç›®ï¼‰çš„性能(æµè§ˆæ¬¡æ•°ï¼Œç‚¹å‡»æ¬¡æ•°ï¼Œç‚¹å‡»çŽ‡ï¼‰ã€‚", + "Impressions": "å°è±¡", + "Interactions": "互动", + "Interaction": "互动", + "InteractionRate": "互动率", + "ContentName": "内容å称", + "ContentPiece": "内容å—", + "ContentTarget": "å†…å®¹ç›®æ ‡", + "Contents": "内容", + "InteractionsMetricDocumentation": "内容å—上的互动次数(例如,点击横幅或广告)", + "ImpressionsMetricDocumentation": "内容å—的次数,例如显示在页é¢ä¸Šçš„一个横幅或是广告。", + "InteractionRateMetricDocumentation": "内容展示和互动的比率。" + } +} \ No newline at end of file diff --git a/plugins/CoreAdminHome/lang/de.json b/plugins/CoreAdminHome/lang/de.json index 89bfcdb50c6d3ecbc18fb32aa349875df18c4974..ac9cac47d6c1de4451ebfdf86cff5cca3c0c019e 100644 --- a/plugins/CoreAdminHome/lang/de.json +++ b/plugins/CoreAdminHome/lang/de.json @@ -17,7 +17,7 @@ "ImageTrackingIntro2": "Generieren Sie den Link unten und kopieren Sie den generierten HTML-Code in Ihre Seite. Sollten Sie dies als Fallback für das JavaScript Tracking verwenden, umschließen sie es mit einem %1$s Tag.", "ImageTrackingIntro3": "Eine vollständige Liste an Möglichkeiten, die Ihnen das Tracking mit einem Bild bietet, finden Sie in der %1$sTracking API Dokumentation%2$s", "ImageTrackingLink": "Link zum Tracking mit Hilfe eines Bildes", - "ImportingServerLogs": "Import von Server Log-Dateien", + "ImportingServerLogs": "Server Log-Dateien importieren", "ImportingServerLogsDesc": "Eine Alternative zum Tracken der Besucher im Browser (entweder mit JavaScript oder mit einem Bild-Link) ist der kontinuierliche Import von Server Logdateien. Erfahren Sie mehr über %1$sServer Logdatei Analyse%2$s", "InvalidPluginsWarning": "Folgende Plugins sind nicht kompatibel mit %1$s und konnten nicht geladen werden: %2$s", "InvalidPluginsYouCanUninstall": "Sie können diese Plugins auf der %1$sPlugins verwalten%2$s Seite aktualisieren oder deinstallieren.", @@ -88,6 +88,7 @@ "YouMayOptOut": "Sie können sich hier entscheiden, ob in Ihrem Browser ein eindeutiger Webanalyse-Cookie abgelegt werden darf, um dem Betreiber der Website die Erfassung und Analyse verschiedener statistischer Daten zu ermöglichen.", "YouMayOptOutBis": "Wenn Sie sich dagegen entscheiden möchten, klicken Sie den folgenden Link, um den Piwik-Deaktivierungs-Cookie in Ihrem Browser abzulegen.", "OptingYouOut": "Deaktivierung wird durchgeführt, bitte warten...", - "ProtocolNotDetectedCorrectly": "Sie betrachten Piwik momentan über eine sichere SSL-Verbindung (mittels HTTPS), aber Piwik konnte auf dem Server nur eine nicht sichere Verbindung feststellen." + "ProtocolNotDetectedCorrectly": "Sie betrachten Piwik momentan über eine sichere SSL-Verbindung (mittels HTTPS), aber Piwik konnte auf dem Server nur eine nicht sichere Verbindung feststellen.", + "ProtocolNotDetectedCorrectlySolution": "Um sicherzustellen, dass Piwik jegliche Anfragen und Inhalte via HTTPS ausliefert, ist es zwingend notwendig, die %1$s-Datei zu bearbeiten, die Proxy-Einstellungen zu überprüfen oder die Zeile %2$s unter dem Abschnitt %3$s hinzuzufügen. %4$sMehr erfahren%5$s" } } \ No newline at end of file diff --git a/plugins/CoreAdminHome/lang/sq.json b/plugins/CoreAdminHome/lang/sq.json index 33bf6ac6511997200a0a5a25ea1368c7a4ac50f1..3db2572545bd0d4a9c995886c098859a07bf2f10 100644 --- a/plugins/CoreAdminHome/lang/sq.json +++ b/plugins/CoreAdminHome/lang/sq.json @@ -1,5 +1,6 @@ { "CoreAdminHome": { + "AddNewTrustedHost": "Shtoni një strehë të re të besuar", "Administration": "Administrim", "BrandingSettings": "Rregullime marke", "ClickHereToOptIn": "Klikoni këtu për të kryer \"opt in\"", @@ -7,13 +8,14 @@ "CustomLogoFeedbackInfo": "Nëse e përshtatni logon e Piwik-ut, mund t’ju interesonte edhe fshehja lidhjes %1$s te menuja në krye. Për ta bërë këtë, mund të çaktivizoni shtojcën e Përshtypjeve te faqja e %2$sAdministrimit të Shtojcëve%3$s.", "CustomLogoHelpText": "Logon e Piwik-ut, që do të shfaqet në ndërfaqen e përdoruesit dhe raportet email.", "EmailServerSettings": "Rregullime shërbyesi email", + "ForBetaTestersOnly": "Vetëm për testues beta", "LogoUpload": "Përzgjidhni një Logo për ta ngarkuar", "MenuDiagnostic": "Diagnostikim", "MenuGeneralSettings": "Rregullime të përgjithshme", "MenuManage": "Administroni", - "OptOutComplete": "\"Opt-out\" u plotësua; vizitat tuaja në këtë \"site\" web nuk do të regjistrohen nga mjeti Analiza Web.", - "OptOutCompleteBis": "Mbani parasysh që nëse i hiqni \"cookie\"-t tuaja, fshini \"cookie\"-in për \"opt-out\", ose ndërroni kompjuter apo shfletues Web, do t'ju duhet të kryeni sërish procedurën për \"opt-out\".", - "OptOutExplanation": "Piwik-u është i përkushtuar ndaj mundësimit të vetësisë në Internet. Për t'u dhënë mundësinë e zgjedhjes së \"opt-out\" te Analizat Web Piwik, mund të shtoni kodin HTML vijues te një nga faqet e site-it tuaj web, për shembull te faqja e Rregullave të Vetësisë.", + "OptOutComplete": "\"Opt-out\" u plotësua; vizitat tuaja në këtë sajt s’do të regjistrohen nga mjeti Analiza Web.", + "OptOutCompleteBis": "Mbani parasysh që nëse i hiqni cookie-t tuaja, fshini cookie-in për \"opt-out\", ose ndërroni kompjuter apo shfletues Web, do t’ju duhet të kryeni sërish procedurën për \"opt-out\".", + "OptOutExplanation": "Piwik-u është i përkushtuar ndaj mundësimit të privatësisë në Internet. Për t’u dhënë mundësinë e zgjedhjes së \"opt-out\" te Analizat Web Piwik, mund të shtoni kodin HTML vijues te një nga faqet e sajtit tuaj, për shembull te faqja e Rregullave të Privatësisë.", "OptOutExplanationBis": "Ky kod do të shfaqë një Iframe që përmban një lidhje me të cilën vizitorët të mund të zgjedhin \"opt-out\" për Piwik-un, duke depozituar një \"opt-out cookie\" në shfletuesin e tyre. %1$s Klikoni këtu%2$s që të shihni lëndën që do të shfaqet nga iFrame-i.", "OptOutForYourVisitors": "\"Opt-out\" i Piwik-ut për vizitorët tuaj", "PiwikIsInstalledAt": "Piwik-u është instaluar te", @@ -23,7 +25,7 @@ "ValidPiwikHostname": "Strehëemër e Vlefshme Piwik", "YouAreOptedIn": "Tani jeni nën \"opt-in\"", "YouAreOptedOut": "Tani jeni nën \"opt-out\"", - "YouMayOptOut": "Mundet edhe të zgjidhni të mos ju përshoqërohet një numër unik identifikimi \"cookie\" analizash web për kompjuterin tuaj, për të shmangur mbledhjen dhe analizimin e të dhënave të mbledhura në këtë \"site\" web.", + "YouMayOptOut": "Mundet edhe të zgjidhni të mos ju përshoqërohet një numër unik identifikimi \"cookie\" analizash web për kompjuterin tuaj, për të shmangur mbledhjen dhe analizimin e të dhënave të mbledhura në këtë sajt.", "YouMayOptOutBis": "Për ta bërë këtë zgjedhje, ju lutem klikoni më poshtë që të merrni një \"cookie\" \"opt-out\"." } } \ No newline at end of file diff --git a/plugins/CoreAdminHome/lang/sv.json b/plugins/CoreAdminHome/lang/sv.json index e00f68b9a4fb2d79a09301914681d2d0fdbe4397..6cb5fc81276ebc8f4e11f9ce103f78816b3a45c6 100644 --- a/plugins/CoreAdminHome/lang/sv.json +++ b/plugins/CoreAdminHome/lang/sv.json @@ -4,6 +4,7 @@ "Administration": "Administration", "ArchivingSettings": "Inställningar för arkivering", "BrandingSettings": "Varumärkesinställningar", + "ReleaseChannel": "Lanseringskanal", "ClickHereToOptIn": "Klicka här för att gÃ¥ med.", "ClickHereToOptOut": "Klicka här för att gÃ¥ ur.", "CustomLogoFeedbackInfo": "Om du anpassar Piwik's logotyp, kanske du ocksÃ¥ är intresserad av att dölja %1$s länken i toppmenyn. För att göra detta kan du inaktivera pluginen Feedback pÃ¥ sidan %2$sHantera Plugins%3$s.", @@ -48,6 +49,7 @@ "JSTrackingIntro5": "Om du vill göra mer än att spÃ¥ra antal sedda sidor, titta pÃ¥ %1$sPiwiks lista av dokumentation för Javascripts SpÃ¥rning%2$s, där hittar du en lista med tillgängliga funktioner. Använd dessa funktioner för att spÃ¥ra mÃ¥l, skräddarsy variabler, e-handel, övergivna korgar med mera.", "LogoNotWriteableInstruction": "Om du vill använda din egen logotyp istället för Piwiks logotyp, se till sÃ¥ att det finns skrivrättigheter till denna katalog: %1$s. Piwik behöver skrivrättighet för dina logotyper som lagras i filerna %2$s.", "FileUploadDisabled": "Uppladdning av filer är inte aktiverat i din PHP-konfiguration. För att ladda upp din egen logo, sätt %s i php.ini och starta om din webbläsare.", + "LogoUploadFailed": "Den uppladdade filen kunde inte behandlats. Var snäll och kontrollera om filen är i giltigt format.", "LogoUpload": "Välj en logotyp att ladda upp", "FaviconUpload": "Välj en Favicon att ladda upp", "LogoUploadHelp": "Ladda upp en fil i %1$s format med en minsta höjd pÃ¥ %2$s pixlar.", diff --git a/plugins/CoreAdminHome/lang/zh-cn.json b/plugins/CoreAdminHome/lang/zh-cn.json index 4f776e7267b0ca8efb8447979753a451ca7c4eb0..e2c1b19591db4a10a580e7b9bb7d3e5209d46980 100644 --- a/plugins/CoreAdminHome/lang/zh-cn.json +++ b/plugins/CoreAdminHome/lang/zh-cn.json @@ -1,8 +1,10 @@ { "CoreAdminHome": { + "AddNewTrustedHost": "æ·»åŠ ä¸€ä¸ªæ–°çš„å—信任主机", "Administration": "管ç†", "ArchivingSettings": "归档设置", "BrandingSettings": "å›¾æ ‡è®¾ç½®", + "ReleaseChannel": "释放通é“", "ClickHereToOptIn": "ç‚¹è¿™é‡Œä¸»åŠ¨åŠ å…¥ã€‚", "ClickHereToOptOut": "点这里主动退出。", "CustomLogoFeedbackInfo": "如果您定制 Piwik å›¾æ ‡ï¼Œå¯èƒ½æƒ³åœ¨é¡¶éƒ¨èœå•éšè— %1$s 链接,在 %2$s管ç†æ’件%3$s 页é¢ç¦ç”¨ Feedback æ’件。", @@ -22,8 +24,11 @@ "JavaScriptTracking": "JavaScript 跟踪", "JSTracking_CampaignKwdParam": "广告关键è¯å‚æ•°", "JSTracking_CampaignNameParam": "广告å称å‚æ•°", + "JSTracking_CodeNoteBeforeClosingHead": "请ä¿è¯æ¤ä»£ç 在您的æ¯ä¸€ä¸ªé¡µé¢ä¸Šã€‚我们建议您马上粘贴这些代ç åœ¨è¿™äº›æ ‡ç¾ä¹‹å‰ï¼š%1$s。", "JSTracking_CustomCampaignQueryParam": "广告å称和关键è¯ä½¿ç”¨è‡ªå®šä¹‰æœç´¢å‚æ•°å", "JSTracking_CustomCampaignQueryParamDesc": "æ示: %1$sPiwik 会自动检测 Google 分æžå‚数。%2$s", + "JSTracking_DisableCookies": "ç¦ç”¨æ‰€æœ‰è·Ÿè¸ªcookie", + "JSTracking_DisableCookiesDesc": "ç¦ç”¨æ‰€æœ‰ç¬¬ä¸€æ¬¡è®¿é—®çš„Cookie。本网站现有的Piwik cookes将会在下次页é¢è®¿é—®æ—¶å…¨éƒ¨åˆ 除。", "JSTracking_EnableDoNotTrack": "å¯ç”¨è®¿å®¢ DoNotTrack 检测", "JSTracking_EnableDoNotTrack_AlreadyEnabled": "æ示: æœåŠ¡å™¨ç«¯çš„ DoNotTrack 支æŒå·²å¯ç”¨ï¼Œè¿™ä¸ªé€‰é¡¹æ— 效。", "JSTracking_EnableDoNotTrackDesc": "如果访客ä¸æ„¿æ„被统计,将ä¸ä¼šå‘é€ç»Ÿè®¡è¯·æ±‚。", @@ -42,24 +47,34 @@ "JSTrackingIntro3": "多数网站,例如åšå®¢ã€å†…容管ç†ç½‘ç«™ç‰ï¼Œæ‚¨å¯ä»¥ä½¿ç”¨å·²æœ‰çš„æ’件。(è§ %1$sç”¨äºŽé›†æˆ Piwik çš„æ’件列表%2$s) 如果没有æ’件,您å¯ä»¥ä¿®æ”¹ç½‘站模æ¿ï¼ŒæŠŠè¿™æ®µä»£ç åŠ å…¥ \"footer\" 文件。", "JSTrackingIntro4": "如果您ä¸æƒ³ç”¨ JavaScript æ¥è·Ÿè¸ªè®¿å®¢ï¼Œ%1$s在下é¢ç”Ÿæˆå›¾ç‰‡è·Ÿè¸ªé“¾æŽ¥%2$s。", "JSTrackingIntro5": "如果除了统计访问次数,请在 %1$sPiwik Javascript 跟踪文档%2$s ä¸æŸ¥çœ‹æ›´å¤šçš„功能列表。通过这些功能,您å¯ä»¥è·Ÿè¸ªç›®æ ‡ã€è‡ªå®šä¹‰å˜é‡ã€è®¢å•ã€ä¸¢å¼ƒçš„è´ç‰©è½¦ç‰ã€‚", + "LogoNotWriteableInstruction": "è¦ä½¿ç”¨æ‚¨çš„自定义logo替代默认Piwik logo,您需è¦æ¤ç›®å½•çš„æƒé™ï¼š%1$s。Piwik需è¦%2$s的写入æƒé™ä»¥ä¾¿å°†æ‚¨çš„logoå˜å…¥ã€‚", + "FileUploadDisabled": "您的phpé…置关é—了PHPæ–‡ä»¶ä¸Šä¼ ï¼Œå¦‚æžœä½ è¦ä¸Šä¼ ä½ çš„è‡ªå®šä¹‰Logoï¼Œä½ éœ€è¦è®¾ç½® %s 在 php.ini文件,然åŽé‡å¯æ‚¨çš„WEBæœåŠ¡å™¨ã€‚", + "LogoUploadFailed": "ä¸Šä¼ çš„æ–‡ä»¶æ— æ³•å¤„ç†ã€‚请检查文件是å¦å…·æœ‰æœ‰æ•ˆçš„æ ¼å¼ã€‚", "LogoUpload": "é€‰æ‹©ä¸€ä¸ªå›¾æ ‡ä¸Šä¼ ", "FaviconUpload": "é€‰æ‹©ä¸Šä¼ å›¾æ ‡", "LogoUploadHelp": "è¯·ä¸Šä¼ %1$s æ ¼å¼çš„文件,最å°é«˜åº¦ %2$s 点。", "MenuDiagnostic": "检测", "MenuGeneralSettings": "一般设置", "MenuManage": "管ç†", + "MenuDevelopment": "展开", "OptOutComplete": "主动退出 æˆåŠŸ; 网站分æžå·¥å…·å°†ä¸ä¼šç»Ÿè®¡æ‚¨å¯¹è¿™ä¸ªç½‘站的访问。", "OptOutCompleteBis": "如果您清空了cookiesã€åˆ 除了主动退出cookieã€æˆ–者更æ¢äº†ç”µè„‘或者æµè§ˆå™¨ï¼Œæ‚¨éœ€è¦é‡æ–°æ‰§è¡Œä¸»åŠ¨é€€å‡ºçš„æ“作。", + "OptOutDntFound": "æ‚¨çš„è®¿é—®æ²¡æœ‰è¢«è®°å½•ï¼Œå› ä¸ºæ‚¨çš„æµè§ˆå™¨è®¾ç½®äº†â€œè¯·å‹¿è·Ÿè¸ªâ€ã€‚这是您的æµè§ˆå™¨çš„设置,您å¯ä»¥å…³é—“请勿跟踪â€è®¾ç½®ï¼Œä»¥ä¾¿äºŽæ£ç¡®è®°å½•è®¿é—®æ•°é‡ã€‚", "OptOutExplanation": "Piwik 致力于 Internet éšç§ä¿æŠ¤ã€‚为了给访客æ供主动退出 Piwik 网页分æžçš„选项, 您å¯ä»¥åœ¨ä¸€ä¸ªç½‘é¡µä¸Šæ·»åŠ ä¸‹é¢çš„HTML代ç , 例如在éšç§ä¿æŠ¤é¡µé¢ã€‚", "OptOutExplanationBis": "本代ç 将显示一个包å«é“¾æŽ¥çš„ Iframe,供访客在æµè§ˆå™¨ä¸è®¾ç½®ä¸»åŠ¨é€€å‡ºçš„ cookie æ¥é€€å‡º Piwik 的统计。%1$s 点这里%2$s 查看将在 iFrame 里显示的内容。", "OptOutForYourVisitors": "访客主动退出 Piwik", "PiwikIsInstalledAt": "Piwik 安装在", + "PersonalPluginSettings": "个人æ’件设置", "PluginSettingChangeNotAllowed": "ä¸å…许更改æ’件"%1$s"ä¸é…置"%2$s"的值", + "PluginSettingReadNotAllowed": "ä¸å…许读å–æ’件"%1$s"ä¸é…置"%2$s"的值", + "PluginSettings": "æ’件设置", "PluginSettingsIntro": "è¿™é‡Œï¼Œä½ å¯ä»¥æ›´æ”¹ä¸‹åˆ—第三方æ’件的é…置:", "PluginSettingsValueNotAllowed": "æ’件\"%1$s\"ä¸çš„域\"%2$s\"的值是ä¸è¢«å…许的", "PluginSettingsSaveFailed": "ä¿å˜æ’件设置失败", + "SendPluginUpdateCommunication": "有新的æ’件更新时给我å‘é€é‚®ä»¶", "SendPluginUpdateCommunicationHelp": "æ’件有新版本时将会给超级管ç†å‘˜å‘é€é‚®ä»¶", "StableReleases": "如果Piwik对您的业务很é‡è¦ï¼Œæˆ‘们建议您使用最新的稳定版。如果使用最新测试版,å‘现了问题或有建议,请%1$s看这里%2$s。", + "LtsReleases": "LTS(长期支æŒï¼‰ç‰ˆæœ¬åªæŽ¥æ”¶å®‰å…¨æ€§å’Œbugä¿®å¤ã€‚", "SystemPluginSettings": "系统æ’件设置", "TrackAGoal": "è·Ÿè¸ªç›®æ ‡", "TrackingCode": "跟踪代ç ", @@ -72,6 +87,9 @@ "YouAreOptedIn": "çŽ°åœ¨æ˜¯ä¸»åŠ¨åŠ å…¥ã€‚", "YouAreOptedOut": "现在是主动退出。", "YouMayOptOut": "您å¯ä»¥é€‰æ‹©ä¸ç»™æ‚¨çš„ç”µè„‘è®¾å®šå”¯ä¸€çš„ç½‘ç«™åˆ†æž cookie æ ‡è¯†å·ï¼Œä»¥é¿å…被这个网站æœé›†å’Œåˆ†æžè®¿é—®æ•°æ®ã€‚", - "YouMayOptOutBis": "点击下é¢é“¾æŽ¥å¯è®¾ç½®ä¸»åŠ¨é€€å‡ºçš„ cookie。" + "YouMayOptOutBis": "点击下é¢é“¾æŽ¥å¯è®¾ç½®ä¸»åŠ¨é€€å‡ºçš„ cookie。", + "OptingYouOut": "é€‰æ‹©åŠ å…¥ä½ ï¼Œè¯·ç¨å€™...", + "ProtocolNotDetectedCorrectly": "您æ£åœ¨æµè§ˆPiwik通过安全SSL连接 (使用HTTPS),但Piwikåªèƒ½æ£€æµ‹åˆ°æœåŠ¡å™¨ä¸Šçš„éžå®‰å…¨è¿žæŽ¥ã€‚", + "ProtocolNotDetectedCorrectlySolution": "为了确ä¿Piwik安全è¦æ±‚,å¯ä»¥é€šè¿‡HTTPSæ¥è®¿é—®æ‚¨çš„å†…å®¹ï¼Œä½ å¯ä»¥ç¼–è¾‘ä½ çš„%1$s æ–‡ä»¶ï¼Œæ— è®ºæ˜¯é…置代ç†æœåŠ¡å™¨è®¾ç½®ï¼Œæˆ–者å¯ä»¥æ·»åŠ 如下代ç %2$s在%3$s下。 %4$s详细了解%5$s" } } \ No newline at end of file diff --git a/plugins/CoreHome/javascripts/corehome.js b/plugins/CoreHome/javascripts/corehome.js index 6863dd039383143432b7e9705b573dce7fec9440..b0ac486b102cadb97368db74d077740eccbda078 100755 --- a/plugins/CoreHome/javascripts/corehome.js +++ b/plugins/CoreHome/javascripts/corehome.js @@ -138,5 +138,4 @@ $( document ).ready(function() { $('a[name="main"]').attr('tabindex', -1).focus(); $(window).scrollTo($('a[name="main"]')); }); - -}); +}); \ No newline at end of file diff --git a/plugins/CoreHome/javascripts/dataTable.js b/plugins/CoreHome/javascripts/dataTable.js index 885603c0e77ebb90906835b474d953ce7f587183..4386a4bf7bb6b1b80e1a8c1d999af1409e640fe1 100644 --- a/plugins/CoreHome/javascripts/dataTable.js +++ b/plugins/CoreHome/javascripts/dataTable.js @@ -845,7 +845,7 @@ $.extend(DataTable.prototype, UIControl.prototype, { if (oldDate) { $('span', annotations).each(function () { if ($(this).attr('data-date') == oldDate) { - $(this).attr('title', viewAndAdd.replace("%s", oldDate)); + $(this).attr('title', sprintf(viewAndAdd, oldDate)); return false; } }); @@ -853,10 +853,10 @@ $.extend(DataTable.prototype, UIControl.prototype, { // change the tooltip of the clicked evolution icon if (manager.is(':hidden')) { - spanSelf.attr('title', viewAndAdd.replace("%s", date)); + spanSelf.attr('title', sprintf(viewAndAdd, date)); } else { - spanSelf.attr('title', hideNotes.replace("%s", date)); + spanSelf.attr('title', sprintf(hideNotes, date)); } } ); diff --git a/plugins/CoreHome/javascripts/popover.js b/plugins/CoreHome/javascripts/popover.js index f6947698218f82e8df0a952cf2f266880d23ab02..28cad1f3f92e15132e7c8f319c441a0a0c3ac303 100644 --- a/plugins/CoreHome/javascripts/popover.js +++ b/plugins/CoreHome/javascripts/popover.js @@ -85,7 +85,7 @@ var Piwik_Popover = (function () { var loadingMessage = popoverSubject ? translations.General_LoadingPopoverFor : translations.General_LoadingPopover; - loadingMessage = loadingMessage.replace(/%s/, popoverName); + loadingMessage = sprintf(loadingMessage, popoverName); var p1 = $(document.createElement('p')).addClass('Piwik_Popover_Loading_Name'); loading.append(p1.text(loadingMessage)); diff --git a/plugins/CoreHome/javascripts/top_controls.js b/plugins/CoreHome/javascripts/top_controls.js index 96d37ffb00783a4bb886f5ad1f975ff44a62bc69..0f98557da3f4977644da06347535aedac0eae3b7 100644 --- a/plugins/CoreHome/javascripts/top_controls.js +++ b/plugins/CoreHome/javascripts/top_controls.js @@ -98,6 +98,22 @@ function toggleCalendar(e){ } } +//Keyboard controls for Top Controls Calendar through tab and enter. +$( document ).ready(function() { + $('.periodSelector').keydown(function(e){ + toggleCalendar(e); + }) + + blockPropegation(); + + $('.periodSelector .form-radio').keydown(function(e){ + e.stopPropagation(); + if(e.which==13){ + selectPeriodRadioButton($(this)); + } + }) +}); + function selectPeriodRadioButton(button){ $('.periodSelector .form-radio').removeClass('checked'); button.addClass('checked'); diff --git a/plugins/CoreHome/lang/sq.json b/plugins/CoreHome/lang/sq.json index 05a0379a62cb3206207261561c7ce1e395108300..204ab6082706efa2f3739f256808e58fd04a8fdf 100644 --- a/plugins/CoreHome/lang/sq.json +++ b/plugins/CoreHome/lang/sq.json @@ -2,12 +2,16 @@ "CoreHome": { "CategoryNoData": "Pa të dhëna për këtë kategori. Provoni të \"Përfshini tërë popullatën\".", "CheckForUpdates": "Kontrollo për përditësime", + "CheckPiwikOut": "Provojeni Piwik-un!", + "ClickToEditX": "Klikoni që të përpunoni %s", "DataForThisReportHasBeenPurged": "Të dhënat e këtij raporti janë më të vjetra se %s muaj dhe u pastruan.", + "Default": "parazgjedhje", "JavascriptDisabled": "Që të mund të përdorni Piwik-un në parjen standarde duhet të aktivizohet JavaScript-i.<br \/>Por ja që duket se ose JavaScript-i është i çaktivizuar, ose nuk mbulohet nga shfletuesi juaj.<br \/>Që të përdorni parjen standarde, aktivizoni JavaScript-in duke ndryshuar mundësitë përkatëse te shfletuesi juaj, mandej %1$sriprovoni%2$s.<br \/>", - "NoPrivilegesAskPiwikAdmin": "Jeni i futur si '%1$s' por duket se nuk keni leje të rregulluara për ju në Piwik. %2$s Kërkojini administratorit tuaj te Piwik (klikoni që t’i dërgoni email)%3$s që t’ju japë të drejta 'parjesh' te një site web.", + "NoPrivilegesAskPiwikAdmin": "Jeni i futur si '%1$s' por duket se s’keni leje të rregulluara për ju në Piwik. %2$s Kërkojini administratorit tuaj te Piwik (klikoni që t’i dërgoni email)%3$s që t’ju japë të drejta 'parjesh' te një sajt.", "PageOf": "%1$s nga %2$s", "ShowJSCode": "Shfaqe kodin JavaScript që duhet futur", "ThereIsNoDataForThisReport": "Nuk ka të dhëna për këtë raport.", - "WebAnalyticsReports": "Raporte Analizash Web" + "WebAnalyticsReports": "Raporte Analizash Web", + "Segments": "Segmente" } } \ No newline at end of file diff --git a/plugins/CoreHome/lang/tr.json b/plugins/CoreHome/lang/tr.json index eddff9951ebaa22116711566514ab08efd1103bf..88dbbe2e7bc767e624cb4457f05f95ef556d0b31 100644 --- a/plugins/CoreHome/lang/tr.json +++ b/plugins/CoreHome/lang/tr.json @@ -21,6 +21,7 @@ "InjectedHostWarningIntro": "Åžu anda Piwik'e %1$s 'den giriÅŸ yapıyorsunuz ama Piwik ÅŸu adreste çalışması için ayarlandı: %2$s.", "MakeADifference": "Farklılık yarat: Piwik 2.0'ı finanse etmek için ÅŸimdi %1$s bağışla %2$s", "MakeOneTimeDonation": "Onun yerine bir defalık bağış yapın", + "Menu": "Menü", "OnlyForSuperUserAccess": "Bu widget sadece Super User seviyesinde olan kullanıcılara görüntülenir.", "PageOf": "%1$s nin %2$s", "PeriodRange": "Aralık", @@ -29,12 +30,15 @@ "SharePiwikShort": "Piwik! Ãœcretsiz web takibi ve analizi. Kendi verilerinizle.", "ShareThis": "paylaÅŸ", "ShowJSCode": "Eklenecek JavaScript kodu göster", + "SkipToContent": "İçeriÄŸi atla", "SubscribeAndBecomePiwikSupporter": "Piwik Destekçisi olmak için güvenli bir kredi kartı ödeme sayfasına (Paypal) geçin!", "SupportPiwik": "Piwike destek ol", "TableNoData": "Bu tablo için bir veri yok.", "ThereIsNoDataForThisReport": "Bu rapor için veri yok.", "ViewAllPiwikVideoTutorials": "Tüm Piwik Yardım Videolarına Bak", "WebAnalyticsReports": "Web Analiz Raporları", - "YouAreUsingTheLatestVersion": "Piwik'in son versiyonunu kullanıyorsunuz!" + "YouAreUsingTheLatestVersion": "Piwik'in son versiyonunu kullanıyorsunuz!", + "Segments": "Bölümler", + "ChangeCurrentWebsite": "Bir websitesi seç, mevcut seçilen site: %s" } } \ No newline at end of file diff --git a/plugins/CoreHome/lang/zh-cn.json b/plugins/CoreHome/lang/zh-cn.json index de8270c5b652b1985864124294516c6da678c2a5..2d2a82c41492323db6599bb4f5543596f9aaf296 100644 --- a/plugins/CoreHome/lang/zh-cn.json +++ b/plugins/CoreHome/lang/zh-cn.json @@ -24,6 +24,7 @@ "InjectedHostSuperUserWarning": "å¯èƒ½ Piwik é…置有误 (例如,Piwik 刚移到新的æœåŠ¡å™¨)。您å¯ä»¥ %1$sç‚¹è¿™é‡Œæ·»åŠ %2$s 为 Piwik 主机å (如果您信任)%3$s, 或者 %4$s点这里转到 %5$s 安全访问 Piwik %6$s。", "InjectedHostWarningIntro": "您现在是通过 %1$s 访问 Piwik,但 Piwik 设置的地å€æ˜¯: %2$s.", "JavascriptDisabled": "使用 Piwik çš„æ ‡å‡†è§†å›¾æ—¶å¿…é¡»å¯ç”¨ JavaScript。<br \/>然而,看æ¥æ‚¨çš„æµè§ˆå™¨å·²åœç”¨æˆ–ä¸æ”¯æŒ JavaScript。<br \/>è‹¥è¦ä½¿ç”¨æ ‡å‡†è§†å›¾ï¼Œè¯·ä¿®æ”¹æ‚¨çš„æµè§ˆå™¨é€‰é¡¹å¹¶å¯ç”¨ JavaScript, 然åŽ%1$sé‡è¯•ä¸€æ¬¡%2$s。<br \/>", + "MainNavigation": "主导航", "MakeADifference": "现在就%1$sæ款%2$sç»™ Piwik 2.0 !", "MakeOneTimeDonation": "一次性æ款", "Menu": "èœå•", @@ -48,6 +49,11 @@ "YouAreUsingTheLatestVersion": "您æ£åœ¨ä½¿ç”¨æœ€æ–°ç‰ˆçš„ Piwikï¼", "ClickRowToExpandOrContract": "点击这行å¯ä»¥æ‰©å±•æˆ–压缩å°å·¥ä½œå°ã€‚", "UndoPivotBySubtable": "这个报表被 pivot 了 %s 撤销 Pivot", - "PivotBySubtable": "这个报表尚未 pivot %1$s 以 %2$s 的身份 pivot" + "PivotBySubtable": "这个报表尚未 pivot %1$s 以 %2$s 的身份 pivot", + "QuickAccessTitle": "æœç´¢ %s,使用上下键在æœç´¢ç»“æžœä¸å¯¼èˆªã€‚å¿«æ·é”®ï¼šæŒ‰â€œFâ€è¿›è¡Œæœç´¢ã€‚", + "MenuEntries": "èœå•é¡¹", + "Segments": "段", + "AdblockIsMaybeUsed": "如果您使用的是广告拦截,请ç¦ç”¨æ¤ç½‘站,以确ä¿Piwik工作没有任何问题。", + "ChangeCurrentWebsite": "选择一个网站,当å‰é€‰æ‹©çš„网站: %s" } } \ No newline at end of file diff --git a/plugins/CorePluginsAdmin/lang/sk.json b/plugins/CorePluginsAdmin/lang/sk.json index 069cbec0935b83b1edf12c20dd68b039641634f0..fc6db1f6ca486b1484137660fec8cd7e67c647ee 100644 --- a/plugins/CorePluginsAdmin/lang/sk.json +++ b/plugins/CorePluginsAdmin/lang/sk.json @@ -38,6 +38,10 @@ "LastCommitTime": "(posledné rozhodnutie %s)", "LastUpdated": "posledne aktualizované", "LicenseHomepage": "domovská stránka licencie", + "LikeThisPlugin": "PáÄi sa vám modul?", + "ConsiderDonating": "Zvážte prÃspevok", + "CommunityContributedPlugin": "Toto je modul vytvorený komunitou, ktorý ste zÃskali zadarmo.", + "ConsiderDonatingCreatorOf": "ProsÃm zvážte prÃspevok pre tvorcu %s", "PluginsExtendPiwik": "Moduly rozÅ¡irujú funkcionalitu projektu Piwik.", "OncePluginIsInstalledYouMayActivateHere": "Po nainÅ¡talovanà modulu ho tu môžete aktivovaÅ¥, alebo deaktivovaÅ¥.", "Marketplace": "trh", diff --git a/plugins/CorePluginsAdmin/lang/sq.json b/plugins/CorePluginsAdmin/lang/sq.json index 9b555b43dda5cbd556ad794e99d21e70f39128f8..4d2f10f0e7c26f98a1c8ccdebc2fc189d4ac3b69 100644 --- a/plugins/CorePluginsAdmin/lang/sq.json +++ b/plugins/CorePluginsAdmin/lang/sq.json @@ -1,9 +1,14 @@ { "CorePluginsAdmin": { + "ActionActivatePlugin": "Aktivizoje shtojcën", + "ActionActivateTheme": "Aktivizojeni temën", + "ActionUninstall": "Çinstalojeni", "Activate": "Aktivizoje", "Activated": "E aktivizuar", "Active": "Vepruese", + "Activity": "Veprimtari", "AuthorHomepage": "Faqja Hyrëse e Autorit", + "Authors": "Autorë", "Deactivate": "Çaktivizoje", "Inactive": "Jovepruese", "LicenseHomepage": "Faqja Hyrëse e Lejes", @@ -16,6 +21,6 @@ "Status": "Gjendje", "Support": "Asistencë", "Version": "Version", - "Websites": "\"Site\"-e web" + "Websites": "Sajte" } } \ No newline at end of file diff --git a/plugins/CorePluginsAdmin/lang/sv.json b/plugins/CorePluginsAdmin/lang/sv.json index 1f50caf404949cef20f6d0cb31de6f54c8506d85..4d1491d8ed81610dffaec00faac530bddd33ffa7 100644 --- a/plugins/CorePluginsAdmin/lang/sv.json +++ b/plugins/CorePluginsAdmin/lang/sv.json @@ -38,6 +38,9 @@ "LastCommitTime": "(senaste överföringen %s)", "LastUpdated": "Senast uppdaterad", "LicenseHomepage": "Licens Hemsida", + "LikeThisPlugin": "Gilla följande plugin?", + "ConsiderDonating": "Överväg att donera", + "ConsiderDonatingCreatorOf": "Vänlig överväg att donera till upphovsman av %s", "PluginsExtendPiwik": "Plugins breddar och utökar funktionerna i Piwik.", "OncePluginIsInstalledYouMayActivateHere": "När en plugin är installerad kan du aktivera eller inaktivera den här.", "Marketplace": "Butik", diff --git a/plugins/CorePluginsAdmin/lang/zh-cn.json b/plugins/CorePluginsAdmin/lang/zh-cn.json index f2d2e1b7371f1243443d3af3b79914d270231b45..df8b537e4f1fd7aab4830cc8fb97c909b632adf0 100644 --- a/plugins/CorePluginsAdmin/lang/zh-cn.json +++ b/plugins/CorePluginsAdmin/lang/zh-cn.json @@ -8,26 +8,51 @@ "Activated": "å·²å¯ç”¨", "Active": "å·²å¯ç”¨", "Activity": "活动", + "AllowedUploadFormats": "您å¯ä»¥é€šè¿‡è¯¥é¡µé¢ä¸Šä¼ .zipæ ¼å¼çš„æ’件或主题。", "AuthorHomepage": "作者主页", "Authors": "作者", "BackToExtendPiwik": "返回商城", + "BeCarefulUsingPlugins": "ä¸æ˜¯ç”±Piwikå°ç»„撰写的æ’件必须å°å¿ƒä½¿ç”¨ï¼šæˆ‘们没有审查他们。", + "BeCarefulUsingThemes": "ä¸æ˜¯ç”±Piwikå°ç»„撰写的主题必须å°å¿ƒä½¿ç”¨ï¼šæˆ‘们没有审查他们。", + "ByXDevelopers": "å¼€å‘者: %s", + "CannotInstall": "æ— æ³•å®‰è£…ï¼ˆå¸®åŠ©ï¼‰", "Changelog": "修改日志", + "ChangeSettingsPossible": "ä½ å¯ä»¥%1$sé…ç½®%2$sæ¤æ’件。", + "CorePluginTooltip": "æ ¸å¿ƒæ’ä»¶æ²¡æœ‰ç‰ˆæœ¬ï¼Œå› ä¸ºå®ƒä»¬ç”±Piwik分é…。", "Deactivate": "åœç”¨", "Developer": "程åºå‘˜", + "DevelopersLearnHowToDevelopPlugins": "å¼€å‘è€…ï¼šä½ å¯ä»¥å¦ä¹ 如何扩展和定制 Piwik%1$så¼€å‘æ’件或主题%2$s。", + "DoMoreContactPiwikAdmins": "è¦å®‰è£…æ–°æ’件或者一个新的主题,请与您的Piwik管ç†å‘˜è”系。", + "EmailToEnquireUpdatedVersion": "请å‘邮件%1$s和查询%2$s的更新版本。", + "FeaturedPlugin": "特色æ’件", + "ChangeLookByManageThemes": "ä½ å¯ä»¥è¿›å…¥%1$s管ç†ä¸»é¢˜%2$sæ¥æ”¹å˜Piwik的外观。", + "GetEarlyAccessForPaidPlugins": "注æ„:目å‰æ‰€æœ‰æ’件都是å…费的,但未æ¥æˆ‘们å¯èƒ½ä¼šåœ¨å¸‚场里开放付费æ’件。(%1$sè”系我们%2$s)", "History": "历å²è®°å½•", "Inactive": "å·²åœç”¨", + "InfoPluginUpdateIsRecommended": "ç«‹å³æ›´æ–°æ‚¨çš„æ’件从最新改进ä¸å—益。", + "InfoThemeIsUsedByOtherUsersAsWell": "注æ„:有其它%1$s个Piwik注册用户也在使用这个主题%2$s。", + "InfoThemeUpdateIsRecommended": "æ›´æ–°ä½ çš„ä¸»é¢˜ï¼Œä»¥äº«å—最新版本。", "InstallingPlugin": "æ£åœ¨å®‰è£… %s", "InstallNewPlugins": "安装新æ’件", "InstallNewThemes": "安装新主题", "LastCommitTime": "(最åŽæ交 %s)", "LastUpdated": "最åŽæ›´æ–°", "LicenseHomepage": "许å¯é¦–页", + "LikeThisPlugin": "喜欢这个æ’件?", + "ConsiderDonating": "考虑æèµ ", + "CommunityContributedPlugin": "这是一个社区贡献的æ’件,赞助商是å…费的。", + "ConsiderDonatingCreatorOf": "请考虑æèµ ç»™%s的作者", "PluginsExtendPiwik": "æ’件延伸并扩展了 Piwik 的功能。", "OncePluginIsInstalledYouMayActivateHere": "当一个æ’件安装了以åŽï¼Œæ‚¨å¯ä»¥åœ¨è¿™é‡Œå¯ç”¨æˆ–åœç”¨å®ƒã€‚", "Marketplace": "商城", "MarketplaceSellPluginSubject": "商城 - 销售æ’件", "MenuPlatform": "å¹³å°", + "MissingRequirementsNotice": "请å‡çº§%1$s %2$s到最新的版本, %1$s %3$s 是必需的。", + "MissingRequirementsPleaseInstallNotice": "%3$sçš„å‰æ是您è¦å…ˆå®‰è£… %1$s %2$s。", + "NewVersion": "新版本", "NoPluginsFound": "没有æ’件", + "NotAllowedToBrowseMarketplacePlugins": "您å¯ä»¥æµè§ˆï¼Œå¯ä»¥å®‰è£…定制或扩展您的Piwikå¹³å°æ’ä»¶åˆ—è¡¨ã€‚å¦‚æžœä½ æœ‰éœ€è¦è¯·è”系您的管ç†å‘˜ã€‚", + "NotAllowedToBrowseMarketplaceThemes": "å°±å¯ä»¥æµè§ˆå¯ä»¥å®‰è£…定制Piwikå¹³å°çš„å¤–è§‚çš„ä¸»é¢˜åˆ—è¡¨ã€‚å¦‚æžœä½ æœ‰éœ€è¦è¯·è”系您的管ç†å‘˜ã€‚", "NoThemesFound": "没有布景", "NoZipFileSelected": "请选择一个ZIP文件", "NumDownloadsLatestVersion": "最新版本: %s次下载", @@ -39,7 +64,9 @@ "PluginKeywords": "关键è¯", "PluginNotCompatibleWith": "æ’件 %1$s 与 %2$s ä¸å…¼å®¹ã€‚", "PluginNotWorkingAlternative": "如果您使用这个æ’件,å¯ä»¥åˆ°å•†åŸŽæŸ¥æ‰¾æ›´æ–°çš„版本。如果没有用,å¯ä»¥å¸è½½ã€‚", + "PluginRequirement": "%1$s需è¦%2$s。", "PluginsManagement": "æ’件管ç†", + "PluginUpdateAvailable": "您æ£åœ¨ä½¿ç”¨çš„版本å·ä¸º %1$s,现在有最新的版本%2$s。", "PluginVersionInfo": "%1$s æ¥è‡ª %2$s", "PluginWebsite": "æ’件网站", "Screenshots": "截å±", @@ -57,8 +84,13 @@ "StepThemeSuccessfullyUpdated": "æˆåŠŸæ›´æ–°å¸ƒæ™¯ %1$s %2$s。", "StepUnzippingPlugin": "æ£åœ¨è§£åŽ‹æ’件", "StepUnzippingTheme": "æ£åœ¨è§£åŽ‹å¸ƒæ™¯", + "SuccessfullyActicated": "您已æˆåŠŸæ¿€æ´»<strong>%s<\/strong>。", "Support": "支æŒ", "TeaserExtendPiwik": "使用æ’件主题æ¥æ‰©å±•Piwik", + "TeaserExtendPiwikByPlugin": "安装一个新的æ’件æ¥æ‰©å±•Piwik。", + "TeaserExtendPiwikByTheme": "安装一个新的主题æ¥æ„Ÿå—一下", + "TeaserExtendPiwikByUpload": "ä¸Šä¼ ä¸€ä¸ªZIP文件æ¥æ‰©å±•Piwik。", + "InstallingNewPluginViaMarketplaceOrUpload": "ä½ å¯ä»¥ä»Žå¸‚场里自动安装æ’件,或%1$sä¸Šä¼ %2$s一个ZIPæ ¼å¼çš„æ’件。", "Theme": "主题", "Themes": "主题", "ThemesDescription": "主题å¯ä»¥æ”¹å˜Piwik外观,æ供一个全新的视觉体验,让您享å—分æžæŠ¥å‘Šã€‚", diff --git a/plugins/CorePluginsAdmin/templates/plugins.twig b/plugins/CorePluginsAdmin/templates/plugins.twig index 61db76e62292c44d93ec381bcebfd69bd24cfcc3..10910bda5724f83f1c53213bf1710378f49a9712 100644 --- a/plugins/CorePluginsAdmin/templates/plugins.twig +++ b/plugins/CorePluginsAdmin/templates/plugins.twig @@ -24,11 +24,8 @@ <br/>{{ 'CorePluginsAdmin_DoMoreContactPiwikAdmins'|translate }} {% endif %} - - {% if isMarketplaceEnabled %} <br /> {{ 'CorePluginsAdmin_ChangeLookByManageThemes'|translate('<a href="' ~ linkTo({'action': 'themes'}) ~'">', '</a>')|raw }} - {% endif %} </p> {{ plugins.pluginsFilter(false, isMarketplaceEnabled) }} diff --git a/plugins/CoreUpdater/lang/sk.json b/plugins/CoreUpdater/lang/sk.json index 92cd5fc6086d1713ecdd08614de95b33e958826c..49899599e95c08459dd8c02462469cdeaf0ac9c5 100644 --- a/plugins/CoreUpdater/lang/sk.json +++ b/plugins/CoreUpdater/lang/sk.json @@ -25,6 +25,11 @@ "HighTrafficPiwikServerEnableMaintenance": "Ak natrafÃte na zahltený Piwik server, odporúÄame %1$s doÄasne vypnúť sledovanie návÅ¡tevnÃkov a prepnúť Piwik-užÃvateľské rozhranie do módu údržby %2$s.", "IncompatbilePluginsWillBeDisabledInfo": "Pozn.: niektoré pluginy nie sú kompatibilné s Piwik %s. Budú vypnuté ak aktualizujete:", "InstallingTheLatestVersion": "InÅ¡talácia poslednej verzie", + "LatestBetaRelease": "Posledná beta verzia", + "LatestStableRelease": "Posledná stabilné vydanie", + "Latest2XStableRelease": "Posledná stabilná verzia 2.x", + "Latest2XBetaRelease": "Posledná beta verzia 2.x", + "LtsSupportVersion": "Verzia s dlhodobou podporou", "MajorUpdateWarning1": "Toto je veľká aktualizácia! Bude to trvaÅ¥ dlhÅ¡ie ako zvyÄajne.", "MajorUpdateWarning2": "Nasledujúca rada je obzvlášť dôležitá pre veľké inÅ¡talácie.", "NoteForLargePiwikInstances": "Dôležité poznámky pre veľké Piwik-inÅ¡talácie.", diff --git a/plugins/CoreUpdater/lang/sq.json b/plugins/CoreUpdater/lang/sq.json index 0d1495440fb0ca79a2cd5db8aecaf4bc02e6744d..7630feb265a810b08c6e950db464adcecea34ce5 100644 --- a/plugins/CoreUpdater/lang/sq.json +++ b/plugins/CoreUpdater/lang/sq.json @@ -1,8 +1,9 @@ { "CoreUpdater": { - "ClickHereToViewSqlQueries": "Klikoni këtu që të shihni dhe të kopjoni listën e kërkesave SQL që ka për t'u ekzekutuar", + "ClickHereToViewSqlQueries": "Klikoni këtu që të shihni dhe të kopjoni listën e kërkesave SQL që ka për t’u ekzekutuar", "CriticalErrorDuringTheUpgradeProcess": "Gabim Kritik gjatë procesit të përditësimit:", "DatabaseUpgradeRequired": "Lypset Përmirësim i Bazës së të Dhënave", + "DisablingIncompatiblePlugins": "Po çaktivizohen shtojca të papërputhshme: %s", "DownloadingUpdateFromX": "Po shkarkohet përditësimi prej %s", "DownloadX": "Shkarko %s", "EmptyDatabaseError": "Baza e të dhënave %s është bosh. Kartelën tuaj të formësimit të Piwik-ut duhet ta përpunoni ose ta hiqni.", @@ -17,7 +18,7 @@ "ExceptionArchiveEmpty": "Arkivë bosh.", "ExceptionArchiveIncompatible": "Arkivë e papërputhshme: %s", "ExceptionArchiveIncomplete": "Arkiva nuk është e plotë: mungojnë disa kartela (p.sh. %s).", - "HelpMessageContent": "Hidhini një sy %1$s Piwik FAQ %2$s që shpjegojnë gabimet më të rëndomta gjatë përditësimesh. %3$s Pyesni përgjegjësin e sistemit tuaj - ai mund të jetë në gjendje të t'ju ndihmojë për gabimin, i cili ka shumë të ngjarë të ketë lidhje me rregullimet e shërbyesit tuaj ose ato të MySQL-së.", + "HelpMessageContent": "Hidhini një sy %1$s Piwik FAQ %2$s që shpjegojnë gabimet më të rëndomta gjatë përditësimesh. %3$s Pyesni përgjegjësin e sistemit tuaj - ai mund të jetë në gjendje të t’ju ndihmojë për gabimin, i cili ka shumë të ngjarë të ketë lidhje me rregullimet e shërbyesit tuaj ose ato të MySQL-së.", "HelpMessageIntroductionWhenError": "Sa më sipër, është thelbi i mesazhit të gabimit. Do të ndihmonte të shpjegohej shkaku, por nëse keni nevojë për ndihmë të mëtejshme, ju lutem:", "HelpMessageIntroductionWhenWarning": "Përditësimi u plotësua me sukses, sidoqoftë pati ca kleçka gjatë procesit. Ju lutem, lexoni përshkrimet më sipër për hollësi. Për më tepër ndihmë:", "InstallingTheLatestVersion": "Po instalohet versioni më i fundit", @@ -26,14 +27,14 @@ "PiwikHasBeenSuccessfullyUpgraded": "Piwik-u u përmirësua me sukses!", "PiwikUpdatedSuccessfully": "Piwik-u u përditësua me sukses!", "PiwikWillBeUpgradedFromVersionXToVersionY": "Baza e të dhënave për Piwik-un do të përmirësohet prej versionit %1$s te versioni i ri %2$s.", - "ReadyToGo": "Gati për t'ia filluar?", + "ReadyToGo": "Gati për t’ia filluar?", "TheFollowingPluginsWillBeUpgradedX": "Shtojcat vijuese do të përditësohen: %s.", "ThereIsNewVersionAvailableForUpdate": "Mund të kihet një version i ri, i përmirësuar, i Piwik-ut", - "TheUpgradeProcessMayFailExecuteCommand": "Nëse keni një bazë të dhënash Piwik të madhe, përditësimet mund të zgjasin shumë në shfletues. Në të tilla raste, mund t'i bëni përditësimet që nga rresht urdhrash: %s", + "TheUpgradeProcessMayFailExecuteCommand": "Nëse keni një bazë të dhënash Piwik të madhe, përditësimet mund të zgjasin shumë në shfletues. Në të tilla raste, mund t’i bëni përditësimet që nga rresht urdhrash: %s", "TheUpgradeProcessMayTakeAWhilePleaseBePatient": "Procesi i përditësimit të bazës së të dhënave mund të zgjasë ca, ndaj bëni durim.", "UnpackingTheUpdate": "Po shpaketohet përditësimi", "UpdateAutomatically": "Përmirësoje Vetvetiu", - "UpdateHasBeenCancelledExplanation": "Përditësimi Piwik Me Një Klik u anulua. Nëse nuk ndreqni dot gabimin me mesazhin e mësipërm, këshillohet ta përditësoni Piwik-un dorazi. %1$s Ju lutem, shihni %2$sdokumentimin e Përditësimeve%3$s për t'ia filluar!", + "UpdateHasBeenCancelledExplanation": "Përditësimi Piwik Me Një Klik u anulua. Nëse s’ndreqni dot gabimin me mesazhin e mësipërm, këshillohet ta përditësoni Piwik-un dorazi. %1$s Ju lutem, shihni %2$sdokumentimin e Përditësimeve%3$s për t’ia filluar!", "UpdateTitle": "Piwik › Përditësim", "UpdateSuccessTitle": "Piwik-u u përmirësua me sukses!", "UpgradeComplete": "Përmirësim i plotësuar!", diff --git a/plugins/CoreUpdater/lang/sv.json b/plugins/CoreUpdater/lang/sv.json index 466ff0182b64f657d0aba03f57a5c8633c5a94d3..4b2a7c5e4ed96e852951178027015b4288de968d 100644 --- a/plugins/CoreUpdater/lang/sv.json +++ b/plugins/CoreUpdater/lang/sv.json @@ -60,6 +60,8 @@ "CloudHosting": "Molntjänst", "Updating": "Uppdateringar", "UpdateUsingHttpsFailed": "Nedladdning ac den senaste versionen av Piwik över HTTPS fungerade inte pÃ¥ grund av följande fel:", + "UpdateUsingHttpsFailedHelp": "Varför blev det fel? Nerladdning av den senaste versionen av Piwik (via säker HTTPS anslutning) kan misslyckas av flera anledningar, exempelvis pÃ¥ grund av nätverksproblem, lÃ¥ngsam internethastighet eller fel systemkonfigurering. Notera att det även kan bero pÃ¥ att din server är mÃ¥ltavla för MITM-attack och att nÃ¥gon försöker ersätta uppdateringen med en skadlig version av Piwik.", + "UpdateUsingHttpsFailedHelpWhatToDo": "Vi rekommenderar att du laddar ner pÃ¥ nytt genom att använda en säker HTTPS-anslutning eftersom det förhindrar MITM-attacker.", "UsingHttps": "använd den säkra HTTPS-anslutningen (rekommenderas)", "UsingHttp": "använd den osäkra HTTP-anslutningen", "UpgradeComplete": "Uppgradering färdig!", diff --git a/plugins/CoreUpdater/lang/zh-cn.json b/plugins/CoreUpdater/lang/zh-cn.json index 4cb74ef1b8b7742c48e88e1d15919765ffa5ee04..dfc4f5b57f22045f1643eaf1a16b5e1cbc20c592 100644 --- a/plugins/CoreUpdater/lang/zh-cn.json +++ b/plugins/CoreUpdater/lang/zh-cn.json @@ -18,22 +18,33 @@ "ExceptionArchiveEmpty": "空的文件。", "ExceptionArchiveIncompatible": "ä¸å…¼å®¹çš„文件: %s", "ExceptionArchiveIncomplete": "文件ä¸å®Œæ•´: 缺少部分文件(例如 %s)。", + "FeedbackRequest": "éšæ—¶åœ¨è¿™é‡Œç»™Piwikå›¢é˜Ÿåˆ†äº«ä½ çš„æƒ³æ³•å’Œå»ºè®®ï¼š", "HelpMessageContent": "请检查 %1$s Piwik FAQ %2$s ,在其ä¸å·²è¯•å›¾è§£é‡Šæœ€å¸¸è§çš„å‡çº§è¿‡ç¨‹ä¸çš„错误。 %3$s 请询问您的系统管ç†å‘˜ - 他们å¯ä»¥ååŠ©æ‚¨è§£å†³å‡ ä¹Žæ‰€æœ‰æœ‰å…³æ‚¨çš„æœåŠ¡å™¨æˆ– MySQL 设定的问题ï¼", "HelpMessageIntroductionWhenError": "ä»¥ä¸Šæ˜¯æ ¸å¿ƒçš„é”™è¯¯è®¯æ¯ã€‚å®ƒåº”æœ‰åŠ©äºŽè§£é‡ŠåŽŸå› ï¼Œä½†å¦‚æžœæ‚¨éœ€è¦è¿›ä¸€æ¥çš„说明,请:", "HelpMessageIntroductionWhenWarning": "æ¤æ¬¡å‡çº§æˆåŠŸå®Œæˆï¼Œä½†åœ¨è¿‡ç¨‹ä¸æœ‰å‘生一些问题,请仔细阅读上é¢çš„详细说明。如需更进一æ¥çš„说明:", + "HighTrafficPiwikServerEnableMaintenance": "å¦‚æžœä½ ç®¡ç†ä¸€ä¸ªé«˜æµé‡çš„PiwikæœåŠ¡å™¨ï¼Œæˆ‘们建议您 %1$sæš‚æ—¶ç¦æ¢è®¿é—®è€…跟踪,并设置Piwik用户界é¢ä¸ºç»´æŠ¤æ¨¡å¼%2$s。", + "IncompatbilePluginsWillBeDisabledInfo": "注æ„:有些æ’件ä¸å…¼å®¹Piwik%s。如果您å‡çº§ï¼Œä»–们将被关é—:", "InstallingTheLatestVersion": "æ£åœ¨å®‰è£…最新版本", + "LatestBetaRelease": "最新测试版", + "LatestStableRelease": "最新的稳定版本", + "Latest2XStableRelease": "最新的稳定 2.X", + "Latest2XBetaRelease": "最新的测试版 2.X", + "LtsSupportVersion": "长期支æŒç‰ˆæœ¬", "MajorUpdateWarning1": "这是全é¢å‡çº§ï¼ä¼šæ¯”平时多花些时间。", "MajorUpdateWarning2": "下é¢çš„建议对大型网站很é‡è¦ã€‚", "NoteForLargePiwikInstances": "大型 Piwik 网站é‡è¦æ³¨æ„事项", "NoteItIsExpectedThatQueriesFail": "注æ„: 如果您手动执行这些查询,预计当ä¸ä¼šæœ‰ä¸€äº›é”™è¯¯ã€‚在æ¤æƒ…æ³ä¸‹ï¼Œåªéœ€å¿½ç•¥é”™è¯¯ï¼Œç„¶åŽæ‰§è¡Œä»¥ä¸‹åˆ—表。", "NotificationClickToUpdatePlugins": "ç‚¹å‡»è¿™é‡Œæ›´æ–°ä½ çš„æ’件:", "NotificationClickToUpdateThemes": "ç‚¹å‡»è¿™é‡ŒçŽ°åœ¨å°±æ›´æ–°ä½ çš„ä¸»é¢˜", + "NotificationSubjectAvailableCoreUpdate": "有一个全新的版本Piwik %s", "NotificationSubjectAvailablePluginUpdate": "Piwikæ’件有å¯ç”¨çš„æ›´æ–°", "PiwikHasBeenSuccessfullyUpgraded": "Piwik å‡çº§æˆåŠŸï¼", "PiwikUpdatedSuccessfully": "Piwik å‡çº§æˆåŠŸï¼", "PiwikWillBeUpgradedFromVersionXToVersionY": "Piwik æ•°æ®åº“将从版本 %1$s å‡çº§åˆ°æ–°ç‰ˆæœ¬ %2$s。", "ReadyToGo": "准备好了å—?", "TheFollowingPluginsWillBeUpgradedX": "以下æ’件将被å‡çº§: %sï¼", + "TheFollowingDimensionsWillBeUpgradedX": "将更新以下内容: %s。", + "ThereIsNewPluginVersionAvailableForUpdate": "您使用的一些æ’件已ç»åœ¨å¸‚场里有了更新:", "ThereIsNewVersionAvailableForUpdate": "å·²ç»æœ‰æ–°çš„Piwik版本å¯ä»¥å‡çº§", "TheUpgradeProcessMayFailExecuteCommand": "如果您有一个大型的 Piwik æ•°æ®åº“,通过æµè§ˆå™¨æ›´æ–°å¯èƒ½éœ€è¦èŠ±è´¹å¾ˆé•¿æ—¶é—´ã€‚在æ¤æƒ…æ³ä¸‹ï¼Œæ‚¨å¯ä»¥é€šè¿‡ä¸‹é¢çš„命令行æ¥æ›´æ–°: %s", "TheUpgradeProcessMayTakeAWhilePleaseBePatient": "å‡çº§è¿‡ç¨‹å¯èƒ½éœ€è¦ä¸€æ®µæ—¶é—´ï¼Œè¯·è€å¿ƒç‰å¾…ï¼", @@ -42,6 +53,18 @@ "UpdateHasBeenCancelledExplanation": "Piwik 一键å‡çº§å·²è¢«å–æ¶ˆã€‚å¦‚æžœæ‚¨æ— æ³•ä¿®æ£ä»¥ä¸Šçš„错误信æ¯ï¼Œå»ºè®®æ‚¨æ‰‹åŠ¨å‡çº§ Piwik。%1$s 请查看 %2$så‡çº§æ–‡ä»¶%3$s æ¥å¼€å§‹å§ï¼", "UpdateTitle": "å‡çº§", "UpdateSuccessTitle": "Piwik å‡çº§æˆåŠŸï¼", + "UpdateErrorTitle": "更新错误", + "ThankYouUpdatePiwik": "感谢您使用Piwik并ä¿æŒåŠæ—¶æ›´æ–°ï¼", + "PostUpdateMessage": "Piwik将永远是å…费下载和使用,但它需è¦ä½ 们继ç»æ”¯æŒå¢žé•¿å’Œæ高。", + "PostUpdateSupport": "å¦‚æžœä½ éœ€è¦ä½¿ç”¨Piwik帮助,您å¯ä»¥ä»Žå®ƒçš„åˆ›é€ è€…é‚£é‡ŒèŽ·å–支æŒï¼š", + "EnterpriseSolutions": "ä¼ä¸šè§£å†³æ–¹æ¡ˆ", + "CloudHosting": "云主机", + "Updating": "æ›´æ–°ä¸", + "UpdateUsingHttpsFailed": "下载最新版本的Piwik通过安全的HTTPS连接没有æˆåŠŸï¼Œå› 为以下错误:", + "UpdateUsingHttpsFailedHelp": "为什么会失败?下载最新版本的Piwik(超过安全的HTTPS连接)å¯èƒ½ä¼šå¤±è´¥ï¼Œå› 为å„ç§åŽŸå› ï¼Œä¾‹å¦‚ï¼Œå› ä¸ºç½‘ç»œæ•…éšœï¼Œç½‘ç»œé€Ÿåº¦æ…¢æˆ–é”™è¯¯çš„ç³»ç»Ÿé…置。请注æ„,这也å¯èƒ½æ„味ç€ä½ çš„æœåŠ¡å™¨æ˜¯MITMæ”»å‡»çš„ç›®æ ‡ï¼Œæœ‰äººæ£åœ¨å°è¯•å°†Piwik的更新文件替æ¢ã€‚", + "UpdateUsingHttpsFailedHelpWhatToDo": "建议é‡è¯•ä½¿ç”¨å®‰å…¨çš„HTTPSè¿žæŽ¥ä¸‹è½½ï¼Œå› ä¸ºå®ƒèƒ½é˜²æ¢MITM攻击。", + "UsingHttps": "使用安全的HTTPS连接(推è)", + "UsingHttp": "使用éžå®‰å…¨HTTP连接", "UpgradeComplete": "å‡çº§å®Œæˆï¼", "UpgradePiwik": "å‡çº§ Piwik", "VerifyingUnpackedFiles": "æ£åœ¨éªŒè¯è§£åŽ‹åŽçš„文件", @@ -50,6 +73,7 @@ "YouCanUpgradeAutomaticallyOrDownloadPackage": "您å¯ä»¥è‡ªåŠ¨å‡çº§åˆ°ç‰ˆæœ¬%s,或者下载安装包手动安装:", "YouCouldManuallyExecuteSqlQueries": "å¦‚æžœæ‚¨æ— æ³•é€šè¿‡å‘½ä»¤è¡Œæ¥æ›´æ–°ä¸” Piwik å‡çº§å¤±è´¥(æ•°æ®åº“超时ã€æµè§ˆå™¨è¶…时或任何问题),您å¯ä»¥æ‰‹åŠ¨æ‰§è¡Œ SQL è¯å¥æ¥æ›´æ–° Piwik。", "YouMustDownloadPackageOrFixPermissions": "Piwik æ— æ³•è¦†ç›–æ‚¨ä¹‹å‰çš„安è£ã€‚您å¯ä»¥ç›´æŽ¥ä¿®æ”¹ç›®å½•\/文件æƒé™ï¼Œæˆ–是下载压缩包然åŽæ‰‹åŠ¨å®‰è£ %s 版本:", - "YourDatabaseIsOutOfDate": "您的 Piwik æ•°æ®åº“版本太旧了,必须先å‡çº§æ‰èƒ½ç»§ç»ï¼" + "YourDatabaseIsOutOfDate": "您的 Piwik æ•°æ®åº“版本太旧了,必须先å‡çº§æ‰èƒ½ç»§ç»ï¼", + "ViewVersionChangelog": "查看该版本的更新日志:" } } \ No newline at end of file diff --git a/plugins/CustomAlerts b/plugins/CustomAlerts index 3f71ea0d6880f4a1cbdc531342760f72136e26d2..e3b349bb7d75269962b31695d99f1e8ec7e44b39 160000 --- a/plugins/CustomAlerts +++ b/plugins/CustomAlerts @@ -1 +1 @@ -Subproject commit 3f71ea0d6880f4a1cbdc531342760f72136e26d2 +Subproject commit e3b349bb7d75269962b31695d99f1e8ec7e44b39 diff --git a/plugins/CustomDimensions b/plugins/CustomDimensions index a9c2872b3e268ab3cbd4f6af0ae4547e466bafed..aab8e5a7246135a1d6b3ca00e665aea4adf8035b 160000 --- a/plugins/CustomDimensions +++ b/plugins/CustomDimensions @@ -1 +1 @@ -Subproject commit a9c2872b3e268ab3cbd4f6af0ae4547e466bafed +Subproject commit aab8e5a7246135a1d6b3ca00e665aea4adf8035b diff --git a/plugins/CustomVariables/lang/de.json b/plugins/CustomVariables/lang/de.json index 98f2bef3af4ca22c7b7e1dec639db505c5e5c925..7e152f034632c01041ad217f2b83b79037265865 100644 --- a/plugins/CustomVariables/lang/de.json +++ b/plugins/CustomVariables/lang/de.json @@ -17,6 +17,8 @@ "CreatingCustomVariableTakesTime": "Neue benutzerdefinierte Variablen zu erstellen kann viel Zeit beanspruchen, abhängig von der Grösse Ihrer Datenbank. Deshalb ist dieser Vorgang nur über Kommandozeilen verfügbar.", "CurrentAvailableCustomVariables": "Aktuell können Sie bis zu %s benutzerdefinierte Variablen pro Seite einsetzen.", "ToCreateCustomVarExecute": "Um eine neue benutzerdefinierte Variable zu erstellen, führen Sie in Ihrer Piwik Installation folgende Befehle aus:", - "SlotsReportIsGeneratedOverTime": "Daten für diesen Bericht werden periodisch veröffentlicht. Es mag ein oder zwei Tage dauern, bis Daten sichtbar sind und einige Wochen bis der Bericht vollständig aussagekräftig ist." + "SlotsReportIsGeneratedOverTime": "Daten für diesen Bericht werden periodisch veröffentlicht. Es mag ein oder zwei Tage dauern, bis Daten sichtbar sind und einige Wochen bis der Bericht vollständig aussagekräftig ist.", + "MetricsAreOnlyAvailableForVisitScope": "Hinweis: Die Metriken %1$s sind nur für benutzerdefinierte Variablen mit Geltungsbereich %2$s verfügbar.", + "MetricsNotAvailableForPageScope": "Für benutzerdefinierte Variablen mit Geltungsbereich %1$s ist der Wert für diese Metriken %2$s." } } \ No newline at end of file diff --git a/plugins/CustomVariables/lang/sq.json b/plugins/CustomVariables/lang/sq.json index fb18850ba0fb55b4a88c2818524e87fa9f16976f..ba2540b520252ef37c2139b771ba92611c2f1389 100644 --- a/plugins/CustomVariables/lang/sq.json +++ b/plugins/CustomVariables/lang/sq.json @@ -6,6 +6,8 @@ "CustomVariablesReportDocumentation": "Ky raport përmban të dhëna rreth Ndryshoreve tuaja të Personalizuara. Klikoni mbi një emër ndryshoreje që të shihni shpërndarjen e vlerave. %1$s Për më tepër të dhëna rreth Ndryshoresh të Personalizuara në përgjithësi, lexoni %2$sdokumentimin e Ndryshoreve të Personalizuara te piwik.org%3$s", "PluginDescription": "Ndryshoret e Personalizueshme janë çifte (emër, vlerë) që mund t’ua vini në përshoqërim vizitorëve tuaj apo çfarëdo veprimi prej tyre, duke përdorur API-n për Javascript-in. Piwik-u mandej do të raportojë sa vizita, faqe, shndërrime ka për secilin prej këtyre emrave dhe vlerave të personalizuara. Ndryshoret e Personalizueshme në hollësi për çdo përdorues dhe veprim i gjeni te Regjistri i Vizitorëve.<br \/>E domosdoshme për përdorim të veçorisë <a href=\"http:\/\/piwik.org\/docs\/ecommerce-analytics\/\">Analiza E-tregti<\/a>!", "ScopePage": "faqe me qëllim", - "ScopeVisit": "vizitë me qëllim" + "ScopeVisit": "vizitë me qëllim", + "Index": "Tregues", + "Usages": "Përdorime" } } \ No newline at end of file diff --git a/plugins/CustomVariables/lang/sv.json b/plugins/CustomVariables/lang/sv.json index 11f438e096d05577798d45fc3dd89b0577669ec0..d037379c7f286b323d3c387904c7d8eb5804d999 100644 --- a/plugins/CustomVariables/lang/sv.json +++ b/plugins/CustomVariables/lang/sv.json @@ -6,8 +6,11 @@ "CustomVariablesReportDocumentation": "Denna rapport innehÃ¥ller information om din anpassade variabler. Klicka pÃ¥ ett variabelnamn för att se fördelningen av värdena. %1$s För mer information om anpassade variabler i allmänhet, läs %2$sdokumentationen om anpassade variabler pÃ¥ piwik.org%3$s", "ScopePage": "omfattning sida", "ScopeVisit": "omfattning besök", + "ScopeX": "Omfattning %s", "Index": "Index", "Usages": "Användningar", - "Unused": "Oanvänd" + "Unused": "Oanvänd", + "CreateNewSlot": "Öka antalet tillgängliga anpassade variabelspÃ¥r", + "CurrentAvailableCustomVariables": "För tillfället kan du använda upp till %s anpassade variabler per webbsida." } } \ No newline at end of file diff --git a/plugins/CustomVariables/lang/zh-cn.json b/plugins/CustomVariables/lang/zh-cn.json index a98cc725a702bb6235fc43e058fe1271db23694c..ac4291ebd1bb43f4f9e8b14f12bdb5230dc949ab 100644 --- a/plugins/CustomVariables/lang/zh-cn.json +++ b/plugins/CustomVariables/lang/zh-cn.json @@ -4,7 +4,20 @@ "ColumnCustomVariableValue": "自定义å˜é‡å€¼", "CustomVariables": "自定义å˜é‡", "CustomVariablesReportDocumentation": "本报表包å«æ‚¨çš„自定义å˜é‡çš„资料,点击å˜é‡å查看数æ®ã€‚%1$s 关于自定义å˜é‡çš„详情,请阅读 %2$spiwik.org 上的自定义å˜é‡æ–‡æ¡£%3$s", + "PluginDescription": "您å¯ä»¥ä½¿ç”¨JavaScript API对游客或他们的任何行动分é…对应的自定义å˜é‡æ˜¯(åå—,值)ã€‚è¿™æ ·Piwik将报告有多少人访问,页é¢è½¬æ¢ä¸ºæ¯ä¸ªè‡ªå®šä¹‰å称和值。您å¯ä»¥åœ¨è®¿é—®è€…日志里查看æ¯ä¸ªç”¨æˆ·å’Œè¡ŒåŠ¨çš„详细自定义å˜é‡ã€‚<br\/>需è¦ä½¿ç”¨<a href=\"http:\/\/piwik.org\/docs\/ecommerce-analytics\/\">电å商务分æž<\/a>功能ï¼", "ScopePage": "访问页é¢", - "ScopeVisit": "访问范围" + "ScopeVisit": "访问范围", + "ScopeX": "范围 %s", + "Index": "主页", + "Usages": "用途", + "Unused": "未使用", + "CreateNewSlot": "å¢žåŠ å¯ç”¨è‡ªå®šä¹‰å˜é‡çš„æ•°é‡", + "UsageDetails": "本站建立开始共计有%1$s访问记录和%2$s 笔互动记录。", + "CreatingCustomVariableTakesTime": "创建新的自定义å˜é‡æ ¹æ®ä½ çš„æ•°æ®åº“的大å°å¯èƒ½éœ€è¦å¾ˆé•¿çš„æ—¶é—´ã€‚å› æ¤ï¼Œè¿™æ˜¯å”¯ä¸€å¯èƒ½ç»ç”±å…¶éœ€è¦åœ¨å‘½ä»¤è¡Œä¸Šæ‰§è¡Œçš„命令æ¥åšåˆ°è¿™ä¸€ç‚¹ã€‚", + "CurrentAvailableCustomVariables": "ç›®å‰ä½ å¯ä»¥åœ¨æ¯ä¸ªç«™ç‚¹é‡Œä½¿ç”¨é«˜è¾¾ %sæ¡è‡ªå®šä¹‰å˜é‡ã€‚", + "ToCreateCustomVarExecute": "è¦åˆ›å»ºæ–°çš„自定义å˜é‡ï¼Œæ‚¨å¯ä»¥åœ¨æ‚¨çš„Piwik安装ä¸æ‰§è¡Œä»¥ä¸‹å‘½ä»¤ï¼š", + "SlotsReportIsGeneratedOverTime": "本报告的数æ®å°†éšç€æ—¶é—´çš„推移被填充。这å¯èƒ½éœ€è¦ä¸€ä¸¤å¤©çœ‹åˆ°ä»»ä½•æ•°æ®ï¼Œå¹¶åœ¨å‡ 个星期之å‰ï¼Œè¯¥æŠ¥å‘Šæ˜¯å®Œå…¨å‡†ç¡®çš„。", + "MetricsAreOnlyAvailableForVisitScope": "注æ„:自定义å˜é‡%1$såªèƒ½ç”¨äºŽ %2$s范围。", + "MetricsNotAvailableForPageScope": "自定义å˜é‡%1$s的列值范围为%2$s" } } \ No newline at end of file diff --git a/plugins/DBStats/lang/sq.json b/plugins/DBStats/lang/sq.json index ea9f6824b13285936a9e1e3ea1d84d49528e3d5f..83d23ab402bc11ca6e4ba64b3b69e6d2ff48d6ec 100644 --- a/plugins/DBStats/lang/sq.json +++ b/plugins/DBStats/lang/sq.json @@ -2,9 +2,16 @@ "DBStats": { "DatabaseUsage": "Përdorim baze të dhënash", "DataSize": "Madhësi të dhënash", + "DBSize": "Madhësia e DB-së", + "EstimatedSize": "Madhësi e vlerësuar", "IndexSize": "Madhësi treguesi", - "LearnMore": "Për të mësuar më tepër rreth se si i përpunon të dhënat Piwik-u dhe se si ta bëni Piwik-un të punojë mirë me site-e web me trafik mesatar ose të madh, kontrolloni dokumentimin %s.", + "LearnMore": "Për të mësuar më tepër rreth se si i përpunon të dhënat Piwik-u dhe se si ta bëni Piwik-un të punojë mirë me sajte me trafik mesatar ose të madh, kontrolloni dokumentimin %s.", "MainDescription": "Piwik-u po i depoziton krejt të dhënat tuaja për analizë web te baza e të dhënave MySQL. Tani për tani, tabelat e Piwik-ut po përdorin %s.", + "MetricDataByYear": "Tabela Matjesh Sipas Vitesh", + "MetricTables": "Tabela Matjesh", + "OtherTables": "Tabela të Tjera", + "ReportDataByYear": "Tabela Raportesh Sipas Vitit", + "ReportTables": "Tabela Raportesh", "RowCount": "Numërim rreshtash", "Table": "Tabelë", "TotalSize": "Madhësi gjithsej" diff --git a/plugins/DBStats/lang/tr.json b/plugins/DBStats/lang/tr.json index 14cfbb29f254c0e5c2356a3f621dddae2676944a..0f90459844a770d6f2f618e37b90c08008b3233e 100644 --- a/plugins/DBStats/lang/tr.json +++ b/plugins/DBStats/lang/tr.json @@ -10,6 +10,7 @@ "MetricDataByYear": "Yıla Göre Metrik Tablosu", "MetricTables": "Metrik Tabloları", "OtherTables": "DiÄŸer Tablolar", + "PluginDescription": "Detaylı MySQL veritabanı kullanım raporu saÄŸlar. Super Kullanıcı için TeÅŸhis bölümünün altından ulaşılabilir.", "ReportDataByYear": "Yıla Göre Rapor Tabloları", "ReportTables": "Rapor Tabloları", "RowCount": "Satır sayısı", diff --git a/plugins/Dashboard/javascripts/dashboard.js b/plugins/Dashboard/javascripts/dashboard.js index 6286f747917d0a6226650c127ee7d379ca25636b..196196ea5b03bbbf1cc132cc1db58661f9f9d501 100644 --- a/plugins/Dashboard/javascripts/dashboard.js +++ b/plugins/Dashboard/javascripts/dashboard.js @@ -79,7 +79,7 @@ function showChangeDashboardLayoutDialog() { function showEmptyDashboardNotification() { piwikHelper.modalConfirm(makeSelectorLastId('dashboardEmptyNotification'), { resetDashboard: function () { $('#dashboardWidgetsArea').dashboard('resetLayout'); }, - addWidget: function () { $('.dashboardSettings').trigger('click'); } + addWidget: function () { $('.dashboardSettings > a').trigger('click'); } }); } diff --git a/plugins/Dashboard/javascripts/dashboardObject.js b/plugins/Dashboard/javascripts/dashboardObject.js index 457fc67f7a860bfeec5ba1f51d447806cf35df3f..b1da76c0994de39b93286f6aa6065b2c46a8a559 100644 --- a/plugins/Dashboard/javascripts/dashboardObject.js +++ b/plugins/Dashboard/javascripts/dashboardObject.js @@ -502,7 +502,7 @@ // widgetized var success = function (dashboards) { - var dashboardMenuList = $('#Dashboard').find('> ul'); + var dashboardMenuList = $('#Dashboard_embeddedIndex_1').closest('ul'); var dashboardMenuListItems = dashboardMenuList.find('>li'); dashboardMenuListItems.filter(function () { @@ -518,9 +518,9 @@ ) { var items = []; for (var i = 0; i < dashboards.length; i++) { - var $link = $('<a/>').attr('data-idDashboard', dashboards[i].iddashboard).text(dashboards[i].name).addClass('item title'); - var $li = $('<li/>').attr('id', 'Dashboard_embeddedIndex_' + dashboards[i].iddashboard) - .addClass('dashboardMenuItem').append($link); + var $link = $('<a/>').attr('data-iddashboard', dashboards[i].iddashboard).text(dashboards[i].name).addClass('item'); + var $li = $('<li/>').attr('id', 'Dashboard_embeddedIndex_' + dashboards[i].iddashboard).addClass('dashboardMenuItem').attr('role', 'menuitem').append($link); + items.push($li); if (dashboards[i].iddashboard == dashboardId) { @@ -531,16 +531,17 @@ dashboardMenuList.prepend(items); } - dashboardMenuList.find('a[data-idDashboard]').click(function (e) { + dashboardMenuList.find('a[data-iddashboard]').click(function (e) { e.preventDefault(); - var idDashboard = $(this).attr('data-idDashboard'); + var idDashboard = $(this).attr('data-iddashboard'); $('#Dashboard ul li').removeClass('active'); methods.loadDashboard.apply(_self, [idDashboard]); $(this).closest('li').addClass('active'); + }); }; diff --git a/plugins/Dashboard/lang/sq.json b/plugins/Dashboard/lang/sq.json index 39d39bb28bcbab493e52bdf98e7f3a12d2f90ca6..2c17ddc435312e765eaf50bb6003314a48f17d07 100644 --- a/plugins/Dashboard/lang/sq.json +++ b/plugins/Dashboard/lang/sq.json @@ -3,15 +3,24 @@ "AddAWidget": "Shtoni një widget", "AddPreviewedWidget": "Klikojeni që të shtohet widget-i te pulti", "ChangeDashboardLayout": "Ndryshoni skemën e pultit", + "CopyDashboardToUser": "Kopjoje pultin te përdoruesi", + "CreateNewDashboard": "Krijoni pult të ri", "Dashboard": "Pulti", + "DashboardCopied": "Pulti i tanishëm u kopjua me sukses te përdoruesi i përzgjedhur.", + "DashboardName": "Emër pulti:", + "DashboardOf": "Pulti i %s", "DeleteWidgetConfirm": "Jeni i sigurt se doni të fshihet ky \"widget\" prej pulti?", "LoadingWidget": "Widget-i po ngarkohet, ju lutemi, pritni...", + "ManageDashboard": "Administroni pultin", "Maximise": "Maksimizoje", "Minimise": "Minimizoje", + "RemoveDefaultDashboardNotPossible": "Pulti parazgjedhje s’mund të hiqet", + "RenameDashboard": "Riemërtoni pultin", "ResetDashboard": "Riktheje pultin te parazgjedhjet", "ResetDashboardConfirm": "Doni vërtet ta riktheni skemën e pultit tuaj te përzgjedhja parazgjedhje për Widget-et?", "SelectDashboardLayout": "Ju lutemi, përzgjidhni skemën e re për pultin tuaj", "SelectWidget": "Përzgjidhni widget-in që doni të shtohet te pulti", + "SetAsDefaultWidgets": "Caktojeni si përzgjedhje widget-esh parazgjedhje", "WidgetNotFound": "Nuk u gjet \"widget\"", "WidgetPreview": "Paraparje widget-i" } diff --git a/plugins/Dashboard/lang/sv.json b/plugins/Dashboard/lang/sv.json index bf14760780ce7bafbfdc40bce1d246b6394e26b6..4f2b0f7772c375e26004ca76299ddd96fcc0c1e3 100644 --- a/plugins/Dashboard/lang/sv.json +++ b/plugins/Dashboard/lang/sv.json @@ -21,6 +21,7 @@ "PluginDescription": "Ditt dashboard för webbanalys. Anpassa ditt dashboard genom att lägga till nya widgets, flytta runt dem och ändra kolumnindelning. Varje användare kan anpassa sin egen dashboard.", "RemoveDashboard": "Ta bort instrumentpanel", "RemoveDashboardConfirm": "Vill du verkligen radera instrumentpanelen \"%s\"?", + "RemoveDefaultDashboardNotPossible": "Standardinstrumentpanelen kan inte tas bort", "RenameDashboard": "Byt namn pÃ¥ instrumentpanelen", "ResetDashboard": "Ã…terställ instrumentpanel", "ResetDashboardConfirm": "Vill du verkligen Ã¥terställa instrumentpanelens layout för Widgets?", diff --git a/plugins/Dashboard/lang/tr.json b/plugins/Dashboard/lang/tr.json index 645b2c2f13ec25c2d4ad3ef0d333cbcd621a0008..b69bbc0900cf08cc90e4f145e22ed1de208c4d8c 100644 --- a/plugins/Dashboard/lang/tr.json +++ b/plugins/Dashboard/lang/tr.json @@ -7,6 +7,7 @@ "CreateNewDashboard": "Yeni panel ekle", "Dashboard": "Pano", "DashboardCopied": "Panel baÅŸarılı ÅŸekilde seçilen kullanıcı için kopyalandı", + "DashboardEmptyNotification": "Kontrol Panelin hiçbir widget içermiyor. Widget ekleyerek veya kontrol panelini resetleyerek varsayılan widget seçimi ile baÅŸlayabilirsin.", "DashboardName": "Panel adı:", "DashboardOf": "Kontrol paneli %s", "DefaultDashboard": "Varsayılan panel - Varsayılan widget seçimleri ve sütunları kullanın", @@ -17,6 +18,7 @@ "Maximise": "Maksimize", "Minimise": "Küçült", "NotUndo": "Bu eylemi geri alamazsınız.", + "PluginDescription": "Web Analitik ve Gösterge Tablon. Yeni widget ekleyerek, onları sürükle bırak yaparak ve gösterge paneli sütun düzgisini deÄŸiÅŸtirerek gösterge panelini özelleÅŸtirebilirsin. Her kullanıcı kendi özelleÅŸmiÅŸ gösterge panelini yönetebilir.", "RemoveDashboard": "Paneli kaldır", "RemoveDashboardConfirm": "\"%s\" panelini kaldırmak istediÄŸinize emin misiniz?", "RemoveDefaultDashboardNotPossible": "Varsayılan pano silinemez", @@ -25,6 +27,10 @@ "ResetDashboardConfirm": "Kontrol paneli ÅŸablonunuzu varsayılan widget seçimlerine sıfırlamak istediÄŸinizden emin misiniz?", "SelectDashboardLayout": "Lütfen yeni panel düzenini seçiniz.", "SelectWidget": "Panoya eklemek için bileÅŸen seçiniz.", + "SetAsDefaultWidgets": "Varsayılan widget seçimi olarak ata", + "SetAsDefaultWidgetsConfirm": "Mevcut widget seçimini ve kontrol paneli düzenini varsayılan kontrol paneli teması olarak atamak istediÄŸinizden emin misiniz?", + "SetAsDefaultWidgetsConfirmHelp": "Bu widgetlerin seçimi ve gösterge panelinin sütun dizgisi herhangi bir kullanıcı yeni gösterge paneli yarattığında veya \"%s\" özellii kullanıldığında kullanılabilir.", + "TopLinkTooltip": "%s için Web Analatik raporunu görüntüle.", "WidgetNotFound": "BileÅŸen bulunamadı", "WidgetPreview": "BileÅŸen görünümü" } diff --git a/plugins/Dashboard/lang/vi.json b/plugins/Dashboard/lang/vi.json index afa5cc2dbfe863ddf196236505b2856ef0b1c9cb..9f56c6aa38e0a64c9ec5cf2eb25e4e848c9a2a31 100644 --- a/plugins/Dashboard/lang/vi.json +++ b/plugins/Dashboard/lang/vi.json @@ -21,6 +21,7 @@ "PluginDescription": "Bảng Ä‘iá»u khiển của bạn. Có thể tùy biến bằng cách thêm widget, kéo thả hoặc thêm các trÆ°á»ng dữ liệu. Má»—i ngÆ°á»i dùng có thể tùy biến bảng Ä‘iá»u khiến cho riêng mình.", "RemoveDashboard": "Loại bá» bảng Ä‘iá»u khiển", "RemoveDashboardConfirm": "Bạn có chắc chắn muốn loại bá» bảng Ä‘iá»u khiển \"%s\"?", + "RemoveDefaultDashboardNotPossible": "Các bảng Ä‘iá»u khiển mặc định không thể bị gỡ bá»", "RenameDashboard": "Äổi tên bảng Ä‘iá»u khiển", "ResetDashboard": "Bảng Ä‘iá»u khiển mặc định", "ResetDashboardConfirm": "Bạn có chắc chắn muốn thiết láºp lại bố trà bảng Ä‘iá»u khiển của bạn cho thiết láºp các Widget mặc định?", diff --git a/plugins/Dashboard/lang/zh-cn.json b/plugins/Dashboard/lang/zh-cn.json index 6d9ff142de03a13f90a74110e102deca4577a6d9..52952d5ec31b081828ce179c5d2dd59cea434c1f 100644 --- a/plugins/Dashboard/lang/zh-cn.json +++ b/plugins/Dashboard/lang/zh-cn.json @@ -21,6 +21,7 @@ "PluginDescription": "您的 Web 分æžé¢æ¿ã€‚如果需è¦è‡ªå®šä¹‰ï¼Œæ‚¨å¯ä»¥æ·»åŠ æ–°çš„å°å·¥å…·ï¼Œæ‹–动这些å°å·¥å…·ï¼Œå’Œæ›´æ”¹é¢æ¿çš„列数和布局。æ¯ä¸ªç”¨æˆ·éƒ½å¯ä»¥ç‹¬ç«‹å®šåˆ¶å±žäºŽä»–自己的é¢æ¿ã€‚", "RemoveDashboard": "åˆ é™¤é¢æ¿", "RemoveDashboardConfirm": "确认è¦åˆ 除é¢æ¿\"%s\"å—?", + "RemoveDefaultDashboardNotPossible": "é»˜è®¤çš„ä»ªè¡¨ç›˜æ— æ³•åˆ é™¤", "RenameDashboard": "é‡å‘½åé¢æ¿", "ResetDashboard": "é‡ç½®é¢æ¿", "ResetDashboardConfirm": "确认é‡ç½®é¢æ¿å¸ƒå±€å¹¶ä¸”使用默认的å°å·¥å…·ï¼Ÿ", diff --git a/plugins/Dashboard/templates/index.twig b/plugins/Dashboard/templates/index.twig index ddaac2428cb2c5f3a13056665025cb06433043b6..17f3a5363dda1f461bcbdd122876453605299416 100644 --- a/plugins/Dashboard/templates/index.twig +++ b/plugins/Dashboard/templates/index.twig @@ -6,9 +6,9 @@ <div id="Dashboard" class="piwikTopControl borderedControl piwikSelector"> <ul> {% for dashboard in dashboards %} - <li class="dashboardMenuItem" id="Dashboard_embeddedIndex_{{ dashboard.iddashboard }}"> + <li id="Dashboard_embeddedIndex_{{ dashboard.iddashboard }}"> <a href="javascript:$('#dashboardWidgetsArea').dashboard('loadDashboard', {{ dashboard.iddashboard }});" - class="title">{{ dashboard.name|escape }}</a> + class="item">{{ dashboard.name|escape }}</a> </li> {% endfor %} </ul> diff --git a/plugins/DevicePlugins/lang/sq.json b/plugins/DevicePlugins/lang/sq.json index 7550b4b423d1aad6d52b59f232ff3779a96dcee7..61aa87f22cba7ec6230e84eb19da684446f35f28 100644 --- a/plugins/DevicePlugins/lang/sq.json +++ b/plugins/DevicePlugins/lang/sq.json @@ -1,5 +1,7 @@ { "DevicePlugins": { + "BrowserWithNoPluginsEnabled": "%1$s pa shtojca të aktivizuara", + "BrowserWithPluginsEnabled": "%1$s me shtojca %2$s të aktivizuara", "WidgetPlugins": "Listë e Shtojcave", "WidgetPluginsDocumentation": "Ky raport tregon se cilat shtojca shfletuesi kanë të aktivizuara vizitorët tuaj. Ky informacion mund të jetë i vlefshëm për zgjedhjen e mënyrës më të përshtatshme për ofrimin e lëndës suaj." } diff --git a/plugins/DevicesDetection/lang/sq.json b/plugins/DevicesDetection/lang/sq.json index 28dd7fe67c653ff0f304b2283b5f06869ffce46b..df2cd7d373baebe9f25b1ae9125271ff1113740e 100644 --- a/plugins/DevicesDetection/lang/sq.json +++ b/plugins/DevicesDetection/lang/sq.json @@ -5,6 +5,9 @@ "BrowserFamily": "Familje shfletuesi", "Browsers": "Shfletuesa", "BrowserVersion": "Version shfletuesi", + "BrowserVersions": "Versione shfletuesi", + "Camera": "Kamerë", + "Software": "Software", "ColumnBrowser": "Shfletues", "ColumnOperatingSystem": "Sistem operativ", "dataTableLabelTypes": "Lloj", diff --git a/plugins/DevicesDetection/lang/tr.json b/plugins/DevicesDetection/lang/tr.json index affb773e9020f806001b1dc0629bf55fb689b5c1..0328ee866bea8179ef7f148141325bf2f0b98cd2 100644 --- a/plugins/DevicesDetection/lang/tr.json +++ b/plugins/DevicesDetection/lang/tr.json @@ -1,6 +1,7 @@ { "DevicesDetection": { "BrowserEngine": "Tarayıcı", + "BrowserEngines": "Tarayıcı Motorları", "BrowserFamily": "Tarayıcı ailesi", "Browsers": "Tarayıcılar", "BrowserVersion": "Tarayıcı sürümü", @@ -22,16 +23,21 @@ "DeviceModel": "Cihaz modeli", "DevicesDetection": "Ziyaretçi Cihazları", "DeviceType": "Cihaz tipi", + "FeaturePhone": "Özellikli Telefon", "OperatingSystemFamilies": "Ä°ÅŸletim Sistemi aileleri", "OperatingSystemFamily": "Ä°ÅŸletim Sistemi Ailesi", "OperatingSystems": "Ä°ÅŸletim sistemleri", "OperatingSystemVersions": "Ä°ÅŸletim Sistemi versiyonları", + "PluginDescription": "Marka (Ãœretici), Model (cihaz versiyonu) , cihaz tipi (tv, konsol, akıllı telefon, masaüstü gibi) özellikleri içeren kulanıcı cihazları ile ilgili ek bilgi sunar.", "SmartDisplay": "Akıllı görüntüleme", "Smartphone": "Akıllı Telefon", + "PortableMediaPlayer": "Taşınabilir medya oynatıcısı", "Devices": "Cihazlar", "Tablet": "Tablet", + "Phablet": "Tablet", "TV": "Tv", "UserAgent": "User-Agent", - "WidgetBrowsers": "Ziyaretçi tarayıcılari" + "WidgetBrowsers": "Ziyaretçi tarayıcılari", + "WidgetBrowsersDocumentation": "Bu rapor ziyaretçilerinizin ne tür tarayıcılar kullandığı bilgisini içerir. Her tarayıcı versiyonu ayrı olarak listelenmiÅŸtir." } } \ No newline at end of file diff --git a/plugins/Diagnostics/ConfigReader.php b/plugins/Diagnostics/ConfigReader.php index 22f95fc6eb5c75709b969be47c5c659c0a44a755..7d0c90938d78dcc2860d388180dbcff8cab766c2 100644 --- a/plugins/Diagnostics/ConfigReader.php +++ b/plugins/Diagnostics/ConfigReader.php @@ -116,7 +116,7 @@ class ConfigReader { $key = strtolower($key); $passwordFields = array( - 'password', 'secret', 'apikey', 'privatekey', 'admin_pass' + 'password', 'secret', 'apikey', 'privatekey', 'admin_pass', 'md5', 'sha1' ); foreach ($passwordFields as $value) { if (strpos($key, $value) !== false) { diff --git a/plugins/Diagnostics/lang/it.json b/plugins/Diagnostics/lang/it.json index 72a21afc43b87db67ee51474707cfa327bdf7055..0b3feb55e113822bd373b06876d15b8634612ecd 100644 --- a/plugins/Diagnostics/lang/it.json +++ b/plugins/Diagnostics/lang/it.json @@ -1,6 +1,7 @@ { "Diagnostics": { "ConfigFileTitle": "File di configurazione", + "ConfigFileIntroduction": "Qui puoi vedere la configurazione di Piwik. Se Piwik viene eseguito in un ambiente a carico bilanciato, la pagina può apparire diversa a seconda del server da cui essa viene caricata. Righe con uno sfondo diverso hanno valori di configurazione diversi specificati per esempio nel file %1$s.", "HideUnchanged": "Se vuoi vedere soltanto i valori cambiati, puoi %1$snascondere tutti quelli che non sono cambiati%2$s.", "Sections": "Sezioni" } diff --git a/plugins/Diagnostics/lang/ro.json b/plugins/Diagnostics/lang/ro.json new file mode 100644 index 0000000000000000000000000000000000000000..a33b1bc0cb3162bdcba2919e9f309fe2d1089d7f --- /dev/null +++ b/plugins/Diagnostics/lang/ro.json @@ -0,0 +1,8 @@ +{ + "Diagnostics": { + "ConfigFileTitle": "FiÅŸier configurări", + "ConfigFileIntroduction": "Aici poÅ£i vedea configurările Piwik. Dacă rulezi Piwik într-un mediu cu load-balancing pagina poate fi diferită în funcÅ£ie de serverul de pe care se încarcă. Liniile cu o culoare de fundal diferită valorile de configurare modificate specificate, de exemplu în fiÅŸierul %1$s", + "HideUnchanged": "Dacă vrei să vezi doar valorile modificate poÅ£i ascunde %1$s toate valorile neschimbate %2$s.", + "Sections": "SecÅ£iuni" + } +} \ No newline at end of file diff --git a/plugins/Diagnostics/lang/sq.json b/plugins/Diagnostics/lang/sq.json new file mode 100644 index 0000000000000000000000000000000000000000..1e0cf25ff0dfb0c2e521adf293c37235fbbf594b --- /dev/null +++ b/plugins/Diagnostics/lang/sq.json @@ -0,0 +1,6 @@ +{ + "Diagnostics": { + "ConfigFileTitle": "Kartelë formësimesh", + "Sections": "Ndarje" + } +} \ No newline at end of file diff --git a/plugins/Ecommerce/lang/sq.json b/plugins/Ecommerce/lang/sq.json new file mode 100644 index 0000000000000000000000000000000000000000..005f58ccb96d77c5bea09040dfb8cf8e101ec36f --- /dev/null +++ b/plugins/Ecommerce/lang/sq.json @@ -0,0 +1,6 @@ +{ + "Ecommerce": { + "Sales": "Shitje", + "SalesAdjective": "Shitje %s" + } +} \ No newline at end of file diff --git a/plugins/Ecommerce/lang/vi.json b/plugins/Ecommerce/lang/vi.json new file mode 100644 index 0000000000000000000000000000000000000000..7d87dfe1fc3e47b7b1c20b24711e50487d33fbc4 --- /dev/null +++ b/plugins/Ecommerce/lang/vi.json @@ -0,0 +1,5 @@ +{ + "Ecommerce": { + "PluginDescription": "ThÆ°Æ¡ng mại Ä‘iện tá» cho phép bạn theo dõi khi ngÆ°á»i dùng thêm sản phẩm và o giá», và khi há» chuyển đổi để bán hà ng thÆ°Æ¡ng mại Ä‘iện tá». Nó cÅ©ng theo dõi các sản phẩm và xem các loại sản phẩm và các Ä‘Æ¡n hà ng bị bá»." + } +} \ No newline at end of file diff --git a/plugins/Events/lang/sq.json b/plugins/Events/lang/sq.json new file mode 100644 index 0000000000000000000000000000000000000000..e97f2cb97d1e3a0b4dc1d3d35b33b83dfca2468a --- /dev/null +++ b/plugins/Events/lang/sq.json @@ -0,0 +1,11 @@ +{ + "Events": { + "Event": "Veprimtari", + "EventCategories": "Kategori Veprimtarish", + "EventCategory": "Kategori Veprimtarish", + "EventName": "Emër Veprimtarie", + "EventNames": "Emra Veprimtarish", + "Events": "Veprimtari", + "EventsWithValue": "Veprimtari me një vlerë" + } +} \ No newline at end of file diff --git a/plugins/Events/lang/tr.json b/plugins/Events/lang/tr.json index 70671336b7a65673ef7bd5cb0ebeadf82e9bc689..e5656f448a3edd4fa88cac1d94bfe2abddaaea6e 100644 --- a/plugins/Events/lang/tr.json +++ b/plugins/Events/lang/tr.json @@ -1,5 +1,6 @@ { "Events": { + "PluginDescription": "Olayları izle ve ziyaretçilerin aktivitesi üzerine raporlar al.", "AvgEventValue": "Ortalama etkinlik deÄŸeri: %s", "AvgValue": "Ortalama deÄŸer", "AvgValueDocumentation": "Bu etkinlik için ortalama tüm deÄŸerler", @@ -14,6 +15,7 @@ "EventsWithValue": "DeÄŸeri olan etkinlikler", "EventsWithValueDocumentation": "Etkinlik deÄŸeri ayarlanmış olan etkinlik sayısı", "EventValue": "Etkinlik DeÄŸeri", + "EventValueTooltip": "Toplam olay deÄŸeri %1$s ile %2$s arasında, en az %3$s ve en fazla %4$s dür", "MaxValue": "Maksimum deÄŸer", "MaxValueDocumentation": "Bu etkinlik için maksimum deÄŸer", "MinValue": "Minimum deÄŸer", diff --git a/plugins/Events/lang/vi.json b/plugins/Events/lang/vi.json index 6bf5ed2407535dd5e6658d6598c834ba49b57922..e06d11684eefe3a02490fe4432bd9bbef2c76eb0 100644 --- a/plugins/Events/lang/vi.json +++ b/plugins/Events/lang/vi.json @@ -1,5 +1,6 @@ { "Events": { + "PluginDescription": "Theo dõi sá»± kiện và nháºn các báo cáo vá» hoạt Ä‘á»™ng truy cáºp của bạn.", "EventAction": "Hà nh Ä‘á»™ng sá»± kiện", "EventCategory": "Danh mục sá»± kiện", "EventName": "Tên sá»± kiện", diff --git a/plugins/Feedback/lang/sv.json b/plugins/Feedback/lang/sv.json index 379daed27b416cb2e42fb6e77cc1efd8929ae30b..80fab4cfc4eac426f1821260e84035d9bdca07f9 100644 --- a/plugins/Feedback/lang/sv.json +++ b/plugins/Feedback/lang/sv.json @@ -5,6 +5,7 @@ "IWantTo": "Jag vill:", "LearnWaysToParticipate": "Läs om alla sätt du kan %1$s delta%2$s", "ManuallySendEmailTo": "Vänligen skicka ditt meddelande manuellt till", + "PluginDescription": "Skicka din feedback till Piwik-teamet. Dela dina idéer och förslag för att göra Piwik till världens bästa analysplattform!", "PrivacyClaim": "Piwik respekterar din %1$sintegritet%2$s och ger dig full kontroll över din information.", "RateFeatureLeaveMessageDislike": "Vi är ledsna över att du inte gillar det! Berätta gärna för oss hur vi kan förbättra Piwik.", "RateFeatureLeaveMessageLike": "Vi är glada att du gillar det! Berätta för oss vad du gillar mest med Piwik eller om du har ett förslag pÃ¥ en funktion.", @@ -16,10 +17,17 @@ "TopLinkTooltip": "Tala om för oss vad du tycker, eller frÃ¥ga efter professionell support.", "ViewAnswersToFAQ": "Se svar pÃ¥ %1$svanliga frÃ¥gor%2$s", "ViewUserGuides": "Lär dig att konfigurera Piwik och hur man pÃ¥ ett effektivt sätt analyserar data med vÃ¥ra %1$sanvändarguider%2$s", + "CommunityHelp": "Community Hjälp", "ProfessionalHelp": "Professionell hjälp", "PiwikProOfferIntro": "VÃ¥rt erbjudande inkluderar", + "PiwikProReviewPiwikSetup": "En recension av din Piwik-installation", + "PiwikProOptimizationMaintenance": "Piwik optimering & underhÃ¥llstjänster", "PiwikProPhoneEmailSupport": "Telefon och e-postsupport", + "PiwikProTraining": "Användar-, teknisk och utvecklarutbildning", "PiwikProPremiumFeatures": "Premium-funktioner", - "ContactUs": "Kontakta oss" + "PiwikProCustomDevelopment": "Anpassad utvecklingstjänster", + "PiwikProAnalystConsulting": "Konsulttjänster för analyser", + "ContactUs": "Kontakta oss", + "VisitTheForums": "Besök %1$s forumet%2$s och fÃ¥ hjälp av Piwik-användare" } } \ No newline at end of file diff --git a/plugins/Goals/lang/es.json b/plugins/Goals/lang/es.json index 97d6b9b375c26673c242b5a1e5449ecffae6285c..d8c0dcb091dc8fd209eea46abb461f39553a3904 100644 --- a/plugins/Goals/lang/es.json +++ b/plugins/Goals/lang/es.json @@ -76,6 +76,8 @@ "MatchesExpression": "coincide con la expresión %s", "NewGoalIntro": "El seguimiento de las conversiones del objetivo es una de las maneras más eficaces para medir y mejorar las metas de negocio.", "NewVisitorsConversionRateIs": "La tasa de visitantes nuevos es %s", + "NoGoalsNeedAccess": "Solo un Administrador o un usuario con permisos de Super Usuario puede gestionar Objetivos para un determinado sitio web. Por favor, consulte a su administrador de Piwik para establecer Objetivos para su sitio web. <br> ¡Hacer un seguimiento de los Objetivos es una gran manera de ayudar a entender y maximizar el rendimiento de su sitio web!", + "NeedAccess": "Solo un Administrador o un usuario con permisos de Super Usuario puede gestionar Objetivos para un determinado sitio web.", "Optional": "(opcional)", "OverallConversionRate": "%s tasa global de la conversión (visitas con un objetivo completado)", "OverallRevenue": "%s ingresos totales", diff --git a/plugins/Goals/lang/sq.json b/plugins/Goals/lang/sq.json index b3c92ded4351a5c21e4b1ed178f271035e19170d..1c5dfc173d7c94151440f0adbcb51da042dc58d3 100644 --- a/plugins/Goals/lang/sq.json +++ b/plugins/Goals/lang/sq.json @@ -42,7 +42,7 @@ "Details": "Hollësi objektivi", "DefaultGoalConvertedOncePerVisit": "(parazgjedhje) Objektivi mund të shndërrohet një herë për vizitë", "DefaultRevenue": "E ardhura parazgjedhje e objektivit është", - "DefaultRevenueHelp": "Për shembull, një Formular Kontakti parashtruar nga një vizitor mund të vlejë mesatarisht 10 euro. Piwik-u do t'ju ndihmojë të kuptoni se si shtresëzohen segmentet e vizitorëve tuaj.", + "DefaultRevenueHelp": "Për shembull, një Formular Kontakti parashtruar nga një vizitor mund të vlejë mesatarisht 10 euro. Piwik-u do t’ju ndihmojë të kuptoni se si shtresëzohen segmentet e vizitorëve tuaj.", "DeleteGoalConfirm": "Jeni i sigurt se doni të fshihet Objektivi %s?", "DocumentationRevenueGeneratedByProductSales": "Shitje produkti. Pa taksa, dërgesë dhe zbritje çmimi", "Download": "Shkarkon një kartelë", diff --git a/plugins/Goals/lang/sv.json b/plugins/Goals/lang/sv.json index 63810c8f5a29a053f5fa0cb2790eadc41c648ae8..5ba02ca36ec56448f01c19919b770d136ebb9148 100644 --- a/plugins/Goals/lang/sv.json +++ b/plugins/Goals/lang/sv.json @@ -76,6 +76,8 @@ "MatchesExpression": "matchar uttrycket %s", "NewGoalIntro": "Att använda mÃ¥l för konvertering är ett av de mest effektiva sätten att mäta och förbättra din affärsverksamhet.", "NewVisitorsConversionRateIs": "Nya besökares omvandlingsgrad är %s", + "NoGoalsNeedAccess": "Bara en administratör eller användare med Superbehörighet kan hantera mÃ¥l för angiven hemsida. Var snäll och kontakta din administratör hos Piwik för att sätta upp dina mÃ¥l för din hemsida. <br>Att ha mÃ¥l är ett utmärkt sätt att fÃ¥ hjälp att förstÃ¥ hur du maximerar din webbsidas resultat!", + "NeedAccess": "Bara en administratör eller användare med Superbehörighet kan hantera mÃ¥l för angiven hemsida.", "Optional": "(frivilligt)", "OverallConversionRate": "%s total omvandlingsgrad (besök med ett uppnÃ¥tt mÃ¥l)", "OverallRevenue": "%s totala intäkter", diff --git a/plugins/Goals/lang/zh-cn.json b/plugins/Goals/lang/zh-cn.json index 71b887124db50c383224b9e022fb2d1122276857..96f93dfefaf9d70587afbe2d0345ee0587538495 100644 --- a/plugins/Goals/lang/zh-cn.json +++ b/plugins/Goals/lang/zh-cn.json @@ -10,6 +10,7 @@ "BestKeywords": "您的最佳转化关键å—为:", "BestReferrers": "您的最佳转化网站æ¥æºä¸º:", "CaseSensitive": "大å°å†™æ•æ„Ÿ", + "CategoryTextReferrers_Referrers": "æ¥æº", "ClickOutlink": "点击链接转å‘外部网站", "ColumnAverageOrderRevenueDocumentation": "评价订å•ä»·å€¼ (AOV) 是所有订å•çš„总金é¢é™¤ä»¥è®¢å•æ•°ã€‚", "ColumnAveragePriceDocumentation": "%s çš„å¹³å‡æ”¶å…¥ã€‚", diff --git a/plugins/ImageGraph/lang/sq.json b/plugins/ImageGraph/lang/sq.json index d1da4a0930be3c031437fd0ecb5dc1c72a5d6561..9038f453efb60065d54d2553ae93163e5432a75e 100644 --- a/plugins/ImageGraph/lang/sq.json +++ b/plugins/ImageGraph/lang/sq.json @@ -1,5 +1,5 @@ { "ImageGraph": { - "PluginDescription": "Prodhoni për çfarëdo raporti Piwik figura të mrekullueshme PNG statike Grafikësh." + "ColumnOrdinateMissing": "Në këtë raport s’u gjet shtylla '%1$s'. Provoni cilëndo nga %2$s" } } \ No newline at end of file diff --git a/plugins/Insights/lang/zh-cn.json b/plugins/Insights/lang/zh-cn.json index a03ef51c8b69f0b4099328f0e90f0dfc43e1aba6..f19a0a92487630bd18b71493394ba0e2752cf2d6 100644 --- a/plugins/Insights/lang/zh-cn.json +++ b/plugins/Insights/lang/zh-cn.json @@ -1,11 +1,16 @@ { "Insights": { + "DayComparedToPreviousDay": "å‰ä¸€å¤©", + "DayComparedToPreviousWeek": "上一周的åŒä¸€å¤©", + "DayComparedToPreviousYear": "上一年的åŒä¸€å¤©", "Filter": "æ¡ä»¶", "FilterOnlyDecreaser": "ä»…é™å‡å°‘çš„", "FilterOnlyDisappeared": "ä»…é™æ¶ˆå¤±çš„", "FilterOnlyIncreaser": "ä»…é™å¢žåŠ çš„", "FilterOnlyMovers": "ä»…é™ç§»åŠ¨çš„", "FilterOnlyNew": "ä»…é™æ–°çš„", + "MonthComparedToPreviousMonth": "上月", + "MonthComparedToPreviousYear": "上一年的åŒæœˆ", "WeekComparedToPreviousWeek": "上一周", "YearComparedToPreviousYear": "上一年" } diff --git a/plugins/Installation/lang/cs.json b/plugins/Installation/lang/cs.json index cdb5822ef51cacc9eb3e11f2f167ec68298e388f..c7e657835d920460611535e380872b1539243b41 100644 --- a/plugins/Installation/lang/cs.json +++ b/plugins/Installation/lang/cs.json @@ -43,6 +43,7 @@ "PasswordRepeat": "Heslo (zopakujte)", "PercentDone": "%s %% hotovo", "PiwikProAdTitle": "PokroÄilé analýzy a služby", + "PiwikProAdText": "PoÅ™iÄte si nadstandartnà možnosti a odkryjte plnou sÃlu s %1$sPiwik PRO On-Premises%2$s, nebo si objednejte Piwik hostovaný bez starostà v %3$sPiwik PRO Cloud%4$s.", "PleaseFixTheFollowingErrors": "ProsÃm opravte následujÃcà chyby", "DefaultSettings": "Výchozà nastavenà Piwiku", "DefaultSettingsHelp": "Piwik má výchozà nastavenÃ. Můžete je zmÄ›nit teÄ, nebo pozdÄ›ji z administraÄnÃho rozhranÃ.", diff --git a/plugins/Installation/lang/ko.json b/plugins/Installation/lang/ko.json index bde1148c0217f3cb98ec4cacbed2fc8bdbeb4cd9..b94e1d0bc15928a894f395101058a65d212b399a 100644 --- a/plugins/Installation/lang/ko.json +++ b/plugins/Installation/lang/ko.json @@ -42,6 +42,8 @@ "PasswordDoNotMatch": "비밀번호가 맞지 않습니다", "PasswordRepeat": "비밀번호 (반복 ìž…ë ¥)", "PercentDone": "%s %% 완료", + "PiwikProAdTitle": "ê³ ê¸‰ ë¶„ì„ ë° ì„œë¹„ìŠ¤", + "PiwikProAdText": "%1$sPiwik 프로 On-premise%2$s를 통해 ìµœëŒ€ì˜ í”„ë¦¬ë¯¸ì—„ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ì‹œê±°ë‚˜, %3$sPiwik 프로 í´ë¼ìš°ë“œ%4$s를 통해 ë‹¹ì‹ ë§Œì˜ ë²ˆê±°ë¡œì›€ 없는 Piwik 호스트 서비스를 사용하실 수 있습니다.", "PleaseFixTheFollowingErrors": "ë‹¤ìŒ ì˜¤ë¥˜ë¥¼ ìˆ˜ì •í•˜ì„¸ìš”", "DefaultSettings": "기본 Piwik ì„¤ì •", "DefaultSettingsHelp": "Piwik 기본 ì„¤ì •ì— ë”°ë¦…ë‹ˆë‹¤. ì´ë¥¼ 지금 í˜¹ì€ í›„ì— ê´€ë¦¬ìž í™”ë©´ì—ì„œ ë³€ê²½í• ìˆ˜ 있습니다.", diff --git a/plugins/Installation/lang/sq.json b/plugins/Installation/lang/sq.json index 9d0815134f26c3475470aae62676f9d9d4e6758b..7e59ba766312fbd9034aaa8ab151a11a22a54b6c 100644 --- a/plugins/Installation/lang/sq.json +++ b/plugins/Installation/lang/sq.json @@ -1,11 +1,12 @@ { "Installation": { + "CollaborativeProject": "Piwik-u është një projekt në bashkëpunim, i ngritur me dashuri nga njerëz anembanë botës.", "ConfigurationHelp": "Kartela juaj për formësimin e Piwik-ut duket se është e keqformësuar. Ose mund të hiqni config\/config.ini.php dhe rinisni instalimin, ose ndreqni rregullimet për lidhjen me bazën e të dhënave.", "ConfirmDeleteExistingTables": "Jeni i sigurt se doni të fshihen tabelat: %s prej bazës së të dhënave? KUJDES: NUK DO TË MUND TË RIKTHENI TË DHËNAT PREJ KËTYRE TABELAVE!", "Congratulations": "Urime", "CongratulationsHelp": "<p>Urime! Instalimi juaj i Piwik-ut u plotësua.<\/p><p>Sigurohuni që keni futur kodin JavaScript te faqet tuaja, dhe prisni për vizitorët e parë!<\/p>", "DatabaseCreation": "Krijim baze të dhënash", - "DatabaseErrorConnect": "Gabim gjatë provës për t'u lidhur me shërbyesin e bazës së të dhënave", + "DatabaseErrorConnect": "Gabim gjatë provës për t’u lidhur me shërbyesin e bazës së të dhënave", "DatabaseServerVersion": "Version shërbyesi baze të dhënash", "DatabaseSetup": "Rregullimi i Bazës së të Dhënave", "DatabaseSetupAdapter": "përshtatës", @@ -19,15 +20,15 @@ "InstallationStatus": "Gjendje instalimi", "LargePiwikInstances": "Ndihmë për raste Piwik-u me ngarkesë", "Legend": "Legjendë", - "NoConfigFound": "S'u gjet dot kartela e formësimit të Piwik-ut dhe po provoni të hyni te një faqe Piwik-u.<br \/><b>  » Mund ta <a href='index.php'>instaloni Piwik-un tani<\/a><\/b><br \/><small>Nëse e kishit instaluar Piwik-un më parë dhe keni disa tabela te baza juaj e të dhënave, mos u shqetësoni, mund të ripërdorni po ato tabela dhe të mbani të dhënat tuaja ekzistuese!<\/small>", + "NoConfigFound": "S’u gjet dot kartela e formësimit të Piwik-ut dhe po provoni të hyni te një faqe Piwik-u.<br \/><b>  » Mund ta <a href='index.php'>instaloni Piwik-un tani<\/a><\/b><br \/><small>Nëse e kishit instaluar Piwik-un më parë dhe keni disa tabela te baza juaj e të dhënave, mos u shqetësoni, mund të ripërdorni po ato tabela dhe të mbani të dhënat tuaja ekzistuese!<\/small>", "Optional": "Opsionale", "PasswordDoNotMatch": "fjalëkalimet nuk përputhen", "PercentDone": "Plotësuar %s %%", "PleaseFixTheFollowingErrors": "Ju lutem, ndreqni gabimet vijuese", "Requirements": "Të domosdoshme për Piwik-un", - "SetupWebsite": "Caktoni një \"site\" web", - "SetupWebsiteError": "Pati një gabim gjatë shtimit të një \"site\"-i web", - "SetupWebsiteSetupSuccess": "\"Site\"-i Web %s u shtua me sukses!", + "SetupWebsite": "Rregulloni një Sajt", + "SetupWebsiteError": "Pati një gabim gjatë shtimit të një sajti", + "SetupWebsiteSetupSuccess": "Sajti %s u shtua me sukses!", "SuperUser": "Super Përdorues", "SuperUserSetupSuccess": "Super Përdoruesi u krijua me sukses!", "SystemCheck": "Kontroll sistemi", @@ -45,10 +46,10 @@ "SystemCheckGzcompressHelp": "Lypset të aktivizoni zgjerimin zlib dhe funksionin gzcompress.", "SystemCheckGzuncompressHelp": "Lypset të aktivizoni zgjerimin zlib dhe funksionin gzuncompress.", "SystemCheckIconvHelp": "Lypset të formësoni dhe rindërtoni PHP-në me aktivizim të mbulimit të \"iconv\", --with-iconv.", - "SystemCheckMailHelp": "Mesazhet mbi Përshtypjet dhe Fjalëkalim të Humbur nuk kanë për t'u dërguar pa mail().", + "SystemCheckMailHelp": "Mesazhet mbi Përshtypjet dhe Fjalëkalim të Humbur nuk kanë për t’u dërguar pa mail().", "SystemCheckMbstring": "mbstring", "SystemCheckMemoryLimit": "Kufi kujtese", - "SystemCheckMemoryLimitHelp": "Në një \"site\" web me shumë trafik, procesi i arkivimit mund të dojë më tepër kujtesë se sa i është dhënë tani. Në u dashtë, ndryshojeni parametrin memory_limit te kartela juaj php.ini.", + "SystemCheckMemoryLimitHelp": "Në një sajt me shumë trafik, procesi i arkivimit mund të dojë më tepër kujtesë se sa i është dhënë tani. Në u dashtë, ndryshojeni parametrin memory_limit te kartela juaj php.ini.", "SystemCheckOpenURL": "Hap URL", "SystemCheckOpenURLHelp": "Pajtimet në buletine, njoftime përditësimesh, dhe përditësimet me një klikim e duan zgjerimin \"curl\", allow_url_fopen=On, ose fsockopen() të aktivizuar.", "SystemCheckOtherExtensions": "Zgjerime të tjera", @@ -59,10 +60,10 @@ "SystemCheckPhp": "Version PHP-je", "SystemCheckPhpPdoAndMysqli": "Më tepër të dhëna te: %1$sPHP PDO%2$s dhe %3$sMYSQLI%4$s.", "SystemCheckSplHelp": "Lypset të formësoni dhe krijoni PHP-në me Librarinë Standarde PHP të aktivizuar (si parazgjedhje).", - "SystemCheckTimeLimitHelp": "Në \"site\" web me shumë trafik, përmbushja e procesit të arkivimit mund të dojë më tepër kohë se sa i është dhënë tani. Në u dashtë, ndryshojeni parametrin max_execution_time te kartela juaj php.ini.", + "SystemCheckTimeLimitHelp": "Në sajt me shumë trafik, përmbushja e procesit të arkivimit mund të dojë më tepër kohë se sa i është dhënë tani. Në u dashtë, ndryshojeni parametrin max_execution_time te kartela juaj php.ini.", "SystemCheckTracker": "Gjendje gjurmuesi", "SystemCheckWarnDomHelp": "Do të duhej të aktivizonit zgjerimin \"dom\" (p.sh., instaloni paketën \"php-dom\" dhe\/ose \"php-xml\").", - "SystemCheckWarning": "Piwik-u do të punojë normalisht por mund t'i mungojnë disa veçori", + "SystemCheckWarning": "Piwik-u do të punojë normalisht por mund t’i mungojnë disa veçori", "SystemCheckWarnJsonHelp": "Do të duhej të aktivizonit zgjerimin \"json\" (p.sh., instaloni paketën \"php-json\") për punim më të mirë.", "SystemCheckWarnLibXmlHelp": "Do të duhej të aktivizonit zgjerimin \"libxml\" (p.sh., paketën \"install the php-libxml\" ) meqë është e domosdoshme nga zgjerime të tjera bazë të PHP-së.", "SystemCheckWarnSimpleXMLHelp": "Do të duhej të aktivizonit zgjerimin \"SimpleXML\" (p.sh., instaloni paketën \"php-simplexml\" dhe\/ose \"php-xml\").", diff --git a/plugins/Installation/lang/tr.json b/plugins/Installation/lang/tr.json index 2b51d7634d394b211ae240a5589afc6cf87defa5..83ff4a0dd53b2f8d6f3c2d50cf8efa30f97da23b 100644 --- a/plugins/Installation/lang/tr.json +++ b/plugins/Installation/lang/tr.json @@ -1,5 +1,7 @@ { "Installation": { + "ConfigurationHelp": "Piwik konfigürasyon dosyası yanlış yapılandırılmış. config\/config.ini.php dosyasını silin ve kuruluma devam edin, yada veritabanı baÄŸlantınızı doÄŸru yapın.", + "ConfirmDeleteExistingTables": "%s veritabanından tabloları silmek istediÄŸinizden emin misiniz? UYARI: TABLODAN VERILER YENIDEN ALINAMAZ!", "Congratulations": "Tebrikler", "CongratulationsHelp": "<p>Tebrikler! Piwik BaÅŸarıyla kuruldu.<\/p><p>JavaScript kodunu sayfalarınıza yerleÅŸtirdiÄŸinizden emin olun ve ilk ziyaretçilerinizi beklemeye baÅŸlayın!<\/p>", "DatabaseCreation": "Veritabanı oluÅŸturma", @@ -13,6 +15,8 @@ "Email": "E-posta", "Extension": "eklenti", "Filesystem": "Dosya sistemi", + "GoBackAndDefinePrefix": "Geri dönün ve Piwik Tabloları için tablo ön eki tanımlayınız.", + "HappyAnalysing": "Mutlu Analizler!", "Installation": "Yükleme", "InstallationStatus": "Yükleme durumu", "InvalidStateError": "Hata: Piwik zaten kurulmuÅŸ. %1$s Geri dön %2$s Piwik%3$s.", @@ -35,6 +39,7 @@ "SetupWebsiteSetupSuccess": "Web site %s baÅŸarıyla eklendi.", "SetupWebSiteURL": "Web site adresi", "SystemCheck": "Sistem kontrolü", + "SystemCheckAutoUpdateHelp": "Not: Piwik Tek Tıklamayla güncelleme için Piwik klasörüne ve içeriÄŸine yazma izinleri gerektirir.", "SystemCheckDatabaseHelp": "Piwik mysqli eklentisi ya da PDO ve pdo_mysql eklentilerine ihtiyaç duyar.", "SystemCheckError": "Bir hata oluÅŸtu. Devam edebilmek için hatayı gidermelisiniz.", "SystemCheckExtensions": "Gerekli diÄŸer eklentiler", diff --git a/plugins/Installation/lang/vi.json b/plugins/Installation/lang/vi.json index 1d662380a6ef1c6c2a60d4090a8762fc20f63a7e..70797d7366d918a1cba59d76f470e2ee59fe77d5 100644 --- a/plugins/Installation/lang/vi.json +++ b/plugins/Installation/lang/vi.json @@ -1,5 +1,6 @@ { "Installation": { + "CollaborativeProject": "Piwik là má»™t dá»± án hợp tác, được xây dá»±ng vá»›i sá»± yêu thÃch của má»i ngÆ°á»i từ khắp nÆ¡i trên thế giá»›i.", "ConfigurationHelp": "Táºp tin cấu hình Piwik của bạn dÆ°á»ng nhÆ° là sai. Bạn có thể loại bá» config\/config.ini.php và tiếp tục cà i đặt, hoặc sá»a chữa các thiết láºp kết nối cÆ¡ sở dữ liệu.", "ConfirmDeleteExistingTables": "Bạn có chắc chắn muốn xóa các table (bảng) sau khá»i database của bạn: %s? CHÚ Ã: Dá»® LIỆU BỊ XÓA TỪ CÃC TABLE NÀY SẼ KHÔNG THỂ KHÔI PHỤC LẠI ÄƯỢC!", "Congratulations": "Xin chúc mừng", diff --git a/plugins/Installation/lang/zh-cn.json b/plugins/Installation/lang/zh-cn.json index bef29bf2aca3b1c0dbddacc09db2c65ad2d0434a..ab96b1f3c3faf4f11f630b2e5062ab366016c206 100644 --- a/plugins/Installation/lang/zh-cn.json +++ b/plugins/Installation/lang/zh-cn.json @@ -42,6 +42,8 @@ "PasswordDoNotMatch": "密ç ä¸åŒ¹é…", "PasswordRepeat": "密ç (é‡å¤)", "PercentDone": "%s %% 已完æˆ", + "PiwikProAdTitle": "高级分æžä¸ŽæœåŠ¡", + "PiwikProAdText": "æ·»åŠ é«˜çº§åŠŸèƒ½å’Œè§£é”å…¨éƒ¨åŠŸèƒ½éœ€è¦ %1$s,Piwik PROç‰ˆæœ¬ä»·æ ¼ä¸º %2$s,您还å¯ä»¥é€‰æ‹©Piwik 主机,åªéœ€è¦ %3$s ,Piwik PRO版云主机åªéœ€è¦ %4$s 。", "PleaseFixTheFollowingErrors": "请修å¤ä»¥ä¸‹é”™è¯¯", "DefaultSettings": "默认 Piwik 设置", "DefaultSettingsHelp": "Piwik自带的默认设置。现在,您å¯ä»¥è‡ªå®šä¹‰å®ƒä»¬æˆ–ç¨åŽåœ¨ç®¡ç†ä»‹é¢ä¸Šåšã€‚", diff --git a/plugins/LanguagesManager/Commands/CreatePull.php b/plugins/LanguagesManager/Commands/CreatePull.php index e9c16ccf0c11330084f22249ce041d3b948f3991..af46dc7000dec1b259185fffd06001957ab566a2 100644 --- a/plugins/LanguagesManager/Commands/CreatePull.php +++ b/plugins/LanguagesManager/Commands/CreatePull.php @@ -150,6 +150,8 @@ class CreatePull extends TranslationBase $message = implode('', $messages); + $message .= '\n\nHelp us translate Piwik in your language!\nSignup at https://www.transifex.com/piwik/piwik/\nIf you have any questions, get in touch with us at translations@piwik.org'; + $languageCodesTouched = array_unique($languageCodesTouched, SORT_REGULAR); $title = sprintf( diff --git a/plugins/Live/Visitor.php b/plugins/Live/Visitor.php index 4d15d5d3f6ed057ef96ed9e6c01e206a5fcc5025..86ae4fcb66f0320e387e6078c5ddd67676409378 100644 --- a/plugins/Live/Visitor.php +++ b/plugins/Live/Visitor.php @@ -158,7 +158,8 @@ class Visitor implements VisitorInterface // ==> also update API/API.php getSuggestedValuesForSegment(), the $segmentsNeedActionsInfo array // flatten visit custom variables - if (is_array($visitorDetailsArray['customVariables'])) { + if (!empty($visitorDetailsArray['customVariables']) + && is_array($visitorDetailsArray['customVariables'])) { foreach ($visitorDetailsArray['customVariables'] as $thisCustomVar) { $visitorDetailsArray = array_merge($visitorDetailsArray, $thisCustomVar); } diff --git a/plugins/Live/javascripts/live.js b/plugins/Live/javascripts/live.js index fd634ec61ce0b24cc8831ce0fd386881e6f9b85c..36b59326a836e80464b59422bee95481308fc657 100644 --- a/plugins/Live/javascripts/live.js +++ b/plugins/Live/javascripts/live.js @@ -245,7 +245,7 @@ $(function() { var visitorsCountMessage = translations['one_visitor']; } else { - var visitorsCountMessage = translations['visitors'].replace('%s', visitors); + var visitorsCountMessage = sprintf(translations['visitors'], visitors); } $('.simple-realtime-visitor-counter', element) .attr('title', visitorsCountMessage) @@ -255,15 +255,15 @@ $(function() { var metrics = $('.simple-realtime-metric', element); var visitsText = data['visits'] == 1 - ? translations['one_visit'] : translations['visits'].replace('%s', data['visits']); + ? translations['one_visit'] : sprintf(translations['visits'], data['visits']); $(metrics[0]).text(visitsText); var actionsText = data['actions'] == 1 - ? translations['one_action'] : translations['actions'].replace('%s', data['actions']); + ? translations['one_action'] : sprintf(translations['actions'], data['actions']); $(metrics[1]).text(actionsText); var lastMinutesText = lastMinutes == 1 - ? translations['one_minute'] : translations['minutes'].replace('%s', lastMinutes); + ? translations['one_minute'] : sprintf(translations['minutes'], lastMinutes); $(metrics[2]).text(lastMinutesText); scheduleAnotherRequest(); diff --git a/plugins/Live/lang/de.json b/plugins/Live/lang/de.json index 4796bbc01f2be2fa7bb51f37a15cb19fdaa339b6..644b6d1d477d5063ce92dca4a576dd9015a383cb 100644 --- a/plugins/Live/lang/de.json +++ b/plugins/Live/lang/de.json @@ -5,6 +5,7 @@ "CalculatedOverNPageViews": "Berechnet mithilfe der letzten %1$s Seitenansichten dieses Besuchers.", "ClickToViewMoreAboutVisit": "Klicken Sie um nähere Informationen zu diesem Besuch zu sehen", "ConvertedNGoals": "%s Ziele konvertiert", + "EcommerceSummaryConversions": "%1$s Bestellungen%2$s für insgesamt %3$s%4$s, %5$s bestellte Produkte%6$s.", "FirstVisit": "Erster Besuch", "GoalType": "Typ", "HideMap": "Karte ausblenden", @@ -34,6 +35,8 @@ "VisitorsInRealTime": "Besucher in Echtzeit", "VisitorsLastVisit": "Der letzte Besuch dieses Besuchers war vor %s Tagen.", "VisitsFrom": "%1$s%2$s Besuche%3$s aus", + "VisitSummary": "Verbrachte insgesamt %1$s%2$s auf der Website%3$s, und besuchte %4$s Seiten%5$s in %6$s Besuchen%7$s.", + "VisitSummaryWithActionDetails": "Verbrachte insgesamt %1$s%2$s auf der Website%3$s und führte %4$s Aktionen%5$s (%6$s) in %7$s Besuchen%8$s aus.", "RowActionTooltipDefault": "Zeige Besucher-Log aufgeteilt durch diese Zeile", "RowActionTooltipWithDimension": "Zeige Besucher-Log segmentiert durch %s", "RowActionTooltipTitle": "Log segmentierter Besucher öffnen", diff --git a/plugins/Live/lang/sq.json b/plugins/Live/lang/sq.json index f1b14ea1d9e1d05eea381f7c7138031dc8ac4241..52b75c2ebd59d4c2839cdcafb1c0e9b0d01fc383 100644 --- a/plugins/Live/lang/sq.json +++ b/plugins/Live/lang/sq.json @@ -1,9 +1,13 @@ { "Live": { + "ClickToViewMoreAboutVisit": "Klikoni që të shihni më tepër të dhëna rreth kësaj vizite", + "FirstVisit": "Vizita e parë", "GoalType": "Lloj", + "HideMap": "fshihe hartën", "KeywordRankedOnSearchResultForThisVisitor": "Për këtë vizitor, fjalëkyçi %1$s u radhit i %2$s te faqja e përfundimeve të kërkimit për %3$s", "LastHours": "%s orët e fundit", "LastMinutes": "%s minutat e fundit", + "LastVisit": "Vizita e fundit", "LinkVisitorLog": "Shihni regjistër të hollësishëm të përdoruesit", "PageRefreshed": "Sa herë rresht është parë \/ rifreskuar kjo faqew.", "Referrer_URL": "URL Referuesi", diff --git a/plugins/Live/lang/sv.json b/plugins/Live/lang/sv.json index 7e4b82f6d21ed4ffa290dc6ac87f8a6fd09bd4f0..cb5ade51e4a20c9954a6a5dbf31d92262ce081a2 100644 --- a/plugins/Live/lang/sv.json +++ b/plugins/Live/lang/sv.json @@ -5,6 +5,7 @@ "CalculatedOverNPageViews": "Beräknat pÃ¥ denna besöakrens senaste %1$s sidvisningar.", "ClickToViewMoreAboutVisit": "Klicka för mer information om det här besöket", "ConvertedNGoals": "Konverteringar %s MÃ¥l", + "EcommerceSummaryConversions": "%1$s ordrar%2$s för totalt %3$s%4$s, handlade %5$s varor%6$s.", "FirstVisit": "Första besöket", "GoalType": "Sort", "HideMap": "Dölj mapp", @@ -32,6 +33,10 @@ "VisitorProfile": "Besöksprofil", "VisitorsInRealTime": "Besökare i realtid", "VisitorsLastVisit": "Denna besökares senaste besök var %s dagar sedan.", - "VisitsFrom": "%1$s%2$s besökta %3$s frÃ¥n" + "VisitsFrom": "%1$s%2$s besökta %3$s frÃ¥n", + "RowActionTooltipTitle": "Öppna segmenterade besöksloggar", + "SegmentedVisitorLogTitle": "Besökslogg visar var besökarna %1$s och \"%2$s\" är", + "OnClickPause": "%s är startad. Klicka för att pausa.", + "OnClickStart": "%s är stoppad. Klicka för att starta." } } \ No newline at end of file diff --git a/plugins/Live/lang/tr.json b/plugins/Live/lang/tr.json index a1008f18de17250ad6fb4711f6fa491c9d4407c0..5d5acabd127ab45878cc61d8d5c06982b55a467d 100644 --- a/plugins/Live/lang/tr.json +++ b/plugins/Live/lang/tr.json @@ -16,9 +16,15 @@ "PreviousVisitor": "Önceki ziyaretçi", "RealTimeVisitorCount": "Gerçek Zamanlı Ziyaretçi Sayacı", "Referrer_URL": "Yönlendirme Siteleri", + "ShowMap": "haritayı göster", "ViewVisitorProfile": "Ziyaretçi profiline bak", "VisitedPages": "Ziyaret edilmiÅŸ sayfalar", "VisitorLog": "Ziyaretçi kayıtları", - "VisitorsInRealTime": "Gerçek Zamanlı Ziyaretçiler" + "VisitorProfile": "Ziyaretçi Profili", + "VisitorsInRealTime": "Gerçek Zamanlı Ziyaretçiler", + "VisitorsLastVisit": "Bu ziyaretçi %s gün önce ziyaret etmiÅŸ", + "RowActionTooltipTitle": "Bölüm ziyaretçi loglarını aç", + "OnClickPause": "%s baÅŸladı. Durdurmak için basın.", + "OnClickStart": "%s durduruldu. BaÅŸlatmak için basın." } } \ No newline at end of file diff --git a/plugins/Live/templates/_actionsList.twig b/plugins/Live/templates/_actionsList.twig index 82f651d7d30cc1775c52dbda2b8d5bed50d7c29c..d4ee6c203f0c2b1897fcbc393d61b33bfb915944 100644 --- a/plugins/Live/templates/_actionsList.twig +++ b/plugins/Live/templates/_actionsList.twig @@ -85,7 +85,7 @@ {% if action.type == 'search' %} <img src='{{ action.icon }}' title='{{ 'Actions_SubmenuSitesearch'|translate }}' class="action-list-action-icon search"> {% endif %} - <span class="truncated-text-line">{{ action.siteSearchKeyword }}</span> + <span class="truncated-text-line">{{ action.siteSearchKeyword|rawSafeDecoded }}</span> {% endif %} {% if action.eventCategory|default(false) is not empty %} <img src='{{ action.icon }}' title='{{ 'Events_Event'|translate }}' class="action-list-action-icon event"> diff --git a/plugins/Login/javascripts/login.js b/plugins/Login/javascripts/login.js index 3ffb0e132e0461e57535e693d24268468b60e43f..b2c7d59162ad3f1a0dee8015e1b7ae957e692667 100755 --- a/plugins/Login/javascripts/login.js +++ b/plugins/Login/javascripts/login.js @@ -63,7 +63,7 @@ var ajaxDone = function (response) { $('.loadingPiwik').hide(); - var isSuccess = response.indexOf('id="login_error"') === -1, + var isSuccess = response.indexOf('message_error') === -1, fadeOutIds = '#message_container'; if (isSuccess) { fadeOutIds += ',#reset_form,#reset_form_nav'; diff --git a/plugins/Login/lang/ca.json b/plugins/Login/lang/ca.json index 6a70ee8a507182a95c9a6b4fd2a4cc74b453c531..8d87727ebc100a35987094c006f00898256f676d 100644 --- a/plugins/Login/lang/ca.json +++ b/plugins/Login/lang/ca.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Nom d'usuari o correu-e", "LoginPasswordNotCorrect": "L'usuari o la contrasenya no són correctes", "LostYourPassword": "Heu perdut la contrasenya?", - "MailPasswordChangeBody": "Hola %1$s,\n\nS'ha rebut una petició per restablir la contrasenya de %2$s. Per confirmar aquest canvi de contrasenya (per a que pogueu entrar amb les noves credencials), visiteu el següent enllaç:\n\n%3$s\n\nNota: aquest enllaç caduca en 24 hores.\n\nUs donem les grà cies per utiltizar el Piwik!", "MailTopicPasswordChange": "Confirmeu el canvi de contrasenya", "PasswordChanged": "S'ha canviat la vostra contrasenya", "PasswordRepeat": "Contrasenya (torneu-la a escriure)", diff --git a/plugins/Login/lang/cs.json b/plugins/Login/lang/cs.json index 46ba3eff8bc8f79fff35265fe1a9ce3505a8debd..2395841b94d0bd5860b224f831f1f57c8039d3db 100644 --- a/plugins/Login/lang/cs.json +++ b/plugins/Login/lang/cs.json @@ -12,7 +12,6 @@ "LoginOrEmail": "Uživatelské jméno nebo E-mail", "LoginPasswordNotCorrect": "Chybná kombinace uživatelského jména a hesla.", "LostYourPassword": "ZapomnÄ›li jste vaÅ¡e heslo?", - "MailPasswordChangeBody": "Ahoj %1$s,\n\nZ %2$s byl zaslán požadavek o zmÄ›nu hesla. Pro potvrzenà nových pÅ™ihlaÅ¡ovacÃch údajů navÅ¡tivte následujÃcà odkaz:\n\n%3$s\n\nPoznámka: Tento token je platný 24 hodin.\n\nA dÃky za použÃvánà Piwiku!", "MailTopicPasswordChange": "PotvrÄte zmÄ›nu hesla", "PasswordChanged": "VaÅ¡e heslo bylo zmÄ›nÄ›no.", "PasswordRepeat": "Heslo (pro kontrolu)", diff --git a/plugins/Login/lang/da.json b/plugins/Login/lang/da.json index dd97a5e5771573653e46b5c8092db9e3a3a525d3..9be1068669041bd39ac93d73cbfe26f91f79cdf7 100644 --- a/plugins/Login/lang/da.json +++ b/plugins/Login/lang/da.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Brugernavn eller e-mail-adresse", "LoginPasswordNotCorrect": "Brugernavn og adgangskode er ikke korrekt", "LostYourPassword": "Glemt adgangskoden?", - "MailPasswordChangeBody": "Hej %1$s, En anmodning og nulstilling af adgangskode blev modtaget fra %2$s. For at bekræfte denne ændring af adgangskode, sÃ¥ du kan logge ind med dine nye legitimationsoplysninger, skal du Ã¥bne følgende link: %3$s Bemærk: Dette link udløber om 24 timer. Og tak fordi du bruger Piwik!", "MailTopicPasswordChange": "Bekræft ændring af adgangskode", "PasswordChanged": "Din adgangskode er blevet ændret.", "PasswordRepeat": "Adgangskode (gentag)", diff --git a/plugins/Login/lang/de.json b/plugins/Login/lang/de.json index 15618ddbdfcf37ba12b10f5c567ee92c7ce0b295..86bc551f233210ba34a2546bebb5f9d98349774d 100644 --- a/plugins/Login/lang/de.json +++ b/plugins/Login/lang/de.json @@ -1,6 +1,6 @@ { "Login": { - "ConfirmationLinkSent": "Ein Bestätigungslink wurde an Ihren Posteingang verschickt. Ãœberprüfen Sie Ihre E-Mails und besuchen diesen Link um die Passwortänderung zu bestätigen.", + "ConfirmationLinkSent": "Ein Bestätigungslink wurde an Ihre E-Mail-Adresse verschickt. Ãœberprüfen Sie Ihren Posteingang und besuchen diesen Link um die Passwortänderung zu bestätigen.", "ContactAdmin": "Möglicher Grund: Der Server könnte die mail()-Funktion deaktiviert haben.<br\/>Bitte sprechen Sie mit Ihrem Piwik-Administrator.", "ExceptionInvalidSuperUserAccessAuthenticationMethod": "Ein Benutzer mit Systemverwaltunszugriff kann nicht mit der Methode »%s« legitimiert werden.", "ExceptionPasswordMD5HashExpected": "Der Parameter »password« wird als MD5-Hash des Passwortes erwartet.", @@ -11,7 +11,6 @@ "LoginOrEmail": "Benutzername oder E-Mail", "LoginPasswordNotCorrect": "Benutzername und Passwort sind nicht korrekt", "LostYourPassword": "Passwort vergessen?", - "MailPasswordChangeBody": "Hallo %1$s, \n\neine Passwortänderung von %2$s wurde eingeleitet. Um das neue Passwort zu bestätigen besuchen Sie folgenden Link: \n\n%3$s\n\nHinweis: Der Link ist nur 24 Stunden gültig. \n\nVielen Dank, dass Sie Piwik verwenden!", "MailTopicPasswordChange": "Passwortänderung bestätigen", "PasswordChanged": "Das Passwort wurde geändert.", "PasswordRepeat": "Passwort (wiederholen)", diff --git a/plugins/Login/lang/el.json b/plugins/Login/lang/el.json index c4caac5e6e8cdda7867a71969a94595562acbc16..61ef5c8f57b67f95877ca715669be62f5e640e96 100644 --- a/plugins/Login/lang/el.json +++ b/plugins/Login/lang/el.json @@ -12,7 +12,6 @@ "LoginOrEmail": "ΧÏήστης ή ΗλεκτÏονική διεÏθυνση", "LoginPasswordNotCorrect": "Το όνομα χÏήστη και ο κωδικός δεν είναι σωστά", "LostYourPassword": "Ξεχάσατε τον κωδικό σας;", - "MailPasswordChangeBody": "Γεια σας, %1$s,\n\t\nΈνα αίτημα επαναφοÏάς ÎºÏ‰Î´Î¹ÎºÎ¿Ï ÎµÎ»Î®Ï†Î¸ÎµÎ¯ από το %2$s. Για να επιβεβαίωσετε αυτή την αλλαγή ÎºÏ‰Î´Î¹ÎºÎ¿Ï ÏŽÏƒÏ„Îµ να μποÏείτε να συνδεθείτε με τα νÎα σας διαπιστευτήÏια, ακολουθήστε τον παÏακάτω σÏνδεσμο:\n\n%3$s\n\nΣημείωση: αυτό το πειστήÏιο θα λήξει σε 24 ÏŽÏες.\n\nΚαι σας ευχαÏιστοÏμε που χÏησιμοποιείτε το Piwik!", "MailTopicPasswordChange": "Επιβεβαίωση Αλλαγής ΚωδικοÏ", "PasswordChanged": "Ο κωδικός σας Îχει αλλάξει.", "PasswordRepeat": "Κωδικός (επανάληψη)", diff --git a/plugins/Login/lang/en.json b/plugins/Login/lang/en.json index 7597684359fbf867010e0a3aab079da378ab0f4c..185de64c25d98d24db1c844826c34fa363d0873c 100644 --- a/plugins/Login/lang/en.json +++ b/plugins/Login/lang/en.json @@ -12,7 +12,7 @@ "LoginOrEmail": "Username or E-mail", "LoginPasswordNotCorrect": "Wrong Username and password combination.", "LostYourPassword": "Lost your password?", - "MailPasswordChangeBody": "Hi %1$s,\n\nA password reset request was received from %2$s. To confirm this password change so you can login with your new credentials, visit the following link:\n\n%3$s\n\nNote: this token will expire in 24 hours.\n\nAnd thank you for using Piwik!", + "MailPasswordChangeBody": "Hi %1$s,\n\nA password reset request was received from %2$s. To confirm this password change so you can login with your new credentials, visit the following link:\n\n%3$s\n\nAttention: Changing the password will also change your token_auth. You can look up your new token_auth on your settings page.\n\nIf you are using your API token in any external applications or for archiving, make sure to update the token as requests to the API will fail otherwise.\n\nNote: this token will expire in 24 hours.\n\nAnd thank you for using Piwik!", "MailTopicPasswordChange": "Confirm Password Change", "PasswordChanged": "Your password has been changed.", "PasswordRepeat": "Password (repeat)", diff --git a/plugins/Login/lang/es.json b/plugins/Login/lang/es.json index 113da72c497aade9a1d4a56d3424603da601f85f..ec597a1b5eebb2ae6aeeb8ace5484f39502f46bb 100644 --- a/plugins/Login/lang/es.json +++ b/plugins/Login/lang/es.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Usuario o correo electrónico", "LoginPasswordNotCorrect": "Usuario y contraseña incorrectos.", "LostYourPassword": "¿Olvidó la contraseña?", - "MailPasswordChangeBody": "Estimado %1$s:\n\nSe ha recibido una solicitud de modificación de contraseña desde %2$s. Para confirmar el cambio de contraseña y de esta manera permitir su inicio de sesión con nuevas credenciales, visite el siguiente enlace:\n\n%3$s\n\nNota: Este solicitud vencerá en 24 horas.\n\n¡Y gracias por usar Piwik!", "MailTopicPasswordChange": "Confirma el cambio de contraseña", "PasswordChanged": "Su contraseña ha sido modificada.", "PasswordRepeat": "Contraseña (repetir)", diff --git a/plugins/Login/lang/fi.json b/plugins/Login/lang/fi.json index c2a5ca27d577acb0b2ab130a0acc1786a4f151d0..23331808a510d4cd4d9fa6957aa3dae9850385a8 100644 --- a/plugins/Login/lang/fi.json +++ b/plugins/Login/lang/fi.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Käyttäjätunnus tai sähköposti", "LoginPasswordNotCorrect": "Käyttäjätunnus tai salasana väärin", "LostYourPassword": "Unohtuiko salasana?", - "MailPasswordChangeBody": "Hei %1$s,\n\nPyyntö salasanan resetoimiseen tuli %2$s:ltä. Jos haluat vaihtaa salasanan, avaa seuraava linkki:\n\n%3$s\n\nJos et tilannut uutta salasanaa, voit jätttää tämän sähköpostin huomiotta.\n\nHuom. tämä linkki vanhenee 24 tunnissa.\n\nKiitos Piwikin käyttämisestä!", "MailTopicPasswordChange": "Varmista salasanan vaihto", "PasswordChanged": "Salasana on vaihdettu.", "PasswordRepeat": "Salasana (uudelleen)", diff --git a/plugins/Login/lang/fr.json b/plugins/Login/lang/fr.json index be79d33a892631676621e40cb37c97bf01928736..8d08b149b6390759e4c6f4f3f2035ad6d0b5eb93 100644 --- a/plugins/Login/lang/fr.json +++ b/plugins/Login/lang/fr.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Nom d'utilisateur ou courriel", "LoginPasswordNotCorrect": "Mot de passe et nom d'utilisateur incorrects.", "LostYourPassword": "Mot de passe perdu ?", - "MailPasswordChangeBody": "Bonjour %1$s,\n\nUne demande de réinitialisation de mot de passe a été reçue depuis %2$s. Pour confirmer le changement de mot de passe afin de pouvoir vous authentifier avec vos nouveaux identifiants, cliquez sur le lien suivant :\n\n%3$s\n\nNote : ce jeton expirera dans 24 heures.\n\nMerci d'utiliser Piwik !", "MailTopicPasswordChange": "Confirmer le changement de mot de passe", "PasswordChanged": "Votre mot de passe a été modifié", "PasswordRepeat": "Mot de passe (répétez)", diff --git a/plugins/Login/lang/hi.json b/plugins/Login/lang/hi.json index 9d66a4a9bdbcac5a25c976f7dcdb86cc1c5e73f8..bed81a018fcee66635d88c2cc1613b5ffc3b779d 100644 --- a/plugins/Login/lang/hi.json +++ b/plugins/Login/lang/hi.json @@ -11,7 +11,6 @@ "LoginOrEmail": "उपयोगकरà¥à¤¤à¤¾ नाम या ई मेल", "LoginPasswordNotCorrect": "गलत उपयोगकरà¥à¤¤à¤¾ नाम और पासवरà¥à¤¡ संयोजन.", "LostYourPassword": "अपना पासवरà¥à¤¡ खो गया?", - "MailPasswordChangeBody": "नमसà¥à¤¤à¥‡ %1$s,\n\nà¤à¤• पासवरà¥à¤¡ रीसेट अनà¥à¤°à¥‹à¤§ %2$s से पà¥à¤°à¤¾à¤ªà¥à¤¤ किया गया था. आप अपनी नई पहचान के साथ पà¥à¤°à¤µà¥‡à¤¶ कर सकते हैं तो यह पासवरà¥à¤¡ परिवरà¥à¤¤à¤¨ की पà¥à¤·à¥à¤Ÿà¤¿ करने के लिठनीचे दिठगठलिंक पर जाà¤à¤:\n\n%3$s\n\nनोट: यह टोकन 24 घंटों में समापà¥à¤¤ हो जाà¤à¤—ा.\n\nऔर Piwik इसà¥à¤¤à¥‡à¤®à¤¾à¤² करने के लिठधनà¥à¤¯à¤µà¤¾à¤¦!", "MailTopicPasswordChange": "पासवरà¥à¤¡ परिवरà¥à¤¤à¤¨ की पà¥à¤·à¥à¤Ÿà¤¿", "PasswordChanged": "आपका पासवरà¥à¤¡ बदल दिया गया है.", "PasswordRepeat": "पासवरà¥à¤¡ (दोहराने)", diff --git a/plugins/Login/lang/hu.json b/plugins/Login/lang/hu.json index 22ee716bd94123e177815f36dca881f98715626c..5e7063ef85729223d87c7db2013a7923a7f60f34 100644 --- a/plugins/Login/lang/hu.json +++ b/plugins/Login/lang/hu.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Felhasználói név vagy e-mail cÃm", "LoginPasswordNotCorrect": "Felhasználói név\/jelszó páros nem megfelelÅ‘", "LostYourPassword": "Elfelejtetted jelszavad?", - "MailPasswordChangeBody": "Ãœdv %1$s,\n\nJelszÅ‘ visszaállÃtási kérelem érkezett innen: %2$s. A jelszóváltoztatás megerÅ‘sÃtéséhez és a bejelentkezéshez kattintson a következÅ‘ linkre:\n\n%3$s\n\nMegjegyzés: Ez a link elévül 24 órán belül.\nKöszönjük, hogy Piwik-et használ!", "MailTopicPasswordChange": "Jelszóváltoztatás megerÅ‘sÃtése", "PasswordChanged": "JelszómódosÃtás sikeres.", "PasswordRepeat": "Jelszó (ismét)", diff --git a/plugins/Login/lang/id.json b/plugins/Login/lang/id.json index 3d70d5c642e7f761ad8162b0e4d0885842d4c7e4..54bc376680a3971d646013b83276a6708653739d 100644 --- a/plugins/Login/lang/id.json +++ b/plugins/Login/lang/id.json @@ -10,7 +10,6 @@ "LoginOrEmail": "Nama-id atau Surel", "LoginPasswordNotCorrect": "Nama-id dan Sandi tak sesuai", "LostYourPassword": "Lupa sandi?", - "MailPasswordChangeBody": "Hai %1$s,\n\nSebuah permintaan atur ulang sandi telah diterima dari %2$s. Untuk mengkonfirmasi pengubahan sandi, Anda dapat masuk-log dengan mandat baru Anda, kunjungi tautan berikut:\n\n%3$s\n\nCatatan: kepingan ini akan kedaluwarsa dalam 24 jam.\nDan terima kasih menggunakan Piwik!", "MailTopicPasswordChange": "Konfirmasi Pengubahan Sandi", "PasswordChanged": "Sandi Anda telah berubah.", "PasswordRepeat": "Sandi (ulangi)", diff --git a/plugins/Login/lang/it.json b/plugins/Login/lang/it.json index 7897d60adb26fb1f0698a95484103d9e026e68ae..3750a45a89705a085787ea3d1bff747c858932e6 100644 --- a/plugins/Login/lang/it.json +++ b/plugins/Login/lang/it.json @@ -12,7 +12,6 @@ "LoginOrEmail": "Nome utente o E-mail", "LoginPasswordNotCorrect": "Combinazione Nome utente e Password non corretta", "LostYourPassword": "Hai perso la password?", - "MailPasswordChangeBody": "Ciao %1$s,\n\nUna richiesta di reimpostazione della password è stata ricevuta da %2$s. Per confermare la modifica della password in modo da poter accedere con le nuove credenziali, visitare il seguente link:\n\n%3$s\n\nNota: questo token scade tra 24 ore.\n\nE vi ringrazio per l'utilizzo di Piwik!", "MailTopicPasswordChange": "Conferma Cambio Password", "PasswordChanged": "La tua password è stata cambiata.", "PasswordRepeat": "Password (ripeti)", diff --git a/plugins/Login/lang/ja.json b/plugins/Login/lang/ja.json index 68e2dc17ba594c36ba62a2a1b504a449f79ea4eb..779840db0ef96e2cb772ad721149470e7dc43f38 100644 --- a/plugins/Login/lang/ja.json +++ b/plugins/Login/lang/ja.json @@ -11,7 +11,6 @@ "LoginOrEmail": "ユーザーåã¾ãŸã¯ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹", "LoginPasswordNotCorrect": "ユーザーåã¾ãŸã¯ãƒ‘スワードãŒæ£ã—ãã‚ã‚Šã¾ã›ã‚“", "LostYourPassword": "パスワードをãŠå¿˜ã‚Œã§ã™ã‹ï¼Ÿ", - "MailPasswordChangeBody": "ã“ã‚“ã«ã¡ã¯ã€%1$s 。%2$s ã‹ã‚‰ãƒ‘スワードã®ãƒªã‚»ãƒƒãƒˆãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã‚Šã¾ã—ãŸã€‚ã“ã®ãƒ‘スワード変更を確èªã™ã‚‹ã«ã¯ã€æ–°ã—ã„èªè¨¼æƒ…å ±ã§ãƒã‚°ã‚¤ãƒ³ã—ã€æ¬¡ã®ãƒªãƒ³ã‚¯ã‚’訪å•ã—ã¦ãã ã•ã„。%3$s 注)ã“ã®ãƒˆãƒ¼ã‚¯ãƒ³ã®æœ‰åŠ¹æœŸé™ã¯ 24 時間ã§ã™ã€‚Piwik ã®ã”利用ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ !", "MailTopicPasswordChange": "パスワード変更ã®ç¢ºèª", "PasswordChanged": "パスワードãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚", "PasswordRepeat": "パスワード(å†å…¥åŠ›ï¼‰", diff --git a/plugins/Login/lang/ko.json b/plugins/Login/lang/ko.json index 5b0072aed2f0781b6d2971df1ed3e8cd29607c89..48da0a8387f2db7c4034da0b68dcf1bfa39f5d32 100644 --- a/plugins/Login/lang/ko.json +++ b/plugins/Login/lang/ko.json @@ -12,7 +12,6 @@ "LoginOrEmail": "ì•„ì´ë”” ë˜ëŠ” ì´ë©”ì¼", "LoginPasswordNotCorrect": "사용ìžì´ë¦„ ë˜ëŠ” 비밀번호가 맞지 않습니다", "LostYourPassword": "비밀번호를 잊으셨습니까?", - "MailPasswordChangeBody": "안녕하세요, %1$s 님,\n\n%2$s님으로부터 비밀번호 ìž¬ì„¤ì • ìš”ì²ì„ 받았습니다. 새로운 ìžê²© ì¦ëª…ì„ ì´ìš©í•˜ì—¬ 로그ì¸í• 수 있ë„ë¡ ë‹¤ìŒ ë§í¬ë¥¼ í´ë¦í•˜ê³ 비밀번호를 변경해주세요:\n\n%3$s\n\nì°¸ê³ : ì´ í† í°ì€ 24시간 ë‚´ì— ë§Œë£Œë©ë‹ˆë‹¤.\n\nê·¸ë¦¬ê³ Piwikì„ ì‚¬ìš©í•˜ì—¬ 주셔서 ê°ì‚¬í•©ë‹ˆë‹¤!", "MailTopicPasswordChange": "비밀번호 변경 확ì¸", "PasswordChanged": "비밀번호가 변경ë˜ì—ˆìŠµë‹ˆë‹¤.", "PasswordRepeat": "비빌번호 (ìž¬ìž…ë ¥)", diff --git a/plugins/Login/lang/nb.json b/plugins/Login/lang/nb.json index 20e48735ecd97e886dd324db923368b230807daf..6e83c14cbff1018c41d9c3acc2a397dde3a79f96 100644 --- a/plugins/Login/lang/nb.json +++ b/plugins/Login/lang/nb.json @@ -12,7 +12,6 @@ "LoginOrEmail": "Brukernavn eller e-post", "LoginPasswordNotCorrect": "Feil kombinasjon av brukernavn og passord.", "LostYourPassword": "Glemt passord?", - "MailPasswordChangeBody": "Hei %1$s,\n\nDet ble mottatt en forespørsel om Ã¥ tilbakestille passordet fra %2$s. For Ã¥ bekrefte denne passordendringen slik at du kan logge inn pÃ¥ nytt, klikk pÃ¥ denne lenken:\n\n%3$s\n\nMerk: denne nøkkelen er kun gyldig i 24 timer.\n\nOg takk for at du bruker Piwik!", "MailTopicPasswordChange": "Bekreft passordendring", "PasswordChanged": "Passordet er endret.", "PasswordRepeat": "Passord (gjenta)", diff --git a/plugins/Login/lang/nl.json b/plugins/Login/lang/nl.json index 45a46d52f42771588dcb2c3b703a91bbf6efee77..264f248a49585e4d56a1bddabeb0ef41bf315cce 100644 --- a/plugins/Login/lang/nl.json +++ b/plugins/Login/lang/nl.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Login of E-mail", "LoginPasswordNotCorrect": "Gebruikersnaam & Wachtwoord niet correct", "LostYourPassword": "Wachtwoord vergeten?", - "MailPasswordChangeBody": "Hallo %1$s,\n\nEen wachtwoord reset verzoek was ontvangen vanaf %2$s. Om deze wachtwoord wijziging te bevestigen zodat je kan inloggen met je nieuwe login gegevens, open de volgende link:\n\n%3$s\n\nOpmerking: Deze token vervalt na 24 uur.\n\nBedankt voor het gebruik van Piwik!", "MailTopicPasswordChange": "Bevestig wachtwoord wijziging", "PasswordChanged": "Je wachtwoord is veranderd.", "PasswordRepeat": "Wachtwoord (herhaal)", diff --git a/plugins/Login/lang/pt-br.json b/plugins/Login/lang/pt-br.json index 332306ddb0695febc1369db063cef590e2f80135..ef5dd5611f1940021ca531fe568ce9ddb8743577 100644 --- a/plugins/Login/lang/pt-br.json +++ b/plugins/Login/lang/pt-br.json @@ -12,7 +12,6 @@ "LoginOrEmail": "Nome de Usuário ou E-mail", "LoginPasswordNotCorrect": "Combinação errada de Nome de Usuário e senha.", "LostYourPassword": "Esqueceu a sua senha?", - "MailPasswordChangeBody": "Oi %1$s, um pedido de redefinição de senha foi recebida de %2$s. Para confirmar esta alteração de senha para que você possa fazer o login com suas novas credenciais, visite o seguinte link: %3$s Nota: este token expirará em 24 horas. Obrigado por usar Piwik!", "MailTopicPasswordChange": "Confirme Alteração de Senha", "PasswordChanged": "Sua senha foi alterada.", "PasswordRepeat": "Senha (repetir)", diff --git a/plugins/Login/lang/ro.json b/plugins/Login/lang/ro.json index e60867324d91ae892cbd82677974df46732454a3..743855b8a1a516e0a99542f4d3f3d24f389a8b5f 100644 --- a/plugins/Login/lang/ro.json +++ b/plugins/Login/lang/ro.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Login sau E-mail", "LoginPasswordNotCorrect": "Numele sau parola sunt greÅŸite.", "LostYourPassword": "Ai pierdut parola?", - "MailPasswordChangeBody": "Buna %1$s,\n\nO solicitare de resetare a parolei a fost primita de la %2$s. Pentru a confirma această schimbare a parolei, si să va puteÈ›i conecta cu noile acreditări, accesaÈ›i link-ul următor:\n\n%3$s\n\nNotă: acest simbol va expira în 24 de ore..\n\nVa mulÈ›umim pentru utilizarea Piwik!", "MailTopicPasswordChange": "Confirmă schimbarea parolei", "PasswordChanged": "Parola ta a fost schimbată", "PasswordRepeat": "Parolă (repetă)", diff --git a/plugins/Login/lang/ru.json b/plugins/Login/lang/ru.json index b143491922a6d4b7028ec6ec0d8c6f905b2349d9..26b580344cd446f58f83f239a7d6d45f2a47e019 100644 --- a/plugins/Login/lang/ru.json +++ b/plugins/Login/lang/ru.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ E-mail", "LoginPasswordNotCorrect": "Логин или пароль неверны", "LostYourPassword": "ПотерÑли пароль?", - "MailPasswordChangeBody": "Привет %1$s, был зафикÑирован ÑÐ±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¾Ñ‚ %2$s. Чтобы подтвердить Ñмену паролÑ, залогиньтеÑÑŒ под новыми авторизационными данными по Ñтой ÑÑылке: %3$s ПодÑказка: ÑÑылка переÑтанет дейÑтвовать через 24 чаÑа. И ÑпаÑибо вам за то, что пользуетеÑÑŒ Piwik!", "MailTopicPasswordChange": "Подтвердите Ñмену паролÑ", "PasswordChanged": "Ваш пароль был изменен.", "PasswordRepeat": "Пароль еще раз", diff --git a/plugins/Login/lang/sl.json b/plugins/Login/lang/sl.json index 7c83e0c2b42270668e61038e9debbb49ba013ec5..94eb620fd716304e41a8a33f54dc487e1b1e170e 100644 --- a/plugins/Login/lang/sl.json +++ b/plugins/Login/lang/sl.json @@ -9,7 +9,6 @@ "LoginOrEmail": "UporabniÅ¡ko ime ali E-mail", "LoginPasswordNotCorrect": "NapaÄna kombinacija uporabniÅ¡kega imena in gesla.", "LostYourPassword": "Ste pozabili geslo?", - "MailPasswordChangeBody": "Pozdravljen\/-a %1$s,\n\ns strani %2$s je bil prejet zahtevek za zamenjavo gesla. Za potrditev verodostojnosti te zahteve, prosimo sledite povezavi:\n\n%3$s\n\nOpozorilo: ta žeton bo potekel po 24-ih urah.\n\nHvala, ker uporabljate Piwik!", "MailTopicPasswordChange": "Potrdite spremembo gesla", "PasswordChanged": "VaÅ¡e geslo je bilo spremenjeno.", "PasswordRepeat": "Geslo (ponovno)", diff --git a/plugins/Login/lang/sr.json b/plugins/Login/lang/sr.json index 69ef62ef763b64e35d2c89c50eb8ae95930c1b06..219a6f58f8f2efd3b3edef7b50b6dbe5672cbeea 100644 --- a/plugins/Login/lang/sr.json +++ b/plugins/Login/lang/sr.json @@ -11,7 +11,6 @@ "LoginOrEmail": "KorisniÄko ime ili elektronska adresa", "LoginPasswordNotCorrect": "KorisniÄko ime i lozinka nisu ispravni", "LostYourPassword": "Zaboravili ste lozinku?", - "MailPasswordChangeBody": "Pozdrav %1$s. Sa %2$s je poslat zahtev za resetovanje lozinke. Ukoliko želite da promenite lozinku kako biste mogli da se ponovo prijavite na sistem, otvorite sledeći link: %3$s Ovaj token je validan naredna 24 sata.", "MailTopicPasswordChange": "Potvrdite promenu lozinke", "PasswordChanged": "VaÅ¡a lozinka je promenjena.", "PasswordRepeat": "Lozinka (ponovo)", diff --git a/plugins/Login/lang/sv.json b/plugins/Login/lang/sv.json index 8590790862df31bb9fe25ecebb2affb376389830..6aea11e06c9a0c658717f7065f0db49eee0fdc60 100644 --- a/plugins/Login/lang/sv.json +++ b/plugins/Login/lang/sv.json @@ -11,7 +11,6 @@ "LoginOrEmail": "Användarnamn eller e-postadress", "LoginPasswordNotCorrect": "Användarnamn & Lösenord är inte korrekta", "LostYourPassword": "Glömt ditt lösenord?", - "MailPasswordChangeBody": "Hej %1$s,\n\nEn begäran om att Ã¥terställa ditt lösenord togs emot frÃ¥n %2$s. Besök följande länk för att bekräfta lösenordsbytet och göra det möjligt att logga in med dina nya uppgifter:\n\n%3$s\n\nNotera: den här förfrÃ¥gan kommer att upphöra om 24 timmar.\n\nTack för att du använder Piwik!", "MailTopicPasswordChange": "Bekräfta byte av lösenord", "PasswordChanged": "Ditt lösenord har ändrats.", "PasswordRepeat": "Lösenord (bekräfta)", diff --git a/plugins/Login/lang/tr.json b/plugins/Login/lang/tr.json index 981d278bf013e0ae239ab6be80db56e4d7ed8d60..1ba717c60b2c77107dd8f10603420b0d7990affd 100644 --- a/plugins/Login/lang/tr.json +++ b/plugins/Login/lang/tr.json @@ -2,6 +2,9 @@ "Login": { "ConfirmationLinkSent": "Onaylama baÄŸlantısı gelen kutunuza gönderildi. Åžifre deÄŸiÅŸikliÄŸinı onaylamak için e-posta hesabınızı kontrol edin ve baÄŸlantıyı ziyaret edin.", "ContactAdmin": "Olası nedeni: Sunucunuzda mail() fonksiyonunu devre dışı bırakmış olabilir. <br \/>Lütfen Piwik yöneticinizle iletiÅŸime geçiniz.", + "ExceptionInvalidSuperUserAccessAuthenticationMethod": "'%s' mekanizması kullanılarak bir süper kullanıcı giriÅŸi yetkilendirilemez.", + "ExceptionPasswordMD5HashExpected": "Bu ÅŸifre parametresi ÅŸifrenin MD5 ile hashlenmiÅŸ halini beklemektedir.", + "InvalidNonceOrHeadersOrReferrer": "Form güvenliÄŸi saÄŸlanamadı. Lütfen formu tekrar yükleyin ve çerezlerin aktif olduÄŸundan emin olun. EÄŸer bir proxy sunucusu kullanıyorsanız, %2$s proxy baÅŸlığını kabul etmek için Piwik'i %1$s olarak ayarlamalısınız. Bununla birlikte Referans baÅŸlaığınızın doÄŸru gönderildiÄŸini kontrol edin.", "InvalidOrExpiredToken": "Güvenlik kodu yanlış yada süresi dolmuÅŸ.", "InvalidUsernameEmail": "Geçersiz kullanıcı adı ve\/veya e-posta adresi", "LogIn": "Oturum aç", diff --git a/plugins/Login/lang/vi.json b/plugins/Login/lang/vi.json index f8274e299b580f24b312b91d32bab96f3c7f56af..924a7e60bc7ce8acad1832b6ea1e4ed4b4289648 100644 --- a/plugins/Login/lang/vi.json +++ b/plugins/Login/lang/vi.json @@ -10,7 +10,6 @@ "LoginOrEmail": "Tên hoặc e-mail truy cáºp", "LoginPasswordNotCorrect": "Sai tên hoặc máºt khẩu truy cáºp", "LostYourPassword": "Máºt khẩu truy cáºp của bạn bị mất phải không?", - "MailPasswordChangeBody": "Xin chà o %1$s, má»™t yêu cầu đặt lại máºt khẩu đã nháºn được từ %2$s. Äể xác nháºn thay đổi máºt khẩu nà y váºy thì bạn có thể đăng nháºp vá»›i các thông tin chi tiết má»›i của bạn, hãy truy cáºp và o link sau đây: %3$s LÆ°u ý: token nà y sẽ hết hạn trong 24 giá». Và cảm Æ¡n bạn đã sá» dụng Piwik!", "MailTopicPasswordChange": "Xác nháºn thay đổi máºt khẩu", "PasswordChanged": "Máºt khẩu của bạn đã được thay đổi", "PasswordRepeat": "Máºt khẩu (lặp lại)", diff --git a/plugins/Login/lang/zh-cn.json b/plugins/Login/lang/zh-cn.json index 1b128e914d387376544877bca50dab1d84e47d01..3a2dd8aa477bec27c0b6ec0bd3bbf65315cdf226 100644 --- a/plugins/Login/lang/zh-cn.json +++ b/plugins/Login/lang/zh-cn.json @@ -10,7 +10,6 @@ "LoginOrEmail": "用户å或邮件地å€", "LoginPasswordNotCorrect": "用户å或密ç ä¸æ£ç¡®ï¼", "LostYourPassword": "忘记密ç 了?", - "MailPasswordChangeBody": "您好 %1$s,\n\né‡ç½®å¯†ç 的请求æ¥è‡ª %2$s。è¦ç¡®è®¤å¯†ç 修改,请访问下é¢çš„链接:\n\n%3$s\n\næ示: 本链接24å°æ—¶åŽå¤±æ•ˆã€‚\n\n感谢您使用 Piwikï¼", "MailTopicPasswordChange": "密ç 修改确认", "PasswordChanged": "您的密ç 已修改。", "PasswordRepeat": "密ç (é‡å¤)", diff --git a/plugins/MobileAppMeasurable/lang/sq.json b/plugins/MobileAppMeasurable/lang/sq.json new file mode 100644 index 0000000000000000000000000000000000000000..d1bc97551c4c680fdea901dc4ba724d8f838e2bc --- /dev/null +++ b/plugins/MobileAppMeasurable/lang/sq.json @@ -0,0 +1,6 @@ +{ + "MobileAppMeasurable": { + "MobileApp": "Aplikacion Celulari", + "MobileApps": "Aplikacione Celulari" + } +} \ No newline at end of file diff --git a/plugins/MobileMessaging/lang/sq.json b/plugins/MobileMessaging/lang/sq.json new file mode 100644 index 0000000000000000000000000000000000000000..4cb815e3f1adcba60766fd60277a5bb2ff472d39 --- /dev/null +++ b/plugins/MobileMessaging/lang/sq.json @@ -0,0 +1,8 @@ +{ + "MobileMessaging": { + "Exception_UnknownProvider": "Emër mundësuesi '%1$s' i panjohur. Provoni më mirë një nga vijuesit: %2$s.", + "PhoneNumbers": "Numra Telefonash", + "Settings_APIKey": "Kyç API-sh", + "Settings_CountryCode": "Kod Vendi" + } +} \ No newline at end of file diff --git a/plugins/Morpheus/javascripts/piwikHelper.js b/plugins/Morpheus/javascripts/piwikHelper.js index 1e413fba146c82ee76563e6e14296037ca271621..ca88cee2d5c7318b9a17df23e173b301ec0c5063 100644 --- a/plugins/Morpheus/javascripts/piwikHelper.js +++ b/plugins/Morpheus/javascripts/piwikHelper.js @@ -7,28 +7,11 @@ function _pk_translate(translationStringId, values) { - function sprintf (translation, values) { - var index = 0; - return (translation+'').replace(/(%(.\$)?s+)/g, function(match, number) { - - var replaced = match; - if (match != '%s') { - index = parseInt(match.substr(1, 1)) - 1; - } - - if (typeof values[index] != 'undefined') { - replaced = values[index]; - } - - index++; - return replaced; - }); - } - if( typeof(piwik_translations[translationStringId]) != 'undefined' ){ var translation = piwik_translations[translationStringId]; if (typeof values != 'undefined' && values && values.length) { - return sprintf(translation, values); + values.unshift(translation); + return sprintf.apply(null, values); } return translation; diff --git a/plugins/Morpheus/stylesheets/main.less b/plugins/Morpheus/stylesheets/main.less index 5d37b9ab2bad76327ef368e6ea8630a8904e2a44..94e08389f918e597553a2dd49b5d1aa79e2b94fe 100644 --- a/plugins/Morpheus/stylesheets/main.less +++ b/plugins/Morpheus/stylesheets/main.less @@ -197,9 +197,17 @@ table.entityTable tr td a:hover { } > ul > li { white-space: nowrap; - margin-right: 0px; + margin-right: 0; a { - padding-left: 0; + font-family: Verdana, sans-serif; + font-size: 11px; + line-height: 12px; + display: inline-block; + width: 100%; + padding: 11px 19px 10px 0; + white-space: nowrap; + cursor: pointer; + text-transform: uppercase; } &.active { a { diff --git a/plugins/MultiSites/lang/sk.json b/plugins/MultiSites/lang/sk.json index d17c44309e03e46d65c689d6a00f99b5c87d7842..2725f90156c693456b594be6629bffae0b024714 100644 --- a/plugins/MultiSites/lang/sk.json +++ b/plugins/MultiSites/lang/sk.json @@ -1,5 +1,6 @@ { "MultiSites": { - "Evolution": "Vývoj" + "Evolution": "Vývoj", + "Pagination": "%1$s - %2$s of %3$s" } } \ No newline at end of file diff --git a/plugins/MultiSites/lang/zh-cn.json b/plugins/MultiSites/lang/zh-cn.json index 5205453aaf21682c50a4cc197afffa39320f65fd..e522f42ef28da27ca375cf068ef4c0b14ea505f8 100644 --- a/plugins/MultiSites/lang/zh-cn.json +++ b/plugins/MultiSites/lang/zh-cn.json @@ -1,6 +1,7 @@ { "MultiSites": { "Evolution": "趋势", - "TopLinkTooltip": "比较所有网站的分æžæ•°æ®" + "TopLinkTooltip": "比较所有网站的分æžæ•°æ®", + "Pagination": "%1$s - %2$s of %3$s" } } \ No newline at end of file diff --git a/plugins/Overlay/lang/sq.json b/plugins/Overlay/lang/sq.json index 73a845802b0ff99060446a480b6c4708517af878..8e434a3547c98d8dbf12f2dce6908b8ee895bf9b 100644 --- a/plugins/Overlay/lang/sq.json +++ b/plugins/Overlay/lang/sq.json @@ -1,5 +1,11 @@ { "Overlay": { - "Location": "Vend" + "Clicks": "%s klikime", + "Domain": "Përkatësi", + "Link": "Lidhje", + "Location": "Vend", + "NoData": "S’ka të dhëna për këtë faqe gjatë periudhës së përzgjedhur.", + "OneClick": "1 klikim", + "OpenFullScreen": "Kalo sa krejt ekrani (pa anështyllë)" } } \ No newline at end of file diff --git a/plugins/PiwikPro/Widgets.php b/plugins/PiwikPro/Widgets.php new file mode 100644 index 0000000000000000000000000000000000000000..f8e007aa074f3a84fe0bc690adf1549c547b23ba --- /dev/null +++ b/plugins/PiwikPro/Widgets.php @@ -0,0 +1,82 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + * + */ +namespace Piwik\Plugins\PiwikPro; + +use Piwik\Piwik; +use Piwik\PiwikPro\Advertising; +use Piwik\Plugins\ExampleRssWidget\RssRenderer; +use Piwik\View; + +class Widgets extends \Piwik\Plugin\Widgets +{ + protected $category = 'About Piwik'; + + /** + * @var Advertising + */ + private $advertising; + + /** + * @var Promo + */ + private $promo; + + public function __construct(Advertising $advertising, Promo $promo) + { + $this->advertising = $advertising; + $this->promo = $promo; + } + + protected function init() + { + if ($this->advertising->arePiwikProAdsEnabled()) { + $this->addWidget('PiwikPro_WidgetBlogTitle', 'rssPiwikPro'); + $this->addWidget('PiwikPro_WidgetPiwikProAd', 'promoPiwikPro'); + } + } + + public function rssPiwikPro() + { + try { + $rss = new RssRenderer('https://piwik.pro/feed/'); + $rss->showDescription(true); + + return $rss->get(); + + } catch (\Exception $e) { + + return $this->error($e); + } + } + + public function promoPiwikPro() + { + $view = new View('@PiwikPro/promoPiwikProWidget'); + + $promo = $this->promo->getContent(); + + $view->ctaLinkUrl = $this->advertising->getPromoUrlForOnPremises('PromoWidget', $promo['campaignContent']); + $view->ctaText = $promo['text']; + $view->ctaLinkTitle = $this->promo->getLinkTitle(); + + return $view->render(); + } + + /** + * @param \Exception $e + * @return string + */ + private function error($e) + { + return '<div class="pk-emptyDataTable">' + . Piwik::translate('General_ErrorRequest', array('', '')) + . ' - ' . $e->getMessage() . '</div>'; + } + +} diff --git a/plugins/PrivacyManager/lang/sq.json b/plugins/PrivacyManager/lang/sq.json index eb6f8e6a30afca3f0b9110fcc9e24e1130f8e9fb..b9985194d3c5902017cb9b98b09a3b10c3d32897 100644 --- a/plugins/PrivacyManager/lang/sq.json +++ b/plugins/PrivacyManager/lang/sq.json @@ -1,10 +1,12 @@ { "PrivacyManager": { "AnonymizeIpDescription": "Përzgjidhni \"Po\" nëse doni që Piwik-u të mos gjurmojë adresa IP të përcaktuara qartë.", - "AnonymizeIpInlineHelp": "Anonimizoje bajtin e fundit të adresave IP të vizitorëve, në pajtim me ligjet\/udhëzimet vendore për vetësinë.", + "AnonymizeIpInlineHelp": "Anonimizoje bajtin(et) e fundit të adresave IP të vizitorëve, në pajtim me ligjet\/udhëzimet vendore mbi privatësinë.", "AnonymizeIpMaskLengtDescription": "Përzgjidhni sa bajte të maskohen te IP-ja e vizitorit.", "AnonymizeIpMaskLength": "%1$s bajt(e) - p.sh. %2$s", "ClickHereSettings": "Klikoni këtu që të shkoni te rregullimet mbi %s.", + "CurrentDBSize": "Madhësia e tanishme e bazës së të dhënave", + "DeleteDataInterval": "Fshiji të dhënat e vjetra çdo", "DeleteLogDescription2": "Kur aktivizoni fshirjen e vetvetishme të regjistrimeve, duhet të siguroheni që janë përpunuar krejt raportet e ditës së mëparshme, që të mos humbni të dhëna.", "DeleteLogInfo": "Regjistrimet nga tabelat vijuese do të fshihen: %s", "DeleteLogsOlderThan": "Fshi regjistrime më të vjetër se", @@ -14,7 +16,7 @@ "LeastDaysInput": "Ju lutem, jepni një numër ditësh më të madh se %s.", "MenuPrivacySettings": "Privatësi", "NextDelete": "Fshirja pasuese është planifikuar më", - "Teaser": "Në këtë faqe, mund ta përshtatni Piwik-un që privatësi në të të jetë në pajtim me legjislacionin në fuqi, duke: %1$s anonimizuar IP-të e vizitorëve%2$s, %3$s hequr automatikisht nga baza e të dhënave regjistrime të vjetër vizitorësh%4$s, dhe %5$s duke ofruar një mekanizëm Opt-out për site-in tuaj web%6$s.", + "Teaser": "Në këtë faqe, mund ta përshtatni Piwik-un që privatësia në të të jetë në pajtim me legjislacionin në fuqi, duke: %1$s anonimizuar IP-të e vizitorëve%2$s, %3$s hequr automatikisht nga baza e të dhënave regjistrime të vjetër vizitorësh%4$s, dhe %5$s duke ofruar një mekanizëm Opt-out për sajtin tuaj%6$s.", "TeaserHeadline": "Rregullime Privatësie", "UseAnonymizeIp": "Anonimizoni adresat IP të Vizitorëve", "UseDeleteLog": "Fshiji rregullisht te baza e të dhënave regjistrimet e vjetra të përdoruesve" diff --git a/plugins/PrivacyManager/lang/sv.json b/plugins/PrivacyManager/lang/sv.json index 5a8e1599f2491bfe5a43fef24a0110f4ca7d4377..a45b254e04c6f74b3d3fc78a2fa844a18905e405 100644 --- a/plugins/PrivacyManager/lang/sv.json +++ b/plugins/PrivacyManager/lang/sv.json @@ -51,6 +51,7 @@ "PurgeNow": "Rensa databasen nu", "PurgeNowConfirm": "Du är pÃ¥ väg att permanent radera data frÃ¥n din databas. Är du säker pÃ¥ att du vill fortsätta?", "PurgingData": "Rensar data...", + "RecommendedForPrivacy": "Rekommenderas för sekretess", "ReportsDataSavedEstimate": "Databasstorlek", "SaveSettingsBeforePurge": "Du har ändrat inställningarna för radering av loggdata. Spara dem innan du startar en utrensning.", "SeeAlsoOurOfficialGuidePrivacy": "Se ocksÃ¥ vÃ¥r allmänna guide: %1$sWeb Analytics Privacy%2$s", diff --git a/plugins/Provider/lang/sq.json b/plugins/Provider/lang/sq.json index f533c0ef17e417193c39bf45aed03fb4a7a31793..90e8dff6548fa9d6392019bdc2f01bb206c81128 100644 --- a/plugins/Provider/lang/sq.json +++ b/plugins/Provider/lang/sq.json @@ -1,7 +1,8 @@ { "Provider": { "ColumnProvider": "Mundësues", - "ProviderReportDocumentation": "Ky raport ju tregon cilët Mundësuesa Shërbimi Internet kanë përdorur vizitorët tuaj për të hyrë te site-i web. Për më tepër hollësi mund të klikoni mbi emrin e një mundësuesi. %s Nëse Piwik nuk arrin ta përcaktojë mundësuesin për një vizitor, e tregon thjesht si IP.", - "WidgetProviders": "Mundësuesa" + "ProviderReportDocumentation": "Ky raport ju tregon cilët Mundësues Shërbimi Internet kanë përdorur vizitorët tuaj për të hyrë te sajti. Për më tepër hollësi mund të klikoni mbi emrin e një mundësuesi. %s Nëse Piwik s’arrin ta përcaktojë mundësuesin për një vizitor, e tregon thjesht si IP.", + "WidgetProviders": "Mundësuesa", + "ProviderReportFooter": "Mundësues i panjohur do të thotë që adresa IP s’u kërkua dot." } } \ No newline at end of file diff --git a/plugins/Provider/lang/tr.json b/plugins/Provider/lang/tr.json index 4d9ea04e7d715e28e17b144563d835ab5a75cdaf..d81202f4cb509c4e96b37abad8776f1d76230f5a 100644 --- a/plugins/Provider/lang/tr.json +++ b/plugins/Provider/lang/tr.json @@ -1,6 +1,9 @@ { "Provider": { "ColumnProvider": "SaÄŸlayıcı", - "WidgetProviders": "SaÄŸlayıcılar" + "PluginDescription": "Ziyaretçilerin Ä°nternet Servis SaÄŸlayıcılarını raporla", + "ProviderReportDocumentation": "Bu rapor ziyaretçilerinin internete ulaÅŸmakta hangi internet servis saÄŸlayıcısının kullandığını gösterir. Daha detaylı bilgi almak için saÄŸlayıcı ismine tıklayabilrsin. EÄŸer Piwik ziyaretçi servis saÄŸlayıcısını bulamazsa IP olarak listeler %s.", + "WidgetProviders": "SaÄŸlayıcılar", + "ProviderReportFooter": "Bilinmeyen saÄŸlayıcı demek IP adresi bulunamamış demektir" } } \ No newline at end of file diff --git a/plugins/QueuedTracking b/plugins/QueuedTracking index 5277167591c602d88ae8f4b065a314e670e0814f..39b949806240c93beef5d0308988f608b6437886 160000 --- a/plugins/QueuedTracking +++ b/plugins/QueuedTracking @@ -1 +1 @@ -Subproject commit 5277167591c602d88ae8f4b065a314e670e0814f +Subproject commit 39b949806240c93beef5d0308988f608b6437886 diff --git a/plugins/Referrers/lang/tr.json b/plugins/Referrers/lang/tr.json index 522523b58be79bb48fb4b272794999c63123ba3e..5d5604cd5f070c375a7bba41a2eb6c928567bfef 100644 --- a/plugins/Referrers/lang/tr.json +++ b/plugins/Referrers/lang/tr.json @@ -10,6 +10,7 @@ "DistinctCampaigns": "farklı kampanyalar", "Keywords": "Anahtar Kelimeler", "Referrers": "Yönlendirmeler", + "Socials": "Sosyal AÄŸlar", "SubmenuSearchEngines": "Arama Motorları ve Anahtar Kelimeler", "SubmenuWebsites": "Websiteleri ve Sosyal Platform", "TypeCampaigns": "%s kampanyalarından", diff --git a/plugins/Resolution/lang/tr.json b/plugins/Resolution/lang/tr.json index 91a8e73aa4359267ea64c96dec0710ec7e95b276..e24e8020cfd3b8923548cd076fc23064c185c579 100644 --- a/plugins/Resolution/lang/tr.json +++ b/plugins/Resolution/lang/tr.json @@ -3,6 +3,7 @@ "ColumnConfiguration": "Konfigürasyon", "ColumnResolution": "Çözünürlük", "Configurations": "Konfigürasyonları", + "PluginDescription": "Ziyaretçinin ekran çözünürlüklerini raporla", "Resolutions": "Çözünürlükler", "WidgetGlobalVisitors": "Global ziyaretçi konfikasyonu", "WidgetResolutions": "Ekran çözünürlükleri" diff --git a/plugins/SEO/lang/sq.json b/plugins/SEO/lang/sq.json index 07e4496ccde18a18fcb2165e24e927836a8ea518..cf6e1cf5975bd9834c6ebc679b4399cb459d269f 100644 --- a/plugins/SEO/lang/sq.json +++ b/plugins/SEO/lang/sq.json @@ -1,6 +1,7 @@ { "SEO": { "AlexaRank": "Renditje Alexa", + "Dmoz": "Zëra DMOZ", "DomainAge": "Moshë Përkatësie", "Rank": "Renditje", "SeoRankings": "Renditje SEO", diff --git a/plugins/SEO/lang/sv.json b/plugins/SEO/lang/sv.json index 15184f8251dbbcb0f8d94a3b0d46ec8d4f517119..c36569eb1ead44f4ba4fd82be21a6370966be8de 100644 --- a/plugins/SEO/lang/sv.json +++ b/plugins/SEO/lang/sv.json @@ -1,5 +1,6 @@ { "SEO": { + "PluginDescription": "Detta plugin framställer och visar SEO-värden: Alexa webbranking , Google Pagerank , antalet indexerade sidor och länkar för den valda webbplatsen.", "AlexaRank": "Alexa Rank", "Bing_IndexedPages": "Bing indexerade sidor", "Dmoz": "DMOZ poster", diff --git a/plugins/SEO/lang/tr.json b/plugins/SEO/lang/tr.json index 5810865df909d029e8c3b1e0cc2de60a3a243305..57301d3a9240102ae517c3a564043e960ea90ec7 100644 --- a/plugins/SEO/lang/tr.json +++ b/plugins/SEO/lang/tr.json @@ -1,7 +1,7 @@ { "SEO": { "AlexaRank": "Alexa Sırası", - "DomainAge": "Alan Ad Yaşı", + "DomainAge": "Alan Adı Yaşı", "Rank": "Sıralama", "SeoRankings": "SEO Sıralamaları", "SEORankingsFor": "'%s'için SEO Sıralama" diff --git a/plugins/ScheduledReports/lang/sq.json b/plugins/ScheduledReports/lang/sq.json index 2adc7d6ab301d4a2aed6da93a9fb2aafff31faae..ec8e9db5d43add1f3151374e38df83f905b7b0b4 100644 --- a/plugins/ScheduledReports/lang/sq.json +++ b/plugins/ScheduledReports/lang/sq.json @@ -26,7 +26,7 @@ "SendReportTo": "Raportin dërgoje te", "SentToMe": "Dërgoma mua", "TableOfContent": "Listë raportesh", - "ThereIsNoReportToManage": "Nuk ka raport që mund të administrohet për site-in web %s", + "ThereIsNoReportToManage": "S’ka raport që mund të administrohet për sajtin %s", "TopOfReport": "Mbrapsht në krye", "UpdateReport": "Përditësoje Raportin", "WeeklyScheduleHelp": "Planifikim javor: raporti do të dërgohet të Hënën e parë të çdo jave." diff --git a/plugins/ScheduledReports/lang/tr.json b/plugins/ScheduledReports/lang/tr.json index fbe69ab8da0bd3e87851da76385e790d98198028..b7955341bd272153ea6e8543708a0cdf058c0e2a 100644 --- a/plugins/ScheduledReports/lang/tr.json +++ b/plugins/ScheduledReports/lang/tr.json @@ -25,6 +25,7 @@ "PiwikReports": "Piwik Raporları", "PleaseFindAttachedFile": "Lütfen %2$s için %1$s de eklenen dosyayı bul", "SentFromX": "%s'den gönder", + "PleaseFindBelow": "%2$s için %1$s raporunuzu lütfen altta bulun", "PluginDescription": "ÖzelleÅŸmiÅŸ rapor yarat ve onları günlük, aylık veya yıllık olarak bir veya daha fazla kiÅŸiye gönderilmek üzere zamanla. Birçok rapor formatı desteklenmektedir (html, pdf, csv, images)", "ReportFormat": "Rapor Formatı", "ReportHour": "Raporu %s'de gönder", @@ -34,6 +35,7 @@ "ReportType": "Raporu aracılığı ile gönder", "ReportUpdated": "Rapor güncellendi", "Segment_Deletion_Error": "Bu segment silinemez veya görünmez hale getirilemez çünkü %s raporu(lar) üretimi için kullanılmaktadır. Lütfen rapor(lar) dan bu segmenti çıkartıkdan sonra tekrar deneyin.", + "Segment_Help": "Bu email rapordaki datalar da uygulanmak üzere mevcut özel bölümünüzü kullanabiliriniz. Gösterge panelinizdeki %1$s(açmak için tıklayın)%2$s sonra ÅŸuna tıklayın \"%3$s\" ve sonra \"%4$s\" ile bölüm yaratabilir veya deÄŸiÅŸtirebilirsiniz.", "SegmentAppliedToReports": "Rapor sadece '%s' bölümü için hazırlanacaktır.", "SendReportNow": "Raporu ÅŸimdi gönder", "SendReportTo": "Raporu gönder", diff --git a/plugins/SegmentEditor/lang/bg.json b/plugins/SegmentEditor/lang/bg.json index 12a7871a3ee3e8ca894c646f22fda1b85d3e446d..faf7f322fa2057fc74cdce69a80510ebf149d92d 100644 --- a/plugins/SegmentEditor/lang/bg.json +++ b/plugins/SegmentEditor/lang/bg.json @@ -14,7 +14,6 @@ "SaveAndApply": "Запази & Приложи", "SegmentDisplayedAllWebsites": "вÑички Ñайтове", "SegmentDisplayedThisWebsiteOnly": "Ñамо този уебÑайт", - "SegmentIsDisplayedForWebsite": "и Ñе показва за", "SegmentNotApplied": "Сегмент '%s' не е приложен", "ThisSegmentIsVisibleTo": "Този Ñегмент е видим за:", "VisibleToAllUsers": "вÑички потребители", diff --git a/plugins/SegmentEditor/lang/cs.json b/plugins/SegmentEditor/lang/cs.json index 20a1dccf7f4d292ccfaad6305b2191fb12529724..9751d2b84828b171e500f6219f103abdc4d5e97a 100644 --- a/plugins/SegmentEditor/lang/cs.json +++ b/plugins/SegmentEditor/lang/cs.json @@ -17,7 +17,7 @@ "SaveAndApply": "Uložit a použÃt", "SegmentDisplayedAllWebsites": "vÅ¡echny weby", "SegmentDisplayedThisWebsiteOnly": "pouze tento web", - "SegmentIsDisplayedForWebsite": "A zobrazený po", + "SegmentIsDisplayedForWebsite": "a zpracováno pro", "SegmentNotApplied": "Segment %s nenà aplikován", "SegmentNotAppliedMessage": "Požadujete data pro vlastnà segment %s, ale konfigurace Piwiku aktuálnÄ› nedovoluje z důvodů výkonu zpracovánà hlášenà v reálném Äase.", "SelectSegmentOfVisits": "Vyberte segment návÅ¡tÄ›v:", diff --git a/plugins/SegmentEditor/lang/da.json b/plugins/SegmentEditor/lang/da.json index 6420bc5ebf9a8872a358ff9f46c252de422de0cd..19d26aacbb31113b19062d36308e57e8cd403070 100644 --- a/plugins/SegmentEditor/lang/da.json +++ b/plugins/SegmentEditor/lang/da.json @@ -15,7 +15,6 @@ "SaveAndApply": "Gem og anvend", "SegmentDisplayedAllWebsites": "alle websteder", "SegmentDisplayedThisWebsiteOnly": "kun dette websted", - "SegmentIsDisplayedForWebsite": "og vises for", "SegmentNotApplied": "Segment '%s' anvendes ikke", "SegmentNotAppliedMessage": "Du beder om data til brugerdefineret segment '%s', Piwik konfigurationen forhindrer tidstro behandling af rapporter pga ydeevne grunde.", "ThisSegmentIsVisibleTo": "Segmentet er synligt for:", diff --git a/plugins/SegmentEditor/lang/de.json b/plugins/SegmentEditor/lang/de.json index ffd8bf232175a17a1f886aff1935dd46bddb1896..7e9a75ef964800896300a23d2aeb532f047289df 100644 --- a/plugins/SegmentEditor/lang/de.json +++ b/plugins/SegmentEditor/lang/de.json @@ -17,13 +17,15 @@ "SaveAndApply": "Speichern & Ãœbernehmen", "SegmentDisplayedAllWebsites": "alle Websites", "SegmentDisplayedThisWebsiteOnly": "nur diese Website", - "SegmentIsDisplayedForWebsite": "und wird angezeigt für", + "SegmentIsDisplayedForWebsite": "und wird berechnet für", "SegmentNotApplied": "Segment '%s' nicht angewendet", "SegmentNotAppliedMessage": "Sie fragen Daten für das benutzerdefinierte Segment '%s' an, die Piwik-Konfiguration verhindert jedoch aktuell Echtzeit-Verarbeitung von Berichten aus Performance-Gründen.", + "SelectSegmentOfVisits": "Wählen Sie ein Segment an Besuchen aus:", "ThisSegmentIsVisibleTo": "Dieses Segment ist sichtbar für:", "VisibleToAllUsers": "alle Benutzer", "VisibleToMe": "mich", "YouMayChangeSetting": "Alternativ können Sie die Einstellung in der Konfigurationsdatei (%1$s) ändern, oder ändern Sie dieses Segment und wählen '%2$s'.", + "VisibleToSuperUser": "Für Sie sichtbar, da Sie Hauptadministrator-Berechtigung haben", "SharedWithYou": "Mit dir geteilt", "YouMustBeLoggedInToCreateSegments": "Sie müssen sich anmelden um eigene Besuchersegmente anzulegen oder zu bearbeiten.", "YouDontHaveAccessToCreateSegments": "Sie haben nicht die benötigten Berechtigungen um Segmente anzulegen und zu bearbeiten.", diff --git a/plugins/SegmentEditor/lang/el.json b/plugins/SegmentEditor/lang/el.json index d4ed54b97798ad704bad61651b8f724df0dd920d..96d5e2256b321d8c713eef60b9029f1eb14ccf82 100644 --- a/plugins/SegmentEditor/lang/el.json +++ b/plugins/SegmentEditor/lang/el.json @@ -17,7 +17,7 @@ "SaveAndApply": "Αποθήκευση και εφαÏμογή", "SegmentDisplayedAllWebsites": "όλους τους ιστοτόπους", "SegmentDisplayedThisWebsiteOnly": "μόνο αυτόν τον ιστοτόπο", - "SegmentIsDisplayedForWebsite": "και εμφανίζεται για", + "SegmentIsDisplayedForWebsite": "και Ï…Ï€Îστη επεξεÏγασία για", "SegmentNotApplied": "Το τμήμα '%s' δεν εφαÏμόζεται", "SegmentNotAppliedMessage": "Ζητάτε δεδομÎνα για το Î ÏοσαÏμοσμÎνο Τμήμα '%s', ωστόσο η Ï„ÏÎχουσα παÏαμετÏοποίηση του Piwik εμποδίζει την σε Ï€Ïαγματικό χÏόνο επεξεÏγασία των αναφοÏών για λόγους απόδοσης.", "SelectSegmentOfVisits": "ΕπιλÎξτε Îνα τμήμα επισκÎψεων:", diff --git a/plugins/SegmentEditor/lang/en.json b/plugins/SegmentEditor/lang/en.json index e847e3ed4b66e1c6e4df3c70c7225220f1a786da..96e36c02b77eaba69a323aa66e805d212955124e 100644 --- a/plugins/SegmentEditor/lang/en.json +++ b/plugins/SegmentEditor/lang/en.json @@ -17,7 +17,7 @@ "SaveAndApply": "Save & Apply", "SegmentDisplayedAllWebsites": "all websites", "SegmentDisplayedThisWebsiteOnly": "this website only", - "SegmentIsDisplayedForWebsite": "and displayed for", + "SegmentIsDisplayedForWebsite": "and processed for", "SegmentNotApplied": "Segment '%s' not applied", "SegmentNotAppliedMessage": "You are requesting data for the Custom Segment '%s', this Piwik configuration currently prevents real time processing of reports for performance reasons.", "SelectSegmentOfVisits": "Select a segment of visits:", diff --git a/plugins/SegmentEditor/lang/es.json b/plugins/SegmentEditor/lang/es.json index fc050c4710606e4d442418950796d18b16150e60..ff1e7fd3b93fbfa03cae9e3f31a38e84aaeba505 100644 --- a/plugins/SegmentEditor/lang/es.json +++ b/plugins/SegmentEditor/lang/es.json @@ -16,7 +16,6 @@ "SaveAndApply": "Guardar & aplicar", "SegmentDisplayedAllWebsites": "todos los sitios de internet", "SegmentDisplayedThisWebsiteOnly": "este sitio de internet únicamente", - "SegmentIsDisplayedForWebsite": "y mostrado para", "SegmentNotApplied": "Segmento '%s' no aplicado", "SegmentNotAppliedMessage": "Está solicitando datos para el segmento personalizado '%s', esta configuración de Piwik actualmente impide el proceso en tiempo real de informes por razones de rendimiento.", "ThisSegmentIsVisibleTo": "Este segmento es visible para:", diff --git a/plugins/SegmentEditor/lang/et.json b/plugins/SegmentEditor/lang/et.json index da1876cfd72eb8788ebbfa5711b7715ee6b9669d..cbde4ae07c3b468ed759523dec9ac67cc0a17847 100644 --- a/plugins/SegmentEditor/lang/et.json +++ b/plugins/SegmentEditor/lang/et.json @@ -12,7 +12,6 @@ "SaveAndApply": "Salvesta ja rakenda", "SegmentDisplayedAllWebsites": "kõik veebilehed", "SegmentDisplayedThisWebsiteOnly": "ainult see veebileht", - "SegmentIsDisplayedForWebsite": "ja kuvatakse veebilehele", "ThisSegmentIsVisibleTo": "Antud segment on nähtav:", "VisibleToAllUsers": "kõik kasutajad", "VisibleToMe": "mina" diff --git a/plugins/SegmentEditor/lang/fa.json b/plugins/SegmentEditor/lang/fa.json index b81b7bd0605cfbb184637554c1a285263ec42ff2..08c8a77a91d227079f93e65007e99ebf968f6e28 100644 --- a/plugins/SegmentEditor/lang/fa.json +++ b/plugins/SegmentEditor/lang/fa.json @@ -14,7 +14,6 @@ "SaveAndApply": "ذخیره Ùˆ درخواست", "SegmentDisplayedAllWebsites": "تمام وب سایت ها", "SegmentDisplayedThisWebsiteOnly": "این وب سایت Ùقط", - "SegmentIsDisplayedForWebsite": "Ùˆ برای نمایش داده", "ThisSegmentIsVisibleTo": "این بخش قابل رؤیت است:", "VisibleToAllUsers": "تمام کاربران", "VisibleToMe": "من", diff --git a/plugins/SegmentEditor/lang/fi.json b/plugins/SegmentEditor/lang/fi.json index 2f0f64fa5fd4cc24fe7f9f4a78528a615b9542e1..de726172530ac8bdbfefaf75f3fb43feafbbe6d4 100644 --- a/plugins/SegmentEditor/lang/fi.json +++ b/plugins/SegmentEditor/lang/fi.json @@ -15,7 +15,6 @@ "SaveAndApply": "Tallenna ja ota käyttöön", "SegmentDisplayedAllWebsites": "kaikki sivut", "SegmentDisplayedThisWebsiteOnly": "vain tällä verkkosivulla", - "SegmentIsDisplayedForWebsite": "näytetään vain", "SegmentNotApplied": "Segmenttiä '%s' ei sovelleta", "ThisSegmentIsVisibleTo": "Tämä segmentti näytetään seuraaville:", "VisibleToAllUsers": "kaikki käyttäjät", diff --git a/plugins/SegmentEditor/lang/fr.json b/plugins/SegmentEditor/lang/fr.json index 52ea2941dfd623f7ea173f4143b33124e8fb42d3..1fb4502c8b2553b5c89794c4f6bfa4343e15ffe6 100644 --- a/plugins/SegmentEditor/lang/fr.json +++ b/plugins/SegmentEditor/lang/fr.json @@ -17,7 +17,6 @@ "SaveAndApply": "Sauvegarder & appliquer", "SegmentDisplayedAllWebsites": "tous les sites web", "SegmentDisplayedThisWebsiteOnly": "ce site web uniquement", - "SegmentIsDisplayedForWebsite": "et affiché pour", "SegmentNotApplied": "Segment \"%s\" non appliqué", "SegmentNotAppliedMessage": "Vous êtes en train de demander des données for le segment personnalisé '%s', la configuration actuelle de Piwik empêche la génération en temps réelle de rapport pour des raisons de performance.", "SelectSegmentOfVisits": "Sélectionnez un segment de visites :", diff --git a/plugins/SegmentEditor/lang/hi.json b/plugins/SegmentEditor/lang/hi.json index f293d5017d97a624b42c469a384a97375dc4f8d4..623fe67f8fbdbc9ff010e39781dcc537c35ea049 100644 --- a/plugins/SegmentEditor/lang/hi.json +++ b/plugins/SegmentEditor/lang/hi.json @@ -16,7 +16,6 @@ "SaveAndApply": "सहेजें और लागू करें", "SegmentDisplayedAllWebsites": "सà¤à¥€ वेबसाइटों", "SegmentDisplayedThisWebsiteOnly": "यह वेबसाइट केवल", - "SegmentIsDisplayedForWebsite": "और के लिठपà¥à¤°à¤¦à¤°à¥à¤¶à¤¿à¤¤", "SegmentNotApplied": "खंड '%s' को लागू नहीं", "ThisSegmentIsVisibleTo": "इस खंड के लिठदिख रहा है:", "VisibleToAllUsers": "सà¤à¥€ उपयोगकरà¥à¤¤à¤¾à¤“ं", diff --git a/plugins/SegmentEditor/lang/id.json b/plugins/SegmentEditor/lang/id.json index 13a73eedfb40c0467c525c022294145e96a0143d..efbc998855be2d0e029c02f48c7a3fd358b4ed19 100644 --- a/plugins/SegmentEditor/lang/id.json +++ b/plugins/SegmentEditor/lang/id.json @@ -14,7 +14,6 @@ "SaveAndApply": "Simpan dan Terapkan", "SegmentDisplayedAllWebsites": "seluruh situs", "SegmentDisplayedThisWebsiteOnly": "hanya situs ini", - "SegmentIsDisplayedForWebsite": "dan ditampilkan untuk", "ThisSegmentIsVisibleTo": "Pecahan ini tampak untuk:", "VisibleToAllUsers": "seluruh pengunjung", "VisibleToMe": "saya", diff --git a/plugins/SegmentEditor/lang/it.json b/plugins/SegmentEditor/lang/it.json index ef05248b2d0b84bc7e37635c3c6ec27dbeef56f9..71e0b928bcc460b1d6027a9b6ce090f96de80011 100644 --- a/plugins/SegmentEditor/lang/it.json +++ b/plugins/SegmentEditor/lang/it.json @@ -17,7 +17,7 @@ "SaveAndApply": "Salva & Applica", "SegmentDisplayedAllWebsites": "tutti i siti", "SegmentDisplayedThisWebsiteOnly": "solo questo sito", - "SegmentIsDisplayedForWebsite": "e mostrato per", + "SegmentIsDisplayedForWebsite": "ed elaborato per", "SegmentNotApplied": "Segmento '%s' non applicato", "SegmentNotAppliedMessage": "Stai richiedendo i dati per il Segmento Personalizzato '%s', questa configurazione di Piwik attualmente esclude l'elaborazione in tempo reale dei report per ragioni di velocità .", "SelectSegmentOfVisits": "Seleziona un segmento di visite:", diff --git a/plugins/SegmentEditor/lang/ja.json b/plugins/SegmentEditor/lang/ja.json index d612e9594c602e15c57c959cc1de7ad46b87cd1d..d1aeca9500cc193aa1a5ac633bba53a9ccfcc1d0 100644 --- a/plugins/SegmentEditor/lang/ja.json +++ b/plugins/SegmentEditor/lang/ja.json @@ -16,7 +16,6 @@ "SaveAndApply": "é©ç”¨", "SegmentDisplayedAllWebsites": "全ウェブサイト", "SegmentDisplayedThisWebsiteOnly": "ã“ã®ã‚¦ã‚§ãƒ–サイトã®ã¿", - "SegmentIsDisplayedForWebsite": "表示対象ã®é¸æŠžï¼š", "SegmentNotApplied": "セグメント '%s' ãŒé©ç”¨ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ", "SegmentNotAppliedMessage": "カスタムセグメント '%s' ã®ãƒ‡ãƒ¼ã‚¿ã‚’リクエストã—ã¾ã—ãŸã€‚ã“ã® Piwik ã®æ§‹æˆã¯ç¾åœ¨ã€ãƒ‘フォーマンス上ã®ç†ç”±ã‹ã‚‰ãƒ¬ãƒãƒ¼ãƒˆã®ãƒªã‚¢ãƒ«ã‚¿ã‚¤ãƒ 処ç†ã‚’ãŠã“ãªã„ã¾ã›ã‚“。", "ThisSegmentIsVisibleTo": "ã“ã®ã‚»ã‚°ãƒ¡ãƒ³ãƒˆè¨å®šã®è¡¨ç¤ºï¼š", diff --git a/plugins/SegmentEditor/lang/nb.json b/plugins/SegmentEditor/lang/nb.json index 00e9c985ce1e01e4be891a4c7225101192cbbdae..e5d5806cd73d9ab47a7312baf743c1994a43e8e8 100644 --- a/plugins/SegmentEditor/lang/nb.json +++ b/plugins/SegmentEditor/lang/nb.json @@ -8,7 +8,6 @@ "OperatorOR": "ELLER", "SegmentDisplayedAllWebsites": "alle nettsteder", "SegmentDisplayedThisWebsiteOnly": "kun dette nettstedet", - "SegmentIsDisplayedForWebsite": "og vises for", "ThisSegmentIsVisibleTo": "Dette segmentet er synlig for:", "VisibleToAllUsers": "alle brukere", "VisibleToMe": "meg" diff --git a/plugins/SegmentEditor/lang/nl.json b/plugins/SegmentEditor/lang/nl.json index 50f8c52718b554cb1e1cb58934d8cc4a053b0615..d8c1060c172e1db28d43ae55bedd7f8f29d4fffe 100644 --- a/plugins/SegmentEditor/lang/nl.json +++ b/plugins/SegmentEditor/lang/nl.json @@ -16,7 +16,6 @@ "SaveAndApply": "Bewaar & Pas Toe", "SegmentDisplayedAllWebsites": "alle websites", "SegmentDisplayedThisWebsiteOnly": "alleen deze website", - "SegmentIsDisplayedForWebsite": "en getoond voor", "SegmentNotApplied": "Segment '%s' niet toegepast", "SegmentNotAppliedMessage": "Je probeert data op te vragen voor aangepast segment '%s', deze Piwik omgeving is op dit moment, vanwege performance redenen, ingericht om geen rapporten in realtime te verwerken.", "ThisSegmentIsVisibleTo": "Dit segment is zichtbaar voor:", diff --git a/plugins/SegmentEditor/lang/pt-br.json b/plugins/SegmentEditor/lang/pt-br.json index 96efec50fe2aed412bf93a893ebb66e385f90f79..faf11719507c80e2384826350838e0910b28a013 100644 --- a/plugins/SegmentEditor/lang/pt-br.json +++ b/plugins/SegmentEditor/lang/pt-br.json @@ -17,7 +17,7 @@ "SaveAndApply": "Salvar e Aplicar", "SegmentDisplayedAllWebsites": "Todos os Sites", "SegmentDisplayedThisWebsiteOnly": "Somente neste website", - "SegmentIsDisplayedForWebsite": "e exibidos para", + "SegmentIsDisplayedForWebsite": "e processado ​​para", "SegmentNotApplied": "Segmento '%s' não aplicado", "SegmentNotAppliedMessage": "Você está solicitando dados para o Segmento Personalizado '%s', e esta configuração Piwik atualmente impede o processamento em tempo real de relatórios por motivos de desempenho.", "SelectSegmentOfVisits": "Selecione um segmento de visitas:", diff --git a/plugins/SegmentEditor/lang/ro.json b/plugins/SegmentEditor/lang/ro.json index af9fd478dbb6c589a9177565cb9966c01b23ae98..55d7c8c61c2230db881e5b94e5d333ce7660f560 100644 --- a/plugins/SegmentEditor/lang/ro.json +++ b/plugins/SegmentEditor/lang/ro.json @@ -15,7 +15,6 @@ "SaveAndApply": "Salvează ÅŸi aplică", "SegmentDisplayedAllWebsites": "toate siturile web", "SegmentDisplayedThisWebsiteOnly": "numai acest site web", - "SegmentIsDisplayedForWebsite": "È™i afiÈ™ate pentru", "SegmentNotApplied": "Segmentul '%s' nu se aplica", "SegmentNotAppliedMessage": "Vi se solicită date pentru segmentul personalizat '%s', această configuraÈ›ie Piwik împiedică în prezent prelucrarea în timp real a rapoartelor pentru motive de performanță.", "ThisSegmentIsVisibleTo": "Acest segment este vizibil către:", diff --git a/plugins/SegmentEditor/lang/ru.json b/plugins/SegmentEditor/lang/ru.json index eb0f9c3c05de3612546a9f20f52499c47ec9f15f..ad9e9286361497aa00d15d0d0f3bc487aa93658f 100644 --- a/plugins/SegmentEditor/lang/ru.json +++ b/plugins/SegmentEditor/lang/ru.json @@ -12,7 +12,6 @@ "SaveAndApply": "Сохранить и применить", "SegmentDisplayedAllWebsites": "вÑе Ñайты", "SegmentDisplayedThisWebsiteOnly": "только Ñтот Ñайт", - "SegmentIsDisplayedForWebsite": "и отображаетÑÑ Ð´Ð»Ñ", "SegmentNotAppliedMessage": "Ð’Ñ‹ запрашиваете данные Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого Ñегмента '%s', Ñта ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Piwik в данный момент препÑÑ‚Ñтвует обработке отчетов в реальном времени по ÑоображениÑм производительноÑти.", "ThisSegmentIsVisibleTo": "Ðтот Ñегмент видим длÑ:", "VisibleToAllUsers": "вÑе пользователи", diff --git a/plugins/SegmentEditor/lang/sq.json b/plugins/SegmentEditor/lang/sq.json new file mode 100644 index 0000000000000000000000000000000000000000..b8d7dbd9ceb6f2283a3284804cac62f43e9b549b --- /dev/null +++ b/plugins/SegmentEditor/lang/sq.json @@ -0,0 +1,7 @@ +{ + "SegmentEditor": { + "AddANDorORCondition": "Shtoni kusht %s", + "ChooseASegment": "Zgjidhni një segment", + "DefaultAllVisits": "Krejt vizitat" + } +} \ No newline at end of file diff --git a/plugins/SegmentEditor/lang/sr.json b/plugins/SegmentEditor/lang/sr.json index 2be5a7457c17776778533e87a1106c2c95152e31..0fd868bdbfb852144602fa66d8842da3046534c3 100644 --- a/plugins/SegmentEditor/lang/sr.json +++ b/plugins/SegmentEditor/lang/sr.json @@ -16,7 +16,6 @@ "SaveAndApply": "SaÄuvaj i primeni", "SegmentDisplayedAllWebsites": "svi sajtovi", "SegmentDisplayedThisWebsiteOnly": "samo ovaj sajt", - "SegmentIsDisplayedForWebsite": "i prikazan za", "SegmentNotApplied": "Segment '%s' nije primenjen.", "SegmentNotAppliedMessage": "Zahtevali ste podatke za korisniÄki definisani segment '%s' a trenutne postavke Piwik-a spreÄavaju procesiranje izveÅ¡taja u realnom vremenu zbog oÄuvanja nivoa performansi.", "ThisSegmentIsVisibleTo": "Ovaj segment je vidljiv:", diff --git a/plugins/SegmentEditor/lang/sv.json b/plugins/SegmentEditor/lang/sv.json index 9e81fa099593afe88ca67814a6c7d95ec9e807f2..955e9da3b42e829fd985013625aa9b88e50c8e45 100644 --- a/plugins/SegmentEditor/lang/sv.json +++ b/plugins/SegmentEditor/lang/sv.json @@ -15,7 +15,6 @@ "SaveAndApply": "Spara & Använd", "SegmentDisplayedAllWebsites": "alla webbsidor", "SegmentDisplayedThisWebsiteOnly": "endast denna webbsida", - "SegmentIsDisplayedForWebsite": "och visas för", "SegmentNotApplied": "Segment '%s' tillämpas inte", "SegmentNotAppliedMessage": "Du begär data för det Anpassade Segmentet '%s', denna Piwik konfiguration förhindrar realtidsbearbetning av rapporter pga prestandaskäl.", "ThisSegmentIsVisibleTo": "Det här segmentet är synligt för:", diff --git a/plugins/SegmentEditor/lang/tl.json b/plugins/SegmentEditor/lang/tl.json index 7e3b4a8f79aab1b6e491b88c05771c51ec0bda85..7933c0fe3a7c65ba34e3991e8896c2d8d77d4a7d 100644 --- a/plugins/SegmentEditor/lang/tl.json +++ b/plugins/SegmentEditor/lang/tl.json @@ -14,7 +14,6 @@ "OperatorOR": "OR", "SaveAndApply": "I-save at I-apply", "SegmentDisplayedThisWebsiteOnly": "ang website na ito lamang", - "SegmentIsDisplayedForWebsite": "at ipinapakita para sa", "SegmentNotApplied": "Hindi nai-apply ang Segment '%s'", "ThisSegmentIsVisibleTo": "Ang segment na ito ay makikita sa:", "VisibleToAllUsers": "lahat ng mga user", diff --git a/plugins/SegmentEditor/lang/vi.json b/plugins/SegmentEditor/lang/vi.json index 78a7a6dc809cfd2f56b5c1c0bb9203a275ba0010..d94eb8f35e74e65f3fa563d25674308b86d77254 100644 --- a/plugins/SegmentEditor/lang/vi.json +++ b/plugins/SegmentEditor/lang/vi.json @@ -14,7 +14,6 @@ "SaveAndApply": "LÆ°u và áp dụng", "SegmentDisplayedAllWebsites": "Tất cả các website", "SegmentDisplayedThisWebsiteOnly": "Chỉ website nà y", - "SegmentIsDisplayedForWebsite": "và hiển thị cho", "ThisSegmentIsVisibleTo": "Phân Ä‘oạn nà y có thể nhìn thấy:", "VisibleToAllUsers": "Tất cả ngÆ°á»i dùng", "VisibleToMe": "Tôi", diff --git a/plugins/SegmentEditor/lang/zh-cn.json b/plugins/SegmentEditor/lang/zh-cn.json index ff6c9f1c3dbfb572a59374e29595d0b4e3f43237..44c7d182c4a46df4c189087d39d036365442e9d2 100644 --- a/plugins/SegmentEditor/lang/zh-cn.json +++ b/plugins/SegmentEditor/lang/zh-cn.json @@ -14,7 +14,6 @@ "SaveAndApply": "ä¿å˜å¹¶åº”用", "SegmentDisplayedAllWebsites": "所有网站", "SegmentDisplayedThisWebsiteOnly": "仅这个网站", - "SegmentIsDisplayedForWebsite": "显示", "ThisSegmentIsVisibleTo": "这个分段对其å¯è§:", "VisibleToAllUsers": "所有用户", "VisibleToMe": "我", diff --git a/plugins/SitesManager/lang/el.json b/plugins/SitesManager/lang/el.json index bac074df01add771489471441db5ac9abb5e751b..e8636db0add8d93c223c98588e1dc8a01b0bb603 100644 --- a/plugins/SitesManager/lang/el.json +++ b/plugins/SitesManager/lang/el.json @@ -3,7 +3,7 @@ "AddSite": "Î Ïοσθήκη ιστοσελίδας", "AddMeasurable": "Î Ïοσθήκη νÎου μετÏοÏμενου", "AdvancedTimezoneSupportNotFound": "Η Ï€ÏοηγμÎνη υποστήÏιξη για ζώνες ÏŽÏας δεν βÏÎθηκε στην PHP σας (υποστηÏίζεται από την Îκδοση 5.2 ή νεότεÏη). ΜποÏείτε να επιλÎξετε διαφοÏά ÏŽÏας χειÏοκίνητα.", - "AliasUrlHelp": "Î Ïοτείνεται, αλλά δεν απαιτείται, να οÏίσετε τα διάφοÏα URLs που χÏησιμοποιοÏν οι επισκÎπτες σας στη συγκεκÏιμÎνη ιστοσελίδα.nΤα URLs με μάσκα για μια ιστοσελίδα δεν θα εμφανίζονται στο Î¼ÎµÎ½Î¿Ï Î‘Î½Î±Ï†Î¿Ïείς > ΑναφοÏά ιστοσελίδων. Σημειώστε ότι δεν είναι απαÏαίτητο να οÏίσετε τα URLs με και χωÏίς «www» καθώς το Piwik τα θεωÏεί και τα δÏο ως δεδομÎνα.", + "AliasUrlHelp": "Î Ïοτείνεται, αλλά δεν απαιτείται, να οÏίσετε τις διάφοÏες διευθÏνσεις URL, μία ανά γÏαμμή, που χÏησιμοποιοÏν οι επισκÎπτες σας για τη συγκεκÏιμÎνη ιστοσελίδα. Οι ψευδώνυμες διευθÏνσεις URL για μια ιστοσελίδα δεν θα εμφανίζονται στο Î¼ÎµÎ½Î¿Ï Î‘Î½Î±Ï†Î¿Ïείς > ΑναφοÏά ιστοσελίδων. Σημειώστε ότι δεν είναι απαÏαίτητο να οÏίσετε τις διευθÏνσεις URL με και χωÏίς 'www' καθώς το Piwik θεωÏεί και τις δÏο ως δεδομÎνες.", "ChangingYourTimezoneWillOnlyAffectDataForward": "Αλλάζοντας τη ζώνη ÏŽÏας σας θα επηÏεάσει μόνο τα δεδομÎνα που θα ακολουθήσουν και δεν θα εφαÏμοστεί αναδÏομικά.", "ChooseCityInSameTimezoneAsYou": "ΕπιλÎξτε μια πόλη στην ίδια ζώνη ÏŽÏας όπως εσείς.", "Currency": "Îόμισμα", diff --git a/plugins/TasksTimetable b/plugins/TasksTimetable index 813a8e3dc65c3c6cca088d7f3f358ebc71a0d4c8..53ab383e4d19963441b2e8c8211fac3ac9426cb6 160000 --- a/plugins/TasksTimetable +++ b/plugins/TasksTimetable @@ -1 +1 @@ -Subproject commit 813a8e3dc65c3c6cca088d7f3f358ebc71a0d4c8 +Subproject commit 53ab383e4d19963441b2e8c8211fac3ac9426cb6 diff --git a/plugins/Transitions/javascripts/transitions.js b/plugins/Transitions/javascripts/transitions.js index 8461c89069c444d595baf48e85a67d651e5115ba..0da9580cf0dfe8a0791bed907e30c04672d58586 100644 --- a/plugins/Transitions/javascripts/transitions.js +++ b/plugins/Transitions/javascripts/transitions.js @@ -268,7 +268,7 @@ Piwik_Transitions.prototype.preparePopover = function () { var share = NumberFormatter.formatPercent(Math.round(self.model.pageviews / totalNbPageviews * 1000) / 10); var text = Piwik_Transitions_Translations.ShareOfAllPageviews; - text = text.replace(/%s/, NumberFormatter.formatNumber(self.model.pageviews)).replace(/%s/, share); + text = sprintf(text, NumberFormatter.formatNumber(self.model.pageviews), share); text += '<br /><em>' + Piwik_Transitions_Translations.DateRange + ' ' + self.model.date + '</em>'; var title = '<h3>' + piwikHelper.addBreakpointsToUrl(self.actionName) + '</h3>'; @@ -419,7 +419,7 @@ Piwik_Transitions.prototype.renderCenterBox = function () { Piwik_Transitions.prototype.addTooltipShowingPercentageOfAllPageviews = function(element, metric) { var tip = Piwik_Transitions_Translations.XOfAllPageviews; var percentage = this.model.getPercentage(metric, true); - tip = tip.replace(/%s/, '<strong>' + percentage + '</strong>'); + tip = sprintf(tip, '<strong>' + percentage + '</strong>'); element.tooltip({ track: true, @@ -572,7 +572,7 @@ Piwik_Transitions.prototype.renderOpenGroup = function (groupName, side, onlyBg) } var tooltip = Piwik_Transitions_Translations.XOfY; - tooltip = '<strong>' + tooltip.replace(/%s/, data.referrals + '</strong>').replace(/%s/, nbTransitions); + tooltip = '<strong>' + sprintf(tooltip, data.referrals, nbTransitions) + '</strong>'; tooltip = this.model.getShareInGroupTooltip(tooltip, groupName); var fullLabel = label; @@ -1403,7 +1403,7 @@ Piwik_Transitions_Model.prototype.getGroupTitle = function (groupName) { Piwik_Transitions_Model.prototype.getShareInGroupTooltip = function (share, groupName) { var tip = this.shareInGroupTexts[groupName]; - return tip.replace(/%s/, share); + return sprintf(tip, share); }; Piwik_Transitions_Model.prototype.getDetailsForGroup = function (groupName) { @@ -1500,10 +1500,10 @@ Piwik_Transitions_Ajax.prototype.callApi = function (method, params, callback) { if (typeof params.actionName != 'undefined') { var url = params.actionName; url = piwikHelper.addBreakpointsToUrl(url); - errorTitle = errorTitle.replace(/%s/, '<span>' + url + '</span>'); + errorTitle = sprintf(errorTitle, '<span>' + url + '</span>'); } - errorMessage = errorMessage.replace(/%s/g, '<br />'); + errorMessage = sprintf(errorMessage, '<br />'); Piwik_Popover.showError(errorTitle, errorMessage, errorBack); }; diff --git a/plugins/Transitions/lang/sq.json b/plugins/Transitions/lang/sq.json new file mode 100644 index 0000000000000000000000000000000000000000..c634ea624a8643d1be987ba16864dbaec43fc91c --- /dev/null +++ b/plugins/Transitions/lang/sq.json @@ -0,0 +1,14 @@ +{ + "Transitions": { + "BouncesInline": "%s kthime", + "ErrorBack": "Kthehu te veprimi i mëparshëm", + "ExitsInline": "%s largime", + "FromCampaigns": "Prej Fushatash", + "FromPreviousPages": "Prej Faqesh të Brendshme", + "FromPreviousPagesInline": "%s prej faqesh të brendshme", + "FromPreviousSiteSearches": "Prej Kërkimesh të Brendshme", + "FromSearchEngines": "Prej Motorë Kërkimesh", + "FromWebsites": "Prej Sajtesh", + "IncomingTraffic": "Trafik ardhës" + } +} \ No newline at end of file diff --git a/plugins/Transitions/lang/tr.json b/plugins/Transitions/lang/tr.json index c0cb35ba95e5e9b65646951e35dcb6896f382eb0..cd5fed6a05ba37539857169e0acffc421b36ef4a 100644 --- a/plugins/Transitions/lang/tr.json +++ b/plugins/Transitions/lang/tr.json @@ -1,5 +1,28 @@ { "Transitions": { - "FromCampaigns": "Kampanyalarından GeçiÅŸler" + "BouncesInline": "%s sıçramalar", + "DirectEntries": "Direk GiriÅŸler", + "ErrorBack": "Bir önceki iÅŸleme dön", + "ExitsInline": "%s çıkışlar", + "FromCampaigns": "Kampanyalardan GeçiÅŸler", + "FromPreviousPages": "İç sayfalardan", + "FromPreviousPagesInline": "%s iç sayfalardan", + "FromPreviousSiteSearches": "Ä°nternet Aramalarından", + "FromPreviousSiteSearchesInline": "%s internet aramalarından", + "FromSearchEngines": "Arama Motorlarından", + "FromWebsites": "Websitelerden", + "IncomingTraffic": "Gelen trafik", + "LoopsInline": "%s sayfa yüklemeleri", + "NoDataForAction": "%s için veri yok", + "NoDataForActionDetails": "%s süresi boyunca hiç sayfa görüntülenmemiÅŸ ve aksiyon alınmamıştır veya o hatalıdır.", + "OutgoingTraffic": "Giden trafik", + "PluginDescription": "Yeni iconu ile ulaşılan Aksiyon raporları sayfasında yeni geçiÅŸler raporunun içindeki her sayfaya ait URL'yi önceki ve takip eden aksiyonları için raporlar.", + "ShareOfAllPageviews": "Bu sayfa %1$s sayfa görünütülemesine sahiptir ( %2$s tüm sayfa görüntülemesi).", + "ToFollowingPages": "İç Sayfalara", + "ToFollowingPagesInline": "%s İç Sayfalara", + "ToFollowingSiteSearches": "İç Aramalar", + "ToFollowingSiteSearchesInline": "%s İç Aramalar", + "XOfAllPageviews": "Bu sayfadaki tüm görüntülenmelerin %s'i", + "XOutOfYVisits": "%1$s (%2$s'nin dışında)" } } \ No newline at end of file diff --git a/plugins/UserCountry/lang/da.json b/plugins/UserCountry/lang/da.json index 0eeed967162e6dd9848fa696381026d2b5df9543..4f45a6045f9e22ed82e672acc4b711071ea4b9c6 100644 --- a/plugins/UserCountry/lang/da.json +++ b/plugins/UserCountry/lang/da.json @@ -16,6 +16,7 @@ "country_a2": "Satellit udbyder", "country_cat": "Catalansk-talende samfund", "country_o1": "Andet land", + "country_ti": "Tibet", "CurrentLocationIntro": "I følge denne tjeneste er din aktuelle lokation", "DefaultLocationProviderDesc1": "Standardlokationstjenesten gætter en besøgendes land baseret pÃ¥ det sprog de bruger.", "DefaultLocationProviderDesc2": "Dette er ikke særlig nøjagtigt, sÃ¥ %1$svi anbefaler at du installerer og bruger %2$sGeoIP%3$s.%4$s", diff --git a/plugins/UserCountry/lang/sq.json b/plugins/UserCountry/lang/sq.json index 50793adabdbdb6da171a3daa247101b5543b595d..0ee12da1353a1cc6e113cbd43495954a74829844 100644 --- a/plugins/UserCountry/lang/sq.json +++ b/plugins/UserCountry/lang/sq.json @@ -1,5 +1,8 @@ { "UserCountry": { + "AssumingNonApache": "S’gjendet dot funksioni find apache_get_modules function, po merret i mirëqenë si shërbyes non-Apache.", + "City": "Qytet", + "CityAndCountry": "%1$s, %2$s", "Continent": "Kontinent", "Country": "Vend", "country_a1": "Ndërmjetës Anonim", diff --git a/plugins/UserCountry/lang/sv.json b/plugins/UserCountry/lang/sv.json index 1f40178911592c48e39f6de62b71bafa472be99e..f4088012059ea3e12e51319f4887aa7d0adf05b8 100644 --- a/plugins/UserCountry/lang/sv.json +++ b/plugins/UserCountry/lang/sv.json @@ -80,6 +80,7 @@ "PeclGeoIPNoDBDir": "PECL-modulen letar efter databaser i %1$s, men den här mappen finns inte. Var vänlig skapa den och lägg till GeoIP-databaser i den. Alternativt, ändra inställningen %2$s till den rätta mappen i din php.ini.", "PeclGeoLiteError": "Din GeoIP-databas i %1$s har namnet %2$s. Tyvärr kommer inte PECL-modulen att känna igen den med det här namnet. Var vänlig döp om den till %3$s.", "PiwikNotManagingGeoIPDBs": "För närvarande hanterar inte Piwik nÃ¥gon GeoIP-databas.", + "PluginDescription": "Geografiska rapporter för dina besökare: land, region, stad och geografiska koordinater (latitud\/longitud).", "Region": "Region", "SetupAutomaticUpdatesOfGeoIP": "Ställ in automatisk uppdatering av GeoIP-databaser", "SubmenuLocations": "Platser", diff --git a/plugins/UserCountryMap/lang/de.json b/plugins/UserCountryMap/lang/de.json index 68c3556d721ff952a400c81fd70306e3df642f89..f3d1b47141bbc78ef7fd649653fddf5fc08f7444 100644 --- a/plugins/UserCountryMap/lang/de.json +++ b/plugins/UserCountryMap/lang/de.json @@ -1,6 +1,6 @@ { "UserCountryMap": { - "PluginDescription": "Dieses Plugin stellt die Widgets Besucherkarte sowie Besucherkarte in Echtzeit bereit. Hinweis: Das Plugin UserCountry muss aktiviert sein.", + "PluginDescription": "Dieses Plugin stellt die Widgets \"Besucherkarte\" sowie \"Besucherkarte in Echtzeit\" bereit. Hinweis: Hierfür muss das Plugin \"UserCountry\" aktiviert sein.", "AndNOthers": "und %s andere", "Cities": "Städte", "Countries": "Länder", diff --git a/plugins/UserCountryMap/lang/sq.json b/plugins/UserCountryMap/lang/sq.json index 143d07c783182a58edd363159f954b835e2d8d04..fdd2aaac07db0b0a1eba5a559f5b644bf0fb0ddb 100644 --- a/plugins/UserCountryMap/lang/sq.json +++ b/plugins/UserCountryMap/lang/sq.json @@ -1,5 +1,15 @@ { "UserCountryMap": { - "map": "hartë" + "AndNOthers": "dhe %s të tjerë", + "Cities": "Qytete", + "Countries": "Vende", + "DaysAgo": "%s ditë më parë", + "HoursAgo": "%s orë më parë", + "map": "hartë", + "MinutesAgo": "%s minuta më parë", + "None": "Asnjë", + "NoVisit": "Pa vizita", + "RealTimeMap": "Hartë e Atypëratyshme", + "Regions": "Rajone" } } \ No newline at end of file diff --git a/plugins/UserCountryMap/lang/sv.json b/plugins/UserCountryMap/lang/sv.json index 7ce29ed627eab54c125dc0101bdec2366e465522..53138f6578f9e7d4f9f25e721fe4b6a5c7450749 100644 --- a/plugins/UserCountryMap/lang/sv.json +++ b/plugins/UserCountryMap/lang/sv.json @@ -19,6 +19,7 @@ "Unlocated": "<b>%s<\/b> %p av besöken frÃ¥n %c kunde inte geolokaliseras.", "VisitorMap": "Besökskarta", "WorldWide": "Hela världen", + "WithUnknownRegion": "%s med okänd region", "WithUnknownCity": "%s med okänd stad" } } \ No newline at end of file diff --git a/plugins/UserLanguage/lang/sq.json b/plugins/UserLanguage/lang/sq.json index 74aa35ef51bff19f98123120122b9ea4c44a468d..4c352370020088e6fe432853ad450081e18b8d8a 100644 --- a/plugins/UserLanguage/lang/sq.json +++ b/plugins/UserLanguage/lang/sq.json @@ -1,5 +1,6 @@ { "UserLanguage": { + "BrowserLanguage": "Gjuhë shfletuesi", "LanguageCode": "Kod Gjuhe" } } \ No newline at end of file diff --git a/plugins/UsersManager/Controller.php b/plugins/UsersManager/Controller.php index 16ae4c04e73f3f9c8e20434367c9b47856b014a6..b0bb0a88f00bc486ce2c82972b46026cfa710f19 100644 --- a/plugins/UsersManager/Controller.php +++ b/plugins/UsersManager/Controller.php @@ -459,7 +459,7 @@ class Controller extends ControllerAdmin $sessionInitializer = new SessionInitializer(); $auth = StaticContainer::get('Piwik\Auth'); $auth->setLogin($userLogin); - $auth->setPassword($password); + $auth->setPassword($newPassword); $sessionInitializer->initSession($auth, $rememberMe = false); } } diff --git a/plugins/UsersManager/javascripts/usersManager.js b/plugins/UsersManager/javascripts/usersManager.js index a05e602c35d2705f2133f485f5ee8c7860c8b671..5624cb272af25301f15ca47aa1c09410a0fd7386 100644 --- a/plugins/UsersManager/javascripts/usersManager.js +++ b/plugins/UsersManager/javascripts/usersManager.js @@ -142,8 +142,7 @@ function bindUpdateSuperUserAccess() { message = 'UsersManager_ConfirmProhibitOtherUsersSuperUserAccess'; } - message = _pk_translate(message); - message = message.replace('%s', login); + message = _pk_translate(message, [login]); $('#superUserAccessConfirm h2').text(message); diff --git a/plugins/UsersManager/lang/de.json b/plugins/UsersManager/lang/de.json index e1ce9fd356355a218b3190a2d6f111fd0d9a5bcf..fe2af9b777ac5151b8dbb55c62ebf921aae47abd 100644 --- a/plugins/UsersManager/lang/de.json +++ b/plugins/UsersManager/lang/de.json @@ -7,6 +7,7 @@ "AnonymousUserHasViewAccess": "Hinweis: Der Benutzer %1$s hat %2$s Zugriff auf diese Website.", "AnonymousUserHasViewAccess2": "Ihre Analytiks-Berichte und Besucherinformationen sind öffentlich einsehbar.", "ApplyToAllWebsites": "Für alle Websites anwenden", + "ChangeAllConfirm": "Sind Sie sicher, dass Sie '%s' Zugriff auf alle Websites geben möchten?", "ChangePasswordConfirm": "Das Ändern des Kennworts ändert ebenso das token_auth des Benutzers. Wirklich fortfahren?", "ClickHereToDeleteTheCookie": "Klicken Sie hier, um das Cookie zu löschen und Ihre Besuche wieder zu zählen", "ClickHereToSetTheCookieOnDomain": "Klicken Sie hier, um ein Cookie zu setzen, damit Ihre Besuche auf Websites ignoriert werden, die Piwik auf %s trackt.", @@ -35,6 +36,9 @@ "ExceptionNoValueForUsernameOrEmail": "Bitte geben Sie einen Benutzernamen oder eine E-Mail-Adresse ein.", "ExcludeVisitsViaCookie": "Ihre Besuche von der Erfassung via Cookie ausschließen", "ForAnonymousUsersReportDateToLoadByDefault": "Bericht, der für Gast-Besucher (\"anonymous\") standardmäßig geladen wird", + "GiveViewAccess": "Lese-Rechte erteilen", + "GiveViewAccessTitle": "Einem bestehenden Benutzer die Berechtigung geben Berichte für %s zu sehen", + "GiveViewAccessInstructions": "Um einem bestehenden Benutzer Lese-Berechtigung für %s zu geben, geben Sie dessen Benutzername oder E-Mail-Adresse ein.", "IfYouWouldLikeToChangeThePasswordTypeANewOne": "Wenn Sie Ihr Passwort ändern möchten, geben Sie ein neues ein. Ansonsten lassen Sie dieses Feld frei.", "InjectedHostCannotChangePwd": "Ihr Besuch erfolgt aktuell durch einen unbekannten Hostnamen (%1$s). Es ist somit nicht möglich Ihr Kennwort zu ändert bis dieser Umstand behoben ist.", "LastSeen": "Zuletzt gesehen", @@ -46,6 +50,7 @@ "PersonalSettings": "Persönliche Einstellungen", "NoteNoAnonymousUserAccessSettingsWontBeUsed2": "Hinweis: Sie können die Einstellungen in diesem Bereich nicht ändern, weil Sie keine Website eingerichtet haben, die vom anonymen Benutzer angezeigt werden kann.", "NoUsersExist": "Bisher keine Benutzer vorhanden.", + "PluginDescription": "Die Benutzerverwaltung erlaubt es Ihnen, neue Benutzer zu erstellen, bestehende zu ändern und die Rechte für die Ansicht, sowie die Administration zu definieren.", "PrivAdmin": "Administrator", "PrivNone": "Kein Zugriff", "PrivView": "Ansicht", diff --git a/plugins/UsersManager/lang/sq.json b/plugins/UsersManager/lang/sq.json index 78301c8d1c0e3a09ea2abfcc02feaa8e51ea9ebb..e943b4582682222c9d65a7916a1a870cfc316ae1 100644 --- a/plugins/UsersManager/lang/sq.json +++ b/plugins/UsersManager/lang/sq.json @@ -16,12 +16,12 @@ "Email": "Email", "EmailYourAdministrator": "%1$sDërgojini përgjegjësit tuaj email rreth këtij problemi%2$s.", "ExceptionAccessValues": "Parametri duhet të ketë një nga vlerat vijuese: [ %s ]", - "ExceptionAdminAnonymous": "S'mund t'i jepni hyrje 'administratori' përdoruesit 'anonim'.", - "ExceptionDeleteDoesNotExist": "Përdoruesi '%s' s'ekziston, ndaj s'mund të bëhet fshirje.", + "ExceptionAdminAnonymous": "S’mund t’i jepni hyrje 'administratori' përdoruesit 'anonim'.", + "ExceptionDeleteDoesNotExist": "Përdoruesi '%s' s'ekziston, ndaj s’mund të bëhet fshirje.", "ExceptionDeleteOnlyUserWithSuperUserAccess": "Fshirja e përdoruesit '%s' s’është e mundur.", - "ExceptionEditAnonymous": "Përdoruesi anonim nuk mund të fshihet apo përpunohet të dhënat e tij. Përdoret nga Piwik-u për të përkufizuar një përdorues që nuk ka bërë ende hyrjen. Për shembull, mund t'i bëni statistikat tuaja publike duke lejuar hyrje për 'parje' për përdoruesin 'anonim'.", + "ExceptionEditAnonymous": "Përdoruesi anonim nuk mund të fshihet apo përpunohet të dhënat e tij. Përdoret nga Piwik-u për të përkufizuar një përdorues që s’ka bërë ende hyrjen. Për shembull, mund t’i bëni statistikat tuaja publike duke lejuar hyrje për 'parje' për përdoruesin 'anonim'.", "ExceptionEmailExists": "Ka tashmë një përdorues me email-in '%s'.", - "ExceptionInvalidEmail": "Email-i s'është në format të vlefshëm.", + "ExceptionInvalidEmail": "Email-i s’është në format të vlefshëm.", "ExceptionInvalidPassword": "Fjalëkalimi duhet të jetë nga %1$s deri në %2$s shenja i gjatë.", "ExceptionPasswordMD5HashExpected": "UsersManager.getTokenAuth pret një fjalëkalim hash MD5 (varg 32 shenja të gjatë). Ju lutemi, zbatojeni funksionin md5() mbi fjalëkalimin përpara zbatimit të kësaj metode", "ExceptionRemoveSuperUserAccessOnlySuperUser": "Heqja e lejeve Superpërdoruesi për përdoruesin '%s' s’është e mundur.", diff --git a/plugins/UsersManager/tests/Fixtures/ManyUsers.php b/plugins/UsersManager/tests/Fixtures/ManyUsers.php index b92be230f5c6c6354fd2c0dab48abf95f776afe8..b9c6821f67a1ee918b574ec7ab8271f8989a0b6e 100644 --- a/plugins/UsersManager/tests/Fixtures/ManyUsers.php +++ b/plugins/UsersManager/tests/Fixtures/ManyUsers.php @@ -44,7 +44,7 @@ class ManyUsers extends Fixture private function setUpWebsite() { - foreach (range(1,7) as $idSite) { + for ($i=0; $i < 7; $i++) { Fixture::createWebsite('2010-01-01 00:00:00'); } } diff --git a/plugins/VisitTime/lang/sv.json b/plugins/VisitTime/lang/sv.json index 6a6d7e4d807771929ff631c045e05510971afd1d..ed9f5df76207025b16db08096c6e4fe5e9310a55 100644 --- a/plugins/VisitTime/lang/sv.json +++ b/plugins/VisitTime/lang/sv.json @@ -5,6 +5,7 @@ "DayOfWeek": "Veckodag", "LocalTime": "Besök efter lokal tid", "NHour": "%sh", + "PluginDescription": "Rapporterar lokaltid och servertid när besökarna visa din webbplats eller app.", "ServerTime": "Besök efter servertid", "SubmenuTimes": "Tider", "VisitsByDayOfWeek": "Besök efter veckodag", diff --git a/plugins/VisitTime/lang/tr.json b/plugins/VisitTime/lang/tr.json index b939617aa817055459c8a03d928117da0b742b0a..b65d81deb511dccdc71d0b57d28316423b91f7ef 100644 --- a/plugins/VisitTime/lang/tr.json +++ b/plugins/VisitTime/lang/tr.json @@ -5,8 +5,11 @@ "DayOfWeek": "Haftanın günü", "LocalTime": "Yerel saat başına ziyaretler", "NHour": "%sh", + "PluginDescription": "Ziyaretçi siteyi veya uygulamayı görüntülediÄŸinde yerel ve sunucu zamanını raporla.", "ServerTime": "yerel sunucu başına ziyaretler", + "SubmenuTimes": "Zamanlar", "VisitsByDayOfWeek": "Haftanın günlerine göre Ziyaretler", + "WidgetByDayOfWeekDocumentation": "Bu grafik sitenizin haftanın her günü için aldığı ziyaret sayılarını gösterir", "WidgetLocalTime": "Yerel saate göre Ziyaretler", "WidgetServerTime": "Sunucu saatine göre Ziyaretler" } diff --git a/plugins/VisitorGenerator b/plugins/VisitorGenerator index 4c18db6600e189a691d48693a1238f7806b9d705..9e27fa9f5d12c752c1db19b49256ef32fdcbcb54 160000 --- a/plugins/VisitorGenerator +++ b/plugins/VisitorGenerator @@ -1 +1 @@ -Subproject commit 4c18db6600e189a691d48693a1238f7806b9d705 +Subproject commit 9e27fa9f5d12c752c1db19b49256ef32fdcbcb54 diff --git a/plugins/VisitorInterest/lang/sv.json b/plugins/VisitorInterest/lang/sv.json index 9671592f0ca7eee7ce8775fcf88c7e6eb9344688..71eb512f43c803eb31f51910e490191389619dd3 100644 --- a/plugins/VisitorInterest/lang/sv.json +++ b/plugins/VisitorInterest/lang/sv.json @@ -7,6 +7,7 @@ "Engagement": "Engagemang", "NPages": "%s sidor", "OnePage": "1 sida", + "PluginDescription": "Rapporter för besöksbeteenden: antalet sidvisningar, tid pÃ¥ webbplatsen, dagar sedan senaste besök, och mycket mer.", "VisitNum": "Besöksnummer", "VisitsByDaysSinceLast": "Besök efter dagar sedan senaste besöket", "visitsByVisitCount": "Besök efter besöksnummer", diff --git a/plugins/VisitsSummary/lang/sv.json b/plugins/VisitsSummary/lang/sv.json index 725d3a9fbaaf501d3a5906d89383a6e669c747bc..e5cef028dc63071c91f2a14511fcd0ce0b6a5217 100644 --- a/plugins/VisitsSummary/lang/sv.json +++ b/plugins/VisitsSummary/lang/sv.json @@ -17,6 +17,7 @@ "NbUniquePageviewsDescription": "%s unika sidvisningar", "NbUniqueVisitors": "%s unika besökare", "NbVisitsBounced": "%s besökare som studsat (lämnat efter en sidvisning)", + "PluginDescription": "Rapporter för allmän analytics-statistik: besök, unika besökare, antal slutförda mÃ¥l, avvisningsfrekvens , etc.", "VisitsSummary": "Besökssummering", "VisitsSummaryDocumentation": "Detta är en översikt av besöksutvecklingen.", "WidgetLastVisits": "Besöksgraf", diff --git a/plugins/WebsiteMeasurable/lang/sq.json b/plugins/WebsiteMeasurable/lang/sq.json index 7d884b382b31ef2f7e510ca610fe5ac5827720f1..d117a6f710b97487c33aace82afff4a855610393 100644 --- a/plugins/WebsiteMeasurable/lang/sq.json +++ b/plugins/WebsiteMeasurable/lang/sq.json @@ -1,6 +1,7 @@ { "WebsiteMeasurable": { "Website": "Sajt", - "Websites": "Sajte" + "Websites": "Sajte", + "WebsiteDescription": "Një sajt përbëhet prej faqesh web që zakonisht shërbehen prej një përkatësie të caktuar web." } } \ No newline at end of file diff --git a/plugins/WebsiteMeasurable/lang/tr.json b/plugins/WebsiteMeasurable/lang/tr.json new file mode 100644 index 0000000000000000000000000000000000000000..f4da4a60323826f60b1a8d8bb47804e6845cf0cc --- /dev/null +++ b/plugins/WebsiteMeasurable/lang/tr.json @@ -0,0 +1,6 @@ +{ + "WebsiteMeasurable": { + "Website": "Websitesi", + "Websites": "Websiteleri" + } +} \ No newline at end of file diff --git a/plugins/Widgetize/lang/tr.json b/plugins/Widgetize/lang/tr.json index 3c15469b30d6d31c8c199b3dff58c2b2a1a19e96..10eaf052014513880a4c7fddc146d943c903e8a9 100644 --- a/plugins/Widgetize/lang/tr.json +++ b/plugins/Widgetize/lang/tr.json @@ -1,5 +1,7 @@ { "Widgetize": { - "OpenInNewWindow": "Yeni pencerede aç" + "OpenInNewWindow": "Yeni pencerede aç", + "PluginDescription": "Basit Gömülü HTML tag'i ile Piwik raporunu websitende veya uygulamada göster.", + "TopLinkTooltip": "Piwik Raporunu Widgetlara dönüştür ve Uygulamandaki göstergene iframe olarak ekle" } } \ No newline at end of file diff --git a/tests/PHPUnit/Integration/PiwikTest.php b/tests/PHPUnit/Integration/PiwikTest.php index aad756ee5e581acf0559a9bca09ff8adc79ec611..28cb798d75dc6fd5cf28cd617f2947a699a4d191 100644 --- a/tests/PHPUnit/Integration/PiwikTest.php +++ b/tests/PHPUnit/Integration/PiwikTest.php @@ -125,6 +125,7 @@ class PiwikTest extends IntegrationTestCase 'aa', 'aaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + 'äÄüÜöÖß', 'shoot_puck@the-goal.com', ); foreach ($valid as $key => $value) { diff --git a/tests/PHPUnit/Integration/Settings/SystemSettingTest.php b/tests/PHPUnit/Integration/Settings/SystemSettingTest.php index f3655ed9191d3cde237b4f35f41e3b775f304197..e740f61f704ff1a623afe480f3de46b858f8cbbe 100644 --- a/tests/PHPUnit/Integration/Settings/SystemSettingTest.php +++ b/tests/PHPUnit/Integration/Settings/SystemSettingTest.php @@ -175,6 +175,21 @@ class SystemSettingTest extends IntegrationTestCase $this->assertFalse($setting->isWritableByCurrentUser()); } + public function test_setIsWritableByCurrentUser() + { + $this->setSuperUser(); + $setting = $this->addSystemSetting('myusersetting', 'mytitle'); + $setting->setPluginName('MyPluginName'); + + $this->assertTrue($setting->isWritableByCurrentUser()); + + $setting->setIsWritableByCurrentUser(false); + $this->assertFalse($setting->isWritableByCurrentUser()); + + $setting->setIsWritableByCurrentUser(true); + $this->assertTrue($setting->isWritableByCurrentUser()); + } + /** * @expectedException \Exception * @expectedExceptionMessage CoreAdminHome_PluginSettingChangeNotAllowed diff --git a/tests/PHPUnit/Integration/WidgetsListTest.php b/tests/PHPUnit/Integration/WidgetsListTest.php index 8af1095b98e97c9f9110a2bc794c5cf53d0887f7..3cafbe67a1295186900710087c703f3ab5b8e1cc 100644 --- a/tests/PHPUnit/Integration/WidgetsListTest.php +++ b/tests/PHPUnit/Integration/WidgetsListTest.php @@ -8,7 +8,6 @@ namespace Piwik\Tests\Integration; -use Piwik\Access; use Piwik\Widget\WidgetConfig; use Piwik\Plugins\Goals\API; use Piwik\Tests\Framework\Mock\FakeAccess; diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index 95c67bf1c7f17ea8d7010cdb06a3f09bb67d97ea..2709560a0067a59d082d94dcf877b3926f8349f2 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -5121,4 +5121,4 @@ There is no data for this report. </body> -</html> \ No newline at end of file +</html>��������������������������������������������������������������������������������������������������������������������������������������������� \ No newline at end of file diff --git a/tests/PHPUnit/Unit/DataTableTest.php b/tests/PHPUnit/Unit/DataTableTest.php index c427adeae779a371ee430ad51e2a824ebf719372..fa7fe2266914a2e4269f213cc44a505073cacc51 100644 --- a/tests/PHPUnit/Unit/DataTableTest.php +++ b/tests/PHPUnit/Unit/DataTableTest.php @@ -898,6 +898,14 @@ class DataTableTest extends \PHPUnit_Framework_TestCase $this->assertNull($unserialized[0][3], "found the id sub table in the serialized, not expected"); } + public function testMergeSubtablesKeepsMetadata() + { + $dataTable = $this->_getDataTable1ForTest(); + $dataTable->setMetadata('additionalMetadata', 'test'); + $dataTable = $dataTable->mergeSubtables(); + $this->assertEquals('test', $dataTable->getMetadata('additionalMetadata')); + } + private function createDataTable($rows) { $useless1 = new DataTable; diff --git a/tests/UI/expected-ui-screenshots b/tests/UI/expected-ui-screenshots index a3a5924c8530c2cbbf95071e153f26c3927e7e38..4513d00ca815838f3e749be13b62b568f4354036 160000 --- a/tests/UI/expected-ui-screenshots +++ b/tests/UI/expected-ui-screenshots @@ -1 +1 @@ -Subproject commit a3a5924c8530c2cbbf95071e153f26c3927e7e38 +Subproject commit 4513d00ca815838f3e749be13b62b568f4354036 diff --git a/tests/UI/specs/DashboardManager_spec.js b/tests/UI/specs/DashboardManager_spec.js index 815fd6e2c98de686a3b48284d7ad9779accb7b4d..ae6e2eddc4580541a8f652cb37426f2af9d88ef2 100644 --- a/tests/UI/specs/DashboardManager_spec.js +++ b/tests/UI/specs/DashboardManager_spec.js @@ -51,4 +51,26 @@ describe("DashboardManager", function () { page.click('.widgetpreview-widgetlist>li:contains(Visits Over Time)'); }, done); }); + + it("should create new dashboard with new default widget selection when create dashboard process completed", function (done) { + expect.screenshot("create_new").to.be.capture(function (page) { + page.click('.dashboard-manager .title'); + page.click('li[data-action=createDashboard]'); + page.sendKeys('#createDashboardName', 'newdash2'); + page.click('.ui-dialog[aria-describedby=createDashboardConfirm] button>span:contains(Yes)'); + }, done); + }); + + it("should remove dashboard when remove dashboard process completed", function (done) { + expect.screenshot("removed").to.be.capture(function (page) { + page.contains('ul.navbar ul li.sfActive:contains(newdash2)'); + page.click('.dashboard-manager .title'); + page.click('li[data-action=removeDashboard]'); + page.click('.ui-dialog[aria-describedby=removeDashboardConfirm] button>span:contains(Yes)'); + page.mouseMove('.dashboard-manager'); + page.evaluate(function () { + $('.widgetTop').removeClass('widgetTopHover'); + }); + }, done); + }); }); \ No newline at end of file diff --git a/tests/UI/specs/Dashboard_spec.js b/tests/UI/specs/Dashboard_spec.js index 94b85fcc176a22f439f30373a2e24100854476dc..2489f696371844fb0ad320a94b776fa8a767a010 100644 --- a/tests/UI/specs/Dashboard_spec.js +++ b/tests/UI/specs/Dashboard_spec.js @@ -215,6 +215,9 @@ describe("Dashboard", function () { page.click('li[data-action=createDashboard]'); page.sendKeys('#createDashboardName:visible', 'newdash2'); page.click('.ui-dialog[aria-describedby=createDashboardConfirm] button>span:contains(Yes)'); + // toggle map widget to prevent failures + page.mouseMove('#widgetUserCountryMapvisitorMap .widgetTop', 3000); + page.click('#widgetUserCountryMapvisitorMap #minimise'); }, done); }); diff --git a/tests/UI/specs/Login_spec.js b/tests/UI/specs/Login_spec.js index ed4ad31ba3da49821ff54e73f1f67b12e95eca2e..dc0fbb558a9cabf02fb4250d8126b8f307423b85 100644 --- a/tests/UI/specs/Login_spec.js +++ b/tests/UI/specs/Login_spec.js @@ -60,6 +60,14 @@ describe("Login", function () { }, done); }); + it("should show reset password form and error message on error", function (done) { + expect.screenshot("password_reset_error").to.be.capture(function (page) { + page.sendKeys("#reset_form_login", "superUserLogin"); + page.sendKeys("#reset_form_password", "superUserPass2"); + page.click("#reset_form_submit", 3000); + }, done); + }); + it("should send email when password reset form submitted", function (done) { expect.screenshot("password_reset").to.be.capture(function (page) { page.sendKeys("#reset_form_login", "superUserLogin"); diff --git a/tests/UI/specs/Transitions_spec.js b/tests/UI/specs/Transitions_spec.js index dcbc87901aa416366d06eadb93dc826714531dac..b0972775c97d46824c8b0a3fb6cad7faa4045aa0 100644 --- a/tests/UI/specs/Transitions_spec.js +++ b/tests/UI/specs/Transitions_spec.js @@ -28,6 +28,7 @@ describe("Transitions", function () { expect.screenshot('transitions_popup_urls').to.be.captureSelector('.ui-dialog', function (page) { page.load("?" + urlBase + "#?" + generalParams + "&category=General_Actions&subcategory=General_Pages&" + "popover=RowAction$3ATransitions$3Aurl$3Ahttp$3A$2F$2Fpiwik.net$2Fdocs$2Fmanage-websites$2F"); + page.mouseMove('.Transitions_CurveTextRight'); }, done); }); }); \ No newline at end of file diff --git a/tests/javascript/index.php b/tests/javascript/index.php index 60d7f11558fa6acb3f0f1c6c2ed6b12e6a04043b..2e0e48723dc3ba4b83a6b515cec6fee02f3baccd 100644 --- a/tests/javascript/index.php +++ b/tests/javascript/index.php @@ -2190,7 +2190,7 @@ function PiwikTest() { // support for setCustomUrl( relativeURI ) test("getProtocolScheme and resolveRelativeReference", function() { - expect(27); + expect(28); var tracker = Piwik.getTracker(); @@ -2200,6 +2200,7 @@ function PiwikTest() { ok( tracker.hook.test._getProtocolScheme('https://example.com') === 'https', 'https://' ); ok( tracker.hook.test._getProtocolScheme('file://somefile.txt') === 'file', 'file://' ); ok( tracker.hook.test._getProtocolScheme('mailto:somebody@example.com') === 'mailto', 'mailto:' ); + ok( tracker.hook.test._getProtocolScheme('tel:0123456789') === 'tel', 'tel:' ); ok( tracker.hook.test._getProtocolScheme('javascript:alert(document.cookie)') === 'javascript', 'javascript:' ); ok( tracker.hook.test._getProtocolScheme('') === null, 'empty string' ); ok( tracker.hook.test._getProtocolScheme(':') === null, 'unspecified scheme' ); @@ -2829,7 +2830,7 @@ function PiwikTest() { }); test("Overlay URL Normalizer", function() { - expect(11); + expect(23); var test = function(testCases) { for (var i = 0; i < testCases.length; i++) { @@ -2894,6 +2895,25 @@ function PiwikTest() { 'example3.com/' ] ]); + + + var tracker = Piwik.getTracker(); + + // test getPiwikUrlForOverlay + var getPiwikUrlForOverlay = tracker.hook.test._getPiwikUrlForOverlay; + + equal( typeof getPiwikUrlForOverlay, 'function', 'getPiwikUrlForOverlay' ); + equal( getPiwikUrlForOverlay('http://www.example.com/js/tracker.php?version=232323'), 'http://www.example.com/', 'with query and js folder' ); + equal( getPiwikUrlForOverlay('http://www.example.com/tracker.php?version=232323'), 'http://www.example.com/', 'with query and no js folder' ); + equal( getPiwikUrlForOverlay('http://www.example.com/js/tracker.php'), 'http://www.example.com/', 'no query, custom tracker and js folder' ); + equal( getPiwikUrlForOverlay('http://www.example.com/tracker.php'), 'http://www.example.com/', 'no query, custom tracker and no js folder' ); + equal( getPiwikUrlForOverlay('http://www.example.com/js/piwik.php'), 'http://www.example.com/', 'with piwik.php and no js folder' ); + equal( getPiwikUrlForOverlay('http://www.example.com/piwik.php'), 'http://www.example.com/', 'with piwik.php and no js folder' ); + equal( getPiwikUrlForOverlay('http://www.example.com/master/js/piwik.php'), 'http://www.example.com/master/', 'installed in custom folder and js folder' ); + equal( getPiwikUrlForOverlay('http://www.example.com/master/piwik.php'), 'http://www.example.com/master/', 'installed in custom folder and no js folder' ); + equal( getPiwikUrlForOverlay('/piwik.php'), '/', 'only piwik.php with leading slash' ); + equal( getPiwikUrlForOverlay('piwik.php'), '', 'only piwik.php' ); + equal( getPiwikUrlForOverlay('/piwik.php?version=1234'), '/', 'only piwik.php with leading slash with query' ); }); <?php diff --git a/tests/javascript/piwiktest.js b/tests/javascript/piwiktest.js index 67157c6d96a3d8573431c9863327af27f4dee42b..ff5525c47d3ad3c8830cbe06c346473c17bf3c7e 100644 --- a/tests/javascript/piwiktest.js +++ b/tests/javascript/piwiktest.js @@ -44,7 +44,8 @@ Piwik.addPlugin('testPlugin', { '_purify : purify,' + '_resolveRelativeReference : resolveRelativeReference,' + '_addEventListener : addEventListener,' + - '_prefixPropertyName : prefixPropertyName' + + '_prefixPropertyName : prefixPropertyName,' + + '_getPiwikUrlForOverlay : getPiwikUrlForOverlay' + '}' ); },