Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattab <matthieu.aubry@gmail.com>2017-03-22 02:16:08 +0300
committermattab <matthieu.aubry@gmail.com>2017-03-22 02:16:08 +0300
commit1da1dc6d6f11bfac71d3a31abe1b2a8dfe245a93 (patch)
tree79db3b5f1253368eef9cac35ab2e049d1750a3e1 /plugins
parent9409c0af8eeb7c9f57c92b7bf55cb55dc1445ab9 (diff)
parentb96ca0da581d9404f97c7fe0e0d2a6e4a2407e84 (diff)
Merge branch '3.x-dev' into tweaks
Diffstat (limited to 'plugins')
-rw-r--r--plugins/API/Controller.php4
-rw-r--r--plugins/Actions/lang/fi.json2
-rw-r--r--plugins/Actions/lang/it.json2
-rw-r--r--plugins/CoreAdminHome/lang/fi.json1
-rw-r--r--plugins/CoreAdminHome/lang/it.json2
-rw-r--r--plugins/CoreHome/angularjs/quick-access/quick-access.directive.js3
-rw-r--r--plugins/CoreHome/angularjs/siteselector/siteselector.controller.js3
-rw-r--r--plugins/CoreHome/javascripts/calendar.js3
-rw-r--r--plugins/CoreHome/javascripts/zen-mode.js3
-rw-r--r--plugins/CoreHome/lang/es.json2
-rw-r--r--plugins/CoreHome/lang/fi.json1
-rw-r--r--plugins/CoreHome/lang/it.json4
-rw-r--r--plugins/CorePluginsAdmin/Controller.php4
-rw-r--r--plugins/CorePluginsAdmin/CorePluginsAdmin.php5
-rw-r--r--plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html2
-rw-r--r--plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js27
-rw-r--r--plugins/CorePluginsAdmin/lang/fi.json9
m---------plugins/CustomAlerts0
m---------plugins/CustomDimensions0
-rw-r--r--plugins/Dashboard/lang/es.json24
-rw-r--r--plugins/Dashboard/lang/pl.json61
-rw-r--r--plugins/DevicesDetection/lang/fi.json1
-rw-r--r--plugins/Diagnostics/Diagnostic/PhpFunctionsCheck.php2
-rw-r--r--plugins/Ecommerce/lang/es.json7
-rw-r--r--plugins/Ecommerce/lang/it.json7
-rw-r--r--plugins/Events/lang/es.json2
-rw-r--r--plugins/Feedback/lang/es.json8
-rw-r--r--plugins/Goals/angularjs/manage-goals/manage-goals.controller.js7
-rw-r--r--plugins/Goals/lang/es.json10
-rw-r--r--plugins/Goals/lang/fi.json3
-rw-r--r--plugins/ImageGraph/lang/es.json2
-rw-r--r--plugins/Insights/lang/es.json2
-rw-r--r--plugins/Installation/lang/en.json3
-rw-r--r--plugins/Installation/lang/es.json8
-rw-r--r--plugins/Installation/lang/fi.json2
-rw-r--r--plugins/Live/lang/es.json8
-rw-r--r--plugins/Live/lang/fi.json4
-rw-r--r--plugins/Login/lang/fi.json3
-rw-r--r--plugins/Marketplace/Controller.php1
-rw-r--r--plugins/Marketplace/lang/en.json1
-rw-r--r--plugins/Marketplace/lang/es.json58
-rw-r--r--plugins/Marketplace/lang/fi.json6
-rw-r--r--plugins/Marketplace/templates/overview.twig7
-rw-r--r--plugins/MobileMessaging/lang/de.json1
-rw-r--r--plugins/MobileMessaging/lang/el.json1
-rw-r--r--plugins/MobileMessaging/lang/es.json10
-rw-r--r--plugins/MobileMessaging/lang/fi.json4
-rw-r--r--plugins/MobileMessaging/lang/fr.json1
-rw-r--r--plugins/MobileMessaging/lang/it.json4
-rw-r--r--plugins/MobileMessaging/lang/sq.json1
-rw-r--r--plugins/MobileMessaging/lang/zh-tw.json1
-rw-r--r--plugins/Morpheus/templates/admin.twig2
-rw-r--r--plugins/Morpheus/templates/dashboard.twig2
-rw-r--r--plugins/Overlay/lang/es.json4
-rw-r--r--plugins/Overlay/templates/startOverlaySession.twig13
-rw-r--r--plugins/PrivacyManager/lang/es.json10
-rw-r--r--plugins/PrivacyManager/lang/fi.json8
-rw-r--r--plugins/Referrers/lang/fi.json2
-rw-r--r--plugins/ScheduledReports/lang/el.json2
-rw-r--r--plugins/ScheduledReports/lang/it.json1
-rw-r--r--plugins/SegmentEditor/javascripts/Segmentation.js11
-rw-r--r--plugins/SegmentEditor/lang/es.json4
-rw-r--r--plugins/SegmentEditor/lang/fi.json2
-rw-r--r--plugins/SitesManager/angularjs/sites-manager/sites-manager.controller.js7
-rw-r--r--plugins/SitesManager/lang/fi.json2
-rw-r--r--plugins/SitesManager/lang/fr.json2
-rw-r--r--plugins/TestRunner/Commands/TestsRunUI.php4
-rw-r--r--plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php2
-rw-r--r--plugins/UserCountry/lang/fr.json2
-rw-r--r--plugins/UserCountryMap/lang/es.json2
-rw-r--r--plugins/UserLanguage/lang/fi.json2
-rw-r--r--plugins/UsersManager/angularjs/manage-users/manage-users.controller.js11
-rw-r--r--plugins/UsersManager/lang/es.json16
-rw-r--r--plugins/UsersManager/lang/fi.json1
-rw-r--r--plugins/UsersManager/lang/it.json5
-rw-r--r--plugins/VisitsSummary/lang/es.json2
76 files changed, 316 insertions, 140 deletions
diff --git a/plugins/API/Controller.php b/plugins/API/Controller.php
index 2d107182cb..25bfb7212d 100644
--- a/plugins/API/Controller.php
+++ b/plugins/API/Controller.php
@@ -16,6 +16,7 @@ use Piwik\Config;
use Piwik\Piwik;
use Piwik\Plugin\Report;
use Piwik\Url;
+use Piwik\UrlHelper;
use Piwik\View;
/**
@@ -50,6 +51,9 @@ class Controller extends \Piwik\Plugin\Controller
{
$ApiDocumentation = new DocumentationGenerator();
$prefixUrls = Common::getRequestVar('prefixUrl', 'http://demo.piwik.org/', 'string');
+ if (!UrlHelper::isLookLikeUrl($prefixUrls)) {
+ $prefixUrls = '';
+ }
return $ApiDocumentation->getApiDocumentationAsStringForDeveloperReference($outputExampleUrls = true, $prefixUrls);
}
diff --git a/plugins/Actions/lang/fi.json b/plugins/Actions/lang/fi.json
index 4b8be4fa72..84d97a3d64 100644
--- a/plugins/Actions/lang/fi.json
+++ b/plugins/Actions/lang/fi.json
@@ -13,7 +13,7 @@
"ColumnNoResultKeyword": "Ei hakutuloksia",
"ColumnPageName": "Sivun nimi",
"ColumnPagesPerSearch": "Haun tulossivut",
- "ColumnPagesPerSearchDocumentation": "Käyttäjät hakevat sivulla ja välillä klikkaavat tuloksien seuraavalle sivulle. Tämä on keskiarvo katsotuista hakutulossivuista.",
+ "ColumnPagesPerSearchDocumentation": "Kävijät tekevät sivustolla hakuja ja klikkaavat toisinaan linkkejä tuloksien seuraaville sivuille. Tämä on keskiarvo katsotuista hakutulossivuista.",
"ColumnPageURL": "Sivun URL",
"ColumnSearchCategory": "Haun kategoria",
"ColumnSearches": "Haut",
diff --git a/plugins/Actions/lang/it.json b/plugins/Actions/lang/it.json
index 1242d5e21f..bfbbfb37c7 100644
--- a/plugins/Actions/lang/it.json
+++ b/plugins/Actions/lang/it.json
@@ -29,8 +29,10 @@
"ColumnIdPageview": "ID Pagina vista",
"ColumnInteractionPosition": "Posizione Interazione",
"DownloadsReportDocumentation": "In questo report è possibile vedere quali file sono stati scaricati dai tuoi visitatori. %s Ciò che Piwik conta come download è il click su un link per il download. Se il download è stato completato o meno, non è noto a Piwik.",
+ "EntryPagesReportDocumentation": "Questo report contiene le informazioni sulle pagine di ingresso utilizzate nel periodo di tempo definito. Una pagina di ingresso è la prima pagina che un utente vede durante la sua visita. %s Le URL di ingresso vengono visualizzate come una struttura a cartelle.",
"EntryPageTitles": "Titoli delle pagine in entrata",
"EntryPageTitlesReportDocumentation": "Questo report contiene informazioni sui titoli delle pagine di ingresso che sono state utilizzate durante il periodo specificato.",
+ "ExitPagesReportDocumentation": "Questo report contiene le informazioni sulle pagine di uscita utilizzate nel periodo di tempo definito. Una pagina di uscita è l'ultima pagina che un utente vede durante la sua visita. %s Le URL di uscita vengono visualizzate come una struttura a cartelle.",
"ExitPageTitles": "Titoli delle pagine di uscita",
"ExitPageTitlesReportDocumentation": "Questo report contiene informazioni sui titoli delle pagine di uscita durante il periodo specificato.",
"LearnMoreAboutSiteSearchLink": "Scopri di più sul tracciamento di come i visitatori usano il vostro motore di ricerca.",
diff --git a/plugins/CoreAdminHome/lang/fi.json b/plugins/CoreAdminHome/lang/fi.json
index 6b18dc6345..e5b9cc57b3 100644
--- a/plugins/CoreAdminHome/lang/fi.json
+++ b/plugins/CoreAdminHome/lang/fi.json
@@ -61,6 +61,7 @@
"PluginSettingReadNotAllowed": "Et voi lukea asetusta \"%1$s\" lisäosasta \"%2$s\"",
"PluginSettingsIntro": "Täällä voit muuttaa kolmannen osapuolen liitännäisten asetuksia:",
"PluginSettingsValueNotAllowed": "Arvo kentälle \"%1$s\" liitännäisessä \"%2$s\" ei ole sallittu",
+ "SendPluginUpdateCommunication": "Lähetä sähköpostia, kun lisäosiin on saatavissa päivityksiä",
"SendPluginUpdateCommunicationHelp": "Pääkäyttäjät saavat sähköpostia kun lisäosasta on saatavilla uusi versio.",
"StableReleases": "Jos Piwik on tärkeä osa liiketointasi, suosittelemme päivittämistä uusimpaan versioon. Jos käytt uusinta beta-versiota ja löydät bugin tai sinulla on ehdotus, %1$slue tämä%2$s.",
"TrackAGoal": "Seuraa tavoitetta",
diff --git a/plugins/CoreAdminHome/lang/it.json b/plugins/CoreAdminHome/lang/it.json
index 00fb1062fa..d378bfd5e8 100644
--- a/plugins/CoreAdminHome/lang/it.json
+++ b/plugins/CoreAdminHome/lang/it.json
@@ -26,9 +26,11 @@
"JSTracking_CampaignNameParam": "Parametro Nome Campagna",
"JSTracking_CodeNoteBeforeClosingHead": "Assicurati che questo codice sia presente in ogni pagina del tuo sito. Ti raccomandiamo di incollarlo subito prima del tag %1$s di chiusura.",
"JSTracking_CustomCampaignQueryParam": "Utilizza i nomi dei parametri di query personalizzati per il nome della campagna e parola chiave",
+ "JSTracking_CrossDomain": "Per impostazione predefinita, l'ID visitatore che identifica un visitatore unico è memorizzato in un primo gruppo di cookies del browser al quale si può accedere solamente dalle pagine che si trovano nello stesso dominio. Abilitando i collegamenti cross domain, potrai tracciare tutte le azioni e le pagine viste di un determinato visitatore nell'ambito della stessa visita, anche quando esso visita le pagine di diversi domini. Quando un utente clicca su un link a un URL di uno degli alis del tuo sito web, verrà aggiunto un parametro URL pk_vid appresso all'ID Visitatore.",
"JSTracking_CustomCampaignQueryParamDesc": "Nota: %1$sPiwik rivelerà automaticamente i parametri di Google Analytics.%2$s",
"JSTracking_DisableCookies": "Disabilita tutti i cookies di tracking",
"JSTracking_DisableCookiesDesc": "Disabilita tutti i cookies proprietari. I cookies esistenti di Piwik verranno cancellati alla prossima visualizzazione della pagina.",
+ "JSTracking_EnableCrossDomainLinking": "Abilita i collegamenti cross domain",
"JSTracking_EnableDoNotTrack": "Abilita l'individuazione DoNotTrack lato client",
"JSTracking_EnableDoNotTrack_AlreadyEnabled": "Nota: È stato abilitato il supporto DoNotTrack lato server, così questa opzione non avrà effetto.",
"JSTracking_EnableDoNotTrackDesc": "In questo modo le richieste di tracciamento non verranno inviate se il visitatore non vuole essere tracciato.",
diff --git a/plugins/CoreHome/angularjs/quick-access/quick-access.directive.js b/plugins/CoreHome/angularjs/quick-access/quick-access.directive.js
index b71a468a7d..7161883e75 100644
--- a/plugins/CoreHome/angularjs/quick-access/quick-access.directive.js
+++ b/plugins/CoreHome/angularjs/quick-access/quick-access.directive.js
@@ -260,6 +260,9 @@
};
Mousetrap.bind('f', function(event) {
+ if (event.altKey) {
+ return;
+ }
if (event.preventDefault) {
event.preventDefault();
} else {
diff --git a/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js b/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js
index f872818897..8974576246 100644
--- a/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js
+++ b/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js
@@ -39,6 +39,9 @@
};
Mousetrap.bind('w', function(event) {
+ if (event.altKey) {
+ return;
+ }
if (event.preventDefault) {
event.preventDefault();
} else {
diff --git a/plugins/CoreHome/javascripts/calendar.js b/plugins/CoreHome/javascripts/calendar.js
index fdf58f2cf0..c026bc8da5 100644
--- a/plugins/CoreHome/javascripts/calendar.js
+++ b/plugins/CoreHome/javascripts/calendar.js
@@ -699,6 +699,9 @@
});
Mousetrap.bind('d', function(event) {
+ if (event.altKey) {
+ return;
+ }
if (event.preventDefault) {
event.preventDefault();
} else {
diff --git a/plugins/CoreHome/javascripts/zen-mode.js b/plugins/CoreHome/javascripts/zen-mode.js
index 13d5015419..145e4d4e88 100644
--- a/plugins/CoreHome/javascripts/zen-mode.js
+++ b/plugins/CoreHome/javascripts/zen-mode.js
@@ -15,6 +15,9 @@ $(function () {
}
Mousetrap.bind('z', function (event) {
+ if (event.altKey) {
+ return;
+ }
zenMode = !zenMode;
$cookies.put('zenMode', zenMode ? '1' : '0');
updateZenMode();
diff --git a/plugins/CoreHome/lang/es.json b/plugins/CoreHome/lang/es.json
index 3a93c1f008..c3befac55b 100644
--- a/plugins/CoreHome/lang/es.json
+++ b/plugins/CoreHome/lang/es.json
@@ -7,7 +7,7 @@
"ClickToEditX": "Clic para editar %s",
"ClickToSeeFullInformation": "Haz clic para ver la información completa",
"CloseSearch": "Cerrar búsqueda",
- "CloseWidgetDirections": "Puede cerrar este reproductor haciendo clic en el icono \"X\" en la parte superior del mismo.",
+ "CloseWidgetDirections": "Puede cerrar este módulo haciendo clic en el icono \"X\" de la parte superior del mismo.",
"ChooseX": "Elige %1$s",
"DataForThisReportHasBeenPurged": "Los datos para este informe tienen más de %s meses de antigüedad y han sido purgados.",
"DataTableExcludeAggregateRows": "Mostrar filas acumuladas %s Ocultarlas",
diff --git a/plugins/CoreHome/lang/fi.json b/plugins/CoreHome/lang/fi.json
index dffae61873..09f0c2d4d6 100644
--- a/plugins/CoreHome/lang/fi.json
+++ b/plugins/CoreHome/lang/fi.json
@@ -47,6 +47,7 @@
"ClickRowToExpandOrContract": "Klikkaa tätä riviä avataksesi tai sulkeaksesi alataulukon.",
"UndoPivotBySubtable": "Tämä raportti on käännetty %s:llä. Kumoa kääntö",
"PivotBySubtable": "Tämä raportti ei ole käännetty %1$s:n mukaan. Käännetty %2$s:llä.",
+ "SystemSummaryNActivatedPlugins": "%d lisäosaa käytössä",
"QuickAccessTitle": "Hae %s:llä. Käytä nuolia navigointiin. Oikotie: haku aukeaa painamalla f-näppäintä.",
"MenuEntries": "Valikon sisältö",
"Segments": "Segmentit",
diff --git a/plugins/CoreHome/lang/it.json b/plugins/CoreHome/lang/it.json
index ea89211a76..520a633e9c 100644
--- a/plugins/CoreHome/lang/it.json
+++ b/plugins/CoreHome/lang/it.json
@@ -16,6 +16,7 @@
"Default": "predefinito",
"DonateCall1": "Piwik non costerà mai nulla a voi per il suo utilizzo, ma ciò non significa che non costi nulla a noi svilupparlo.",
"DonateCall2": "Piwik ha bisogno del vostro costante supporto per crescere e prosperare.",
+ "DonateCall3": "Se ritieni che Piwik abbia portato alla tua attività un significativo valore aggiunto, %1$sconsidera di fare una donazione%2$s o %3$sdi acquistare una funzionalità premium%4$s. Anche gli spiccioli aiutano.",
"DonateFormInstructions": "Fai clic sul cursore per selezionare una somma, quindi fai clic su sottoscrivi per donare.",
"ExcludeRowsWithLowPopulation": "Tutte le righe sono visualizzate %s Escludi quelle scarsamente popolate",
"ExternalHelp": "Aiuto (apri in una nuova scheda)",
@@ -66,6 +67,7 @@
"Segments": "Segmenti",
"OneClickUpdateNotPossibleAsMultiServerEnvironment": "L'aggiornamento in un click non è disponibile se stai utilizzando Piwik con server multipli. Si prega di scaricare l'ultima versione da %1$s per procedere.",
"AdblockIsMaybeUsed": "Se stai utilizzando un plugin di blocco della pubblicità, disabilitalo per questo sito, per essere sicuro che Piwik lavori senza problemi.",
- "ChangeCurrentWebsite": "Scegli un sito, attualmente è selezionato: %s"
+ "ChangeCurrentWebsite": "Scegli un sito, attualmente è selezionato: %s",
+ "LeadingAnalyticsPlatformRespectsYourPrivacy": "La piattaforma gratuita di analisi web che rispetta la tua privacy."
}
} \ No newline at end of file
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index 13872a3793..5861ae0a71 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -88,6 +88,10 @@ class Controller extends Plugin\ControllerAdmin
static::dieIfPluginsAdminIsDisabled();
Piwik::checkUserHasSuperUserAccess();
+ if (!CorePluginsAdmin::isPluginUploadEnabled()) {
+ throw new \Exception('Plugin upload disabled by config');
+ }
+
$nonce = Common::getRequestVar('nonce', null, 'string');
if (!Nonce::verifyNonce(MarketplaceController::INSTALL_NONCE, $nonce)) {
diff --git a/plugins/CorePluginsAdmin/CorePluginsAdmin.php b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
index df8934519b..d1c0a3fee1 100644
--- a/plugins/CorePluginsAdmin/CorePluginsAdmin.php
+++ b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
@@ -36,6 +36,11 @@ class CorePluginsAdmin extends Plugin
return (bool) Config::getInstance()->General['enable_plugins_admin'];
}
+ public static function isPluginUploadEnabled()
+ {
+ return (bool) Config::getInstance()->General['enable_plugin_upload'];
+ }
+
public function getJsFiles(&$jsFiles)
{
$jsFiles[] = "libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js";
diff --git a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html
index 7b2ce74430..1fca1b63fe 100644
--- a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html
+++ b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html
@@ -21,7 +21,7 @@
<span ng-show="formField.defaultValue && formField.uiControl != 'checkbox' && formField.uiControl != 'radio'">
<br />
{{ 'General_Default'|translate }}:
- <span>{{formField.defaultValue|limitTo:50}}</span>
+ <span>{{formField.defaultValuePretty|limitTo:50}}</span>
</span>
</div>
</div>
diff --git a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js
index f3d9680819..821404e9e2 100644
--- a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js
+++ b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js
@@ -244,11 +244,34 @@
return field.availableValues;
}
+ function formatPrettyDefaultValue(defaultValue, availableOptions) {
+
+ if (!angular.isArray(availableOptions)) {
+ return defaultValue;
+ }
+
+ var prettyValues = [];
+
+ if (!angular.isArray(defaultValue)) {
+ defaultValue = [defaultValue];
+ }
+
+ angular.forEach(availableOptions, function (value, key) {
+ if (defaultValue.indexOf(value.key) !== -1) {
+ prettyValues.push(value.value);
+ }
+ });
+
+ return prettyValues.join(', ');
+ }
+
return function (scope, element, attrs) {
var field = scope.piwikFormField;
+ var defaultValue = field.defaultValue;
+
if (angular.isArray(field.defaultValue)) {
- field.defaultValue = field.defaultValue.join(',');
+ field.defaultValue = defaultValue.join(',');
}
if (field.type === 'boolean') {
@@ -263,6 +286,8 @@
// availableValues and in the watch change availableValues could trigger lots of more watch events
field.availableOptions = formatAvailableValues(field);
+ field.defaultValuePretty = formatPrettyDefaultValue(defaultValue, field.availableOptions);
+
field.showField = true;
var inlineHelpNode;
diff --git a/plugins/CorePluginsAdmin/lang/fi.json b/plugins/CorePluginsAdmin/lang/fi.json
index 1915fde78b..28fa58cd36 100644
--- a/plugins/CorePluginsAdmin/lang/fi.json
+++ b/plugins/CorePluginsAdmin/lang/fi.json
@@ -1,15 +1,15 @@
{
"CorePluginsAdmin": {
"ActionUninstall": "Poista",
- "Activate": "Aktivoi",
- "Activated": "Aktivoitu",
+ "Activate": "Ota käyttöön",
+ "Activated": "Käytössä",
"Active": "Käytössä",
"Activity": "Toiminnot",
"AuthorHomepage": "Tekijän kotisivu",
"Changelog": "Muutokset",
"ChangeSettingsPossible": "Voit muuttaa tämän liitännäisen %1$sasetuksia%2$s",
"CorePluginTooltip": "Standardiliitännäisillä ei ole versioita, koska ne ovat Piwikin levittämiä.",
- "Deactivate": "Poistettu käytöstä",
+ "Deactivate": "Poista käytöstä",
"DoMoreContactPiwikAdmins": "Asentaaksesi uuden liitännäisen tai uuden teeman, ota yhteyttä Piwikin ylläpitäjiin.",
"History": "Historia",
"Inactive": "Ei käytössä",
@@ -20,7 +20,7 @@
"InstallNewThemes": "Asenna uusia teemoja",
"LicenseHomepage": "Lisenssisivu",
"PluginsExtendPiwik": "Lisäosilla voi laajentaa ja parantaa Piwikin toiminnallisuutta.",
- "OncePluginIsInstalledYouMayActivateHere": "Kun lisäosa on asennettu, voit aktivoida ja poistaa käytöstä sen täällä.",
+ "OncePluginIsInstalledYouMayActivateHere": "Kun lisäosa on asennettu, voit ottaa sen käyttöön tai poistaa käytöstä täällä.",
"MenuPlatform": "Sovellusalusta",
"MissingRequirementsNotice": "Päivitä %1$s %2$s uudempaan versioon, %1$s %3$s vaaditaan.",
"NoZipFileSelected": "Ole hyvä ja valitse ZIP-tiedosto.",
@@ -33,6 +33,7 @@
"PluginNotWorkingAlternative": "Jos olet käyttänyt tätä liitännäistä, voit ehkä löytää uudemman version kauppatorilta. Muussa tapauksessa haluat ehkä poistaa liitännäisen.",
"PluginRequirement": "%1$s vaatii %2$s:n.",
"PluginsManagement": "Lisäosien hallinta",
+ "PluginActivated": "Lisäosa otettu käyttöön",
"Status": "Tila",
"SuccessfullyActicated": "<strong>%s<\/strong> on aktivoitu onnistuneesti.",
"TeaserExtendPiwik": "Laajenna Piwikiä liitännäisillä ja teemoilla",
diff --git a/plugins/CustomAlerts b/plugins/CustomAlerts
-Subproject cd9121dd4671f19783f6f7b576f2f2a1b5c4898
+Subproject 4ff23fa2d64d9e9dfc7d7f74f96ecc29881f97c
diff --git a/plugins/CustomDimensions b/plugins/CustomDimensions
-Subproject 3460c802ad121db9ab9e8e70bc68733f1f109f7
+Subproject b4170a796a533b5d7fb8b78411ee83b0ffe082d
diff --git a/plugins/Dashboard/lang/es.json b/plugins/Dashboard/lang/es.json
index a357f09051..4fb8c64829 100644
--- a/plugins/Dashboard/lang/es.json
+++ b/plugins/Dashboard/lang/es.json
@@ -1,35 +1,35 @@
{
"Dashboard": {
- "AddAWidget": "Agregar un reproductor",
- "AddPreviewedWidget": "Añade el reproductor al tablero",
+ "AddAWidget": "Añadir un módulo",
+ "AddPreviewedWidget": "Añade el módulo al panel de control",
"ChangeDashboardLayout": "Modificar distribución del tablero",
"CopyDashboardToUser": "Copiar tablero al usuario",
"CreateNewDashboard": "Crear nuevo tablero",
"Dashboard": "Tablero",
"DashboardCopied": "Actual tablero copiado exitosamente al usuario seleccionado.",
- "DashboardEmptyNotification": "Su Tablero no contiene ningún reproductor. Comience agregando alguno o sólo reajuste el tablero a los reproductores seleccionados por defecto.",
+ "DashboardEmptyNotification": "Su panel de control no contiene ningún módulo. Comience añadiendo alguno o restablezca el panel de control con la selección de módulos por defecto.",
"DashboardName": "Nombre del tablero:",
"DashboardOf": "Tablero de %s",
- "DefaultDashboard": "Tablero por defecto - Usando la selección de reproductores y disposición de columnas por defecto",
- "DeleteWidgetConfirm": "¿Está seguro que desea borrar este reproductor de su tablero?",
- "EmptyDashboard": "Tablero vacío - Elija sus reproductores preferidos",
- "LoadingWidget": "Cargando reproductor, por favor espere...",
+ "DefaultDashboard": "Panel de control por defecto - Usando la selección por defecto de módulos y la disposición de columnas",
+ "DeleteWidgetConfirm": "¿Está seguro que desea borrar este módulo de su panel de control?",
+ "EmptyDashboard": "Panel de control vacío - Elija sus módulos preferidos",
+ "LoadingWidget": "Cargando módulo, por favor espere...",
"ManageDashboard": "Configurar el tablero",
"Maximise": "Maximizar",
"Minimise": "Minimizar",
"NotUndo": "No podrá deshacer esta operación.",
- "PluginDescription": "Su tablero de análisis de internet. Personalize su tablero agregando nuevos reproductores, arrastre y suéltelos; cambie la disposición de las columnas del tablero. Cada usuario puede administrar su propio tablero personalizado.",
+ "PluginDescription": "Su panel de control. Personalice su tablero añadiendo nuevos módulos arrastrándolos y soltándolos; cambie la disposición de las columnas del panel de control. Cada usuario puede administrar su propio panel de control personalizado.",
"RemoveDashboard": "Elimina el tablero",
"RemoveDashboardConfirm": "¿Está seguro que desea eliminar el tablero \"%s\"?",
"RemoveDefaultDashboardNotPossible": "El tablero predeterminado no puede ser eliminado",
"RenameDashboard": "Renombrar el tablero",
"ResetDashboard": "Reinicia el tablero",
- "ResetDashboardConfirm": "¿Realmente desea reiniciar la distribución del tablero y regresar a la selección de reproductores por defecto?",
+ "ResetDashboardConfirm": "¿Realmente desea restablecer la distribución del panel de control y regresar a la selección de módulos por defecto ?",
"SelectDashboardLayout": "Por favor seleccione su nueva distribución de tablero",
- "SelectWidget": "Selecciona el reproductor para añadir en el tablero",
- "SetAsDefaultWidgets": "Establecer como selección de reproductores por defecto",
+ "SelectWidget": "Selecciona el módulo para añadirlo al panel de control",
+ "SetAsDefaultWidgets": "Establecer como selección de módulos por defecto",
"SetAsDefaultWidgetsConfirm": "¿Está seguro que desea establecer esta selección y disposición de tablero como la plantilla de tablero por defecto?",
- "SetAsDefaultWidgetsConfirmHelp": "Esta selección de reproductores y disposición de columnas del tablero será usada cuando un usuario cree un nuevo tablero o cuando sea usada la función \"%s\".",
+ "SetAsDefaultWidgetsConfirmHelp": "Esta selección de módulos y disposición de columnas del panel de control será usada cuando un usuario cree un nuevo panel de control o cuando se use la función \"%s\".",
"TopLinkTooltip": "Ver los reportes de Análisis de internet para %s.",
"WidgetNotFound": "Reproductor no encontrado",
"WidgetPreview": "Previsualización del reproductor"
diff --git a/plugins/Dashboard/lang/pl.json b/plugins/Dashboard/lang/pl.json
index 4bb3823e2b..8bb1576dfa 100644
--- a/plugins/Dashboard/lang/pl.json
+++ b/plugins/Dashboard/lang/pl.json
@@ -1,36 +1,37 @@
{
"Dashboard": {
- "AddAWidget": "Dodaj Widżet",
- "AddPreviewedWidget": "Dodaj obejrzane widżety do tablicy",
- "ChangeDashboardLayout": "Zmień wygląd tablicy analiz",
- "CopyDashboardToUser": "Kopiuj panel do użytkownika",
- "CreateNewDashboard": "Utwórz nową tablicę analiz",
- "Dashboard": "Tablica statystyk",
- "DashboardCopied": "Aktualny panel z powodzeniem można skopiować do wybranego użytkownika.",
- "DashboardEmptyNotification": "Twój panel nie zatwiera, żadnych gadżetów. Rozpocznij pracę od dodawania różnych gazetów lub po prostu zresetuj panel, aby przywrócić domyślną sekcję gadżetów.",
- "DashboardName": "Nazwa tablicy analiz:",
- "DashboardOf": "Panel z %s",
- "DefaultDashboard": "Domyślny panel - używa domyślnej sekcji gadżetów i kolumn układu.",
- "DeleteWidgetConfirm": "Czy jesteś pewien, że chcesz usunąć ten widżet z tej tablicy statystyk?",
- "EmptyDashboard": "Pusty panel - wskaż swóje ulubione gadżety",
- "LoadingWidget": "Ładowanie widżetu, proszę czekać...",
- "ManageDashboard": "Zarządzaj tablicami analiz",
+ "AddAWidget": "Dodaj gadżet",
+ "AddPreviewedWidget": "Kliknij, aby dodać gadżet do pulpitu",
+ "ChangeDashboardLayout": "Zmień układ pulpitu",
+ "CopyDashboardToUser": "Kopiuj pulpit do użytkownika",
+ "CreateNewDashboard": "Utwórz nowy pulpit",
+ "Dashboard": "Pulpit",
+ "DashboardCopied": "Bieżący panel został pomyślnie skopiowany do wybranego użytkownika.",
+ "DashboardEmptyNotification": "Twój pulpit nie zawiera żadnych gadżetów. Rozpocznij pracę od dodania kilku gadżetów, lub po prostu zresetuj pulpit, aby przywrócić domyślny zestaw gadżetów.",
+ "DashboardName": "Nazwa pulpitu:",
+ "DashboardOf": "Pulpit %s",
+ "DefaultDashboard": "Domyślny pulpit - używa domyślnego zestawu gadżetów i układu kolumn.",
+ "DeleteWidgetConfirm": "Czy jesteś pewien, że chcesz usunąć ten gadżet z pulpitu?",
+ "EmptyDashboard": "Pusty pulpit - wskaż swóje ulubione gadżety",
+ "LoadingWidget": "Ładowanie gadżetu, proszę czekać...",
+ "ManageDashboard": "Zarządzaj pulpitem",
"Maximise": "Maksymalizuj",
- "Minimise": "Minimalizacja",
+ "Minimise": "Minimalizuj",
"NotUndo": "Nie będziesz mógł cofnąć tej operacji.",
- "PluginDescription": "Twoja tablica statystyk. Dostosuj swoją tablicę poprzez dodanie nowych widżetów, przeciągaj i opuszczaj je wokoło, zmień także wygląd kolumn. Każdy użytkownik może zarządzać swoją własną tablicą.",
- "RemoveDashboard": "Usuń tablicę analiz",
- "RemoveDashboardConfirm": "Czy jesteś pewny, że chcesz usunąć panel \"%s\"?",
- "RenameDashboard": "Zmień nawę tablicy analiz",
- "ResetDashboard": "Resetuj tablice analiz",
- "ResetDashboardConfirm": "Czy na pewno chcesz zresetować układ tablicy analiz?",
- "SelectDashboardLayout": "Proszę wybrać swój nowy wygląd tablicy analiz",
- "SelectWidget": "Wybierz widżet który chcesz dodać do tablicy statystyk",
- "SetAsDefaultWidgets": "Ustaw wybrane gadżety jako domyślne",
- "SetAsDefaultWidgetsConfirm": "Czy na pewno chcesz, aby ustawić wybór i układ gadżetów na bieżącym panelu jako domyślny szablon panelu ?",
- "SetAsDefaultWidgetsConfirmHelp": "Ta sekcja gadżetów i układ kolumn będzie używany, gdy jakikolwiek użytkownik stworzy nowy panel albo gdy funkcja \"%s\" jest w użyciu.",
- "TopLinkTooltip": "Podgląd raportów Web Analytics %s.",
- "WidgetNotFound": "Widżet nie został znaleziony",
- "WidgetPreview": "Podgląd widżetu"
+ "PluginDescription": "Twoja tablica statystyk. Dostosuj swoją tablicę poprzez dodanie nowych gadżetów, przeciągaj i opuszczaj je wokoło, zmień także układ kolumn. Każdy użytkownik może zarządzać swoją własną tablicą.",
+ "RemoveDashboard": "Usuń pulpit",
+ "RemoveDashboardConfirm": "Czy jesteś pewny, że chcesz usunąć pulpit \"%s\"?",
+ "RemoveDefaultDashboardNotPossible": "Nie można usunąć domyślnego pulpitu",
+ "RenameDashboard": "Zmień nawę pulpitu",
+ "ResetDashboard": "Resetuj pulpit",
+ "ResetDashboardConfirm": "Czy na pewno chcesz zresetować układ pulpitu?",
+ "SelectDashboardLayout": "Proszę wybrać swój nowy wygląd pulpitu",
+ "SelectWidget": "Wybierz gadżet, który chcesz dodać do pulpitu",
+ "SetAsDefaultWidgets": "Ustaw jako domyślny zestaw gadżetów",
+ "SetAsDefaultWidgetsConfirm": "Czy na pewno chcesz ustawić wybór i układ gadżetów na bieżącym panelu jako domyślny szablon panelu?",
+ "SetAsDefaultWidgetsConfirmHelp": "Ten zestaw gadżetów i układ kolumn będzie używany, gdy jakikolwiek użytkownik stworzy nowy panel, albo gdy funkcja \"%s\" jest w użyciu.",
+ "TopLinkTooltip": "Podgląd raportów Web Analytics dla %s.",
+ "WidgetNotFound": "Gadżet nie został znaleziony",
+ "WidgetPreview": "Podgląd gadżetu"
}
} \ No newline at end of file
diff --git a/plugins/DevicesDetection/lang/fi.json b/plugins/DevicesDetection/lang/fi.json
index 161ed55866..90b76ac4b7 100644
--- a/plugins/DevicesDetection/lang/fi.json
+++ b/plugins/DevicesDetection/lang/fi.json
@@ -8,6 +8,7 @@
"BrowserVersions": "Selainversiot",
"Camera": "Kamera",
"CarBrowser": "Auton selain",
+ "Software": "Ohjelmisto",
"ColumnBrowser": "Selain",
"ColumnOperatingSystem": "Käyttöjärjestelmä",
"Console": "Konsoli",
diff --git a/plugins/Diagnostics/Diagnostic/PhpFunctionsCheck.php b/plugins/Diagnostics/Diagnostic/PhpFunctionsCheck.php
index 26e30326be..736fc73877 100644
--- a/plugins/Diagnostics/Diagnostic/PhpFunctionsCheck.php
+++ b/plugins/Diagnostics/Diagnostic/PhpFunctionsCheck.php
@@ -59,6 +59,7 @@ class PhpFunctionsCheck implements Diagnostic
'debug_backtrace',
'create_function',
'eval',
+ 'hash',
'gzcompress',
'gzuncompress',
'pack',
@@ -101,6 +102,7 @@ class PhpFunctionsCheck implements Diagnostic
'debug_backtrace' => 'Installation_SystemCheckDebugBacktraceHelp',
'create_function' => 'Installation_SystemCheckCreateFunctionHelp',
'eval' => 'Installation_SystemCheckEvalHelp',
+ 'hash' => 'Installation_SystemCheckHashHelp',
'gzcompress' => 'Installation_SystemCheckGzcompressHelp',
'gzuncompress' => 'Installation_SystemCheckGzuncompressHelp',
'pack' => 'Installation_SystemCheckPackHelp',
diff --git a/plugins/Ecommerce/lang/es.json b/plugins/Ecommerce/lang/es.json
index 1f39ffe235..d79a558766 100644
--- a/plugins/Ecommerce/lang/es.json
+++ b/plugins/Ecommerce/lang/es.json
@@ -3,6 +3,11 @@
"PluginDescription": "Comercio electrónico le permite rastrear cuando los usuarios agregan productos a su carrito y cuando se transforman en una venta electrónica. También rastrea productos y visualiza las categorías de producto y sus carritos abandonados.",
"Sales": "Ventas",
"SalesBy": "Ventas por %s",
- "SalesAdjective": "Ventas %s"
+ "SalesAdjective": "Ventas %s",
+ "LifeTimeValue": "Ingresos atribuidos al cliente durante el tiempo que fue cliente: \"Ecommerce Life Time Value\"",
+ "LifeTimeValueDescription": "Ingresos totales por Ecommerce atribuidos a este cliente a lo largo de todas las visitas: la suma de los ingresos de todas las compras para el visitante %s",
+ "VisitorProfileLTV": "Generó un Life Time Revenue de %1$s.",
+ "VisitorProfileItemsAndOrders": "Compró %1$s artículos en %2$s compras ecommerce.",
+ "VisitorProfileAbandonedCartSummary": "Abandonó %1$s carritos de compra que incluían %2$s artículos por un valor total de %3$s."
}
} \ No newline at end of file
diff --git a/plugins/Ecommerce/lang/it.json b/plugins/Ecommerce/lang/it.json
index 2a4fb97b24..918fe2cbd5 100644
--- a/plugins/Ecommerce/lang/it.json
+++ b/plugins/Ecommerce/lang/it.json
@@ -3,6 +3,11 @@
"PluginDescription": "Ecommerce ti consente di tracciare quando gli utenti aggiungono al carrello dei prodotti, e quando questi vengono convertiti in una vendita. Traccia anche le visioni dei prodotti, delle categorie di prodotti e i carrelli abbandonati.",
"Sales": "Vendite",
"SalesBy": "Vendite per %s",
- "SalesAdjective": "Vendite %s"
+ "SalesAdjective": "Vendite %s",
+ "LifeTimeValue": "Incasso Complessivo Ecommerce",
+ "LifeTimeValueDescription": "Ricavo totale Ecommerce attribuito a questo cliente durante tutte le sue visite: la somma degli incassi di tutti gli ordini commerce per l'ID Visitatore %s.",
+ "VisitorProfileLTV": "Generato un Incasso Complessivo di %1$s.",
+ "VisitorProfileItemsAndOrders": "Acquistati %1$s articoli in %2$s ordini ecommerce.",
+ "VisitorProfileAbandonedCartSummary": "Abbandonati %1$s carrelli contenenti %2$s articoli per un valore di %3$s."
}
} \ No newline at end of file
diff --git a/plugins/Events/lang/es.json b/plugins/Events/lang/es.json
index b602256a4e..0ef8fbe081 100644
--- a/plugins/Events/lang/es.json
+++ b/plugins/Events/lang/es.json
@@ -15,7 +15,7 @@
"EventsWithValue": "Eventos con un valor",
"EventsWithValueDocumentation": "Numero de eventos en los que se estableció un valor",
"EventValue": "Valor del evento",
- "EventValueTooltip": "El valor total del evento se compone de la suma de %1$s los valores de los eventos %2$s entre un mínimo de %3$s y un máximo de %4$s.",
+ "EventValueTooltip": "El valor total del evento se compone de la suma de los %1$s valores de los eventos %2$s entre un mínimo de %3$s y un máximo de %4$s.",
"MaxValue": "Valor máximo",
"MaxValueDocumentation": "El valor máximo de este evento",
"MinValue": "Valor mínimo",
diff --git a/plugins/Feedback/lang/es.json b/plugins/Feedback/lang/es.json
index a4e07c8a65..4f4bfef846 100644
--- a/plugins/Feedback/lang/es.json
+++ b/plugins/Feedback/lang/es.json
@@ -3,7 +3,7 @@
"DoYouHaveBugReportOrFeatureRequest": "¿Tienes un error que informar o una nueva característica?",
"HowToCreateTicket": "Por favor, lee las recomendaciones de cómo escribir un buen %1$sinforme de error%2$s o %3$spetición de funcionalidad%4$s. Luego regístrese o inicie sesión en nuestro %5$ssistema de seguimiento de errores%6$s y crea un %7$snuevo tema de discusión%8$s.",
"IWantTo": "Yo quiero:",
- "LearnWaysToParticipate": "Aprende sobre todas las formas de %1$sparticipar%2$s",
+ "LearnWaysToParticipate": "Aprende a cerca de todas las formas de %1$sparticipar%2$s",
"ManuallySendEmailTo": "Por favor envíe su mensaje manualmente a",
"PluginDescription": "Envíe su comentario al equipo de Piwik. ¡Comparte tus ideas y sugerencias para hacer de Piwik la mejor plataforma de analíticas en el mundo!",
"PrivacyClaim": "Piwik respeta su %1$sprivacidad%2$s y le deja controlar todos sus datos.",
@@ -20,11 +20,11 @@
"CommunityHelp": "Ayuda comunitaria",
"ProfessionalHelp": "Ayuda profesional",
"ProfessionalServicesIntro": "Nuestra red mundial de consultores profesionales que brindan asistencia a todos los clientes que hospedan Piwik en su propia infraestructura.",
- "ProfessionalServicesOfferIntro": "¿Qué servicios puede beneficiarse?",
- "ProfessionalServicesReviewPiwikSetup": "Reseña de su instalación Piwik",
+ "ProfessionalServicesOfferIntro": "¿De qué servicios puedes beneficiarte?",
+ "ProfessionalServicesReviewPiwikSetup": "Una reseña de su instalación Piwik",
"ProfessionalServicesOptimizationMaintenance": "Servicios de mantenimiento & optimización Piwik",
"ProfessionalServicesPhoneEmailSupport": "Asistencia por teléfono y correo electrónico",
- "ProfessionalServicesTraining": "Usuario, técnico y entrenamiento del desarrollador",
+ "ProfessionalServicesTraining": "Cursos de usuario, técnico y desarrollador",
"ProfessionalServicesPremiumFeatures": "Funciones premium",
"ProfessionalServicesCustomDevelopment": "Servicios de desarrollo personalizado",
"ProfessionalServicesAnalystConsulting": "Servicios de consultoría de análisis",
diff --git a/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js b/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js
index c2eb80eca1..8ef619c310 100644
--- a/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js
+++ b/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js
@@ -157,6 +157,13 @@
};
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 = */'0', '0');
scrollToTop();
diff --git a/plugins/Goals/lang/es.json b/plugins/Goals/lang/es.json
index df39949d25..3b149409d4 100644
--- a/plugins/Goals/lang/es.json
+++ b/plugins/Goals/lang/es.json
@@ -10,7 +10,7 @@
"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 metas%2$s",
+ "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",
@@ -33,7 +33,7 @@
"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 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 informe. %2$s Para más información, lea la %3$sdocumentación sobre Seguimiento de Objetivos en piwik.org%4$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",
@@ -69,7 +69,7 @@
"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 metas en Piwik%2$s en la documentación de usuario.",
+ "LearnMoreAboutGoalTrackingDocumentation": "Aprender más acerca de %1$sRastrear objetivos en Piwik%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()",
@@ -102,7 +102,7 @@
"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 solicitud vía el 'trackGoal' de Javascript (%1$ssaber más%2$s)",
- "YouCanEnableEcommerceReports": "Puede habilitar %1$s para este sitio de internet en la página %2$s."
+ "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."
}
} \ No newline at end of file
diff --git a/plugins/Goals/lang/fi.json b/plugins/Goals/lang/fi.json
index c90c02f06a..cbcbc6504c 100644
--- a/plugins/Goals/lang/fi.json
+++ b/plugins/Goals/lang/fi.json
@@ -10,6 +10,7 @@
"BestKeywords": "Parhaat hakusanat ovat:",
"BestReferrers": "Parhaat verkkosivuviittaajat ovat:",
"CaseSensitive": "Kokoherkkä",
+ "CategoryTextReferrers_Referrers": "Viittaajat",
"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ä.",
@@ -32,7 +33,7 @@
"Conversions": "%s siirtymää",
"ConversionsOverview": "Siirtymien yleiskatsaus",
"ConversionsOverviewBy": "Tavoitteiden saavuttamisen yleiskatsaus vierailun tyypin mukaan",
- "DaysToConv": "Päiviä tavoiteen saavuttamiseen",
+ "DaysToConv": "Päiviä tavoitteen saavuttamiseen",
"DefaultGoalConvertedOncePerVisit": "(oletus) tavoitteen voi saavuttaa vain kerran per käynti",
"DefaultRevenue": "Tavoitteen oletustuotto on",
"DefaultRevenueHelp": "Esimerkiksi lähetetyn \"Ota yhteyttä\"-lomakkeen arvo voi olla keskimäärin 10€. Piwik auttaa ymmärtämään, miten eri segmentit tuovat rahaa.",
diff --git a/plugins/ImageGraph/lang/es.json b/plugins/ImageGraph/lang/es.json
index e11a85da22..e213f5f341 100644
--- a/plugins/ImageGraph/lang/es.json
+++ b/plugins/ImageGraph/lang/es.json
@@ -1,6 +1,6 @@
{
"ImageGraph": {
- "ColumnOrdinateMissing": "La columna '%1$s' no se encontró en este informe. Intente con alguno de %2$s",
+ "ColumnOrdinateMissing": "La columna '%1$s' no se encontró en este informe. Inténtalo con alguno de %2$s",
"PluginDescription": "Genera bellas imágenes estáticas de gráficos PNG para cualquiera de sus informes de datos."
}
} \ No newline at end of file
diff --git a/plugins/Insights/lang/es.json b/plugins/Insights/lang/es.json
index 314f4e32c8..e8bfcfc416 100644
--- a/plugins/Insights/lang/es.json
+++ b/plugins/Insights/lang/es.json
@@ -1,6 +1,6 @@
{
"Insights": {
- "PluginDescription": "Proporciona información detallada acerca de su tráfico. Estos están disponibles como reproductores del tablero, así como un nuevo icono en los informes que le permiten ver las tendencias más importantes en sus datos.",
+ "PluginDescription": "Proporciona información detallada acerca de su tráfico. Estos detalles están disponibles como módulos del panel de control y como un nuevo icono en los informes que le permite ver las tendencias más importantes en sus datos.",
"ControlComparedToDescription": "Crecimiento comparado con",
"ControlFilterByDescription": "Muestra todos, solo los más activos, nuevos o solo desaparecidos",
"DatePeriodCombinationNotSupported": "No es posible generar estadística para esta combinación de fecha y periodo.",
diff --git a/plugins/Installation/lang/en.json b/plugins/Installation/lang/en.json
index 6e13414628..131b40a2a1 100644
--- a/plugins/Installation/lang/en.json
+++ b/plugins/Installation/lang/en.json
@@ -84,6 +84,7 @@
"SystemCheckGlobHelp": "This built-in function has been disabled on your host. Piwik will attempt to emulate this function but may encounter further security restrictions. Functionality may be impacted.",
"SystemCheckGzcompressHelp": "You need to enable the zlib extension and gzcompress function.",
"SystemCheckGzuncompressHelp": "You need to enable the zlib extension and gzuncompress function.",
+ "SystemCheckHashHelp": "You need to configure and rebuild PHP with hash() support enabled by excluding the option --disable-hash.",
"SystemCheckIconvHelp": "You need to configure and rebuild PHP with \"iconv\" support enabled, --with-iconv.",
"SystemCheckJsonHelp": "The php5-json extension is required for Piwik to read and write JSON data.",
"SystemCheckMailHelp": "Feedback and Lost Password messages will not be sent without mail().",
@@ -144,4 +145,4 @@
"CannotConnectToDb": "Cannot connect to the database",
"CannotConnectToDbResolvingExplanation": "This may be a temporary issue, try %1$srefreshing the page%2$s. If the problem persists please contact your Piwik administrator."
}
-} \ No newline at end of file
+}
diff --git a/plugins/Installation/lang/es.json b/plugins/Installation/lang/es.json
index a7e989ed9d..419de82838 100644
--- a/plugins/Installation/lang/es.json
+++ b/plugins/Installation/lang/es.json
@@ -36,9 +36,9 @@
"NfsFilesystemWarning": "Su servidor está utilizando un sistema de archivos NFS.",
"NfsFilesystemWarningSuffixAdmin": "Esto significa que Piwik será extremadamente lento cuando se utilice sesiones basadas en archivos.",
"NfsFilesystemWarningSuffixInstall": "Utilizando sesiones basadas en archivos sobre NFS es extremadamente lento, por lo tanto Piwik utilizará sesiones basada en base de datos. Si tiene varios usuarios de tableros, puede que necesite incrementar el número máximo de conexiones de clientes al servidor de la base de datos.",
- "NoConfigFileFound": "El archivo de configuración de Piwik no pudo ser encontrado y está intentando acceder a la página de Piwik.",
+ "NoConfigFileFound": "El archivo de configuración de Piwik no pudo ser encontrado y está intentando acceder a una página de Piwik.",
"YouMayInstallPiwikNow": "Ahora puede %1$sinstalar Piwik%2$s",
- "IfPiwikInstalledBeforeTablesCanBeKept": "Si ha instalado Piwik anteriormente y posee algunas tlas en su base de datos, no se preocupe, puede reusarlas y mantenerlas!",
+ "IfPiwikInstalledBeforeTablesCanBeKept": "Si has instalado Piwik anteriormente y posees algunas tablas en tu base de datos, no te preocupes, ¡puedes reusarlas y mantenerlas!",
"Optional": "Opcional",
"Password": "Contraseña",
"PasswordDoNotMatch": "contraseña no coincide",
@@ -54,7 +54,7 @@
"RestartWebServer": "Luego de realizar este cambio, reinicie su servidor de internet.",
"ReusingTables": "Reutilizando las Tablas",
"PiwikOrgNewsletter": "Enviarme un correo electrónico con las principales actualizaciones de la comunidad Piwik",
- "ProfessionalServicesNewsletter": "enviarme información sobre los servicios %1$sProfesional y productos%2$s de Piwik",
+ "ProfessionalServicesNewsletter": "envíenme información sobre %1$slos servicios profesionales y productos%2$s de Piwik",
"SeeBelowForMoreInfo": "Véase más adelante para mayor información.",
"SetupWebsite": "Configurar un sitio de internet",
"SetupWebsiteError": "Se ha producido un error al añadir el sitio de internet",
@@ -78,7 +78,7 @@
"SystemCheckExtensions": "Otras extensiones requeridas",
"SystemCheckFileIntegrity": "Integridad de archivos",
"SystemCheckFunctions": "Funciones requeridas",
- "SystemCheckFunctionHelp": "Necesita habilitar esta función incorporada.",
+ "SystemCheckFunctionHelp": "Necesita habilitar esta función ya incorporada.",
"SystemCheckGDFreeType": "GD > 2.x + Freetype (gráfica)",
"SystemCheckGDHelp": "Los minigráficos e imágenes de gráficos (en la aplicación móvil de Piwik y en los informes por correo electrónico) no funcionarán.",
"SystemCheckGlobHelp": "Esta función integrada se ha desactivado en su host. Piwik intentará emular esta función, pero puede encontrarse con restricciones de seguridad. La funcionalidad puede verse afectada.",
diff --git a/plugins/Installation/lang/fi.json b/plugins/Installation/lang/fi.json
index 0ca63c3b51..767f3f3721 100644
--- a/plugins/Installation/lang/fi.json
+++ b/plugins/Installation/lang/fi.json
@@ -4,7 +4,7 @@
"ConfigurationHelp": "Piwikin asetustiedosto on luotu väärin. Voit joko poistaa tiedoston config\/config.ini.php ja käyttää asennusohjelmaa uudelleen tai korjata tietokannan asetukset.",
"ConfirmDeleteExistingTables": "Haluatko varmasti poistaa seuraavat taulut tietokannasta: %s? VAROITUS: TAULUJEN TIETOJA EI VOI PALAUTTAA EIKÄ POISTAMISTA VOI KUMOTA!",
"Congratulations": "Onnittelut",
- "CongratulationsHelp": "<p>Onnittelut! Piwikin asennus on valmis.<\/p><p>Varmista, että javascript-koodi on lisätty sivuille ja odota ensimmäisiä vierailijoita!<\/p>",
+ "CongratulationsHelp": "<p>Onnittelut! Piwikin asennus on valmis.<\/p><p>Varmista, että JavaScript-koodi on lisätty sivuille, ja odota ensimmäisiä vierailijoita!<\/p>",
"DatabaseAbilities": "Tietokannan toiminnot",
"DatabaseCreation": "Tietokannan luominen",
"DatabaseErrorConnect": "Virhe tietokantayhteyden avaamisessa",
diff --git a/plugins/Live/lang/es.json b/plugins/Live/lang/es.json
index 4bf0314e4d..404c0e0509 100644
--- a/plugins/Live/lang/es.json
+++ b/plugins/Live/lang/es.json
@@ -1,11 +1,9 @@
{
"Live": {
- "AbandonedCartSummary": "%1$s carritos abandonadoss%2$s y %3$s artículos abandonados%4$s por un total de %5$s%6$s.",
"AveragePageGenerationTime": "Cada página tomó en promedio %1$s para cargar este visitante.",
"CalculatedOverNPageViews": "Calculado usando las últimas %1$s páginas vistas de este visitante.",
"ClickToViewMoreAboutVisit": "Clic para ver más información acerca de esta visita.",
"ConvertedNGoals": "%s Objetivos convertidos",
- "EcommerceSummaryConversions": "%1$s pedidos%2$s por un total de %3$s%4$s, comprando %5$s artículos%6$s.",
"FirstVisit": "Primer visita",
"GoalType": "Tipo",
"HideMap": "ocultar mapa",
@@ -21,16 +19,16 @@
"NextVisitor": "Siguiente visitante",
"NoMoreVisits": "No hay más visitas de este visitante.",
"PageRefreshed": "Número de veces que esta página ha sido vista\/actualizada en una fila",
- "PluginDescription": "Suministra el Registro de Visitante en vivo y le permite observar a sus visitantes en tiempo real en el reproductor del tablero correspondiente. El complemento también le permite observar un perfil de visitante para cualquier usuario dado.",
+ "PluginDescription": "Suministra el Registro de Visitantes y le permite observar en directo a sus visitantes en el módulo correspondiente del panel de control de tiempo real. El complemento también le permite observar el perfil de visitante para cualquier usuario dado.",
"PreviousVisitor": "Visitante anterior",
"RealTimeVisitorCount": "Contador de visitantes en tiempo real",
"Referrer_URL": "URL de referencia",
"ShowMap": "mostrar mapa",
"SimpleRealTimeWidget_Message": "%1$s y %2$s en los últimos %3$s",
"ViewVisitorProfile": "Ver perfil de visitante",
- "VisitedPages": "Páginas vsitadas",
+ "VisitedPages": "Páginas visitadas",
"VisitorLog": "Registro de visitantes",
- "VisitorLogDocumentation": "Esta tabla muestra las últimas visitas en el rango de fecha seleccionado. Puede ver cuando fue la última visita de un visitante posicionándose sobre la fecha de la visita. %1$s Si el rango de fecha incluye el día actual, ¡puede ver a sus visitantes en tiempo real! %2$s La información mostrada aquí es siempre en tiempo real, independientemente de si y con qué frecuencia está utilizando un cron archivando.",
+ "VisitorLogDocumentation": "Esta tabla muestra las últimas visitas en el rango de fecha seleccionado. Puede ver cuándo fue la última visita de un visitante posicionándose sobre la fecha de la visita. %1$s Si el rango de fecha incluye el día actual, ¡puede ver a sus visitantes en tiempo real! %2$s La información mostrada aquí es siempre en tiempo real, independientemente de si -y con qué frecuencia- está utilizando un cron para archivar.",
"VisitorProfile": "Perfil de visitante",
"VisitorsInRealTime": "Visitantes en tiempo real",
"VisitorsLastVisit": "La última visita de este visitante fue hace %s días.",
diff --git a/plugins/Live/lang/fi.json b/plugins/Live/lang/fi.json
index a273a5d133..de8b3b9b60 100644
--- a/plugins/Live/lang/fi.json
+++ b/plugins/Live/lang/fi.json
@@ -11,7 +11,7 @@
"LastHours": "Edelliset %s tuntia",
"LastMinutes": "Edelliset %s minuuttia",
"LastVisit": "Edellinen käynti",
- "LinkVisitorLog": "Katso yksityiskohtainen vierailijan loki",
+ "LinkVisitorLog": "Katso yksityiskohtainen kävijäloki",
"LoadMoreVisits": "Lataa lisää käyntejä",
"MorePagesNotDisplayed": "muita sivuja tältä kävijältä ei näytetä",
"NbVisitor": "1 kävijä",
@@ -26,7 +26,7 @@
"SimpleRealTimeWidget_Message": "%1$s ja %2$s viimeisessä %3$s",
"ViewVisitorProfile": "Näytä kävijäprofiili",
"VisitedPages": "Vieraillut sivut",
- "VisitorLog": "Kävijän tiedot",
+ "VisitorLog": "Kävijöiden tiedot",
"VisitorLogDocumentation": "Tämä taulukko näyttää viimeisimmät käynnit valitulta aikaväliltä. Voit nähdä, koska viimeisin käynti oli pitämällä hiirtä päiväyksen päällä. %1$s Jos aikaväli sisältää tämän päivän, näet kävijät reaaliaikaisena! %2$s Näytetyt tiedot ovat aina reaaliaikaisia, riippumatta arkistoinnista.",
"VisitorProfile": "Kävijäprofiili",
"VisitorsInRealTime": "Reaaliaikaiset kävijätiedot",
diff --git a/plugins/Login/lang/fi.json b/plugins/Login/lang/fi.json
index 5cac73e20f..01a88b4c20 100644
--- a/plugins/Login/lang/fi.json
+++ b/plugins/Login/lang/fi.json
@@ -11,7 +11,10 @@
"LoginOrEmail": "Käyttäjätunnus tai sähköposti",
"LoginPasswordNotCorrect": "Käyttäjätunnus tai salasana väärin",
"LostYourPassword": "Unohtuiko salasana?",
+ "ChangeYourPassword": "Vaihda salasanasi",
"MailTopicPasswordChange": "Varmista salasanan vaihto",
+ "NewPassword": "Uusi salasana",
+ "NewPasswordRepeat": "Uusi salasana (toista)",
"PasswordChanged": "Salasana on vaihdettu.",
"PasswordRepeat": "Salasana (uudelleen)",
"PasswordsDoNotMatch": "Salasanat eivät täsmää.",
diff --git a/plugins/Marketplace/Controller.php b/plugins/Marketplace/Controller.php
index 986ee5cf9a..d04e374f74 100644
--- a/plugins/Marketplace/Controller.php
+++ b/plugins/Marketplace/Controller.php
@@ -271,6 +271,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$view->isPluginsAdminEnabled = CorePluginsAdmin::isPluginsAdminEnabled();
$view->isAutoUpdatePossible = SettingsPiwik::isAutoUpdatePossible();
$view->isAutoUpdateEnabled = SettingsPiwik::isAutoUpdateEnabled();
+ $view->isPluginUploadEnabled = CorePluginsAdmin::isPluginUploadEnabled();
return $view->render();
}
diff --git a/plugins/Marketplace/lang/en.json b/plugins/Marketplace/lang/en.json
index 1278adf2c2..f27bfc16bd 100644
--- a/plugins/Marketplace/lang/en.json
+++ b/plugins/Marketplace/lang/en.json
@@ -103,6 +103,7 @@
"Updated": "Updated",
"UpdatingPlugin": "Updating %1$s",
"UploadZipFile": "Upload ZIP file",
+ "PluginUploadDisabled": "Plugin upload is disabled in config file. In order to enable this feature please update your configuration or contact your administrator",
"LicenseKeyExpiresSoon": "Your license key expires soon, please contact %1$s.",
"LicenseKeyIsExpired": "Your license key is expired, please contact %1$s.",
"MultiServerEnvironmentWarning": "You cannot install or update the plugin directly as you are using Piwik on multiple servers. The plugin would be only installed on one server. Instead download the plugin and deploy it manually to all your servers.",
diff --git a/plugins/Marketplace/lang/es.json b/plugins/Marketplace/lang/es.json
index c8a6a0802f..04214e85c2 100644
--- a/plugins/Marketplace/lang/es.json
+++ b/plugins/Marketplace/lang/es.json
@@ -4,7 +4,7 @@
"ActionActivatePlugin": "Activar complemento",
"ActionActivateTheme": "Activar tema",
"ActionInstall": "Instalar",
- "AddToCart": "Agregar al carro",
+ "AddToCart": "Añadir al carrito de la compra",
"AllowedUploadFormats": "Puede subir un complemento o tema en formato .zip vía esta página.",
"Authors": "Autores",
"BackToMarketplace": "Volver al Mercado",
@@ -13,44 +13,73 @@
"CannotInstall": "No se puede instalar",
"CannotUpdate": "No se puede actualizar",
"ClickToCompletePurchase": "Haz clic para completar la compra.",
+ "CurrentNumPiwikUsers": "Actualmente, tu Piwik tiene %1$s usuarios registrados.",
+ "ConfirmRemoveLicense": "¿Estás seguro de que quieres eliminar tu clave de licencia? No recibirás actualizaciones para ninguno de tus complementos comprados.",
"Developer": "Desarrollador",
- "DevelopersLearnHowToDevelopPlugins": "Desarrolladores: Aprenda como extender y personalizar Piwik %1$sdesarrollando complementos o temas%2$s.",
+ "DevelopersLearnHowToDevelopPlugins": "Desarrolladores: Aprende como extender y personalizar Piwik %1$sdesarrollando complementos o temas%2$s.",
"Marketplace": "Mercado",
+ "PaidPlugins": "Funcionalidades Premium",
"FeaturedPlugin": "Complemento destacado",
+ "InstallingNewPluginViaMarketplaceOrUpload": "Puedes actualizar automáticamente %1$s desde el Mercado or %2$ssubir un %3$s%4$s en formato ZIP.",
"InstallingPlugin": "Instalando %s",
"InstallPurchasedPlugins": "Instalar complementos comprados",
"LastCommitTime": "(último cambio %s)",
"LastUpdated": "Última actualización",
"License": "Licencia",
- "LicenseKey": "Llave de licencia",
+ "LicenseKey": "Clave de licencia",
+ "LicenseKeyActivatedSuccess": "¡La clave de licencia se ha activado con éxito!",
+ "LicenseKeyDeletedSuccess": "Clave de licencia eliminada con éxito.",
"Exceeded": "Excedido",
+ "LicenseMissing": "No se encuentra la licencia",
+ "LicenseMissingDescription": "Estás usando los siguientes complementos sin licencia: %1$s. %2$sPara resolver esta incidencia: actualiza tu clave de licencia, %3$sconsigue una suscripción ahora%4$s o desactiva el complemento.",
+ "PluginLicenseMissingDescription": "No se te permite descargar este complemento porque no hay licencia para él. Para resolver esta incidencia, actualiza tu clave de licencia, consigue una suscripción o desinstala el complemento.",
+ "LicenseExceeded": "Licencia excedida",
+ "LicenseExceededDescription": "Las licencias para los siguiente complementos ya no son válidas porque se ha excedido del número de usuarios autorizados por la licencia: %1$s. %2$sNo podrás descargar actualizaciones para estos complementos. Para resolver esta incidencia, elimina algunos usuarios o %3$sactualiza la suscripción ahora%4$s.",
+ "PluginLicenseExceededDescription": "No se te permite descargar este complemento. La licencia para este complemento ya no es válida porque se ha excedido del número de usuarios autorizados por la licencia. Para resolver esta incidencia, elimina algunos usuarios o actualiza la suscripción ahora",
"LicenseExpired": "Licencia caducada",
+ "LicenseExpiredDescription": "Han expirado las licencias para los siguientes complementos: %1$s. %2$sNo recibirás más actualizaciones para estos plugins. Para resolver esta incidencia, %3$srenueva tu suscripción ahora%4$s o descativa el complemento si ya no lo usas.",
+ "LicenseRenewsNextPaymentDate": "Renueva en la siguiente fecha de pago",
"UpgradeSubscription": "Actualizar Suscripción",
+ "ViewSubscriptionsSummary": "%1$sVer tus suscripciones a complementos.%2$s",
"ViewSubscriptions": "Ver suscripciones",
- "ExceptionLinceseKeyIsExpired": "Esta llave de licencia está caducada.",
- "LicenseKeyIsValidShort": "La llave de licencia es valida!",
- "RemoveLicenseKey": "Eliminar llave de licencia",
+ "ExceptionLinceseKeyIsExpired": "Esta clave de licencia está caducada.",
+ "ExceptionLinceseKeyIsNotValid": "Esta clave de licencia no es válida.",
+ "LicenseKeyIsValidShort": "¡La clave de licencia es valida!",
+ "RemoveLicenseKey": "Eliminar clave de licencia",
"InstallAllPurchasedPlugins": "Instalar todos los complementos comprados de una vez",
"InstallAllPurchasedPluginsAction": "Instalar y activar %d complementos comprados",
- "InstallThesePlugins": "Esto instalara y activara los siguientes complementos:",
+ "InstallThesePlugins": "Esto instalará y activará los siguientes complementos:",
"AllPaidPluginsInstalledAndActivated": "Todos los complementos de pago fueron instalados y activados correctamente.",
"OnlySomePaidPluginsInstalledAndActivated": "Algunos complementos de pago no fueron instalados correctamente.",
"NewVersion": "nueva versión",
- "NotAllowedToBrowseMarketplacePlugins": "Puedes navegar la lista de complementos que se pueden instalar para personalizar o extender su plataforma Piwik. Por favor contáctese con el administrador si desea que sea instalado uno de ellos.",
- "NotAllowedToBrowseMarketplaceThemes": "Puede navegar la lista de temas que se pueden instalar para personalizar el estilo de su plataforma Piwik. Por favor contáctese con el administrador si desea que sea instalado uno de ellos.",
+ "NotAllowedToBrowseMarketplacePlugins": "Puedes navegar por la lista de complementos que se pueden instalar para personalizar o extender tu plataforma Piwik. Por favor contácta con el administrador si desea que sea instalado uno de ellos.",
+ "NotAllowedToBrowseMarketplaceThemes": "Puede navegar por la lista de temas que se pueden instalar para personalizar el estilo de su plataforma Piwik. Por favor contácta con el administrador si deseas que sea instalado uno de ellos.",
"NoPluginsFound": "No se encontraron complementos",
"NoThemesFound": "No se encontraron temas",
"NoSubscriptionsFound": "No se encontraron suscripciones",
"NumDownloadsLatestVersion": "Última versión: %s descargas",
+ "OverviewPluginSubscriptions": "Resumen de tus suscripciones a complementos",
+ "OverviewPluginSubscriptionsMissingLicense": "No tienes puesta la clave de licencia. Si has comprado una suscripción a un complemento, ve al %1$sMercado%2$s e introduce tu clave de licencia.",
"OverviewPluginSubscriptionsAllDetails": "Para ver todos los detalles, o para cambiar una suscripción, inicia sesión en tu cuenta.",
+ "OverviewPluginSubscriptionsMissingInfo": "Puede ser posible que no aparezcan algunas de las suscripciones, por ejemplo, si el pago no ha sido completado todavía. En tal caso, prueba de nuevo en unas horas o contacta con el equipo de Piwik.",
+ "NoValidSubscriptionNoUpdates": "Una vez que una suscripción expira, ya no recibirás más actualizaciones para este complemento.",
+ "PluginSubscriptionsList": "Esta es una lista de las suscripciones asociadas con tu clave de licencia.",
+ "PaidPluginsNoLicenseKeyIntro": "Si has comprado un %1$scomplemento premium de pago%2$s, por favor, introduce aquí abajo la clave de licencia que recibiste.",
+ "PaidPluginsWithLicenseKeyIntro": "Se ha configurado una clave de licencia válida. Por razones de seguridad no mostramos la clave aquí. Si has perdido tu clave de licencia, por favor, contacta con el equipo de Piwik.",
+ "PaidPluginsNoLicenseKeyIntroNoSuperUserAccess": "In caso de que hayas comprado un %1$scomplemento premium de pago%2$s en el \"Mercado\", por favor, pide a un usuario con acceso de \"Super Usuario\" que añada la clave de licencia.",
+ "PluginDescription": "Extiende y expande la funcionalidad de Piwik, por medio del \"Mercado\", descargando complementos y temas.",
"PluginKeywords": "Palabras claves",
- "PluginUpdateAvailable": "Está utilizando la versión %1$s y hay una nueva versión %2$s disponible.",
+ "PluginUpdateAvailable": "Estás utilizando la versión %1$s y hay una nueva versión %2$s disponible.",
"PluginVersionInfo": "%1$s de %2$s",
- "PluginWebsite": "Sitio de internet del complemento",
+ "PluginWebsite": "Sitio web del complemento",
+ "PriceExclTax": "%1$s %2$s impuestos excluidos",
+ "PriceFromPerPeriod": "Desde %1$s \/ %2$s",
"Reviews": "Reseñas",
+ "ShownPriceIsExclTax": "El precio mostrado no incluye impuestos.",
"Screenshots": "Capturas de pantalla",
"SortByNewest": "Más reciente",
"SortByAlpha": "Alfa",
+ "SortByLastUpdated": "Último actualizado",
"SortByPopular": "Popular",
"StepDownloadingPluginFromMarketplace": "Descargando complemento del Mercado",
"StepDownloadingThemeFromMarketplace": "Descargando tema del Mercado",
@@ -63,14 +92,21 @@
"StepReplaceExistingTheme": "Sustituyendo tema existente",
"StepThemeSuccessfullyUpdated": "El tema %1$s %2$s ha sido actualizado con éxito.",
"SubscriptionType": "Tipo",
+ "SubscriptionStartDate": "Fecha de inicio",
+ "SubscriptionEndDate": "Fecha de fin",
"SubscriptionNextPaymentDate": "Fecha del siguiente pago",
"SubscriptionInvalid": "Esta suscripción es invalida o ha caducado",
"SubscriptionExpiresSoon": "Esta suscripción expirará pronto",
"Support": "Asistencia",
"TeaserExtendPiwikByUpload": "Amplíe Piwik cargando un archivo ZIP",
+ "LicenseExceededPossibleCause": "La licencia se ha excedido. Posiblemente, en esta instalación de Piwik, haya más usuarios que los que autoriza la suscripción.",
"Updated": "Actualizado",
"UpdatingPlugin": "Actualizando %1$s",
"UploadZipFile": "Carga un archivo ZIP",
+ "LicenseKeyExpiresSoon": "Tu clave de licencia expira pronto, por favor, contacta con %1$s.",
+ "LicenseKeyIsExpired": "Tu clave de licencia ha expirado, por favor, contacta con %1$s.",
+ "MultiServerEnvironmentWarning": "No puedes instalar o actualizar el complemento directamente ya que estás usando Piwik en múltiples servidores y el complemento sería instalado en un solo servidor. Descarga el complemento y despliégalo manualmente en todos tu servidores.",
+ "AutoUpdateDisabledWarning": "No puedes instalar o actualizar el plugin directamente ya que las actualizaciones automáticas están deshabilitadas en la configuración. Para habilitar las actualizaciones automáticas configura %1$s en %2$s.",
"ViewRepositoryChangelog": "Ver cambios"
}
} \ No newline at end of file
diff --git a/plugins/Marketplace/lang/fi.json b/plugins/Marketplace/lang/fi.json
index c4bfc9e120..d99133e8a8 100644
--- a/plugins/Marketplace/lang/fi.json
+++ b/plugins/Marketplace/lang/fi.json
@@ -1,8 +1,8 @@
{
"Marketplace": {
"ActivateLicenseKey": "Aktivoi",
- "ActionActivatePlugin": "Aktivoi lisäosa",
- "ActionActivateTheme": "Aktivoi teema",
+ "ActionActivatePlugin": "Ota lisäosa käyttöön",
+ "ActionActivateTheme": "Ota teema käyttöön",
"ActionInstall": "Asenna",
"AllowedUploadFormats": "Tällä sivulla voit lisätä liitännäisen tai teeman .zip-formaatissa.",
"Authors": "Tekijät",
@@ -14,6 +14,8 @@
"InstallingPlugin": "Asenna %s",
"LastCommitTime": "(viimeisin lähetys %s)",
"LastUpdated": "Edellinen päivitys",
+ "InstallAllPurchasedPluginsAction": "Asenna ja ota käyttöön %d ostettua lisäosaa",
+ "InstallThesePlugins": "Seuraavat lisäosat asennetaan ja otetaan käyttöön:",
"NotAllowedToBrowseMarketplacePlugins": "Voit selata asennettavien liitännäisten listaa, joilla voit mukauttaa tai laajentaaa Piwik sovellusalustaasi. Ota yhteyttä ylläpitäjääsi saadaksesi liitännäinen asennettua.",
"NotAllowedToBrowseMarketplaceThemes": "Voit selata listaa asennettavista teemoista, joilla voit muuttaa Piwikin ilmettä. Ota yhteyttä ylläpitäjääsi saadaksesi teema asennetuksi.",
"NoPluginsFound": "Liitännäisiä ei löydetty",
diff --git a/plugins/Marketplace/templates/overview.twig b/plugins/Marketplace/templates/overview.twig
index 9541ab0a16..76123fc2a1 100644
--- a/plugins/Marketplace/templates/overview.twig
+++ b/plugins/Marketplace/templates/overview.twig
@@ -31,6 +31,7 @@
<div class="ui-confirm" id="installPluginByUpload">
<h2>{{ 'Marketplace_TeaserExtendPiwikByUpload'|translate }}</h2>
+ {% if isPluginUploadEnabled %}
<p class="description"> {{ 'Marketplace_AllowedUploadFormats'|translate }} </p>
<form enctype="multipart/form-data" method="post" id="uploadPluginForm"
@@ -39,6 +40,12 @@
<br />
<input class="startUpload btn" type="submit" value="{{ 'Marketplace_UploadZipFile'|translate }}">
</form>
+ {% else %}
+ <p class="description"> {{ 'Marketplace_PluginUploadDisabled'|translate|raw }} </p>
+ <pre>[General]
+enable_plugin_upload = 1</pre>
+ <input role="yes" type="button" value="{{ 'General_Ok'|translate }}"/>
+ {% endif %}
</div>
<div class="row marketplaceActions" ng-controller="PiwikMarketplaceController as marketplace">
diff --git a/plugins/MobileMessaging/lang/de.json b/plugins/MobileMessaging/lang/de.json
index 2a2961d948..648a8b59d6 100644
--- a/plugins/MobileMessaging/lang/de.json
+++ b/plugins/MobileMessaging/lang/de.json
@@ -42,6 +42,7 @@
"Available_Credits": "Verfügbares Guthaben: %1$s",
"TopLinkTooltip": "Erhalten Sie Webanalytik Berichte direkt in Ihren E-Mail Posteingang oder auf Ihr Mobiltelefon!",
"TopMenu": "E-Mail & SMS Berichte",
+ "UserKey": "Userkey",
"VerificationText": "Der Code lautet %1$s. Um Ihre Telefonnummer zu validieren und Piwik SMS Berichte zu erhalten kopieren Sie bitte diesen Code in das Formular unter Piwik > %2$s > %3$s."
}
} \ No newline at end of file
diff --git a/plugins/MobileMessaging/lang/el.json b/plugins/MobileMessaging/lang/el.json
index 4c5295b66d..cbf7485456 100644
--- a/plugins/MobileMessaging/lang/el.json
+++ b/plugins/MobileMessaging/lang/el.json
@@ -42,6 +42,7 @@
"Available_Credits": "Διαθέσιμες μονάδες: %1$s",
"TopLinkTooltip": "Λάβετε αναφορές Στατιστικών Ιστοσελίδων στο e-mail σας ή το κινητό σας τηλέφωνο!",
"TopMenu": "Αναφορές Email & SMS",
+ "UserKey": "Κλειδί χρήστη",
"VerificationText": "Ο κωδικός είναι %1$s. Για να επαληθεύσετε τον τηλεφωνικό σας αριθμό και να λάβετε αναφορές του Piwik σε SMS, αντιγράψτε τον κωδικό αυτόν στη διαθέσιμη φόρμα στο Piwik > %2$s > %3$s."
}
} \ No newline at end of file
diff --git a/plugins/MobileMessaging/lang/es.json b/plugins/MobileMessaging/lang/es.json
index a28d1858d6..61d194aa22 100644
--- a/plugins/MobileMessaging/lang/es.json
+++ b/plugins/MobileMessaging/lang/es.json
@@ -1,6 +1,6 @@
{
"MobileMessaging": {
- "Exception_UnknownProvider": "Nombre del proveedor '%1$s' desconocido. Intente con los siguientes: %2$s.",
+ "Exception_UnknownProvider": "Nombre del proveedor '%1$s' desconocido. Inténtalo con los siguientes: %2$s.",
"MobileReport_AdditionalPhoneNumbers": "Puede agregar más números telefónicos accediendo",
"MobileReport_MobileMessagingSettingsLink": "página de configuraciones de mensajería móvil",
"MobileReport_NoPhoneNumbers": "Por favor, active al menos un número telefónico accediendo",
@@ -13,10 +13,11 @@
"Settings_CredentialNotProvided": "Antes de crear y administrar los números telefónicos, por favor conecte Piwik con su cuenta SMS.",
"Settings_CredentialNotProvidedByAdmin": "Antes que pueda crear y administrar números telefónicos, consulte con su administrador para conectar Piwik con una cuenta SMS.",
"Settings_CredentialProvided": "Su %s cuenta API SMS está correctamente configurada!",
+ "Settings_CredentialInvalid": "Tu cuenta de SMS API %1$s está configurada, sin embargo, se produjo un error mientras se intentaban recibir los créditos disponibles.",
"Settings_DeleteAccountConfirm": "¿Está seguro que desea borrar esta cuenta SMS?",
"Settings_DelegatedSmsProviderOnlyAppliesToYou": "El proveedor de SMS configurado solo podrá ser usado por usted y nadie más.",
"Settings_DelegatedPhoneNumbersOnlyUsedByYou": "Los números telefónicos configurados solo pueden ser vistos y utilizados por usted y nadie más.",
- "Settings_EnterActivationCode": "Ingresar código de activación",
+ "Settings_EnterActivationCode": "Introducir el código de activación",
"Settings_InvalidActivationCode": "Código ingresado no es válido, inténtelo nuevamente.",
"Settings_LetUsersManageAPICredential": "Permitir a los usuarios administrar sus propias credenciales API de su SMS",
"Settings_LetUsersManageAPICredential_No_Help": "Todos los usuarios están habilitados a recibir Informes SMS y utilizarán los créditos de su cuenta de teléfono móvil.",
@@ -27,6 +28,7 @@
"Settings_PhoneNumbers_Add": "Agregar un nuevo número telefónico",
"Settings_PhoneNumbers_CountryCode_Help": "Si no conoce el código telefónico del país, búsquelo aquí.",
"Settings_PhoneNumbers_Help": "Antes de recibir los mensajes de texto (SMS) de los informes en un teléfono, el número de teléfono debe ser ingresado.",
+ "Settings_PhoneNumbers_HelpAdd": "Cuando hagas click en \"Añadir\", se enviará al teléfono un SMS que contiene un código. El usuario que reciba el código deberá conectarse a Piwik, hacer click en \"Configuración\" y, luego, hacer click en \"Mensajería móvil\". Después de introducir el código, el usuario ya podrá recibir informes de texto en su teléfono.",
"Settings_PleaseSignUp": "Para crear informes SMS y recibir mensajes de texto cortos con las estadísticas de sus sitios de internet en su teléfono móvil, por favor, enrólese con la API del SMS e ingrese su información abajo.",
"Settings_SMSAPIAccount": "Administrar API de la cuenta SMS",
"Settings_SMSProvider": "Proveedor SMS",
@@ -37,8 +39,10 @@
"Settings_VerificationCodeJustSent": "Hemos enviado un mensaje de texto (SMS) con un código: por favor, ingrese este código arriba y clic en \"Validar\".",
"SettingsMenu": "Mensajero móvil",
"SMS_Content_Too_Long": "[demasiado largo]",
+ "Available_Credits": "Créditos disponibles: %1$s",
"TopLinkTooltip": "Obtenga informes analíticos de su sitio de internet enviados a su casilla de correo electrónico o su teléfono móvil.",
"TopMenu": "Informes por correo electrónico & SMS",
- "VerificationText": "Código es %1$s. Para validar su número de teléfono y recibir los informes Piwik vía mensaje de texto (SMS), por favor, copie este código en el formulario accesible vía Piwik > %2$s > %3$s."
+ "UserKey": "Clave de usuario",
+ "VerificationText": "El código es %1$s. Para validar su número de teléfono y recibir los informes Piwik vía mensaje de texto (SMS), por favor, copie este código en el formulario accesible vía Piwik > %2$s > %3$s."
}
} \ No newline at end of file
diff --git a/plugins/MobileMessaging/lang/fi.json b/plugins/MobileMessaging/lang/fi.json
index 42cd39c70d..6fcfffb419 100644
--- a/plugins/MobileMessaging/lang/fi.json
+++ b/plugins/MobileMessaging/lang/fi.json
@@ -3,7 +3,7 @@
"Exception_UnknownProvider": "Tarjoajan nimi '%1$s' on tuntematon. Kokeile jotakin seuraavista: %2$s.",
"MobileReport_AdditionalPhoneNumbers": "Voit lisätä puhelinnumeroita",
"MobileReport_MobileMessagingSettingsLink": "Mobiiliviestinnän asetukset",
- "MobileReport_NoPhoneNumbers": "Aktivoi vähintään yksi puhelinnumero",
+ "MobileReport_NoPhoneNumbers": "Ota käyttöön vähintään yksi puhelinnumero",
"MultiSites_Must_Be_Activated": "Saadaksesi SMS-viestejä verkkosivusi tilastoista, sinun tulee sallia MultiSite liitännäinen Piwikissä.",
"PhoneNumbers": "Puhelinnumerot",
"PluginDescription": "Luo ja lataa sovellettuja SMS raportteja ja saa ne puhelimeesi päivittäin, viikoittain tai kuukausittain.",
@@ -15,7 +15,7 @@
"Settings_DeleteAccountConfirm": "Haluatko varmasti poistaa tämän SMS-tilin?",
"Settings_InvalidActivationCode": "Koodi on väärin. Yritä uudelleen.",
"Settings_LetUsersManageAPICredential": "Salli käyttäjien hallinnoida omia SMS API suosituksiaan",
- "Settings_LetUsersManageAPICredential_No_Help": "Kaikki käyttäjät voivat vastaanottaa SMS raportteja ja käyttävät tilisi luottoa.",
+ "Settings_LetUsersManageAPICredential_No_Help": "Kaikki käyttäjät voivat vastaanottaa SMS-raportteja ja käyttävät tilisi saldoa.",
"Settings_LetUsersManageAPICredential_Yes_Help": "Jokainen käyttäjä voi asettaa oman SPS API tilinsä, eikä käytä sinun luottoasi.",
"Settings_ManagePhoneNumbers": "Hallitse puhelinnumeroita",
"Settings_PhoneActivated": "Puhelinnumero on todennettu! Nyt voit vastaanottaa tilastojasi tekstiviesteinä.",
diff --git a/plugins/MobileMessaging/lang/fr.json b/plugins/MobileMessaging/lang/fr.json
index 91f0e7452b..797209d96f 100644
--- a/plugins/MobileMessaging/lang/fr.json
+++ b/plugins/MobileMessaging/lang/fr.json
@@ -42,6 +42,7 @@
"Available_Credits": "Crédit disponible: %1$s",
"TopLinkTooltip": "Recevez vos rapports d'analyse web dans votre boite de courriels ou sur votre téléphone mobile!",
"TopMenu": "Rapports Email & SMS",
+ "UserKey": "Clef utilisateur",
"VerificationText": "Le code est %1$s. Pour valider votre numéro de téléphone et recevoir les rapports SMS de Piwik veuillez copier ce code dans le formulaire accessible via Piwik > %2$s > %3$s."
}
} \ No newline at end of file
diff --git a/plugins/MobileMessaging/lang/it.json b/plugins/MobileMessaging/lang/it.json
index a43c4501fb..dfdad6713f 100644
--- a/plugins/MobileMessaging/lang/it.json
+++ b/plugins/MobileMessaging/lang/it.json
@@ -13,6 +13,7 @@
"Settings_CredentialNotProvided": "Prima di creare e gestire i numeri di telefono, si prega di collegare Piwik al tuo account SMS qui sopra.",
"Settings_CredentialNotProvidedByAdmin": "Prima di creare e gestire i numeri di telefono, contatta l'amministratore per collegare Piwik a un account SMS.",
"Settings_CredentialProvided": "Il tuo account %s SMS API è configurato correttamente!",
+ "Settings_CredentialInvalid": "Il tuo account SMS API %1$s è stato configurato ma si è verificato un errore durante il tentativo di ricezione dei crediti disponibili.",
"Settings_DeleteAccountConfirm": "Sei sicuro di voler cancellare questo account SMS?",
"Settings_DelegatedSmsProviderOnlyAppliesToYou": "Il provider SMS configurato verrà utilizzato solo da te e da nessuno degli altri utenti.",
"Settings_DelegatedPhoneNumbersOnlyUsedByYou": "I numeri di telefono configurati saranno visti e utilizzati solo da te e da nessuno degli altri utenti.",
@@ -27,6 +28,7 @@
"Settings_PhoneNumbers_Add": "Aggiungi Numero Telefonico",
"Settings_PhoneNumbers_CountryCode_Help": "Se desideri sapere il prefisso internazionale, cerca qui il tuo paese.",
"Settings_PhoneNumbers_Help": "Prima di ricevere SMS (messaggi di testo) su un telefono, bisogna inserirne qui sotto il numero.",
+ "Settings_PhoneNumbers_HelpAdd": "Quando clicchi si \"Aggiungi\", un SMS contenente un codice verrà inviato al telefono. L'utente che riceve il codice deve accedere a Piwik, cliccare su Impostazioni, poi cliccare su Messaggeria Mobile. Dopo avere inserito il codice, l'utente potrà ricevere i report testuali sul suo telefono.",
"Settings_PleaseSignUp": "Per creare SMS e ricevere brevi messaggi di testo con le statistiche dei tuoi siti web sul tuo cellulare, si prega di registrarsi con l'API SMS e immettere le informazioni qui di seguito.",
"Settings_SMSAPIAccount": "Gestisci Account SMS API",
"Settings_SMSProvider": "Gestore SMS",
@@ -37,8 +39,10 @@
"Settings_VerificationCodeJustSent": "Abbiamo inviato ora un SMS con un codice a questo numero: si prega di inserire questo codice qui sopraa e cliccare su \"Convalida\".",
"SettingsMenu": "Messaggeria Mobile",
"SMS_Content_Too_Long": "[troppo lungo]",
+ "Available_Credits": "Crediti disponibili: %1$s",
"TopLinkTooltip": "Ricevi i Rapporti delle Statistiche Web sulla tua casella di posta elettronica o sul tuo cellulare!",
"TopMenu": "Rapporti Email & SMS",
+ "UserKey": "Userkey",
"VerificationText": "Il codice è %1$s. Per convalidare il tuo numero telefonico e ricevere i report SMS di Piwik copia questo codice nel form accessibile da Piwik > %2$s > %3$s."
}
} \ No newline at end of file
diff --git a/plugins/MobileMessaging/lang/sq.json b/plugins/MobileMessaging/lang/sq.json
index c05a059e7c..0b33853b76 100644
--- a/plugins/MobileMessaging/lang/sq.json
+++ b/plugins/MobileMessaging/lang/sq.json
@@ -42,6 +42,7 @@
"Available_Credits": "Krediti që zotëroni: %1$s",
"TopLinkTooltip": "Merrni Raporte Analizash Web drejt e te email-i ose celulari juaj.",
"TopMenu": "Raporte me Email & SMS",
+ "UserKey": "Kyç përdoruesi",
"VerificationText": "Kodi është %1$s. Që të vleftësohet numri i telefonit tuaj dhe të merrni raporte Piwik me SMS, ju lutemi, kopjojeni këtë kot te formulari përkatës përmes Piwik-ut > %2$s > %3$s."
}
} \ No newline at end of file
diff --git a/plugins/MobileMessaging/lang/zh-tw.json b/plugins/MobileMessaging/lang/zh-tw.json
index 699d79ba74..5f193cbdd9 100644
--- a/plugins/MobileMessaging/lang/zh-tw.json
+++ b/plugins/MobileMessaging/lang/zh-tw.json
@@ -42,6 +42,7 @@
"Available_Credits": "可用額度:%1$s",
"TopLinkTooltip": "從信箱或手機取得網頁分析報表。",
"TopMenu": "Email 和簡訊報表",
+ "UserKey": "使用者金鑰",
"VerificationText": "驗證碼為 %1$s。請將此驗證碼填入 Piwik > %2$s > %3$s 的表單中來完成手機驗證。"
}
} \ No newline at end of file
diff --git a/plugins/Morpheus/templates/admin.twig b/plugins/Morpheus/templates/admin.twig
index 4fc89289e8..11907c0e75 100644
--- a/plugins/Morpheus/templates/admin.twig
+++ b/plugins/Morpheus/templates/admin.twig
@@ -25,7 +25,7 @@
{% import 'ajaxMacros.twig' as ajax %}
{{ ajax.requestErrorDiv(emailSuperUser|default(''), areAdsForProfessionalServicesEnabled, currentModule) }}
- {{ postEvent("Template.beforeContent", "admin", currentModule) }}
+ {{ postEvent("Template.beforeContent", "admin", currentModule, currentAction) }}
<div class="page">
diff --git a/plugins/Morpheus/templates/dashboard.twig b/plugins/Morpheus/templates/dashboard.twig
index 9bb9bf19a7..bc5cd070af 100644
--- a/plugins/Morpheus/templates/dashboard.twig
+++ b/plugins/Morpheus/templates/dashboard.twig
@@ -35,7 +35,7 @@
<input role="yes" type="button" value="{{ 'General_Ok'|translate }}"/>
</div>
- {{ postEvent("Template.beforeContent", "dashboard", currentModule) }}
+ {{ postEvent("Template.beforeContent", "dashboard", currentModule, currentAction) }}
<div class="page">
diff --git a/plugins/Overlay/lang/es.json b/plugins/Overlay/lang/es.json
index 24cda29637..d2767f0706 100644
--- a/plugins/Overlay/lang/es.json
+++ b/plugins/Overlay/lang/es.json
@@ -14,8 +14,8 @@
"OpenFullScreen": "Ir a pantalla completa (sin barras laterales)",
"Overlay": "Superposición de página",
"PluginDescription": "Vea su información analítica como una superposición en su actual sitio de internet. Vea cuántas veces sus usuarios han hecho clic en cada enlace. Nota: Requiere el complemento Transitions habilitado.",
- "RedirectUrlError": "Está intentando abrir Superposición de página de la dirección de internet \"%1$s\"- %2$s Ninguno de los dominios de su configuración Piwik coincide con el enlace.",
- "RedirectUrlErrorAdmin": "Puede agregar el dominio como una dirección de internet %1$sen la configuración%2$s.",
+ "RedirectUrlError": "Estás intentando abrir la \"Superposición de página\" para la URL \"%1$s\"- %2$s Ninguno de los dominios de su configuración Piwik coincide con el del enlace.",
+ "RedirectUrlErrorAdmin": "Puede agregar el dominio como una URL %1$sen la configuración%2$s.",
"RedirectUrlErrorUser": "Pregunte a su administrador para agregar el dominio como una dirección de internet adicional."
}
} \ No newline at end of file
diff --git a/plugins/Overlay/templates/startOverlaySession.twig b/plugins/Overlay/templates/startOverlaySession.twig
index b1db8ce5b2..995dd78020 100644
--- a/plugins/Overlay/templates/startOverlaySession.twig
+++ b/plugins/Overlay/templates/startOverlaySession.twig
@@ -8,20 +8,19 @@
}
}
- function removeUrlPrefix(url) {
- return url.replace(/http(s)?:\/\/(www\.)?/i, "");
- }
-
if (window.location.hash) {
var match = false;
+ var parser = document.createElement('a');
var urlToRedirect = window.location.hash.substr(1);
- var urlToRedirectWithoutPrefix = removeUrlPrefix(urlToRedirect);
+ parser.href = urlToRedirect;
+ var hostToRedirect = parser.hostname;
var knownUrls = {{ knownUrls|raw }};
for (var i = 0; i < knownUrls.length; i++) {
- var testUrl = removeUrlPrefix(knownUrls[i]);
- if (urlToRedirectWithoutPrefix.substr(0, testUrl.length) == testUrl) {
+ parser.href = knownUrls[i];
+ var testHost = parser.hostname;
+ if (hostToRedirect == testHost) {
match = true;
if (navigator.appName == "Microsoft Internet Explorer") {
// internet explorer loses the referrer if we use window.location.href=X
diff --git a/plugins/PrivacyManager/lang/es.json b/plugins/PrivacyManager/lang/es.json
index 852b976cc0..4422970ecb 100644
--- a/plugins/PrivacyManager/lang/es.json
+++ b/plugins/PrivacyManager/lang/es.json
@@ -2,7 +2,7 @@
"PrivacyManager": {
"AnonymizeIpDescription": "Seleccione \"Si\" si desea que Piwik no registre direcciones IP completas.",
"AnonymizeIpInlineHelp": "Ocultar los últimos bit(s) de la dirección IP del visitante para cumplir con las leyes\/directrices de privacidad de su jurisdicción.",
- "AnonymizeIpExtendedHelp": "Cuando los usuarios visiten su sitio de internet, Piwik no usará la dirección completa IP (tales como %1$s) sino que Piwik las mantendrá anónimas primeramente (como %2$s). El anonimato de una dirección IP es uno de los requerimientos dispuesto por leyes de privacidad en algunos países tales como Alemania.",
+ "AnonymizeIpExtendedHelp": "Cuando los usuarios visiten su sitio web, Piwik no usará la dirección IP completa (como en %1$s) sino que Piwik la mantendrá anónima (como en %2$s). El anonimato de una dirección IP es uno de los requisitos dispuestos por leyes de privacidad en algunos países como Alemania.",
"AnonymizeIpMaskLengtDescription": "Seleccione cuantos bytes de las direcciones IP de los visitantes deben ser enmascaradas.",
"AnonymizeIpMaskLength": "%1$s byte(s) - ej. %2$s",
"CannotLockSoDeleteLogActions": "La tabla log_action no se purgará: por favor, concede el privilegio LOCK TABLES al usuario '%s' de MySQL.",
@@ -22,8 +22,8 @@
"DeleteMaxRows": "Número máximo de filas que serán eliminadas en cada ejecución:",
"DeleteMaxRowsNoLimit": "sin límites",
"DeleteReportsConfirm": "Está disponiendo la eliminación de datos de informes. Si un antiguo informe es borrado, tendrá que reprocesarlos nuevamente para visualizarlos. ¿Está seguro que desea hacer esto?",
- "DeleteReportsDetailedInfo": "Información desde las tablas numéricas de los archivos de la base de datos (%1$s) y borradores de archivos de tablas (%2$s) serán eliminados.",
- "DeleteReportsInfo": "Si es habilitado, todos los antiguos informes serán eliminados. %1$sRecomendamos habilitarlo solo cuando el espacio de la base de datos sea limitado.%2$s",
+ "DeleteReportsDetailedInfo": "Serán eliminados los datos de las tablas con información numérica archivada (%1$s) y de las tablas de informes procesados (%2$s)",
+ "DeleteReportsInfo": "Si se habilita, todos los informes antiguos serán eliminados. %1$sRecomendamos habilitarlo solo cuando esté limitado el espacio en la base de datos .%2$s",
"DeleteReportsInfo2": "Si no ha habilitado \"%s\", los antiguos informes serán recreados automáticamente cuando sean solicitados.",
"DeleteReportsInfo3": "Si ha habilitado \"%s\", la información será eliminada de forma permanente.",
"DeleteReportsOlderThan": "Borrar informes anteriores a",
@@ -56,8 +56,8 @@
"RecommendedForPrivacy": "Recomendado por privacidad",
"ReportsDataSavedEstimate": "Tamaño de la base de datos",
"SaveSettingsBeforePurge": "Ha cambiado la configuración de borrado de información. Por favor, guárdelas antes de iniciar la purga.",
- "SeeAlsoOurOfficialGuidePrivacy": "Lee también nuestra guía oficial: %1$sPrivacidad del análisis de internet%2$s",
- "Teaser": "En esta página, puede personalizar Piwik para hacer que cumpla con la privacidad de las legislaciones existentes: %1$s haciendo anónima la IP del visitante%2$s, %3$s eliminar automáticamente los antiguos registros de los visitantes de la base de datos%4$s. y %5$s proporcionando un mecanismo de opción de desconectarse de su sitio de internet (para que los visitantes no sean seguidos)%6$s",
+ "SeeAlsoOurOfficialGuidePrivacy": "Lee también nuestra guía oficial: %1$sPrivacidad en las análíticas web%2$s",
+ "Teaser": "En esta página, puede personalizar Piwik para hacer que cumpla con la privacidad de las legislaciones existentes: %1$s haciendo anónima la IP del visitante%2$s, %3$s eliminar automáticamente los antiguos registros de los visitantes de la base de datos%4$s. y %5$s proporcionando un mecanismo de renuncia de su sitio web (para que los visitantes no sean rastreados)%6$s",
"TeaserHeadline": "Configuración de privacidad",
"UseAnonymizedIpForVisitEnrichment": "Usa también direcciones IP anónimas para enriquecer las visitas.",
"UseAnonymizedIpForVisitEnrichmentNote": "Los complementos Geo Location a través de IP y Provider mejoran los metadatos de los visitantes. Por defecto estos complementos utilizan las direcciones IP anónimas. Si elige 'No' será utilizada una dirección completa de forma no anónima lo que resulta en una menor privacidad pero una mayor precisión de datos.",
diff --git a/plugins/PrivacyManager/lang/fi.json b/plugins/PrivacyManager/lang/fi.json
index 59a4336c12..600235035f 100644
--- a/plugins/PrivacyManager/lang/fi.json
+++ b/plugins/PrivacyManager/lang/fi.json
@@ -10,9 +10,9 @@
"DBPurged": "Tietokannasta poistettiin vanhat tiedot.",
"DeleteBothConfirm": "Olet ottamassa käyttöön sekä logien että raporttien poistamisen. Tämä poistaa peruuttamattomasti vanhat analytiikkatiedot. Haluatko varmasti tehdä tämän?",
"DeleteDataDescription": "Voit säätää Piwikin poistamaan vanhat kävijätiedot ja\/tai luodut raportit, jotta tietokannan koko pysyy pienenä.",
- "DeleteDataDescription2": "Voit valita, että etukäteen luodut raportit säilytetäänja ainoastaan käynnit, avatut sivut ja seurantalogit poistetaan. Tai raportit voidaan poistaa ja logit säilyttää.",
+ "DeleteDataDescription2": "Voit valita, että etukäteen luodut raportit säilytetään, ja ainoastaan käynnit, avatut sivut ja seurantalokit poistetaan. Vaihtoehtoisesti raportit voidaan poistaa ja lokit säilyttää.",
"DeleteDataInterval": "Poista vanhat tiedot joka",
- "DeleteOldVisitorLogs": "Poista vanhat kävijälogit",
+ "DeleteOldVisitorLogs": "Poista vanhat kävijälokit",
"DeleteOldArchivedReports": "Poista arkistoidut raportit",
"DeleteLogDescription2": "Kun lokeja poistetaan automaattisesti, sinun täytyy tarkistaa, että kaikki aikaisemmat päivittäiset raportit on prosessoitu, jotta tietoja ei häviä.",
"DeleteLogInfo": "Lokit seuraavista tauluista poistetaan: %s",
@@ -60,8 +60,8 @@
"TeaserHeadline": "Yksityisyysasetukset",
"UseAnonymizedIpForVisitEnrichment": "Käytä piilotettuja IP-osoitteita myös käyntejä rikastettaessa.",
"UseAnonymizedIpForVisitEnrichmentNote": "Geopaikannusliitännäiset parantavat käyttäjien metadataa. Nämä liitännäiset käyttävät oletuksena piilotettuja IP-osoitteita. Jos valitset \"Ei\", käytetään täysiä, ei-piilotettuja IP-osoitteita. Tämä vähentää yksityisyyttä, mutta parantaa datan tarkkuutta.",
- "UseAnonymizeIp": "Anonymisoi vierailijoiden IP-osoitteet",
- "UseDeleteLog": "Poista säännöllisesti vanhat käyttäjien lokit tietokannasta",
+ "UseAnonymizeIp": "Anonymisoi kävijöiden IP-osoitteet",
+ "UseDeleteLog": "Poista säännöllisesti vanhat kävijöiden lokit tietokannasta",
"UseDeleteReports": "Poista vanhat raportit säännöllisesti."
}
} \ No newline at end of file
diff --git a/plugins/Referrers/lang/fi.json b/plugins/Referrers/lang/fi.json
index 858fed0338..11f7d6fccc 100644
--- a/plugins/Referrers/lang/fi.json
+++ b/plugins/Referrers/lang/fi.json
@@ -2,7 +2,7 @@
"Referrers": {
"AllReferrersReportDocumentation": "Tämä raportti näyttää kaikki viittaukset yhdessä raportissa, listaten kaikki verkkosivut, hakusanat ja kampanjat, joita käyttäjäsi käyttivät löytääkseen verkkosivusi.",
"Campaigns": "Kampanjat",
- "CampaignsDocumentation": "Vierailijat, jotka tulivat sivullesi kampanjan mukana. %1$s Katso %2$s raportista lisätietoja.",
+ "CampaignsDocumentation": "Kävijät, jotka tulivat sivullesi kampanjan mukana. %1$s Katso %2$s raportista lisätietoja.",
"CampaignsReportDocumentation": "Tässä raportissa on tietoa kampanjoista, joilla käyttäjiä tuli sivuillesi. %1$s Lisätietoa kampanjoiden seuraamisesta löytyy %2$senglanninkielisestä dokumentista piwik.orgissa%3$s",
"ColumnCampaign": "Kampanja",
"ColumnSearchEngine": "Hakukone",
diff --git a/plugins/ScheduledReports/lang/el.json b/plugins/ScheduledReports/lang/el.json
index ccfc0d801f..87664faf15 100644
--- a/plugins/ScheduledReports/lang/el.json
+++ b/plugins/ScheduledReports/lang/el.json
@@ -25,7 +25,7 @@
"PiwikReports": "Αναφορές Piwik",
"PleaseFindAttachedFile": "Βρείτε την %1$s αναφορά σας για %2$s στο συνημμένο αρχείο.",
"SentFromX": "Στάλθηκε από %s.",
- "PleaseFindBelow": "Βρείτε παρακάτω την αναφορά %1$s για τη %2$s.",
+ "PleaseFindBelow": "Βρείτε παρακάτω την αναφορά %1$s για το %2$s.",
"PluginDescription": "Δημιουργεί προσαρμοσμένες αναφορές και τις προγραμματίζει για καθημερινή, εβδομαδιαία ή μηνιαία αναφορά σε ένα ή περισσότερα άτομα. Υποστηρίζονται αρκετοί τύποι αναφορών (html, pdf, csv, εικόνες).",
"ReportFormat": "Μορφή Αναφοράς",
"ReportHour": "Αποστολή αναφοράς στις %s",
diff --git a/plugins/ScheduledReports/lang/it.json b/plugins/ScheduledReports/lang/it.json
index 41bbb35ce5..48a55ccfb6 100644
--- a/plugins/ScheduledReports/lang/it.json
+++ b/plugins/ScheduledReports/lang/it.json
@@ -23,6 +23,7 @@
"NoRecipients": "Questo report non ha destinatari",
"Pagination": "Pagina %1$s di %2$s",
"PiwikReports": "Report di Piwik",
+ "PleaseFindAttachedFile": "Troverai il tuo report %1$s per %2$s nel file allegato.",
"SentFromX": "Inviato da %s",
"PleaseFindBelow": "Di seguito trovi il tuo report %1$s per %2$s.",
"PluginDescription": "Crea dei report personalizzati e li programma per l'invio tramite email ogni giorno, settimana o mese a una o più persone. Sono supportati svariati formati (html, pdf, csv, immagini).",
diff --git a/plugins/SegmentEditor/javascripts/Segmentation.js b/plugins/SegmentEditor/javascripts/Segmentation.js
index 90fc6cc7f5..d85399781b 100644
--- a/plugins/SegmentEditor/javascripts/Segmentation.js
+++ b/plugins/SegmentEditor/javascripts/Segmentation.js
@@ -8,6 +8,9 @@
Segmentation = (function($) {
Mousetrap.bind('s', function (event) {
+ if (event.altKey) {
+ return;
+ }
if (event.preventDefault) {
event.preventDefault();
} else {
@@ -546,6 +549,14 @@ Segmentation = (function($) {
});
self.target.on('click', '.add_new_segment', function (e) {
+
+ var parameters = {isAllowed: true};
+ var $rootScope = piwikHelper.getAngularDependency('$rootScope');
+ $rootScope.$emit('Segmentation.initAddSegment', parameters);
+ if (parameters && !parameters.isAllowed) {
+ return;
+ }
+
e.stopPropagation();
displayFormAddNewSegment(e);
});
diff --git a/plugins/SegmentEditor/lang/es.json b/plugins/SegmentEditor/lang/es.json
index 61e3945add..9d64dfe991 100644
--- a/plugins/SegmentEditor/lang/es.json
+++ b/plugins/SegmentEditor/lang/es.json
@@ -7,7 +7,7 @@
"AutoArchivePreProcessed": "los informes segmentados son pre-procesados (rápidamente, requiere cron)",
"AutoArchiveRealTime": "los informes segmentados son procesados en tiempo real",
"ChangingSegmentDefinitionConfirmationNotProcessedOnRequest": "Está próximo a cambiar la definición de este segmento. Sus informes analíticos para este nuevo segmento no estarán disponibles hasta que estos no sean reprocesados. Puede tomar unas pocas horas para que se observe información de este segmento. Aun así, proceder?",
- "ChangingSegmentDefinitionConfirmationProcessedOnRequest": "Está próximo a cambiar la definición de segmento. Sus informes analíticos para este nuevo segmento serán reprocesados bajo demanda la próxima vez que los peticione. Sus informes pueden tomar un par de minutos en aparecer. ¿Proceder de cualquier modo?",
+ "ChangingSegmentDefinitionConfirmationProcessedOnRequest": "Estás a punto de cambiar la definición de segmento. Tus informes analíticos para este nuevo segmento serán reprocesados la próxima vez que los requieras. Tus informes pueden tardar un par de minutos en aparecer. ¿Deseas proceder de cualquier modo?",
"ChooseASegment": "Elegir un segmento",
"CurrentlySelectedSegment": "Segmento seleccionado actualmente: %s",
"DataAvailableAtLaterDate": "Sus informes analíticos segmentados estarán disponibles más tarde. Lamentamos la inconveniencia.",
@@ -27,7 +27,7 @@
"ThisSegmentIsVisibleTo": "Este segmento es visible para:",
"VisibleToAllUsers": "todos los usuarios",
"VisibleToMe": "yo",
- "YouMayChangeSetting": "Alternativamente puede cambiar la configuración en el archivo config (%1$s) o modificar este segmento y elegir '%2$s'.",
+ "YouMayChangeSetting": "Alternativamente puedes cambiar la configuración en el archivo config (%1$s) o modificar este segmento y elegir '%2$s'.",
"VisibleToSuperUser": "Visible para usted debido a que posee un acceso de Super Usuario",
"SharedWithYou": "Compartido con usted",
"YouMustBeLoggedInToCreateSegments": "Debe estar conectado para crear y editar segmentos de usuario personalizados.",
diff --git a/plugins/SegmentEditor/lang/fi.json b/plugins/SegmentEditor/lang/fi.json
index 7aab90628c..b3cc1489e8 100644
--- a/plugins/SegmentEditor/lang/fi.json
+++ b/plugins/SegmentEditor/lang/fi.json
@@ -9,7 +9,7 @@
"DataAvailableAtLaterDate": "Raportti tulee saataville myöhemmin. Pahoittelut häiriöstä.",
"DefaultAllVisits": "Kaikki käynnit",
"DragDropCondition": "Vedä & Pudota ehto",
- "LoadingSegmentedDataMayTakeSomeTime": "Segmentoitujen käyttäjätietojen prosessointi saattaa kestää joitakin minuutteja...",
+ "LoadingSegmentedDataMayTakeSomeTime": "Segmentoitujen kävijätietojen prosessointi saattaa kestää joitakin minuutteja...",
"OperatorAND": "JA",
"OperatorOR": "TAI",
"SaveAndApply": "Tallenna ja ota käyttöön",
diff --git a/plugins/SitesManager/angularjs/sites-manager/sites-manager.controller.js b/plugins/SitesManager/angularjs/sites-manager/sites-manager.controller.js
index 3fbd008740..64b3bfb88d 100644
--- a/plugins/SitesManager/angularjs/sites-manager/sites-manager.controller.js
+++ b/plugins/SitesManager/angularjs/sites-manager/sites-manager.controller.js
@@ -194,6 +194,13 @@
};
var addSite = function(type) {
+
+ var parameters = {isAllowed: true, measurableType: type};
+ $rootScope.$emit('SitesManager.initAddSite', parameters);
+ if (parameters && !parameters.isAllowed) {
+ return;
+ }
+
if (!type) {
type = 'website'; // todo shall we really hard code this or trigger an exception or so?
}
diff --git a/plugins/SitesManager/lang/fi.json b/plugins/SitesManager/lang/fi.json
index 6bcea5084d..4ce8166b36 100644
--- a/plugins/SitesManager/lang/fi.json
+++ b/plugins/SitesManager/lang/fi.json
@@ -2,7 +2,7 @@
"SitesManager": {
"AddSite": "Lisää uusi sivu",
"AdvancedTimezoneSupportNotFound": "PHP-asennuksessasi ei ole edistyneiden aikavyöhykkeiden tukea (tuettu PHP>=5.2:ssa). Voit silti valita manuaalisesti poikkeaman UTC:stä.",
- "AliasUrlHelp": "On suositeltavaa mutta ei pakollista määrittää sivun osoitteita. Osoitteiden määrittäminen ei ole pakollista. www:tä ei tarvitse lisätä.",
+ "AliasUrlHelp": "On suositeltavaa, mutta ei pakollista, määrittää sivuston osoitteet. Alias-osoitteita ei näytetä viittaajaraporteissa. Osoitteita ei tarvitse määritellä www-alkuosalla ja ilman, koska Piwik huomioi molemmat automaattisesti.",
"ChangingYourTimezoneWillOnlyAffectDataForward": "Aikavyöhykkeen vaihtaminen vaikuttaa vain uusiin tietoihin, eikä vanhoja muutetaan.",
"ChooseCityInSameTimezoneAsYou": "Valitse kaupunki samalta aikavyöhykkeeltä.",
"Currency": "Valuutta",
diff --git a/plugins/SitesManager/lang/fr.json b/plugins/SitesManager/lang/fr.json
index 6f2fa0253d..c96c2105c8 100644
--- a/plugins/SitesManager/lang/fr.json
+++ b/plugins/SitesManager/lang/fr.json
@@ -71,7 +71,7 @@
"SiteWithoutDataDescription": "Aucune donnée d'analyse n'a été enregistrée pour ce site pour le moment.",
"SiteWithoutDataSetupTracking": "Veuillez configurer le %1$scode de suivit JavaScript%2$s sur votre site web si vous ne l'avez pas déjà fait.",
"SiteWithoutDataMessageDisappears": "Ce message disparaitra dès lors que certaines données auront été enregistrées pour ce site web.",
- "SiteWithoutDataSetupGoals": "Pendant ce temps, peut être voudriez vous %1$sdéfinir des objectifs%2$s.",
+ "SiteWithoutDataSetupGoals": "Pendant ce temps, peut-être voudriez-vous %1$sdéfinir des objectifs%2$s.",
"SuperUserAccessCan": "Un utilisateur avec un accès super utilisateur peut aussi %1$sconfigurer les paramètres globaux%2$s pour les nouveaux sites web.",
"Timezone": "Fuseau horaire",
"TrackingSiteSearch": "Suivi de la recherche interne sur le site",
diff --git a/plugins/TestRunner/Commands/TestsRunUI.php b/plugins/TestRunner/Commands/TestsRunUI.php
index f227e74ef6..dc31162929 100644
--- a/plugins/TestRunner/Commands/TestsRunUI.php
+++ b/plugins/TestRunner/Commands/TestsRunUI.php
@@ -44,7 +44,7 @@ class TestsRunUI extends ConsoleCommand
protected function execute(InputInterface $input, OutputInterface $output)
{
$specs = $input->getArgument('specs');
- $persistFixtureData = $input->getOption("persist-fixture-data");
+ $persistFixtureData = $input->getOption('persist-fixture-data');
$keepSymlinks = $input->getOption('keep-symlinks');
$printLogs = $input->getOption('print-logs');
$drop = $input->getOption('drop');
@@ -105,6 +105,8 @@ class TestsRunUI extends ConsoleCommand
$phantomJsOptions[] = "--debug=true";
}
+ $phantomJsOptions[] = "--ignore-ssl-errors=true";
+
if ($extraOptions) {
$options[] = $extraOptions;
}
diff --git a/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php b/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php
index 5dd8c7b766..c01660bbc0 100644
--- a/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php
+++ b/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php
@@ -41,7 +41,7 @@ class GeolocationDiagnostic implements Diagnostic
$currentProviderId = LocationProvider::getCurrentProviderId();
$allProviders = LocationProvider::getAllProviderInfo();
$isRecommendedProvider = in_array($currentProviderId, array(LocationProvider\GeoIp\Php::ID, $currentProviderId == LocationProvider\GeoIp\Pecl::ID));
- $isProviderInstalled = ($allProviders[$currentProviderId]['status'] == LocationProvider::INSTALLED);
+ $isProviderInstalled = (isset($allProviders[$currentProviderId]['status']) && $allProviders[$currentProviderId]['status'] == LocationProvider::INSTALLED);
if ($isRecommendedProvider && $isProviderInstalled) {
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_OK));
diff --git a/plugins/UserCountry/lang/fr.json b/plugins/UserCountry/lang/fr.json
index bc6f551059..2298c5b26c 100644
--- a/plugins/UserCountry/lang/fr.json
+++ b/plugins/UserCountry/lang/fr.json
@@ -24,7 +24,7 @@
"DistinctCountries": "%s pays différents",
"DownloadingDb": "Téléchargement de %s",
"DownloadNewDatabasesEvery": "Mettre à jour les bases de données tous (toutes) les",
- "FatalErrorDuringDownload": "Une erreur fatale est arrivée lors du téléchargement de ce fichier. Il y a peut être un problème avec votre connexion Internet, avec la base de données GeoIP que vous téléchargez ou avec Piwik. Essayez de la télécharger et de l'installer manuellement.",
+ "FatalErrorDuringDownload": "Une erreur fatale est arrivée lors du téléchargement de ce fichier. Il y a peut-être un problème avec votre connexion Internet, avec la base de données GeoIP que vous téléchargez ou avec Piwik. Essayez de la télécharger et de l'installer manuellement.",
"FoundApacheModules": "Piwik a trouvé les modules Apache suivants",
"FromDifferentCities": "villes différentes",
"GeoIPCannotFindMbstringExtension": "Impossible de trouver la fonction %1$s. Veuillez vous assurer que l'extension %2$s est installée et chargée.",
diff --git a/plugins/UserCountryMap/lang/es.json b/plugins/UserCountryMap/lang/es.json
index 67234af481..0e38b00199 100644
--- a/plugins/UserCountryMap/lang/es.json
+++ b/plugins/UserCountryMap/lang/es.json
@@ -1,6 +1,6 @@
{
"UserCountryMap": {
- "PluginDescription": "Este complemento suministra los reproductores Mapa de visitante y Mapa tiempo-real. Nota: Requiere el complemento UserCountry habilitado.",
+ "PluginDescription": "Este complemento suministra los módulos Mapa de visitante y Mapa en tiempo real. Nota: Requiere el complemento UserCountry habilitado.",
"AndNOthers": "y %s otros",
"Cities": "Ciudades",
"Countries": "Países",
diff --git a/plugins/UserLanguage/lang/fi.json b/plugins/UserLanguage/lang/fi.json
index 140e43780b..28d2161d71 100644
--- a/plugins/UserLanguage/lang/fi.json
+++ b/plugins/UserLanguage/lang/fi.json
@@ -2,6 +2,6 @@
"UserLanguage": {
"BrowserLanguage": "Selaimen kieli",
"LanguageCode": "Kielikoodi",
- "PluginDescription": "Raportoi käyttäjän selaimen kieliasetukset."
+ "PluginDescription": "Raportoi kävijöiden selainten kieliasetukset."
}
} \ No newline at end of file
diff --git a/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js b/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js
index 621113355c..a10d331e4f 100644
--- a/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js
+++ b/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js
@@ -7,9 +7,9 @@
(function () {
angular.module('piwikApp').controller('ManageUsersController', ManageUsersController);
- ManageUsersController.$inject = ['piwik', 'piwikApi', '$timeout'];
+ ManageUsersController.$inject = ['piwik', 'piwikApi', '$timeout', '$rootScope'];
- function ManageUsersController(piwik, piwikApi, $timeout) {
+ function ManageUsersController(piwik, piwikApi, $timeout, $rootScope) {
// remember to keep controller very simple. Create a service/factory (model) if needed
var self = this;
@@ -132,6 +132,13 @@
}
this.createUser = function () {
+
+ var parameters = {isAllowed: true};
+ $rootScope.$emit('UsersManager.initAddUser', parameters);
+ if (parameters && !parameters.isAllowed) {
+ return;
+ }
+
this.showCreateUser = false;
var numberOfRows = $('table#users')[0].rows.length;
diff --git a/plugins/UsersManager/lang/es.json b/plugins/UsersManager/lang/es.json
index 5a5c2d428b..0094c898b6 100644
--- a/plugins/UsersManager/lang/es.json
+++ b/plugins/UsersManager/lang/es.json
@@ -16,7 +16,7 @@
"DeleteConfirm": "¿Está seguro que desea eliminar al usuario %s?",
"Email": "Correo electrónico",
"EmailYourAdministrator": "%1$sEnviar un correo electrónico a su administrador acerca de este problema%2$s.",
- "EnterUsernameOrEmail": "Introduce usuario o correo electrónico",
+ "EnterUsernameOrEmail": "Introduce un nombre de usuario o correo electrónico",
"ExceptionAccessValues": "El parámetro de acceso debe tener uno de los siguientes valores: [ %s ]",
"ExceptionAdminAnonymous": "No puede concederle el acceso de 'administrador' a un usuario 'anónimo'.",
"ExceptionDeleteDoesNotExist": "El usuario '%s' no existe, por lo tanto, no puede ser borrado.",
@@ -25,21 +25,21 @@
"ExceptionEmailExists": "Ya existe un usuario con el correo electrónico '%s'.",
"ExceptionInvalidEmail": "El correo electrónico no tiene un formato válido.",
"ExceptionInvalidLoginFormat": "El usuario debe tener entre %1$s y %2$s caracteres y estar formado por letras, números o alguno de estos caracteres '_' o '-' o '.' o '@' o '+'",
- "ExceptionInvalidPassword": "La extensión de la contraseña debe ser superior a los %1$s caracteres.",
+ "ExceptionInvalidPassword": "La longitud de la contraseña debe ser superior a los %1$s caracteres.",
"ExceptionLoginExists": "El usuario '%s' ya existe.",
"ExceptionPasswordMD5HashExpected": "UsersManager.getTokenAuth está a la espera de una contraseña con algoritmo hash MD5 (32 caracteres de longitud). Por favor demande la función md5() en la contraseña antes de reclamar a este método.",
"ExceptionRemoveSuperUserAccessOnlySuperUser": "Eliminar el acceso Super Usuario del usuario '%s' no es posible.",
"ExceptionSuperUserAccess": "Este usuario tiene acceso Super Usuario y ya posee permiso para acceder y modificar todos los sitios de internet de Piwik. Puede eliminar el acceso Super Usuario a este usuario y volver a probar.",
"ExceptionUserDoesNotExist": "El usuario '%s' no existe.",
"ExceptionYouMustGrantSuperUserAccessFirst": "Debe haber al menos un usuario con acceso Super Usuario. Por favor conceda el acceso Super Usuario a otro usuario.",
- "ExceptionUserHasViewAccessAlready": "Éste usuario ya tiene acceso al sitio web.",
- "ExceptionNoValueForUsernameOrEmail": "Por favor introduce usuario o correo electrónico.",
+ "ExceptionUserHasViewAccessAlready": "Este usuario ya tiene acceso al sitio web.",
+ "ExceptionNoValueForUsernameOrEmail": "Por favor introduce u nombre de usuario o un correo electrónico.",
"ExcludeVisitsViaCookie": "Excluir sus visitas usando una cookie",
"ForAnonymousUsersReportDateToLoadByDefault": "Para los usuarios anónimos, fecha del informe a cargar por defecto",
"GiveUserAccess": "Otorgar acceso a '%1$s' %2$s para %3$s.",
- "GiveViewAccess": "Otorgar acceso a la visualización de %1$s",
+ "GiveViewAccess": "Otorgar acceso de visualización para %1$s",
"GiveViewAccessTitle": "Otorgar a un actual usuario acceso a ver los informes de %s",
- "GiveViewAccessInstructions": "Para otorgar atributos de visualización a actuales usuarios de %s suministre o el nombre de usuario o su correo electrónico",
+ "GiveViewAccessInstructions": "Para otorgar atributos de visualización para %s a un usuario existente introduce el nombre de usuario o su correo electrónico",
"IfYouWouldLikeToChangeThePasswordTypeANewOne": "Si desea cambiar la contraseña ingrese una nueva. Si no, déjelo vacío.",
"InjectedHostCannotChangePwd": "Está actualmente visitando con un medio desconocido (%1$s). No puede cambiar su contraseña hasta que el problema esté soluionado.",
"LastSeen": "Última visita",
@@ -77,7 +77,7 @@
"UsersManagementMainDescription": "Cree nuevos usuarios o actualice los actuales. Luego puede configurar sus permisos.",
"WhenUsersAreNotLoggedInAndVisitPiwikTheyShouldAccess": "Cuando los usuarios no están identificados y visitan Piwik, deberían poder acceder",
"YourUsernameCannotBeChanged": "Su nombre de usuario no puede ser cambiado.",
- "YourVisitsAreIgnoredOnDomain": "%1$sSus visitas son ignoradas por Piwik en %2$s %3$s (la cookie de ignorar a Piwik fue encontrada en su navegador).",
- "YourVisitsAreNotIgnored": "%1$sSus visitas no son ignoradas por Piwik%2$s (la cookie de ignorar a Piwik no fue encontrada en su navegador)."
+ "YourVisitsAreIgnoredOnDomain": "%1$sTus visitas son ignoradas por Piwik en %2$s %3$s (la cookie de ignorar a Piwik fue encontrada en su navegador).",
+ "YourVisitsAreNotIgnored": "%1$sTus visitas no son ignoradas por Piwik%2$s (la cookie de ignorar a Piwik no fue encontrada en su navegador)."
}
} \ No newline at end of file
diff --git a/plugins/UsersManager/lang/fi.json b/plugins/UsersManager/lang/fi.json
index 556d340a76..46da66f970 100644
--- a/plugins/UsersManager/lang/fi.json
+++ b/plugins/UsersManager/lang/fi.json
@@ -24,6 +24,7 @@
"ExceptionEmailExists": "Käyttäjä sähköpostilla '%s' on jo olemassa.",
"ExceptionInvalidEmail": "Sähköposti ei ole kelvollinen.",
"ExceptionInvalidLoginFormat": "Käyttäjänimen pitää olla %1$s-%2$s merkkiä pitkä ja saa sisältää vain kirjaimia (ei ääkkösiä), numeroita tai '_' or '-' or '.' or '@' or '+'",
+ "ExceptionInvalidPassword": "Salasanan täytyy olla vähintään %1$s merkkiä pitkä.",
"ExceptionLoginExists": "Käyttäjätunnus '%s' on jo olemassa.",
"ExceptionPasswordMD5HashExpected": "UserManager.getTokenAuth haluaa MD5-tiivisteen salasanastasi (32 merkkiä pitkä merkkijono). Kutsu md5()-funktiota salasanallesi ennen kutsumista.",
"ExceptionRemoveSuperUserAccessOnlySuperUser": "Superkäyttäjäoikeuksien poistaminen käyttäjältä '%s' ei ole mahdollista.",
diff --git a/plugins/UsersManager/lang/it.json b/plugins/UsersManager/lang/it.json
index d58253dce9..41f0ba988a 100644
--- a/plugins/UsersManager/lang/it.json
+++ b/plugins/UsersManager/lang/it.json
@@ -36,6 +36,7 @@
"ExceptionNoValueForUsernameOrEmail": "Per favore inserisci un nome utente o un indirizzo email.",
"ExcludeVisitsViaCookie": "Escludi le tue visite usando un cookie",
"ForAnonymousUsersReportDateToLoadByDefault": "Per utenti anonimi, data report da caricare di default",
+ "GiveUserAccess": "Dai a '%1$s' l'accesso %2$s per %3$s.",
"GiveViewAccess": "Da' accesso in lettura a %1$s",
"GiveViewAccessTitle": "Dai a un utente esistente l'accesso per vedere i report per %s",
"GiveViewAccessInstructions": "Per dare a un utente esistente l'accesso in visione per %s inserisci il nome utente o l'indirizzo email di un utente esistente",
@@ -55,6 +56,7 @@
"PrivAdmin": "Amministra Piwik",
"PrivNone": "Nessun accesso",
"PrivView": "Vista",
+ "RemoveUserAccess": "Togli a '%1$s' l'accesso a %2$s.",
"ReportDateToLoadByDefault": "Data report da caricare di default",
"ReportToLoadByDefault": "Report da caricare di default",
"SuperUserAccessManagement": "Gestisci l'accesso Super User",
@@ -63,11 +65,14 @@
"TheLoginScreen": "La schermata di login",
"ThereAreCurrentlyNRegisteredUsers": "Al momento ci sono %s utenti registrati.",
"TokenAuth": "Token Autenticazione API",
+ "TokenRegenerateConfirm": "Cambiando il token di autenticazione API verrà invalidato l'attuale token degli utenti. Se un utente è in questo momento loggato, gli potrebbe essere richiesto di accedere nuovamente. Vuoi veramente continuare?",
"TokenRegenerateConfirmSelf": "Il cambiamento del token di autenticazione API invaliderà il tuo token. Ti potrebbe essere chiesto di effettuare nuovamente l'accesso, se procedi. Vuoi veramente cambiare il tuo token di autenticazione?",
"TokenRegenerateLogoutWarning": "Quando rigeneri il tuo token verrai disconnesso e dovrai accedere nuovamente.",
"TokenRegenerateTitle": "Rigenera",
"TypeYourPasswordAgain": "Scrivi di nuovo la tua nuova password.",
"User": "Utente",
+ "UserHasPermission": "%1$s ha al momento accesso %2$s per %3$s.",
+ "UserHasNoPermission": "%1$s ha al momento %2$s a %3$s",
"UsersManagement": "Gestione utenti",
"UsersManagementMainDescription": "Crea nuovi utenti o aggiorna quelli esistenti. Puoi anche scegliere quali operazioni permettere tramite la tabella qui sopra.",
"WhenUsersAreNotLoggedInAndVisitPiwikTheyShouldAccess": "Quando gli utenti non si sono autenticati in Piwik, possono accedere a",
diff --git a/plugins/VisitsSummary/lang/es.json b/plugins/VisitsSummary/lang/es.json
index a727db2b94..9b3f4ed1b5 100644
--- a/plugins/VisitsSummary/lang/es.json
+++ b/plugins/VisitsSummary/lang/es.json
@@ -14,7 +14,7 @@
"NbSearchesDescription": "búsquedas totales en su sitio web",
"NbUniqueDownloadsDescription": "descargas únicas",
"NbUniqueOutlinksDescription": "enlaces de salida únicos",
- "NbUniquePageviewsDescription": "Solo páginas vistas",
+ "NbUniquePageviewsDescription": "páginas vistas únicas",
"NbUniqueVisitors": "visitantes únicos",
"NbUsersDescription": "usuarios",
"NbVisitsDescription": "visitas",