PDF rausgenommen

This commit is contained in:
aschwarz
2023-01-23 11:03:31 +01:00
parent 82d562a322
commit a6523903eb
28078 changed files with 4247552 additions and 2 deletions

View File

@ -0,0 +1,620 @@
<?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\Transitions;
use Exception;
use Piwik\ArchiveProcessor;
use Piwik\Common;
use Piwik\DataAccess\LogAggregator;
use Piwik\DataArray;
use Piwik\DataTable;
use Piwik\DataTable\Row;
use Piwik\Metrics;
use Piwik\Period;
use Piwik\Piwik;
use Piwik\Plugins\Actions\Actions;
use Piwik\Plugins\Actions\ArchivingHelper;
use Piwik\RankingQuery;
use Piwik\Segment;
use Piwik\Segment\SegmentExpression;
use Piwik\Site;
use Piwik\Tracker\Action;
use Piwik\Tracker\PageUrl;
use Piwik\Tracker\TableLogAction;
/**
* @method static \Piwik\Plugins\Transitions\API getInstance()
*/
class API extends \Piwik\Plugin\API
{
public function getTransitionsForPageTitle($pageTitle, $idSite, $period, $date, $segment = false, $limitBeforeGrouping = false)
{
return $this->getTransitionsForAction($pageTitle, 'title', $idSite, $period, $date, $segment, $limitBeforeGrouping);
}
public function getTransitionsForPageUrl($pageUrl, $idSite, $period, $date, $segment = false, $limitBeforeGrouping = false)
{
return $this->getTransitionsForAction($pageUrl, 'url', $idSite, $period, $date, $segment, $limitBeforeGrouping);
}
/**
* General method to get transitions for an action
*
* @param $actionName
* @param $actionType "url"|"title"
* @param $idSite
* @param $period
* @param $date
* @param bool $segment
* @param bool $limitBeforeGrouping
* @param string $parts
* @return array
* @throws Exception
*/
public function getTransitionsForAction($actionName, $actionType, $idSite, $period, $date,
$segment = false, $limitBeforeGrouping = false, $parts = 'all')
{
Piwik::checkUserHasViewAccess($idSite);
// get idaction of the requested action
$idaction = $this->deriveIdAction($actionName, $actionType);
if ($idaction < 0) {
throw new Exception('NoDataForAction');
}
// prepare log aggregator
$segment = new Segment($segment, $idSite);
$site = new Site($idSite);
$period = Period\Factory::build($period, $date);
$params = new ArchiveProcessor\Parameters($site, $period, $segment);
$logAggregator = new LogAggregator($params);
// prepare the report
$report = array(
'date' => Period\Factory::build($period->getLabel(), $date)->getLocalizedShortString()
);
$partsArray = explode(',', $parts);
if ($parts == 'all' || in_array('internalReferrers', $partsArray)) {
$this->addInternalReferrers($logAggregator, $report, $idaction, $actionType, $limitBeforeGrouping);
}
if ($parts == 'all' || in_array('followingActions', $partsArray)) {
$includeLoops = $parts != 'all' && !in_array('internalReferrers', $partsArray);
$this->addFollowingActions($logAggregator, $report, $idaction, $actionType, $limitBeforeGrouping, $includeLoops);
}
if ($parts == 'all' || in_array('externalReferrers', $partsArray)) {
$this->addExternalReferrers($logAggregator, $report, $idaction, $actionType, $limitBeforeGrouping);
}
// derive the number of exits from the other metrics
if ($parts == 'all') {
$report['pageMetrics']['exits'] = $report['pageMetrics']['pageviews']
- $this->getTotalTransitionsToFollowingActions()
- $report['pageMetrics']['loops'];
}
// replace column names in the data tables
$reportNames = array(
'previousPages' => true,
'previousSiteSearches' => false,
'followingPages' => true,
'followingSiteSearches' => false,
'outlinks' => true,
'downloads' => true
);
foreach ($reportNames as $reportName => $replaceLabel) {
if (isset($report[$reportName])) {
$columnNames = array(Metrics::INDEX_NB_ACTIONS => 'referrals');
if ($replaceLabel) {
$columnNames[Metrics::INDEX_NB_ACTIONS] = 'referrals';
}
$report[$reportName]->filter('ReplaceColumnNames', array($columnNames));
}
}
return $report;
}
/**
* Derive the action ID from the request action name and type.
*/
private function deriveIdAction($actionName, $actionType)
{
switch ($actionType) {
case 'url':
$originalActionName = $actionName;
$actionName = Common::unsanitizeInputValue($actionName);
$id = TableLogAction::getIdActionFromSegment($actionName, 'idaction_url', SegmentExpression::MATCH_EQUAL, 'pageUrl');
if ($id < 0) {
// an example where this is needed is urls containing < or >
$actionName = $originalActionName;
$id = TableLogAction::getIdActionFromSegment($actionName, 'idaction_url', SegmentExpression::MATCH_EQUAL, 'pageUrl');
}
return $id;
case 'title':
$id = TableLogAction::getIdActionFromSegment($actionName, 'idaction_name', SegmentExpression::MATCH_EQUAL, 'pageTitle');
if ($id < 0) {
$unknown = ArchivingHelper::getUnknownActionName(Action::TYPE_PAGE_TITLE);
if (trim($actionName) == trim($unknown)) {
$id = TableLogAction::getIdActionFromSegment('', 'idaction_name', SegmentExpression::MATCH_EQUAL, 'pageTitle');
}
}
return $id;
default:
throw new Exception('Unknown action type');
}
}
/**
* Add the internal referrers to the report:
* previous pages and previous site searches
*
* @param LogAggregator $logAggregator
* @param $report
* @param $idaction
* @param string $actionType
* @param $limitBeforeGrouping
* @throws Exception
*/
private function addInternalReferrers($logAggregator, &$report, $idaction, $actionType, $limitBeforeGrouping)
{
$data = $this->queryInternalReferrers($idaction, $actionType, $logAggregator, $limitBeforeGrouping);
if ($data['pageviews'] == 0) {
throw new Exception('NoDataForAction');
}
$report['previousPages'] = & $data['previousPages'];
$report['previousSiteSearches'] = & $data['previousSiteSearches'];
$report['pageMetrics']['loops'] = $data['loops'];
$report['pageMetrics']['pageviews'] = $data['pageviews'];
}
/**
* Add the following actions to the report:
* following pages, downloads, outlinks
*
* @param LogAggregator $logAggregator
* @param $report
* @param $idaction
* @param string $actionType
* @param $limitBeforeGrouping
* @param boolean $includeLoops
*/
private function addFollowingActions($logAggregator, &$report, $idaction, $actionType, $limitBeforeGrouping, $includeLoops = false)
{
$data = $this->queryFollowingActions(
$idaction, $actionType, $logAggregator, $limitBeforeGrouping, $includeLoops);
foreach ($data as $tableName => $table) {
$report[$tableName] = $table;
}
}
/**
* Get information about the following actions (following pages, site searches, outlinks, downloads)
*
* @param $idaction
* @param $actionType
* @param LogAggregator $logAggregator
* @param $limitBeforeGrouping
* @param $includeLoops
* @return array(followingPages:DataTable, outlinks:DataTable, downloads:DataTable)
*/
protected function queryFollowingActions($idaction, $actionType, LogAggregator $logAggregator,
$limitBeforeGrouping = false, $includeLoops = false)
{
$types = array();
if ($actionType != 'title') {
// specific setup for page urls
$types[Action::TYPE_PAGE_URL] = 'followingPages';
$dimension = 'if ( %1$s.idaction_url IS NULL, %1$s.idaction_name, %1$s.idaction_url )';
$dimension = sprintf($dimension, 'log_link_visit_action' );
// site search referrers are logged with url=NULL
// when we find one, we have to join on name
$joinLogActionColumn = $dimension;
$selects = array('log_action.name', 'log_action.url_prefix', 'log_action.type');
} else {
// specific setup for page titles:
$types[Action::TYPE_PAGE_TITLE] = 'followingPages';
// join log_action on name and url and pick depending on url type
// the table joined on url is log_action1
$joinLogActionColumn = array('idaction_url', 'idaction_name');
$dimension = '
CASE
' /* following site search */ . '
WHEN log_link_visit_action.idaction_url IS NULL THEN log_action2.idaction
' /* following page view: use page title */ . '
WHEN log_action1.type = ' . Action::TYPE_PAGE_URL . ' THEN log_action2.idaction
' /* following download or outlink: use url */ . '
ELSE log_action1.idaction
END
';
$selects = array(
'CASE
' /* following site search */ . '
WHEN log_link_visit_action.idaction_url IS NULL THEN log_action2.name
' /* following page view: use page title */ . '
WHEN log_action1.type = ' . Action::TYPE_PAGE_URL . ' THEN log_action2.name
' /* following download or outlink: use url */ . '
ELSE log_action1.name
END AS `name`',
'CASE
' /* following site search */ . '
WHEN log_link_visit_action.idaction_url IS NULL THEN log_action2.type
' /* following page view: use page title */ . '
WHEN log_action1.type = ' . Action::TYPE_PAGE_URL . ' THEN log_action2.type
' /* following download or outlink: use url */ . '
ELSE log_action1.type
END AS `type`',
'NULL AS `url_prefix`'
);
}
// these types are available for both titles and urls
$types[Action::TYPE_SITE_SEARCH] = 'followingSiteSearches';
$types[Action::TYPE_OUTLINK] = 'outlinks';
$types[Action::TYPE_DOWNLOAD] = 'downloads';
$rankingQuery = new RankingQuery($limitBeforeGrouping ? $limitBeforeGrouping : $this->limitBeforeGrouping);
$rankingQuery->addLabelColumn(array('name', 'url_prefix'));
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($types));
$type = $this->getColumnTypeSuffix($actionType);
$where = 'log_link_visit_action.idaction_' . $type . '_ref = ' . intval($idaction);
if (!$includeLoops) {
$where .= ' AND (log_link_visit_action.idaction_' . $type . ' IS NULL OR '
. 'log_link_visit_action.idaction_' . $type . ' != ' . intval($idaction) . ')';
}
$metrics = array(Metrics::INDEX_NB_ACTIONS);
$data = $logAggregator->queryActionsByDimension(array($dimension), $where, $selects, $metrics, $rankingQuery, $joinLogActionColumn);
$dataTables = $this->makeDataTablesFollowingActions($types, $data);
return $dataTables;
}
/**
* Get information about external referrers (i.e. search engines, websites & campaigns)
*
* @param $idaction
* @param $actionType
* @param Logaggregator $logAggregator
* @param $limitBeforeGrouping
* @return DataTable
*/
protected function queryExternalReferrers($idaction, $actionType, $logAggregator, $limitBeforeGrouping = false)
{
$rankingQuery = new RankingQuery($limitBeforeGrouping ? $limitBeforeGrouping : $this->limitBeforeGrouping);
// we generate a single column that contains the interesting data for each referrer.
// the reason we cannot group by referer_* becomes clear when we look at search engine keywords.
// referer_url contains the url from the search engine, referer_keyword the keyword we want to
// group by. when we group by both, we don't get a single column for the keyword but instead
// one column per keyword + search engine url. this way, we could not get the top keywords using
// the ranking query.
$dimensions = array('referrer_data', 'referer_type');
$rankingQuery->addLabelColumn('referrer_data');
$selects = array(
'CASE log_visit.referer_type
WHEN ' . Common::REFERRER_TYPE_DIRECT_ENTRY . ' THEN \'\'
WHEN ' . Common::REFERRER_TYPE_SEARCH_ENGINE . ' THEN log_visit.referer_keyword
WHEN ' . Common::REFERRER_TYPE_SOCIAL_NETWORK . ' THEN log_visit.referer_name
WHEN ' . Common::REFERRER_TYPE_WEBSITE . ' THEN log_visit.referer_url
WHEN ' . Common::REFERRER_TYPE_CAMPAIGN . ' THEN CONCAT(log_visit.referer_name, \' \', log_visit.referer_keyword)
END AS `referrer_data`');
// get one limited group per referrer type
$rankingQuery->partitionResultIntoMultipleGroups('referer_type', array(
Common::REFERRER_TYPE_DIRECT_ENTRY,
Common::REFERRER_TYPE_SEARCH_ENGINE,
Common::REFERRER_TYPE_SOCIAL_NETWORK,
Common::REFERRER_TYPE_WEBSITE,
Common::REFERRER_TYPE_CAMPAIGN
));
$type = $this->getColumnTypeSuffix($actionType);
$where = 'visit_entry_idaction_' . $type . ' = ' . intval($idaction);
$metrics = array(Metrics::INDEX_NB_VISITS);
$data = $logAggregator->queryVisitsByDimension($dimensions, $where, $selects, $metrics, $rankingQuery);
$referrerData = array();
$referrerSubData = array();
foreach ($data as $referrerType => &$subData) {
$referrerData[$referrerType] = array(Metrics::INDEX_NB_VISITS => 0);
if ($referrerType != Common::REFERRER_TYPE_DIRECT_ENTRY) {
$referrerSubData[$referrerType] = array();
}
foreach ($subData as &$row) {
if ($referrerType == Common::REFERRER_TYPE_SEARCH_ENGINE && empty($row['referrer_data'])) {
$row['referrer_data'] = \Piwik\Plugins\Referrers\API::LABEL_KEYWORD_NOT_DEFINED;
}
$referrerData[$referrerType][Metrics::INDEX_NB_VISITS] += $row[Metrics::INDEX_NB_VISITS];
$label = $row['referrer_data'];
if ($label) {
$referrerSubData[$referrerType][$label] = array(
Metrics::INDEX_NB_VISITS => $row[Metrics::INDEX_NB_VISITS]
);
}
}
}
$array = new DataArray($referrerData, $referrerSubData);
return $array->asDataTable();
}
/**
* Get information about internal referrers (previous pages & loops, i.e. page refreshes)
*
* @param $idaction
* @param $actionType
* @param LogAggregator $logAggregator
* @param $limitBeforeGrouping
* @return array(previousPages:DataTable, loops:integer)
*/
protected function queryInternalReferrers($idaction, $actionType, $logAggregator, $limitBeforeGrouping = false)
{
$keyIsOther = 0;
$keyIsPageUrlAction = 1;
$keyIsSiteSearchAction = 2;
$rankingQuery = new RankingQuery($limitBeforeGrouping ? $limitBeforeGrouping : $this->limitBeforeGrouping);
$rankingQuery->addLabelColumn(array('name', 'url_prefix'));
$rankingQuery->setColumnToMarkExcludedRows('is_self');
$rankingQuery->partitionResultIntoMultipleGroups('action_partition', array($keyIsOther, $keyIsPageUrlAction, $keyIsSiteSearchAction));
$type = $this->getColumnTypeSuffix($actionType);
$mainActionType = Action::TYPE_PAGE_URL;
$dimension = 'idaction_url_ref';
if ($actionType == 'title') {
$mainActionType = Action::TYPE_PAGE_TITLE;
$dimension = 'idaction_name_ref';
}
$selects = array(
'log_action.name',
'log_action.url_prefix',
'CASE WHEN log_link_visit_action.idaction_' . $type . '_ref = ' . intval($idaction) . ' THEN 1 ELSE 0 END AS `is_self`',
'CASE
WHEN log_action.type = ' . $mainActionType . ' THEN ' . $keyIsPageUrlAction . '
WHEN log_action.type = ' . Action::TYPE_SITE_SEARCH . ' THEN ' . $keyIsSiteSearchAction .'
ELSE ' . $keyIsOther . '
END AS `action_partition`'
);
$where = ' log_link_visit_action.idaction_' . $type . ' = ' . intval($idaction);
if ($dimension == 'idaction_url_ref') {
// site search referrers are logged with url_ref=NULL
// when we find one, we have to join on name_ref
$dimension = 'if ( %1$s.idaction_url_ref IS NULL, %1$s.idaction_name_ref, %1$s.idaction_url_ref )';
$dimension = sprintf($dimension, 'log_link_visit_action');
$joinLogActionOn = $dimension;
} else {
$joinLogActionOn = $dimension;
}
$metrics = array(Metrics::INDEX_NB_ACTIONS);
$data = $logAggregator->queryActionsByDimension(array($dimension), $where, $selects, $metrics, $rankingQuery, $joinLogActionOn);
$loops = 0;
$nbPageviews = 0;
$previousPagesDataTable = new DataTable;
if (isset($data['result'][$keyIsPageUrlAction])) {
foreach ($data['result'][$keyIsPageUrlAction] as &$page) {
$nbActions = intval($page[Metrics::INDEX_NB_ACTIONS]);
$previousPagesDataTable->addRow(new Row(array(
Row::COLUMNS => array(
'label' => $this->getPageLabel($page, Action::TYPE_PAGE_URL),
Metrics::INDEX_NB_ACTIONS => $nbActions
)
)));
$nbPageviews += $nbActions;
}
}
$previousSearchesDataTable = new DataTable;
if (isset($data['result'][$keyIsSiteSearchAction])) {
foreach ($data['result'][$keyIsSiteSearchAction] as &$search) {
$nbActions = intval($search[Metrics::INDEX_NB_ACTIONS]);
$previousSearchesDataTable->addRow(new Row(array(
Row::COLUMNS => array(
'label' => $search['name'],
Metrics::INDEX_NB_ACTIONS => $nbActions
)
)));
$nbPageviews += $nbActions;
}
}
if (isset($data['result'][0])) {
foreach ($data['result'][0] as &$referrer) {
$nbPageviews += intval($referrer[Metrics::INDEX_NB_ACTIONS]);
}
}
if (count($data['excludedFromLimit'])) {
$loops += intval($data['excludedFromLimit'][0][Metrics::INDEX_NB_ACTIONS]);
$nbPageviews += $loops;
}
return array(
'pageviews' => $nbPageviews,
'previousPages' => $previousPagesDataTable,
'previousSiteSearches' => $previousSearchesDataTable,
'loops' => $loops
);
}
private function getPageLabel(&$pageRecord, $type)
{
if ($type == Action::TYPE_PAGE_TITLE) {
$label = $pageRecord['name'];
if (empty($label)) {
$label = ArchivingHelper::getUnknownActionName(Action::TYPE_PAGE_TITLE);
}
return $label;
}
if ($type == Action::TYPE_OUTLINK || $type == Action::TYPE_DOWNLOAD) {
return PageUrl::reconstructNormalizedUrl($pageRecord['name'], $pageRecord['url_prefix']);
}
return $pageRecord['name'];
}
private function getColumnTypeSuffix($actionType)
{
if ($actionType == 'title') {
return 'name';
}
return 'url';
}
private $limitBeforeGrouping = 5;
private $totalTransitionsToFollowingPages = 0;
/**
* Get the sum of all transitions to following actions (pages, outlinks, downloads).
* Only works if queryFollowingActions() has been used directly before.
*/
protected function getTotalTransitionsToFollowingActions()
{
return $this->totalTransitionsToFollowingPages;
}
/**
* Add the external referrers to the report:
* direct entries, websites, campaigns, search engines
*
* @param LogAggregator $logAggregator
* @param $report
* @param $idaction
* @param string $actionType
* @param $limitBeforeGrouping
*/
private function addExternalReferrers($logAggregator, &$report, $idaction, $actionType, $limitBeforeGrouping)
{
$data = $this->queryExternalReferrers(
$idaction, $actionType, $logAggregator, $limitBeforeGrouping);
$report['pageMetrics']['entries'] = 0;
$report['referrers'] = array();
foreach ($data->getRows() as $row) {
$referrerId = $row->getColumn('label');
$visits = $row->getColumn(Metrics::INDEX_NB_VISITS);
if ($visits) {
// load details (i.e. subtables)
$details = array();
$subTable = $row->getSubtable();
if ($subTable) {
foreach ($subTable->getRows() as $subRow) {
$details[] = array(
'label' => $subRow->getColumn('label'),
'referrals' => $subRow->getColumn(Metrics::INDEX_NB_VISITS)
);
}
}
$report['referrers'][] = array(
'label' => $this->getReferrerLabel($referrerId),
'shortName' => \Piwik\Plugins\Referrers\getReferrerTypeFromShortName($referrerId),
'visits' => $visits,
'details' => $details
);
$report['pageMetrics']['entries'] += $visits;
}
}
// if there's no data for referrers, ResponseBuilder::handleMultiDimensionalArray
// does not detect the multi dimensional array and the data is rendered differently, which
// causes an exception.
if (count($report['referrers']) == 0) {
$report['referrers'][] = array(
'label' => $this->getReferrerLabel(Common::REFERRER_TYPE_DIRECT_ENTRY),
'shortName' => \Piwik\Plugins\Referrers\getReferrerTypeLabel(Common::REFERRER_TYPE_DIRECT_ENTRY),
'visits' => 0
);
}
}
private function getReferrerLabel($referrerId)
{
switch ($referrerId) {
case Common::REFERRER_TYPE_DIRECT_ENTRY:
return Controller::getTranslation('directEntries');
case Common::REFERRER_TYPE_SEARCH_ENGINE:
return Controller::getTranslation('fromSearchEngines');
case Common::REFERRER_TYPE_SOCIAL_NETWORK:
return Controller::getTranslation('fromSocialNetworks');
case Common::REFERRER_TYPE_WEBSITE:
return Controller::getTranslation('fromWebsites');
case Common::REFERRER_TYPE_CAMPAIGN:
return Controller::getTranslation('fromCampaigns');
default:
return Piwik::translate('General_Others');
}
}
public function getTranslations()
{
$controller = new Controller();
return $controller->getTranslations();
}
protected function makeDataTablesFollowingActions($types, $data)
{
$this->totalTransitionsToFollowingPages = 0;
$dataTables = array();
foreach ($types as $type => $recordName) {
$dataTable = new DataTable;
if (isset($data[$type])) {
foreach ($data[$type] as &$record) {
$actions = intval($record[Metrics::INDEX_NB_ACTIONS]);
$dataTable->addRow(new Row(array(
Row::COLUMNS => array(
'label' => $this->getPageLabel($record, $type),
Metrics::INDEX_NB_ACTIONS => $actions
)
)));
$this->processTransitionsToFollowingPages($type, $actions);
}
}
$dataTables[$recordName] = $dataTable;
}
return $dataTables;
}
protected function processTransitionsToFollowingPages($type, $actions)
{
// Downloads and Outlinks are not included as these actions count towards a Visit Exit
$actionTypesNotExitActions = array(
Action::TYPE_SITE_SEARCH,
Action::TYPE_PAGE_TITLE,
Action::TYPE_PAGE_URL
);
if(in_array($type, $actionTypesNotExitActions)) {
$this->totalTransitionsToFollowingPages += $actions;
}
}
}

View File

@ -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\Transitions\Categories;
use Piwik\Category\Subcategory;
class TransitionsSubcategory extends Subcategory
{
protected $categoryId = 'General_Actions';
protected $id = 'Transitions_Transitions';
protected $order = 46;
}

View File

@ -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\Transitions;
use Piwik\Piwik;
use Piwik\View;
/**
*/
class Controller extends \Piwik\Plugin\Controller
{
/**
* Since the metric translations are taken from different plugins,
* it makes the rest of the code easier to read and maintain when we
* use this indirection to map between the metrics and the actual
* translation keys.
*/
private static $metricTranslations = array(
'pageviewsInline' => 'Transitions_NumPageviews',
'loopsInline' => 'Transitions_LoopsInline',
'fromPreviousPages' => 'Transitions_FromPreviousPages',
'fromPreviousPagesInline' => 'Transitions_FromPreviousPagesInline',
'fromPreviousSiteSearches' => 'Transitions_FromPreviousSiteSearches',
'fromPreviousSiteSearchesInline' => 'Transitions_FromPreviousSiteSearchesInline',
'fromSearchEngines' => 'Transitions_FromSearchEngines',
'fromSearchEnginesInline' => 'Referrers_TypeSearchEngines',
'fromSocialNetworks' => 'Transitions_FromSocialNetworks',
'fromSocialNetworksInline' => 'Referrers_TypeSocialNetworks',
'fromWebsites' => 'Transitions_FromWebsites',
'fromWebsitesInline' => 'Referrers_TypeWebsites',
'fromCampaigns' => 'Transitions_FromCampaigns',
'fromCampaignsInline' => 'Referrers_TypeCampaigns',
'directEntries' => 'Transitions_DirectEntries',
'directEntriesInline' => 'Referrers_TypeDirectEntries',
'toFollowingPages' => 'Transitions_ToFollowingPages',
'toFollowingPagesInline' => 'Transitions_ToFollowingPagesInline',
'toFollowingSiteSearches' => 'Transitions_ToFollowingSiteSearches',
'toFollowingSiteSearchesInline' => 'Transitions_ToFollowingSiteSearchesInline',
'downloads' => 'General_Downloads',
'downloadsInline' => 'Transitions_NumDownloads',
'outlinks' => 'General_Outlinks',
'outlinksInline' => 'Transitions_NumOutlinks',
'exits' => 'General_ColumnExits',
'exitsInline' => 'Transitions_ExitsInline',
'bouncesInline' => 'Transitions_BouncesInline'
);
/**
* Translations that are added to JS
*/
private static $jsTranslations = array(
'XOfY' => 'Transitions_XOutOfYVisits',
'XOfAllPageviews' => 'Transitions_XOfAllPageviews',
'NoDataForAction' => 'Transitions_NoDataForAction',
'NoDataForActionDetails' => 'Transitions_NoDataForActionDetails',
'NoDataForActionBack' => 'Transitions_ErrorBack',
'ShareOfAllPageviews' => 'Transitions_ShareOfAllPageviews',
'DateRange' => 'General_DateRange'
);
public static function getTranslation($key)
{
return Piwik::translate(self::$metricTranslations[$key]);
}
/**
* The main method of the plugin.
* It is triggered from the Transitions data table action.
*/
public function renderPopover()
{
$view = new View('@Transitions/renderPopover');
$view->translations = $this->getTranslations();
return $view->render();
}
public function getTranslations()
{
$translations = self::$metricTranslations + self::$jsTranslations;
foreach ($translations as &$message) {
$message = Piwik::translate($message);
}
return $translations;
}
}

View 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\Transitions;
/**
*/
class Transitions extends \Piwik\Plugin
{
/**
* @see \Piwik\Plugin::registerEvents
*/
public function registerEvents()
{
return array(
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys'
);
}
public function getStylesheetFiles(&$stylesheets)
{
$stylesheets[] = 'plugins/Transitions/stylesheets/transitions.less';
}
public function getJsFiles(&$jsFiles)
{
$jsFiles[] = 'plugins/Transitions/javascripts/transitions.js';
$jsFiles[] = 'plugins/Transitions/angularjs/transitionswitcher/transitionswitcher.controller.js';
}
public function getClientSideTranslationKeys(&$translationKeys)
{
$translationKeys[] = 'General_TransitionsRowActionTooltipTitle';
$translationKeys[] = 'General_TransitionsRowActionTooltip';
$translationKeys[] = 'Actions_PageUrls';
$translationKeys[] = 'Actions_WidgetPageTitles';
$translationKeys[] = 'Transitions_NumPageviews';
$translationKeys[] = 'CoreHome_ThereIsNoDataForThisReport';
$translationKeys[] = 'General_Others';
}
}

View File

@ -0,0 +1,47 @@
<?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\Transitions\Widgets;
use Piwik\Common;
use Piwik\Piwik;
use Piwik\Plugins\Transitions\Controller;
use Piwik\Widget\Widget;
use Piwik\Widget\WidgetConfig;
class GetTransitions extends Widget
{
public static function configure(WidgetConfig $config)
{
$config->setCategoryId('General_Actions');
$config->setSubcategoryId('Transitions_Transitions');
$config->setName('Transitions_Transitions');
$config->setOrder(99);
$idSite = self::getIdSite();
if (!$idSite || !Piwik::isUserHasViewAccess($idSite)) {
$config->disable();
}
}
private static function getIdSite()
{
return Common::getRequestVar('idSite', 0, 'int');
}
public function render()
{
Piwik::checkUserHasViewAccess(self::getIdSite());
$isWidgetized = Common::getRequestVar('widget', 0, 'int') === 1;
return $this->renderTemplate('transitions', array(
'isWidget' => $isWidgetized
));
}
}

View File

@ -0,0 +1,155 @@
/*!
* 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('TransitionSwitcherController', TransitionSwitcherController);
TransitionSwitcherController.$inject = ['piwikApi', '$filter', '$rootScope'];
function TransitionSwitcherController(piwikApi, $filter, $rootScope) {
var translate = $filter('translate');
var self = this;
this.actionType = 'Actions.getPageUrls';
this.actionNameOptions = [];
this.actionTypeOptions = [
{key: 'Actions.getPageUrls', value: translate('Actions_PageUrls')},
{key: 'Actions.getPageTitles', value: translate('Actions_WidgetPageTitles')}
];
this.isLoading = false;
this.transitions = null;
this.actionName = null;
this.isEnabled = true;
var noDataKey = '_____ignore_____';
this.detectActionName = function (reports)
{
var othersLabel = translate('General_Others');
var label, report;
for (var i = 0; i < reports.length; i++) {
if (!reports[i]) {
continue;
}
report = reports[i];
if (report.label === othersLabel) {
continue;
}
var key = null;
if (self.isUrlReport()) {
key = report.url
} else {
key = report.label;
}
if (key) {
label = report.label + ' (' + translate('Transitions_NumPageviews', report.nb_hits) + ')';
self.actionNameOptions.push({key: key, value: label, url: report.url});
if (!self.actionName) {
self.actionName = key
}
}
}
}
this.isUrlReport = function()
{
return this.actionType === 'Actions.getPageUrls';
}
this.fetch = function (type) {
this.isLoading = true;
this.actionNameOptions = [];
this.actionName = null;
piwikApi.fetch({
method: type,
flat: 1, filter_limit: 100,
filter_sort_order: 'desc',
filter_sort_column: 'nb_hits',
showColumns: 'label,nb_hits,url'
}).then(function (report) {
self.isLoading = false;
self.actionNameOptions = [];
self.actionName = null;
if (report && report.length) {
self.isEnabled = true;
self.detectActionName(report);
self.onActionNameChange(self.actionName);
}
if (null === self.actionName || self.actionNameOptions.length === 0) {
self.isEnabled = false;
self.actionName = noDataKey;
self.actionNameOptions.push({key: noDataKey, value: translate('CoreHome_ThereIsNoDataForThisReport')});
}
}, function () {
self.isLoading = false;
self.isEnabled = false;
});
}
this.onActionTypeChange = function (actionName) {
this.fetch(actionName);
};
this.onActionNameChange = function (actionName) {
if (actionName === null || actionName === noDataKey) {
return;
}
var type = 'url';
if (!this.isUrlReport()) {
type = 'title';
}
if (!this.transitions) {
this.transitions = new Piwik_Transitions(type, actionName, null, '');
} else {
this.transitions.reset(type, actionName, '');
}
this.transitions.showPopover(true);
};
$rootScope.$on('Transitions.switchTransitionsUrl', function (event, params) {
if (params && params.url) {
if (self.isUrlReport()) {
params.url = params.url.replace('https://', '').replace('http://', '');
}
var found = false, option, optionUrl;
for (var i = 0; i < self.actionNameOptions.length; i++) {
option = self.actionNameOptions[i];
optionUrl = option.url;
if (optionUrl && self.isUrlReport()) {
optionUrl = String(optionUrl).replace('https://', '').replace('http://', '');
} else {
optionUrl = null;
}
if (!found && (option.key === params.url || (params.url === optionUrl && optionUrl))) {
found = true;
self.actionName = option.key;
}
}
if (!found) {
// we only fetch top 100 in the report... so the entry the user clicked on, might not be in the top 100
var options = angular.copy(self.actionNameOptions); // somehow needed to force angular to render it
options.push({key: params.url, value: params.url});
self.actionNameOptions = options;
self.actionName = params.url;
}
self.onActionNameChange(self.actionName);
}
});
this.fetch(this.actionType);
}
})();

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 B

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
{
"Transitions": {
"BouncesInline": "%s еднократни посещения",
"DirectEntries": "Директни посещения",
"ErrorBack": "Върнете се на предишната страница",
"ExitsInline": "%s изходи",
"FromCampaigns": "От кампании",
"FromPreviousPages": "От вътрешни страници",
"FromPreviousPagesInline": "%s от вътреши страници",
"FromPreviousSiteSearches": "От вътрешни търсения",
"FromPreviousSiteSearchesInline": "%s от вътрешни търсения",
"FromSearchEngines": "От търсещи машини",
"FromWebsites": "От уебсайтове",
"IncomingTraffic": "Входящ трафик",
"LoopsInline": "%s страница се презарежда",
"NoDataForAction": "Няма информация за %s",
"OutgoingTraffic": "Изходящ трафик",
"ShareOfAllPageviews": "Тази страница има %1$s разглеждания (от всички %2$s разглеждания)",
"ToFollowingPages": "Към вътрешни страници",
"ToFollowingPagesInline": "%s за вътрешни страници",
"ToFollowingSiteSearches": "Външни търсения",
"ToFollowingSiteSearchesInline": "%s вътрешни търсения",
"XOfAllPageviews": "%s на всички показания за тази страница",
"XOutOfYVisits": "%1$s (от %2$s)"
}
}

View File

@ -0,0 +1,27 @@
{
"Transitions": {
"BouncesInline": "%s rebots",
"DirectEntries": "Entrades directes",
"ErrorBack": "Ves a l'acció anterior",
"ExitsInline": "%s surts",
"FromCampaigns": "De campanyes",
"FromPreviousPages": "De pàgines internes",
"FromPreviousPagesInline": "%s de pàgines internes",
"FromPreviousSiteSearches": "De la cerca interna",
"FromPreviousSiteSearchesInline": "%s de la cerques internes",
"FromSearchEngines": "De cercadors",
"FromWebsites": "De llocs web",
"IncomingTraffic": "Tràfic entrant",
"LoopsInline": "%s refrescos de pàgina",
"NoDataForAction": "No hi ha informació per %s",
"NoDataForActionDetails": "O l'acció no ha estat vista cap vegada durant el període %s o és invàlida.",
"OutgoingTraffic": "Tràfic surtint",
"ShareOfAllPageviews": "Aquesta pàgina ha tingut %1$s visites (%2$s de totes les visites)",
"ToFollowingPages": "A pàgines internes",
"ToFollowingPagesInline": "%s a pàgines internes",
"ToFollowingSiteSearches": "Cerques internes",
"ToFollowingSiteSearchesInline": "%s cerques internes",
"XOfAllPageviews": "%s de totes les visualitzacions d'aquesta pàgina",
"XOutOfYVisits": "%1$s (de %2$s)"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s odrazů",
"DirectEntries": "Přímé záznamy",
"ErrorBack": "Přejít k předchozí akci",
"ExitsInline": "%s východy",
"NumPageviews": "%s zobrazení",
"NumDownloads": "%s stažení",
"NumOutlinks": "%s externích odkazů",
"FromCampaigns": "Z kampaní",
"FromPreviousPages": "Z interních stránek",
"FromPreviousPagesInline": "%s z interních stránek",
"FromPreviousSiteSearches": "Z interního vyhledávání",
"FromPreviousSiteSearchesInline": "%s z interních vyhledávání",
"FromSearchEngines": "Z vyhledávačů",
"FromWebsites": "Z webových stránek",
"IncomingTraffic": "Příchozí provoz",
"LoopsInline": "%s obnovení stránky",
"NoDataForAction": "Pro %s nejsou žádná data",
"NoDataForActionDetails": "Buď akce neměla za období %s žádné zobrazení stránky, nebo je neplatná.",
"OutgoingTraffic": "Odchozí provoz",
"PluginDescription": "V novém hlášení přechodů hlásí předchozí a následující akci pro každou URL, je dostupný přes novou ikonu v hlášení akcí.",
"ShareOfAllPageviews": "Tato stránka měla %1$s zobrazení (%2$s všech zobrazení)",
"ToFollowingPages": "Na interní stránky",
"ToFollowingPagesInline": "%s na interní stránky",
"ToFollowingSiteSearches": "Interní vyhledávání",
"ToFollowingSiteSearchesInline": "%s interních vyhledávání",
"XOfAllPageviews": "%s ze všech zobrazení této stránky",
"XOutOfYVisits": "%1$s (z %2$s)"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s afvisninger",
"DirectEntries": "Direkte besøg",
"Transitions": "Overgange",
"ErrorBack": "Gå tilbage til forrige handling",
"ExitsInline": "%s afslutninger",
"FeatureDescription": "Overgange giver dig en rapport over, hvad dine besøgende gjorde umiddelbart før og efter at have besøgt en given side. Denne side vil forklare, hvordan du tilgår forstår og anvender denne effektive rapport.",
"FromCampaigns": "Fra kampagner",
"FromPreviousPages": "Fra interne sider",
"FromPreviousPagesInline": "%s fra interne sider",
"FromPreviousSiteSearches": "Fra intern søgning",
"FromPreviousSiteSearchesInline": "%s fra interne søgninger",
"FromSearchEngines": "Fra søgemaskiner",
"FromSocialNetworks": "Fra sociale netværk",
"FromWebsites": "Fra hjemmesider",
"IncomingTraffic": "Indkommende trafik",
"LoopsInline": "%s side genindlæsninger",
"NoDataForAction": "Der er ingen data for %s",
"NoDataForActionDetails": "Enten havde handlingen ingen sidevisninger i perioden %s eller den er ugyldig.",
"OutgoingTraffic": "Udgående trafik",
"ShareOfAllPageviews": "Denne side havde %1$s sidevisninger (%2$s af alle sidevisninger)",
"ToFollowingPages": "Til interne sider",
"ToFollowingPagesInline": "%s til interne sider",
"ToFollowingSiteSearches": "Interne søgninger",
"ToFollowingSiteSearchesInline": "%s interne søgninger",
"XOfAllPageviews": "%s af alle visninger af denne side",
"XOutOfYVisits": "%1$s (ud af %2$s)",
"PageURLTransitions": "Side-URL-overgange"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s Absprünge",
"DirectEntries": "Direkte Eingaben",
"Transitions": "Übergänge",
"ErrorBack": "Gehe zurück zur letzten Aktion",
"ExitsInline": "%s Ausstiege",
"NumPageviews": "%s Seitenansichten",
"NumDownloads": "%s Downloads",
"NumOutlinks": "%s ausgehende Verweise",
"TopX": "Top %s Beschriftungen",
"FeatureDescription": "Übergänge zeigen Ihnen auf, was genau Ihre Besucher machten bevor und nachdem sie eine bestimmte Seite aufgerufen haben. Diese Seite erklärt wie man zum Übergangsbericht kommt, wie man ihn versteht und wie man ihn nutzt.",
"AvailableInOtherReports": "Schon gewusst? Übergänge sind auch als Zeilenaktionen in folgenden Berichten verfügbar:",
"AvailableInOtherReports2": "Fahren Sie einfach über eine Zeile einer dieser Berichte und klicken Sie auf das Übergangsicon %s um ihn aufzurufen.",
"FromCampaigns": "Von Kampagnen",
"FromPreviousPages": "Von internen Seiten",
"FromPreviousPagesInline": "%s von internen Seiten",
"FromPreviousSiteSearches": "Von der internen Suche",
"FromPreviousSiteSearchesInline": "%s von internen Suchen",
"FromSearchEngines": "Von Suchmaschinen",
"FromSocialNetworks": "Aus sozialen Netzwerken",
"FromWebsites": "Von Websites",
"IncomingTraffic": "Eingehender Traffic",
"LoopsInline": "%s Seite erneut geladen",
"NoDataForAction": "Es sind keine Daten für %s verfügbar",
"NoDataForActionDetails": "Entweder hatte diese Aktion während des Zeitraums %s keine Seitenansichten oder sie ist ungültig.",
"OutgoingTraffic": "Ausgehender Traffic",
"PluginDescription": "Berichte über vergangene und zukünftige Aktionen für jede Seiten-URL in einem neuen Transitions-Bericht, aufrufbar im Aktionen-Bericht über ein neues Icon.",
"ShareOfAllPageviews": "Diese Seite wurde %1$s mal angesehen (%2$s aller Seitenansichten)",
"ToFollowingPages": "Zu internen Seiten",
"ToFollowingPagesInline": "%s zu internen Seiten",
"ToFollowingSiteSearches": "Interne Suchen",
"ToFollowingSiteSearchesInline": "%s interne Suchen",
"XOfAllPageviews": "%s von allen Seitenansichten",
"XOutOfYVisits": "%1$s (von insgesamt %2$s)",
"PageURLTransitions": "Seiten URL Übergänge"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s αναπηδήσεις",
"DirectEntries": "Άμεσες Εισαγωγές",
"Transitions": "Μεταβάσεις",
"ErrorBack": "Μετάβαση στην προηγούμενη ενέργεια",
"ExitsInline": "%s έξοδοι",
"NumPageviews": "%s προβολές σελίδων",
"NumDownloads": "%s λήψεις",
"NumOutlinks": "%s σύνδεσμοι προς εξωτερικό",
"TopX": "Οι κορυφαίες %s ετικέτες",
"FeatureDescription": "Οι μεταβάσεις σας παρέχουν μια αναφορά που εμφανίζει τι έκαναν οι επισκέπτες σας αμέσως πριν και μετά που είδαν μια συγκεκριμένη σελίδα. Η σελίδα αυτή θα εξηγήσει πως μπορείτε να προσπελάσετε, καταλάβετε και να χρησιμοποιήσετε την ισχυρή αναφορά Μεταβάσεων.",
"AvailableInOtherReports": "Το γνωρίζετε; Οι μεταβάσεις είναι πλέον διαθέσιμες ως ενέργεια γραμμής στις παρακάτω αναφορές:",
"AvailableInOtherReports2": "Απλά μεταβείτε με το ποντίκι πάνω από μία γραμμή στις αναφορές αυτές και κάντε κλικ στο εικονίδιο μετάβασης %s για να τις εμφανίσετε.",
"FromCampaigns": "Από Εκστρατείες",
"FromPreviousPages": "Από Εσωτερικές Σελίδες",
"FromPreviousPagesInline": "%s από εσωτερικές σελίδες",
"FromPreviousSiteSearches": "Από Εσωτερική Αναζήτηση",
"FromPreviousSiteSearchesInline": "%s από εσωτερικές αναζητήσεις",
"FromSearchEngines": "Από Μηχανές Αναζήτησης",
"FromSocialNetworks": "Από Κοινωνικά Δίκτυα",
"FromWebsites": "Από Ιστοσελίδες",
"IncomingTraffic": "Εισερχόμενη κίνηση",
"LoopsInline": "%s ανανεώσεις σελίδας",
"NoDataForAction": "Δεν υπάρχουν δεδομένα για %s",
"NoDataForActionDetails": "Είτε η ενέργεια δεν είχε προβολές σελίδας (pageviews) κατά τη διάρκεια της περιόδου %s ή δεν είναι έγκυρη.",
"OutgoingTraffic": "Εξερχόμενη κίνηση",
"PluginDescription": "Αναφέρει προηγούμενες και επόμενες ενέργειες για κάθε σελίδα στην αναφορά για νέες Μεταβάσεις, διαθέσιμη στις αναφορές Ενεργειών από ένα νέο εικονίδιο.",
"ShareOfAllPageviews": "Η σελίδα είχε %1$s αναγνώσεις (%2$s από όλες τις αναγνώσεις σελίδων)",
"ToFollowingPages": "Προς Εσωτερικές Σελίδες",
"ToFollowingPagesInline": "%s προς εσωτερικές σελίδες",
"ToFollowingSiteSearches": "Εσωτερικές Αναζητήσεις",
"ToFollowingSiteSearchesInline": "%s εσωτερικές αναζητήσεις",
"XOfAllPageviews": "%s από όλες τις προβολές αυτής της σελίδας",
"XOutOfYVisits": "%1$s (από %2$s)",
"PageURLTransitions": "Διευθύνσεις URL μεταβάσεων σελίδων"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s bounces",
"DirectEntries": "Direct Entries",
"Transitions": "Transitions",
"ErrorBack": "Go back to the previous action",
"ExitsInline": "%s exits",
"NumPageviews": "%s pageviews",
"NumDownloads": "%s downloads",
"NumOutlinks": "%s outlinks",
"TopX": "Top %s labels",
"FeatureDescription": "Transitions gives you a report that shows the things your visitors did directly before and after viewing a certain page. This page will explain how to access, understand, and use the powerful Transitions report.",
"AvailableInOtherReports": "Did you know? Transitions are also available as a row action in the following reports:",
"AvailableInOtherReports2": "Simply hover a row in any of these reports and click on the transition icon %s to launch it.",
"FromCampaigns": "From Campaigns",
"FromPreviousPages": "From Internal Pages",
"FromPreviousPagesInline": "%s from internal pages",
"FromPreviousSiteSearches": "From Internal Search",
"FromPreviousSiteSearchesInline": "%s from internal searches",
"FromSearchEngines": "From Search Engines",
"FromSocialNetworks": "From Social Networks",
"FromWebsites": "From Websites",
"IncomingTraffic": "Incoming traffic",
"LoopsInline": "%s page reloads",
"NoDataForAction": "There's no data for %s",
"NoDataForActionDetails": "Either the action had no pageviews during the period %s or it is invalid.",
"OutgoingTraffic": "Outgoing traffic",
"PluginDescription": "Reports previous and following actions for each page URL in a new Transitions report, available in the Actions reports via a new icon.",
"ShareOfAllPageviews": "This page had %1$s pageviews (%2$s of all pageviews)",
"ToFollowingPages": "To Internal Pages",
"ToFollowingPagesInline": "%s to internal pages",
"ToFollowingSiteSearches": "Internal Searches",
"ToFollowingSiteSearchesInline": "%s internal searches",
"XOfAllPageviews": "%s of all views of this page",
"XOutOfYVisits": "%1$s (out of %2$s)",
"PageURLTransitions": "Page URL Transitions"
}
}

View File

@ -0,0 +1,27 @@
{
"Transitions": {
"BouncesInline": "%s rebotes",
"DirectEntries": "Ingresos directos",
"ErrorBack": "Regrese a la acción anterior",
"ExitsInline": "%s salidas",
"FromCampaigns": "Desde campañas",
"FromPreviousPages": "Desde páginas internas",
"FromPreviousPagesInline": "%s desde páginas internas",
"FromPreviousSiteSearches": "Desde búsquedas internas",
"FromPreviousSiteSearchesInline": "%s desde búsquedas internas",
"FromSearchEngines": "Desde motores de búsqueda",
"FromWebsites": "Desde sitios de internet",
"IncomingTraffic": "Tráfico entrante",
"LoopsInline": "%s recargas de página",
"NoDataForAction": "No hay información para %s",
"NoDataForActionDetails": "O la acción no tuvo vistas de páginas durante el período %s o es inválida.",
"OutgoingTraffic": "Tráfico saliente",
"ShareOfAllPageviews": "Esta página tuvo %1$s vistas de página (%2$s de todas las vistas de páginas)",
"ToFollowingPages": "A páginas internas",
"ToFollowingPagesInline": "%s a páginas internas",
"ToFollowingSiteSearches": "Búsquedas internas",
"ToFollowingSiteSearchesInline": "%s búsquedas internas",
"XOfAllPageviews": "%s de todas las vistas de esta página",
"XOutOfYVisits": "%1$s (de %2$s)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s rebotes",
"DirectEntries": "Ingresos directos",
"Transitions": "Transiciones",
"ErrorBack": "Regresar a la acción anterior",
"ExitsInline": "%s salidas",
"NumPageviews": "%s páginas visitadas",
"NumDownloads": "%s descargas",
"NumOutlinks": "%s enlaces salientes",
"TopX": "Etiquetas %s superiores",
"FeatureDescription": "Transiciones le brinda un informe que muestra lo que hicieron directamente sus visitantes antes y después de ver una página determinada. Esta página le explicará cómo acceder, comprender y usar el poderoso informe Transiciones.",
"AvailableInOtherReports": "¿Sabías? Las transiciones también están disponibles como una acción de fila en los siguientes informes:",
"AvailableInOtherReports2": "Simplemente desplace una fila en cualquiera de estos informes y haga clic en el icono de transición %s para iniciarlo.",
"FromCampaigns": "Desde campañas",
"FromPreviousPages": "Desde páginas internas",
"FromPreviousPagesInline": "%s desde páginas internas",
"FromPreviousSiteSearches": "Desde búsquedas internas",
"FromPreviousSiteSearchesInline": "%s desde búsquedas internas",
"FromSearchEngines": "Desde motores de búsqueda",
"FromSocialNetworks": "Desde las Redes sociales",
"FromWebsites": "Desde sitios de internet",
"IncomingTraffic": "Tráfico entrante",
"LoopsInline": "%s recargas de página",
"NoDataForAction": "No hay información para %s",
"NoDataForActionDetails": "O la acción no tuvo vistas de páginas durante el período %s o es inválida.",
"OutgoingTraffic": "Tráfico saliente",
"PluginDescription": "Anteriores informes y las siguientes acciones para cada URL de página en un nuevo informe Transiciones, disponible en los informes Acciones vía un nuevo ícono.",
"ShareOfAllPageviews": "Esta página tuvo %1$s vistas de página (%2$s de todas las vistas de páginas)",
"ToFollowingPages": "A páginas internas",
"ToFollowingPagesInline": "%s a páginas internas",
"ToFollowingSiteSearches": "Búsquedas internas",
"ToFollowingSiteSearchesInline": "%s búsquedas internas",
"XOfAllPageviews": "%s de todas las vistas de esta página",
"XOutOfYVisits": "%1$s (de %2$s)",
"PageURLTransitions": "URL de la página Transiciones"
}
}

View File

@ -0,0 +1,26 @@
{
"Transitions": {
"BouncesInline": "%s põrget",
"DirectEntries": "Otse sisenemisi",
"ErrorBack": "Mine tagasi eelmisele tegevusele",
"ExitsInline": "%s väljumist",
"FromCampaigns": "Tuldud kampaaniad",
"FromPreviousPages": "Tuldud sisemised lehed",
"FromPreviousPagesInline": "%s tuli sisemistelt lehtedelt",
"FromPreviousSiteSearches": "Tuldud sisemised otsingud",
"FromPreviousSiteSearchesInline": "%s tuli sisemisest otsingust",
"FromSearchEngines": "Tuldud otsingumootorid",
"FromWebsites": "Tuldud veebilehed",
"IncomingTraffic": "Sisenev liiklus",
"LoopsInline": "%s lehe korduvat laadimist",
"NoDataForAction": "Tegevuse %s kohta puuduvad andmed",
"OutgoingTraffic": "Väljuv liiklus",
"ShareOfAllPageviews": "See leht sai %1$s vaatamist (%2$s kõigist vaatamistest)",
"ToFollowingPages": "Sisemistele lehtedele",
"ToFollowingPagesInline": "%s läks sisemistele lehtedele",
"ToFollowingSiteSearches": "Sisemised otsingud",
"ToFollowingSiteSearchesInline": "%s sisemist otsingut",
"XOfAllPageviews": "%s kõigist antud lehe vaatamistest",
"XOutOfYVisits": "%1$s (%2$s kõigist)"
}
}

View File

@ -0,0 +1,26 @@
{
"Transitions": {
"BouncesInline": "%s پس زده",
"DirectEntries": "ورودی های مستقیم",
"ErrorBack": "به فعالیت قبلی برگرد",
"ExitsInline": "%s خروج",
"FromCampaigns": "از کمپین",
"FromPreviousPages": "از صفحه های داخلی",
"FromPreviousPagesInline": "%s از صفحه های داخلی",
"FromPreviousSiteSearches": "از جستجوی داخلی",
"FromPreviousSiteSearchesInline": "%s از جستجوهای داخلی",
"FromSearchEngines": "از موتورهای جستجو",
"FromWebsites": "از وبسایت ها",
"IncomingTraffic": "ترافیک ورودی",
"LoopsInline": "%s بارگذاری مجدد صفحه",
"NoDataForAction": "هیچ داده ای وجود ندارد برای %s",
"OutgoingTraffic": "ترافیک خروجی",
"ShareOfAllPageviews": "این صفحه %1$s بازدیدازصفحه دارد(%2$s از تمام بازدیدازصفحه ها)",
"ToFollowingPages": "به صفحه های داخلی",
"ToFollowingPagesInline": "%s به صفحه های داخلی",
"ToFollowingSiteSearches": "جستجوهای داخلی",
"ToFollowingSiteSearchesInline": "%s جستجوهای داخلی",
"XOfAllPageviews": "%s از همه ی بازدیدهای این صفحه",
"XOutOfYVisits": "%1$s (از %2$s)"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s käväisyä",
"DirectEntries": "Suorat merkinnät",
"ErrorBack": "Palaa takaisin edelliseen toimintoon",
"ExitsInline": "%s poistumista",
"NumPageviews": "%s sivunavausta",
"NumDownloads": "%s tiedoston latausta",
"NumOutlinks": "%s lähtevää linkki",
"FromCampaigns": "Kampanjoista",
"FromPreviousPages": "Sisäisiltä sivuilta",
"FromPreviousPagesInline": "%s sisäisiltä sivuilta",
"FromPreviousSiteSearches": "Sisäisestä hausta",
"FromPreviousSiteSearchesInline": "%s sisäisestä hausta",
"FromSearchEngines": "Hakukoneista",
"FromWebsites": "Verkkosivuilta",
"IncomingTraffic": "Sisääntuleva liikenne",
"LoopsInline": "%s sivujen uudelleenlatauksia",
"NoDataForAction": "%s:lle ei ole tietoja",
"NoDataForActionDetails": "Joko toiminnolle ei ole tietoja aikavälille %s tai toiminto on virheellinen.",
"OutgoingTraffic": "Lähtevä liikenne",
"PluginDescription": "Raportoi edellisen ja seuraavat toiminnot jokaiselle sivulle. Saatavilla \"Toiminnot\"-raportissa uuden ikonin takaa.",
"ShareOfAllPageviews": "Tällä sivulla on %1$s sivunavausta (%2$s kaikista)",
"ToFollowingPages": "Sisäisille sivuille",
"ToFollowingPagesInline": "%s sisäisille sivuille",
"ToFollowingSiteSearches": "Sisäisiä hakuja",
"ToFollowingSiteSearchesInline": "%s sisäistä hakua",
"XOfAllPageviews": "%s kaikista tämän sivun katseluista",
"XOutOfYVisits": "%1$s (%2$s:stä)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s rebonds",
"DirectEntries": "Entrées directes",
"Transitions": "Transitions",
"ErrorBack": "Retour à l'action précédente",
"ExitsInline": "%s sorties",
"NumPageviews": "%s pages vues",
"NumDownloads": "%s téléchargements",
"NumOutlinks": "%s liens sortant",
"TopX": "Top %s des étiquettes",
"FeatureDescription": "Transitions vous donne un rapport qui montre ce que vos visiteurs ont fait directement avant et après avoir vu une certaine page. Cette page explique comment accéder, comprendre et utiliser la puissance du rapport Transitions.",
"AvailableInOtherReports": "Le saviez-vous ? Les transitions sont également disponibles sous forme d'action en ligne dans les rapports suivants :",
"AvailableInOtherReports2": "Il suffit de survoler une ligne dans l'un de ces rapports et de cliquer sur l'icône de transition %s pour le lancer.",
"FromCampaigns": "Depuis les campagnes",
"FromPreviousPages": "Depuis des pages internes",
"FromPreviousPagesInline": "%s depuis des pages internes",
"FromPreviousSiteSearches": "Depuis des recherches internes",
"FromPreviousSiteSearchesInline": "%s depuis des recherches internes",
"FromSearchEngines": "Depuis des moteurs de recherche",
"FromSocialNetworks": "De Réseaux Sociaux",
"FromWebsites": "Depuis des sites web",
"IncomingTraffic": "Trafic entrant",
"LoopsInline": "%s rechargements de pages",
"NoDataForAction": "Il n'y a aucune données pour %s",
"NoDataForActionDetails": "L'action n'a eu aucune visite de page durant la période %s ou bien elle est invalide.",
"OutgoingTraffic": "Trafic sortant",
"PluginDescription": "Rapporte les actions précédentes et suivantes pour chacune des URL's de page dans un nouveau rapport de Transitions, disponible depuis le rapports des Actions via un nouvel icône.",
"ShareOfAllPageviews": "Cette page a eu %1$s affichages (%2$s de tous les affichages)",
"ToFollowingPages": "Vers des pages internes",
"ToFollowingPagesInline": "%s vers des pages internes",
"ToFollowingSiteSearches": "Recherches internes",
"ToFollowingSiteSearchesInline": "%s recherches internes",
"XOfAllPageviews": "%s de toutes les pages vues",
"XOutOfYVisits": "%1$s (de %2$s)",
"PageURLTransitions": "Transitions d'URL de page"
}
}

View File

@ -0,0 +1,27 @@
{
"Transitions": {
"BouncesInline": "%s उछाल",
"DirectEntries": "सीधी प्रविष्टियां",
"ErrorBack": "पिछली कार्रवाई के लिए वापस जाओ",
"ExitsInline": "%s बाहर निकलता है",
"FromCampaigns": "अभियान से",
"FromPreviousPages": "आंतरिक पृष्ठों से",
"FromPreviousPagesInline": "%s आंतरिक पृष्ठों से",
"FromPreviousSiteSearches": "आंतरिक खोज से",
"FromPreviousSiteSearchesInline": "%s आंतरिक खोजों से",
"FromSearchEngines": "खोज इंजन से",
"FromWebsites": "वेबसाइटों से",
"IncomingTraffic": "आने वाले यातायात",
"LoopsInline": "पृष्ठ पुनः लोड %s",
"NoDataForAction": "%s के लिए कोई डेटा नहीं है",
"NoDataForActionDetails": "या तो कार्रवाई की अवधि %s के दौरान कोई पेज देखा गया था या यह अवैध है.",
"OutgoingTraffic": "निवर्तमान यातायात",
"ShareOfAllPageviews": "यह पृष्ठ का %1$s पृष्ठ दृश्य (सभी पृष्ठ दृश्य का %2$s)किया था",
"ToFollowingPages": "आंतरिक पृष्ठ",
"ToFollowingPagesInline": "%s आंतरिक पृष्ठ",
"ToFollowingSiteSearches": "आंतरिक खोजें",
"ToFollowingSiteSearchesInline": "%s आंतरिक खोजें",
"XOfAllPageviews": "इस पृष्ठ के सभी दृश्यों का %s",
"XOutOfYVisits": "%1$s (बाहर %2$s)"
}
}

View File

@ -0,0 +1,28 @@
{
"Transitions": {
"BouncesInline": "%s pentalan",
"DirectEntries": "Masukan Langsung",
"ErrorBack": "Kembali ke aksi sebelumnya",
"ExitsInline": "%s keluar",
"NumDownloads": "%s unduhan",
"FromCampaigns": "Dari Kampanye",
"FromPreviousPages": "Dari Halaman Dalam",
"FromPreviousPagesInline": "%s dari halaman dalam",
"FromPreviousSiteSearches": "Dari Pencarian Dalam",
"FromPreviousSiteSearchesInline": "%s dari pencarian dalam",
"FromSearchEngines": "Dari Mesin Pencari",
"FromWebsites": "Dari Situs",
"IncomingTraffic": "Lalu lintas masuk",
"LoopsInline": "%s halam dimuat ulang",
"NoDataForAction": "Tidak tersedia data untuk %s",
"NoDataForActionDetails": "Tidak ada tindakan memiliki tampilan halaman selama periode %s atau ini tidak sahih.",
"OutgoingTraffic": "Lalu lintas keluar",
"ShareOfAllPageviews": "Halaman ini memiliki %1$s tampilan halaman (%2$s dari semua tampilan halaman)",
"ToFollowingPages": "Menuju Halaman Dalam",
"ToFollowingPagesInline": "%s menuju halaman dalam",
"ToFollowingSiteSearches": "Pencarian Dalam",
"ToFollowingSiteSearchesInline": "%s pencarian dalam",
"XOfAllPageviews": "%s dari selruh tanpilan dari halaman ini",
"XOutOfYVisits": "%1$s (di luar dari %2$s)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s rimbalzi",
"DirectEntries": "Accessi Diretti",
"Transitions": "Transizioni",
"ErrorBack": "Torna all'azione precedente",
"ExitsInline": "%s uscite",
"NumPageviews": "%s pagine viste",
"NumDownloads": "%s download",
"NumOutlinks": "%s outlinks",
"TopX": "Principali %s etichette",
"FeatureDescription": "Transizioni ti fornisce un report che mostra le cose che i tuoi visitatori hanno fatto direttamente prima e dopo aver visualizzato una determinata pagina. Questa pagina spiega come accedere, comprendere e utilizzare il potente report Transizioni.",
"AvailableInOtherReports": "Lo sapevi? Le transizioni sono disponibili anche come azione di riga nei report seguenti:",
"AvailableInOtherReports2": "È sufficiente passare il mouse su uno di questi report e cliccare sull'icona transizioni %s per avviarlo.",
"FromCampaigns": "Da Campagne",
"FromPreviousPages": "Da Pagine Interne",
"FromPreviousPagesInline": "%s da pagine interne",
"FromPreviousSiteSearches": "Da Ricerca Interna",
"FromPreviousSiteSearchesInline": "%s da ricerche interne",
"FromSearchEngines": "Da Motori di Ricerca",
"FromSocialNetworks": "Dai Social Networks",
"FromWebsites": "Da siti web",
"IncomingTraffic": "Traffico entrante",
"LoopsInline": "%s pagine ricaricate",
"NoDataForAction": "Non ci sono dati per %s",
"NoDataForActionDetails": "O l'azione non ha avuto pagine viste durante il periodo di %s o non è valida.",
"OutgoingTraffic": "Traffico uscente",
"PluginDescription": "Restituisce le azioni precedenti e seguenti per ciascun URL di pagina in un nuovo report Transizioni, disponibile tra i report Azioni con una nuova icona.",
"ShareOfAllPageviews": "Questa pagina ha avuto %1$s visualizzazioni (%2$s di tutte le visualizzazioni)",
"ToFollowingPages": "A Pagine Interne",
"ToFollowingPagesInline": "%s a pagine interne",
"ToFollowingSiteSearches": "Ricerche Interne",
"ToFollowingSiteSearchesInline": "%s ricerche interne",
"XOfAllPageviews": "%s di tutte le visualizzazioni di questa pagina",
"XOutOfYVisits": "%1$s (su %2$s)",
"PageURLTransitions": "Transizioni URL di pagina"
}
}

View File

@ -0,0 +1,34 @@
{
"Transitions": {
"BouncesInline": "%s のバウンス",
"DirectEntries": "直接エントリー",
"Transitions": "トランジション",
"ErrorBack": "前の操作に戻る",
"ExitsInline": "%s 終了",
"NumPageviews": "%s ページビュー",
"NumDownloads": "%s ダウンロード",
"NumOutlinks": "%s アウトリンク",
"FromCampaigns": "キャンペーンから",
"FromPreviousPages": "内部ページから",
"FromPreviousPagesInline": "内部ページからの %s",
"FromPreviousSiteSearches": "内部検索から",
"FromPreviousSiteSearchesInline": "内部検索からの %s",
"FromSearchEngines": "検索エンジンから",
"FromSocialNetworks": "ソーシャルネットワークから",
"FromWebsites": "ウェブサイトから",
"IncomingTraffic": "受信トラフィック",
"LoopsInline": "%s ページリロード",
"NoDataForAction": "%s に対するデータはありません。",
"NoDataForActionDetails": "アクションが %s の期間ページビューが無かったか、無効です。",
"OutgoingTraffic": "送信トラフィック",
"PluginDescription": "新しいアイコンを通して アクションレポートで利用可能な、新しい翻訳レポートのそれぞれのページ URL に対する遷移をレポートします。",
"ShareOfAllPageviews": "このページは、%1$s ページビューでした ( 全ページビューの %2$s )",
"ToFollowingPages": "内部ページへ",
"ToFollowingPagesInline": "内部ページへの %s",
"ToFollowingSiteSearches": "内部検索",
"ToFollowingSiteSearchesInline": "%s 内部検索",
"XOfAllPageviews": "このページの全ビューの %s",
"XOutOfYVisits": "(%2$s の内の ) %1$s",
"PageURLTransitions": "ページURLのトランジション"
}
}

View File

@ -0,0 +1,28 @@
{
"Transitions": {
"BouncesInline": "%s 반송",
"DirectEntries": "직접 항목",
"ErrorBack": "이전 동작으로 돌아가기",
"ExitsInline": "%s 이탈",
"FromCampaigns": "캠페인에서",
"FromPreviousPages": "내부 페이지에서",
"FromPreviousPagesInline": "%s 내부 페이지에서",
"FromPreviousSiteSearches": "내부 검색에서",
"FromPreviousSiteSearchesInline": "%s 내부 검색에서",
"FromSearchEngines": "검색 엔진에서",
"FromWebsites": "웹사이트에서",
"IncomingTraffic": "들어오는 트래픽",
"LoopsInline": "%s 페이지 새로고침",
"NoDataForAction": "%s 데이터 없음",
"NoDataForActionDetails": "특정 동작은 %s을 하는 기간 동안 페이지뷰가 일어나지 않거나 유효하지 않습니다.",
"OutgoingTraffic": "나가는 트래픽",
"PluginDescription": "새로운 변화에 대한 보고서 내 각 페이지 URL에 대한 이전 및 다음의 보고서는 새 아이콘을 통한 동작 보고서에서 확인할 수 있습니다.",
"ShareOfAllPageviews": "이 페이지의 페이지뷰 %1$s (전체 페이지뷰 수 %2$s)",
"ToFollowingPages": "내부 페이지로",
"ToFollowingPagesInline": "%s 내부 페이지",
"ToFollowingSiteSearches": "내부 검색",
"ToFollowingSiteSearchesInline": "%s 내부 검색",
"XOfAllPageviews": "이 페이지의 모든 보기 중 %s",
"XOutOfYVisits": "%1$s (%2$s 나감)"
}
}

View File

@ -0,0 +1,6 @@
{
"Transitions": {
"FromPreviousSiteSearches": "Iš vidinės paieškos",
"ToFollowingSiteSearches": "Vidinės paieškos"
}
}

View File

@ -0,0 +1,30 @@
{
"Transitions": {
"BouncesInline": "%s sprett",
"DirectEntries": "Direkte treff",
"ErrorBack": "Gå tilbake til forrige handling",
"ExitsInline": "%s utganger",
"NumPageviews": "%s sidevisninger",
"NumDownloads": "%s nedlastinger",
"FromCampaigns": "Fra kampanjer",
"FromPreviousPages": "Fra interne sider",
"FromPreviousPagesInline": "%s fra interne sider",
"FromPreviousSiteSearches": "Fra interne søk",
"FromPreviousSiteSearchesInline": "%s fra interne søk",
"FromSearchEngines": "Fra søkemotorer",
"FromWebsites": "Fra nettsider",
"IncomingTraffic": "Innkommende trafikk",
"LoopsInline": "%s innlastinger av side på nytt",
"NoDataForAction": "Det finnes ingen data for %s",
"NoDataForActionDetails": "Enten har handlingen ingen sidevisninger i perioden %s eller så er den ugyldig.",
"OutgoingTraffic": "Utgående trafikk",
"PluginDescription": "Rapporterer forrige og neste handlinger for hver URL i en ny Overganger-rapport, tilgjengelig i Handlinger-rapporten og via et nytt ikon.",
"ShareOfAllPageviews": "Denne siden hadde %1$s sidevisninger (%2$s av alle sidevisninger)",
"ToFollowingPages": "Til interne sider",
"ToFollowingPagesInline": "%s til interne sider",
"ToFollowingSiteSearches": "Interne søk",
"ToFollowingSiteSearchesInline": "%s interne søk",
"XOfAllPageviews": "%s av alle besøk på denne siden",
"XOutOfYVisits": "%1$s (av %2$s)"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s bounces",
"DirectEntries": "Directe Bezoeken",
"ErrorBack": "Ga terug naar de vorige actie",
"ExitsInline": "%s Einde Bezoek",
"NumPageviews": "%s pageviews",
"NumDownloads": "%s downloads",
"NumOutlinks": "%s outlinks",
"FromCampaigns": "Van campagnes",
"FromPreviousPages": "Van interne pagina's",
"FromPreviousPagesInline": "%s van interne pagina's",
"FromPreviousSiteSearches": "Van Interne Zoekopdracht",
"FromPreviousSiteSearchesInline": "%s van interne zoekopdrachten",
"FromSearchEngines": "Van Zoekmachines",
"FromWebsites": "Van Websites",
"IncomingTraffic": "Inkomend verkeer",
"LoopsInline": "%s pagina herladen",
"NoDataForAction": "Er zijn geen gegevens voor %s",
"NoDataForActionDetails": "Deze actie had geen paginaweergaves gedurende de periode %s, of is ongeldig.",
"OutgoingTraffic": "Uitgaand verkeer",
"PluginDescription": "Voor elke pagina URL in het Transities rapport zijn de voorgaande en volgende acties beschikbaar in de Acties rapportage met een nieuw icoontje.",
"ShareOfAllPageviews": "Deze pagina had %1$s paginaweergaves (%2$s van alle paginaweergaves)",
"ToFollowingPages": "Naar interne pagina's",
"ToFollowingPagesInline": "%s naar interne pagina's",
"ToFollowingSiteSearches": "Interne zoekopdrachten",
"ToFollowingSiteSearchesInline": "%s interne zoekopdrachten",
"XOfAllPageviews": "%s van alle weergaves van deze pagina",
"XOutOfYVisits": "%1$s (van de %2$s)"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s porzucenia",
"DirectEntries": "Wejścia Bezpośrednie",
"ErrorBack": "Cofnij do poprzedniej akcji",
"ExitsInline": "%s wyjścia",
"NumPageviews": "%s wyświetleń strony",
"NumDownloads": "%s pobrania",
"NumOutlinks": "%s linków zewnętrznych",
"FromCampaigns": "Z Kampanii",
"FromPreviousPages": "Ze stron serwisu",
"FromPreviousPagesInline": "%s stron serwisu",
"FromPreviousSiteSearches": "Z wyszukiwarki serwisu",
"FromPreviousSiteSearchesInline": "%s z wyszukiwarki serwisu",
"FromSearchEngines": "Z wyszukiwarek",
"FromWebsites": "Z serwisów",
"IncomingTraffic": "Ruch przychodzący",
"LoopsInline": "%s odświeżeń strony",
"NoDataForAction": "Brak danych dla %s",
"NoDataForActionDetails": "Akcja nie powodowała wyświetleń strony w czasie %s lub jest błędna.",
"OutgoingTraffic": "Ruch wychodzący",
"PluginDescription": "Prezentuje poprzednie i następne akcje dla każdej strony w raporcie Transitions, dostępne w raporcie Akcji poprzez nową ikonę.",
"ShareOfAllPageviews": "Wybrana strona miała %1$s wyświetleń (%2$s wszystkich wyświetleń)",
"ToFollowingPages": "Do stron serwisu",
"ToFollowingPagesInline": "%s stron serwisu",
"ToFollowingSiteSearches": "Wewnętrzne Wyszukiwania",
"ToFollowingSiteSearchesInline": "%s wewnętrznych wyszukiwań",
"XOfAllPageviews": "%s wszystkich wyświetleń tej strony",
"XOutOfYVisits": "%1$s (z %2$s)"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s rejeições",
"DirectEntries": "Entradas diretas",
"ErrorBack": "Voltar para a ação anterior",
"ExitsInline": "%s saídas",
"NumPageviews": "%s exibições de página",
"NumDownloads": "%s baixados",
"NumOutlinks": "%s links externos",
"FromCampaigns": "De campanhas",
"FromPreviousPages": "De Páginas internas",
"FromPreviousPagesInline": "%s de páginas internas",
"FromPreviousSiteSearches": "de pesquisas internas",
"FromPreviousSiteSearchesInline": "%s de pesquisas internas",
"FromSearchEngines": "Dos motores de busca",
"FromWebsites": "de Websites",
"IncomingTraffic": "Tráfego de entrada",
"LoopsInline": "%s atualizações de página",
"NoDataForAction": "Não há dados para %s",
"NoDataForActionDetails": "Ou a ação não tinha visualizações de página durante o período de %s ou é inválido.",
"OutgoingTraffic": "O tráfego de saída",
"PluginDescription": "Informa ações anteriores e seguintes para cada URL da página em um novo relatório de Transições, disponível nos relatórios de Ações através de um novo ícone.",
"ShareOfAllPageviews": "Esta página teve %1$s exibições (%2$s de todos as exibições)",
"ToFollowingPages": "Para páginas internas",
"ToFollowingPagesInline": "%s para páginas internas",
"ToFollowingSiteSearches": "Pesquisas internas",
"ToFollowingSiteSearchesInline": "%s pesquisas internas",
"XOfAllPageviews": "%s de todas as visualizações desta página",
"XOutOfYVisits": "%1$s (fora de %2$s)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s ressaltos",
"DirectEntries": "Entradas diretas",
"Transitions": "Transições",
"ErrorBack": "Voltar à ação anterior",
"ExitsInline": "%s saídas",
"NumPageviews": "%s visualizações de páginas",
"NumDownloads": "%s transferências",
"NumOutlinks": "%s ligações de saída",
"TopX": "%s principais etiquetas",
"FeatureDescription": "As Transições fornecem-lhe um relatório que mostra as coisas que os seus visitantes fizeram diretamente antes e depois de ver uma determinada página. Esta página irá explicar como aceder, compreender e utilizar o poderoso relatório das Transições.",
"AvailableInOtherReports": "Sabia que? As transições também estão disponíveis como uma ação de linha nos seguintes relatórios:",
"AvailableInOtherReports2": "Simplesmente desloque o rato sob uma linha em qualquer um destes relatórios e clique no ícone de transição %s para a mostrar.",
"FromCampaigns": "De campanhas",
"FromPreviousPages": "De páginas internas",
"FromPreviousPagesInline": "%s de páginas internas",
"FromPreviousSiteSearches": "Da pesquisa interna",
"FromPreviousSiteSearchesInline": "%s de pesquisas internas",
"FromSearchEngines": "De motores de pesquisa",
"FromSocialNetworks": "A partir de redes sociais",
"FromWebsites": "De sites",
"IncomingTraffic": "Tráfego de entrada",
"LoopsInline": "%s recarregamentos de páginas",
"NoDataForAction": "Não existem dados para %s",
"NoDataForActionDetails": "A ação não teve visualizações de páginas durante o período %s ou é inválido.",
"OutgoingTraffic": "Tráfego de saída",
"PluginDescription": "Documenta as ações anteriores e seguintes para cada endereço de página no novo relatório de Transições, disponível nos relatórios de Ações através de um novo ícone.",
"ShareOfAllPageviews": "Esta página teve %1$s visualizações (de todas as %2$s visualizações)",
"ToFollowingPages": "Para páginas internas",
"ToFollowingPagesInline": "%s para páginas internas",
"ToFollowingSiteSearches": "Pesquisas internas",
"ToFollowingSiteSearchesInline": "%s pesquisas internas",
"XOfAllPageviews": "%s de todas as visualizações desta página",
"XOutOfYVisits": "%1$s (de %2$s)",
"PageURLTransitions": "Endereços de páginas de transição"
}
}

View File

@ -0,0 +1,27 @@
{
"Transitions": {
"BouncesInline": "%s salturi",
"DirectEntries": "Intrari directe",
"ErrorBack": "Du-te înapoi la acțiunea anterioară",
"ExitsInline": "%s există",
"FromCampaigns": "Din campanii",
"FromPreviousPages": "De la pagini interne",
"FromPreviousPagesInline": "%s de la paginile interne",
"FromPreviousSiteSearches": "De la cautare interna",
"FromPreviousSiteSearchesInline": "%s de la cautarile interne",
"FromSearchEngines": "De la motoarele de căutare",
"FromWebsites": "De pe website-uri",
"IncomingTraffic": "Traficul de intrare",
"LoopsInline": "%s reincarcare pagina",
"NoDataForAction": "Nu este nici o data pentru %s",
"NoDataForActionDetails": "Fie acțiunea nu a avut nici o afișări de pagină în timpul perioadei%s sau este invalida.",
"OutgoingTraffic": "traficul de ieșire",
"ShareOfAllPageviews": "Această pagină a avut vizualizări de %1$s pagini (%2$s din toate vizualizări de pagini)",
"ToFollowingPages": "Catre paginile interne",
"ToFollowingPagesInline": "%s la pagini interne",
"ToFollowingSiteSearches": "Cautari interne",
"ToFollowingSiteSearchesInline": "%s căutări interne",
"XOfAllPageviews": "%s toate vizualizarile de pe aceasta pagina",
"XOutOfYVisits": "%1$s (din %2$s)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s отскоков (отказов)",
"DirectEntries": "Прямых входов",
"Transitions": "Переходы",
"ErrorBack": "Верниться к предыдущему действию",
"ExitsInline": "%s уходов с сайта",
"NumPageviews": "%s просмотров страниц",
"NumDownloads": "%s загрузок",
"NumOutlinks": "%s исходящих ссылок",
"TopX": "Топ %s меток",
"FeatureDescription": "Переходы предоставляют вам отчёт, который показывает, что ваши посетители делали непосредственно до и после просмотра определенной страницы. На этой странице объясняется, как получить доступ, понять и использовать мощный отчёт о переходах.",
"AvailableInOtherReports": "Вы знали? Переходы также доступны как действие строки в следующих отчётах:",
"AvailableInOtherReports2": "Просто наведите указатель на строку в любом из этих отчётов и щелкните значок перехода %s, чтобы запустить его.",
"FromCampaigns": "Из кампаний",
"FromPreviousPages": "С внутренних страниц",
"FromPreviousPagesInline": "%s с внутренних страниц",
"FromPreviousSiteSearches": "С внутреннего поиска по сайту",
"FromPreviousSiteSearchesInline": "%s с внутреннего поиска по сайту",
"FromSearchEngines": "Из поисковых систем",
"FromSocialNetworks": "Из социальных сетей",
"FromWebsites": "С сайтов",
"IncomingTraffic": "Входящий трафик",
"LoopsInline": "%s обновлений страницы",
"NoDataForAction": "Нет данных для %s",
"NoDataForActionDetails": "Не было совершено таких действий %s или они неправильны.",
"OutgoingTraffic": "Исходящий трафик",
"PluginDescription": "Сообщает о предыдущих и последующих действиях для каждого URL-адреса страницы в новом отчёте о переходах, доступном в отчётах о действиях с помощью нового значка.",
"ShareOfAllPageviews": "У этой страницы %1$s просмотров (всего просмотров страниц: %2$s)",
"ToFollowingPages": "На страницы сайта",
"ToFollowingPagesInline": "%s на внутренние страницы",
"ToFollowingSiteSearches": "внутренних поисков по сайту",
"ToFollowingSiteSearchesInline": "%s внутренних поисков по сайту",
"XOfAllPageviews": "%s из всех просмотров страницы",
"XOutOfYVisits": "%1$s (из %2$s)",
"PageURLTransitions": "URL страницы перехода"
}
}

View File

@ -0,0 +1,18 @@
{
"Transitions": {
"BouncesInline": "%s odbojev",
"ErrorBack": "Nazaj na prejšnje dejanje",
"ExitsInline": "%s izhodov",
"FromPreviousPages": "Iz notranjih strani",
"FromPreviousPagesInline": "%s iz notranjih strani",
"FromSearchEngines": "S spletnih iskalnikov",
"NoDataForAction": "Ni podatkov za %s",
"OutgoingTraffic": "Izhodni promet",
"ShareOfAllPageviews": "Ta stran je imela %1$s ogledov strani (%2$s od vseh ogledov strani)",
"ToFollowingPages": "Na notranje strani",
"ToFollowingPagesInline": "%s na notranje strani",
"ToFollowingSiteSearches": "Notranja iskanja",
"ToFollowingSiteSearchesInline": "%s notranjih iskanj",
"XOutOfYVisits": "%1$s (od %2$s)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s kthime",
"DirectEntries": "Hyrje të Drejtpërdrejta",
"Transitions": "Tranzicione",
"ErrorBack": "Kthehu te veprimi i mëparshëm",
"ExitsInline": "%s largime",
"NumPageviews": "%s parje faqesh",
"NumDownloads": "%s shkarkime",
"NumOutlinks": "%s lidhje për jashtë",
"TopX": "%s etiketat kryesuese",
"FeatureDescription": "Tranzicionet ju japin një raport që tregon gjëra që vizitorët tuaj bënë fill para dhe pas parjes së një faqeje të dhënë. Kjo faqe do të shpjegojë si të hyhet, të kuptohet dhe të përdoret raporti i fuqishëm Tranzicione.",
"AvailableInOtherReports": "A e dinit? Tranzicionet janë të passhme edhe si veprim rreshti në raportet vijues:",
"AvailableInOtherReports2": "Thjesht kaloni kursorin përsipër një rreshti te cilido prej këtyre raporteve dhe klikoni mbi ikonën e tranzicionit %s për ta vënë në punë.",
"FromCampaigns": "Prej Fushatash",
"FromPreviousPages": "Prej Faqesh të Brendshme",
"FromPreviousPagesInline": "%s prej faqesh të brendshme",
"FromPreviousSiteSearches": "Prej Kërkimesh të Brendshme",
"FromPreviousSiteSearchesInline": "%s prej kërkimesh të brendshme",
"FromSearchEngines": "Prej Motorë Kërkimesh",
"FromSocialNetworks": "Prej Rrjetesh Shoqërore",
"FromWebsites": "Prej Sajtesh",
"IncomingTraffic": "Trafik ardhës",
"LoopsInline": "%s ringarkime faqesh",
"NoDataForAction": "Ska të dhëna për %s",
"NoDataForActionDetails": "Ose veprimi nuk ka parje faqesh gjatë periudhës %s, ose është i pavlefshëm.",
"OutgoingTraffic": "Trafik ikës",
"PluginDescription": "Raporton, në një raport të ri Tranzicionesh, veprime të mëparshme dhe në vijim për çdo URL faqeje, i passhëm te raportet mbi Veprimet përmes një ikone të re.",
"ShareOfAllPageviews": "Kjo faqe pati %1$s parje faqesh (%2$s e krejt parjeve të faqeve)",
"ToFollowingPages": "Te Faqe të Brendshme",
"ToFollowingPagesInline": "%s te faqe të brendshme",
"ToFollowingSiteSearches": "Kërkime të Brendshme",
"ToFollowingSiteSearchesInline": "%s kërkime të brendshme",
"XOfAllPageviews": "%s e krejt parjeve të kësaj faqeje",
"XOutOfYVisits": "%1$s (nga %2$s gjithsej)",
"PageURLTransitions": "Tranzicione URL-je Faqeje"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s odbijanja",
"DirectEntries": "Direktni ulasci",
"ErrorBack": "Vrati se na prethodnu akciju",
"ExitsInline": "%s izlaza",
"NumPageviews": "%s prikaza stranica",
"NumDownloads": "%s preuzimanja",
"NumOutlinks": "%s izlaznih linkova",
"FromCampaigns": "Iz kampanja",
"FromPreviousPages": "Od internih stranica",
"FromPreviousPagesInline": "%s sa internih strana",
"FromPreviousSiteSearches": "Iz pretraga sajta",
"FromPreviousSiteSearchesInline": "%s iz pretraživanja sajta",
"FromSearchEngines": "Od pretraživača",
"FromWebsites": "Od sajtova",
"IncomingTraffic": "Dolazni saobraćaj",
"LoopsInline": "%s ponovnih učitavanja stranice",
"NoDataForAction": "Nema podataka za %s",
"NoDataForActionDetails": "Ili akcija nema nijedan pregled stranica za dati period %s ili ona nije validna.",
"OutgoingTraffic": "Odlazni saobraćaj",
"PluginDescription": "Izveštaj o prethodnoj i sledećoj akciji za svaki URL",
"ShareOfAllPageviews": "Ova stranica ima %1$s pregleda (%2$s od svih pregleda)",
"ToFollowingPages": "Ka internim stranicama",
"ToFollowingPagesInline": "%s ka drugim stranicama",
"ToFollowingSiteSearches": "Pretraživanja sajta",
"ToFollowingSiteSearchesInline": "%s pretraživanja sajta",
"XOfAllPageviews": "%s od svih pregleda ove strane",
"XOutOfYVisits": "%1$s (od %2$s)"
}
}

View File

@ -0,0 +1,32 @@
{
"Transitions": {
"BouncesInline": "%s avvisningar",
"DirectEntries": "Direktträffar",
"ErrorBack": "Gå tillbaka till föregående åtgärd",
"ExitsInline": "%s utgångar",
"NumPageviews": "%s sidvisningar",
"NumDownloads": "%s nerladdningar",
"NumOutlinks": "%s utlänkar",
"FromCampaigns": "Från kampanjer",
"FromPreviousPages": "Från interna sidor",
"FromPreviousPagesInline": "%s från interna sidor",
"FromPreviousSiteSearches": "Från Intern Sök.",
"FromPreviousSiteSearchesInline": "%s från interna sökningar",
"FromSearchEngines": "Från sökmotorer",
"FromSocialNetworks": "Från sociala nätverk",
"FromWebsites": "Från webbplatser",
"IncomingTraffic": "Inkommande trafik",
"LoopsInline": "%s siduppdateringar",
"NoDataForAction": "Det finns inga data för %s",
"NoDataForActionDetails": "Antingen har händelsen inte haft några sidvisningar under perioden %s eller så är den ogiltig.",
"OutgoingTraffic": "Utgående trafik",
"PluginDescription": "Tidigare Rapporter och följande åtgärder för varje sida URL i en ny Övergångsrapport, som finns i Händelserapporter via en ny ikon.",
"ShareOfAllPageviews": "Den här sidan hade %1$s sidvisningar (%2$s av alla sidvisningar)",
"ToFollowingPages": "Till interna sidor",
"ToFollowingPagesInline": "%s till interna sidor",
"ToFollowingSiteSearches": "Interna Sökningar",
"ToFollowingSiteSearchesInline": "%s interna sökningar",
"XOfAllPageviews": "%s av alla sidvisningar",
"XOutOfYVisits": "%1$s (av %2$s)"
}
}

View File

@ -0,0 +1,7 @@
{
"Transitions": {
"FromCampaigns": "จากแคมเปญ",
"FromWebsites": "จากเว็บไซต์",
"NoDataForAction": "ยังไม่มีข้อมูลสำหรับ %s"
}
}

View File

@ -0,0 +1,27 @@
{
"Transitions": {
"BouncesInline": "%s mga bounce",
"DirectEntries": "Direktang mga entry",
"ErrorBack": "Bumalik sa nakaraang aksyon",
"ExitsInline": "%s paglabas",
"FromCampaigns": "Mula sa campaigns",
"FromPreviousPages": "Mula sa Panloob na Pahina",
"FromPreviousPagesInline": "%s mula sa mga panloob na mga pahina",
"FromPreviousSiteSearches": "Mula sa panloob na paghahanap",
"FromPreviousSiteSearchesInline": "%s mula sa mga panloob na paghahanap",
"FromSearchEngines": "Mula sa Search Engine",
"FromWebsites": "Mula sa mga website",
"IncomingTraffic": "Incoming traffic",
"LoopsInline": "muling pagload ng pahina %s",
"NoDataForAction": "Walang data para sa %s",
"NoDataForActionDetails": "Maaaring ang aksyon ay walang pageview sa panahon ng %s o ito ay hindi wasto.",
"OutgoingTraffic": "Mga outgoing na traffic",
"ShareOfAllPageviews": "Ang pahinang ito ay may %1$s na pageview (%2$s ng lahat ng mga pageview)",
"ToFollowingPages": "Sa mga panloob na mga pahina",
"ToFollowingPagesInline": "%s panloob na mga pahina",
"ToFollowingSiteSearches": "Panloob na paghahanap",
"ToFollowingSiteSearchesInline": "panloob na paghahanap %s",
"XOfAllPageviews": "%s ng lahat ng mga tanawin ng pahinang ito",
"XOutOfYVisits": "%1$s (mula sa %2$s)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s hemen çıkma",
"DirectEntries": "Doğrudan Girişler",
"Transitions": "Dönüşümler",
"ErrorBack": "Önceki işleme dön",
"ExitsInline": "%s çıkış",
"NumPageviews": "%s sayfa görüntüleme",
"NumDownloads": "%s indirme",
"NumOutlinks": "%s giden bağlantı",
"TopX": "İlk %s etiket",
"FeatureDescription": "Dönüşümler raporu, kullanıcıların belirli bir sayfaya gelmeden önce ve sonra yaptıkları işlemleri görüntüler. Bu bölümde, güçlü Dönüşümler raporuna nasıl erişileceğini ve raporun içeriğini nasıl anlayıp kullanabileceğinizi anlatan bilgiler bulunur.",
"AvailableInOtherReports": "Dönüşümlerin ayrıca şu raporlarda da satır işlemi olarak bulunduğunu biliyor musunuz:",
"AvailableInOtherReports2": "Bu raporlardaki ilgili satırın üzerine gelip dönüşüm simgesine %s tıklayarak görüntüleyebilirsiniz.",
"FromCampaigns": "Kampanyalardan Geçişler",
"FromPreviousPages": "İç Sayfalardan",
"FromPreviousPagesInline": "%s iç sayfalardan",
"FromPreviousSiteSearches": "İç Aramalardan",
"FromPreviousSiteSearchesInline": "%s iç aramalardan",
"FromSearchEngines": "Arama Motorlarından",
"FromSocialNetworks": "Sosyal Ağlardan",
"FromWebsites": "Web Sitelerinden",
"IncomingTraffic": "Gelen Trafik",
"LoopsInline": "%s sayfa yüklemesi",
"NoDataForAction": "%s için henüz bir veri yok",
"NoDataForActionDetails": "%s zaman aralığından işlem için hiç bir sayfa görüntülenmemiş ya da geçersiz.",
"OutgoingTraffic": "Giden Trafik",
"PluginDescription": "Bu rapor, işlem raporları bölümündeki yeni simgesi ile erişilebilen yeni geçiş raporunda her sayfa adresi için önceki ve sonraki işlemleri içerir.",
"ShareOfAllPageviews": "Bu sayfa %1$s kez görüntülenmiş (toplam sayfa görüntülemelerinden %2$s).",
"ToFollowingPages": "İç Sayfalara",
"ToFollowingPagesInline": "%s iç sayfalara",
"ToFollowingSiteSearches": "İç Aramalar",
"ToFollowingSiteSearchesInline": "%s iç arama",
"XOfAllPageviews": "Bu sayfanın tüm görüntülenmelerinden %s",
"XOutOfYVisits": "%1$s (toplam %2$s)",
"PageURLTransitions": "Sayfa Adresi Dönüşümleri"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s відскоків (відмов)",
"DirectEntries": "Gрямих входів",
"ErrorBack": "Повернутися до попередньої дії",
"ExitsInline": "%s виходів з сайту",
"NumPageviews": "%s переглядів сторінок",
"NumDownloads": "%s завантажень",
"NumOutlinks": "%s вихідних посилань",
"FromCampaigns": "з кампаній",
"FromPreviousPages": "з внутрішніх сторінок",
"FromPreviousPagesInline": "%s з внутрішніх сторінок",
"FromPreviousSiteSearches": "внутрішніх пошуків по сайту",
"FromPreviousSiteSearchesInline": "%s з внутрішнього пошуку по сайту",
"FromSearchEngines": "з пошукових систем",
"FromWebsites": "з сайтів",
"IncomingTraffic": "Вхідний трафік",
"LoopsInline": "%s оновлень сторінки",
"NoDataForAction": "Немає даних для %s",
"NoDataForActionDetails": "Не було скоєно таких дій %s або вони неправильні.",
"OutgoingTraffic": "Вихідний трафік",
"PluginDescription": "Звіти про попередні та наступні дій для кожної сторінки URL у новому звіті Переходів, в звітах Дії через новий значок.",
"ShareOfAllPageviews": "У цієї сторінки %1$s переглядів (%2$s з переглядів всіх сторінок)",
"ToFollowingPages": "на внутрішні сторінки",
"ToFollowingPagesInline": "%s на внутрішні сторінки",
"ToFollowingSiteSearches": "внутрішніх пошуків по сайту",
"ToFollowingSiteSearchesInline": "%s внутрішніх пошуків по сайту",
"XOfAllPageviews": "%s з усіх переглядів сторінки",
"XOutOfYVisits": "%1$s (з %2$s)"
}
}

View File

@ -0,0 +1,27 @@
{
"Transitions": {
"BouncesInline": "%s bị trả lại",
"DirectEntries": "Các mục trực tiếp",
"ErrorBack": "Quay trở lại hành động trước đó",
"ExitsInline": "%s thoát",
"FromCampaigns": "Từ các chiến dịch",
"FromPreviousPages": "Từ các trang nội bộ",
"FromPreviousPagesInline": "%s từ các trang nội bộ",
"FromPreviousSiteSearches": "Từ các tìm kiếm nội bộ",
"FromPreviousSiteSearchesInline": "%s Từ các tìm kiếm nội bộ",
"FromSearchEngines": "Từ các công cụ tìm kiếm",
"FromWebsites": "Từ các Website",
"IncomingTraffic": "Lưu lượng truy cập đến",
"LoopsInline": "các lượt tải lại trang %s",
"NoDataForAction": "Không có dữ liệu cho %s",
"NoDataForActionDetails": "Hay là hành động không có lượt xem trang trong thời gian %s hoặc không hợp lệ.",
"OutgoingTraffic": "Lưu lượng truy cập đi",
"ShareOfAllPageviews": "Trang này đã có %1$s lượt xem trang (%2$s của tất cả các lượt xem trang)",
"ToFollowingPages": "Tới các trang nội bộ",
"ToFollowingPagesInline": "%s tới các trang nội bộ",
"ToFollowingSiteSearches": "Các tìm kiếm nội bộ",
"ToFollowingSiteSearchesInline": "%s Các tìm kiếm nội bộ",
"XOfAllPageviews": "%s của tất cả các lượt xem của trang này",
"XOutOfYVisits": "%1$s (trong số %2$s)"
}
}

View File

@ -0,0 +1,31 @@
{
"Transitions": {
"BouncesInline": "%s 次跳出",
"DirectEntries": "直接输入",
"ErrorBack": "返回上次的活动",
"ExitsInline": "%s 次退出",
"NumPageviews": "%s PV",
"NumDownloads": "%s 下载",
"NumOutlinks": "%s 外链",
"FromCampaigns": "来自广告",
"FromPreviousPages": "来自内部页面",
"FromPreviousPagesInline": "%s 次来自站内页面",
"FromPreviousSiteSearches": "来自站内搜索",
"FromPreviousSiteSearchesInline": "%s 次来自站内搜索",
"FromSearchEngines": "来自搜索引擎",
"FromWebsites": "来自网站",
"IncomingTraffic": "入口流量",
"LoopsInline": "%s 次刷新页面",
"NoDataForAction": "没有 %s 数据",
"NoDataForActionDetails": "本活动在 %s 期间没有被访问过或者不正确。",
"OutgoingTraffic": "出口流量",
"PluginDescription": "以前的报告并为每个页面的URL在一个新的过渡报告在操作报告中提供一个新的图标来通过操作。",
"ShareOfAllPageviews": "本页面被访问 %1$s 次 (总访问量的 %2$s)",
"ToFollowingPages": "转向站内页面",
"ToFollowingPagesInline": "%s 次转向站内页面",
"ToFollowingSiteSearches": "站内搜索",
"ToFollowingSiteSearchesInline": "%s 次站内搜索",
"XOfAllPageviews": "%s 的本页浏览量",
"XOutOfYVisits": "%1$s (共 %2$s)"
}
}

View File

@ -0,0 +1,38 @@
{
"Transitions": {
"BouncesInline": "%s 跳出",
"DirectEntries": "直接流量",
"Transitions": "行為流程",
"ErrorBack": "返回上一個動作",
"ExitsInline": "%s 個離開數",
"NumPageviews": "%s 次瀏覽數",
"NumDownloads": "%s 次下載數",
"NumOutlinks": "%s 個離開連結",
"TopX": "前 %s 標籤",
"FeatureDescription": "你可以在行為流程中查看訪客在查看特定網頁之前和之後做的事情。這個頁面將解釋如何存取、了解和使用強大的行為流程報表。",
"AvailableInOtherReports": "你知道嗎?行為流程也可以在以下的報表中的列表動作使用:",
"AvailableInOtherReports2": "只要將滑鼠移動到這些報表的列表上,並點擊行為流程圖示 %s 即可開啟。",
"FromCampaigns": "來自廣告活動",
"FromPreviousPages": "來自站內網頁",
"FromPreviousPagesInline": "%s 來自站內網頁",
"FromPreviousSiteSearches": "來自站內搜尋",
"FromPreviousSiteSearchesInline": "%s 來自站內搜尋",
"FromSearchEngines": "來自搜尋引擎",
"FromSocialNetworks": "來自社群網站",
"FromWebsites": "來自網站",
"IncomingTraffic": "進站流量",
"LoopsInline": "%s 次頁面重整",
"NoDataForAction": "%s 中沒有資料",
"NoDataForActionDetails": "活動在所選的期間內沒有瀏覽數%s或是無效。",
"OutgoingTraffic": "離站流量",
"PluginDescription": "在行為流程報表中查看訪客在每個網頁網址中的上一步和下一步動作,可以點擊動作報表中的圖示來檢視。",
"ShareOfAllPageviews": "此網頁有 %1$s 個瀏覽數(%2$s 總瀏覽數)",
"ToFollowingPages": "進入站內頁面",
"ToFollowingPagesInline": "%s 進入站內頁面",
"ToFollowingSiteSearches": "站內搜尋",
"ToFollowingSiteSearchesInline": "%s 站內搜尋",
"XOfAllPageviews": "此網頁所有訪問中的 %s",
"XOutOfYVisits": "%2$s 中的 %1$s",
"PageURLTransitions": "網頁網址行為流程"
}
}

View File

@ -0,0 +1,98 @@
//
// transitions colors
//
// colors for entries gradients
.transition-entries[data-name=light] {
color: #fff;
}
.transition-entries[data-name=dark] {
color: #BACFE8;
}
.transition-entries[data-name=light-highlighted] {
color: #fff;
}
.transition-entries[data-name=dark-highlighted] {
color: #FAD293;
}
// colors for exits gradients
.transition-exits[data-name=light] {
color: #fff;
}
.transition-exits[data-name=dark] {
color: #BACFE8;
}
.transition-exits[data-name=light-highlighted] {
color: #fff;
}
.transition-exits[data-name=dark-highlighted] {
color: #FAD293;
}
// background gradients colors
.transition-background[data-name=light] {
color: #fff;
}
.transition-background[data-name=dark] {
color: #BACFE8;
}
.transition-background[data-name=light-highlighted] {
color: #fff;
}
.transition-background[data-name=dark-highlighted] {
color: #FAD293;
}
// closed group gradient colors
.transition-closed-group[data-name=light] {
color: #DDE4ED;
}
.transition-closed-group[data-name=dark] {
color: #9BBADE;
}
.transition-closed-group[data-name=light-highlighted] {
color: #FAE2C0;
}
.transition-closed-group[data-name=dark-highlighted] {
color: #FAD293;
}
// items gradient colors
.transition-items[data-name=light] {
color: #E3DFD1;
}
.transition-items[data-name=dark] {
color: #E8E4D5;
}
// 'others' gradients colors
.transition-others[data-name=light] {
color: #F5F3EB;
}
.transition-others[data-name=dark] {
color: #E8E4D5;
}
// loop gradient colors
.transition-loops[data-name=light] {
color: #F5F3EB;
}
.transition-loops[data-name=dark] {
color: #E8E4D5;
}

View File

@ -0,0 +1,250 @@
@import "_transitionColors";
#Transitions_Container {
position: relative;
z-index: 1500;
height: 550px;
text-align: left;
margin-left: 50px;
}
.Transitions_Canvas_Container {
position: absolute;
}
#Transitions_Canvas_Background_Left {
z-index: 1501;
}
#Transitions_Canvas_Background_Right {
z-index: 1502;
}
#Transitions_Canvas_Left {
z-index: 1503;
}
#Transitions_Canvas_Right {
z-index: 1504;
}
#Transitions_Canvas_Loops {
z-index: 1505;
}
.Transitions_Text {
color: black;
font-size: 11px;
line-height: 14px;
position: absolute;
background: rgba(0, 0, 0, 0); /* without this, IE9 triggers hover only on the text, not the box */
z-index: 1506;
word-wrap: break-word;
text-align: left;
cursor: default;
}
#Transitions_CenterBox {
margin: 27px 0 0 345px;
width: 208px;
height: 373px;
background: #f7f7f7;
border: 1px solid #a9a399;
border-radius: 10px;
-webkit-box-shadow: 0px 0px 9px 0px #999;
-moz-box-shadow: 0px 0px 9px 0px #999;
box-shadow: 0px 0px 9px 0px #999;
z-index: 1507;
}
#Transitions_CenterBox h2 {
font-size: 12px;
line-height: 16px;
padding: 10px;
border-bottom: 1px dotted #a9a399;
font-weight: bold;
overflow: hidden;
color: #255792;
margin: 0;
a {
color: inherit;
}
}
.Transitions_Pageviews {
text-align: center;
}
.Transitions_OutgoingTraffic {
text-align: right;
}
.Transitions_CenterBoxMetrics {
padding: 15px 10px 0 10px;
display: none;
font-size: 12px;
}
.Transitions_CenterBoxMetrics table td {
padding: 0 0 5px 0;
}
.Transitions_CenterBoxMetrics table td.Transitions_Percentage {
padding-right: 6px;
font-weight: bold;
}
#Transitions_CenterBox h3 {
font-weight: bold;
font-size: 12px;
margin: 15px 0 7px 0;
padding: 0;
color: #7E7363;
}
#Transitions_Loops {
margin: 445px 0 0 346px;
width: 208px;
text-align: center;
line-height: 25px;
font-size: 12px;
display: none;
z-index: 1506;
cursor: default;
}
.Transitions_CenterBoxMetrics p {
margin: 0 0 3px 0;
padding: 0;
cursor: default;
font-size: 12px;
line-height: 15px;
}
.Transitions_CenterBoxMetrics p.Transitions_Margin {
margin-bottom: 11px;
}
.Transitions_CenterBoxMetrics .Transitions_Highlighted {
color: @theme-color-link;
}
span.Transitions_Metric {
font-weight: bold;
cursor: default;
}
.Transitions_Value0 {
color: @theme-color-text-lighter;
}
.Transitions_TitleOfOpenGroup {
font-size: 12px;
color: @theme-color-link;
font-weight: bold;
}
.Transitions_BoxTextLeft,
.Transitions_BoxTextRight {
width: 165px;
height: 42px;
overflow: hidden;
}
.Transitions_BoxTextRight {
text-align: right;
}
.Transitions_BoxTextLeft.Transitions_HasBackground,
.Transitions_BoxTextRight.Transitions_HasBackground {
background-repeat: no-repeat;
height: 18px;
}
.Transitions_BoxTextLeft.Transitions_HasBackground {
background-position: 0 1px;
width: 175px;
}
.Transitions_BoxTextLeft.Transitions_HasBackground span {
display: block;
padding-left: 16px;
}
.Transitions_BoxTextRight.Transitions_HasBackground {
background-position: right 1px;
}
.Transitions_BoxTextRight.Transitions_HasBackground span {
display: block;
padding-right: 17px;
}
.Transitions_CurveTextLeft,
.Transitions_CurveTextRight {
color: #255792;
font-weight: bold;
width: 34px;
text-align: center;
cursor: default;
}
body .ui-tooltip.Transitions_Tooltip_Small {
font-size: 11px;
padding: 3px 5px 3px 6px;
background: white;
}
.Transitions_SingleLine {
font-size: 12px;
height: 21px;
}
#transitions_report {
#Transitions_Container {
z-index: 980;
}
#Transitions_CenterBox {
z-index: 987;
}
.Transitions_Text,
#Transitions_Loops {
z-index: 986;
}
#Transitions_Canvas_Background_Left {
z-index: 981;
}
#Transitions_Canvas_Background_Right {
z-index: 982;
}
#Transitions_Canvas_Left {
z-index: 983;
}
#Transitions_Canvas_Right {
z-index: 984;
}
#Transitions_Canvas_Loops {
z-index: 985;
}
}
.widget #Transitions_Container h3 {
padding: 0 !important;
}
#transitions_report {
div[name=actionType] {
margin-left: -0.75rem;
}
div[name=actionName] {
margin-right: -0.75rem;
}
}
#dashboardWidgetsArea {
#transitions_report {
#Transitions_Container {
overflow: scroll;
}
}
}

