PDF rausgenommen
This commit is contained in:
650
msd2/tracking/piwik/plugins/Referrers/API.php
Normal file
650
msd2/tracking/piwik/plugins/Referrers/API.php
Normal file
@ -0,0 +1,650 @@
|
||||
<?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\Referrers;
|
||||
|
||||
use Exception;
|
||||
use Piwik\API\ResponseBuilder;
|
||||
use Piwik\Archive;
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Date;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Site;
|
||||
|
||||
/**
|
||||
* The Referrers API lets you access reports about Websites, Search engines, Keywords, Campaigns used to access your website.
|
||||
*
|
||||
* For example, "getKeywords" returns all search engine keywords (with <a href='http://matomo.org/docs/analytics-api/reference/#toc-metric-definitions' rel='noreferrer' target='_blank'>general analytics metrics</a> for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set).
|
||||
* "getReferrerType" returns the Referrer overview report. "getCampaigns" returns the list of all campaigns (and all campaign keywords if the parameter &expanded=1 is set).
|
||||
*
|
||||
* The methods "getKeywordsForPageUrl" and "getKeywordsForPageTitle" are used to output the top keywords used to find a page.
|
||||
* @method static \Piwik\Plugins\Referrers\API getInstance()
|
||||
*/
|
||||
class API extends \Piwik\Plugin\API
|
||||
{
|
||||
/**
|
||||
* @param string $name
|
||||
* @param int $idSite
|
||||
* @param string $period
|
||||
* @param string|Date $date
|
||||
* @param string $segment
|
||||
* @param bool $expanded
|
||||
* @param int|null $idSubtable
|
||||
* @return DataTable
|
||||
*/
|
||||
protected function getDataTable($name, $idSite, $period, $date, $segment, $expanded = false, $idSubtable = null)
|
||||
{
|
||||
$dataTable = Archive::createDataTableFromArchive($name, $idSite, $period, $date, $segment, $expanded, $flat=false, $idSubtable);
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a report describing visit information for each possible referrer type. The
|
||||
* result is a datatable whose subtables are the reports for each parent row's referrer type.
|
||||
*
|
||||
* The subtable reports are: 'getKeywords' (for search engine referrer type), 'getWebsites',
|
||||
* and 'getCampaigns'.
|
||||
*
|
||||
* @param string $idSite The site ID.
|
||||
* @param string $period The period to get data for, either 'day', 'week', 'month', 'year',
|
||||
* or 'range'.
|
||||
* @param string $date The date of the period.
|
||||
* @param bool|string $segment The segment to use.
|
||||
* @param bool|int $typeReferrer (deprecated) If you want to get data only for a specific referrer
|
||||
* type, supply a type for this parameter.
|
||||
* @param bool|int $idSubtable For this report this value is a referrer type ID and not an actual
|
||||
* subtable ID. The result when using this parameter will be the
|
||||
* specific report for the given referrer type.
|
||||
* @param bool $expanded Whether to get report w/ subtables loaded or not.
|
||||
* @return DataTable
|
||||
*/
|
||||
public function getReferrerType($idSite, $period, $date, $segment = false, $typeReferrer = false,
|
||||
$idSubtable = false, $expanded = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$this->checkSingleSite($idSite, 'getReferrerType');
|
||||
|
||||
// if idSubtable is supplied, interpret idSubtable as referrer type and return correct report
|
||||
if ($idSubtable !== false) {
|
||||
$result = false;
|
||||
switch ($idSubtable) {
|
||||
case Common::REFERRER_TYPE_SEARCH_ENGINE:
|
||||
$result = $this->getKeywords($idSite, $period, $date, $segment);
|
||||
break;
|
||||
case Common::REFERRER_TYPE_SOCIAL_NETWORK:
|
||||
$result = $this->getSocials($idSite, $period, $date, $segment);
|
||||
break;
|
||||
case Common::REFERRER_TYPE_WEBSITE:
|
||||
$result = $this->getWebsites($idSite, $period, $date, $segment);
|
||||
break;
|
||||
case Common::REFERRER_TYPE_CAMPAIGN:
|
||||
$result = $this->getCampaigns($idSite, $period, $date, $segment);
|
||||
break;
|
||||
default: // invalid idSubtable, return whole report
|
||||
break;
|
||||
}
|
||||
|
||||
if ($result) {
|
||||
$result->filter('ColumnCallbackDeleteMetadata', array('segment'));
|
||||
$result->filter('ColumnCallbackDeleteMetadata', array('segmentValue'));
|
||||
|
||||
return $this->removeSubtableIds($result); // this report won't return subtables of individual reports
|
||||
}
|
||||
}
|
||||
|
||||
// get visits by referrer type
|
||||
$dataTable = $this->getDataTable(Archiver::REFERRER_TYPE_RECORD_NAME, $idSite, $period, $date, $segment);
|
||||
|
||||
if ($typeReferrer !== false) // filter for a specific referrer type
|
||||
{
|
||||
$dataTable->filter('Pattern', array('label', $typeReferrer));
|
||||
}
|
||||
|
||||
// set subtable IDs for each row to the label (which holds the int referrer type)
|
||||
$dataTable->filter('Piwik\Plugins\Referrers\DataTable\Filter\SetGetReferrerTypeSubtables', array($idSite, $period, $date, $segment, $expanded));
|
||||
|
||||
$dataTable->filter('AddSegmentByLabelMapping', array(
|
||||
'referrerType',
|
||||
array(
|
||||
Common::REFERRER_TYPE_DIRECT_ENTRY => 'direct',
|
||||
Common::REFERRER_TYPE_CAMPAIGN => 'campaign',
|
||||
Common::REFERRER_TYPE_SEARCH_ENGINE => 'search',
|
||||
Common::REFERRER_TYPE_SOCIAL_NETWORK => 'social',
|
||||
Common::REFERRER_TYPE_WEBSITE => 'website',
|
||||
)
|
||||
));
|
||||
// set referrer type column to readable value
|
||||
$dataTable->queueFilter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getReferrerTypeLabel'));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
private function checkSingleSite($idSite, $method)
|
||||
{
|
||||
$idSites = Site::getIdSitesFromIdSitesString($idSite);
|
||||
|
||||
if (count($idSites) > 1) {
|
||||
throw new Exception("Referrers.$method with multiple sites is not supported (yet).");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a report that shows
|
||||
*/
|
||||
public function getAll($idSite, $period, $date, $segment = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$this->checkSingleSite($idSite, 'getAll');
|
||||
$dataTable = $this->getReferrerType($idSite, $period, $date, $segment, $typeReferrer = false, $idSubtable = false, $expanded = true);
|
||||
|
||||
if ($dataTable instanceof DataTable\Map) {
|
||||
throw new Exception("Referrers.getAll with multiple sites or dates is not supported (yet).");
|
||||
}
|
||||
|
||||
$dataTable = $dataTable->mergeSubtables($labelColumn = 'referer_type', $useMetadataColumn = true);
|
||||
$dataTable->queueFilter('ReplaceColumnNames');
|
||||
$dataTable->queueFilter('ReplaceSummaryRowLabel');
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getKeywords($idSite, $period, $date, $segment = false, $expanded = false, $flat = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$dataTable = Archive::createDataTableFromArchive(Archiver::KEYWORDS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, $flat);
|
||||
|
||||
if ($flat) {
|
||||
$dataTable->filterSubtables('Piwik\Plugins\Referrers\DataTable\Filter\SearchEnginesFromKeywordId', array($dataTable));
|
||||
} else {
|
||||
$dataTable->filter('AddSegmentValue');
|
||||
$dataTable->queueFilter('PrependSegment', array('referrerType==search;'));
|
||||
}
|
||||
|
||||
$dataTable->queueFilter('Piwik\Plugins\Referrers\DataTable\Filter\KeywordNotDefined');
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
const LABEL_KEYWORD_NOT_DEFINED = "";
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public static function getKeywordNotDefinedString()
|
||||
{
|
||||
return Piwik::translate('General_NotDefined', Piwik::translate('General_ColumnKeyword'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public static function getCleanKeyword($label)
|
||||
{
|
||||
return $label == self::LABEL_KEYWORD_NOT_DEFINED
|
||||
? self::getKeywordNotDefinedString()
|
||||
: $label;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated will be removed in Matomo 4.0.0
|
||||
*/
|
||||
public function getKeywordsForPageUrl($idSite, $period, $date, $url)
|
||||
{
|
||||
// Fetch the Top keywords for this page
|
||||
$segment = 'entryPageUrl==' . $url;
|
||||
$table = $this->getKeywords($idSite, $period, $date, $segment);
|
||||
$this->filterOutKeywordNotDefined($table);
|
||||
return $this->getLabelsFromTable($table);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated will be removed in Matomo 4.0.0
|
||||
*/
|
||||
public function getKeywordsForPageTitle($idSite, $period, $date, $title)
|
||||
{
|
||||
$segment = 'entryPageTitle==' . $title;
|
||||
$table = $this->getKeywords($idSite, $period, $date, $segment);
|
||||
$this->filterOutKeywordNotDefined($table);
|
||||
return $this->getLabelsFromTable($table);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DataTable $table
|
||||
*/
|
||||
private function filterOutKeywordNotDefined($table)
|
||||
{
|
||||
if ($table instanceof DataTable) {
|
||||
$row = $table->getRowIdFromLabel('');
|
||||
if ($row) {
|
||||
$table->deleteRow($row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function getLabelsFromTable($table)
|
||||
{
|
||||
$request = $_GET;
|
||||
$request['serialize'] = 0;
|
||||
|
||||
// Apply generic filters
|
||||
$response = new ResponseBuilder($format = 'original', $request);
|
||||
$table = $response->getResponse($table);
|
||||
|
||||
// If period=lastX we only keep the first resultset as we want to return a plain list
|
||||
if ($table instanceof DataTable\Map) {
|
||||
$tables = $table->getDataTables();
|
||||
$table = current($tables);
|
||||
}
|
||||
// Keep the response simple, only include keywords
|
||||
$keywords = $table->getColumn('label');
|
||||
return $keywords;
|
||||
}
|
||||
|
||||
public function getSearchEnginesFromKeywordId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$dataTable = $this->getDataTable(Archiver::KEYWORDS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
$keywords = $this->getKeywords($idSite, $period, $date, $segment);
|
||||
$keyword = $keywords->getRowFromIdSubDataTable($idSubtable)->getColumn('label');
|
||||
|
||||
$dataTable->filter('Piwik\Plugins\Referrers\DataTable\Filter\SearchEnginesFromKeywordId', array($keywords, $idSubtable));
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerName'));
|
||||
$dataTable->queueFilter('PrependSegment', array('referrerKeyword=='.$keyword.';referrerType==search;'));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getSearchEngines($idSite, $period, $date, $segment = false, $expanded = false, $flat = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$dataTable = Archive::createDataTableFromArchive(Archiver::SEARCH_ENGINES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, $flat);
|
||||
|
||||
if ($flat) {
|
||||
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'url', function ($url) { return SearchEngine::getInstance()->getUrlFromName($url); }));
|
||||
$dataTable->filter('MetadataCallbackAddMetadata', array('url', 'logo', function ($url) { return SearchEngine::getInstance()->getLogoFromUrl($url); }));
|
||||
$dataTable->filterSubtables('Piwik\Plugins\Referrers\DataTable\Filter\KeywordsFromSearchEngineId', array($dataTable));
|
||||
} else {
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerName'));
|
||||
$dataTable->queueFilter('PrependSegment', array('referrerType==search;'));
|
||||
$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', function ($url) { return SearchEngine::getInstance()->getUrlFromName($url); }));
|
||||
$dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', function ($url) { return SearchEngine::getInstance()->getLogoFromUrl($url); }));
|
||||
}
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getKeywordsFromSearchEngineId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$dataTable = $this->getDataTable(Archiver::SEARCH_ENGINES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
|
||||
// get the search engine and create the URL to the search result page
|
||||
$searchEngines = $this->getSearchEngines($idSite, $period, $date, $segment);
|
||||
$searchEngines->applyQueuedFilters();
|
||||
$searchEngine = $searchEngines->getRowFromIdSubDataTable($idSubtable)->getColumn('label');
|
||||
|
||||
$dataTable->filter('Piwik\Plugins\Referrers\DataTable\Filter\KeywordsFromSearchEngineId', array($searchEngines, $idSubtable));
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerKeyword'));
|
||||
$dataTable->queueFilter('PrependSegment', array('referrerName=='.$searchEngine.';referrerType==search;'));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getCampaigns($idSite, $period, $date, $segment = false, $expanded = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$dataTable = $this->getDataTable(Archiver::CAMPAIGNS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded);
|
||||
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerName'));
|
||||
$dataTable->queueFilter('PrependSegment', array('referrerType==campaign;'));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getKeywordsFromCampaignId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$campaigns = $this->getCampaigns($idSite, $period, $date, $segment);
|
||||
$campaigns->applyQueuedFilters();
|
||||
$campaign = $campaigns->getRowFromIdSubDataTable($idSubtable)->getColumn('label');
|
||||
|
||||
$dataTable = $this->getDataTable(Archiver::CAMPAIGNS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerKeyword'));
|
||||
$dataTable->queueFilter('PrependSegment', array('referrerName=='.$campaign.';referrerType==campaign;'));
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getWebsites($idSite, $period, $date, $segment = false, $expanded = false, $flat = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$dataTable = Archive::createDataTableFromArchive(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, $flat, $idSubtable = null);
|
||||
|
||||
if ($flat) {
|
||||
$dataTable->filterSubtables('Piwik\Plugins\Referrers\DataTable\Filter\UrlsFromWebsiteId');
|
||||
} else {
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerName'));
|
||||
}
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getUrlsFromWebsiteId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$dataTable = $this->getDataTable(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
$dataTable->filter('Piwik\Plugins\Referrers\DataTable\Filter\UrlsFromWebsiteId');
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerUrl'));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns report comparing the number of visits (and other info) for social network referrers.
|
||||
* This is a view of the getWebsites report.
|
||||
*
|
||||
* @param string $idSite
|
||||
* @param string $period
|
||||
* @param string $date
|
||||
* @param string|bool $segment
|
||||
* @param bool $expanded
|
||||
* @param bool $flat
|
||||
* @return DataTable
|
||||
*/
|
||||
public function getSocials($idSite, $period, $date, $segment = false, $expanded = false, $flat = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$dataTable = Archive::createDataTableFromArchive(Archiver::SOCIAL_NETWORKS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, $flat);
|
||||
|
||||
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'url', function ($name) {
|
||||
return Social::getInstance()->getMainUrlFromName($name);
|
||||
}));
|
||||
|
||||
$dataTable = $this->completeSocialTablesWithOldReports($dataTable, $idSite, $period, $date, $segment, $expanded, $flat);
|
||||
|
||||
$dataTable->filter('MetadataCallbackAddMetadata', array('url', 'logo', function ($url) { return Social::getInstance()->getLogoFromUrl($url); }));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
private function completeSocialTablesWithOldReports($dataTable, $idSite, $period, $date, $segment, $expanded, $flat)
|
||||
{
|
||||
return $this->combineDataTables($dataTable, function() use ($idSite, $period, $date, $segment, $expanded, $flat) {
|
||||
$dataTableFiltered = Archive::createDataTableFromArchive(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, false);
|
||||
|
||||
$this->filterWebsitesForSocials($dataTableFiltered, $idSite, $period, $date, $segment, $expanded, $flat);
|
||||
|
||||
return $dataTableFiltered;
|
||||
});
|
||||
}
|
||||
|
||||
protected function combineDataTables($dataTable, $callbackForAdditionalData)
|
||||
{
|
||||
$isMap = false;
|
||||
$hasEmptyTable = false;
|
||||
if ($dataTable instanceof DataTable\Map) {
|
||||
$isMap = true;
|
||||
$dataTables = $dataTable->getDataTables();
|
||||
} else {
|
||||
$dataTables = [$dataTable];
|
||||
}
|
||||
|
||||
foreach ($dataTables as $table) {
|
||||
if ($table instanceof DataTable && !$table->getRowsCountWithoutSummaryRow()) {
|
||||
$hasEmptyTable = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($hasEmptyTable) {
|
||||
|
||||
$dataTablesForCompletion = $callbackForAdditionalData();
|
||||
|
||||
if (!$isMap) {
|
||||
$dataTable = $dataTablesForCompletion;
|
||||
} else {
|
||||
$filteredTables = $dataTablesForCompletion->getDataTables();
|
||||
foreach ($dataTable as $label => $table) {
|
||||
if ($table instanceof DataTable && !$table->getRowsCountWithoutSummaryRow() && !empty($filteredTables[$label])) {
|
||||
$dataTable->addTable($filteredTables[$label], $label);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DataTable $dataTable
|
||||
*/
|
||||
protected function filterWebsitesForSocials($dataTable, $idSite, $period, $date, $segment, $expanded, $flat)
|
||||
{
|
||||
$dataTable->filter('ColumnCallbackDeleteRow', array('label', function ($url) {
|
||||
return !Social::getInstance()->isSocialUrl($url);
|
||||
}));
|
||||
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'url', function ($url) {
|
||||
return Social::getInstance()->getMainUrl($url);
|
||||
}));
|
||||
$dataTable->filter('GroupBy', array('label', function ($url) {
|
||||
return Social::getInstance()->getSocialNetworkFromDomain($url);
|
||||
}));
|
||||
|
||||
$this->setSocialIdSubtables($dataTable);
|
||||
$this->removeSubtableMetadata($dataTable);
|
||||
|
||||
if ($flat) {
|
||||
$this->buildExpandedTableForFlattenGetSocials($idSite, $period, $date, $segment, $expanded, $dataTable);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns report containing individual referrer URLs for a specific social networking
|
||||
* site.
|
||||
*
|
||||
* @param string $idSite
|
||||
* @param string $period
|
||||
* @param string $date
|
||||
* @param bool|string $segment
|
||||
* @param bool|int $idSubtable This ID does not reference a real DataTable record. Instead, it
|
||||
* is the array index of an item in the Socials list file.
|
||||
* The urls are filtered by the social network at this index.
|
||||
* If false, no filtering is done and every social URL is returned.
|
||||
* @return DataTable
|
||||
*/
|
||||
public function getUrlsForSocial($idSite, $period, $date, $segment = false, $idSubtable = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$dataTable = $this->getDataTable(Archiver::SOCIAL_NETWORKS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = true, $idSubtable);
|
||||
|
||||
if (!$idSubtable) {
|
||||
$dataTable = $dataTable->mergeSubtables();
|
||||
}
|
||||
|
||||
$dataTable = $this->combineDataTables($dataTable, function() use ($idSite, $period, $date, $segment, $idSubtable) {
|
||||
$dataTableFiltered = $this->getDataTable(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = true);
|
||||
|
||||
$socialNetworks = array_values(Social::getInstance()->getDefinitions());
|
||||
$social = isset($socialNetworks[$idSubtable - 1]) ? $socialNetworks[$idSubtable - 1] : false;
|
||||
|
||||
// filter out everything but social network indicated by $idSubtable
|
||||
$dataTableFiltered->filter(
|
||||
'ColumnCallbackDeleteRow',
|
||||
array('label',
|
||||
function ($url) use ($social) {
|
||||
return !Social::getInstance()->isSocialUrl($url, $social);
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
return $dataTableFiltered->mergeSubtables();
|
||||
});
|
||||
|
||||
$dataTable->filter('AddSegmentByLabel', array('referrerUrl'));
|
||||
$dataTable->filter('Piwik\Plugins\Referrers\DataTable\Filter\UrlsForSocial', array(true));
|
||||
$dataTable->queueFilter('ReplaceColumnNames');
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getNumberOfDistinctSearchEngines($idSite, $period, $date, $segment = false)
|
||||
{
|
||||
return $this->getNumeric(Archiver::METRIC_DISTINCT_SEARCH_ENGINE_RECORD_NAME, $idSite, $period, $date, $segment);
|
||||
}
|
||||
|
||||
public function getNumberOfDistinctSocialNetworks($idSite, $period, $date, $segment = false)
|
||||
{
|
||||
return $this->getNumeric(Archiver::METRIC_DISTINCT_SOCIAL_NETWORK_RECORD_NAME, $idSite, $period, $date, $segment);
|
||||
}
|
||||
|
||||
public function getNumberOfDistinctKeywords($idSite, $period, $date, $segment = false)
|
||||
{
|
||||
return $this->getNumeric(Archiver::METRIC_DISTINCT_KEYWORD_RECORD_NAME, $idSite, $period, $date, $segment);
|
||||
}
|
||||
|
||||
public function getNumberOfDistinctCampaigns($idSite, $period, $date, $segment = false)
|
||||
{
|
||||
return $this->getNumeric(Archiver::METRIC_DISTINCT_CAMPAIGN_RECORD_NAME, $idSite, $period, $date, $segment);
|
||||
}
|
||||
|
||||
public function getNumberOfDistinctWebsites($idSite, $period, $date, $segment = false)
|
||||
{
|
||||
return $this->getNumeric(Archiver::METRIC_DISTINCT_WEBSITE_RECORD_NAME, $idSite, $period, $date, $segment);
|
||||
}
|
||||
|
||||
public function getNumberOfDistinctWebsitesUrls($idSite, $period, $date, $segment = false)
|
||||
{
|
||||
return $this->getNumeric(Archiver::METRIC_DISTINCT_URLS_RECORD_NAME, $idSite, $period, $date, $segment);
|
||||
}
|
||||
|
||||
private function getNumeric($name, $idSite, $period, $date, $segment)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$archive = Archive::build($idSite, $period, $date, $segment);
|
||||
return $archive->getDataTableFromNumeric($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes idsubdatatable_in_db metadata from a DataTable. Used by Social tables since
|
||||
* they use fake subtable IDs.
|
||||
*
|
||||
* @param DataTable $dataTable
|
||||
*/
|
||||
private function removeSubtableMetadata($dataTable)
|
||||
{
|
||||
if ($dataTable instanceof DataTable\Map) {
|
||||
foreach ($dataTable->getDataTables() as $childTable) {
|
||||
$this->removeSubtableMetadata($childTable);
|
||||
}
|
||||
} else {
|
||||
foreach ($dataTable->getRows() as $row) {
|
||||
$row->deleteMetadata('idsubdatatable_in_db');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the subtable IDs for the DataTable returned by getSocial.
|
||||
*
|
||||
* The IDs are int indexes into the array in of defined socials.
|
||||
*
|
||||
* @param DataTable $dataTable
|
||||
*/
|
||||
private function setSocialIdSubtables($dataTable)
|
||||
{
|
||||
if ($dataTable instanceof DataTable\Map) {
|
||||
foreach ($dataTable->getDataTables() as $childTable) {
|
||||
$this->setSocialIdSubtables($childTable);
|
||||
}
|
||||
} else {
|
||||
foreach ($dataTable->getRows() as $row) {
|
||||
$socialName = $row->getColumn('label');
|
||||
|
||||
$i = 1; // start at one because idSubtable=0 is equivalent to idSubtable=false
|
||||
foreach (Social::getInstance()->getDefinitions() as $name) {
|
||||
if ($name == $socialName) {
|
||||
$row->setNonLoadedSubtableId($i);
|
||||
break;
|
||||
}
|
||||
|
||||
++$i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility function that removes the subtable IDs for the subtables of the
|
||||
* getReferrerType report. This avoids infinite recursion in said report (ie,
|
||||
* the grandchildren of the report will be the original report, and it will
|
||||
* recurse when trying to get a flat report).
|
||||
*
|
||||
* @param DataTable $table
|
||||
* @return DataTable Returns $table for convenience.
|
||||
*/
|
||||
private function removeSubtableIds($table)
|
||||
{
|
||||
if ($table instanceof DataTable\Map) {
|
||||
foreach ($table->getDataTables() as $childTable) {
|
||||
$this->removeSubtableIds($childTable);
|
||||
}
|
||||
} else {
|
||||
foreach ($table->getRows() as $row) {
|
||||
$row->removeSubtable();
|
||||
}
|
||||
}
|
||||
|
||||
return $table;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $idSite
|
||||
* @param string $period
|
||||
* @param string $date
|
||||
* @param string|false $segment
|
||||
* @param bool $expanded
|
||||
* @param DataTable $dataTable
|
||||
*/
|
||||
private function buildExpandedTableForFlattenGetSocials($idSite, $period, $date, $segment, $expanded, $dataTable)
|
||||
{
|
||||
$urlsTable = Archive::createDataTableFromArchive(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, $flat = true);
|
||||
$urlsTable->filter('ColumnCallbackDeleteRow', array('label', function ($url) {
|
||||
return !Social::getInstance()->isSocialUrl($url);
|
||||
}));
|
||||
$urlsTable = $urlsTable->mergeSubtables();
|
||||
|
||||
foreach ($dataTable->getRows() as $row) {
|
||||
$row->removeSubtable();
|
||||
|
||||
$social = $row->getColumn('label');
|
||||
$newTable = $urlsTable->getEmptyClone();
|
||||
|
||||
$rows = $urlsTable->getRows();
|
||||
foreach ($rows as $id => $urlsTableRow) {
|
||||
$url = $urlsTableRow->getColumn('label');
|
||||
if (Social::getInstance()->isSocialUrl($url, $social)) {
|
||||
$newTable->addRow($urlsTableRow);
|
||||
$urlsTable->deleteRow($id);
|
||||
}
|
||||
}
|
||||
|
||||
if ($newTable->getRowsCount()) {
|
||||
$newTable->filter('Piwik\Plugins\Referrers\DataTable\Filter\UrlsForSocial', array($expanded));
|
||||
$row->setSubtable($newTable);
|
||||
}
|
||||
}
|
||||
|
||||
Common::destroy($urlsTable);
|
||||
$urlsTable = null;
|
||||
}
|
||||
|
||||
}
|
294
msd2/tracking/piwik/plugins/Referrers/Archiver.php
Normal file
294
msd2/tracking/piwik/plugins/Referrers/Archiver.php
Normal file
@ -0,0 +1,294 @@
|
||||
<?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\Referrers;
|
||||
|
||||
use Exception;
|
||||
use Piwik\Common;
|
||||
use Piwik\Config;
|
||||
use Piwik\DataArray;
|
||||
use Piwik\Metrics;
|
||||
|
||||
class Archiver extends \Piwik\Plugin\Archiver
|
||||
{
|
||||
const SEARCH_ENGINES_RECORD_NAME = 'Referrers_keywordBySearchEngine';
|
||||
const SOCIAL_NETWORKS_RECORD_NAME = 'Referrers_urlBySocialNetwork';
|
||||
const KEYWORDS_RECORD_NAME = 'Referrers_searchEngineByKeyword';
|
||||
const CAMPAIGNS_RECORD_NAME = 'Referrers_keywordByCampaign';
|
||||
const WEBSITES_RECORD_NAME = 'Referrers_urlByWebsite';
|
||||
const REFERRER_TYPE_RECORD_NAME = 'Referrers_type';
|
||||
const METRIC_DISTINCT_SEARCH_ENGINE_RECORD_NAME = 'Referrers_distinctSearchEngines';
|
||||
const METRIC_DISTINCT_SOCIAL_NETWORK_RECORD_NAME = 'Referrers_distinctSocialNetworks';
|
||||
const METRIC_DISTINCT_KEYWORD_RECORD_NAME = 'Referrers_distinctKeywords';
|
||||
const METRIC_DISTINCT_CAMPAIGN_RECORD_NAME = 'Referrers_distinctCampaigns';
|
||||
const METRIC_DISTINCT_WEBSITE_RECORD_NAME = 'Referrers_distinctWebsites';
|
||||
const METRIC_DISTINCT_URLS_RECORD_NAME = 'Referrers_distinctWebsitesUrls';
|
||||
|
||||
protected $columnToSortByBeforeTruncation;
|
||||
protected $maximumRowsInDataTableLevelZero;
|
||||
protected $maximumRowsInSubDataTable;
|
||||
/**
|
||||
* @var DataArray[] $arrays
|
||||
*/
|
||||
protected $arrays = array();
|
||||
protected $distinctUrls = array();
|
||||
|
||||
function __construct($processor)
|
||||
{
|
||||
parent::__construct($processor);
|
||||
$this->columnToSortByBeforeTruncation = Metrics::INDEX_NB_VISITS;
|
||||
|
||||
// Reading pre 2.0 config file settings
|
||||
$this->maximumRowsInDataTableLevelZero = @Config::getInstance()->General['datatable_archiving_maximum_rows_referers'];
|
||||
$this->maximumRowsInSubDataTable = @Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_referers'];
|
||||
if (empty($this->maximumRowsInDataTableLevelZero)) {
|
||||
$this->maximumRowsInDataTableLevelZero = Config::getInstance()->General['datatable_archiving_maximum_rows_referrers'];
|
||||
$this->maximumRowsInSubDataTable = Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_referrers'];
|
||||
}
|
||||
}
|
||||
|
||||
public function aggregateDayReport()
|
||||
{
|
||||
foreach ($this->getRecordNames() as $record) {
|
||||
$this->arrays[$record] = new DataArray();
|
||||
}
|
||||
$this->aggregateFromVisits(array("referer_type", "referer_name", "referer_keyword", "referer_url"));
|
||||
$this->aggregateFromConversions(array("referer_type", "referer_name", "referer_keyword"));
|
||||
$this->insertDayReports();
|
||||
}
|
||||
|
||||
protected function getRecordNames()
|
||||
{
|
||||
return array(
|
||||
self::REFERRER_TYPE_RECORD_NAME,
|
||||
self::KEYWORDS_RECORD_NAME,
|
||||
self::SEARCH_ENGINES_RECORD_NAME,
|
||||
self::SOCIAL_NETWORKS_RECORD_NAME,
|
||||
self::WEBSITES_RECORD_NAME,
|
||||
self::CAMPAIGNS_RECORD_NAME,
|
||||
);
|
||||
}
|
||||
|
||||
protected function makeReferrerTypeNonEmpty(&$row)
|
||||
{
|
||||
if (empty($row['referer_type'])) {
|
||||
$row['referer_type'] = Common::REFERRER_TYPE_DIRECT_ENTRY;
|
||||
}
|
||||
}
|
||||
|
||||
protected function aggregateVisitRow($row)
|
||||
{
|
||||
switch ($row['referer_type']) {
|
||||
case Common::REFERRER_TYPE_SEARCH_ENGINE:
|
||||
if (empty($row['referer_keyword'])) {
|
||||
$row['referer_keyword'] = API::LABEL_KEYWORD_NOT_DEFINED;
|
||||
}
|
||||
$searchEnginesArray = $this->getDataArray(self::SEARCH_ENGINES_RECORD_NAME);
|
||||
$searchEnginesArray->sumMetricsVisits($row['referer_name'], $row);
|
||||
$searchEnginesArray->sumMetricsVisitsPivot($row['referer_name'], $row['referer_keyword'], $row);
|
||||
$keywordsDataArray = $this->getDataArray(self::KEYWORDS_RECORD_NAME);
|
||||
$keywordsDataArray->sumMetricsVisits($row['referer_keyword'], $row);
|
||||
$keywordsDataArray->sumMetricsVisitsPivot($row['referer_keyword'], $row['referer_name'], $row);
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_SOCIAL_NETWORK:
|
||||
$this->getDataArray(self::SOCIAL_NETWORKS_RECORD_NAME)->sumMetricsVisits($row['referer_name'], $row);
|
||||
$this->getDataArray(self::SOCIAL_NETWORKS_RECORD_NAME)->sumMetricsVisitsPivot($row['referer_name'], $row['referer_url'], $row);
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_WEBSITE:
|
||||
$this->getDataArray(self::WEBSITES_RECORD_NAME)->sumMetricsVisits($row['referer_name'], $row);
|
||||
$this->getDataArray(self::WEBSITES_RECORD_NAME)->sumMetricsVisitsPivot($row['referer_name'], $row['referer_url'], $row);
|
||||
|
||||
$urlHash = substr(md5($row['referer_url']), 0, 10);
|
||||
if (!isset($this->distinctUrls[$urlHash])) {
|
||||
$this->distinctUrls[$urlHash] = true;
|
||||
}
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_CAMPAIGN:
|
||||
if (!empty($row['referer_keyword'])) {
|
||||
$this->getDataArray(self::CAMPAIGNS_RECORD_NAME)->sumMetricsVisitsPivot($row['referer_name'], $row['referer_keyword'], $row);
|
||||
}
|
||||
$this->getDataArray(self::CAMPAIGNS_RECORD_NAME)->sumMetricsVisits($row['referer_name'], $row);
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_DIRECT_ENTRY:
|
||||
// direct entry are aggregated below in $this->metricsByType array
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Non expected referer_type = " . $row['referer_type']);
|
||||
break;
|
||||
}
|
||||
$this->getDataArray(self::REFERRER_TYPE_RECORD_NAME)->sumMetricsVisits($row['referer_type'], $row);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return DataArray
|
||||
*/
|
||||
protected function getDataArray($name)
|
||||
{
|
||||
return $this->arrays[$name];
|
||||
}
|
||||
|
||||
protected function aggregateFromConversions($dimensions)
|
||||
{
|
||||
$query = $this->getLogAggregator()->queryConversionsByDimension($dimensions);
|
||||
if ($query === false) {
|
||||
return;
|
||||
}
|
||||
while ($row = $query->fetch()) {
|
||||
$this->makeReferrerTypeNonEmpty($row);
|
||||
|
||||
$skipAggregateByType = $this->aggregateConversionRow($row);
|
||||
if (!$skipAggregateByType) {
|
||||
$this->getDataArray(self::REFERRER_TYPE_RECORD_NAME)->sumMetricsGoals($row['referer_type'], $row);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->arrays as $dataArray) {
|
||||
$dataArray->enrichMetricsWithConversions();
|
||||
}
|
||||
}
|
||||
|
||||
protected function aggregateConversionRow($row)
|
||||
{
|
||||
$skipAggregateByType = false;
|
||||
switch ($row['referer_type']) {
|
||||
case Common::REFERRER_TYPE_SEARCH_ENGINE:
|
||||
if (empty($row['referer_keyword'])) {
|
||||
$row['referer_keyword'] = API::LABEL_KEYWORD_NOT_DEFINED;
|
||||
}
|
||||
|
||||
$this->getDataArray(self::SEARCH_ENGINES_RECORD_NAME)->sumMetricsGoals($row['referer_name'], $row);
|
||||
$this->getDataArray(self::KEYWORDS_RECORD_NAME)->sumMetricsGoals($row['referer_keyword'], $row);
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_SOCIAL_NETWORK:
|
||||
$this->getDataArray(self::SOCIAL_NETWORKS_RECORD_NAME)->sumMetricsGoals($row['referer_name'], $row);
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_WEBSITE:
|
||||
$this->getDataArray(self::WEBSITES_RECORD_NAME)->sumMetricsGoals($row['referer_name'], $row);
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_CAMPAIGN:
|
||||
if (!empty($row['referer_keyword'])) {
|
||||
$this->getDataArray(self::CAMPAIGNS_RECORD_NAME)->sumMetricsGoalsPivot($row['referer_name'], $row['referer_keyword'], $row);
|
||||
}
|
||||
$this->getDataArray(self::CAMPAIGNS_RECORD_NAME)->sumMetricsGoals($row['referer_name'], $row);
|
||||
break;
|
||||
|
||||
case Common::REFERRER_TYPE_DIRECT_ENTRY:
|
||||
// Direct entry, no sub dimension
|
||||
break;
|
||||
|
||||
default:
|
||||
// The referer type is user submitted for goal conversions, we ignore any malformed value
|
||||
// Continue to the next while iteration
|
||||
$skipAggregateByType = true;
|
||||
break;
|
||||
}
|
||||
return $skipAggregateByType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Records the daily stats (numeric or datatable blob) into the archive tables.
|
||||
*/
|
||||
protected function insertDayReports()
|
||||
{
|
||||
$this->insertDayNumericMetrics();
|
||||
|
||||
// insert DataTable reports
|
||||
foreach ($this->getRecordNames() as $recordName) {
|
||||
$blob = $this->getDataArray($recordName)->asDataTable()->getSerialized($this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, $this->columnToSortByBeforeTruncation);
|
||||
$this->getProcessor()->insertBlobRecord($recordName, $blob);
|
||||
}
|
||||
}
|
||||
|
||||
protected function insertDayNumericMetrics()
|
||||
{
|
||||
$numericRecords = array(
|
||||
self::METRIC_DISTINCT_SEARCH_ENGINE_RECORD_NAME => count($this->getDataArray(self::SEARCH_ENGINES_RECORD_NAME)->getDataArray()),
|
||||
self::METRIC_DISTINCT_SOCIAL_NETWORK_RECORD_NAME => count($this->getDataArray(self::SOCIAL_NETWORKS_RECORD_NAME)->getDataArray()),
|
||||
self::METRIC_DISTINCT_KEYWORD_RECORD_NAME => count($this->getDataArray(self::KEYWORDS_RECORD_NAME)->getDataArray()),
|
||||
self::METRIC_DISTINCT_CAMPAIGN_RECORD_NAME => count($this->getDataArray(self::CAMPAIGNS_RECORD_NAME)->getDataArray()),
|
||||
self::METRIC_DISTINCT_WEBSITE_RECORD_NAME => count($this->getDataArray(self::WEBSITES_RECORD_NAME)->getDataArray()),
|
||||
self::METRIC_DISTINCT_URLS_RECORD_NAME => count($this->distinctUrls),
|
||||
);
|
||||
|
||||
$this->getProcessor()->insertNumericRecords($numericRecords);
|
||||
}
|
||||
|
||||
public function aggregateMultipleReports()
|
||||
{
|
||||
$dataTableToSum = $this->getRecordNames();
|
||||
$columnsAggregationOperation = null;
|
||||
$nameToCount = $this->getProcessor()->aggregateDataTableRecords(
|
||||
$dataTableToSum,
|
||||
$this->maximumRowsInDataTableLevelZero,
|
||||
$this->maximumRowsInSubDataTable,
|
||||
$this->columnToSortByBeforeTruncation,
|
||||
$columnsAggregationOperation,
|
||||
$columnsToRenameAfterAggregation = null,
|
||||
$countRowsRecursive = array(self::WEBSITES_RECORD_NAME)
|
||||
);
|
||||
|
||||
$mappingFromArchiveName = array(
|
||||
self::METRIC_DISTINCT_SEARCH_ENGINE_RECORD_NAME =>
|
||||
array('typeCountToUse' => 'level0',
|
||||
'nameTableToUse' => self::SEARCH_ENGINES_RECORD_NAME,
|
||||
),
|
||||
self::METRIC_DISTINCT_SOCIAL_NETWORK_RECORD_NAME =>
|
||||
array('typeCountToUse' => 'level0',
|
||||
'nameTableToUse' => self::SOCIAL_NETWORKS_RECORD_NAME,
|
||||
),
|
||||
self::METRIC_DISTINCT_KEYWORD_RECORD_NAME =>
|
||||
array('typeCountToUse' => 'level0',
|
||||
'nameTableToUse' => self::KEYWORDS_RECORD_NAME,
|
||||
),
|
||||
self::METRIC_DISTINCT_CAMPAIGN_RECORD_NAME =>
|
||||
array('typeCountToUse' => 'level0',
|
||||
'nameTableToUse' => self::CAMPAIGNS_RECORD_NAME,
|
||||
),
|
||||
self::METRIC_DISTINCT_WEBSITE_RECORD_NAME =>
|
||||
array('typeCountToUse' => 'level0',
|
||||
'nameTableToUse' => self::WEBSITES_RECORD_NAME,
|
||||
),
|
||||
self::METRIC_DISTINCT_URLS_RECORD_NAME =>
|
||||
array('typeCountToUse' => 'recursive',
|
||||
'nameTableToUse' => self::WEBSITES_RECORD_NAME,
|
||||
),
|
||||
);
|
||||
|
||||
foreach ($mappingFromArchiveName as $name => $infoMapping) {
|
||||
$nameTableToUse = $infoMapping['nameTableToUse'];
|
||||
|
||||
if ($infoMapping['typeCountToUse'] == 'recursive') {
|
||||
$countValue = $nameToCount[$nameTableToUse]['recursive'] - $nameToCount[$nameTableToUse]['level0'];
|
||||
} else {
|
||||
$countValue = $nameToCount[$nameTableToUse]['level0'];
|
||||
}
|
||||
$this->getProcessor()->insertNumericRecord($name, $countValue);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $fields
|
||||
*/
|
||||
private function aggregateFromVisits($fields)
|
||||
{
|
||||
$query = $this->getLogAggregator()->queryVisitsByDimension($fields);
|
||||
while ($row = $query->fetch()) {
|
||||
$this->makeReferrerTypeNonEmpty($row);
|
||||
$this->aggregateVisitRow($row);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class AllReferrersSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Referrers_Referrers';
|
||||
protected $id = 'Referrers_WidgetGetAll';
|
||||
protected $order = 5;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* Matomo - free/libre analytics platform
|
||||
*
|
||||
* @link https://matomo.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class CampaignUrlBuilderSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Referrers_Referrers';
|
||||
protected $id = 'Referrers_URLCampaignBuilder';
|
||||
protected $order = 21;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class CampaignsSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Referrers_Referrers';
|
||||
protected $id = 'Referrers_Campaigns';
|
||||
protected $order = 20;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
<?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\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Category;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class ReferrersCategory extends Category
|
||||
{
|
||||
protected $id = 'Referrers_Referrers';
|
||||
protected $order = 15;
|
||||
protected $icon = 'icon-reporting-referer';
|
||||
|
||||
public function getDisplayName()
|
||||
{
|
||||
return Piwik::translate('Referrers_Acquisition');
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class ReferrersOverviewSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Referrers_Referrers';
|
||||
protected $id = 'General_Overview';
|
||||
protected $order = 2;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class SearchEnginesSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Referrers_Referrers';
|
||||
protected $id = 'Referrers_SubmenuSearchEngines';
|
||||
protected $order = 10;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class SocialsSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Referrers_Referrers';
|
||||
protected $id = 'Referrers_Socials';
|
||||
protected $order = 16;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Referrers\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class WebsitesSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Referrers_Referrers';
|
||||
protected $id = 'Referrers_SubmenuWebsitesOnly';
|
||||
protected $order = 15;
|
||||
|
||||
}
|
605
msd2/tracking/piwik/plugins/Referrers/Columns/Base.php
Normal file
605
msd2/tracking/piwik/plugins/Referrers/Columns/Base.php
Normal file
@ -0,0 +1,605 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\Dimension\VisitDimension;
|
||||
use Piwik\Plugins\Referrers\SearchEngine as SearchEngineDetection;
|
||||
use Piwik\Plugins\Referrers\Social as SocialNetworkDetection;
|
||||
use Piwik\Plugins\SitesManager\SiteUrls;
|
||||
use Piwik\Tracker\Cache;
|
||||
use Piwik\Tracker\PageUrl;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\Visitor;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\UrlHelper;
|
||||
|
||||
abstract class Base extends VisitDimension
|
||||
{
|
||||
|
||||
// @see detect*() referrer methods
|
||||
protected $typeReferrerAnalyzed;
|
||||
protected $nameReferrerAnalyzed;
|
||||
protected $keywordReferrerAnalyzed;
|
||||
protected $referrerHost;
|
||||
protected $referrerUrl;
|
||||
protected $referrerUrlParse;
|
||||
protected $currentUrlParse;
|
||||
protected $idsite;
|
||||
|
||||
// Used to prefix when a adsense referrer is detected
|
||||
const LABEL_PREFIX_ADWORDS_KEYWORD = '(adwords) ';
|
||||
const LABEL_ADWORDS_NAME = 'AdWords';
|
||||
|
||||
/**
|
||||
* Returns an array containing the following information:
|
||||
* - referer_type
|
||||
* - direct -- absence of referrer URL OR referrer URL has the same host
|
||||
* - site -- based on the referrer URL
|
||||
* - search_engine -- based on the referrer URL
|
||||
* - campaign -- based on campaign URL parameter
|
||||
*
|
||||
* - referer_name
|
||||
* - ()
|
||||
* - piwik.net -- site host name
|
||||
* - google.fr -- search engine host name
|
||||
* - adwords-search -- campaign name
|
||||
*
|
||||
* - referer_keyword
|
||||
* - ()
|
||||
* - ()
|
||||
* - my keyword
|
||||
* - my paid keyword
|
||||
* - ()
|
||||
* - ()
|
||||
*
|
||||
* - referer_url : the same for all the referrer types
|
||||
*
|
||||
* @param string $referrerUrl must be URL Encoded
|
||||
* @param string $currentUrl
|
||||
* @param int $idSite
|
||||
* @return array
|
||||
*/
|
||||
protected function getReferrerInformation($referrerUrl, $currentUrl, $idSite, Request $request, Visitor $visitor)
|
||||
{
|
||||
$this->idsite = $idSite;
|
||||
|
||||
// default values for the referer_* fields
|
||||
$referrerUrl = Common::unsanitizeInputValue($referrerUrl);
|
||||
if (!empty($referrerUrl)
|
||||
&& !UrlHelper::isLookLikeUrl($referrerUrl)
|
||||
) {
|
||||
$referrerUrl = '';
|
||||
}
|
||||
|
||||
$currentUrl = PageUrl::cleanupUrl($currentUrl);
|
||||
|
||||
$this->referrerUrl = $referrerUrl;
|
||||
$this->referrerUrlParse = @parse_url($this->referrerUrl);
|
||||
$this->currentUrlParse = @parse_url($currentUrl);
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_DIRECT_ENTRY;
|
||||
$this->nameReferrerAnalyzed = '';
|
||||
$this->keywordReferrerAnalyzed = '';
|
||||
$this->referrerHost = '';
|
||||
|
||||
if (isset($this->referrerUrlParse['host'])) {
|
||||
$this->referrerHost = $this->referrerUrlParse['host'];
|
||||
}
|
||||
|
||||
$referrerDetected = $this->detectReferrerCampaign($request, $visitor);
|
||||
|
||||
if (!$referrerDetected) {
|
||||
if ($this->detectReferrerDirectEntry()
|
||||
|| $this->detectReferrerSearchEngine()
|
||||
|| $this->detectReferrerSocialNetwork()
|
||||
) {
|
||||
$referrerDetected = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$referrerDetected && !empty($this->referrerHost)) {
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_WEBSITE;
|
||||
$this->nameReferrerAnalyzed = Common::mb_strtolower($this->referrerHost);
|
||||
|
||||
$urlsByHost = $this->getCachedUrlsByHostAndIdSite();
|
||||
|
||||
$directEntry = new SiteUrls();
|
||||
$path = $directEntry->getPathMatchingUrl($this->referrerUrlParse, $urlsByHost);
|
||||
if (!empty($path) && $path !== '/') {
|
||||
$this->nameReferrerAnalyzed .= rtrim($path, '/');
|
||||
}
|
||||
}
|
||||
|
||||
$referrerInformation = array(
|
||||
'referer_type' => $this->typeReferrerAnalyzed,
|
||||
'referer_name' => $this->nameReferrerAnalyzed,
|
||||
'referer_keyword' => $this->keywordReferrerAnalyzed,
|
||||
'referer_url' => $this->referrerUrl,
|
||||
);
|
||||
|
||||
if (!empty($referrerInformation['referer_name'])) {
|
||||
$referrerInformation['referer_name'] = $this->truncateReferrerName($referrerInformation['referer_name']);
|
||||
}
|
||||
|
||||
if (!empty($referrerInformation['referer_keyword'])) {
|
||||
$referrerInformation['referer_keyword'] = $this->truncateReferrerKeyword($referrerInformation['referer_keyword']);
|
||||
}
|
||||
|
||||
return $referrerInformation;
|
||||
}
|
||||
|
||||
protected function getReferrerInformationFromRequest(Request $request, Visitor $visitor)
|
||||
{
|
||||
$referrerUrl = $request->getParam('urlref');
|
||||
$currentUrl = $request->getParam('url');
|
||||
|
||||
return $this->getReferrerInformation($referrerUrl, $currentUrl, $request->getIdSite(), $request, $visitor);
|
||||
}
|
||||
|
||||
/**
|
||||
* Search engine detection
|
||||
* @return bool
|
||||
*/
|
||||
protected function detectReferrerSearchEngine()
|
||||
{
|
||||
$cache = \Piwik\Cache::getTransientCache();
|
||||
$cacheKey = 'cachedReferrerSearchEngine';
|
||||
|
||||
$cachedReferrerSearchEngine = [];
|
||||
if ($cache->contains($cacheKey)) {
|
||||
$cachedReferrerSearchEngine = $cache->fetch($cacheKey);
|
||||
}
|
||||
|
||||
if (isset($cachedReferrerSearchEngine[$this->referrerUrl])) {
|
||||
$searchEngineInformation = $cachedReferrerSearchEngine[$this->referrerUrl];
|
||||
} else {
|
||||
$searchEngineInformation = SearchEngineDetection::getInstance()->extractInformationFromUrl($this->referrerUrl);
|
||||
|
||||
/**
|
||||
* Triggered when detecting the search engine of a referrer URL.
|
||||
*
|
||||
* Plugins can use this event to provide custom search engine detection
|
||||
* logic.
|
||||
*
|
||||
* @param array &$searchEngineInformation An array with the following information:
|
||||
*
|
||||
* - **name**: The search engine name.
|
||||
* - **keywords**: The search keywords used.
|
||||
*
|
||||
* This parameter is initialized to the results
|
||||
* of Piwik's default search engine detection
|
||||
* logic.
|
||||
* @param string referrerUrl The referrer URL from the tracking request.
|
||||
*/
|
||||
Piwik::postEvent('Tracker.detectReferrerSearchEngine', array(&$searchEngineInformation, $this->referrerUrl));
|
||||
|
||||
$cachedReferrerSearchEngine[$this->referrerUrl] = $searchEngineInformation;
|
||||
$cache->save($cacheKey, $cachedReferrerSearchEngine);
|
||||
}
|
||||
|
||||
if ($searchEngineInformation === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_SEARCH_ENGINE;
|
||||
$this->nameReferrerAnalyzed = $searchEngineInformation['name'];
|
||||
$this->keywordReferrerAnalyzed = $searchEngineInformation['keywords'];
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Social network detection
|
||||
* @return bool
|
||||
*/
|
||||
protected function detectReferrerSocialNetwork()
|
||||
{
|
||||
$cache = \Piwik\Cache::getTransientCache();
|
||||
$cacheKey = 'cachedReferrerSocialNetworks';
|
||||
|
||||
$cachedReferrerSocialNetworks = [];
|
||||
if ($cache->contains($cacheKey)) {
|
||||
$cachedReferrerSocialNetworks = $cache->fetch($cacheKey);
|
||||
}
|
||||
|
||||
$socialNetworkName = false;
|
||||
if (isset($cachedReferrerSocialNetworks[$this->referrerUrl])) {
|
||||
$socialNetworkName = $cachedReferrerSocialNetworks[$this->referrerUrl];
|
||||
} else {
|
||||
if (SocialNetworkDetection::getInstance()->isSocialUrl($this->referrerUrl)) {
|
||||
$socialNetworkName = SocialNetworkDetection::getInstance()->getSocialNetworkFromDomain($this->referrerUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggered when detecting the social network of a referrer URL.
|
||||
*
|
||||
* Plugins can use this event to provide custom social network detection
|
||||
* logic.
|
||||
*
|
||||
* @param string|false &$socialNetworkName Name of the social network, or false if none detected
|
||||
*
|
||||
* This parameter is initialized to the results
|
||||
* of Matomo's default social network detection
|
||||
* logic.
|
||||
* @param string referrerUrl The referrer URL from the tracking request.
|
||||
*/
|
||||
Piwik::postEvent('Tracker.detectReferrerSocialNetwork', array(&$socialNetworkName, $this->referrerUrl));
|
||||
|
||||
$cachedReferrerSocialNetworks[$this->referrerUrl] = $socialNetworkName;
|
||||
$cache->save($cacheKey, $cachedReferrerSocialNetworks);
|
||||
}
|
||||
|
||||
if ($socialNetworkName === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_SOCIAL_NETWORK;
|
||||
$this->nameReferrerAnalyzed = $socialNetworkName;
|
||||
$this->keywordReferrerAnalyzed = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $string
|
||||
* @return bool
|
||||
*/
|
||||
protected function detectCampaignFromString($string)
|
||||
{
|
||||
foreach ($this->campaignNames as $campaignNameParameter) {
|
||||
$campaignName = trim(urldecode(UrlHelper::getParameterFromQueryString($string, $campaignNameParameter)));
|
||||
if (!empty($campaignName)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($campaignName)) {
|
||||
return false;
|
||||
}
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_CAMPAIGN;
|
||||
$this->nameReferrerAnalyzed = $campaignName;
|
||||
|
||||
foreach ($this->campaignKeywords as $campaignKeywordParameter) {
|
||||
$campaignKeyword = UrlHelper::getParameterFromQueryString($string, $campaignKeywordParameter);
|
||||
if (!empty($campaignKeyword)) {
|
||||
$this->keywordReferrerAnalyzed = trim(urldecode($campaignKeyword));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return !empty($this->keywordReferrerAnalyzed);
|
||||
}
|
||||
|
||||
protected function detectReferrerCampaignFromLandingUrl()
|
||||
{
|
||||
if (!isset($this->currentUrlParse['query'])
|
||||
&& !isset($this->currentUrlParse['fragment'])
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
$campaignParameters = Common::getCampaignParameters();
|
||||
$this->campaignNames = $campaignParameters[0];
|
||||
$this->campaignKeywords = $campaignParameters[1];
|
||||
|
||||
$found = false;
|
||||
|
||||
// 1) Detect campaign from query string
|
||||
if (isset($this->currentUrlParse['query'])) {
|
||||
$found = $this->detectCampaignFromString($this->currentUrlParse['query']);
|
||||
}
|
||||
|
||||
// 2) Detect from fragment #hash
|
||||
if (!$found
|
||||
&& isset($this->currentUrlParse['fragment'])
|
||||
) {
|
||||
$this->detectCampaignFromString($this->currentUrlParse['fragment']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function detectReferrerCampaignFromTrackerParams(Request $request)
|
||||
{
|
||||
$campaignName = $this->getReferrerCampaignQueryParam($request, '_rcn');
|
||||
if (empty($campaignName)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_CAMPAIGN;
|
||||
$this->nameReferrerAnalyzed = $campaignName;
|
||||
|
||||
$keyword = $this->getReferrerCampaignQueryParam($request, '_rck');
|
||||
if (!empty($keyword)) {
|
||||
$this->keywordReferrerAnalyzed = $keyword;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private function getCachedUrlsByHostAndIdSite()
|
||||
{
|
||||
$cache = Cache::getCacheGeneral();
|
||||
|
||||
if (!empty($cache['allUrlsByHostAndIdSite'])) {
|
||||
return $cache['allUrlsByHostAndIdSite'];
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* We have previously tried to detect the campaign variables in the URL
|
||||
* so at this stage, if the referrer host is the current host,
|
||||
* or if the referrer host is any of the registered URL for this website,
|
||||
* it is considered a direct entry
|
||||
* @return bool
|
||||
*/
|
||||
protected function detectReferrerDirectEntry()
|
||||
{
|
||||
if (empty($this->referrerHost)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$urlsByHost = $this->getCachedUrlsByHostAndIdSite();
|
||||
|
||||
$directEntry = new SiteUrls();
|
||||
$matchingSites = $directEntry->getIdSitesMatchingUrl($this->referrerUrlParse, $urlsByHost);
|
||||
|
||||
if (isset($matchingSites) && is_array($matchingSites) && in_array($this->idsite, $matchingSites)) {
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_DIRECT_ENTRY;
|
||||
return true;
|
||||
} elseif (isset($matchingSites)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$site = Cache::getCacheWebsiteAttributes($this->idsite);
|
||||
$excludeUnknowns = $site['exclude_unknown_urls'];
|
||||
|
||||
// fallback logic if the referrer domain is not known to any site to not break BC
|
||||
if (!$excludeUnknowns && isset($this->currentUrlParse['host'])) {
|
||||
// this might be actually buggy if first thing tracked is eg an outlink and referrer is from that site
|
||||
$currentHost = Common::mb_strtolower($this->currentUrlParse['host']);
|
||||
if ($currentHost == Common::mb_strtolower($this->referrerHost)) {
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_DIRECT_ENTRY;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function detectCampaignKeywordFromReferrerUrl()
|
||||
{
|
||||
if (!empty($this->nameReferrerAnalyzed)
|
||||
&& !empty($this->keywordReferrerAnalyzed)) {
|
||||
// keyword is already set, we skip
|
||||
return true;
|
||||
}
|
||||
|
||||
// Set the Campaign keyword to the keyword found in the Referrer URL if any
|
||||
if (!empty($this->nameReferrerAnalyzed)) {
|
||||
$referrerUrlInfo = SearchEngineDetection::getInstance()->extractInformationFromUrl($this->referrerUrl);
|
||||
if (!empty($referrerUrlInfo['keywords'])) {
|
||||
$this->keywordReferrerAnalyzed = $referrerUrlInfo['keywords'];
|
||||
}
|
||||
}
|
||||
|
||||
// Set the keyword, to the hostname found, in a Adsense Referrer URL '&url=' parameter
|
||||
if (empty($this->keywordReferrerAnalyzed)
|
||||
&& !empty($this->referrerUrlParse['query'])
|
||||
&& !empty($this->referrerHost)
|
||||
&& (strpos($this->referrerHost, 'googleads') !== false || strpos($this->referrerHost, 'doubleclick') !== false)
|
||||
) {
|
||||
// This parameter sometimes is found & contains the page with the adsense ad bringing visitor to our site
|
||||
$value = $this->getParameterValueFromReferrerUrl('url');
|
||||
if (!empty($value)) {
|
||||
$parsedAdsenseReferrerUrl = parse_url($value);
|
||||
if (!empty($parsedAdsenseReferrerUrl['host'])) {
|
||||
|
||||
if (empty($this->nameReferrerAnalyzed)) {
|
||||
$type = $this->getParameterValueFromReferrerUrl('ad_type');
|
||||
$type = $type ? " ($type)" : '';
|
||||
$this->nameReferrerAnalyzed = self::LABEL_ADWORDS_NAME . $type;
|
||||
$this->typeReferrerAnalyzed = Common::REFERRER_TYPE_CAMPAIGN;
|
||||
}
|
||||
$this->keywordReferrerAnalyzed = self::LABEL_PREFIX_ADWORDS_KEYWORD . $parsedAdsenseReferrerUrl['host'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function getParameterValueFromReferrerUrl($adsenseReferrerParameter)
|
||||
{
|
||||
$value = trim(urldecode(UrlHelper::getParameterFromQueryString($this->referrerUrlParse['query'], $adsenseReferrerParameter)));
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function detectReferrerCampaign(Request $request, Visitor $visitor)
|
||||
{
|
||||
$isCampaign = $this->detectReferrerCampaignFromTrackerParams($request);
|
||||
if (!$isCampaign) {
|
||||
$this->detectReferrerCampaignFromLandingUrl();
|
||||
}
|
||||
|
||||
$this->detectCampaignKeywordFromReferrerUrl();
|
||||
|
||||
$referrerNameAnalayzed = Common::mb_strtolower($this->nameReferrerAnalyzed);
|
||||
$referrerNameAnalayzed = $this->truncateReferrerName($referrerNameAnalayzed);
|
||||
|
||||
$isCurrentVisitACampaignWithSameName = Common::mb_strtolower($visitor->getVisitorColumn('referer_name')) == $referrerNameAnalayzed;
|
||||
$isCurrentVisitACampaignWithSameName = $isCurrentVisitACampaignWithSameName && $visitor->getVisitorColumn('referer_type') == Common::REFERRER_TYPE_CAMPAIGN;
|
||||
|
||||
// if we detected a campaign but there is still no keyword set, we set the keyword to the Referrer host
|
||||
if (empty($this->keywordReferrerAnalyzed)) {
|
||||
if ($isCurrentVisitACampaignWithSameName) {
|
||||
$this->keywordReferrerAnalyzed = $visitor->getVisitorColumn('referer_keyword');
|
||||
// it is an existing visit and no referrer keyword was used initially (or a different host),
|
||||
// we do not use the default referrer host in this case as it would create a new visit. It would create
|
||||
// a new visit because initially the referrer keyword was not set (or from a different host) and now
|
||||
// we would set it suddenly. The changed keyword would be recognized as a campaign change and a new
|
||||
// visit would be forced. Why would it suddenly set a keyword but not do it initially?
|
||||
// This happens when on the first visit when the URL was opened directly (no referrer or different host)
|
||||
// and then the user navigates to another page where the referrer host becomes the own host
|
||||
// (referrer = own website) see https://github.com/piwik/piwik/issues/9299
|
||||
} else {
|
||||
$this->keywordReferrerAnalyzed = $this->referrerHost;
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->typeReferrerAnalyzed != Common::REFERRER_TYPE_CAMPAIGN) {
|
||||
$this->keywordReferrerAnalyzed = null;
|
||||
$this->nameReferrerAnalyzed = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->keywordReferrerAnalyzed = Common::mb_strtolower($this->keywordReferrerAnalyzed);
|
||||
$this->nameReferrerAnalyzed = Common::mb_strtolower($this->nameReferrerAnalyzed);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function getValueForRecordGoal(Request $request, Visitor $visitor)
|
||||
{
|
||||
$referrerUrl = $request->getParam('_ref');
|
||||
$referrerCampaignName = $this->getReferrerCampaignQueryParam($request, '_rcn');
|
||||
$referrerCampaignKeyword = $this->getReferrerCampaignQueryParam($request, '_rck');
|
||||
|
||||
// Attributing the correct Referrer to this conversion.
|
||||
// Priority order is as follows:
|
||||
// 0) In some cases, the campaign is not passed from the JS so we look it up from the current visit
|
||||
// 1) Campaign name/kwd parsed in the JS
|
||||
// 2) Referrer URL stored in the _ref cookie
|
||||
// 3) If no info from the cookie, attribute to the current visit referrer
|
||||
|
||||
|
||||
Common::printDebug("Attributing a referrer to this Goal...");
|
||||
|
||||
// 3) Default values: current referrer
|
||||
$type = $visitor->getVisitorColumn('referer_type');
|
||||
$name = $visitor->getVisitorColumn('referer_name');
|
||||
$keyword = $visitor->getVisitorColumn('referer_keyword');
|
||||
|
||||
// 0) In some (unknown!?) cases the campaign is not found in the attribution cookie, but the URL ref was found.
|
||||
// In this case we look up if the current visit is credited to a campaign and will credit this campaign rather than the URL ref (since campaigns have higher priority)
|
||||
if (empty($referrerCampaignName)
|
||||
&& $type == Common::REFERRER_TYPE_CAMPAIGN
|
||||
&& !empty($name)
|
||||
) {
|
||||
// Use default values per above
|
||||
Common::printDebug("Invalid Referrer information found: current visitor seems to have used a campaign, but campaign name was not found in the request.");
|
||||
} // 1) Campaigns from 1st party cookie
|
||||
elseif (!empty($referrerCampaignName)) {
|
||||
$type = Common::REFERRER_TYPE_CAMPAIGN;
|
||||
$name = $referrerCampaignName;
|
||||
$keyword = $referrerCampaignKeyword;
|
||||
Common::printDebug("Campaign information from 1st party cookie is used.");
|
||||
} // 2) Referrer URL parsing
|
||||
elseif (!empty($referrerUrl)) {
|
||||
|
||||
$idSite = $request->getIdSite();
|
||||
$referrer = $this->getReferrerInformation($referrerUrl, $currentUrl = '', $idSite, $request, $visitor);
|
||||
|
||||
// if the parsed referrer is interesting enough, ie. website, social network or search engine
|
||||
if (in_array($referrer['referer_type'], array(Common::REFERRER_TYPE_SEARCH_ENGINE, Common::REFERRER_TYPE_WEBSITE, Common::REFERRER_TYPE_SOCIAL_NETWORK))) {
|
||||
$type = $referrer['referer_type'];
|
||||
$name = $referrer['referer_name'];
|
||||
$keyword = $referrer['referer_keyword'];
|
||||
|
||||
Common::printDebug("Referrer URL (search engine, social network or website) is used.");
|
||||
} else {
|
||||
Common::printDebug("No referrer attribution found for this user. Current user's visit referrer is used.");
|
||||
}
|
||||
} else {
|
||||
Common::printDebug("No referrer attribution found for this user. Current user's visit referrer is used.");
|
||||
}
|
||||
|
||||
$this->setCampaignValuesToLowercase($type, $name, $keyword);
|
||||
|
||||
$fields = array(
|
||||
'referer_type' => $type,
|
||||
'referer_name' => $name,
|
||||
'referer_keyword' => $keyword,
|
||||
);
|
||||
|
||||
if (array_key_exists($this->columnName, $fields)) {
|
||||
return $fields[$this->columnName];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $type
|
||||
* @param $name
|
||||
* @param $keyword
|
||||
*/
|
||||
protected function setCampaignValuesToLowercase($type, &$name, &$keyword)
|
||||
{
|
||||
if ($type === Common::REFERRER_TYPE_CAMPAIGN) {
|
||||
if (!empty($name)) {
|
||||
$name = Common::mb_strtolower($name);
|
||||
}
|
||||
if (!empty($keyword)) {
|
||||
$keyword = Common::mb_strtolower($keyword);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function isReferrerInformationNew(Visitor $visitor, $information)
|
||||
{
|
||||
foreach (array('referer_keyword', 'referer_name', 'referer_type') as $infoName) {
|
||||
if ($this->hasReferrerColumnChanged($visitor, $information, $infoName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function hasReferrerColumnChanged(Visitor $visitor, $information, $infoName)
|
||||
{
|
||||
$existing = Common::mb_strtolower($visitor->getVisitorColumn($infoName));
|
||||
$new = Common::mb_strtolower($information[$infoName]);
|
||||
|
||||
$result = $existing != $new;
|
||||
if ($result) {
|
||||
Common::printDebug("Referrers\Base::isReferrerInformationNew: detected change in $infoName ('$existing' != '$new').");
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
protected function doesLastActionHaveSameReferrer(Visitor $visitor, $referrerType)
|
||||
{
|
||||
return $visitor->getVisitorColumn('referer_type') == $referrerType;
|
||||
}
|
||||
|
||||
protected function getReferrerCampaignQueryParam(Request $request, $paramName)
|
||||
{
|
||||
return trim(urldecode($request->getParam($paramName)));
|
||||
}
|
||||
|
||||
private function truncateReferrerName($name)
|
||||
{
|
||||
return Common::mb_substr($name, 0, 70);
|
||||
}
|
||||
|
||||
private function truncateReferrerKeyword($refererKeyword)
|
||||
{
|
||||
return Common::mb_substr($refererKeyword, 0, 255);
|
||||
}
|
||||
}
|
61
msd2/tracking/piwik/plugins/Referrers/Columns/Campaign.php
Normal file
61
msd2/tracking/piwik/plugins/Referrers/Columns/Campaign.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\TrackerConfig;
|
||||
use Piwik\Tracker\Visitor;
|
||||
|
||||
class Campaign extends Base
|
||||
{
|
||||
/**
|
||||
* Obtained from the `[Tracker] create_new_visit_when_campaign_changes` INI config option.
|
||||
* If true, will create new visits when campaign name changes.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $createNewVisitWhenCampaignChanges;
|
||||
protected $nameSingular = 'Referrers_ColumnCampaign';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->createNewVisitWhenCampaignChanges = TrackerConfig::getConfigValue('create_new_visit_when_campaign_changes') == 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* If we should create a new visit when the campaign changes, check if the campaign info changed and if so
|
||||
* force the tracker to create a new visit.i
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return bool
|
||||
*/
|
||||
public function shouldForceNewVisit(Request $request, Visitor $visitor, Action $action = null)
|
||||
{
|
||||
if (!$this->createNewVisitWhenCampaignChanges) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$information = $this->getReferrerInformationFromRequest($request, $visitor);
|
||||
|
||||
if ($information['referer_type'] == Common::REFERRER_TYPE_CAMPAIGN
|
||||
&& $this->isReferrerInformationNew($visitor, $information)
|
||||
) {
|
||||
Common::printDebug("Existing visit detected, but creating new visit because campaign information is different than last action.");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
49
msd2/tracking/piwik/plugins/Referrers/Columns/Keyword.php
Normal file
49
msd2/tracking/piwik/plugins/Referrers/Columns/Keyword.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\Visitor;
|
||||
use Piwik\Tracker\Action;
|
||||
|
||||
class Keyword extends Base
|
||||
{
|
||||
protected $columnName = 'referer_keyword';
|
||||
protected $columnType = 'VARCHAR(255) NULL';
|
||||
protected $nameSingular = 'General_ColumnKeyword';
|
||||
protected $namePlural = 'Referrers_Keywords';
|
||||
protected $segmentName = 'referrerKeyword';
|
||||
protected $acceptValues = 'Encoded%20Keyword, keyword';
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $category = 'Referrers_Referrers';
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onNewVisit(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
$information = $this->getReferrerInformationFromRequest($request, $visitor);
|
||||
return $information['referer_keyword'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onAnyGoalConversion(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
return $this->getValueForRecordGoal($request, $visitor);
|
||||
}
|
||||
}
|
18
msd2/tracking/piwik/plugins/Referrers/Columns/Referrer.php
Normal file
18
msd2/tracking/piwik/plugins/Referrers/Columns/Referrer.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class Referrer extends Dimension
|
||||
{
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $nameSingular = 'Referrers_Referrer';
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\Visitor;
|
||||
use Piwik\Tracker\Action;
|
||||
|
||||
class ReferrerName extends Base
|
||||
{
|
||||
protected $columnName = 'referer_name';
|
||||
protected $columnType = 'VARCHAR(70) NULL';
|
||||
protected $type = self::TYPE_TEXT;
|
||||
|
||||
protected $nameSingular = 'Referrers_ReferrerName';
|
||||
protected $namePlural = 'Referrers_ReferrerNames';
|
||||
protected $segmentName = 'referrerName';
|
||||
protected $acceptValues = 'twitter.com, www.facebook.com, Bing, Google, Yahoo, CampaignName';
|
||||
protected $category = 'Referrers_Referrers';
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onNewVisit(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
$information = $this->getReferrerInformationFromRequest($request, $visitor);
|
||||
return $information['referer_name'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onAnyGoalConversion(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
return $this->getValueForRecordGoal($request, $visitor);
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\Visitor;
|
||||
use Piwik\Tracker\Action;
|
||||
|
||||
class ReferrerType extends Base
|
||||
{
|
||||
protected $columnName = 'referer_type';
|
||||
protected $columnType = 'TINYINT(1) UNSIGNED NULL';
|
||||
protected $type = self::TYPE_ENUM;
|
||||
protected $segmentName = 'referrerType';
|
||||
protected $nameSingular = 'Referrers_Type';
|
||||
protected $namePlural = 'Referrers_ReferrerTypes';
|
||||
protected $sqlFilterValue = 'Piwik\Plugins\Referrers\getReferrerTypeFromShortName';
|
||||
protected $acceptValues = 'direct, search, website, campaign';
|
||||
protected $category = 'Referrers_Referrers';
|
||||
|
||||
public function formatValue($value, $idSite, Formatter $formatter)
|
||||
{
|
||||
return \Piwik\Plugins\Referrers\getReferrerTypeLabel($value);
|
||||
}
|
||||
|
||||
public function getEnumColumnValues()
|
||||
{
|
||||
return array(
|
||||
Common::REFERRER_TYPE_DIRECT_ENTRY => 'direct',
|
||||
Common::REFERRER_TYPE_WEBSITE => 'website',
|
||||
Common::REFERRER_TYPE_SEARCH_ENGINE => 'search',
|
||||
Common::REFERRER_TYPE_SOCIAL_NETWORK => 'social',
|
||||
Common::REFERRER_TYPE_CAMPAIGN => 'campaign',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onNewVisit(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
$information = $this->getReferrerInformationFromRequest($request, $visitor);
|
||||
|
||||
return $information['referer_type'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onAnyGoalConversion(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
return $this->getValueForRecordGoal($request, $visitor);
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\Visitor;
|
||||
use Piwik\Tracker\Action;
|
||||
|
||||
class ReferrerUrl extends Base
|
||||
{
|
||||
protected $columnName = 'referer_url';
|
||||
protected $columnType = 'TEXT NULL';
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $segmentName = 'referrerUrl';
|
||||
protected $nameSingular = 'Live_Referrer_URL';
|
||||
protected $namePlural = 'Referrers_ReferrerURLs';
|
||||
protected $category = 'Referrers_Referrers';
|
||||
protected $acceptValues = 'http%3A%2F%2Fwww.example.org%2Freferer-page.htm';
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onNewVisit(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
$information = $this->getReferrerInformationFromRequest($request, $visitor);
|
||||
|
||||
return $information['referer_url'];
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class SearchEngine extends Dimension
|
||||
{
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $nameSingular = 'Referrers_ColumnSearchEngine';
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class SocialNetwork extends Dimension
|
||||
{
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $nameSingular = 'Referrers_ColumnSocial';
|
||||
}
|
55
msd2/tracking/piwik/plugins/Referrers/Columns/Website.php
Normal file
55
msd2/tracking/piwik/plugins/Referrers/Columns/Website.php
Normal file
@ -0,0 +1,55 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\TrackerConfig;
|
||||
use Piwik\Tracker\Visitor;
|
||||
|
||||
class Website extends Base
|
||||
{
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $nameSingular = 'General_Website';
|
||||
|
||||
/**
|
||||
* Set using the `[Tracker] create_new_visit_when_website_referrer_changes` INI config option.
|
||||
* If true, will force new visits if the referrer website changes.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $createNewVisitWhenWebsiteReferrerChanges;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->createNewVisitWhenWebsiteReferrerChanges = TrackerConfig::getConfigValue('create_new_visit_when_website_referrer_changes') == 1;
|
||||
}
|
||||
|
||||
public function shouldForceNewVisit(Request $request, Visitor $visitor, Action $action = null)
|
||||
{
|
||||
if (!$this->createNewVisitWhenWebsiteReferrerChanges) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$information = $this->getReferrerInformationFromRequest($request, $visitor);
|
||||
|
||||
if ($information['referer_type'] == Common::REFERRER_TYPE_WEBSITE
|
||||
&& $this->isReferrerInformationNew($visitor, $information)
|
||||
) {
|
||||
Common::printDebug("Existing visit detected, but creating new visit because website referrer information is different than last action.");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?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\Referrers\Columns;
|
||||
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class WebsitePage extends Dimension
|
||||
{
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $nameSingular = 'Referrers_ColumnWebsitePage';
|
||||
}
|
452
msd2/tracking/piwik/plugins/Referrers/Controller.php
Normal file
452
msd2/tracking/piwik/plugins/Referrers/Controller.php
Normal file
@ -0,0 +1,452 @@
|
||||
<?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\Referrers;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable\Filter\CalculateEvolutionFilter;
|
||||
use Piwik\DataTable\Map;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\NumberFormatter;
|
||||
use Piwik\Period\Range;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines;
|
||||
use Piwik\ViewDataTable;
|
||||
use Piwik\SettingsPiwik;
|
||||
use Piwik\Translation\Translator;
|
||||
use Piwik\View;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class Controller extends \Piwik\Plugin\Controller
|
||||
{
|
||||
/**
|
||||
* @var Translator
|
||||
*/
|
||||
private $translator;
|
||||
|
||||
public function __construct(Translator $translator)
|
||||
{
|
||||
$this->translator = $translator;
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function getSparklines()
|
||||
{
|
||||
$metrics = $this->getReferrersVisitorsByType();
|
||||
$distinctMetrics = $this->getDistinctReferrersMetrics();
|
||||
|
||||
$numberFormatter = NumberFormatter::getInstance();
|
||||
|
||||
$totalVisits = array_sum($metrics);
|
||||
foreach ($metrics as $name => $value) {
|
||||
|
||||
// calculate percent of total, if there were any visits
|
||||
if ($value != 0 && $totalVisits != 0) {
|
||||
$percentName = $name . 'Percent';
|
||||
$metrics[$percentName] = round(($value / $totalVisits) * 100, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// calculate evolution for visit metrics & distinct metrics
|
||||
list($lastPeriodDate, $ignore) = Range::getLastDate();
|
||||
if ($lastPeriodDate !== false) {
|
||||
$date = Common::getRequestVar('date');
|
||||
$period = Common::getRequestVar('period');
|
||||
|
||||
$prettyDate = self::getPrettyDate($date, $period);
|
||||
$prettyLastPeriodDate = self::getPrettyDate($lastPeriodDate, $period);
|
||||
|
||||
// visit metrics
|
||||
$previousValues = $this->getReferrersVisitorsByType($lastPeriodDate);
|
||||
$metrics = $this->addEvolutionPropertiesToView($prettyDate, $metrics, $prettyLastPeriodDate, $previousValues);
|
||||
|
||||
// distinct metrics
|
||||
$previousValues = $this->getDistinctReferrersMetrics($lastPeriodDate);
|
||||
$distinctMetrics = $this->addEvolutionPropertiesToView($prettyDate, $distinctMetrics, $prettyLastPeriodDate, $previousValues);
|
||||
}
|
||||
|
||||
/** @var Sparklines $view */
|
||||
$view = ViewDataTable\Factory::build(Sparklines::ID, $api = '', $controller = '', $force = true, $loadUserParams = false);
|
||||
|
||||
// DIRECT ENTRY
|
||||
$metrics['visitorsFromDirectEntry'] = $numberFormatter->formatNumber($metrics['visitorsFromDirectEntry']);
|
||||
$values = array($metrics['visitorsFromDirectEntry']);
|
||||
$descriptions = array(Piwik::translate('Referrers_TypeDirectEntries'));
|
||||
|
||||
if (!empty($metrics['visitorsFromDirectEntryPercent'])) {
|
||||
$metrics['visitorsFromDirectEntryPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromDirectEntryPercent'], $precision = 1);
|
||||
$values[] = $metrics['visitorsFromDirectEntryPercent'];
|
||||
$descriptions[] = Piwik::translate('Referrers_XPercentOfVisits');
|
||||
}
|
||||
|
||||
$directEntryParams = $this->getReferrerSparklineParams(Common::REFERRER_TYPE_DIRECT_ENTRY);
|
||||
|
||||
$view->config->addSparkline($directEntryParams, $values, $descriptions, @$metrics['visitorsFromDirectEntryEvolution']);
|
||||
|
||||
|
||||
// WEBSITES
|
||||
$metrics['visitorsFromWebsites'] = $numberFormatter->formatNumber($metrics['visitorsFromWebsites']);
|
||||
$values = array($metrics['visitorsFromWebsites']);
|
||||
$descriptions = array(Piwik::translate('Referrers_TypeWebsites'));
|
||||
|
||||
if (!empty($metrics['visitorsFromWebsitesPercent'])) {
|
||||
$metrics['visitorsFromWebsitesPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromWebsitesPercent'], $precision = 1);
|
||||
$values[] = $metrics['visitorsFromWebsitesPercent'];
|
||||
$descriptions[] = Piwik::translate('Referrers_XPercentOfVisits');
|
||||
}
|
||||
|
||||
$searchEngineParams = $this->getReferrerSparklineParams(Common::REFERRER_TYPE_WEBSITE);
|
||||
|
||||
$view->config->addSparkline($searchEngineParams, $values, $descriptions, @$metrics['visitorsFromWebsitesEvolution']);
|
||||
|
||||
|
||||
// SEARCH ENGINES
|
||||
$metrics['visitorsFromSearchEngines'] = $numberFormatter->formatNumber($metrics['visitorsFromSearchEngines']);
|
||||
$values = array($metrics['visitorsFromSearchEngines']);
|
||||
$descriptions = array(Piwik::translate('Referrers_TypeSearchEngines'));
|
||||
|
||||
if (!empty($metrics['visitorsFromSearchEnginesPercent'])) {
|
||||
$metrics['visitorsFromSearchEnginesPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromSearchEnginesPercent'], $precision = 1);
|
||||
$values[] = $metrics['visitorsFromSearchEnginesPercent'];
|
||||
$descriptions[] = Piwik::translate('Referrers_XPercentOfVisits');
|
||||
}
|
||||
$searchEngineParams = $this->getReferrerSparklineParams(Common::REFERRER_TYPE_SEARCH_ENGINE);
|
||||
|
||||
$view->config->addSparkline($searchEngineParams, $values, $descriptions, @$metrics['visitorsFromSearchEnginesEvolution']);
|
||||
|
||||
// SOCIAL NETWORKS
|
||||
$metrics['visitorsFromSocialNetworks'] = $numberFormatter->formatNumber($metrics['visitorsFromSocialNetworks']);
|
||||
$values = array($metrics['visitorsFromSocialNetworks']);
|
||||
$descriptions = array(Piwik::translate('Referrers_TypeSocialNetworks'));
|
||||
|
||||
if (!empty($metrics['visitorsFromSocialNetworksPercent'])) {
|
||||
$metrics['visitorsFromSocialNetworksPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromSocialNetworksPercent'], $precision = 1);
|
||||
$values[] = $metrics['visitorsFromSocialNetworksPercent'];
|
||||
$descriptions[] = Piwik::translate('Referrers_XPercentOfVisits');
|
||||
}
|
||||
$socialNetworkParams = $this->getReferrerSparklineParams(Common::REFERRER_TYPE_SOCIAL_NETWORK);
|
||||
|
||||
$view->config->addSparkline($socialNetworkParams, $values, $descriptions, @$metrics['visitorsFromSocialNetworksEvolution']);
|
||||
|
||||
|
||||
// CAMPAIGNS
|
||||
$metrics['visitorsFromCampaigns'] = $numberFormatter->formatNumber($metrics['visitorsFromCampaigns']);
|
||||
$values = array($metrics['visitorsFromCampaigns']);
|
||||
$descriptions = array(Piwik::translate('Referrers_TypeCampaigns'));
|
||||
|
||||
if (!empty($metrics['visitorsFromCampaignsPercent'])) {
|
||||
$metrics['visitorsFromCampaignsPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromCampaignsPercent'], $precision = 1);
|
||||
$values[] = $metrics['visitorsFromCampaignsPercent'];
|
||||
$descriptions[] = Piwik::translate('Referrers_XPercentOfVisits');
|
||||
}
|
||||
|
||||
$searchEngineParams = $this->getReferrerSparklineParams(Common::REFERRER_TYPE_CAMPAIGN);
|
||||
|
||||
$view->config->addSparkline($searchEngineParams, $values, $descriptions, @$metrics['visitorsFromCampaignsEvolution']);
|
||||
|
||||
|
||||
// DISTINCT SEARCH ENGINES
|
||||
$sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctSearchEnginesGraph');
|
||||
$value = $distinctMetrics['numberDistinctSearchEngines'];
|
||||
$value = $numberFormatter->formatNumber($value);
|
||||
$description = Piwik::translate('Referrers_DistinctSearchEngines');
|
||||
|
||||
$view->config->addSparkline($sparklineParams, $value, $description, @$distinctMetrics['numberDistinctSearchEnginesEvolution']);
|
||||
|
||||
|
||||
// DISTINCT SOCIAL NETWORKS
|
||||
$sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctSocialNetworksGraph');
|
||||
$value = $distinctMetrics['numberDistinctSocialNetworks'];
|
||||
$value = $numberFormatter->formatNumber($value);
|
||||
$description = Piwik::translate('Referrers_DistinctSocialNetworks');
|
||||
|
||||
$view->config->addSparkline($sparklineParams, $value, $description, @$distinctMetrics['numberDistinctSocialNetworksEvolution']);
|
||||
|
||||
|
||||
// DISTINCT WEBSITES
|
||||
$sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctWebsitesGraph');
|
||||
|
||||
$distinctMetrics['numberDistinctWebsites'] = $numberFormatter->formatNumber($distinctMetrics['numberDistinctWebsites']);
|
||||
$distinctMetrics['numberDistinctWebsitesUrls'] = $numberFormatter->formatNumber($distinctMetrics['numberDistinctWebsitesUrls']);
|
||||
|
||||
$values = array($distinctMetrics['numberDistinctWebsites'], $distinctMetrics['numberDistinctWebsitesUrls']);
|
||||
$descriptions = array(Piwik::translate('Referrers_DistinctWebsites'), Piwik::translate('Referrers_UsingNDistinctUrls'));
|
||||
|
||||
$view->config->addSparkline($sparklineParams, $values, $descriptions, @$distinctMetrics['numberDistinctWebsitesEvolution']);
|
||||
|
||||
|
||||
// DISTINCT KEYWORDS
|
||||
$sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctKeywordsGraph');
|
||||
$value = $distinctMetrics['numberDistinctKeywords'];
|
||||
$value = $numberFormatter->formatNumber($value);
|
||||
$description = Piwik::translate('Referrers_DistinctKeywords');
|
||||
|
||||
$view->config->addSparkline($sparklineParams, $value, $description, @$distinctMetrics['numberDistinctKeywordsEvolution']);
|
||||
|
||||
|
||||
// DISTINCT CAMPAIGNS
|
||||
$sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctCampaignsGraph');
|
||||
$value = $distinctMetrics['numberDistinctCampaigns'];
|
||||
$value = $numberFormatter->formatNumber($value);
|
||||
$description = Piwik::translate('Referrers_DistinctCampaigns');
|
||||
|
||||
$view->config->addSparkline($sparklineParams, $value, $description, @$distinctMetrics['numberDistinctCampaignsEvolution']);
|
||||
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
private function getDistinctSparklineUrlParams($action)
|
||||
{
|
||||
return array('module' => $this->pluginName, 'action' => $action);
|
||||
}
|
||||
|
||||
protected function getReferrersVisitorsByType($date = false)
|
||||
{
|
||||
if ($date === false) {
|
||||
$date = Common::getRequestVar('date', false);
|
||||
}
|
||||
|
||||
// we disable the queued filters because here we want to get the visits coming from search engines
|
||||
// if the filters were applied we would have to look up for a label looking like "Search Engines"
|
||||
// which is not good when we have translations
|
||||
$dataTableReferrersType = Request::processRequest(
|
||||
"Referrers.getReferrerType", array('disable_queued_filters' => '1', 'date' => $date));
|
||||
|
||||
$nameToColumnId = array(
|
||||
'visitorsFromSearchEngines' => Common::REFERRER_TYPE_SEARCH_ENGINE,
|
||||
'visitorsFromSocialNetworks' => Common::REFERRER_TYPE_SOCIAL_NETWORK,
|
||||
'visitorsFromDirectEntry' => Common::REFERRER_TYPE_DIRECT_ENTRY,
|
||||
'visitorsFromWebsites' => Common::REFERRER_TYPE_WEBSITE,
|
||||
'visitorsFromCampaigns' => Common::REFERRER_TYPE_CAMPAIGN,
|
||||
);
|
||||
$return = array();
|
||||
foreach ($nameToColumnId as $nameVar => $columnId) {
|
||||
$value = 0;
|
||||
$row = $dataTableReferrersType->getRowFromLabel($columnId);
|
||||
if ($row !== false) {
|
||||
$value = $row->getColumn(Metrics::INDEX_NB_VISITS);
|
||||
}
|
||||
$return[$nameVar] = $value;
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
protected $referrerTypeToLabel = array(
|
||||
Common::REFERRER_TYPE_DIRECT_ENTRY => 'Referrers_DirectEntry',
|
||||
Common::REFERRER_TYPE_SEARCH_ENGINE => 'Referrers_SearchEngines',
|
||||
Common::REFERRER_TYPE_SOCIAL_NETWORK => 'Referrers_Socials',
|
||||
Common::REFERRER_TYPE_WEBSITE => 'Referrers_Websites',
|
||||
Common::REFERRER_TYPE_CAMPAIGN => 'Referrers_Campaigns',
|
||||
);
|
||||
|
||||
public function getEvolutionGraph($typeReferrer = false, array $columns = array(), array $defaultColumns = array())
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Referrers.getReferrerType');
|
||||
|
||||
$view->config->add_total_row = true;
|
||||
|
||||
// configure displayed columns
|
||||
if (empty($columns)) {
|
||||
$columns = Common::getRequestVar('columns', false);
|
||||
if (false !== $columns) {
|
||||
$columns = Piwik::getArrayFromApiParameter($columns);
|
||||
}
|
||||
}
|
||||
if (false !== $columns) {
|
||||
$columns = !is_array($columns) ? array($columns) : $columns;
|
||||
}
|
||||
|
||||
if (!empty($columns)) {
|
||||
$view->config->columns_to_display = $columns;
|
||||
} elseif (empty($view->config->columns_to_display) && !empty($defaultColumns)) {
|
||||
$view->config->columns_to_display = $defaultColumns;
|
||||
}
|
||||
|
||||
// configure selectable columns
|
||||
$period = Common::getRequestVar('period', false);
|
||||
|
||||
if (SettingsPiwik::isUniqueVisitorsEnabled($period)) {
|
||||
$selectable = array('nb_visits', 'nb_uniq_visitors', 'nb_users', 'nb_actions');
|
||||
} else {
|
||||
$selectable = array('nb_visits', 'nb_actions');
|
||||
}
|
||||
$view->config->selectable_columns = $selectable;
|
||||
|
||||
// configure displayed rows
|
||||
$visibleRows = Common::getRequestVar('rows', false);
|
||||
if ($visibleRows !== false) {
|
||||
// this happens when the row picker has been used
|
||||
$visibleRows = Piwik::getArrayFromApiParameter($visibleRows);
|
||||
$visibleRows = array_map('urldecode', $visibleRows);
|
||||
|
||||
// typeReferrer is redundant if rows are defined, so make sure it's not used
|
||||
$view->config->custom_parameters['typeReferrer'] = false;
|
||||
} else {
|
||||
// use $typeReferrer as default
|
||||
if ($typeReferrer === false) {
|
||||
$typeReferrer = Common::getRequestVar('typeReferrer', Common::REFERRER_TYPE_DIRECT_ENTRY);
|
||||
}
|
||||
$label = self::getTranslatedReferrerTypeLabel($typeReferrer);
|
||||
$total = $this->translator->translate('General_Total');
|
||||
|
||||
if (!empty($view->config->rows_to_display)) {
|
||||
$visibleRows = $view->config->rows_to_display;
|
||||
} else {
|
||||
$visibleRows = array($label, $total);
|
||||
}
|
||||
|
||||
$view->requestConfig->request_parameters_to_modify['rows'] = $label . ',' . $total;
|
||||
}
|
||||
$view->config->row_picker_match_rows_by = 'label';
|
||||
$view->config->rows_to_display = $visibleRows;
|
||||
|
||||
$view->config->documentation = $this->translator->translate('Referrers_EvolutionDocumentation') . '<br />'
|
||||
. $this->translator->translate('General_BrokenDownReportDocumentation') . '<br />'
|
||||
. $this->translator->translate('Referrers_EvolutionDocumentationMoreInfo', '"'
|
||||
. $this->translator->translate('Referrers_ReferrerTypes') . '"');
|
||||
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function getLastDistinctSearchEnginesGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctSearchEngines");
|
||||
$view->config->translations['Referrers_distinctSearchEngines'] = ucfirst($this->translator->translate('Referrers_DistinctSearchEngines'));
|
||||
$view->config->columns_to_display = array('Referrers_distinctSearchEngines');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function getLastDistinctSocialNetworksGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctSocialNetworks");
|
||||
$view->config->translations['Referrers_distinctSocialNetworks'] = ucfirst($this->translator->translate('Referrers_DistinctSocialNetworks'));
|
||||
$view->config->columns_to_display = array('Referrers_distinctSocialNetworks');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function getLastDistinctKeywordsGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctKeywords");
|
||||
$view->config->translations['Referrers_distinctKeywords'] = ucfirst($this->translator->translate('Referrers_DistinctKeywords'));
|
||||
$view->config->columns_to_display = array('Referrers_distinctKeywords');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function getLastDistinctWebsitesGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctWebsites");
|
||||
$view->config->translations['Referrers_distinctWebsites'] = ucfirst($this->translator->translate('Referrers_DistinctWebsites'));
|
||||
$view->config->columns_to_display = array('Referrers_distinctWebsites');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function getLastDistinctCampaignsGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "Referrers.getNumberOfDistinctCampaigns");
|
||||
$view->config->translations['Referrers_distinctCampaigns'] = ucfirst($this->translator->translate('Referrers_DistinctCampaigns'));
|
||||
$view->config->columns_to_display = array('Referrers_distinctCampaigns');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the i18n-ized label for a referrer type.
|
||||
*
|
||||
* @param int $typeReferrer The referrer type. Referrer types are defined in Common class.
|
||||
* @return string The i18n-ized label.
|
||||
*/
|
||||
public static function getTranslatedReferrerTypeLabel($typeReferrer)
|
||||
{
|
||||
$label = getReferrerTypeLabel($typeReferrer);
|
||||
return Piwik::translate($label);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the URL for the sparkline of visits with a specific referrer type.
|
||||
*
|
||||
* @param int $referrerType The referrer type. Referrer types are defined in Common class.
|
||||
* @return string The URL that can be used to get a sparkline image.
|
||||
*/
|
||||
private function getReferrerSparklineParams($referrerType)
|
||||
{
|
||||
$totalRow = $this->translator->translate('General_Total');
|
||||
|
||||
return array(
|
||||
'columns' => array('nb_visits'),
|
||||
'rows' => array(self::getTranslatedReferrerTypeLabel($referrerType), $totalRow),
|
||||
'typeReferrer' => $referrerType,
|
||||
'module' => $this->pluginName,
|
||||
'action' => 'getReferrerType'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array containing the number of distinct referrers for each
|
||||
* referrer type.
|
||||
*
|
||||
* @param bool|string $date The date to use when getting metrics. If false, the
|
||||
* date query param is used.
|
||||
* @return array The metrics.
|
||||
*/
|
||||
private function getDistinctReferrersMetrics($date = false)
|
||||
{
|
||||
$propertyToAccessorMapping = array(
|
||||
'numberDistinctSearchEngines' => 'getNumberOfDistinctSearchEngines',
|
||||
'numberDistinctSocialNetworks' => 'getNumberOfDistinctSocialNetworks',
|
||||
'numberDistinctKeywords' => 'getNumberOfDistinctKeywords',
|
||||
'numberDistinctWebsites' => 'getNumberOfDistinctWebsites',
|
||||
'numberDistinctWebsitesUrls' => 'getNumberOfDistinctWebsitesUrls',
|
||||
'numberDistinctCampaigns' => 'getNumberOfDistinctCampaigns',
|
||||
);
|
||||
|
||||
$result = array();
|
||||
foreach ($propertyToAccessorMapping as $property => $method) {
|
||||
$result[$property] = $this->getNumericValue('Referrers.' . $method, $date);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility method that calculates evolution values for a set of current & past values
|
||||
* and sets properties on a View w/ HTML that displays the evolution percents.
|
||||
*
|
||||
* @param string $date The date of the current values.
|
||||
* @param array $currentValues Array mapping view property names w/ present values.
|
||||
* @param string $lastPeriodDate The date of the period in the past.
|
||||
* @param array $previousValues Array mapping view property names w/ past values. Keys
|
||||
* in this array should be the same as keys in $currentValues.
|
||||
* @return array Added current values
|
||||
*/
|
||||
private function addEvolutionPropertiesToView($date, $currentValues, $lastPeriodDate, $previousValues)
|
||||
{
|
||||
foreach ($previousValues as $name => $pastValue) {
|
||||
$currentValue = $currentValues[$name];
|
||||
$evolutionName = $name . 'Evolution';
|
||||
|
||||
$currentValueFormatted = NumberFormatter::getInstance()->format($currentValue);
|
||||
$pastValueFormatted = NumberFormatter::getInstance()->format($pastValue);
|
||||
|
||||
$currentValues[$evolutionName] = array(
|
||||
'currentValue' => $currentValue,
|
||||
'pastValue' => $pastValue,
|
||||
'tooltip' => Piwik::translate('General_EvolutionSummaryGeneric', array(
|
||||
Piwik::translate('General_NVisits', $currentValueFormatted),
|
||||
$date,
|
||||
Piwik::translate('General_NVisits', $pastValueFormatted),
|
||||
$lastPeriodDate,
|
||||
CalculateEvolutionFilter::calculate($currentValue, $pastValue, $precision = 1)
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
return $currentValues;
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
<?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\Referrers\DataTable\Filter;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
|
||||
class KeywordNotDefined extends DataTable\Filter\ColumnCallbackReplace
|
||||
{
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table to eventually filter.
|
||||
*/
|
||||
public function __construct($table)
|
||||
{
|
||||
parent::__construct($table, 'label', 'Piwik\Plugins\Referrers\API::getCleanKeyword');
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
<?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\Referrers\DataTable\Filter;
|
||||
|
||||
use Piwik\DataTable\BaseFilter;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Plugins\Referrers\SearchEngine;
|
||||
|
||||
class KeywordsFromSearchEngineId extends BaseFilter
|
||||
{
|
||||
/**
|
||||
* @var DataTable
|
||||
*/
|
||||
private $firstLevelSearchEnginesTable;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $idSubtable;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table to eventually filter.
|
||||
*/
|
||||
public function __construct($table, $firstLevelSearchEnginesTable, $idSubtable = null)
|
||||
{
|
||||
parent::__construct($table);
|
||||
|
||||
$this->firstLevelSearchEnginesTable = $firstLevelSearchEnginesTable;
|
||||
$this->idSubtable = $idSubtable;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DataTable $table
|
||||
*/
|
||||
public function filter($table)
|
||||
{
|
||||
$idSubtable = $this->idSubtable ? : $table->getId();
|
||||
$subTableRow = $this->firstLevelSearchEnginesTable->getRowFromIdSubDataTable($idSubtable);
|
||||
|
||||
if (!empty($subTableRow)) {
|
||||
$searchEngineUrl = $subTableRow->getMetadata('url');
|
||||
$table->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', function ($keyword, $url) { return SearchEngine::getInstance()->getBackLinkFromUrlAndKeyword($url, $keyword); }, array($searchEngineUrl)));
|
||||
$table->queueFilter(function (DataTable $table) {
|
||||
$row = $table->getRowFromId(DataTable::ID_SUMMARY_ROW);
|
||||
if ($row) {
|
||||
$row->deleteMetadata('url');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$table->queueFilter('Piwik\Plugins\Referrers\DataTable\Filter\KeywordNotDefined');
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
<?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\Referrers\DataTable\Filter;
|
||||
|
||||
use Piwik\DataTable\BaseFilter;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Plugins\Referrers\SearchEngine;
|
||||
|
||||
class SearchEnginesFromKeywordId extends BaseFilter
|
||||
{
|
||||
/**
|
||||
* @var DataTable
|
||||
*/
|
||||
private $firstLevelKeywordTable;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $idSubtable;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table to eventually filter.
|
||||
*/
|
||||
public function __construct($table, $firstLevelKeywordTable, $idSubtable = null)
|
||||
{
|
||||
parent::__construct($table);
|
||||
|
||||
$this->firstLevelKeywordTable = $firstLevelKeywordTable;
|
||||
$this->idSubtable = $idSubtable;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DataTable $table
|
||||
*/
|
||||
public function filter($table)
|
||||
{
|
||||
$idSubtable = $this->idSubtable ? : $table->getId();
|
||||
|
||||
$table->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', function ($url) { return SearchEngine::getInstance()->getUrlFromName($url); }));
|
||||
$table->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', function ($url) { return SearchEngine::getInstance()->getLogoFromUrl($url); }));
|
||||
|
||||
// get the keyword and create the URL to the search result page
|
||||
$rootRow = $this->firstLevelKeywordTable->getRowFromIdSubDataTable($idSubtable);
|
||||
if ($rootRow) {
|
||||
$keyword = $rootRow->getColumn('label');
|
||||
$table->queueFilter('MetadataCallbackReplace', array('url', function ($url, $keyword) { return SearchEngine::getInstance()->getBackLinkFromUrlAndKeyword($url, $keyword); }, array($keyword)));
|
||||
$table->queueFilter(function (DataTable $table) {
|
||||
$row = $table->getRowFromId(DataTable::ID_SUMMARY_ROW);
|
||||
if ($row) {
|
||||
$row->deleteMetadata('url');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,91 @@
|
||||
<?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\Referrers\DataTable\Filter;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Period\Range;
|
||||
use Piwik\Plugins\Referrers\API;
|
||||
|
||||
/**
|
||||
* Utility function that sets the subtables for the getReferrerType report.
|
||||
*
|
||||
* If we're not getting an expanded datatable, the subtable ID is set to each parent
|
||||
* row's referrer type (stored in the label for the getReferrerType report).
|
||||
*
|
||||
* If we are getting an expanded datatable, the datatable for the row's referrer
|
||||
* type is loaded and attached to the appropriate row in the getReferrerType report.
|
||||
*/
|
||||
class SetGetReferrerTypeSubtables extends DataTable\BaseFilter
|
||||
{
|
||||
/** @var int */
|
||||
private $idSite;
|
||||
|
||||
/** @var string */
|
||||
private $period;
|
||||
|
||||
/** @var string */
|
||||
private $date;
|
||||
|
||||
/** @var string */
|
||||
private $segment;
|
||||
|
||||
/** @var bool */
|
||||
private $expanded;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table to eventually filter.
|
||||
* @param int $idSite
|
||||
* @param string $period
|
||||
* @param string $date
|
||||
* @param string $segment
|
||||
* @param bool $expanded
|
||||
*/
|
||||
public function __construct($table, $idSite, $period, $date, $segment, $expanded)
|
||||
{
|
||||
parent::__construct($table);
|
||||
$this->idSite = $idSite;
|
||||
$this->period = $period;
|
||||
$this->date = $date;
|
||||
$this->segment = $segment;
|
||||
$this->expanded = $expanded;
|
||||
}
|
||||
|
||||
public function filter($table)
|
||||
{
|
||||
foreach ($table->getRows() as $row) {
|
||||
$typeReferrer = $row->getColumn('label');
|
||||
|
||||
if ($typeReferrer != Common::REFERRER_TYPE_DIRECT_ENTRY) {
|
||||
if (!$this->expanded) // if we don't want the expanded datatable, then don't do any extra queries
|
||||
{
|
||||
$row->setNonLoadedSubtableId($typeReferrer);
|
||||
} else if (!Range::isMultiplePeriod($this->date, $this->period))
|
||||
{
|
||||
// otherwise, we have to get the other datatables
|
||||
// NOTE: not yet possible to do this w/ DataTable\Map instances
|
||||
// (actually it would be maybe possible by using $map->mergeChildren() or so build it would be slow)
|
||||
$subtable = API::getInstance()->getReferrerType(
|
||||
$this->idSite, $this->period, $this->date, $this->segment, $type = false, $idSubtable = $typeReferrer
|
||||
);
|
||||
|
||||
if ($this->expanded) {
|
||||
$subtable->applyQueuedFilters();
|
||||
}
|
||||
|
||||
$row->setSubtable($subtable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
<?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\Referrers\DataTable\Filter;
|
||||
|
||||
use Piwik\DataTable\BaseFilter;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Metrics;
|
||||
|
||||
class UrlsForSocial extends BaseFilter
|
||||
{
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $sortRecursive;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table to eventually filter.
|
||||
* @param bool $sortRecursive Whether to sort recursive or not
|
||||
*/
|
||||
public function __construct($table, $sortRecursive)
|
||||
{
|
||||
parent::__construct($table);
|
||||
|
||||
$this->sortRecursive = $sortRecursive;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DataTable $table
|
||||
*/
|
||||
public function filter($table)
|
||||
{
|
||||
// make url labels clickable
|
||||
$table->filter('ColumnCallbackAddMetadata', array('label', 'url'));
|
||||
|
||||
// prettify the DataTable
|
||||
$table->filter('ColumnCallbackReplace', array('label', 'Piwik\Plugins\Referrers\removeUrlProtocol'));
|
||||
$table->queueFilter('ReplaceColumnNames');
|
||||
}
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
<?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\Referrers\DataTable\Filter;
|
||||
|
||||
use Piwik\DataTable\BaseFilter;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
|
||||
class UrlsFromWebsiteId extends BaseFilter
|
||||
{
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table to eventually filter.
|
||||
*/
|
||||
public function __construct($table)
|
||||
{
|
||||
parent::__construct($table);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DataTable $table
|
||||
*/
|
||||
public function filter($table)
|
||||
{
|
||||
// the htmlspecialchars_decode call is for BC for before 1.1
|
||||
// as the Referrer URL was previously encoded in the log tables, but is now recorded raw
|
||||
$table->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', function ($label) {
|
||||
return htmlspecialchars_decode($label);
|
||||
}));
|
||||
$table->queueFilter('ColumnCallbackReplace', array('label', 'Piwik\Plugins\Referrers\getPathFromUrl'));
|
||||
|
||||
foreach ($table->getRowsWithoutSummaryRow() as $row) {
|
||||
$subtable = $row->getSubtable();
|
||||
if ($subtable) {
|
||||
$this->filter($subtable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
132
msd2/tracking/piwik/plugins/Referrers/Referrers.php
Normal file
132
msd2/tracking/piwik/plugins/Referrers/Referrers.php
Normal file
@ -0,0 +1,132 @@
|
||||
<?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\Referrers;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\SitesManager\SiteUrls;
|
||||
|
||||
/**
|
||||
* @see plugins/Referrers/functions.php
|
||||
*/
|
||||
require_once PIWIK_INCLUDE_PATH . '/plugins/Referrers/functions.php';
|
||||
|
||||
/**
|
||||
*/
|
||||
class Referrers extends \Piwik\Plugin
|
||||
{
|
||||
/**
|
||||
* @see \Piwik\Plugin::registerEvents
|
||||
*/
|
||||
public function registerEvents()
|
||||
{
|
||||
return array(
|
||||
'Insights.addReportToOverview' => 'addReportToInsightsOverview',
|
||||
'Request.getRenamedModuleAndAction' => 'renameDeprecatedModuleAndAction',
|
||||
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
|
||||
'Tracker.setTrackerCacheGeneral' => 'setTrackerCacheGeneral',
|
||||
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
|
||||
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
|
||||
);
|
||||
}
|
||||
|
||||
public function getStylesheetFiles(&$stylesheets)
|
||||
{
|
||||
$stylesheets[] = 'plugins/Referrers/angularjs/campaign-builder/campaign-builder.directive.less';
|
||||
}
|
||||
|
||||
public function getClientSideTranslationKeys(&$translationKeys)
|
||||
{
|
||||
$translationKeys[] = 'General_Required2';
|
||||
$translationKeys[] = 'General_Clear';
|
||||
$translationKeys[] = 'Actions_ColumnPageURL';
|
||||
$translationKeys[] = 'CoreAdminHome_JSTracking_CampaignNameParam';
|
||||
$translationKeys[] = 'CoreAdminHome_JSTracking_CampaignKwdParam';
|
||||
$translationKeys[] = 'Referrers_CampaignSource';
|
||||
$translationKeys[] = 'Referrers_CampaignSourceHelp';
|
||||
$translationKeys[] = 'Referrers_CampaignContent';
|
||||
$translationKeys[] = 'Referrers_CampaignContentHelp';
|
||||
$translationKeys[] = 'Referrers_CampaignMedium';
|
||||
$translationKeys[] = 'Referrers_CampaignMediumHelp';
|
||||
$translationKeys[] = 'Referrers_CampaignPageUrlHelp';
|
||||
$translationKeys[] = 'Referrers_CampaignNameHelp';
|
||||
$translationKeys[] = 'Referrers_CampaignKeywordHelp';
|
||||
$translationKeys[] = 'Referrers_URLCampaignBuilderResult';
|
||||
$translationKeys[] = 'Referrers_GenerateUrl';
|
||||
$translationKeys[] = 'Goals_Optional';
|
||||
}
|
||||
|
||||
public function getJsFiles(&$jsFiles)
|
||||
{
|
||||
$jsFiles[] = 'plugins/Referrers/angularjs/campaign-builder/campaign-builder.controller.js';
|
||||
$jsFiles[] = 'plugins/Referrers/angularjs/campaign-builder/campaign-builder.directive.js';
|
||||
}
|
||||
|
||||
public function setTrackerCacheGeneral(&$cacheContent)
|
||||
{
|
||||
$siteUrls = new SiteUrls();
|
||||
$urls = $siteUrls->getAllCachedSiteUrls();
|
||||
|
||||
return $cacheContent['allUrlsByHostAndIdSite'] = $siteUrls->groupUrlsByHost($urls);
|
||||
}
|
||||
|
||||
public function renameDeprecatedModuleAndAction(&$module, &$action)
|
||||
{
|
||||
if($module == 'Referers') {
|
||||
$module = 'Referrers';
|
||||
}
|
||||
}
|
||||
|
||||
public function addReportToInsightsOverview(&$reports)
|
||||
{
|
||||
$reports['Referrers_getWebsites'] = array();
|
||||
$reports['Referrers_getCampaigns'] = array();
|
||||
$reports['Referrers_getSocials'] = array();
|
||||
$reports['Referrers_getSearchEngines'] = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* DataTable filter callback that returns the HTML prefix for a label in the
|
||||
* 'getAll' report based on the row's referrer type.
|
||||
*
|
||||
* @param int $referrerType The referrer type.
|
||||
* @return string
|
||||
*/
|
||||
public function setGetAllHtmlPrefix($referrerType)
|
||||
{
|
||||
// get singular label for referrer type
|
||||
$indexTranslation = '';
|
||||
switch ($referrerType) {
|
||||
case Common::REFERRER_TYPE_DIRECT_ENTRY:
|
||||
$indexTranslation = 'Referrers_DirectEntry';
|
||||
break;
|
||||
case Common::REFERRER_TYPE_SEARCH_ENGINE:
|
||||
$indexTranslation = 'General_ColumnKeyword';
|
||||
break;
|
||||
case Common::REFERRER_TYPE_SOCIAL_NETWORK:
|
||||
$indexTranslation = 'Referrers_ColumnSocial';
|
||||
break;
|
||||
case Common::REFERRER_TYPE_WEBSITE:
|
||||
$indexTranslation = 'Referrers_ColumnWebsite';
|
||||
break;
|
||||
case Common::REFERRER_TYPE_CAMPAIGN:
|
||||
$indexTranslation = 'Referrers_ColumnCampaign';
|
||||
break;
|
||||
default:
|
||||
// case of newsletter, partners, before Piwik 0.2.25
|
||||
$indexTranslation = 'General_Others';
|
||||
break;
|
||||
}
|
||||
|
||||
$label = strtolower(Piwik::translate($indexTranslation));
|
||||
|
||||
// return html that displays it as grey & italic
|
||||
return '<span class="datatable-label-category">(' . $label . ')</span>';
|
||||
}
|
||||
}
|
18
msd2/tracking/piwik/plugins/Referrers/Reports/Base.php
Normal file
18
msd2/tracking/piwik/plugins/Referrers/Reports/Base.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
abstract class Base extends \Piwik\Plugin\Report
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
$this->categoryId = 'Referrers_Referrers';
|
||||
}
|
||||
|
||||
}
|
62
msd2/tracking/piwik/plugins/Referrers/Reports/GetAll.php
Normal file
62
msd2/tracking/piwik/plugins/Referrers/Reports/GetAll.php
Normal file
@ -0,0 +1,62 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\Plugins\Referrers\Columns\Referrer;
|
||||
use Piwik\Plugins\Referrers\Referrers;
|
||||
use Piwik\Report\ReportWidgetFactory;
|
||||
use Piwik\Widget\WidgetsList;
|
||||
|
||||
class GetAll extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new Referrer();
|
||||
$this->name = Piwik::translate('Referrers_WidgetGetAll');
|
||||
$this->documentation = Piwik::translate('Referrers_AllReferrersReportDocumentation', '<br />');
|
||||
$this->order = 2;
|
||||
|
||||
$this->subcategoryId = 'Referrers_WidgetGetAll';
|
||||
}
|
||||
|
||||
public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory)
|
||||
{
|
||||
$widgetsList->addWidgetConfig(
|
||||
$factory->createWidget()->setName('Referrers_Referrers')
|
||||
);
|
||||
}
|
||||
|
||||
public function getDefaultTypeViewDataTable()
|
||||
{
|
||||
return HtmlTable\AllColumns::ID;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$referrers = new Referrers();
|
||||
$setGetAllHtmlPrefix = array($referrers, 'setGetAllHtmlPrefix');
|
||||
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->show_goals = true;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
|
||||
$view->requestConfig->filter_limit = 20;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->disable_row_actions = true;
|
||||
}
|
||||
|
||||
$view->config->filters[] = array('MetadataCallbackAddMetadata', array('referer_type', 'html_label_prefix', $setGetAllHtmlPrefix));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\EventDispatcher;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Referrers\Columns\Campaign;
|
||||
|
||||
class GetCampaigns extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new Campaign();
|
||||
$this->name = Piwik::translate('Referrers_Campaigns');
|
||||
$this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation',
|
||||
array('<br />', '<a href="https://matomo.org/docs/tracking-campaigns/" rel="noreferrer noopener" target="_blank">', '</a>'));
|
||||
$this->actionToLoadSubTables = 'getKeywordsFromCampaignId';
|
||||
$this->hasGoalMetrics = true;
|
||||
$this->order = 9;
|
||||
|
||||
$this->subcategoryId = 'Referrers_Campaigns';
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
|
||||
$view->requestConfig->filter_limit = 25;
|
||||
|
||||
$this->configureFooterMessage($view);
|
||||
}
|
||||
|
||||
|
||||
protected function configureFooterMessage(ViewDataTable $view)
|
||||
{
|
||||
if ($this->isSubtableReport) {
|
||||
// no footer message for subtables
|
||||
return;
|
||||
}
|
||||
|
||||
$out = '';
|
||||
EventDispatcher::getInstance()->postEvent('Template.afterCampaignsReport', array(&$out));
|
||||
$view->config->show_footer_message = $out;
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\EventDispatcher;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution;
|
||||
use Piwik\Plugins\Referrers\Columns\Keyword;
|
||||
use Piwik\Tracker\Visit;
|
||||
|
||||
class GetKeywords extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new Keyword();
|
||||
$this->name = Piwik::translate('Referrers_Keywords');
|
||||
$this->documentation = Piwik::translate('Referrers_KeywordsReportDocumentation', '<br /><br />') .
|
||||
'<br /><br />'. Piwik::translate('Referrers_KeywordsReportDocumentationNote');
|
||||
$this->actionToLoadSubTables = 'getSearchEnginesFromKeywordId';
|
||||
$this->hasGoalMetrics = true;
|
||||
$this->order = 3;
|
||||
$this->subcategoryId = 'Referrers_SubmenuSearchEngines';
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', Piwik::translate('General_ColumnKeyword'));
|
||||
|
||||
$view->requestConfig->filter_limit = 25;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->disable_subtable_when_show_goals = true;
|
||||
}
|
||||
|
||||
$this->configureFooterMessage($view);
|
||||
}
|
||||
|
||||
protected function configureFooterMessage(ViewDataTable $view)
|
||||
{
|
||||
if ($this->isSubtableReport) {
|
||||
// no footer message for subtables
|
||||
return;
|
||||
}
|
||||
|
||||
$out = '';
|
||||
EventDispatcher::getInstance()->postEvent('Template.afterReferrersKeywordsReport', array(&$out));
|
||||
$view->config->show_footer_message = $out;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Referrers\Columns\Keyword;
|
||||
|
||||
class GetKeywordsFromCampaignId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new Keyword();
|
||||
$this->name = Piwik::translate('Referrers_Campaigns');
|
||||
$this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation',
|
||||
array('<br />', '<a href="https://matomo.org/docs/tracking-campaigns/" rel="noreferrer noopener" target="_blank">', '</a>'));
|
||||
$this->isSubtableReport = true;
|
||||
$this->order = 10;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Referrers\Columns\Keyword;
|
||||
|
||||
class GetKeywordsFromSearchEngineId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new Keyword();
|
||||
$this->name = Piwik::translate('Referrers_SearchEngines');
|
||||
$this->documentation = Piwik::translate('Referrers_SearchEnginesReportDocumentation', '<br />');
|
||||
$this->isSubtableReport = true;
|
||||
$this->order = 8;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,129 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\EventDispatcher;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines;
|
||||
use Piwik\Plugins\Referrers\Columns\ReferrerType;
|
||||
use Piwik\Widget\WidgetsList;
|
||||
use Piwik\Report\ReportWidgetFactory;
|
||||
|
||||
class GetReferrerType extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new ReferrerType();
|
||||
$this->name = Piwik::translate('Referrers_Type');
|
||||
$this->documentation = Piwik::translate('Referrers_TypeReportDocumentation') . '<br />'
|
||||
. '<b>' . Piwik::translate('Referrers_DirectEntry') . ':</b> ' . Piwik::translate('Referrers_DirectEntryDocumentation') . '<br />'
|
||||
. '<b>' . Piwik::translate('Referrers_SearchEngines') . ':</b> ' . Piwik::translate('Referrers_SearchEnginesDocumentation',
|
||||
array('<br />', '"' . Piwik::translate('Referrers_SubmenuSearchEngines') . '"')) . '<br />'
|
||||
. '<b>' . Piwik::translate('Referrers_Websites') . ':</b> ' . Piwik::translate('Referrers_WebsitesDocumentation',
|
||||
array('<br />', '"' . Piwik::translate('Referrers_SubmenuWebsitesOnly') . '"')) . '<br />'
|
||||
. '<b>' . Piwik::translate('Referrers_Campaigns') . ':</b> ' . Piwik::translate('Referrers_CampaignsDocumentation',
|
||||
array('<br />', '"' . Piwik::translate('Referrers_Campaigns') . '"'));
|
||||
$this->constantRowsCount = true;
|
||||
$this->hasGoalMetrics = true;
|
||||
$this->order = 1;
|
||||
$this->subcategoryId = 'Referrers_WidgetGetAll';
|
||||
$this->supportsFlatten = false;
|
||||
}
|
||||
|
||||
public function getDefaultTypeViewDataTable()
|
||||
{
|
||||
return HtmlTable\AllColumns::ID;
|
||||
}
|
||||
|
||||
public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory)
|
||||
{
|
||||
$widgetsList->addWidgetConfig(
|
||||
$factory->createWidget()
|
||||
->setName('Referrers_ReferrerTypes')
|
||||
->setSubcategoryId('Referrers_WidgetGetAll')
|
||||
);
|
||||
|
||||
$widgetsList->addWidgetConfig(
|
||||
$factory->createWidget()
|
||||
->setName('General_EvolutionOverPeriod')
|
||||
->setSubcategoryId('General_Overview')
|
||||
->setAction('getEvolutionGraph')
|
||||
->setOrder(9)
|
||||
->setIsNotWidgetizable()
|
||||
->forceViewDataTable(Evolution::ID)
|
||||
->addParameters(array(
|
||||
'columns' => $defaultColumns = array('nb_visits'),
|
||||
))
|
||||
);
|
||||
|
||||
$widgetsList->addWidgetConfig(
|
||||
$factory->createCustomWidget('getSparklines')
|
||||
->forceViewDataTable(Sparklines::ID)
|
||||
->setIsNotWidgetizable()
|
||||
->setName('Referrers_Type')
|
||||
->setSubcategoryId('General_Overview')
|
||||
->setOrder(10)
|
||||
);
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$idSubtable = Common::getRequestVar('idSubtable', false);
|
||||
$labelColumnTitle = $this->name;
|
||||
|
||||
switch ($idSubtable) {
|
||||
case Common::REFERRER_TYPE_SEARCH_ENGINE:
|
||||
$labelColumnTitle = Piwik::translate('General_ColumnKeyword');
|
||||
break;
|
||||
case Common::REFERRER_TYPE_SOCIAL_NETWORK:
|
||||
$labelColumnTitle = Piwik::translate('Referrers_ColumnSocial');
|
||||
break;
|
||||
case Common::REFERRER_TYPE_WEBSITE:
|
||||
$labelColumnTitle = Piwik::translate('Referrers_ColumnWebsite');
|
||||
break;
|
||||
case Common::REFERRER_TYPE_CAMPAIGN:
|
||||
$labelColumnTitle = Piwik::translate('Referrers_ColumnCampaign');
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_offset_information = false;
|
||||
$view->config->show_pagination_control = false;
|
||||
$view->config->show_limit_control = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', $labelColumnTitle);
|
||||
|
||||
$view->requestConfig->filter_limit = 10;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->disable_subtable_when_show_goals = true;
|
||||
}
|
||||
|
||||
$this->configureFooterMessage($view);
|
||||
}
|
||||
|
||||
protected function configureFooterMessage(ViewDataTable $view)
|
||||
{
|
||||
if ($this->isSubtableReport) {
|
||||
// no footer message for subtables
|
||||
return;
|
||||
}
|
||||
|
||||
$out = '';
|
||||
Piwik::postEvent('Template.afterReferrerTypeReport', array(&$out));
|
||||
$view->config->show_footer_message = $out;
|
||||
}
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\Plugins\Referrers\Columns\SearchEngine;
|
||||
|
||||
class GetSearchEngines extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new SearchEngine();
|
||||
$this->name = Piwik::translate('Referrers_SearchEngines');
|
||||
$this->documentation = Piwik::translate('Referrers_SearchEnginesReportDocumentation', '<br />');
|
||||
$this->actionToLoadSubTables = 'getKeywordsFromSearchEngineId';
|
||||
$this->hasGoalMetrics = true;
|
||||
$this->order = 7;
|
||||
|
||||
$this->subcategoryId = 'Referrers_SubmenuSearchEngines';
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->show_search = false;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
|
||||
$view->requestConfig->filter_limit = 25;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->disable_subtable_when_show_goals = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Referrers\Columns\SearchEngine;
|
||||
|
||||
class GetSearchEnginesFromKeywordId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new SearchEngine();
|
||||
$this->name = Piwik::translate('Referrers_Keywords');
|
||||
$this->documentation = Piwik::translate('Referrers_KeywordsReportDocumentation', '<br />');
|
||||
$this->isSubtableReport = true;
|
||||
$this->order = 4;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
}
|
||||
|
||||
}
|
59
msd2/tracking/piwik/plugins/Referrers/Reports/GetSocials.php
Normal file
59
msd2/tracking/piwik/plugins/Referrers/Reports/GetSocials.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Pie;
|
||||
use Piwik\Plugins\Referrers\Columns\SocialNetwork;
|
||||
use Piwik\Report\ReportWidgetFactory;
|
||||
use Piwik\Widget\WidgetsList;
|
||||
|
||||
class GetSocials extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new SocialNetwork();
|
||||
$this->name = Piwik::translate('Referrers_Socials');
|
||||
$this->documentation = Piwik::translate('Referrers_WebsitesReportDocumentation', '<br />');
|
||||
$this->actionToLoadSubTables = 'getUrlsForSocial';
|
||||
$this->order = 11;
|
||||
|
||||
$this->subcategoryId = 'Referrers_Socials';
|
||||
}
|
||||
|
||||
public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory)
|
||||
{
|
||||
$widget = $factory->createWidget()->setName('Referrers_Socials');
|
||||
$widgetsList->addWidgetConfig($widget);
|
||||
}
|
||||
|
||||
public function getDefaultTypeViewDataTable()
|
||||
{
|
||||
return Pie::ID;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_pivot_by_subtable = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->show_goals = true;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
|
||||
$view->requestConfig->filter_limit = 10;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->disable_subtable_when_show_goals = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Referrers\Columns\WebsitePage;
|
||||
|
||||
class GetUrlsForSocial extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new WebsitePage();
|
||||
$this->name = Piwik::translate('Referrers_Socials');
|
||||
$this->documentation = Piwik::translate('Referrers_WebsitesReportDocumentation', '<br />');
|
||||
$this->isSubtableReport = true;
|
||||
$this->order = 12;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_goals = true;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
|
||||
$view->requestConfig->filter_limit = 10;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Referrers\Columns\WebsitePage;
|
||||
|
||||
class GetUrlsFromWebsiteId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new WebsitePage();
|
||||
$this->name = Piwik::translate('CorePluginsAdmin_Websites');
|
||||
$this->documentation = Piwik::translate('Referrers_WebsitesReportDocumentation', '<br />');
|
||||
$this->isSubtableReport = true;
|
||||
$this->order = 6;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->tooltip_metadata_name = 'url';
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<?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\Referrers\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\Plugins\Referrers\Columns\Website;
|
||||
use Piwik\Report\ReportWidgetFactory;
|
||||
use Piwik\Widget\WidgetsList;
|
||||
|
||||
class GetWebsites extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new Website();
|
||||
$this->name = Piwik::translate('CorePluginsAdmin_Websites');
|
||||
$this->documentation = Piwik::translate('Referrers_WebsitesReportDocumentation', '<br />');
|
||||
$this->recursiveLabelSeparator = '/';
|
||||
$this->actionToLoadSubTables = 'getUrlsFromWebsiteId';
|
||||
$this->hasGoalMetrics = true;
|
||||
$this->order = 5;
|
||||
|
||||
$this->subcategoryId = 'Referrers_SubmenuWebsitesOnly';
|
||||
}
|
||||
|
||||
public function getDefaultTypeViewDataTable()
|
||||
{
|
||||
if (Common::getRequestVar('widget', 0, 'int')) {
|
||||
return parent::getDefaultTypeViewDataTable();
|
||||
}
|
||||
return HtmlTable\AllColumns::ID;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
|
||||
$view->requestConfig->filter_limit = 25;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->disable_subtable_when_show_goals = true;
|
||||
}
|
||||
|
||||
$view->config->show_pivot_by_subtable = false;
|
||||
}
|
||||
|
||||
}
|
500
msd2/tracking/piwik/plugins/Referrers/SearchEngine.php
Normal file
500
msd2/tracking/piwik/plugins/Referrers/SearchEngine.php
Normal file
@ -0,0 +1,500 @@
|
||||
<?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\Referrers;
|
||||
|
||||
use Piwik\Cache;
|
||||
use Piwik\Common;
|
||||
use Piwik\Option;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Singleton;
|
||||
use Piwik\UrlHelper;
|
||||
|
||||
/**
|
||||
* Contains methods to access search engine definition data.
|
||||
*/
|
||||
class SearchEngine extends Singleton
|
||||
{
|
||||
const OPTION_STORAGE_NAME = 'SearchEngineDefinitions';
|
||||
|
||||
/** @var string location of definition file (relative to PIWIK_INCLUDE_PATH) */
|
||||
const DEFINITION_FILE = '/vendor/matomo/searchengine-and-social-list/SearchEngines.yml';
|
||||
|
||||
protected $definitionList = null;
|
||||
|
||||
/**
|
||||
* Returns list of search engines by URL
|
||||
*
|
||||
* @return array Array of ( URL => array( searchEngineName, keywordParameter, path, charset ) )
|
||||
*/
|
||||
public function getDefinitions()
|
||||
{
|
||||
$cache = Cache::getEagerCache();
|
||||
$cacheId = 'SearchEngine-' . self::OPTION_STORAGE_NAME;
|
||||
|
||||
if ($cache->contains($cacheId)) {
|
||||
$list = $cache->fetch($cacheId);
|
||||
} else {
|
||||
$list = $this->loadDefinitions();
|
||||
$cache->save($cacheId, $list);
|
||||
}
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
private function loadDefinitions()
|
||||
{
|
||||
if (empty($this->definitionList)) {
|
||||
// Read first from the auto-updated list in database
|
||||
$list = Option::get(self::OPTION_STORAGE_NAME);
|
||||
|
||||
if ($list) {
|
||||
$this->definitionList = Common::safe_unserialize(base64_decode($list));
|
||||
} else {
|
||||
// Fallback to reading the bundled list
|
||||
$yml = file_get_contents(PIWIK_INCLUDE_PATH . self::DEFINITION_FILE);
|
||||
$this->definitionList = $this->loadYmlData($yml);
|
||||
Option::set(self::OPTION_STORAGE_NAME, base64_encode(serialize($this->definitionList)));
|
||||
}
|
||||
}
|
||||
|
||||
Piwik::postEvent('Referrer.addSearchEngineUrls', array(&$this->definitionList));
|
||||
|
||||
$this->convertLegacyDefinitions();
|
||||
|
||||
return $this->definitionList;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated remove in 3.0
|
||||
*/
|
||||
protected function convertLegacyDefinitions()
|
||||
{
|
||||
foreach ($this->definitionList as $url => $definition) {
|
||||
if (!array_key_exists('name', $definition) && isset($definition[0]) && isset($definition[1])) {
|
||||
$this->definitionList[$url] = array(
|
||||
'name' => $definition[0],
|
||||
'params' => $definition[1],
|
||||
'backlink' => @$definition[2],
|
||||
'charsets' => @$definition[3]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the given YML string and caches the resulting definitions
|
||||
*
|
||||
* @param string $yml
|
||||
* @return array
|
||||
*/
|
||||
public function loadYmlData($yml)
|
||||
{
|
||||
$searchEngines = \Spyc::YAMLLoadString($yml);
|
||||
|
||||
$this->definitionList = $this->transformData($searchEngines);
|
||||
|
||||
return $this->definitionList;
|
||||
}
|
||||
|
||||
protected function transformData($searchEngines)
|
||||
{
|
||||
$urlToInfo = array();
|
||||
|
||||
foreach ($searchEngines as $name => $info) {
|
||||
if (empty($info) || !is_array($info)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($info as $urlDefinitions) {
|
||||
foreach ($urlDefinitions['urls'] as $url) {
|
||||
$searchEngineData = $urlDefinitions;
|
||||
unset($searchEngineData['urls']);
|
||||
$searchEngineData['name'] = $name;
|
||||
$urlToInfo[$url] = $searchEngineData;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $urlToInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns list of search engines by name
|
||||
*
|
||||
* @return array Array of ( searchEngineName => URL )
|
||||
*/
|
||||
public function getNames()
|
||||
{
|
||||
$cacheId = 'SearchEngine.getSearchEngineNames';
|
||||
$cache = Cache::getTransientCache();
|
||||
$nameToUrl = $cache->fetch($cacheId);
|
||||
|
||||
if (empty($nameToUrl)) {
|
||||
$searchEngines = $this->getDefinitions();
|
||||
|
||||
$nameToUrl = array();
|
||||
foreach ($searchEngines as $url => $info) {
|
||||
if (!isset($nameToUrl[$info['name']])) {
|
||||
$nameToUrl[$info['name']] = $url;
|
||||
}
|
||||
}
|
||||
$cache->save($cacheId, $nameToUrl);
|
||||
}
|
||||
|
||||
return $nameToUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns definitions for the given search engine host
|
||||
*
|
||||
* @param string $host
|
||||
* @return array
|
||||
*/
|
||||
public function getDefinitionByHost($host)
|
||||
{
|
||||
$searchEngines = $this->getDefinitions();
|
||||
|
||||
if (!array_key_exists($host, $searchEngines)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return $searchEngines[$host];
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts a keyword from a raw not encoded URL.
|
||||
* Will only extract keyword if a known search engine has been detected.
|
||||
* Returns the keyword:
|
||||
* - in UTF8: automatically converted from other charsets when applicable
|
||||
* - strtolowered: "QUErY test!" will return "query test!"
|
||||
* - trimmed: extra spaces before and after are removed
|
||||
*
|
||||
* The function returns false when a keyword couldn't be found.
|
||||
* eg. if the url is "http://www.google.com/partners.html" this will return false,
|
||||
* as the google keyword parameter couldn't be found.
|
||||
*
|
||||
* @see unit tests in /tests/core/Common.test.php
|
||||
* @param string $referrerUrl URL referrer URL, eg. $_SERVER['HTTP_REFERER']
|
||||
* @return array|bool false if a keyword couldn't be extracted,
|
||||
* or array(
|
||||
* 'name' => 'Google',
|
||||
* 'keywords' => 'my searched keywords')
|
||||
*/
|
||||
public function extractInformationFromUrl($referrerUrl)
|
||||
{
|
||||
$referrerParsed = @parse_url($referrerUrl);
|
||||
$referrerHost = '';
|
||||
if (isset($referrerParsed['host'])) {
|
||||
$referrerHost = $referrerParsed['host'];
|
||||
}
|
||||
if (empty($referrerHost)) {
|
||||
return false;
|
||||
}
|
||||
// some search engines (eg. Bing Images) use the same domain
|
||||
// as an existing search engine (eg. Bing), we must also use the url path
|
||||
$referrerPath = '';
|
||||
if (isset($referrerParsed['path'])) {
|
||||
$referrerPath = $referrerParsed['path'];
|
||||
}
|
||||
|
||||
$query = '';
|
||||
if (isset($referrerParsed['query'])) {
|
||||
$query = $referrerParsed['query'];
|
||||
}
|
||||
|
||||
// Google Referrers URLs sometimes have the fragment which contains the keyword
|
||||
if (!empty($referrerParsed['fragment'])) {
|
||||
$query .= '&' . $referrerParsed['fragment'];
|
||||
}
|
||||
|
||||
$referrerHost = $this->getEngineHostFromUrl($referrerHost, $referrerPath, $query);
|
||||
|
||||
if (empty($referrerHost)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$definitions = $this->getDefinitionByHost($referrerHost);
|
||||
|
||||
$searchEngineName = $definitions['name'];
|
||||
$variableNames = $definitions['params'];
|
||||
$keywordsHiddenFor = !empty($definitions['hiddenkeyword']) ? $definitions['hiddenkeyword'] : array();
|
||||
|
||||
$key = null;
|
||||
if ($searchEngineName === 'Google Images') {
|
||||
if (strpos($query, '&prev') !== false) {
|
||||
$query = urldecode(trim(UrlHelper::getParameterFromQueryString($query, 'prev')));
|
||||
$query = str_replace('&', '&', strstr($query, '?'));
|
||||
}
|
||||
$searchEngineName = 'Google Images';
|
||||
} elseif ($searchEngineName === 'Google'
|
||||
&& (strpos($query, '&as_') !== false || strpos($query, 'as_') === 0)
|
||||
) {
|
||||
$keys = array();
|
||||
$key = UrlHelper::getParameterFromQueryString($query, 'as_q');
|
||||
if (!empty($key)) {
|
||||
array_push($keys, $key);
|
||||
}
|
||||
$key = UrlHelper::getParameterFromQueryString($query, 'as_oq');
|
||||
if (!empty($key)) {
|
||||
array_push($keys, str_replace('+', ' OR ', $key));
|
||||
}
|
||||
$key = UrlHelper::getParameterFromQueryString($query, 'as_epq');
|
||||
if (!empty($key)) {
|
||||
array_push($keys, "\"$key\"");
|
||||
}
|
||||
$key = UrlHelper::getParameterFromQueryString($query, 'as_eq');
|
||||
if (!empty($key)) {
|
||||
array_push($keys, "-$key");
|
||||
}
|
||||
$key = trim(urldecode(implode(' ', $keys)));
|
||||
}
|
||||
|
||||
if ($searchEngineName === 'Google') {
|
||||
// top bar menu
|
||||
$tbm = UrlHelper::getParameterFromQueryString($query, 'tbm');
|
||||
switch ($tbm) {
|
||||
case 'isch':
|
||||
$searchEngineName = 'Google Images';
|
||||
break;
|
||||
case 'vid':
|
||||
$searchEngineName = 'Google Video';
|
||||
break;
|
||||
case 'shop':
|
||||
$searchEngineName = 'Google Shopping';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($key)) {
|
||||
foreach ($variableNames as $variableName) {
|
||||
if ($variableName[0] == '/') {
|
||||
// regular expression match
|
||||
if (preg_match($variableName, $referrerUrl, $matches)) {
|
||||
$key = trim(urldecode($matches[1]));
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// search for keywords now &vname=keyword
|
||||
$key = UrlHelper::getParameterFromQueryString($query, $variableName);
|
||||
$key = trim(urldecode($key));
|
||||
|
||||
// Special cases: empty keywords
|
||||
if (empty($key)
|
||||
&& (
|
||||
// empty keyword parameter
|
||||
strpos($query, sprintf('&%s=', $variableName)) !== false
|
||||
|| strpos($query, sprintf('?%s=', $variableName)) !== false
|
||||
)
|
||||
) {
|
||||
$key = false;
|
||||
}
|
||||
if (!empty($key)
|
||||
|| $key === false
|
||||
) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if no keyword found, but empty keywords are allowed
|
||||
if (!empty($keywordsHiddenFor) && ($key === null || $key === '')) {
|
||||
|
||||
$pathWithQueryAndFragment = $referrerPath;
|
||||
if (!empty($query)) {
|
||||
$pathWithQueryAndFragment .= '?'.$query;
|
||||
}
|
||||
if (!empty($referrerParsed['fragment'])) {
|
||||
$pathWithQueryAndFragment .= '#'.$referrerParsed['fragment'];
|
||||
}
|
||||
|
||||
foreach ($keywordsHiddenFor as $path) {
|
||||
if (strlen($path) > 1 && substr($path, 0, 1) == '/' && substr($path, -1, 1) == '/') {
|
||||
if (preg_match($path, $pathWithQueryAndFragment)) {
|
||||
$key = false;
|
||||
break;
|
||||
}
|
||||
} elseif ($path == $pathWithQueryAndFragment) {
|
||||
$key = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// $key === false is the special case "No keyword provided" which is a Search engine match
|
||||
if ($key === null || $key === '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!empty($key)) {
|
||||
if (!empty($definitions['charsets'])) {
|
||||
$key = $this->convertCharset($key, $definitions['charsets']);
|
||||
}
|
||||
$key = Common::mb_strtolower($key);
|
||||
}
|
||||
|
||||
return array(
|
||||
'name' => $searchEngineName,
|
||||
'keywords' => $key,
|
||||
);
|
||||
}
|
||||
|
||||
protected function getEngineHostFromUrl($host, $path, $query)
|
||||
{
|
||||
$searchEngines = $this->getDefinitions();
|
||||
|
||||
$hostPattern = UrlHelper::getLossyUrl($host);
|
||||
/*
|
||||
* Try to get the best matching 'host' in definitions
|
||||
* 1. check if host + path matches an definition
|
||||
* 2. check if host only matches
|
||||
* 3. check if host pattern + path matches
|
||||
* 4. check if host pattern matches
|
||||
* 5. special handling
|
||||
*/
|
||||
if (array_key_exists($host . $path, $searchEngines)) {
|
||||
$host = $host . $path;
|
||||
} elseif (array_key_exists($host, $searchEngines)) {
|
||||
// no need to change host
|
||||
} elseif (array_key_exists($hostPattern . $path, $searchEngines)) {
|
||||
$host = $hostPattern . $path;
|
||||
} elseif (array_key_exists($hostPattern, $searchEngines)) {
|
||||
$host = $hostPattern;
|
||||
} elseif (!array_key_exists($host, $searchEngines)) {
|
||||
if (!strncmp($query, 'cx=partner-pub-', 15)) {
|
||||
// Google custom search engine
|
||||
$host = 'google.com/cse';
|
||||
} elseif (!strncmp($path, '/pemonitorhosted/ws/results/', 28)) {
|
||||
// private-label search powered by InfoSpace Metasearch
|
||||
$host = 'wsdsold.infospace.com';
|
||||
} elseif (strpos($host, '.images.search.yahoo.com') != false) {
|
||||
// Yahoo! Images
|
||||
$host = 'images.search.yahoo.com';
|
||||
} elseif (strpos($host, '.search.yahoo.com') != false) {
|
||||
// Yahoo!
|
||||
$host = 'search.yahoo.com';
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return $host;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tries to convert the given string from one of the given charsets to UTF-8
|
||||
* @param string $string
|
||||
* @param array $charsets
|
||||
* @return string
|
||||
*/
|
||||
protected function convertCharset($string, $charsets)
|
||||
{
|
||||
if (function_exists('iconv')
|
||||
&& !empty($charsets)
|
||||
) {
|
||||
$charset = $charsets[0];
|
||||
if (count($charsets) > 1
|
||||
&& function_exists('mb_detect_encoding')
|
||||
) {
|
||||
$charset = mb_detect_encoding($string, $charsets);
|
||||
if ($charset === false) {
|
||||
$charset = $charsets[0];
|
||||
}
|
||||
}
|
||||
|
||||
$newKey = @iconv($charset, 'UTF-8//IGNORE', $string);
|
||||
if (!empty($newKey)) {
|
||||
$string = $newKey;
|
||||
}
|
||||
}
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return search engine URL by name
|
||||
*
|
||||
* @see core/DataFiles/SearchEnginges.php
|
||||
*
|
||||
* @param string $name
|
||||
* @return string URL
|
||||
*/
|
||||
public function getUrlFromName($name)
|
||||
{
|
||||
$searchEngineNames = $this->getNames();
|
||||
if (isset($searchEngineNames[$name])) {
|
||||
$url = 'http://' . $searchEngineNames[$name];
|
||||
} else {
|
||||
$url = 'URL unknown!';
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return search engine host in URL
|
||||
*
|
||||
* @param string $url
|
||||
* @return string host
|
||||
*/
|
||||
private function getHostFromUrl($url)
|
||||
{
|
||||
if (strpos($url, '//')) {
|
||||
$url = substr($url, strpos($url, '//') + 2);
|
||||
}
|
||||
if (($p = strpos($url, '/')) !== false) {
|
||||
$url = substr($url, 0, $p);
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return search engine logo path by URL
|
||||
*
|
||||
* @param string $url
|
||||
* @return string path
|
||||
* @see plugins/Morpheus/icons/dist/searchEnginges/
|
||||
*/
|
||||
public function getLogoFromUrl($url)
|
||||
{
|
||||
$pathInPiwik = 'plugins/Morpheus/icons/dist/searchEngines/%s.png';
|
||||
$pathWithCode = sprintf($pathInPiwik, $this->getHostFromUrl($url));
|
||||
$absolutePath = PIWIK_INCLUDE_PATH . '/' . $pathWithCode;
|
||||
if (file_exists($absolutePath)) {
|
||||
return $pathWithCode;
|
||||
}
|
||||
return sprintf($pathInPiwik, 'xx');
|
||||
}
|
||||
|
||||
/**
|
||||
* Return search engine URL for URL and keyword
|
||||
*
|
||||
* @see core/DataFiles/SearchEnginges.php
|
||||
*
|
||||
* @param string $url Domain name, e.g., search.piwik.org
|
||||
* @param string $keyword Keyword, e.g., web+analytics
|
||||
* @return string URL, e.g., http://search.piwik.org/q=web+analytics
|
||||
*/
|
||||
public function getBackLinkFromUrlAndKeyword($url, $keyword)
|
||||
{
|
||||
if ($keyword === API::LABEL_KEYWORD_NOT_DEFINED) {
|
||||
return 'https://matomo.org/faq/general/#faq_144';
|
||||
}
|
||||
$keyword = urlencode($keyword);
|
||||
$keyword = str_replace(urlencode('+'), urlencode(' '), $keyword);
|
||||
$host = substr($url, strpos($url, '//') + 2);
|
||||
$definition = $this->getDefinitionByHost($host);
|
||||
if (empty($definition['backlink'])) {
|
||||
return false;
|
||||
}
|
||||
$path = str_replace("{k}", $keyword, $definition['backlink']);
|
||||
return $url . (substr($url, -1) != '/' ? '/' : '') . $path;
|
||||
}
|
||||
}
|
203
msd2/tracking/piwik/plugins/Referrers/Social.php
Normal file
203
msd2/tracking/piwik/plugins/Referrers/Social.php
Normal file
@ -0,0 +1,203 @@
|
||||
<?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\Referrers;
|
||||
use Piwik\Cache;
|
||||
use Piwik\Common;
|
||||
use Piwik\Option;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Singleton;
|
||||
|
||||
/**
|
||||
* Contains methods to access search engine definition data.
|
||||
*/
|
||||
class Social extends Singleton
|
||||
{
|
||||
const OPTION_STORAGE_NAME = 'SocialDefinitions';
|
||||
|
||||
/** @var string location of definition file (relative to PIWIK_INCLUDE_PATH) */
|
||||
const DEFINITION_FILE = '/vendor/matomo/searchengine-and-social-list/Socials.yml';
|
||||
|
||||
protected $definitionList = null;
|
||||
|
||||
/**
|
||||
* Returns list of search engines by URL
|
||||
*
|
||||
* @return array Array of ( URL => array( searchEngineName, keywordParameter, path, charset ) )
|
||||
*/
|
||||
public function getDefinitions()
|
||||
{
|
||||
$cache = Cache::getEagerCache();
|
||||
$cacheId = 'Social-' . self::OPTION_STORAGE_NAME;
|
||||
|
||||
if ($cache->contains($cacheId)) {
|
||||
$list = $cache->fetch($cacheId);
|
||||
} else {
|
||||
$list = $this->loadDefinitions();
|
||||
$cache->save($cacheId, $list);
|
||||
}
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
private function loadDefinitions()
|
||||
{
|
||||
if ($this->definitionList === null) {
|
||||
// Read first from the auto-updated list in database
|
||||
$list = Option::get(self::OPTION_STORAGE_NAME);
|
||||
|
||||
if ($list) {
|
||||
$this->definitionList = Common::safe_unserialize(base64_decode($list));
|
||||
} else {
|
||||
// Fallback to reading the bundled list
|
||||
$yml = file_get_contents(PIWIK_INCLUDE_PATH . self::DEFINITION_FILE);
|
||||
$this->definitionList = $this->loadYmlData($yml);
|
||||
Option::set(self::OPTION_STORAGE_NAME, base64_encode(serialize($this->definitionList)));
|
||||
}
|
||||
}
|
||||
|
||||
Piwik::postEvent('Referrer.addSocialUrls', array(&$this->definitionList));
|
||||
|
||||
return $this->definitionList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the given YML string and caches the resulting definitions
|
||||
*
|
||||
* @param string $yml
|
||||
* @return array
|
||||
*/
|
||||
public function loadYmlData($yml)
|
||||
{
|
||||
$searchEngines = \Spyc::YAMLLoadString($yml);
|
||||
|
||||
$this->definitionList = $this->transformData($searchEngines);
|
||||
|
||||
return $this->definitionList;
|
||||
}
|
||||
|
||||
protected function transformData($socials)
|
||||
{
|
||||
$urlToName = array();
|
||||
foreach ($socials as $name => $urls) {
|
||||
if (empty($urls) || !is_array($urls)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($urls as $url) {
|
||||
$urlToName[$url] = $name;
|
||||
}
|
||||
}
|
||||
return $urlToName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if a URL belongs to a social network, false if otherwise.
|
||||
*
|
||||
* @param string $url The URL to check.
|
||||
* @param string|bool $socialName The social network's name to check for, or false to check
|
||||
* for any.
|
||||
* @return bool
|
||||
*/
|
||||
public function isSocialUrl($url, $socialName = false)
|
||||
{
|
||||
foreach ($this->getDefinitions() as $domain => $name) {
|
||||
|
||||
if (preg_match('/(^|[\.\/])'.$domain.'([\.\/]|$)/', $url) && ($socialName === false || $name == $socialName)) {
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get's social network name from URL.
|
||||
*
|
||||
* @param string $url
|
||||
* @return string
|
||||
*/
|
||||
public function getSocialNetworkFromDomain($url)
|
||||
{
|
||||
foreach ($this->getDefinitions() as $domain => $name) {
|
||||
|
||||
if (preg_match('/(^|[\.\/])'.$domain.'([\.\/]|$)/', $url)) {
|
||||
|
||||
return $name;
|
||||
}
|
||||
}
|
||||
|
||||
return Piwik::translate('General_Unknown');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the main url of the social network the given url matches
|
||||
*
|
||||
* @param string $url
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getMainUrl($url)
|
||||
{
|
||||
$social = $this->getSocialNetworkFromDomain($url);
|
||||
foreach ($this->getDefinitions() as $domain => $name) {
|
||||
|
||||
if ($name == $social) {
|
||||
|
||||
return $domain;
|
||||
}
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the main url of the given social network
|
||||
*
|
||||
* @param string $social
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getMainUrlFromName($social)
|
||||
{
|
||||
foreach ($this->getDefinitions() as $domain => $name) {
|
||||
|
||||
if ($name == $social) {
|
||||
|
||||
return $domain;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return social network logo path by URL
|
||||
*
|
||||
* @param string $domain
|
||||
* @return string path
|
||||
* @see plugins/Morpheus/icons/dist/socials/
|
||||
*/
|
||||
public function getLogoFromUrl($domain)
|
||||
{
|
||||
$social = $this->getSocialNetworkFromDomain($domain);
|
||||
$socialNetworks = $this->getDefinitions();
|
||||
|
||||
$filePattern = 'plugins/Morpheus/icons/dist/socials/%s.png';
|
||||
|
||||
$socialDomains = array_keys($socialNetworks, $social);
|
||||
foreach ($socialDomains as $domain) {
|
||||
if (file_exists(PIWIK_INCLUDE_PATH . '/' . sprintf($filePattern, $domain))) {
|
||||
return sprintf($filePattern, $domain);
|
||||
}
|
||||
}
|
||||
|
||||
return sprintf($filePattern, 'xx');
|
||||
}
|
||||
}
|
57
msd2/tracking/piwik/plugins/Referrers/Tasks.php
Normal file
57
msd2/tracking/piwik/plugins/Referrers/Tasks.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?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\Referrers;
|
||||
|
||||
|
||||
use Piwik\Http;
|
||||
use Piwik\Option;
|
||||
use Piwik\SettingsPiwik;
|
||||
|
||||
class Tasks extends \Piwik\Plugin\Tasks
|
||||
{
|
||||
public function schedule()
|
||||
{
|
||||
if(SettingsPiwik::isInternetEnabled() === true){
|
||||
$this->weekly('updateSearchEngines');
|
||||
$this->weekly('updateSocials');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the search engine definitions
|
||||
*
|
||||
* @see https://github.com/matomo-org/searchengine-and-social-list
|
||||
*/
|
||||
public function updateSearchEngines()
|
||||
{
|
||||
$url = 'https://raw.githubusercontent.com/matomo-org/searchengine-and-social-list/master/SearchEngines.yml';
|
||||
$list = Http::sendHttpRequest($url, 30);
|
||||
$searchEngines = SearchEngine::getInstance()->loadYmlData($list);
|
||||
if (count($searchEngines) < 200) {
|
||||
return;
|
||||
}
|
||||
Option::set(SearchEngine::OPTION_STORAGE_NAME, base64_encode(serialize($searchEngines)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the social definitions
|
||||
*
|
||||
* @see https://github.com/matomo-org/searchengine-and-social-list
|
||||
*/
|
||||
public function updateSocials()
|
||||
{
|
||||
$url = 'https://raw.githubusercontent.com/matomo-org/searchengine-and-social-list/master/Socials.yml';
|
||||
$list = Http::sendHttpRequest($url, 30);
|
||||
$socials = Social::getInstance()->loadYmlData($list);
|
||||
if (count($socials) < 50) {
|
||||
return;
|
||||
}
|
||||
Option::set(Social::OPTION_STORAGE_NAME, base64_encode(serialize($socials)));
|
||||
}
|
||||
}
|
148
msd2/tracking/piwik/plugins/Referrers/VisitorDetails.php
Normal file
148
msd2/tracking/piwik/plugins/Referrers/VisitorDetails.php
Normal file
@ -0,0 +1,148 @@
|
||||
<?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\Referrers;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Plugins\Live\VisitorDetailsAbstract;
|
||||
use Piwik\UrlHelper;
|
||||
use Piwik\View;
|
||||
|
||||
class VisitorDetails extends VisitorDetailsAbstract
|
||||
{
|
||||
public function extendVisitorDetails(&$visitor)
|
||||
{
|
||||
$visitor['referrerType'] = $this->getReferrerType();
|
||||
$visitor['referrerTypeName'] = $this->getReferrerTypeName();
|
||||
$visitor['referrerName'] = $this->getReferrerName();
|
||||
$visitor['referrerKeyword'] = $this->getKeyword();
|
||||
$visitor['referrerKeywordPosition'] = $this->getKeywordPosition();
|
||||
$visitor['referrerUrl'] = $this->getReferrerUrl();
|
||||
$visitor['referrerSearchEngineUrl'] = $this->getSearchEngineUrl();
|
||||
$visitor['referrerSearchEngineIcon'] = $this->getSearchEngineIcon();
|
||||
$visitor['referrerSocialNetworkUrl'] = $this->getSocialNetworkUrl();
|
||||
$visitor['referrerSocialNetworkIcon'] = $this->getSocialNetworkIcon();
|
||||
}
|
||||
|
||||
public function renderVisitorDetails($visitorDetails)
|
||||
{
|
||||
$view = new View('@Referrers/_visitorDetails.twig');
|
||||
$view->visitInfo = $visitorDetails;
|
||||
return [[ 10, $view->render() ]];
|
||||
}
|
||||
|
||||
protected function getReferrerType()
|
||||
{
|
||||
try {
|
||||
$referrerType = getReferrerTypeFromShortName($this->details['referer_type']);
|
||||
} catch (\Exception $e) {
|
||||
$referrerType = '';
|
||||
}
|
||||
|
||||
return $referrerType;
|
||||
}
|
||||
|
||||
protected function getReferrerTypeName()
|
||||
{
|
||||
return getReferrerTypeLabel($this->details['referer_type']);
|
||||
}
|
||||
|
||||
protected function getKeyword()
|
||||
{
|
||||
$keyword = Common::unsanitizeInputValue($this->details['referer_keyword']);
|
||||
|
||||
if ($this->getReferrerType() == 'search') {
|
||||
$keyword = API::getCleanKeyword($keyword);
|
||||
}
|
||||
|
||||
return urldecode($keyword);
|
||||
}
|
||||
|
||||
protected function getReferrerUrl()
|
||||
{
|
||||
if (UrlHelper::isLookLikeUrl($this->details['referer_url'])) {
|
||||
return $this->details['referer_url'];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function getKeywordPosition()
|
||||
{
|
||||
if ($this->getReferrerType() == 'search'
|
||||
&& strpos($this->getReferrerName(), 'Google') !== false
|
||||
) {
|
||||
$url = @parse_url($this->details['referer_url']);
|
||||
if (empty($url['query'])) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$position = UrlHelper::getParameterFromQueryString($url['query'], 'cd');
|
||||
if (!empty($position)) {
|
||||
|
||||
return $position;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function getReferrerName()
|
||||
{
|
||||
return urldecode($this->details['referer_name']);
|
||||
}
|
||||
|
||||
protected function getSearchEngineUrl()
|
||||
{
|
||||
if ($this->getReferrerType() == 'search'
|
||||
&& !empty($this->details['referer_name'])
|
||||
) {
|
||||
|
||||
return SearchEngine::getInstance()->getUrlFromName($this->details['referer_name']);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function getSearchEngineIcon()
|
||||
{
|
||||
$searchEngineUrl = $this->getSearchEngineUrl();
|
||||
|
||||
if (!is_null($searchEngineUrl)) {
|
||||
|
||||
return SearchEngine::getInstance()->getLogoFromUrl($searchEngineUrl);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function getSocialNetworkUrl()
|
||||
{
|
||||
if ($this->getReferrerType() == 'social'
|
||||
&& !empty($this->details['referer_name'])
|
||||
) {
|
||||
|
||||
return Social::getInstance()->getMainUrl($this->details['referer_url']);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function getSocialNetworkIcon()
|
||||
{
|
||||
$socialNetworkUrl = $this->getSocialNetworkUrl();
|
||||
|
||||
if (!is_null($socialNetworkUrl)) {
|
||||
|
||||
return Social::getInstance()->getLogoFromUrl($socialNetworkUrl);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* Matomo - free/libre analytics platform
|
||||
*
|
||||
* @link https://matomo.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Referrers\Widgets;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin;
|
||||
use Piwik\Widget\WidgetConfig;
|
||||
use Piwik\SettingsPiwik;
|
||||
|
||||
class GetCampaignUrlBuilder extends \Piwik\Widget\Widget
|
||||
{
|
||||
public static function configure(WidgetConfig $config)
|
||||
{
|
||||
$config->setCategoryId('Referrers_Referrers');
|
||||
$config->setSubcategoryId('Referrers_URLCampaignBuilder');
|
||||
$config->setName('Referrers_URLCampaignBuilder');
|
||||
|
||||
$idSite = self::getIdSite();
|
||||
if (!Piwik::isUserHasViewAccess($idSite)) {
|
||||
$config->disable();
|
||||
}
|
||||
}
|
||||
|
||||
private static function getIdSite()
|
||||
{
|
||||
return Common::getRequestVar('idSite', 0, 'int');
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
$idSite = self::getIdSite();
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$hasExtraPlugin = Plugin\Manager::getInstance()->isPluginActivated('MarketingCampaignsReporting');
|
||||
|
||||
return $this->renderTemplate('campaignBuilder', array(
|
||||
'hasExtraPlugin' => (int)$hasExtraPlugin
|
||||
));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
/*!
|
||||
* Matomo - free/libre analytics platform
|
||||
*
|
||||
* @link https://matomo.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp').controller('CampaignBuilderController', CampaignBuilderController);
|
||||
|
||||
CampaignBuilderController.$inject = ['$scope'];
|
||||
|
||||
function CampaignBuilderController($scope) {
|
||||
this.hasExtraPlugin = $scope.hasExtraPlugin;
|
||||
|
||||
this.reset = function () {
|
||||
this.websiteUrl = '';
|
||||
this.campaignName = '';
|
||||
this.campaignKeyword = '';
|
||||
this.campaignSource = '';
|
||||
this.campaignMedium = '';
|
||||
this.campaignContent = '';
|
||||
this.generatedUrl = '';
|
||||
};
|
||||
|
||||
this.generateUrl = function () {
|
||||
this.generatedUrl = String(this.websiteUrl);
|
||||
|
||||
if (this.generatedUrl.indexOf('http') !== 0) {
|
||||
this.generatedUrl = 'https://' + this.generatedUrl.trim();
|
||||
}
|
||||
|
||||
var urlHashPos = this.generatedUrl.indexOf('#');
|
||||
var urlHash = '';
|
||||
if (urlHashPos >= 0) {
|
||||
urlHash = this.generatedUrl.substr(urlHashPos);
|
||||
this.generatedUrl = this.generatedUrl.substr(0, urlHashPos);
|
||||
}
|
||||
|
||||
if (this.generatedUrl.indexOf('/', 10) < 0 && this.generatedUrl.indexOf("?") < 0) {
|
||||
this.generatedUrl += '/';
|
||||
}
|
||||
|
||||
var campaignName = encodeURIComponent(this.campaignName.trim());
|
||||
|
||||
if (this.generatedUrl.indexOf('?') > 0 || this.generatedUrl.indexOf('#') > 0) {
|
||||
this.generatedUrl += '&';
|
||||
} else {
|
||||
this.generatedUrl += '?';
|
||||
}
|
||||
|
||||
this.generatedUrl += 'pk_campaign='+campaignName;
|
||||
|
||||
if (this.campaignKeyword) {
|
||||
this.generatedUrl += '&pk_kwd='+encodeURIComponent(this.campaignKeyword.trim());
|
||||
}
|
||||
|
||||
if (this.campaignSource) {
|
||||
this.generatedUrl += '&pk_source='+encodeURIComponent(this.campaignSource.trim());
|
||||
}
|
||||
|
||||
if (this.campaignMedium) {
|
||||
this.generatedUrl += '&pk_medium='+encodeURIComponent(this.campaignMedium.trim());
|
||||
}
|
||||
|
||||
if (this.campaignContent) {
|
||||
this.generatedUrl += '&pk_content='+encodeURIComponent(this.campaignContent.trim());
|
||||
}
|
||||
|
||||
this.generatedUrl += urlHash;
|
||||
|
||||
$('#urlCampaignBuilderResult').effect("highlight", {}, 1500);
|
||||
};
|
||||
|
||||
this.reset();
|
||||
}
|
||||
})();
|
@ -0,0 +1,60 @@
|
||||
<div class="campaignUrlBuilder">
|
||||
|
||||
<form>
|
||||
<div piwik-field uicontrol="text" name="websiteurl"
|
||||
title="{{'Actions_ColumnPageURL'|translate}} ({{ 'General_Required2'|translate }})"
|
||||
ng-model="campaignBuilder.websiteUrl"
|
||||
inline-help="{{'Referrers_CampaignPageUrlHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignname"
|
||||
title="{{ 'CoreAdminHome_JSTracking_CampaignNameParam'|translate }} ({{ 'General_Required2'|translate }})"
|
||||
ng-model="campaignBuilder.campaignName"
|
||||
inline-help="{{'Referrers_CampaignNameHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignkeyword"
|
||||
title="{{ 'CoreAdminHome_JSTracking_CampaignKwdParam'|translate }}"
|
||||
ng-model="campaignBuilder.campaignKeyword"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignKeywordHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignsource"
|
||||
title="{{ 'Referrers_CampaignSource'|translate }}"
|
||||
ng-model="campaignBuilder.campaignSource"
|
||||
ng-show="campaignBuilder.hasExtraPlugin"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignSourceHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignmedium"
|
||||
title="{{ 'Referrers_CampaignMedium'|translate }}"
|
||||
ng-model="campaignBuilder.campaignMedium"
|
||||
ng-show="campaignBuilder.hasExtraPlugin"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignMediumHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaigncontent"
|
||||
title="{{ 'Referrers_CampaignContent'|translate }}"
|
||||
ng-model="campaignBuilder.campaignContent"
|
||||
ng-show="campaignBuilder.hasExtraPlugin"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignContentHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-save-button
|
||||
class="generateCampaignUrl"
|
||||
onconfirm="campaignBuilder.generateUrl()"
|
||||
data-disabled="!campaignBuilder.websiteUrl || !campaignBuilder.campaignName"
|
||||
value="{{ 'Referrers_GenerateUrl'|translate }}">
|
||||
</div>
|
||||
<div piwik-save-button
|
||||
class="resetCampaignUrl"
|
||||
onconfirm="campaignBuilder.reset()"
|
||||
value="{{ 'General_Clear'|translate }}">
|
||||
</div>
|
||||
|
||||
<div ng-show="campaignBuilder.generatedUrl">
|
||||
<h3>{{'Referrers_URLCampaignBuilderResult'|translate}}</h3>
|
||||
<pre piwik-select-on-focus id="urlCampaignBuilderResult"><code ng-bind="campaignBuilder.generatedUrl"></code></pre>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
@ -0,0 +1,44 @@
|
||||
/*!
|
||||
* Matomo - free/libre analytics platform
|
||||
*
|
||||
* @link https://matomo.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
/**
|
||||
* Usage:
|
||||
* <div matomo-campaign-builder>
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp').directive('matomoCampaignBuilder', matomoCampaignBuilder);
|
||||
|
||||
matomoCampaignBuilder.$inject = ['piwik'];
|
||||
|
||||
function matomoCampaignBuilder(piwik){
|
||||
var defaults = {
|
||||
hasExtraPlugin: true
|
||||
};
|
||||
|
||||
return {
|
||||
restrict: 'A',
|
||||
scope: {
|
||||
hasExtraPlugin: '<'
|
||||
},
|
||||
templateUrl: 'plugins/Referrers/angularjs/campaign-builder/campaign-builder.directive.html?cb=' + piwik.cacheBuster,
|
||||
controller: 'CampaignBuilderController',
|
||||
controllerAs: 'campaignBuilder',
|
||||
compile: function (element, attrs) {
|
||||
|
||||
for (var index in defaults) {
|
||||
if (defaults.hasOwnProperty(index) && attrs[index] === undefined) {
|
||||
attrs[index] = defaults[index];
|
||||
}
|
||||
}
|
||||
|
||||
return function (scope, element, attrs) {
|
||||
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
})();
|
@ -0,0 +1,3 @@
|
||||
.campaignUrlBuilder {
|
||||
margin-bottom: 30px;
|
||||
}
|
103
msd2/tracking/piwik/plugins/Referrers/functions.php
Normal file
103
msd2/tracking/piwik/plugins/Referrers/functions.php
Normal file
@ -0,0 +1,103 @@
|
||||
<?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\Referrers;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\UrlHelper;
|
||||
|
||||
/**
|
||||
* Returns path component from a URL
|
||||
*
|
||||
* @param string $url
|
||||
* @return string path
|
||||
*/
|
||||
function getPathFromUrl($url)
|
||||
{
|
||||
$path = UrlHelper::getPathAndQueryFromUrl($url);
|
||||
if (empty($path)) {
|
||||
return 'index';
|
||||
}
|
||||
return $path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return translated referrer type
|
||||
*
|
||||
* @param string $label
|
||||
* @return string Referrer type
|
||||
*/
|
||||
function getReferrerTypeLabel($label)
|
||||
{
|
||||
switch ($label) {
|
||||
case 'direct':
|
||||
case Common::REFERRER_TYPE_DIRECT_ENTRY:
|
||||
$indexTranslation = 'Referrers_DirectEntry';
|
||||
break;
|
||||
case 'search':
|
||||
case Common::REFERRER_TYPE_SEARCH_ENGINE:
|
||||
$indexTranslation = 'Referrers_SearchEngines';
|
||||
break;
|
||||
case 'social':
|
||||
case Common::REFERRER_TYPE_SOCIAL_NETWORK:
|
||||
$indexTranslation = 'Referrers_Socials';
|
||||
break;
|
||||
case 'website':
|
||||
case Common::REFERRER_TYPE_WEBSITE:
|
||||
$indexTranslation = 'Referrers_Websites';
|
||||
break;
|
||||
case 'campaign':
|
||||
case Common::REFERRER_TYPE_CAMPAIGN:
|
||||
$indexTranslation = 'Referrers_Campaigns';
|
||||
break;
|
||||
default:
|
||||
// case of newsletter, partners, before Piwik 0.2.25
|
||||
$indexTranslation = 'General_Others';
|
||||
break;
|
||||
}
|
||||
return Piwik::translate($indexTranslation);
|
||||
}
|
||||
|
||||
/**
|
||||
* Works in both directions
|
||||
* @param string $name
|
||||
* @throws \Exception
|
||||
* @return string
|
||||
*/
|
||||
function getReferrerTypeFromShortName($name)
|
||||
{
|
||||
$map = array(
|
||||
Common::REFERRER_TYPE_SEARCH_ENGINE => 'search',
|
||||
Common::REFERRER_TYPE_SOCIAL_NETWORK => 'social',
|
||||
Common::REFERRER_TYPE_WEBSITE => 'website',
|
||||
Common::REFERRER_TYPE_DIRECT_ENTRY => 'direct',
|
||||
Common::REFERRER_TYPE_CAMPAIGN => 'campaign',
|
||||
);
|
||||
if (isset($map[$name])) {
|
||||
return $map[$name];
|
||||
}
|
||||
if ($found = array_search($name, $map)) {
|
||||
return $found;
|
||||
}
|
||||
throw new \Exception("Referrer type '$name' is not valid.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a URL w/o the protocol type.
|
||||
*
|
||||
* @param string $url
|
||||
* @return string
|
||||
*/
|
||||
function removeUrlProtocol($url)
|
||||
{
|
||||
if (preg_match('/^[a-zA-Z_-]+:\/\//', $url, $matches)) {
|
||||
return substr($url, strlen($matches[0]));
|
||||
}
|
||||
return $url;
|
||||
}
|
23
msd2/tracking/piwik/plugins/Referrers/lang/am.json
Normal file
23
msd2/tracking/piwik/plugins/Referrers/lang/am.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"ColumnSearchEngine": "የመፈለጊያ ሞተሮች",
|
||||
"ColumnWebsite": "ድር ጣቢያዎች",
|
||||
"ColumnWebsitePage": "የድር ጣቢያዎች ገፅ",
|
||||
"DirectEntry": "ቀጥተኛ ምዝግብ",
|
||||
"DistinctCampaigns": "የተለዩ campaigns",
|
||||
"DistinctKeywords": "የተለዩ ቁልፍ ቃላት",
|
||||
"DistinctSearchEngines": "የተለዩ የመፈለጊያ ሞተሮች",
|
||||
"DistinctWebsites": "የተለዩ ድር ጣቢያዎች",
|
||||
"Keywords": "ቁልፍ ቃላት",
|
||||
"Referrers": "አመላካቾች",
|
||||
"SearchEngines": "የመፈለጊያ ሞተሮች",
|
||||
"SubmenuSearchEngines": "የመፈለጊያ ሞተሮች እና ቁልፍ ቃላት",
|
||||
"SubmenuWebsitesOnly": "ድር ጣቢያዎች",
|
||||
"TypeCampaigns": "%s ከ campaigns",
|
||||
"TypeDirectEntries": "%s ቀጥተኛ ምዝግቦች",
|
||||
"TypeSearchEngines": "%s ከመፈለጊያ ሞተሮች",
|
||||
"TypeWebsites": "%s ከድር ጣቢያዎች",
|
||||
"Websites": "ድር ጣቢያዎች",
|
||||
"WidgetExternalWebsites": "የውጫዊ ድር ጣቢያዎች ዝርዝር"
|
||||
}
|
||||
}
|
26
msd2/tracking/piwik/plugins/Referrers/lang/ar.json
Normal file
26
msd2/tracking/piwik/plugins/Referrers/lang/ar.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "الحملات",
|
||||
"ColumnCampaign": "الحملة",
|
||||
"ColumnSearchEngine": "محرك بحث",
|
||||
"ColumnWebsite": "موقع ويب",
|
||||
"ColumnWebsitePage": "صفحة موقع",
|
||||
"DirectEntry": "الوصول المباشر",
|
||||
"DistinctCampaigns": "أبرز الحملات",
|
||||
"DistinctKeywords": "أبرز الكلمات الدلالية",
|
||||
"DistinctSearchEngines": "أبرز محركات البحث",
|
||||
"DistinctWebsites": "أبرز مواقع ويب",
|
||||
"Keywords": "الكلمات الدلالية",
|
||||
"ReferrerName": "اسم المرسل",
|
||||
"Referrers": "مرسلو الزوار",
|
||||
"SearchEngines": "محركات البحث",
|
||||
"SubmenuSearchEngines": "محركات البحث والكلمات الدلالية",
|
||||
"SubmenuWebsitesOnly": "المواقع",
|
||||
"TypeDirectEntries": "%s وصول مباشر",
|
||||
"TypeSearchEngines": "%s من محركات البحث",
|
||||
"TypeWebsites": "%s من مواقع ويب",
|
||||
"UsingNDistinctUrls": "(باستخدام %s روابط بارزة)",
|
||||
"Websites": "المواقع",
|
||||
"WidgetExternalWebsites": "قائمة المواقع الخارجية"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Referrers/lang/be.json
Normal file
35
msd2/tracking/piwik/plugins/Referrers/lang/be.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Кампаніі",
|
||||
"CampaignsDocumentation": "Наведвальнікі, якія прыйшлі на ваш сайт у выніку кампаніі. %1$s Глядзі %2$s справаздачу для больш падрабязнай інфармацыі.",
|
||||
"CampaignsReportDocumentation": "Гэтая справаздача паказвае, якія кампаніі спаслалі наведвальнікаў на ваш сайт. %1$s Для атрымання дадатковай інфармацыі аб кампаніі, чытайце %2$sДакументацыю па кампаніях на matomo.org%3$s",
|
||||
"ColumnCampaign": "Кампанія",
|
||||
"ColumnSearchEngine": "Пошукавая сістэма",
|
||||
"ColumnWebsite": "Вэб-сайт",
|
||||
"ColumnWebsitePage": "Старонка вэб-сайта",
|
||||
"DirectEntry": "Прамы ўваход",
|
||||
"DistinctCampaigns": "Розныя кампаніі",
|
||||
"DistinctKeywords": "Розныя ключавыя словы",
|
||||
"DistinctSearchEngines": "Розныя пошукавыя сістэмы",
|
||||
"DistinctWebsites": "Розныя вэб-сайты",
|
||||
"EvolutionDocumentation": "Гэта агляд спасыльнікаў, якія прывялі наведвальнікаў на ваш вэб-сайт.",
|
||||
"Keywords": "Ключавыя словы",
|
||||
"KeywordsReportDocumentation": "Гэтая справаздача паказвае, якія ключавыя словы шукалі карыстальнікі, каб трапіць на ваш вэб-сайт. %s Пры націску на радок табліцы, можна ўбачыць размеркаванне пошукавых сістэм, якія былі запытаны па ключавым слове.",
|
||||
"ReferrerName": "Імя спасыльніка",
|
||||
"Referrers": "Спасыльнікі",
|
||||
"SearchEngines": "Пошукавыя сістэмы",
|
||||
"SearchEnginesDocumentation": "Наведвальнік спасланы на ваш вэб-сайт пошукавай сістэмай. %1$s Глядзі %2$s справаздачу для больш падрабязнай інфармацыі.",
|
||||
"SearchEnginesReportDocumentation": "Гэтая справаздача паказвае, якія пошукавыя сістэмы спасылаюць карыстальнікаў на ваш вэб-сайт. %s Пры націску на радок табліцы, можна ўбачыць, якія карыстальнікі шукалі з дапамогай якой пошукавай сістэмы.",
|
||||
"SubmenuSearchEngines": "Пошукавыя сістэмы і ключавые словы",
|
||||
"SubmenuWebsitesOnly": "Вэб-сайты",
|
||||
"TypeCampaigns": "%s уваходаў з кампаній",
|
||||
"TypeDirectEntries": "%s прамых уваходаў",
|
||||
"TypeSearchEngines": "%s уваходаў з пошукавых сістэм",
|
||||
"TypeWebsites": "%s уваходаў з вэб-сайтаў",
|
||||
"UsingNDistinctUrls": "(з выкарыстаннем %s розных URL-адрасоў)",
|
||||
"Websites": "Вэб-сайты",
|
||||
"WebsitesDocumentation": "Наведвальнік перайшоў па спасылцы на іншы сайце, які прывёў да вашага сайту. %1$s Глядзі %2$s справаздачу для для больш падрабязнай інфармацыі.",
|
||||
"WebsitesReportDocumentation": "У гэтай табліцы вы можаце ўбачыць, якія сайты спасылалі наведвальнікаў на ваш сайт. %s Пры націску на радок табліцы, можна ўбачыць URL старонкак, якія ўтрымліваюць спасылкі на на ваш вэб-сайт.",
|
||||
"WidgetExternalWebsites": "Спіс вонкавых вэбсайтаў"
|
||||
}
|
||||
}
|
44
msd2/tracking/piwik/plugins/Referrers/lang/bg.json
Normal file
44
msd2/tracking/piwik/plugins/Referrers/lang/bg.json
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Кампании",
|
||||
"CampaignsDocumentation": "Посетители, дошли до вашият уеб сайт, в резултат на камания. %1$s Погледнете %2$s отчета за повече детайли.",
|
||||
"CampaignsReportDocumentation": "Този отчет показва кои кампании са довели посетители до вашият уеб сайт. %1$s За повече информация относно проследяването на кампании, прочетете %2$sдокументацията за кампании на matomo.org%3$s",
|
||||
"ColumnCampaign": "Кампании",
|
||||
"ColumnSearchEngine": "Търсещи машини",
|
||||
"ColumnSocial": "Социална мрежа",
|
||||
"ColumnWebsite": "Сайт",
|
||||
"ColumnWebsitePage": "Интернет страница",
|
||||
"DirectEntry": "Директни посещения",
|
||||
"DistinctCampaigns": "отделни кампании",
|
||||
"DistinctKeywords": "отделни ключови думи",
|
||||
"DistinctSearchEngines": "отделни търсещи машини",
|
||||
"DistinctWebsites": "отделни сайтове",
|
||||
"EvolutionDocumentation": "Това е преглед на препращащите сайтове, които са довели посетители до вашият уеб сайт.",
|
||||
"Keywords": "Ключови думи",
|
||||
"KeywordsReportDocumentation": "Този отчет показва кои ключови думи потребителите са използвали преди да бъдат препратени към вашият уеб сайт. %s Ако кликнете върху реда в таблицата, можете да видите разпределението на търсачките, в които са били търсени тези ключови думи.",
|
||||
"Referrer": "Препоръчител",
|
||||
"ReferrerName": "Име на референт",
|
||||
"Referrers": "Референции",
|
||||
"ReferrersOverview": "Преглед на препоръчителите",
|
||||
"SearchEngines": "Търсачки",
|
||||
"SearchEnginesDocumentation": "Посетител, който е бил препратен към вашият уеб сайт от търсачка. %1$s Погледнете %2$s отчета за повече детайли.",
|
||||
"SearchEnginesReportDocumentation": "Този отчет показва кои търсачки са изпратили потребители към вашият уеб сайт. %s Ако кликнете върху реда в таблицата, можете да видите какво потребителите са търсили в конкретната търсачка.",
|
||||
"Socials": "Социални мрежи",
|
||||
"SubmenuSearchEngines": "Търсачки & Ключови думи",
|
||||
"SubmenuWebsitesOnly": "Сайтове",
|
||||
"TypeCampaigns": "%s от кампании",
|
||||
"TypeDirectEntries": "%s директни посещения",
|
||||
"TypeSearchEngines": "%s от търсещите машини",
|
||||
"TypeWebsites": "%s от сайтове",
|
||||
"UsingNDistinctUrls": "(използват се %s различни адреса)",
|
||||
"ViewAllReferrers": "Преглед на всички препоръчители",
|
||||
"ViewReferrersBy": "Преглед на всички препоръчители по %s",
|
||||
"Websites": "Сайтове",
|
||||
"WebsitesDocumentation": "Посетителят е последвал връзка в друг сайт, която сочи към вашия сайт. %1$s Вижте %2$s отчета за повече детайли.",
|
||||
"WebsitesReportDocumentation": "В тази таблица, можете да видите кои уеб сайтове са препратили посетители към вашият сайт. %s Ако кликнете върху реда в таблицата, можете да видите URL-ите, чрез които потребителите са стигнали до вашият сайт.",
|
||||
"WidgetExternalWebsites": "Външни сайтове",
|
||||
"WidgetSocials": "Списък на социалните мрежи",
|
||||
"WidgetTopKeywordsForPages": "Най-използваните ключови думи",
|
||||
"XPercentOfVisits": "%s от посещения"
|
||||
}
|
||||
}
|
5
msd2/tracking/piwik/plugins/Referrers/lang/bn.json
Normal file
5
msd2/tracking/piwik/plugins/Referrers/lang/bn.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"ColumnWebsite": "ওয়েবসাইট"
|
||||
}
|
||||
}
|
5
msd2/tracking/piwik/plugins/Referrers/lang/bs.json
Normal file
5
msd2/tracking/piwik/plugins/Referrers/lang/bs.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"ColumnWebsite": "Web stranica"
|
||||
}
|
||||
}
|
43
msd2/tracking/piwik/plugins/Referrers/lang/ca.json
Normal file
43
msd2/tracking/piwik/plugins/Referrers/lang/ca.json
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Campanyes",
|
||||
"CampaignsDocumentation": "Visitants que visiten el vostre lloc web com a resultat d'una campanya. %1$s Visualitzeu l'inforrme %2$s per més detalls.",
|
||||
"CampaignsReportDocumentation": "Aquest informe mostra quines campanyes han portat visitants al vostre lloc web. %1$s Per mes informació sobre la gestió de campanyes, llegiu la %2$s documetnació de campanyes a matomo.org %3$s",
|
||||
"ColumnCampaign": "Campanya",
|
||||
"ColumnSearchEngine": "Cercador",
|
||||
"ColumnSocial": "Xarxa social",
|
||||
"ColumnWebsite": "Lloc web",
|
||||
"ColumnWebsitePage": "Pàgina web",
|
||||
"DirectEntry": "Registre directe",
|
||||
"DistinctCampaigns": "campanyes diferents",
|
||||
"DistinctKeywords": "paraules clau diferents",
|
||||
"DistinctSearchEngines": "cercadors diferents",
|
||||
"DistinctWebsites": "llocs web diferents",
|
||||
"EvolutionDocumentation": "Això es una vista global dels referents que us han portat visitants al vostre lloc web.",
|
||||
"Keywords": "Paraules clau",
|
||||
"KeywordsReportDocumentation": "Aquest informe mostra quines paraules clau han utilitzat els vostres visitants abans de ser dirigits al vostre lloc web. %s Clicant en una fila de la taula podeu veure la distribució de cercadors en que s'ha cercat la paraula clau.",
|
||||
"Referrer": "Referent",
|
||||
"ReferrerName": "Nom del referent",
|
||||
"Referrers": "Referents",
|
||||
"ReferrersOverview": "Resum dels referents",
|
||||
"SearchEngines": "Cercadors",
|
||||
"SearchEnginesDocumentation": "Un visitant ha vingut al vostre lloc web a través d'un navegador web. %1$s Visualitzeu l'informe %2$s per a més informació.",
|
||||
"SearchEnginesReportDocumentation": "Aquest informa mostra quins motors de cerca han portat usuaris al vostre lloc web. %s Clicant en una fila de la tabla, pedeu veureu que han estat cercant els vostres usuris en aquest lloc web.",
|
||||
"Socials": "Xarxes socials",
|
||||
"SocialsReportDocumentation": "Aquest informe mostra quines xarxes socials han portat visitants al vostre lloc web. <br\/> Cliqueu una fila de la taule per mostrar de quines pàgines de les xarxes socials venen els vostres visitants.",
|
||||
"SubmenuSearchEngines": "Cercadors i paraules clau",
|
||||
"SubmenuWebsitesOnly": "Llocs",
|
||||
"TypeCampaigns": "Hi ha %s visites provinents de campanyes",
|
||||
"TypeDirectEntries": "Hi ha %s entrades directes",
|
||||
"TypeSearchEngines": "Hi ha %s visites provinents dels motors de cerca",
|
||||
"TypeWebsites": "Hi ha %s visites provinents d'altres llocs",
|
||||
"UsingNDistinctUrls": "(utiltizant %s urls diferents)",
|
||||
"ViewAllReferrers": "Veure tots els referents",
|
||||
"ViewReferrersBy": "Veure els referents agrupats per %s",
|
||||
"Websites": "Llocs",
|
||||
"WebsitesDocumentation": "Els visitant ha seguit un enllaç en un altre lloc web que ha portat al vostre lloc web. %1$s Visualitzeu l'informe %2$s per a més detalls.",
|
||||
"WebsitesReportDocumentation": "En aquesta taula podeu observar quins llocs web han portat visitants al vostre lloc web. %s Cliqueu en una fila de la taule per veure les URL dels enllaços a les vostres pàgines.",
|
||||
"WidgetExternalWebsites": "Llistat de llocs web externs",
|
||||
"WidgetSocials": "Llista de xarxes socials"
|
||||
}
|
||||
}
|
48
msd2/tracking/piwik/plugins/Referrers/lang/cs.json
Normal file
48
msd2/tracking/piwik/plugins/Referrers/lang/cs.json
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Toto hlášení zobrazuje všechny odkazující stránky v jednom uceleném hlášení s výpisem všech webů, klíčových slov a kampaní použitých návštěvníky k nalezení vašeho webu.",
|
||||
"Campaigns": "Kampaně",
|
||||
"CampaignsDocumentation": "Návštěvníci, kteří přišli na váš web jako výsledek kampaně. %1$s Pro více informací si prohlédněte hlášení %2$s.",
|
||||
"CampaignsReportDocumentation": "Toto hlášení zobrazuje, které kampaně přivedly návštěvníky na vaše stránky. %1$s Pro více informací o sledování kampaní si %2$spřečtěte dokumentaci kampaní na matomo.org%3$s.",
|
||||
"ColumnCampaign": "Kampaň",
|
||||
"ColumnSearchEngine": "Vyhledávač",
|
||||
"ColumnSocial": "Sociální síť",
|
||||
"ColumnWebsite": "Web",
|
||||
"ColumnWebsitePage": "Stránka webu",
|
||||
"DirectEntry": "Přímý vstup",
|
||||
"DirectEntryDocumentation": "Návštěvník zadal URL do svého prohlížeče a začal procházet vaše stránky - návštěvník na ně přišel přímo.",
|
||||
"DistinctCampaigns": "jedinečné kampaně",
|
||||
"DistinctKeywords": "jedinečná klíčová slova",
|
||||
"DistinctSearchEngines": "jedinečné vyhledávače",
|
||||
"DistinctWebsites": "jedinečné weby",
|
||||
"EvolutionDocumentation": "Toto je přehled odkazujících stránek, které přivedly návštěvníky na váš web.",
|
||||
"Keywords": "Klíčová slova",
|
||||
"KeywordsReportDocumentation": "Toto hlášení zobrazuje klíčová slova, která uživatelé hledali, než byli odkázáni na vaše stránky. %s Kliknutím na řádek tabulky zobrazíte distribuci vyhledávačů, které byly použity k hledání tohoto klíčového slova.",
|
||||
"PluginDescription": "Hlásí data referreru: vyhledávače, klíčová slova, stránky, kampaně, sociální média, přímý vstup.",
|
||||
"Referrer": "Referrer",
|
||||
"ReferrerName": "Jméno referreru",
|
||||
"Referrers": "Doporučení",
|
||||
"ReferrersOverview": "Přehled referrerů",
|
||||
"SearchEngines": "Vyhledávače",
|
||||
"SearchEnginesDocumentation": "Návštěvník byl na vaše stránky odkázán vyhledávačem. %1$s Pro více informací si prohlédněte hlášení %2$s.",
|
||||
"SearchEnginesReportDocumentation": "Toto hlášení zobrazuje, které vyhledávače odkázali návštěvníky na vaše stránky. %s Kliknutím na řádek v tabulce zobrazíte, co uživatelé na daném vyhledávači hledali.",
|
||||
"Socials": "Sociální sítě",
|
||||
"SocialsReportDocumentation": "Toto hlášení zobrazuje, jaké sociální sítě přivedly návštěvníky na vaše stránky. <br\/> Kliknutím na Kliknutím na řádek tabulky zobrazíte stránky sociální sítě, ze kterých návštěvníci přišli.",
|
||||
"SubmenuSearchEngines": "Vyhledávače a klíčová slova",
|
||||
"SubmenuWebsitesOnly": "Stránky",
|
||||
"TypeCampaigns": "%s z kampaní",
|
||||
"TypeDirectEntries": "%s přímých vstupů",
|
||||
"TypeSearchEngines": "%s z vyhledavačů",
|
||||
"TypeWebsites": "%s z webových stránek",
|
||||
"UsingNDistinctUrls": "(používá %s jedinečných url)",
|
||||
"ViewAllReferrers": "Zobrazit všechny referrery",
|
||||
"ViewReferrersBy": "Zobrazit referrery podle %s",
|
||||
"Websites": "Stránky",
|
||||
"WebsitesDocumentation": "Návštěvník následoval odkaz, který na vaše stránky vedl odjinud. %1$s Podívejte se na hlášení %2$s, pokud chcete vědět více.",
|
||||
"WebsitesReportDocumentation": "V této tabulce můžete vidět stránky, které odkázaly návštěvníky na vaše stránky. %s Kliknutím na řádek v tabulce zobrazíte URL, na kterých se odkazy nalézají.",
|
||||
"WidgetExternalWebsites": "Odkazující weby",
|
||||
"WidgetSocials": "Seznam sociálních sítí",
|
||||
"WidgetTopKeywordsForPages": "Nejčastější klíčová slova pro URL stránky",
|
||||
"XPercentOfVisits": "%s návštěv"
|
||||
}
|
||||
}
|
5
msd2/tracking/piwik/plugins/Referrers/lang/cy.json
Normal file
5
msd2/tracking/piwik/plugins/Referrers/lang/cy.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"ColumnWebsite": "Gwefan"
|
||||
}
|
||||
}
|
58
msd2/tracking/piwik/plugins/Referrers/lang/da.json
Normal file
58
msd2/tracking/piwik/plugins/Referrers/lang/da.json
Normal file
@ -0,0 +1,58 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Rapporten viser alle henvisninger i én samlet rapport, over alle hjemmesider, Søg i nøgleord og kampagner som bruges af de besøgende til at finde hjemmesiden.",
|
||||
"Campaigns": "Kampagner",
|
||||
"CampaignsDocumentation": "Besøgende kom til hjemmesiden som følge af en kampagne. %1$s Se %2$s rapport for yderligere oplysninger.",
|
||||
"CampaignsReportDocumentation": "Rapporten viser, hvilke kampagner der førte besøgende til hjemmesiden. %1$s Finde flere oplysninger om sporing af kampagner, læs %2$skampagne dokumentation på matomo.org%3$s",
|
||||
"ColumnCampaign": "Kampagne",
|
||||
"CampaignPageUrlHelp": "URL'en for en side, som denne kampagne fører til, for eksempel 'http:\/\/example.org\/tilbud.html'.",
|
||||
"ColumnSearchEngine": "Søgemaskine",
|
||||
"ColumnSocial": "Socialt netværk",
|
||||
"ColumnWebsite": "Hjemmeside",
|
||||
"ColumnWebsitePage": "Websted side",
|
||||
"DirectEntry": "Direkte trafik",
|
||||
"DirectEntryDocumentation": "En besøgende har skrevet URL'en i sin browser og er startet med at browse på din webside - de er tilgået websiden direkte.",
|
||||
"DistinctCampaigns": "forskellige kampagner",
|
||||
"DistinctKeywords": "forskellige søgeord",
|
||||
"DistinctSearchEngines": "forskellige søgemaskiner",
|
||||
"DistinctWebsites": "forskellige hjemmesider",
|
||||
"EvolutionDocumentation": "Oversigt over henvisninger, der førte besøgende til hjemmesiden.",
|
||||
"EvolutionDocumentationMoreInfo": "Læs mere om de forskellige kanalertyper i dokumentationen for %s-tabellen.",
|
||||
"Keywords": "Søgeord",
|
||||
"KeywordsReportDocumentation": "Rapport viser hvilke søgeord brugere søgte efter, før de blev henvist til hjemmesiden. %s Klik på en række i tabellen for at se fordelingen af søgemaskiner, der blev forespurgt om søgeordet.",
|
||||
"PluginDescription": "Rapporter af henvisendedata: Søgemaskiner, søgeord, hjemmesider, kampagner, sociale medier, direkte indtastning.",
|
||||
"Referrer": "Henviser",
|
||||
"ReferrerName": "Henvisningsnavn",
|
||||
"Referrers": "Henvisninger",
|
||||
"ReferrersOverview": "Henvisningsoversigt",
|
||||
"ReferrerTypes": "Kanaltyper",
|
||||
"SearchEngines": "Søgemaskiner",
|
||||
"SearchEnginesDocumentation": "Besøgende blev henvist til hjemmesiden fra en søgemaskine. %1$s Se rapporten %2$s for yderligere oplysninger.",
|
||||
"SearchEnginesReportDocumentation": "Rapporten viser hvilke søgemaskiner, der henviser brugere til hjemmesiden. %s Klik på en række i tabellen for at se, hvad brugerne søgte efter ved brug af en bestemt søgemaskine.",
|
||||
"Socials": "Sociale netværk",
|
||||
"SocialsReportDocumentation": "Rapporten viser, hvilke sociale netværk der førte besøgende til hjemmesiden.<br\/> Ved at klikke på en række i tabellen, kan du se, fra hvilke sociale netværkssider besøgende kom til hjemmesiden.",
|
||||
"SubmenuSearchEngines": "Søgemaskine og søgeord",
|
||||
"SubmenuWebsitesOnly": "Hjemmesider",
|
||||
"TypeCampaigns": "%s fra kampagner",
|
||||
"TypeDirectEntries": "%s direkte besøg",
|
||||
"TypeSearchEngines": "%s fra søgemaskine",
|
||||
"TypeSocialNetworks": "%s fra sociale netværk",
|
||||
"TypeWebsites": "%s fra hjemmesider",
|
||||
"UsingNDistinctUrls": "(bruger %s forskellige URL'er)",
|
||||
"GenerateUrl": "Generer URL",
|
||||
"URLCampaignBuilder": "Kampagne-URL-bygger",
|
||||
"URLCampaignBuilderIntro": "Med %1$sURL-byggerværktøjet%2$s kan du generere URL'er, der er er klar til brug til sporingskampagner i Matomo. Læs dokumentationen for %3$skampagnesporing%4$s for yderligere information.",
|
||||
"URLCampaignBuilderResult": "Genereret URL, som du kan kopiere og indsætte i dine kampagner, nyhedsbreve, Facebook-annoncer og tweets:",
|
||||
"ViewAllReferrers": "Vis alle henvisninger",
|
||||
"ViewReferrersBy": "Vis henvisninger efter %s",
|
||||
"Websites": "Hjemmesider",
|
||||
"WebsitesDocumentation": "Besøgende fulgte et link fra en anden hjemmesiden, der førte til hjemmesiden. %1$s Se %2$s rapport for yderligere oplysninger.",
|
||||
"WebsitesReportDocumentation": "Tabellen viser, hvilke hjemmesider, der henviser besøgende til hjemmesiden. %s Klik på en række i tabellen, for at se, hvilke URL'er links til hjemmesiden er på.",
|
||||
"WidgetExternalWebsites": "Eksterne hjemmesider",
|
||||
"WidgetGetAll": "Alle kanaler",
|
||||
"WidgetSocials": "Liste af sociale netværk",
|
||||
"WidgetTopKeywordsForPages": "Top søgeord til side URL",
|
||||
"XPercentOfVisits": "%s af besøg",
|
||||
"Acquisition": "Anskaffelse"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/de.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/de.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Dieser Bericht zeigt Ihnen all Ihre Verweise in einem einzigen Bericht. Es werden alle Websites, Suchbegriffe und Kampagnen gezeigt, die von Ihren Besuchern benutzt wurden, um ihre Website zu finden.",
|
||||
"Campaigns": "Kampagnen",
|
||||
"CampaignsDocumentation": "Besucher, die aufgrund einer Kampagne auf Ihre Website kamen. Weitere Details finden Sie %1$sim Bericht%2$s.",
|
||||
"CampaignsReportDocumentation": "Dieser Bericht enthält Informationen darüber, welche Kampagnen Besucher auf Ihre Website gebracht haben. %1$s Für mehr Informationen zum Tracken von Kampagnen, lesen Sie die %2$sKampagnen-Dokumentation auf matomo.org%3$s",
|
||||
"ColumnCampaign": "Kampagne",
|
||||
"CampaignPageUrlHelp": "Die URL der Seite welche diese Kampagne betrifft, zum Beispiel 'http:\/\/example.org\/offer.html'.",
|
||||
"CampaignNameHelp": "Wählen Sie einen Namen welcher beschreibt wozu die Kampagne erstellt wurde und der Ihre Kampagne von anderen Kampagnen abgrenzt. Zum Beispiel 'E-Mail-SommerDeals' or 'BezahlteWerbung-SommerDeals'.",
|
||||
"CampaignKeywordHelp": "Wenn Sie mehrere Kampagnen mit demselben Namen haben, können Sie diese Kampagnen durch die Spezifikation eines Suchbegriffs oder einer Unterkategorie unterscheiden.",
|
||||
"CampaignSource": "Kampagnen Herkunftsseite",
|
||||
"CampaignSourceHelp": "Verwendet um die Herkunft der Kampagne zu bestimmen wie z. B. 'Newsletter' für Ihr E-Mail Marketing, 'Partner', oder der Name der Website welche Ihre Werbung zeigt.",
|
||||
"CampaignContent": "Kampagneninhalt",
|
||||
"CampaignContentHelp": "Dieser Parameter kann verwendet werden wenn Sie mehrere Werbungen testen, und den Namen jeder dieser Werbungen berücksichtigen wollen um zu sehen welche die effektivste ist.",
|
||||
"CampaignMedium": "Kampagnen Medium",
|
||||
"CampaignMediumHelp": "Verwendet um die Marketing Aktivität zu beschreiben, zum Beispiel 'PPC' für eine Pay-per-click Kampagne, oder 'SEM' für bezahlte Suchwerbung, oder 'review' für eine Produktrezension auf einer Partnerseite.",
|
||||
"ColumnSearchEngine": "Suchmaschine",
|
||||
"ColumnSocial": "Soziales Netzwerk",
|
||||
"ColumnWebsite": "Website",
|
||||
"ColumnWebsitePage": "Seite",
|
||||
"DirectEntry": "Direkte Zugriffe",
|
||||
"DirectEntryDocumentation": "Ein Besucher kam auf die Webseite, indem er die URL direkt in den Browser eingegeben hat.",
|
||||
"Distinct": "Unterschiedliche Verweise nach Kanaltyp",
|
||||
"DistinctCampaigns": "verschiedene Kampagnen",
|
||||
"DistinctKeywords": "verschiedene Suchbegriffe",
|
||||
"DistinctSearchEngines": "verschiedene Suchmaschinen",
|
||||
"DistinctSocialNetworks": "ausgeprägt soziale Netzwerke",
|
||||
"DistinctWebsites": "verschiedene Websites",
|
||||
"EvolutionDocumentation": "Dies ist eine Übersicht der Verweise, die Besucher auf Ihre Website geführt haben.",
|
||||
"EvolutionDocumentationMoreInfo": "Für mehr Informationen über die verschiedenen Kanaltypen, lesen Sie die Dokumentation der %s Tabelle.",
|
||||
"Keywords": "Suchbegriffe",
|
||||
"KeywordsReportDocumentation": "In diesem Bericht sehen Sie, welche Suchbegriffe Besucher in Suchmaschinen eingegeben haben, bevor Sie auf Ihre Website geführt wurden. %s Wenn Sie auf eine Zeile der Tabelle klicken, wird die Verteilung der Suchmaschinen angezeigt, in denen nach dem Begriff gesucht wurde.",
|
||||
"KeywordsReportDocumentationNote": "Hinweis: Dieser Bericht listet die meisten Suchbegriffe als 'nicht definiert' auf, weil die meisten Suchmaschinen nicht das genaue in der Suchmaschine verwendete Suchwort liefern.",
|
||||
"PluginDescription": "Liefert die Herkunft der Daten: Suchmaschinen, Suchbegriffe, Websites, Kampagnen, Social Media, Direkteintritte.",
|
||||
"Referrer": "Verweis",
|
||||
"ReferrerName": "Name des Verweises",
|
||||
"ReferrerNames": "Verweisnamen",
|
||||
"Referrers": "Verweise",
|
||||
"ReferrersOverview": "Übersicht Verweise",
|
||||
"ReferrerTypes": "Kanaltypen",
|
||||
"ReferrerURLs": "Verweis-URLs",
|
||||
"SearchEngines": "Suchmaschinen",
|
||||
"SearchEnginesDocumentation": "Ein Besucher kam durch eine Suchmaschine auf die Website. %1$sDer Bericht%2$s enthält weitere Details.",
|
||||
"SearchEnginesReportDocumentation": "Dieser Bericht zeigt Ihnen, welche Suchmaschinen Besucher auf die Website geführt haben. %s Wenn Sie auf eine Zeile der Tabelle klicken, werden die Suchbegriffe angezeigt, nach denen die Besucher gesucht haben.",
|
||||
"Socials": "Soziale Netzwerke",
|
||||
"SocialsReportDocumentation": "Dieser Bericht zeigt, welche sozialen Netzwerke Besucher auf Ihre Website führten.<br \/>Wenn Sie eine Zeile in der Tabelle anklicken, können Sie sehen von welcher Seite des sozialen Netzwerks der Besucher auf Ihre Website kam.",
|
||||
"SubmenuSearchEngines": "Suchmaschinen und Suchbegriffe",
|
||||
"SubmenuWebsitesOnly": "Websites",
|
||||
"Type": "Kanaltyp",
|
||||
"TypeCampaigns": "%s von Kampagnen",
|
||||
"TypeDirectEntries": "%s direkte Zugriffe",
|
||||
"TypeReportDocumentation": "Diese Tabelle enthält Informationen über die Verteilung der Kanaltypen.",
|
||||
"TypeSearchEngines": "%s von Suchmaschinen",
|
||||
"TypeSocialNetworks": "%s aus sozialen Netzwerken",
|
||||
"TypeWebsites": "%s von Websites",
|
||||
"UsingNDistinctUrls": "(mit %s verschiedenen URLs)",
|
||||
"GenerateUrl": "URL generieren",
|
||||
"URLCampaignBuilder": "Kampagnen URL Erzeuger",
|
||||
"URLCampaignBuilderIntro": "Das %1$sURL Erzeuger Tool%2$s lässt Sie direkt verwendbare URLs für Tracking Kampagnen in Matomo generieren. Siehe Dokumentation über %3$sKampagnen Tracking%4$s für weitere Informationen.",
|
||||
"URLCampaignBuilderResult": "Generierte URL welche Sie per Copy Paste in Ihre Kampagnen, E-Mail Newsletter, Facebook Werbungen oder Tweets einbauen können:",
|
||||
"ViewAllReferrers": "Alle Verweise ansehen",
|
||||
"ViewReferrersBy": "Verweise anhand %s ansehen",
|
||||
"Websites": "Websites",
|
||||
"WebsitesDocumentation": "Der Besucher folgte einem Link auf einer anderen Website, um auf Ihre Seite zu gelangen. Weitere Details finden Sie %1$sim Bericht%2$s.",
|
||||
"WebsitesReportDocumentation": "In dieser Tabelle sehen Sie, von welchen Websites aus Besucher auf Ihre Seite verwiesen wurden. %s Wenn Sie auf eine Zeile der Tabelle klicken, sehen Sie, auf welchen URLs sich die Links zu Ihrer Website befanden.",
|
||||
"WidgetExternalWebsites": "Liste externer Websites",
|
||||
"WidgetGetAll": "Alle Kanäle",
|
||||
"WidgetSocials": "Liste Sozialer Netzwerke",
|
||||
"WidgetTopKeywordsForPages": "Top-Suchbegriffe für Seiten-URL",
|
||||
"XPercentOfVisits": "%s aller Besuche",
|
||||
"Acquisition": "Akquisition"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/el.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/el.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Αυτή η έκθεση δείχνει όλες τις συστάσεις σε μια ενιαία αναφορά, απαριθμώντας όλες τις ιστοσελίδες, τις λέξεις-κλειδιά αναζήτησης και τις καμπάνιες που χρησιμοποιούνται από τους επισκέπτες σας για να βρουν την ιστοσελίδα σας.",
|
||||
"Campaigns": "Καμπάνιες",
|
||||
"CampaignsDocumentation": "Επισκέπτες που ήρθαν στον ιστοτόπο σας ως αποτέλεσμα μιας καμπάνιας. %1$s Δείτε την αναφορά %2$s για περισσότερες λεπτομέρειες.",
|
||||
"CampaignsReportDocumentation": "Η αναφορά εμφανίζει ποιες καμπάνιες οδήγησαν επισκέπτες στον ιστοτόπο σας. %1$sΓια περισσότερες πληροφορίες σχετικά με την ιχνηλάτηση των καμπανιών, διαβάστε την %2$sτεκμηρίωση για τις καμπάνιες στο matomo.org%3$s",
|
||||
"ColumnCampaign": "Εκστρατεία",
|
||||
"CampaignPageUrlHelp": "Η διεύθυνση URL της σελίδας όπου απευθύνεται η καμπάνια, για παράδειγμα 'http:\/\/example.org\/offer.html'.",
|
||||
"CampaignNameHelp": "Επιλέξτε ένα όνομα που περιγράφει για ποιο λόγο δημιουργήθηκε η καμπάνια και τι κάνει να την ξεχωρίζει από τις υπόλοιπες καμπάνιες. Για παράδειγμα, 'Email-SummerDeals' ή 'PaidAds-SummerDeals'.",
|
||||
"CampaignKeywordHelp": "Αν έχετε πολλαπλές καμπάνιες με το ίδιο όνομα, μπορείτε να τις κάνετε διακριτές με ορισμό μιας λέξης κλειδί ή μιας υποκατηγορίας.",
|
||||
"CampaignSource": "Πηγή Καμπάνιας",
|
||||
"CampaignSourceHelp": "Χρησιμοποιείται για να παρακολουθείτε την πηγή της καμπάνιας όπως το 'γράμμα νέων' για το μάρκετινγκ με ηλεκτρονική αλληλογραφία, 'συνεργάτης' ή το όνομα ενός ιστοτόπου που εμφανίζει τις διαφημίσεις σας.",
|
||||
"CampaignContent": "Περιεχόμενο καμπάνιας",
|
||||
"CampaignContentHelp": "Η παράμετρος χρησιμοποιείται συχνά όταν δοκιμάζετε πολλές διαφημίσεις και θέλετε να συμπεριλάβετε το όνομα κάθε διαφήμισης που ήταν πιο αποτελεσματική στην δημιουργία κίνησης.",
|
||||
"CampaignMedium": "Μέσο Καμπάνιας",
|
||||
"CampaignMediumHelp": "Χρησιμοποιείται για την περιγραφή της δραστηριότητας της καμπάνιας, για παράδειγμα 'PPC' για τις καμπάνιες με πληρωμή ανά κλικ ή 'SEM' για τις διαφημίσεις επί πληρωμή, ή 'review' για την παρακολούθηση κριτικών προϊόντος για ένα συνεργαζόμενο ιστοτόπο.",
|
||||
"ColumnSearchEngine": "Μηχανή Αναζήτησης",
|
||||
"ColumnSocial": "Κοινωνικό δίκτυο",
|
||||
"ColumnWebsite": "Ιστοσελίδα",
|
||||
"ColumnWebsitePage": "Σελίδα Ιστοσελίδας",
|
||||
"DirectEntry": "Απευθείας είσοδος",
|
||||
"DirectEntryDocumentation": "Ένας επισκέπτης εισήγαγε τη διεύθυνση URL στο πρόγραμμα πλοήγησής του και ξεκίνησε την πλοήγηση στον ιστοτόπο σας - επισκέφθηκε απευθείας τον ιστοτόπο.",
|
||||
"Distinct": "Ξεχωριστοί Αναφορείς ανά Τύπο Καναλιού",
|
||||
"DistinctCampaigns": "διαχωρισμός εκστρατειών",
|
||||
"DistinctKeywords": "διαχωρισμός λέξεων-κλειδιών",
|
||||
"DistinctSearchEngines": "διαχωρισμός μηχανών αναζήτησης",
|
||||
"DistinctSocialNetworks": "διακριτά κοινωνικά δίκτυα",
|
||||
"DistinctWebsites": "διαχωρισμός σελίδων",
|
||||
"EvolutionDocumentation": "Αυτή είναι μια επισκόπηση των αναφορέων που έστειλαν επισκέπτες στην ιστοσελίδα.",
|
||||
"EvolutionDocumentationMoreInfo": "Για περισσότερες πληροφορίες σχετικά με τους διαφορετικούς τύπους καναλιών, δείτε την τεκμηρίωση για τον πίνακα %s.",
|
||||
"Keywords": "Λέξεις κλειδιά",
|
||||
"KeywordsReportDocumentation": "Αυτή η αναφορά δείχνει ποιες λέξεις-κλειδιά αναζήτησαν οι χρήστες πριν έρθουν στην ιστοσελίδα. %s Πατώντας σε σε μια γραμμή στον πίνακα, μπορείτε να δείτε την κατανομή των μηχανών αναζήτησης που ερωτήθηκαν για τη λέξη-κλειδί.",
|
||||
"KeywordsReportDocumentationNote": "Σημείωση: Η αναφορά εμφανίζει τις λέξεις κλειδιά ως μη ορισμένες, επειδή οι περισσότερες μηχανές αναζήτησης δεν στέλνουν την ακριβή λέξη κλειδί που χρησιμοποιείται σε αυτήν.",
|
||||
"PluginDescription": "Αναφέρει δεδομένα σχετικά με τους αναφορείς: Μηχανές Αναζήτησης, Λέξεις Κλειδιά, Ιστοτόποι, Καμπάνιες, Κοινωνικά Δίκτυα, Απευθείας Είσοδοι.",
|
||||
"Referrer": "Παραπομπός",
|
||||
"ReferrerName": "Ονομασία Παραπομπού",
|
||||
"ReferrerNames": "Ονόματα αναφορών",
|
||||
"Referrers": "Παραπομπείς",
|
||||
"ReferrersOverview": "Επισκόπηση Παραπομπών",
|
||||
"ReferrerTypes": "Τύποι Καναλιών",
|
||||
"ReferrerURLs": "URL παραπομπών",
|
||||
"SearchEngines": "Μηχανές αναζήτησης",
|
||||
"SearchEnginesDocumentation": "Ένας επισκέπτης οδηγήθηκε στον ιστοτόπο σας από μηχανή αναζήτησης. %1$s Δείτε την αναφορά %2$s για περισσότερες λεπτομέρειες.",
|
||||
"SearchEnginesReportDocumentation": "αυτή η αναφορά δείχνει ποιες μηχανές αναζήτησης ανάφεραν χρήστες στην ιστοσελίδα. %s Πατώντας σε μια γραμμή στον πίνακα, μπορείτε να δείτε τι αναζητούσαν οι χρήστες χρησιμοποιώντας μια συγκεκριμένη μηχανή αναζήτησης.",
|
||||
"Socials": "Κοινωνικά Δίκτυα",
|
||||
"SocialsReportDocumentation": "Η αναφορά αυτή δείχνει ποια κοινωνικά δίκτυα οδήγησαν τους επισκέπτες στην ιστοσελίδα σας.<br \/>Κάνοντας κλικ σε μια σειρά του πίνακα, μπορείτε να δείτε από ποιά σελίδα κοινωνικής δικτύωσης ήρθαν οι επισκέπτες στην ιστοσελίδα σας.",
|
||||
"SubmenuSearchEngines": "Μηχανές αναζήτησης & λέξεις-κλειδιά",
|
||||
"SubmenuWebsitesOnly": "Ιστοτόποι",
|
||||
"Type": "Τύπος Καναλιού",
|
||||
"TypeCampaigns": "%s από εκστρατείες",
|
||||
"TypeDirectEntries": "%s απευθείας είσοδοι",
|
||||
"TypeReportDocumentation": "Ο πίνακας περιέχει πληροφορίες σχετικά με την κατανομή των τύπων καναλιών.",
|
||||
"TypeSearchEngines": "%s από μηχανές αναζήτησης",
|
||||
"TypeSocialNetworks": "%s από κοινωνικά δίκτυα",
|
||||
"TypeWebsites": "%s από ιστοσελίδες",
|
||||
"UsingNDistinctUrls": "(χρησιμοποιώντας %s αποκλεισμένα urls)",
|
||||
"GenerateUrl": "Δημιουργία URL",
|
||||
"URLCampaignBuilder": "Δημιουργός URL Καμπάνιας",
|
||||
"URLCampaignBuilderIntro": "Το %1$sΕργαλείο Δημιουργίας URL%2$s σας επιτρέπει να δημιουργείτε URL έτοιμα για χρήση στην παρακολούθηση Καμπανιών στο Matomo. Δείτε την τεκμηρίωση σχετικά με την %3$sΠαρακολούθηση Καμπανιών%4$s για περισσότερες πληροφορίες.",
|
||||
"URLCampaignBuilderResult": "Δημιουργημένο URL που μπορείτε να αντιγράψετε και επικολλήσετε στις Καμπάνιες, γράμματα νέων, διαφημίσεις Facebook ή tweet:",
|
||||
"ViewAllReferrers": "Δείτε όλες τις Παραπομπές",
|
||||
"ViewReferrersBy": "Δείτε τις Παραπομπές ανά %s",
|
||||
"Websites": "Ιστοτόποι",
|
||||
"WebsitesDocumentation": "Ο επισκέπτης ακολούθησε ένα σύνδεσμο από άλλο ιστοτόπο που οδήγησε στον δικό σας. %1$s Δείτε την αναφορά %2$s για περισσότερες λεπτομέρειες.",
|
||||
"WebsitesReportDocumentation": "Σε αυτόν τον πίνακα, μπορείτε να δείτε ποιες ιστοσελίδες ανέφεραν επισκέπτες στην ιστοσελίδα. %s Πατώντας σε σε μια γραμμή στον πίνακα, μπορείτε να δείτε ποιες διευθύνσεις είχαν συνδέσμους για την ιστοσελίδα.",
|
||||
"WidgetExternalWebsites": "Λίστα εξωτερικών ιστοσελίδων",
|
||||
"WidgetGetAll": "Όλα τα Κανάλια",
|
||||
"WidgetSocials": "Λίστα κοινωνικών δικτύων",
|
||||
"WidgetTopKeywordsForPages": "Δημοφιλέστερες Λέξεις-Κλειδιά για τη Διεύθυνση URL της σελίδας",
|
||||
"XPercentOfVisits": "%s επισκέψεων",
|
||||
"Acquisition": "Εκμάθηση"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/en.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/en.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "This report shows all your Referrers in one unified report, listing all Websites, Search keywords and Campaigns used by your visitors to find your website.",
|
||||
"Campaigns": "Campaigns",
|
||||
"CampaignsDocumentation": "Visitors that came to your website as the result of a campaign. %1$s See the %2$s report for more details.",
|
||||
"CampaignsReportDocumentation": "This report shows which campaigns led visitors to your website. %1$s For more information about tracking campaigns, read the %2$scampaigns documentation on matomo.org%3$s",
|
||||
"ColumnCampaign": "Campaign",
|
||||
"CampaignPageUrlHelp": "The URL of the page that this campaign goes to, for example 'http://example.org/offer.html'.",
|
||||
"CampaignNameHelp": "Choose a name that describes what the campaign is created for and that distinguishes your campaign from your other campaigns. For example 'Email-SummerDeals' or 'PaidAds-SummerDeals'.",
|
||||
"CampaignKeywordHelp": "If you have multiple campaigns with the same name, you can distinguish these campaigns by specifying a keyword or a sub-category.",
|
||||
"CampaignSource": "Campaign Source",
|
||||
"CampaignSourceHelp": "Used to track the source of the campaign such as 'newsletter' for your email marketing, 'affiliate', or the name of the website displaying your ads.",
|
||||
"CampaignContent": "Campaign content",
|
||||
"CampaignContentHelp": "This parameter is often used when you are testing multiple ads, and would include the name of each ad to see which was most effective for driving traffic.",
|
||||
"CampaignMedium": "Campaign Medium",
|
||||
"CampaignMediumHelp": "Used to describe the marketing activity, for example 'PPC' for a pay-per-click campaign, or 'SEM' for a paid search ads, or 'review' to track a product review on an affiliate site.",
|
||||
"ColumnSearchEngine": "Search Engine",
|
||||
"ColumnSocial": "Social network",
|
||||
"ColumnWebsite": "Website",
|
||||
"ColumnWebsitePage": "Website Page",
|
||||
"DirectEntry": "Direct Entry",
|
||||
"DirectEntryDocumentation": "A visitor has entered the URL in their browser and started browsing on your website - they entered the website directly.",
|
||||
"Distinct": "Distinct Referrers by Channel Type",
|
||||
"DistinctCampaigns": "distinct campaigns",
|
||||
"DistinctKeywords": "distinct keywords",
|
||||
"DistinctSearchEngines": "distinct search engines",
|
||||
"DistinctSocialNetworks": "distinct social networks",
|
||||
"DistinctWebsites": "distinct websites",
|
||||
"EvolutionDocumentation": "This is an overview of the referrers that led visitors to your website.",
|
||||
"EvolutionDocumentationMoreInfo": "For more information about the different channel types, see the documentation of the %s table.",
|
||||
"Keywords": "Keywords",
|
||||
"KeywordsReportDocumentation": "This report shows which keywords users were searching for before they were referred to your website. %s By clicking on a row in the table, you can see the distribution of search engines that were queried for the keyword.",
|
||||
"KeywordsReportDocumentationNote": "Note: This report lists most keywords as not defined, because most search engines do not send the exact keyword used on the search engine.",
|
||||
"PluginDescription": "Reports the Referrers data: Search Engines, Keywords, Websites, Campaigns, Social media, Direct entry.",
|
||||
"Referrer": "Referrer",
|
||||
"ReferrerName": "Referrer Name",
|
||||
"ReferrerNames": "Referrer Names",
|
||||
"Referrers": "Referrers",
|
||||
"ReferrersOverview": "Referrers Overview",
|
||||
"ReferrerTypes": "Channel Types",
|
||||
"ReferrerURLs": "Referrer URLs",
|
||||
"SearchEngines": "Search Engines",
|
||||
"SearchEnginesDocumentation": "A visitor was referred to your website by a search engine. %1$s See the %2$s report for more details.",
|
||||
"SearchEnginesReportDocumentation": "This report shows which search engines referred users to your website. %s By clicking on a row in the table, you can see what users were searching for using a specific search engine.",
|
||||
"Socials": "Social Networks",
|
||||
"SocialsReportDocumentation": "This report shows which social networks led visitors to your website.<br \/>By clicking on a row in the table, you can see from which social network pages visitors came to your website.",
|
||||
"SubmenuSearchEngines": "Search Engines & Keywords",
|
||||
"SubmenuWebsitesOnly": "Websites",
|
||||
"Type": "Channel Type",
|
||||
"TypeCampaigns": "%s from campaigns",
|
||||
"TypeDirectEntries": "%s direct entries",
|
||||
"TypeReportDocumentation": "This table contains information about the distribution of the channel types.",
|
||||
"TypeSearchEngines": "%s from search engines",
|
||||
"TypeSocialNetworks": "%s from social networks",
|
||||
"TypeWebsites": "%s from websites",
|
||||
"UsingNDistinctUrls": "(using %s distinct urls)",
|
||||
"GenerateUrl": "Generate URL",
|
||||
"URLCampaignBuilder": "Campaign URL Builder",
|
||||
"URLCampaignBuilderIntro": "The %1$sURL Builder tool%2$s lets you generate URLs ready to use for Tracking Campaigns in Matomo. See the documentation about %3$sCampaign Tracking%4$s for more information.",
|
||||
"URLCampaignBuilderResult": "Generated URL that you can copy paste in your Campaigns, Email newsletter, Facebook Ads or tweets:",
|
||||
"ViewAllReferrers": "View all Referrers",
|
||||
"ViewReferrersBy": "View Referrers by %s",
|
||||
"Websites": "Websites",
|
||||
"WebsitesDocumentation": "The visitor followed a link on another website that led to your site. %1$s See the %2$s report for more details.",
|
||||
"WebsitesReportDocumentation": "In this table, you can see which websites referred visitors to your site. %s By clicking on a row in the table, you can see which URLs the links to your website were on.",
|
||||
"WidgetExternalWebsites": "Referrer Websites",
|
||||
"WidgetGetAll": "All Channels",
|
||||
"WidgetSocials": "List of social networks",
|
||||
"WidgetTopKeywordsForPages": "Top Keywords for Page URL",
|
||||
"XPercentOfVisits": "%s of visits",
|
||||
"Acquisition": "Acquisition"
|
||||
}
|
||||
}
|
5
msd2/tracking/piwik/plugins/Referrers/lang/eo.json
Normal file
5
msd2/tracking/piwik/plugins/Referrers/lang/eo.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"ColumnWebsite": "Retejo"
|
||||
}
|
||||
}
|
46
msd2/tracking/piwik/plugins/Referrers/lang/es-ar.json
Normal file
46
msd2/tracking/piwik/plugins/Referrers/lang/es-ar.json
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "This report shows all your Referrers in one unified report, listing all Websites, Search keywords and Campaigns used by your visitors to find your website.",
|
||||
"Campaigns": "Campañas",
|
||||
"CampaignsDocumentation": "Visitantes que visitan su sitio de internet como resultado de una campaña. %1$s Vea el %2$s informe para mayores detalles.",
|
||||
"CampaignsReportDocumentation": "Este reporte muestra qué campaña llevó visitantes a su sitio de internet. %1$s Para una mayor información acerca del rastreo de las campañas, lea la documentación %2$scampañas en matomo.org%3$s",
|
||||
"ColumnCampaign": "Campaña",
|
||||
"ColumnSearchEngine": "Motores de búsqueda",
|
||||
"ColumnSocial": "Red social",
|
||||
"ColumnWebsite": "Sitio web",
|
||||
"ColumnWebsitePage": "Página web",
|
||||
"DirectEntry": "Entrada directa",
|
||||
"DistinctCampaigns": "campañas distintas",
|
||||
"DistinctKeywords": "palabras clave distintas",
|
||||
"DistinctSearchEngines": "motores de búsqueda distintos",
|
||||
"DistinctWebsites": "páginas web distintas",
|
||||
"EvolutionDocumentation": "Esta es una viste general de las páginas web externas que condujeron visitantes a su web.",
|
||||
"Keywords": "Palabras clave",
|
||||
"KeywordsReportDocumentation": "Este informe revela que palabras claves estuvieron buscando antes de ingresar en su sitio de internet. %s Cliqueando en la tabla, puede observar la distribución de los motores de búsqueda en la búsqueda de dichas palabras claves.",
|
||||
"Referrer": "Referrer",
|
||||
"ReferrerName": "Nombre de la referencia",
|
||||
"Referrers": "Referencias",
|
||||
"ReferrersOverview": "Referencias Visión",
|
||||
"SearchEngines": "Motores de búsqueda",
|
||||
"SearchEnginesDocumentation": "Un visitante fue remitido a su sitio de internet por un motor de búsqueda. %1$s Vea el %2$s reporte para mayores detalles.",
|
||||
"SearchEnginesReportDocumentation": "Este reporte muestra que motores de búsqueda enviaron users a su web. %s Haciendo clic en una fila en la tabla, usted puede ver que usuarios estaban buscando en un motor de búsqueda específico.",
|
||||
"Socials": "Redes sociales",
|
||||
"SocialsReportDocumentation": "Este informe muestra que red social redirige visitantes a su sitio de internet.<br \/>Simplemente cliqueando en una fila de la tabla, puede observar desde que páginas de determinada red social provienen sus visitantes.",
|
||||
"SubmenuSearchEngines": "Motores de búsqueda y palabras clave",
|
||||
"SubmenuWebsitesOnly": "Sitios web",
|
||||
"TypeCampaigns": "%s desde campañas",
|
||||
"TypeDirectEntries": "%s entradas directas",
|
||||
"TypeSearchEngines": "%s desde motores de búsqueda",
|
||||
"TypeWebsites": "%s desde sitios web",
|
||||
"UsingNDistinctUrls": "(usando %s urls distintas)",
|
||||
"ViewAllReferrers": "Ver todas las Referencias",
|
||||
"ViewReferrersBy": "View Referrers by %s",
|
||||
"Websites": "Sitios",
|
||||
"WebsitesDocumentation": "El visitante siguió un enlace en otro sitio de internet que lo dirigió a su sitio. %1$s Vea el %2$s informe para mayores detalles.",
|
||||
"WebsitesReportDocumentation": "En esta tabla, puede observar qué sitio de internet envió visitantes a su sitio. %s Cliqueando en una fila de la tabla, puede ver que dirección de internet enlaza a su sitio",
|
||||
"WidgetExternalWebsites": "Lista de páginas web externas",
|
||||
"WidgetSocials": "Lista de redes sociales",
|
||||
"WidgetTopKeywordsForPages": "Principales Palabras clave para la Página URL",
|
||||
"XPercentOfVisits": "%s of visits"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/es.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/es.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Este informe muestra todas las Referencias en un solo informe enumerando todos los sitios de internet, las palabras claves y las campañas que utilizan sus visitantes para encontrar su sitio.",
|
||||
"Campaigns": "Campañas",
|
||||
"CampaignsDocumentation": "Visitantes que visitaron su sitio web como resultado de una campaña. %1$s Vea el informe %2$s para más detalles.",
|
||||
"CampaignsReportDocumentation": "Este informe muestra que campañas llevaron visitantes a su sitio web. %1$s Para una mayor información acerca del seguimiento de campañas, lea la %2$sdocumentación sobre las campañas en matomo.org%3$s",
|
||||
"ColumnCampaign": "Campaña",
|
||||
"CampaignPageUrlHelp": "La URL de la página para esta campaña, por ejemplo, 'http:\/\/example.org\/offer.html'.",
|
||||
"CampaignNameHelp": "Elija un nombre que describa para qué se creó la campaña y que distingue su campaña de sus otras campañas. Por ejemplo, 'Email-SummerDeals' o 'PaidAds-SummerDeals'.",
|
||||
"CampaignKeywordHelp": "Si tiene varias campañas con el mismo nombre, puede distinguir estas campañas especificando una palabra clave o una subcategoría.",
|
||||
"CampaignSource": "Fuente de la campaña",
|
||||
"CampaignSourceHelp": "Se utiliza para rastrear el origen de la campaña, como el 'boletín informativo' de su estrategia de marketing por correo electrónico, 'afiliado' o el nombre del sitio web que muestra sus anuncios.",
|
||||
"CampaignContent": "Contenido de la campaña",
|
||||
"CampaignContentHelp": "Este parámetro se usa a menudo cuando está probando varios anuncios, e incluiría el nombre de cada anuncio para ver cuál fue el más efectivo para dirigir el tráfico.",
|
||||
"CampaignMedium": "Medio de la campaña",
|
||||
"CampaignMediumHelp": "Se usa para describir la actividad de marketing, por ejemplo, 'PPC' para una campaña de pago-por-clic, o 'SEM' para anuncios de búsqueda pagados, o 'revisión' para rastrear una revisión de producto en un sitio afiliado.",
|
||||
"ColumnSearchEngine": "Motor de búsqueda",
|
||||
"ColumnSocial": "Red social",
|
||||
"ColumnWebsite": "Sitio de internet",
|
||||
"ColumnWebsitePage": "Página de sitio de internet",
|
||||
"DirectEntry": "Entrada directa",
|
||||
"DirectEntryDocumentation": "Un visitante ha introducido la URL en su navegador y ha empezado a navegar por tu sitio web -el visitante entró en el sitio web directamente-",
|
||||
"Distinct": "Referencias distintas por tipo de canal",
|
||||
"DistinctCampaigns": "campañas distintas",
|
||||
"DistinctKeywords": "palabras clave distintas",
|
||||
"DistinctSearchEngines": "motores de búsqueda distintos",
|
||||
"DistinctSocialNetworks": "redes sociales distintas",
|
||||
"DistinctWebsites": "páginas de internet distintas",
|
||||
"EvolutionDocumentation": "Esta es una viste general de las páginas de internet externas que condujeron visitantes a su sitio de internet.",
|
||||
"EvolutionDocumentationMoreInfo": "Para mayor información acerca de los diferentes tipos de canales, ve la documentación de la tabla %s.",
|
||||
"Keywords": "Palabras claves",
|
||||
"KeywordsReportDocumentation": "Este informe revela que palabras claves estuvieron buscando antes de ingresar en su sitio de internet. %s Cliqueando en la tabla, puede observar la distribución de los motores de búsqueda en la búsqueda de dichas palabras claves.",
|
||||
"KeywordsReportDocumentationNote": "Nota: este informe enumera la mayoría de las palabras clave como no definidas, porque la mayoría de los motores de búsqueda no envían la palabra clave exacta utilizada en el motor de búsqueda.",
|
||||
"PluginDescription": "Informes de los datos referidos: motores de búsquedas, palabras claves, sitios de internet, campañas, medios sociales, ingreso directo.",
|
||||
"Referrer": "Referencia",
|
||||
"ReferrerName": "Nombre de la referencia",
|
||||
"ReferrerNames": "Nombres de la referencia",
|
||||
"Referrers": "Referencias",
|
||||
"ReferrersOverview": "Compendio de referencias",
|
||||
"ReferrerTypes": "Tipos de canal",
|
||||
"ReferrerURLs": "URLs de referencia",
|
||||
"SearchEngines": "Motores de búsqueda",
|
||||
"SearchEnginesDocumentation": "Un visitante fue remitido a su sitio web por un motor de búsqueda. %1$s Vea el informe %2$s para más detalles.",
|
||||
"SearchEnginesReportDocumentation": "Este reporte muestra qué motores de búsqueda enviaron usuarios a su sitio de internet. %s Haciendo clic en una fila en la tabla, puede ver lo que los usuarios estaban buscando en un motor de búsqueda específico.",
|
||||
"Socials": "Redes sociales",
|
||||
"SocialsReportDocumentation": "Este informe muestra que red social conduce visitantes a su sitio de internet.<br \/>Cliqueando en una fila de la tabla, puede observar desde que páginas de determinada red social provienen sus visitantes.",
|
||||
"SubmenuSearchEngines": "Motores de búsqueda y palabras clave",
|
||||
"SubmenuWebsitesOnly": "Sitios de internet",
|
||||
"Type": "Tipo de canal",
|
||||
"TypeCampaigns": "%s desde campañas",
|
||||
"TypeDirectEntries": "%s entradas directas",
|
||||
"TypeReportDocumentation": "Esta table contiene información acerca de la distribución de los tipos de canal.",
|
||||
"TypeSearchEngines": "%s desde motores de búsqueda",
|
||||
"TypeSocialNetworks": "%s de redes sociales",
|
||||
"TypeWebsites": "%s desde sitios de internet",
|
||||
"UsingNDistinctUrls": "(usando %s urls distintas)",
|
||||
"GenerateUrl": "Generar URL",
|
||||
"URLCampaignBuilder": "Generador de URL para campañas",
|
||||
"URLCampaignBuilderIntro": "La %1$sherramienta Generador de URL%2$s le permite generar direcciones URL listas para usar en campañas de seguimiento en Matomo. Consulte la documentación sobre %3$sSeguimiento de campañas%4$s para obtener más información.",
|
||||
"URLCampaignBuilderResult": "URL generada que puede copiar y pegar en sus campañas, boletines por correo electrónico, anuncios de Facebook o tweets:",
|
||||
"ViewAllReferrers": "Ver todas los referencias",
|
||||
"ViewReferrersBy": "Ver referencias por %s",
|
||||
"Websites": "Sitios de internet",
|
||||
"WebsitesDocumentation": "El visitante siguió un enlace, situado en otro sitio web, que lo condujo a su sitio. %1$s Vea el informe %2$s para más detalles.",
|
||||
"WebsitesReportDocumentation": "En esta tabla, puede observar qué sitio de internet envió visitantes a su sitio. %s Cliqueando en una fila de la tabla, puede ver que dirección de internet enlaza a su sitio.",
|
||||
"WidgetExternalWebsites": "Sitios de internet de las referencias",
|
||||
"WidgetGetAll": "Todos los canales",
|
||||
"WidgetSocials": "Lista de redes sociales",
|
||||
"WidgetTopKeywordsForPages": "Principales palabras clave para el URL de página",
|
||||
"XPercentOfVisits": "%s de visitas",
|
||||
"Acquisition": "Adquisición"
|
||||
}
|
||||
}
|
31
msd2/tracking/piwik/plugins/Referrers/lang/et.json
Normal file
31
msd2/tracking/piwik/plugins/Referrers/lang/et.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampaaniad",
|
||||
"ColumnCampaign": "Kampaania",
|
||||
"ColumnSearchEngine": "Otsingumootor",
|
||||
"ColumnSocial": "Sotsiaalvõrgustik",
|
||||
"ColumnWebsite": "Veebileht",
|
||||
"ColumnWebsitePage": "Veebi lehekülg",
|
||||
"DirectEntry": "Otse sisenetud",
|
||||
"Keywords": "Võtmesõnad",
|
||||
"Referrer": "Viitaja",
|
||||
"ReferrerName": "Viitaja nimi",
|
||||
"Referrers": "Viitajad",
|
||||
"ReferrersOverview": "Viitajate ülevaade",
|
||||
"SearchEngines": "Otsingumootorid",
|
||||
"Socials": "Sotsiaalvõrgustikud",
|
||||
"SubmenuSearchEngines": "Otsingumootorid ja võtmesõnad",
|
||||
"SubmenuWebsitesOnly": "Veebilehed",
|
||||
"TypeCampaigns": "%s kampaaniatest",
|
||||
"TypeDirectEntries": "%s otse sisenemist",
|
||||
"TypeSearchEngines": "%s otsingumootoritest",
|
||||
"TypeWebsites": "%s veebilehtedelt",
|
||||
"ViewAllReferrers": "Vaata kõiki viitajaid",
|
||||
"ViewReferrersBy": "Viitajate reastamise aluseks: %s",
|
||||
"Websites": "Veebilehed",
|
||||
"WidgetExternalWebsites": "Väliste viitajate nimekiri",
|
||||
"WidgetSocials": "Nimekiri sotsiaalvõrgustikest",
|
||||
"WidgetTopKeywordsForPages": "Lehe URL peamised võtmesõnad",
|
||||
"XPercentOfVisits": "%s külastustest"
|
||||
}
|
||||
}
|
25
msd2/tracking/piwik/plugins/Referrers/lang/eu.json
Normal file
25
msd2/tracking/piwik/plugins/Referrers/lang/eu.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kanpainak",
|
||||
"ColumnCampaign": "Kanpaina",
|
||||
"ColumnSearchEngine": "Bilaketa-motorra",
|
||||
"ColumnWebsite": "Webgunea",
|
||||
"ColumnWebsitePage": "Webguneko orria",
|
||||
"DirectEntry": "Sarrera zuzena",
|
||||
"DistinctCampaigns": "kanpaina desberdin",
|
||||
"DistinctKeywords": "gako-hitz desberdin",
|
||||
"DistinctSearchEngines": "bilaketa-motor desberdin",
|
||||
"DistinctWebsites": "webgune desberdin",
|
||||
"Keywords": "Gako-hitzak",
|
||||
"Referrers": "Erreferenteak",
|
||||
"SearchEngines": "Bilaketa-motorrak",
|
||||
"SubmenuSearchEngines": "Bilaketa-motorrak eta gako-hitzak",
|
||||
"SubmenuWebsitesOnly": "Webguneak",
|
||||
"TypeCampaigns": "%s kanpainetatik",
|
||||
"TypeDirectEntries": "%s sarbide zuzen",
|
||||
"TypeSearchEngines": "%s bilaketa-motorretatik",
|
||||
"TypeWebsites": "%s webguneetatik",
|
||||
"Websites": "Webguneak",
|
||||
"WidgetExternalWebsites": "Kanpoko webguneen zerrenda"
|
||||
}
|
||||
}
|
37
msd2/tracking/piwik/plugins/Referrers/lang/fa.json
Normal file
37
msd2/tracking/piwik/plugins/Referrers/lang/fa.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "کمپین",
|
||||
"ColumnCampaign": "کمپین بین المللی حقوق بشر",
|
||||
"ColumnSearchEngine": "موتور جستجو",
|
||||
"ColumnSocial": "شبکه اجتماعی",
|
||||
"ColumnWebsite": "وب سایت",
|
||||
"ColumnWebsitePage": "صفحه وب سایت",
|
||||
"DirectEntry": "ورود مستقیم",
|
||||
"DistinctCampaigns": "متمایز مبارزات",
|
||||
"DistinctKeywords": "کلمات کلیدی قابل تشخیص",
|
||||
"DistinctSearchEngines": "موتور های جستجو قابل تشخیص",
|
||||
"DistinctWebsites": "وبسایت های قابل تشخیص",
|
||||
"EvolutionDocumentation": "این یک مرور کلی از مراجعه کنندگان که منجر بازدید کنندگان وب سایت شما می باشد.",
|
||||
"Keywords": "کلمات کلیدی",
|
||||
"Referrer": "معرف",
|
||||
"ReferrerName": "نام و نام خانوادگی ارجاع دهنده",
|
||||
"Referrers": "ارجاع دهنده ها",
|
||||
"ReferrersOverview": "نمایش معرف ها",
|
||||
"SearchEngines": "موتور های جستجو",
|
||||
"SearchEnginesDocumentation": "یک بازدیدکننده توسط موتورجستجو به وبسایت شما ارجاع داده شده است.%1$s برای جزئیات بیشتر %2$sاین گزارش را ببینید.",
|
||||
"Socials": "شبکه های اجتماعی",
|
||||
"SubmenuSearchEngines": "موتورهای جستجو و کلمات کلیدی",
|
||||
"SubmenuWebsitesOnly": "وب سایت ها",
|
||||
"TypeCampaigns": "%s از کمپین",
|
||||
"TypeDirectEntries": "%s ورودی مستقیم",
|
||||
"TypeSearchEngines": "%s از موتوهای جستجو",
|
||||
"TypeWebsites": "%s از وبسایت ها",
|
||||
"UsingNDistinctUrls": "(با استفاده از URL های مجزا%s)",
|
||||
"ViewAllReferrers": "مشاهده تمام معرف ها",
|
||||
"ViewReferrersBy": "مشاهده معرف ها با %s",
|
||||
"Websites": "وب سایت ها",
|
||||
"WidgetExternalWebsites": "فهرست وب سایت های خارجی",
|
||||
"WidgetSocials": "فهرست شبکه های اجتماعی",
|
||||
"WidgetTopKeywordsForPages": "بهترین کلمات کلیدی برای صفحه شما"
|
||||
}
|
||||
}
|
50
msd2/tracking/piwik/plugins/Referrers/lang/fi.json
Normal file
50
msd2/tracking/piwik/plugins/Referrers/lang/fi.json
Normal file
@ -0,0 +1,50 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Tämä raportti näyttää kaikki viittaukset yhdessä raportissa, listaten kaikki verkkosivut, hakusanat ja kampanjat, joita käyttäjäsi käyttivät löytääkseen verkkosivusi.",
|
||||
"Campaigns": "Kampanjat",
|
||||
"CampaignsDocumentation": "Kävijät, jotka tulivat sivullesi kampanjan mukana. %1$s Katso %2$s raportista lisätietoja.",
|
||||
"CampaignsReportDocumentation": "Tässä raportissa on tietoa kampanjoista, joilla käyttäjiä tuli sivuillesi. %1$s Lisätietoa kampanjoiden seuraamisesta löytyy %2$senglanninkielisestä dokumentista matomo.orgissa%3$s",
|
||||
"ColumnCampaign": "Kampanja",
|
||||
"ColumnSearchEngine": "Hakukone",
|
||||
"ColumnSocial": "Sosiaalinen verkosto",
|
||||
"ColumnWebsite": "Verkkosivu",
|
||||
"ColumnWebsitePage": "Verkkosivu",
|
||||
"DirectEntry": "Suoraan",
|
||||
"DirectEntryDocumentation": "Käyttäjä on näppäillyt osoitteen suoraan selaimeensa - hän saapui verkkosivullesi suoraan.",
|
||||
"DistinctCampaigns": "yksilöllistä kampanjaa",
|
||||
"DistinctKeywords": "yksilöllistä hakusanaa",
|
||||
"DistinctSearchEngines": "yksilöllistä hakukonetta",
|
||||
"DistinctWebsites": "yksilöllistä verkkosivua",
|
||||
"EvolutionDocumentation": "Tämä on yleiskatsaus viittauksista, jotka toivat käyttäjiä sivuillesi.",
|
||||
"Keywords": "Avainsanat",
|
||||
"KeywordsReportDocumentation": "Tämä rapotti näyttää, millä hakusanoilla kävijät tulivat sivuillesi. %s Näet hakukoneiden määrän klikkaamalla hakusanaa.",
|
||||
"PluginDescription": "Raportoi viittaajiin liittyvää tietoa: hakukoneet, hakusanat, verkkosivut, kampanjat, sosiaalisen median, suorat saapumiset.",
|
||||
"Referrer": "Viittaukset",
|
||||
"ReferrerName": "Viittauksen nimi",
|
||||
"ReferrerNames": "Viittauksen nimet",
|
||||
"Referrers": "Viittaajat",
|
||||
"ReferrersOverview": "Viittauksien yleiskatsaus",
|
||||
"ReferrerURLs": "Saapumisosoitteet",
|
||||
"SearchEngines": "Hakukoneet",
|
||||
"SearchEnginesDocumentation": "Kävijä tuli sivullesi hakukoneesta. %1$s Katso %2$s raportista lisätietoja.",
|
||||
"SearchEnginesReportDocumentation": "Tämä raportti näyttää, mitkä hakukoneet viittasivat kävijöitä sivuillesi. %s Näet hakusanat klikkaamalla hakukoneen nimeä.",
|
||||
"Socials": "Sosiaaliset verkostot",
|
||||
"SocialsReportDocumentation": "Tämä raportti näyttää mitkä sosiaaliset verkostot johtivat kävijöitä verkkosivullesi.<br \/>Klikkaamalla riviä taulukossa näet mistä sosiaalisesta verkostosta kävijät tulivat verkkosivullesi.",
|
||||
"SubmenuSearchEngines": "Search engines & keywords",
|
||||
"SubmenuWebsitesOnly": "Sivustot",
|
||||
"TypeCampaigns": "%s kampanjoista",
|
||||
"TypeDirectEntries": "%s suoraa saapumista",
|
||||
"TypeSearchEngines": "%s hakukoneista",
|
||||
"TypeWebsites": "%s verkkosivuilta",
|
||||
"UsingNDistinctUrls": "(käytetään %s yksilöllistä osoitetta)",
|
||||
"ViewAllReferrers": "Näytä kaikki viittaukset",
|
||||
"ViewReferrersBy": "Näytä viittaukset %s mukaan",
|
||||
"Websites": "Sivustot",
|
||||
"WebsitesDocumentation": "Kävijä tuli sivullesi seuraamalla linkkiä toiselta sivulta. %1$s Katso %2$s raportista lisätietoja.",
|
||||
"WebsitesReportDocumentation": "Tässä taulussa on lista sivuista, joiden kautta käyttäjiä tuli sinun sivullesi. %s Näet lähdesivun URL:n klikkaamalla taulun riviä.",
|
||||
"WidgetExternalWebsites": "Lista ulkoisista verkkosivuista",
|
||||
"WidgetSocials": "Sosiaalisten verkostojen lista",
|
||||
"WidgetTopKeywordsForPages": "Käytetyimmät avainsanat sivun URL:lle",
|
||||
"XPercentOfVisits": "%s kävijöistä"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/fr.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/fr.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Ce rapport affiche tous les référents en un rapport consolidé, listant tous les sites web, mots-clés de recherche et campagnes utilisés par vos visiteurs pour trouver votre site web.",
|
||||
"Campaigns": "Campagnes",
|
||||
"CampaignsDocumentation": "Visiteurs venus sur votre site web grâce à une campagne. %1$s Affichez le rapport %2$s pour plus de détails.",
|
||||
"CampaignsReportDocumentation": "Ce rapport montre quelles campagnes ont conduit des visiteurs à votre site web. %1$s Pour plus d'informations à propos des campagnes lisez %2$s la documentation des campagnes sur matomo.org%3$s",
|
||||
"ColumnCampaign": "Campagne",
|
||||
"CampaignPageUrlHelp": "L'URL de la page sur laquelle se rend cette campagne, par exemple 'http:\/\/exemple.org\/offre.html'.",
|
||||
"CampaignNameHelp": "Choisissez un nom qui décrit la campagne qui est en train d'être créée et qui la distingue d'autres campagnes. Par exemple 'DealsEte-Email' ou 'DealsEte-PubPay\".",
|
||||
"CampaignKeywordHelp": "Si vous avez de multiples campagnes avec le même nom, vous pouvez les distinguer en spécifiant un mot clef ou une sous-catégorie.",
|
||||
"CampaignSource": "Source de la campagne",
|
||||
"CampaignSourceHelp": "Utilisé pour suivre la source de la campagne telle que 'infolettre' pour votre marketing courriel, 'affilié', ou le nom du site web qui affiche votre publicité.",
|
||||
"CampaignContent": "Contenu de la campagne",
|
||||
"CampaignContentHelp": "Ce paramètre est souvent utilisé lorsque vous testez plusieurs publicités, et vous ajouteriez le nom de chacune afin de void laquelle est la plus efficace pour approter du trafic.",
|
||||
"CampaignMedium": "Mëdia de la campagne",
|
||||
"CampaignMediumHelp": "Utilisé pour décrire l'activité marketing, par exemple 'PPC' pour une campagne rénumérée au click ou 'SEM' pour des publicités de recherche, ou 'revue' pour suivre les revues d'un produit sur un site affilié.",
|
||||
"ColumnSearchEngine": "Moteur de recherche",
|
||||
"ColumnSocial": "Réseaux sociaux",
|
||||
"ColumnWebsite": "Site",
|
||||
"ColumnWebsitePage": "Page du site",
|
||||
"DirectEntry": "Entrées directes",
|
||||
"DirectEntryDocumentation": "Un visiteur a entré directement l'URL du site web dans son navigateur et a commencé à parcourir votre site web - il est entré directement sur le site web.",
|
||||
"Distinct": "Référents uniques par type de canal",
|
||||
"DistinctCampaigns": "campagnes distinctes",
|
||||
"DistinctKeywords": "mots-clés distincts",
|
||||
"DistinctSearchEngines": "Moteurs de recherche distincts",
|
||||
"DistinctSocialNetworks": "réseaux sociaux uniques",
|
||||
"DistinctWebsites": "sites web distincts",
|
||||
"EvolutionDocumentation": "Ceci est un aperçu des référents qui ont conduit des visiteurs sur votre site web.",
|
||||
"EvolutionDocumentationMoreInfo": "Pour plus d'information à propos des différents types de canaux, consultez la documentation de la table %s.",
|
||||
"Keywords": "Mots-clés",
|
||||
"KeywordsReportDocumentation": "Ce rapport affiche quels mots-clés les utilisateurs recherchaient avant d'être conduit sur votre site web. %s En cliquant sur une ligne vous pouvez visualiser la distribution des moteurs de recherche qui ont été utilisés pour le mot-clé.",
|
||||
"KeywordsReportDocumentationNote": "Note: ce rapport affiche la plupart des mots clefs comme indéfinis, ceci parce que la plupart des moteurs de recherche ne transmettent pas le mot clef exact utilisé.",
|
||||
"PluginDescription": "Rapporte des données sur les Référents : Moteurs de recherche, mots clefs, Sites web, Campagnes, Réseaux sociaux et entrées directes.",
|
||||
"Referrer": "Référent",
|
||||
"ReferrerName": "Nom du référent",
|
||||
"ReferrerNames": "Noms du référant",
|
||||
"Referrers": "Référents",
|
||||
"ReferrersOverview": "Vue d'ensemble des référents",
|
||||
"ReferrerTypes": "Types de canaux",
|
||||
"ReferrerURLs": "URL's de référant",
|
||||
"SearchEngines": "Moteurs de recherche",
|
||||
"SearchEnginesDocumentation": "Un visiteur a été conduit sur votre site web par un moteur de recherche. %1$s Affichez le rapport %2$s pour plus de détails.",
|
||||
"SearchEnginesReportDocumentation": "Ce rapport vous montre quels moteurs de recherche ont envoyé vos utilisateurs vers votre site. %s en cliquant sur une ligne sur la table, vous pouvez voir ce que vos utilisateurs étaient en train de chercher avec les moteurs de recherches spécifiques.",
|
||||
"Socials": "Réseaux sociaux",
|
||||
"SocialsReportDocumentation": "Ce rapport affiche quels réseaux sociaux ont amené des visiteurs sur votre site web.<br \/>En cliquant sur une ligne du tableau, vous pouvez voir depuis quelles pages du réseau social les visiteur sont venus sur votre site web.",
|
||||
"SubmenuSearchEngines": "Moteurs de recherche et mots-clés",
|
||||
"SubmenuWebsitesOnly": "Sites web",
|
||||
"Type": "Type de canal",
|
||||
"TypeCampaigns": "%s depuis des campagnes",
|
||||
"TypeDirectEntries": "%s entrées directes",
|
||||
"TypeReportDocumentation": "Ce tableau contient des informations à propos du répartissement des types de canaux.",
|
||||
"TypeSearchEngines": "%s depuis des moteurs de recherche",
|
||||
"TypeSocialNetworks": "%s depuis des réseaux sociaux",
|
||||
"TypeWebsites": "%s depuis d'autres sites Internet",
|
||||
"UsingNDistinctUrls": "(utilisant %s urls distinctes)",
|
||||
"GenerateUrl": "Générer l'URL",
|
||||
"URLCampaignBuilder": "Bâtisseur d'URL de campagne",
|
||||
"URLCampaignBuilderIntro": "L'outil %1$s bâtisseur d'URL%2$s vous permet de générer des URLs prêtes à être utilisées pour suivre des campagnes Matomo. Reportez vous à la documentation à propos %3$sdu suivit de Campagne%4$s pour plus d'information.",
|
||||
"URLCampaignBuilderResult": "URL générée que vous pouvez copier\/coller dans vos Campagnes, Info courriel, Publicité Facebook ou Tweets:",
|
||||
"ViewAllReferrers": "Afficher tous les référents",
|
||||
"ViewReferrersBy": "Afficher les référents par %s",
|
||||
"Websites": "Sites web",
|
||||
"WebsitesDocumentation": "Le visiteur a suivi un lien sur un autre site qui l'a conduit sur votre site. %1$s Affichez le rapport %2$s pour plus de détails.",
|
||||
"WebsitesReportDocumentation": "Dans ce tableau vous pouvez voir quels sites web ont conduit des visiteurs sur votre site.. %s En cliquant sur une ligne du tableau, vous pouvez voir les URL des sites sur lesquels sont les liens.",
|
||||
"WidgetExternalWebsites": "Sites Internet référents",
|
||||
"WidgetGetAll": "Tous les canaux",
|
||||
"WidgetSocials": "Liste des réseaux sociaux",
|
||||
"WidgetTopKeywordsForPages": "Meilleurs mots-clés pour l'URL",
|
||||
"XPercentOfVisits": "%s des visites",
|
||||
"Acquisition": "Acquisition"
|
||||
}
|
||||
}
|
17
msd2/tracking/piwik/plugins/Referrers/lang/gl.json
Normal file
17
msd2/tracking/piwik/plugins/Referrers/lang/gl.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Campañas",
|
||||
"ColumnWebsite": "Web",
|
||||
"DirectEntry": "Entrada directa",
|
||||
"Keywords": "Palabras clave",
|
||||
"SearchEngines": "Motores de busca",
|
||||
"SubmenuSearchEngines": "Motores de busca e palabras clave",
|
||||
"SubmenuWebsitesOnly": "Sitios",
|
||||
"TypeCampaigns": "%s desde campañas",
|
||||
"TypeDirectEntries": "%s entradas directas",
|
||||
"TypeSearchEngines": "%s desde motores de busca",
|
||||
"TypeWebsites": "%s desde outras webs",
|
||||
"Websites": "Sitios",
|
||||
"WidgetExternalWebsites": "Lista de webs externas"
|
||||
}
|
||||
}
|
17
msd2/tracking/piwik/plugins/Referrers/lang/he.json
Normal file
17
msd2/tracking/piwik/plugins/Referrers/lang/he.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "קמפיינים",
|
||||
"ColumnSocial": "רשת חברתית",
|
||||
"ColumnWebsite": "אתר",
|
||||
"ColumnWebsitePage": "עמוד אתר",
|
||||
"Keywords": "מילות מפתח",
|
||||
"Referrer": "מפנה",
|
||||
"ReferrerName": "שם הפניה",
|
||||
"Referrers": "הפניות",
|
||||
"ReferrersOverview": "סקירת הפניות",
|
||||
"SearchEngines": "מנועי חיפוש",
|
||||
"Socials": "רשתות חברתיות",
|
||||
"SubmenuWebsitesOnly": "אתרים",
|
||||
"Websites": "אתרים"
|
||||
}
|
||||
}
|
45
msd2/tracking/piwik/plugins/Referrers/lang/hi.json
Normal file
45
msd2/tracking/piwik/plugins/Referrers/lang/hi.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "इस रिपोर्ट में अपनी वेबसाइट खोजने के लिए अपने आगंतुकों द्वारा उपयोग किए गए सभी वेबसाइटों, खोज कीवर्ड और अभियान को सूचीबद्ध, एक एकीकृत रिपोर्ट में आपके सभी सन्दर्भदाता दिखाता है.",
|
||||
"Campaigns": "अभियान",
|
||||
"CampaignsDocumentation": "आगंतुकों जो एक अभियान के परिणाम के रूप में अपनी वेबसाइट पर आए. अधिक जानकारी के लिए %1$sरिपोर्ट %2$s देखें.",
|
||||
"CampaignsReportDocumentation": "इस रिपोर्ट में आपकी वेबसाइट पर आगंतुकों का नेतृत्व किया जो अभियान से पता चलता है. ट्रैकिंग अभियान के बारे में %1$s अधिक जानकारी के लिए, matomo.org %2$sपर अभियान%3$s प्रलेखन पढ़ें",
|
||||
"ColumnCampaign": "अभियान",
|
||||
"ColumnSearchEngine": "सर्च इंजिन",
|
||||
"ColumnSocial": "सामाजिक संजाल",
|
||||
"ColumnWebsite": "वेबसाइट",
|
||||
"ColumnWebsitePage": "वेबसाइट के पेज",
|
||||
"DirectEntry": "प्रत्यक्ष प्रवेश",
|
||||
"DistinctCampaigns": "विशिष्ट अभियानों",
|
||||
"DistinctKeywords": "विशिष्ट खोजशब्दों",
|
||||
"DistinctSearchEngines": "विशिष्ट सर्च इंजन",
|
||||
"DistinctWebsites": "विशिष्ट वेबसाइटों",
|
||||
"EvolutionDocumentation": "इससे आपकी वेबसाइट पर आगंतुकों का नेतृत्व किया जो सन्दर्भदाता का अवलोकन है.",
|
||||
"Keywords": "खोजशब्द",
|
||||
"KeywordsReportDocumentation": "यह रिपोर्ट कि वे आपकी वेबसाइट पर निर्दिष्ट किये जाने से पहले उपयोगकर्ताओं द्वारा खोजे जा रहे कीवर्ड दिखाता है तालिका में एक पंक्ति पर %s क्लिक करते हुए आप कीवर्ड की पूछा था कि खोज इंजन का वितरण देख सकते हैं.",
|
||||
"Referrer": "संदर्भ",
|
||||
"ReferrerName": "संदर्भ का नाम",
|
||||
"Referrers": "सन्दर्भदाता",
|
||||
"ReferrersOverview": "सन्दर्भदाता अवलोकन",
|
||||
"SearchEngines": "सर्च इंजन",
|
||||
"SearchEnginesDocumentation": "एक आगंतुक एक खोज इंजन से आपकी वेबसाइट पर भेजा गया था. अधिक जानकारी के लिए %1$sरिपोर्ट देखें%2$s.",
|
||||
"SearchEnginesReportDocumentation": "यह रिपोर्ट जो दर्शाता है खोज इंजन का आपकी वेबसाइट पर उपयोगकर्ताओं को भेजा जाता. तालिका में एक पंक्ति पर%s क्लिक करते हुए आप देख सकते हैं क्या उपयोगकर्ताओं को एक विशिष्ट खोज इंजन का उपयोग करने की खोज कर रहे थे",
|
||||
"Socials": "सामाजिक संजाल",
|
||||
"SocialsReportDocumentation": "यह रिपोर्ट दिखाता है जो सामाजिक नेटवर्क आपकी वेबसाइट पर आगंतुकों का नेतृत्व किया.<br \/> तालिका में एक पंक्ति पर क्लिक करते हुए आप देख सकते जिसमें सामाजिक नेटवर्क पृष्ठों से आगंतुकों को अपनी वेबसाइट पर आया था",
|
||||
"SubmenuSearchEngines": "सर्च इंजन और खोजशब्द",
|
||||
"SubmenuWebsitesOnly": "वेबसाइटें",
|
||||
"TypeCampaigns": "अभियान से %s",
|
||||
"TypeDirectEntries": "%s प्रत्यक्ष प्रविष्टियां",
|
||||
"TypeSearchEngines": "सर्च इंजन से %s",
|
||||
"TypeWebsites": "वेबसाइटों से %s",
|
||||
"UsingNDistinctUrls": "(%s विशिष्ट यूआरएल का उपयोग करके)",
|
||||
"ViewAllReferrers": "सभी सन्दर्भदाता देखें",
|
||||
"ViewReferrersBy": "%s द्वारा सन्दर्भदाता देखें",
|
||||
"Websites": "वेबसाइटें",
|
||||
"WebsitesDocumentation": "आगंतुक अपनी साइट का नेतृत्व करने के लिए एक और वेबसाइट पर एक लिंक का पालन किया. %1$s अधिक जानकारी के लिए रिपोर्ट%2$s देखें.",
|
||||
"WebsitesReportDocumentation": "इस तालिका में, आप अपनी वेबसाइट पर आगंतुकों को भेजने वाले वेबसाइट देख सकते हैं. तालिका में %s एक पंक्ति पर क्लिक करते हुए आप देख सकते हैं जो यूआरएल आपकी वेबसाइट के लिए लिंक किया गया है",
|
||||
"WidgetExternalWebsites": "संदर्भ वेबसाईटें",
|
||||
"WidgetSocials": "सामाजिक संजाल की सूची",
|
||||
"WidgetTopKeywordsForPages": "पृष्ठ URL के लिए शीर्ष खोजशब्द"
|
||||
}
|
||||
}
|
5
msd2/tracking/piwik/plugins/Referrers/lang/hr.json
Normal file
5
msd2/tracking/piwik/plugins/Referrers/lang/hr.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"ColumnWebsite": "Web stranica"
|
||||
}
|
||||
}
|
26
msd2/tracking/piwik/plugins/Referrers/lang/hu.json
Normal file
26
msd2/tracking/piwik/plugins/Referrers/lang/hu.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampányok",
|
||||
"ColumnCampaign": "Kampány",
|
||||
"ColumnSearchEngine": "Keresőoldal",
|
||||
"ColumnWebsite": "Weboldal",
|
||||
"ColumnWebsitePage": "Weboldal weblapja",
|
||||
"DirectEntry": "Közvetlen látogatás",
|
||||
"DistinctCampaigns": "különböző kampány",
|
||||
"DistinctKeywords": "különböző kulcsszó",
|
||||
"DistinctSearchEngines": "különböző keresőoldal",
|
||||
"DistinctWebsites": "különböző weboldal",
|
||||
"Keywords": "Kulcsszavak",
|
||||
"Referrers": "Források",
|
||||
"SearchEngines": "Keresőoldalak",
|
||||
"SubmenuSearchEngines": "Keresőoldalak és kulcsszavak",
|
||||
"SubmenuWebsitesOnly": "Weboldalak",
|
||||
"TypeCampaigns": "%s a kampányok által",
|
||||
"TypeDirectEntries": "%s közvetlen látogatás",
|
||||
"TypeSearchEngines": "%s a keresőoldalakról",
|
||||
"TypeWebsites": "%s a weboldalakról",
|
||||
"UsingNDistinctUrls": "(%s különböző URL által)",
|
||||
"Websites": "Weboldalak",
|
||||
"WidgetExternalWebsites": "Külső weboldalak listája"
|
||||
}
|
||||
}
|
45
msd2/tracking/piwik/plugins/Referrers/lang/id.json
Normal file
45
msd2/tracking/piwik/plugins/Referrers/lang/id.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Laporan ini menampilkan seluruh Pengarah Anda dalam laporan satu kompak, mendaftar seluruh Situs, dan kata kunci Pencarian serta Kampanye yang digunakan pengunjung Anda menemukan situs Anda.",
|
||||
"Campaigns": "Kampanye",
|
||||
"CampaignsDocumentation": "Pengunjung yang datang ke situs Anda sebagai hasil dari kampanye. %1$s Lihat laporan %2$s untuk selengkapnya.",
|
||||
"CampaignsReportDocumentation": "Laporan ini menampilan kampanye mana yang mengarahkan pengungunjung ke situs Anda. %1$s Informasi selengkapnya tentang kampanye pelacakan, baca %2$sdokumentasi kampanye di matomo.org%3$s",
|
||||
"ColumnCampaign": "Kampanye",
|
||||
"ColumnSearchEngine": "Mesin Pencari",
|
||||
"ColumnSocial": "Jejaring Sosial",
|
||||
"ColumnWebsite": "Situs",
|
||||
"ColumnWebsitePage": "Halaman Situs",
|
||||
"DirectEntry": "Masukan Langsung",
|
||||
"DistinctCampaigns": "kampanye berbeda",
|
||||
"DistinctKeywords": "kata kunci berbeda",
|
||||
"DistinctSearchEngines": "mesin pencari berbeda",
|
||||
"DistinctWebsites": "situs berbeda",
|
||||
"EvolutionDocumentation": "Ini merupakan iktisar pengarah yang mengarahkan pengunjung ke situs Anda.",
|
||||
"Keywords": "Kata Kunci",
|
||||
"KeywordsReportDocumentation": "Laporan ini menampilkan kata kunci yang pengguna gunakan saat pencarian sebelum diarahkan ke situs Anda. %s Dengan mengeklik baris dalam tabel, Anda dapat mengetahui penyebaran permintaan mesin pencari atas kata kunci tersebut.",
|
||||
"Referrer": "Pengarah",
|
||||
"ReferrerName": "Nama Pengarah",
|
||||
"Referrers": "Pengarah",
|
||||
"ReferrersOverview": "Iktisar Pengarah",
|
||||
"SearchEngines": "Mesin Pencari",
|
||||
"SearchEnginesDocumentation": "Pengunjung telah diarahkan ke situs Anda oleh mesin pencari. %1$s Lihat laporan %2$s untuk selengkapnya.",
|
||||
"SearchEnginesReportDocumentation": "Laporan ini menampilakan mesin pencari yang mengarahkan pengguna ke situs Anda. %s Dengan mengeklik baris dalam tabel, Anda dapat mengetahui pengguna mana yang menggunakan mesin pencari tertentu.",
|
||||
"Socials": "Jejaring Sosial",
|
||||
"SocialsReportDocumentation": "Laporan ini menampilkan jejaring sosial yang mengarahkan pengunjung ke situs Anda.<br \/>Dengan mengeklik sebuah baris di tabel, Anda dapat melihat dari halaman jejaring sosial mana pengunjung mendatangi situs Anda.",
|
||||
"SubmenuSearchEngines": "Mesin Pencari & Kata Kunci",
|
||||
"SubmenuWebsitesOnly": "Situs",
|
||||
"TypeCampaigns": "%s dari kampanye",
|
||||
"TypeDirectEntries": "%s masukkan langsung",
|
||||
"TypeSearchEngines": "%s dari mesin pencari",
|
||||
"TypeWebsites": "%s dari situs",
|
||||
"UsingNDistinctUrls": "(menggunakan %s url berbeda)",
|
||||
"ViewAllReferrers": "Lihat seluruh pengarah",
|
||||
"ViewReferrersBy": "Lihat Pengarah berdasar %s",
|
||||
"Websites": "Situs",
|
||||
"WebsitesDocumentation": "Pengunjung mengikuti tautan di situs lain yang mengarahkan ke situs Anda. %1$s Lihat laporan %2$s untuk selengkapnya.",
|
||||
"WebsitesReportDocumentation": "Dalam tabel ini, Anda dapat melihat situs mana yang mengarahkan pengunjung menuju situs Anda. %s Dengan mengeklik baris dalam tabel, Anda dapat mengetahui URL mana yang memiliki tautan ke situs Anda.",
|
||||
"WidgetExternalWebsites": "Daftar Situs luar",
|
||||
"WidgetSocials": "Daftar jejaring sosial",
|
||||
"WidgetTopKeywordsForPages": "Kata kunci atas untulk URL halaman"
|
||||
}
|
||||
}
|
26
msd2/tracking/piwik/plugins/Referrers/lang/is.json
Normal file
26
msd2/tracking/piwik/plugins/Referrers/lang/is.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Herferðir",
|
||||
"ColumnCampaign": "Herferð",
|
||||
"ColumnSearchEngine": "Leitarvél",
|
||||
"ColumnWebsite": "Vefur",
|
||||
"ColumnWebsitePage": "Vefsíða",
|
||||
"DirectEntry": "Beinar Innfærslur",
|
||||
"DistinctCampaigns": "mismunandi herferðir",
|
||||
"DistinctKeywords": "mismunandi leitarorð",
|
||||
"DistinctSearchEngines": "mismunandi leitarvélar",
|
||||
"DistinctWebsites": "mismunandi vefir",
|
||||
"Keywords": "Leitarorð",
|
||||
"Referrers": "Sendendur",
|
||||
"SearchEngines": "Leitarvélar",
|
||||
"SubmenuSearchEngines": "Leitarvélar & Leitarorð",
|
||||
"SubmenuWebsitesOnly": "Vefir",
|
||||
"TypeCampaigns": "%s frá herferðum",
|
||||
"TypeDirectEntries": "%s beinar innfærslur",
|
||||
"TypeSearchEngines": "%s frá leitarvélum",
|
||||
"TypeWebsites": "%s frá vefjum",
|
||||
"UsingNDistinctUrls": "(notuð eru %s mismunandi url)",
|
||||
"Websites": "Vefir",
|
||||
"WidgetExternalWebsites": "Listi yfir ytri vefi"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/it.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/it.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Questo report mostra tutti i tuoi Referenti in un unico report che elenca tutti i Siti web, le Parole chiave di ricerca e Campagne utilizzate dai visitatori per trovare il tuo sito web.",
|
||||
"Campaigns": "Campagne",
|
||||
"CampaignsDocumentation": "Visitatori che sono arrivati sul tuo sito web a seguito di una campagna. %1$sVedi il%2$s report per maggiori dettagli.",
|
||||
"CampaignsReportDocumentation": "Questo report mostra quali campagne hanno condotto i visitatori al tuo sito web. %1$s Per ulteriori informazioni sul tracciamento delle campagne, leggi la %2$sdocumentazione sulle campagne su matomo.org%3$s",
|
||||
"ColumnCampaign": "Campagna",
|
||||
"CampaignPageUrlHelp": "URL della pagina in cui si trova questa campagna, per esempio 'http:\/\/example.org\/offer.html'.",
|
||||
"CampaignNameHelp": "Scegli un nome che descriva per che cosa è stata creata la campagna e che distingua la tua campagna dalle altre. Ad esempio \"Email-SummerDeals\" o \"PaidAds-SummerDeals\".",
|
||||
"CampaignKeywordHelp": "Se hai più campagne con lo stesso nome, puoi distinguerle specificando una parola chiave o una sottocategoria.",
|
||||
"CampaignSource": "Origine Campagna",
|
||||
"CampaignSourceHelp": "Utilizzato per tracciare l'origine della campagna, come 'newsletter' per il tuo marketing via email, 'affiliato' o il nome del sito web che mostra i tuoi annunci.",
|
||||
"CampaignContent": "Contenuto campagna",
|
||||
"CampaignContentHelp": "Questo parametro viene spesso utilizzato quando si provano più annunci e si include il nome di ciascun annuncio per vedere qual è stato più efficace per indirizzare il traffico.",
|
||||
"CampaignMedium": "Mezzo Campagna",
|
||||
"CampaignMediumHelp": "Utilizzato per descrivere l'attività di marketing, ad esempio 'PPC' per una campagna pay-per-click, o 'SEM' per annunci di ricerca a pagamento, o 'recensione' per tenere traccia di una recensione di un prodotto su un sito affiliato.",
|
||||
"ColumnSearchEngine": "Motore di ricerca",
|
||||
"ColumnSocial": "Social network",
|
||||
"ColumnWebsite": "Sito:",
|
||||
"ColumnWebsitePage": "Pagina",
|
||||
"DirectEntry": "Ingressi Diretti",
|
||||
"DirectEntryDocumentation": "Un visitatore ha inserito l'URL nel suo browser e ha cominciato a navigare nel tuo sito web - è entrato direttamente nel sito.",
|
||||
"Distinct": "Distingui i Referrer per Tipo di Canale",
|
||||
"DistinctCampaigns": "campagne distinte",
|
||||
"DistinctKeywords": "parole chiave distinte",
|
||||
"DistinctSearchEngines": "motori di ricerca distinti",
|
||||
"DistinctSocialNetworks": "social networks distinti",
|
||||
"DistinctWebsites": "siti web distinti",
|
||||
"EvolutionDocumentation": "Questa è una panoramica dei referenti che hanno portato i visitatori sul tuo sito web.",
|
||||
"EvolutionDocumentationMoreInfo": "Per ulteriori informazioni sui diversi tipi di canale, leggi la documentazione della tabella %s.",
|
||||
"Keywords": "Keywords",
|
||||
"KeywordsReportDocumentation": "Questo report mostra le parole chiave che gli utenti hanno ricercato prima di venire indirizzati sul tuo sito web. %s Cliccando su una riga della tabella, è possibile vedere la distribuzione dei motori di ricerca che sono stati interrogati per la parola chiave.",
|
||||
"KeywordsReportDocumentationNote": "Nota: questo report elenca la maggior parte delle parole chiave come non definite, poiché la maggior parte dei motori di ricerca non invia la parola chiave esatta utilizzata nel motore di ricerca.",
|
||||
"PluginDescription": "Restituisce i dati dei Referrer: Motori di Ricerca, Keywords, Siti, Campagne, Social media, Ingressi diretti.",
|
||||
"Referrer": "Referente",
|
||||
"ReferrerName": "Nome Referente",
|
||||
"ReferrerNames": "Nomi Referrer",
|
||||
"Referrers": "Referenti",
|
||||
"ReferrersOverview": "Panoramica Referenti",
|
||||
"ReferrerTypes": "Tipi di Canale",
|
||||
"ReferrerURLs": "URL Referrer",
|
||||
"SearchEngines": "Motori di ricerca",
|
||||
"SearchEnginesDocumentation": "Un visitatore è stato portato sul tuo sito da un motore di ricerca. %1$s Vedi il%2$s report per maggiori dettagli.",
|
||||
"SearchEnginesReportDocumentation": "Questo report mostra quali motori di ricerca hanno portato gli utenti sul tuo sito web. %s Cliccando su una riga della tabella è possibile vedere ciò che gli utenti stavano cercando utilizzando un determinato motore di ricerca.",
|
||||
"Socials": "Social Networks",
|
||||
"SocialsReportDocumentation": "Questo report mostra quali social networks hanno portato i visitatori sul tuo sito web. <br \/> Cliccando su una riga della tabella si può vedere da quali pagine di social network i visitatori sono venuti sul tuo sito web.",
|
||||
"SubmenuSearchEngines": "Motori di ricerca e parole chiave",
|
||||
"SubmenuWebsitesOnly": "Siti web",
|
||||
"Type": "Tipo di Canale",
|
||||
"TypeCampaigns": "%s da campagne",
|
||||
"TypeDirectEntries": "%s ingressi diretti",
|
||||
"TypeReportDocumentation": "Questa tabella contiene informazioni sulla distribuzione dei tipi di canale.",
|
||||
"TypeSearchEngines": "%s da motori di ricerca",
|
||||
"TypeSocialNetworks": "%s dai social networks",
|
||||
"TypeWebsites": "%s da siti web",
|
||||
"UsingNDistinctUrls": "(usando %s URL distinti)",
|
||||
"GenerateUrl": "Genera URL",
|
||||
"URLCampaignBuilder": "Builder degli URL Campagna",
|
||||
"URLCampaignBuilderIntro": "Lo %1$sstrumento Builder URL%2$s ti consente di generare degli URL pronti all'uso per il Tracking delle Campagne in Matomo. Leggi la documentazione sul %3$sTracking Campagne%4$s per ulteriori informazioni.",
|
||||
"URLCampaignBuilderResult": "URL generato che puoi copiare e incollare nelle tue Campagne, Newsletter via email, Annunci Facebook e tweets:",
|
||||
"ViewAllReferrers": "Vedi tutti i Referenti",
|
||||
"ViewReferrersBy": "Vedi Referenti per %s",
|
||||
"Websites": "Siti web",
|
||||
"WebsitesDocumentation": "Il visitatore ha seguito un link su un altro sito web che lo ha portato sul tuo. %1$sVedi il%2$s report per maggiori dettagli.",
|
||||
"WebsitesReportDocumentation": "In questa tabella è possibile vedere quali siti web hanno portato i visitatori sul tuo sito. %s Cliccando su una riga della tabella è possibile vedere su quali URL si trovavano i link al tuo sito.",
|
||||
"WidgetExternalWebsites": "Elenco di Siti web esterni",
|
||||
"WidgetGetAll": "Tutti i Canali",
|
||||
"WidgetSocials": "Elenco di social network",
|
||||
"WidgetTopKeywordsForPages": "Top Keyword per URL Pagina",
|
||||
"XPercentOfVisits": "%s di visite",
|
||||
"Acquisition": "Acquisizione"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/ja.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/ja.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "このレポートは、すべての参照元を確認することができる統合レポートです。ビジターがサイト閲覧の際に利用したすべてのウェブサイト、検索キーワード、キャンペーンを一覧表示します。",
|
||||
"Campaigns": "キャンペーン",
|
||||
"CampaignsDocumentation": "キャンペーンの結果としてウェブサイトを訪れたビジター。詳細のリポートは %1$s こちら %2$s",
|
||||
"CampaignsReportDocumentation": "このリポートは、ウェブサイトにビジターを導いたキャンペーンについて示します。 %1$s キャンペーンのトラッキングの詳細については、%2$s matomo.org のキャンペーンについてのドキュメント %3$s を読んでください。",
|
||||
"ColumnCampaign": "キャンペーン",
|
||||
"CampaignPageUrlHelp": "このキャンペーンが表示されるページの URL です。 例: 'http:\/\/example.org\/offer.html'",
|
||||
"CampaignNameHelp": "キャンペーンが作成された内容を説明する名前を選択します。この名前は、キャンペーンと他のキャンペーンを区別します。 たとえば、「Email-SummerDeals」または「PaidAds-SummerDeals」などです。",
|
||||
"CampaignKeywordHelp": "同じ名前のキャンペーンが複数ある場合は、キーワードまたはサブカテゴリを指定してこれらのキャンペーンを区別できます。",
|
||||
"CampaignSource": "キャンペーンソース",
|
||||
"CampaignSourceHelp": "電子メールマーケティングの「ニュースレター」、「アフィリエイト」、または広告を表示するウェブサイトの名前など、キャンペーンのソースを追跡するために使用されます。",
|
||||
"CampaignContent": "キャンペーンコンテンツ",
|
||||
"CampaignContentHelp": "このパラメータは、複数の広告をテストする際によく使用され、どの広告がトラフィックの促進に最も効果的かを確認するために使用されます。",
|
||||
"CampaignMedium": "キャンペーン媒体",
|
||||
"CampaignMediumHelp": "クリック課金キャンペーンの場合は「PPC」、有料検索広告の場合は「SEM」、アフィリエイトサイトの商品レビューを追跡する場合は「レビュー」など、マーケティング活動を記述するために使用されます。",
|
||||
"ColumnSearchEngine": "検索エンジン",
|
||||
"ColumnSocial": "ソーシャルネットワーク",
|
||||
"ColumnWebsite": "ウェブサイト",
|
||||
"ColumnWebsitePage": "ウェブサイトページ",
|
||||
"DirectEntry": "直接アクセス",
|
||||
"DirectEntryDocumentation": "ビジターがブラウザに URL を入力し、ウェブサイトでブラウジングを開始しました。彼らはウェブサイトに直接訪問しました。",
|
||||
"Distinct": "チャネルタイプ別のリファラー",
|
||||
"DistinctCampaigns": "個別のキャンペーン",
|
||||
"DistinctKeywords": "個別のキーワード",
|
||||
"DistinctSearchEngines": "個別の検索エンジン",
|
||||
"DistinctSocialNetworks": "異なるソーシャルネットワーク",
|
||||
"DistinctWebsites": "個別のウェブサイト",
|
||||
"EvolutionDocumentation": "ビジターをウェブサイトへと導いた参照元についての概観です。",
|
||||
"EvolutionDocumentationMoreInfo": "さまざまなチャネルタイプの詳細については、%s の表のドキュメントを参照してください。",
|
||||
"Keywords": "キーワード",
|
||||
"KeywordsReportDocumentation": "このリポートは、ユーザーがウェブサイトをビジットするのに使用した検索したキーワードを示します。 %s テーブル内の行をクリックすると、キーワードに対して照会された検索エンジンの分布を見ることができます。",
|
||||
"KeywordsReportDocumentationNote": "注:このレポートでは、ほとんどの検索エンジンは使用されたキーワードと正確に一致しないため、キーワードは定義されていません。",
|
||||
"PluginDescription": "リファラーデータレポート: 検索エンジン、キーワード、web サイト、キャンペーン、ソーシャル メディア、ダイレクト エントリー。",
|
||||
"Referrer": "リファラー",
|
||||
"ReferrerName": "リファラーネーム",
|
||||
"ReferrerNames": "リファラー名",
|
||||
"Referrers": "リファラー",
|
||||
"ReferrersOverview": "リファラー概観",
|
||||
"ReferrerTypes": "チャネルタイプ",
|
||||
"ReferrerURLs": "リファラーURL",
|
||||
"SearchEngines": "検索エンジン",
|
||||
"SearchEnginesDocumentation": "検索エンジンを参照してウェブサイトに来たビジター。詳細のリポートは %1$s こちら %2$s",
|
||||
"SearchEnginesReportDocumentation": "このリポートは、どの検索エンジンがこのウェブサイトにユーザーを呼びこんだかを示しています。 %s テーブル内の行をクリックすると、ユーザーが特定の検索エンジンを使って何を検索していたかを確認できます。",
|
||||
"Socials": "ソーシャルネットワーク",
|
||||
"SocialsReportDocumentation": "このレポートでは、ビジターがサイト訪問時に経由したソーシャルネットワークを表示します。<br\/> 表の列をクリックして、ビジターが経由したソーシャルネットワークページを確認してください。",
|
||||
"SubmenuSearchEngines": "検索エンジンとキーワード",
|
||||
"SubmenuWebsitesOnly": "ウェブサイト",
|
||||
"Type": "チャネルタイプ",
|
||||
"TypeCampaigns": "%s キャンペーン経由",
|
||||
"TypeDirectEntries": "%s 直接アクセス",
|
||||
"TypeReportDocumentation": "この表には、チャネルタイプの分布に関する情報が含まれています。",
|
||||
"TypeSearchEngines": "%s 検索エンジン経由",
|
||||
"TypeSocialNetworks": "ソーシャルネットワークからの %s",
|
||||
"TypeWebsites": "%s ウェブサイト経由",
|
||||
"UsingNDistinctUrls": "(%s の個別 URL を使用)",
|
||||
"GenerateUrl": "URL を生成する",
|
||||
"URLCampaignBuilder": "キャンペーン URL ビルダー",
|
||||
"URLCampaignBuilderIntro": "%1$sURL ビルダーツール%2$sを使用すると、Matomo のトラッキングキャンペーンに使用できる URL を生成できます。 詳細については、%3$sキャンペーントラッキング%4$sに関するドキュメントを参照してください。",
|
||||
"URLCampaignBuilderResult": "あなたのキャンペーン、メールニュースレター、Facebook の広告やつぶやきに貼り付けることができる生成された URL:",
|
||||
"ViewAllReferrers": "全リファラーを表示",
|
||||
"ViewReferrersBy": "%s による参照元を表示",
|
||||
"Websites": "ウェブサイト",
|
||||
"WebsitesDocumentation": "別のウェブサイト上のリンクをクリックしてやってきたビジター。詳細のリポートは %1$s こちら %2$s",
|
||||
"WebsitesReportDocumentation": "このテーブルでは、どのウェブサイトがビジターのリファラーになっているかを示します。%s テーブル内の行をクリックすると、クリックされた URL のリンクを見ることが出来ます。",
|
||||
"WidgetExternalWebsites": "外部ウェブサイト一覧",
|
||||
"WidgetGetAll": "すべてのチャンネル",
|
||||
"WidgetSocials": "ソーシャルネットワークのリスト",
|
||||
"WidgetTopKeywordsForPages": "ページ URL のトップキーワード",
|
||||
"XPercentOfVisits": "訪問の %s",
|
||||
"Acquisition": "集客"
|
||||
}
|
||||
}
|
26
msd2/tracking/piwik/plugins/Referrers/lang/ka.json
Normal file
26
msd2/tracking/piwik/plugins/Referrers/lang/ka.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "კამპანიები",
|
||||
"ColumnCampaign": "კამპანია",
|
||||
"ColumnSearchEngine": "საძიებო სისტემა",
|
||||
"ColumnWebsite": "ვებ საიტი",
|
||||
"ColumnWebsitePage": "ვებ საიტის გვერდი",
|
||||
"DirectEntry": "პირდაპირი შესვლა",
|
||||
"DistinctCampaigns": "განსხვავებული კამპანიები",
|
||||
"DistinctKeywords": "განსხვავებული საკვანძო სიტყვები",
|
||||
"DistinctSearchEngines": "განსხვავებული საძიებო სისტემები",
|
||||
"DistinctWebsites": "განსხვავებული ვებ საიტები",
|
||||
"Keywords": "საკვანძო სიტყვები",
|
||||
"Referrers": "რეფერერები",
|
||||
"SearchEngines": "საძიებო სისტემები",
|
||||
"SubmenuSearchEngines": "საძიებო სისტემები და საკვანძო სიტყვები",
|
||||
"SubmenuWebsitesOnly": "ვებ საიტები",
|
||||
"TypeCampaigns": "%s კამპანიებიდან",
|
||||
"TypeDirectEntries": "%s პირდაპირი შესვლა",
|
||||
"TypeSearchEngines": "%s საძიებო სისტემებიდან",
|
||||
"TypeWebsites": "%s ვებ საიტებიდან",
|
||||
"UsingNDistinctUrls": "(%s განსხვავებული url გამოყენებით)",
|
||||
"Websites": "ვებ საიტები",
|
||||
"WidgetExternalWebsites": "გარე ვებ საიტების ჩამონათვალი"
|
||||
}
|
||||
}
|
47
msd2/tracking/piwik/plugins/Referrers/lang/ko.json
Normal file
47
msd2/tracking/piwik/plugins/Referrers/lang/ko.json
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "이 보고서는 모든 리퍼러에 대한 보고서를 하나로 통합한 것으로, 방문자가 경유한 웹사이트, 검색어 그리고 캠페인의 목록입니다.",
|
||||
"Campaigns": "캠페인",
|
||||
"CampaignsDocumentation": "캠페인의 결과로 웹사이트를 방문한 방문자입니다. 상세 보고서는 %1$s이곳%2$s에 있습니다.",
|
||||
"CampaignsReportDocumentation": "이 보고서는 웹사이트에 방문자를 이끈 캠페인에 대해 설명합니다. %1$s 캠페인 추적에 대한 자세한 내용은 %2$smatomo.org의 캠페인에 대한 문서%3$s를 읽어 보세요.",
|
||||
"ColumnCampaign": "캠페인",
|
||||
"ColumnSearchEngine": "검색엔진",
|
||||
"ColumnSocial": "소셜 네트워크",
|
||||
"ColumnWebsite": "웹사이트",
|
||||
"ColumnWebsitePage": "웹사이트 페이지",
|
||||
"DirectEntry": "직접 입력",
|
||||
"DistinctCampaigns": "고유 캠페인",
|
||||
"DistinctKeywords": "고유 검색어",
|
||||
"DistinctSearchEngines": "고유 검색엔진",
|
||||
"DistinctWebsites": "고유 웹사이트",
|
||||
"EvolutionDocumentation": "방문자가 웹사이트에 유입된 리퍼러의 개요입니다.",
|
||||
"Keywords": "검색어",
|
||||
"KeywordsReportDocumentation": "이 보고서는 사용자가 웹사이트를 방문하는 데 사용하는 검색어를 나타냅니다. %s 테이블의 행을 클릭하면 검색어에 조회된 검색 엔진의 분포를 볼 수 있습니다.",
|
||||
"PluginDescription": "리퍼터 데이터 보고서: 검색 엔진, 키워드, 웹사이트, 캠페인, 소셜 미디어, 직접 입력",
|
||||
"Referrer": "리퍼러",
|
||||
"ReferrerName": "리퍼러 이름",
|
||||
"Referrers": "참조",
|
||||
"ReferrersOverview": "리퍼러 개요",
|
||||
"SearchEngines": "검색엔진",
|
||||
"SearchEnginesDocumentation": "검색 엔진을 참조하여 웹사이트로 접속한 방문자입니다. 상세 보고서는 %1$s 여기 %2$s에 있습니다.",
|
||||
"SearchEnginesReportDocumentation": "이 보고서는 어떤 검색 엔진으로 웹사이트에 사용자가 유입되었는 지를 보여줍니다. %s 테이블의 행을 클릭하면 사용자가 특정 검색 엔진을 사용하여 무엇을 찾고 있었는지를 확인할 수 있습니다.",
|
||||
"Socials": "소셜 네트워크",
|
||||
"SocialsReportDocumentation": "이 보고서는 소셜 네트워크에서 웹사이트로 방문자의 유입을 보여줍니다. 표의 행을 클릭하면, 소셜 네트워크의 어떤 페이지에서 방문자가 웹사이트에 들어왔는지 확인할 수 있습니다.",
|
||||
"SubmenuSearchEngines": "검색엔진 및 검색어",
|
||||
"SubmenuWebsitesOnly": "웹사이트",
|
||||
"TypeCampaigns": "%s (캠페인을 통해서)",
|
||||
"TypeDirectEntries": "%s (직접 입력)",
|
||||
"TypeSearchEngines": "%s (검색엔진을 통해서)",
|
||||
"TypeWebsites": "%s (웹사이트를 통해서)",
|
||||
"UsingNDistinctUrls": "(%s의 개별 URL 사용)",
|
||||
"ViewAllReferrers": "모든 리퍼러 보기",
|
||||
"ViewReferrersBy": "%s별 리퍼러 보기",
|
||||
"Websites": "웹사이트",
|
||||
"WebsitesDocumentation": "다른 웹사이트의 링크를 클릭하여 찾아온 방문자입니다. 상세 보고서는 %1$s %2$s 자세히 보기",
|
||||
"WebsitesReportDocumentation": "이 표에서 귀하의 사이트로 방문자를 연결하는 추천 웹사이트를 볼 수 있습니다. %s 테이블의 행을 클릭하면 클릭된 URL 링크를 볼 수 있습니다.",
|
||||
"WidgetExternalWebsites": "외부 웹사이트 목록",
|
||||
"WidgetSocials": "소셜 네트워크의 목록",
|
||||
"WidgetTopKeywordsForPages": "패지 URL의 상위 키워드",
|
||||
"XPercentOfVisits": "%s 번"
|
||||
}
|
||||
}
|
28
msd2/tracking/piwik/plugins/Referrers/lang/lt.json
Normal file
28
msd2/tracking/piwik/plugins/Referrers/lang/lt.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampanijos",
|
||||
"ColumnCampaign": "Kampanija",
|
||||
"ColumnSearchEngine": "Paieškos sistema",
|
||||
"ColumnWebsite": "Svetainė",
|
||||
"ColumnWebsitePage": "Svetainės puslapis",
|
||||
"DirectEntry": "Tiesioginis apsilankymas",
|
||||
"DistinctCampaigns": "atskirti kampanijas",
|
||||
"DistinctKeywords": "atskirti raktinius žodžius",
|
||||
"DistinctSearchEngines": "atskirti paieškos sistemas",
|
||||
"DistinctWebsites": "atskirti svetaines",
|
||||
"Keywords": "Raktiniai žodžiai",
|
||||
"ReferrerName": "Šaltinio pavadinimas",
|
||||
"Referrers": "Šaltiniai",
|
||||
"SearchEngines": "Paieškos sistemos",
|
||||
"SubmenuSearchEngines": "Paieškos sistemos ir raktiniai žodžiai",
|
||||
"SubmenuWebsitesOnly": "Svetainės",
|
||||
"TypeCampaigns": "%s per kampanijas",
|
||||
"TypeDirectEntries": "%s tiesioginiai apsilankymai",
|
||||
"TypeSearchEngines": "%s per paieškos sistemas",
|
||||
"TypeWebsites": "%s iš svetainių",
|
||||
"UsingNDistinctUrls": "(naudojant %s skirtingus URL)",
|
||||
"Websites": "Svetainės",
|
||||
"WidgetExternalWebsites": "Išorinių svetainių sąrašas",
|
||||
"WidgetSocials": "Socialinių tinklų sąrašas"
|
||||
}
|
||||
}
|
22
msd2/tracking/piwik/plugins/Referrers/lang/lv.json
Normal file
22
msd2/tracking/piwik/plugins/Referrers/lang/lv.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampaņas",
|
||||
"ColumnCampaign": "Kampaņa",
|
||||
"ColumnSearchEngine": "Meklēšanas dzinējs",
|
||||
"ColumnWebsite": "Vietne",
|
||||
"ColumnWebsitePage": "Vietnes lapa",
|
||||
"DirectEntry": "Tiešā ieeja",
|
||||
"Keywords": "Atslēgvārdi",
|
||||
"ReferrerName": "Referera nosaukums",
|
||||
"Referrers": "Refereri",
|
||||
"SearchEngines": "Meklēšanas dzinēji",
|
||||
"SubmenuSearchEngines": "Meklēšanas dzinēji un atslēgvārdi",
|
||||
"SubmenuWebsitesOnly": "Vietnes",
|
||||
"TypeCampaigns": "%s no kampaņām",
|
||||
"TypeDirectEntries": "%s tiešās ieejas",
|
||||
"TypeSearchEngines": "%s no meklēšanas dzinējiem",
|
||||
"TypeWebsites": "%s no vietnēm",
|
||||
"Websites": "Vietnes",
|
||||
"WidgetExternalWebsites": "Ārējo vietņu saraksts"
|
||||
}
|
||||
}
|
33
msd2/tracking/piwik/plugins/Referrers/lang/nb.json
Normal file
33
msd2/tracking/piwik/plugins/Referrers/lang/nb.json
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampanjer",
|
||||
"ColumnCampaign": "Kampanje",
|
||||
"ColumnSearchEngine": "Søkemotor",
|
||||
"ColumnSocial": "Sosiale nettverk",
|
||||
"ColumnWebsite": "Nettsted",
|
||||
"ColumnWebsitePage": "Nettside",
|
||||
"DirectEntry": "Direkte treff",
|
||||
"DistinctCampaigns": "ulike kampanjer",
|
||||
"DistinctKeywords": "ulike nøkkelord",
|
||||
"DistinctSearchEngines": "ulike søkemotorer",
|
||||
"DistinctWebsites": "ulike nettsteder",
|
||||
"Keywords": "Nøkkelord",
|
||||
"Referrer": "Henviser",
|
||||
"Referrers": "Henvisere",
|
||||
"SearchEngines": "Søkemotorer",
|
||||
"Socials": "Sosiale nettverk",
|
||||
"SubmenuSearchEngines": "Søkemotorer og nøkkelord",
|
||||
"SubmenuWebsitesOnly": "Nettsteder",
|
||||
"TypeCampaigns": "%s fra kampanjer",
|
||||
"TypeDirectEntries": "%s direkte treff",
|
||||
"TypeSearchEngines": "%s fra søkemotorer",
|
||||
"TypeWebsites": "%s fra nettsteder",
|
||||
"UsingNDistinctUrls": "(bruker %s forskjellige URL-er)",
|
||||
"ViewAllReferrers": "Vis alle henvisere",
|
||||
"ViewReferrersBy": "Vis henvisere etter %s",
|
||||
"Websites": "Nettsteder",
|
||||
"WidgetExternalWebsites": "Liste over eksterne nettsteder",
|
||||
"WidgetSocials": "Liste over sosiale nettverk",
|
||||
"XPercentOfVisits": "%s av besøk"
|
||||
}
|
||||
}
|
58
msd2/tracking/piwik/plugins/Referrers/lang/nl.json
Normal file
58
msd2/tracking/piwik/plugins/Referrers/lang/nl.json
Normal file
@ -0,0 +1,58 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Dit samengestelde rapport laat al uw verwijzers zien met weergave van alle websites, zoekwoorden en campagnes waarmee bezoekers uw site hebben gevonden.",
|
||||
"Campaigns": "Campagnes",
|
||||
"CampaignsDocumentation": "Bezoekers die op uw website uitkwamen via een campagne. %1$s Bekijk het %2$s rapport voor meer details.",
|
||||
"CampaignsReportDocumentation": "Dit rapport toont de campagnes die bezoekers naar uw website hebben geleid. %1$s Voor meer informatie over Campagne Tracking, lees de %2$scampagne documentatie op matomo.org%3$s",
|
||||
"ColumnCampaign": "Campagne",
|
||||
"CampaignPageUrlHelp": "De URL waar deze campagne naar leidt, bijvoorbeeld 'http:\/\/jouwwebsite.org\/aanbieding.html',",
|
||||
"CampaignSource": "Campagne Bron",
|
||||
"CampaignContent": "Campagne Inhoud",
|
||||
"CampaignMedium": "Campagne Medium",
|
||||
"ColumnSearchEngine": "Zoekmachine",
|
||||
"ColumnSocial": "Sociaal netwerk",
|
||||
"ColumnWebsite": "Website",
|
||||
"ColumnWebsitePage": "Pagina website",
|
||||
"DirectEntry": "Direct bezoek",
|
||||
"DirectEntryDocumentation": "Een bezoeker heeft de URL ingevoerd in de browser en is gestart met het bezoeken van jouw website - ze hebben de website direct bezocht.",
|
||||
"DistinctCampaigns": "opvallende campagnes",
|
||||
"DistinctKeywords": "opvallende sleutelwoorden",
|
||||
"DistinctSearchEngines": "opvallende zoekmachines",
|
||||
"DistinctSocialNetworks": "opvallende sociale netwerken",
|
||||
"DistinctWebsites": "opvallende websites",
|
||||
"EvolutionDocumentation": "Dit is een overzicht van de verwijzers die bezoekers naar uw website leidde.",
|
||||
"Keywords": "Sleutelwoorden",
|
||||
"KeywordsReportDocumentation": "Dit rapport toont de sleutelwoorden waarop men zocht en waarbij men werd doorverwezen naar uw website. %s Door op een rij in de tabel te klikken kunt u de verdeling van de zoekmachines zien die op deze sleutelwoorden naar uw website hebben doorverwezen.",
|
||||
"KeywordsReportDocumentationNote": "Opmerking: dit rapport toont de meeste zoekwoorden als 'niet bekend', omdat zoekmachines deze zoekwoorden niet doorgeven.",
|
||||
"PluginDescription": "Rapporten met verwijzers: zoekmachines, zoekwoorden, websites, campagnes, social media en directe toegang.",
|
||||
"Referrer": "Verwijzer",
|
||||
"ReferrerName": "Naam verwijzer",
|
||||
"ReferrerNames": "Namen verwijzers",
|
||||
"Referrers": "Verwijzers",
|
||||
"ReferrersOverview": "Overzicht verwijzers",
|
||||
"ReferrerURLs": "URL's verwijzers",
|
||||
"SearchEngines": "Zoekmachines",
|
||||
"SearchEnginesDocumentation": "Een bezoeker is doorverwezen naar uw website via een zoekmachine. %1$s Bekijk het %2$s rapport voor meer details.",
|
||||
"SearchEnginesReportDocumentation": "Dit rapport toont de zoekmachines die bezoekers naar uw website hebben verwezen. %s Door op een rij in de tabel te klikken kunt u zien naar wat men precies op zoek was in de betreffende zoekmachine.",
|
||||
"Socials": "Sociale netwerken",
|
||||
"SocialsReportDocumentation": "Dit rapport toont welke sociale netwerken bezoekers naar uw website hebben geleid.<br \/>Door te klikken op een rij in de tabel, kunt u zien via welke sociale netwerkpagina's bezoekers naar uw website kwamen.",
|
||||
"SubmenuSearchEngines": "Zoekmachines & sleutelwoorden",
|
||||
"SubmenuWebsitesOnly": "Websites",
|
||||
"TypeCampaigns": "%s via campagnes",
|
||||
"TypeDirectEntries": "%s directe bezoekers",
|
||||
"TypeSearchEngines": "%s via zoekmachines",
|
||||
"TypeSocialNetworks": "%s via sociale netwerken",
|
||||
"TypeWebsites": "%s via websites",
|
||||
"UsingNDistinctUrls": "(via %s verschillende url's)",
|
||||
"ViewAllReferrers": "Alle verwijzers bekijken",
|
||||
"ViewReferrersBy": "Toon verwijzers volgens %s",
|
||||
"Websites": "Websites",
|
||||
"WebsitesDocumentation": "De bezoeker klikte op een link naar uw website. %1$s Bekijk het %2$s rapport voor meer details.",
|
||||
"WebsitesReportDocumentation": "In deze tabel kunt u de websites zien die bezoekers hebben doorverwezen naar uw website. %s Door op een rij in de tabel te klikken kunt u de URL's van de bijhorende linken zien.",
|
||||
"WidgetExternalWebsites": "Verwijzende websites",
|
||||
"WidgetSocials": "Lijst van sociale netwerken",
|
||||
"WidgetTopKeywordsForPages": "Belangrijkste sleutelwoorden voor pagina",
|
||||
"XPercentOfVisits": "%s van de bezoeken",
|
||||
"Acquisition": "Herkomst"
|
||||
}
|
||||
}
|
25
msd2/tracking/piwik/plugins/Referrers/lang/nn.json
Normal file
25
msd2/tracking/piwik/plugins/Referrers/lang/nn.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampanjar",
|
||||
"ColumnCampaign": "Kampanje",
|
||||
"ColumnSearchEngine": "Søkjemotor",
|
||||
"ColumnWebsite": "Nettstad",
|
||||
"ColumnWebsitePage": "Nettstadside",
|
||||
"DirectEntry": "Direkte vitjing",
|
||||
"DistinctCampaigns": "distinkte kampanjar",
|
||||
"DistinctKeywords": "distinkte nøkkelord",
|
||||
"DistinctSearchEngines": "distinkte søkjemotorer",
|
||||
"DistinctWebsites": "distinkte nettstader",
|
||||
"Keywords": "Nøkkelord",
|
||||
"Referrers": "Referansar",
|
||||
"SearchEngines": "Søkjemotorar",
|
||||
"SubmenuSearchEngines": "Søkjemotorar og nøkkelord",
|
||||
"SubmenuWebsitesOnly": "Nettstadar",
|
||||
"TypeCampaigns": "%s frå kampanjar",
|
||||
"TypeDirectEntries": "%s direkte vitjarar",
|
||||
"TypeSearchEngines": "%s frå søkjemotorer",
|
||||
"TypeWebsites": "%s frå nettstader",
|
||||
"Websites": "Nettstadar",
|
||||
"WidgetExternalWebsites": "Liste over eksterne nettsider"
|
||||
}
|
||||
}
|
58
msd2/tracking/piwik/plugins/Referrers/lang/pl.json
Normal file
58
msd2/tracking/piwik/plugins/Referrers/lang/pl.json
Normal file
@ -0,0 +1,58 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Raport prezentuje wszystkie Twoje Odnośniki w pojedynczym, zunifikowanym raporcie, zawierającym Wszystkie serwisy, frazy Wyszukiwania i Kampanie wykorzystane przez odwiedzających aby do Ciebie dotrzeć.",
|
||||
"Campaigns": "Kampanie",
|
||||
"CampaignsDocumentation": "Odwiedzający, którzy dotarli na Twoją stronę dzięki kampanii. %1$sZobacz%2$sszczegółowy raport.",
|
||||
"CampaignsReportDocumentation": "Raport pokazujący, które kampanie pozwoliły odwiedzającym trafić do Twojego serwisu. %1$s Więcej o śledzeniu kampanii przeczytasz w %2$sdokumentacji kampanii na matomo.org%3$s",
|
||||
"ColumnCampaign": "Kampania",
|
||||
"ColumnSearchEngine": "Wyszukiwarka",
|
||||
"ColumnSocial": "Sieć społecznościowa",
|
||||
"ColumnWebsite": "Strona WWW",
|
||||
"ColumnWebsitePage": "Pojedyncza strona",
|
||||
"DirectEntry": "Wejścia bezpośrednie",
|
||||
"DirectEntryDocumentation": "Odwiedzający wprowadził adres strony w przeglądarce i zaczął przeglądać stronę - adres wprowadzono bezpośrednio.",
|
||||
"Distinct": "Poszczególne odnośniki względem typu kanału",
|
||||
"DistinctCampaigns": "wyróżnione kampanie",
|
||||
"DistinctKeywords": "wyróżnione słowa kluczowe",
|
||||
"DistinctSearchEngines": "wyróżnione wyszukiwarki",
|
||||
"DistinctWebsites": "wyróżnione serwisy internetowe",
|
||||
"EvolutionDocumentation": "Przegląd odnośników prowadzących do Twojego serwisu.",
|
||||
"EvolutionDocumentationMoreInfo": "Więcej informacji o różnych Typach kanałów znajdziesz w tabeli dokumentacji %s.",
|
||||
"Keywords": "Słowa kluczowe",
|
||||
"KeywordsReportDocumentation": "Raport pokazuje słowa kluczowe wyszukiwane przez użytkowników zanim trafili oni do Twojego serwisu. %s Kliknij na rząd w tabeli, aby zobaczyć podział na wyszukiwarki, w których znaleziono dane słowa kluczowe.",
|
||||
"KeywordsReportDocumentationNote": "UWAGA: Ten raport zawiera większość niezdefiniowanych słów kluczowych, ponieważ większość wyszukiwarek nie przekazuje informacji o wyszukiwanych frazach.",
|
||||
"PluginDescription": "Zawiera następujące informacje o Odnośnikach: Wyszukiwarki, Słowa kluczowe, Serwisy, Kampanie, Media społecznościowe, Wejścia bezpośrednie.",
|
||||
"Referrer": "Odnośnik",
|
||||
"ReferrerName": "Nazwa odnośnika",
|
||||
"ReferrerNames": "Nazwy odnośników",
|
||||
"Referrers": "Odnośniki",
|
||||
"ReferrersOverview": "Przegląd odnośników",
|
||||
"ReferrerTypes": "Typy Kanałów",
|
||||
"ReferrerURLs": "Adresy odnośników",
|
||||
"SearchEngines": "Wyszukiwarki",
|
||||
"SearchEnginesDocumentation": "Odwiedzający trafił na Twoją stronę dzięki odnośnikowi w wyszukiwarce. %1$sZobacz%2$s szczegółowy raport.",
|
||||
"SearchEnginesReportDocumentation": "Raport pokazuje odnośniki, których wyszukiwarek sprowadziły Twoich odwiedzających. %s Kliknij na rząd w tabeli, aby zobaczyć, czego odwiedzający szukali w danej wyszukiwarce.",
|
||||
"Socials": "Sieci społecznościowe",
|
||||
"SocialsReportDocumentation": "Ten raport pokazuje, które sieci społecznościowe prowadzą do Twojego serwisu. <br \/>Klikając na rząd w tabeli, możesz sprawdzić, z której strony sieci społecznościowej odwiedzający trafili do Ciebie.",
|
||||
"SubmenuSearchEngines": "Wyszukiwarki i słowa kluczowe",
|
||||
"SubmenuWebsitesOnly": "Serwisy internetowe",
|
||||
"Type": "Typ Kanału",
|
||||
"TypeCampaigns": "%s z kampanii",
|
||||
"TypeDirectEntries": "%s bezpośrednich wejść",
|
||||
"TypeReportDocumentation": "Ta tabela zawiera informacje o podziale typów kanałów.",
|
||||
"TypeSearchEngines": "%s z wyszukiwarek",
|
||||
"TypeWebsites": "%s ze stron",
|
||||
"UsingNDistinctUrls": "(używając %s wyróżnionych adresów url)",
|
||||
"ViewAllReferrers": "Zobacz wszystkie Odnośniki",
|
||||
"ViewReferrersBy": "Odnośniki według %s",
|
||||
"Websites": "Serwisy internetowe",
|
||||
"WebsitesDocumentation": "Odwiedzający skorzystał z linku w innym serwisie, który kierował do Ciebie. Aby uzyskać więcej informacji %1$szobacz raport%2$s.",
|
||||
"WebsitesReportDocumentation": "Tabela prezentuje serwisy, z których użytkownicy trafili do Ciebie. %s Kliknij na rząd tabeli, aby poznać adresy stron, na których znajdują się odnośniki do Twojego serwisu.",
|
||||
"WidgetExternalWebsites": "Serwisy polecające",
|
||||
"WidgetGetAll": "Wszystkie Kanały",
|
||||
"WidgetSocials": "Lista sieci społecznościowych",
|
||||
"WidgetTopKeywordsForPages": "Najpopularniejsze słowa kluczowe dla tej strony",
|
||||
"XPercentOfVisits": "%s wizyt",
|
||||
"Acquisition": "Pozyskanie"
|
||||
}
|
||||
}
|
47
msd2/tracking/piwik/plugins/Referrers/lang/pt-br.json
Normal file
47
msd2/tracking/piwik/plugins/Referrers/lang/pt-br.json
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Este relatório mostra todos os seus Referenciadores em um relatório unificado, listando todos os Websites, Palavras-Chave de Pesquisa e Campanhas utilizadas por seus visitantes para encontrar seu website.",
|
||||
"Campaigns": "Campanhas",
|
||||
"CampaignsDocumentation": "Os visitantes que vieram para o seu site como o resultado de uma campanha. %1$s Ver relatório %2$s para mais detalhes.",
|
||||
"CampaignsReportDocumentation": "Este relatório mostra quais as campanhas lideradas visitantes para o seu site. %1$s para mais informações sobre as campanhas de monitoramento, leia a documentação %2$s campanhas em matomo.org %3$s",
|
||||
"ColumnCampaign": "campanha",
|
||||
"ColumnSearchEngine": "Motor de Busca",
|
||||
"ColumnSocial": "Rede social",
|
||||
"ColumnWebsite": "Website",
|
||||
"ColumnWebsitePage": "Página da Web",
|
||||
"DirectEntry": "Entrada Direta",
|
||||
"DistinctCampaigns": "Campanhas distintas",
|
||||
"DistinctKeywords": "Palavras-chave distintas",
|
||||
"DistinctSearchEngines": "Motores de busca distintos",
|
||||
"DistinctWebsites": "Websites distintos",
|
||||
"EvolutionDocumentation": "Esta é uma visão geral dos referenciadores que levaram visitantes ao seu site.",
|
||||
"Keywords": "Palavras-chave",
|
||||
"KeywordsReportDocumentation": "Este relatório mostra quais palavras-chave os usuários estavam procurando antes de eles serem encaminhados para o seu site. %s Ao clicar em uma linha na tabela, você pode ver a distribuição dos motores de busca, que foram consultados para a palavra-chave.",
|
||||
"PluginDescription": "Relatórios de Dados de Referenciadores: Motores de Busca, Palavras-Chave, Websites, Campanhas, Mídias Sociais e Entrada Direta.",
|
||||
"Referrer": "Referenciador",
|
||||
"ReferrerName": "Nome do referenciador",
|
||||
"Referrers": "Referenciadores",
|
||||
"ReferrersOverview": "Visão Geral dos Referenciadores",
|
||||
"SearchEngines": "Motores de Busca",
|
||||
"SearchEnginesDocumentation": "Um visitante foi encaminhado para o seu site por um motor de busca. %1$s Ver o relatório %2$s para mais detalhes.",
|
||||
"SearchEnginesReportDocumentation": "Este relatório mostra quais motores de busca encaminhou usuários ao seu site. %s Ao clicar em uma linha na tabela, você pode ver o que os usuários estavam procurando utilizando um motor de busca específico.",
|
||||
"Socials": "Redes Sociais",
|
||||
"SocialsReportDocumentation": "Este relatório mostra quais as redes sociais levaram visitantes ao seu site. <br \/> Ao clicar em uma linha na tabela, você pode ver de quais páginas os visitantes de redes sociais vieram para o seu site.",
|
||||
"SubmenuSearchEngines": "Motores de Busca & Palavras-Chave",
|
||||
"SubmenuWebsitesOnly": "Websites",
|
||||
"TypeCampaigns": "%s de campanhas",
|
||||
"TypeDirectEntries": "%s entradas diretas",
|
||||
"TypeSearchEngines": "%s de motores de buscas",
|
||||
"TypeWebsites": "%s de websites",
|
||||
"UsingNDistinctUrls": "(usando urls %s distintas)",
|
||||
"ViewAllReferrers": "Ver todos os Referenciadores",
|
||||
"ViewReferrersBy": "Ver Referenciadores por %s",
|
||||
"Websites": "Websites",
|
||||
"WebsitesDocumentation": "O visitante seguiu um link em outro site que o levou para o seu site. %1$s Ver relatório %2$s para mais detalhes.",
|
||||
"WebsitesReportDocumentation": "Nesta tabela, você pode ver quais website encaminharam visitantes para o seu site. %s Ao clicar em uma linha na tabela, você pode ver quais os links de URLs que seu site estava.",
|
||||
"WidgetExternalWebsites": "Websites Referenciadores",
|
||||
"WidgetSocials": "Lista de redes sociais",
|
||||
"WidgetTopKeywordsForPages": "Principais Palavras-chave para a URL da página",
|
||||
"XPercentOfVisits": "%s de visitas"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/pt.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/pt.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Este relatório mostra todos os Referenciadores num relatório unificado, listando todos os sites, palavras-chave de pesquisa e campanhas utilizadas pelos seus visitantes para encontrar o seu site.",
|
||||
"Campaigns": "Campanhas",
|
||||
"CampaignsDocumentation": "Visitantes que chegaram ao seu site como resultado de uma campanha. %1$s Consulte o %2$s relatório para mais detalhes.",
|
||||
"CampaignsReportDocumentation": "Este relatório mostra quais as campanhas que levaram visitantes ao seu site. %1$s Para mais informações sobre dados de campanhas de acompanhamento, leia a %2$sdocumentação de campanhas em matomo.org%3$s.",
|
||||
"ColumnCampaign": "Campanha",
|
||||
"CampaignPageUrlHelp": "O endereço da página para onde esta campanha remete, por exemplo, 'http:\/\/example.org\/offer.html'.",
|
||||
"CampaignNameHelp": "Escolha um nome que descreva para que foi criada a campanha e que distinga a sua campanha de outras campanhas. Por exemplo, 'Email-OportunidadesDeVerao' ou 'PublicidadePaga-OportunidadesDeVerao'.",
|
||||
"CampaignKeywordHelp": "Se tem múltiplas campanhas com o mesmo nome, pode diferenciar estas campanhas especificando uma palavra-chave ou uma sub-categoria.",
|
||||
"CampaignSource": "Fonte da campanha",
|
||||
"CampaignSourceHelp": "Utilizado para identificar a fonte da campanha, tais como 'newsletter' para marketing por e-mail, 'afiliados' ou o nome do site que está a apresentar a sua publicidade.",
|
||||
"CampaignContent": "Conteúdo da campanha",
|
||||
"CampaignContentHelp": "Este parâmetro geralmente é utilizado quando está a testar várias publicidades e incluiria o nome de cada uma das publicidades para ver qual a mais eficaz a encaminhar tráfego.",
|
||||
"CampaignMedium": "Média da campanha",
|
||||
"CampaignMediumHelp": "Utilizado para descrever a atividade de marketing, por exemplo, 'PPC' para campanhas pagas por cliques, 'SEM' para publicidade paga em pesquisas, ou 'análise' para acompanhar uma análise de um produto num site afiliado.",
|
||||
"ColumnSearchEngine": "Motor de pesquisa",
|
||||
"ColumnSocial": "Rede social",
|
||||
"ColumnWebsite": "Site",
|
||||
"ColumnWebsitePage": "Página do site",
|
||||
"DirectEntry": "Entrada direta",
|
||||
"DirectEntryDocumentation": "Um visitante introduziu o endereço no navegador e e começou a navegar no seu site - entraram no site diretamente.",
|
||||
"Distinct": "Distinguir referenciadores por tipo de canal",
|
||||
"DistinctCampaigns": "campanhas distintas",
|
||||
"DistinctKeywords": "palavras-chave distintas",
|
||||
"DistinctSearchEngines": "motores de pesquisa distintos",
|
||||
"DistinctSocialNetworks": "redes sociais distintas",
|
||||
"DistinctWebsites": "sites distintos",
|
||||
"EvolutionDocumentation": "Isto é uma visão global dos referenciadores que trouxeram visitantes ao seu site.",
|
||||
"EvolutionDocumentationMoreInfo": "Para mais informações sobre os diferentes tipos de canais, consulte a documentação da tabela %s.",
|
||||
"Keywords": "Palavras-chave",
|
||||
"KeywordsReportDocumentation": "Este relatório mostra quais as palavras-chave que os utilizadores estavam à procura antes de ser referenciados para o seu site. %s Ao clicar numa linha da tabela, pode ver a distribuição de motores de pesquisa que foram utilizados na pesquisa pela palavra-chave.",
|
||||
"KeywordsReportDocumentationNote": "Nota: este relatório lista a maioria das palavras-chave como não definidas, porque a maioria dos motores de pesquisa não enviam a palavra-chave exata utilizada no motor de pesquisa.",
|
||||
"PluginDescription": "Apresenta dados dos referenciadores: motores de pesquisa, palavras-chave, sites, campanhas, redes sociais, entradas diretas.",
|
||||
"Referrer": "Referenciador",
|
||||
"ReferrerName": "Nome do referenciador",
|
||||
"ReferrerNames": "Nomes dos referenciadores",
|
||||
"Referrers": "Referenciadores",
|
||||
"ReferrersOverview": "Visão geral dos referenciadores",
|
||||
"ReferrerTypes": "Tipos de canais",
|
||||
"ReferrerURLs": "Endereços dos referenciadores",
|
||||
"SearchEngines": "Motores de pesquisa",
|
||||
"SearchEnginesDocumentation": "Um visitante foi referenciado para o seu site por um motor de pesquisa. %1$s Consulte o %2$s relatório para mais detalhes.",
|
||||
"SearchEnginesReportDocumentation": "Este relatório mostra quais os motores de pesquisa que referenciaram utilizadores para o seu site. %s Ao clicar numa linha da tabela, pode ver o que os utilizadores estavam à procura utilizando um motor de pesquisa específico.",
|
||||
"Socials": "Redes sociais",
|
||||
"SocialsReportDocumentation": "Este relatório mostra que redes sociais encaminharam visitantes para o seu site.<br \/>Ao clicar numa linha da tabela, pode ver a partir de que páginas de redes sociais os visitantes vieram para o seu site.",
|
||||
"SubmenuSearchEngines": "Motores de pesquisa e palavras-chave",
|
||||
"SubmenuWebsitesOnly": "Sites",
|
||||
"Type": "Tipo de canal",
|
||||
"TypeCampaigns": "%s de campanhas",
|
||||
"TypeDirectEntries": "%s entradas diretas",
|
||||
"TypeReportDocumentation": "Esta tabela contém informação sobre a distribuição dos tipos de canais.",
|
||||
"TypeSearchEngines": "%s de motores de pesquisa",
|
||||
"TypeSocialNetworks": "%s a partir de redes sociais",
|
||||
"TypeWebsites": "%s de sites",
|
||||
"UsingNDistinctUrls": "(utilizando %s endereços distintos)",
|
||||
"GenerateUrl": "Gerar endereço",
|
||||
"URLCampaignBuilder": "Construtor de endereço de campanha",
|
||||
"URLCampaignBuilderIntro": "A %1$sferramenta de construção de endereço%2$s permite-lhe gerar endereços para utilizar em campanhas de acompanhamento no Matomo. Consulte a documentação sobre %3$sacompanhamento de campanhas%4$s para mais informação.",
|
||||
"URLCampaignBuilderResult": "Endereço gerado que pode copiar e colar nas suas campanhas, e-mail de marketing, publicidade no Facebook ou tweets:",
|
||||
"ViewAllReferrers": "Ver todos os referenciadores",
|
||||
"ViewReferrersBy": "Ver referenciadores por %s",
|
||||
"Websites": "Sites",
|
||||
"WebsitesDocumentation": "O visitante seguiu uma ligação noutro site que apontava para o seu site. %1$s Consulte o %2$s relatório para mais detalhes.",
|
||||
"WebsitesReportDocumentation": "Nesta tabela, pode ver quais os sites que referenciaram o seu site a visitantes. %s Ao clicar numa linha da tabela, pode ver quais os endereços onde estavam as ligações para o seu site.",
|
||||
"WidgetExternalWebsites": "Sites referenciadores",
|
||||
"WidgetGetAll": "Todos os canais",
|
||||
"WidgetSocials": "Lista de redes sociais",
|
||||
"WidgetTopKeywordsForPages": "Principais palavras-chave por endereço de página",
|
||||
"XPercentOfVisits": "%s de visitas",
|
||||
"Acquisition": "Aquisição"
|
||||
}
|
||||
}
|
46
msd2/tracking/piwik/plugins/Referrers/lang/ro.json
Normal file
46
msd2/tracking/piwik/plugins/Referrers/lang/ro.json
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Acest raport arată toati referali într-un singur raport unificat, care listează toate site-urile, cuvintele cheie de căutare și campanii utilizate de vizitatorii dvs. pentru a găsi site-ul dumneavoastră.",
|
||||
"Campaigns": "Campanii",
|
||||
"CampaignsDocumentation": "Vizitatorii care au venit pe site-ul dvs. ca rezultat al unei campanii. %1$s A se vedea raportul %2$s pentru mai multe detalii.",
|
||||
"CampaignsReportDocumentation": "Acest raport arată care care campanii a adus vizitatori websitului.%1$s Pentru mai multe informații despre campaniile de urmărire, citiți documentația %2$scampanii pe matomo.org%3$s",
|
||||
"ColumnCampaign": "Campanie",
|
||||
"ColumnSearchEngine": "Motor de căutare",
|
||||
"ColumnSocial": "Reţea socială",
|
||||
"ColumnWebsite": "Website",
|
||||
"ColumnWebsitePage": "Pagina Site Web",
|
||||
"DirectEntry": "Intrare directă",
|
||||
"DistinctCampaigns": "campanii distincte",
|
||||
"DistinctKeywords": "cuvinte cheie distincte",
|
||||
"DistinctSearchEngines": "motoare căutare distincte",
|
||||
"DistinctWebsites": "situri web distincte",
|
||||
"EvolutionDocumentation": "Aceasta este o imagine de ansamblu a referenților care au condus vizitatorii spre site-ul dumneavoastră.",
|
||||
"Keywords": "Cuvinte cheie",
|
||||
"KeywordsReportDocumentation": "Acest raport arată cuvintele cheie cu care utilizatorii au fost căutați pentru înainte de sa fie menționati la site-ul dumneavoastră. %s Făcând clic pe un rând din tabel, puteți vedea distribuția de motoare de căutare care au fost interogate pentru cuvântul cheie.",
|
||||
"Referrer": "referal",
|
||||
"ReferrerName": "Nume referal",
|
||||
"Referrers": "Referenti",
|
||||
"ReferrersOverview": "Referenți Prezentare generală",
|
||||
"SearchEngines": "Motoare căutare",
|
||||
"SearchEnginesDocumentation": "Un vizitator a fost menționat de site-ul dvs. cu un motor de căutare. %1$s A se vedea raportul %2$s pentru mai multe detalii.",
|
||||
"SearchEnginesReportDocumentation": "Acest raport arată care motoare de căutare folosite de utilizatorilor pe site-ul dumneavoastră. %s Făcând clic pe un rând din tabel, puteți vedea ce utilizatorii au fost în căutarea pentru utilizarea unui anumit motor de căutare.",
|
||||
"Socials": "Reţele sociale",
|
||||
"SocialsReportDocumentation": "Acest raport arată care rețelele sociale au condus vizitatori la site-ul tau. <br\/> Făcând clic pe un rând din tabel, puteți vedea de la care pagini de rețele sociale au venit vizitatori pe site-ul tau.",
|
||||
"SubmenuSearchEngines": "Motoare căutare şi cuvinte",
|
||||
"SubmenuWebsitesOnly": "Siteuri",
|
||||
"TypeCampaigns": "%s de la campanii",
|
||||
"TypeDirectEntries": "%s intrari directe",
|
||||
"TypeSearchEngines": "%s de la motoare cautare",
|
||||
"TypeWebsites": "%s de la siteuri",
|
||||
"UsingNDistinctUrls": "(folosind %s URL-uri distincte)",
|
||||
"ViewAllReferrers": "Vezi toti referali",
|
||||
"ViewReferrersBy": "Vezi referali cu %s",
|
||||
"Websites": "Siteuri",
|
||||
"WebsitesDocumentation": "Vizitatorul a urmat un link de pe alt website care la dus la website-ul dumneavoastră. %1$s A se vedea raportul %2$s pentru mai multe detalii.",
|
||||
"WebsitesReportDocumentation": "În acest tabel, puteți vedea ce site-uri web au facut referire vizitatorii la site-ul dumneavoastră. %s Făcând clic pe un rând din tabel, puteți vedea care URL-uri link-uri către site-ul dvs. au fost pe.",
|
||||
"WidgetExternalWebsites": "Lista siteurilor externe",
|
||||
"WidgetSocials": "Listă de reţele sociale",
|
||||
"WidgetTopKeywordsForPages": "Cuvinte cheie de top pentru URL-ul paginii",
|
||||
"XPercentOfVisits": "%s de vizite"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/ru.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/ru.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Этот отчёт показывает все источники в одном сводном отчёте, перечисляя все веб-сайты, поисковые запросы и кампании, которыми пользовались посетители, чтобы найти ваш сайт.",
|
||||
"Campaigns": "Кампании",
|
||||
"CampaignsDocumentation": "Посетитель перешел на ваш сайт с рекламной кампании. %1$s Детальная информация в отчёте %2$s",
|
||||
"CampaignsReportDocumentation": "Этот отчёт показывает, какие рекламные кампании привели посетителей на ваш сайт. %1$s Для большей информации об отслеживании кампаний читайте %2$sДокументацию по кампаниям на сайте matomo.org%3$s",
|
||||
"ColumnCampaign": "Кампания",
|
||||
"CampaignPageUrlHelp": "URL-адрес страницы, на которую идет эта кампания, например «http:\/\/example.org\/offer.html».",
|
||||
"CampaignNameHelp": "Выберите имя, которое описывает, для чего создана кампания, и которое отличает вашу кампанию от других ваших кампаний. Например, «Email-SummerDeals» или «PaidAds-SummerDeals».",
|
||||
"CampaignKeywordHelp": "Если у вас есть несколько кампаний с одним и тем же именем, вы можете различить эти кампании, указав ключевое слово или подкатегорию.",
|
||||
"CampaignSource": "Источник кампании",
|
||||
"CampaignSourceHelp": "Используется для отслеживания источника кампании, такого как «информационный бюллетень» для вашего почтового маркетинга, «партнерская программа» или название веб-сайта, на котором отображаются ваши объявления.",
|
||||
"CampaignContent": "Содержание кампании",
|
||||
"CampaignContentHelp": "Этот параметр часто используется при тестировании нескольких объявлений и включает в себя название каждого объявления, чтобы увидеть, какое из них наиболее эффективно для привлечения трафика.",
|
||||
"CampaignMedium": "Среднее по кампании",
|
||||
"CampaignMediumHelp": "Используется для описания маркетинговой деятельности, например «PPC» для кампании с платой за клик, «SEM» для платных рекламных объявлений или «обзор» для отслеживания обзора продукта на партнёрском сайте.",
|
||||
"ColumnSearchEngine": "Поисковый движок",
|
||||
"ColumnSocial": "Социальная сеть",
|
||||
"ColumnWebsite": "Сайт",
|
||||
"ColumnWebsitePage": "Страница сайта",
|
||||
"DirectEntry": "Прямой вход",
|
||||
"DirectEntryDocumentation": "Посетитель ввел URL в свой браузер и начал просматривать сайт — это прямой переход.",
|
||||
"Distinct": "Различные источники по типу канала",
|
||||
"DistinctCampaigns": "различные кампании",
|
||||
"DistinctKeywords": "различные ключевые слова",
|
||||
"DistinctSearchEngines": "различные поисковые системы",
|
||||
"DistinctSocialNetworks": "различные социальные сети",
|
||||
"DistinctWebsites": "различные сайты",
|
||||
"EvolutionDocumentation": "Это обзор источников, с которых посетители приходят на ваш сайт.",
|
||||
"EvolutionDocumentationMoreInfo": "Для получения дополнительной информации о различных типах каналов см. документацию %s таблицы.",
|
||||
"Keywords": "Ключевые слова",
|
||||
"KeywordsReportDocumentation": "Этот отчет показывает ключевые слова, которые посетители ващего сайта вводили в поисковике, прежде чем попасть на ваш сайт. %s Кликнув на конкретный ряд таблицы, вы увидите распределение ключевого слова по поисковым системам.",
|
||||
"KeywordsReportDocumentationNote": "Примечание: В этом отчёте перечислено большинство ключевых слов, которые не определены, поскольку большинство поисковых систем не отправляют точное ключевое слово, используемое в поисковой системе.",
|
||||
"PluginDescription": "Отчёты по источникам: поисковые системы, ключевые слова, веб-сайты, кампании, социальные сети, прямые входы.",
|
||||
"Referrer": "Источник",
|
||||
"ReferrerName": "Имя источника",
|
||||
"ReferrerNames": "Имена источников",
|
||||
"Referrers": "Источники трафика",
|
||||
"ReferrersOverview": "Обзор источников",
|
||||
"ReferrerTypes": "Типы каналов",
|
||||
"ReferrerURLs": "URLы источников",
|
||||
"SearchEngines": "Поисковые движки",
|
||||
"SearchEnginesDocumentation": "Посетитель перешёл на ваш сайт с поисковой системы. %1$s Детальная информация в отчёте %2$s.",
|
||||
"SearchEnginesReportDocumentation": "Этот отчёт показывает, с каких поисковых систем пришли посетители. %s Кликнув на конкретную строку таблицы вы увидите, что посетитель искал в поисковой систем и что привело его на ваш сайт.",
|
||||
"Socials": "Социальные сети",
|
||||
"SocialsReportDocumentation": "Этот отчёт показывает, какие социальные сети привели посетителей на ваш сайт.<br \/>Кликнув на конкретную строку таблицы, вы можете увидеть, с каких именно страниц социальных сетей перешли эти посетители.",
|
||||
"SubmenuSearchEngines": "Поисковые системы и ключевые слова",
|
||||
"SubmenuWebsitesOnly": "Сайты",
|
||||
"Type": "Тип канала",
|
||||
"TypeCampaigns": "%s заходов с кампаний",
|
||||
"TypeDirectEntries": "%s прямых заходов",
|
||||
"TypeReportDocumentation": "Эта таблица содержит информацию о распределении типов каналов.",
|
||||
"TypeSearchEngines": "%s заходов из поисковых систем",
|
||||
"TypeSocialNetworks": "%s заходов из социальных сетей",
|
||||
"TypeWebsites": "%s заходов с сайтов",
|
||||
"UsingNDistinctUrls": "(по %s различным ссылкам)",
|
||||
"GenerateUrl": "Создать URL",
|
||||
"URLCampaignBuilder": "Компоновщик URL кампании",
|
||||
"URLCampaignBuilderIntro": "Инструмент %1$sURL Builder%2$s позволяет создавать URL-адреса, готовые к использованию для отслеживания кампаний в Matomo. См. документацию по %3$sотслеживанию кампаний%4$s для получения дополнительной информации.",
|
||||
"URLCampaignBuilderResult": "Созданный URL, который вы можете скопировать и вставить в свои кампании, Email-рассылку, рекламу в Facebook или твиты:",
|
||||
"ViewAllReferrers": "Посмотреть все источники",
|
||||
"ViewReferrersBy": "Посмотреть источники по %s",
|
||||
"Websites": "Сайты",
|
||||
"WebsitesDocumentation": "Посетитель перешел на ваш сайт по ссылке, которая находилась на другом сайте. %1$s Детальная информация в отчёте %2$s",
|
||||
"WebsitesReportDocumentation": "В этой таблице вы можете видеть сайты, которые привели посетителей на ваш сайт. %s Кликнув на таблице по конкретной строке, вы увидите где была размещена ссылка на ваш сайт.",
|
||||
"WidgetExternalWebsites": "Внешние сайты",
|
||||
"WidgetGetAll": "Все каналы",
|
||||
"WidgetSocials": "Список социальных сетей",
|
||||
"WidgetTopKeywordsForPages": "Топ ключевых слов для страницы URL",
|
||||
"XPercentOfVisits": "%s посещений",
|
||||
"Acquisition": "Источники"
|
||||
}
|
||||
}
|
26
msd2/tracking/piwik/plugins/Referrers/lang/sk.json
Normal file
26
msd2/tracking/piwik/plugins/Referrers/lang/sk.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampane",
|
||||
"ColumnCampaign": "Kampaň",
|
||||
"ColumnSearchEngine": "Vyhľadávač",
|
||||
"ColumnWebsite": "Webová stránka",
|
||||
"ColumnWebsitePage": "Stránka portálu",
|
||||
"DirectEntry": "Priamy vstup",
|
||||
"DistinctCampaigns": "rôzne kampane",
|
||||
"DistinctKeywords": "rôzne kľúčové strany",
|
||||
"DistinctSearchEngines": "rôzne vyhľadávače",
|
||||
"DistinctWebsites": "rôzne portály",
|
||||
"Keywords": "Kľúčové slová",
|
||||
"Referrers": "Odkazy",
|
||||
"SearchEngines": "Vyhľadávače",
|
||||
"SubmenuSearchEngines": "Vyhľadávače a kľúčové slová",
|
||||
"SubmenuWebsitesOnly": "Stránky",
|
||||
"TypeCampaigns": "%s z kampaní",
|
||||
"TypeDirectEntries": "%s priamych vstupov",
|
||||
"TypeSearchEngines": "%s z vyhľadávačov",
|
||||
"TypeWebsites": "%s zo stránok",
|
||||
"UsingNDistinctUrls": "(pomocou %s rôznych adries URL)",
|
||||
"Websites": "Stránky",
|
||||
"WidgetExternalWebsites": "Zoznam externých stránok"
|
||||
}
|
||||
}
|
24
msd2/tracking/piwik/plugins/Referrers/lang/sl.json
Normal file
24
msd2/tracking/piwik/plugins/Referrers/lang/sl.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"Campaigns": "Kampanje",
|
||||
"ColumnCampaign": "Kampanja",
|
||||
"ColumnSearchEngine": "Spletni Iskalnik",
|
||||
"ColumnSocial": "Družbeno omrežje",
|
||||
"ColumnWebsite": "Spletna stran",
|
||||
"ColumnWebsitePage": "Spletna stran",
|
||||
"DirectEntry": "Neposreden obisk",
|
||||
"DistinctCampaigns": "različne kampanje",
|
||||
"DistinctKeywords": "različne ključne besede",
|
||||
"DistinctSearchEngines": "različni brskalniki",
|
||||
"DistinctWebsites": "različne spletne strani",
|
||||
"Keywords": "Ključne Besede",
|
||||
"Referrer": "Napotitelj",
|
||||
"Referrers": "Napotitelji",
|
||||
"ReferrersOverview": "Pregled napotiteljev",
|
||||
"SearchEngines": "Spletni iskalniki",
|
||||
"SubmenuSearchEngines": "Brskalniki & ključne besede",
|
||||
"SubmenuWebsitesOnly": "Spletne strani",
|
||||
"Websites": "Spletne strani",
|
||||
"WidgetExternalWebsites": "Seznam zunanjih spletnih strani"
|
||||
}
|
||||
}
|
73
msd2/tracking/piwik/plugins/Referrers/lang/sq.json
Normal file
73
msd2/tracking/piwik/plugins/Referrers/lang/sq.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Ky raport shfaq krejt Sjellësit, në një raport të unifikuar, duke paraqitur krejt Sajtet, fjalëkyçe Kërkimi dhe Fushata të përdorura nga vizitorët për gjetjen e sajtit tuaj.",
|
||||
"Campaigns": "Fushata",
|
||||
"CampaignsDocumentation": "Vizitorë që kanë ardhur te sajti juaj si rrjedhojë e një fushate. Për më tepër %1$s shihni %2$s raportin.",
|
||||
"CampaignsReportDocumentation": "Ky raport tregon se cilat fushata prunë vizitorë te sajti juaj. %1$s Për më tepër të dhëna rreth fushatave të ndjekjes, lexoni %2$sdokumentimin mbi fushatat, te matomo.org%3$s",
|
||||
"ColumnCampaign": "Fushatë",
|
||||
"CampaignPageUrlHelp": "URL-ja e faqes ku shpie kjo fushatë, për shembull 'http:\/\/example.org\/offer.html'.",
|
||||
"CampaignNameHelp": "Zgjidhni një emër që përshkruan se për çfarë është krijuar fushata dhe që e bën të dallueshme fushatën tuaj nga fushata të tjera. Për shembull, 'Email-OkazioneVere' ose 'ReklamaMePagesë-OkazioneVere'.",
|
||||
"CampaignKeywordHelp": "Nëse keni shumë fushata me të njëjtin emër, mund t’i diferenconi nga njëra-tjetra duke përcaktuar një fjalëkyç ose një nën-kategori.",
|
||||
"CampaignSource": "Burim Fushate",
|
||||
"CampaignSourceHelp": "I përdorur për të ndjekur burimin e fushatës, b.f., 'buletin' për marketingun tuaj përmes email-i, 'bashkëpunëtor', ose emrin e sajtit që shfaq reklamat tuaja.",
|
||||
"CampaignContent": "Lëndë fushate",
|
||||
"CampaignContentHelp": "Ky parametër shpesh përdoret kur testoni disa reklama njëherësh, dhe do të donit të përfshinit emrin e secilës për të parë cila qe më me efekt në sjellje trafiku.",
|
||||
"CampaignMedium": "Mjet Fushate",
|
||||
"CampaignMediumHelp": "E përdorur për të përshkruar veprimtari marketingu, për shembull, 'PPC' për një fushatë pay-per-click, ose 'SEM' për reklama me pagesë në kërkime, ose 'shqyrtim', për të ndjekur shqyrtime të një produkti te një sajt partner.",
|
||||
"ColumnSearchEngine": "Motorë Kërkimesh",
|
||||
"ColumnSocial": "Rrjet shoqëror",
|
||||
"ColumnWebsite": "Sajt",
|
||||
"ColumnWebsitePage": "Faqe Sajti",
|
||||
"DirectEntry": "Zë i Drejtpërdrejtë",
|
||||
"DirectEntryDocumentation": "Një vizitor dha URL-në te shfletuesi i tij dhe filloi të shfletojë në sajtin tuaj - hyri drejtpërdrejt në sajtin tuaj.",
|
||||
"Distinct": "Bëj Dallimin mes Referuesve sipas Llojesh Kanali",
|
||||
"DistinctCampaigns": "fushata të dallueshme",
|
||||
"DistinctKeywords": "fjalëkyçe të dallueshëm",
|
||||
"DistinctSearchEngines": "motorë kërkimesh të dallueshëm",
|
||||
"DistinctSocialNetworks": "rrjete shoqërorë të dalluar",
|
||||
"DistinctWebsites": "sajte të dallueshëm",
|
||||
"EvolutionDocumentation": "Kjo është një përmbledhje e sjellësve që prunë vizitorë te sajti juaj.",
|
||||
"EvolutionDocumentationMoreInfo": "Për më tepër të dhëna rreth llojeve të ndryshme të kanaleve, shihni dokumentimin për tabelën %s.",
|
||||
"Keywords": "Fjalëkyçe",
|
||||
"KeywordsReportDocumentation": "Ky raport tregon cilët fjalëkyçe janë përdorur nga përdoruesit përpara se të silleshin te sajti juaj. %s Duke klikuar mbi një rresht të tabelës, mund të shihni shpërndarjen sipas motorëve të kërkimit te të cilët u kërkua rreth fjalëkyçit.",
|
||||
"KeywordsReportDocumentationNote": "Shënim: Ky raport ofron shumicën e fjalëkyçeve si të papërcaktuar, ngaqë shumica e motorëve të kërkimeve nuk dërgojnë fjalëkyçin e saktë të përdorur në motorin e kërkimeve.",
|
||||
"PluginDescription": "Raporton të dhëna Sjellësish: Motorë Kërkimesh, Fjalëkyçe, Sajte, Fushata, Media Shoqërore, Zëra të Drejtpërdrejtë.",
|
||||
"Referrer": "Sjellës",
|
||||
"ReferrerName": "Emër Sjellësi",
|
||||
"ReferrerNames": "Emra Referuesish",
|
||||
"Referrers": "Sjellës",
|
||||
"ReferrersOverview": "Përmbledhje Sjellësish",
|
||||
"ReferrerTypes": "Lloje Kanalesh",
|
||||
"ReferrerURLs": "URL Referuesish",
|
||||
"SearchEngines": "Motorë Kërkimesh",
|
||||
"SearchEnginesDocumentation": "Një vizitori i është treguar sajti juaj nga një motor kërkimesh. Për më tepër hollësira, %1$s shihni %2$s raportin.",
|
||||
"SearchEnginesReportDocumentation": "Ky raport shfaq cilët motorë kërkimi sollën përdorues te sajti juaj. %s Duke klikuar mbi një rresht të tabelës, mund të shihni se për çfarë po kërkonin përdoruesit që përdorën një motor të caktuar kërkimesh.",
|
||||
"Socials": "Rrjete Shoqërore",
|
||||
"SocialsReportDocumentation": "Ky raport shfaq rrjetet shoqërore që prunë vizitorë te sajti juaj.<br \/>Duke klikuar mbi një rresht të tabelës, mund të shihni se prej cilave faqe të rrjetit shoqëror erdhën vizitorët te sajti juaj.",
|
||||
"SubmenuSearchEngines": "Motorë kërkimi & fjalëkyçe",
|
||||
"SubmenuWebsitesOnly": "Sajte",
|
||||
"Type": "Lloj Kanali",
|
||||
"TypeCampaigns": "%s prej fushatash",
|
||||
"TypeDirectEntries": "%s zëra të drejtpërdrejtë",
|
||||
"TypeReportDocumentation": "Kjo tabelë përmban të dhëna mbi shpërndarjen e llojeve të kanaleve.",
|
||||
"TypeSearchEngines": "%s prej motorësh kërkimi",
|
||||
"TypeSocialNetworks": "%s prej rrjetesh shoqërore",
|
||||
"TypeWebsites": "%s prej sajtesh",
|
||||
"UsingNDistinctUrls": "(duke përdorur url të dallueshme %s)",
|
||||
"GenerateUrl": "Prodhoje URL-në",
|
||||
"URLCampaignBuilder": "Ndërtues URL-je Fushate",
|
||||
"URLCampaignBuilderIntro": "%1$sMjeti Ndërtues URL-sh%2$s ju lejon të prodhoni URL të gatshme për përdorim në Fushata Ndjekjesh te Matomo. Për më tepër hollësi, shihni dokumentimin mbi %3$sNdjekje Fushatash%4$s.",
|
||||
"URLCampaignBuilderResult": "URL-ja e prodhuar që mund ta kopjoni dhe hidhni te Fushata tuajat, buletine email, Facebook Ads apo në <em>tweets<\/em>:",
|
||||
"ViewAllReferrers": "Shihni krejt Sjellësit",
|
||||
"ViewReferrersBy": "Shihini Sjellësit sipas %s",
|
||||
"Websites": "Sajte",
|
||||
"WebsitesDocumentation": "Vizitori ndoqi një lidhje në një sajt tjetër, e cila të shpinte te sajti juaj. Për më tepër hollësira, %1$s shihni %2$s raportin.",
|
||||
"WebsitesReportDocumentation": "Në këtë tabelë, mund të shihni cilët sajte sollën vizitorë te sajti juaj. %s Duke klikuar mbi një rresht të tabelës, mund të shihni se te cilat URL gjendeshin lidhjet për te sajti juaj.",
|
||||
"WidgetExternalWebsites": "Sajte Sjellës",
|
||||
"WidgetGetAll": "Krejt Kanalet",
|
||||
"WidgetSocials": "Listë rrjetesh shoqërore",
|
||||
"WidgetTopKeywordsForPages": "Fjalëkyçe Kryesuese për URL Faqesh",
|
||||
"XPercentOfVisits": "%s e vizitave",
|
||||
"Acquisition": "Blerje"
|
||||
}
|
||||
}
|
48
msd2/tracking/piwik/plugins/Referrers/lang/sr.json
Normal file
48
msd2/tracking/piwik/plugins/Referrers/lang/sr.json
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Ovaj izveštaj prikazuje sve vaše reference na unificiran način preko spiska svih sajtova, traženih ključnih reči i kampanja koje su koristili posetioci kako bi došli do vašeg sajta.",
|
||||
"Campaigns": "Kampanje",
|
||||
"CampaignsDocumentation": "Korisnik koji je došao na vaš sajt putem kampanje. %1$sPogledajte%2$s izveštaj za više detalja.",
|
||||
"CampaignsReportDocumentation": "Ovaj izveštaj prikazuje koje kampanje su dovele posetioce na vaš sajt. %1$s Za više informacija o praćenju kampanja pogledajte %2$scampaigns na matomo.org%3$s",
|
||||
"ColumnCampaign": "Kampanja",
|
||||
"ColumnSearchEngine": "Pretraživač",
|
||||
"ColumnSocial": "Društvena mreža",
|
||||
"ColumnWebsite": "Sajt",
|
||||
"ColumnWebsitePage": "Stranica sajta",
|
||||
"DirectEntry": "Direktni ulasci",
|
||||
"DirectEntryDocumentation": "Korisnik je ukucao adresu u svoj brauzer i došao na vaš sajt - ušao je direktno na vaš sajt.",
|
||||
"DistinctCampaigns": "različite kampanje",
|
||||
"DistinctKeywords": "različite ključne reči",
|
||||
"DistinctSearchEngines": "različiti pretraživači",
|
||||
"DistinctWebsites": "različiti sajtovi",
|
||||
"EvolutionDocumentation": "Ovo je pregled referenci koje dovode posetioce na vaš sajt.",
|
||||
"Keywords": "Ključne reči",
|
||||
"KeywordsReportDocumentation": "Ovaj izveštaj prikazuje koje ključne reči su korisnici tražili pre nego što su upućeni na vaš sajt. %s Klikom na red tabele možete videti distribuciju pretraživača po ključnim rečima.",
|
||||
"PluginDescription": "Prikazuje podatke o referencama: mašine za pretraživanje, ključne reči, sajtovi, kampanje, društvene mreže, direktni ulasci.",
|
||||
"Referrer": "Referenca",
|
||||
"ReferrerName": "Naziv reference",
|
||||
"Referrers": "Reference",
|
||||
"ReferrersOverview": "Pregled referenci",
|
||||
"SearchEngines": "Pretraživači",
|
||||
"SearchEnginesDocumentation": "Korisnik je upućen na vaš sajt od strane pretraživača. %1$s Pogledajte %2$s izveštaj za više detalja.",
|
||||
"SearchEnginesReportDocumentation": "Ovaj izveštaj prikazuje koji pretraživači upućuju posetioce na vaš sajt. %s Klikom na red tabele možete videti šta su korisnici tražili preko pojedinih pretraživača.",
|
||||
"Socials": "Društvene mreže",
|
||||
"SocialsReportDocumentation": "Ovaj izveštaj prikazuje koje društvene mreže su dovele korisnike na vaš sajt.<br \/>Klikom na red tabele možete da vidite sa kojih stranica društvenih mreža posetioci su došli na vaš sajt.",
|
||||
"SubmenuSearchEngines": "Pretraživači i ključne reči",
|
||||
"SubmenuWebsitesOnly": "Sajtovi",
|
||||
"TypeCampaigns": "Kampanje: %s",
|
||||
"TypeDirectEntries": "Direktni ulasci: %s",
|
||||
"TypeSearchEngines": "Pretraživači: %s",
|
||||
"TypeWebsites": "Sajtovi: %s",
|
||||
"UsingNDistinctUrls": "(koristeći %s različitih adresa)",
|
||||
"ViewAllReferrers": "Prikaži sve reference",
|
||||
"ViewReferrersBy": "Prikaži reference po %s",
|
||||
"Websites": "Sajtovi",
|
||||
"WebsitesDocumentation": "Korisnik je klikom na link na drugom sajtu došao do vašeg sajta. %1$sPogledajte%2$s izveštaj za više detalja.",
|
||||
"WebsitesReportDocumentation": "U ovoj tabeli možete da vidite koji sajtovi su upućivali korisnike na vaš sajt. %s Klikom na red tabele možete videti koja adresa je povezana sa vašim sajtom.",
|
||||
"WidgetExternalWebsites": "Lista eksternih sajtova",
|
||||
"WidgetSocials": "Spisak društvenih mreža",
|
||||
"WidgetTopKeywordsForPages": "Najbolje ključne reči za URL",
|
||||
"XPercentOfVisits": "%s poseta"
|
||||
}
|
||||
}
|
55
msd2/tracking/piwik/plugins/Referrers/lang/sv.json
Normal file
55
msd2/tracking/piwik/plugins/Referrers/lang/sv.json
Normal file
@ -0,0 +1,55 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"AllReferrersReportDocumentation": "Den här rapporten visar all din hänvisningstrafik i en sammanslagen rapport, den listar alla webbsidor, nyckelord och kampanjer som dina besökare har använt sig av för att hitta din webbsida.",
|
||||
"Campaigns": "Kampanjer",
|
||||
"CampaignsDocumentation": "Besökare som kom till din webbplats som resulterades av en kampanj. %1$s Se rapporten %2$s för mer information.",
|
||||
"CampaignsReportDocumentation": "Rapporten visar vilka kampanjer som har lett besökare till din webbplats. %1$s För mer information om hur du spårar kampanjer, läs %2$skampanjernas dokumentation på matomo.org%3$s",
|
||||
"ColumnCampaign": "Kampanj",
|
||||
"ColumnSearchEngine": "Sökmotor",
|
||||
"ColumnSocial": "Sociala nätverk",
|
||||
"ColumnWebsite": "Webbplats",
|
||||
"ColumnWebsitePage": "Webbplatsens sida",
|
||||
"DirectEntry": "Direkttrafik",
|
||||
"DirectEntryDocumentation": "En besökare har angett URL:en i sin webbläsare och besökt din webbplats - det är ett direktbesök.",
|
||||
"DistinctCampaigns": "distinkta kampanjer",
|
||||
"DistinctKeywords": "distinkta nyckelord",
|
||||
"DistinctSearchEngines": "distinkta sökmotorer",
|
||||
"DistinctSocialNetworks": "distinkta sociala nätverk",
|
||||
"DistinctWebsites": "distinkta webbplatser",
|
||||
"EvolutionDocumentation": "Detta är en översikt av hänvisningsadresserna som ledde besökarna till din webbplats.",
|
||||
"Keywords": "Nyckelord",
|
||||
"KeywordsReportDocumentation": "Rapporten visar vilka nyckelord som användarna sökte efter innan de hänvisades till din webbplats. %s Genom att klicka på en rad i tabellen kan du se fördelningen av sökmotorer som användes för nyckelordet.",
|
||||
"KeywordsReportDocumentationNote": "OBS! I den här rapporten anges de flesta sökord som 'not defined', eftersom de flesta sökmotorer inte skickar det exakta sökordet som användes på sökmotorn.",
|
||||
"PluginDescription": "Visar hänvisningsdata: sökmotorer, nyckelord, webbplatser, kampanjer, sociala medier, direktbesök.",
|
||||
"Referrer": "Hänvisningar",
|
||||
"ReferrerName": "Hänvisningsadress Namn",
|
||||
"ReferrerNames": "Hänvisningsnamn",
|
||||
"Referrers": "Hänvisningar",
|
||||
"ReferrersOverview": "Översikt för hänvisningar",
|
||||
"ReferrerURLs": "Hänvisningsadresser",
|
||||
"SearchEngines": "Sökmotorer",
|
||||
"SearchEnginesDocumentation": "En besökare hänvisades till din webbplats genom en sökmotor. %1$s se %2$s rapport för mer detaljer.",
|
||||
"SearchEnginesReportDocumentation": "Rapporten visar vilka sökmotorer som hänvisat användare till din webbplats. %s Genom att klicka på en rad i tabellen så kan du se vad användarna sökte på, på en specifik sökmotor.",
|
||||
"Socials": "Sociala Nätverk",
|
||||
"SocialsReportDocumentation": "Den här rapporten visar vilka sociala nätverk som tagit besökare till din webbplatser.<br \/>Genom att klicka på en rad i tabellen kan du se vilken sida på det sociala nätverket besökarna kom ifrån.",
|
||||
"SubmenuSearchEngines": "Sökmotorer och nyckelord",
|
||||
"SubmenuWebsitesOnly": "Webbsidor",
|
||||
"TypeCampaigns": "%s från kampanjer",
|
||||
"TypeDirectEntries": "%s direkttrafik",
|
||||
"TypeSearchEngines": "%s från sökmotorer",
|
||||
"TypeSocialNetworks": "%s från sociala nätverk",
|
||||
"TypeWebsites": "%s från webbplatser",
|
||||
"UsingNDistinctUrls": "(använder %s distinkta urler)",
|
||||
"URLCampaignBuilderResult": "Genererad URL som du kan kopiera och klistra in i dina kampanjer, nyhetsbrev, Facebook annonser eller tweets:",
|
||||
"ViewAllReferrers": "Visa alla hänvisningar",
|
||||
"ViewReferrersBy": "Visa hänvisningar efter %s",
|
||||
"Websites": "Webbsidor",
|
||||
"WebsitesDocumentation": "Besökaren följde en länk på en annan webbplats som länkade till din webbplats. %1$s Se rapporten %2$s för mer information.",
|
||||
"WebsitesReportDocumentation": "I denna tabell kan du se vilka webbplatser som hänvisade besökare till din webbplats. %s Genom att klicka på en rad i tabellen så kan du se vilka webbadresser som länkarna till din webbplats var på.",
|
||||
"WidgetExternalWebsites": "Lista på externa webbsidor",
|
||||
"WidgetSocials": "Lista över sociala nätverk",
|
||||
"WidgetTopKeywordsForPages": "Toppnyckelord för sid-URL",
|
||||
"XPercentOfVisits": "%s av besökare",
|
||||
"Acquisition": "Förvärv"
|
||||
}
|
||||
}
|
5
msd2/tracking/piwik/plugins/Referrers/lang/ta.json
Normal file
5
msd2/tracking/piwik/plugins/Referrers/lang/ta.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Referrers": {
|
||||
"ColumnWebsite": "இணையப்பக்கம்"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user