PDF rausgenommen
This commit is contained in:
780
msd2/tracking/piwik/plugins/Goals/API.php
Normal file
780
msd2/tracking/piwik/plugins/Goals/API.php
Normal file
@ -0,0 +1,780 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Exception;
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Archive;
|
||||
use Piwik\CacheId;
|
||||
use Piwik\Cache as PiwikCache;
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Db;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\Report;
|
||||
use Piwik\Plugins\API\DataTable\MergeDataTables;
|
||||
use Piwik\Plugins\CoreHome\Columns\Metrics\ConversionRate;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\AverageOrderRevenue;
|
||||
use Piwik\Plugin\ReportsProvider;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\GoalConversionRate;
|
||||
use Piwik\Segment;
|
||||
use Piwik\Segment\SegmentExpression;
|
||||
use Piwik\Site;
|
||||
use Piwik\Tracker\Cache;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
use Piwik\Plugins\VisitFrequency\API as VisitFrequencyAPI;
|
||||
use Piwik\Validators\Regex;
|
||||
use Piwik\Validators\WhitelistedValue;
|
||||
|
||||
/**
|
||||
* Goals API lets you Manage existing goals, via "updateGoal" and "deleteGoal", create new Goals via "addGoal",
|
||||
* or list existing Goals for one or several websites via "getGoals"
|
||||
*
|
||||
* If you are <a href='http://matomo.org/docs/ecommerce-analytics/' target='_blank'>tracking Ecommerce orders and products</a> on your site, the functions "getItemsSku", "getItemsName" and "getItemsCategory"
|
||||
* will return the list of products purchased on your site, either grouped by Product SKU, Product Name or Product Category. For each name, SKU or category, the following
|
||||
* metrics are returned: Total revenue, Total quantity, average price, average quantity, number of orders (or abandoned carts) containing this product, number of visits on the Product page,
|
||||
* Conversion rate.
|
||||
*
|
||||
* By default, these functions return the 'Products purchased'. These functions also accept an optional parameter &abandonedCarts=1.
|
||||
* If the parameter is set, it will instead return the metrics for products that were left in an abandoned cart therefore not purchased.
|
||||
*
|
||||
* The API also lets you request overall Goal metrics via the method "get": Conversions, Visits with at least one conversion, Conversion rate and Revenue.
|
||||
* If you wish to request specific metrics about Ecommerce goals, you can set the parameter &idGoal=ecommerceAbandonedCart to get metrics about abandoned carts (including Lost revenue, and number of items left in the cart)
|
||||
* or &idGoal=ecommerceOrder to get metrics about Ecommerce orders (number of orders, visits with an order, subtotal, tax, shipping, discount, revenue, items ordered)
|
||||
*
|
||||
* See also the documentation about <a href='http://matomo.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>Tracking Goals</a> in Matomo.
|
||||
*
|
||||
* @method static \Piwik\Plugins\Goals\API getInstance()
|
||||
*/
|
||||
class API extends \Piwik\Plugin\API
|
||||
{
|
||||
const AVG_PRICE_VIEWED = 'avg_price_viewed';
|
||||
const NEW_VISIT_SEGMENT = 'visitorType==new';
|
||||
|
||||
/**
|
||||
* Return a single goal.
|
||||
*
|
||||
* @param int $idSite
|
||||
* @param int $idGoal
|
||||
* @return array An array of goal attributes.
|
||||
*/
|
||||
public function getGoal($idSite, $idGoal)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$goal = $this->getModel()->getActiveGoal($idSite, $idGoal);
|
||||
|
||||
if (!empty($goal)) {
|
||||
return $this->formatGoal($goal);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all Goals for a given website, or list of websites
|
||||
*
|
||||
* @param string|array $idSite Array or Comma separated list of website IDs to request the goals for
|
||||
* @return array Array of Goal attributes
|
||||
*/
|
||||
public function getGoals($idSite)
|
||||
{
|
||||
$cacheId = self::getCacheId($idSite);
|
||||
$cache = $this->getGoalsInfoStaticCache();
|
||||
if (!$cache->contains($cacheId)) {
|
||||
// note: the reason this is secure is because the above cache is a static cache and cleared after each request
|
||||
// if we were to use a different cache that persists the result, this would not be secure because when a
|
||||
// result is in the cache, it would just return the result
|
||||
$idSite = Site::getIdSitesFromIdSitesString($idSite);
|
||||
|
||||
if (empty($idSite)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$goals = $this->getModel()->getActiveGoals($idSite);
|
||||
|
||||
$cleanedGoals = array();
|
||||
foreach ($goals as &$goal) {
|
||||
$cleanedGoals[$goal['idgoal']] = $this->formatGoal($goal);
|
||||
}
|
||||
|
||||
$cache->save($cacheId, $cleanedGoals);
|
||||
}
|
||||
|
||||
return $cache->fetch($cacheId);
|
||||
}
|
||||
|
||||
private function formatGoal($goal)
|
||||
{
|
||||
if ($goal['match_attribute'] == 'manually') {
|
||||
unset($goal['pattern']);
|
||||
unset($goal['pattern_type']);
|
||||
unset($goal['case_sensitive']);
|
||||
}
|
||||
|
||||
return $goal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a Goal for a given website.
|
||||
*
|
||||
* @param int $idSite
|
||||
* @param string $name
|
||||
* @param string $matchAttribute 'url', 'title', 'file', 'external_website', 'manually', 'event_action', 'event_category' or 'event_name'
|
||||
* @param string $pattern eg. purchase-confirmation.htm
|
||||
* @param string $patternType 'regex', 'contains', 'exact'
|
||||
* @param bool $caseSensitive
|
||||
* @param bool|float $revenue If set, default revenue to assign to conversions
|
||||
* @param bool $allowMultipleConversionsPerVisit By default, multiple conversions in the same visit will only record the first conversion.
|
||||
* If set to true, multiple conversions will all be recorded within a visit (useful for Ecommerce goals)
|
||||
* @param string $description
|
||||
* @return int ID of the new goal
|
||||
*/
|
||||
public function addGoal($idSite, $name, $matchAttribute, $pattern, $patternType, $caseSensitive = false, $revenue = false, $allowMultipleConversionsPerVisit = false, $description = '',
|
||||
$useEventValueAsRevenue = false)
|
||||
{
|
||||
Piwik::checkUserHasWriteAccess($idSite);
|
||||
|
||||
$this->checkPatternIsValid($patternType, $pattern, $matchAttribute);
|
||||
$name = $this->checkName($name);
|
||||
$pattern = $this->checkPattern($pattern);
|
||||
$patternType = $this->checkPatternType($patternType);
|
||||
$description = $this->checkDescription($description);
|
||||
|
||||
$revenue = Common::forceDotAsSeparatorForDecimalPoint((float)$revenue);
|
||||
|
||||
$goal = array(
|
||||
'name' => $name,
|
||||
'description' => $description,
|
||||
'match_attribute' => $matchAttribute,
|
||||
'pattern' => $pattern,
|
||||
'pattern_type' => $patternType,
|
||||
'case_sensitive' => (int)$caseSensitive,
|
||||
'allow_multiple' => (int)$allowMultipleConversionsPerVisit,
|
||||
'revenue' => $revenue,
|
||||
'deleted' => 0,
|
||||
'event_value_as_revenue' => (int) $useEventValueAsRevenue,
|
||||
);
|
||||
|
||||
$idGoal = $this->getModel()->createGoalForSite($idSite, $goal);
|
||||
|
||||
$this->getGoalsInfoStaticCache()->delete(self::getCacheId($idSite));
|
||||
|
||||
Cache::regenerateCacheWebsiteAttributes($idSite);
|
||||
return $idGoal;
|
||||
}
|
||||
|
||||
private function getModel()
|
||||
{
|
||||
return new Model();
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a Goal description.
|
||||
* Will not update or re-process the conversions already recorded
|
||||
*
|
||||
* @see addGoal() for parameters description
|
||||
* @param int $idSite
|
||||
* @param int $idGoal
|
||||
* @param $name
|
||||
* @param $matchAttribute
|
||||
* @param string $pattern
|
||||
* @param string $patternType
|
||||
* @param bool $caseSensitive
|
||||
* @param bool|float $revenue
|
||||
* @param bool $allowMultipleConversionsPerVisit
|
||||
* @param string $description
|
||||
* @return void
|
||||
*/
|
||||
public function updateGoal($idSite, $idGoal, $name, $matchAttribute, $pattern, $patternType, $caseSensitive = false, $revenue = false, $allowMultipleConversionsPerVisit = false, $description = '',
|
||||
$useEventValueAsRevenue = false)
|
||||
{
|
||||
Piwik::checkUserHasWriteAccess($idSite);
|
||||
|
||||
$name = $this->checkName($name);
|
||||
$description = $this->checkDescription($description);
|
||||
$patternType = $this->checkPatternType($patternType);
|
||||
$pattern = $this->checkPattern($pattern);
|
||||
$this->checkPatternIsValid($patternType, $pattern, $matchAttribute);
|
||||
|
||||
$revenue = Common::forceDotAsSeparatorForDecimalPoint((float)$revenue);
|
||||
|
||||
$goal = array(
|
||||
'name' => $name,
|
||||
'description' => $description,
|
||||
'match_attribute' => $matchAttribute,
|
||||
'pattern' => $pattern,
|
||||
'pattern_type' => $patternType,
|
||||
'case_sensitive' => (int) $caseSensitive,
|
||||
'allow_multiple' => (int) $allowMultipleConversionsPerVisit,
|
||||
'revenue' => $revenue,
|
||||
'event_value_as_revenue' => (int) $useEventValueAsRevenue,
|
||||
);
|
||||
|
||||
$this->checkEventValueAsRevenue($goal);
|
||||
|
||||
$this->getModel()->updateGoal($idSite, $idGoal, $goal);
|
||||
|
||||
$this->getGoalsInfoStaticCache()->delete(self::getCacheId($idSite));
|
||||
|
||||
Cache::regenerateCacheWebsiteAttributes($idSite);
|
||||
}
|
||||
|
||||
private function checkEventValueAsRevenue($goal)
|
||||
{
|
||||
if ($goal['event_value_as_revenue'] && !GoalManager::isEventMatchingGoal($goal)) {
|
||||
throw new \Exception("'useEventValueAsRevenue' can only be 1 if the goal matches an event attribute.");
|
||||
}
|
||||
}
|
||||
|
||||
private function checkPatternIsValid($patternType, $pattern, $matchAttribute)
|
||||
{
|
||||
if ($patternType == 'exact'
|
||||
&& substr($pattern, 0, 4) != 'http'
|
||||
&& substr($matchAttribute, 0, 6) != 'event_'
|
||||
&& $matchAttribute != 'title'
|
||||
) {
|
||||
throw new Exception(Piwik::translate('Goals_ExceptionInvalidMatchingString', array("http:// or https://", "http://www.yourwebsite.com/newsletter/subscribed.html")));
|
||||
}
|
||||
|
||||
if ($patternType == 'regex') {
|
||||
$validator = new Regex();
|
||||
$validator->validate(GoalManager::formatRegex($pattern));
|
||||
}
|
||||
}
|
||||
|
||||
private function checkName($name)
|
||||
{
|
||||
return urldecode($name);
|
||||
}
|
||||
|
||||
private function checkDescription($description)
|
||||
{
|
||||
return urldecode($description);
|
||||
}
|
||||
|
||||
private function checkPatternType($patternType)
|
||||
{
|
||||
if (empty($patternType)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$patternType = strtolower($patternType);
|
||||
|
||||
$validator = new WhitelistedValue(['exact', 'contains', 'regex']);
|
||||
$validator->validate($patternType);
|
||||
|
||||
return $patternType;
|
||||
}
|
||||
|
||||
private function checkPattern($pattern)
|
||||
{
|
||||
return urldecode($pattern);
|
||||
}
|
||||
|
||||
/**
|
||||
* Soft deletes a given Goal.
|
||||
* Stats data in the archives will still be recorded, but not displayed.
|
||||
*
|
||||
* @param int $idSite
|
||||
* @param int $idGoal
|
||||
* @return void
|
||||
*/
|
||||
public function deleteGoal($idSite, $idGoal)
|
||||
{
|
||||
Piwik::checkUserHasWriteAccess($idSite);
|
||||
|
||||
$this->getModel()->deleteGoal($idSite, $idGoal);
|
||||
$this->getModel()->deleteGoalConversions($idSite, $idGoal);
|
||||
|
||||
$this->getGoalsInfoStaticCache()->delete(self::getCacheId($idSite));
|
||||
|
||||
Cache::regenerateCacheWebsiteAttributes($idSite);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a datatable of Items SKU/name or categories and their metrics
|
||||
* If $abandonedCarts set to 1, will return items abandoned in carts. If set to 0, will return items ordered
|
||||
*/
|
||||
protected function getItems($recordName, $idSite, $period, $date, $abandonedCarts, $segment)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$recordNameFinal = $recordName;
|
||||
if ($abandonedCarts) {
|
||||
$recordNameFinal = Archiver::getItemRecordNameAbandonedCart($recordName);
|
||||
}
|
||||
|
||||
$archive = Archive::build($idSite, $period, $date, $segment);
|
||||
$dataTable = $archive->getDataTable($recordNameFinal);
|
||||
|
||||
$this->enrichItemsTableWithViewMetrics($dataTable, $recordName, $idSite, $period, $date, $segment);
|
||||
|
||||
// First rename the avg_price_viewed column
|
||||
$renameColumn = array(self::AVG_PRICE_VIEWED => 'avg_price');
|
||||
$dataTable->filter('ReplaceColumnNames', array($renameColumn));
|
||||
|
||||
$dataTable->queueFilter('ReplaceColumnNames');
|
||||
$dataTable->queueFilter('ReplaceSummaryRowLabel');
|
||||
|
||||
if ($abandonedCarts) {
|
||||
$ordersColumn = 'abandoned_carts';
|
||||
$dataTable->renameColumn(Metrics::INDEX_ECOMMERCE_ORDERS, $ordersColumn);
|
||||
}
|
||||
|
||||
$dataTable->queueFilter('ColumnDelete', array('price'));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
protected function renameNotDefinedRow($dataTable, $notDefinedStringPretty)
|
||||
{
|
||||
if ($dataTable instanceof DataTable\Map) {
|
||||
foreach ($dataTable->getDataTables() as $table) {
|
||||
$this->renameNotDefinedRow($table, $notDefinedStringPretty);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
$rowNotDefined = $dataTable->getRowFromLabel(\Piwik\Plugins\CustomVariables\Archiver::LABEL_CUSTOM_VALUE_NOT_DEFINED);
|
||||
if ($rowNotDefined) {
|
||||
$rowNotDefined->setColumn('label', $notDefinedStringPretty);
|
||||
}
|
||||
}
|
||||
|
||||
protected function enrichItemsDataTableWithItemsViewMetrics($dataTable, $idSite, $period, $date, $segment, $idSubtable)
|
||||
{
|
||||
$ecommerceViews = \Piwik\Plugins\CustomVariables\API::getInstance()->getCustomVariablesValuesFromNameId($idSite, $period, $date, $idSubtable, $segment, $_leavePriceViewedColumn = true);
|
||||
|
||||
// For Product names and SKU reports, and for Category report
|
||||
// Use the Price (tracked on page views)
|
||||
// ONLY when the price sold in conversions is not found (ie. product viewed but not sold)
|
||||
foreach ($ecommerceViews->getRows() as $rowView) {
|
||||
// If there is not already a 'sum price' for this product
|
||||
$rowFound = $dataTable->getRowFromLabel($rowView->getColumn('label'));
|
||||
$price = $rowFound
|
||||
? $rowFound->getColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE)
|
||||
: false;
|
||||
if (empty($price)) {
|
||||
// If a price was tracked on the product page
|
||||
if ($rowView->getColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED)) {
|
||||
$rowView->renameColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED, self::AVG_PRICE_VIEWED);
|
||||
}
|
||||
}
|
||||
$rowView->deleteColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED);
|
||||
}
|
||||
|
||||
$dataTable->addDataTable($ecommerceViews);
|
||||
}
|
||||
|
||||
public function getItemsSku($idSite, $period, $date, $abandonedCarts = false, $segment = false)
|
||||
{
|
||||
return $this->getItems('Goals_ItemsSku', $idSite, $period, $date, $abandonedCarts, $segment);
|
||||
}
|
||||
|
||||
public function getItemsName($idSite, $period, $date, $abandonedCarts = false, $segment = false)
|
||||
{
|
||||
return $this->getItems('Goals_ItemsName', $idSite, $period, $date, $abandonedCarts, $segment);
|
||||
}
|
||||
|
||||
public function getItemsCategory($idSite, $period, $date, $abandonedCarts = false, $segment = false)
|
||||
{
|
||||
return $this->getItems('Goals_ItemsCategory', $idSite, $period, $date, $abandonedCarts, $segment);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function that checks for special string goal IDs and converts them to
|
||||
* their integer equivalents.
|
||||
*
|
||||
* Checks for the following values:
|
||||
* Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER
|
||||
* Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART
|
||||
*
|
||||
* @param string|int $idGoal The goal id as an integer or a special string.
|
||||
* @return int The numeric goal id.
|
||||
*/
|
||||
protected static function convertSpecialGoalIds($idGoal)
|
||||
{
|
||||
if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
return GoalManager::IDGOAL_ORDER;
|
||||
} else if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) {
|
||||
return GoalManager::IDGOAL_CART;
|
||||
} else {
|
||||
return $idGoal;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns Goals data.
|
||||
*
|
||||
* @param int $idSite
|
||||
* @param string $period
|
||||
* @param string $date
|
||||
* @param bool $segment
|
||||
* @param bool|int $idGoal
|
||||
* @param array $columns Array of metrics to fetch: nb_conversions, conversion_rate, revenue
|
||||
* @param bool $showAllGoalSpecificMetrics whether to show all goal specific metrics when no goal is set
|
||||
* @return DataTable
|
||||
*/
|
||||
public function get($idSite, $period, $date, $segment = false, $idGoal = false, $columns = array(), $showAllGoalSpecificMetrics = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
/** @var DataTable|DataTable\Map $table */
|
||||
$table = null;
|
||||
|
||||
$segments = array(
|
||||
'' => false,
|
||||
'_new_visit' => self::NEW_VISIT_SEGMENT,
|
||||
'_returning_visit' => VisitFrequencyAPI::RETURNING_VISITOR_SEGMENT
|
||||
);
|
||||
|
||||
foreach ($segments as $appendToMetricName => $predefinedSegment) {
|
||||
$segmentToUse = $this->appendSegment($predefinedSegment, $segment);
|
||||
|
||||
/** @var DataTable|DataTable\Map $tableSegmented */
|
||||
$tableSegmented = Request::processRequest('Goals.getMetrics', array(
|
||||
'segment' => $segmentToUse,
|
||||
'idSite' => $idSite,
|
||||
'period' => $period,
|
||||
'date' => $date,
|
||||
'idGoal' => $idGoal,
|
||||
'columns' => $columns,
|
||||
'showAllGoalSpecificMetrics' => $showAllGoalSpecificMetrics,
|
||||
'format_metrics' => Common::getRequestVar('format_metrics', 'bc'),
|
||||
));
|
||||
|
||||
$tableSegmented->filter('Piwik\Plugins\Goals\DataTable\Filter\AppendNameToColumnNames',
|
||||
array($appendToMetricName));
|
||||
|
||||
if (!isset($table)) {
|
||||
$table = $tableSegmented;
|
||||
} else {
|
||||
$merger = new MergeDataTables();
|
||||
$merger->mergeDataTables($table, $tableSegmented);
|
||||
}
|
||||
}
|
||||
|
||||
return $table;
|
||||
}
|
||||
|
||||
/**
|
||||
* Similar to {@link get()} but does not return any metrics for new and returning visitors. It won't apply
|
||||
* any segment by default. This method is deprecated from the API as it is only there to make the implementation of
|
||||
* the actual {@link get()} method easy.
|
||||
*
|
||||
* @deprecated
|
||||
* @internal
|
||||
*/
|
||||
public function getMetrics($idSite, $period, $date, $segment = false, $idGoal = false, $columns = array(), $showAllGoalSpecificMetrics = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$archive = Archive::build($idSite, $period, $date, $segment);
|
||||
|
||||
$showAllGoalSpecificMetrics = $showAllGoalSpecificMetrics && $idGoal === false;
|
||||
|
||||
// Mapping string idGoal to internal ID
|
||||
$idGoal = self::convertSpecialGoalIds($idGoal);
|
||||
$isEcommerceGoal = $idGoal === GoalManager::IDGOAL_ORDER || $idGoal === GoalManager::IDGOAL_CART;
|
||||
|
||||
$allMetrics = Goals::getGoalColumns($idGoal);
|
||||
|
||||
if ($showAllGoalSpecificMetrics) {
|
||||
foreach ($this->getGoals($idSite) as $aGoal) {
|
||||
foreach (Goals::getGoalColumns($aGoal['idgoal']) as $goalColumn) {
|
||||
$allMetrics[] = Goals::makeGoalColumn($aGoal['idgoal'], $goalColumn);
|
||||
}
|
||||
}
|
||||
$allMetrics[] = 'nb_visits';
|
||||
}
|
||||
|
||||
$columnsToShow = Piwik::getArrayFromApiParameter($columns);
|
||||
$requestedColumns = $columnsToShow;
|
||||
|
||||
$shouldAddAverageOrderRevenue = (in_array('avg_order_revenue', $requestedColumns) || empty($requestedColumns)) && $isEcommerceGoal;
|
||||
|
||||
if ($shouldAddAverageOrderRevenue && !empty($requestedColumns)) {
|
||||
|
||||
$avgOrder = new AverageOrderRevenue();
|
||||
$metricsToAdd = $avgOrder->getDependentMetrics();
|
||||
|
||||
$requestedColumns = array_unique(array_merge($requestedColumns, $metricsToAdd));
|
||||
}
|
||||
|
||||
if ($showAllGoalSpecificMetrics && !empty($requestedColumns)) {
|
||||
foreach ($requestedColumns as $requestedColumn) {
|
||||
if (strpos($requestedColumn, '_conversion_rate') !== false) {
|
||||
$columnIdGoal = Goals::getGoalIdFromGoalColumn($requestedColumn);
|
||||
if ($columnIdGoal) {
|
||||
$goalConversionRate = new GoalConversionRate($idSite, $columnIdGoal);
|
||||
$metricsToAdd = $goalConversionRate->getDependentMetrics();
|
||||
$requestedColumns = array_unique(array_merge($requestedColumns, $metricsToAdd));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$report = ReportsProvider::factory('Goals', 'getMetrics');
|
||||
$columnsToGet = $report->getMetricsRequiredForReport($allMetrics, $requestedColumns);
|
||||
|
||||
$inDbMetricNames = array_map(function ($name) use ($idGoal) {
|
||||
$name = str_replace('goal_', '', $name);
|
||||
return $name == 'nb_visits' ? $name : Archiver::getRecordName($name, $idGoal);
|
||||
}, $columnsToGet);
|
||||
$dataTable = $archive->getDataTableFromNumeric($inDbMetricNames);
|
||||
|
||||
if (count($columnsToGet) > 0) {
|
||||
$newNameMapping = array_combine($inDbMetricNames, $columnsToGet);
|
||||
} else {
|
||||
$newNameMapping = array();
|
||||
}
|
||||
$dataTable->filter('ReplaceColumnNames', array($newNameMapping));
|
||||
|
||||
// TODO: this should be in Goals/Get.php but it depends on idGoal parameter which isn't always in _GET (ie,
|
||||
// it's not in ProcessedReport.php). more refactoring must be done to report class before this can be
|
||||
// corrected.
|
||||
if ($shouldAddAverageOrderRevenue) {
|
||||
$dataTable->filter(function (DataTable $table) {
|
||||
$extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME);
|
||||
if (empty($extraProcessedMetrics)) {
|
||||
$extraProcessedMetrics = array();
|
||||
}
|
||||
$extraProcessedMetrics[] = new AverageOrderRevenue();
|
||||
$table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics);
|
||||
});
|
||||
}
|
||||
if ($showAllGoalSpecificMetrics) {
|
||||
$dataTable->filter(function (DataTable $table) use($idSite, &$allMetrics, $requestedColumns) {
|
||||
$extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME);
|
||||
if (empty($extraProcessedMetrics)) {
|
||||
$extraProcessedMetrics = array();
|
||||
}
|
||||
foreach ($this->getGoals($idSite) as $aGoal) {
|
||||
$metric = new GoalConversionRate($idSite, $aGoal['idgoal']);
|
||||
if (!empty($requestedColumns) && !in_array($metric->getName(), $requestedColumns)) {
|
||||
continue;
|
||||
}
|
||||
$extraProcessedMetrics[] = $metric;
|
||||
$allMetrics[] = $metric->getName();
|
||||
}
|
||||
$table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics);
|
||||
});
|
||||
}
|
||||
|
||||
// remove temporary metrics that were not explicitly requested
|
||||
if (empty($columnsToShow)) {
|
||||
$columnsToShow = $allMetrics;
|
||||
$columnsToShow[] = 'conversion_rate';
|
||||
if ($isEcommerceGoal) {
|
||||
$columnsToShow[] = 'avg_order_revenue';
|
||||
}
|
||||
}
|
||||
|
||||
$dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
protected function appendSegment($segment, $segmentToAppend)
|
||||
{
|
||||
return Segment::combine($segment, SegmentExpression::AND_DELIMITER, $segmentToAppend);
|
||||
}
|
||||
|
||||
protected function getNumeric($idSite, $period, $date, $segment, $toFetch)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$archive = Archive::build($idSite, $period, $date, $segment);
|
||||
$dataTable = $archive->getDataTableFromNumeric($toFetch);
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function getConversions($idSite, $period, $date, $segment = false, $idGoal = false)
|
||||
{
|
||||
return $this->getNumeric($idSite, $period, $date, $segment, Archiver::getRecordName('nb_conversions', $idGoal));
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function getNbVisitsConverted($idSite, $period, $date, $segment = false, $idGoal = false)
|
||||
{
|
||||
return $this->getNumeric($idSite, $period, $date, $segment, Archiver::getRecordName('nb_visits_converted', $idGoal));
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function getConversionRate($idSite, $period, $date, $segment = false, $idGoal = false)
|
||||
{
|
||||
$table = $this->get($idSite, $period, $date, $segment, $idGoal, 'conversion_rate');
|
||||
$table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, array(new ConversionRate()));
|
||||
return $table;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function getRevenue($idSite, $period, $date, $segment = false, $idGoal = false)
|
||||
{
|
||||
return $this->getNumeric($idSite, $period, $date, $segment, Archiver::getRecordName('revenue', $idGoal));
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility method that retrieve an archived DataTable for a specific site, date range,
|
||||
* segment and goal. If not goal is specified, this method will retrieve and sum the
|
||||
* data for every goal.
|
||||
*
|
||||
* @param string $recordName The archive entry name.
|
||||
* @param int|string $idSite The site(s) to select data for.
|
||||
* @param string $period The period type.
|
||||
* @param string $date The date type.
|
||||
* @param string $segment The segment.
|
||||
* @param int|bool $idGoal The id of the goal to get data for. If this is set to false,
|
||||
* data for every goal that belongs to $idSite is returned.
|
||||
* @return false|DataTable
|
||||
*/
|
||||
protected function getGoalSpecificDataTable($recordName, $idSite, $period, $date, $segment, $idGoal)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
|
||||
$archive = Archive::build($idSite, $period, $date, $segment);
|
||||
|
||||
// check for the special goal ids
|
||||
$realGoalId = $idGoal != true ? false : self::convertSpecialGoalIds($idGoal);
|
||||
|
||||
// get the data table
|
||||
$dataTable = $archive->getDataTable(Archiver::getRecordName($recordName, $realGoalId), $idSubtable = null);
|
||||
$dataTable->queueFilter('ReplaceColumnNames');
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a DataTable that maps ranges of days to the number of conversions that occurred
|
||||
* within those ranges, for the specified site, date range, segment and goal.
|
||||
*
|
||||
* @param int $idSite The site to select data from.
|
||||
* @param string $period The period type.
|
||||
* @param string $date The date type.
|
||||
* @param string|bool $segment The segment.
|
||||
* @param int|bool $idGoal The id of the goal to get data for. If this is set to false,
|
||||
* data for every goal that belongs to $idSite is returned.
|
||||
* @return false|DataTable
|
||||
*/
|
||||
public function getDaysToConversion($idSite, $period, $date, $segment = false, $idGoal = false)
|
||||
{
|
||||
$dataTable = $this->getGoalSpecificDataTable(
|
||||
Archiver::DAYS_UNTIL_CONV_RECORD_NAME, $idSite, $period, $date, $segment, $idGoal);
|
||||
|
||||
$dataTable->queueFilter('Sort', array('label', 'asc', true, false));
|
||||
$dataTable->queueFilter(
|
||||
'BeautifyRangeLabels', array(Piwik::translate('Intl_OneDay'), Piwik::translate('Intl_NDays')));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a DataTable that maps ranges of visit counts to the number of conversions that
|
||||
* occurred on those visits for the specified site, date range, segment and goal.
|
||||
*
|
||||
* @param int $idSite The site to select data from.
|
||||
* @param string $period The period type.
|
||||
* @param string $date The date type.
|
||||
* @param string|bool $segment The segment.
|
||||
* @param int|bool $idGoal The id of the goal to get data for. If this is set to false,
|
||||
* data for every goal that belongs to $idSite is returned.
|
||||
* @return bool|DataTable
|
||||
*/
|
||||
public function getVisitsUntilConversion($idSite, $period, $date, $segment = false, $idGoal = false)
|
||||
{
|
||||
$dataTable = $this->getGoalSpecificDataTable(
|
||||
Archiver::VISITS_UNTIL_RECORD_NAME, $idSite, $period, $date, $segment, $idGoal);
|
||||
|
||||
$dataTable->queueFilter('Sort', array('label', 'asc', true, false));
|
||||
$dataTable->queueFilter(
|
||||
'BeautifyRangeLabels', array(Piwik::translate('General_OneVisit'), Piwik::translate('General_NVisits')));
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enhances the dataTable with Items attributes found in the Custom Variables report.
|
||||
*
|
||||
* @param $dataTable
|
||||
* @param $recordName
|
||||
* @param $idSite
|
||||
* @param $period
|
||||
* @param $date
|
||||
* @param $segment
|
||||
*/
|
||||
protected function enrichItemsTableWithViewMetrics($dataTable, $recordName, $idSite, $period, $date, $segment)
|
||||
{
|
||||
// Enrich the datatable with Product/Categories views, and conversion rates
|
||||
$customVariables = \Piwik\Plugins\CustomVariables\API::getInstance()->getCustomVariables($idSite, $period, $date, $segment, $expanded = false,
|
||||
$_leavePiwikCoreVariables = true);
|
||||
$mapping = array(
|
||||
'Goals_ItemsSku' => '_pks',
|
||||
'Goals_ItemsName' => '_pkn',
|
||||
'Goals_ItemsCategory' => '_pkc',
|
||||
);
|
||||
$reportToNotDefinedString = array(
|
||||
'Goals_ItemsSku' => Piwik::translate('General_NotDefined', Piwik::translate('Goals_ProductSKU')), // Note: this should never happen
|
||||
'Goals_ItemsName' => Piwik::translate('General_NotDefined', Piwik::translate('Goals_ProductName')),
|
||||
'Goals_ItemsCategory' => Piwik::translate('General_NotDefined', Piwik::translate('Goals_ProductCategory'))
|
||||
);
|
||||
$notDefinedStringPretty = $reportToNotDefinedString[$recordName];
|
||||
$customVarNameToLookFor = $mapping[$recordName];
|
||||
|
||||
// Handle case where date=last30&period=day
|
||||
if ($customVariables instanceof DataTable\Map) {
|
||||
$customVariableDatatables = $customVariables->getDataTables();
|
||||
$dataTables = $dataTable->getDataTables();
|
||||
foreach ($customVariableDatatables as $key => $customVariableTableForDate) {
|
||||
$dataTableForDate = isset($dataTables[$key]) ? $dataTables[$key] : new DataTable();
|
||||
|
||||
// we do not enter the IF
|
||||
// if case idSite=1,3 AND period=day&date=datefrom,dateto,
|
||||
if ($customVariableTableForDate instanceof DataTable
|
||||
&& $customVariableTableForDate->getMetadata(Archive\DataTableFactory::TABLE_METADATA_PERIOD_INDEX)
|
||||
) {
|
||||
$dateRewrite = $customVariableTableForDate->getMetadata(Archive\DataTableFactory::TABLE_METADATA_PERIOD_INDEX)->getDateStart()->toString();
|
||||
$row = $customVariableTableForDate->getRowFromLabel($customVarNameToLookFor);
|
||||
if ($row) {
|
||||
$idSubtable = $row->getIdSubDataTable();
|
||||
$this->enrichItemsDataTableWithItemsViewMetrics($dataTableForDate, $idSite, $period, $dateRewrite, $segment, $idSubtable);
|
||||
}
|
||||
$dataTable->addTable($dataTableForDate, $key);
|
||||
}
|
||||
$this->renameNotDefinedRow($dataTableForDate, $notDefinedStringPretty);
|
||||
}
|
||||
} elseif ($customVariables instanceof DataTable) {
|
||||
$row = $customVariables->getRowFromLabel($customVarNameToLookFor);
|
||||
if ($row) {
|
||||
$idSubtable = $row->getIdSubDataTable();
|
||||
$this->enrichItemsDataTableWithItemsViewMetrics($dataTable, $idSite, $period, $date, $segment, $idSubtable);
|
||||
}
|
||||
$this->renameNotDefinedRow($dataTable, $notDefinedStringPretty);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private function getCacheId($idSite)
|
||||
{
|
||||
return CacheId::pluginAware('Goals.getGoals.' . $idSite);
|
||||
}
|
||||
|
||||
private function getGoalsInfoStaticCache()
|
||||
{
|
||||
return PiwikCache::getTransientCache();
|
||||
}
|
||||
}
|
431
msd2/tracking/piwik/plugins/Goals/Archiver.php
Normal file
431
msd2/tracking/piwik/plugins/Goals/Archiver.php
Normal file
@ -0,0 +1,431 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Piwik\DataAccess\LogAggregator;
|
||||
use Piwik\DataArray;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
use Piwik\Plugins\VisitFrequency\API as VisitFrequencyAPI;
|
||||
|
||||
class Archiver extends \Piwik\Plugin\Archiver
|
||||
{
|
||||
const VISITS_UNTIL_RECORD_NAME = 'visits_until_conv';
|
||||
const DAYS_UNTIL_CONV_RECORD_NAME = 'days_until_conv';
|
||||
const ITEMS_SKU_RECORD_NAME = 'Goals_ItemsSku';
|
||||
const ITEMS_NAME_RECORD_NAME = 'Goals_ItemsName';
|
||||
const ITEMS_CATEGORY_RECORD_NAME = 'Goals_ItemsCategory';
|
||||
const SKU_FIELD = 'idaction_sku';
|
||||
const NAME_FIELD = 'idaction_name';
|
||||
const CATEGORY_FIELD = 'idaction_category';
|
||||
const CATEGORY2_FIELD = 'idaction_category2';
|
||||
const CATEGORY3_FIELD = 'idaction_category3';
|
||||
const CATEGORY4_FIELD = 'idaction_category4';
|
||||
const CATEGORY5_FIELD = 'idaction_category5';
|
||||
const NO_LABEL = ':';
|
||||
const LOG_CONVERSION_TABLE = 'log_conversion';
|
||||
const VISITS_COUNT_FIELD = 'visitor_count_visits';
|
||||
const DAYS_SINCE_FIRST_VISIT_FIELD = 'visitor_days_since_first';
|
||||
|
||||
const NEW_VISIT_SEGMENT = 'visitorType%3D%3Dnew'; // visitorType==new
|
||||
|
||||
/**
|
||||
* This array stores the ranges to use when displaying the 'visits to conversion' report
|
||||
*/
|
||||
public static $visitCountRanges = array(
|
||||
array(1, 1),
|
||||
array(2, 2),
|
||||
array(3, 3),
|
||||
array(4, 4),
|
||||
array(5, 5),
|
||||
array(6, 6),
|
||||
array(7, 7),
|
||||
array(8, 8),
|
||||
array(9, 14),
|
||||
array(15, 25),
|
||||
array(26, 50),
|
||||
array(51, 100),
|
||||
array(100)
|
||||
);
|
||||
/**
|
||||
* This array stores the ranges to use when displaying the 'days to conversion' report
|
||||
*/
|
||||
public static $daysToConvRanges = array(
|
||||
array(0, 0),
|
||||
array(1, 1),
|
||||
array(2, 2),
|
||||
array(3, 3),
|
||||
array(4, 4),
|
||||
array(5, 5),
|
||||
array(6, 6),
|
||||
array(7, 7),
|
||||
array(8, 14),
|
||||
array(15, 30),
|
||||
array(31, 60),
|
||||
array(61, 120),
|
||||
array(121, 364),
|
||||
array(364)
|
||||
);
|
||||
protected $dimensionRecord = array(
|
||||
self::SKU_FIELD => self::ITEMS_SKU_RECORD_NAME,
|
||||
self::NAME_FIELD => self::ITEMS_NAME_RECORD_NAME,
|
||||
self::CATEGORY_FIELD => self::ITEMS_CATEGORY_RECORD_NAME
|
||||
);
|
||||
|
||||
/**
|
||||
* Array containing one DataArray for each Ecommerce items dimension (name/sku/category abandoned carts and orders)
|
||||
* @var array
|
||||
*/
|
||||
protected $itemReports = array();
|
||||
|
||||
public function aggregateDayReport()
|
||||
{
|
||||
$this->aggregateGeneralGoalMetrics();
|
||||
$this->aggregateEcommerceItems();
|
||||
|
||||
$this->getProcessor()->processDependentArchive('Goals', API::NEW_VISIT_SEGMENT);
|
||||
$this->getProcessor()->processDependentArchive('Goals', VisitFrequencyAPI::RETURNING_VISITOR_SEGMENT);
|
||||
}
|
||||
|
||||
protected function aggregateGeneralGoalMetrics()
|
||||
{
|
||||
$prefixes = array(
|
||||
self::VISITS_UNTIL_RECORD_NAME => 'vcv',
|
||||
self::DAYS_UNTIL_CONV_RECORD_NAME => 'vdsf',
|
||||
);
|
||||
|
||||
$selects = array();
|
||||
$selects = array_merge($selects, LogAggregator::getSelectsFromRangedColumn(
|
||||
self::VISITS_COUNT_FIELD, self::$visitCountRanges, self::LOG_CONVERSION_TABLE, $prefixes[self::VISITS_UNTIL_RECORD_NAME]
|
||||
));
|
||||
$selects = array_merge($selects, LogAggregator::getSelectsFromRangedColumn(
|
||||
self::DAYS_SINCE_FIRST_VISIT_FIELD, self::$daysToConvRanges, self::LOG_CONVERSION_TABLE, $prefixes[self::DAYS_UNTIL_CONV_RECORD_NAME]
|
||||
));
|
||||
|
||||
$query = $this->getLogAggregator()->queryConversionsByDimension(array(), false, $selects);
|
||||
if ($query === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
$totalConversions = $totalRevenue = 0;
|
||||
$goals = new DataArray();
|
||||
$visitsToConversions = $daysToConversions = array();
|
||||
|
||||
$conversionMetrics = $this->getLogAggregator()->getConversionsMetricFields();
|
||||
while ($row = $query->fetch()) {
|
||||
$idGoal = $row['idgoal'];
|
||||
unset($row['idgoal']);
|
||||
unset($row['label']);
|
||||
|
||||
$values = array();
|
||||
foreach ($conversionMetrics as $field => $statement) {
|
||||
$values[$field] = $row[$field];
|
||||
}
|
||||
$goals->sumMetrics($idGoal, $values);
|
||||
|
||||
if (empty($visitsToConversions[$idGoal])) {
|
||||
$visitsToConversions[$idGoal] = new DataTable();
|
||||
}
|
||||
$array = LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::VISITS_UNTIL_RECORD_NAME]);
|
||||
$visitsToConversions[$idGoal]->addDataTable(DataTable::makeFromIndexedArray($array));
|
||||
|
||||
if (empty($daysToConversions[$idGoal])) {
|
||||
$daysToConversions[$idGoal] = new DataTable();
|
||||
}
|
||||
$array = LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::DAYS_UNTIL_CONV_RECORD_NAME]);
|
||||
$daysToConversions[$idGoal]->addDataTable(DataTable::makeFromIndexedArray($array));
|
||||
|
||||
// We don't want to sum Abandoned cart metrics in the overall revenue/conversions/converted visits
|
||||
// since it is a "negative conversion"
|
||||
if ($idGoal != GoalManager::IDGOAL_CART) {
|
||||
$totalConversions += $row[Metrics::INDEX_GOAL_NB_CONVERSIONS];
|
||||
$totalRevenue += $row[Metrics::INDEX_GOAL_REVENUE];
|
||||
}
|
||||
}
|
||||
|
||||
// Stats by goal, for all visitors
|
||||
$numericRecords = $this->getConversionsNumericMetrics($goals);
|
||||
$this->getProcessor()->insertNumericRecords($numericRecords);
|
||||
|
||||
$this->insertReports(self::VISITS_UNTIL_RECORD_NAME, $visitsToConversions);
|
||||
$this->insertReports(self::DAYS_UNTIL_CONV_RECORD_NAME, $daysToConversions);
|
||||
|
||||
// Stats for all goals
|
||||
$nbConvertedVisits = $this->getProcessor()->getNumberOfVisitsConverted();
|
||||
$metrics = array(
|
||||
self::getRecordName('nb_conversions') => $totalConversions,
|
||||
self::getRecordName('nb_visits_converted') => $nbConvertedVisits,
|
||||
self::getRecordName('revenue') => $totalRevenue,
|
||||
);
|
||||
$this->getProcessor()->insertNumericRecords($metrics);
|
||||
}
|
||||
|
||||
protected function getConversionsNumericMetrics(DataArray $goals)
|
||||
{
|
||||
$numericRecords = array();
|
||||
$goals = $goals->getDataArray();
|
||||
foreach ($goals as $idGoal => $array) {
|
||||
foreach ($array as $metricId => $value) {
|
||||
$metricName = Metrics::$mappingFromIdToNameGoal[$metricId];
|
||||
$recordName = self::getRecordName($metricName, $idGoal);
|
||||
$numericRecords[$recordName] = $value;
|
||||
}
|
||||
}
|
||||
return $numericRecords;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $recordName 'nb_conversions'
|
||||
* @param int|bool $idGoal idGoal to return the metrics for, or false to return overall
|
||||
* @return string Archive record name
|
||||
*/
|
||||
public static function getRecordName($recordName, $idGoal = false)
|
||||
{
|
||||
$idGoalStr = '';
|
||||
if ($idGoal !== false) {
|
||||
$idGoalStr = $idGoal . "_";
|
||||
}
|
||||
return 'Goal_' . $idGoalStr . $recordName;
|
||||
}
|
||||
|
||||
protected function insertReports($recordName, $visitsToConversions)
|
||||
{
|
||||
foreach ($visitsToConversions as $idGoal => $table) {
|
||||
$record = self::getRecordName($recordName, $idGoal);
|
||||
$this->getProcessor()->insertBlobRecord($record, $table->getSerialized());
|
||||
}
|
||||
$overviewTable = $this->getOverviewFromGoalTables($visitsToConversions);
|
||||
$this->getProcessor()->insertBlobRecord(self::getRecordName($recordName), $overviewTable->getSerialized());
|
||||
}
|
||||
|
||||
protected function getOverviewFromGoalTables($tableByGoal)
|
||||
{
|
||||
$overview = new DataTable();
|
||||
foreach ($tableByGoal as $idGoal => $table) {
|
||||
if ($this->isStandardGoal($idGoal)) {
|
||||
$overview->addDataTable($table);
|
||||
}
|
||||
}
|
||||
return $overview;
|
||||
}
|
||||
|
||||
protected function isStandardGoal($idGoal)
|
||||
{
|
||||
return !in_array($idGoal, $this->getEcommerceIdGoals());
|
||||
}
|
||||
|
||||
protected function aggregateEcommerceItems()
|
||||
{
|
||||
$this->initItemReports();
|
||||
foreach ($this->getItemsDimensions() as $dimension) {
|
||||
$query = $this->getLogAggregator()->queryEcommerceItems($dimension);
|
||||
if ($query == false) {
|
||||
continue;
|
||||
}
|
||||
$this->aggregateFromEcommerceItems($query, $dimension);
|
||||
}
|
||||
$this->insertItemReports();
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function initItemReports()
|
||||
{
|
||||
foreach ($this->getEcommerceIdGoals() as $ecommerceType) {
|
||||
foreach ($this->dimensionRecord as $dimension => $record) {
|
||||
$this->itemReports[$dimension][$ecommerceType] = new DataArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function insertItemReports()
|
||||
{
|
||||
/** @var DataArray $array */
|
||||
foreach ($this->itemReports as $dimension => $itemAggregatesByType) {
|
||||
foreach ($itemAggregatesByType as $ecommerceType => $itemAggregate) {
|
||||
$recordName = $this->dimensionRecord[$dimension];
|
||||
if ($ecommerceType == GoalManager::IDGOAL_CART) {
|
||||
$recordName = self::getItemRecordNameAbandonedCart($recordName);
|
||||
}
|
||||
$table = $itemAggregate->asDataTable();
|
||||
$this->getProcessor()->insertBlobRecord($recordName, $table->getSerialized());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function getItemsDimensions()
|
||||
{
|
||||
$dimensions = array_keys($this->dimensionRecord);
|
||||
foreach ($this->getItemExtraCategories() as $category) {
|
||||
$dimensions[] = $category;
|
||||
}
|
||||
return $dimensions;
|
||||
}
|
||||
|
||||
protected function getItemExtraCategories()
|
||||
{
|
||||
return array(self::CATEGORY2_FIELD, self::CATEGORY3_FIELD, self::CATEGORY4_FIELD, self::CATEGORY5_FIELD);
|
||||
}
|
||||
|
||||
protected function isItemExtraCategory($field)
|
||||
{
|
||||
return in_array($field, $this->getItemExtraCategories());
|
||||
}
|
||||
|
||||
protected function aggregateFromEcommerceItems($query, $dimension)
|
||||
{
|
||||
while ($row = $query->fetch()) {
|
||||
$ecommerceType = $row['ecommerceType'];
|
||||
|
||||
$label = $this->cleanupRowGetLabel($row, $dimension);
|
||||
if ($label === false) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Aggregate extra categories in the Item categories array
|
||||
if ($this->isItemExtraCategory($dimension)) {
|
||||
$array = $this->itemReports[self::CATEGORY_FIELD][$ecommerceType];
|
||||
} else {
|
||||
$array = $this->itemReports[$dimension][$ecommerceType];
|
||||
}
|
||||
|
||||
$this->roundColumnValues($row);
|
||||
$array->sumMetrics($label, $row);
|
||||
}
|
||||
}
|
||||
|
||||
protected function cleanupRowGetLabel(&$row, $currentField)
|
||||
{
|
||||
$label = $row['label'];
|
||||
if (empty($label)) {
|
||||
// An empty additional category -> skip this iteration
|
||||
if ($this->isItemExtraCategory($currentField)) {
|
||||
return false;
|
||||
}
|
||||
$label = "Value not defined";
|
||||
// Product Name/Category not defined"
|
||||
if (\Piwik\Plugin\Manager::getInstance()->isPluginActivated('CustomVariables')) {
|
||||
$label = \Piwik\Plugins\CustomVariables\Archiver::LABEL_CUSTOM_VALUE_NOT_DEFINED;
|
||||
}
|
||||
}
|
||||
|
||||
if ($row['ecommerceType'] == GoalManager::IDGOAL_CART) {
|
||||
// abandoned carts are the numner of visits with an abandoned cart
|
||||
$row[Metrics::INDEX_ECOMMERCE_ORDERS] = $row[Metrics::INDEX_NB_VISITS];
|
||||
}
|
||||
|
||||
unset($row[Metrics::INDEX_NB_VISITS]);
|
||||
unset($row['label']);
|
||||
unset($row['labelIdAction']);
|
||||
unset($row['ecommerceType']);
|
||||
|
||||
return $label;
|
||||
}
|
||||
|
||||
protected function roundColumnValues(&$row)
|
||||
{
|
||||
$columnsToRound = array(
|
||||
Metrics::INDEX_ECOMMERCE_ITEM_REVENUE,
|
||||
Metrics::INDEX_ECOMMERCE_ITEM_QUANTITY,
|
||||
Metrics::INDEX_ECOMMERCE_ITEM_PRICE,
|
||||
Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED,
|
||||
);
|
||||
foreach ($columnsToRound as $column) {
|
||||
if (isset($row[$column])
|
||||
&& $row[$column] == round($row[$column])
|
||||
) {
|
||||
$row[$column] = round($row[$column]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function getEcommerceIdGoals()
|
||||
{
|
||||
return array(GoalManager::IDGOAL_CART, GoalManager::IDGOAL_ORDER);
|
||||
}
|
||||
|
||||
public static function getItemRecordNameAbandonedCart($recordName)
|
||||
{
|
||||
return $recordName . '_Cart';
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal param $this->getProcessor()
|
||||
*/
|
||||
public function aggregateMultipleReports()
|
||||
{
|
||||
/*
|
||||
* Archive Ecommerce Items
|
||||
*/
|
||||
$dataTableToSum = $this->dimensionRecord;
|
||||
foreach ($this->dimensionRecord as $recordName) {
|
||||
$dataTableToSum[] = self::getItemRecordNameAbandonedCart($recordName);
|
||||
}
|
||||
$columnsAggregationOperation = null;
|
||||
|
||||
$this->getProcessor()->aggregateDataTableRecords($dataTableToSum,
|
||||
$maximumRowsInDataTableLevelZero = null,
|
||||
$maximumRowsInSubDataTable = null,
|
||||
$columnToSortByBeforeTruncation = null,
|
||||
$columnsAggregationOperation,
|
||||
$columnsToRenameAfterAggregation = null,
|
||||
$countRowsRecursive = array());
|
||||
|
||||
/*
|
||||
* Archive General Goal metrics
|
||||
*/
|
||||
$goalIdsToSum = GoalManager::getGoalIds($this->getProcessor()->getParams()->getSite()->getId());
|
||||
|
||||
//Ecommerce
|
||||
$goalIdsToSum[] = GoalManager::IDGOAL_ORDER;
|
||||
$goalIdsToSum[] = GoalManager::IDGOAL_CART; //bug here if idgoal=1
|
||||
// Overall goal metrics
|
||||
$goalIdsToSum[] = false;
|
||||
|
||||
$fieldsToSum = array();
|
||||
foreach ($goalIdsToSum as $goalId) {
|
||||
$metricsToSum = Goals::getGoalColumns($goalId);
|
||||
foreach ($metricsToSum as $metricName) {
|
||||
$fieldsToSum[] = self::getRecordName($metricName, $goalId);
|
||||
}
|
||||
}
|
||||
$this->getProcessor()->aggregateNumericMetrics($fieldsToSum);
|
||||
|
||||
$columnsAggregationOperation = null;
|
||||
|
||||
foreach ($goalIdsToSum as $goalId) {
|
||||
// sum up the visits to conversion data table & the days to conversion data table
|
||||
$this->getProcessor()->aggregateDataTableRecords(
|
||||
array(self::getRecordName(self::VISITS_UNTIL_RECORD_NAME, $goalId),
|
||||
self::getRecordName(self::DAYS_UNTIL_CONV_RECORD_NAME, $goalId)),
|
||||
$maximumRowsInDataTableLevelZero = null,
|
||||
$maximumRowsInSubDataTable = null,
|
||||
$columnToSortByBeforeTruncation = null,
|
||||
$columnsAggregationOperation,
|
||||
$columnsToRenameAfterAggregation = null,
|
||||
$countRowsRecursive = array());
|
||||
}
|
||||
|
||||
$columnsAggregationOperation = null;
|
||||
// sum up goal overview reports
|
||||
$this->getProcessor()->aggregateDataTableRecords(
|
||||
array(self::getRecordName(self::VISITS_UNTIL_RECORD_NAME),
|
||||
self::getRecordName(self::DAYS_UNTIL_CONV_RECORD_NAME)),
|
||||
$maximumRowsInDataTableLevelZero = null,
|
||||
$maximumRowsInSubDataTable = null,
|
||||
$columnToSortByBeforeTruncation = null,
|
||||
$columnsAggregationOperation,
|
||||
$columnsToRenameAfterAggregation = null,
|
||||
$countRowsRecursive = array());
|
||||
|
||||
$this->getProcessor()->processDependentArchive('Goals', API::NEW_VISIT_SEGMENT);
|
||||
$this->getProcessor()->processDependentArchive('Goals', VisitFrequencyAPI::RETURNING_VISITOR_SEGMENT);
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class AddANewGoalSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Goals_Goals';
|
||||
protected $id = 'Goals_AddNewGoal';
|
||||
protected $order = 9999;
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Categories;
|
||||
|
||||
use Piwik\Category\Category;
|
||||
|
||||
class GoalsCategory extends Category
|
||||
{
|
||||
protected $id = 'Goals_Goals';
|
||||
protected $order = 25;
|
||||
protected $icon = 'icon-reporting-goal';
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class GoalsOverviewSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Goals_Goals';
|
||||
protected $id = 'General_Overview';
|
||||
protected $order = 2;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class ManageGoalsSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'Goals_Goals';
|
||||
protected $id = 'Goals_ManageGoals';
|
||||
protected $order = 9999;
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Columns;
|
||||
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class DaysToConversion extends Dimension
|
||||
{
|
||||
protected $type = self::TYPE_NUMBER;
|
||||
protected $nameSingular = 'Goals_DaysToConv';
|
||||
}
|
34
msd2/tracking/piwik/plugins/Goals/Columns/IdGoal.php
Normal file
34
msd2/tracking/piwik/plugins/Goals/Columns/IdGoal.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Columns;
|
||||
|
||||
use Piwik\Columns\DimensionMetricFactory;
|
||||
use Piwik\Columns\Join;
|
||||
use Piwik\Columns\MetricsList;
|
||||
use Piwik\Plugin\Dimension\ConversionDimension;
|
||||
|
||||
class IdGoal extends ConversionDimension
|
||||
{
|
||||
protected $columnName = 'idgoal';
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $category = 'General_Visitors'; // todo move into goal category?
|
||||
protected $nameSingular = 'General_VisitConvertedGoalId';
|
||||
protected $segmentName = 'visitConvertedGoalId';
|
||||
protected $acceptValues = '1, 2, 3, etc.';
|
||||
|
||||
public function configureMetrics(MetricsList $metricsList, DimensionMetricFactory $dimensionMetricFactory)
|
||||
{
|
||||
// do not create any metrics for this dimension, they don't really make much sense and are rather confusing
|
||||
}
|
||||
|
||||
public function getDbColumnJoin()
|
||||
{
|
||||
return new Join\GoalNameJoin();
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Columns\Metrics;
|
||||
|
||||
use Piwik\Archive\DataTableFactory;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ProcessedMetric;
|
||||
|
||||
/**
|
||||
* The average value for each order. Calculated as:
|
||||
*
|
||||
* revenue / nb_conversions
|
||||
*
|
||||
* revenue & nb_conversions are calculated by the Goals archiver.
|
||||
*/
|
||||
class AverageOrderRevenue extends ProcessedMetric
|
||||
{
|
||||
private $idSite;
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return 'avg_order_revenue';
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$revenue = $this->getMetric($row, 'revenue');
|
||||
$conversions = $this->getMetric($row, 'nb_conversions');
|
||||
|
||||
return Piwik::getQuotientSafe($revenue, $conversions, $precision = 2);
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('General_AverageOrderValue');
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('revenue', 'nb_conversions');
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyMoney($value, $this->idSite);
|
||||
}
|
||||
|
||||
public function beforeFormat($report, DataTable $table)
|
||||
{
|
||||
$this->idSite = DataTableFactory::getSiteIdFromMetadata($table);
|
||||
return !empty($this->idSite); // skip formatting if there is no site to get currency info from
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace Piwik\Plugins\Goals\Columns\Metrics;
|
||||
|
||||
use Piwik\Archive\DataTableFactory;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ProcessedMetric;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* The average price for each ecommerce order or abandoned cart. Calculated as:
|
||||
*
|
||||
* price / (orders or abandoned_carts)
|
||||
*
|
||||
* price, orders and abandoned_carts are calculated by the Goals archiver.
|
||||
*/
|
||||
class AveragePrice extends ProcessedMetric
|
||||
{
|
||||
private $idSite;
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return 'avg_price';
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('General_AveragePrice');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$price = $this->getMetric($row, 'price');
|
||||
$orders = $this->getMetric($row, 'orders');
|
||||
$abandonedCarts = $this->getMetric($row, 'abandoned_carts');
|
||||
|
||||
return Piwik::getQuotientSafe($price, $orders === false ? $abandonedCarts : $orders, GoalManager::REVENUE_PRECISION);
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('price', 'orders', 'abandoned_carts');
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyMoney($value, $this->idSite);
|
||||
}
|
||||
|
||||
public function beforeFormat($report, DataTable $table)
|
||||
{
|
||||
$this->idSite = DataTableFactory::getSiteIdFromMetadata($table);
|
||||
return !empty($this->idSite); // skip formatting if there is no site to get currency info from
|
||||
}
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
<?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\Goals\Columns\Metrics;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ProcessedMetric;
|
||||
|
||||
/**
|
||||
* The average amount of products in each order or abandoned cart. Calculated as:
|
||||
*
|
||||
* quantity / (orders or abandoned_carts)
|
||||
*
|
||||
* quantity, orders and abandoned_carts are calculated by the Goals archiver.
|
||||
*/
|
||||
class AverageQuantity extends ProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return 'avg_quantity';
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('General_AverageQuantity');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$quantity = $this->getMetric($row, 'quantity');
|
||||
$orders = $this->getMetric($row, 'orders');
|
||||
$abandonedCarts = $this->getMetric($row, 'abandoned_carts');
|
||||
|
||||
return Piwik::getQuotientSafe($quantity, $orders === false ? $abandonedCarts : $orders, $precision = 1);
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('quantity', 'orders', 'abandoned_carts');
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
<?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\Goals\Columns\Metrics;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* The conversion rate for a specific goal. Calculated as:
|
||||
*
|
||||
* goal's nb_conversions / nb_visits
|
||||
*
|
||||
* The goal's nb_conversions is calculated by the Goal archiver and nb_visits
|
||||
* by the core archiving process.
|
||||
*/
|
||||
class GoalConversionRate extends GoalSpecificProcessedMetric
|
||||
{
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return Goals::makeGoalColumn($this->idGoal, 'conversion_rate');
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('Goals_ConversionRate', $this->getGoalName());
|
||||
}
|
||||
|
||||
public function getDocumentation()
|
||||
{
|
||||
return Piwik::translate('Goals_ColumnConversionRateDocumentation', $this->getGoalNameForDocs());
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('nb_visits', Goals::makeGoalColumn($this->idGoal, 'nb_conversions'));
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyPercentFromQuotient($value);
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$nbVisits = $this->getMetric($row, 'nb_visits');
|
||||
$conversions = $this->getMetric($row, Goals::makeGoalColumn($this->idGoal, 'nb_visits_converted'));
|
||||
|
||||
return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION + 2);
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
<?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\Goals\Columns\Metrics\GoalSpecific;
|
||||
|
||||
use Piwik\Archive\DataTableFactory;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* The average order revenue for a specific goal. Calculated as:
|
||||
*
|
||||
* goals' revenue / goal's nb_conversions
|
||||
*/
|
||||
class AverageOrderRevenue extends GoalSpecificProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return Goals::makeGoalColumn($this->idGoal, 'avg_order_revenue', false);
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('General_AverageOrderValue');
|
||||
}
|
||||
|
||||
public function getDocumentation()
|
||||
{
|
||||
return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs());
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('goals');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal();
|
||||
|
||||
$goalMetrics = $this->getGoalMetrics($row);
|
||||
|
||||
$goalRevenue = $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal);
|
||||
$conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal);
|
||||
|
||||
return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION);
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyMoney($value, $this->idSite);
|
||||
}
|
||||
|
||||
public function beforeFormat($report, DataTable $table)
|
||||
{
|
||||
$this->idSite = DataTableFactory::getSiteIdFromMetadata($table);
|
||||
return !empty($this->idSite); // skip formatting if there is no site to get currency info from
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* The conversion rate for a specific goal. Calculated as:
|
||||
*
|
||||
* goal's nb_conversions / nb_visits
|
||||
*
|
||||
* The goal's nb_conversions is calculated by the Goal archiver and nb_visits
|
||||
* by the core archiving process.
|
||||
*/
|
||||
class ConversionRate extends GoalSpecificProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return Goals::makeGoalColumn($this->idGoal, 'conversion_rate', false);
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('Goals_ConversionRate', $this->getGoalName());
|
||||
}
|
||||
|
||||
public function getDocumentation()
|
||||
{
|
||||
return Piwik::translate('Goals_ColumnConversionRateDocumentation', $this->getGoalNameForDocs());
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('goals');
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyPercentFromQuotient($value);
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal();
|
||||
|
||||
$goalMetrics = $this->getGoalMetrics($row);
|
||||
|
||||
$nbVisits = $this->getMetric($row, 'nb_visits');
|
||||
$conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal);
|
||||
|
||||
return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION + 2);
|
||||
}
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
|
||||
/**
|
||||
* The conversions for a specific goal. Returns the conversions for a single goal which
|
||||
* is then treated as a new column.
|
||||
*/
|
||||
class Conversions extends GoalSpecificProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return Goals::makeGoalColumn($this->idGoal, 'nb_conversions', false);
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('Goals_Conversions', $this->getGoalNameForDocs());
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('goals');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal();
|
||||
|
||||
$goalMetrics = $this->getGoalMetrics($row);
|
||||
return (int) $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal);
|
||||
}
|
||||
}
|
@ -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\Goals\Columns\Metrics\GoalSpecific;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
|
||||
/**
|
||||
* The number of ecommerce order items for conversions of a goal. Returns the 'items'
|
||||
* goal specific metric.
|
||||
*/
|
||||
class ItemsCount extends GoalSpecificProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return Goals::makeGoalColumn($this->idGoal, 'items', false);
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('General_PurchasedProducts');
|
||||
}
|
||||
|
||||
public function getDocumentation()
|
||||
{
|
||||
return Piwik::translate('Goals_ColumnPurchasedProductsDocumentation', $this->getGoalNameForDocs());
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('goals');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal();
|
||||
|
||||
$goalMetrics = $this->getGoalMetrics($row);
|
||||
return (int) $this->getMetric($goalMetrics, 'items', $mappingFromNameToIdGoal);
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific;
|
||||
|
||||
use Piwik\Archive\DataTableFactory;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
|
||||
/**
|
||||
* Revenue for a specific goal.
|
||||
*/
|
||||
class Revenue extends GoalSpecificProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return Goals::makeGoalColumn($this->idGoal, 'revenue', false);
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('%s ' . Piwik::translate('General_ColumnRevenue'), $this->getGoalName());
|
||||
}
|
||||
|
||||
public function getDocumentation()
|
||||
{
|
||||
return Piwik::translate('Goals_ColumnRevenueDocumentation', $this->getGoalNameForDocs());
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('goals');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal();
|
||||
|
||||
$goalMetrics = $this->getGoalMetrics($row);
|
||||
return (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal);
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyMoney($value, $this->idSite);
|
||||
}
|
||||
|
||||
public function beforeFormat($report, DataTable $table)
|
||||
{
|
||||
$this->idSite = DataTableFactory::getSiteIdFromMetadata($table);
|
||||
return !empty($this->idSite); // skip formatting if there is no site to get currency info from
|
||||
}
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
<?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\Goals\Columns\Metrics\GoalSpecific;
|
||||
|
||||
use Piwik\Archive\DataTableFactory;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* Revenue per visit for a specific goal. Calculated as:
|
||||
*
|
||||
* goal's revenue / (nb_visits or goal's nb_conversions depending on what is present in data)
|
||||
*
|
||||
* Goal revenue & nb_conversion are calculated by the Goals archiver.
|
||||
*/
|
||||
class RevenuePerVisit extends GoalSpecificProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return Goals::makeGoalColumn($this->idGoal, 'revenue_per_visit', false);
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return $this->getGoalName() . ' ' . Piwik::translate('General_ColumnValuePerVisit');
|
||||
}
|
||||
|
||||
public function getDocumentation()
|
||||
{
|
||||
if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs());
|
||||
} else {
|
||||
return Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', Piwik::translate('Goals_EcommerceAndGoalsMenu'));
|
||||
}
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('goals', 'nb_visits');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal();
|
||||
|
||||
$goalMetrics = $this->getGoalMetrics($row);
|
||||
|
||||
$nbVisits = $this->getMetric($row, 'nb_visits');
|
||||
$conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal);
|
||||
|
||||
$goalRevenue = (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal);
|
||||
|
||||
return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION);
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyMoney($value, $this->idSite);
|
||||
}
|
||||
|
||||
public function beforeFormat($report, DataTable $table)
|
||||
{
|
||||
$this->idSite = DataTableFactory::getSiteIdFromMetadata($table);
|
||||
return !empty($this->idSite); // skip formatting if there is no site to get currency info from
|
||||
}
|
||||
}
|
@ -0,0 +1,100 @@
|
||||
<?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\Goals\Columns\Metrics;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ProcessedMetric;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* Base class for processed metrics that are calculated using metrics that are
|
||||
* specific to certain goals.
|
||||
*/
|
||||
abstract class GoalSpecificProcessedMetric extends ProcessedMetric
|
||||
{
|
||||
/**
|
||||
* The ID of the goal to calculate metrics for.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $idGoal;
|
||||
|
||||
/**
|
||||
* The ID of the site the goal belongs to.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $idSite;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param int|null $idSite The ID of the site the goal belongs to. If supplied, affects the formatting
|
||||
* and translated name of the metric.
|
||||
* @param int $idGoal The ID of the goal to calculate metrics for.
|
||||
*/
|
||||
public function __construct($idSite, $idGoal)
|
||||
{
|
||||
$this->idSite = $idSite;
|
||||
$this->idGoal = $idGoal;
|
||||
}
|
||||
|
||||
protected function getGoalMetrics(Row $row)
|
||||
{
|
||||
$allGoalMetrics = $this->getMetric($row, 'goals');
|
||||
if (isset($allGoalMetrics[$this->idGoal])) {
|
||||
return $allGoalMetrics[$this->idGoal];
|
||||
} else {
|
||||
$alternateKey = 'idgoal=' . $this->idGoal;
|
||||
if (isset($allGoalMetrics[$alternateKey])) {
|
||||
return $allGoalMetrics[$alternateKey];
|
||||
} elseif ($this->idGoal === Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
$alternateKey = GoalManager::IDGOAL_ORDER;
|
||||
if (isset($allGoalMetrics[$alternateKey])) {
|
||||
return $allGoalMetrics[$alternateKey];
|
||||
}
|
||||
} elseif ($this->idGoal === Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) {
|
||||
$alternateKey = GoalManager::IDGOAL_CART;
|
||||
if (isset($allGoalMetrics[$alternateKey])) {
|
||||
return $allGoalMetrics[$alternateKey];
|
||||
}
|
||||
} else {
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function getGoalName()
|
||||
{
|
||||
if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
return Piwik::translate('Goals_EcommerceOrder');
|
||||
} else if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) {
|
||||
return Piwik::translate('Goals_AbandonedCart');
|
||||
}
|
||||
|
||||
if (isset($this->idSite)) {
|
||||
$allGoals = Request::processRequest('Goals.getGoals', ['idSite' => $this->idSite, 'filter_limit' => '-1'], $default = []);
|
||||
$goalName = @$allGoals[$this->idGoal]['name'];
|
||||
return Common::sanitizeInputValue($goalName);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
protected function getGoalNameForDocs()
|
||||
{
|
||||
$goalName = $this->getGoalName();
|
||||
if ($goalName == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
$goalName = '"' . $goalName . '"';
|
||||
}
|
||||
return $goalName;
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace Piwik\Plugins\Goals\Columns\Metrics;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ProcessedMetric;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* The conversion rate for ecommerce orders. Calculated as:
|
||||
*
|
||||
* (orders or abandoned_carts) / nb_visits
|
||||
*
|
||||
* orders and abandoned_carts are calculated by the Goals archiver.
|
||||
*/
|
||||
class ProductConversionRate extends ProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return 'conversion_rate';
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('General_ProductConversionRate');
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyPercentFromQuotient($value);
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$orders = $this->getMetric($row, 'orders');
|
||||
$abandonedCarts = $this->getMetric($row, 'abandoned_carts');
|
||||
$visits = $this->getMetric($row, 'nb_visits');
|
||||
|
||||
return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION + 2);
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('orders', 'abandoned_carts', 'nb_visits');
|
||||
}
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
<?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\Goals\Columns\Metrics;
|
||||
|
||||
use Piwik\Archive\DataTableFactory;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ProcessedMetric;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
|
||||
/**
|
||||
* The amount of revenue per visit (or per conversion if there are no visits). Calculated as:
|
||||
*
|
||||
* sum(revenue for all goals) / (nb_visits or nb_conversions if no visits)
|
||||
*
|
||||
* Goal revenue and nb_visits & nb_conversions are calculated by the archiving process.
|
||||
*/
|
||||
class RevenuePerVisit extends ProcessedMetric
|
||||
{
|
||||
private $idSite;
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return 'revenue_per_visit';
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('General_ColumnValuePerVisit');
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('revenue', 'nb_visits', 'nb_conversions','goals');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal();
|
||||
$goals = $this->getMetric($row, 'goals') ?: array();
|
||||
|
||||
$revenue = 0;
|
||||
foreach ($goals as $goalId => $goalMetrics) {
|
||||
if ($goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) {
|
||||
continue;
|
||||
}
|
||||
if ($goalId >= GoalManager::IDGOAL_ORDER
|
||||
|| $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER
|
||||
) {
|
||||
$revenue += (int) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal);
|
||||
}
|
||||
}
|
||||
|
||||
if ($revenue == 0) {
|
||||
$revenue = (int) $this->getMetric($row, 'revenue');
|
||||
}
|
||||
|
||||
$nbVisits = (int) $this->getMetric($row, 'nb_visits');
|
||||
$conversions = (int) $this->getMetric($row, 'nb_conversions');
|
||||
|
||||
// If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit"
|
||||
// even though it will actually be in this edge case "Revenue per conversion"
|
||||
return Piwik::getQuotientSafe($revenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION);
|
||||
}
|
||||
|
||||
public function format($value, Formatter $formatter)
|
||||
{
|
||||
return $formatter->getPrettyMoney($value, $this->idSite);
|
||||
}
|
||||
|
||||
public function beforeFormat($report, DataTable $table)
|
||||
{
|
||||
$this->idSite = DataTableFactory::getSiteIdFromMetadata($table);
|
||||
return !empty($this->idSite); // skip formatting if there is no site to get currency info from
|
||||
}
|
||||
}
|
20
msd2/tracking/piwik/plugins/Goals/Columns/Revenue.php
Normal file
20
msd2/tracking/piwik/plugins/Goals/Columns/Revenue.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?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\Goals\Columns;
|
||||
|
||||
use Piwik\Plugin\Dimension\ConversionDimension;
|
||||
|
||||
class Revenue extends ConversionDimension
|
||||
{
|
||||
protected $columnName = 'revenue';
|
||||
protected $type = self::TYPE_MONEY;
|
||||
protected $category = 'Goals_Goals';
|
||||
protected $nameSingular = 'Goals_ColumnOverallRevenue';
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Columns;
|
||||
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class VisitsUntilConversion extends Dimension
|
||||
{
|
||||
protected $type = self::TYPE_NUMBER;
|
||||
protected $nameSingular = 'Goals_VisitsUntilConv';
|
||||
|
||||
}
|
429
msd2/tracking/piwik/plugins/Goals/Controller.php
Normal file
429
msd2/tracking/piwik/plugins/Goals/Controller.php
Normal file
@ -0,0 +1,429 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Renderer\Json;
|
||||
use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal;
|
||||
use Piwik\FrontController;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Referrers\API as APIReferrers;
|
||||
use Piwik\Translation\Translator;
|
||||
use Piwik\View;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class Controller extends \Piwik\Plugin\Controller
|
||||
{
|
||||
const CONVERSION_RATE_PRECISION = 1;
|
||||
|
||||
/**
|
||||
* Number of "Your top converting keywords/etc are" to display in the per Goal overview page
|
||||
* @var int
|
||||
*/
|
||||
const COUNT_TOP_ROWS_TO_DISPLAY = 3;
|
||||
|
||||
const ECOMMERCE_LOG_SHOW_ORDERS = 1;
|
||||
const ECOMMERCE_LOG_SHOW_ABANDONED_CARTS = 2;
|
||||
|
||||
protected $goalColumnNameToLabel = array(
|
||||
'avg_order_revenue' => 'General_AverageOrderValue',
|
||||
'nb_conversions' => 'Goals_ColumnConversions',
|
||||
'conversion_rate' => 'General_ColumnConversionRate',
|
||||
'revenue' => 'General_TotalRevenue',
|
||||
'items' => 'General_PurchasedProducts',
|
||||
);
|
||||
|
||||
/**
|
||||
* @var Translator
|
||||
*/
|
||||
private $translator;
|
||||
private $goals;
|
||||
|
||||
private function formatConversionRate($conversionRate, $columnName = 'conversion_rate')
|
||||
{
|
||||
if ($conversionRate instanceof DataTable) {
|
||||
if ($conversionRate->getRowsCount() == 0) {
|
||||
$conversionRate = 0;
|
||||
} else {
|
||||
$conversionRate = $conversionRate->getFirstRow()->getColumn($columnName);
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_numeric($conversionRate)) {
|
||||
$conversionRate = sprintf('%.' . self::CONVERSION_RATE_PRECISION . 'f%%', $conversionRate);
|
||||
}
|
||||
|
||||
return $conversionRate;
|
||||
}
|
||||
|
||||
public function __construct(Translator $translator)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->translator = $translator;
|
||||
|
||||
$this->goals = Request::processRequest('Goals.getGoals', ['idSite' => $this->idSite, 'filter_limit' => '-1'], $default = []);
|
||||
}
|
||||
|
||||
public function manage()
|
||||
{
|
||||
Piwik::checkUserHasWriteAccess($this->idSite);
|
||||
|
||||
$view = new View('@Goals/manageGoals');
|
||||
$this->setGeneralVariablesView($view);
|
||||
$this->setEditGoalsViewVariables($view);
|
||||
$this->setGoalOptions($view);
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
public function goalConversionsOverview()
|
||||
{
|
||||
$view = new View('@Goals/conversionOverview');
|
||||
$idGoal = Common::getRequestVar('idGoal', null, 'string');
|
||||
|
||||
$view->topDimensions = $this->getTopDimensions($idGoal);
|
||||
|
||||
$goalMetrics = Request::processRequest('Goals.get', array('idGoal' => $idGoal));
|
||||
|
||||
// conversion rate for new and returning visitors
|
||||
$view->conversion_rate_returning = $this->formatConversionRate($goalMetrics, 'conversion_rate_returning_visit');
|
||||
$view->conversion_rate_new = $this->formatConversionRate($goalMetrics, 'conversion_rate_new_visit');
|
||||
$view->idGoal = $idGoal;
|
||||
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
public function getLastNbConversionsGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.getConversions');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function getLastConversionRateGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.getConversionRate');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function getLastRevenueGraph()
|
||||
{
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.getRevenue');
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
public function addNewGoal()
|
||||
{
|
||||
$view = new View('@Goals/addNewGoal');
|
||||
$this->setGeneralVariablesView($view);
|
||||
$this->setGoalOptions($view);
|
||||
$view->onlyShowAddNewGoal = true;
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
public function editGoals()
|
||||
{
|
||||
$view = new View('@Goals/editGoals');
|
||||
$this->setGeneralVariablesView($view);
|
||||
$this->setEditGoalsViewVariables($view);
|
||||
$this->setGoalOptions($view);
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
public function hasConversions()
|
||||
{
|
||||
$this->checkSitePermission();
|
||||
|
||||
$idGoal = Common::getRequestVar('idGoal', '', 'string');
|
||||
$period = Common::getRequestVar('period', null, 'string');
|
||||
$date = Common::getRequestVar('date', null, 'string');
|
||||
|
||||
Piwik::checkUserHasViewAccess($this->idSite);
|
||||
|
||||
$conversions = new Conversions();
|
||||
|
||||
Json::sendHeaderJSON();
|
||||
|
||||
$numConversions = $conversions->getConversionForGoal($idGoal, $this->idSite, $period, $date);
|
||||
|
||||
return json_encode($numConversions > 0);
|
||||
}
|
||||
|
||||
public function getEvolutionGraph(array $columns = array(), $idGoal = false, array $defaultColumns = array())
|
||||
{
|
||||
if (empty($columns)) {
|
||||
$columns = Common::getRequestVar('columns', false);
|
||||
if (false !== $columns) {
|
||||
$columns = Piwik::getArrayFromApiParameter($columns);
|
||||
}
|
||||
}
|
||||
|
||||
if (false !== $columns) {
|
||||
$columns = !is_array($columns) ? array($columns) : $columns;
|
||||
}
|
||||
|
||||
if (empty($idGoal)) {
|
||||
$idGoal = Common::getRequestVar('idGoal', '', 'string');
|
||||
}
|
||||
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.get');
|
||||
$view->requestConfig->request_parameters_to_modify['idGoal'] = $idGoal;
|
||||
$view->requestConfig->request_parameters_to_modify['showAllGoalSpecificMetrics'] = 1;
|
||||
|
||||
$nameToLabel = $this->goalColumnNameToLabel;
|
||||
if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
$nameToLabel['nb_conversions'] = 'General_EcommerceOrders';
|
||||
} elseif ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) {
|
||||
$nameToLabel['nb_conversions'] = $this->translator->translate('General_VisitsWith', $this->translator->translate('Goals_AbandonedCart'));
|
||||
$nameToLabel['conversion_rate'] = $nameToLabel['nb_conversions'];
|
||||
$nameToLabel['revenue'] = $this->translator->translate('Goals_LeftInCart', $this->translator->translate('General_ColumnRevenue'));
|
||||
$nameToLabel['items'] = $this->translator->translate('Goals_LeftInCart', $this->translator->translate('Goals_Products'));
|
||||
}
|
||||
|
||||
$selectableColumns = array('nb_conversions', 'conversion_rate', 'revenue');
|
||||
$goalSelectableColumns = $selectableColumns;
|
||||
if ($this->site->isEcommerceEnabled()) {
|
||||
$selectableColumns[] = 'items';
|
||||
$selectableColumns[] = 'avg_order_revenue';
|
||||
}
|
||||
|
||||
foreach (array_merge($columns ? $columns : array(), $selectableColumns) as $columnName) {
|
||||
$columnTranslation = $this->getColumnTranslation($nameToLabel, $columnName, $idGoal);
|
||||
$view->config->addTranslation($columnName, $columnTranslation);
|
||||
}
|
||||
|
||||
if ($idGoal === '') {
|
||||
foreach ($this->goals as $aGoal) {
|
||||
foreach ($goalSelectableColumns as $goalColumn) {
|
||||
$goalMetricName = Goals::makeGoalColumn($aGoal['idgoal'], $goalColumn);
|
||||
$selectableColumns[] = $goalMetricName;
|
||||
$columnTranslation = $this->getColumnTranslation($nameToLabel, $goalColumn, $aGoal['idgoal']);
|
||||
$view->config->addTranslation($goalMetricName, $columnTranslation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($columns)) {
|
||||
$view->config->columns_to_display = $columns;
|
||||
} elseif (empty($view->config->columns_to_display) && !empty($defaultColumns)) {
|
||||
$view->config->columns_to_display = $defaultColumns;
|
||||
}
|
||||
|
||||
$view->config->selectable_columns = $selectableColumns;
|
||||
|
||||
$langString = $idGoal ? 'Goals_SingleGoalOverviewDocumentation' : 'Goals_GoalsOverviewDocumentation';
|
||||
$view->config->documentation = $this->translator->translate($langString, '<br />');
|
||||
|
||||
return $this->renderView($view);
|
||||
}
|
||||
|
||||
private function getColumnTranslation($nameToLabel, $columnName, $idGoal)
|
||||
{
|
||||
$columnTranslation = '';
|
||||
// find the right translation for this column, eg. find 'revenue' if column is Goal_1_revenue
|
||||
foreach ($nameToLabel as $metric => $metricTranslation) {
|
||||
if (strpos($columnName, $metric) !== false) {
|
||||
$columnTranslation = $this->translator->translate($metricTranslation);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($idGoal)
|
||||
&& isset($this->goals[$idGoal])
|
||||
) {
|
||||
$goalName = $this->goals[$idGoal]['name'];
|
||||
$columnTranslation = "$columnTranslation (" . $this->translator->translate('Goals_GoalX', "$goalName") . ")";
|
||||
}
|
||||
|
||||
return $columnTranslation;
|
||||
}
|
||||
|
||||
protected function getTopDimensions($idGoal)
|
||||
{
|
||||
$columnNbConversions = 'goal_' . $idGoal . '_nb_conversions';
|
||||
$columnConversionRate = 'goal_' . $idGoal . '_conversion_rate';
|
||||
|
||||
$topDimensionsToLoad = array();
|
||||
|
||||
if (\Piwik\Plugin\Manager::getInstance()->isPluginActivated('UserCountry')) {
|
||||
$topDimensionsToLoad += array(
|
||||
'country' => 'UserCountry.getCountry',
|
||||
);
|
||||
}
|
||||
|
||||
$keywordNotDefinedString = '';
|
||||
if (\Piwik\Plugin\Manager::getInstance()->isPluginActivated('Referrers')) {
|
||||
$keywordNotDefinedString = APIReferrers::getKeywordNotDefinedString();
|
||||
$topDimensionsToLoad += array(
|
||||
'keyword' => 'Referrers.getKeywords',
|
||||
'website' => 'Referrers.getWebsites',
|
||||
);
|
||||
}
|
||||
$topDimensions = array();
|
||||
foreach ($topDimensionsToLoad as $dimensionName => $apiMethod) {
|
||||
$request = new Request("method=$apiMethod
|
||||
&format=original
|
||||
&filter_update_columns_when_show_all_goals=1
|
||||
&idGoal=" . AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE . "
|
||||
&filter_sort_order=desc
|
||||
&filter_sort_column=$columnNbConversions" .
|
||||
// select a couple more in case some are not valid (ie. conversions==0 or they are "Keyword not defined")
|
||||
"&filter_limit=" . (self::COUNT_TOP_ROWS_TO_DISPLAY + 2));
|
||||
$datatable = $request->process();
|
||||
$topDimension = array();
|
||||
$count = 0;
|
||||
foreach ($datatable->getRows() as $row) {
|
||||
$conversions = $row->getColumn($columnNbConversions);
|
||||
if ($conversions > 0
|
||||
&& $count < self::COUNT_TOP_ROWS_TO_DISPLAY
|
||||
|
||||
// Don't put the "Keyword not defined" in the best segment since it's irritating
|
||||
&& !($dimensionName == 'keyword'
|
||||
&& $row->getColumn('label') == $keywordNotDefinedString)
|
||||
) {
|
||||
$topDimension[] = array(
|
||||
'name' => $row->getColumn('label'),
|
||||
'nb_conversions' => $conversions,
|
||||
'conversion_rate' => $this->formatConversionRate($row->getColumn($columnConversionRate)),
|
||||
'metadata' => $row->getMetadata(),
|
||||
);
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
$topDimensions[$dimensionName] = $topDimension;
|
||||
}
|
||||
return $topDimensions;
|
||||
}
|
||||
|
||||
protected function getMetricsForGoal($idGoal)
|
||||
{
|
||||
$request = new Request("method=Goals.get&format=original&idGoal=$idGoal");
|
||||
$datatable = $request->process();
|
||||
$dataRow = $datatable->getFirstRow();
|
||||
$nbConversions = $dataRow->getColumn('nb_conversions');
|
||||
$nbVisitsConverted = $dataRow->getColumn('nb_visits_converted');
|
||||
// Backward compatibility before 1.3, this value was not processed
|
||||
if (empty($nbVisitsConverted)) {
|
||||
$nbVisitsConverted = $nbConversions;
|
||||
}
|
||||
$revenue = $dataRow->getColumn('revenue');
|
||||
$return = array(
|
||||
'id' => $idGoal,
|
||||
'nb_conversions' => (int)$nbConversions,
|
||||
'nb_visits_converted' => (int)$nbVisitsConverted,
|
||||
'conversion_rate' => $this->formatConversionRate($dataRow->getColumn('conversion_rate')),
|
||||
'revenue' => $revenue ? $revenue : 0,
|
||||
'urlSparklineConversions' => $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('nb_conversions'), 'idGoal' => $idGoal)),
|
||||
'urlSparklineConversionRate' => $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('conversion_rate'), 'idGoal' => $idGoal)),
|
||||
'urlSparklineRevenue' => $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('revenue'), 'idGoal' => $idGoal)),
|
||||
);
|
||||
if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
$items = $dataRow->getColumn('items');
|
||||
$aov = $dataRow->getColumn('avg_order_revenue');
|
||||
$return = array_merge($return, array(
|
||||
'revenue_subtotal' => $dataRow->getColumn('revenue_subtotal'),
|
||||
'revenue_tax' => $dataRow->getColumn('revenue_tax'),
|
||||
'revenue_shipping' => $dataRow->getColumn('revenue_shipping'),
|
||||
'revenue_discount' => $dataRow->getColumn('revenue_discount'),
|
||||
|
||||
'items' => $items ? $items : 0,
|
||||
'avg_order_revenue' => $aov ? $aov : 0,
|
||||
'urlSparklinePurchasedProducts' => $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('items'), 'idGoal' => $idGoal)),
|
||||
'urlSparklineAverageOrderValue' => $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('avg_order_revenue'), 'idGoal' => $idGoal)),
|
||||
));
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
private function setEditGoalsViewVariables($view)
|
||||
{
|
||||
$goals = $this->goals;
|
||||
|
||||
// unsanitize goal names and other text data (not done in API so as not to break
|
||||
// any other code/cause security issues)
|
||||
foreach ($goals as &$goal) {
|
||||
$goal['name'] = Common::unsanitizeInputValue($goal['name']);
|
||||
$goal['description'] = Common::unsanitizeInputValue($goal['description']);
|
||||
if (isset($goal['pattern'])) {
|
||||
$goal['pattern'] = Common::unsanitizeInputValue($goal['pattern']);
|
||||
}
|
||||
}
|
||||
|
||||
$view->goals = $goals;
|
||||
|
||||
$idGoal = Common::getRequestVar('idGoal', 0, 'int');
|
||||
$view->idGoal = 0;
|
||||
if ($idGoal && array_key_exists($idGoal, $goals)) {
|
||||
$view->idGoal = $idGoal;
|
||||
}
|
||||
|
||||
$view->goalsJSON = json_encode($goals);
|
||||
$view->ecommerceEnabled = $this->site->isEcommerceEnabled();
|
||||
}
|
||||
|
||||
private function setGoalOptions(View $view)
|
||||
{
|
||||
$view->userCanEditGoals = Piwik::isUserHasWriteAccess($this->idSite);
|
||||
$view->goalTriggerTypeOptions = array(
|
||||
'visitors' => Piwik::translate('Goals_WhenVisitors'),
|
||||
'manually' => Piwik::translate('Goals_Manually')
|
||||
);
|
||||
$view->goalMatchAttributeOptions = array(
|
||||
array('key' => 'url', 'value' => Piwik::translate('Goals_VisitUrl')),
|
||||
array('key' => 'title', 'value' => Piwik::translate('Goals_VisitPageTitle')),
|
||||
array('key' => 'event', 'value' => Piwik::translate('Goals_SendEvent')),
|
||||
array('key' => 'file', 'value' => Piwik::translate('Goals_Download')),
|
||||
array('key' => 'external_website', 'value' => Piwik::translate('Goals_ClickOutlink')),
|
||||
);
|
||||
$view->allowMultipleOptions = array(
|
||||
array('key' => '0', 'value' => Piwik::translate('Goals_DefaultGoalConvertedOncePerVisit')),
|
||||
array('key' => '1', 'value' => Piwik::translate('Goals_AllowGoalConvertedMoreThanOncePerVisit'))
|
||||
);
|
||||
$view->eventTypeOptions = array(
|
||||
array('key' => 'event_category', 'value' => Piwik::translate('Events_EventCategory')),
|
||||
array('key' => 'event_action', 'value' => Piwik::translate('Events_EventAction')),
|
||||
array('key' => 'event_name', 'value' => Piwik::translate('Events_EventName'))
|
||||
);
|
||||
$view->patternTypeOptions = array(
|
||||
array('key' => 'contains', 'value' => Piwik::translate('Goals_Contains', '')),
|
||||
array('key' => 'exact', 'value' => Piwik::translate('Goals_IsExactly', '')),
|
||||
array('key' => 'regex', 'value' => Piwik::translate('Goals_MatchesExpression', ''))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated used to be a widgetized URL. There to not break widget URLs
|
||||
*/
|
||||
public function widgetGoalReport()
|
||||
{
|
||||
$idGoal = Common::getRequestVar('idGoal', '', 'string');
|
||||
|
||||
if ($idGoal === Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) {
|
||||
$_GET['containerId'] = 'EcommerceOverview';
|
||||
} elseif (!empty($idGoal)) {
|
||||
$_GET['containerId'] = 'Goal_' . (int) $idGoal;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
|
||||
return FrontController::getInstance()->fetchDispatch('CoreHome', 'renderWidgetContainer');
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated used to be a widgetized URL. There to not break widget URLs
|
||||
*/
|
||||
public function widgetGoalsOverview()
|
||||
{
|
||||
$_GET['containerId'] = 'GoalsOverview';
|
||||
|
||||
return FrontController::getInstance()->fetchDispatch('CoreHome', 'renderWidgetContainer');
|
||||
}
|
||||
}
|
45
msd2/tracking/piwik/plugins/Goals/Conversions.php
Normal file
45
msd2/tracking/piwik/plugins/Goals/Conversions.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Cache;
|
||||
use Piwik\Common;
|
||||
use Piwik\Db;
|
||||
|
||||
class Conversions
|
||||
{
|
||||
|
||||
public function getConversionForGoal($idGoal, $idSite, $period, $date)
|
||||
{
|
||||
if (!$period || !$date || !$idSite) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$datatable = Request::processRequest('Goals.get', array(
|
||||
'idGoal' => $idGoal,
|
||||
'period' => $period,
|
||||
'date' => $date,
|
||||
'idSite' => $idSite,
|
||||
'serialize' => 0,
|
||||
'segment' => false
|
||||
));
|
||||
|
||||
// we ignore the segment even if there is one set. We still want to show conversion overview if there are conversions
|
||||
// in general but not for this segment
|
||||
|
||||
$dataRow = $datatable->getFirstRow();
|
||||
|
||||
if (!$dataRow) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $dataRow->getColumn('nb_conversions');
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\DataTable\Filter;
|
||||
|
||||
use Piwik\DataTable\BaseFilter;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Metrics;
|
||||
|
||||
/**
|
||||
* Appends a string to each column name in each row of a table. Please note this filter even appends the name to a
|
||||
* 'label' column. If you do not need this behaviour feel free to add a check to ignore label columns.
|
||||
*/
|
||||
class AppendNameToColumnNames extends BaseFilter
|
||||
{
|
||||
protected $nameToAppend;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table that will be eventually filtered.
|
||||
* @param string $nameToAppend The name that will be appended to each column
|
||||
*/
|
||||
public function __construct($table, $nameToAppend)
|
||||
{
|
||||
parent::__construct($table);
|
||||
$this->nameToAppend = $nameToAppend;
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link ReplaceColumnNames}.
|
||||
*
|
||||
* @param DataTable $table
|
||||
*/
|
||||
public function filter($table)
|
||||
{
|
||||
if (!isset($this->nameToAppend) || '' === $this->nameToAppend || false === $this->nameToAppend) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($table->getRows() as $row) {
|
||||
$columns = $row->getColumns();
|
||||
|
||||
foreach ($columns as $column => $value) {
|
||||
$row->deleteColumn($column);
|
||||
$row->setColumn($column . $this->nameToAppend, $value);
|
||||
}
|
||||
|
||||
$this->filterSubTable($row);
|
||||
}
|
||||
}
|
||||
}
|
41
msd2/tracking/piwik/plugins/Goals/GoalDimension.php
Normal file
41
msd2/tracking/piwik/plugins/Goals/GoalDimension.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Columns\Discriminator;
|
||||
|
||||
class GoalDimension extends Dimension
|
||||
{
|
||||
protected $type = self::TYPE_TEXT;
|
||||
private $goal;
|
||||
private $id;
|
||||
|
||||
public function __construct($goal, $column, $name)
|
||||
{
|
||||
$this->goal = $goal;
|
||||
$this->category = 'Goals_Goals';
|
||||
$this->dbTableName = 'log_conversion';
|
||||
$this->columnName = $column;
|
||||
$this->nameSingular = $name;
|
||||
|
||||
$this->id = 'Goals.Goal' . ucfirst($column) . $goal['idgoal'];
|
||||
}
|
||||
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getDbDiscriminator()
|
||||
{
|
||||
return new Discriminator('log_conversion', 'idgoal', $this->goal['idgoal']);
|
||||
}
|
||||
|
||||
}
|
371
msd2/tracking/piwik/plugins/Goals/Goals.php
Normal file
371
msd2/tracking/piwik/plugins/Goals/Goals.php
Normal file
@ -0,0 +1,371 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Columns\ComputedMetricFactory;
|
||||
use Piwik\Columns\Dimension;
|
||||
use Piwik\Columns\MetricsList;
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ArchivedMetric;
|
||||
use Piwik\Plugin\ComputedMetric;
|
||||
use Piwik\Plugin\ReportsProvider;
|
||||
use Piwik\Plugins\CoreHome\SystemSummary;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class Goals extends \Piwik\Plugin
|
||||
{
|
||||
public static function getReportsWithGoalMetrics()
|
||||
{
|
||||
$dimensions = self::getAllReportsWithGoalMetrics();
|
||||
|
||||
$dimensionsByGroup = array();
|
||||
foreach ($dimensions as $dimension) {
|
||||
$group = $dimension['category'];
|
||||
// move "Custom Variables" report to the "Goals/Sales by User attribute" category
|
||||
if ($dimension['module'] === 'CustomVariables'
|
||||
|| $dimension['action'] == 'getVisitInformationPerServerTime') {
|
||||
$group = 'VisitsSummary_VisitsSummary';
|
||||
}
|
||||
unset($dimension['category']);
|
||||
$dimensionsByGroup[$group][] = $dimension;
|
||||
}
|
||||
|
||||
return $dimensionsByGroup;
|
||||
}
|
||||
|
||||
public static function getGoalIdFromGoalColumn($columnName)
|
||||
{
|
||||
if (strpos($columnName, 'goal_') === 0) {
|
||||
$column = str_replace(array('goal_'), '', $columnName);
|
||||
return (int) $column;
|
||||
}
|
||||
}
|
||||
|
||||
public static function makeGoalColumn($idGoal, $column, $forceInt = true)
|
||||
{
|
||||
if ($forceInt) { // in non-archiver code idGoal can be, eg, ecommerceOrder
|
||||
$idGoal = (int) $idGoal;
|
||||
}
|
||||
|
||||
return 'goal_'. $idGoal . '_' . $column;
|
||||
}
|
||||
|
||||
public static function getGoalColumns($idGoal)
|
||||
{
|
||||
$columns = array(
|
||||
'nb_conversions',
|
||||
'nb_visits_converted',
|
||||
'revenue',
|
||||
);
|
||||
if ($idGoal === false) {
|
||||
return $columns;
|
||||
}
|
||||
// Orders
|
||||
if ($idGoal === GoalManager::IDGOAL_ORDER) {
|
||||
$columns = array_merge($columns, array(
|
||||
'revenue_subtotal',
|
||||
'revenue_tax',
|
||||
'revenue_shipping',
|
||||
'revenue_discount',
|
||||
));
|
||||
}
|
||||
// Abandoned carts & orders
|
||||
if ($idGoal <= GoalManager::IDGOAL_ORDER) {
|
||||
$columns[] = 'items';
|
||||
}
|
||||
return $columns;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see \Piwik\Plugin::registerEvents
|
||||
*/
|
||||
public function registerEvents()
|
||||
{
|
||||
$hooks = array(
|
||||
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
|
||||
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
|
||||
'Tracker.Cache.getSiteAttributes' => 'fetchGoalsFromDb',
|
||||
'API.getReportMetadata.end' => 'getReportMetadataEnd',
|
||||
'SitesManager.deleteSite.end' => 'deleteSiteGoals',
|
||||
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
|
||||
'Metrics.getDefaultMetricTranslations' => 'addMetricTranslations',
|
||||
'Category.addSubcategories' => 'addSubcategories',
|
||||
'Metric.addMetrics' => 'addMetrics',
|
||||
'Metric.addComputedMetrics' => 'addComputedMetrics',
|
||||
'System.addSystemSummaryItems' => 'addSystemSummaryItems',
|
||||
);
|
||||
return $hooks;
|
||||
}
|
||||
|
||||
public function addSystemSummaryItems(&$systemSummary)
|
||||
{
|
||||
$goalModel = new Model();
|
||||
$numGoals = $goalModel->getActiveGoalCount();
|
||||
|
||||
$systemSummary[] = new SystemSummary\Item($key = 'goals', Piwik::translate('Goals_NGoals', $numGoals), $value = null, array('module' => 'Goals', 'action' => 'manage'), $icon = 'icon-goal', $order = 7);
|
||||
}
|
||||
|
||||
public function addComputedMetrics(MetricsList $list, ComputedMetricFactory $computedMetricFactory)
|
||||
{
|
||||
$idSite = Common::getRequestVar('idSite', 0, 'int');
|
||||
$goals = Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
|
||||
foreach ($goals as $goal) {
|
||||
$metric = $computedMetricFactory->createComputedMetric('goal_' . $goal['idgoal'] . '_conversion', 'nb_uniq_visitors', ComputedMetric::AGGREGATION_RATE);
|
||||
$goalName = '"' . Piwik::translate('Goals_GoalX', $goal['name']) . '"';
|
||||
$metricName = Piwik::translate('Goals_ConversionRate', $goalName);
|
||||
$metric->setTranslatedName($metricName);
|
||||
$list->addMetric($metric);
|
||||
}
|
||||
}
|
||||
|
||||
public function addMetrics(MetricsList $metricsList)
|
||||
{
|
||||
$idSite = Common::getRequestVar('idSite', 0, 'int');
|
||||
$goals = Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
|
||||
foreach ($goals as $goal) {
|
||||
$custom = new GoalDimension($goal, 'idgoal', 'Conversions goal "' . $goal['name'] . '" (ID ' . $goal['idgoal'] .' )');
|
||||
$custom->setType(Dimension::TYPE_NUMBER);
|
||||
$custom->setSqlSegment('count(distinct log_conversion.idvisit, log_conversion.buster)');
|
||||
|
||||
$metric = new ArchivedMetric($custom, ArchivedMetric::AGGREGATION_SUM);
|
||||
$metric->setQuery('count(distinct log_conversion.idvisit, log_conversion.buster)');
|
||||
$metric->setTranslatedName($custom->getName());
|
||||
$metric->setDocumentation('The number of times this goal was converted.');
|
||||
$metric->setCategory($custom->getCategoryId());
|
||||
$metric->setName('goal_' . $goal['idgoal'] . '_conversion');
|
||||
$metricsList->addMetric($metric);
|
||||
|
||||
$custom = new GoalDimension($goal, 'revenue', 'Revenue goal "' . $goal['name'] . '" (ID ' . $goal['idgoal'] .' )');
|
||||
$custom->setType(Dimension::TYPE_MONEY);
|
||||
$metric = new ArchivedMetric($custom, ArchivedMetric::AGGREGATION_SUM);
|
||||
$metric->setTranslatedName($custom->getName());
|
||||
$metric->setName('goal_' . $goal['idgoal'] . '_revenue');
|
||||
$metric->setDocumentation('The amount of revenue that was generated by converting this goal.');
|
||||
$metric->setCategory($custom->getCategoryId());
|
||||
$metricsList->addMetric($metric);
|
||||
|
||||
$custom = new GoalDimension($goal, 'visitor_days_since_first', 'Days to conversion goal "' . $goal['name'] . '" (ID ' . $goal['idgoal'] .' )');
|
||||
$custom->setType(Dimension::TYPE_NUMBER);
|
||||
$metric = new ArchivedMetric($custom, ArchivedMetric::AGGREGATION_SUM);
|
||||
$metric->setTranslatedName($custom->getName());
|
||||
$metric->setCategory($custom->getCategoryId());
|
||||
$metric->setDocumentation('The number of days it took a visitor to convert this goal.');
|
||||
$metric->setName('goal_' . $goal['idgoal'] . '_daystoconversion');
|
||||
$metricsList->addMetric($metric);
|
||||
|
||||
$custom = new GoalDimension($goal, 'visitor_count_visits', 'Visits to conversion goal "' . $goal['name'] . '" (ID ' . $goal['idgoal'] .' )');
|
||||
$custom->setType(Dimension::TYPE_NUMBER);
|
||||
$metric = new ArchivedMetric($custom, ArchivedMetric::AGGREGATION_SUM);
|
||||
$metric->setTranslatedName($custom->getName());
|
||||
$metric->setCategory($custom->getCategoryId());
|
||||
$metric->setDocumentation('The number of visits it took a visitor to convert this goal.');
|
||||
$metric->setName('goal_' . $goal['idgoal'] . '_visitstoconversion');
|
||||
$metricsList->addMetric($metric);
|
||||
}
|
||||
}
|
||||
|
||||
public function addSubcategories(&$subcategories)
|
||||
{
|
||||
$idSite = Common::getRequestVar('idSite', 0, 'int');
|
||||
|
||||
if (!$idSite) {
|
||||
// fallback for eg API.getReportMetadata which uses idSites
|
||||
$idSite = Common::getRequestVar('idSites', 0, 'int');
|
||||
|
||||
if (!$idSite) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$goals = Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
|
||||
$order = 900;
|
||||
foreach ($goals as $goal) {
|
||||
$category = new Subcategory();
|
||||
$category->setName($goal['name']);
|
||||
$category->setCategoryId('Goals_Goals');
|
||||
$category->setId($goal['idgoal']);
|
||||
$category->setOrder($order++);
|
||||
$subcategories[] = $category;
|
||||
}
|
||||
}
|
||||
|
||||
public function addMetricTranslations(&$translations)
|
||||
{
|
||||
$metrics = array(
|
||||
'orders' => 'General_EcommerceOrders',
|
||||
'ecommerce_revenue' => 'General_ProductRevenue',
|
||||
'revenue_per_visit' => 'General_ColumnValuePerVisit',
|
||||
'quantity' => 'General_Quantity',
|
||||
'avg_price' => 'General_AveragePrice',
|
||||
'avg_quantity' => 'General_AverageQuantity',
|
||||
'revenue_subtotal' => 'General_Subtotal',
|
||||
'revenue_tax' => 'General_Tax',
|
||||
'revenue_shipping' => 'General_Shipping',
|
||||
'revenue_discount' => 'General_Discount',
|
||||
'avg_order_revenue' => 'General_AverageOrderValue'
|
||||
);
|
||||
|
||||
$metrics = array_map(array('\\Piwik\\Piwik', 'translate'), $metrics);
|
||||
|
||||
$translations = array_merge($translations, $metrics);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete goals recorded for this site
|
||||
*/
|
||||
public function deleteSiteGoals($idSite)
|
||||
{
|
||||
$model = new Model();
|
||||
$model->deleteGoalsForSite($idSite);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Metadata for the Goals plugin API.
|
||||
* The API returns general Goal metrics: conv, conv rate and revenue globally
|
||||
* and for each goal.
|
||||
*
|
||||
* Also, this will update metadata of all other reports that have Goal segmentation
|
||||
*/
|
||||
public function getReportMetadataEnd(&$reports, $info)
|
||||
{
|
||||
// Processed in AddColumnsProcessedMetricsGoal
|
||||
// These metrics will also be available for some reports, for each goal
|
||||
// Example: Conversion rate for Goal 2 for the keyword 'piwik'
|
||||
$goalProcessedMetrics = array(
|
||||
'revenue_per_visit' => Piwik::translate('General_ColumnValuePerVisit'),
|
||||
);
|
||||
|
||||
$goalMetrics = array(
|
||||
'nb_conversions' => Piwik::translate('Goals_ColumnConversions'),
|
||||
'conversion_rate' => Piwik::translate('General_ColumnConversionRate'),
|
||||
'revenue' => Piwik::translate('General_ColumnRevenue')
|
||||
);
|
||||
|
||||
$reportsWithGoals = self::getAllReportsWithGoalMetrics();
|
||||
|
||||
foreach ($reportsWithGoals as $reportWithGoals) {
|
||||
// Select this report from the API metadata array
|
||||
// and add the Goal metrics to it
|
||||
foreach ($reports as &$apiReportToUpdate) {
|
||||
if ($apiReportToUpdate['module'] == $reportWithGoals['module']
|
||||
&& $apiReportToUpdate['action'] == $reportWithGoals['action']
|
||||
&& empty($apiReportToUpdate['parameters'])) {
|
||||
$apiReportToUpdate['metricsGoal'] = $goalMetrics;
|
||||
$apiReportToUpdate['processedMetricsGoal'] = $goalProcessedMetrics;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function getAllReportsWithGoalMetrics()
|
||||
{
|
||||
$reportsWithGoals = array();
|
||||
|
||||
$reports = new ReportsProvider();
|
||||
|
||||
foreach ($reports->getAllReports() as $report) {
|
||||
if ($report->hasGoalMetrics()) {
|
||||
$reportsWithGoals[] = array(
|
||||
'category' => $report->getCategoryId(),
|
||||
'name' => $report->getName(),
|
||||
'module' => $report->getModule(),
|
||||
'action' => $report->getAction(),
|
||||
'parameters' => $report->getParameters()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$reportsWithGoals[] = array('category' => 'General_Visit',
|
||||
'name' => Piwik::translate('Goals_VisitsUntilConv'),
|
||||
'module' => 'Goals',
|
||||
'action' => 'getVisitsUntilConversion',
|
||||
'viewDataTable' => 'table',
|
||||
);
|
||||
$reportsWithGoals[] = array('category' => 'General_Visit',
|
||||
'name' => Piwik::translate('Goals_DaysToConv'),
|
||||
'module' => 'Goals',
|
||||
'action' => 'getDaysToConversion',
|
||||
'viewDataTable' => 'table',
|
||||
);
|
||||
|
||||
/**
|
||||
* Triggered when gathering all reports that contain Goal metrics. The list of reports
|
||||
* will be displayed on the left column of the bottom of every _Goals_ page.
|
||||
*
|
||||
* If plugins define reports that contain goal metrics (such as **conversions** or **revenue**),
|
||||
* they can use this event to make sure their reports can be viewed on Goals pages.
|
||||
*
|
||||
* **Example**
|
||||
*
|
||||
* public function getReportsWithGoalMetrics(&$reports)
|
||||
* {
|
||||
* $reports[] = array(
|
||||
* 'category' => Piwik::translate('MyPlugin_myReportCategory'),
|
||||
* 'name' => Piwik::translate('MyPlugin_myReportDimension'),
|
||||
* 'module' => 'MyPlugin',
|
||||
* 'action' => 'getMyReport'
|
||||
* );
|
||||
* }
|
||||
*
|
||||
* @param array &$reportsWithGoals The list of arrays describing reports that have Goal metrics.
|
||||
* Each element of this array must be an array with the following
|
||||
* properties:
|
||||
*
|
||||
* - **category**: The report category. This should be a translated string.
|
||||
* - **name**: The report's translated name.
|
||||
* - **module**: The plugin the report is in, eg, `'UserCountry'`.
|
||||
* - **action**: The API method of the report, eg, `'getCountry'`.
|
||||
* @ignore
|
||||
* @deprecated since 2.5.0
|
||||
*/
|
||||
Piwik::postEvent('Goals.getReportsWithGoalMetrics', array(&$reportsWithGoals));
|
||||
|
||||
return $reportsWithGoals;
|
||||
}
|
||||
|
||||
public function getJsFiles(&$jsFiles)
|
||||
{
|
||||
$jsFiles[] = "plugins/Goals/angularjs/common/directives/goal-page-link.js";
|
||||
$jsFiles[] = "plugins/Goals/angularjs/manage-goals/manage-goals.controller.js";
|
||||
$jsFiles[] = "plugins/Goals/angularjs/manage-goals/manage-goals.directive.js";
|
||||
}
|
||||
|
||||
public function getStylesheetFiles(&$stylesheets)
|
||||
{
|
||||
$stylesheets[] = "plugins/Goals/stylesheets/goals.css";
|
||||
}
|
||||
|
||||
public function fetchGoalsFromDb(&$array, $idSite)
|
||||
{
|
||||
// add the 'goal' entry in the website array
|
||||
$array['goals'] = API::getInstance()->getGoals($idSite);
|
||||
}
|
||||
|
||||
public function getClientSideTranslationKeys(&$translationKeys)
|
||||
{
|
||||
$translationKeys[] = 'Goals_AddGoal';
|
||||
$translationKeys[] = 'Goals_AddNewGoal';
|
||||
$translationKeys[] = 'Goals_UpdateGoal';
|
||||
$translationKeys[] = 'Goals_DeleteGoalConfirm';
|
||||
$translationKeys[] = 'Goals_UpdateGoal';
|
||||
$translationKeys[] = 'Goals_DeleteGoalConfirm';
|
||||
$translationKeys[] = 'Goals_Ecommerce';
|
||||
$translationKeys[] = 'Goals_Optional';
|
||||
}
|
||||
}
|
34
msd2/tracking/piwik/plugins/Goals/Menu.php
Normal file
34
msd2/tracking/piwik/plugins/Goals/Menu.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Menu\MenuAdmin;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\UsersManager\UserPreferences;
|
||||
|
||||
class Menu extends \Piwik\Plugin\Menu
|
||||
{
|
||||
public function configureAdminMenu(MenuAdmin $menu)
|
||||
{
|
||||
$userPreferences = new UserPreferences();
|
||||
$idSite = $this->getIdSite($userPreferences->getDefaultWebsiteId());
|
||||
|
||||
if (Piwik::isUserHasWriteAccess($idSite)) {
|
||||
$menu->addMeasurableItem('Goals_Goals', $this->urlForAction('manage', array('idSite' => $idSite)), 40);
|
||||
}
|
||||
}
|
||||
|
||||
private function getIdSite($default = null)
|
||||
{
|
||||
$idSite = Common::getRequestVar('idSite', $default, 'int');
|
||||
return $idSite;
|
||||
}
|
||||
|
||||
}
|
113
msd2/tracking/piwik/plugins/Goals/Model.php
Normal file
113
msd2/tracking/piwik/plugins/Goals/Model.php
Normal file
@ -0,0 +1,113 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Db;
|
||||
|
||||
class Model
|
||||
{
|
||||
private static $rawPrefix = 'goal';
|
||||
private $table;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->table = Common::prefixTable(self::$rawPrefix);
|
||||
}
|
||||
|
||||
private function getNextIdGoal($idSite)
|
||||
{
|
||||
$db = $this->getDb();
|
||||
$idGoal = $db->fetchOne("SELECT max(idgoal) + 1 FROM " . $this->table . "
|
||||
WHERE idsite = ?", $idSite);
|
||||
|
||||
if (empty($idGoal)) {
|
||||
$idGoal = 1;
|
||||
}
|
||||
|
||||
return $idGoal;
|
||||
}
|
||||
|
||||
public function createGoalForSite($idSite, $goal)
|
||||
{
|
||||
$db = $this->getDb();
|
||||
$goalId = $this->getNextIdGoal($idSite);
|
||||
|
||||
$goal['idgoal'] = $goalId;
|
||||
$goal['idsite'] = $idSite;
|
||||
|
||||
$db->insert($this->table, $goal);
|
||||
|
||||
return $goalId;
|
||||
}
|
||||
|
||||
public function updateGoal($idSite, $idGoal, $goal)
|
||||
{
|
||||
$idSite = (int) $idSite;
|
||||
$idGoal = (int) $idGoal;
|
||||
|
||||
$db = $this->getDb();
|
||||
$db->update($this->table, $goal, "idsite = '$idSite' AND idgoal = '$idGoal'");
|
||||
}
|
||||
|
||||
// actually this should be in a log_conversion model
|
||||
public function deleteGoalConversions($idSite, $idGoal)
|
||||
{
|
||||
$table = Common::prefixTable("log_conversion");
|
||||
|
||||
Db::deleteAllRows($table, "WHERE idgoal = ? AND idsite = ?", "idvisit", 100000, array($idGoal, $idSite));
|
||||
}
|
||||
|
||||
public function getActiveGoal($idSite, $idGoal)
|
||||
{
|
||||
$idSite = (int) $idSite;
|
||||
$idGoal = (int) $idGoal;
|
||||
$goals = Db::fetchRow("SELECT * FROM " . $this->table . "
|
||||
WHERE idsite = $idSite AND idgoal = $idGoal
|
||||
AND deleted = 0 LIMIT 1");
|
||||
|
||||
return $goals;
|
||||
}
|
||||
|
||||
public function getActiveGoals($idSite)
|
||||
{
|
||||
$idSite = array_map('intval', $idSite);
|
||||
$goals = Db::fetchAll("SELECT * FROM " . $this->table . "
|
||||
WHERE idsite IN (" . implode(", ", $idSite) . ")
|
||||
AND deleted = 0");
|
||||
|
||||
return $goals;
|
||||
}
|
||||
|
||||
public function deleteGoalsForSite($idSite)
|
||||
{
|
||||
Db::query("DELETE FROM " . $this->table . " WHERE idsite = ? ", array($idSite));
|
||||
}
|
||||
|
||||
public function deleteGoal($idSite, $idGoal)
|
||||
{
|
||||
$query = "UPDATE " . $this->table . " SET deleted = 1
|
||||
WHERE idsite = ? AND idgoal = ?";
|
||||
$bind = array($idSite, $idGoal);
|
||||
|
||||
Db::query($query, $bind);
|
||||
}
|
||||
|
||||
public function getActiveGoalCount()
|
||||
{
|
||||
return (int) Db::fetchOne("SELECT count(*) FROM " . $this->table . "
|
||||
WHERE deleted = 0");
|
||||
|
||||
}
|
||||
|
||||
private function getDb()
|
||||
{
|
||||
return Db::get();
|
||||
}
|
||||
}
|
356
msd2/tracking/piwik/plugins/Goals/Pages.php
Normal file
356
msd2/tracking/piwik/plugins/Goals/Pages.php
Normal file
@ -0,0 +1,356 @@
|
||||
<?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\Goals;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines;
|
||||
use Piwik\Plugin\ReportsProvider;
|
||||
use Piwik\Widget\WidgetContainerConfig;
|
||||
use Piwik\Widget\WidgetConfig;
|
||||
use Piwik\Report\ReportWidgetFactory;
|
||||
|
||||
class Pages
|
||||
{
|
||||
private $orderId = 0;
|
||||
private $allReports = array();
|
||||
private $factory = array();
|
||||
private $conversions;
|
||||
|
||||
public function __construct(ReportWidgetFactory $reportFactory, $reportsWithGoalMetrics)
|
||||
{
|
||||
$this->factory = $reportFactory;
|
||||
$this->allReports = $reportsWithGoalMetrics;
|
||||
$this->conversions = new Conversions();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $goals
|
||||
* @return WidgetConfig[]
|
||||
*/
|
||||
public function createGoalsOverviewPage($goals)
|
||||
{
|
||||
$subcategory = 'General_Overview';
|
||||
|
||||
$widgets = array();
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->forceViewDataTable(Evolution::ID);
|
||||
$config->setSubcategoryId($subcategory);
|
||||
$config->setAction('getEvolutionGraph');
|
||||
$config->setOrder(5);
|
||||
$config->setIsNotWidgetizable();
|
||||
$widgets[] = $config;
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->forceViewDataTable(Sparklines::ID);
|
||||
$config->setSubcategoryId($subcategory);
|
||||
$config->setName('');
|
||||
$config->setOrder(15);
|
||||
$config->setIsNotWidgetizable();
|
||||
$widgets[] = $config;
|
||||
|
||||
foreach ($goals as $goal) {
|
||||
$name = Common::sanitizeInputValue($goal['name']);
|
||||
$goalTranslated = Piwik::translate('Goals_GoalX', array($name));
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->setName($goalTranslated);
|
||||
$config->setSubcategoryId($subcategory);
|
||||
$config->forceViewDataTable(Sparklines::ID);
|
||||
$config->setParameters(array('idGoal' => $goal['idgoal']));
|
||||
$config->setOrder(25);
|
||||
$config->setIsNotWidgetizable();
|
||||
$config->addParameters(array('allow_multiple' => (int) $goal['allow_multiple'], 'only_summary' => '1'));
|
||||
$widgets[] = $config;
|
||||
}
|
||||
|
||||
$container = $this->createWidgetizableWidgetContainer('GoalsOverview', $subcategory, $widgets);
|
||||
|
||||
$config = $this->factory->createContainerWidget('Goals');
|
||||
$config->setSubcategoryId($subcategory);
|
||||
$config->setName('Goals_ConversionsOverviewBy');
|
||||
$config->setOrder(35);
|
||||
$config->setIsNotWidgetizable();
|
||||
$this->buildGoalByDimensionView('', $config);
|
||||
$config->setMiddlewareParameters(array(
|
||||
'module' => 'Goals',
|
||||
'action' => 'hasConversions'
|
||||
));
|
||||
|
||||
return array($container, $config);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return WidgetConfig[]
|
||||
*/
|
||||
public function createEcommerceOverviewPage()
|
||||
{
|
||||
$category = 'Goals_Ecommerce';
|
||||
$subcategory = 'General_Overview';
|
||||
$idGoal = Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER;
|
||||
|
||||
$widgets = array();
|
||||
$config = $this->factory->createWidget();
|
||||
$config->forceViewDataTable(Evolution::ID);
|
||||
$config->setCategoryId($category);
|
||||
$config->setSubcategoryId($subcategory);
|
||||
$config->setAction('getEvolutionGraph');
|
||||
$config->setOrder(5);
|
||||
$config->setIsNotWidgetizable();
|
||||
$config->setParameters(array('idGoal' => $idGoal));
|
||||
$widgets[] = $config;
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->setCategoryId($category);
|
||||
$config->forceViewDataTable(Sparklines::ID);
|
||||
$config->setSubcategoryId($subcategory);
|
||||
$config->setName('');
|
||||
$config->setModule('Ecommerce');
|
||||
$config->setAction('getSparklines');
|
||||
$config->setParameters(array('idGoal' => $idGoal));
|
||||
$config->setOrder(15);
|
||||
$config->setIsNotWidgetizable();
|
||||
$widgets[] = $config;
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->setModule('Ecommerce');
|
||||
$config->setAction('getConversionsOverview');
|
||||
$config->setSubcategoryId($idGoal);
|
||||
$config->setName('Goals_ConversionsOverview');
|
||||
$config->setParameters(array('idGoal' => $idGoal));
|
||||
$config->setOrder(25);
|
||||
$config->setIsNotWidgetizable();
|
||||
$config->setMiddlewareParameters(array(
|
||||
'module' => 'Goals',
|
||||
'action' => 'hasConversions',
|
||||
'idGoal' => $idGoal
|
||||
));
|
||||
|
||||
$widgets[] = $config;
|
||||
|
||||
$container = $this->createWidgetizableWidgetContainer('EcommerceOverview', $subcategory, $widgets);
|
||||
return array($container);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return WidgetConfig[]
|
||||
*/
|
||||
public function createEcommerceSalesPage()
|
||||
{
|
||||
$category = 'Goals_Ecommerce';
|
||||
$subcategory = 'Ecommerce_Sales';
|
||||
|
||||
$config = $this->factory->createContainerWidget('GoalsOrder');
|
||||
$config->setCategoryId($category);
|
||||
$config->setSubcategoryId($subcategory);
|
||||
$config->setName('');
|
||||
$config->setParameters(array('idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER));
|
||||
$config->setOrder(5);
|
||||
$config->setIsNotWidgetizable();
|
||||
|
||||
$extraParameters = [ 'segmented_visitor_log_segment_suffix' => 'visitEcommerceStatus==ordered' ];
|
||||
$this->buildGoalByDimensionView(Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER, $config, $extraParameters);
|
||||
|
||||
return array($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $goal
|
||||
* @return WidgetConfig[]
|
||||
*/
|
||||
public function createGoalDetailPage($goal)
|
||||
{
|
||||
$widgets = array();
|
||||
|
||||
$idGoal = (int) $goal['idgoal'];
|
||||
$name = Common::sanitizeInputValue($goal['name']);
|
||||
$params = array('idGoal' => $idGoal);
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->setSubcategoryId($idGoal);
|
||||
$config->forceViewDataTable(Evolution::ID);
|
||||
$config->setAction('getEvolutionGraph');
|
||||
$config->setParameters($params);
|
||||
$config->setOrder(5);
|
||||
$config->setIsNotWidgetizable();
|
||||
$widgets[] = $config;
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->setSubcategoryId($idGoal);
|
||||
$config->setName('');
|
||||
$config->forceViewDataTable(Sparklines::ID);
|
||||
$config->setParameters($params);
|
||||
$config->addParameters(array('allow_multiple' => (int) $goal['allow_multiple']));
|
||||
$config->setOrder(15);
|
||||
$config->setIsNotWidgetizable();
|
||||
$widgets[] = $config;
|
||||
|
||||
$config = $this->factory->createWidget();
|
||||
$config->setAction('goalConversionsOverview');
|
||||
$config->setSubcategoryId($idGoal);
|
||||
$config->setName('Goals_ConversionsOverview');
|
||||
$config->setParameters($params);
|
||||
$config->setOrder(25);
|
||||
$config->setIsNotWidgetizable();
|
||||
$config->setMiddlewareParameters(array(
|
||||
'module' => 'Goals',
|
||||
'action' => 'hasConversions',
|
||||
'idGoal' => $idGoal
|
||||
));
|
||||
$widgets[] = $config;
|
||||
|
||||
$container = $this->createWidgetizableWidgetContainer('Goal_' . $idGoal, $name, $widgets);
|
||||
|
||||
$configs = array($container);
|
||||
|
||||
$config = $this->factory->createContainerWidget('Goals' . $idGoal);
|
||||
$config->setName(Piwik::translate('Goals_GoalConversionsBy', array($name)));
|
||||
$config->setSubcategoryId($idGoal);
|
||||
$config->setParameters(array());
|
||||
$config->setOrder(35);
|
||||
$config->setIsNotWidgetizable();
|
||||
$config->setMiddlewareParameters(array(
|
||||
'module' => 'Goals',
|
||||
'action' => 'hasConversions',
|
||||
'idGoal' => $idGoal
|
||||
));
|
||||
$this->buildGoalByDimensionView($idGoal, $config);
|
||||
|
||||
$configs[] = $config;
|
||||
|
||||
return $configs;
|
||||
}
|
||||
|
||||
private function createWidgetizableWidgetContainer($containerId, $pageName, $widgets)
|
||||
{
|
||||
/** @var \Piwik\Widget\WidgetConfig[] $widgets */
|
||||
$firstWidget = reset($widgets);
|
||||
/** @var \Piwik\Report\ReportWidgetConfig $firstWidget */
|
||||
|
||||
if (!empty($pageName)) {
|
||||
// make sure to not show two titles (one for this container and one for the first widget)
|
||||
$firstWidget->setName('');
|
||||
}
|
||||
|
||||
$config = $this->factory->createContainerWidget($containerId);
|
||||
$config->setName($pageName);
|
||||
$config->setCategoryId($firstWidget->getCategoryId());
|
||||
$config->setSubcategoryId($firstWidget->getSubcategoryId());
|
||||
$config->setIsWidgetizable();
|
||||
$config->setOrder($this->orderId++);
|
||||
|
||||
foreach ($widgets as $widget) {
|
||||
$config->addWidgetConfig($widget);
|
||||
}
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
private function buildGoalByDimensionView($idGoal, WidgetContainerConfig $container, $extraParameters = [])
|
||||
{
|
||||
$container->setLayout('ByDimension');
|
||||
$ecommerce = ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER);
|
||||
|
||||
// for non-Goals reports, we show the goals table
|
||||
$customParams = array('documentationForGoalsPage' => '1');
|
||||
|
||||
if ($idGoal === '') {
|
||||
// if no idGoal, use 0 for overview. Must be string! Otherwise Piwik_View_HtmlTable_Goals fails.
|
||||
$customParams['idGoal'] = '0';
|
||||
} else {
|
||||
$customParams['idGoal'] = $idGoal;
|
||||
}
|
||||
|
||||
$translationHelper = new TranslationHelper();
|
||||
|
||||
foreach ($this->allReports as $category => $reports) {
|
||||
$order = ($this->getSortOrderOfCategory($category) * 100);
|
||||
|
||||
if ($ecommerce) {
|
||||
$categoryText = $translationHelper->translateEcommerceMetricCategory($category);
|
||||
} else {
|
||||
$categoryText = $translationHelper->translateGoalMetricCategory($category);
|
||||
}
|
||||
|
||||
foreach ($reports as $report) {
|
||||
$order++;
|
||||
|
||||
if (empty($report['viewDataTable'])
|
||||
&& empty($report['abandonedCarts'])
|
||||
) {
|
||||
$report['viewDataTable'] = 'tableGoals';
|
||||
}
|
||||
|
||||
if (!empty($report['parameters'])) {
|
||||
$params = array_merge($customParams, $report['parameters']);
|
||||
} else {
|
||||
$params = $customParams;
|
||||
}
|
||||
|
||||
$widget = $this->createWidgetForReport($report['module'], $report['action']);
|
||||
if (!$widget) {
|
||||
continue;
|
||||
}
|
||||
if (!empty($report['name'])) {
|
||||
$widget->setName($report['name']);
|
||||
}
|
||||
$widget->setParameters($params);
|
||||
$widget->addParameters($extraParameters);
|
||||
$widget->setCategoryId($categoryText);
|
||||
$widget->setSubcategoryId($categoryText);
|
||||
$widget->setOrder($order);
|
||||
if ($ecommerce) {
|
||||
$widget->setIsWidgetizable();
|
||||
} else {
|
||||
$widget->setIsNotWidgetizable();
|
||||
}
|
||||
|
||||
if (!empty($report['viewDataTable'])) {
|
||||
$widget->forceViewDataTable($report['viewDataTable']);
|
||||
}
|
||||
|
||||
$container->addWidgetConfig($widget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function getSortOrderOfCategory($category)
|
||||
{
|
||||
static $order = null;
|
||||
|
||||
if (is_null($order)) {
|
||||
$order = array(
|
||||
'Referrers_Referrers',
|
||||
'General_Visit',
|
||||
'General_Visitors',
|
||||
'VisitsSummary_VisitsSummary',
|
||||
);
|
||||
}
|
||||
|
||||
$value = array_search($category, $order);
|
||||
|
||||
if (false === $value) {
|
||||
$value = count($order) + 1;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
private function createWidgetForReport($module, $action)
|
||||
{
|
||||
$report = ReportsProvider::factory($module, $action);
|
||||
if ($report) {
|
||||
$factory = new ReportWidgetFactory($report);
|
||||
return $factory->createWidget();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
73
msd2/tracking/piwik/plugins/Goals/Reports/Base.php
Normal file
73
msd2/tracking/piwik/plugins/Goals/Reports/Base.php
Normal file
@ -0,0 +1,73 @@
|
||||
<?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\Goals\Reports;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\API;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
|
||||
abstract class Base extends \Piwik\Plugin\Report
|
||||
{
|
||||
protected $orderGoal = 50;
|
||||
|
||||
protected function init()
|
||||
{
|
||||
$this->categoryId = 'Goals_Goals';
|
||||
}
|
||||
|
||||
protected function addReportMetadataForEachGoal(&$availableReports, $infos, $goalNameFormatter, $isGoalSummaryReport = false)
|
||||
{
|
||||
$idSite = $this->getIdSiteFromInfos($infos);
|
||||
$goals = $this->getGoalsForIdSite($idSite);
|
||||
|
||||
foreach ($goals as $goal) {
|
||||
$goal['name'] = Common::sanitizeInputValue($goal['name']);
|
||||
|
||||
$this->name = $goalNameFormatter($goal);
|
||||
$this->parameters = array('idGoal' => $goal['idgoal']);
|
||||
$this->order = $this->orderGoal + $goal['idgoal'] * 3;
|
||||
|
||||
$availableReports[] = $this->buildReportMetadata();
|
||||
}
|
||||
|
||||
// for goal overview
|
||||
if ($isGoalSummaryReport) {
|
||||
$this->name = Piwik::translate('Goals_GoalsOverview');
|
||||
} else {
|
||||
$this->name = $goalNameFormatter(['name' => Piwik::translate('Goals_GoalsOverview')]);
|
||||
}
|
||||
$this->parameters = ['idGoal' => 0];
|
||||
$this->order = $this->orderGoal;
|
||||
$availableReports[] = $this->buildReportMetadata();
|
||||
|
||||
$this->init();
|
||||
}
|
||||
|
||||
protected function getIdSiteFromInfos($infos)
|
||||
{
|
||||
$idSite = $infos['idSite'];
|
||||
|
||||
if (empty($idSite)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $idSite;
|
||||
}
|
||||
|
||||
private function getGoalsForIdSite($idSite)
|
||||
{
|
||||
if (empty($idSite)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
}
|
||||
}
|
231
msd2/tracking/piwik/plugins/Goals/Reports/Get.php
Normal file
231
msd2/tracking/piwik/plugins/Goals/Reports/Get.php
Normal file
@ -0,0 +1,231 @@
|
||||
<?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\Goals\Reports;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\NumberFormatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines;
|
||||
use Piwik\Plugins\Goals\API;
|
||||
use Piwik\Plugins\Goals\Goals;
|
||||
use Piwik\Plugins\Goals\Pages;
|
||||
use Piwik\Report\ReportWidgetFactory;
|
||||
use Piwik\Site;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
use Piwik\Url;
|
||||
use Piwik\Widget\WidgetsList;
|
||||
|
||||
class Get extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->name = Piwik::translate('Goals_Goals');
|
||||
$this->processedMetrics = array('conversion_rate');
|
||||
$this->documentation = ''; // TODO
|
||||
$this->order = 1;
|
||||
$this->orderGoal = 50;
|
||||
$this->metrics = array('nb_conversions', 'nb_visits_converted', 'revenue');
|
||||
$this->parameters = null;
|
||||
}
|
||||
|
||||
private function getGoals()
|
||||
{
|
||||
$idSite = $this->getIdSite();
|
||||
$goals = Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
return $goals;
|
||||
}
|
||||
|
||||
private function getGoal($goalId)
|
||||
{
|
||||
$goals = $this->getGoals();
|
||||
|
||||
if (!empty($goals[$goalId])) {
|
||||
|
||||
return $goals[$goalId];
|
||||
}
|
||||
}
|
||||
|
||||
public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory)
|
||||
{
|
||||
$idSite = Common::getRequestVar('idSite', 0, 'int');
|
||||
|
||||
if (empty($idSite)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$goals = $this->getGoals();
|
||||
$reports = Goals::getReportsWithGoalMetrics();
|
||||
|
||||
$page = new Pages($factory, $reports);
|
||||
|
||||
$widgetsList->addWidgetConfigs($page->createGoalsOverviewPage($goals));
|
||||
|
||||
if ($this->isEcommerceEnabled($idSite)) {
|
||||
$widgetsList->addWidgetConfigs($page->createEcommerceOverviewPage());
|
||||
$widgetsList->addWidgetConfigs($page->createEcommerceSalesPage());
|
||||
}
|
||||
|
||||
foreach ($goals as $goal) {
|
||||
$widgetsList->addWidgetConfigs($page->createGoalDetailPage($goal));
|
||||
}
|
||||
}
|
||||
|
||||
private function getIdSite()
|
||||
{
|
||||
return Common::getRequestVar('idSite', null, 'int');
|
||||
}
|
||||
|
||||
private function isEcommerceEnabled($idSite)
|
||||
{
|
||||
if (!Plugin\Manager::getInstance()->isPluginActivated('Ecommerce')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$site = new Site($idSite);
|
||||
return $site->isEcommerceEnabled();
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$idGoal = Common::getRequestVar('idGoal', 0, 'string');
|
||||
|
||||
$idSite = $this->getIdSite();
|
||||
|
||||
if ($view->isViewDataTableId(Sparklines::ID)) {
|
||||
/** @var Sparklines $view */
|
||||
$isEcommerceEnabled = $this->isEcommerceEnabled($idSite);
|
||||
|
||||
$onlySummary = Common::getRequestVar('only_summary', 0, 'int');
|
||||
|
||||
if ($onlySummary && !empty($idGoal)) {
|
||||
if (is_numeric($idGoal)) {
|
||||
$view->config->title_attributes = array('piwik-goal-page-link' => $idGoal);
|
||||
}
|
||||
|
||||
// in Goals overview summary we show proper title for a goal
|
||||
$goal = $this->getGoal($idGoal);
|
||||
if (!empty($goal['name'])) {
|
||||
$view->config->title = Piwik::translate('Goals_GoalX', "'" . $goal['name'] . "'");
|
||||
}
|
||||
} else {
|
||||
$view->config->title = '';
|
||||
}
|
||||
|
||||
$numberFormatter = NumberFormatter::getInstance();
|
||||
$view->config->filters[] = function (DataTable $table) use ($numberFormatter, $idSite) {
|
||||
$firstRow = $table->getFirstRow();
|
||||
if ($firstRow) {
|
||||
|
||||
$revenue = $firstRow->getColumn('revenue');
|
||||
$currencySymbol = Site::getCurrencySymbolFor($idSite);
|
||||
$revenue = $numberFormatter->formatCurrency($revenue, $currencySymbol, GoalManager::REVENUE_PRECISION);
|
||||
$firstRow->setColumn('revenue', $revenue);
|
||||
|
||||
$conversionRate = $firstRow->getColumn('conversion_rate');
|
||||
if (false !== $conversionRate) {
|
||||
$firstRow->setColumn('conversion_rate', $numberFormatter->formatPercent($conversionRate, $precision = 1));
|
||||
}
|
||||
|
||||
$conversions = $firstRow->getColumn('nb_conversions');
|
||||
if (false !== $conversions) {
|
||||
$firstRow->setColumn('nb_conversions', $numberFormatter->formatNumber($conversions));
|
||||
}
|
||||
|
||||
$visitsConverted = $firstRow->getColumn('nb_visits_converted');
|
||||
if (false !== $visitsConverted) {
|
||||
$firstRow->setColumn('nb_visits_converted', $numberFormatter->formatNumber($visitsConverted));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$view->config->addTranslations(array(
|
||||
'nb_visits' => Piwik::translate('VisitsSummary_NbVisitsDescription'),
|
||||
'nb_conversions' => Piwik::translate('Goals_ConversionsDescription'),
|
||||
'nb_visits_converted' => Piwik::translate('General_NVisits'),
|
||||
'conversion_rate' => Piwik::translate('Goals_OverallConversionRate'),
|
||||
'revenue' => Piwik::translate('Goals_OverallRevenue'),
|
||||
));
|
||||
|
||||
$allowMultiple = Common::getRequestVar('allow_multiple', 0, 'int');
|
||||
|
||||
if ($allowMultiple) {
|
||||
$view->config->addSparklineMetric(array('nb_conversions', 'nb_visits_converted'), $order = 10);
|
||||
} else {
|
||||
$view->config->addSparklineMetric(array('nb_conversions'), $order = 10);
|
||||
}
|
||||
|
||||
$view->config->addSparklineMetric(array('conversion_rate'), $order = 20);
|
||||
|
||||
if (empty($idGoal)) {
|
||||
// goals overview sparklines below evolution graph
|
||||
|
||||
if ($isEcommerceEnabled) {
|
||||
// this would be ideally done in Ecommerce plugin but then it is hard to keep same order
|
||||
$view->config->addSparklineMetric(array('revenue'), $order = 30);
|
||||
}
|
||||
|
||||
} else {
|
||||
if ($onlySummary) {
|
||||
// in Goals Overview we list an overview for each goal....
|
||||
$view->config->addTranslation('conversion_rate', Piwik::translate('Goals_ConversionRate'));
|
||||
|
||||
} elseif ($isEcommerceEnabled) {
|
||||
// in Goals detail page...
|
||||
$view->config->addSparklineMetric(array('revenue'), $order = 30);
|
||||
}
|
||||
}
|
||||
} else if ($view->isViewDataTableId(Evolution::ID)) {
|
||||
if (!empty($idSite) && Piwik::isUserHasWriteAccess($idSite)) {
|
||||
$view->config->title_edit_entity_url = 'index.php' . Url::getCurrentQueryStringWithParametersModified(array(
|
||||
'module' => 'Goals',
|
||||
'action' => 'manage',
|
||||
'forceView' => null,
|
||||
'viewDataTable' => null,
|
||||
'showtitle' => null,
|
||||
'random' => null
|
||||
));
|
||||
}
|
||||
|
||||
$goal = $this->getGoal($idGoal);
|
||||
if (!empty($goal['name'])) {
|
||||
$view->config->title = Piwik::translate('Goals_GoalX', "'" . Common::unsanitizeInputValue($goal['name']) . "'");
|
||||
if (!empty($goal['description'])) {
|
||||
$view->config->description = Common::unsanitizeInputValue($goal['description']);
|
||||
}
|
||||
} else {
|
||||
$view->config->title = Piwik::translate('General_EvolutionOverPeriod');
|
||||
}
|
||||
|
||||
if (empty($view->config->columns_to_display)) {
|
||||
$view->config->columns_to_display = array('nb_conversions');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function configureReportMetadata(&$availableReports, $infos)
|
||||
{
|
||||
if (!$this->isEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
parent::configureReportMetadata($availableReports, $infos);
|
||||
|
||||
$this->addReportMetadataForEachGoal($availableReports, $infos, function ($goal) {
|
||||
return Piwik::translate('Goals_GoalX', $goal['name']);
|
||||
}, $isSummary = true);
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Goals\Columns\DaysToConversion;
|
||||
use Piwik\Plugins\Goals\Archiver;
|
||||
|
||||
class GetDaysToConversion extends Base
|
||||
{
|
||||
protected $defaultSortColumn = '';
|
||||
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->name = Piwik::translate('Goals_DaysToConv');
|
||||
$this->dimension = new DaysToConversion();
|
||||
$this->constantRowsCount = true;
|
||||
$this->processedMetrics = false;
|
||||
$this->parameters = array();
|
||||
|
||||
$this->metrics = array('nb_conversions');
|
||||
$this->order = 10;
|
||||
$this->orderGoal = 52;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->config->show_all_views_icons = false;
|
||||
$view->config->show_offset_information = false;
|
||||
$view->config->show_pagination_control = false;
|
||||
$view->config->columns_to_display = array('label', 'nb_conversions');
|
||||
|
||||
$view->requestConfig->filter_sort_column = 'label';
|
||||
$view->requestConfig->filter_sort_order = 'asc';
|
||||
$view->requestConfig->filter_limit = count(Archiver::$daysToConvRanges);
|
||||
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
}
|
||||
|
||||
public function configureReportMetadata(&$availableReports, $infos)
|
||||
{
|
||||
if (!$this->isEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (null !== $this->getIdSiteFromInfos($infos)) {
|
||||
parent::configureReportMetadata($availableReports, $infos);
|
||||
}
|
||||
|
||||
$name = $this->name;
|
||||
|
||||
$this->addReportMetadataForEachGoal($availableReports, $infos, function ($goal) use ($name) {
|
||||
return $goal['name'] . ' - ' . $name;
|
||||
});
|
||||
}
|
||||
}
|
32
msd2/tracking/piwik/plugins/Goals/Reports/GetMetrics.php
Normal file
32
msd2/tracking/piwik/plugins/Goals/Reports/GetMetrics.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?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\Goals\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\CoreHome\Columns\Metrics\ConversionRate;
|
||||
|
||||
class GetMetrics extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->name = Piwik::translate('Goals_Goals');
|
||||
$this->processedMetrics = array(new ConversionRate());
|
||||
$this->documentation = ''; // TODO
|
||||
$this->order = 1;
|
||||
$this->orderGoal = 50;
|
||||
$this->metrics = array( 'nb_conversions', 'nb_visits_converted', 'revenue');
|
||||
$this->parameters = null;
|
||||
}
|
||||
|
||||
public function configureReportMetadata(&$availableReports, $infos)
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Goals\Columns\VisitsUntilConversion;
|
||||
use Piwik\Plugins\Goals\Archiver;
|
||||
|
||||
class GetVisitsUntilConversion extends Base
|
||||
{
|
||||
protected $defaultSortColumn = '';
|
||||
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->name = Piwik::translate('Goals_VisitsUntilConv');
|
||||
$this->dimension = new VisitsUntilConversion();
|
||||
$this->constantRowsCount = true;
|
||||
$this->processedMetrics = array();
|
||||
$this->parameters = array();
|
||||
$this->metrics = array('nb_conversions');
|
||||
$this->order = 5;
|
||||
$this->orderGoal = 51;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->config->columns_to_display = array('label', 'nb_conversions');
|
||||
$view->config->show_offset_information = false;
|
||||
$view->config->show_pagination_control = false;
|
||||
$view->config->show_all_views_icons = false;
|
||||
|
||||
$view->requestConfig->filter_sort_column = 'label';
|
||||
$view->requestConfig->filter_sort_order = 'asc';
|
||||
$view->requestConfig->filter_limit = count(Archiver::$visitCountRanges);
|
||||
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
}
|
||||
|
||||
public function configureReportMetadata(&$availableReports, $infos)
|
||||
{
|
||||
if (!$this->isEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (null !== $this->getIdSiteFromInfos($infos)) {
|
||||
parent::configureReportMetadata($availableReports, $infos);
|
||||
}
|
||||
|
||||
$name = $this->name;
|
||||
|
||||
$this->addReportMetadataForEachGoal($availableReports, $infos, function ($goal) use ($name) {
|
||||
return $goal['name'] . ' - ' . $name;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,117 @@
|
||||
<?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\Goals\Tracker;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\GoalManager;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\RequestProcessor;
|
||||
use Piwik\Tracker\Visit\VisitProperties;
|
||||
|
||||
/**
|
||||
* Handles conversion detection and tracking for tracker requests.
|
||||
*
|
||||
* ## Request Metadata
|
||||
*
|
||||
* This processor defines the following request metadata under the **Goals**
|
||||
* plugin:
|
||||
*
|
||||
* * **goalsConverted**: The array of goals that were converted by this request. Each element
|
||||
* will be an array of goal column value pairs. The ecommerce goal will
|
||||
* only have the idgoal column set.
|
||||
*
|
||||
* Set in `processRequestParams()`.
|
||||
*
|
||||
* Plugins can set this to empty to skip conversion recording.
|
||||
*
|
||||
* * **visitIsConverted**: If `true`, the current visit should be marked as "converted". Note:
|
||||
* some goal conversions (ie, ecommerce) do not mark the visit as
|
||||
* "converted", so it is possible for goalsConverted to be non-empty
|
||||
* while visitIsConverted is `false`.
|
||||
*
|
||||
* Set in `processRequestParams()`.
|
||||
*/
|
||||
class GoalsRequestProcessor extends RequestProcessor
|
||||
{
|
||||
/**
|
||||
* @var GoalManager
|
||||
*/
|
||||
public $goalManager = null;
|
||||
|
||||
public function __construct(GoalManager $goalManager)
|
||||
{
|
||||
$this->goalManager = $goalManager;
|
||||
}
|
||||
|
||||
public function processRequestParams(VisitProperties $visitProperties, Request $request)
|
||||
{
|
||||
$this->goalManager = new GoalManager();
|
||||
|
||||
if ($this->isManualGoalConversion($request)) {
|
||||
// this request is from the JS call to piwikTracker.trackGoal()
|
||||
$goal = $this->goalManager->detectGoalId($request->getIdSite(), $request);
|
||||
|
||||
$visitIsConverted = !empty($goal);
|
||||
$request->setMetadata('Goals', 'visitIsConverted', $visitIsConverted);
|
||||
|
||||
$existingConvertedGoals = $request->getMetadata('Goals', 'goalsConverted') ?: array();
|
||||
$request->setMetadata('Goals', 'goalsConverted', array_merge($existingConvertedGoals, array($goal)));
|
||||
|
||||
$request->setMetadata('Actions', 'action', null); // don't track actions when doing manual goal conversions
|
||||
|
||||
// if we find a idgoal in the URL, but then the goal is not valid, this is most likely a fake request
|
||||
if (!$visitIsConverted) {
|
||||
$idGoal = $request->getParam('idgoal');
|
||||
Common::printDebug('Invalid goal tracking request for goal id = ' . $idGoal);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function afterRequestProcessed(VisitProperties $visitProperties, Request $request)
|
||||
{
|
||||
$goalsConverted = $request->getMetadata('Goals', 'goalsConverted');
|
||||
|
||||
/** @var Action $action */
|
||||
$action = $request->getMetadata('Actions', 'action');
|
||||
|
||||
// if the visit hasn't already been converted another way (ie, manual goal conversion or ecommerce conversion,
|
||||
// try to convert based on the action)
|
||||
if (empty($goalsConverted)
|
||||
&& $action
|
||||
) {
|
||||
$goalsConverted = $this->goalManager->detectGoalsMatchingUrl($request->getIdSite(), $action);
|
||||
|
||||
$existingGoalsConverted = $request->getMetadata('Goals', 'goalsConverted') ?: array();
|
||||
$request->setMetadata('Goals', 'goalsConverted', array_merge($existingGoalsConverted, $goalsConverted));
|
||||
|
||||
if (!empty($goalsConverted)) {
|
||||
$request->setMetadata('Goals', 'visitIsConverted', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function recordLogs(VisitProperties $visitProperties, Request $request)
|
||||
{
|
||||
// record the goals if there were conversions in this request (even if the visit itself was not converted)
|
||||
$goalsConverted = $request->getMetadata('Goals', 'goalsConverted');
|
||||
if (!empty($goalsConverted)) {
|
||||
$this->goalManager->recordGoals($visitProperties, $request);
|
||||
}
|
||||
}
|
||||
|
||||
private function isManualGoalConversion(Request $request)
|
||||
{
|
||||
$idGoal = $request->getParam('idgoal');
|
||||
return $idGoal > 0;
|
||||
}
|
||||
}
|
114
msd2/tracking/piwik/plugins/Goals/TranslationHelper.php
Normal file
114
msd2/tracking/piwik/plugins/Goals/TranslationHelper.php
Normal file
@ -0,0 +1,114 @@
|
||||
<?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\Goals;
|
||||
|
||||
|
||||
use Piwik\Piwik;
|
||||
|
||||
class TranslationHelper
|
||||
{
|
||||
|
||||
public function translateGoalMetricCategory($category)
|
||||
{
|
||||
// Return either "Goals by %s" or "Goals %s", depending on the category
|
||||
if ($category === 'General_Visit') {
|
||||
return Piwik::translate('Goals_GoalsAdjective', Piwik::translate('Goals_CategoryText' . $category));
|
||||
}
|
||||
return Piwik::translate('Goals_GoalsBy', Piwik::translate('Goals_CategoryText' . $category));
|
||||
}
|
||||
|
||||
public function translateEcommerceMetricCategory($category)
|
||||
{
|
||||
// Return either "Sales by %s" or "Sales %s", depending on the category
|
||||
if ($category === 'General_Visit') {
|
||||
return Piwik::translate('Ecommerce_SalesAdjective', Piwik::translate('Goals_CategoryText' . $category));
|
||||
}
|
||||
return Piwik::translate('Ecommerce_SalesBy', Piwik::translate('Goals_CategoryText' . $category));
|
||||
}
|
||||
|
||||
public function getTranslationForCompleteDescription($match, $patternType, $pattern)
|
||||
{
|
||||
$description = $this->getTranslationForMatchAttribute($match);
|
||||
if($this->isPatternUsedForMatchAttribute($match)) {
|
||||
$description = sprintf(
|
||||
'%s %s',
|
||||
$description,
|
||||
$this->getTranslationForPattern(
|
||||
$patternType,
|
||||
$pattern
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return $description;
|
||||
}
|
||||
|
||||
protected function isPatternUsedForMatchAttribute($match)
|
||||
{
|
||||
return in_array(
|
||||
$match,
|
||||
array('url', 'title', 'event_category', 'event_action', 'event_name', 'file', 'external_website')
|
||||
);
|
||||
}
|
||||
|
||||
protected function getTranslationForMatchAttribute($match)
|
||||
{
|
||||
switch ($match) {
|
||||
case 'manually':
|
||||
return Piwik::translate('Goals_ManuallyTriggeredUsingJavascriptFunction');
|
||||
|
||||
case 'url':
|
||||
return Piwik::translate('Goals_VisitUrl');
|
||||
|
||||
case 'title':
|
||||
return Piwik::translate('Goals_VisitPageTitle');
|
||||
|
||||
case 'event_category':
|
||||
case 'event_action':
|
||||
case 'event_name':
|
||||
return Piwik::translate('Goals_SendEvent');
|
||||
|
||||
case 'file':
|
||||
return Piwik::translate('Goals_Download');
|
||||
|
||||
case 'external_website':
|
||||
return Piwik::translate('Goals_ClickOutlink');
|
||||
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
protected function getTranslationForPattern($patternType, $pattern)
|
||||
{
|
||||
switch ($patternType) {
|
||||
case 'regex':
|
||||
return sprintf('%s %s',
|
||||
Piwik::translate('Goals_Pattern'),
|
||||
Piwik::translate('Goals_MatchesExpression', array($pattern))
|
||||
);
|
||||
|
||||
case 'contains':
|
||||
return sprintf('%s %s',
|
||||
Piwik::translate('Goals_Pattern'),
|
||||
Piwik::translate('Goals_Contains', array($pattern))
|
||||
);
|
||||
|
||||
case 'exact':
|
||||
return sprintf('%s %s',
|
||||
Piwik::translate('Goals_Pattern'),
|
||||
Piwik::translate('Goals_IsExactly', array($pattern))
|
||||
);
|
||||
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
49
msd2/tracking/piwik/plugins/Goals/Updates/3.0.0-b1.php
Normal file
49
msd2/tracking/piwik/plugins/Goals/Updates/3.0.0-b1.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Piwik\Plugins\Goals;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Updater;
|
||||
use Piwik\Updates;
|
||||
use Piwik\Updater\Migration\Factory as MigrationFactory;
|
||||
|
||||
|
||||
class Updates_3_0_0_b1 extends Updates
|
||||
{
|
||||
/**
|
||||
* @var MigrationFactory
|
||||
*/
|
||||
private $migration;
|
||||
|
||||
public function __construct(MigrationFactory $factory)
|
||||
{
|
||||
$this->migration = $factory;
|
||||
}
|
||||
|
||||
/**
|
||||
* Here you can define one or multiple SQL statements that should be executed during the update.
|
||||
* @return Updater\Migration[]
|
||||
*/
|
||||
public function getMigrations(Updater $updater)
|
||||
{
|
||||
return array(
|
||||
$this->migration->db->addColumn('goal', 'description', 'VARCHAR(255) NOT NULL DEFAULT \'\'', 'name'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Here you can define any action that should be performed during the update. For instance executing SQL statements,
|
||||
* renaming config entries, updating files, etc.
|
||||
*/
|
||||
public function doUpdate(Updater $updater)
|
||||
{
|
||||
$updater->executeMigrations(__FILE__, $this->getMigrations($updater));
|
||||
}
|
||||
}
|
129
msd2/tracking/piwik/plugins/Goals/VisitorDetails.php
Normal file
129
msd2/tracking/piwik/plugins/Goals/VisitorDetails.php
Normal file
@ -0,0 +1,129 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Goals;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Config;
|
||||
use Piwik\Date;
|
||||
use Piwik\Db;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\CustomVariables\CustomVariables;
|
||||
use Piwik\Plugins\Live\VisitorDetailsAbstract;
|
||||
use Piwik\Site;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\PageUrl;
|
||||
|
||||
class VisitorDetails extends VisitorDetailsAbstract
|
||||
{
|
||||
const EVENT_VALUE_PRECISION = 3;
|
||||
|
||||
protected $lastGoalResults = array();
|
||||
protected $lastVisitIds = array();
|
||||
|
||||
public function extendVisitorDetails(&$visitor)
|
||||
{
|
||||
$idVisit = $visitor['idVisit'];
|
||||
|
||||
if (in_array($idVisit, $this->lastVisitIds)) {
|
||||
$goalConversionDetails = isset($this->lastGoalResults[$idVisit]) ? $this->lastGoalResults[$idVisit] : array();
|
||||
} else {
|
||||
$goalConversionDetails = $this->queryGoalConversionsForVisits(array($idVisit));
|
||||
}
|
||||
|
||||
$visitor['goalConversions'] = count($goalConversionDetails);
|
||||
}
|
||||
|
||||
public function provideActionsForVisitIds(&$actions, $idVisits)
|
||||
{
|
||||
$this->lastVisitIds = $idVisits;
|
||||
$this->lastGoalResults = array();
|
||||
$goalConversionDetails = $this->queryGoalConversionsForVisits($idVisits);
|
||||
|
||||
// use while / array_shift combination instead of foreach to save memory
|
||||
while (is_array($goalConversionDetails) && count($goalConversionDetails)) {
|
||||
$goalConversionDetail = array_shift($goalConversionDetails);
|
||||
$idVisit = $goalConversionDetail['idvisit'];
|
||||
|
||||
unset($goalConversionDetail['idvisit']);
|
||||
|
||||
$this->lastGoalResults[$idVisit][] = $actions[$idVisit][] = $goalConversionDetail;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $idVisit
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function queryGoalConversionsForVisits($idVisits)
|
||||
{
|
||||
$sql = "
|
||||
SELECT
|
||||
log_conversion.idvisit,
|
||||
'goal' as type,
|
||||
goal.name as goalName,
|
||||
goal.idgoal as goalId,
|
||||
log_conversion.revenue as revenue,
|
||||
log_conversion.idlink_va,
|
||||
log_conversion.idlink_va as goalPageId,
|
||||
log_conversion.server_time as serverTimePretty,
|
||||
log_conversion.url as url
|
||||
FROM " . Common::prefixTable('log_conversion') . " AS log_conversion
|
||||
LEFT JOIN " . Common::prefixTable('goal') . " AS goal
|
||||
ON (goal.idsite = log_conversion.idsite
|
||||
AND
|
||||
goal.idgoal = log_conversion.idgoal)
|
||||
AND goal.deleted = 0
|
||||
WHERE log_conversion.idvisit IN ('" . implode("','", $idVisits) . "')
|
||||
AND log_conversion.idgoal > 0
|
||||
ORDER BY log_conversion.idvisit, server_time ASC
|
||||
";
|
||||
return Db::fetchAll($sql);
|
||||
}
|
||||
|
||||
|
||||
public function initProfile($visits, &$profile)
|
||||
{
|
||||
$profile['totalGoalConversions'] = 0;
|
||||
$profile['totalConversionsByGoal'] = array();
|
||||
}
|
||||
|
||||
public function handleProfileVisit($visit, &$profile)
|
||||
{
|
||||
$profile['totalGoalConversions'] += $visit->getColumn('goalConversions');
|
||||
}
|
||||
|
||||
public function handleProfileAction($action, &$profile)
|
||||
{
|
||||
if ($action['type'] != 'goal') {
|
||||
return;
|
||||
}
|
||||
|
||||
$idGoal = $action['goalId'];
|
||||
|
||||
if (empty($idGoal)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$idGoalKey = 'idgoal=' . $idGoal;
|
||||
|
||||
if (!isset($profile['totalConversionsByGoal'][$idGoalKey])) {
|
||||
$profile['totalConversionsByGoal'][$idGoalKey] = 0;
|
||||
}
|
||||
++$profile['totalConversionsByGoal'][$idGoalKey];
|
||||
|
||||
if (!empty($action['revenue'])) {
|
||||
if (!isset($profile['totalRevenueByGoal'][$idGoalKey])) {
|
||||
$profile['totalRevenueByGoal'][$idGoalKey] = 0;
|
||||
}
|
||||
$profile['totalRevenueByGoal'][$idGoalKey] += $action['revenue'];
|
||||
}
|
||||
}
|
||||
}
|
204
msd2/tracking/piwik/plugins/Goals/Visualizations/Goals.php
Normal file
204
msd2/tracking/piwik/plugins/Goals/Visualizations/Goals.php
Normal file
@ -0,0 +1,204 @@
|
||||
<?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\Goals\Visualizations;
|
||||
|
||||
use Piwik\API\DataTablePostProcessor;
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\Plugins\Goals\API as APIGoals;
|
||||
use Piwik\Site;
|
||||
use Piwik\View;
|
||||
|
||||
require_once PIWIK_INCLUDE_PATH . '/core/Twig.php';
|
||||
|
||||
/**
|
||||
* DataTable Visualization that derives from HtmlTable and sets show_goals_columns to true.
|
||||
*/
|
||||
class Goals extends HtmlTable
|
||||
{
|
||||
const ID = 'tableGoals';
|
||||
const FOOTER_ICON = 'icon-goal';
|
||||
const FOOTER_ICON_TITLE = 'General_DisplayTableWithGoalMetrics';
|
||||
|
||||
public function beforeLoadDataTable()
|
||||
{
|
||||
parent::beforeLoadDataTable();
|
||||
|
||||
$this->config->show_totals_row = false;
|
||||
|
||||
if ($this->config->disable_subtable_when_show_goals) {
|
||||
$this->config->subtable_controller_action = null;
|
||||
}
|
||||
|
||||
$this->setShowGoalsColumnsProperties();
|
||||
}
|
||||
|
||||
public function beforeRender()
|
||||
{
|
||||
$this->config->show_totals_row = false;
|
||||
$this->config->show_goals = true;
|
||||
$this->config->show_goals_columns = true;
|
||||
$this->config->datatable_css_class = 'dataTableVizGoals';
|
||||
$this->config->show_exclude_low_population = true;
|
||||
|
||||
$this->config->metrics_documentation['nb_visits'] = Piwik::translate('Goals_ColumnVisits');
|
||||
|
||||
if (1 == Common::getRequestVar('documentationForGoalsPage', 0, 'int')) {
|
||||
// TODO: should not use query parameter
|
||||
$this->config->documentation = Piwik::translate('Goals_ConversionByTypeReportDocumentation',
|
||||
array('<br />', '<br />', '<a href="https://matomo.org/docs/tracking-goals-web-analytics/" rel="noreferrer noopener" target="_blank">', '</a>'));
|
||||
}
|
||||
|
||||
parent::beforeRender();
|
||||
}
|
||||
|
||||
private function setShowGoalsColumnsProperties()
|
||||
{
|
||||
// set view properties based on goal requested
|
||||
$idSite = Common::getRequestVar('idSite', null, 'int');
|
||||
$idGoal = Common::getRequestVar('idGoal', AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW, 'string');
|
||||
|
||||
$goalsToProcess = null;
|
||||
if (Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER == $idGoal) {
|
||||
$this->setPropertiesForEcommerceView();
|
||||
|
||||
$goalsToProcess = array($idGoal);
|
||||
} else if (AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE == $idGoal) {
|
||||
$this->setPropertiesForGoals($idSite, 'all');
|
||||
|
||||
$goalsToProcess = $this->getAllGoalIds($idSite);
|
||||
} else if (AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW == $idGoal) {
|
||||
$this->setPropertiesForGoalsOverview($idSite);
|
||||
|
||||
$goalsToProcess = $this->getAllGoalIds($idSite);
|
||||
} else {
|
||||
$this->setPropertiesForGoals($idSite, array($idGoal));
|
||||
|
||||
$goalsToProcess = array($idGoal);
|
||||
}
|
||||
|
||||
// add goals columns
|
||||
$this->config->filters[] = array('AddColumnsProcessedMetricsGoal', array($enable = true, $idGoal, $goalsToProcess), $priority = true);
|
||||
}
|
||||
|
||||
private function setPropertiesForEcommerceView()
|
||||
{
|
||||
$this->requestConfig->filter_sort_column = 'goal_ecommerceOrder_revenue';
|
||||
$this->requestConfig->filter_sort_order = 'desc';
|
||||
|
||||
$this->config->columns_to_display = array(
|
||||
'label', 'nb_visits', 'goal_ecommerceOrder_nb_conversions', 'goal_ecommerceOrder_revenue',
|
||||
'goal_ecommerceOrder_conversion_rate', 'goal_ecommerceOrder_avg_order_revenue', 'goal_ecommerceOrder_items',
|
||||
'goal_ecommerceOrder_revenue_per_visit'
|
||||
);
|
||||
|
||||
$this->config->translations = array_merge($this->config->translations, array(
|
||||
'goal_ecommerceOrder_nb_conversions' => Piwik::translate('General_EcommerceOrders'),
|
||||
'goal_ecommerceOrder_revenue' => Piwik::translate('General_TotalRevenue'),
|
||||
'goal_ecommerceOrder_revenue_per_visit' => Piwik::translate('General_ColumnValuePerVisit')
|
||||
));
|
||||
|
||||
$goalName = Piwik::translate('General_EcommerceOrders');
|
||||
$this->config->metrics_documentation['revenue_per_visit'] =
|
||||
Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', $goalName);
|
||||
}
|
||||
|
||||
private function setPropertiesForGoalsOverview($idSite)
|
||||
{
|
||||
$allGoals = $this->getGoals($idSite);
|
||||
|
||||
// set view properties
|
||||
$this->config->columns_to_display = array('label', 'nb_visits');
|
||||
|
||||
foreach ($allGoals as $goal) {
|
||||
$column = "goal_{$goal['idgoal']}_conversion_rate";
|
||||
$this->config->columns_to_display[] = $column;
|
||||
}
|
||||
|
||||
$this->config->columns_to_display[] = 'revenue_per_visit';
|
||||
}
|
||||
|
||||
private function setPropertiesForGoals($idSite, $idGoals)
|
||||
{
|
||||
$allGoals = $this->getGoals($idSite);
|
||||
|
||||
if ('all' == $idGoals) {
|
||||
$idGoals = array_keys($allGoals);
|
||||
} else {
|
||||
// only sort by a goal's conversions if not showing all goals (for FULL_REPORT)
|
||||
$this->requestConfig->filter_sort_column = 'goal_' . reset($idGoals) . '_nb_conversions';
|
||||
$this->requestConfig->filter_sort_order = 'desc';
|
||||
}
|
||||
|
||||
$this->config->columns_to_display = array('label', 'nb_visits');
|
||||
|
||||
$goalColumnTemplates = array(
|
||||
'goal_%s_nb_conversions',
|
||||
'goal_%s_conversion_rate',
|
||||
'goal_%s_revenue',
|
||||
'goal_%s_revenue_per_visit',
|
||||
);
|
||||
|
||||
// set columns to display (columns of same type but different goals will be next to each other,
|
||||
// ie, goal_0_nb_conversions, goal_1_nb_conversions, etc.)
|
||||
foreach ($goalColumnTemplates as $columnTemplate) {
|
||||
foreach ($idGoals as $idGoal) {
|
||||
$this->config->columns_to_display[] = sprintf($columnTemplate, $idGoal);
|
||||
}
|
||||
}
|
||||
|
||||
$this->config->columns_to_display[] = 'revenue_per_visit';
|
||||
}
|
||||
|
||||
private $goalsForCurrentSite = null;
|
||||
|
||||
private function getGoals($idSite)
|
||||
{
|
||||
if ($this->goalsForCurrentSite === null) {
|
||||
// get all goals to display info for
|
||||
$allGoals = array();
|
||||
|
||||
// add the ecommerce goal if ecommerce is enabled for the site
|
||||
if (Site::isEcommerceEnabledFor($idSite)) {
|
||||
$ecommerceGoal = array(
|
||||
'idgoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER,
|
||||
'name' => Piwik::translate('Goals_EcommerceOrder'),
|
||||
'quoted_name' => false
|
||||
);
|
||||
$allGoals[$ecommerceGoal['idgoal']] = $ecommerceGoal;
|
||||
}
|
||||
|
||||
// add the site's goals (and escape all goal names)
|
||||
$siteGoals = Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
|
||||
foreach ($siteGoals as &$goal) {
|
||||
$goal['name'] = Common::sanitizeInputValue($goal['name']);
|
||||
|
||||
$goal['quoted_name'] = '"' . $goal['name'] . '"';
|
||||
$allGoals[$goal['idgoal']] = $goal;
|
||||
}
|
||||
|
||||
$this->goalsForCurrentSite = $allGoals;
|
||||
}
|
||||
|
||||
return $this->goalsForCurrentSite;
|
||||
}
|
||||
|
||||
private function getAllGoalIds($idSite)
|
||||
{
|
||||
$allGoals = $this->getGoals($idSite);
|
||||
return array_map(function ($data) {
|
||||
return $data['idgoal'];
|
||||
}, $allGoals);
|
||||
}
|
||||
}
|
41
msd2/tracking/piwik/plugins/Goals/Widgets/AddNewGoal.php
Normal file
41
msd2/tracking/piwik/plugins/Goals/Widgets/AddNewGoal.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?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\Goals\Widgets;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\API;
|
||||
use Piwik\Widget\WidgetConfig;
|
||||
|
||||
class AddNewGoal extends \Piwik\Widget\Widget
|
||||
{
|
||||
public static function configure(WidgetConfig $config)
|
||||
{
|
||||
$idSite = Common::getRequestVar('idSite', 0, 'int');
|
||||
|
||||
$config->setCategoryId('Goals_Goals');
|
||||
$config->setSubcategoryId('Goals_AddNewGoal');
|
||||
$config->setParameters(array('idGoal' => ''));
|
||||
$config->setIsNotWidgetizable();
|
||||
|
||||
if (empty($idSite)) {
|
||||
$config->disable();
|
||||
return;
|
||||
}
|
||||
|
||||
$goals = Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
|
||||
$config->setName('Goals_AddNewGoal');
|
||||
|
||||
if (count($goals) !== 0) {
|
||||
$config->disable();
|
||||
}
|
||||
}
|
||||
}
|
40
msd2/tracking/piwik/plugins/Goals/Widgets/EditGoals.php
Normal file
40
msd2/tracking/piwik/plugins/Goals/Widgets/EditGoals.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?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\Goals\Widgets;
|
||||
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Goals\API;
|
||||
use Piwik\Widget\WidgetConfig;
|
||||
|
||||
class EditGoals extends \Piwik\Widget\Widget
|
||||
{
|
||||
public static function configure(WidgetConfig $config)
|
||||
{
|
||||
$idSite = Common::getRequestVar('idSite', 0, 'int');
|
||||
|
||||
$config->setCategoryId('Goals_Goals');
|
||||
$config->setSubcategoryId('Goals_ManageGoals');
|
||||
$config->setIsNotWidgetizable();
|
||||
|
||||
if (empty($idSite)) {
|
||||
$config->disable();
|
||||
return;
|
||||
}
|
||||
|
||||
$goals = Request::processRequest('Goals.getGoals', ['idSite' => $idSite, 'filter_limit' => '-1'], $default = []);
|
||||
|
||||
$config->setName('Goals_ManageGoals');
|
||||
|
||||
if (count($goals) === 0) {
|
||||
$config->disable();
|
||||
}
|
||||
}
|
||||
}
|
44
msd2/tracking/piwik/plugins/Goals/angularjs/common/directives/goal-page-link.js
vendored
Normal file
44
msd2/tracking/piwik/plugins/Goals/angularjs/common/directives/goal-page-link.js
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
/*!
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* Usage:
|
||||
* <div piwik-goal-page-link="idGoal">
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp.directive').directive('piwikGoalPageLink', piwikGoalPageLink);
|
||||
|
||||
piwikGoalPageLink.$inject = ['$location', 'piwik'];
|
||||
|
||||
function piwikGoalPageLink($location, piwik){
|
||||
|
||||
return {
|
||||
restrict: 'A',
|
||||
compile: function (element, attrs) {
|
||||
|
||||
if (attrs.piwikGoalPageLink && piwik.helper.isAngularRenderingThePage()) {
|
||||
var title = element.text();
|
||||
element.html('<a></a>');
|
||||
var link = element.find('a');
|
||||
link.text(title);
|
||||
link.attr('href', 'javascript:void(0)');
|
||||
link.bind('click', function () {
|
||||
var $search = $location.search();
|
||||
$search.category = 'Goals_Goals';
|
||||
$search.subcategory = encodeURIComponent(attrs.piwikGoalPageLink);
|
||||
$location.search($search);
|
||||
});
|
||||
}
|
||||
|
||||
return function (scope, element, attrs) {
|
||||
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
})();
|
@ -0,0 +1,199 @@
|
||||
/*!
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp').controller('ManageGoalsController', ManageGoalsController);
|
||||
|
||||
ManageGoalsController.$inject = ['piwik', 'piwikApi', '$timeout', '$location', 'reportingMenuModel', '$rootScope'];
|
||||
|
||||
function ManageGoalsController(piwik, piwikApi, $timeout, $location, reportingMenuModel, $rootScope) {
|
||||
// remember to keep controller very simple. Create a service/factory (model) if needed
|
||||
|
||||
var self = this;
|
||||
|
||||
if (!this.goal) {
|
||||
this.goal = {};
|
||||
}
|
||||
this.showEditGoal = false;
|
||||
this.showGoalList = true;
|
||||
|
||||
function scrollToTop()
|
||||
{
|
||||
$timeout(function () {
|
||||
piwik.helper.lazyScrollTo(".pageWrap", 200);
|
||||
});
|
||||
}
|
||||
|
||||
function initGoalForm(goalMethodAPI, submitText, goalName, description, matchAttribute, pattern, patternType, caseSensitive, revenue, allowMultiple, useEventValueAsRevenue, goalId) {
|
||||
|
||||
$rootScope.$emit('Goals.beforeInitGoalForm', goalMethodAPI, goalId);
|
||||
|
||||
self.goal = {};
|
||||
self.goal.name = goalName;
|
||||
self.goal.description = description;
|
||||
|
||||
if (matchAttribute == 'manually') {
|
||||
self.goal.triggerType = 'manually';
|
||||
matchAttribute = 'url';
|
||||
} else {
|
||||
self.goal.triggerType = 'visitors';
|
||||
}
|
||||
|
||||
if (0 === matchAttribute.indexOf('event')) {
|
||||
self.goal.eventType = matchAttribute;
|
||||
matchAttribute = 'event';
|
||||
} else {
|
||||
self.goal.eventType = 'event_category';
|
||||
}
|
||||
|
||||
self.goal.matchAttribute = matchAttribute;
|
||||
self.goal.allowMultiple = allowMultiple;
|
||||
self.goal.patternType = patternType;
|
||||
self.goal.pattern = pattern;
|
||||
self.goal.caseSensitive = caseSensitive;
|
||||
self.goal.revenue = revenue;
|
||||
self.goal.apiMethod = goalMethodAPI;
|
||||
self.goal.useEventValueAsRevenue = useEventValueAsRevenue;
|
||||
|
||||
self.goal.submitText = submitText;
|
||||
self.goal.goalId = goalId;
|
||||
|
||||
$timeout(function () {
|
||||
var text = _pk_translate('Goals_AddNewGoal');
|
||||
if (goalId) {
|
||||
text = _pk_translate('Goals_UpdateGoal')
|
||||
}
|
||||
|
||||
$('.addEditGoal .card-title').text(text);
|
||||
});
|
||||
}
|
||||
|
||||
this.isManuallyTriggered = function () {
|
||||
return this.goal.triggerType == 'manually';
|
||||
}
|
||||
|
||||
this.save = function () {
|
||||
|
||||
var parameters = {};
|
||||
parameters.name = encodeURIComponent(this.goal.name);
|
||||
parameters.description = encodeURIComponent(this.goal.description);
|
||||
|
||||
if (this.isManuallyTriggered()) {
|
||||
parameters.matchAttribute = 'manually';
|
||||
parameters.patternType = 'regex';
|
||||
parameters.pattern = '.*';
|
||||
parameters.caseSensitive = 0;
|
||||
} else {
|
||||
parameters.matchAttribute = this.goal.matchAttribute;
|
||||
|
||||
if (parameters.matchAttribute === 'event') {
|
||||
parameters.matchAttribute = this.goal.eventType;
|
||||
}
|
||||
|
||||
parameters.patternType = this.goal.patternType;
|
||||
parameters.pattern = encodeURIComponent(this.goal.pattern);
|
||||
parameters.caseSensitive = this.goal.caseSensitive == true ? 1 : 0;
|
||||
}
|
||||
parameters.revenue = this.goal.revenue || 0;
|
||||
parameters.allowMultipleConversionsPerVisit = this.goal.allowMultiple == true ? 1 : 0;
|
||||
parameters.useEventValueAsRevenue = this.goal.useEventValueAsRevenue == true ? 1 : 0;
|
||||
|
||||
parameters.idGoal = this.goal.goalId;
|
||||
parameters.method = this.goal.apiMethod;
|
||||
|
||||
var isCreate = parameters.method === 'Goals.addGoal';
|
||||
var isUpdate = parameters.method === 'Goals.updateGoal';
|
||||
|
||||
if (isUpdate) {
|
||||
$rootScope.$emit('Goals.beforeUpdateGoal', parameters, piwikApi);
|
||||
} else if (isCreate) {
|
||||
$rootScope.$emit('Goals.beforeAddGoal', parameters, piwikApi);
|
||||
}
|
||||
|
||||
if (parameters && 'undefined' !== typeof parameters.cancelRequest && parameters.cancelRequest) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.isLoading = true;
|
||||
|
||||
piwikApi.fetch(parameters).then(function () {
|
||||
var search = $location.search();
|
||||
if (search
|
||||
&& search.subcategory
|
||||
&& search.subcategory == 'Goals_AddNewGoal'
|
||||
&& piwik.helper.isAngularRenderingThePage()) {
|
||||
// when adding a goal for the first time we need to load manage goals page afterwards
|
||||
reportingMenuModel.reloadMenuItems().then(function () {
|
||||
$location.search('subcategory', 'Goals_ManageGoals');
|
||||
self.isLoading = false;
|
||||
});
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}, function () {
|
||||
scrollToTop();
|
||||
self.isLoading = false;
|
||||
});
|
||||
};
|
||||
|
||||
this.changedTriggerType = function () {
|
||||
if (!this.isManuallyTriggered() && !this.goal.patternType) {
|
||||
this.goal.patternType = 'contains';
|
||||
}
|
||||
}
|
||||
|
||||
this.showListOfReports = function (shouldScrollToTop) {
|
||||
$rootScope.$emit('Goals.cancelForm');
|
||||
|
||||
this.showGoalList = true;
|
||||
this.showEditGoal = false;
|
||||
scrollToTop();
|
||||
};
|
||||
|
||||
this.showAddEditForm = function () {
|
||||
this.showGoalList = false;
|
||||
this.showEditGoal = true;
|
||||
};
|
||||
|
||||
this.createGoal = function () {
|
||||
|
||||
var parameters = {isAllowed: true};
|
||||
$rootScope.$emit('Goals.initAddGoal', parameters);
|
||||
if (parameters && !parameters.isAllowed) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.showAddEditForm();
|
||||
initGoalForm('Goals.addGoal', _pk_translate('Goals_AddGoal'), '', '', 'url', '', 'contains', /*caseSensitive = */false, '', /*allowMultiple = */ false, /*useEventValueAsRevenue = */ false, '0');
|
||||
scrollToTop();
|
||||
};
|
||||
|
||||
this.editGoal = function (goalId) {
|
||||
this.showAddEditForm();
|
||||
var goal = piwik.goals[goalId];
|
||||
initGoalForm("Goals.updateGoal", _pk_translate('Goals_UpdateGoal'), goal.name, goal.description, goal.match_attribute, goal.pattern, goal.pattern_type, (goal.case_sensitive != '0'), goal.revenue, goal.allow_multiple, (goal.event_value_as_revenue != '0'), goalId);
|
||||
scrollToTop();
|
||||
};
|
||||
|
||||
this.deleteGoal = function (goalId) {
|
||||
var goal = piwik.goals[goalId];
|
||||
|
||||
$('#confirm').find('h2').text(sprintf(_pk_translate('Goals_DeleteGoalConfirm'), '"' + goal.name + '"'));
|
||||
piwikHelper.modalConfirm('#confirm', {yes: function () {
|
||||
self.isLoading = true;
|
||||
|
||||
piwikApi.fetch({idGoal: goalId, method: 'Goals.deleteGoal'}).then(function () {
|
||||
location.reload();
|
||||
}, function () {
|
||||
self.isLoading = false;
|
||||
});
|
||||
|
||||
}});
|
||||
};
|
||||
|
||||
this.showListOfReports(false);
|
||||
}
|
||||
})();
|
@ -0,0 +1,38 @@
|
||||
/*!
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Usage:
|
||||
* <div piwik-manage-goals>
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp').directive('piwikManageGoals', piwikManageGoals);
|
||||
|
||||
piwikManageGoals.$inject = ['piwik'];
|
||||
|
||||
function piwikManageGoals(piwik){
|
||||
|
||||
return {
|
||||
restrict: 'A',
|
||||
priority: 10,
|
||||
controller: 'ManageGoalsController',
|
||||
controllerAs: 'manageGoals',
|
||||
compile: function (element, attrs) {
|
||||
|
||||
return function (scope, element, attrs, controller) {
|
||||
if (attrs.showAddGoal) {
|
||||
controller.createGoal();
|
||||
} else if (attrs.showGoal) {
|
||||
controller.editGoal(attrs.showGoal);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
})();
|
6
msd2/tracking/piwik/plugins/Goals/lang/am.json
Normal file
6
msd2/tracking/piwik/plugins/Goals/lang/am.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"Goals": {
|
||||
"CategoryTextReferrers_Referrers": "አመላካቾች",
|
||||
"ColumnConversions": "ልወጣዎች"
|
||||
}
|
||||
}
|
54
msd2/tracking/piwik/plugins/Goals/lang/ar.json
Normal file
54
msd2/tracking/piwik/plugins/Goals/lang/ar.json
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "أضف هدفاً",
|
||||
"AddNewGoal": "أضف هدفاً جديداً",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s أضف هدفاً جديداً %2$s أو %3$s حرر %4$s أهدافاً قائمة",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "السماح للهدف بالتحويل أكثر من مرة لكل زيارة",
|
||||
"AllowMultipleConversionsPerVisit": "السماح بعدة تحويلات لكل زيارة",
|
||||
"BestCountries": "أفضل الدول من حيث التحويل هي:",
|
||||
"BestKeywords": "أفضل الكلمات الدلالية من حيث التحويل:",
|
||||
"BestReferrers": "أفضل المواقع التي جلبت زيارات ربحية هي:",
|
||||
"CaseSensitive": "يطابق حالة الأحرف",
|
||||
"CategoryTextReferrers_Referrers": "مرسلو الزوار",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "الأجهزة",
|
||||
"ClickOutlink": "ينقر رابط لموقع خارجي",
|
||||
"ColumnConversions": "التحويلات",
|
||||
"Contains": "يتضمن %s",
|
||||
"ConversionRate": "%s معدل التحويل",
|
||||
"Conversions": "%s تحويلات",
|
||||
"ConversionsOverview": "نظرة عامة على التحويلات",
|
||||
"ConversionsOverviewBy": "التحويل العام بواسطة نوع الزيارة",
|
||||
"DefaultGoalConvertedOncePerVisit": "(الافتراضي) الهدف يمكن تحويله مرة واحدة لكل زيارة",
|
||||
"DefaultRevenueHelp": "على سبيل المثال، نموذج الاتصال الذي يرسله الزائر قد يساوي 10 جنيه في المتوسط. سيساعدك Matomo في فهم كيف تؤدي القطاعات المختلفة من زياراتك.",
|
||||
"DeleteGoalConfirm": "هل ترغب حقاً في حذف الهدف %s؟",
|
||||
"Download": "تحميل ملف",
|
||||
"ExceptionInvalidMatchingString": "إذا اخترت \"مطابق تماماً\"، فإن العبارة المطابقة يجب أن تكون رابط ويب يبدأ بالتالي %1$s. على سبيل المثال \"%2$s\".",
|
||||
"ExternalWebsiteUrl": "رابط موقع خارجي",
|
||||
"Filename": "اسم الملف",
|
||||
"GoalConversion": "تحويل الهدف",
|
||||
"GoalConversionsBy": "تحويل الهدف %s وفقاً لنوع الزيارة",
|
||||
"GoalIsTriggered": "تم تفعيل الهدف",
|
||||
"GoalIsTriggeredWhen": "سيتم تفعيل الهدف عندما",
|
||||
"GoalName": "اسم الهدف",
|
||||
"Goals": "الأهداف",
|
||||
"GoalsOverview": "نظرة عامة على الأهداف",
|
||||
"GoalX": "الهدف %s",
|
||||
"HelpOneConversionPerVisit": "إذا كانت صفحة تضاهي الهدف يتم تحديثها أو مشاهدتها أكثر من مرة في الزيارة، سيتم احتساب الهدف في أول مرة يتم تحميل الصفحة فيها أثناء هذه الزيارة.",
|
||||
"IsExactly": "يساوي بالضبط %s",
|
||||
"Manually": "يدوياً",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "يتم تفعيل الهدف يدوياً باستخدام كود جافا سكريبت trackGoal()",
|
||||
"MatchesExpression": "يطابق التعبير %s",
|
||||
"NewVisitorsConversionRateIs": "معدل التحويل للزيارات الجديدة هو %s",
|
||||
"Optional": "(اختياري)",
|
||||
"PageTitle": "عنوان الصفحة",
|
||||
"Pattern": "النمط",
|
||||
"ReturningVisitorsConversionRateIs": "معدل التحويل للزيارات المتكررة هو %s",
|
||||
"UpdateGoal": "تحديث هدف",
|
||||
"URL": "الرابط",
|
||||
"ViewAndEditGoals": "مشاهدة وتحرير الأهداف",
|
||||
"VisitPageTitle": "يزور صفحة بعنوان معين",
|
||||
"VisitUrl": "زيارة رابط معين (صفحة أو مجموعة من الصفحات)",
|
||||
"WhenVisitors": "عندما يقوم الزوار",
|
||||
"WhereThe": "حيث يكون"
|
||||
}
|
||||
}
|
82
msd2/tracking/piwik/plugins/Goals/lang/be.json
Normal file
82
msd2/tracking/piwik/plugins/Goals/lang/be.json
Normal file
@ -0,0 +1,82 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Адмененых Кошыкаў",
|
||||
"AddGoal": "Дадаць Мэту",
|
||||
"AddNewGoal": "Дадаць новую Мэту",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sДадаць новую Мэту%2$s або %3$sРэдагаваць%4$s існуючыя Мэты",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Дазволіць канвертаванне Мэты больш чым адзін раз за наведванне",
|
||||
"AllowMultipleConversionsPerVisit": "Дазволіць некалькі канверсій за адно наведванне",
|
||||
"BestCountries": "Краіны з самай лепшай канверсіяй:",
|
||||
"BestKeywords": "Ключавые словы з самай лепшай канверсіяй:",
|
||||
"BestReferrers": "Спасыльнікі з самай лепшай канверсіяй:",
|
||||
"CaseSensitive": "З улікам рэгістра",
|
||||
"CategoryTextReferrers_Referrers": "Спасыльнікі",
|
||||
"ClickOutlink": "Націсніце на спасылку на вонкавы сайт",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Сярэдні кошт замовы (СКЗ) - гэта агульная сума прыбытку ад усіх камерцыйных замоў падзяленная на колькасць замоў.",
|
||||
"ColumnAveragePriceDocumentation": "Сярэдні прыбытак для гэтага %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Сярэдняя колькасць гэтага %s прададзена праз замовы электроннай камерцыі.",
|
||||
"ColumnConversionRateDocumentation": "Працэнт наведванняў, за якія адбыліся мэты %s.",
|
||||
"ColumnConversionRateProductDocumentation": "%s Узровень канверсіі - колькасць замоў, якія змяшчаюць гэты прадукт, падзяленная на колькасць наведванняў на старонку прадукта.",
|
||||
"ColumnConversions": "Канверсіі",
|
||||
"ColumnConversionsDocumentation": "Колькасць канверсий для %s.",
|
||||
"ColumnOrdersDocumentation": "Агульная колькасць электронна-камерцыйных замоў у якіх змяшчаецца гэтая %s па меншай меры адзін раз.",
|
||||
"ColumnPurchasedProductsDocumentation": "Колькасць набытых прадуктаў з'яўляецца сумай прадуктаў прададзеных ва ўсіх парадках электроннай камерцыі.",
|
||||
"ColumnQuantityDocumentation": "Агульная колькасць рэалізаванай прадукцыі для кожнага %s.",
|
||||
"ColumnRevenueDocumentation": "Агульны прыбытак ад %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Агульны прыбытак ад %s падзяленны на колькасць наведванняў.",
|
||||
"ColumnVisits": "Агульная колькасць наведванняў, незалежна ад таго, выканалася мэта ці не.",
|
||||
"ColumnVisitsProductDocumentation": "Колькасць наведванняў на старонках Прадукт\/Катэгорыя. Гэта выкарыстоўваецца, каб выканаць %s узровень канверсіі.",
|
||||
"Contains": "змяшчае %s",
|
||||
"ConversionRate": "%s ўзровень канверсіі",
|
||||
"Conversions": "%s канверсіі",
|
||||
"ConversionsOverview": "Агляд Канверсій",
|
||||
"ConversionsOverviewBy": "Агляд канверсій па тыпу наведвання",
|
||||
"DefaultGoalConvertedOncePerVisit": "(па змаўчанні) Мэта можа быць канвертавана толькі адзін раз за наведванне",
|
||||
"DefaultRevenueHelp": "Напрыклад, Кантактная фарма запоўненая наведвальнікам можа каштаваць у сярэднім $10. Matomo дапаможа вам зразумець, наколькі добра выконваюцца вашы сегменты наведвальнікаў.",
|
||||
"DeleteGoalConfirm": "Вы сапраўды хочаце выдаліць Мэту %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Рэалізаваныя прадукты. Выключаючы падатак, дастаўку і скідкі",
|
||||
"Download": "Спампаваць файл",
|
||||
"Ecommerce": "Электронная камерцыя",
|
||||
"EcommerceAndGoalsMenu": "Электронная камерцыя і Мэты",
|
||||
"EcommerceLog": "Электронна-камерцыйны запіс",
|
||||
"EcommerceOrder": "Электронна-камерцыйная замова",
|
||||
"EcommerceOverview": "Агляд Электроннай камерцыі",
|
||||
"EcommerceReports": "Справаздачы электроннай камерцыі",
|
||||
"ExceptionInvalidMatchingString": "Калі вы вылучыце 'дакладнае супадзенне', адпавядаючы радок павінен быць URL-адрасам, пачынаючы %1$s. Напрыклад, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "знешні URL-адрас сайта",
|
||||
"Filename": "імя файла",
|
||||
"GoalConversion": "Канверсія Мэты",
|
||||
"GoalConversions": "Канверсіі Мэты",
|
||||
"GoalConversionsBy": "Мэта %s канверсіі па тыпу наведвання",
|
||||
"GoalIsTriggered": "Мэта адбылася",
|
||||
"GoalIsTriggeredWhen": "Мэта адбылася калі",
|
||||
"GoalName": "Імя Мэты",
|
||||
"Goals": "Мэты",
|
||||
"GoalsOverview": "Аглят Мэт",
|
||||
"GoalsOverviewDocumentation": "Гэта агляд вашых дасягнутых мэт канверсій. Першапачаткова, графік паказвае суму ўсіх канверсій. %s Ніжэй графік, на якім можна ўбачыць справаздачы канверсій для кожнай з вашых мэтаў. Спарклайны можна павялічыць, націснуўшы на іх.",
|
||||
"GoalX": "Мэта %s",
|
||||
"HelpOneConversionPerVisit": "Калі старонка, якая адпавядае гэтай Мэце абнаўляецца ці наведваецца больш чым адзін раз, Мэта будзе адсочвацца толькі ў ходзе першага наведвання.",
|
||||
"IsExactly": "дакладна %s",
|
||||
"Manually": "уручную",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Мэта адбылася ўручную праз Java-скрыпт API trackGoal()",
|
||||
"MatchesExpression": "супадае з выразам %s",
|
||||
"NewVisitorsConversionRateIs": "Канверсія новых наведвальнікаў - %s",
|
||||
"Optional": "(неабавязкова)",
|
||||
"PageTitle": "Назва старонкі",
|
||||
"Pattern": "Шаблон",
|
||||
"ProductCategory": "Катэгорыя прадукта",
|
||||
"ProductName": "Імя прадукта",
|
||||
"Products": "Прадукты",
|
||||
"ProductSKU": "Прадукт SKU",
|
||||
"ReturningVisitorsConversionRateIs": "Канверсія вяртаючыхя наведвальнікаў - %s",
|
||||
"SingleGoalOverviewDocumentation": "Гэта агляд канверсій для адной мэты. %s Спарклайны можна павялічыць, націснуўшы на іх.",
|
||||
"UpdateGoal": "Абнаўленне Мэты",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Прагляд і Рэдагаванне Мэтаў",
|
||||
"VisitPageTitle": "Наведайце назву старонкі",
|
||||
"VisitUrl": "Наведайце URL-адрас (старонкі, або групу старонак)",
|
||||
"WhenVisitors": "калі наведвальнікі",
|
||||
"WhereThe": "дзе",
|
||||
"YouCanEnableEcommerceReports": "Вы можаце ўключыць %1$s для гэтага вэб-сайта ў %2$s старонкі."
|
||||
}
|
||||
}
|
87
msd2/tracking/piwik/plugins/Goals/lang/bg.json
Normal file
87
msd2/tracking/piwik/plugins/Goals/lang/bg.json
Normal file
@ -0,0 +1,87 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Изоставена кошница",
|
||||
"AddGoal": "Добави цел",
|
||||
"AddNewGoal": "Добави нова цел",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sДобави нова цел%2$s или %3$sРедактирай%4$s съществуващите цели",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Позволи Целта да бъде конвертирана повече от веднъж за едно посещение",
|
||||
"AllowMultipleConversionsPerVisit": "Разреши няколко конверсии за посещение.",
|
||||
"BestCountries": "Вашето най-добро конвертиране на страните е:",
|
||||
"BestKeywords": "Вашите най-конвертиращи ключови думи:",
|
||||
"BestReferrers": "Вашето най-добро конвертиране на посещения от сайтове е:",
|
||||
"CaseSensitive": "Отчитане на съвпадения",
|
||||
"CategoryTextReferrers_Referrers": "Референции",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Устройства",
|
||||
"ClickOutlink": "натиснат върху връзката, водеща към външен сайт",
|
||||
"ColumnAveragePriceDocumentation": "Средната печалба за този %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Средното количество за този %s продадени чрез поръчки от електронен магазин.",
|
||||
"ColumnConversionRateDocumentation": "Брой конверсии за %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Честотата на %s конверсията е броят на заявките, съдържащи този продукт, разделен на броя на посещенията на продуктовата страница.",
|
||||
"ColumnConversions": "Конверсия",
|
||||
"ColumnConversionsDocumentation": "Брой на конверсии за %s.",
|
||||
"ColumnOrdersDocumentation": "Пълният брой поръчки, които съдържат %s поне веднъж.",
|
||||
"ColumnPurchasedProductsDocumentation": "Броят на поръчаните продукти е сумата от всичкото количество продадени продукти във всички поръчки.",
|
||||
"ColumnQuantityDocumentation": "Количеството е целият брой от продукти продаден за всеки %s.",
|
||||
"ColumnRevenueDocumentation": "Общи приходи генерирани от %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Общи приходи генерирани от %s, и разделени на брой посещения.",
|
||||
"ColumnVisits": "Пълният брой на посещенията, независимо дали е задействана цел или не.",
|
||||
"ColumnVisitsProductDocumentation": "Броят посещения на Продуктовата\/Категорийна страница. Това се използва също за да се изчисли %s степента на конверсия. Метричните данни са в отчета, ако изгледа Електронна търговия е бил настроен в Продукт\/Категория страниците.",
|
||||
"Contains": "съдържа %s",
|
||||
"ConversionByTypeReportDocumentation": "Този отчет дава детайлна информация относно развитието на целта (конверсии, степен на конверсията и приход от посещението) за всяка една от категориите, показани на левия панел. %1$s Моля натиснете на някоя от категориите, за да видите отчета. %2$s За повече информация, прочетете %3$sдокументацията за проследяване на целите на piwik.org%4$s",
|
||||
"ConversionRate": "%s обменният курс",
|
||||
"Conversions": "%s конверсия",
|
||||
"ConversionsOverview": "Общ преглед на реализациите",
|
||||
"ConversionsOverviewBy": "Преглед на конверсията по тип посещения",
|
||||
"DaysToConv": "Дни към Конверсии",
|
||||
"DefaultGoalConvertedOncePerVisit": "(По подразбиране) Целта може да бъде конвертирана само веднъж на посещение.",
|
||||
"DefaultRevenueHelp": "Например, формуляр, предоставен от един посетител може да струва средно 10 долара. Matomo ще Ви помогне да разберете колко добре се представят Вашите посетители.",
|
||||
"DeleteGoalConfirm": "Сигурни ли сте, че желаете да изтриете тази цел %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Продажба на продукти. Изключва данък, доставка и отстъпка",
|
||||
"Download": "Изтеглете файл",
|
||||
"Ecommerce": "Електронна търговия",
|
||||
"EcommerceAndGoalsMenu": "Електронна търговия и цели",
|
||||
"EcommerceLog": "Електронна търговия лог",
|
||||
"EcommerceOrder": "Електронна търговия поръчка",
|
||||
"EcommerceOverview": "Електронна търговия преглед",
|
||||
"EcommerceReports": "Електронна търговия доклади",
|
||||
"ExceptionInvalidMatchingString": "Ако изберете 'точно съвпадение', съвпадащият низ, трябва да започне с URL %1$s. Например, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "външен URL",
|
||||
"Filename": "име на файла",
|
||||
"GoalConversion": "Конверсия на цел",
|
||||
"GoalConversions": "Конверсии на цел",
|
||||
"GoalConversionsBy": "%s Конверсия на целите по тип посещение",
|
||||
"GoalIsTriggered": "Целта е задействана",
|
||||
"GoalIsTriggeredWhen": "Целта е задействана, когато",
|
||||
"GoalName": "Име на цел",
|
||||
"Goals": "Цели",
|
||||
"ManageGoals": "Управление на целите",
|
||||
"GoalsOverview": "Общ преглед на целите",
|
||||
"GoalsOverviewDocumentation": "Това е преглед на конверсията на вашите цели. Поначало, графиката показва сумата от всички ваши конверсии. %s Под графиката ще видите отчетите за конверсия на всички ваши цели. Блестящите линии можете да уголемите като кликнете върху тях.",
|
||||
"GoalX": "Цел %s",
|
||||
"HelpOneConversionPerVisit": "Ако страница, съпадащата с тази Цел е обновена или гледана повече от веднъж за едно посещение, Целта ще бъде проследена само първият път.",
|
||||
"IsExactly": "е точно %s",
|
||||
"LeftInCart": "%s остатък в количката",
|
||||
"Manually": "ръчно",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Целта е ръчно задействана с помощта на JavaScript API trackGoal()",
|
||||
"MatchesExpression": "съответства на изразените %s",
|
||||
"NewVisitorsConversionRateIs": "Стойност на конверсията от новите посетители е %s",
|
||||
"Optional": "(по избор)",
|
||||
"PageTitle": "Заглавие на страница",
|
||||
"Pattern": "Модел",
|
||||
"ProductCategory": "Категория на продукт",
|
||||
"ProductName": "Име на продукт",
|
||||
"Products": "Продукти",
|
||||
"ProductSKU": "SKU на продукта",
|
||||
"ReturningVisitorsConversionRateIs": "Стойност на конверсията от върналите се посетители е %s",
|
||||
"SingleGoalOverviewDocumentation": "Това е преглед на конверсиите за една цел. %s Блестящите линии могат да бъдат уголемени като кликнете върху тях.",
|
||||
"UpdateGoal": "Обнови цел",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Виж и редактирай цели",
|
||||
"VisitPageTitle": "Посещения по заглавие на страница",
|
||||
"VisitsUntilConv": "Посещения към Конверсии",
|
||||
"VisitUrl": "посетят определен URL (страница или група от страници)",
|
||||
"WhenVisitors": "когато посетителите",
|
||||
"WhereThe": "където",
|
||||
"YouCanEnableEcommerceReports": "Можете да включите %1$s за този уебсайт в %2$s страницата."
|
||||
}
|
||||
}
|
14
msd2/tracking/piwik/plugins/Goals/lang/bs.json
Normal file
14
msd2/tracking/piwik/plugins/Goals/lang/bs.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"Goals": {
|
||||
"ColumnConversions": "Konverzije",
|
||||
"Contains": "sadrži %s",
|
||||
"Download": "Preuzmi datoteku",
|
||||
"GoalName": "Naziv cilja",
|
||||
"IsExactly": "je tačno %s",
|
||||
"Manually": "ručno",
|
||||
"ProductCategory": "Kategorija proizvoda",
|
||||
"ProductName": "Ime proizvoda",
|
||||
"Products": "Proizvodi",
|
||||
"URL": "Veza"
|
||||
}
|
||||
}
|
88
msd2/tracking/piwik/plugins/Goals/lang/ca.json
Normal file
88
msd2/tracking/piwik/plugins/Goals/lang/ca.json
Normal file
@ -0,0 +1,88 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Cistella abandonada",
|
||||
"AddGoal": "Afegir un objectiu",
|
||||
"AddNewGoal": "Afegir un nou objectiu",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAfegeix un nou objectiu%2$s o %3$sEdita objectius existents%4$s",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Permetre convertir un objectiu més d'una vegada per visita",
|
||||
"AllowMultipleConversionsPerVisit": "Permetre múltiples conversions per visita",
|
||||
"BestCountries": "Els millors paísos amb conversions són:",
|
||||
"BestKeywords": "Les paraules clau amb més conversions són:",
|
||||
"BestReferrers": "Els llocs webs de referència amb més conversions són:",
|
||||
"CaseSensitive": "Concidència sensible a minúscules\/majúscules",
|
||||
"CategoryTextReferrers_Referrers": "Referents",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "atribut d'usuari",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Dispositius",
|
||||
"ClickOutlink": "Click a un enllaç a un lloc web extern",
|
||||
"ColumnAverageOrderRevenueDocumentation": "La Mitja de Valor d'una Commanda (MVC) és el nombre total d'ingressos de totes les comandes electròniques dividit pel nombre de comandes.",
|
||||
"ColumnAveragePriceDocumentation": "La mitja d'ingresos per aquest %s.",
|
||||
"ColumnAverageQuantityDocumentation": "La quantitat mitja d'aquest %s venut a les comandes Ecommerce.",
|
||||
"ColumnConversionRateDocumentation": "El percentatge de visites que han arribat a l'objectiu %s.",
|
||||
"ColumnConversionRateProductDocumentation": "El %s rati de conversió és el nombre de comandes que contenen aquest producte dividit pel nombre de visites a la pàgina del producte.",
|
||||
"ColumnConversions": "Conversions",
|
||||
"ColumnConversionsDocumentation": "El nombre de conversions per %s",
|
||||
"ColumnOrdersDocumentation": "El nombre total de comandes de compra que contenen aquest %s almenys una vegada.",
|
||||
"ColumnPurchasedProductsDocumentation": "El nombre de productes comprats és la suma de les quantitats de productes que s'han venut en els comandes.",
|
||||
"ColumnQuantityDocumentation": "La quantitat és el nombre total de productes que s'han venut per cada %s.",
|
||||
"ColumnRevenueDocumentation": "Ingressos totals generats per %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Els ingresos totals generats per %s dividit pel nombre de visites.",
|
||||
"ColumnVisits": "El nombre total de visites, sense tenir en compte si s'ha assolit l'objectiu o no.",
|
||||
"ColumnVisitsProductDocumentation": "El nombre de visites a la pagina del Producte\/Categoria. S'utiltiza per calcular el rati de conversió del %s. Aquesta mètrica està a l'informe si",
|
||||
"Contains": "conté %s",
|
||||
"ConversionByTypeReportDocumentation": "Aquest informe proporciona informació detallada sobre la productivitat dels objectius (conversions, rati de conversións i ingresos per visita) per cada una de les catagories disponibles al panell de l'esquerra. %1$s Cliqueu alguna de les categories per veure l'informe. %2$s Per mes informació, llegiu %3$s la documetnació sobre el rastreig d'objectius a piwik.org%4$s",
|
||||
"ConversionRate": "Rati de coversió de %s",
|
||||
"Conversions": "%s conversions",
|
||||
"ConversionsOverview": "Vista general de les conversions",
|
||||
"ConversionsOverviewBy": "Vista general de les conversións per tipus de visita",
|
||||
"DaysToConv": "Dies per la conversió",
|
||||
"DefaultGoalConvertedOncePerVisit": "(per defecte) Un objectiu només es pot assolir una vegada per visita.",
|
||||
"DefaultRevenueHelp": "Per exemple, un formulari de contacte emplenat per un visitant pot valdre 10€ de mitja. El Matomo t'ajuda a entendre com es comportent els segments de visitants.",
|
||||
"DeleteGoalConfirm": "Esteu segurs que voleu eliminar l'objectiu %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Ventes de productes. Sense impostos, despeses d'enviament ni descomptes",
|
||||
"Download": "Descarrega un fitxer",
|
||||
"Ecommerce": "Ecomerç",
|
||||
"EcommerceAndGoalsMenu": "Ecomerç i Objectius",
|
||||
"EcommerceLog": "Registre d'ecomerç",
|
||||
"EcommerceOrder": "Ordre d'ecomerç",
|
||||
"EcommerceOverview": "Vista general ecomerç",
|
||||
"EcommerceReports": "Informes d'Ecommerce",
|
||||
"ExceptionInvalidMatchingString": "Si escolleu 'coïncidencia exacta', el cadena de coincidència ha de ser una URL que comença per %1$s. Per exemple, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL del lloc web extern",
|
||||
"Filename": "nom del fitxer",
|
||||
"GoalConversion": "Conversió d'objectius",
|
||||
"GoalConversions": "Conversió d'objectiu",
|
||||
"GoalConversionsBy": "Conversións %s d'objectius per tipus de visita",
|
||||
"GoalIsTriggered": "S'ha assolit l'objectiu",
|
||||
"GoalIsTriggeredWhen": "S'asoleix l'objectiu quan",
|
||||
"GoalName": "Nom de l'objectiu",
|
||||
"Goals": "Objectius",
|
||||
"GoalsOverview": "Vista general d'objectius",
|
||||
"GoalsOverviewDocumentation": "Això es una vista global de les conversions dels vostres objectius. Inicialment el gràfic mostra la suma de totes les conversions. %s Davalla del gràfic, podeu veure els informes de conversions per cada un dels vostres objectius. Els minigràfics es pot ampliar fent clic sobre ells.",
|
||||
"GoalX": "Objectiu %s",
|
||||
"HelpOneConversionPerVisit": "Si la pàgina de l'objectiu es refresca o es visita més d'una vegada en una sola visita l'objectiu només es contarà una vegada (la primera de totes).",
|
||||
"IsExactly": "es exactament %s",
|
||||
"LeftInCart": "queda %s a la cistella",
|
||||
"Manually": "manualment",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "L'objectiu s'asoleix manualment utilitzat la funció trackGoal() de l'API de Javascript.",
|
||||
"MatchesExpression": "compleix l'expresió %s",
|
||||
"NewVisitorsConversionRateIs": "El rati de conversió dels nous visitants es %s",
|
||||
"Optional": "(opcional)",
|
||||
"PageTitle": "Títol de la pàgina",
|
||||
"Pattern": "Patró",
|
||||
"ProductCategory": "Categoria de Producte",
|
||||
"ProductName": "Nom del producte",
|
||||
"Products": "Productes",
|
||||
"ProductSKU": "Referència del producte",
|
||||
"ReturningVisitorsConversionRateIs": "EL rati de conversió dels visitants que retornen és %s",
|
||||
"SingleGoalOverviewDocumentation": "Això es una visió global de les conversions d'un únic objectiu. %s Els minigràfics es poden ampliar fent clic sobre ells.",
|
||||
"UpdateGoal": "Actualtizar objectiu",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Mostra i edita els objectius",
|
||||
"VisitPageTitle": "Visitar un pàgina amb el títol donat",
|
||||
"VisitsUntilConv": "Visites convertides",
|
||||
"VisitUrl": "Visitar una URL donada (pàgina o grup de pàgines)",
|
||||
"WhenVisitors": "quan el visitant",
|
||||
"WhereThe": "quan el",
|
||||
"YouCanEnableEcommerceReports": "Podeu activar el %1$s per aquest lloc web a la pàgina %2$s."
|
||||
}
|
||||
}
|
112
msd2/tracking/piwik/plugins/Goals/lang/cs.json
Normal file
112
msd2/tracking/piwik/plugins/Goals/lang/cs.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Neobjednané košíky",
|
||||
"AddGoal": "Přidat cíl",
|
||||
"AddNewGoal": "Přidat nový cíl",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sPřidat nový cíl%2$s, nebo %3$sUpravit%4$s existující cíle",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Povolit konverzi cíle více než jednou za návštěvu",
|
||||
"AllowMultipleConversionsPerVisit": "Povolit více konverzí za návštěvu",
|
||||
"BestCountries": "Země s nejvyšším počtem konverzí jsou:",
|
||||
"BestKeywords": "Klíčová slova s nejvyšším počtem konverzí jsou:",
|
||||
"BestReferrers": "Odkazující stránky s nejvyšším počtem konverzí jsou:",
|
||||
"CaseSensitive": "rozlišovat velikost písmen",
|
||||
"CancelAndReturnToGoals": "Zrušit a %1$svrátit se na seznam cílů%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Umístění uživatele",
|
||||
"CategoryTextReferrers_Referrers": "Referrery",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Uživatelský atribut",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Zařízení",
|
||||
"CategoryTextGeneral_Visit": "Zapojení",
|
||||
"ClickOutlink": "Kliknou na odkaz na externí web",
|
||||
"SendEvent": "Odešlou událost",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Průměrná hodnota objednávky (AOV) je celkový příjem ze všech objednávek dělený jejich počtem.",
|
||||
"ColumnAveragePriceDocumentation": "Průměrný příjem z tohoto %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Průměrný počet tohoto %s prodaný v elektronických objednávkách.",
|
||||
"ColumnConversionRateDocumentation": "Procento návštěv, které vyvolaly cíl %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Konverzní poměr %s je počet objednávek obsahujících tento produkt děleno celkovým počtem návštěv stránky produktu.",
|
||||
"ColumnConversions": "Převody",
|
||||
"Conversion": "Konverze",
|
||||
"ColumnConversionsDocumentation": "Počet konverzí pro %s.",
|
||||
"ColumnOrdersDocumentation": "Počet elektronických objednávek, které aspoň jednou obsahovaly %s.",
|
||||
"ColumnPurchasedProductsDocumentation": "Počet zakoupených produktů je součet množství produktů ze všech elektronických objednávek.",
|
||||
"ColumnQuantityDocumentation": "Množství je celkový počet prodaných produktů pro každý %s.",
|
||||
"ColumnRevenueDocumentation": "Celkový příjem generovaný %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Celkový příjem generovaný %s dělený počtem návštěv.",
|
||||
"ColumnVisits": "Celkový počet návštěv bez ohledu na to, jestli došlo k vyvolání cíle.",
|
||||
"ColumnVisitsProductDocumentation": "Počet návštěv stránky produktu\/kategorie. Toto je také použito k výpočtu konverzního poměru pro %s. Toto měření je ve hlášení pouze, pokud bylo na stránkách produktů\/kategorií nastaveno sledování elektronického obchodu.",
|
||||
"Contains": "obsahuje %s",
|
||||
"ConversionByTypeReportDocumentation": "Toto hlášení poskytuje podrobné informace o výkonu cíle (konverze, konverzní poměr, celkový příjem za návštěvu) pro každou z kategorií zobrazených v levém panelu. %1$s Klikněte na jednu z kategorií pro zobrazení hlášení. %2$s Pro více informací si přečtěte %3$sdokumentaci sledování cílů%4$s",
|
||||
"ConversionRate": "%s frekvence konverzí",
|
||||
"Conversions": "%s konverzí",
|
||||
"ConversionsDescription": "Konverze",
|
||||
"ConversionsOverview": "Přehled konverzí",
|
||||
"ConversionsOverviewBy": "Přehled konverzí podle typu návštěvy",
|
||||
"DaysToConv": "Dnů do konverze",
|
||||
"Details": "Detaily cíle",
|
||||
"DefaultGoalConvertedOncePerVisit": "Výchozí cíl může být zkonvertován pouze jednou za návštěvu",
|
||||
"DefaultRevenueHelp": "Na příklad kontaktní formulář odeslaný návštěvníkem má průměrnou cenu $10. Matomo vám pomůže dobře pochopit chování skupin uživatelů",
|
||||
"DeleteGoalConfirm": "Jste si jisti, že chcete vymazat tento cíl %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Tržby produktu. Nepočítají se daně, poplatky za doručení a slevy.",
|
||||
"Download": "Stáhnou soubor",
|
||||
"Ecommerce": "Obchody",
|
||||
"EcommerceAndGoalsMenu": "Obchody a Cíle",
|
||||
"EcommerceLog": "Logy",
|
||||
"EcommerceOrder": "Objednávky",
|
||||
"EcommerceOverview": "Ochody - Přehled",
|
||||
"EcommerceReports": "Hlášení obchodů",
|
||||
"ExceptionInvalidMatchingString": "Pokud zvolíte 'přesnou shodu' odpovídající řetězec musí být URL začínající s %1$s. Například, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL externího webu",
|
||||
"Filename": "jméno souboru",
|
||||
"GoalConversion": "Cíl konverze",
|
||||
"GoalConversions": "Konverze cíle",
|
||||
"GoalConversionsBy": "Konverze cíle %s podle typu návštěvy",
|
||||
"GoalIsTriggered": "Cíl je zaznamenán",
|
||||
"GoalIsTriggeredWhen": "Cíl je zaznamenán, pokud",
|
||||
"GoalName": "Jméno cíle",
|
||||
"Goals": "Cíle",
|
||||
"ManageGoals": "Spravovat cíle",
|
||||
"GoalsOverview": "Přehled cílů",
|
||||
"GoalsOverviewDocumentation": "Toto je přehled vašich konverzí cílů. Ve výchozím stavu graf zobrazuje součet všech konverzí. %s Pod grafem jsou zobrazena hlášení pro každý cíl. Můžete je zvětšit kliknutím, pokud chcete.",
|
||||
"GoalX": "Cíl: %s",
|
||||
"HelpOneConversionPerVisit": "Pokud byla stránka odpovídající cíli při návštěvě obnovena nebo zobrazena vícekrát, bude cíl započítán pouze jednou a to při prvním zobrazení.",
|
||||
"IsExactly": "je přesně %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Více o sledování cílů se dozvíte v %1$suživatelské dokumentaci%2$s.",
|
||||
"LeftInCart": "%s Zbylo v košíku",
|
||||
"Manually": "ručně",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Cíl je ručně zaznamenáván pomocí JavaScriptového API trackGoal()",
|
||||
"MatchesExpression": "odpovídá %s",
|
||||
"NewGoalIntro": "Sledování konverzního poměru cílů je jeden z nejefektivnějších způsobů měření a zlepšování podnikatelských zájmů.",
|
||||
"NewVisitorsConversionRateIs": "Poměr konverze nové příchozích uživatelů je %s",
|
||||
"NoConversionsNoReportsMessage": "Reporty nejsou zobrazeny, protože nejsou dostupná převodní data pro vybrané cíle a období.",
|
||||
"NeedAccess": "Pouze administrátor nebo uživatel s právy super-uživatele může spravovat cíle pro daný web.",
|
||||
"Optional": "(volitelné)",
|
||||
"OverallConversionRate": "Celkový počet konverzí (návštěvy se splněným cílem)",
|
||||
"ColumnOverallRevenue": "Celkové příjmy",
|
||||
"OverallRevenue": "celkový příjem",
|
||||
"PageTitle": "Titulek stránky",
|
||||
"Pattern": "Vzor",
|
||||
"PluginDescription": "Vytvořte cíle a sledujte detailní hlášení o jejich konverzích: vývoj v čase, příjem za návštěvu, konverze prro referrer, pro klíčové slovo a více.",
|
||||
"ProductCategory": "Kategorie produktu",
|
||||
"ProductName": "Název produktu",
|
||||
"ProductNames": "Názvy produktů",
|
||||
"ProductPrice": "Cena produktu",
|
||||
"ProductQuantity": "Množství produktu",
|
||||
"Products": "Produkty",
|
||||
"ProductSKU": "SKU produktu",
|
||||
"ProductSKUs": "SKU produktů",
|
||||
"ReturningVisitorsConversionRateIs": "Poměr konverze navracejících se uživatelů je %s",
|
||||
"SingleGoalOverviewDocumentation": "Toto je přehled konverzí jednoho cíle. %s Linky lze zvětšit kliknutím na ně.",
|
||||
"ThereIsNoGoalToManage": "Pro stránky %s není žádný cíl ke spravování",
|
||||
"UpdateGoal": "Aktualizovat cíl",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Zobrazit a editovat cíle",
|
||||
"GoalsBy": "Cíle podle %s",
|
||||
"GoalsAdjective": "Cíle %s",
|
||||
"VisitPageTitle": "Navštíví stránku s daným titulkem",
|
||||
"VisitsUntilConv": "Návštěv ke konverzi",
|
||||
"VisitUrl": "Navštíví zadanou URL (stránku nebo skupiny stránek)",
|
||||
"WhenVisitors": "pokud návštěvníci",
|
||||
"WhereThe": "když",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Navštívená stránka musí obsahovat volání metody JavaScriptu 'trackGoal' (%1$svíce informací%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Pro tyto stránky můžete povolit %1$s na stránce %2$s."
|
||||
}
|
||||
}
|
108
msd2/tracking/piwik/plugins/Goals/lang/da.json
Normal file
108
msd2/tracking/piwik/plugins/Goals/lang/da.json
Normal file
@ -0,0 +1,108 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Afbrudt Ordre",
|
||||
"AddGoal": "Tilføj mål",
|
||||
"AddNewGoal": "Tilføj et nyt mål",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sTilføj et nyt mål%2$s eller %3$srediger%4$s eksisterende mål",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Tillad at mål konverteres mere end én gang pr. besøg",
|
||||
"AllowMultipleConversionsPerVisit": "Tillad flere konverteringer pr. besøg",
|
||||
"BestCountries": "De bedste konverteringslande er:",
|
||||
"BestKeywords": "Top konverteringssøgeord er:",
|
||||
"BestReferrers": "Bedste konverteringshjemmeside henvisning er:",
|
||||
"CaseSensitive": "Forskel på små og store bogstaver",
|
||||
"CancelAndReturnToGoals": "Annuller og %1$sog vend tilbage til listen over mål%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Bruger lokation",
|
||||
"CategoryTextReferrers_Referrers": "Henvisninger",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Brugerattribut",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Enheder",
|
||||
"CategoryTextGeneral_Visit": "engagement",
|
||||
"ClickOutlink": "Klik på et link til en ekstern hjemmeside",
|
||||
"SendEvent": "Send en hændelse",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Gennemsnitlig ordreværdi (GOV) er den samlede indtjening fra alle e-handel ordrer divideret med antallet af ordrer.",
|
||||
"ColumnAveragePriceDocumentation": "Gennemsnitlig indtjening for denne %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Gennemsnitlige mængde af denne %s solgt i e-handel ordrer.",
|
||||
"ColumnConversionRateDocumentation": "Procentdel af besøg, der udløste målet %s.",
|
||||
"ColumnConversionRateProductDocumentation": "%s konverteringsfrekvens er antallet af ordrer, der indeholder produktet divideret med antallet af besøg på produktets side.",
|
||||
"ColumnConversions": "Konverteringer",
|
||||
"Conversion": "Konvertering",
|
||||
"ColumnConversionsDocumentation": "Antal konverteringer for %s.",
|
||||
"ColumnOrdersDocumentation": "Det samlede antal e-handel ordrer, der indeholdt denne %s mindst én gang.",
|
||||
"ColumnPurchasedProductsDocumentation": "Antallet af købte varer er summen af solgte varer i alle e-handel ordrer.",
|
||||
"ColumnQuantityDocumentation": "Mængde er det samlede antal af solgte produkter for hver %s.",
|
||||
"ColumnRevenueDocumentation": "Den samlede indtægt fra %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Den samlede indtægt fra %s divideret med antal besøg.",
|
||||
"ColumnVisits": "Det samlede antal besøg, uanset om et mål blev udløst eller ej.",
|
||||
"ColumnVisitsProductDocumentation": "Antallet af besøg på produktet\/kategori siden. Anvendes til at behandle %s konverteringsfrekvens. Målingen er med i rapporten, hvis e-handel sporing var konfigureret på produkt\/kategori siderne.",
|
||||
"Contains": "indeholder %s",
|
||||
"ConversionByTypeReportDocumentation": "Rapporten indeholder detaljerede oplysninger om mål ydeevne (konverteringer, omregningskurser og indtægt pr. besøg) for hver af kategorierne tilgængelig i panelet til venstre. %1$s Klik på en af kategorierne for at få vist rapporten. %2$s For mere information læs %3$sSporing af mål dokumentation på piwik.org%4$s",
|
||||
"ConversionRate": "%s konverteringsrate",
|
||||
"Conversions": "%s konverteringer",
|
||||
"ConversionsDescription": "konverteringer",
|
||||
"ConversionsOverview": "Konverteringsoversigt",
|
||||
"ConversionsOverviewBy": "Konverteringsoversigt efter besøgstype",
|
||||
"DaysToConv": "Dage til konvertering",
|
||||
"Details": "Mål detaljer",
|
||||
"DefaultGoalConvertedOncePerVisit": "(standard) Målet kan kun konverteres én gang pr. besøg",
|
||||
"DefaultRevenueHelp": "F.eks. en kontaktformular sendt af en besøgende kan være 10 kr. værd i gennemsnit. Matomo vil hjælpe dig med at forstå, hvor godt dine besøgssegmenter klarer sig.",
|
||||
"DeleteGoalConfirm": "Bekræft sletning af mål %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Produktsalg. Omfatter ikke moms, forsendelse og rabat",
|
||||
"Download": "Henter en fil",
|
||||
"Ecommerce": "E-handel",
|
||||
"EcommerceAndGoalsMenu": "E-handel & Mål",
|
||||
"EcommerceLog": "E-handelslog",
|
||||
"EcommerceOrder": "E-handel ordre",
|
||||
"EcommerceOverview": "E-handel oversigt",
|
||||
"EcommerceReports": "E-handelsrapporter",
|
||||
"ExceptionInvalidMatchingString": "Hvis der vælges 'eksakt match', skal den matchende streng være en netadresse der starter med %1$s. F.eks., '%2$s'.",
|
||||
"ExternalWebsiteUrl": "ekstern hjemmesideadresse",
|
||||
"Filename": "filnavn",
|
||||
"GoalConversion": "Mål konvertering",
|
||||
"GoalConversions": "Målkonverteringer",
|
||||
"GoalConversionsBy": "Mål %s konverteringer efter besøgstype",
|
||||
"GoalIsTriggered": "Målet er opfyldt",
|
||||
"GoalIsTriggeredWhen": "Målet er opfyldt, når",
|
||||
"GoalName": "Navn",
|
||||
"Goals": "Mål",
|
||||
"NGoals": "%s mål",
|
||||
"ManageGoals": "Administrer mål",
|
||||
"GoalsOverview": "Måloversigt",
|
||||
"GoalsOverviewDocumentation": "Oversigt over dine målkonverteringer. I første omgang viser diagrammet summen af alle konverteringer. %s Under diagrammet, kan du se konverteringsrapporter for hvert af dine mål. Minidiagrammer kan udvides ved at klikke på dem.",
|
||||
"GoalX": "Mål %s",
|
||||
"HelpOneConversionPerVisit": "Hvis en side der matcher målet opdateres eller ses mere end én gang i et besøg, vil målet kun spores første gang siden bliver indlæst under besøget.",
|
||||
"IsExactly": "er nøjagtig %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Lær mere om %1$s sporingsmål i Matomo%2$s i brugerdokumentationen.",
|
||||
"LeftInCart": "%s tilbage i kurven",
|
||||
"Manually": "manuelt",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Målet udløses manuelt ved hjælp af JavaScript API trackGoal ()",
|
||||
"MatchesExpression": "matcher udtrykket %s",
|
||||
"NewGoalIntro": "Sporing af målkonvertering er et af de mest effektive måder at måle og forbedre dine forretningsmæssige målsætninger.",
|
||||
"NewVisitorsConversionRateIs": "Nye besøgendes konverteringsrate er %s",
|
||||
"NoConversionsNoReportsMessage": "Rapporter bliver ikke vist fordi der ikke er nogen salgsdata for det valgte mål og periode.",
|
||||
"NeedAccess": "Kun en administrator eller en bruger med superbrugeradgang kan administrere mål for en given hjemmeside.",
|
||||
"Optional": "(valgfri)",
|
||||
"OverallConversionRate": "samlet konverteringsrate (besøg med et færdigt mål)",
|
||||
"OverallRevenue": "samlede indtægter",
|
||||
"PageTitle": "sidetitel",
|
||||
"Pattern": "Mønster",
|
||||
"PluginDescription": "Opret mål og se detaljerede rapporter om målkonverteringer: udvikling over tid, indtjening pr. besøg, konverteringer pr. henviser, pr. søgeord og meget mere.",
|
||||
"ProductCategory": "Produktkategori",
|
||||
"ProductName": "Produktnavn",
|
||||
"Products": "Produkter",
|
||||
"ProductSKU": "Produkt-SKU",
|
||||
"ReturningVisitorsConversionRateIs": "Tilbagevendende besøgendes konverteringsrate er %s",
|
||||
"SingleGoalOverviewDocumentation": "Oversigt over konverteringer for et enkelt mål. %s Minidiagrammer under diagrammet kan forstørres ved at klikke på dem.",
|
||||
"ThereIsNoGoalToManage": "Der er ingen mål at administrere for hjemmesiden %s",
|
||||
"UpdateGoal": "Opdater mål",
|
||||
"URL": "Netadresse",
|
||||
"ViewAndEditGoals": "Vis og rediger mål",
|
||||
"GoalsBy": "Mål for %s",
|
||||
"GoalsAdjective": "Mål %s",
|
||||
"VisitPageTitle": "Besøger en given sidetitel",
|
||||
"VisitsUntilConv": "Besøg til konvertering",
|
||||
"VisitUrl": "Besøger en bestemt hjemmeside (side eller en gruppe af sider)",
|
||||
"WhenVisitors": "når de besøgende",
|
||||
"WhereThe": "Hvor",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Den besøgte side skal indeholde et kald til JavaScript 'trackGoal' metode (%1$slær mere%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Du kan aktivere %1$s for hjemmesiden på %2$s siden."
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/de.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/de.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Verlassener Warenkorb",
|
||||
"AddGoal": "Ziel definieren",
|
||||
"AddNewGoal": "Ein neues Ziel definieren",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sEine neues Ziel definieren%2$s oder ein existierendes Ziel %3$sbearbeiten%4$s",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Erlauben, dass das Ziel mehr als einmal pro Besuch erreicht werden kann.",
|
||||
"AllowMultipleConversionsPerVisit": "Mehrfacherreichung pro Besuch erlauben",
|
||||
"BestCountries": "Beste Umsätze nach Länder:",
|
||||
"BestKeywords": "Beste Umsätze nach Suchbegriffen:",
|
||||
"BestReferrers": "Beste Umsätze nach verweisenden Websites:",
|
||||
"CaseSensitive": "Groß-\/Kleinschreibung beachten",
|
||||
"CancelAndReturnToGoals": "Abbrechen und %1$szur Liste der Ziele zurückkehren%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Benutzerstandort",
|
||||
"CategoryTextReferrers_Referrers": "Verweise",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Benutzereigenschaft",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Geräte",
|
||||
"CategoryTextGeneral_Visit": "Engagement",
|
||||
"ClickOutlink": "auf einen Link zu einer externen Website geklickt wird",
|
||||
"SendEvent": "Ein Ereignis auslösen",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Der durchschnittliche Bestellwert ist der Gesamtumsatz aller Bestellungen geteilt durch die Anzahl der Bestellungen",
|
||||
"ColumnAveragePriceDocumentation": "Der durchschnittliche Umsatz für %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Die durchschnittliche Anzahl von %s verkauft durch Ecommerce Bestellungen.",
|
||||
"ColumnConversionRateDocumentation": "Prozentzahl der Besuche, welche das Ziel %s erreicht haben.",
|
||||
"ColumnConversionRateProductDocumentation": "Die %s Konversionsrate ist die Anzahl der Bestellungen, die dieses Produkt enthalten, geteilt durch die Anzahl der Besuche auf der entsprechenden Produktseite.",
|
||||
"ColumnConversions": "Konversionen",
|
||||
"Conversion": "Konversion",
|
||||
"ColumnConversionsDocumentation": "Die Anzahl der Konversationen für %s",
|
||||
"ColumnOrdersDocumentation": "Die Gesamtzahl aller Ecommerce Bestellungen, welche %s mindestens einmal enthielten.",
|
||||
"ColumnPurchasedProductsDocumentation": "Die Anzahl der bestellten Produkte ist die Summe der Bestellmengen aller Bestellungen",
|
||||
"ColumnQuantityDocumentation": "Die insgesamt verkaufte Menge von %s.",
|
||||
"ColumnRevenueDocumentation": "Gesamter Umsatz generiert von %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Der Gesamtumsatz generiert durch %s geteilt durch die Anzahl der Besuche.",
|
||||
"ColumnVisits": "Die Gesamtanzahl an Besuchen, unabhängig davon, ob dabei ein Ziel erreicht wurde oder nicht.",
|
||||
"ColumnVisitsProductDocumentation": "Die Anzahl der Besuche auf der Produkt-\/Kategorieseite. Wird auch genutzt, um die %s Konversionsrate zu berechnen.Diese Metrik ist auch im Report der Ecommerceansicht, wenn diese auf der Produkt-\/Kategorieseite eingestellt wurde.",
|
||||
"Contains": "beinhaltet %s",
|
||||
"ConversionByTypeReportDocumentation": "In diesem Bericht finden Sie detaillierte Informationen über die Performance Ihrer Ziele für jede der Kategorien in der linken Leiste. %1$s Klicken Sie auf eine der Kategorien, um den entsprechenden Bericht anzuzeigen. %2$s Weitere Informationen finden Sie in der %3$sZiel-Dokumentation auf piwik.org%4$s",
|
||||
"ConversionRate": "%s Konversionsrate",
|
||||
"Conversions": "%s Konversionen",
|
||||
"ConversionsDescription": "Konversionen",
|
||||
"ConversionsOverview": "Konversions-Überblick",
|
||||
"ConversionsOverviewBy": "Überblick über Konversionen nach Besuchstyp",
|
||||
"DaysToConv": "Tage bis zur Konversion",
|
||||
"Details": "Ziel-Details",
|
||||
"DefaultGoalConvertedOncePerVisit": "(default) Ziel kann nur einmal pro Besuch erreicht werden",
|
||||
"DefaultRevenueLabel": "Standard Ertrags-Ziel",
|
||||
"DefaultRevenueHelp": "Das Absenden eines Kontaktformulars durch einen Besucher kann zum Beispiel durchschnittlich 10 € wert sein. Matomo hilft Ihnen, zu verstehen, wie sich Ihre Besucher-Segmente verhalten.",
|
||||
"DeleteGoalConfirm": "Wollen sie wirklich das Ziel %s löschen?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Verkaufsumsatz ohne Steuer, Versand und Rabatt",
|
||||
"Download": "eine Datei herunterladen wird",
|
||||
"Ecommerce": "Ecommerce",
|
||||
"EcommerceAndGoalsMenu": "Ecommerce & Ziele",
|
||||
"EcommerceLog": "Ecommerce Protokoll",
|
||||
"EcommerceOrder": "Ecommerce Bestellung",
|
||||
"EcommerceOverview": "Ecommerce Übersicht",
|
||||
"EcommerceReports": "Ecommerce Berichte",
|
||||
"ExceptionInvalidMatchingString": "Bei der Auswahl von 'Genauer Vergleich' muss die zu vergleichende Zeichenkette eine URL sein, die mit %1$s beginnt. Zum Beispiel '%2$s'.",
|
||||
"ExternalWebsiteUrl": "externe Website-URL",
|
||||
"Filename": "Dateiname",
|
||||
"GoalConversion": "Ziel-Konversion",
|
||||
"GoalConversions": "Ziel-Konversionen",
|
||||
"GoalConversionsBy": "Ziel %s Konversionen nach Besuchstyp",
|
||||
"GoalIsTriggered": "Ziel ist erreicht",
|
||||
"GoalIsTriggeredWhen": "Ziel ist erreicht, wenn",
|
||||
"GoalName": "Name des Ziels",
|
||||
"Goals": "Ziele",
|
||||
"NGoals": "%s Ziele",
|
||||
"NRevenue": "%s Umsatz",
|
||||
"NItems": "%s Artikel",
|
||||
"ManageGoals": "Ziele verwalten",
|
||||
"GoalsOverview": "Ziel-Übersicht",
|
||||
"GoalsOverviewDocumentation": "Dies ist eine Übersicht über die Ziel-Konversionen. Zu Beginn zeigt der Graph die Summe aller Konversionen an. %s Darunter können Sie die Berichte zu Konversionen der einzelnen Ziele sehen. Die Sparklines (kleine Graphen) können durch Klicken vergrößert werden.",
|
||||
"GoalX": "Ziel %s",
|
||||
"HelpOneConversionPerVisit": "Wird eine Seite, auf die dieses Ziel passt, aktualisiert oder mehr als einmal während eines Besuchs betrachtet, wird das Ziel nur beim ersten Aufruf während des Besuchs gewertet.",
|
||||
"IsExactly": "ist genau %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Mehr zum Thema %1$s Erfassen von Zielen in Matomo%2$s erfahren Sie in der Dokumentation.",
|
||||
"LeftInCart": "%s im Warenkorb gelassen",
|
||||
"Manually": "manuell",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Ziel wird manuell über die trackGoal() Funktion der Javascript-API auf erfüllt gesetzt",
|
||||
"MatchesExpression": "entspricht dem Ausdruck %s",
|
||||
"NewGoalIntro": "Tracken von Konversions-Zielen ist eine der effizientesten Möglichkeiten zur Messung und Verbesserung Ihrer geschäftlichen Ziele.",
|
||||
"NewVisitorsConversionRateIs": "Umsätze pro neuem Besucher: %s",
|
||||
"NoGoalsNeedAccess2": "Nur ein Benutzer mit Schreibberechtigung, ein Administrator oder ein Benutzer mit Super User Berechtigung kann Ziele für eine bestimmte Website verwalten. Bitte fragen Sie bei Ihrem Matomo Administrator nach, um ein Ziel für Ihre Website vorzugeben. <br>Ziele zu tracken ist gut geeignet um die Leistungsfähigkeit Ihrer Website zu verstehen und zu maximieren!",
|
||||
"NoConversionsNoReportsMessage": "Es werden keine Berichte angezeigt, da keine Konversionen für das gewählte Ziel und den Zeitraum existieren.",
|
||||
"NeedAccess": "Nur ein (Haupt-)Administrator kann Ziele für eine gegebene Website verwalten.",
|
||||
"Optional": "(optional)",
|
||||
"OverallConversionRate": "Gesamtkonversionsrate (Besuche, bei denen ein Ziel erreicht wurde)",
|
||||
"ColumnOverallRevenue": "Gesamtumsatz",
|
||||
"OverallRevenue": "Gesamtumsatz",
|
||||
"PageTitle": "Seitentitel",
|
||||
"Pattern": "Muster",
|
||||
"PluginDescription": "Erstellen Sie Ziele und sehen Sie detaillierte Berichte über Ihre Zielkonversionen: Entwicklung über einen bestimmten Zeitraum, Umsatz pro Besuch, Konversionen pro Verweis, pro Suchbegriff, und mehr.",
|
||||
"ProductCategory": "Produktkategorie",
|
||||
"ProductName": "Produktname",
|
||||
"ProductNames": "Produktnamen",
|
||||
"ProductPrice": "Produktpreis",
|
||||
"ProductQuantity": "Produktmenge",
|
||||
"Products": "Produkte",
|
||||
"ProductSKU": "Produkt SKU",
|
||||
"ProductSKUs": "Produktartikelnummern",
|
||||
"ReturningVisitorsConversionRateIs": "Umsätze pro wiederkehrendem Besucher: %s",
|
||||
"SingleGoalOverviewDocumentation": "Dies ist eine Übersicht über die Konversionen eines einzelnen Ziels. %s Die Sparklines (kleine Graphen) können durch Klicken vergrößert werden.",
|
||||
"ThereIsNoGoalToManage": "Es gibt keine zu verwaltende Ziele für dir Website %s",
|
||||
"UpdateGoal": "Ziel aktualisieren",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Ziele anzeigen und bearbeiten",
|
||||
"GoalsBy": "Ziele nach %s",
|
||||
"GoalsAdjective": "Ziele %s",
|
||||
"VisitPageTitle": "eine Seite mit einem bestimmten Titel besucht",
|
||||
"VisitsUntilConv": "Besuche bis zur Konversion",
|
||||
"VisitUrl": "Die angegebene URL (Seite oder Gruppe von Seiten) wird besucht",
|
||||
"WhenVisitors": "wenn vom Besucher",
|
||||
"WhereThe": "bei denen die",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Die besuchte Seite muss einen Aufruf der JavaScript-Methode \"trackGoal\" enthalten (%1$serfahren Sie mehr%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Sie können %1$s für diese Website auf der Seite %2$s aktivieren.",
|
||||
"UseEventValueAsRevenue": "Den Ereigniswert (falls er existiert) als Zielertragsumsatz verwenden.",
|
||||
"GoalRevenue": "Ertrags-Ziel",
|
||||
"EventValueAsRevenueHelp": "Wenn das passende Ereignis einen Ertrag hat, und dieser Ertrag als Ereignis-Wert getrackt wird, können Sie diese Option verwenden, um den Ereignis-Wert als Zielertragsumsatz aufzuzeichnen. Wenn Ihr Ertrags-Ziel im Umsatz nicht variiert, können Sie diese Option ignorieren und einfach oebn einen Standardertrag setzen.",
|
||||
"EventValueAsRevenueHelp2": "Hinweis: Wenn sowohl ein Ertragsziel als auch ein Ereignis-Wert definiert ist, wird der Ereignis-Wert verwendet. Wenn diese Option aktiviert ist und in einer Anfrage kein Ereignis-Wert gesangt wird, dann wird das Standard Ertrags-Ziel (falls definiert) verwendet."
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/el.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/el.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Εγκατελειμένο Καλάθι",
|
||||
"AddGoal": "Προσθήκη Στόχου",
|
||||
"AddNewGoal": "Προσθήκη νέου Στόχου",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sΠροσθέστε νέο Στόχο%2$s ή %3$sτροποποιήστε%4$s υπάρχοντες Στόχους",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Δικαίωμα μετατροπής Στόχου περισσότερο από μια φορά τηη ημέρα",
|
||||
"AllowMultipleConversionsPerVisit": "Δυνατότητα πολλαπλών μετατροπών ανά επίσκεψη",
|
||||
"BestCountries": "Οι καλύτερες χώρες μετατροπής είναι:",
|
||||
"BestKeywords": "Οι κορυφαίες λέξεις-κλειδιά μετατροπής είναι:",
|
||||
"BestReferrers": "Οι καλύτεροι αναφορείς ιστοσελίδων μετατροπής είναι:",
|
||||
"CaseSensitive": "Ταίριασμα πεζών-κεφαλαίων",
|
||||
"CancelAndReturnToGoals": "Ακύρωση και %1$sεπιστροφή στη λίστα των στόχων%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Τοποθεσία χρήστη",
|
||||
"CategoryTextReferrers_Referrers": "Αναφορείς",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Χαρακτηριστικό χρήστη",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Συσκευές",
|
||||
"CategoryTextGeneral_Visit": "δέσμευση",
|
||||
"ClickOutlink": "Το πάτημα Συνδέσμου προς εξωτερική ιστοσελίδα",
|
||||
"SendEvent": "Αποστολή συμβάντος",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Μέση Τιμή Παραγγελίας (ΜΤΠ) είναι η συνολική πρόσοδος από όλες τις Ηλεκτρονικές Παραγγελίες διαιρεμένη με τον αριθμό των παραγγελιών.",
|
||||
"ColumnAveragePriceDocumentation": "Η μέση πρόσοδος για αυτό το %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Η μέση ποσότητα αυτού του %s που πουλήθηκε με Ηλεκτρονική Παραγγελία.",
|
||||
"ColumnConversionRateDocumentation": "Το ποσοστό των επισκέψεων που εκπλήρωσαν το στόχο %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Ο βαθμός μετατροπής του %s είναι ο αριθμός των παραγγελιών που περιέχουν αυτό το προϊόν διαιρεμένος με τον αριθμό των επισκέψεων στη σελίδα του προϊόντος.",
|
||||
"ColumnConversions": "Μετατροπές",
|
||||
"Conversion": "Μετατροπές",
|
||||
"ColumnConversionsDocumentation": "Ο αριθμός των μετατροπών για %s.",
|
||||
"ColumnOrdersDocumentation": "Ο συνολικός αριθμός των Ηλεκτρονικών παραγγελιών που περιείχε αυτό %s τουλάχιστον μια φορά.",
|
||||
"ColumnPurchasedProductsDocumentation": "Ο αριθμός των αγορασμένων προϊόντων είναι το άθροισμα των ποσοτήτων των Προϊόντων που πουλήθηκαν σε όλες τις Ηλεκτρονικές Παραγγελίες.",
|
||||
"ColumnQuantityDocumentation": "Ποσότητα είναι ο συνολικός αριθμός προϊόντων που πουλήθηκαν για κάθε %s.",
|
||||
"ColumnRevenueDocumentation": "Η συνολική πρόσοδος που δημιουργήθηκε από %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Η συνολική πρόσοδος που δημιουργήθηκε από %s διαιρεμένη με τον αριθμό των επισκέψεων.",
|
||||
"ColumnVisits": "Ο συνολικός αριθμός των επισκέψεων, ανεξάρτητα αν ένας στόχος εκπληρώθηκε ή όχι..",
|
||||
"ColumnVisitsProductDocumentation": "Ο αριθμός των επισκέψεων στη σελίδα Προϊόντος\/Κατηγορίας. Αυτό χρησιμοποιείτε για τον υπολογισμό του βαθμού μετατροπής του %s. Αυτή η μέτρηση είναι στην αναφορά, αν η καταγραφή προβολής Ηλεκτρονικού Εμπορίου εγκαταστάθηκε στις σελίδες Προϊόντος\/Κατηγορίας.",
|
||||
"Contains": "περιέχει %s",
|
||||
"ConversionByTypeReportDocumentation": "Η αναφορά αυτή παρέχει λεπτομερή πληροφορία σχετικά με την απόδοση των στόχων (μετατροπές, ρυθμοί μετατροπών και κέρδος ανά επίσκεψη) για καθεμία από τις διαθέσιμες κατηγορίες στον αριστερό πίνακα. %1$s Κάντε κλικ σε μία από τις κατηγορίες για να δείτε την αναφορά. %2$s Για περισσότερες πληροφορίες, δείτε την %3$sτεκμηρίωση Μετατροπής Στόχων%4$s",
|
||||
"ConversionRate": "%s βαθμός μετατροπής",
|
||||
"Conversions": "%s μετατροπές",
|
||||
"ConversionsDescription": "μετατροπές",
|
||||
"ConversionsOverview": "Επισκόπηση μετατροπών",
|
||||
"ConversionsOverviewBy": "Επισκόπηση μετατροπών ανά τμήμα",
|
||||
"DaysToConv": "Ημέρες για Μετατροπή",
|
||||
"Details": "Λεπτομέρειες στόχου",
|
||||
"DefaultGoalConvertedOncePerVisit": "(προεπιλογή) Ο Στόχος μετατρέπεται μόνο μια φορά την ημέρα",
|
||||
"DefaultRevenueLabel": "Προεπιλεγμένο κέρδος στόχου",
|
||||
"DefaultRevenueHelp": "Για παράδειγμα, μια Φόρμα Επικοινωνίας που υποβλήθηκε από έναν επισκέπτη μπορεί να αξίζει 10€ κατά μέσο όρο. Το Matomo θα σας βοηθήσει να καταλάβετε πως λειτουργούν τα τμήματα των χρηστών σας.",
|
||||
"DeleteGoalConfirm": "Είστε σίγουροι ότι θέλετε να διαγράψετε το Στόχο %s;",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Πωλήσεις προϊόντος. Χωρίς φόρο, μεταφορικά και έκπτωση",
|
||||
"Download": "Τη λήψη ενός αρχείου",
|
||||
"Ecommerce": "Ηλεκτρονικό Εμπόριο",
|
||||
"EcommerceAndGoalsMenu": "Ηλεκτρονικό Εμπόριο & Στόχοι",
|
||||
"EcommerceLog": "Καταγραφή Ηλεκτρονικού Εμπορίου",
|
||||
"EcommerceOrder": "Ηλεκτρονική παραγγελία",
|
||||
"EcommerceOverview": "Επισκόπηση Ηλεκτρονικού Εμπορίου",
|
||||
"EcommerceReports": "Αναφορές Ηλεκτρονικού Εμπορίου",
|
||||
"ExceptionInvalidMatchingString": "Αν επιλέξετε 'ακριβές ταίριασμα', το κείμενο που θα αντιστοιχηθεί θα πρέπει να είναι διεύθυνση URL που να ξεκινάει από %1$s. Για παράδειγμα, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "εξωτερικό URL ιστοσελίδας",
|
||||
"Filename": "όνομα αρχείου",
|
||||
"GoalConversion": "Μετατροπή στόχου",
|
||||
"GoalConversions": "Μετατροπές στόχου",
|
||||
"GoalConversionsBy": "Μετατροπές %s στόχων ανά τμήμα",
|
||||
"GoalIsTriggered": "Ο στόχος να ενεργοποιείται",
|
||||
"GoalIsTriggeredWhen": "Ο Στόχος ενεργοποιείτε όταν",
|
||||
"GoalName": "Ονομασία Στόχου",
|
||||
"Goals": "Στόχοι",
|
||||
"NGoals": "%s στόχοι",
|
||||
"NRevenue": "%s κέρδος",
|
||||
"NItems": "%s αντικείμενα",
|
||||
"ManageGoals": "Διαχείριση των Στόχων",
|
||||
"GoalsOverview": "Επισκόπηση στόχων",
|
||||
"GoalsOverviewDocumentation": "Αυτό είναι μια επισκόπηση των μετατροπών των στόχων σας. Αρχικά, το διάγραμμα δείχνει το άθροισμα όλων των μετατροπών. %s Κάτω από το διάγραμμα, μπορείτε να αναφορές μετατροπής για κάθε έναν από τους στόχους. Τα μικροδιαγράμματα μπορούν να μεγεθυνθούν πατώντας επάνω τους.",
|
||||
"GoalX": "Στόχος %s",
|
||||
"HelpOneConversionPerVisit": "Αν μια Σελίδα ταιριάζει, αυτός ο Στόχος ανανεώνεται ή προβάλλεται περισσότερες φορές ανά Επίσκεψη και ο Στόχος θα καταγράφεται μόνο την πρώτη φορά που φορτώθηκε η σελίδα κατά την επίσκεψη.",
|
||||
"IsExactly": "είναι ακριβώς %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Δείτε περισσότερα για την %1$sΠαρακολούθηση των Στόχων στο Matomo%2$s στην τεκμηρίωση για το χρήστη.",
|
||||
"LeftInCart": "%s απομένουν στο καλάθι",
|
||||
"Manually": "χειροκίνητα",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Ο Στόχος ενεργοποιείτε χειροκίνητα με χρήση του Javascript API trackGoal()",
|
||||
"MatchesExpression": "ταιριάζει στην έκφραση %s",
|
||||
"NewGoalIntro": "Η παρακολούθηση για τη Μετατροπή Στόχων είναι ένας από τους αποτελεσματικότερους τρόπους για να μετρήσετε και να βελτιώσετε τους στόχους της επιχείρησής σας.",
|
||||
"NewVisitorsConversionRateIs": "Ο βαθμός μετατροπής νέων επισκεπτών είναι %s",
|
||||
"NoGoalsNeedAccess2": "Μόνος ένας χρήσης με Εγγραφή, ένας διαχειριστής ή χρήστης με δικαίωμα Υπερ Χρήστη μπορεί να διαχειριστεί τους Στόχους για ένα δεδομένο ιστοτόπο. Παρακαλούμε ζητήστε από τον διαχειριστή του Matomo σας να ορίσει ένα Στόχο για τον ιστοτόπο σας.<br>Η Παρακολούθηση Στόχων είναι ένας πολύ καλός τρόπος για να σας βοηθήσει να κατανοήσετε και να μεγιστοποιήσετε την απόδοση του ιστοτόπου σας!",
|
||||
"NoConversionsNoReportsMessage": "Οι αναφορές δεν εμφανίζεται επειδή δεν υπάρχουν δεδομένα για μετατροπή για τον επιλεγμένο στόχο και περίοδο.",
|
||||
"NeedAccess": "Μόνος ένας διαχειριστής ή χρήστης με δικαίωμα Υπερ Χρήστη μπορεί να διαχειριστεί τους Στόχους για ένα συγκεκριμένο ιστοτόπο.",
|
||||
"Optional": "(προαιρετικό)",
|
||||
"OverallConversionRate": "συνολικός ρυθμός μετατροπής (επισκέψεις με πετυχημένο στόχο)",
|
||||
"ColumnOverallRevenue": "Συνολικό κέρδος",
|
||||
"OverallRevenue": "συνολικό κέρδος",
|
||||
"PageTitle": "Τίτλος Σελίδας",
|
||||
"Pattern": "Υπόδειγμα",
|
||||
"PluginDescription": "Δημιουργήστε Στόχους και δείτε λεπτομερείς αναφορές σχετικά με τις μετατροπές Στόχων: εξέλιξη με το χρόνο, μετατροπές ανά αναφορέα, ανά λέξη κλειδί και άλλα πολλά.",
|
||||
"ProductCategory": "Κατηγορία Προϊόντος",
|
||||
"ProductName": "Όνομα Προϊόντος",
|
||||
"ProductNames": "Ονόματα προϊόντων",
|
||||
"ProductPrice": "Τιμή προϊόντων",
|
||||
"ProductQuantity": "Ποσότητα προϊόντων",
|
||||
"Products": "Προϊόντα",
|
||||
"ProductSKU": "Προϊόν SKU",
|
||||
"ProductSKUs": "SKU προϊόντων",
|
||||
"ReturningVisitorsConversionRateIs": "Ο βαθμός μετατροπής επιστρεφόμενων επισκεπτών είναι %s",
|
||||
"SingleGoalOverviewDocumentation": "Αυτή είναι μια επισκόπηση των μετατροπών για ένα μόνο στόχο. %s Τα μικροδιαγράμματα κάτω από το διάγραμμα μπορούν να μεγεθυνθούν πατώντας επάνω τους.",
|
||||
"ThereIsNoGoalToManage": "Δεν υπάρχει στόχος για να διαχειριστείτε για τον ιστοτόπο %s",
|
||||
"UpdateGoal": "Ενημέρωση Στόχου",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Προβολή και Επεξεργασία Στόχων",
|
||||
"GoalsBy": "Στόχοι ανά %s",
|
||||
"GoalsAdjective": "Στόχοι %s",
|
||||
"VisitPageTitle": "Επίσκεψη σε έναν Δοθέν Τίτλο Σελίδας",
|
||||
"VisitsUntilConv": "Επισκέψεις για Μετατροπή",
|
||||
"VisitUrl": "Επίσκεψη σε μια δοθείσα διεύθυνση URL (σελίδα ή ομάδα σελίδων)",
|
||||
"WhenVisitors": "όταν οι επισκέψεις αφορούν",
|
||||
"WhereThe": "όπου το",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Η σελίδα για την οποία υπήρξε επίσκεψη πρέπει να περιέχει μια κλήση στη μέθοδο 'trackGoal' της JavaScript (%1$sδείτε περισσότερα%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Μπορείτε να ενεργοποιήσετε το %1$s για αυτό τον ιστοτόπο στη σελίδα %2$s.",
|
||||
"UseEventValueAsRevenue": "Χρήση της τιμής συμβάντος (αν υπάρχει) ως κέρδος μετατροπής στόχου.",
|
||||
"GoalRevenue": "Κέρδος Στόχου",
|
||||
"EventValueAsRevenueHelp": "Αν το συμβάν που ορίζετε έχει κέρδος και αυτό το κέρδος παρακολουθείται ως τιμή του συμβάντος, ενεργοποιήστε την επιλογή για καταγραφή της τιμής συμβάντος ως κέρδος μετατροπής στόχου. Αν το κέρδος του στόχου δεν μεταβάλλεται με την μετατροπή, αγνοήστε την επιλογή και καθορίστε μια προεπιλεγμένη τιμή κέρδους παραπάνω.",
|
||||
"EventValueAsRevenueHelp2": "Σημείωση: Αν ορίζονται και το προκαθορισμένο κέρδος στόχου και η τιμή συμβάντος, θα χρησιμοποιηθεί η τιμή συμβάντος. Αν η επιλογή είναι ενεργή και δεν αποστέλλεται τιμή συμβάντος σε μια αίτηση, θα χρησιμοποιηθεί το προκαθορισμένο κέρδος (αν έχει οριστεί)."
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/en.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/en.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Abandoned Cart",
|
||||
"AddGoal": "Add Goal",
|
||||
"AddNewGoal": "Add a new Goal",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAdd a new Goal%2$s or %3$sEdit%4$s existing Goals",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Allow Goal to be converted more than once per visit",
|
||||
"AllowMultipleConversionsPerVisit": "Allow multiple conversions per visit",
|
||||
"BestCountries": "Your best converting countries are:",
|
||||
"BestKeywords": "Your top converting keywords are:",
|
||||
"BestReferrers": "Your best converting websites referrers are:",
|
||||
"CaseSensitive": "Case sensitive match",
|
||||
"CancelAndReturnToGoals": "Cancel and %1$sreturn to the list of goals%2$s",
|
||||
"CategoryTextGeneral_Visitors": "User location",
|
||||
"CategoryTextReferrers_Referrers": "Referrers",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "User attribute",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Devices",
|
||||
"CategoryTextGeneral_Visit": "engagement",
|
||||
"ClickOutlink": "Click on a Link to an external website",
|
||||
"SendEvent": "Send an event",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Average Order Value (AOV) is the total revenue from all Ecommerce Orders divided by the number of orders.",
|
||||
"ColumnAveragePriceDocumentation": "The average revenue for this %s.",
|
||||
"ColumnAverageQuantityDocumentation": "The average quantity of this %s sold in Ecommerce orders.",
|
||||
"ColumnConversionRateDocumentation": "The percentage of visits that triggered the goal %s.",
|
||||
"ColumnConversionRateProductDocumentation": "The %s conversion rate is the number of orders containing this product divided by number of visits on the product page.",
|
||||
"ColumnConversions": "Conversions",
|
||||
"Conversion": "Conversion",
|
||||
"ColumnConversionsDocumentation": "The number of conversions for %s.",
|
||||
"ColumnOrdersDocumentation": "The total number of Ecommerce orders which contained this %s at least once.",
|
||||
"ColumnPurchasedProductsDocumentation": "The number of purchased products is the sum of Product quantities sold in all Ecommerce orders.",
|
||||
"ColumnQuantityDocumentation": "Quantity is the total number of products sold for each %s.",
|
||||
"ColumnRevenueDocumentation": "The total revenue generated by %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "The total revenue generated by %s divided by the number of visits.",
|
||||
"ColumnVisits": "The total number of visits, regardless of whether a goal was triggered or not.",
|
||||
"ColumnVisitsProductDocumentation": "The number of visits on the Product\/Category page. This is also used to process the %s conversion rate. This metric is in the report if Ecommerce view tracking was setup on Product\/Category pages.",
|
||||
"Contains": "contains %s",
|
||||
"ConversionByTypeReportDocumentation": "This report provides detailed information about the goal performance (conversions, conversion rates and revenue per visit) for each of the categories available in the left panel. %1$s Please click on one of the categories to view the report. %2$s For more information, read the %3$sTracking Goals documentation%4$s",
|
||||
"ConversionRate": "%s conversion rate",
|
||||
"Conversions": "%s conversions",
|
||||
"ConversionsDescription": "conversions",
|
||||
"ConversionsOverview": "Conversions Overview",
|
||||
"ConversionsOverviewBy": "Conversions overview by type of visit",
|
||||
"DaysToConv": "Days to Conversion",
|
||||
"Details": "Goal details",
|
||||
"DefaultGoalConvertedOncePerVisit": "(default) Goal can only be converted once per visit",
|
||||
"DefaultRevenueLabel": "Goal default revenue",
|
||||
"DefaultRevenueHelp": "For example, a Contact Form submitted by a visitor may be worth $10 on average. Matomo will help you understand how well your visitors segments are performing.",
|
||||
"DeleteGoalConfirm": "Are you sure you want to delete the Goal %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Product sales. Excludes tax, shipping and discount",
|
||||
"Download": "Download a file",
|
||||
"Ecommerce": "Ecommerce",
|
||||
"EcommerceAndGoalsMenu": "Ecommerce & Goals",
|
||||
"EcommerceLog": "Ecommerce Log",
|
||||
"EcommerceOrder": "Ecommerce order",
|
||||
"EcommerceOverview": "Ecommerce Overview",
|
||||
"EcommerceReports": "Ecommerce Reports",
|
||||
"ExceptionInvalidMatchingString": "If you choose 'exact match', the matching string must be a URL starting with %1$s. For example, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "external website URL",
|
||||
"Filename": "filename",
|
||||
"GoalConversion": "Goal conversion",
|
||||
"GoalConversions": "Goal conversions",
|
||||
"GoalConversionsBy": "Goal %s conversions by type of visit",
|
||||
"GoalIsTriggered": "Goal is triggered",
|
||||
"GoalIsTriggeredWhen": "Goal is triggered when",
|
||||
"GoalName": "Goal Name",
|
||||
"Goals": "Goals",
|
||||
"NGoals": "%s goals",
|
||||
"NRevenue": "%s revenue",
|
||||
"NItems": "%s items",
|
||||
"ManageGoals": "Manage Goals",
|
||||
"GoalsOverview": "Goals Overview",
|
||||
"GoalsOverviewDocumentation": "This is an overview of your goal conversions. Initially, the graph shows the sum of all conversions. %s Below the graph, you can see conversion reports for each of your goals. The sparklines can be enlarged by clicking on them.",
|
||||
"GoalX": "Goal %s",
|
||||
"HelpOneConversionPerVisit": "If a Page matching this Goal is refreshed or viewed more than once in a Visit, the Goal will only be tracked the first time the page was loaded during this visit.",
|
||||
"IsExactly": "is exactly %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Learn more about %1$s Tracking Goals in Matomo%2$s in the user documentation.",
|
||||
"LeftInCart": "%s left in cart",
|
||||
"Manually": "manually",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Goal is manually triggered using the JavaScript API trackGoal()",
|
||||
"MatchesExpression": "matches the expression %s",
|
||||
"NewGoalIntro": "Goal Conversion tracking is one of the most efficient ways to measure and improve your business objectives.",
|
||||
"NewVisitorsConversionRateIs": "New visitors conversion rate is %s",
|
||||
"NoGoalsNeedAccess2": "Only a Write user, an Administrator or a user with Super User access can manage Goals for a given website. Please ask your Matomo administrator to set up a Goal for your website. <br>Tracking Goals is a great way to help understand and maximize your website performance!",
|
||||
"NoConversionsNoReportsMessage": "Reports are not displayed because there is no conversion data for the selected goal and period.",
|
||||
"NeedAccess": "Only an Administrator or a user with Super User access can manage Goals for a given website.",
|
||||
"Optional": "(optional)",
|
||||
"OverallConversionRate": "overall conversion rate (visits with a completed goal)",
|
||||
"ColumnOverallRevenue": "Overall revenue",
|
||||
"OverallRevenue": "overall revenue",
|
||||
"PageTitle": "Page Title",
|
||||
"Pattern": "Pattern",
|
||||
"PluginDescription": "Create Goals and see detailed reports about your goal conversions: evolution over time, revenue per visit, conversions per referrer, per keyword, and more.",
|
||||
"ProductCategory": "Product Category",
|
||||
"ProductName": "Product Name",
|
||||
"ProductNames": "Product Names",
|
||||
"ProductPrice": "Product Price",
|
||||
"ProductQuantity": "Product Quantity",
|
||||
"Products": "Products",
|
||||
"ProductSKU": "Product SKU",
|
||||
"ProductSKUs": "Product SKUs",
|
||||
"ReturningVisitorsConversionRateIs": "Returning visitors conversion rate is %s",
|
||||
"SingleGoalOverviewDocumentation": "This is an overview of the conversions for a single goal. %s The sparklines below the graph can be enlarged by clicking on them.",
|
||||
"ThereIsNoGoalToManage": "There is no goal to manage for website %s",
|
||||
"UpdateGoal": "Update Goal",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "View and Edit Goals",
|
||||
"GoalsBy": "Goals by %s",
|
||||
"GoalsAdjective": "Goals %s",
|
||||
"VisitPageTitle": "Visit a given Page Title",
|
||||
"VisitsUntilConv": "Visits to Conversion",
|
||||
"VisitUrl": "Visit a given URL (page or group of pages)",
|
||||
"WhenVisitors": "when visitors",
|
||||
"WhereThe": "where the",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "The visited page needs to contain a call to the JavaScript 'trackGoal' method (%1$slearn more%2$s)",
|
||||
"YouCanEnableEcommerceReports": "You can enable %1$s for this website in the %2$s page.",
|
||||
"UseEventValueAsRevenue": "Use the event value (if it exists) as the goal conversion revenue.",
|
||||
"GoalRevenue": "Goal Revenue",
|
||||
"EventValueAsRevenueHelp": "If the event you are matching has a revenue, and that revenue is tracked as the event value, you can enable this option to record the event value as the goal conversion's revenue. If your goal revenue will not vary per conversion, you can ignore this option and just set a default revenue above.",
|
||||
"EventValueAsRevenueHelp2": "Note: If both a default goal revenue and event value are defined, the event value will be used. If this option is enabled and no event value is sent in a request, the default revenue will be used (if defined)."
|
||||
}
|
||||
}
|
85
msd2/tracking/piwik/plugins/Goals/lang/es-ar.json
Normal file
85
msd2/tracking/piwik/plugins/Goals/lang/es-ar.json
Normal file
@ -0,0 +1,85 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Carro Abandonado",
|
||||
"AddGoal": "Agregar Objetivo",
|
||||
"AddNewGoal": "Agregar un nuevo Objetivo",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAgregar un nuevo Objetivo%2$s o %3$sEditar%4$s Objetivos existentes.",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Permitir que el Objetivo sea convertido más de una vez por visita",
|
||||
"AllowMultipleConversionsPerVisit": "Permitir múltiples conversiones por visita.",
|
||||
"BestCountries": "Tus mejores países son:",
|
||||
"BestKeywords": "Tus mejores palabras de búsqueda son:",
|
||||
"BestReferrers": "Tus mejores palabras de búsqueda son:",
|
||||
"CaseSensitive": "Coincidir mayúsculas y minúsculas",
|
||||
"ClickOutlink": "Clic en un Enlace a un sitio web externo",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Valor Medio del Pedido (VMP) es el valor obtenido dividiendo los ingresos totales de todos los pedidos entre el número de pedidos.",
|
||||
"ColumnAveragePriceDocumentation": "El promedio de ingresos para este %s.",
|
||||
"ColumnAverageQuantityDocumentation": "La cantidad media de este %s vendida en los pedidos de comercio electrónico.",
|
||||
"ColumnConversionRateDocumentation": "El porcentaje de visitas que cumplieron el objetivo %s.",
|
||||
"ColumnConversionRateProductDocumentation": "El ratio de conversión %s es el número de pedidos que contienen este producto dividido por el número de visitas en la página del producto.",
|
||||
"ColumnConversions": "Conversiones",
|
||||
"ColumnConversionsDocumentation": "El número de conversiones para %s.",
|
||||
"ColumnOrdersDocumentation": "El número total de pedidos de comercio electrónico que contenían este %s al menos una vez.",
|
||||
"ColumnPurchasedProductsDocumentation": "El número de productos comprados es la suma de la cantidad de los productos vendidos en todos los pedidos de comercio electrónico.",
|
||||
"ColumnQuantityDocumentation": "Cantidad es el número total de productos vendidos por cada %s.",
|
||||
"ColumnRevenueDocumentation": "Ingresos totales generados por %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Los ingresos totales generados por %s divididos por el número de visitas.",
|
||||
"ColumnVisits": "El número total de visitas, sin importar si el objetivo fue cumplido o no.",
|
||||
"ColumnVisitsProductDocumentation": "El número de visitas en la página de Producto\/Categoría. Esto también se usa para procesar el ratio de conversión de %s. Esta métrica está en el reporte si el seguimiento del comercio electrónico fue configurado en las páginas de Producto\/Categoría.",
|
||||
"Contains": "contiene %s",
|
||||
"ConversionByTypeReportDocumentation": "Este reporte proporciona información detallada sobre el rendimiento del objetivo (conversiones, ratio de conversión y ingresos por visita) para cada de las categorías disponibles en el panel de la izquierda. %1$s Por favor, haga clic en una de las categorías para ver el reporte. %2$s Para más información, lea la %3$sdocumentación sobre Seguimiento de Objetivos en piwik.org%4$s",
|
||||
"ConversionRate": "%s tasa de conversiones",
|
||||
"Conversions": "%s conversiones",
|
||||
"ConversionsOverview": "Información de Conversiones",
|
||||
"ConversionsOverviewBy": "Visión general de las conversiones por tipo de visita",
|
||||
"DaysToConv": "Días hasta la Conversión",
|
||||
"DefaultGoalConvertedOncePerVisit": "(por defecto) El objetivo solo se puede convertir una ver por visita",
|
||||
"DeleteGoalConfirm": "Esta seguro que desea eliminar el Objetivo %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Ventas del producto. Excluye impuestos, envío y descuentos",
|
||||
"Download": "Descargar un archivo",
|
||||
"Ecommerce": "Comercio Electrónico",
|
||||
"EcommerceAndGoalsMenu": "Comercio Electrónico y Objetivos",
|
||||
"EcommerceLog": "Registro del Comercio Electrónico",
|
||||
"EcommerceOrder": "Pedido de Comercio Electrónico",
|
||||
"EcommerceOverview": "Información general de Comercio Electrónico",
|
||||
"EcommerceReports": "Reportes de Comercio Electrónico",
|
||||
"ExceptionInvalidMatchingString": "Si elije 'coincidencia exacta', la cadena debe ser una URL que comience con %1$s. Por ejemplo, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL del sitio web externo",
|
||||
"Filename": "archivo",
|
||||
"GoalConversion": "Conversión de objetivos",
|
||||
"GoalConversions": "Conversiones de objetivos",
|
||||
"GoalConversionsBy": "Conversiones %s del objetivo por el tipo de visita",
|
||||
"GoalIsTriggered": "Objetivo activado",
|
||||
"GoalIsTriggeredWhen": "Objetivo activado cuando",
|
||||
"GoalName": "Nombre del Objetivo",
|
||||
"Goals": "Objetivos",
|
||||
"GoalsOverview": "Vista de objetivos",
|
||||
"GoalsOverviewDocumentation": "Esta es la información general de las conversiones de sus objetivos. Inicialmente, el gráfico muestra la suma de todas las conversiones. %s Debajo del gráfico, usted puede ver los reportes de conversiones para cada uno de sus objetivos. Los gráficos pueden ser agrandados haciendo clic en ellos.",
|
||||
"GoalX": "Objetivos %s",
|
||||
"HelpOneConversionPerVisit": "Si una página que coincide con este Objetivo es actualizada o vista más de una vez en una Visita, el Objetivo solo será convertido la primera vez que la página fue cargada durante la visita.",
|
||||
"IsExactly": "es exactamente %s",
|
||||
"LeftInCart": "%s abandonado en el carro",
|
||||
"Manually": "manualmente",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Los Objetivos son manualmente activados usando la API Javascript trackGoal()",
|
||||
"MatchesExpression": "coincide con la expresión %s",
|
||||
"NewGoalIntro": "Goal Conversion tracking is one of the most efficient ways to measure and improve your business objectives.",
|
||||
"NewVisitorsConversionRateIs": "La tasa de visitantes nuevos es %s",
|
||||
"Optional": "(opcional)",
|
||||
"PageTitle": "Título de la Página",
|
||||
"Pattern": "Patrón",
|
||||
"ProductCategory": "Categoría del Producto",
|
||||
"ProductName": "Nombre del Producto",
|
||||
"Products": "Productos",
|
||||
"ProductSKU": "SKU (número de referencia) del Producto",
|
||||
"ReturningVisitorsConversionRateIs": "La tasa de visitantes que retornan es %s",
|
||||
"SingleGoalOverviewDocumentation": "Esta es la información general de las conversiones de un solo objetivo. %s Los gráficos pueden ser agrandados haciendo clic en ellos.",
|
||||
"UpdateGoal": "Actualizar Objetivo",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Ver y Editar Objetivos",
|
||||
"VisitPageTitle": "Visitar un Título de Página proporcionado.",
|
||||
"VisitsUntilConv": "Visitas hasta la Conversión",
|
||||
"VisitUrl": "Visita una URL (página o grupo de páginas)",
|
||||
"WhenVisitors": "cuando los visitantes",
|
||||
"WhereThe": "donde el",
|
||||
"YouCanEnableEcommerceReports": "Puede habilitar %1$s para este sitio web en la página %2$s."
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/es.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/es.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Carrito abandonado",
|
||||
"AddGoal": "Agregar objetivo",
|
||||
"AddNewGoal": "Agregar un nuevo objetivo",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAgregar un nuevo objetivo%2$s o %3$sEditar%4$s objetivos existentes.",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Permitir que el objetivo sea convertido más de una vez por visita",
|
||||
"AllowMultipleConversionsPerVisit": "Permitir múltiples conversiones por visita.",
|
||||
"BestCountries": "Sus mejores países de conversión son:",
|
||||
"BestKeywords": "Sus principales palabras clave de conversión son:",
|
||||
"BestReferrers": "Sus mejores páginas de internet referentes de conversión son:",
|
||||
"CaseSensitive": "Coincidir mayúsculas y minúsculas",
|
||||
"CancelAndReturnToGoals": "Cancelar y %1$svolver a la lista de objetivos%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Ubicación del usuario",
|
||||
"CategoryTextReferrers_Referrers": "Referencias",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Atributo del usuario",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Dispositivos",
|
||||
"CategoryTextGeneral_Visit": "compromiso",
|
||||
"ClickOutlink": "Clic en un enlace a un sitio de internet externo",
|
||||
"SendEvent": "Enviar un evento",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Valor Medio del Pedido (VMP) es el valor obtenido dividiendo los ingresos totales de todos los pedidos entre el número de pedidos.",
|
||||
"ColumnAveragePriceDocumentation": "El promedio de ingresos para este %s.",
|
||||
"ColumnAverageQuantityDocumentation": "La cantidad media de este %s vendida en los pedidos de comercio electrónico.",
|
||||
"ColumnConversionRateDocumentation": "El porcentaje de visitas que cumplieron el objetivo %s.",
|
||||
"ColumnConversionRateProductDocumentation": "La frecuencia de conversión %s es el número de pedidos que contienen este producto dividido por el número de visitas en la página del producto.",
|
||||
"ColumnConversions": "Conversiones",
|
||||
"Conversion": "Conversión",
|
||||
"ColumnConversionsDocumentation": "El número de conversiones para %s.",
|
||||
"ColumnOrdersDocumentation": "El número total de pedidos de comercio electrónico que contenían este %s al menos una vez.",
|
||||
"ColumnPurchasedProductsDocumentation": "El número de productos comprados es la suma de la cantidad de los productos vendidos en todos los pedidos de comercio electrónico.",
|
||||
"ColumnQuantityDocumentation": "Cantidad es el número total de productos vendidos por cada %s.",
|
||||
"ColumnRevenueDocumentation": "Ingresos totales generados por %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Los ingresos totales generados por %s divididos por el número de visitas.",
|
||||
"ColumnVisits": "El número total de visitas, sin importar si el objetivo fue cumplido o no.",
|
||||
"ColumnVisitsProductDocumentation": "El número de visitas en la página de Producto\/Categoría. Esto también se usa para procesar el ratio de conversión de %s. Esta métrica está en el Informe si el seguimiento del comercio electrónico fue configurado en las páginas de Producto\/Categoría.",
|
||||
"Contains": "contiene %s",
|
||||
"ConversionByTypeReportDocumentation": "Este informe proporciona información detallada sobre el rendimiento del objetivo (conversiones, ratio de conversión e ingresos por visita) para cada de las categorías disponibles en el panel de la izquierda. %1$s Por favor, haga clic en una de las categorías para ver el informe. %2$s Para más información, lea la %3$sdocumentación sobre Seguimiento de Objetivos%4$s",
|
||||
"ConversionRate": "%s tasa de conversión",
|
||||
"Conversions": "%s conversiones",
|
||||
"ConversionsDescription": "conversiones",
|
||||
"ConversionsOverview": "Vista general de conversiones",
|
||||
"ConversionsOverviewBy": "Visión general de las conversiones por tipo de visita",
|
||||
"DaysToConv": "Días hasta la conversión",
|
||||
"Details": "Detalles del objetivo",
|
||||
"DefaultGoalConvertedOncePerVisit": "(por defecto) El objetivo solo se puede convertirse una vez por visita",
|
||||
"DefaultRevenueLabel": "Meta predeterminada de ingresos",
|
||||
"DefaultRevenueHelp": "Por ejemplo, un Formulario de Contacto enviado por un visitante puede valer $10 en promedio. Matomo le ayudará a entender que tan bien están trabajando sus segmentos de visitantes.",
|
||||
"DeleteGoalConfirm": "¿Está seguro que desea eliminar el objetivo %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Ventas del producto. Excluye impuestos, envío y descuentos",
|
||||
"Download": "Descargar un archivo",
|
||||
"Ecommerce": "Comercio Electrónico",
|
||||
"EcommerceAndGoalsMenu": "Comercio electrónico y Objetivos",
|
||||
"EcommerceLog": "Registro del Comercio Electrónico",
|
||||
"EcommerceOrder": "Pedido de Comercio Electrónico",
|
||||
"EcommerceOverview": "Información general de Comercio Electrónico",
|
||||
"EcommerceReports": "Informes de Comercio Electrónico",
|
||||
"ExceptionInvalidMatchingString": "Si elige 'coincidencia exacta', la cadena debe ser una URL que comience con %1$s. Por ejemplo, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL del sitio de internet externo",
|
||||
"Filename": "nombre de archivo",
|
||||
"GoalConversion": "Conversión de objetivos",
|
||||
"GoalConversions": "Conversiones de objetivos",
|
||||
"GoalConversionsBy": "Conversiones %s del objetivo por el tipo de visita",
|
||||
"GoalIsTriggered": "Objetivo activado",
|
||||
"GoalIsTriggeredWhen": "Objetivo activado cuando",
|
||||
"GoalName": "Nombre del objetivo",
|
||||
"Goals": "Objetivos",
|
||||
"NGoals": "Metas %s",
|
||||
"NRevenue": "%s ingreso",
|
||||
"NItems": "%s ítems",
|
||||
"ManageGoals": "Administrar objetivos",
|
||||
"GoalsOverview": "Vista de objetivos",
|
||||
"GoalsOverviewDocumentation": "Esta es la información general de las conversiones de sus objetivos. Inicialmente, el gráfico muestra la suma de todas las conversiones. %s Debajo del gráfico, puede ver los reportes de conversiones para cada uno de sus objetivos. Los gráficos pueden ser agrandados haciendo clic en ellos.",
|
||||
"GoalX": "Objetivo %s",
|
||||
"HelpOneConversionPerVisit": "Si una página que coincide con este objetivo es actualizada o vista más de una vez en una visita, el objetivo solo será convertido la primera vez que la página fue cargada durante la visita.",
|
||||
"IsExactly": "es exactamente %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Aprender más acerca de %1$sRastrear objetivos en Matomo%2$s en la documentación de usuario.",
|
||||
"LeftInCart": "%s dejado en el carrito",
|
||||
"Manually": "manualmente",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Los objetivos son manualmente activados usando la API Javascript trackGoal()",
|
||||
"MatchesExpression": "coincide con la expresión %s",
|
||||
"NewGoalIntro": "El seguimiento de las conversiones del objetivo es una de las maneras más eficaces para medir y mejorar las metas de negocio.",
|
||||
"NewVisitorsConversionRateIs": "La tasa de visitantes nuevos es %s",
|
||||
"NoGoalsNeedAccess2": "Solo un usuario con atributos de escritura, un administrador o un usuario con atributo de superusuario pueden administrar los objetivos de un sitio web determinado. Pídale a su administrador de Matomo que configure una Meta para su sitio web. El <br>seguimiento de los objetivos es una excelente manera de ayudar a comprender y maximizar el rendimiento de su sitio web.",
|
||||
"NoConversionsNoReportsMessage": "Los informes no se muestran porque no hay datos de conversión para el objetivo y período seleccionado.",
|
||||
"NeedAccess": "Solo un Administrador o un usuario con permisos de Super Usuario puede gestionar Objetivos para un determinado sitio web.",
|
||||
"Optional": "(opcional)",
|
||||
"OverallConversionRate": "tasa de conversión global (visitas con un objetivo cumplido)",
|
||||
"ColumnOverallRevenue": "Ingresos generales",
|
||||
"OverallRevenue": "ingresos totales",
|
||||
"PageTitle": "Título de la página",
|
||||
"Pattern": "Patrón",
|
||||
"PluginDescription": "Crear metas y vea informes detallados acerca de conversión de metas: evolución sobre el tiempo, ingreso por visita, conversiones por menciones, por palabra clave y más.",
|
||||
"ProductCategory": "Categoría de producto",
|
||||
"ProductName": "Nombre del producto",
|
||||
"ProductNames": "Nombres del producto",
|
||||
"ProductPrice": "Precio del producto",
|
||||
"ProductQuantity": "Cantidad del producto",
|
||||
"Products": "Productos",
|
||||
"ProductSKU": "SKU (número de referencia) del producto",
|
||||
"ProductSKUs": "SKUs del producto",
|
||||
"ReturningVisitorsConversionRateIs": "La tasa de visitantes que retornan es %s",
|
||||
"SingleGoalOverviewDocumentation": "Esta es la información general de las conversiones de un solo objetivo. %s Los gráficos pueden ser agrandados haciendo clic en ellos.",
|
||||
"ThereIsNoGoalToManage": "No existe meta para administrar para el sitio de internet %s",
|
||||
"UpdateGoal": "Actualizar objetivo",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Ver y editar objetivos",
|
||||
"GoalsBy": "Objetivos por %s",
|
||||
"GoalsAdjective": "Objetivos %s",
|
||||
"VisitPageTitle": "Visitar un título de página suministrado",
|
||||
"VisitsUntilConv": "Visitas a conversión",
|
||||
"VisitUrl": "Visita a una URL dada (página o grupo de páginas)",
|
||||
"WhenVisitors": "cuando los visitantes",
|
||||
"WhereThe": "donde el",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "La página visitada necesita contener una llamada al método Javascript 'trackGoal' (%1$ssaber más%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Puede habilitar %1$s para este sitio web en la página %2$s.",
|
||||
"UseEventValueAsRevenue": "Use el valor del evento (si existiera) como la meta de ingreso de conversión",
|
||||
"GoalRevenue": "Meta de ingresos",
|
||||
"EventValueAsRevenueHelp": "Si el evento que está haciendo coincidir tiene un ingreso y ese ingreso se registra como el valor del evento, puede habilitar esta opción para registrar el valor del evento como el ingreso de la conversión del objetivo. Si la meta del ingreso no varía según la conversión, puede ignorar esta opción y simplemente establecer un ingreso predeterminado.",
|
||||
"EventValueAsRevenueHelp2": "Nota: Si se definen tanto una meta de ingreso predeterminado tanto como un valor del evento, se utilizará el valor del evento. Si esta opción está habilitada y no se envía ningún valor del evento en una solicitud, se utilizarán los ingresos predeterminados (si están definidos)."
|
||||
}
|
||||
}
|
63
msd2/tracking/piwik/plugins/Goals/lang/et.json
Normal file
63
msd2/tracking/piwik/plugins/Goals/lang/et.json
Normal file
@ -0,0 +1,63 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Hüljatud ostukorv",
|
||||
"AddGoal": "Lisa eesmärk",
|
||||
"AddNewGoal": "Lisa uus eesmärk",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sLisa uus eesmärk%2$s või %3$sMuuda%4$s olemasolevaid eesmärke",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Luba külastajate muundamist rohkem kui ühe korra külastuse jooksul (võib mitu korda muutuda tulu toovaks kliendiks)",
|
||||
"AllowMultipleConversionsPerVisit": "Luba mitu tulutoomist ühe külastuse jooksul",
|
||||
"BestCountries": "Sinu parimad tulutoovad riigid on:",
|
||||
"BestKeywords": "Sinu parimad tulutoovad märksõnad on:",
|
||||
"BestReferrers": "Sinu parimad tulutoovad veebilehtede suunajad on:",
|
||||
"CaseSensitive": "Tähtede tõusutundlik võrdlus",
|
||||
"CategoryTextReferrers_Referrers": "Viitajad",
|
||||
"ClickOutlink": "Klikivad välise lehe lingile",
|
||||
"ColumnConversions": "Tulu tekitamised",
|
||||
"ColumnVisits": "Külastuste koguarv, hoolimata sellest, kas eesmärgini jõuti või ei.",
|
||||
"Contains": "sisaldab %s",
|
||||
"ConversionRate": "%s tulumäär",
|
||||
"Conversions": "%s tulu tekitamist",
|
||||
"ConversionsOverview": "Tulu tekitamiste ülevaade",
|
||||
"ConversionsOverviewBy": "Tulu tekitamiste ülevaade külastuse tüübi järgi",
|
||||
"DaysToConv": "Päevi tulu tekitamiseni",
|
||||
"Details": "Eesmärgi andmed",
|
||||
"DefaultGoalConvertedOncePerVisit": "(vaikimisi) Eesmärgi jaoks saab klienti muudada ainult ühe korra külastuse jooksul (hetk kui külastajast saab tulutoov klient)",
|
||||
"Download": "Laevad alla faili",
|
||||
"Ecommerce": "E-äri",
|
||||
"EcommerceAndGoalsMenu": "E-äri ja eesmärgid",
|
||||
"EcommerceLog": "E-äri logid",
|
||||
"EcommerceOrder": "E-äri tellimus",
|
||||
"EcommerceOverview": "E-äri ülevaade",
|
||||
"EcommerceReports": "E-äri raportid",
|
||||
"ExternalWebsiteUrl": "välise veebilehe URL",
|
||||
"Filename": "failinimi",
|
||||
"GoalConversion": "Eesmärgi tulu",
|
||||
"GoalConversions": "Eesmärgi tulud",
|
||||
"GoalIsTriggered": "Eesmärk käivitub",
|
||||
"GoalIsTriggeredWhen": "Eesmärk käivitub kui",
|
||||
"GoalName": "Eesmärgi nimi",
|
||||
"Goals": "Eesmärgid",
|
||||
"GoalsOverview": "Eesmärkide ülevaade",
|
||||
"GoalX": "Eesmärk %s",
|
||||
"IsExactly": "on täpselt %s",
|
||||
"LeftInCart": "%s jäetud ostukorvi",
|
||||
"Manually": "manuaalselt",
|
||||
"MatchesExpression": "vastab reeglile %s",
|
||||
"Optional": "(valikuline)",
|
||||
"PageTitle": "Lehe pealkiri",
|
||||
"Pattern": "Muster",
|
||||
"ProductCategory": "Toote kategooria",
|
||||
"ProductName": "Toote nimi",
|
||||
"Products": "Tooted",
|
||||
"ProductSKU": "Tootekood",
|
||||
"UpdateGoal": "Uuenda eesmärki",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Vaata ja muuda eesmärke",
|
||||
"VisitPageTitle": "Külastavad määratud pealkirjaga lehte",
|
||||
"VisitsUntilConv": "Külastusi tulu tekitamiseni",
|
||||
"VisitUrl": "Külastavad määratud URLi (leht või lehtede grupp)",
|
||||
"WhenVisitors": "kui külastajad",
|
||||
"WhereThe": "kus",
|
||||
"YouCanEnableEcommerceReports": "Sa saad aktiveerida %1$s antud veebilehele %2$s lehel."
|
||||
}
|
||||
}
|
24
msd2/tracking/piwik/plugins/Goals/lang/eu.json
Normal file
24
msd2/tracking/piwik/plugins/Goals/lang/eu.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "Gehitu helburua",
|
||||
"AddNewGoal": "Gehitu helburu berria",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sGehitu helburu berria%2$s edo %3$sEditatu%4$s dauden helburuak",
|
||||
"CategoryTextReferrers_Referrers": "Erreferenteak",
|
||||
"ClickOutlink": "Egin klik kanpoko webgune baterako loturan",
|
||||
"ColumnConversions": "Bihurketa",
|
||||
"ConversionsOverview": "Bihurketen ikuspegi orokorra",
|
||||
"DeleteGoalConfirm": "Ziur zaude %s helburua ezabatu nahi duzula?",
|
||||
"Download": "Deskargatu fitxategia",
|
||||
"ExternalWebsiteUrl": "kanpoko webgunearen URLa",
|
||||
"Filename": "fitxategi-izena",
|
||||
"GoalName": "Helburu-izena",
|
||||
"Goals": "Helburuak",
|
||||
"GoalsOverview": "Helburuen ikuspegi orokorra",
|
||||
"GoalX": "%s helburua",
|
||||
"Optional": "(aukerazkoa)",
|
||||
"Pattern": "Eredua",
|
||||
"UpdateGoal": "Eguneratu helburua",
|
||||
"URL": "URLa",
|
||||
"ViewAndEditGoals": "Ikusi eta editatu helburuak"
|
||||
}
|
||||
}
|
76
msd2/tracking/piwik/plugins/Goals/lang/fa.json
Normal file
76
msd2/tracking/piwik/plugins/Goals/lang/fa.json
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "سبد خرید رها شده",
|
||||
"AddGoal": "هدف اضافه کن",
|
||||
"AddNewGoal": "هدف جدید اضافه کن",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s یک هدف جدید اضافه کنید %2$s یا %3$sویرایش کنید %4$sهدف های کنونی را",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "اجازه هدف بیش از یک بار در هر بازدید تبدیل",
|
||||
"AllowMultipleConversionsPerVisit": "اجازه تبدیل چند در هر بازدید",
|
||||
"BestCountries": "بهترین شما تبدیل کشورها عبارتند از:",
|
||||
"BestKeywords": "بالا شما تبدیل کلمات کلیدی عبارتند از:",
|
||||
"BestReferrers": "شما بهترین وب سایت معرف ها عبارتند از:",
|
||||
"CaseSensitive": "همسان بودن حروف حساس",
|
||||
"ClickOutlink": "با کلیک بر روی لینک به یک وب سایت خارجی",
|
||||
"ColumnAverageOrderRevenueDocumentation": "ارزش نظم به طور متوسط (AOV) کل درآمد از تمامی سفارشات تجارت الکترونیک و تقسیم بر تعداد سفارشات است.",
|
||||
"ColumnAveragePriceDocumentation": "میانگین درآمد برای %s",
|
||||
"ColumnConversionRateDocumentation": "درصد از بار مشاهده شده است که باعث به هدف %s.",
|
||||
"ColumnConversions": "نرخ تبدیل",
|
||||
"ColumnConversionsDocumentation": "تعداد تغییر ها برای %s.",
|
||||
"ColumnOrdersDocumentation": "تعداد همه ی سفارشات تجاری که حداقل یک بار شامل این %s شده اند.",
|
||||
"ColumnPurchasedProductsDocumentation": "تعدادی از محصولات خریداری شده، مجموع مقدار محصول فروخته شده در تمام سفارشات تجارت الکترونیک است.",
|
||||
"ColumnRevenueDocumentation": "درآمد کل تولید شده توسط %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "مجموع درآمد از %s تقسیم بر تعداد بازدیدها بدست آمده است.",
|
||||
"ColumnVisits": "تعداد کل بار مشاهده شده است، صرف نظر از اینکه آیا یک هدف و یا موجب شد.",
|
||||
"Contains": "شامل %s",
|
||||
"ConversionRate": "نرخ بازدهی %s",
|
||||
"Conversions": "بازدهی ها %s",
|
||||
"ConversionsOverview": "نمای بازدهی ها",
|
||||
"ConversionsOverviewBy": "مروری تبدیل شده توسط این نوع از کسب و کار",
|
||||
"DaysToConv": "روزها تا تبدیل موثر",
|
||||
"DefaultGoalConvertedOncePerVisit": "(پیش فرض) هدف تنها می تواند یک بار در هر بازدید تبدیل",
|
||||
"DefaultRevenueHelp": "به عنوان مثال، یک فرم تماس ارسال شده توسط بازدید کننده ممکن است به ارزش 10 دلار به طور متوسط می باشد. Matomo کمک خواهد کرد که شما را در درک اینکه چگونه به خوبی شما بازدید کننده قطعات در حال انجام است.",
|
||||
"DeleteGoalConfirm": "آیا شما مطمئن هستید که می خواهید این هدف %s را حذف کنید؟",
|
||||
"DocumentationRevenueGeneratedByProductSales": "فروش محصولات. بدون مالیات، حمل و نقل و تخفیف",
|
||||
"Download": "دانلود یک فایل",
|
||||
"Ecommerce": "تجارت الکترونیک",
|
||||
"EcommerceAndGoalsMenu": "اهداف و تجارت الکترونیک",
|
||||
"EcommerceLog": "لاگ تجارت الکترونیک",
|
||||
"EcommerceOrder": "سفارش تجارت الکترونیک",
|
||||
"EcommerceOverview": "بررسی اجمالی تجارت الکترونیک",
|
||||
"EcommerceReports": "گزارش تجارت الکترونیک",
|
||||
"ExternalWebsiteUrl": "آدرس وب سایت خارجی",
|
||||
"Filename": "نام فایل",
|
||||
"GoalConversion": "بازدهی هدف",
|
||||
"GoalConversions": "بازدهی هدف",
|
||||
"GoalIsTriggered": "هدف این است که باعث",
|
||||
"GoalIsTriggeredWhen": "هدف این است که باعث زمانی که",
|
||||
"GoalName": "اسم هدف",
|
||||
"Goals": "اهداف",
|
||||
"GoalsOverview": "بررسی اجمالی اهداف",
|
||||
"GoalX": "هدف %s",
|
||||
"HelpOneConversionPerVisit": "اگر این صفحه را مطابق این هدف تجدید و یا مشاهده بیش از یک بار در یک دیدار، تنها هدف دنبال می شود اولین بار در طول این سفر پر شد.",
|
||||
"IsExactly": "دقیقا %s",
|
||||
"LeftInCart": "%s باقی مانده در سبد",
|
||||
"Manually": "دستی",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "هدف این است که دستی باعث شده با استفاده از JavaScript در مرورگر شما API trackGoal ()",
|
||||
"MatchesExpression": "با عبارت %s تطابق دارد",
|
||||
"NewVisitorsConversionRateIs": "نرخ تبدیلات بازدیدکنندگان جدید %s است",
|
||||
"Optional": "(اختیاری)",
|
||||
"PageTitle": "عنوان صفحه",
|
||||
"Pattern": "الگو",
|
||||
"ProductCategory": "دسته محصول",
|
||||
"ProductName": "نام محصول",
|
||||
"Products": "محصولات",
|
||||
"ProductSKU": "محصول SKU",
|
||||
"ReturningVisitorsConversionRateIs": "نرخ بازگشت بازدیدکنندگان %s است",
|
||||
"UpdateGoal": "به روز رسانی هدف",
|
||||
"URL": "آدرس",
|
||||
"ViewAndEditGoals": "مشاهده و ویرایش اهداف",
|
||||
"VisitPageTitle": "ارسال عنوان صفحه",
|
||||
"VisitsUntilConv": "بازدیدهای به هدف رسیده",
|
||||
"VisitUrl": "ارسال یک URL (صفحه یا گروهی از صفحات)",
|
||||
"WhenVisitors": "زمانی که بازدیدکنندگان",
|
||||
"WhereThe": "کجاست",
|
||||
"YouCanEnableEcommerceReports": "شما می توانید %1$s را برای این وبسایت در صفحه %2$s فعال کنید."
|
||||
}
|
||||
}
|
97
msd2/tracking/piwik/plugins/Goals/lang/fi.json
Normal file
97
msd2/tracking/piwik/plugins/Goals/lang/fi.json
Normal file
@ -0,0 +1,97 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Hylätty ostoskori",
|
||||
"AddGoal": "Lisää tavoite",
|
||||
"AddNewGoal": "Lisää uusi tavoite",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sLisää uusi tavoite%2$s tai %3$smuokkaa%4$s olemassaolevia tavoitteita",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Salli tavoitteen saavuttaminen useammin kuin kerran per käynti",
|
||||
"AllowMultipleConversionsPerVisit": "Salli monta tavoitteen saavuttamista per käynti",
|
||||
"BestCountries": "Parhaat maat ovat:",
|
||||
"BestKeywords": "Parhaat hakusanat ovat:",
|
||||
"BestReferrers": "Parhaat verkkosivuviittaajat ovat:",
|
||||
"CaseSensitive": "Kokoherkkä",
|
||||
"CategoryTextGeneral_Visitors": "Käyttäjän sijainti",
|
||||
"CategoryTextReferrers_Referrers": "Viittaajat",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Käyttäjän attribuutti",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Laitteet",
|
||||
"ClickOutlink": "Ulos lähtevän linkin painaminen",
|
||||
"SendEvent": "Lähetä tapahtuma",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Keskimääräinen tilauksen arvo (AOV) on tilausten arvon summa jaettuna tilausten lukumäärällä.",
|
||||
"ColumnAveragePriceDocumentation": "Keskimääräinen tuotto (%s)",
|
||||
"ColumnAverageQuantityDocumentation": "Keskimääräinen myyntimäärä tuotteelle %s.",
|
||||
"ColumnConversionRateDocumentation": "Osuus käynneistä, jotka saavuttivat tavoitteen %s.",
|
||||
"ColumnConversionRateProductDocumentation": "%s:n saavuttamisaste on niiden tilausten määrä, joissa oli tämä tuote jaettuna käynneillä tuotesivulla.",
|
||||
"ColumnConversions": "Muutokset",
|
||||
"ColumnConversionsDocumentation": "Tavoitteen saavuttaminen %s:lle.",
|
||||
"ColumnOrdersDocumentation": "Yhteensä ostoja, jotka sisälsivät tämän %s vähintään kerran.",
|
||||
"ColumnPurchasedProductsDocumentation": "Myytyjen tuotteiden määrä on kaikkien tilausten kaikkien tuotteiden yhteismäärä.",
|
||||
"ColumnQuantityDocumentation": "Määrä on myytyjen tuotteiden yhteismäärä %s:lle.",
|
||||
"ColumnRevenueDocumentation": "Liikevaihto %s:sta.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Tavoitteen %s tulot jaettuna käyntien määrällä.",
|
||||
"ColumnVisits": "Käyntien kokonaismäärä, riippumatta tavoitteiden saavuttamisesta.",
|
||||
"ColumnVisitsProductDocumentation": "Käyntien määrä tuote-\/kategoriasivuilla. Tätä käytetään %s:n saavuttamisasteen laskemiseen. Tämä arvo on raportissa, jos verkkokaupan seuranta on otettu käyttöön tuote- ja kategoriasivuilla.",
|
||||
"Contains": "sisältää %s",
|
||||
"ConversionByTypeReportDocumentation": "Tämä raportti antaa tarkempaa tietoa tavoitteista (saavuttaminen, saavuttamisprosentit, tulot per käynti) jokaiselle vasemman paneelin kategorialle. %1$s Näet raportin klikkaamalla kategoriaa. %2$s Saat lisätietoa englanninkielisestä %3$s dokumentaatiosta piwik.orgissa%4$s",
|
||||
"ConversionRate": "%s siirtymisaste",
|
||||
"Conversions": "%s siirtymää",
|
||||
"ConversionsOverview": "Siirtymien yleiskatsaus",
|
||||
"ConversionsOverviewBy": "Tavoitteiden saavuttamisen yleiskatsaus vierailun tyypin mukaan",
|
||||
"DaysToConv": "Päiviä tavoitteen saavuttamiseen",
|
||||
"Details": "Tavoitteen tiedot",
|
||||
"DefaultGoalConvertedOncePerVisit": "(oletus) tavoitteen voi saavuttaa vain kerran per käynti",
|
||||
"DefaultRevenueHelp": "Esimerkiksi lähetetyn \\\"Ota yhteyttä\\\"-lomakkeen arvo voi olla keskimäärin 10€. Matomo auttaa ymmärtämään, miten eri segmentit tuovat rahaa.",
|
||||
"DeleteGoalConfirm": "Haluatko varmasti poistaa tavoitteen %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Tuotteiden myynti. Poislukien verot, kuljetus ja alennukset",
|
||||
"Download": "Ladataan tiedosto",
|
||||
"Ecommerce": "Verkkokauppa",
|
||||
"EcommerceAndGoalsMenu": "Verkkokauppa ja tavoitteet",
|
||||
"EcommerceLog": "Verkkokaupan loki",
|
||||
"EcommerceOrder": "Verkkokaupan järjestys",
|
||||
"EcommerceOverview": "Verkkokaupan yleiskatsaus",
|
||||
"EcommerceReports": "Verkkokaupan raportit",
|
||||
"ExceptionInvalidMatchingString": "Jos valitset 'täsmällinen osuma', täsmäävän merkkijonon täytyy olla osoite, joka alkaa %1$s. Esimerkiksi '%2$s'.",
|
||||
"ExternalWebsiteUrl": "ulkopuolisen sivun osoite",
|
||||
"Filename": "tiedostonimi",
|
||||
"GoalConversion": "Maalin muunnos",
|
||||
"GoalConversions": "Tavoitteiden saavuttaminen",
|
||||
"GoalConversionsBy": "Tavoitteen %s saavuttaminen vierailun tyypin mukaan",
|
||||
"GoalIsTriggered": "Tavoite on saavutettu",
|
||||
"GoalIsTriggeredWhen": "Tavoite on saavutettu kun",
|
||||
"GoalName": "Tavoitteen nimi",
|
||||
"Goals": "Tavoitteet",
|
||||
"ManageGoals": "Hallitse tavoitteita",
|
||||
"GoalsOverview": "Tavoitteiden yleiskatsaus",
|
||||
"GoalsOverviewDocumentation": "Tämä on tavoitteiden saavuttamisen yleiskatsaus. Aluksi kuvaaja näyttää kaikkien tavoitteiden saavuttamisten summan. %s Kuvaajan alla näet raportit jokaiselle tavoitteelle. Pienet kuvaajat suurenevat klikkaamalla.",
|
||||
"GoalX": "Tavoite %s",
|
||||
"HelpOneConversionPerVisit": "Jos tämän tavoitteen sivu päivitetään tai avataan useamman kerran saman käynnin aikana, tavoitteen saavuttaminen tallennetaan vain ensimmäiseltä kerralta.",
|
||||
"IsExactly": "on täsmälleen %s",
|
||||
"LeftInCart": "%s jätetty ostoskoriin",
|
||||
"Manually": "manuaalisesti",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Tavoite on manuaalisesti asetettu JavaScript-API:n trackGoal():lla",
|
||||
"MatchesExpression": "täsmää lausekkeseen %s",
|
||||
"NewGoalIntro": "Konversion seuranta on yksi tehokkaimmista tavoista mitata ja kehittää yrityksesi päämääriä.",
|
||||
"NewVisitorsConversionRateIs": "Uusien kävijöiden siirtymäaste on %s",
|
||||
"Optional": "(vapaavalintainen)",
|
||||
"PageTitle": "Sivun otsikko",
|
||||
"Pattern": "Malli",
|
||||
"PluginDescription": "Luo tavoitteita, ja näe yksityiskohtaisia raportteja tavoitteiden saavuttamisesta: muutokset ajan yli, liikevaihto per käynti, onnistumisia per viittaus, per avainsana jne.",
|
||||
"ProductCategory": "Tuotteen kategoria",
|
||||
"ProductName": "Tuotteen nimi",
|
||||
"ProductNames": "Tuotteet nimet",
|
||||
"ProductPrice": "Tuotteen hinta",
|
||||
"ProductQuantity": "Tuotteen määrä",
|
||||
"Products": "Tuotteet",
|
||||
"ProductSKU": "Tuotteen SKU",
|
||||
"ReturningVisitorsConversionRateIs": "Palaavien kävijöiden siirtymäaste on %s",
|
||||
"SingleGoalOverviewDocumentation": "Tämä on yleiskatsaus yksittäisen tavoitteen saavuttamiselle. %s Pienet kuvaajat suurenevat klikkaamalla.",
|
||||
"UpdateGoal": "Päivitä tavoite",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Katso ja muokkaa tavoitteita",
|
||||
"VisitPageTitle": "Käynti sivulla, jonka otsikko on annettu alla",
|
||||
"VisitsUntilConv": "Käyntejä tavoitteen saavuttamiseen",
|
||||
"VisitUrl": "Vierailee annetussa osoitteessa (sivu tai ryhmä sivuja)",
|
||||
"WhenVisitors": "kun kävijöitä",
|
||||
"WhereThe": "jossa",
|
||||
"YouCanEnableEcommerceReports": "Voit ottaa käyttöön %1$s tälle sivustolle sivulla %2$s."
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/fr.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/fr.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Panier abandonné",
|
||||
"AddGoal": "Ajouter un objectif",
|
||||
"AddNewGoal": "Ajoutez un nouvel objectif",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAjouter un nouvel objectif%2$s or %3$sEditer%4$s des objectifs existants",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Autoriser un objectif à être converti plus d'une fois par visite.",
|
||||
"AllowMultipleConversionsPerVisit": "Autoriser les conversions multiples par visite",
|
||||
"BestCountries": "Vos meilleurs pays de conversion sont :",
|
||||
"BestKeywords": "Vos meilleurs mots-clés sont :",
|
||||
"BestReferrers": "Vos meilleurs sites web de conversion sont :",
|
||||
"CaseSensitive": "Correspondance sensible à la case",
|
||||
"CancelAndReturnToGoals": "Annuler et %1$sretourner à la liste des objectifs%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Emplacement de l'utilisateur",
|
||||
"CategoryTextReferrers_Referrers": "Référents",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Attribut de l'utilisateur",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Périphériques",
|
||||
"CategoryTextGeneral_Visit": "engagement",
|
||||
"ClickOutlink": "Cliquent sur un lien vers un site externe",
|
||||
"SendEvent": "Envoient un évènement",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Les recettes moyennes par commande représentent les recettes totales des commandes E-commerce divisées par le nombre de commandes.",
|
||||
"ColumnAveragePriceDocumentation": "Revenu moyen pour %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Quantité moyenne vendue de %s dans les commandes E-commerce.",
|
||||
"ColumnConversionRateDocumentation": "Pourcentage de visites qui ont déclenché l'objectif %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Le taux de conversion %s représente le nombre de commandes contenant ce produit divisé par le nombre de visites sur la page du produit.",
|
||||
"ColumnConversions": "Conversions",
|
||||
"Conversion": "Conversion",
|
||||
"ColumnConversionsDocumentation": "Nombre de conversions pour %s.",
|
||||
"ColumnOrdersDocumentation": "Nombre total de commandes E-commerce qui ont contenu ceci %s au moins une fois.",
|
||||
"ColumnPurchasedProductsDocumentation": "Le nombre de produits achetés est la somme des quantités de produits vendus lors de toutes les commandes E-commerce.",
|
||||
"ColumnQuantityDocumentation": "La quantité est le nombre total de produits vendus pour chaque %s.",
|
||||
"ColumnRevenueDocumentation": "Revenus générés par %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Revenu total généré par %s divisé par le nombre de visites.",
|
||||
"ColumnVisits": "Nombre total de visites, indifféremment du fait qu'un objectif a été atteint ou non.",
|
||||
"ColumnVisitsProductDocumentation": "Le nombre de visites sur la page produit \/ catégorie. Ceci est également utilisé pour traiter les taux de conversion %s. Cette mesure est dans le rapport si le suivi E-commerce produit \/ catégorie a été configuré.",
|
||||
"Contains": "contient %s",
|
||||
"ConversionByTypeReportDocumentation": "Ce rapport apporte des informations détaillés les à propos de la performance de l'objectif (conversions, taux de conversion et recettes par visite) pour chacune des catégories disponibles sur le panneau de gauche. %1$s Veuillez cliquer sur une des catégories pour afficher le rapport. %2$s Pour plus d'informations sur les objectifs, lisez la %3$s documentation sur le suivi des objectifs sur Piwik.org%4$s",
|
||||
"ConversionRate": "%s taux de conversion",
|
||||
"Conversions": "%s conversions",
|
||||
"ConversionsDescription": "conversions",
|
||||
"ConversionsOverview": "Vue globale des conversions",
|
||||
"ConversionsOverviewBy": "Vue d'ensemble des conversions par type de visite",
|
||||
"DaysToConv": "Jours par conversion",
|
||||
"Details": "Détails de l'objectif",
|
||||
"DefaultGoalConvertedOncePerVisit": "(par défaut) Un objectif peut-être converti une seule fois par visite",
|
||||
"DefaultRevenueLabel": "Revenu de l'objectif par défaut",
|
||||
"DefaultRevenueHelp": "Par exemple, un formulaire de contact soumis par un visiteur peut avoir une valeur de 10 € en moyenne. Matomo vous aidera à comprendre comment se comportent vos visiteurs.",
|
||||
"DeleteGoalConfirm": "Êtes vous sûr de vouloir supprimer l'objectif %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Ventes de produits. Hors taxes, expéditions et remises.",
|
||||
"Download": "Téléchargent un fichier",
|
||||
"Ecommerce": "E-Commerce",
|
||||
"EcommerceAndGoalsMenu": "E-Commerce & Objectifs",
|
||||
"EcommerceLog": "Log E-Commerce",
|
||||
"EcommerceOrder": "Commande E-Commerce",
|
||||
"EcommerceOverview": "Aperçu E-Commerce",
|
||||
"EcommerceReports": "Rapports E-Commerce",
|
||||
"ExceptionInvalidMatchingString": "Si vous choisissez 'correspondance exacte', la chaîne de caractères doit être une URL commençant par %1$s. Par exemple,'%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL externe du site web",
|
||||
"Filename": "nom de fichier",
|
||||
"GoalConversion": "Conversion de l'objectif",
|
||||
"GoalConversions": "Conversion de l'objectif.",
|
||||
"GoalConversionsBy": "Conversions de l'objectif %s par type de visite",
|
||||
"GoalIsTriggered": "L'objectif est déclenché",
|
||||
"GoalIsTriggeredWhen": "L'objectif est déclenché quand",
|
||||
"GoalName": "Nom de l'objectif",
|
||||
"Goals": "Objectifs",
|
||||
"NGoals": "%sobjectifs",
|
||||
"NRevenue": "%s revenu",
|
||||
"NItems": "%s éléments",
|
||||
"ManageGoals": "Gérer les objectifs",
|
||||
"GoalsOverview": "Vue d'ensemble des Objectifs",
|
||||
"GoalsOverviewDocumentation": "Ceci est un aperçu de vos conversions d'objectifs. Initialement, le graphique, affiche la somme des conversions. %s Sous le graphique, vous pouvez voir les rapports de conversion pour chacun de vos objectifs. Les lignes de tendance peuvent être agrandies en cliquant dessus.",
|
||||
"GoalX": "Objectif %s",
|
||||
"HelpOneConversionPerVisit": "Si une page correspondant à cet objectif est actualisée ou vue plus d'une fois lors d'une visite, l'objectif ne pourra être suivi que la première fois la page a été chargée au cours de cette visite.",
|
||||
"IsExactly": "est exactement %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Apprenez en plus sur %1$s le Suivi des Objectifs dans Matomo%2$s dans la documentation utilisateur.",
|
||||
"LeftInCart": "%s laissé(s) dans le panier",
|
||||
"Manually": "manuellement",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Les objectifs sont déclenchés manuellement en utilisant l'API Javascript trackGoal()",
|
||||
"MatchesExpression": "correspond à l'expression %s",
|
||||
"NewGoalIntro": "Le suivi de la conversion des objectifs et une des manières les plus efficaces de mesurer et améliorer vos objectifs d'affaires.",
|
||||
"NewVisitorsConversionRateIs": "Le taux de conversion des nouveaux visiteurs est %s",
|
||||
"NoGoalsNeedAccess2": "Seulement un utilisateur de type Ecriture, Administrateur ou avec un accès super utilisateur peut gérer les objectifs pour un site web. Veuillez demander à votre administrateur Matomo de mettre en place un objectif pour votre site web. <br>Suivre des objectifs est une très bonne façon de comprendre et maximiser les performances de votre site web!",
|
||||
"NoConversionsNoReportsMessage": "Aucun rapport n'est affiché car il n'y a pas de données de conversion pour l'objectif et la période sélectionnée.",
|
||||
"NeedAccess": "Uniquement un administrateur ou un utilisateur avec le rôle super utilisateur peut gérer les objectifs pour un site web.",
|
||||
"Optional": "(optionnel)",
|
||||
"OverallConversionRate": "taux de conversion global (visites avec un objectif rempli)",
|
||||
"ColumnOverallRevenue": "Revenu global",
|
||||
"OverallRevenue": "revenu global",
|
||||
"PageTitle": "Titre de la page",
|
||||
"Pattern": "Modèle",
|
||||
"PluginDescription": "Créez des Objectifs et obtenez des rapports détaillés à propos de leur conversion : évolution au cours du temps, revenus par visite, conversion par référent, par mot clef et plus.",
|
||||
"ProductCategory": "Catégorie du produit",
|
||||
"ProductName": "Nom du produit",
|
||||
"ProductNames": "Noms Produit",
|
||||
"ProductPrice": "Prix Produit",
|
||||
"ProductQuantity": "Quantité produit",
|
||||
"Products": "Produits",
|
||||
"ProductSKU": "Code Produit",
|
||||
"ProductSKUs": "SKUs Produit",
|
||||
"ReturningVisitorsConversionRateIs": "Le taux de conversion des visiteurs déjà venus est %s",
|
||||
"SingleGoalOverviewDocumentation": "Ceci est un aperçu des conversions pour un seul Objectif. %s les lignes de tendance sous le graphique peuvent être agrandies en cliquant dessus.",
|
||||
"ThereIsNoGoalToManage": "Il n'y a aucun objectif à gérer pour le site %s",
|
||||
"UpdateGoal": "Mettre à jour un objectif",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Afficher et modifier un Objectif",
|
||||
"GoalsBy": "Objectifs par %s",
|
||||
"GoalsAdjective": "Objectifs %s",
|
||||
"VisitPageTitle": "Visitent un titre de page donné.",
|
||||
"VisitsUntilConv": "Visites par conversion",
|
||||
"VisitUrl": "Visitent une URL donnée (page ou groupe de pages)",
|
||||
"WhenVisitors": "quand les visiteurs",
|
||||
"WhereThe": "où le",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "La page visité doit contenir un appel à la méthode JavaScript 'trackGoal' (%1$sapprenez-en plus%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Vous pouvez activer %1$s pour ce site web sur la page %2$s.",
|
||||
"UseEventValueAsRevenue": "Utilisez la valeur de l'évènement (si elle existe) en tant que revenu lié à la conversion de l'objectif.",
|
||||
"GoalRevenue": "Revenu de l'objectif",
|
||||
"EventValueAsRevenueHelp": "Si l'évènement correspondant a un revenu, et que ce revenu est suivi en tant que valeur de l'évènement, vous pouvez activer cette option pour enregistrement la valeur de l'évènement en tant que revenu de conversion d'objectif. Si votre revenu objectif ne varie pas par conversion, vous pouvez ignorer cette option et simplement définir un revenu par défaut ci-dessus.",
|
||||
"EventValueAsRevenueHelp2": "Note: si un objectif de revenu par défaut ainsi qu'une valeur d'évènement sont définis, la valeur de l'évènement sera utilisée. Si cette option est activée et qu'aucune valeur d'évènement est envoyée avec la requête, la valeur par défault sera utilisée (si définie)."
|
||||
}
|
||||
}
|
11
msd2/tracking/piwik/plugins/Goals/lang/gl.json
Normal file
11
msd2/tracking/piwik/plugins/Goals/lang/gl.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "Engadir un obxectivo",
|
||||
"AddNewGoal": "Engadir un novo obxectivo",
|
||||
"AllowMultipleConversionsPerVisit": "Permitir varias conversións por visita",
|
||||
"ColumnConversions": "Conversións",
|
||||
"Download": "Descargar un ficheiro",
|
||||
"Ecommerce": "Comercio electrónico",
|
||||
"ExternalWebsiteUrl": "URL de sitio web externo"
|
||||
}
|
||||
}
|
6
msd2/tracking/piwik/plugins/Goals/lang/he.json
Normal file
6
msd2/tracking/piwik/plugins/Goals/lang/he.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"Goals": {
|
||||
"CategoryTextReferrers_Referrers": "הפניות",
|
||||
"ColumnConversions": "המרות"
|
||||
}
|
||||
}
|
94
msd2/tracking/piwik/plugins/Goals/lang/hi.json
Normal file
94
msd2/tracking/piwik/plugins/Goals/lang/hi.json
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "परित्यक्त कार्ट",
|
||||
"AddGoal": "लक्ष्य जोड़ें",
|
||||
"AddNewGoal": "एक नया लक्ष्य जोड़ें",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sएक नया लक्ष्य जोड़ें%2$s या %3$sमौजूदा लक्ष्य %4$sको संपादित करें",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "लक्ष्य प्रति विज़िट एक से अधिक बार परिवर्तित करने की अनुमति दें",
|
||||
"AllowMultipleConversionsPerVisit": "प्रति यात्रा कई रूपांतरणों की अनुमति दें",
|
||||
"BestCountries": "आपका सबसे अच्छा परिवर्तित देश हैं:",
|
||||
"BestKeywords": "आपका शीर्ष परिवर्तित कीवर्ड हैं:",
|
||||
"BestReferrers": "आपका सबसे अच्छा परिवर्तित वेबसाइटों सन्दर्भदाता हैं:",
|
||||
"CaseSensitive": "संवेदनशील प्रकरण मिलना",
|
||||
"CategoryTextGeneral_Visitors": "उपयोगकर्ता का स्थान",
|
||||
"CategoryTextReferrers_Referrers": "सन्दर्भदाता",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "उपयोगकर्ता विशेषता",
|
||||
"CategoryTextGeneral_Visit": "नियम",
|
||||
"ClickOutlink": "एक बाहरी वेबसाइट के लिए एक लिंक पर क्लिक करें",
|
||||
"SendEvent": "एक घटना भेजें",
|
||||
"ColumnAverageOrderRevenueDocumentation": "औसत ऑर्डर मूल्य (AOV) आदेश की संख्या से विभाजित सभी ईकॉमर्स आदेश से कुल राजस्व है.",
|
||||
"ColumnAveragePriceDocumentation": "इस %s के लिए औसत राजस्व.",
|
||||
"ColumnAverageQuantityDocumentation": "इस %s की औसत मात्रा ईकॉमर्स आदेश में बेच दिया.",
|
||||
"ColumnConversionRateDocumentation": "लक्ष्य %s को सक्रिय किया गया यात्राओं का प्रतिशत.",
|
||||
"ColumnConversionRateProductDocumentation": "रूपांतरण %s दर उत्पाद पृष्ठ पर यात्राओं की संख्या से विभाजित इस उत्पाद से युक्त आदेश की संख्या है.",
|
||||
"ColumnConversions": "रूपांतरण",
|
||||
"ColumnConversionsDocumentation": "%s के लिए रूपांतरण की संख्या.",
|
||||
"ColumnOrdersDocumentation": "कम से कम एक बार जिसमें %s ईकॉमर्स आदेशों की कुल संख्या.",
|
||||
"ColumnPurchasedProductsDocumentation": "खरीदे गए उत्पादों की संख्या में सभी ईकॉमर्स आदेश में बेचा उत्पाद मात्रा का योग है.",
|
||||
"ColumnQuantityDocumentation": "प्रत्येक मात्रा %s के लिए बेचा उत्पादों की कुल संख्या है.",
|
||||
"ColumnRevenueDocumentation": "कुल राजस्व %s द्वारा उत्पन्न की.",
|
||||
"ColumnRevenuePerVisitDocumentation": "कुल राजस्व यात्राओं की संख्या से विभाजित %s द्वारा उत्पन्न किया.",
|
||||
"ColumnVisits": "यात्राओं की कुल संख्या,परवाह किए बिना एक लक्ष्य सक्रिय हो गया था या नहीं.",
|
||||
"ColumnVisitsProductDocumentation": "उत्पाद \/ श्रेणी पेज पर यात्राओं की संख्या. यह भी %s की रूपांतरण दर संसाधित करने के लिए प्रयोग किया जाता है. ईकॉमर्स दृश्य ट्रैकिंग उत्पाद \/ श्रेणी पृष्ठों पर सेटअप किया गया तो यह मीट्रिक रिपोर्ट में है.",
|
||||
"Contains": "%s में शामिल",
|
||||
"ConversionByTypeReportDocumentation": "इस रिपोर्ट के बाएं पैनल में उपलब्ध श्रेणियों में से प्रत्येक के लिए लक्ष्य प्रदर्शन (रूपांतरण, रूपांतरण दर और यात्रा के प्रति राजस्व) के बारे में विस्तृत जानकारी प्रदान करता है.%1$s रिपोर्ट देखने के लिए श्रेणियों में से एक पर क्लिक करें. %2$sअधिक जानकारी के लिए, %3$sट्रैकिंग लक्ष्य प्रलेखन%4$s पढ़ें",
|
||||
"ConversionRate": "%s रूपांतरण दर",
|
||||
"Conversions": "%s रूपांतरण",
|
||||
"ConversionsOverview": "रूपांतरण अवलोकन",
|
||||
"ConversionsOverviewBy": "यात्रा के प्रकार से रूपांतरण अवलोकन",
|
||||
"DaysToConv": "रूपांतरण के लिए दिन",
|
||||
"DefaultGoalConvertedOncePerVisit": "(डिफ़ॉल्ट) लक्ष्य केवल यात्रा के प्रति एक बार परिवर्तित किया जा सकता है",
|
||||
"DefaultRevenueHelp": "उदाहरण के लिए, एक आगंतुक द्वारा प्रस्तुत एक संपर्क फ़ॉर्म औसतन 10 डॉलर मूल्य हो सकता है. Matomo आप अपने दर्शकों के क्षेत्रों प्रदर्शन कर रहे हैं कि कैसे अच्छी तरह से समझने में मदद करेगा.",
|
||||
"DeleteGoalConfirm": "आप अपने लक्ष्य %s को नष्ट करना चाहते हैं?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "उत्पाद की बिक्री. कर, शिपिंग और छूट शामिल नहीं",
|
||||
"Download": "एक फाइल डाउनलोड करें",
|
||||
"Ecommerce": "ईकॉमर्स",
|
||||
"EcommerceAndGoalsMenu": "ईकॉमर्स और लक्ष्य",
|
||||
"EcommerceLog": "ईकॉमर्स अभिलेख",
|
||||
"EcommerceOrder": "ईकॉमर्स के आदेश",
|
||||
"EcommerceOverview": "ईकॉमर्स अवलोकन",
|
||||
"EcommerceReports": "ईकॉमर्स रिपोर्टें",
|
||||
"ExceptionInvalidMatchingString": "आप 'सटीक मैच' चुनते हैं, तो मिलान स्ट्रिंग %1$s की शुरुआत के साथ एक URL होना चाहिए. उदाहरण के लिए, '%2$s' में.",
|
||||
"ExternalWebsiteUrl": "बाहरी वेबसाइट यूआरएल",
|
||||
"Filename": "फ़ाइल का नाम",
|
||||
"GoalConversion": "लक्ष्य रूपांतरण",
|
||||
"GoalConversions": "लक्ष्य रूपांतरण",
|
||||
"GoalConversionsBy": "यात्रा के प्रकार से लक्ष्य %s का रूपांतरण",
|
||||
"GoalIsTriggered": "लक्ष्य शुरू हो रहा है",
|
||||
"GoalIsTriggeredWhen": "जब लक्ष्य सक्रिय हो रहा है",
|
||||
"GoalName": "लक्ष्य नाम",
|
||||
"Goals": "लक्ष्य",
|
||||
"GoalsOverview": "लक्ष्य अवलोकन",
|
||||
"GoalsOverviewDocumentation": "यह अपने लक्ष्य रूपांतरण का अवलोकन है. प्रारंभ में, ग्राफ सभी रूपांतरणों की राशि को दर्शाता है. ग्राफ नीचे %s, आप अपने लक्ष्यों में से प्रत्येक के लिए रूपांतरण रिपोर्ट देख सकते हैं. स्पार्कलाइन उन पर क्लिक करके विस्तारित किया जा सकता है.",
|
||||
"GoalX": "लक्ष्य %s",
|
||||
"HelpOneConversionPerVisit": "यह लक्ष्य मिलान एक पृष्ठ एक यात्रा में रीफ़्रेश या एक से अधिक बार देखा जाता है तो लक्ष्य केवल पृष्ठ पर इस यात्रा के दौरान लोड किया गया था पहली बार ट्रैक किया जाएगा.",
|
||||
"IsExactly": "%s ठीक है",
|
||||
"LeftInCart": "%s कार्ट में छोड़ दिया",
|
||||
"Manually": "मैन्युअल रूप से",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "लक्ष्य मैन्युअली जावास्क्रिप्ट एपीआई trackGoal () का उपयोग शुरू हो रहा है",
|
||||
"MatchesExpression": "%s अभिव्यक्ति से मेल खाता है",
|
||||
"NewGoalIntro": "लक्ष्य रूपांतरण ट्रैकिंग अपने व्यापार के लक्ष्यों को मापने के लिए और बेहतर बनाने के लिए सबसे कारगर तरीकों में से एक है.",
|
||||
"NewVisitorsConversionRateIs": "नई आगंतुक रूपांतरण दर %s है",
|
||||
"Optional": "(वैकल्पिक)",
|
||||
"PageTitle": "पृष्ठ शीर्षक",
|
||||
"Pattern": "प्रतिमान",
|
||||
"ProductCategory": "उत्पाद श्रेणी",
|
||||
"ProductName": "उत्पाद का नाम",
|
||||
"Products": "उत्पाद",
|
||||
"ProductSKU": "उत्पाद SKU",
|
||||
"ReturningVisitorsConversionRateIs": "आगंतुकों रूपांतरण दर रिटर्निंग %s है",
|
||||
"SingleGoalOverviewDocumentation": "यह एक ही लक्ष्य के लिए रूपांतरण का अवलोकन है. %s ग्राफ नीचे स्पार्कलाइन उन पर क्लिक करके विस्तारित किया जा सकता है.",
|
||||
"ThereIsNoGoalToManage": "वेबसाइट %s के लिए प्रबंधित करने के लिए कोई लक्ष्य नहीं है",
|
||||
"UpdateGoal": "लक्ष्य अद्यतन",
|
||||
"URL": "यूआरएल",
|
||||
"ViewAndEditGoals": "लक्ष्य देखें और संपादित करें",
|
||||
"GoalsBy": "%s द्वारा लक्ष्य",
|
||||
"GoalsAdjective": "लक्ष्य से %s",
|
||||
"VisitPageTitle": "किसी दिए गए पृष्ठ शीर्षक पर जाएँ",
|
||||
"VisitsUntilConv": "रूपांतरण के लिए दौरा",
|
||||
"VisitUrl": "किसी दिए गए यूआरएल (पृष्ठों के पृष्ठ या समूह) पर जाएँ",
|
||||
"WhenVisitors": "जब आगंतुकों",
|
||||
"WhereThe": "जहां",
|
||||
"YouCanEnableEcommerceReports": "आपको %1$s पेज में इस वेबसाइट को सक्षम %2$s कर सकते हैं."
|
||||
}
|
||||
}
|
45
msd2/tracking/piwik/plugins/Goals/lang/hu.json
Normal file
45
msd2/tracking/piwik/plugins/Goals/lang/hu.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "Cél hozzáadása",
|
||||
"AddNewGoal": "Új cél létrehozása",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sHozz létre új célt%2$s vagy %3$sszerkeszd%4$s a már meglévő célokat",
|
||||
"BestCountries": "A legjobban konvertáló országok a következőek:",
|
||||
"BestKeywords": "A legjobban konvertáló kulcsszavak a következőek:",
|
||||
"BestReferrers": "A legjobban konvertáló hivatkozó weboldalak a következőek:",
|
||||
"CaseSensitive": "Kisbetű-nagybetű érzékeny egyezés",
|
||||
"CategoryTextReferrers_Referrers": "Források",
|
||||
"ClickOutlink": "rákattintanak egy külső weboldalra mutató linkre",
|
||||
"ColumnConversions": "Konverziók",
|
||||
"Contains": "tartalmazza ezt: %s",
|
||||
"ConversionRate": "%s konverziós arány",
|
||||
"Conversions": "%s konverzió",
|
||||
"ConversionsOverview": "Konverziók áttekintése",
|
||||
"DefaultRevenueHelp": "Például egy látogató által elküldött kapcsolatfelvételi űrlap 1000 forintnak megfelelő értéket jelenthet átlagosan. A Matomo segít annak megértésében, hogy az egyes látogatói szegmensek hogyan teljesítenek ennek fényében.",
|
||||
"DeleteGoalConfirm": "Biztosan törölni szeretnéd a %s elnevezésű célt?",
|
||||
"Download": "letöltenek egy fájlt",
|
||||
"ExceptionInvalidMatchingString": "Ha a pontos egyezést választja, akkor a sztringnek egy %1$s kezdetű URL-nek kell lennie, mint pl. %2$s.",
|
||||
"ExternalWebsiteUrl": "Külső weboldal URL-je",
|
||||
"Filename": "fájlnév",
|
||||
"GoalConversion": "Célkonverzió",
|
||||
"GoalIsTriggered": "Cél teljesülése",
|
||||
"GoalIsTriggeredWhen": "Célt teljesítettnek tekintjük, ha",
|
||||
"GoalName": "Cél elnevezése",
|
||||
"Goals": "Célok",
|
||||
"GoalsOverview": "Célok áttekintése",
|
||||
"GoalX": "%s nevű cél",
|
||||
"IsExactly": "megegyezik ezzel: %s",
|
||||
"Manually": "nem következik be automatikusan, csak ott",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Nem automatikusan történő célteljesülést a JavaScript API trackGoal() funkciójával lehet létrehozni",
|
||||
"MatchesExpression": "egyezik ezzel a kifejezéssel: %s",
|
||||
"NewVisitorsConversionRateIs": "Új látogatók konverziós aránya %s",
|
||||
"Optional": "(opcionális)",
|
||||
"Pattern": "Egyezési minta",
|
||||
"ReturningVisitorsConversionRateIs": "A visszatérő látogatók konverziós aránya %s",
|
||||
"UpdateGoal": "Cél frissítése",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Célok megtekintése és szerkesztése",
|
||||
"VisitUrl": "meglátogatnak egy adott URL-t (mely egy weblapot vagy weblapok csoportját jelenti)",
|
||||
"WhenVisitors": "bekövetkezik, ha a látogatók",
|
||||
"WhereThe": "ahol a (z)"
|
||||
}
|
||||
}
|
92
msd2/tracking/piwik/plugins/Goals/lang/id.json
Normal file
92
msd2/tracking/piwik/plugins/Goals/lang/id.json
Normal file
@ -0,0 +1,92 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Keranjang Terabaikan",
|
||||
"AddGoal": "Tambah Tujuan",
|
||||
"AddNewGoal": "Tambah Tujuan baru",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sTambah Tujuan baru%2$s atau %3$sSunting%4$s Tujuan saat ini",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Perbolehkan Tujuan dikonversi lebih dari sekali tiap kunjungan",
|
||||
"AllowMultipleConversionsPerVisit": "Perbolehkan banyak konversi tiap kunjungan",
|
||||
"BestCountries": "Konversi terbaik untuk negara Anda adalah:",
|
||||
"BestKeywords": "Kata kunci konversi terbaik Anda adalah:",
|
||||
"BestReferrers": "Konversi Situs Pengarah terbaik adalah:",
|
||||
"CaseSensitive": "Peka huruf sesuai",
|
||||
"CategoryTextGeneral_Visitors": "Lokasi pengguna",
|
||||
"CategoryTextReferrers_Referrers": "Pengarah",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Atribut pengguna",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Perangkat",
|
||||
"ClickOutlink": "Klik Tautan ke situs luar",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Rerata Nilai Pesanan (RNP) merupakan total pendapatan dari seluruh Permintaan Niaga-E dibagi dengan jumlah pesanan.",
|
||||
"ColumnAveragePriceDocumentation": "Pendapatan rerata untuk %s ini.",
|
||||
"ColumnAverageQuantityDocumentation": "Rerata kuantitas %s ini yang terjual dalam permintaan Niaga-E.",
|
||||
"ColumnConversionRateDocumentation": "Persentasi kunjungan yang dipacu oleh tujuan %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Tingkat konversi %s merupakan jumlah permintaan yang mengandung produk ini dibagi dengan jumlah kunjungan dalam halaman produk.",
|
||||
"ColumnConversions": "Konversi",
|
||||
"ColumnConversionsDocumentation": "Jumlah konversi untuk %s.",
|
||||
"ColumnOrdersDocumentation": "Jumlah permintaan Niaga-E yang mengandung %s ini setidaknya sekali.",
|
||||
"ColumnPurchasedProductsDocumentation": "Jumlah Produk yang dibeli adalah jumlah kuantitas Produk terjual dalam seluruh Niaga-E.",
|
||||
"ColumnQuantityDocumentation": "Kuantitas merupakan jumlah produk terjual untuk setiap %s.",
|
||||
"ColumnRevenueDocumentation": "Total pendapatan yang dihasilkan oleh %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Total pendapatan yang dihasilkan oleh %s dibagi dengan jumlah kunjungan.",
|
||||
"ColumnVisits": "Jumlah kunjungan, terlepas dari apakah tujuan telah dipicu atau tidak.",
|
||||
"ColumnVisitsProductDocumentation": "Jumlah kunjungan halaman Produk\/Kategori. Ini juga digunakan untuk mengolah tingkat konversi %s. Matrik ini juga berada di laporan bila tampilan pelacakan Niaga-E diatur dalam halaman Produk\/Kategori.",
|
||||
"Contains": "mengandung %s",
|
||||
"ConversionByTypeReportDocumentation": "Laporan ini menyediakan laporan terperinci tentang kinerja tujuan (konversi, ringkat konversi, dan pendapatan tiap kunjungan) untuk setiap kategori yang tersedia di panel kiri. %1$s Silakan klik salah satu kategori untuk melihat laporan. %2$s Informasi selengkapnya, silakan melihat %3$s dokumentasi Pelacakan Tujuan di piwik.org%4$s",
|
||||
"ConversionRate": "%s tingkat konversi",
|
||||
"Conversions": "%s konversi",
|
||||
"ConversionsDescription": "konversi",
|
||||
"ConversionsOverview": "Iktisar Konversi",
|
||||
"ConversionsOverviewBy": "Iktisar konversi berdasarkan jenis kunjungan",
|
||||
"DaysToConv": "Hari ke Konversi",
|
||||
"Details": "Detail tujuan",
|
||||
"DefaultGoalConvertedOncePerVisit": "(asali) Tujuan hanya dapat dikonversi sekali tiap kunjungan",
|
||||
"DefaultRevenueHelp": "Sebagai contoh, Borang Kontak yang dikirim oleh pengunjung mungkin benilai rerata $10. Matomo akan membantu Anda mengerti bagaimana seberapa baik ruas pengunjung Anda berkinerja.",
|
||||
"DeleteGoalConfirm": "Apakah Anda yakin menghapus Tujuan %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Penjulan produk. Tak termasuk pajak, pengiriman, dan potongan harga",
|
||||
"Download": "Unduh berkas",
|
||||
"Ecommerce": "Niaga-E",
|
||||
"EcommerceAndGoalsMenu": "Niaga-E & Tujuan",
|
||||
"EcommerceLog": "Catatan Niaga-E",
|
||||
"EcommerceOrder": "Permintaan Niaga-E",
|
||||
"EcommerceOverview": "Iktisar Niaga-E",
|
||||
"EcommerceReports": "Laporan Niaga-E",
|
||||
"ExceptionInvalidMatchingString": "Bila Anda memilih 'persis sesuai', pencocokan huruf harus URL yang dimulai dengan %1$s. Misalnya, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL situs luar",
|
||||
"Filename": "nama berkas",
|
||||
"GoalConversion": "Konversi Tujuan",
|
||||
"GoalConversions": "Konversi Tujuan",
|
||||
"GoalConversionsBy": "Konversi %s tujuan berdasarkan jenis kunjungan",
|
||||
"GoalIsTriggered": "Tujuan terpicu",
|
||||
"GoalIsTriggeredWhen": "Tujuan terpicu ketika",
|
||||
"GoalName": "Nama Tujuan",
|
||||
"Goals": "Tujuan",
|
||||
"GoalsOverview": "Iktisar Tujuan",
|
||||
"GoalsOverviewDocumentation": "Ini adalah iktisar dari konversi tujuan Anda. Pada mulanya, grafik menunjukkan keseluruhan konversi. %s Di bawah grafik, Anda dapat melihat laporan setiap tujuan Anda. Bagan garis dapat diperbesar dengan mengekliknya.",
|
||||
"GoalX": "Tujuan %s",
|
||||
"HelpOneConversionPerVisit": "Jika Halaman sesuai dengan Tujuan ini dimuat ulang atau ditampilkan lebih dari sekali dalam sekali Kunjungan, Tujuan hanya dapat dilacak saat waktu pertama halaman dimuat selama Kunjungan tersebut.",
|
||||
"IsExactly": "adalah tepatnya %s",
|
||||
"LeftInCart": "%s tersisa di keranjang",
|
||||
"Manually": "manual",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Tujuan terpicu secara manual menggunakan API JavaScript trackGoal()",
|
||||
"MatchesExpression": "sesuai dengan ekspresi %s",
|
||||
"NewGoalIntro": "Pelacakan Konversi Tujuan merupakan salah satu cara efisien untuk mengukur dan memperbaiki tujuan usaha Anda.",
|
||||
"NewVisitorsConversionRateIs": "Tingkat pengunjung baru adalah %s",
|
||||
"Optional": "(pilihan)",
|
||||
"PageTitle": "Judul Halaman",
|
||||
"Pattern": "Pola",
|
||||
"ProductCategory": "Kategori Produk",
|
||||
"ProductName": "Nama Produk",
|
||||
"Products": "Produk",
|
||||
"ProductSKU": "Produk SKU",
|
||||
"ReturningVisitorsConversionRateIs": "Tingkat konversi pengunjung kembali adalah %s",
|
||||
"SingleGoalOverviewDocumentation": "Ini merupakan iktisar dari tujuan tunggal. %s Bagan garis dapat diperbesar dengan mengekliknya.",
|
||||
"UpdateGoal": "Perbarui Tujuan",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Tampilkan dan Sunting Tujuan",
|
||||
"VisitPageTitle": "Kunjungi Judul Halaman yang diberikan",
|
||||
"VisitsUntilConv": "Kunjungan ke Konversi",
|
||||
"VisitUrl": "Kunjungi URL yang diberikan (halaman atau kelompok halaman)",
|
||||
"WhenVisitors": "ketika pengunjung",
|
||||
"WhereThe": "di mana",
|
||||
"YouCanEnableEcommerceReports": "Anda dapat mengaktifkan %1$s untuk situs ini dalam halaman %2$s."
|
||||
}
|
||||
}
|
37
msd2/tracking/piwik/plugins/Goals/lang/is.json
Normal file
37
msd2/tracking/piwik/plugins/Goals/lang/is.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "Bæta Markmiði við",
|
||||
"AddNewGoal": "Bæta nýju markmiði við",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAdd a new Goal%2$s eða %3$sEdit%4$s núverandi Markmiðum",
|
||||
"CaseSensitive": "Skiptir máli hvort það eru hástafir eða lágstafir",
|
||||
"CategoryTextReferrers_Referrers": "Sendendur",
|
||||
"ClickOutlink": "Smella á slóð fyrir utan vefinn",
|
||||
"ColumnConversions": "Umbreytingar",
|
||||
"Contains": "inniheldur %s",
|
||||
"ConversionRate": "%s umbreytingatíðni",
|
||||
"Conversions": "%s umbreytingar",
|
||||
"DeleteGoalConfirm": "Ertu viss um að þú viljir eyða markmiðinu %s?",
|
||||
"Download": "Sækja skrá",
|
||||
"ExternalWebsiteUrl": "utanaðkumandi vefslóð URL",
|
||||
"Filename": "skrárnafn",
|
||||
"GoalConversion": "Umbreyting markmiðs",
|
||||
"GoalIsTriggered": "Markmiðið er kveikt",
|
||||
"GoalIsTriggeredWhen": "Markmiðið er kveikt þegar",
|
||||
"GoalName": "Nafn Markmiðs",
|
||||
"Goals": "Markmið",
|
||||
"GoalsOverview": "Yfirlit Markmiða",
|
||||
"GoalX": "Markmið %s",
|
||||
"IsExactly": "er nákvæmlega %s",
|
||||
"Manually": "handvirkt",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Markmið er kveikt handvirkt með því að nota JavaScript API trackGoal()",
|
||||
"MatchesExpression": "upfyllir skilyrðið %s",
|
||||
"Optional": "(valkvætt)",
|
||||
"Pattern": "Mynstur",
|
||||
"UpdateGoal": "Uppfæra Markmið",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Skoða og breyta Markmiðum",
|
||||
"VisitUrl": "Skoða gefinn URL (vefsíðu eða hóp síðna)",
|
||||
"WhenVisitors": "þegar gestir",
|
||||
"WhereThe": "þar sem"
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/it.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/it.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Ordini abbandonati",
|
||||
"AddGoal": "Aggiungi un Goal",
|
||||
"AddNewGoal": "Aggiungi un nuovo Goal",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAggiungi un nuovo Goal%2$s o %3$sModifica%4$s i Goal esistenti",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Consenti di convertire il Goal più di una volta per visita",
|
||||
"AllowMultipleConversionsPerVisit": "Permetti conversioni multiple per visita",
|
||||
"BestCountries": "Le tue nazioni che convertono meglio sono:",
|
||||
"BestKeywords": "Le tue keyword che convertono meglio sono:",
|
||||
"BestReferrers": "I tuoi referenti che convertono meglio sono:",
|
||||
"CaseSensitive": "Corrispondenza maiuscole e minuscole",
|
||||
"CancelAndReturnToGoals": "Annulla e %1$storna all'elenco dei goal%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Località utente",
|
||||
"CategoryTextReferrers_Referrers": "Referenti",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Attributo utente",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Dispositivi",
|
||||
"CategoryTextGeneral_Visit": "impegno",
|
||||
"ClickOutlink": "Click su un Link a un sito esterno",
|
||||
"SendEvent": "Invia un evento",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Il valore medio ordini (Average Order Value, AOV) è il ricavo totale di tutti gli ordini Ecommerce diviso per il numero di ordini.",
|
||||
"ColumnAveragePriceDocumentation": "Il ricavo medio per questo %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Quantità media di questo %s venduta negli ordini Ecommerce.",
|
||||
"ColumnConversionRateDocumentation": "Percentuale di visite che hanno attivato l'obiettivo %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Il tasso di conversione %s è il numero di ordini in cui compare il prodotto, diviso per il numero di visite sulla pagina del prodotto.",
|
||||
"ColumnConversions": "Conversioni",
|
||||
"Conversion": "Conversione",
|
||||
"ColumnConversionsDocumentation": "Numero di conversioni per %s.",
|
||||
"ColumnOrdersDocumentation": "Numero complessivo di ordini Ecommerce che contenevano questo %s almeno una volta.",
|
||||
"ColumnPurchasedProductsDocumentation": "Il numero di prodotti acquistati è la somma delle quantità dei prodotti venduti in tutti gli ordini Ecommerce.",
|
||||
"ColumnQuantityDocumentation": "La quantità è il numero complessivo di prodotti venduti per ciascuna %s.",
|
||||
"ColumnRevenueDocumentation": "Incasso totale generato da %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Incasso totale generato da %s diviso per il numero di visite.",
|
||||
"ColumnVisits": "Numero totale delle visite, indipendentemente dal fatto se un obiettivo sia stato attivato o meno.",
|
||||
"ColumnVisitsProductDocumentation": "Numero di visite sulla pagina del Prodotto\/Categoria. Questo è anche utilizzato per elaborare la percentuale di conversioni %s. Questa metrica è nel report se è stato impostato nelle pagine Prodotto\/Categoria il view tracking Ecommerce.",
|
||||
"Contains": "contiene %s",
|
||||
"ConversionByTypeReportDocumentation": "Questo report fornisce informazioni dettagliate sull'andamento degli obiettivi (conversioni, tassi di conversione ed entrate per visita), per ciascuna delle categorie disponibili nel pannello di sinistra. %1$s Si prega di cliccare su una delle categorie per visualizzare il report. %2$s Per ulteriori informazioni, leggere la %3$sDocumentazione sul Tracking dei Goal%4$s",
|
||||
"ConversionRate": "%s rapporto di conversione",
|
||||
"Conversions": "%s conversioni",
|
||||
"ConversionsDescription": "conversioni",
|
||||
"ConversionsOverview": "Panoramica Conversioni",
|
||||
"ConversionsOverviewBy": "Panoramica conversioni per tipo di visita",
|
||||
"DaysToConv": "Giorni alla Conversione",
|
||||
"Details": "Dettagli Goal",
|
||||
"DefaultGoalConvertedOncePerVisit": "(default) Un Goal può essere convertito solo una volta per ogni visita",
|
||||
"DefaultRevenueLabel": "Ricavo predefinito obiettivo",
|
||||
"DefaultRevenueHelp": "Per esempio, un Form di Contatto inviato da un visitatore può valere mediamente $10. Matomo può aiutarti a capire quanto rendono i tuoi visitatori.",
|
||||
"DeleteGoalConfirm": "Sei sicuro di voler cancellare il Goal %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Vendite prodotti. Escluse tasse, spedizione e sconto",
|
||||
"Download": "Scarica un file",
|
||||
"Ecommerce": "Ecommerce",
|
||||
"EcommerceAndGoalsMenu": "Ecommerce & Goal",
|
||||
"EcommerceLog": "Ecommerce log",
|
||||
"EcommerceOrder": "Ordini Ecommerce",
|
||||
"EcommerceOverview": "Panoramica Ecommerce",
|
||||
"EcommerceReports": "Report Ecommerce",
|
||||
"ExceptionInvalidMatchingString": "Se scegli 'corrispondenza esatta', la stringa corrispondente deve essere un URL che inizia con %1$s. Ad esempio, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL sito esterno",
|
||||
"Filename": "nome file",
|
||||
"GoalConversion": "Conversione Goal",
|
||||
"GoalConversions": "Conversioni goal",
|
||||
"GoalConversionsBy": "%s Conversioni obiettivo per tipo di visita",
|
||||
"GoalIsTriggered": "L'obiettivo si attiva",
|
||||
"GoalIsTriggeredWhen": "L'obiettivo si attiva quando",
|
||||
"GoalName": "Nome Goal",
|
||||
"Goals": "Goals (Obiettivi)",
|
||||
"NGoals": "%s obiettivi",
|
||||
"NRevenue": "%s di ricavo",
|
||||
"NItems": "%s elementi",
|
||||
"ManageGoals": "Gestione Obiettivi (Goals)",
|
||||
"GoalsOverview": "Panoramica Goal",
|
||||
"GoalsOverviewDocumentation": "Questa è una panoramica delle vostre conversioni degli obiettivi. Inizialmente il grafico mostra la somma di tutte le conversioni. %sSotto il grafico è possibile vedere i reports di conversione per ciascuno dei tuoi obiettivi. Le sparklines possono essere ingrandite cliccandoci sopra.",
|
||||
"GoalX": "Goal %s",
|
||||
"HelpOneConversionPerVisit": "Se una pagina corrispondente a un Obiettivo è aggiornata o visualizzata più di una volta in una visita, l'Obiettivo verrà registrato solo la prima volta che la pagina è stata caricata durante questa visita.",
|
||||
"IsExactly": "è esattamente %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Impara di più sul %1$sTracciamento dei Goal in Matomo%2$s nella documentazione per l'utente.",
|
||||
"LeftInCart": "%s lasciato nel carrello",
|
||||
"Manually": "manualmente",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Il Goal si attiva manualmente usando l'API Javascript trackGoal()",
|
||||
"MatchesExpression": "soddisfa l'espressione %s",
|
||||
"NewGoalIntro": "Il tracciamento delle Conversioni Goal è uno dei modi più efficaci per misurare e migliorare i vostri obiettivi di business.",
|
||||
"NewVisitorsConversionRateIs": "Il rapporto di conversione dei nuovi visitatori è %s",
|
||||
"NoGoalsNeedAccess2": "Solo un utente con diritti di scrittura, un Amministratore o un Super User può gestire gli Obiettivi per un determinato sito web. Chiedi al tuo amministratore di Matomo di impostare un Obiettivo per il tuo sito web. <br>Il tracciamento dei Goal è un grande modo per capire e massimizzare le prestazioni del tuo sito!",
|
||||
"NoConversionsNoReportsMessage": "I report non vengono visualizzati perché non ci sono dati di conversione per il goal e il periodo selezionati.",
|
||||
"NeedAccess": "Solo un Amministratore o un utente con privilegi di Super User può gestire gli Obiettivi di un dato sito.",
|
||||
"Optional": "(opzionale)",
|
||||
"OverallConversionRate": "rapporto complessivo conversioni (visite con un obiettivo raggiunto)",
|
||||
"ColumnOverallRevenue": "Ricavo complessivo",
|
||||
"OverallRevenue": "ricavo complessivo",
|
||||
"PageTitle": "Titolo pagina",
|
||||
"Pattern": "Pattern",
|
||||
"PluginDescription": "Crea dei Goal e vedi i report dettagliati sulle tue conversioni dei goal: evoluzione nel tempo, guadagno per visita, conversioni per referrer, per keyword, e altro ancora.",
|
||||
"ProductCategory": "Categoria prodotto",
|
||||
"ProductName": "Nome prodotto",
|
||||
"ProductNames": "Nomi Prodotto",
|
||||
"ProductPrice": "Prezzo Prodotto",
|
||||
"ProductQuantity": "Quantità Prodotto",
|
||||
"Products": "Prodotti",
|
||||
"ProductSKU": "SKU prodotto",
|
||||
"ProductSKUs": "Codici Inventario Prodotto",
|
||||
"ReturningVisitorsConversionRateIs": "Il rapporto di conversione dei visitatori che tornano è %s",
|
||||
"SingleGoalOverviewDocumentation": "Questa è una panoramica delle conversioni per un unico obiettivo. %sLe sparklines sotto il grafico possono essere ingrandite cliccandoci sopra.",
|
||||
"ThereIsNoGoalToManage": "Non ci sono goal da gestire per il sito %s",
|
||||
"UpdateGoal": "Aggiorna un Goal",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Guarda e Modifica i Goal",
|
||||
"GoalsBy": "Goal per %s",
|
||||
"GoalsAdjective": "Goal %s",
|
||||
"VisitPageTitle": "Visita un determinato Titolo Pagina",
|
||||
"VisitsUntilConv": "Visite alla Conversione",
|
||||
"VisitUrl": "Visitano uno specifico URL (pagina o gruppo di pagine)",
|
||||
"WhenVisitors": "quando i visitatori",
|
||||
"WhereThe": "dove le",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "La pagina visitata deve contenere una chiamata al metodo JavaScript 'trackGoal' (%1$sleggi di più%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Puoi abilitare %1$s per questo sito nella pagina %2$s.",
|
||||
"UseEventValueAsRevenue": "Usa il valore evento (se esiste) come ricavo della conversione obiettivo.",
|
||||
"GoalRevenue": "Ricavi Obiettivo",
|
||||
"EventValueAsRevenueHelp": "Se l'evento di cui si sta eseguendo la corrispondenza ha dei ricavi, ed essi sono tracciati come valore dell'evento, è possibile abilitare questa opzione per registrare il valore dell'evento come ricavi della conversione dell'obiettivo. Se le entrate del tuo obiettivo non variano in base alla conversione, puoi ignorare questa opzione e impostare solo le entrate predefinite qui sopra.",
|
||||
"EventValueAsRevenueHelp2": "Nota: se sono definiti sia un guadagno obiettivo che un valore evento, verrà utilizzato il valore dell'evento. Se questa opzione è abilitata e nessun valore evento viene inviato in una richiesta, verranno utilizzate le entrate predefinite (se definite)."
|
||||
}
|
||||
}
|
119
msd2/tracking/piwik/plugins/Goals/lang/ja.json
Normal file
119
msd2/tracking/piwik/plugins/Goals/lang/ja.json
Normal file
@ -0,0 +1,119 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "放棄されたカート",
|
||||
"AddGoal": "目標を追加",
|
||||
"AddNewGoal": "新しい目標を追加",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s新しい目標の追加%2$sまたは%3$s既存の目標の編集%4$s",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "目標達成は、ビジットの度に複数回カウント",
|
||||
"AllowMultipleConversionsPerVisit": "ビジットごとに複数のコンバージョンを許可",
|
||||
"BestCountries": "ベストコンバージョンの国:",
|
||||
"BestKeywords": "トップコンバージョンのキーワード:",
|
||||
"BestReferrers": "ベストコンバージョンの参照元ウェブサイト",
|
||||
"CaseSensitive": "大文字小文字を区別する一致",
|
||||
"CancelAndReturnToGoals": "キャンセルして目標 %1$s のリスト %2$s に戻る",
|
||||
"CategoryTextGeneral_Visitors": "ユーザーの位置情報",
|
||||
"CategoryTextReferrers_Referrers": "リファラー",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "ユーザー属性",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "デバイス",
|
||||
"CategoryTextGeneral_Visit": "エンゲージメント",
|
||||
"ClickOutlink": "外部ウェブサイトへのリンクをクリック",
|
||||
"SendEvent": "イベントを送信",
|
||||
"ColumnAverageOrderRevenueDocumentation": "平均注文値(AOV)は、全てのeコマース注文の総収益を注文数で割ったものです。",
|
||||
"ColumnAveragePriceDocumentation": "この %s の平均収益。",
|
||||
"ColumnAverageQuantityDocumentation": "e コマース注文で販売されたこの %s の平均数量。",
|
||||
"ColumnConversionRateDocumentation": "目標 %s 達成の元となったビジットの割合です。",
|
||||
"ColumnConversionRateProductDocumentation": "%s のコンバージョン率はこの製品を含む注文数を製品ページの訪問数で割ったものです。",
|
||||
"ColumnConversions": "コンバージョン",
|
||||
"Conversion": "コンバージョン",
|
||||
"ColumnConversionsDocumentation": "%s に対するコンバージョン数",
|
||||
"ColumnOrdersDocumentation": "少なくとも一度はこの %s を含んでいる e コマースの注文の合計数。",
|
||||
"ColumnPurchasedProductsDocumentation": "購入した製品の数は、全てのeコマース受注で販売された製品数の合計です。",
|
||||
"ColumnQuantityDocumentation": "数量は、それぞれの %s に販売された製品の合計数です。",
|
||||
"ColumnRevenueDocumentation": "%s によって得られた総収益。",
|
||||
"ColumnRevenuePerVisitDocumentation": "総収益は、 %s をビジット数で割ったものです。",
|
||||
"ColumnVisits": "目標達成の元となったかどうかに関わらないビジットの総数",
|
||||
"ColumnVisitsProductDocumentation": "製品 \/ カテゴリーページビジット数。これは、%s のコンバージョン率を処理するためにも使われています。 e コマースビュートラッキングを、製品\/カテゴリーページに設定した場合に、このメトリックがリポートに表示されます。",
|
||||
"Contains": "%s を含む",
|
||||
"ConversionByTypeReportDocumentation": "このレポートでは、左側のパネルで使用可能なカテゴリごとの目標のパフォーマンス(コンバージョン、コンバージョン率、ビジットあたりの収益)に関する詳細な情報を提供します。 %1$s レポートを表示するには、カテゴリのいずれかをクリックしてください。%2$s 詳細については、%3$s piwik.org のトラッキングゴールのドキュメント %4$s を参照してください。",
|
||||
"ConversionRate": "%s コンバージョン率",
|
||||
"Conversions": "%s コンバージョン",
|
||||
"ConversionsDescription": "コンバージョン",
|
||||
"ConversionsOverview": "コンバージョンの概観",
|
||||
"ConversionsOverviewBy": "ビジットの種類によるコンバージョン概観",
|
||||
"DaysToConv": "日数別のコンバージョン",
|
||||
"Details": "目標の詳細",
|
||||
"DefaultGoalConvertedOncePerVisit": "( デフォルト ) 目標達成はビジット毎 1 回だけカウント",
|
||||
"DefaultRevenueLabel": "目標のデフォルト収益",
|
||||
"DefaultRevenueHelp": "例えば、ビジターによって送信されたコンタクトフォームが、平均して $10 の価値を持つかもしれません。 Matomo は、ビジターセグメントがどれくらいうまく実行しているかを理解するのを助けます。",
|
||||
"DeleteGoalConfirm": "本当に目標 %s を削除しますか?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "製品の売上。税、送料、割引を除く。",
|
||||
"Download": "ファイルのダウンロード",
|
||||
"Ecommerce": "e コマース",
|
||||
"EcommerceAndGoalsMenu": "e コマースとゴール (目標)",
|
||||
"EcommerceLog": "e コマースログ",
|
||||
"EcommerceOrder": "e コマース注文",
|
||||
"EcommerceOverview": "e コマース概観",
|
||||
"EcommerceReports": "e コマースリポート",
|
||||
"ExceptionInvalidMatchingString": "'完全に一致する' を選択した場合、一致文字列は %1$s で始まる URL である必要があります。 例えば、%2$s です。",
|
||||
"ExternalWebsiteUrl": "外部ウェブサイトの URL",
|
||||
"Filename": "ファイル名",
|
||||
"GoalConversion": "目標コンバージョン",
|
||||
"GoalConversions": "ゴール (目標)のコンバージョン",
|
||||
"GoalConversionsBy": "ビジットの種類による目標 %s コンバージョン",
|
||||
"GoalIsTriggered": "目標のトリガー",
|
||||
"GoalIsTriggeredWhen": "目標のトリガー",
|
||||
"GoalName": "目標名",
|
||||
"Goals": "目標",
|
||||
"NGoals": "%s 目標",
|
||||
"ManageGoals": "目標管理",
|
||||
"GoalsOverview": "目標の概観",
|
||||
"GoalsOverviewDocumentation": "これは目標のコンバージョンの概観です。最初に、グラフは、すべてのコンバージョンの合計を示しています。 %s グラフの下に、それぞれの目標についてのコンバージョンレポートを見ることができます。スパークラインは、クリックして拡大できます。",
|
||||
"GoalX": "目標 %s",
|
||||
"HelpOneConversionPerVisit": "もしこの目標にマッチしたページが更新されたり、1 回のビジットで 1 回以上見られたとしても、その最初の訪問時にのみ目標はトラックされます。",
|
||||
"IsExactly": "%s と完全に一致する",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Matomo の目標のトラッキングについての詳細は、%1$s ユーザーマニュアル %2$sを参照してください。",
|
||||
"LeftInCart": "カートに残された %s",
|
||||
"Manually": "手動",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "JavaScript API の trackGoal() を使用した手動トリガー",
|
||||
"MatchesExpression": "正規表現 %s に一致する",
|
||||
"NewGoalIntro": "目標コンバージョントラッキングは、あなたのビジネス目標の測定や改善のために、最も効率的な方法の一つです。",
|
||||
"NewVisitorsConversionRateIs": "新規ビジターのコンバージョン率は %s です",
|
||||
"NoGoalsNeedAccess2": "書き込みユーザー、管理者、またはスーパーユーザー権限を持つユーザーのみが、指定した Web サイトの目標を管理できます。 Matomo の管理者にウェブサイトの目標を設定するよう依頼してください。<br>トラッキング目標は、ウェブサイトの掲載結果を理解して最大限に活用するのに最適な方法です。",
|
||||
"NoConversionsNoReportsMessage": "選択した目標と期間のコンバージョンデータがないため、レポートは表示されません。",
|
||||
"NeedAccess": "管理者またはスーパー ユーザーのアクセス権を持つユーザーだけが、ウェブサイトの目標を管理できます。",
|
||||
"Optional": "(オプション)",
|
||||
"OverallConversionRate": "全体的なコンバージョン率 ( 目標達成後のビジット数 )",
|
||||
"ColumnOverallRevenue": "全体の収益",
|
||||
"OverallRevenue": "全体の収益",
|
||||
"PageTitle": "ページタイトル",
|
||||
"Pattern": "パターン",
|
||||
"PluginDescription": "目標を作成し、目標のコンバージョンに関する詳細なレポートを参照してください : 時間がたつにつれての推移、1 ビジットあたりの収入、1 キーワードあたり、リファラーあたりのコンバージョン、およびその他。",
|
||||
"ProductCategory": "製品カテゴリー",
|
||||
"ProductName": "製品名",
|
||||
"ProductNames": "製品名",
|
||||
"ProductPrice": "価格",
|
||||
"ProductQuantity": "数量",
|
||||
"Products": "製品",
|
||||
"ProductSKU": "製品番号",
|
||||
"ProductSKUs": "製品番号",
|
||||
"ReturningVisitorsConversionRateIs": "リピーターのコンバージョン率は %s です",
|
||||
"SingleGoalOverviewDocumentation": "これは単一の目標のコンバージョンの概観です。 %s グラフの下のスパークラインは、クリックして拡大できます。",
|
||||
"ThereIsNoGoalToManage": "Web サイト %s の管理目標はありません。",
|
||||
"UpdateGoal": "目標を更新",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "目標の表示と編集",
|
||||
"GoalsBy": "%s の目標",
|
||||
"GoalsAdjective": "目標 %s",
|
||||
"VisitPageTitle": "入力されたタイトルのページを訪問",
|
||||
"VisitsUntilConv": "ビジット数別のコンバージョン",
|
||||
"VisitUrl": "特定の URL を訪問(ページまたはページグループ)",
|
||||
"WhenVisitors": "ビジター",
|
||||
"WhereThe": "対象:",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "訪問したページに JavaScript の 'trackGoal' メソッドを呼び出す必要があります( %1$s詳細はこちら%2$s )",
|
||||
"YouCanEnableEcommerceReports": "%1$s ページでこのウェブサイトに%2$s を有効にできます。",
|
||||
"UseEventValueAsRevenue": "目標値(存在する場合)を目標コンバージョン収益として使用します。",
|
||||
"GoalRevenue": "目標収益",
|
||||
"EventValueAsRevenueHelp": "一致するイベントに収益があり、その収益がイベント値としてトラッキングされている場合は、このオプションを有効にすると、イベントの値を目標コンバージョンの収益として記録できます。 コンバージョンごとに目標収入が変化しない場合は、このオプションを無視して上のデフォルト収益額を設定することができます。",
|
||||
"EventValueAsRevenueHelp2": "注:デフォルトの目標収入とイベント値の両方が定義されている場合は、イベント値が使用されます。 このオプションを有効にして、要求でイベント値が送信されない場合は、デフォルト収益が使用されます(定義されている場合)。"
|
||||
}
|
||||
}
|
45
msd2/tracking/piwik/plugins/Goals/lang/ka.json
Normal file
45
msd2/tracking/piwik/plugins/Goals/lang/ka.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "მიზნის დამატება",
|
||||
"AddNewGoal": "დაამატეთ ახალი მიზანი",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sდაამატეთ ახალი მიზანი%2$s ან %3$sშეცვალეთ%4$s არსებული მიზნები",
|
||||
"BestCountries": "საუკეთესო კონვერციის ქვეყნებია:",
|
||||
"BestKeywords": "საუკეთესო კონვერციის საკვანძო სიტყვებია:",
|
||||
"BestReferrers": "საუკეთესო კინვერციის ვებ საიტების რეფერერებია:",
|
||||
"CaseSensitive": "რეგისტრზე დამოკიდებული შედარება",
|
||||
"CategoryTextReferrers_Referrers": "რეფერერები",
|
||||
"ClickOutlink": "დააწკაპუნებს გარე ვებ საიტის ბმულზე",
|
||||
"ColumnConversions": "კონვერსიები",
|
||||
"Contains": "შეიცავს %s",
|
||||
"ConversionRate": "%s კონვერსიის მაჩვენებელი",
|
||||
"Conversions": "%s კონვერსიები",
|
||||
"ConversionsOverview": "კონვერსიების მიმოხილვა",
|
||||
"DefaultRevenueHelp": "მაგალითად, კონტაქტების ფორმა, რომელსაც აგზავნის ვიზიტორი, შეიძლება ღირდეს საშუალოდ $10. Matomo დაგეხმარებათ გაიგოთ რამდენად კარგად არის წარმოდგენილნი თქვენი ვიზიტორების სეგმენტები.",
|
||||
"DeleteGoalConfirm": "დარწმუნებული ხართ, რომ გსურთ %s მიზნის წაშლა?",
|
||||
"Download": "ჩამოტვირთავს ფაილი",
|
||||
"ExceptionInvalidMatchingString": "თუ თქვენ აირჩევთ \"ზუსტი დამთხვევა\", შესადარებელი სტრიქონი უნდა იყოს URL დაწყებული %1$s. მაგალითად, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "გარე ვებ საიტის URL",
|
||||
"Filename": "filename",
|
||||
"GoalConversion": "მიზნის კონვერსია",
|
||||
"GoalIsTriggered": "მიზანი ჩართულია",
|
||||
"GoalIsTriggeredWhen": "მიზანი ჩართულია როდესაც",
|
||||
"GoalName": "მიზნის სახელი",
|
||||
"Goals": "მიზნები",
|
||||
"GoalsOverview": "მიზნების მიმოხილვა",
|
||||
"GoalX": "მიზანი %s",
|
||||
"IsExactly": "არის ზუსტად %s",
|
||||
"Manually": "შეირჩეს მექანიკურად",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "მიზანი მექანიკურად ჩართულია JavaScript API trackGoal() გამოყენებით",
|
||||
"MatchesExpression": "ემთხვევა გამონათქვამს %s",
|
||||
"NewVisitorsConversionRateIs": "ახალი ვიზიტორების კინვერციის მაჩვენებელი არის %s",
|
||||
"Optional": "(ოფციონალური)",
|
||||
"Pattern": "ნიმუში",
|
||||
"ReturningVisitorsConversionRateIs": "დაბრუნებული ვიზიტორების კონვერსიის მაჩვენებელი არის %s",
|
||||
"UpdateGoal": "მიზნის რედაქტირება",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "მიზნების დათვალიერება და რედაქტირება",
|
||||
"VisitUrl": "ეწვევა მოცემულ URL–ს (გვერდი ან გვერდების ჯგუფი)",
|
||||
"WhenVisitors": "როდესაც ვიზიტორი",
|
||||
"WhereThe": "სადაც"
|
||||
}
|
||||
}
|
100
msd2/tracking/piwik/plugins/Goals/lang/ko.json
Normal file
100
msd2/tracking/piwik/plugins/Goals/lang/ko.json
Normal file
@ -0,0 +1,100 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "버려진 장바구니",
|
||||
"AddGoal": "목표 추가",
|
||||
"AddNewGoal": "새로운 목표 추가",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s새로운 목표 추가%2$s 또는 %3$s기존 목표 편집%4$s",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "목표 달성은 방문 때마다 여러번 계산",
|
||||
"AllowMultipleConversionsPerVisit": "방문마다 여러 전환 허용",
|
||||
"BestCountries": "최고 전환 국가:",
|
||||
"BestKeywords": "상위 전환 검색어:",
|
||||
"BestReferrers": "최고 전환 참조 웹사이트:",
|
||||
"CaseSensitive": "대소문자 구분함",
|
||||
"CancelAndReturnToGoals": "취소하고 %1$s목표 리스트로 돌아가기%2$s",
|
||||
"CategoryTextGeneral_Visitors": "사용자 위치",
|
||||
"CategoryTextReferrers_Referrers": "리퍼러",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "사용자 속성",
|
||||
"CategoryTextGeneral_Visit": "약속",
|
||||
"ClickOutlink": "외부 웹사이트에 대한 링크 클릭",
|
||||
"SendEvent": "이벤트 보내기",
|
||||
"ColumnAverageOrderRevenueDocumentation": "평균 주문액 (AOV)은 모든 전자상 거래 주문의 총수익을 주문수로 나눈 것입니다.",
|
||||
"ColumnAveragePriceDocumentation": "이 %s의 평균 수익.",
|
||||
"ColumnAverageQuantityDocumentation": "전자상거래 주문에서 판매된 %s의 평균 수량입니다.",
|
||||
"ColumnConversionRateDocumentation": "목표 %s 달성시킨 방문의 비율입니다.",
|
||||
"ColumnConversionRateProductDocumentation": "%s의 전환율이 제품을 포함하여 주문수를 제품 페이지의 방문수로 나눈 것입니다.",
|
||||
"ColumnConversions": "전환수",
|
||||
"ColumnConversionsDocumentation": "%s에 대한 전환 수.",
|
||||
"ColumnOrdersDocumentation": "적어도 한번 %s를 포함하는 전자상거래 주문의 합계 수.",
|
||||
"ColumnPurchasedProductsDocumentation": "구입한 제품의 수는 모든 거래 수주에서 판매된 제품 수의 합계입니다.",
|
||||
"ColumnQuantityDocumentation": "수량은 각각의 %s에 판매된 제품의 총계입니다.",
|
||||
"ColumnRevenueDocumentation": "%s에 의해 얻은 총 수익.",
|
||||
"ColumnRevenuePerVisitDocumentation": "총 수익은 %s을 방문수로 나눈 것입니다.",
|
||||
"ColumnVisits": "목표 달성 여부에 관계없는 방문자의 총계.",
|
||||
"ColumnVisitsProductDocumentation": "제품\/카테고리 페이지 방문수입니다. 이것은 %s의 전환율을 처리하는 데에도 사용됩니다. 전자상거래 추적, 제품\/카테고리 페이지로 설정한 경우,이 통계가 보고서에 표시됩니다.",
|
||||
"Contains": "%s를 포함",
|
||||
"ConversionByTypeReportDocumentation": "이 보고서는 왼쪽 패널에서 사용 가능한 카테고리별 목표 성능 (전환, 전환율, 비지트 당 수익)에 대한 자세한 정보를 제공합니다. %1$s 보고서를 표시하려면 카테고리 중 하나를 클릭하세요. %2$s 자세한 내용은 %3$s piwik.org 목표 추적 문서 %4$s를 참조하세요.",
|
||||
"ConversionRate": "%s 전환율",
|
||||
"Conversions": "%s 전환",
|
||||
"ConversionsOverview": "전환 개요",
|
||||
"ConversionsOverviewBy": "방문 유형별 전환 개요",
|
||||
"DaysToConv": "일별 전환",
|
||||
"Details": "목표 상세",
|
||||
"DefaultGoalConvertedOncePerVisit": "(기본) 목표 달성은 방문할 때 마다 한번만 계산",
|
||||
"DefaultRevenueHelp": "예를 들어 방문자가 전송된 연락처 양식이 평균적으로 10원의 가치가 있을지도 모릅니다. Matomo은 방문자 세그먼트가 얼마나 잘 수행하고 있는지를 이해하는 것을 돕고 있습니다.",
|
||||
"DeleteGoalConfirm": "%s 목표를 정말로 삭제 하시겠습니까?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "제품 판매. 세금, 배송비, 할인 제외.",
|
||||
"Download": "파일 다운로드",
|
||||
"Ecommerce": "전자상거래",
|
||||
"EcommerceAndGoalsMenu": "전자상거래와 목표",
|
||||
"EcommerceLog": "전자상거래 기록",
|
||||
"EcommerceOrder": "전자상거래 주문",
|
||||
"EcommerceOverview": "전자상거래 개요",
|
||||
"EcommerceReports": "전자상거래 보고서",
|
||||
"ExceptionInvalidMatchingString": "'완전 일치'를 선택하면 일치 문자열은 %1$s로 시작하는 URL이어야합니다. 예를 들면, %2$s입니다.",
|
||||
"ExternalWebsiteUrl": "외부 웹사이트의 URL",
|
||||
"Filename": "파일 이름",
|
||||
"GoalConversion": "목표 전환",
|
||||
"GoalConversions": "목표 전환",
|
||||
"GoalConversionsBy": "방문 종류에 따른 목표 %s 전환",
|
||||
"GoalIsTriggered": "목표 트리거",
|
||||
"GoalIsTriggeredWhen": "목표 트리거 시점",
|
||||
"GoalName": "목표 이름",
|
||||
"Goals": "목표",
|
||||
"ManageGoals": "목표 관리",
|
||||
"GoalsOverview": "목표 개요",
|
||||
"GoalsOverviewDocumentation": "이것은 목표 전환 개요입니다. 먼저 그래프는 모든 총 전환을 보여줍니다. %s 그래프 아래에 각각의 목표에 대한 전환 보고서를 볼 수 있습니다. 스파크 라인은 클릭하여 확대 할 수 있습니다.",
|
||||
"GoalX": "목표 %s",
|
||||
"HelpOneConversionPerVisit": "만약 목표에 일치하는 페이지가 업데이트되거나 한번 이상 방문해도, 첫 번째 방문시에만 목표가 달성됩니다.",
|
||||
"IsExactly": "%s와 일치",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "사용자 문서 내 %1$sMatomo 목표 추적%2$s 문서를 통해서 좀 더 알 수 있습니다.",
|
||||
"LeftInCart": "카트에 남겨진 %s",
|
||||
"Manually": "수동으로",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "JavaScript API의 trackGoal()을 사용하여 수동 트리거",
|
||||
"MatchesExpression": "정규식 %s에 일치",
|
||||
"NewGoalIntro": "목표 전환 추적은 당신의 비지니스 목적을 측정하고 향상시키는 매우 효과적인 방법입니다.",
|
||||
"NewVisitorsConversionRateIs": "신규 방문자의 전환율은 %s",
|
||||
"NeedAccess": "주어진 웹사이트는 오직 관리자나 슈퍼 유저 권한을 가진 사용자만이 목표를 관리할 수 있습니다.",
|
||||
"Optional": "(선택항목)",
|
||||
"PageTitle": "페이지 제목",
|
||||
"Pattern": "패턴",
|
||||
"PluginDescription": "목표를 만들고 목표 전환들 - 시간에 따른 변화, 방문 당 수익, 리퍼러와 키워드 당 전환들 - 에 대한 상세 보고서 보기",
|
||||
"ProductCategory": "제품 카테고리",
|
||||
"ProductName": "제품 이름",
|
||||
"Products": "제품",
|
||||
"ProductSKU": "제품 번호",
|
||||
"ReturningVisitorsConversionRateIs": "재방분 전환율은 %s",
|
||||
"SingleGoalOverviewDocumentation": "이것은 하나의 목표 전환 개요입니다. %s 그래프 아래의 스파크라인은 클릭하여 확대할 수 있습니다.",
|
||||
"ThereIsNoGoalToManage": "웹사이트 %s에는 관리할 목표가 없습니다.",
|
||||
"UpdateGoal": "목표 갱신",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "목표 보기 및 편집",
|
||||
"GoalsBy": "%s가 만든 목표",
|
||||
"GoalsAdjective": "%s 목표들",
|
||||
"VisitPageTitle": "입력된 제목의 페이지 방문",
|
||||
"VisitsUntilConv": "방문수별 전환",
|
||||
"VisitUrl": "특정 URL 방문 (페이지 또는 페이지 그룹)",
|
||||
"WhenVisitors": "방문 시기",
|
||||
"WhereThe": "방문 대상",
|
||||
"YouCanEnableEcommerceReports": "%1$s 페이지에서 이 웹사이트에 %2$s를 사용할 수 있습니다."
|
||||
}
|
||||
}
|
43
msd2/tracking/piwik/plugins/Goals/lang/lt.json
Normal file
43
msd2/tracking/piwik/plugins/Goals/lang/lt.json
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "Pridėti uždavinį",
|
||||
"AddNewGoal": "Pridėti naują uždavinį",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sPridėti naują uždavinį%2$s arba %3$sRedaguoti%4$s jau egzistuojantį",
|
||||
"BestCountries": "Jūsų geriausios konversijos šalys:",
|
||||
"BestKeywords": "Jū9sų geriausi konversijos raktažodžiai:",
|
||||
"BestReferrers": "Jūsų geriausios konversijos svetainės:",
|
||||
"CaseSensitive": "Raidžių dydžio sutapimas",
|
||||
"ClickOutlink": "Paspauskite ant nuorodos į išorinį puslapį",
|
||||
"ColumnConversions": "Konversijos",
|
||||
"Contains": "turi %s",
|
||||
"ConversionRate": "%s konversijos koeficientas",
|
||||
"Conversions": "%s konversijos",
|
||||
"ConversionsOverview": "Konversijų apžvalga",
|
||||
"DefaultRevenueHelp": "Pavyzdžiui, lankytojo užpildyta ir išsiųsta kontaktinė forma gali būti verta vidutiniškai 10 Lt. Matomo padės Jums suprasti Jūsų lankytojų segmentų efektyvumą.",
|
||||
"DeleteGoalConfirm": "Ar tikrai norite ištrinti uždavinį %s?",
|
||||
"Download": "Atsisiųsti failą",
|
||||
"ExceptionInvalidMatchingString": "Jei pasirinksite \"tikslų atitikimą\", tinkanti reikšmė turi būti URL prasidedanti %1$s. Pavyzdžiui, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "išorinės svetainės URL",
|
||||
"Filename": "failo pavadinimas",
|
||||
"GoalIsTriggered": "Uždavinys paleistas",
|
||||
"GoalIsTriggeredWhen": "Uždavinys paleistas kai",
|
||||
"GoalName": "Uždavinio pavadinimas",
|
||||
"Goals": "Uždaviniai",
|
||||
"GoalsOverview": "Uždavinių apžvalga",
|
||||
"GoalX": "Uždavinys %s",
|
||||
"IsExactly": "yra tiksliai %s",
|
||||
"Manually": "rankiniu būdu",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Uždavinys paleistas rankiniu būdu naudojantis JavaScript API trackGoal()",
|
||||
"MatchesExpression": "atitinka išraišką %s",
|
||||
"NewVisitorsConversionRateIs": "Naujų lankytojų konversijos koeficientas yra %s",
|
||||
"Optional": "(papildoma)",
|
||||
"Pattern": "Derinys",
|
||||
"ReturningVisitorsConversionRateIs": "Sugrįžtančių lankytojų konversijos koeficientas yra %s",
|
||||
"UpdateGoal": "Atnaujinti uždavinį",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Peržiūrėti ir redaguoti uždavinius",
|
||||
"VisitUrl": "Aplankyti pateiktą URL (puslapį ar puslapių grupę)",
|
||||
"WhenVisitors": "kai lankytojai",
|
||||
"WhereThe": "kur"
|
||||
}
|
||||
}
|
48
msd2/tracking/piwik/plugins/Goals/lang/lv.json
Normal file
48
msd2/tracking/piwik/plugins/Goals/lang/lv.json
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Pamestie iepirkumu grozi",
|
||||
"AddGoal": "Pievienot mērķi",
|
||||
"AddNewGoal": "Pievienot jaunu mērķi",
|
||||
"CaseSensitive": "Reģistrjūtīga saderība",
|
||||
"ClickOutlink": "Klikšķis uz ārējas vietnes saites",
|
||||
"ColumnAveragePriceDocumentation": "Vidējie ienākumi %s.",
|
||||
"ColumnAverageQuantityDocumentation": "%s vidējais pārdotais skaits e-komercijas pasūtījumos.",
|
||||
"ColumnRevenueDocumentation": "Kopējie ienākumi, kurus veido %s.",
|
||||
"Contains": "satur %s",
|
||||
"DeleteGoalConfirm": "Vai tiešām vēlaties dzēst mērķi %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Pārdotie produkti. Neskaitot nodokļus, piegādi un atlaidi.",
|
||||
"Download": "Lejupielādēt datni",
|
||||
"Ecommerce": "E-komercija",
|
||||
"EcommerceAndGoalsMenu": "E-komercija un mērķi",
|
||||
"EcommerceLog": "E-komercijas žurnāls",
|
||||
"EcommerceOrder": "E-komercijas pasūtījums",
|
||||
"EcommerceOverview": "E-komercijas pārskats",
|
||||
"EcommerceReports": "E-komercijas atskaites",
|
||||
"ExternalWebsiteUrl": "ārējās vietnes URL",
|
||||
"Filename": "datnes nosaukums",
|
||||
"GoalIsTriggered": "Mērķis tiek sasniegts",
|
||||
"GoalIsTriggeredWhen": "Mērķis tiek sasniegts, kad",
|
||||
"GoalName": "Mērķa nosaukums",
|
||||
"Goals": "Mērķi",
|
||||
"GoalsOverview": "Mērķu pārskats",
|
||||
"GoalX": "Mērķis %s",
|
||||
"IsExactly": "ir precīzi %s",
|
||||
"LeftInCart": "%s atstāti grozā",
|
||||
"Manually": "manuāli",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Mērķis tiem manuāli sasniegts izmantojot JavaScript API trackGoal() metodi",
|
||||
"MatchesExpression": "sakrīt ar %s",
|
||||
"Optional": "(izvēles)",
|
||||
"PageTitle": "Lapas virsraksts",
|
||||
"Pattern": "Modelis",
|
||||
"ProductCategory": "Produkta kategorija",
|
||||
"ProductName": "Produkta nosaukums",
|
||||
"Products": "Produkti",
|
||||
"ProductSKU": "Produkta kods",
|
||||
"UpdateGoal": "Atjaunināt mērķi",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Skatīt un labot mērķus",
|
||||
"VisitPageTitle": "Apmeklēt doto lapas virsrakstu",
|
||||
"WhenVisitors": "kad apmeklētāji",
|
||||
"WhereThe": ", kur"
|
||||
}
|
||||
}
|
79
msd2/tracking/piwik/plugins/Goals/lang/nb.json
Normal file
79
msd2/tracking/piwik/plugins/Goals/lang/nb.json
Normal file
@ -0,0 +1,79 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Forlatt handlevogn",
|
||||
"AddGoal": "Legg til mål",
|
||||
"AddNewGoal": "Legg til et nytt mål",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sLegg til nytt mål%2$s eller %3$sRediger%4$s eksisterende mål",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Tillat mål å bli konvertert mer enn én gang per besøk",
|
||||
"AllowMultipleConversionsPerVisit": "Tillat flere konverteringer per besøk",
|
||||
"BestCountries": "Dine best konverterende land er:",
|
||||
"BestKeywords": "Dine best konverterende nøkkelord er:",
|
||||
"BestReferrers": "Dine best konverterende nettstedshenvisere er:",
|
||||
"CaseSensitive": "Skiller mellom store og små bokstaver",
|
||||
"CancelAndReturnToGoals": "Avbryt og %1$sreturner til listen over mål%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Besøkers lokasjon",
|
||||
"CategoryTextReferrers_Referrers": "Henvisere",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Brukerattributt",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Enheter",
|
||||
"CategoryTextGeneral_Visit": "engasjement",
|
||||
"ClickOutlink": "Klikk på en lenke til et eksternt nettsted",
|
||||
"SendEvent": "Send en hendelse",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Gjennomsnittlig bestillingsverdi (AOV) er den totale omsetningen fra alle Ecommerce-bestillinger delt på antallet bestillinger.",
|
||||
"ColumnAveragePriceDocumentation": "Gjennomsnittlig omsetning for denne %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Gjennomsnittlig volum for denne %s solgt i Ecommerce-bestillinger.",
|
||||
"ColumnConversionRateDocumentation": "Andelen besøk som utløste målet %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Konverteringsraten for %s er antallet bestillinger som inneholder dette produktet delt på antallet besøk på produktsiden.",
|
||||
"ColumnConversions": "Konvertering",
|
||||
"ColumnConversionsDocumentation": "Antall konverteringer for %s.",
|
||||
"ColumnOrdersDocumentation": "Antallet Ecommerce-bestillinger som inneholder denne %s minst én gang.",
|
||||
"ColumnPurchasedProductsDocumentation": "Antallet kjøpte produkter er summen av produktvolumene som er solgt alle Ecommerce-bestillinger.",
|
||||
"ColumnQuantityDocumentation": "Mengden er det totale antallet produkter som er solgt for hver %s.",
|
||||
"ColumnRevenueDocumentation": "De totale inntektene som er generert av %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Total inntjening generert av %s delt på antall besøk.",
|
||||
"ColumnVisits": "Totalt antall besøk, uavhengig av om mål ble utløst eller ikke.",
|
||||
"ColumnVisitsProductDocumentation": "Antallet besøk på produkt-\/kategori-siden. Dette brukes også for å beregne konverteringsraten for %s. Dette måltallet er i rapporten hvis sporing av e-handel ble satt opp på produkt-\/kategori-sider.",
|
||||
"Contains": "inneholder %s",
|
||||
"ConversionRate": "%s konverteringsrate",
|
||||
"Conversions": "%s konverteringer",
|
||||
"ConversionsDescription": "konverteringer",
|
||||
"ConversionsOverview": "Oversikt over konverteringer",
|
||||
"ConversionsOverviewBy": "Konverteringsoversikt etter besøkstype",
|
||||
"DaysToConv": "Dager til konvertering",
|
||||
"Details": "Måldetaljer",
|
||||
"DefaultGoalConvertedOncePerVisit": "(standard) Mål kan kun konverteres én gang per besøk",
|
||||
"DeleteGoalConfirm": "Er du sikker på at du vil slette målet %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Produktsalg. Ekskluderer skatt, frakt og rabatt",
|
||||
"Download": "Last ned en fil",
|
||||
"Ecommerce": "E-handel",
|
||||
"EcommerceAndGoalsMenu": "E-handel og mål",
|
||||
"EcommerceLog": "E-handelslogg",
|
||||
"EcommerceOverview": "E-handeloversikt",
|
||||
"Filename": "filnavn",
|
||||
"GoalConversion": "Målkonvertering",
|
||||
"GoalConversions": "Målkonverteringer",
|
||||
"GoalIsTriggered": "Målet blir utløst",
|
||||
"GoalIsTriggeredWhen": "Målet blir utløst når",
|
||||
"GoalName": "Målnavn",
|
||||
"Goals": "Mål",
|
||||
"ManageGoals": "Behandle mål",
|
||||
"GoalsOverview": "Måloversikt",
|
||||
"GoalX": "Mål %s",
|
||||
"IsExactly": "er akuratt %s",
|
||||
"Manually": "manuelt",
|
||||
"NewGoalIntro": "Sporing av målkonvertering er en av de mest effektive måtene å måle og forbedre dine forretningsmål.",
|
||||
"Optional": "(valgfritt)",
|
||||
"PageTitle": "Sidetittel",
|
||||
"Pattern": "Mønster",
|
||||
"ProductCategory": "Produktkategori",
|
||||
"ProductName": "Produktnavn",
|
||||
"Products": "Produkter",
|
||||
"ProductSKU": "Produkt-SKU",
|
||||
"UpdateGoal": "Oppdater mål",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Vis og rediger mål",
|
||||
"GoalsBy": "Mål etter %s",
|
||||
"GoalsAdjective": "Mål %s",
|
||||
"WhenVisitors": "når besøkende",
|
||||
"WhereThe": "hvor"
|
||||
}
|
||||
}
|
117
msd2/tracking/piwik/plugins/Goals/lang/nl.json
Normal file
117
msd2/tracking/piwik/plugins/Goals/lang/nl.json
Normal file
@ -0,0 +1,117 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Verlaat winkelwagen",
|
||||
"AddGoal": "Doelstelling toevoegen",
|
||||
"AddNewGoal": "Nieuwe doelstelling toevoegen",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sNieuwe doelstelling toevoegen%2$s of bestaande doelstellingen %3$sbewerken%4$s",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Sta pér bezoek meerdere conversie van dit doel toe",
|
||||
"AllowMultipleConversionsPerVisit": "Sta meerdere conversies per bezoek toe",
|
||||
"BestCountries": "Uw beste presterende landen zijn:",
|
||||
"BestKeywords": "Uw beste presterende sleutelwoorden zijn:",
|
||||
"BestReferrers": "Uw beste presterende referrers zijn:",
|
||||
"CaseSensitive": "Hoofdletter gevoelig",
|
||||
"CancelAndReturnToGoals": "Annuleren en %1$snaar de lijst van doelstellingen teruggaan%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Gebruikers locatie",
|
||||
"CategoryTextReferrers_Referrers": "Referrers",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Gebruikers eigenschap",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Apparaten",
|
||||
"CategoryTextGeneral_Visit": "engagement",
|
||||
"ClickOutlink": "Klik op een link naar een externe website",
|
||||
"SendEvent": "Stuur een gebeurtenis",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Gemiddelde orderwaarde (AOV) zijnde de totale inkomsten van alle Ecommerce orders, gedeeld door het aantal orders.",
|
||||
"ColumnAveragePriceDocumentation": "De gemiddelde inkomsten voor deze %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Het gemiddeld aantal %s dat verkocht is in Ecommerce orders.",
|
||||
"ColumnConversionRateDocumentation": "Het percentage bezoeken dat het doel %s geactiveerd.",
|
||||
"ColumnConversionRateProductDocumentation": "Het %s conversiepercentage is het aantal orders dat dit produkt bevat, gedeeld door het aantal bezoeken aan deze pagina.",
|
||||
"ColumnConversions": "Conversies",
|
||||
"Conversion": "Conversie",
|
||||
"ColumnConversionsDocumentation": "Het aantal conversies voor %s.",
|
||||
"ColumnOrdersDocumentation": "Het totaal aantal Ecommerce orders dat tenminste één keer het dit %s bevat.",
|
||||
"ColumnPurchasedProductsDocumentation": "Het aantal verkochte produkten is de som van alle produkten die in Ecommerce orders zijn verkocht.",
|
||||
"ColumnQuantityDocumentation": "Hoeveelheid is het totaal aantal produkten dat verkocht is voor iedere %s.",
|
||||
"ColumnRevenueDocumentation": "De totale inkomsten gegenereerd door %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "De totale inkomsten gegenereerd door %s, gedeeld door het aantal bezoeken.",
|
||||
"ColumnVisits": "Het totaal aantal bezoeken, ongeacht of er een conversiedoel werd bereikt of niet.",
|
||||
"ColumnVisitsProductDocumentation": "Het aantal bezoeken aan de produkt\/catageorie pagina. Dit wordt ook gebruikt om het conversie percentage te berekenen. Deze gegevens zijn onderdeel van het rapport als Ecommerce-tracking is ingesteld op de produkt\/categorie paginas.The number of visits on the Product\/Category page. This is also used to process the %s conversion rate. This metric is in the report if Ecommerce view tracking was setup on Product\/Category pages.",
|
||||
"Contains": "bevat %s",
|
||||
"ConversionByTypeReportDocumentation": "Dit rapport bevat gedetailleerde informatie over het doel prestaties (conversies, de wisselkoersen en de inkomsten per bezoek) voor elk van de categorieën in het linkervenster. %1$s Klik op een van de categorieën om het rapport te bekijken. %2$s voor meer informatie, lees de %3$sTracking Doelen documentatie over piwik.org%4$s",
|
||||
"ConversionRate": "%s conversie rate",
|
||||
"Conversions": "%s conversies",
|
||||
"ConversionsDescription": "conversies",
|
||||
"ConversionsOverview": "Overzicht conversies",
|
||||
"ConversionsOverviewBy": "Conversies overzicht per type bezoek",
|
||||
"DaysToConv": "Dagen tot conversie",
|
||||
"Details": "Details doelstelling",
|
||||
"DefaultGoalConvertedOncePerVisit": "(standaard) De conversie van een doel is slechts éénmaal per bezoek mogelijk",
|
||||
"DefaultRevenueLabel": "Standaard inkomsten voor doelen",
|
||||
"DefaultRevenueHelp": "Bijvoorbeeld, een contactformulier dat is verzonden door een bezoeker kan gemiddeld €10,- waard zijn. Met de doelconversies zal Matomo u helpen begrijpen hoe goed de onderdelen van uw website presteren.",
|
||||
"DeleteGoalConfirm": "Weet u zeker dat u de doelstelling %s wilt verwijderen?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Verkoop van producten. Exclusief belasting, verzendkosten en korting",
|
||||
"Download": "Download een bestand",
|
||||
"Ecommerce": "E-commerce",
|
||||
"EcommerceAndGoalsMenu": "E-commerce & doelstellingen",
|
||||
"EcommerceLog": "E-commerce Log",
|
||||
"EcommerceOrder": "E-commerce order",
|
||||
"EcommerceOverview": "E-commerce Overzicht",
|
||||
"EcommerceReports": "E-commerce Rapporten",
|
||||
"ExceptionInvalidMatchingString": "Als u voor 'exacte overeenkomst' kiest, moet de overeenkomende string een URL zijn en starten met %1$s. Bijvoorbeeld, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL externe website",
|
||||
"Filename": "bestandsnaam",
|
||||
"GoalConversion": "Doel conversie",
|
||||
"GoalConversions": "Doel conversies",
|
||||
"GoalConversionsBy": "Doel %s conversies per type bezoek",
|
||||
"GoalIsTriggered": "Doelstelling wordt geactiveerd",
|
||||
"GoalIsTriggeredWhen": "Doelstelling wordt geactiveerd wanneer",
|
||||
"GoalName": "Naam doelstelling",
|
||||
"Goals": "Doelstellingen",
|
||||
"NGoals": "%s doelen",
|
||||
"NRevenue": "%s inkomsten",
|
||||
"NItems": "%s items",
|
||||
"ManageGoals": "Doelstellingen beheren",
|
||||
"GoalsOverview": "Overzicht doelstellingen",
|
||||
"GoalsOverviewDocumentation": "Dit is een overzicht van uw doelconversies. Het eerste deel van het overzicht toont de som van alle conversies. %s Onder de grafiek ziet u de conversierapporten voor elk van uw doelen. De sparklines kunnen vergroot worden door erop te klikken.",
|
||||
"GoalX": "Doelstelling %s",
|
||||
"HelpOneConversionPerVisit": "Als een pagina - die dit doel bevat - wordt ververst of meerdere keren wordt opgevraagd in één bezoek, dan wordt de doelconversie geregistreerd tijdens de éérste keer dat de pagina werd opgevraagd.",
|
||||
"IsExactly": "is exact %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Leer meer over het %1$s bijhouden van Doelen in Matomo%2$s in de gebruikers documentatie.",
|
||||
"LeftInCart": "%s achtergelaten in winkelwagen",
|
||||
"Manually": "handmatig",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Doelstelling is handmatig geactiveerd door de Javascript API trackGoal()",
|
||||
"MatchesExpression": "voldoet aan de expressie %s",
|
||||
"NewGoalIntro": "Doel Conversie tracking is één van de meest efficiënte manieren om je zaken doelen te meten en te verbeteren.",
|
||||
"NewVisitorsConversionRateIs": "Conversiepercentage nieuwe bezoekers is %s",
|
||||
"NoConversionsNoReportsMessage": "Rapporten worden niet getoond omdat er geen conversie gegevens zijn voor het geselecteerde doel en periode.",
|
||||
"NeedAccess": "Alleen een Beheerder of een gebruiker met Super User rechten kan Doelen beheren voor een bepaalde website.",
|
||||
"Optional": "(optioneel)",
|
||||
"OverallConversionRate": "totale conversie ratio (bezoeken met een afgerond doel)",
|
||||
"ColumnOverallRevenue": "Globale inkomsten",
|
||||
"OverallRevenue": "globale inkomsten",
|
||||
"PageTitle": "Paginatitel",
|
||||
"Pattern": "Patroon",
|
||||
"PluginDescription": "Maak Doelen aan en zie gedetaileerde rapporten over behaalde doelen: evoluties over tijd, inkomsten per bezoek, omzet per referrer, per sleutelwoord, en meer.",
|
||||
"ProductCategory": "Categorie product",
|
||||
"ProductName": "Naam product",
|
||||
"ProductNames": "Namen producten",
|
||||
"ProductPrice": "Prijs product",
|
||||
"ProductQuantity": "Hoeveelheid product",
|
||||
"Products": "Producten",
|
||||
"ProductSKU": "SKU product",
|
||||
"ProductSKUs": "SKU's producten",
|
||||
"ReturningVisitorsConversionRateIs": "Conversiepercentage terugkerende bezoekers is %s",
|
||||
"SingleGoalOverviewDocumentation": "Dit is een overzicht van de conversies voor een enkel doel. %s De sparklines onder de grafiek kunnen worden vergroot door erop te klikken.",
|
||||
"ThereIsNoGoalToManage": "Er is geen doelstelling om te beheren voor website %s",
|
||||
"UpdateGoal": "Doelstelling bijwerken",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Doelen bekijken en bewerken",
|
||||
"GoalsBy": "Doelstellingen van %s",
|
||||
"GoalsAdjective": "Doelstellingen %s",
|
||||
"VisitPageTitle": "Bezoek van een bepaalde paginatitel",
|
||||
"VisitsUntilConv": "Bezoeken voor de conversie",
|
||||
"VisitUrl": "Bezoek een gegeven url (pagina of groep pagina's)",
|
||||
"WhenVisitors": "als bezoekers",
|
||||
"WhereThe": "waar de",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "De bezochte pagina dient een aanroep naar de Javascript 'trackgoal' methode te bevatten (%1$sLees meer%2$s",
|
||||
"YouCanEnableEcommerceReports": "U kunt de functie %1$s inschakelen voor deze website in de pagina %2$s.",
|
||||
"GoalRevenue": "Doel Opbrengst"
|
||||
}
|
||||
}
|
44
msd2/tracking/piwik/plugins/Goals/lang/nn.json
Normal file
44
msd2/tracking/piwik/plugins/Goals/lang/nn.json
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddNewGoal": "Legg til eit nytt mål",
|
||||
"ClickOutlink": "Klikk på ein lenke til ein ekstern nettstad",
|
||||
"ColumnConversionRateDocumentation": "Prosentar av vitjingar som nådde målet %s.",
|
||||
"ColumnRevenueDocumentation": "Totale inntekter generert av %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Totale inntekter generert av %s delt på talet av vitjingar.",
|
||||
"Contains": "inneheld %s",
|
||||
"DeleteGoalConfirm": "Er du sikker på at du vil sletta målet %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Produktsal. Ekskluderer mva, frakt og rabattar",
|
||||
"Download": "Last ned ein fil",
|
||||
"Ecommerce": "Netthandel",
|
||||
"EcommerceAndGoalsMenu": "Netthandel og Mål",
|
||||
"EcommerceLog": "Netthandellogg",
|
||||
"EcommerceOrder": "Netthandelordre",
|
||||
"EcommerceOverview": "Netthandeloversyn",
|
||||
"EcommerceReports": "Netthandelrapportar",
|
||||
"ExternalWebsiteUrl": "URLen til den eksterne nettstaden",
|
||||
"Filename": "filnamn",
|
||||
"GoalIsTriggered": "Mål er nådd",
|
||||
"GoalIsTriggeredWhen": "Målet er nådd når",
|
||||
"GoalName": "Målnamn",
|
||||
"Goals": "Mål",
|
||||
"GoalsOverview": "Måloversyn",
|
||||
"GoalX": "Mål %s",
|
||||
"IsExactly": "er nøyaktig %s",
|
||||
"LeftInCart": "%s att i handlevogn",
|
||||
"Manually": "manuelt",
|
||||
"Optional": "(valfri)",
|
||||
"PageTitle": "Sidetittel",
|
||||
"Pattern": "Mønster",
|
||||
"ProductCategory": "Produktkategori",
|
||||
"ProductName": "Produktnamn",
|
||||
"Products": "Produkt",
|
||||
"UpdateGoal": "Oppdater mål",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Vis og endre mål",
|
||||
"VisitPageTitle": "Vitje ein sidetittel",
|
||||
"VisitUrl": "Vitj ein gitt URL (side eller gruppe av sider)",
|
||||
"WhenVisitors": "når vitjarar",
|
||||
"WhereThe": "når",
|
||||
"YouCanEnableEcommerceReports": "Du kan slå på %1$s for denne nettstaden på %2$s-sida."
|
||||
}
|
||||
}
|
119
msd2/tracking/piwik/plugins/Goals/lang/pl.json
Normal file
119
msd2/tracking/piwik/plugins/Goals/lang/pl.json
Normal file
@ -0,0 +1,119 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Porzucony koszyk",
|
||||
"AddGoal": "Dodaj Cel",
|
||||
"AddNewGoal": "Dodaj nowy Cel",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sDodaj nowy Cel%2$s lub %3$sedytuj%4$s istniejące Cele",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Zezwól aby konwersja Celu odbywała się więcej niż 1 raz podczas wizyty",
|
||||
"AllowMultipleConversionsPerVisit": "Zezwalaj na wiele konwersji przypadających w trakcie wizyty",
|
||||
"BestCountries": "Kraje z najlepszą konwersją:",
|
||||
"BestKeywords": "Słowa kluczowe z najlepszą konwersją:",
|
||||
"BestReferrers": "Najlepiej konwertujące odsyłacze z serwisów:",
|
||||
"CaseSensitive": "Dopasowanie z uwzględnieniem wielkości liter",
|
||||
"CancelAndReturnToGoals": "Anuluj i %1$spowróć do listy celów%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Lokalizacja użytkownika",
|
||||
"CategoryTextReferrers_Referrers": "Odnośniki",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Atrybut użytkownika",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Urządzenia",
|
||||
"CategoryTextGeneral_Visit": "zaangażowanie",
|
||||
"ClickOutlink": "Kliknij na link do zewnętrznej strony",
|
||||
"SendEvent": "Wyślij zdarzenie",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Średnia Wartość Zamówienia (ŚWZ) jest łącznym dochodem z Zamówień Ecommerce podzielonym przez liczbę zamówień.",
|
||||
"ColumnAveragePriceDocumentation": "Średni dochód dla tego %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Średnia ilość tego %s sprzedana w zamówieniach Ecommerce.",
|
||||
"ColumnConversionRateDocumentation": "Procent odwiedzin, które wywołało cel %s.",
|
||||
"ColumnConversionRateProductDocumentation": "%s Współczynnik konwersji jest liczbą zamówień zawierających ten produkt, podzieloną przez liczbę odwiedzin na stronie produktu.",
|
||||
"ColumnConversions": "Konwersje",
|
||||
"Conversion": "Konwersja",
|
||||
"ColumnConversionsDocumentation": "Liczba konwersji dla %s.",
|
||||
"ColumnOrdersDocumentation": "Całkowita liczba zamówień Ecommerce zwierających ten %s przynajmniej raz.",
|
||||
"ColumnPurchasedProductsDocumentation": "Liczba zakupionych produktów jest sumą ilości produktów sprzedawanych we wszystkich zamówień E-commerce.",
|
||||
"ColumnQuantityDocumentation": "Ilość jest liczbą wszystkich produktów sprzedanych w każdym %s.",
|
||||
"ColumnRevenueDocumentation": "Całkowity przychód wygenerowany przez %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Całkowity przychód wygenerowany przez %s podzielony przez liczbę odwiedzin.",
|
||||
"ColumnVisits": "Całkowita liczba odwiedzin, bez względu na to, czy cel został osiągnięty czy nie.",
|
||||
"ColumnVisitsProductDocumentation": "Liczba wizyt na stronach produktów \/ kategorii. Liczba wykorzystywana przy obliczaniu %s współczynnika konwersji. Wskaźnik ten znajduje się w raporcie jeśli w widoku śledzenie e-commerce włączysz strony produktowe \/ kategorie.",
|
||||
"Contains": "zawiera %s",
|
||||
"ConversionByTypeReportDocumentation": "Ten raport zawiera szczegółowe informacje o wydajności celów (konwersje, współczynnik konwersji i dochód \/ wizytę) dla każdej kategorii dostępnej w panelu po lewej. %1$s Kliknij na wybranej kategorii aby zobaczyć raport. %2$s Więcej informacji znajdziesz w %3$sdokumentacji Śledzenia Celów%4$s",
|
||||
"ConversionRate": "%s współczynnik konwersji",
|
||||
"Conversions": "%s konwersji",
|
||||
"ConversionsDescription": "konwersje",
|
||||
"ConversionsOverview": "Przegląd konwersji",
|
||||
"ConversionsOverviewBy": "Przegląd konwersji pod kątem typu odwiedzin",
|
||||
"DaysToConv": "Dni do konwersji",
|
||||
"Details": "Szczegóły celu",
|
||||
"DefaultGoalConvertedOncePerVisit": "(domyślnie) Konwersja celu może nastąpić tylko raz w ciągu wizyty",
|
||||
"DefaultRevenueLabel": "Domyślny dochód z osiągnięcia celu",
|
||||
"DefaultRevenueHelp": "Na przykład, wysłanie formularza kontaktowego przez odwiedzającego może średnio być warte nawet $10. Matomo pomaga więc zrozumieć zaangażowanie grup Twoich odwiedzających.",
|
||||
"DeleteGoalConfirm": "Czy na pewno chcesz skasować cel %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Sprzedaż produktu. Nie zawiera podatku, kosztów dostawy i zniżek",
|
||||
"Download": "Pobierz plik",
|
||||
"Ecommerce": "E-commerce",
|
||||
"EcommerceAndGoalsMenu": "E-commerce i cele",
|
||||
"EcommerceLog": "Log E-commerce",
|
||||
"EcommerceOrder": "Zamówienia E-commerce",
|
||||
"EcommerceOverview": "Przegląd E-commerce",
|
||||
"EcommerceReports": "Raporty E-commerce",
|
||||
"ExceptionInvalidMatchingString": "Jeżeli wybierasz 'dokładne dopasowanie', łańcuch dopasowujący musi być adresem URL zaczynającym się od %1$s. Na przykład, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "zewnętrzny adres URL",
|
||||
"Filename": "nazwa pliku",
|
||||
"GoalConversion": "Konwersja celu",
|
||||
"GoalConversions": "Konwersje celu",
|
||||
"GoalConversionsBy": "Konwersje celu %s ze względu na typ odwiedzin",
|
||||
"GoalIsTriggered": "Cel został osiągnięty",
|
||||
"GoalIsTriggeredWhen": "Cel został osiągnięty, gdy",
|
||||
"GoalName": "Nazwa celu",
|
||||
"Goals": "Cele",
|
||||
"NGoals": "%s celi",
|
||||
"NRevenue": "%s przychodów",
|
||||
"NItems": "%s przedmiotów",
|
||||
"ManageGoals": "Zarządzaj celami",
|
||||
"GoalsOverview": "Przegląd celów",
|
||||
"GoalsOverviewDocumentation": "To jest przegląd konwersji Twoich celów. Wstępnie wykres pokazuje sumę wszystkich konwersji. %s Poniżej wykresu, zobaczysz raporty konwersji poszczególnych celów. Linie wykropkowane można powiększyć klikając na nie.",
|
||||
"GoalX": "Cel %s",
|
||||
"HelpOneConversionPerVisit": "Jeżeli strona pasująca do tego trafienia jest odświeżana lub wyświetlana częściej w trakcie odwiedzin, trafienie będzie śledzić tylko za pierwszym razem, gdy strona była po raz pierwszy wyświetlona w trakcie wizyty.",
|
||||
"IsExactly": "równa się %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Dowiedz się więcej o %1$sŚledzeniu Celów w Matomo%2$sw dokumentacji użytkownika.",
|
||||
"LeftInCart": "%s pozostało w koszyku",
|
||||
"Manually": "ręcznie",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Ręczne wyzwolenie osiągnięcia celu odbywa się przy pomocy funkcji trackGoal() w API Javascript",
|
||||
"MatchesExpression": "odpowiada wyrażeniu %s",
|
||||
"NewGoalIntro": "Śledzenie konwersji celu jest jedną z najwydajniejszych metod pomiaru i polepszania osiągania celów biznesowych przy pomocy serwisu www.",
|
||||
"NewVisitorsConversionRateIs": "Współczynnik konwersji dla nowych odwiedzających to %s",
|
||||
"NoConversionsNoReportsMessage": "Raporty nie są wyświetlane, ponieważ nie odnotowano danych konwersji dla wybranego celu i przedziału czasowego.",
|
||||
"NeedAccess": "Tylko Administrator lub użytkownik z uprawnieniami Super Użytkownika może zarządzać Celami wybranej strony.",
|
||||
"Optional": "(opcjonalnie)",
|
||||
"OverallConversionRate": "całkowity współczynnik konwersji (wizyt z osiągniętym celem)",
|
||||
"ColumnOverallRevenue": "Dochód całkowity",
|
||||
"OverallRevenue": "dochód całkowity",
|
||||
"PageTitle": "Tytuł strony",
|
||||
"Pattern": "Wzorzec",
|
||||
"PluginDescription": "Twórz Cele i uzyskaj szczegółowe raporty o konwersjach Twoich celów: rozwój w czasie, dochód z wizyty, konwersji z odnośnika, ze słowa kluczowego, i więcej.",
|
||||
"ProductCategory": "Kategoria produktu",
|
||||
"ProductName": "Nazwa produktu",
|
||||
"ProductNames": "Nazwy produktów",
|
||||
"ProductPrice": "Cena produktu",
|
||||
"ProductQuantity": "Ilość produktu",
|
||||
"Products": "Produkty",
|
||||
"ProductSKU": "SKU produktu",
|
||||
"ProductSKUs": "SKU produktów",
|
||||
"ReturningVisitorsConversionRateIs": "Współczynnik konwersji dla powracających odwiedzających wynosi %s",
|
||||
"SingleGoalOverviewDocumentation": "To jest przegląd konwersji dla pojedynczego celu. %s Mini wykresy poniżej grafu można powiększyć klikając na nich.",
|
||||
"ThereIsNoGoalToManage": "Nie zdefiniowano celów do zarządzania dla %s",
|
||||
"UpdateGoal": "Zaktualizuj Cel",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Przeglądaj i edytuj Cele",
|
||||
"GoalsBy": "Cele według %s",
|
||||
"GoalsAdjective": "Cele %s",
|
||||
"VisitPageTitle": "Odwiedź stronę o wskazanym tytule",
|
||||
"VisitsUntilConv": "Liczba wizyt do konwersji",
|
||||
"VisitUrl": "Odwiedź dany adres URL (stronę lub grupę stron)",
|
||||
"WhenVisitors": "przez odwiedzającego",
|
||||
"WhereThe": "gdzie",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Odwiedzana strona musi zawierać odwołanie do metody JavaScript 'trackGoal' (%1$s dowiedz się więcej%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Możesz włączyć %1$s dla tego serwisu na stronie %2$s.",
|
||||
"UseEventValueAsRevenue": "Użyj wartości zdarzenia (jeśli istnieje) jako przychodu zmiany celu.",
|
||||
"GoalRevenue": "Przychody z osiągnięcia celu",
|
||||
"EventValueAsRevenueHelp": "Jeśli dopasowane wydarzenie ma przychód i ten przychód jest śledzony jako wartość zdarzenia, możesz włączyć tę opcję, aby zarejestrować wartość zdarzenia jako przychód zmiany celu. Jeśli Twoje przychody z celu nie różnią się w zależności od konwersji, możesz zignorować tę opcję i ustawić domyślne przychody powyżej."
|
||||
}
|
||||
}
|
113
msd2/tracking/piwik/plugins/Goals/lang/pt-br.json
Normal file
113
msd2/tracking/piwik/plugins/Goals/lang/pt-br.json
Normal file
@ -0,0 +1,113 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Carrinho abandonado",
|
||||
"AddGoal": "Adicionar meta",
|
||||
"AddNewGoal": "Adicionar nova meta",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAdicionar nova meta%2$s ou %3$sEditar%4$s metas existentes",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Permitir convesão de metas mais do que uma vez por visita",
|
||||
"AllowMultipleConversionsPerVisit": "Permitir múltiplas conversões por visita",
|
||||
"BestCountries": "Seus melhores países conversores são:",
|
||||
"BestKeywords": "Suas palavras-chave top de conversão são:",
|
||||
"BestReferrers": "Seus melhores websites referenciadores são:",
|
||||
"CaseSensitive": "Equivalencia case sensitive",
|
||||
"CancelAndReturnToGoals": "Cancelar e %1$sretornar para a lista de objetivos%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Localização do usuário",
|
||||
"CategoryTextReferrers_Referrers": "Referenciadores",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Característica do usuário",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Dispositivos",
|
||||
"CategoryTextGeneral_Visit": "envolvimento",
|
||||
"ClickOutlink": "Clique num link para um website externo",
|
||||
"SendEvent": "Enviar um evento",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Valor médio do pedido (VMP) é a receita total de todas as Ordens de comércio eletrônico dividido pelo número de pedidos.",
|
||||
"ColumnAveragePriceDocumentation": "A receita média para este %s.",
|
||||
"ColumnAverageQuantityDocumentation": "A quantidade média deste %s vendidos em pedidos de comércio eletrônico.",
|
||||
"ColumnConversionRateDocumentation": "A porcentagem de visitas que desencadearam em metas %s.",
|
||||
"ColumnConversionRateProductDocumentation": "A taxa de conversão %s é o número de pedidos que contenham este produto dividido pelo número de visitas na página do produto.",
|
||||
"ColumnConversions": "Conversões",
|
||||
"Conversion": "Conversão",
|
||||
"ColumnConversionsDocumentation": "O número de conversões de %s.",
|
||||
"ColumnOrdersDocumentation": "O número total de ordens de comércio eletrônico, que continham este %s, pelo menos, uma vez.",
|
||||
"ColumnPurchasedProductsDocumentation": "O número de produtos comprados é a soma das quantidades de produtos vendidos em todas as encomendas de comércio eletrônico.",
|
||||
"ColumnQuantityDocumentation": "A quantidade é o número total de produtos vendidos para cada %s.",
|
||||
"ColumnRevenueDocumentation": "A receita total gerada pelo %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "A receita total gerada por %s, dividido pelo número de visitas.",
|
||||
"ColumnVisits": "O número total de visitas, independentemente de se uma meta foi disparado ou não.",
|
||||
"ColumnVisitsProductDocumentation": "O número de visitas na página do produto\/Categoria. Este também é usado para processar a taxa de conversão %s. Esta métrica estará no relatório de monitoramento de comércio eletrônico se instalado nas páginas de Produto\/Categoria.",
|
||||
"Contains": "contem %s",
|
||||
"ConversionByTypeReportDocumentation": "Esse relatório fornece informações detalhadas sobre o desempenho objetivo (conversões, taxas de conversão e receita por visita) para cada uma das categorias disponíveis no painel esquerdo. %1$s Por favor, clique em uma das categorias para ver o relatório. %2$s para mais informações, leia a documentação %3$sTracking Metas em piwik.org%4$s",
|
||||
"ConversionRate": "%s taxa de conversão",
|
||||
"Conversions": "%s conversões",
|
||||
"ConversionsDescription": "conversões",
|
||||
"ConversionsOverview": "Visão geral de conversões",
|
||||
"ConversionsOverviewBy": "Visão geral de conversões por tipo de visita",
|
||||
"DaysToConv": "Dias para Conversão",
|
||||
"Details": "Detalhes da Meta",
|
||||
"DefaultGoalConvertedOncePerVisit": "(padrão) A meta só pode ser convertida uma vez por visita",
|
||||
"DefaultRevenueHelp": "Por exemplo, um Form Contato submetido por um visitante pode valer $10 em média. Matomo ajudará a entender quão bem o segmento de seus visitantes está funcionando.",
|
||||
"DeleteGoalConfirm": "Tem certeza que deseja deletar a meta %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "As vendas de produtos. Exclui o de impostos transporte, e desconto.",
|
||||
"Download": "Baixar um arquivo",
|
||||
"Ecommerce": "Ecommerce",
|
||||
"EcommerceAndGoalsMenu": "Ecommerce & Metas",
|
||||
"EcommerceLog": "Ecommerce Log",
|
||||
"EcommerceOrder": "Ecommerce ordem",
|
||||
"EcommerceOverview": "Visão geral do Ecommerce",
|
||||
"EcommerceReports": "Relatórios de Ecommerce",
|
||||
"ExceptionInvalidMatchingString": "Se você escolher 'correspondência exata', a string correspondente deve ser uma URL que comece com %1$s. Por exemplo, \"%2$s\".",
|
||||
"ExternalWebsiteUrl": "URL de website externo",
|
||||
"Filename": "nome do arquivo",
|
||||
"GoalConversion": "Conversão de meta",
|
||||
"GoalConversions": "Conversões de metas",
|
||||
"GoalConversionsBy": "Metas %s convertidas por tipo de visita",
|
||||
"GoalIsTriggered": "Meta está triggered",
|
||||
"GoalIsTriggeredWhen": "Meta está triggered quando",
|
||||
"GoalName": "Nome da meta",
|
||||
"Goals": "Metas",
|
||||
"NGoals": "%s metas",
|
||||
"ManageGoals": "Gerenciar meta",
|
||||
"GoalsOverview": "Visão geral de metas",
|
||||
"GoalsOverviewDocumentation": "Esta é uma visão geral de suas conversões de metas. Inicialmente, o gráfico mostra a soma de todas as conversões. %s abaixo do gráfico, você pode ver relatórios de conversão para cada uma de suas metas. Os minigráficos podem ser ampliados clicando sobre eles.",
|
||||
"GoalX": "Meta %s",
|
||||
"HelpOneConversionPerVisit": "Se a página correspondente a essa meta é recarregada ou vista mais de uma vez em uma visita, a Meta só será rastreada na primeira vez em que a página for carregada durante esta visita.",
|
||||
"IsExactly": "é exatamente %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Aprenda mais sobre Rastreamento de Metas %1$s em Matomo%2$s na documentação do usuário.",
|
||||
"LeftInCart": "%s carrinhos abandonados",
|
||||
"Manually": "manualmente",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "A meta é manualmente triggered usando a API do Javascript trackGoal()",
|
||||
"MatchesExpression": "corresponde com a expressão %s",
|
||||
"NewGoalIntro": "O acompanhamento de conversões de metas é uma das maneiras mais eficientes para medir e melhorar seus objetivos de negócios.",
|
||||
"NewVisitorsConversionRateIs": "Taxa de conversão de novos usuários é %s",
|
||||
"NoConversionsNoReportsMessage": "Os relatórios não são exibidos porque não há dados de conversão para a meta e o período selecionados.",
|
||||
"NeedAccess": "Apenas um Administrador ou um usuário com acesso Super Usuário pode gerenciar Metas para um determinado website.",
|
||||
"Optional": "(opcional)",
|
||||
"OverallConversionRate": "taxa total de conversão (visitas com meta concluída)",
|
||||
"ColumnOverallRevenue": "Lucro total",
|
||||
"OverallRevenue": "lucro total",
|
||||
"PageTitle": "Título da página",
|
||||
"Pattern": "modelo",
|
||||
"PluginDescription": "Crie Metas e veja relatórios detalhados sobre suas conversões de meta: evolução ao longo do tempo, receita por visita, conversões por referenciador, por palavra-chave e muito mais.",
|
||||
"ProductCategory": "Categoria de produto",
|
||||
"ProductName": "Nome do produto",
|
||||
"ProductNames": "Nomes dos produtos",
|
||||
"ProductPrice": "Preço do Produto",
|
||||
"ProductQuantity": "Quantidade de Produto",
|
||||
"Products": "Produto SKU",
|
||||
"ProductSKU": "Produto SKU",
|
||||
"ProductSKUs": "Produto SKUs",
|
||||
"ReturningVisitorsConversionRateIs": "Taxa de retorno de visitantes convertidos é %s",
|
||||
"SingleGoalOverviewDocumentation": "Esta é uma visão geral das conversões para um único objetivo. %s Os minigráficos abaixo o podem ser ampliados, clicando sobre eles.",
|
||||
"ThereIsNoGoalToManage": "Não há meta a ser gerenciada para o website %s",
|
||||
"UpdateGoal": "Atualizar meta",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Ver e Editar Metas",
|
||||
"GoalsBy": "Metas por %s",
|
||||
"GoalsAdjective": "Metas %s",
|
||||
"VisitPageTitle": "Visitas por um título de página",
|
||||
"VisitsUntilConv": "Visitas para conversão",
|
||||
"VisitUrl": "Visitar a URL dada(página ou grupo de páginas)",
|
||||
"WhenVisitors": "quando visitantes",
|
||||
"WhereThe": "onde o(a)",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "A página visitada precisa conter uma chamada para o método JavaScript 'trackGoal' (%1$saprenda mais%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Você pode habilitar %1$s para este site na página %2$s."
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/pt.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/pt.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Carrinho abandonado",
|
||||
"AddGoal": "Adicionar objetivo",
|
||||
"AddNewGoal": "Adicionar um novo objetivo",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAdicionar um novo objetivo%2$s ou %3$seditar%4$s objetivos existentes",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Permitir que um objetivo seja convertido mais do que uma vez por visita",
|
||||
"AllowMultipleConversionsPerVisit": "Permitir múltiplas conversões por visita",
|
||||
"BestCountries": "Os seus melhores países de conversões são:",
|
||||
"BestKeywords": "As suas principais palavras-chave de conversões são:",
|
||||
"BestReferrers": "Os seus principais sites referenciadores de conversões são:",
|
||||
"CaseSensitive": "Correspondência sensível a maiúsculas",
|
||||
"CancelAndReturnToGoals": "Cancelar e %1$svoltar à lista de objetivos%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Localização do utilizador",
|
||||
"CategoryTextReferrers_Referrers": "Referenciadores",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Atributo do utilizador",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Dispositivos",
|
||||
"CategoryTextGeneral_Visit": "interesse",
|
||||
"ClickOutlink": "Clique numa ligação para um site externo",
|
||||
"SendEvent": "Enviar um evento",
|
||||
"ColumnAverageOrderRevenueDocumentation": "O valor médio de ordens (AOV) é o total de receitas de todos os pedidos de comércio eletrónico dividido pelo número de pedidos.",
|
||||
"ColumnAveragePriceDocumentation": "As receitas médias para este %s.",
|
||||
"ColumnAverageQuantityDocumentation": "A quantidade média deste %s vendidos nos pedidos de comércio eletrónico.",
|
||||
"ColumnConversionRateDocumentation": "A percentagem de visitas que despoletaram o objectivo %s.",
|
||||
"ColumnConversionRateProductDocumentation": "A taxa de conversão %s é o número de pedidos com este produto dividido pelo número de visitas à página do produto.",
|
||||
"ColumnConversions": "Conversões",
|
||||
"Conversion": "Conversão",
|
||||
"ColumnConversionsDocumentation": "O número de conversões para %s.",
|
||||
"ColumnOrdersDocumentation": "O número total de pedidos de comércio eletrónico com este %s, pelo menos uma vez.",
|
||||
"ColumnPurchasedProductsDocumentation": "O número de produtos adquiridos é a soma das quantidades de produtos vendidos em todos os pedidos de comércio eletrónico.",
|
||||
"ColumnQuantityDocumentation": "Quantidade é o número total de produtos vendidos por cada %s.",
|
||||
"ColumnRevenueDocumentation": "O total de receitas geradas por %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "O total de receitas geradas por %s, divididas pelo número de visitas.",
|
||||
"ColumnVisits": "O número total de visitas, independentemente de se um objetivo foi atingido ou não.",
|
||||
"ColumnVisitsProductDocumentation": "O número de visitas na página do produto\/categoria. Isto também é utilizado para processar a taxa de conversão %s. Esta métrica está no relatório se a vista de acompanhamento de comércio eletrónico foi configurada nas páginas do produto\/categoria.",
|
||||
"Contains": "contém %s",
|
||||
"ConversionByTypeReportDocumentation": "Este relatório fornece informações detalhadas sobre o desempenho dos objetivos (conversões, as taxas de conversão e receita por visita) para cada uma das categorias disponíveis no painel esquerdo. %1$sPor favor, clique numa das categorias para ver o relatório. %2$s Para mais informações, consulte a %3$sdocumentação acompanhamento de objetivos%4$s",
|
||||
"ConversionRate": "Taxa de conversão de %s",
|
||||
"Conversions": "%s conversões",
|
||||
"ConversionsDescription": "conversões",
|
||||
"ConversionsOverview": "Visão geral das conversões",
|
||||
"ConversionsOverviewBy": "Visão geral das conversões por tipo de visita",
|
||||
"DaysToConv": "Dias para a conversão",
|
||||
"Details": "Detalhes do objetivo",
|
||||
"DefaultGoalConvertedOncePerVisit": "(predefinido) Um objetivo só pode ser convertido uma vez por visita",
|
||||
"DefaultRevenueLabel": "Rendimento predefinido do objetivo",
|
||||
"DefaultRevenueHelp": "Por exemplo, um formulário de contacto submetido por um visitante pode valer em média $10. O Matomo ajuda-o a perceber como os seus segmentos de visitantes se estão a comportar.",
|
||||
"DeleteGoalConfirm": "Tem a certeza que deseja eliminar o objetivo %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Vendas de produtos. Excluindo taxas, transporte e descontos.",
|
||||
"Download": "Transferir um ficheiro",
|
||||
"Ecommerce": "Comércio eletrónico",
|
||||
"EcommerceAndGoalsMenu": "Comércio eletrónico e objetivos",
|
||||
"EcommerceLog": "Registo de comércio eletrónico",
|
||||
"EcommerceOrder": "Pedidos de comércio eletrónico",
|
||||
"EcommerceOverview": "Visão global de comércio eletrónico",
|
||||
"EcommerceReports": "Relatórios de comércio eletrónico",
|
||||
"ExceptionInvalidMatchingString": "Se escolher 'correspondência exata', a frase correspondente tem que ser um endereço a começar por %1$s. Por exemplo, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "endereço de site externo",
|
||||
"Filename": "nome do ficheiro",
|
||||
"GoalConversion": "Conversão de objetivo",
|
||||
"GoalConversions": "Conversões de objetivos",
|
||||
"GoalConversionsBy": "Conversões de objetivo %s por tipo de visita",
|
||||
"GoalIsTriggered": "O objetivo é atingido",
|
||||
"GoalIsTriggeredWhen": "O objetivo é atingido quando",
|
||||
"GoalName": "Nome do objetivo",
|
||||
"Goals": "Objetivos",
|
||||
"NGoals": "%s objetivos",
|
||||
"NRevenue": "%s de rendimento",
|
||||
"NItems": "%s itens",
|
||||
"ManageGoals": "Gerir objetivos",
|
||||
"GoalsOverview": "Vista geral dos objetivos",
|
||||
"GoalsOverviewDocumentation": "Esta é uma visão geral das suas conversões de objetivos. Inicialmente, o gráfico mostra a soma de todas as conversões. %s Abaixo do gráfico, você pode ver relatórios de conversão para cada um dos seus objetivos. Os gráficos Sparkline podem ser ampliados clicando sobre os mesmos.",
|
||||
"GoalX": "Objetivo %s",
|
||||
"HelpOneConversionPerVisit": "Se uma página que corresponda a este objetivo é atualizada ou vista mais do que uma vez numa visita, o objetivo só será registado na primeira vez que a página foi carregada durante esta visita.",
|
||||
"IsExactly": "é exactamente %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Saber mais sobre o %1$sacompanhamento de objetivos no Matomo%2$s na documentação do utilizador.",
|
||||
"LeftInCart": "%s deixado no carrinho",
|
||||
"Manually": "manualmente",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "O objetivo é atingido manualmente utilizando a API JavaScript trackGoal()",
|
||||
"MatchesExpression": "corresponde à expressão %s",
|
||||
"NewGoalIntro": "O acompanhamento da conversão de objetivos é uma das formas mais eficientes de medir e melhorar os objetivos do seu negócio.",
|
||||
"NewVisitorsConversionRateIs": "A taxa de conversão para novos visitantes é %s",
|
||||
"NoGoalsNeedAccess2": "Apenas um utilizador com privilégios de escrita, um administrador ou um utilizador com acesso de super-utilizador pode gerir Objetivos para um determinado site. Por favor, solicite ao seu administrador do Matomo para definir um objetivo para o seu site. <br>O acompanhamento de objetivos é uma excelente forma de o ajudar a compreender e maximizar o desempenho do seu site!",
|
||||
"NoConversionsNoReportsMessage": "Os relatórios não são apresentados porque não existem dados de conversões para o objetivo e período selecionados.",
|
||||
"NeedAccess": "Apenas um administrador ou um utilizador com acesso de super-utilizador pode gerir objetivos para um determinado site.",
|
||||
"Optional": "(opcional)",
|
||||
"OverallConversionRate": "taxa de conversão geral (visitas com um objetivo alcançado)",
|
||||
"ColumnOverallRevenue": "Rendimento geral",
|
||||
"OverallRevenue": "rendimento geral",
|
||||
"PageTitle": "Título da página",
|
||||
"Pattern": "Padrão",
|
||||
"PluginDescription": "Crie objetivos e veja relatórios detalhados sobre as suas conversões objetivo: evolução ao longo do tempo, rendimento por visita, conversões por referenciador, por palavra-chave, entre outros.",
|
||||
"ProductCategory": "Categoria de produto",
|
||||
"ProductName": "Nome do produto",
|
||||
"ProductNames": "Nomes do produto",
|
||||
"ProductPrice": "Preço do produto",
|
||||
"ProductQuantity": "Quantidade do produto",
|
||||
"Products": "Produtos",
|
||||
"ProductSKU": "SKU do produto",
|
||||
"ProductSKUs": "SKUs do produto",
|
||||
"ReturningVisitorsConversionRateIs": "A taxa de conversão para visitantes recorrente é %s",
|
||||
"SingleGoalOverviewDocumentation": "Esta é uma visão geral das conversões para um único objetivo. %s Os gráficos Sparkline abaixo do gráfico podem ser ampliados, clicando sob os mesmos.",
|
||||
"ThereIsNoGoalToManage": "Não existe nenhum objetivo para gerir para o site %s",
|
||||
"UpdateGoal": "Atualizar objetivo",
|
||||
"URL": "Endereço",
|
||||
"ViewAndEditGoals": "Ver e editar objetivos",
|
||||
"GoalsBy": "Objetivos para %s",
|
||||
"GoalsAdjective": "Objetivos %s",
|
||||
"VisitPageTitle": "Visita num título de página específico",
|
||||
"VisitsUntilConv": "Visitas até à conversão",
|
||||
"VisitUrl": "Visitar um dado endereço (página ou grupo de páginas)",
|
||||
"WhenVisitors": "quando os visitantes",
|
||||
"WhereThe": "onde o",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "As páginas visitadas necessitam de conter uma invocação ao método JavaScript 'trackGoal' (%1$ssaber mais%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Pode ativar %1$s para este site na página %2$s.",
|
||||
"UseEventValueAsRevenue": "Utilizar o valor do evento (se este existir) como o rendimento da conversão do objetivo.",
|
||||
"GoalRevenue": "Rendimento do objetivo",
|
||||
"EventValueAsRevenueHelp": "Se o evento que está a corresponder tem um rendimento e, se esse rendimento é acompanhado como o valor do evento, pode ativar esta opção para registar o valor do evento como rendimento da conversão do objetivo. Se o rendimento do objetivo não vai variar por conversão, pode ignorar esta opção e definir apenas um valor predefinido de rendimento acima.",
|
||||
"EventValueAsRevenueHelp2": "Nota: Se estiverem definidos o rendimento predefinido do objetivo e o valor do evento, será utilizado o valor do evento. Se esta opção estiver ativa e se nenhum valor de evento for enviado num pedido, será utilizador o valor predefinido de rendimento (se definido)."
|
||||
}
|
||||
}
|
86
msd2/tracking/piwik/plugins/Goals/lang/ro.json
Normal file
86
msd2/tracking/piwik/plugins/Goals/lang/ro.json
Normal file
@ -0,0 +1,86 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Cart abandonat",
|
||||
"AddGoal": "Adaugă o ţintă",
|
||||
"AddNewGoal": "Agaugă o ţintă nouă",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sAdaugă o ţintă nouă sau%2$s sau %3$sModifică%4$s ţinte existente",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Obiectivul permite să fie convertite mai mult de o dată la fiecare vizită",
|
||||
"AllowMultipleConversionsPerVisit": "Permite conversii multiple pe vizita",
|
||||
"BestCountries": "Topul tarilor care convertesc cel mai bine este:",
|
||||
"BestKeywords": "Topul cuvintelor cheie care convertesc cel mai mult este:",
|
||||
"BestReferrers": "Siteurile care va trimit referinte si convertesc cel mai bine la dvs. sunt:",
|
||||
"CaseSensitive": "Caz sensibil potrivire",
|
||||
"ClickOutlink": "Click pe un Link catre un site extern",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Valoarea medie a comenzii (AOV) este venitul total din toate ordinele de comerț electronic împărțit la numărul de comenzi.",
|
||||
"ColumnAveragePriceDocumentation": "Venit mediu pentru acest %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Media cantitativa a %s vandut in comenzile magazinului online",
|
||||
"ColumnConversionRateDocumentation": "Procentajul de vizite care a declanșat scopul %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Rata %s de conversie este numărul de comenzi care conțin acest produs împărțit la numărul de vizite de pe pagina produsului.",
|
||||
"ColumnConversions": "Conversii",
|
||||
"ColumnConversionsDocumentation": "Numarul de conversii pentru %s.",
|
||||
"ColumnOrdersDocumentation": "Numarul total de comenzi pentru magazinul online care au continut acest %s cel putin o data.",
|
||||
"ColumnPurchasedProductsDocumentation": "Numărul de produse achiziționate este suma cantităților de produse vândute în toate ordinele de comerț electronic.",
|
||||
"ColumnQuantityDocumentation": "Cantitatea este numarul total de produse vandute pentru fiecare %s.",
|
||||
"ColumnRevenueDocumentation": "Venit total obţinut prin %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Veniturile totale generate de %s împartit la numarul de vizite.",
|
||||
"ColumnVisits": "Numărul total de vizite, indiferent dacă a fost declanșată scop sau nu.",
|
||||
"ColumnVisitsProductDocumentation": "Numărul de vizite pe pagina de Produs\/Categorie. Acest lucru este, de asemenea, utilizat pentru a procesa %s rata de conversie. Această valoare este în raport, dacă pe Ecommerce urmarire a fost configurat pe paginile de produs \/ categorie.",
|
||||
"Contains": "conţine %s",
|
||||
"ConversionByTypeReportDocumentation": "Acest raport oferă informații detaliate despre performanța obiectivului (conversii, ratele de conversie și venituri pe vizita), pentru fiecare dintre categoriile disponibile în panoul din stânga. %1$s Vă rugăm să faceți clic pe una dintre categoriile pentru a vizualiza raportul. %2$s Pentru mai multe informații, citiți documentația %3$sUrmarire Goluri%4$s",
|
||||
"ConversionRate": "%s rata conversie",
|
||||
"Conversions": "%s conversii",
|
||||
"ConversionsOverview": "Privire Generala Conversii",
|
||||
"ConversionsOverviewBy": "Privire generala a conversiilor dupa tipul vizitei",
|
||||
"DaysToConv": "Zile pana la Conversie",
|
||||
"DefaultGoalConvertedOncePerVisit": "(implicit) Obiectivul poate fi convertit doar o dată la fiecare vizită",
|
||||
"DefaultRevenueHelp": "De exemplu, un formular de contact trimis de către un vizitator ar putea fi în valoare de 10 dolari, în medie. Matomo va ajuta să înțelegeți cât de bine segmentele de vizitatori sunt performante.",
|
||||
"DeleteGoalConfirm": "Eşti sigur că doreşti să ştergi ţinta %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Vanzarile de produse. Sunt excluse taxele, costurile de livrare si discounturile",
|
||||
"Download": "Descarcă un fişier",
|
||||
"Ecommerce": "Ecomerţ",
|
||||
"EcommerceAndGoalsMenu": "E-commerce & Obiective",
|
||||
"EcommerceLog": "Log Ecomerţ",
|
||||
"EcommerceOrder": "Comanda Magazin Online",
|
||||
"EcommerceOverview": "Privire Generala Magazin Online",
|
||||
"EcommerceReports": "Rapoarte Ecomerţ",
|
||||
"ExceptionInvalidMatchingString": "Dacă alegeți \"potrivire exactă\", șirul de potrivire trebuie să fie un URL incepand cu %1$s. De exemplu, \"%2$s\".",
|
||||
"ExternalWebsiteUrl": "URL Site web extern",
|
||||
"Filename": "nume fişier",
|
||||
"GoalConversion": "conversie obiectiv",
|
||||
"GoalConversions": "Scopul conversilor",
|
||||
"GoalConversionsBy": "Obiectivul conversiilor %s în funcție de tipul de vizita",
|
||||
"GoalIsTriggered": "Scopul este de a declanșa",
|
||||
"GoalIsTriggeredWhen": "Scopul este declanșat atunci când",
|
||||
"GoalName": "Nume ţintă",
|
||||
"Goals": "Ţinte",
|
||||
"GoalsOverview": "Rezumat ţinte",
|
||||
"GoalsOverviewDocumentation": "Acesta este o prezentare generală a obiectivelor. La început, graficul arată suma tuturor obiectivelor. %s Sub grafic, poți găsi rapoarte pentru fiecare obiectiv. Graficele (sparklines) pot fi mărite dând click pe ele.",
|
||||
"GoalX": "Ţinta %s",
|
||||
"HelpOneConversionPerVisit": "În cazul în care o Pagina se potriveste cu Scopul si este reîmprospătat sau vizionat de mai multe ori intr-o Vizita , atunci scopul va fi sa urmăreasca de când pagina a fost încărcat în timpul acestei vizite.",
|
||||
"IsExactly": "este exact %s",
|
||||
"LeftInCart": "%s lasat in cos",
|
||||
"Manually": "manual",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Scopul este declanșat manual folosind JavaScript API trackGoal ()",
|
||||
"MatchesExpression": "se portiveşte cu expresia %s",
|
||||
"NewGoalIntro": "Urmărirebiectiv conversie este una dintre cele mai eficiente modalități de a măsura și îmbunătăți obiectivele de afaceri.",
|
||||
"NewVisitorsConversionRateIs": "Rata de conversie pentru vizitatorii noi este %s",
|
||||
"Optional": "(opţional)",
|
||||
"PageTitle": "Titlul paginii",
|
||||
"Pattern": "Model",
|
||||
"ProductCategory": "Categorie de produse",
|
||||
"ProductName": "Denumirea produsului",
|
||||
"Products": "Produse",
|
||||
"ProductSKU": "SKU Produs",
|
||||
"ReturningVisitorsConversionRateIs": "Rata de conversie pentru vizitatorii care s-au reintors este %s",
|
||||
"SingleGoalOverviewDocumentation": "Aceasta este o privire de ansamblu a conversiilor pentru un singur obiectiv. %s Diagramele de tip sparkline de sub grafic pot fi mărite dând click pe ele.",
|
||||
"UpdateGoal": "Actualizează ţinta",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Vizualizarea şi editarea ţintelor",
|
||||
"VisitPageTitle": "Vizitați un anumit Titlu Pagina",
|
||||
"VisitsUntilConv": "Vizite pana la Conversie",
|
||||
"VisitUrl": "Viziteaza un URL dat (o pagina sau un grup de pagini)",
|
||||
"WhenVisitors": "când vizitatorii",
|
||||
"WhereThe": "unde",
|
||||
"YouCanEnableEcommerceReports": "Poţi activa %1$s pentru acest site pe pagina %2$s."
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/ru.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/ru.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Брошенных корзин",
|
||||
"AddGoal": "Добавить цель",
|
||||
"AddNewGoal": "Добавить новую цель",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sДобавить новую цель%2$s или %3$sредактировать%4$s уже существующие",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Разрешить засчитывание цели более одного раза за посещение",
|
||||
"AllowMultipleConversionsPerVisit": "Разрешить множественную конверсию за посещение",
|
||||
"BestCountries": "Наиболее популярные страны:",
|
||||
"BestKeywords": "Наиболее популярные ключевые слова:",
|
||||
"BestReferrers": "Наиболее популярные источники входа:",
|
||||
"CaseSensitive": "Совпадения являются чувствительными к регистру",
|
||||
"CancelAndReturnToGoals": "Отмена и %1$sвозврат к списку целей%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Местоположение пользователя",
|
||||
"CategoryTextReferrers_Referrers": "Источники",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Свойство пользователя",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Устройства",
|
||||
"CategoryTextGeneral_Visit": "вовлечённость",
|
||||
"ClickOutlink": "Перешли по ссылке на внешний сайт",
|
||||
"SendEvent": "Отправили событие",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Средняя цена за заказ — отношение общей прибыли за все эл. заказы к количеству заказов.",
|
||||
"ColumnAveragePriceDocumentation": "Средняя прибыль для %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Среднее количество %s, проданных через электронные заказы.",
|
||||
"ColumnConversionRateDocumentation": "Процент посещений, когда было инициировано выполнение Цели %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Процент конверсии %s — отношение количества заказов, содержащих этот товар к количеству посещений страницы с товаром.",
|
||||
"ColumnConversions": "Конверсии",
|
||||
"Conversion": "Конверсия",
|
||||
"ColumnConversionsDocumentation": "Число конверсий для %s.",
|
||||
"ColumnOrdersDocumentation": "Общее количество электронных заказов, которые содержали %s хотя бы раз.",
|
||||
"ColumnPurchasedProductsDocumentation": "Число купленных товаров — сумма всех товаров, проданных с помощью электронных заказов.",
|
||||
"ColumnQuantityDocumentation": "Количество — это общее число товаров, проданных для каждого %s.",
|
||||
"ColumnRevenueDocumentation": "Общая прибыль, полученная %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Общая прибыль, полученная %s и разделённая на число посещений.",
|
||||
"ColumnVisits": "Общее число посещений вне зависимости от того, была достигнута цель или нет.",
|
||||
"ColumnVisitsProductDocumentation": "Число посещений страницы товара или категории. Используется для подсчёта процента конверсии %s. Этот показатель попадает в отчёт, если вы установили отслеживание электронной коммерции на страницах товара или категории.",
|
||||
"Contains": "содержит %s",
|
||||
"ConversionByTypeReportDocumentation": "Этот отчёт содержит детальную информацию о целях (конверсия, процент конверсии и прибыль за посещение) по каждой доступной категории в левой панели. %1$s Пожалуйста, кликните на одну из категорий, чтобы увидеть детальный отчет. %2$s Читайте подробнее в %3$sдокументации по отслеживанию целей%4$s",
|
||||
"ConversionRate": "%s коэффициент конверсий",
|
||||
"Conversions": "%s конверсий",
|
||||
"ConversionsDescription": "конверсии",
|
||||
"ConversionsOverview": "Обзор переходов",
|
||||
"ConversionsOverviewBy": "Обзор конверсий по типам посещения",
|
||||
"DaysToConv": "Конверсия по дням",
|
||||
"Details": "Подробнее о цели",
|
||||
"DefaultGoalConvertedOncePerVisit": "(по умолчанию) Цель может быть засчитана единожды за посещение",
|
||||
"DefaultRevenueLabel": "Прибыль цели по умолчанию",
|
||||
"DefaultRevenueHelp": "Например, форма заказа, отправленная посетителем, имеет среднюю цену $10. Тогда Matomo подсчитает суммарную прибыль за вас.",
|
||||
"DeleteGoalConfirm": "Вы уверены, что хотите удалить цель %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Продажи товаров. Без налогов, цен на доставку и скидок",
|
||||
"Download": "Скачали файл",
|
||||
"Ecommerce": "Эл. коммерция",
|
||||
"EcommerceAndGoalsMenu": "Электронная коммерция и Цели",
|
||||
"EcommerceLog": "Лог эл. заказов",
|
||||
"EcommerceOrder": "Электронный заказ",
|
||||
"EcommerceOverview": "Обзор электронных заказов",
|
||||
"EcommerceReports": "Отчёты по электронным заказам",
|
||||
"ExceptionInvalidMatchingString": "Если вы выберите «совпадает точно», то строка для сравнения должна быть URL'ом, начинающегося с %1$s. Например, «%2$s».",
|
||||
"ExternalWebsiteUrl": "внешняя ссылка выглядит следующим образом:",
|
||||
"Filename": "имя файла выглядит следующим образом:",
|
||||
"GoalConversion": "Конверсия цели",
|
||||
"GoalConversions": "Конверсии цели",
|
||||
"GoalConversionsBy": "Конверсия цели %s по типу посещения",
|
||||
"GoalIsTriggered": "Цель засчитывается",
|
||||
"GoalIsTriggeredWhen": "Цель засчитывается, когда",
|
||||
"GoalName": "Название Цели",
|
||||
"Goals": "Цели",
|
||||
"NGoals": "%s цели",
|
||||
"NRevenue": "%s доход",
|
||||
"NItems": "%s позиций",
|
||||
"ManageGoals": "Управление целями",
|
||||
"GoalsOverview": "Обзор целей",
|
||||
"GoalsOverviewDocumentation": "Это обзор конверсии ваших целей. График показывает сумму всех конверсий. %s Под графиком можно увидеть отчёт по конверсиям — по каждой из целей. Графики могут быть увеличены при клике на них.",
|
||||
"GoalX": "Цель %s",
|
||||
"HelpOneConversionPerVisit": "Если страница, совпадающая с этой целью перезагружается или просматривается более одного раза за посещение, то цель будет засчитана только единожды — при первом визите пользователя на эту страницу.",
|
||||
"IsExactly": "совпадает %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Узнать больше об %1$sотслеживании целей в Matomo%2$s в руководстве пользователя.",
|
||||
"LeftInCart": "%s осталось в корзине",
|
||||
"Manually": "вручную",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Цель вручную засчиталась через Javascript API trackGoal()",
|
||||
"MatchesExpression": "совпадает с выражением %s",
|
||||
"NewGoalIntro": "Отслеживание достигнутых переходов является одним из наиболее эффективных способов измерить и улучшить свои бизнес-задачи.",
|
||||
"NewVisitorsConversionRateIs": "Коэффициент новых посетителей %s",
|
||||
"NoGoalsNeedAccess2": "Только пользователь записи, администратор или пользователь с доступом Суперпользователя могут управлять целями для данного веб-сайта. Попросите администратора Matomo создать цель для вашего сайта. <br>Отслеживание целей — отличный способ помочь понять и максимизировать эффективность вашего сайта!",
|
||||
"NoConversionsNoReportsMessage": "Отчёты не показаны, потому что данные конверсии для выбранной цели и периода отсутствуют.",
|
||||
"NeedAccess": "Только Администратор или пользователь с доступом Суперпользователя может управлять целями для данного вебсайта.",
|
||||
"Optional": "(необязательно)",
|
||||
"OverallConversionRate": "общий коэффициент конверсии (визиты с завершенной целью)",
|
||||
"ColumnOverallRevenue": "Общий доход",
|
||||
"OverallRevenue": "общий доход",
|
||||
"PageTitle": "Заголовок страницы",
|
||||
"Pattern": "Шаблон",
|
||||
"PluginDescription": "Создайте Цели и смотрите детальные отчёты о целевых конверсиях: изменение по времени, доход от визита, конверсии по переходам, по ключевому слову и др.",
|
||||
"ProductCategory": "Категория товаров",
|
||||
"ProductName": "Наименование товара",
|
||||
"ProductNames": "Наименование товаров",
|
||||
"ProductPrice": "Стоимость товара",
|
||||
"ProductQuantity": "Количество товара",
|
||||
"Products": "Товары",
|
||||
"ProductSKU": "Артикул",
|
||||
"ProductSKUs": "Артикулы",
|
||||
"ReturningVisitorsConversionRateIs": "Коэффициент наиболее частых вернувшихся посетителей %s",
|
||||
"SingleGoalOverviewDocumentation": "Это обзор конверсий по конкретной цели. %s Графики, показанные ниже, можно увеличить, кликнув по ним.",
|
||||
"ThereIsNoGoalToManage": "Нет цели для управления на сайте %s",
|
||||
"UpdateGoal": "Обновить цель",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Просмотр и редактирование цели",
|
||||
"GoalsBy": "Цели по %s",
|
||||
"GoalsAdjective": "Цели %s",
|
||||
"VisitPageTitle": "Посещают данный Заголовок страницы",
|
||||
"VisitsUntilConv": "Сконвертированные посещения",
|
||||
"VisitUrl": "Посещают данный URL (страницу или группу страниц)",
|
||||
"WhenVisitors": "посетители",
|
||||
"WhereThe": "где",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Посещённые страницы должны содержать вызовы метода JavaScript «trackGoal» (%1$sузнать больше%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Вы можете активировать %1$s для этого сайта на странице %2$s.",
|
||||
"UseEventValueAsRevenue": "Используйте значение события (если оно существует) в качестве дохода от конверсии цели.",
|
||||
"GoalRevenue": "Доход цели",
|
||||
"EventValueAsRevenueHelp": "Если подходящее событие имеет доход, и этот доход отслеживается как значение события, то вы можете включить этот параметр для записи значения события в качестве дохода от цели. Если доход вашей цели не будет зависеть от конверсии, вы можете проигнорировать этот вариант и просто установить доход по умолчанию выше.",
|
||||
"EventValueAsRevenueHelp2": "Примечание: Если определены доход по умолчанию и значение события, то будет использовано значение события. Если этот параметр включен и в запросе не отправлено значение события, то будет использоваться доход по умолчанию (если он определен)."
|
||||
}
|
||||
}
|
51
msd2/tracking/piwik/plugins/Goals/lang/sk.json
Normal file
51
msd2/tracking/piwik/plugins/Goals/lang/sk.json
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Opustený košík",
|
||||
"AddGoal": "Pridať ciele",
|
||||
"AddNewGoal": "Pridať nový cieľ",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sPridať nový Cieľ%2$s alebo %3$sUpraviť%4$s existujúce Ciele",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Povoliť aby bol Cieľ konvertovaný viac ako raz za návštevu",
|
||||
"AllowMultipleConversionsPerVisit": "Povoliť viacero konverzií za návštevu",
|
||||
"BestCountries": "Vaša najlepšia konverzia s krajín:",
|
||||
"BestKeywords": "Vaše top konverzie kľúčových slov:",
|
||||
"BestReferrers": "Vaša najlepšia konverzia s webových stránok a odkazovačov:",
|
||||
"CaseSensitive": "Rozlišovať malé a veľké písmená",
|
||||
"ClickOutlink": "Kliknite na odkaz, na externé webové stránky",
|
||||
"ColumnAveragePriceDocumentation": "Priemerná tržba pre tento %s.",
|
||||
"ColumnConversions": "Konverzie",
|
||||
"ColumnConversionsDocumentation": "Počet konverzií pre %s.",
|
||||
"Contains": "obsahuje %s",
|
||||
"ConversionsOverview": "Prehľad konverzií",
|
||||
"DefaultRevenueHelp": "Napríklad, vyplnením a odoslaním cez kontaktný formulár ma návštevník hodnotu 10€. Toto Vám pomôže pochopiť, aký dobre si vedu návštevníci.",
|
||||
"DeleteGoalConfirm": "Ste si istí, že chcete zmazať %s cieľ?",
|
||||
"Download": "Stiahnuť súbor",
|
||||
"ExternalWebsiteUrl": "externá adresa web stránky(URL)",
|
||||
"Filename": "názov súboru",
|
||||
"GoalConversion": "Konverzia cieľa",
|
||||
"GoalConversions": "Konverzie cieľa",
|
||||
"GoalIsTriggered": "Cieľ je spustený",
|
||||
"GoalIsTriggeredWhen": "Cieľ je spustený keď",
|
||||
"GoalName": "Názov cieľa",
|
||||
"Goals": "Ciele",
|
||||
"GoalsOverview": "Prehľad cieľov",
|
||||
"GoalX": "Cieľ %s",
|
||||
"IsExactly": "je presne %s",
|
||||
"Manually": "ručne",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Cieľom je ručne spúšťa pomocou JavaScript API trackGoal()",
|
||||
"NewVisitorsConversionRateIs": "Noví návštevníci miera konverzie %s",
|
||||
"Optional": "(nepovinné)",
|
||||
"PageTitle": "Titulok stránky",
|
||||
"Pattern": "Vzor",
|
||||
"ProductCategory": "Kategória produktu",
|
||||
"ProductName": "Názov produktu",
|
||||
"Products": "Produkty",
|
||||
"ReturningVisitorsConversionRateIs": "Miera konverzie vracajúcich sa návštevníkov %s",
|
||||
"UpdateGoal": "Aktualizovať ciele",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Zobraziť a upraviť ciele",
|
||||
"VisitPageTitle": "Návšteva zadaného Titulku Stránky",
|
||||
"VisitUrl": "Návšteva zadannej URL (stránka alebo skupina stránok)",
|
||||
"WhenVisitors": "keď návštevníci",
|
||||
"WhereThe": "kde"
|
||||
}
|
||||
}
|
42
msd2/tracking/piwik/plugins/Goals/lang/sl.json
Normal file
42
msd2/tracking/piwik/plugins/Goals/lang/sl.json
Normal file
@ -0,0 +1,42 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Opuščen voziček",
|
||||
"AddGoal": "Dodaj Cilj",
|
||||
"AddNewGoal": "Dodaj nov cilj",
|
||||
"ColumnConversions": "Konverzije",
|
||||
"ColumnConversionsDocumentation": "Število konverzij za %s.",
|
||||
"ColumnRevenueDocumentation": "Skupni prihodki ustvarjeni z %s.",
|
||||
"Contains": "vsebuje %s",
|
||||
"Conversions": "%s konverzij",
|
||||
"ConversionsOverview": "Pregled sprememb",
|
||||
"DaysToConv": "Dni za spreobrnitev",
|
||||
"DeleteGoalConfirm": "Ste prepričani de želite izbrisati Cilj%s?",
|
||||
"Download": "Prenesite datoteko",
|
||||
"Ecommerce": "Ecommerce",
|
||||
"EcommerceLog": "Ecommerce zgodovina",
|
||||
"EcommerceOrder": "Ecommerce naročilo",
|
||||
"EcommerceOverview": "Ecommerce pregled",
|
||||
"ExternalWebsiteUrl": "URL zunanje strani",
|
||||
"Filename": "ime datoteke",
|
||||
"GoalConversion": "Spreobrnitev cilja",
|
||||
"GoalConversions": "Spreobrnitve ciljev",
|
||||
"GoalName": "Ime Cilja",
|
||||
"Goals": "Cilji",
|
||||
"GoalsOverview": "Pregled ciljev",
|
||||
"GoalX": "Cilj %s",
|
||||
"IsExactly": "je točno %s",
|
||||
"Manually": "ročno",
|
||||
"MatchesExpression": "se ujema z nizom %s",
|
||||
"Optional": "(opcijsko)",
|
||||
"PageTitle": "Naslov strani",
|
||||
"Pattern": "Vzorec",
|
||||
"ProductCategory": "Kategorija izdelkov",
|
||||
"ProductName": "Ime izdelka",
|
||||
"Products": "Izdelki",
|
||||
"ProductSKU": "SKU izdelka",
|
||||
"UpdateGoal": "Posodobi Cilj",
|
||||
"URL": "URL",
|
||||
"VisitsUntilConv": "Obiskov za spreobrnitev",
|
||||
"WhenVisitors": "ko obiskovalci"
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/sq.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/sq.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Shportë e Braktisur",
|
||||
"AddGoal": "Shtoni Objektiv",
|
||||
"AddNewGoal": "Shtoni Objektiv të ri",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sShtoni Objektiv të ri%2$s ose %3$sPërpunoni%4$s Objektiva ekzistuese",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Lejoje Objektivin të shndërrohet më shumë se një herë për vizitë",
|
||||
"AllowMultipleConversionsPerVisit": "Lejo shndërrime shumëfishe për vizitë",
|
||||
"BestCountries": "Vendet me shndërrime më të mira për ju janë:",
|
||||
"BestKeywords": "Fjalëkyçet kryesues për shndërrimet tuaja janë:",
|
||||
"BestReferrers": "Sjellësit më të mirë të shndërrimeve nga sajte për ju janë:",
|
||||
"CaseSensitive": "Përputhje për siç është shkruar",
|
||||
"CancelAndReturnToGoals": "Anulojeni dhe %1$skthehuni te lista e objektivave%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Vend përdoruesi",
|
||||
"CategoryTextReferrers_Referrers": "Sjellës",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Atribut përdoruesi",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Pajisje",
|
||||
"CategoryTextGeneral_Visit": "angazhim",
|
||||
"ClickOutlink": "Klikon mbi një Lidhje për te një sajt i jashtëm",
|
||||
"SendEvent": "Dërgoni një akt",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Vlera Mesatare për Porosi (VMP) është shifra e marrë nga pjesëtimi i të ardhurave gjithsej nga krejt Porositë E-tregti me numrin e porosive.",
|
||||
"ColumnAveragePriceDocumentation": "Të ardhurat mesatare për këtë %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Sasia mesatare e këtij %s shitur nga porosi E-tregtie.",
|
||||
"ColumnConversionRateDocumentation": "Përqindja e vizitave që shkaktuan veprimtari për objektivin %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Koeficienti i shndërrimit %s është numri i porosive që përmbajnë këtë produkt pjesëtuar me numrin e vizitave bërë te faqja e produktit.",
|
||||
"ColumnConversions": "Shndërrime",
|
||||
"Conversion": "Shndërrim",
|
||||
"ColumnConversionsDocumentation": "Numër shndërrimesh për %s.",
|
||||
"ColumnOrdersDocumentation": "Numri gjithsej i porosive E-tregti që e përmbanin këtë %s të paktën një herë.",
|
||||
"ColumnPurchasedProductsDocumentation": "Numri i produkteve të blera është shuma e sasive të Produkteve të shitura nga krejt porositë E-tregti.",
|
||||
"ColumnQuantityDocumentation": "Sasia është numri gjithsej i produkteve të shitura për secilin %s.",
|
||||
"ColumnRevenueDocumentation": "Të ardhura gjithsej fituar nga %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Të ardhura gjithsej të rrjedhura nga %s pjesëtuar me numrin e vizitave.",
|
||||
"ColumnVisits": "Numër vizitash gjithsej, pavarësisht nëse u shkaktua a jo veprimtari te një objektiv.",
|
||||
"ColumnVisitsProductDocumentation": "Numri i vizitave te faqja Produkt\/Kategori. Kjo përdoret gjithashtu për të përpunuar koeficientin %s e shndërrimeve. Kjo vlerë gjendet te raporti, nëse ndjekja e parjeve E-tregti është rregulluar te faqet Produkt\/Kategori.",
|
||||
"Contains": "përmban %s",
|
||||
"ConversionByTypeReportDocumentation": "Ky raport ofron të dhëna të hollësishme rreth funksionimit të objektivave (shndërrime, koeficient shndërrimesh dhe të ardhura për vizitë) për secilën prej kategorive të mundshme te paneli majtas. %1$s Ju lutemi, klikoni mbi një nga këto kategori që të shihni raportin. %2$s Për më tepër të dhëna, lexoni %3$sdokumentimin për Ndjekje%4$s",
|
||||
"ConversionRate": "Koeficient shndërrimi %s",
|
||||
"Conversions": "Shndërrime %s",
|
||||
"ConversionsDescription": "shndërrime",
|
||||
"ConversionsOverview": "Përmbledhje Shndërrimesh",
|
||||
"ConversionsOverviewBy": "Përmbledhje shndërrimesh sipas llojit të vizitave",
|
||||
"DaysToConv": "Ditë për Shndërrim",
|
||||
"Details": "Hollësi objektivi",
|
||||
"DefaultGoalConvertedOncePerVisit": "(parazgjedhje) Objektivi mund të shndërrohet një herë për vizitë",
|
||||
"DefaultRevenueLabel": "Të ardhura parazgjedhje objektivi",
|
||||
"DefaultRevenueHelp": "Për shembull, një Formular Kontakti parashtruar nga një vizitor mund të vlejë mesatarisht 10 euro. Matomo do t’ju ndihmojë të kuptoni se si shtresëzohen segmentet e vizitorëve tuaj.",
|
||||
"DeleteGoalConfirm": "Jeni i sigurt se doni të fshihet Objektivi %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Shitje produkti. Pa taksa, dërgesë dhe zbritje çmimi",
|
||||
"Download": "Shkarkon një kartelë",
|
||||
"Ecommerce": "E-tregti",
|
||||
"EcommerceAndGoalsMenu": "E-tregti & Objektiva",
|
||||
"EcommerceLog": "Regjistër E-tregtie",
|
||||
"EcommerceOrder": "Porosi E-tregtie",
|
||||
"EcommerceOverview": "Përmbledhje E-tregtie",
|
||||
"EcommerceReports": "Raporte E-tregtie",
|
||||
"ExceptionInvalidMatchingString": "Nëse zgjidhni 'përputhje e përpiktë', vargu për përputhje duhet të jetë një URL që fillon me %1$s. Për shembull, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "URL sajti të jashtëm",
|
||||
"Filename": "emër kartele",
|
||||
"GoalConversion": "Shndërrim objektivi",
|
||||
"GoalConversions": "Shndërrime objektivash",
|
||||
"GoalConversionsBy": "Shndërrime objektivash %s sipas llojit të vizitave",
|
||||
"GoalIsTriggered": "Objektivi vihet në punë",
|
||||
"GoalIsTriggeredWhen": "Objektivi vihet në punë kur",
|
||||
"GoalName": "Emër Objektivi",
|
||||
"Goals": "Objektiva",
|
||||
"NGoals": "%s synime",
|
||||
"NRevenue": "%s të ardhura",
|
||||
"NItems": "%s objekte",
|
||||
"ManageGoals": "Administroni Objektiva",
|
||||
"GoalsOverview": "Përmbledhje objektivash",
|
||||
"GoalsOverviewDocumentation": "Kjo është një përmbledhje e shndërrimeve tuaja për objektivat. Fillimisht, grafiku tregon shumën e krejt shndërrimeve. %s Nën grafik, mund të shihni raporte shndërrimesh për secilin prej objektivave tuaj. Grafikët vijëzorë mund të zmadhohen duke klikuar mbi ta.",
|
||||
"GoalX": "Objektiv %s",
|
||||
"HelpOneConversionPerVisit": "Nëse një faqe që përputhet me këtë Objektiv rifreskohet ose shihet më shumë se një herë gjatë një Vizite, Objektivi do të ndiqet vetëm herën e parë që faqja u ngarkua gjatë kësaj vizite.",
|
||||
"IsExactly": "është saktësisht %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Mësoni më tepër mbi %1$sNdjekje Objektivash në Matomo%2$s, te dokumentimi i përdoruesit.",
|
||||
"LeftInCart": "%s ende në shportë",
|
||||
"Manually": "dorazi",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Objektivi vihet në punë dorazi duke përdorur JavaScript API trackGoal()",
|
||||
"MatchesExpression": "përputhet me shprehjen %s",
|
||||
"NewGoalIntro": "Ndjekja e Shndërrimeve të Objektivave është një rrugët më të efektshme për të matur dhe përmirësuar objektivat e biznesit tuaj.",
|
||||
"NewVisitorsConversionRateIs": "Koeficienti i shndërrimit për vizitorë të rinj është %s",
|
||||
"NoGoalsNeedAccess2": "Objektivat për një sajt të dhënë mund t’i administrojë vetëm një përdorues Shkrimesh, një Përgjegjës ose një përdorues me të drejta hyrjeje Superpërdoruesi. Ju lutemi, kërkojini përgjegjësit të Matomo-s tuaj të caktojë një Objektiv për sajtin tuaj. <br>Ndjekja e Objektivave është një mënyrë e bukur për t’ju ndihmuar të kuptoni dhe maksimizoni funksionimin e sajtit tuaj!",
|
||||
"NoConversionsNoReportsMessage": "Raportet nuk shfaqen, ngaqë nuk ka të dhëna shndërrimesh për objektivin dhe periudhën e zgjedhur.",
|
||||
"NeedAccess": "Objektivat për një sajt të dhënë mund t’i administrojë vetëm Përgjegjësi ose një përdorues me leje Superpërdoruesi.",
|
||||
"Optional": "(opsionale)",
|
||||
"OverallConversionRate": "mesatare gjithsej shndërrimesh (vizita me objektiv të plotësuar)",
|
||||
"ColumnOverallRevenue": "Të ardhura gjithsej",
|
||||
"OverallRevenue": "të ardhura gjithsej",
|
||||
"PageTitle": "Titull Faqeje",
|
||||
"Pattern": "Mostër",
|
||||
"PluginDescription": "Krijoni Objektiva dhe shihni raporte të hollësishëm mbi shndërrime të objektivave tuaj: evolucioni përgjatë kohës, të ardhura për vizitë, shndërrime sipas sjellësish, fjalëkyçesh, etj.",
|
||||
"ProductCategory": "Kategori Produkti",
|
||||
"ProductName": "Emër Produkti",
|
||||
"ProductNames": "Emra Produktesh",
|
||||
"ProductPrice": "Çmim Produkti",
|
||||
"ProductQuantity": "Sasi Produkti",
|
||||
"Products": "Produkte",
|
||||
"ProductSKU": "SKU Produkti",
|
||||
"ProductSKUs": "SKU Produkti",
|
||||
"ReturningVisitorsConversionRateIs": "Koeficienti i shndërrimit për vizitorë të rikthyer është %s",
|
||||
"SingleGoalOverviewDocumentation": "Kjo është një përmbledhje e shndërrimeve për një objektiv të vetëm. %s Grafikët vijëzorë nën të mund të zgjerohen duke klikuar mbi to.",
|
||||
"ThereIsNoGoalToManage": "Për sajtin %s s’ka objektiva për administrim",
|
||||
"UpdateGoal": "Përditësoni Objektiv",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Shihni dhe Përpunoni Objektiva",
|
||||
"GoalsBy": "Objektiva sipas %s",
|
||||
"GoalsAdjective": "Objektiva %s",
|
||||
"VisitPageTitle": "Vizitoni një Titull Faqeje të dhënë",
|
||||
"VisitsUntilConv": "Vizita për Shndërrim",
|
||||
"VisitUrl": "Vizitoni një URL të dhënë (faqe ose grup faqesh)",
|
||||
"WhenVisitors": "kur vizitorët",
|
||||
"WhereThe": "kur",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Faqja e vizituar lypset të përmbajë një thirrje të metodës JavaScript 'trackGoal' (%1$smësoni më tepër%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Për këtë sajt mund të aktivizoni %1$s te faqja %2$s.",
|
||||
"UseEventValueAsRevenue": "Përdore vlerën e veprimtarisë (në pastë) si të ardhur shndërrimi objektivi.",
|
||||
"GoalRevenue": "Të ardhura Objektivi",
|
||||
"EventValueAsRevenueHelp": "Nëse veprimtaria për të cilën keni përputhje ka të ardhura, dhe këto të ardhura ndiqen si vlera e veprimtarisë, mund ta aktivizoni këtë mundësi për të regjistruar vlerën e veprimtarisë si të ardhura shndërrimi objektivi. Nëse të ardhurat e objektivit tuaja nuk ndryshojnë sipas shndërrimesh, mund ta shpërfillni këtë mundësi dhe thjesht të caktoni më sipër një të ardhur parazgjedhje.",
|
||||
"EventValueAsRevenueHelp2": "Shënim: Nëse janë caktuar si e ardhura parazgjedhje e objektivit, ashtu edhe vlera e veprimtarisë, do të përdoret vlera e veprimtarisë. Nëse kjo mundësi është e aktivizuar dhe në një kërkesë nuk është dërguar vlerë veprimtarie, do të përdoret vlera parazgjedhje (në pastë të caktuar një të tillë)."
|
||||
}
|
||||
}
|
106
msd2/tracking/piwik/plugins/Goals/lang/sr.json
Normal file
106
msd2/tracking/piwik/plugins/Goals/lang/sr.json
Normal file
@ -0,0 +1,106 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Napuštene korpe",
|
||||
"AddGoal": "Dodaj cilj",
|
||||
"AddNewGoal": "Dodavanje novog cilja",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sDodaj novi cilj%2$s ili %3$sizmeni%4$s postojeće",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Dozvoli da cilj bude ostvaren više od jednom tokom jedne posete",
|
||||
"AllowMultipleConversionsPerVisit": "Dozvoli više ispunjenja po poseti",
|
||||
"BestCountries": "Zemlje koje imaju najbolje ispunjenje ciljeva:",
|
||||
"BestKeywords": "Ključne reči koje imaju najbolje ispunjenje:",
|
||||
"BestReferrers": "Reference koje imaju najbolje ispunjenje:",
|
||||
"CaseSensitive": "Obrati pažnju na velika i mala slova",
|
||||
"CancelAndReturnToGoals": "Odustani i %1$svrati se na listu ciljeva%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Lokacije posetilaca",
|
||||
"CategoryTextReferrers_Referrers": "Reference",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Atributi korisnika",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Uređaji",
|
||||
"CategoryTextGeneral_Visit": "zainteresovanost",
|
||||
"ClickOutlink": "Klik na link ka eksternom sajtu",
|
||||
"SendEvent": "Pošalji događaj",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Prosečna vrednost porudžbine (PVP) je ukupan prihod od svih elektronskih porudžbina podeljen sa brojem porudžbina.",
|
||||
"ColumnAveragePriceDocumentation": "Prosečan prihod za %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Prosečna količina za %s prodata kroz elektronske porudžbine.",
|
||||
"ColumnConversionRateDocumentation": "Procenat poseta koji je doveo do cilja %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Ispunjenje cilja %s je broj porudžbina koje sadrže ovaj proizvod podeljen sa brojem poseta stranice sa proizvodom.",
|
||||
"ColumnConversions": "Ispunjenja",
|
||||
"ColumnConversionsDocumentation": "Broj ispunjenih ciljeva za %s.",
|
||||
"ColumnOrdersDocumentation": "Ukupan broj elektronskih porudžbina koji barem jednom sadrži %s.",
|
||||
"ColumnPurchasedProductsDocumentation": "Broj poručenih proizvoda je ukupan broj proizvoda prodatih kroz sve elektronske porudžbine",
|
||||
"ColumnQuantityDocumentation": "Količina je ukupan broj proizvoda prodat za svaki %s.",
|
||||
"ColumnRevenueDocumentation": "Ukupan prihod generisan od strane %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Ukupan prihod generisan od strane %s podeljen sa brojem poseta.",
|
||||
"ColumnVisits": "Ukupan broj poseta bez obzira da li je cilj ispunjen ili ne.",
|
||||
"ColumnVisitsProductDocumentation": "Broj poseta Proizvod\/Kategorija stranice. Ovo se koristi i za obradu %s stepena ispunjenosti cilja. Ova metrika je u izveštaju ako je na stranici Proizvod\/Kategorija uključeno praćene elektronskih porudžbina.",
|
||||
"Contains": "sadrži %s",
|
||||
"ConversionByTypeReportDocumentation": "Ovaj izveštaj prikazuje detaljne informacije o ciljevima (stepene ispunjenja i prihod po poseti) za svaku od kategorija koja je izabrana s leve strane. %1$s Kliknite na neku od kategorija kako biste videli izveštaj. %2$s Za više informacija pročitajte %3$sTracking Goals na piwik.org%4$s",
|
||||
"ConversionRate": "%s stepen ispunjenja",
|
||||
"Conversions": "%s ispunjenja",
|
||||
"ConversionsDescription": "konverzije",
|
||||
"ConversionsOverview": "Prikaz ispunjenja ciljeva",
|
||||
"ConversionsOverviewBy": "Pregled ispunjenja ciljeva po tipu posete",
|
||||
"DaysToConv": "Dana do ispunjenja",
|
||||
"Details": "Detalji cilja",
|
||||
"DefaultGoalConvertedOncePerVisit": "Cilj može biti ispunjen samo jednom po poseti (podrazumevano)",
|
||||
"DefaultRevenueHelp": "Na primer, kontakt forma koju je popunio posetioc može u proseku biti vredna 10$. Matomo vam može pomoći da razumete koliko su dobre vaše grupe posetilaca.",
|
||||
"DeleteGoalConfirm": "Da li ste sigurni da želite da obrišete cilj %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Prodaja proizvoda. Nisu uračunati porezi, troškovi isporuke i popusti",
|
||||
"Download": "Preuzmi datoteku",
|
||||
"Ecommerce": "Elektronske porudžbine",
|
||||
"EcommerceAndGoalsMenu": "Elektronske porudžbine i ciljevi",
|
||||
"EcommerceLog": "Zapisi elektronskih porudžbina",
|
||||
"EcommerceOrder": "Redosled elektronskih porudžbina",
|
||||
"EcommerceOverview": "Pregled elektronskih porudžbina",
|
||||
"EcommerceReports": "Izveštaji elektronskih porudžbina",
|
||||
"ExceptionInvalidMatchingString": "Ukoliko izaberete 'tačno poklapanje', izraz mora biti adresa koja počinje sa %1$s. Na primer, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "adresa eksternog sajta",
|
||||
"Filename": "datoteka",
|
||||
"GoalConversion": "Ispunjenje cilja",
|
||||
"GoalConversions": "Ispunjenja cilja",
|
||||
"GoalConversionsBy": "Ispunjenje cilja %s po tipu posete",
|
||||
"GoalIsTriggered": "Cilj je dostignut",
|
||||
"GoalIsTriggeredWhen": "Cilj je dostignut kad",
|
||||
"GoalName": "Naziv cilja",
|
||||
"Goals": "Ciljevi",
|
||||
"ManageGoals": "Upravljanje ciljevima",
|
||||
"GoalsOverview": "Pregled ciljeva",
|
||||
"GoalsOverviewDocumentation": "Ovo je pregled ispunjenja vaših ciljeva. Grafik inicijalno prikazuje sumu svih ispunjenja. %s Ispod grafikona se nalaze izveštaji za svaki od vaših ciljeva. Linijice možete da uvećate klikom na njih.",
|
||||
"GoalX": "Cilj %s",
|
||||
"HelpOneConversionPerVisit": "Ukoliko je stranica koja odgovara ovom cilju otvorena više od jednom tokom jedne posete, cilj će biti ispraćen samo prilikom prvog otvaranja stranice.",
|
||||
"IsExactly": "je tačno %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Naučite više o %1$s Praćenju ciljeva u Matomo-u%2$s u korisničkoj dokumentaciji.",
|
||||
"LeftInCart": "%s ostalo u korpi",
|
||||
"Manually": "ručno",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Cilj je ručno dostignut pomoću JavaScript API trackGoal()",
|
||||
"MatchesExpression": "je u skladu sa izrazom %s",
|
||||
"NewGoalIntro": "Praćenje ispunjenja ciljeva je jedan od najefikasnijih načina za merenje i unapređenje vaših poslovnih ciljeva.",
|
||||
"NewVisitorsConversionRateIs": "Stepen ispunjenja od strane novih posetilaca je %s",
|
||||
"NoConversionsNoReportsMessage": "Izveštaj nije prikazan zato što ne postoje podaci o konverzijama za dati cilj ili period.",
|
||||
"NeedAccess": "Samo administrator ili superkorisnik može da upravlja ciljevima za dati sajt.",
|
||||
"Optional": "(opciono)",
|
||||
"OverallConversionRate": "ukupan stepen konverzije (posete sa ispunjenim ciljem)",
|
||||
"OverallRevenue": "ukupan prihod",
|
||||
"PageTitle": "Naslov stranice",
|
||||
"Pattern": "Obrazac",
|
||||
"PluginDescription": "Kreirajte ciljeve i pogledajte detaljne izveštaje o njihovom ispunjenju: razvoj kroz vreme, zarada po poseti, konverzije po referenci, ključnoj reči i još mnogo toga.",
|
||||
"ProductCategory": "Kategorija proizvoda",
|
||||
"ProductName": "Naziv proizvoda",
|
||||
"Products": "Proizvodi",
|
||||
"ProductSKU": "SKU proizvoda",
|
||||
"ReturningVisitorsConversionRateIs": "Stepen ispunjenja od strane posetilaca koji se vraćaju je %s",
|
||||
"SingleGoalOverviewDocumentation": "Ovo je pregled ispunjenja cilja. %s Linijice ispod grafikona možete da uvećate klikom na njih.",
|
||||
"ThereIsNoGoalToManage": "Nema definisanih ciljeva za sajt %s",
|
||||
"UpdateGoal": "Ažuriraj cilj",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Prikaz i izmena ciljeva",
|
||||
"GoalsBy": "Ciljevi za %s",
|
||||
"GoalsAdjective": "Ciljevi %s",
|
||||
"VisitPageTitle": "Prikaži stranicu",
|
||||
"VisitsUntilConv": "Poseta do ispunjenja",
|
||||
"VisitUrl": "Poseti datu adresu (stranicu ili grupu stranica)",
|
||||
"WhenVisitors": "kad posetioci",
|
||||
"WhereThe": "gde",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Posećena stranica treba da sadrži poziv JavaScript 'trackGoal' metode (%1$ssaznajte više%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Za ovaj sajt možete omogućiti %1$s na stranici %2$s."
|
||||
}
|
||||
}
|
114
msd2/tracking/piwik/plugins/Goals/lang/sv.json
Normal file
114
msd2/tracking/piwik/plugins/Goals/lang/sv.json
Normal file
@ -0,0 +1,114 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Övergivna varukorgar",
|
||||
"AddGoal": "Lägg till Mål",
|
||||
"AddNewGoal": "Lägg till ett nytt Mål",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sLägg till ett nytt Mål%2$s eller %3$sRedigera%4$s befintliga Mål",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Tillåt att mål omvandlas mer än en gång per besök",
|
||||
"AllowMultipleConversionsPerVisit": "Tillåt flera omvandlingar per besök",
|
||||
"BestCountries": "Dina bäst omvandlade länder är:",
|
||||
"BestKeywords": "Dina bäst omvandlade nyckelord är:",
|
||||
"BestReferrers": "Dina bäst omvandlade hänvisningsadresser är:",
|
||||
"CaseSensitive": "Skiftlägeskänslig matchning",
|
||||
"CancelAndReturnToGoals": "Avbryt och %1$såtergå till listan av mål%2$s",
|
||||
"CategoryTextGeneral_Visitors": "användarens plats",
|
||||
"CategoryTextReferrers_Referrers": "hänvisningar",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "användarinformation",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Enheter",
|
||||
"CategoryTextGeneral_Visit": "engagemang",
|
||||
"ClickOutlink": "klickar på en länk till en extern webbplats",
|
||||
"SendEvent": "triggar en händelse",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Genomsnittligt ordervärde (AOV) är de totala intäkterna från alla E-handelsordrar dividerat med antalet ordrar.",
|
||||
"ColumnAveragePriceDocumentation": "Den genomsnittliga intäkten för %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Den genomsnittliga mängden av denna %s som säljs i E-handelns ordrar.",
|
||||
"ColumnConversionRateDocumentation": "Andelen besök som utlöste målet %s.",
|
||||
"ColumnConversionRateProductDocumentation": "%sOmvandlingsgraden är antalet beställningar som innehåller denna produkt delat med antalet besök på produktsidan.",
|
||||
"ColumnConversions": "Omvandlingar",
|
||||
"Conversion": "Omvandling",
|
||||
"ColumnConversionsDocumentation": "Antalet omvandlingar för %s.",
|
||||
"ColumnOrdersDocumentation": "Det totala antalet e-handelsbeställningar som innehöll denna %s minst en gång.",
|
||||
"ColumnPurchasedProductsDocumentation": "Antalet köpta produkter är summan av produktmängden som säljs på alla E-handelsbeställningar.",
|
||||
"ColumnQuantityDocumentation": "Kvantitet är det totala antalet sålda produkter för varje %s.",
|
||||
"ColumnRevenueDocumentation": "De totala intäkterna från %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "De totala intäkterna från %s dividerat med antalet besök.",
|
||||
"ColumnVisits": "Det totala antalet besök, oavsett om ett mål utlöstes eller inte.",
|
||||
"ColumnVisitsProductDocumentation": "Antalet besök på Produktens\/Kategorins sida. Detta är används också för att bearbeta %s omvandlingsgraden. Det här måttet finns i rapporten om E-handelsspårning lagts in på Produkt\/ Kategorisidor.",
|
||||
"Contains": "innehåller %s",
|
||||
"ConversionByTypeReportDocumentation": "Denna rapport ger detaljerad information om målprestanda (omvandlingar, omvandlingsgrader och intäkter per besök) för varje kategori som finns i den vänstra panelen. %1$s Klicka på en av kategorierna för att visa rapporten. %2$s För mer information, läs %3$sdokumentationen om Spårningsmål på piwik.org%4$s",
|
||||
"ConversionRate": "%s omvandlingsgrad",
|
||||
"Conversions": "%s omvandlingar",
|
||||
"ConversionsDescription": "konverteringar",
|
||||
"ConversionsOverview": "Omvandlingsöversikt",
|
||||
"ConversionsOverviewBy": "Omvandlingsöversikt per typ av besök",
|
||||
"DaysToConv": "Dagar till omvandling",
|
||||
"Details": "Måldetaljer",
|
||||
"DefaultGoalConvertedOncePerVisit": "(standard) Mål kan endast omvandlas en gång per besök",
|
||||
"DefaultRevenueHelp": "Ett fullständigt ifyllt kontaktformulär av en besökare kan t.ex. vara värt 100kr i genomsnitt. Matomo hjälper dig att förstå hur dina besökarsegment lever upp till dina mål.",
|
||||
"DeleteGoalConfirm": "Är du säker på att du vill ta bort Målet %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Produktförsäljning. Exklusive moms, frakt och rabatter.",
|
||||
"Download": "laddar ner en fil",
|
||||
"Ecommerce": "E-handel",
|
||||
"EcommerceAndGoalsMenu": "E-handel & Mål",
|
||||
"EcommerceLog": "E-handelsloggar",
|
||||
"EcommerceOrder": "E-handelsorder",
|
||||
"EcommerceOverview": "E-handelsöversikt",
|
||||
"EcommerceReports": "E-handelsrapporter",
|
||||
"ExceptionInvalidMatchingString": "Om du väljer \"exakt matchning\", måste den matchande strängen vara en URL som börjar med %1$s. Till exempel, \"%2$s'.",
|
||||
"ExternalWebsiteUrl": "extern webbplats URL",
|
||||
"Filename": "filnamn",
|
||||
"GoalConversion": "Målomvandling",
|
||||
"GoalConversions": "Målomvandlingar",
|
||||
"GoalConversionsBy": "Mål %s omvandlingar per typ av besök",
|
||||
"GoalIsTriggered": "Målet utlöses",
|
||||
"GoalIsTriggeredWhen": "Målet utlöses när",
|
||||
"GoalName": "Målets namn",
|
||||
"Goals": "Mål",
|
||||
"NGoals": "%s mål",
|
||||
"ManageGoals": "Hantera mål",
|
||||
"GoalsOverview": "Målöversikt",
|
||||
"GoalsOverviewDocumentation": "Detta är en översikt över dina målomvandlingar. Inledningsvis visar grafen summan av alla omvandlingar. %s Nedanför diagrammet kan du se omvandlingsrapporter för varje mål. Miniatyrdiagrammen kan förstoras genom att klicka på dem.",
|
||||
"GoalX": "Mål %s",
|
||||
"HelpOneConversionPerVisit": "Om en sida som matchar det här målet uppdateras eller visas mer än en gång under ett besök, kommer detta mål endast spåras första gången sidan laddas under detta besök.",
|
||||
"IsExactly": "är exakt %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Lär dig mer om %1$s att mäta mål i Matomo%2$s i dokumentationen.",
|
||||
"LeftInCart": "%s kvar i varukorgen",
|
||||
"Manually": "manuellt",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Målet utlöses manuellt genom att använda JavaScript API trackGoal()",
|
||||
"MatchesExpression": "matchar uttrycket %s",
|
||||
"NewGoalIntro": "Att använda mål för konvertering är ett av de mest effektiva sätten att mäta och förbättra din affärsverksamhet.",
|
||||
"NewVisitorsConversionRateIs": "Nya besökares omvandlingsgrad är %s",
|
||||
"NoGoalsNeedAccess2": "Bara en administratör eller användare med Superbehörighet kan hantera mål för angiven hemsida. Var snäll och kontakta din administratör hos Matomo för att sätta upp dina mål för din hemsida. <br>Att ha mål är ett utmärkt sätt att få hjälp att förstå hur du maximerar din webbplats resultat!",
|
||||
"NoConversionsNoReportsMessage": "Rapporterna visas inte eftersom det inte finns någon konverteringsdata för det valda målet och perioden.",
|
||||
"NeedAccess": "Bara en administratör eller användare med Superbehörighet kan hantera mål för angiven hemsida.",
|
||||
"Optional": "(frivilligt)",
|
||||
"OverallConversionRate": "total konverteringsgrad (besök med ett uppnått mål)",
|
||||
"ColumnOverallRevenue": "Total intäkt",
|
||||
"OverallRevenue": "total intäkt",
|
||||
"PageTitle": "Sidtitel",
|
||||
"Pattern": "mönster",
|
||||
"PluginDescription": "Skapa mål och se detaljerade rapporter för målkonverteringar: utveckling över tid, intäkt per besök, konverteringar per hänvisningskälla, nyckelord med mera.",
|
||||
"ProductCategory": "Produktkategori",
|
||||
"ProductName": "Produktnamn",
|
||||
"ProductNames": "Produktnamn",
|
||||
"ProductPrice": "Produktpris",
|
||||
"ProductQuantity": "Produktkvantitet",
|
||||
"Products": "Produkter",
|
||||
"ProductSKU": "Produktvariant",
|
||||
"ProductSKUs": "Produktvarianter",
|
||||
"ReturningVisitorsConversionRateIs": "Återkommande besökares omvandlingsgrad är %s",
|
||||
"SingleGoalOverviewDocumentation": "Detta är en översikt av omvandlingar för ett enda mål. %s miniatyrdiagramen under grafen kan förstoras genom att klicka på dem.",
|
||||
"ThereIsNoGoalToManage": "Det finns inget mål att hantera för denna webbplats %s",
|
||||
"UpdateGoal": "Uppdatera Mål",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Visa och ändra Mål",
|
||||
"GoalsBy": "Mål efter %s",
|
||||
"GoalsAdjective": "Mål %s",
|
||||
"VisitPageTitle": "besöker en viss sidtitel",
|
||||
"VisitsUntilConv": "Besök till omvandling",
|
||||
"VisitUrl": "besöker en definerad URL (sida eller grupp av sidor)",
|
||||
"WhenVisitors": "när besökarna",
|
||||
"WhereThe": "där",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Den besökta sidan behöver inkludera ett anrop till 'trackGoal'-metoden i javaskript (%1$slär dig mer%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Du kan aktivera %1$s för denna webbplats på sidan %2$s."
|
||||
}
|
||||
}
|
24
msd2/tracking/piwik/plugins/Goals/lang/ta.json
Normal file
24
msd2/tracking/piwik/plugins/Goals/lang/ta.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "இலக்கை இணைக்க",
|
||||
"AddNewGoal": "புதிய இலக்கை இணைத்திடுங்கள்",
|
||||
"CategoryTextGeneral_Visitors": "பயனர் இடம்",
|
||||
"Details": "இலக்கு விவரங்கள்",
|
||||
"DeleteGoalConfirm": "%s இலக்கை நீக்குவதில் நீங்கள் உறுதியாக இருக்கிறீர்களா?",
|
||||
"Download": "ஒரு கோப்பை தரவிறக்கம் செய்",
|
||||
"Ecommerce": "மின்வணிகம்",
|
||||
"EcommerceAndGoalsMenu": "மின்வணிகமும் இலக்கும்",
|
||||
"EcommerceOverview": "மின்வணிகம் - மேற்பார்வை",
|
||||
"EcommerceReports": "மின்வணிக அறிக்கை",
|
||||
"Filename": "கோப்பின் பெயர்",
|
||||
"GoalName": "இலக்குப் பெயர்",
|
||||
"Goals": "இலக்குகள்",
|
||||
"GoalsOverview": "இலக்கு மேற்பார்வை",
|
||||
"ProductCategory": "பொருளின் வகை",
|
||||
"ProductName": "பொருளின் பெயர்",
|
||||
"Products": "பொருட்கள்",
|
||||
"ProductSKU": "பொருள் தனிக்குறியீடு(SKU)",
|
||||
"WhenVisitors": "வருகையாளர்கள் எப்பொழுது",
|
||||
"WhereThe": "எங்கே"
|
||||
}
|
||||
}
|
8
msd2/tracking/piwik/plugins/Goals/lang/te.json
Normal file
8
msd2/tracking/piwik/plugins/Goals/lang/te.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"Goals": {
|
||||
"ColumnConversions": "మార్పిళ్ళు",
|
||||
"GoalName": "లక్ష్యపు పేరు",
|
||||
"Goals": "లక్ష్యాలు",
|
||||
"Optional": "(ఐచ్చికం)"
|
||||
}
|
||||
}
|
54
msd2/tracking/piwik/plugins/Goals/lang/th.json
Normal file
54
msd2/tracking/piwik/plugins/Goals/lang/th.json
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AddGoal": "เพิ่มเป้าหมาย",
|
||||
"AddNewGoal": "เพิ่มค่าเป้าหมายใหม่",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s เพิ่มเป้าหมายใหม่ %2$s หรือ %3$s แก้ไข %4$s เป้าหมายที่มีอยู่แล้ว",
|
||||
"BestCountries": "การแปลงประเทศที่ดีที่สุดของคุณคือ:",
|
||||
"BestKeywords": "การแปลงคีย์เวิร์ดยอดนิยมของคุณคือ:",
|
||||
"BestReferrers": "แปลงแหล่งที่มาเว็บไซต์ที่ดีที่สุดของคุณคือ:",
|
||||
"CaseSensitive": "ค่าเล็กที่ตรงกัน",
|
||||
"ClickOutlink": "คลิกที่ลิงค์เพื่อไปยังเว็บไซต์ภายนอก",
|
||||
"ColumnConversions": "การแปลงข้อมูล",
|
||||
"Contains": "ประกอบด้วย %s",
|
||||
"ConversionRate": "%s อัตราการแปลง",
|
||||
"Conversions": "%s แปลงข้อมูล",
|
||||
"ConversionsOverview": "ภาพรวมการแปลง",
|
||||
"ConversionsOverviewBy": "ภาพรวมการแปลงตามประเภทของการเข้าชม",
|
||||
"DefaultRevenueHelp": "ตัวอย่าง แบบฟอร์มผู้ติดต่อที่ส่ง โดยที่ผู้เข้าชมอาจมีมูลค่า $10 โดยเฉลี่ย Matomo จะช่วยให้คุณเข้าใจดีว่ากลุ่มผู้เข้าชมของคุณมีประสิทธิภาพ",
|
||||
"DeleteGoalConfirm": "คุณแน่ใจหรือไม่ว่าคุณต้องการลบเป้าหมาย %s?",
|
||||
"Download": "ดาวน์โหลดไฟล์",
|
||||
"Ecommerce": "อีคอมเมิร์ซ",
|
||||
"EcommerceAndGoalsMenu": "อีคอมเมิร์ซ & เป้าหมาย",
|
||||
"EcommerceOverview": "ข้อมูลอีคอมเมิร์ซเบื้องต้น",
|
||||
"ExceptionInvalidMatchingString": "ถ้าคุณเลือก 'ตรงกันพอดี' สตริงที่ตรงกันต้องเป็น URL เริ่มต้นด้วย %1$s ตัวอย่างเช่น '%2$s'",
|
||||
"ExternalWebsiteUrl": "URL ของเว็บไซต์ภายนอก",
|
||||
"Filename": "ชื่อไฟล์",
|
||||
"GoalConversion": "การแปลงเป้าหมาย",
|
||||
"GoalConversionsBy": "เป้าหมาย %s การแปลงตามประเภทของการเข้าชม",
|
||||
"GoalIsTriggered": "เป้าหมายจะถูกเรียก",
|
||||
"GoalIsTriggeredWhen": "เป้าหมายจะถูกเรียกเมื่อ",
|
||||
"GoalName": "ชื่อเป้าหมาย",
|
||||
"Goals": "เป้าหมาย",
|
||||
"GoalsOverview": "ภาพรวมของเป้าหมาย",
|
||||
"GoalX": "เป้าหมาย %s",
|
||||
"IsExactly": "คือว่า %s",
|
||||
"Manually": "ด้วยตนเอง",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "เป้าหมายถูกเรียกด้วยตนเองโดยใช้ JavaScript API trackGoal()",
|
||||
"MatchesExpression": "ตรงกับนิพจน์ที่ %s",
|
||||
"NewVisitorsConversionRateIs": "อัตราเปลี่ยนแปลงผู้เข้าชมใหม่คือ %s",
|
||||
"Optional": "(ตัวเลือก)",
|
||||
"PageTitle": "ชื่อหน้าเว็บ",
|
||||
"Pattern": "แบบแผน",
|
||||
"ProductCategory": "หมวดหมู่สินค้า",
|
||||
"ProductName": "ชื่อสินค้า",
|
||||
"Products": "รายการ",
|
||||
"ProductSKU": "รหัส SKU สินค้า",
|
||||
"ReturningVisitorsConversionRateIs": "อัตราการย้อนกลับของการแปลงผู้เข้าชมเป็น %s",
|
||||
"UpdateGoal": "อัพเดตเป้าหมาย",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "ดูและแก้ไขเป้าหมาย",
|
||||
"VisitUrl": "การเข้าชมได้รับ URL (หน้าหรือกลุ่มของหน้า)",
|
||||
"WhenVisitors": "เมื่อผู้เข้าชม",
|
||||
"WhereThe": "ที่ซึ่ง"
|
||||
}
|
||||
}
|
121
msd2/tracking/piwik/plugins/Goals/lang/tr.json
Normal file
121
msd2/tracking/piwik/plugins/Goals/lang/tr.json
Normal file
@ -0,0 +1,121 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Terk Edilen Sepet",
|
||||
"AddGoal": "Hedef Ekle",
|
||||
"AddNewGoal": "Yeni Hedef Ekle",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sYeni Hedef Ekle%2$s ya da var olan hedefleri %3$sDüzenle%4$s",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Hedef bir ziyarette bir kereden fazla tutturulabilsin",
|
||||
"AllowMultipleConversionsPerVisit": "Bir ziyarette hedef bir kereden fazla tutturulabilsin",
|
||||
"BestCountries": "En iyi hedef tutturduğunuz ülkeler:",
|
||||
"BestKeywords": "En fazla hedef tutturan anahtar sözcükler:",
|
||||
"BestReferrers": "En iyi hedef tutturan web sayfası yönlendirmeleri:",
|
||||
"CaseSensitive": "Büyük-küçük harfe duyarlı eşleşme",
|
||||
"CancelAndReturnToGoals": "İptal et ve %1$shedefler listesine geri dön%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Kullanıcı konumu",
|
||||
"CategoryTextReferrers_Referrers": "Yönlendirmeler",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Kullanıcı özniteliği",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Aygıtlar",
|
||||
"CategoryTextGeneral_Visit": "bağlılık",
|
||||
"ClickOutlink": "Bir dış web sitesi bağlantısına tıklama",
|
||||
"SendEvent": "Bir etkinlik gönderme",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Ortalama Sipariş Değeri (OSD) tüm E-ticaret Siparişlerinden elde edilen toplam gelirin sipariş sayısına oranıdır.",
|
||||
"ColumnAveragePriceDocumentation": "Bu %s için ortalama gelir.",
|
||||
"ColumnAverageQuantityDocumentation": "Bu %s ögesinin e-ticaret siparişlerinde satılan ortalama sayısı.",
|
||||
"ColumnConversionRateDocumentation": "%s hedefini tutturan ziyaretlerin yüzdesi.",
|
||||
"ColumnConversionRateProductDocumentation": "%s hedef tutturma oranı bu ürünün sipariş sayısının ürün sayfasına yapılan ziyaret sayısına bölünmesi ile hesaplanır.",
|
||||
"ColumnConversions": "Hedef Tutturma",
|
||||
"Conversion": "Hedef Tutturma",
|
||||
"ColumnConversionsDocumentation": "%s için tutturulan hedef sayısı.",
|
||||
"ColumnOrdersDocumentation": "Bu %s ögesini en az bir kez içeren E-ticaret siparişlerinin toplam sayısı.",
|
||||
"ColumnPurchasedProductsDocumentation": "Satın alınmış ürün sayısı, e-ticaret üzerinden satılan tüm ürün sayılarının toplamıdır.",
|
||||
"ColumnQuantityDocumentation": "Miktar her %s için satılan ürünlerin toplam sayısıdır",
|
||||
"ColumnRevenueDocumentation": "%s tarafından oluşturulan toplam gelir.",
|
||||
"ColumnRevenuePerVisitDocumentation": "%s tarafından oluşturulan toplam gelirin ziyaret sayısına oranı.",
|
||||
"ColumnVisits": "Hedefin tutturulup tutturulmadığından bağımsız toplam ziyaret sayısı.",
|
||||
"ColumnVisitsProductDocumentation": "Ürün\/Kategori sayfasına yapılan ziyaret sayısı. Bu değer %s hedef tutturma oranı için de kullanılır. Ürün\/Kategori sayfaları için e-ticaret izlemesi kurulmuş ise bu ölçüt raporda görüntülenir.",
|
||||
"Contains": "%s içeren",
|
||||
"ConversionByTypeReportDocumentation": "Bu raporda, sol panoda bulunan kategoriler için ayrıntılı hedef başarımı bilgileri bulunur (tutturulan hedefler, hedef tutturma oranı ve ziyaret başına gelir). %1$s Lütfen raporu görüntülemek için kategorilerden birine tıklayın. %2$s Ayrıntılı bilgi almak için %3$sİzleme Hedefleri belgelerine bakın%4$s",
|
||||
"ConversionRate": "'%s' hedef tutturma oranı",
|
||||
"Conversions": "'%s' hedef tutturma",
|
||||
"ConversionsDescription": "hedef tutturma",
|
||||
"ConversionsOverview": "Hedef Tutturma Özeti",
|
||||
"ConversionsOverviewBy": "Ziyaret türüne göre hedef tutturma özeti",
|
||||
"DaysToConv": "Hedef Tutturmaya Kalan Gün",
|
||||
"Details": "Hedef ayrıntıları",
|
||||
"DefaultGoalConvertedOncePerVisit": "(varsayılan) Hedef bir ziyarette yalnız bir kez tutturulabilir",
|
||||
"DefaultRevenueLabel": "Varsayılan hedef geliri",
|
||||
"DefaultRevenueHelp": "Örneğin bir ziyaretçi tarafından bir bilgi formunun gönderilmesi ortalama $10 değerinde olabilir. Matomo ziyaretçi dilimlerinizin başarımını anlamanıza yardımcı olur.",
|
||||
"DeleteGoalConfirm": "%s hedefini silmek istediğinize emin misiniz?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Ürün satışları. Vergi, kargo ve indirimler hariç",
|
||||
"Download": "Bir dosya indirme",
|
||||
"Ecommerce": "E-ticaret",
|
||||
"EcommerceAndGoalsMenu": "E-ticaret ve Hedefler",
|
||||
"EcommerceLog": "E-ticaret Günlüğü",
|
||||
"EcommerceOrder": "E-ticaret Siparişi",
|
||||
"EcommerceOverview": "E-ticaret Özeti",
|
||||
"EcommerceReports": "E-ticaret Raporları",
|
||||
"ExceptionInvalidMatchingString": "'Mutlak eşleşme' seçildiğinde, eşleşen dizge %1$s ile başlayan bir adres olmalıdır. Örnek: '%2$s'.",
|
||||
"ExternalWebsiteUrl": "dış web sitesi adresi",
|
||||
"Filename": "dosya adı",
|
||||
"GoalConversion": "Hedef tutturma",
|
||||
"GoalConversions": "Hedef tutturma",
|
||||
"GoalConversionsBy": "Ziyaret türüne göre %s hedef tutturma özeti",
|
||||
"GoalIsTriggered": "Hedef tutturuldu",
|
||||
"GoalIsTriggeredWhen": "Hedef şu olduğunda tutturuldu",
|
||||
"GoalName": "Hedef Adı",
|
||||
"Goals": "Hedefler",
|
||||
"NGoals": "%s amaç",
|
||||
"NRevenue": "%s gelir",
|
||||
"NItems": "%s öge",
|
||||
"ManageGoals": "Hedef Yönetimi",
|
||||
"GoalsOverview": "Hedefler Özeti",
|
||||
"GoalsOverviewDocumentation": "Hedef tutturma özetleri burada görülebilir. Başlangıçta çizelgede düm tutturulan hedeflerin toplamı görüntülenir. %s Çizelgenin aşağısında her bir hedefin tutturulma oranı görülebilir. Çubuklar üzerine tıklandığında genişler.",
|
||||
"GoalX": "%s Hedefi",
|
||||
"HelpOneConversionPerVisit": "Bu hedefi tutturan bir sayfa, bir ziyarette birden çok kez yenilenir ya da görüntülenir ise hedef izlemesi yalnız ziyaretin başında bir kez yapılır.",
|
||||
"IsExactly": "mutlak olarak %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "%1$sMatomo üzerinde hedef izleme%2$s hakkında ayrıntılı bilgi almak için kullanıcı belgelerine bakın.",
|
||||
"LeftInCart": "%s sepette bırakılma",
|
||||
"Manually": "El ile",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Hedef trackGoal() JavaScript API işlevi kullanılarak el ile tutturuldu",
|
||||
"MatchesExpression": "%s ifadesine uyan",
|
||||
"NewGoalIntro": "İş amaçlarınızı gerçekleştirmek için en etkili ölçme yöntemlerinden biri hedef tutturma izlemesidir.",
|
||||
"NewVisitorsConversionRateIs": "Yeni ziyaretçilerin hedef tutturma oranı %s",
|
||||
"NoGoalsNeedAccess2": "Belirli bir web sitesinin hedeflerini yalnız Yazabilen Kullanıcılar, Yöneticiler ya da Süper Kullanıcılar yönetebilir. Bu yüzden web sitenize bir Hedef ataması için Matomo yöneticiniz ile görüşmelisiniz. <br> Hedefleri izlemek web sitesinizin başarımını anlamak ve arttırmak için harika bir yöntemdir!",
|
||||
"NoConversionsNoReportsMessage": "Seçilmiş amaç ve zaman aralığı için bir hedef tutturma verisi bulunmadığından rapor görüntülenemiyor.",
|
||||
"NeedAccess": "Belirtilen bir web sitesi için hedefleri yalnız yöneticiler ya da Süper Kullanıcılar değiştirebilir.",
|
||||
"Optional": "(isteğe bağlı)",
|
||||
"OverallConversionRate": "genel hedef tutturma oranı (hedefi tutturan ziyaretler)",
|
||||
"ColumnOverallRevenue": "Genel gelir",
|
||||
"OverallRevenue": "genel gelir",
|
||||
"PageTitle": "Sayfa Başlığı",
|
||||
"Pattern": "Model",
|
||||
"PluginDescription": "Hedefler oluşturun ve hedef tutturma, zaman içinde gelişme, ziyarete göre gelir, yönlendirenlere göre hedef tutturma, anahtar sözcükler ve diğer ayrıntıların bulunduğu raporlara bakın.",
|
||||
"ProductCategory": "Ürün Kategorisi",
|
||||
"ProductName": "Ürün Adı",
|
||||
"ProductNames": "Ürün Adı",
|
||||
"ProductPrice": "Ürün Fiyatı",
|
||||
"ProductQuantity": "Ürün Adedi",
|
||||
"Products": "Ürünler",
|
||||
"ProductSKU": "Ürün SKU Kodu",
|
||||
"ProductSKUs": "Ürün SKU Kodu",
|
||||
"ReturningVisitorsConversionRateIs": "Geri gelen ziyaretçilerin hedef tutturma oranı %s",
|
||||
"SingleGoalOverviewDocumentation": "Tek bir hedefin tutturulma özetine buradan bakabilirsiniz. %s aşağıdaki çizelgedeki çubukların üzerine tıklayarak genişletebilirsiniz.",
|
||||
"ThereIsNoGoalToManage": "%s web sitesi için yönetilebilecek bir hedef yok",
|
||||
"UpdateGoal": "Hedefi Güncelle",
|
||||
"URL": "Adres",
|
||||
"ViewAndEditGoals": "Hedefleri Görüntüle ve Düzenle",
|
||||
"GoalsBy": "%s Değerine Göre Hedefler",
|
||||
"GoalsAdjective": "%s Hedef",
|
||||
"VisitPageTitle": "Belirtilen bir sayfa başlığı ziyareti",
|
||||
"VisitsUntilConv": "Hedefi Tutturan Ziyaret Sayısı",
|
||||
"VisitUrl": "Belirtilen bir adres (sayfa ya da sayfa grubu) ziyareti",
|
||||
"WhenVisitors": "ziyaretçiler şunu yaptığında",
|
||||
"WhereThe": "şuraya",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Hedef izlemek için ziyaret edilen sayfada 'trackGoal' işlevini çağıran bir JavaScript kodu bulunmalıdır (%1$sayrıntılı bilgi alın%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Bu web sitesi için %2$s sayfasında %1$s kullanabilirsiniz.",
|
||||
"UseEventValueAsRevenue": "Hedef dönüşümü geliri olarak etkinlik değeri (varsa) kullanılsın.",
|
||||
"GoalRevenue": "Hedef Geliri",
|
||||
"EventValueAsRevenueHelp": "Eşleşen etkinliğin bir geliri varsa ve bu gelir etkinlik değeri olarak izleniyorsa, bu seçeneği etkinleştirerek etkinlik değerinin hedef dönüşüm değeri olarak kaydedilmesini sağlayabilirsiniz. Hedef geliriniz dönüşümlere göre değişmiyorsa bu seçeneği yok sayarak yukarıdaki varsayılan geliri ayarlayabilirsiniz.",
|
||||
"EventValueAsRevenueHelp2": "Not: Hem varsayılan hedef geliri hem de etkinlik değeri belirtilmiş ise etkinlik değeri kullanılır. Bu seçenek etkinleştirilmiş olduğu halde bir istekte herhangi bir etkinlik değeri gönderilmemiş ise (belirtilmiş ise) varsayılan gelir kullanılır."
|
||||
}
|
||||
}
|
106
msd2/tracking/piwik/plugins/Goals/lang/uk.json
Normal file
106
msd2/tracking/piwik/plugins/Goals/lang/uk.json
Normal file
@ -0,0 +1,106 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Кинуті кошики",
|
||||
"AddGoal": "Додати ціль",
|
||||
"AddNewGoal": "Додати нову ціль",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$sДодати нову ціль%2$s або %3$sредагувати%4$s вже існуючі",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Дозволити зарахування цілі більш ніж один раз за відвідування",
|
||||
"AllowMultipleConversionsPerVisit": "Дозволити множинну конверсію за відвідування",
|
||||
"BestCountries": "Найбільш популярні країни:",
|
||||
"BestKeywords": "Найбільш популярні ключові слова:",
|
||||
"BestReferrers": "Найбільш популярні джерела входу:",
|
||||
"CaseSensitive": "Збіги є чутливими до регістру",
|
||||
"CancelAndReturnToGoals": "Скасування і %1$sповернення до списку цілей%2$s",
|
||||
"CategoryTextGeneral_Visitors": "Місцезнаходження користувача",
|
||||
"CategoryTextReferrers_Referrers": "Джерела",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "Властивість користувача",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "Пристрої",
|
||||
"CategoryTextGeneral_Visit": "Залученість",
|
||||
"ClickOutlink": "Переходять по посиланню на зовнішній сайт",
|
||||
"SendEvent": "Відправляють подію",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Середня ціна за замовлення - загальний прибуток за усі електронні замовлення, розділені на число замовлень.",
|
||||
"ColumnAveragePriceDocumentation": "Середній прибуток для %s.",
|
||||
"ColumnAverageQuantityDocumentation": "Середня кількість %s, проданих через електронні замовлення.",
|
||||
"ColumnConversionRateDocumentation": "Відсоток відвідувань, коли було ініційовано виконання цілі %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Відсоток конверсії %s – це число замовлень, що містять цей товар і розділені на число відвідувань сторінки з товаром.",
|
||||
"ColumnConversions": "Конверсії",
|
||||
"ColumnConversionsDocumentation": "Кількість конверсій для %s.",
|
||||
"ColumnOrdersDocumentation": "Загальна кількість електронних замовлень, які містили %s хоча б раз.",
|
||||
"ColumnPurchasedProductsDocumentation": "Число куплених товарів - це сума числа товарів, проданих за допомогою електронних замовлень.",
|
||||
"ColumnQuantityDocumentation": "Кількість - це загальне товарів, проданих для кожного %s.",
|
||||
"ColumnRevenueDocumentation": "Загальний прибуток, отриманий %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Загальний прибуток, отриманий %s і розділений на число відвідувань.",
|
||||
"ColumnVisits": "Загальна кількість відвідувань в незалежності від того, була виконана Ціль чи ні.",
|
||||
"ColumnVisitsProductDocumentation": "Число відвідувань сторінки товарів\/категорії товарів. Це використовується для підрахунку відсотка конверсії %s. Цей показник потрапляє в звіт, якщо ви встановили відстеження електронної комерції на сторінку товарів\/категорії товарів.",
|
||||
"Contains": "містить %s",
|
||||
"ConversionByTypeReportDocumentation": "Цей звіт містить детальну інформацію про цілі (конверсія, відсоток конверсії і прибуток за відвідування) по кожній доступній в лівій панелі категорії. %1$s Будь ласка, клікніть на одну з категорій, щоб побачити детальний звіт. %2$s Більше інформації у %3$sВідстеження цілей на piwik.org%4$s",
|
||||
"ConversionRate": "%s коефіцієнт конверсій",
|
||||
"Conversions": "%s конверсій",
|
||||
"ConversionsDescription": "конверсії",
|
||||
"ConversionsOverview": "Огляд переходів",
|
||||
"ConversionsOverviewBy": "Огляд конверсій за типами відвідування",
|
||||
"DaysToConv": "Конверсія по днях",
|
||||
"Details": "Детальніше про цілі",
|
||||
"DefaultGoalConvertedOncePerVisit": "(за замовчуванням) Ціль може бути зарахована раз за відвідування",
|
||||
"DefaultRevenueHelp": "Наприклад, форма замовлення, відправлена відвідувачем, має середню ціну 10 грн.. Тоді веб-аналітика підрахує сумарний прибуток за вас",
|
||||
"DeleteGoalConfirm": "Ви впевнені, що бажаєте видалити ціль %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Продажі товарів. Без податків, ціни доставки і знижок",
|
||||
"Download": "Завантажують файл",
|
||||
"Ecommerce": "Ел. комерція",
|
||||
"EcommerceAndGoalsMenu": "Електрона комерція & Цілі",
|
||||
"EcommerceLog": "Лог ел. замовлень",
|
||||
"EcommerceOrder": "Електронне замовлення",
|
||||
"EcommerceOverview": "Огляд електронних замовлень",
|
||||
"EcommerceReports": "Звіти по електронним замовленням",
|
||||
"ExceptionInvalidMatchingString": "Якщо ви оберете «співпадає точно», рядок для порівняння повинен бути URL'ом, що починається з %1$s. Наприклад, \"%2$s\".",
|
||||
"ExternalWebsiteUrl": "зовнішнє посилання виглядає наступним чином:",
|
||||
"Filename": "ім'я файлу виглядає наступним чином:",
|
||||
"GoalConversion": "Конверсія цілі",
|
||||
"GoalConversions": "Конверсія цілей",
|
||||
"GoalConversionsBy": "Конверсія цілі %s за типом відвідування",
|
||||
"GoalIsTriggered": "Ціль зараховується, якщо:",
|
||||
"GoalIsTriggeredWhen": "коли",
|
||||
"GoalName": "Назва Цілі",
|
||||
"Goals": "Цілі",
|
||||
"ManageGoals": "Управління цілями",
|
||||
"GoalsOverview": "Огляд цілей",
|
||||
"GoalsOverviewDocumentation": "Це огляд конверсії ваших цілей. Графік показує суму всіх конверсій. %s Під графіком можна побачити звіт про переходи - по кожній з цілей. Графіки можуть бути збільшені при кліці на них.",
|
||||
"GoalX": "Ціль %s",
|
||||
"HelpOneConversionPerVisit": "Якщо сторінка, що збігається з цією ціллю перезавантажується або проглядається більше одного разу за відвідування, ціль буде зараховано тільки один раз - при першому візиті користувача на цю сторінку.",
|
||||
"IsExactly": "точно %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "Дізнатися більше про %1$sвідстеження цілей в Matomo%2$s в інструкції користувача.",
|
||||
"LeftInCart": "%s залишено в кошику",
|
||||
"Manually": "ручне налаштування",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Ціль вручну стала умовною через Javascript API trackGoal()",
|
||||
"MatchesExpression": "збігається з виразом %s",
|
||||
"NewGoalIntro": "Відстеження досягнутих переходів є одним з найбільш ефективних способів виміряти і поліпшити свої бізнес-завдання.",
|
||||
"NewVisitorsConversionRateIs": "Коефіцієнт нових відвідувачів %s",
|
||||
"NoConversionsNoReportsMessage": "Звіти не показані, тому що дані перетворення для обраних цілей і періоду відсутні.",
|
||||
"NeedAccess": "Тільки Адміністратор або користувач з доступом Суперкористувача може управляти цілями для даного сайту.",
|
||||
"Optional": "(необов'язково)",
|
||||
"OverallConversionRate": "загальний коефіцієнт конверсії (відвідування з завершеними цілями)",
|
||||
"OverallRevenue": "загальний прибуток",
|
||||
"PageTitle": "Заголовок сторінки",
|
||||
"Pattern": "Шаблон",
|
||||
"PluginDescription": "Створіть Цілі і дивіться детальні звіти про цільові конверсії: зміна за часом, дохід від візиту, конверсії з посилання, з ключового слова та ін.",
|
||||
"ProductCategory": "Категорія товарів",
|
||||
"ProductName": "Найменування товару",
|
||||
"Products": "Товари",
|
||||
"ProductSKU": "Артикул",
|
||||
"ReturningVisitorsConversionRateIs": "Коефіцієнт найбільш частих відвідувачів, що повернулися %s",
|
||||
"SingleGoalOverviewDocumentation": "Це огляд конверсій по конкретній цілі. %s Графіки, показані нижче, можна збільшити, клікнувши по ним.",
|
||||
"ThereIsNoGoalToManage": "Немає цілі для управління на сайті %s",
|
||||
"UpdateGoal": "Оновити ціль",
|
||||
"URL": "URL виглядає наступним чином:",
|
||||
"ViewAndEditGoals": "Переглянути та редагувати цілі",
|
||||
"GoalsBy": "Цілі по %s",
|
||||
"GoalsAdjective": "Цілі %s",
|
||||
"VisitPageTitle": "Відвідують даний Заголовок сторінки",
|
||||
"VisitsUntilConv": "Зконвертовані відвідування",
|
||||
"VisitUrl": "Відвідують даний URL (сторінку або групу сторінок)",
|
||||
"WhenVisitors": "відвідувачі",
|
||||
"WhereThe": "де",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "Завантажена сторінка повинна містити виклик до JavaScript 'trackGoal' метод (%1$slearn more%2$s)",
|
||||
"YouCanEnableEcommerceReports": "Ви можете активувати %1$s для цього сайту на сторінці %2$s."
|
||||
}
|
||||
}
|
86
msd2/tracking/piwik/plugins/Goals/lang/vi.json
Normal file
86
msd2/tracking/piwik/plugins/Goals/lang/vi.json
Normal file
@ -0,0 +1,86 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "Giỏ hàng không được để ý đến",
|
||||
"AddGoal": "Thêm chỉ tiêu (Goal)",
|
||||
"AddNewGoal": "Thêm chỉ tiêu mới",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s Thêm một chỉ tiêu mới %2$s hoặc %3$s sửa chữa %4$s chỉ tiêu hiện tại",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "Chỉ tiêu được chuyển đổi nhiều hơn một lần của mỗi lượt truy cập",
|
||||
"AllowMultipleConversionsPerVisit": "Cho phép chuyển đổi nhiều phần mỗi lần truy cập",
|
||||
"BestCountries": "Các nước chuyển đổi tốt nhất của bạn là:",
|
||||
"BestKeywords": "Các từ khóa chuyển đổi hàng đầu của bạn là:",
|
||||
"BestReferrers": "Các website chỉ dẫn chuyển đổi tốt nhất là:",
|
||||
"CaseSensitive": "Case sensitive phù hợp",
|
||||
"ClickOutlink": "Click vào một link của một website bên ngoài",
|
||||
"ColumnAverageOrderRevenueDocumentation": "Giá trị đơn hàng trung bình (AOV) là tổng doanh thu từ tất cả các đơn đặt hàng thương mại điện tử chia cho số đơn đặt hàng.",
|
||||
"ColumnAveragePriceDocumentation": "Doanh thu trung bình cho %s này.",
|
||||
"ColumnAverageQuantityDocumentation": "Số lượng trung bình của %s này đã bán trong đơn đặt hàng thương mại điện tử.",
|
||||
"ColumnConversionRateDocumentation": "Phần trăm lượt truy cập mà đã kích hoạt mục tiêu %s.",
|
||||
"ColumnConversionRateProductDocumentation": "Tỷ lệ chuyển đổi %s là số lượng các đơn đặt hàng có chứa sản phẩm này chia cho số lần truy cập trên trang sản phẩm.",
|
||||
"ColumnConversions": "Sự chuyển đổi",
|
||||
"ColumnConversionsDocumentation": "Số lần chuyển đổi cho %s.",
|
||||
"ColumnOrdersDocumentation": "Tổng số đơn đặt hàng thương mại điện tử trong đó chứa %s này ít nhất một lần.",
|
||||
"ColumnPurchasedProductsDocumentation": "Số lượng sản phẩm mua sắm là tổng số lượng sản phẩm đã được bán trong tất cả các đơn đặt hàng thương mại điện tử.",
|
||||
"ColumnQuantityDocumentation": "Số lượng là tổng số sản phẩm đã được bán cho mỗi %s.",
|
||||
"ColumnRevenueDocumentation": "Tổng doanh thu được tạo ra bởi %s.",
|
||||
"ColumnRevenuePerVisitDocumentation": "Tổng doanh thu được tạo ra bởi %s chia cho số lượt truy cập.",
|
||||
"ColumnVisits": "Tổng lượt truy cập, Bất kể một mục tiêu có được kích hoạt hay không",
|
||||
"ColumnVisitsProductDocumentation": "Số lần truy cập trang Product\/Category. Nó cũng được sử dụng để xử lý %s tốc độ chuyển trang. Chỉ số này sẽ xuất hiện trong báo cáo nếu hệ thống theo dõi thương mại điện tử được xây dựng trong các trang Product\/Category.",
|
||||
"Contains": "Chứa %s",
|
||||
"ConversionByTypeReportDocumentation": "Báo cáo này cung cấp thông tin chi tiết về hiệu suất mong muốn (số lượt chuyển đổi, tốc độ chuyển đổi và lợi nhuận trên mỗi lượt thăm) đối với mỗi danh mục có trên panel bên trái. %1$s Vui lòng nhấn vào một trong các danh mục trên để xem báo cáo. %2$s Để có thêm thông tin, đọc %3$sTài liệu Tracking Goals%4$s",
|
||||
"ConversionRate": "Tỷ lệ chuyển đổi %s",
|
||||
"Conversions": "%s chuyển đổi",
|
||||
"ConversionsOverview": "Chuyển đổi tổng quan (Overview)",
|
||||
"ConversionsOverviewBy": "Chuyển đổi tổng quan theo loại hình truy cập",
|
||||
"DaysToConv": "Các ngày chuyển đổi",
|
||||
"DefaultGoalConvertedOncePerVisit": "(mặc định) chỉ tiêu chỉ được chuyển đổi một lần với mỗi lần truy cập",
|
||||
"DefaultRevenueHelp": "Lấy ví dụ, một form contact được gửi bởi một người truy cập có thể trị giá trung bình $10. Matomo sẽ giúp bạn hiểu từng phần đoạn đối với người truy cập trang web của bạn.",
|
||||
"DeleteGoalConfirm": "Bạn có chắc chắn muốn xóa chỉ tiêu này %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "Tiêu thụ sản phẩm. Không bao gồm thuế, vận chuyển và chiết khấu.",
|
||||
"Download": "Tải một file",
|
||||
"Ecommerce": "Thương mại điện tử",
|
||||
"EcommerceAndGoalsMenu": "Thương mại điện tử và chỉ tiêu",
|
||||
"EcommerceLog": "Thương mại điện tử Log",
|
||||
"EcommerceOrder": "Đặt hàng Thương mại điện tử",
|
||||
"EcommerceOverview": "Thương mại điện tử tổng quan",
|
||||
"EcommerceReports": "Các báo cáo thương mại điện tử",
|
||||
"ExceptionInvalidMatchingString": "Nếu bạn chọn 'kết hợp chính xác', các chuỗi kết hợp phải là một URL bắt đầu với %1$s. Ví dụ, '%2$s'.",
|
||||
"ExternalWebsiteUrl": "Đường dẫn (URL) của website nước ngoài",
|
||||
"Filename": "Tên tệp tin",
|
||||
"GoalConversion": "Chỉ tiêu chuyển đổi",
|
||||
"GoalConversions": "Chuyển đổi mục tiêu",
|
||||
"GoalConversionsBy": "Mục tiêu %s chuyển đổi theo loại hình truy cập",
|
||||
"GoalIsTriggered": "Mục tiêu được kích hoạt",
|
||||
"GoalIsTriggeredWhen": "Mục tiêu được kích hoạt khi",
|
||||
"GoalName": "Tên mục tiêu",
|
||||
"Goals": "Các mục tiêu",
|
||||
"GoalsOverview": "Các mục tiêu tổng quan",
|
||||
"GoalsOverviewDocumentation": "Đây là một cái nhìn tổng thể về goal conversions. Thoạt đầu, đồ thị này cho thấy tổng tất cả các lần chuyển đổi. %s Dưới đồ thị này, bạn có thể thấy các báo cáo conversion đối với mỗi goal của bạn. Sparklines có thể được phóng to khi click vào.",
|
||||
"GoalX": "Mục tiêu %s",
|
||||
"HelpOneConversionPerVisit": "Nếu một trang phù hợp với mục tiêu này được làm mới hoặc xem nhiều hơn một lần trong một lượt truy cập, Mục tiêu sẽ chỉ được theo dõi lần đầu tiên trang đã được nạp trong lượt truy cập này.",
|
||||
"IsExactly": "%s chính xác",
|
||||
"LeftInCart": "%s còn lại trong giỏ hàng",
|
||||
"Manually": "Kiểu thủ công",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "Mục tiêu tự kích hoạt bằng JavaScript API trackGoal()",
|
||||
"MatchesExpression": "Làm phù hợp các biểu hiện %s",
|
||||
"NewGoalIntro": "Theo dõi chuyển đổi mục tiêu là một trong những cách hiệu quả nhất để đo lường và cải thiện các mục tiêu kinh doanh của bạn.",
|
||||
"NewVisitorsConversionRateIs": "Tỷ lệ chuyển đổi các khách truy cập mới là %s",
|
||||
"Optional": "(tùy chọn)",
|
||||
"PageTitle": "Tiêu đề trang",
|
||||
"Pattern": "Mẫu",
|
||||
"ProductCategory": "Danh mục sản phẩm",
|
||||
"ProductName": "Tên sản phẩm",
|
||||
"Products": "Các sản phẩm",
|
||||
"ProductSKU": "Sản phẩm SKU",
|
||||
"ReturningVisitorsConversionRateIs": "Tỷ lệ chuyển đổi khách truy cập quay lại là %s",
|
||||
"SingleGoalOverviewDocumentation": "Đây là tổng quan về chuyển đổi một mục tiêu duy nhất. %s Các Sparkline dưới biểu đồ có thể được mở rộng bằng cách nhấp vào chúng.",
|
||||
"UpdateGoal": "Cập nhật chỉ tiêu",
|
||||
"URL": "URL",
|
||||
"ViewAndEditGoals": "Xem và sửa các chỉ tiêu",
|
||||
"VisitPageTitle": "Truy cập một trang với tiêu đề đã cho",
|
||||
"VisitsUntilConv": "Các truy cập để chuyển đổi",
|
||||
"VisitUrl": "Truy cập vào một URL đã cho (trang hoặc một nhóm trang)",
|
||||
"WhenVisitors": "Khi các khách truy cập",
|
||||
"WhereThe": "Ở đâu",
|
||||
"YouCanEnableEcommerceReports": "Bạn có thể kích hoạt %1$s cho website này trong trang %2$s."
|
||||
}
|
||||
}
|
94
msd2/tracking/piwik/plugins/Goals/lang/zh-cn.json
Normal file
94
msd2/tracking/piwik/plugins/Goals/lang/zh-cn.json
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "被放弃的购物车",
|
||||
"AddGoal": "新增目标",
|
||||
"AddNewGoal": "新增目标",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s新增目标%2$s 或 %3$s编辑%4$s 已有目标",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "允许目标在单次访问中被多次转化",
|
||||
"AllowMultipleConversionsPerVisit": "允许单次访问多次转化",
|
||||
"BestCountries": "您的最佳转化国家为:",
|
||||
"BestKeywords": "您的最佳转化关键字为:",
|
||||
"BestReferrers": "您的最佳转化网站来源为:",
|
||||
"CaseSensitive": "大小写敏感",
|
||||
"CancelAndReturnToGoals": "取消并%1$s返回目标列表%2$s",
|
||||
"CategoryTextGeneral_Visitors": "用户位置",
|
||||
"CategoryTextReferrers_Referrers": "来源",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "用户属性",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "设备",
|
||||
"CategoryTextGeneral_Visit": "交互度",
|
||||
"ClickOutlink": "点击链接转向外部网站",
|
||||
"ColumnAverageOrderRevenueDocumentation": "评价订单价值 (AOV) 是所有订单的总金额除以订单数。",
|
||||
"ColumnAveragePriceDocumentation": "%s 的平均收入。",
|
||||
"ColumnAverageQuantityDocumentation": "%s 的平均订单销量。",
|
||||
"ColumnConversionRateDocumentation": "触发目标%s的百分比。",
|
||||
"ColumnConversionRateProductDocumentation": "%s 转化率指包含这个产品的订单除以产品页面的访问次数。",
|
||||
"ColumnConversions": "目标转化",
|
||||
"ColumnConversionsDocumentation": "%s的转化数量。",
|
||||
"ColumnOrdersDocumentation": "至少包括 %s 一次的总的订单数",
|
||||
"ColumnPurchasedProductsDocumentation": "购买产品数量指订单中销售的产品数量的总数。",
|
||||
"ColumnQuantityDocumentation": "数量指每个 %s 销售的产品总数.",
|
||||
"ColumnRevenueDocumentation": "%s产生的总收入。",
|
||||
"ColumnRevenuePerVisitDocumentation": "%s 产生的总收入除以访问次数。",
|
||||
"ColumnVisits": "总的访问次数,无论是否触发目标。",
|
||||
"ColumnVisitsProductDocumentation": "产品\/分类页面的访问次数,同时用于计算 %s 转化率。如果在产品\/分类页面设置了电子商务跟踪,报表中将显示这个指标。",
|
||||
"Contains": "包含 %s",
|
||||
"ConversionByTypeReportDocumentation": "本报表显示左边每个分类的详细的目标性能。(转化, 转化率和单次访问收入)。%1$s 请点击分类查看报表。 %2$s 详情查看 %3$s跟踪目标文档%4$s",
|
||||
"ConversionRate": "%s转化率",
|
||||
"Conversions": "%s 转化数",
|
||||
"ConversionsOverview": "转化概览",
|
||||
"ConversionsOverviewBy": "基于访问类型的转化概览",
|
||||
"DaysToConv": "天数转化",
|
||||
"DefaultGoalConvertedOncePerVisit": "(默认) 每次访问目标只能转化一次",
|
||||
"DefaultRevenueHelp": "例如,访客提交一个联系表单可能平均价值为 $10。Matomo 将帮助您了解访客的质量。",
|
||||
"DeleteGoalConfirm": "您确定要刪除目标 %s ?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "产品销售额,不含税、运费和优惠。",
|
||||
"Download": "下载文件",
|
||||
"Ecommerce": "电子商务",
|
||||
"EcommerceAndGoalsMenu": "电子商务与目标",
|
||||
"EcommerceLog": "电子商务记录",
|
||||
"EcommerceOrder": "电子商务订单",
|
||||
"EcommerceOverview": "电子商务概览",
|
||||
"EcommerceReports": "电子商务报表",
|
||||
"ExceptionInvalidMatchingString": "如果选择 'exact match',匹配的字符串必须是以 %1$s 开头的网址,例如,'%2$s' 。",
|
||||
"ExternalWebsiteUrl": "外部网站网址",
|
||||
"Filename": "文件名",
|
||||
"GoalConversion": "目标转化",
|
||||
"GoalConversions": "目标转化",
|
||||
"GoalConversionsBy": "基于访问类型的目标 %s 转化",
|
||||
"GoalIsTriggered": "触发方式",
|
||||
"GoalIsTriggeredWhen": "目标触发当",
|
||||
"GoalName": "目标名称",
|
||||
"Goals": "目标分析",
|
||||
"ManageGoals": "管理目标",
|
||||
"GoalsOverview": "目标概览",
|
||||
"GoalsOverviewDocumentation": "这是目标转化概览。图形首先显示所有转化总和。%s 在图形下面可以看到每个目标的转化报表,点击波迷你图可放大。",
|
||||
"GoalX": "%s目标",
|
||||
"HelpOneConversionPerVisit": "如果一次访问中,匹配目标的页面被刷新或多次查看,只有第一次访问页面的目标会被统计。",
|
||||
"IsExactly": "正好是 %s",
|
||||
"LeftInCart": "%s(购物车内产品)",
|
||||
"Manually": "手动触发",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "手动触发的目标是使用 JavaScript API trackGoal()",
|
||||
"MatchesExpression": "匹配表达式 %s",
|
||||
"NewGoalIntro": "目标转化跟踪是最有效的检验和提高商业目标的方法之一。",
|
||||
"NewVisitorsConversionRateIs": "新访客转化率为 %s",
|
||||
"Optional": "(选项)",
|
||||
"PageTitle": "页面标题",
|
||||
"Pattern": "模式",
|
||||
"ProductCategory": "产品类别",
|
||||
"ProductName": "产品名称",
|
||||
"Products": "产品",
|
||||
"ProductSKU": "产品 SKU",
|
||||
"ReturningVisitorsConversionRateIs": "老访客转化率为 %s",
|
||||
"SingleGoalOverviewDocumentation": "这是单个目标转化的概览。%s 点击图形下的迷你图可放大。",
|
||||
"ThereIsNoGoalToManage": "%s 没有设定目标",
|
||||
"UpdateGoal": "更新目标",
|
||||
"URL": "网址",
|
||||
"ViewAndEditGoals": "查看并编辑目标",
|
||||
"VisitPageTitle": "访问一个特定的页面标题",
|
||||
"VisitsUntilConv": "访问转化",
|
||||
"VisitUrl": "访问特定网址(页面或页面组)",
|
||||
"WhenVisitors": "当访客",
|
||||
"WhereThe": "设置",
|
||||
"YouCanEnableEcommerceReports": "您可以为网站开启%1$s在%2$s页面。"
|
||||
}
|
||||
}
|
116
msd2/tracking/piwik/plugins/Goals/lang/zh-tw.json
Normal file
116
msd2/tracking/piwik/plugins/Goals/lang/zh-tw.json
Normal file
@ -0,0 +1,116 @@
|
||||
{
|
||||
"Goals": {
|
||||
"AbandonedCart": "棄用的購物車",
|
||||
"AddGoal": "新增目標",
|
||||
"AddNewGoal": "新增目標",
|
||||
"AddNewGoalOrEditExistingGoal": "%1$s新增目標%2$s或%3$s編輯%4$s現有目標",
|
||||
"AllowGoalConvertedMoreThanOncePerVisit": "一次訪問允許轉換多個目標",
|
||||
"AllowMultipleConversionsPerVisit": "允許多個轉換",
|
||||
"BestCountries": "你的最佳轉換國家為:",
|
||||
"BestKeywords": "你的最佳轉換關鍵字為:",
|
||||
"BestReferrers": "你的最佳轉換參照連結為:",
|
||||
"CaseSensitive": "符合大小寫",
|
||||
"CancelAndReturnToGoals": "取消並%1$s返回目標列表%2$s",
|
||||
"CategoryTextGeneral_Visitors": "使用者位置",
|
||||
"CategoryTextReferrers_Referrers": "參造連結",
|
||||
"CategoryTextVisitsSummary_VisitsSummary": "使用者屬性",
|
||||
"CategoryTextDevicesDetection_DevicesDetection": "裝置",
|
||||
"CategoryTextGeneral_Visit": "參與度",
|
||||
"ClickOutlink": "點擊外部網站連結",
|
||||
"SendEvent": "觸發了事件",
|
||||
"ColumnAverageOrderRevenueDocumentation": "平均訂單價值(AOV)是電子商務訂單的總收益除以總訂單數。",
|
||||
"ColumnAveragePriceDocumentation": "此 %s 的平均收益。",
|
||||
"ColumnAverageQuantityDocumentation": "這個 %s 於電子商務訂單中賣出的平均數量。",
|
||||
"ColumnConversionRateDocumentation": "觸發目標 %s 的訪問百分比。",
|
||||
"ColumnConversionRateProductDocumentation": "%s 轉換率是包含此產品的訂單數除以產品網頁的訪問數。",
|
||||
"ColumnConversions": "轉換",
|
||||
"Conversion": "轉換",
|
||||
"ColumnConversionsDocumentation": "%s 的轉換數。",
|
||||
"ColumnOrdersDocumentation": "至少包含一次 %s 的電子商務訂單總數。",
|
||||
"ColumnPurchasedProductsDocumentation": "已購買的產品數是所有電子商務訂單中已賣出產品數量的總和。",
|
||||
"ColumnQuantityDocumentation": "數量是 %s 產品的總銷售數。",
|
||||
"ColumnRevenueDocumentation": "%s 所產生的總收益。",
|
||||
"ColumnRevenuePerVisitDocumentation": "%s 產生的總收益除以訪問數。",
|
||||
"ColumnVisits": "訪問總數,不管目標觸發與否。",
|
||||
"ColumnVisitsProductDocumentation": "產品\/分類網頁的訪問數。這也常用來計算 %s 轉換率。如果產品\/分類的頁面有設定電子商務訪問追蹤,數據就會顯示在報表中。",
|
||||
"Contains": "包含 %s",
|
||||
"ConversionByTypeReportDocumentation": "這份報表提供左方分類中的目標表現詳細資訊(轉換數、轉換率和單次訪問收益)。%1$s 請點擊任一分類來查看報表。%2$s 更多資訊請閱讀%3$s追蹤目標說明文件%4$s。",
|
||||
"ConversionRate": "%s 轉換率",
|
||||
"Conversions": "%s 轉換數",
|
||||
"ConversionsDescription": "轉換數",
|
||||
"ConversionsOverview": "轉換總覽",
|
||||
"ConversionsOverviewBy": "訪問類型的轉換總覽",
|
||||
"DaysToConv": "訪問天數轉換",
|
||||
"Details": "目標詳情",
|
||||
"DefaultGoalConvertedOncePerVisit": "一次訪問只轉換一個目標(預設)",
|
||||
"DefaultRevenueLabel": "目標預設收益",
|
||||
"DefaultRevenueHelp": "舉例來說,訪客送出聯絡表單可能平均價值為 $10。Matomo 將幫助你瞭解你訪客區隔的表現。",
|
||||
"DeleteGoalConfirm": "你確定要刪除目標 %s?",
|
||||
"DocumentationRevenueGeneratedByProductSales": "產品銷售數。不包含稅、運費和折扣。",
|
||||
"Download": "下載檔案",
|
||||
"Ecommerce": "電子商務",
|
||||
"EcommerceAndGoalsMenu": "電子商務及目標",
|
||||
"EcommerceLog": "電子商務紀錄",
|
||||
"EcommerceOrder": "電子商務訂單",
|
||||
"EcommerceOverview": "電子商務總覽",
|
||||
"EcommerceReports": "電子商務報表",
|
||||
"ExceptionInvalidMatchingString": "如果你選擇「精準符合」,相符的字串必須包含一個 URL 網址的開頭 %1$s。例如「%2$s」。",
|
||||
"ExternalWebsiteUrl": "外部網站連結",
|
||||
"Filename": "檔案名稱",
|
||||
"GoalConversion": "電子商務轉換",
|
||||
"GoalConversions": "電子商務轉換數",
|
||||
"GoalConversionsBy": "此類型的訪問轉換了 %s 個目標",
|
||||
"GoalIsTriggered": "目標觸發",
|
||||
"GoalIsTriggeredWhen": "觸發目標當",
|
||||
"GoalName": "目標名稱",
|
||||
"Goals": "目標",
|
||||
"NGoals": "%s 個目標",
|
||||
"NRevenue": "%s 收益",
|
||||
"NItems": "%s 項目",
|
||||
"ManageGoals": "目標管理",
|
||||
"GoalsOverview": "目標總覽",
|
||||
"GoalsOverviewDocumentation": "這是你目標轉換的總覽。一開始,圖表顯示所有轉換的總和。%s 圖表下方你可以看到每個目標的轉換報表。迷你圖可以點擊放大。",
|
||||
"GoalX": "目標 %s",
|
||||
"HelpOneConversionPerVisit": "如果達成目標的網頁在單次訪問被重新整理或是瀏覽多次,只會追蹤這次訪問中第一次頁面載入完成時的目標。",
|
||||
"IsExactly": "完全符合 %s",
|
||||
"LearnMoreAboutGoalTrackingDocumentation": "在使用者說明文件中了解更多關於%1$s在 Matomo 上追蹤目標%2$s。",
|
||||
"LeftInCart": "%s 項遺留在購物車",
|
||||
"Manually": "手動",
|
||||
"ManuallyTriggeredUsingJavascriptFunction": "使用 JavaScript API trackGoal() 來手動觸發目標",
|
||||
"MatchesExpression": "符合正規表示式 %s",
|
||||
"NewGoalIntro": "目標轉換追蹤是衡量並改善你業務目標最有效的方法之一。",
|
||||
"NewVisitorsConversionRateIs": "新訪客轉換率為 %s",
|
||||
"NoConversionsNoReportsMessage": "報表未顯示,因為所選的目標和期間沒有轉換資料。",
|
||||
"NeedAccess": "只有管理員或是擁有超級使用者權限的使用者可以管理網站中的目標。",
|
||||
"Optional": "(選填)",
|
||||
"OverallConversionRate": "整體轉換率(含有完整目標的訪問)",
|
||||
"ColumnOverallRevenue": "總收益",
|
||||
"OverallRevenue": "整體收益",
|
||||
"PageTitle": "網頁標題",
|
||||
"Pattern": "值或格式",
|
||||
"PluginDescription": "建立目標並查看的目標轉換你詳細報表:隨時間的發展、單次訪問收益、單個參造連結\/關鍵字的轉換等等。",
|
||||
"ProductCategory": "產品分類",
|
||||
"ProductName": "產品名稱",
|
||||
"ProductNames": "產品名稱",
|
||||
"ProductPrice": "產品價格",
|
||||
"ProductQuantity": "產品數量",
|
||||
"Products": "產品",
|
||||
"ProductSKU": "產品庫存量單位",
|
||||
"ProductSKUs": "產品庫存量單位",
|
||||
"ReturningVisitorsConversionRateIs": "回訪訪客轉換率為 %s",
|
||||
"SingleGoalOverviewDocumentation": "這是單一目標的轉換總覽。%s 圖表下的迷你圖可以點擊放大。",
|
||||
"ThereIsNoGoalToManage": "網站 %s 還沒有目標可管理",
|
||||
"UpdateGoal": "更新目標",
|
||||
"URL": "網址",
|
||||
"ViewAndEditGoals": "檢視和編輯目標",
|
||||
"GoalsBy": "來自%s的目標",
|
||||
"GoalsAdjective": "目標%s",
|
||||
"VisitPageTitle": "訪問特定的網頁標題",
|
||||
"VisitsUntilConv": "訪問次數轉換",
|
||||
"VisitUrl": "訪問特定網址(網頁或網頁群組)",
|
||||
"WhenVisitors": "當訪客",
|
||||
"WhereThe": "符合",
|
||||
"WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore": "所訪問的頁面必須包含呼叫 JavaScript 的「trackGoal」方法(%1$s了解更多%2$s)",
|
||||
"YouCanEnableEcommerceReports": "你可以在 %2$s 頁面為這個網站啟用 %1$s。"
|
||||
}
|
||||
}
|
50
msd2/tracking/piwik/plugins/Goals/stylesheets/goals.css
Normal file
50
msd2/tracking/piwik/plugins/Goals/stylesheets/goals.css
Normal file
@ -0,0 +1,50 @@
|
||||
.goalTopElement {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
.goalTriggerType .input-field {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.goalEntry {
|
||||
margin: 0 0 20px 0;
|
||||
padding: 0 0 10px 0;
|
||||
border-bottom: 1px solid #7e7363;
|
||||
width: 614px;
|
||||
}
|
||||
|
||||
.addEditGoal .goalIsTriggeredWhen,
|
||||
.addEditGoal .whereTheMatchAttrbiute {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* dimension selector */
|
||||
#titleGoalsByDimension {
|
||||
padding-top: 30px;
|
||||
}
|
||||
|
||||
ul.ulGoalTopElements {
|
||||
list-style-type: circle;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
ul.ulGoalTopElements li {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
ul.ulGoalTopElements img {
|
||||
border: 1px solid lightgray;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
.ulGoalTopElements a {
|
||||
text-decoration: none;
|
||||
color: #0033CC;
|
||||
border-bottom: 1px dotted #0033CC;
|
||||
line-height: 2em;
|
||||
}
|
||||
|
||||
.goalDescription {
|
||||
padding-bottom: 12px;
|
||||
color: #999;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
|
||||
{% import 'ajaxMacros.twig' as ajax %}
|
||||
{{ ajax.errorDiv() }}
|
||||
|
||||
<script type="text/javascript">
|
||||
{% if userCanEditGoals %}
|
||||
{% if onlyShowAddNewGoal is not defined %}
|
||||
piwik.goals = {{ goalsJSON|raw }};
|
||||
{% endif %}
|
||||
{% else %}
|
||||
piwik.goals = {{ goalsJSON|raw }};
|
||||
{% endif %}
|
||||
|
||||
</script>
|
||||
|
||||
<div piwik-manage-goals
|
||||
{% if userCanEditGoals %}
|
||||
{% if onlyShowAddNewGoal is not defined %}
|
||||
{% if idGoal %}
|
||||
show-goal="{{ idGoal|e('js') }}"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
show-add-goal="true"
|
||||
{% endif %}
|
||||
{% endif %}>
|
||||
|
||||
{% if onlyShowAddNewGoal is not defined %}
|
||||
{% include "@Goals/_listGoalEdit.twig" %}
|
||||
{% endif %}
|
||||
{% if userCanEditGoals %}
|
||||
{% include "@Goals/_formAddGoal.twig" %}
|
||||
{% endif %}
|
||||
<a id='bottom'></a>
|
||||
</div>
|
168
msd2/tracking/piwik/plugins/Goals/templates/_formAddGoal.twig
Normal file
168
msd2/tracking/piwik/plugins/Goals/templates/_formAddGoal.twig
Normal file
@ -0,0 +1,168 @@
|
||||
<div piwik-content-block
|
||||
content-title="{{ 'Goals_AddNewGoal'|translate|e('html_attr') }}"
|
||||
class="addEditGoal"
|
||||
ng-show="manageGoals.showEditGoal">
|
||||
|
||||
{% if addNewGoalIntro is defined and addNewGoalIntro %}
|
||||
{{ addNewGoalIntro|raw }}
|
||||
{% endif %}
|
||||
|
||||
<div piwik-form>
|
||||
<div piwik-field uicontrol="text" name="goal_name"
|
||||
ng-model="manageGoals.goal.name"
|
||||
maxlength="50"
|
||||
title="{{ 'Goals_GoalName'|translate|e('html_attr') }}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="goal_description"
|
||||
ng-model="manageGoals.goal.description"
|
||||
maxlength="255"
|
||||
title="{{ 'General_Description'|translate|e('html_attr') }}">
|
||||
</div>
|
||||
|
||||
<div class="row goalIsTriggeredWhen">
|
||||
<div class="col s12">
|
||||
<h3>{{ 'Goals_GoalIsTriggered'|translate|e('html_attr') }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col s12 m6 goalTriggerType">
|
||||
<div piwik-field uicontrol="select" name="trigger_type"
|
||||
ng-model="manageGoals.goal.triggerType"
|
||||
ng-change="manageGoals.changedTriggerType()"
|
||||
full-width="true"
|
||||
options="{{ goalTriggerTypeOptions|json_encode }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m6">
|
||||
<div piwik-alert="info" ng-show="manageGoals.goal.triggerType == 'manually'">
|
||||
{{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions'>","</a>")|raw }}
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="radio" name="match_attribute"
|
||||
ng-show="manageGoals.goal.triggerType != 'manually'"
|
||||
full-width="true"
|
||||
ng-model="manageGoals.goal.matchAttribute"
|
||||
options="{{ goalMatchAttributeOptions|json_encode }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row whereTheMatchAttrbiute" ng-show="manageGoals.goal.triggerType != 'manually'">
|
||||
<h3 class="col s12">{{ 'Goals_WhereThe'|translate|e('html_attr') }}
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'url'">
|
||||
{{ 'Goals_URL'|translate }}
|
||||
</span>
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'title'">
|
||||
{{ 'Goals_PageTitle'|translate }}
|
||||
</span>
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'file'">
|
||||
{{ 'Goals_Filename'|translate }}
|
||||
</span>
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'external_website'">
|
||||
{{ 'Goals_ExternalWebsiteUrl'|translate }}
|
||||
</span>
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="row" ng-show="manageGoals.goal.triggerType != 'manually'">
|
||||
<div class="col s12 m6 l4"
|
||||
ng-show="manageGoals.goal.matchAttribute == 'event'">
|
||||
<div piwik-field uicontrol="select" name="event_type"
|
||||
ng-model="manageGoals.goal.eventType"
|
||||
full-width="true"
|
||||
options="{{ eventTypeOptions|json_encode }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col s12 m6 l4">
|
||||
<div piwik-field uicontrol="select" name="pattern_type"
|
||||
ng-model="manageGoals.goal.patternType"
|
||||
full-width="true"
|
||||
options="{{ patternTypeOptions|json_encode }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col s12 m6 l4">
|
||||
<div piwik-field uicontrol="text" name="pattern"
|
||||
ng-model="manageGoals.goal.pattern"
|
||||
maxlength="255"
|
||||
title="{{ 'Goals_Pattern'|translate|e('html_attr') }}"
|
||||
full-width="true">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="examples_pattern" class="col s12" piwik-alert="info">
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'url'">
|
||||
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'checkout/confirmation'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'http://example.com/thank-you.html'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'(.*)\\\/demo\\\/(.*)'") }}
|
||||
</span>
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'title'">
|
||||
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'Order confirmation'") }}
|
||||
</span>
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'file'">
|
||||
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'files/brochure.pdf'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'http://example.com/files/brochure.pdf'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'(.*)\\\.zip'") }}
|
||||
</span>
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'external_website'">
|
||||
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'amazon.com'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'http://mypartner.com/landing.html'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'http://www.amazon.com\\\/(.*)\\\/yourAffiliateId'") }}
|
||||
</span>
|
||||
<span ng-show="manageGoals.goal.matchAttribute == 'event'">
|
||||
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'video'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'click'") }}
|
||||
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'(.*)_banner'") }}"
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div piwik-field uicontrol="checkbox" name="case_sensitive"
|
||||
ng-model="manageGoals.goal.caseSensitive"
|
||||
ng-show="manageGoals.goal.triggerType != 'manually'"
|
||||
title="{{ 'Goals_CaseSensitive'|translate|e('html_attr') }} {{ 'Goals_Optional'|translate|e('html_attr') }}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="radio" name="allow_multiple"
|
||||
ng-model="manageGoals.goal.allowMultiple"
|
||||
options="{{ allowMultipleOptions|json_encode }}"
|
||||
introduction="{{ 'Goals_AllowMultipleConversionsPerVisit'|translate|e('html_attr') }}"
|
||||
inline-help="{{ 'Goals_HelpOneConversionPerVisit'|translate|e('html_attr') }}">
|
||||
</div>
|
||||
|
||||
<h3>{{ 'Goals_GoalRevenue'|translate }} {{ 'Goals_Optional'|translate }}</h3>
|
||||
|
||||
<div piwik-field uicontrol="number" name="revenue"
|
||||
ng-model="manageGoals.goal.revenue"
|
||||
placeholder="{{ 'Goals_DefaultRevenueLabel'|translate }}"
|
||||
inline-help="{{ 'Goals_DefaultRevenueHelp'|translate|e('html_attr') }}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="checkbox" name="use_event_value"
|
||||
ng-model="manageGoals.goal.useEventValueAsRevenue"
|
||||
title="{{ 'Goals_UseEventValueAsRevenue'|translate|e('html_attr') }}"
|
||||
ng-show="manageGoals.goal.matchAttribute == 'event'"
|
||||
inline-help="{{ 'Goals_EventValueAsRevenueHelp'|translate|e('html_attr') }} <br/><br/> {{ 'Goals_EventValueAsRevenueHelp2'|translate|e('html_attr') }}"
|
||||
>
|
||||
</div>
|
||||
|
||||
{{ postEvent("Template.endGoalEditTable") }}
|
||||
|
||||
<input type="hidden" name="goalIdUpdate" value=""/>
|
||||
<div piwik-save-button
|
||||
saving="manageGoals.isLoading"
|
||||
onconfirm="manageGoals.save()"
|
||||
ng-value="manageGoals.goal.submitText"></div>
|
||||
|
||||
{% if onlyShowAddNewGoal is not defined %}
|
||||
<div class='entityCancel' ng-show="manageGoals.showEditGoal" ng-click="manageGoals.showListOfReports()">
|
||||
{{ 'General_OrCancel'|translate("<a class='entityCancelLink'>","</a>")|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user