View File

@ -0,0 +1,58 @@
<div id="Transitions_Container">
<div id="Transitions_CenterBox" class="Transitions_Text">
<h2></h2>
<div class="Transitions_CenterBoxMetrics">
<p class="Transitions_Pageviews Transitions_Margin">{{ translations.pageviewsInline|translate }}</p>
<div class="Transitions_IncomingTraffic">
<h3>{{ 'Transitions_IncomingTraffic'|translate }}</h3>
<p class="Transitions_PreviousPages">{{ translations.fromPreviousPagesInline|translate }}</p>
<p class="Transitions_PreviousSiteSearches">{{ translations.fromPreviousSiteSearchesInline|translate }}</p>
<p class="Transitions_SearchEngines">{{ translations.fromSearchEnginesInline|translate }}</p>
<p class="Transitions_SocialNetworks">{{ translations.fromSocialNetworksInline|translate }}</p>
<p class="Transitions_Websites">{{ translations.fromWebsitesInline|translate }}</p>
<p class="Transitions_Campaigns">{{ translations.fromCampaignsInline|translate }}</p>
<p class="Transitions_DirectEntries">{{ translations.directEntriesInline|translate }}</p>
</div>
<div class="Transitions_OutgoingTraffic">
<h3>{{ 'Transitions_OutgoingTraffic'|translate }}</h3>
<p class="Transitions_FollowingPages">{{ translations.toFollowingPagesInline|translate }}</p>
<p class="Transitions_FollowingSiteSearches">{{ translations.toFollowingSiteSearchesInline|translate }}</p>
<p class="Transitions_Downloads">{{ translations.downloadsInline|translate }}</p>
<p class="Transitions_Outlinks">{{ translations.outlinksInline|translate }}</p>
<p class="Transitions_Exits">{{ translations.exitsInline|translate }}</p>
</div>
</div>
</div>
<div id="Transitions_Loops" class="Transitions_Text">
{{ translations.loopsInline|translate }}
</div>
<div id="Transitions_Canvas_Background_Left" class="Transitions_Canvas_Container"></div>
<div id="Transitions_Canvas_Background_Right" class="Transitions_Canvas_Container"></div>
<div id="Transitions_Canvas_Left" class="Transitions_Canvas_Container"></div>
<div id="Transitions_Canvas_Right" class="Transitions_Canvas_Container"></div>
<div id="Transitions_Canvas_Loops" class="Transitions_Canvas_Container"></div>
</div>
<script type="text/javascript">
var Piwik_Transitions_Translations = {
{% for internalKey, translation in translations %}
"{{ internalKey }}": "{{ translation }}",
{% endfor %}
"": ""
};
</script>

View File

@ -0,0 +1,53 @@
{% if not isWidget %}<div piwik-content-block
help-text="{{ 'Transitions_FeatureDescription'|translate|e('html_attr') }}"
help-url="https://matomo.org/docs/transitions/"
content-title="{{ 'Transitions_Transitions'|translate|e('html_attr') }}">{% endif %}
<div id="transitions_report" {% if isWidget %}class="widgetBody"{% endif %} ng-controller="TransitionSwitcherController as transitionSwitcher">
<div class="row">
<div class="col s12 m3">
<div piwik-field uicontrol="select" name="actionType"
ng-model="transitionSwitcher.actionType"
ng-change="transitionSwitcher.onActionTypeChange(transitionSwitcher.actionType)"
title="{{ 'Actions_ActionType'|translate|e('html_attr') }}"
full-width="true"
options='transitionSwitcher.actionTypeOptions'>
</div>
</div>
<div class="col s12 m9">
<div piwik-field uicontrol="select" name="actionName"
ng-model="transitionSwitcher.actionName"
ng-change="transitionSwitcher.onActionNameChange(transitionSwitcher.actionName)"
title="{{ 'Transitions_TopX'|translate(100)|e('html_attr') }}"
full-width="true"
data-disabled="!transitionSwitcher.isEnabled"
options='transitionSwitcher.actionNameOptions'>
</div>
</div>
</div>
<div piwik-activity-indicator loading="transitionSwitcher.isLoading"></div>
<div class="loadingPiwik" ng-show="!transitionSwitcher.isLoading" style="display:none" id="transitions_inline_loading">
<img src="plugins/Morpheus/images/loading-blue.gif" alt=""/> <span>{{ 'General_LoadingData'|translate }}</span>
</div>
<div class="popoverContainer" ng-show="!transitionSwitcher.isLoading && transitionSwitcher.isEnabled">
</div>
<div id="Transitions_Error_Container" ng-show="!transitionSwitcher.isLoading">
</div>
<div class="alert alert-info">
{{ 'Transitions_AvailableInOtherReports'|translate }}
{{ 'Actions_PageUrls'|translate }}, {{ 'Actions_SubmenuPageTitles'|translate }},
{{ 'Actions_SubmenuPagesEntry'|translate }},
{{ 'Actions_SubmenuPagesExit'|translate }},
{{ 'General_Outlinks'|translate }}, {{ 'General_And'|translate }} {{ 'General_Downloads'|translate }}.
{{ 'Transitions_AvailableInOtherReports2'|translate('<span class="icon-transition"></span>')|raw }}
</div>
</div>
{% if not isWidget %}</div>{% endif %}