diff --git a/Dockerfile b/Dockerfile index bdc678da..6674163a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,8 +12,8 @@ RUN yarn install --frozen-lockfile FROM node:18-alpine AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules -COPY docker/middleware.js . COPY . . +COPY docker/middleware.js ./src ARG DATABASE_TYPE ARG BASE_PATH @@ -53,6 +53,7 @@ USER nextjs EXPOSE 3000 +ENV HOSTNAME 0.0.0.0 ENV PORT 3000 CMD ["yarn", "start-docker"] diff --git a/README.md b/README.md index 19935ed5..02a44e1e 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A detailed getting started guide can be found at [https://umami.is/docs/](https: ### Requirements -- A server with Node.js version 12 or newer +- A server with Node.js version 16.13 or newer - A database. Umami supports [MySQL](https://www.mysql.com/) and [Postgresql](https://www.postgresql.org/) databases. ### Install Yarn diff --git a/next.config.js b/next.config.js index 4ab77510..cc3cde7c 100644 --- a/next.config.js +++ b/next.config.js @@ -59,7 +59,9 @@ if (process.env.TRACKER_SCRIPT_NAME) { const redirects = [ { source: '/settings', - destination: process.env.CLOUD_MODE ? '/settings/profile' : '/settings/websites', + destination: process.env.CLOUD_MODE + ? `${process.env.CLOUD_URL}/settings/websites` + : '/settings/websites', permanent: true, }, ]; @@ -74,6 +76,9 @@ if (process.env.CLOUD_MODE && process.env.CLOUD_URL && process.env.DISABLE_LOGIN const config = { env: { + cloudMode: process.env.CLOUD_MODE, + cloudUrl: process.env.CLOUD_URL, + configUrl: '/config', currentVersion: pkg.version, defaultLocale: process.env.DEFAULT_LOCALE, isProduction: process.env.NODE_ENV === 'production', diff --git a/package.json b/package.json index 64e09463..8bb37201 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "2.6.0", + "version": "2.6.2", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", @@ -21,7 +21,7 @@ "build-components": "rollup -c rollup.components.config.mjs", "build-tracker": "rollup -c rollup.tracker.config.mjs", "build-db": "npm-run-all copy-db-files build-db-client", - "build-lang": "npm-run-all format-lang compile-lang download-country-names download-language-names", + "build-lang": "npm-run-all format-lang compile-lang clean-lang download-country-names download-language-names", "build-geo": "node scripts/build-geo.js", "build-db-schema": "prisma db pull", "build-db-client": "prisma generate", @@ -30,11 +30,12 @@ "check-db": "node scripts/check-db.js", "check-env": "node scripts/check-env.js", "copy-db-files": "node scripts/copy-db-files.js", - "extract-messages": "formatjs extract \"{pages,components}/**/*.js\" --out-file build/messages.json", + "extract-messages": "formatjs extract \"src/{pages,components}/**/*.js\" --out-file build/messages.json", "merge-messages": "node scripts/merge-messages.js", "generate-lang": "npm-run-all extract-messages merge-messages", "format-lang": "node scripts/format-lang.js", "compile-lang": "formatjs compile-folder --ast build/messages public/intl/messages", + "clean-lang": "prettier --write ./public/intl/messages/*.json", "check-lang": "node scripts/check-lang.js", "download-country-names": "node scripts/download-country-names.js", "download-language-names": "node scripts/download-language-names.js", @@ -61,7 +62,7 @@ ], "dependencies": { "@fontsource/inter": "^4.5.15", - "@prisma/client": "5.0.0", + "@prisma/client": "5.2.0", "@tanstack/react-query": "^4.33.0", "@umami/prisma-client": "^0.2.0", "@umami/redis-client": "^0.5.0", @@ -145,7 +146,7 @@ "postcss-preset-env": "7.8.3", "postcss-rtlcss": "^4.0.1", "prettier": "^2.6.2", - "prisma": "5.0.0", + "prisma": "5.2.0", "prompts": "2.4.2", "rollup": "^3.28.0", "rollup-plugin-copy": "^3.4.0", diff --git a/public/intl/messages/am-ET.json b/public/intl/messages/am-ET.json index f48fe83c..cb9ff4f9 100644 --- a/public/intl/messages/am-ET.json +++ b/public/intl/messages/am-ET.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index a9a12404..17a85916 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "الشاشات" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json index 4978aa45..c8081e37 100644 --- a/public/intl/messages/be-BY.json +++ b/public/intl/messages/be-BY.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Экраны" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json index 938f6f98..6b8875ad 100644 --- a/public/intl/messages/bn-BD.json +++ b/public/intl/messages/bn-BD.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "স্ক্রিনগুলি" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index 694b49c2..f21a739c 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index 3fd34c31..e316e973 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index d8da1c3e..05b0c572 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json index aa0b2d94..ecc15336 100644 --- a/public/intl/messages/de-CH.json +++ b/public/intl/messages/de-CH.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Bildschirmuflösige" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 136cd31d..5e74647c 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -20,7 +20,7 @@ "label.add": [ { "type": 0, - "value": "Add" + "value": "Hinzufügen" } ], "label.add-description": [ @@ -32,7 +32,7 @@ "label.add-website": [ { "type": 0, - "value": "Webseite hinzufügen" + "value": "Website hinzufügen" } ], "label.admin": [ @@ -44,7 +44,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Nach" } ], "label.all": [ @@ -86,7 +86,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Vor" } ], "label.bounce-rate": [ @@ -134,7 +134,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Stadt" } ], "label.clear-all": [ @@ -158,7 +158,7 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Enthält" } ], "label.continue": [ @@ -176,13 +176,19 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Land" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" } ], "label.create-report": [ { "type": 0, - "value": "Report erstellen" + "value": "Bericht erstellen" } ], "label.create-team": [ @@ -230,7 +236,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "Datum" } ], "label.date-range": [ @@ -242,7 +248,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Tag" } ], "label.default-date-range": [ @@ -272,7 +278,7 @@ "label.delete-website": [ { "type": 0, - "value": "Webseite löschen" + "value": "Website löschen" } ], "label.description": [ @@ -296,7 +302,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Gerät" } ], "label.devices": [ @@ -314,7 +320,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Enthält nicht" } ], "label.domain": [ @@ -356,7 +362,7 @@ "label.event-data": [ { "type": 0, - "value": "Event daten" + "value": "Eventdaten" } ], "label.events": [ @@ -368,19 +374,25 @@ "label.false": [ { "type": 0, - "value": "False" + "value": "Falsch" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Feld" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Felder" + } + ], + "label.filter": [ + { + "type": 0, + "value": "Filter" } ], "label.filter-combined": [ @@ -398,7 +410,7 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filter" } ], "label.funnel": [ @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,28 +443,34 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, - "value": "Is" + "value": "Ist" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Ist nicht" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Ist nicht gesetzt" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Ist gesetzt" } ], "label.join": [ @@ -576,7 +600,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Meine Websites" } ], "label.name": [ @@ -618,7 +642,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Seite " }, { "type": 1, @@ -626,7 +650,7 @@ }, { "type": 0, - "value": " of " + "value": " von " }, { "type": 1, @@ -642,7 +666,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Seitentitel" } ], "label.pages": [ @@ -742,7 +766,7 @@ "label.reports": [ { "type": 0, - "value": "Reporte" + "value": "Berichte" } ], "label.required": [ @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Bildschirmauflösungen" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, @@ -808,7 +844,7 @@ "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Sitzungen" } ], "label.settings": [ @@ -850,37 +886,37 @@ "label.team-guest": [ { "type": 0, - "value": "Team Gast" + "value": "Gast des Teams" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "Team-ID" } ], "label.team-member": [ { "type": 0, - "value": "Team Mitglied" + "value": "Team-Mitglied" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Name des Teams" } ], "label.team-owner": [ { "type": 0, - "value": "Team Eigentümer" + "value": "Team-Eigentümer" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Team-Websites" } ], "label.teams": [ @@ -940,13 +976,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "Gesamt" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Datensätze insgesamt" } ], "label.tracking-code": [ @@ -958,19 +994,19 @@ "label.true": [ { "type": 0, - "value": "True" + "value": "Wahr" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Typ" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Eindeutig" } ], "label.unique-visitors": [ @@ -988,7 +1024,7 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Unbenannt" } ], "label.url": [ @@ -1024,7 +1060,7 @@ "label.value": [ { "type": 0, - "value": "Value" + "value": "Wert" } ], "label.view": [ @@ -1042,7 +1078,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Nur ansehen" } ], "label.views": [ @@ -1060,25 +1096,25 @@ "label.website": [ { "type": 0, - "value": "Webseite" + "value": "Website" } ], "label.website-id": [ { "type": 0, - "value": "Webseite ID" + "value": "Website ID" } ], "label.websites": [ { "type": 0, - "value": "Webseiten" + "value": "Websites" } ], "label.window": [ { "type": 0, - "value": "Window" + "value": "Fenster" } ], "label.yesterday": [ @@ -1166,7 +1202,7 @@ "message.delete-account": [ { "type": 0, - "value": "To delete this account, type " + "value": "Um dieses Konto zu löschen, geben Sie zur Bestätigung " }, { "type": 1, @@ -1174,13 +1210,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in das Feld unten ein." } ], "message.delete-website": [ { "type": 0, - "value": "To delete this website, type " + "value": "Um diese Website zu löschen, geben Sie zur Bestätigung " }, { "type": 1, @@ -1188,7 +1224,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in das Feld unten ein." } ], "message.delete-website-warning": [ @@ -1238,7 +1274,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimale länge von " + "value": "Minimale Länge von " }, { "type": 1, @@ -1252,15 +1288,11 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Eine neue Version von Umami ist verfügbar: " }, { "type": 1, "value": "version" - }, - { - "type": 0, - "value": " is available!" } ], "message.no-data-available": [ @@ -1272,7 +1304,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Es sind keine Ereignisdaten verfügbar." } ], "message.no-match-password": [ @@ -1308,7 +1340,7 @@ "message.no-websites-configured": [ { "type": 0, - "value": "Es ist keine Webseite vorhanden." + "value": "Es ist keine Website vorhanden." } ], "message.page-not-found": [ @@ -1320,7 +1352,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Um diese Website zurückzusetzen, geben Sie zur Bestätigung " }, { "type": 1, @@ -1328,13 +1360,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in das Feld unten ein." } ], "message.reset-website-warning": [ { "type": 0, - "value": "Alle Daten für diese Webseite werden gelöscht, jedoch bleibt der Tracking Code bestehen." + "value": "Alle Daten für diese Website werden gelöscht, jedoch bleibt der Tracking Code bestehen." } ], "message.saved": [ @@ -1346,7 +1378,7 @@ "message.share-url": [ { "type": 0, - "value": "Ihre Webseitenstatistik ist unter der folgenden URL öffentlich zugänglich:" + "value": "Die Statistiken Ihrer Website sind unter folgender URL öffentlich zugänglich:" } ], "message.team-already-member": [ @@ -1364,7 +1396,7 @@ "message.team-websites-info": [ { "type": 0, - "value": "Webseiten können von jedem im Team eingesehen werden." + "value": "Websites können von jedem im Team eingesehen werden." } ], "message.tracking-code": [ diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index d3ff5e42..eb6b73ce 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 0e6ac614..68f24248 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 64a99ae1..0ee5b1e6 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json index 43e10170..0e131621 100644 --- a/public/intl/messages/es-ES.json +++ b/public/intl/messages/es-ES.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Campos" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Pantallas" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json index c238951f..c3ef099d 100644 --- a/public/intl/messages/es-MX.json +++ b/public/intl/messages/es-MX.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Pantallas" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 757b5ae8..e09b155b 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index 5fdf5b19..2130f82c 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index 3eb3f452..bc11c56e 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index 326c99a4..99937de7 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -104,7 +104,7 @@ "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Navigateur" } ], "label.browsers": [ @@ -134,7 +134,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Ville" } ], "label.clear-all": [ @@ -176,7 +176,13 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Pays" + } + ], + "label.create": [ + { + "type": 0, + "value": "Créer" } ], "label.create-report": [ @@ -242,7 +248,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Jour" } ], "label.default-date-range": [ @@ -296,7 +302,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Appareil" } ], "label.devices": [ @@ -326,7 +332,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Abandons" } ], "label.edit": [ @@ -350,19 +356,19 @@ "label.event": [ { "type": 0, - "value": "Event" + "value": "Évènement" } ], "label.event-data": [ { "type": 0, - "value": "Données d'événements" + "value": "Données d'évènements" } ], "label.events": [ { "type": 0, - "value": "Événements" + "value": "Évènements" } ], "label.false": [ @@ -383,6 +389,12 @@ "value": "Champs" } ], + "label.filter": [ + { + "type": 0, + "value": "Filtrer" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Entonnoir" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Suivi des conversions et des taux d'abandons." + } + ], "label.greater-than": [ { "type": 0, @@ -425,28 +443,34 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Analyse précise des données en utilisant des segments et des filtres." + } + ], "label.is": [ { "type": 0, - "value": "Est égal" + "value": "Est" } ], "label.is-not": [ { "type": 0, - "value": "N'est pas égal" + "value": "N'est pas" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "N'est pas défini" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Est défini" } ], "label.join": [ @@ -568,7 +592,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Mes sites" } ], "label.name": [ @@ -618,7 +642,7 @@ }, { "type": 0, - "value": " of " + "value": " sur " }, { "type": 1, @@ -634,7 +658,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Titre de page" } ], "label.pages": [ @@ -680,7 +704,7 @@ "label.query-parameters": [ { "type": 0, - "value": "Paramètres d'URL" + "value": "Paramètres de requête" } ], "label.realtime": [ @@ -692,7 +716,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Site référent" } ], "label.referrers": [ @@ -716,7 +740,7 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "Région" } ], "label.regions": [ @@ -758,7 +782,13 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Rétention" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Mesure de l'atractivité du site en visualisant les taux d'utilisateurs qui reviennent." } ], "label.role": [ @@ -785,6 +815,12 @@ "value": "Résolutions d'écran" } ], + "label.search": [ + { + "type": 0, + "value": "Rechercher" + } + ], "label.select-date": [ { "type": 0, @@ -860,7 +896,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Nom de l'équipe" } ], "label.team-owner": [ @@ -872,7 +908,7 @@ "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Sites d'équipes" } ], "label.teams": [ @@ -1052,7 +1088,7 @@ "label.website": [ { "type": 0, - "value": "Website" + "value": "Site" } ], "label.website-id": [ @@ -1248,7 +1284,7 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Une nouvelle version d'Umami " }, { "type": 1, @@ -1256,7 +1292,7 @@ }, { "type": 0, - "value": " is available!" + "value": " est disponible !" } ], "message.no-data-available": [ @@ -1336,7 +1372,7 @@ "message.saved": [ { "type": 0, - "value": "Enregistré avec succès." + "value": "Enregistré." } ], "message.share-url": [ diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index d086b57f..b5fabeff 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -777,6 +801,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -801,6 +831,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index dc206268..16f62525 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index 91f1f026..df3bcb40 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index cd8d4d38..8388dd48 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index e39182b1..c3da1af0 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index 97526840..eda5c0b3 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Layar" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index a93715d3..bdc015f5 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index bde2f3a9..4e2a8fc4 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "アクセスコード" } ], "label.actions": [ @@ -14,19 +14,19 @@ "label.activity-log": [ { "type": 0, - "value": "Activity log" + "value": "アクティビティログ" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "追加" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "説明を追加" } ], "label.add-website": [ @@ -44,31 +44,31 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "直後" } ], "label.all": [ { "type": 0, - "value": "すべて表示" + "value": "すべて" } ], "label.all-time": [ { "type": 0, - "value": "All time" + "value": "すべての時間帯" } ], "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "アナリティクス" } ], "label.average": [ { "type": 0, - "value": "Average" + "value": "平均" } ], "label.average-visit-time": [ @@ -86,7 +86,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "直前" } ], "label.bounce-rate": [ @@ -98,13 +98,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "故障" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "ブラウザ" } ], "label.browsers": [ @@ -122,85 +122,91 @@ "label.change-password": [ { "type": 0, - "value": "パスワード変更" + "value": "パスワードの変更" } ], "label.cities": [ { "type": 0, - "value": "Cities" + "value": "都市" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "都市" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "すべてクリア" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "確認" } ], "label.confirm-password": [ { "type": 0, - "value": "パスワード(確認)" + "value": "パスワード(確認)" } ], "label.contains": [ { "type": 0, - "value": "Contains" + "value": "コンテンツ" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "続ける" } ], "label.countries": [ { "type": 0, - "value": "国" + "value": "国名" } ], "label.country": [ { "type": 0, - "value": "Country" + "value": "国" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "レポートの作成" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "チームの作成" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "ユーザーの作成" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "作成されました" } ], "label.current-password": [ @@ -212,7 +218,7 @@ "label.custom-range": [ { "type": 0, - "value": "期間を指定する" + "value": "範囲指定" } ], "label.dashboard": [ @@ -224,31 +230,31 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "データ" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "日付" } ], "label.date-range": [ { "type": 0, - "value": "範囲指定" + "value": "期間" } ], "label.day": [ { "type": 0, - "value": "Day" + "value": "日" } ], "label.default-date-range": [ { "type": 0, - "value": "最初に表示する期間" + "value": "デフォルトの期間" } ], "label.delete": [ @@ -260,13 +266,13 @@ "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "チームの削除" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "ユーザーの削除" } ], "label.delete-website": [ @@ -278,7 +284,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "説明" } ], "label.desktop": [ @@ -290,13 +296,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "詳細情報" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "デバイス" } ], "label.devices": [ @@ -308,13 +314,13 @@ "label.dismiss": [ { "type": 0, - "value": "無視する" + "value": "却下" } ], "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "を含まない" } ], "label.domain": [ @@ -326,7 +332,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "切り捨て" } ], "label.edit": [ @@ -338,25 +344,25 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "ダッシュボードの編集" } ], "label.enable-share-url": [ { "type": 0, - "value": "共有リンクを有効にする" + "value": "共有URLを有効にする" } ], "label.event": [ { "type": 0, - "value": "Event" + "value": "イベント" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "イベントデータ" } ], "label.events": [ @@ -368,109 +374,127 @@ "label.false": [ { "type": 0, - "value": "False" + "value": "偽" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "フィールド" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "フィールド" + } + ], + "label.filter": [ + { + "type": 0, + "value": "Filter" } ], "label.filter-combined": [ { "type": 0, - "value": "パスまで" + "value": "統合" } ], "label.filter-raw": [ { "type": 0, - "value": "すべて表示" + "value": "RAW" } ], "label.filters": [ { "type": 0, - "value": "Filters" + "value": "フィルター" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "分析" + } + ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "超過" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "以上" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "見通し" + } + ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "に等しい" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "に等しくない" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "未設定" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "設定済み" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "参加" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "チームに参加" } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "言語" } ], "label.languages": [ { "type": 0, - "value": "Languages" + "value": "言語" } ], "label.laptop": [ @@ -510,25 +534,25 @@ "label.leave": [ { "type": 0, - "value": "Leave" + "value": "離脱" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "チームを離脱" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "未満" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "以下" } ], "label.login": [ @@ -546,19 +570,19 @@ "label.max": [ { "type": 0, - "value": "Max" + "value": "最大" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "メンバー" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "最小" } ], "label.mobile": [ @@ -570,13 +594,13 @@ "label.more": [ { "type": 0, - "value": "さらに表示" + "value": "もっと見る" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "マイWebサイト" } ], "label.name": [ @@ -594,7 +618,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "なし" } ], "label.os": [ @@ -606,19 +630,19 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "概要" } ], "label.owner": [ { "type": 0, - "value": "Owner" + "value": "所有者" } ], "label.page-of": [ { "type": 0, - "value": "Page " + "value": "ページ " }, { "type": 1, @@ -626,7 +650,7 @@ }, { "type": 0, - "value": " of " + "value": "/" }, { "type": 1, @@ -642,7 +666,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "ページタイトル" } ], "label.pages": [ @@ -660,39 +684,35 @@ "label.powered-by": [ { "type": 0, - "value": "このシステムは " + "value": "Powered by " }, { "type": 1, "value": "name" - }, - { - "type": 0, - "value": " で実行されています。" } ], "label.profile": [ { "type": 0, - "value": "プロファイル" + "value": "プロフィール" } ], "label.queries": [ { "type": 0, - "value": "Queries" + "value": "クエリ" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "クエリ" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "クエリパラメーター" } ], "label.realtime": [ @@ -704,7 +724,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "リファラー" } ], "label.referrers": [ @@ -722,31 +742,31 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "再生成" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "地域" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "地域" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "削除" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "レポート" } ], "label.required": [ @@ -764,25 +784,31 @@ "label.reset-website": [ { "type": 0, - "value": "Reset statistics" + "value": "Webサイトをリセットする" } ], "label.retention": [ { "type": 0, - "value": "Retention" + "value": "保持" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "ロール" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "クエリ実行" } ], "label.save": [ @@ -794,25 +820,31 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "画面サイズ" + } + ], + "label.search": [ + { + "type": 0, + "value": "Search" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "日付を選択" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Webサイトを選択" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "セッション" } ], "label.settings": [ @@ -824,19 +856,19 @@ "label.share-url": [ { "type": 0, - "value": "共有リンク" + "value": "共有URL" } ], "label.single-day": [ { "type": 0, - "value": "一日のみ" + "value": "一日" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "合計" } ], "label.tablet": [ @@ -848,55 +880,55 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "チーム" } ], "label.team-guest": [ { "type": 0, - "value": "Team guest" + "value": "チームゲスト" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "チームID" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "チームメンバー" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "チーム名" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "チーム所有者" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "チームのWebサイト" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "チーム" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "テーマ" } ], "label.this-month": [ @@ -926,7 +958,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "タイトル" } ], "label.today": [ @@ -938,19 +970,19 @@ "label.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "グラフを切り替える" } ], "label.total": [ { "type": 0, - "value": "Total" + "value": "累計" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "総記録数" } ], "label.tracking-code": [ @@ -962,19 +994,19 @@ "label.true": [ { "type": 0, - "value": "True" + "value": "真" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "種別" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "ユニーク" } ], "label.unique-visitors": [ @@ -992,7 +1024,7 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "無題" } ], "label.url": [ @@ -1004,13 +1036,13 @@ "label.urls": [ { "type": 0, - "value": "URLs" + "value": "URL" } ], "label.user": [ { "type": 0, - "value": "User" + "value": "ユーザー" } ], "label.username": [ @@ -1022,55 +1054,55 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "ユーザー" } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "値" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "表示" } ], "label.view-details": [ { "type": 0, - "value": "詳細を見る" + "value": "詳細を表示" } ], "label.view-only": [ { "type": 0, - "value": "View only" + "value": "表示のみ" } ], "label.views": [ { "type": 0, - "value": "閲覧数" + "value": "表示" } ], "label.visitors": [ { "type": 0, - "value": "訪問者数" + "value": "訪問者" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Webサイト" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "WebサイトID" } ], "label.websites": [ @@ -1082,13 +1114,13 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "ウィンドウ" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "昨日" } ], "message.active-users": [ @@ -1098,7 +1130,31 @@ }, { "type": 0, - "value": "人が閲覧中です。" + "value": " " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "アクティブな訪問者" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "アクティブな訪問者" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" } ], "message.confirm-delete": [ @@ -1112,37 +1168,29 @@ } ], "message.confirm-leave": [ - { - "type": 0, - "value": "Are you sure you want to leave " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "?" + "value": "から離脱してもよろしいですか?" } ], "message.confirm-reset": [ - { - "type": 0, - "value": "Are your sure you want to reset " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "'s statistics?" + "value": "をリセットしてもよろしいですか?" } ], "message.delete-account": [ { "type": 0, - "value": "To delete this account, type " + "value": "このアカウントを削除するには、下のフォームに「" }, { "type": 1, @@ -1150,13 +1198,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": "」と入力してください。" } ], "message.delete-website": [ { "type": 0, - "value": "To delete this website, type " + "value": "このWebサイトを削除するには、下のフォームに「" }, { "type": 1, @@ -1164,57 +1212,57 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": "」と入力してください。" } ], "message.delete-website-warning": [ { "type": 0, - "value": "関連するすべてのデータも削除されます。" + "value": "Webサイトのデータがすべて削除されます。" } ], "message.error": [ { "type": 0, - "value": "問題が発生しました。" + "value": "未知のエラーが発生しました。" } ], "message.event-log": [ { "type": 1, - "value": "event" + "value": "url" }, { "type": 0, - "value": " on " + "value": "の" }, { "type": 1, - "value": "url" + "value": "event" } ], "message.go-to-settings": [ { "type": 0, - "value": "設定する" + "value": "設定に移動する" } ], "message.incorrect-username-password": [ { "type": 0, - "value": "ユーザー名/パスワードが正しくありません。" + "value": "ユーザー名またはパスワードが間違っています。" } ], "message.invalid-domain": [ { "type": 0, - "value": "無効なドメイン" + "value": "無効なドメインです。http/httpsを含めないでください。" } ], "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "最小文字数は" }, { "type": 1, @@ -1222,13 +1270,13 @@ }, { "type": 0, - "value": " characters" + "value": "文字です" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Umamiの新しいバージョン" }, { "type": 1, @@ -1236,7 +1284,7 @@ }, { "type": 0, - "value": " is available!" + "value": "が利用可能です!" } ], "message.no-data-available": [ @@ -1248,37 +1296,37 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "イベントデータがありません。" } ], "message.no-match-password": [ { "type": 0, - "value": "パスワードが一致しません" + "value": "パスワードが一致しません。" } ], "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "結果が見つかりません。" } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "このチームにはWebサイトがありません。" } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "チームを作成していません。" } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "ユーザーが存在しません。" } ], "message.no-websites-configured": [ @@ -1290,13 +1338,13 @@ "message.page-not-found": [ { "type": 0, - "value": "ページが見つかりません。" + "value": "ページが見つかりません" } ], "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "このWebサイトをリセットするには、下のフォームに「" }, { "type": 1, @@ -1304,63 +1352,69 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": "」と入力してください。" } ], "message.reset-website-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "このWebサイトの統計情報はすべて削除されますが、設定はそのまま残ります。" } ], "message.saved": [ { "type": 0, - "value": "正常に保存されました。" + "value": "保存されました。" } ], "message.share-url": [ { "type": 0, - "value": "これは" - }, - { - "type": 1, - "value": "target" - }, - { - "type": 0, - "value": "の共有リンクです。" + "value": "あなたのWebサイトの統計情報は次のURLで公開されています:" } ], "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "あなたはすでにチームのメンバーです。" } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "チームが見つかりません。" } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Webサイトはチーム内の誰でも見ることができます。" } ], "message.tracking-code": [ { "type": 0, - "value": "トラッキングコード" + "value": "このWebサイトの統計情報を追跡するには、HTMLの" + }, + { + "children": [ + { + "type": 0, + "value": "..." + } + ], + "type": 8, + "value": "head" + }, + { + "type": 0, + "value": "セクションに以下のコードを記述します。" } ], "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "ユーザーが削除されました。" } ], "message.visitor-log": [ @@ -1370,7 +1424,7 @@ }, { "type": 0, - "value": "(" + "value": "(" }, { "type": 1, @@ -1378,7 +1432,7 @@ }, { "type": 0, - "value": ")で" + "value": ")で" }, { "type": 1, diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json index 1f7b82ca..68c71ebb 100644 --- a/public/intl/messages/km-KH.json +++ b/public/intl/messages/km-KH.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "ប្រភេទឧបករណ៍" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index 26413708..5a3c9034 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -773,6 +797,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -797,6 +827,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index 21610b7b..6369cd3c 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -874,6 +898,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -898,6 +928,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 013e5c88..fd7294f3 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Дэлгэц" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index e022e122..874f3a3d 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json index 3995a22b..33b44979 100644 --- a/public/intl/messages/my-MM.json +++ b/public/intl/messages/my-MM.json @@ -41,6 +41,12 @@ "value": "အက်ဒမင်" } ], + "label.after": [ + { + "type": 0, + "value": "ပြီးနောက်" + } + ], "label.all": [ { "type": 0, @@ -59,6 +65,12 @@ "value": "အန်နလစ်တစ်" } ], + "label.average": [ + { + "type": 0, + "value": "ပျမ်းမျှ" + } + ], "label.average-visit-time": [ { "type": 0, @@ -71,12 +83,30 @@ "value": "နောက်သို့" } ], + "label.before": [ + { + "type": 0, + "value": "မတိုင်မီ" + } + ], "label.bounce-rate": [ { "type": 0, "value": "Bounce နှုန်း" } ], + "label.breakdown": [ + { + "type": 0, + "value": "ခွဲခြမ်းစိတ်ဖြာမှု" + } + ], + "label.browser": [ + { + "type": 0, + "value": "Browser" + } + ], "label.browsers": [ { "type": 0, @@ -101,6 +131,12 @@ "value": "မြို့များ" } ], + "label.city": [ + { + "type": 0, + "value": "City" + } + ], "label.clear-all": [ { "type": 0, @@ -119,6 +155,12 @@ "value": "စကားဝှက်အတည်ပြုသည်" } ], + "label.contains": [ + { + "type": 0, + "value": "ပါဝင်သည်" + } + ], "label.continue": [ { "type": 0, @@ -131,6 +173,24 @@ "value": "နိုင်ငံများ" } ], + "label.country": [ + { + "type": 0, + "value": "Country" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], + "label.create-report": [ + { + "type": 0, + "value": "ရီပို့လုပ်မည်" + } + ], "label.create-team": [ { "type": 0, @@ -173,12 +233,24 @@ "value": "ဒေတာ" } ], + "label.date": [ + { + "type": 0, + "value": "Date" + } + ], "label.date-range": [ { "type": 0, "value": "ရက်အပိုင်းအခြား" } ], + "label.day": [ + { + "type": 0, + "value": "Day" + } + ], "label.default-date-range": [ { "type": 0, @@ -209,6 +281,12 @@ "value": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်" } ], + "label.description": [ + { + "type": 0, + "value": "ရှင်းပြချက်" + } + ], "label.desktop": [ { "type": 0, @@ -221,6 +299,12 @@ "value": "အသေးစိတ်" } ], + "label.device": [ + { + "type": 0, + "value": "Device" + } + ], "label.devices": [ { "type": 0, @@ -233,6 +317,12 @@ "value": "ပိတ်ပါ" } ], + "label.does-not-contain": [ + { + "type": 0, + "value": "မပါဝင်ပါ" + } + ], "label.domain": [ { "type": 0, @@ -281,6 +371,12 @@ "value": "အဖြစ်အပျက်များ" } ], + "label.false": [ + { + "type": 0, + "value": "မှားသည်" + } + ], "label.field": [ { "type": 0, @@ -293,6 +389,12 @@ "value": "Field အမည်များ" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -305,18 +407,72 @@ "value": "အရှိအတိုင်း" } ], + "label.filters": [ + { + "type": 0, + "value": "Filter များ" + } + ], "label.funnel": [ { "type": 0, "value": "ဖန်နယ်" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], + "label.greater-than": [ + { + "type": 0, + "value": "ထက်ပို၍ကြီးသည်" + } + ], + "label.greater-than-equals": [ + { + "type": 0, + "value": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်" + } + ], "label.insights": [ { "type": 0, "value": "အသေးစိတ်သိမြင်နိုင်ရန်" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], + "label.is": [ + { + "type": 0, + "value": "Is" + } + ], + "label.is-not": [ + { + "type": 0, + "value": "Is not" + } + ], + "label.is-not-set": [ + { + "type": 0, + "value": "Is not set" + } + ], + "label.is-set": [ + { + "type": 0, + "value": "Is set" + } + ], "label.join": [ { "type": 0, @@ -387,6 +543,18 @@ "value": "အသင်းမှထွက်မည်" } ], + "label.less-than": [ + { + "type": 0, + "value": "ထက်ပို၍ငယ်သည်" + } + ], + "label.less-than-equals": [ + { + "type": 0, + "value": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်" + } + ], "label.login": [ { "type": 0, @@ -399,12 +567,24 @@ "value": "လော့ဂ်အောက်လုပ်မည်" } ], + "label.max": [ + { + "type": 0, + "value": "အများဆုံး" + } + ], "label.members": [ { "type": 0, "value": "အဖွဲ့ဝင်များ" } ], + "label.min": [ + { + "type": 0, + "value": "အနည်းဆုံး" + } + ], "label.mobile": [ { "type": 0, @@ -417,6 +597,12 @@ "value": "နောက်ထပ်" } ], + "label.my-websites": [ + { + "type": 0, + "value": "My websites" + } + ], "label.name": [ { "type": 0, @@ -435,24 +621,54 @@ "value": "မရှိပါ" } ], - "label.operating-systems": [ + "label.os": [ { "type": 0, "value": "ကွန်ပျူတာလည်ပတ်မှုစနစ်" } ], + "label.overview": [ + { + "type": 0, + "value": "အပေါ်ယံမြင်ကွင်း" + } + ], "label.owner": [ { "type": 0, "value": "ပိုင်ဆိုင်သူ" } ], + "label.page-of": [ + { + "type": 0, + "value": "Page " + }, + { + "type": 1, + "value": "current" + }, + { + "type": 0, + "value": " of " + }, + { + "type": 1, + "value": "total" + } + ], "label.page-views": [ { "type": 0, "value": "ဝင်ရောက်ကြည့်ရှုသူ" } ], + "label.pageTitle": [ + { + "type": 0, + "value": "Page title" + } + ], "label.pages": [ { "type": 0, @@ -505,6 +721,12 @@ "value": "အချိန်နှင့်တပြေးညီ" } ], + "label.referrer": [ + { + "type": 0, + "value": "Referrer" + } + ], "label.referrers": [ { "type": 0, @@ -523,6 +745,12 @@ "value": "ပြန်ထုတ်မည်" } ], + "label.region": [ + { + "type": 0, + "value": "Region" + } + ], "label.regions": [ { "type": 0, @@ -559,6 +787,18 @@ "value": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်" } ], + "label.retention": [ + { + "type": 0, + "value": "Retention" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -583,6 +823,12 @@ "value": "မြင်ကွင်းများ" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, @@ -619,6 +865,12 @@ "value": "တစ်ရက်အတွင်း" } ], + "label.sum": [ + { + "type": 0, + "value": "ပေါင်းလဒ်" + } + ], "label.tablet": [ { "type": 0, @@ -649,12 +901,24 @@ "value": "အသင်းဝင်" } ], + "label.team-name": [ + { + "type": 0, + "value": "Team name" + } + ], "label.team-owner": [ { "type": 0, "value": "အသင်းကိုပိုင်ဆိုင်သူ" } ], + "label.team-websites": [ + { + "type": 0, + "value": "Team websites" + } + ], "label.teams": [ { "type": 0, @@ -709,12 +973,42 @@ "value": "ဇယားများကို အဖွင့်အပိတ်လုပ်မည်" } ], + "label.total": [ + { + "type": 0, + "value": "စုစုပေါင်း" + } + ], + "label.total-records": [ + { + "type": 0, + "value": "မှတ်တမ်းစုစုပေါင်း" + } + ], "label.tracking-code": [ { "type": 0, "value": "ထရက်လုပ်သည့် ကုဒ်" } ], + "label.true": [ + { + "type": 0, + "value": "မှန်သည်" + } + ], + "label.type": [ + { + "type": 0, + "value": "အမျိုးအစား" + } + ], + "label.unique": [ + { + "type": 0, + "value": "Unique" + } + ], "label.unique-visitors": [ { "type": 0, @@ -727,6 +1021,12 @@ "value": "မသိသော" } ], + "label.untitled": [ + { + "type": 0, + "value": "ခေါင်းစဉ်မရှိ" + } + ], "label.url": [ { "type": 0, @@ -757,6 +1057,12 @@ "value": "အသုံးပြုသူများ" } ], + "label.value": [ + { + "type": 0, + "value": "တန်ဖိုး" + } + ], "label.view": [ { "type": 0, @@ -817,168 +1123,6 @@ "value": "မနေ့က" } ], - "labels.after": [ - { - "type": 0, - "value": "ပြီးနောက်" - } - ], - "labels.average": [ - { - "type": 0, - "value": "ပျမ်းမျှ" - } - ], - "labels.before": [ - { - "type": 0, - "value": "မတိုင်မီ" - } - ], - "labels.breakdown": [ - { - "type": 0, - "value": "ခွဲခြမ်းစိတ်ဖြာမှု" - } - ], - "labels.contains": [ - { - "type": 0, - "value": "ပါဝင်သည်" - } - ], - "labels.create-report": [ - { - "type": 0, - "value": "ရီပို့လုပ်မည်" - } - ], - "labels.description": [ - { - "type": 0, - "value": "ရှင်းပြချက်" - } - ], - "labels.does-not-contain": [ - { - "type": 0, - "value": "မပါဝင်ပါ" - } - ], - "labels.does-not-equal": [ - { - "type": 0, - "value": "မတူညီပါ" - } - ], - "labels.equals": [ - { - "type": 0, - "value": "တူညီသည်" - } - ], - "labels.false": [ - { - "type": 0, - "value": "မှားသည်" - } - ], - "labels.filters": [ - { - "type": 0, - "value": "Filter များ" - } - ], - "labels.greater-than": [ - { - "type": 0, - "value": "ထက်ပို၍ကြီးသည်" - } - ], - "labels.greater-than-equals": [ - { - "type": 0, - "value": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်" - } - ], - "labels.less-than": [ - { - "type": 0, - "value": "ထက်ပို၍ငယ်သည်" - } - ], - "labels.less-than-equals": [ - { - "type": 0, - "value": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်" - } - ], - "labels.max": [ - { - "type": 0, - "value": "အများဆုံး" - } - ], - "labels.min": [ - { - "type": 0, - "value": "အနည်းဆုံး" - } - ], - "labels.overview": [ - { - "type": 0, - "value": "အပေါ်ယံမြင်ကွင်း" - } - ], - "labels.sum": [ - { - "type": 0, - "value": "ပေါင်းလဒ်" - } - ], - "labels.total": [ - { - "type": 0, - "value": "စုစုပေါင်း" - } - ], - "labels.total-records": [ - { - "type": 0, - "value": "မှတ်တမ်းစုစုပေါင်း" - } - ], - "labels.true": [ - { - "type": 0, - "value": "မှန်သည်" - } - ], - "labels.type": [ - { - "type": 0, - "value": "အမျိုးအစား" - } - ], - "labels.unique": [ - { - "type": 0, - "value": "Unique" - } - ], - "labels.untitled": [ - { - "type": 0, - "value": "ခေါင်းစဉ်မရှိ" - } - ], - "labels.value": [ - { - "type": 0, - "value": "တန်ဖိုး" - } - ], "message.active-users": [ { "type": 1, diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index 82576ff8..010bd2ad 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index 5ee25206..66c5f4fa 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Schermen" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 6da1ff7a..4621a918 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Pola" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Lejek" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Ekrany" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index ba508a50..790e1316 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Campos" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funil" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Telas" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index a6431fb3..511d74fc 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index 1438ab41..9181c103 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index b3213e67..93b89291 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Экраны" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index f4e5bca2..578a8abe 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index b7e2914a..6b375afe 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index a3af95cb..6d435020 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Koda za dostop" } ], "label.actions": [ @@ -14,19 +14,19 @@ "label.activity-log": [ { "type": 0, - "value": "Activity log" + "value": "Dnevnik dejavnosti" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Dodaj" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Dodaj opis" } ], "label.add-website": [ @@ -44,31 +44,31 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Po" } ], "label.all": [ { "type": 0, - "value": "Vse" + "value": "Vsi" } ], "label.all-time": [ { "type": 0, - "value": "All time" + "value": "Ves čas" } ], "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "Analitika" } ], "label.average": [ { "type": 0, - "value": "Average" + "value": "Povprečno" } ], "label.average-visit-time": [ @@ -86,25 +86,25 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Pred" } ], "label.bounce-rate": [ { "type": 0, - "value": "Zapustna stopnja" + "value": "Odbojna stopnja" } ], "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Razčlenitev" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Brskalnik" } ], "label.browsers": [ @@ -128,43 +128,43 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Mesta" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Mesto" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Počisti vse" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Potrdi" } ], "label.confirm-password": [ { "type": 0, - "value": "Potrditev gesla" + "value": "Potrdi geslo" } ], "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Vsebuje" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "Nadaljuj" } ], "label.countries": [ @@ -176,31 +176,37 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Država" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Ustvari poročilo" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Ustvari ekipo" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Ustvari uporabnika" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "Ustvarjeno" } ], "label.current-password": [ @@ -212,7 +218,7 @@ "label.custom-range": [ { "type": 0, - "value": "Razpon po meri" + "value": "Obdobje po meri" } ], "label.dashboard": [ @@ -224,31 +230,31 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Podatki" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Datum" } ], "label.date-range": [ { "type": 0, - "value": "Časovni razpon" + "value": "Časovno obdobje" } ], "label.day": [ { "type": 0, - "value": "Day" + "value": "Dan" } ], "label.default-date-range": [ { "type": 0, - "value": "Privzeti časovni razpon" + "value": "Privzeto časovno obdobje" } ], "label.delete": [ @@ -260,13 +266,13 @@ "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Izbriši ekipo" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Izbriši uporabnika" } ], "label.delete-website": [ @@ -278,7 +284,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Opis" } ], "label.desktop": [ @@ -290,13 +296,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Podrobnosti" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Naprava" } ], "label.devices": [ @@ -308,13 +314,13 @@ "label.dismiss": [ { "type": 0, - "value": "Opusti" + "value": "Prezri" } ], "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Ne vsebuje" } ], "label.domain": [ @@ -326,7 +332,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Zapustitev" } ], "label.edit": [ @@ -338,25 +344,25 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "Uredi nadzorno ploščo" } ], "label.enable-share-url": [ { "type": 0, - "value": "Omogoči URL za skupno rabo" + "value": "Uredi povezavo za deljenje" } ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Dogodek" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Podatki dogodka" } ], "label.events": [ @@ -368,109 +374,127 @@ "label.false": [ { "type": 0, - "value": "False" + "value": "Napačno" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Polje" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Polja" + } + ], + "label.filter": [ + { + "type": 0, + "value": "Filter" } ], "label.filter-combined": [ { "type": 0, - "value": "Skupno" + "value": "Skupaj" } ], "label.filter-raw": [ { "type": 0, - "value": "Neobdelane meritve" + "value": "Neobdelano" } ], "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filtri" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Prodajni lijak" + } + ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Večje od" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Večje ali enako kot" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Vpogled" + } + ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "Je" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Ni" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Ni nastavljeno" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Je nastavljeno" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "Pridruži se" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "Pridruži se ekipi" } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "Jezik" } ], "label.languages": [ { "type": 0, - "value": "Languages" + "value": "Jeziki" } ], "label.laptop": [ @@ -510,25 +534,25 @@ "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Zapusti" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Zapusti ekipo" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Manjše kot" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Manjše ali enako kot" } ], "label.login": [ @@ -546,25 +570,25 @@ "label.max": [ { "type": 0, - "value": "Max" + "value": "Največ" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Člani" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "Najmanj" } ], "label.mobile": [ { "type": 0, - "value": "Mobilni telefon" + "value": "Mobilne naprave" } ], "label.more": [ @@ -576,7 +600,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Moja spletna mesta" } ], "label.name": [ @@ -594,7 +618,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "Brez" } ], "label.os": [ @@ -606,19 +630,19 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Pregled" } ], "label.owner": [ { "type": 0, - "value": "Owner" + "value": "Lastnik" } ], "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Stran " }, { "type": 1, @@ -626,7 +650,7 @@ }, { "type": 0, - "value": " of " + "value": " od " }, { "type": 1, @@ -636,13 +660,13 @@ "label.page-views": [ { "type": 0, - "value": "Ogledi strani" + "value": "Obiski strani" } ], "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Naslov strani" } ], "label.pages": [ @@ -660,7 +684,7 @@ "label.powered-by": [ { "type": 0, - "value": "Zagotavlja " + "value": "Poganja " }, { "type": 1, @@ -676,31 +700,31 @@ "label.queries": [ { "type": 0, - "value": "Queries" + "value": "Poizvedbe" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Poizvedba" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Parametri poizvedbe" } ], "label.realtime": [ { "type": 0, - "value": "V realnem času" + "value": "V živo" } ], "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Vir" } ], "label.referrers": [ @@ -718,31 +742,31 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "Ponovno generiraj" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "Regija" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "Regije" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "Odstrani" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Poročila" } ], "label.required": [ @@ -760,25 +784,31 @@ "label.reset-website": [ { "type": 0, - "value": "Reset statistics" + "value": "Ponastavi statistiko" } ], "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Ohranjanje uporabnikov" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "Vloga" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Izvedi poizvedbo" } ], "label.save": [ @@ -790,25 +820,31 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "Zasloni" + } + ], + "label.search": [ + { + "type": 0, + "value": "Search" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Izberi datum" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Izberi spletno mesto" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Seje" } ], "label.settings": [ @@ -820,7 +856,7 @@ "label.share-url": [ { "type": 0, - "value": "Deli URL" + "value": "Deli povezavo" } ], "label.single-day": [ @@ -832,7 +868,7 @@ "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Seštevek" } ], "label.tablet": [ @@ -844,55 +880,55 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "Ekipa" } ], "label.team-guest": [ { "type": 0, - "value": "Team guest" + "value": "Gost ekipe" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "ID ekipe" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "Član ekipe" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Ime ekipe" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "Lastnik ekipe" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Spletna mesta ekipe" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "Ekipe" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "Tema" } ], "label.this-month": [ @@ -910,7 +946,7 @@ "label.this-year": [ { "type": 0, - "value": "Letos" + "value": "To leto" } ], "label.timezone": [ @@ -922,7 +958,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "Naslov" } ], "label.today": [ @@ -934,19 +970,19 @@ "label.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "Preklopi grafe" } ], "label.total": [ { "type": 0, - "value": "Total" + "value": "Skupaj" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Skupni zapisi" } ], "label.tracking-code": [ @@ -958,19 +994,19 @@ "label.true": [ { "type": 0, - "value": "True" + "value": "Pravilno" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Vrsta" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Unikatni" } ], "label.unique-visitors": [ @@ -988,25 +1024,25 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Brez naslova" } ], "label.url": [ { "type": 0, - "value": "URL" + "value": "Povezava" } ], "label.urls": [ { "type": 0, - "value": "URLs" + "value": "Povezave" } ], "label.user": [ { "type": 0, - "value": "User" + "value": "Uporabnik" } ], "label.username": [ @@ -1018,37 +1054,37 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "Uporabniki" } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Vrednost" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "Poglej" } ], "label.view-details": [ { "type": 0, - "value": "Prikaži podrobnosti" + "value": "Poglej podrobnosti" } ], "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Samo ogledovanje" } ], "label.views": [ { "type": 0, - "value": "Ogledi" + "value": "Obiski" } ], "label.visitors": [ @@ -1060,31 +1096,31 @@ "label.website": [ { "type": 0, - "value": "Website" + "value": "Spletno mesto" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "ID spletnega mesta" } ], "label.websites": [ { "type": 0, - "value": "Spletna mesta" + "value": "Spletnih mest" } ], "label.window": [ { "type": 0, - "value": "Window" + "value": "Okno" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "Včeraj" } ], "message.active-users": [ @@ -1138,7 +1174,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "Ste prepričani, da želite zapustiti " }, { "type": 1, @@ -1152,7 +1188,7 @@ "message.confirm-reset": [ { "type": 0, - "value": "Are your sure you want to reset " + "value": "Ste prepričani, da želite ponastaviti statistiko " }, { "type": 1, @@ -1160,13 +1196,13 @@ }, { "type": 0, - "value": "'s statistics?" + "value": "?" } ], "message.delete-account": [ { "type": 0, - "value": "To delete this account, type " + "value": "Za potrditev izbrisa tega računa vnesite " }, { "type": 1, @@ -1174,13 +1210,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " v spodnje polje." } ], "message.delete-website": [ { "type": 0, - "value": "To delete this website, type " + "value": "Za potrditev izbrisa tega spletnega mesta vnesite " }, { "type": 1, @@ -1188,19 +1224,19 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " v spodnje polje." } ], "message.delete-website-warning": [ { "type": 0, - "value": "Izbrisani bodo tudi vsi povezani podatki." + "value": "Izbrisani bodo tudi vsi pripadajoči podatki." } ], "message.error": [ { "type": 0, - "value": "Prišlo je do napake." + "value": "Nekaj je šlo narobe." } ], "message.event-log": [ @@ -1210,7 +1246,7 @@ }, { "type": 0, - "value": " on " + "value": " na " }, { "type": 1, @@ -1226,7 +1262,7 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "Nepravilno uporabniško ime/geslo" + "value": "Nepravilno uporabniško ime/geslo." } ], "message.invalid-domain": [ @@ -1238,7 +1274,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "Najmanjša dolžina je " }, { "type": 1, @@ -1246,13 +1282,13 @@ }, { "type": 0, - "value": " characters" + "value": " znakov" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Na voljo je nova verzija programa Umami " }, { "type": 1, @@ -1260,7 +1296,7 @@ }, { "type": 0, - "value": " is available!" + "value": "!" } ], "message.no-data-available": [ @@ -1272,7 +1308,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Podatki o dogodku niso na voljo." } ], "message.no-match-password": [ @@ -1284,31 +1320,31 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Rezultatov ni bilo mogoče najti." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "Ta ekipa nima spletnih mest." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "Niste še ustvarili nobene ekipe." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "Ni uporabnikov." } ], "message.no-websites-configured": [ { "type": 0, - "value": "Ni nastavljenih spletnih mest." + "value": "Nimate nastavljenih nobenih spletnih mest." } ], "message.page-not-found": [ @@ -1320,7 +1356,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Za ponastavitev izbrisa tega spletnega mesta vnesite " }, { "type": 1, @@ -1328,13 +1364,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " v spodnje polje." } ], "message.reset-website-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "Vse statistike za to spletno mesto bodo izbrisane, koda za sledenje pa bo ostala nespremenjena." } ], "message.saved": [ @@ -1346,7 +1382,7 @@ "message.share-url": [ { "type": 0, - "value": "To je javno dostopen naslov URL za " + "value": "To je javno dostopna povezava za " }, { "type": 1, @@ -1360,19 +1396,19 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "Ste že član ekipe." } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "Ekipa ni bila najdena." } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Spletne strani si lahko ogleda vsak član ekipe." } ], "message.tracking-code": [ @@ -1384,7 +1420,7 @@ "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "Uporabnik je izbrisan." } ], "message.visitor-log": [ diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 4a7f4130..9824be15 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Upplösning" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index 90fb9ebf..9726b46d 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index c30a9d61..6988c653 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "ขนาดหน้าจอ" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 138681ad..f15a3b73 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Ekranlar" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index bdc2d345..2c602c94 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 2005bc71..23195ffc 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index 9fe0dd4e..4c3ef05c 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index 71234564..acc98be2 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -104,7 +104,7 @@ "label.browser": [ { "type": 0, - "value": "Browser" + "value": "浏览器" } ], "label.browsers": [ @@ -134,7 +134,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "市/县" } ], "label.clear-all": [ @@ -176,7 +176,13 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "国家/地区" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" } ], "label.create-report": [ @@ -230,7 +236,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "日期" } ], "label.date-range": [ @@ -242,7 +248,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "日" } ], "label.default-date-range": [ @@ -296,7 +302,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "设备" } ], "label.devices": [ @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "分析" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "见解" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -440,13 +464,13 @@ "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "未设置" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "已设置" } ], "label.join": [ @@ -576,7 +600,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "我的网站" } ], "label.name": [ @@ -618,7 +642,15 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "总" + }, + { + "type": 1, + "value": "total" + }, + { + "type": 0, + "value": "中的第" }, { "type": 1, @@ -626,11 +658,7 @@ }, { "type": 0, - "value": " of " - }, - { - "type": 1, - "value": "total" + "value": "页" } ], "label.page-views": [ @@ -642,7 +670,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "标题" } ], "label.pages": [ @@ -704,7 +732,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "来源" } ], "label.referrers": [ @@ -728,7 +756,7 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "州/省" } ], "label.regions": [ @@ -770,7 +798,13 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "保留" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." } ], "label.role": [ @@ -797,6 +831,12 @@ "value": "屏幕尺寸" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, @@ -872,7 +912,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "团队名称" } ], "label.team-owner": [ @@ -884,7 +924,7 @@ "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "团队网站" } ], "label.teams": [ @@ -974,7 +1014,7 @@ "label.unique": [ { "type": 0, - "value": "Unique" + "value": "独立" } ], "label.unique-visitors": [ @@ -998,13 +1038,13 @@ "label.url": [ { "type": 0, - "value": "URL" + "value": "网址" } ], "label.urls": [ { "type": 0, - "value": "URLs" + "value": "网址" } ], "label.user": [ @@ -1046,7 +1086,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "仅浏览量" } ], "label.views": [ @@ -1190,15 +1230,15 @@ "message.event-log": [ { "type": 1, - "value": "event" + "value": "url" }, { "type": 0, - "value": " on " + "value": "上的" }, { "type": 1, - "value": "url" + "value": "event" } ], "message.go-to-settings": [ diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index 43a1996d..49e43821 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -2,37 +2,37 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "存取碼" } ], "label.actions": [ { "type": 0, - "value": "用戶行為" + "value": "行動" } ], "label.activity-log": [ { "type": 0, - "value": "Activity log" + "value": "活動日誌" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "新增" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "新增描述" } ], "label.add-website": [ { "type": 0, - "value": "增加網站" + "value": "新增網站" } ], "label.admin": [ @@ -44,37 +44,37 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "之後" } ], "label.all": [ { "type": 0, - "value": "所有" + "value": "全部" } ], "label.all-time": [ { "type": 0, - "value": "所有時間段" + "value": "所有時間" } ], "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "分析" } ], "label.average": [ { "type": 0, - "value": "Average" + "value": "平均" } ], "label.average-visit-time": [ { "type": 0, - "value": "平均訪問時間" + "value": "平均造訪時間" } ], "label.back": [ @@ -86,7 +86,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "之前" } ], "label.bounce-rate": [ @@ -98,13 +98,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "分解" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "瀏覽器" } ], "label.browsers": [ @@ -122,31 +122,31 @@ "label.change-password": [ { "type": 0, - "value": "更新密碼" + "value": "更改密碼" } ], "label.cities": [ { "type": 0, - "value": "Cities" + "value": "城市" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "城市" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "全部清除" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "確認" } ], "label.confirm-password": [ @@ -158,49 +158,55 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "包含" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "繼續" } ], "label.countries": [ { "type": 0, - "value": "國家/地區" + "value": "國家" } ], "label.country": [ { "type": 0, - "value": "Country" + "value": "國家" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "建立報告" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "建立團隊" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "建立使用者" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "已建立" } ], "label.current-password": [ @@ -212,43 +218,43 @@ "label.custom-range": [ { "type": 0, - "value": "自定義時段" + "value": "自訂範圍" } ], "label.dashboard": [ { "type": 0, - "value": "管理面板" + "value": "儀表板" } ], "label.data": [ { "type": 0, - "value": "Data" + "value": "資料" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "日期" } ], "label.date-range": [ { "type": 0, - "value": "多日" + "value": "日期範圍" } ], "label.day": [ { "type": 0, - "value": "Day" + "value": "日" } ], "label.default-date-range": [ { "type": 0, - "value": "默認日期範圍" + "value": "預設日期範圍" } ], "label.delete": [ @@ -260,13 +266,13 @@ "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "刪除團隊" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "刪除使用者" } ], "label.delete-website": [ @@ -278,25 +284,25 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "描述" } ], "label.desktop": [ { "type": 0, - "value": "桌機" + "value": "桌上型電腦" } ], "label.details": [ { "type": 0, - "value": "Details" + "value": "詳細資訊" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "裝置" } ], "label.devices": [ @@ -314,19 +320,19 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "不包含" } ], "label.domain": [ { "type": 0, - "value": "域名" + "value": "網域" } ], "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "退出" } ], "label.edit": [ @@ -338,55 +344,61 @@ "label.edit-dashboard": [ { "type": 0, - "value": "編輯管理面板" + "value": "編輯儀表板" } ], "label.enable-share-url": [ { "type": 0, - "value": "啟用分享連結" + "value": "啟用分享網址" } ], "label.event": [ { "type": 0, - "value": "Event" + "value": "事件" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "事件資料" } ], "label.events": [ { "type": 0, - "value": "行為類別" + "value": "事件" } ], "label.false": [ { "type": 0, - "value": "False" + "value": "否" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "欄位" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "欄位" + } + ], + "label.filter": [ + { + "type": 0, + "value": "Filter" } ], "label.filter-combined": [ { "type": 0, - "value": "總和" + "value": "組合" } ], "label.filter-raw": [ @@ -398,67 +410,79 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "篩選器" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "漏斗" + } + ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "大於" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "大於或等於" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "洞察" + } + ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "是" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "不是" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "未設定" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "已設定" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "加入" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "加入團隊" } ], "label.language": [ @@ -476,7 +500,7 @@ "label.laptop": [ { "type": 0, - "value": "筆記本" + "value": "筆記型電腦" } ], "label.last-days": [ @@ -510,25 +534,25 @@ "label.leave": [ { "type": 0, - "value": "Leave" + "value": "離開" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "離開團隊" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "小於" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "小於或等於" } ], "label.login": [ @@ -540,31 +564,31 @@ "label.logout": [ { "type": 0, - "value": "退出" + "value": "登出" } ], "label.max": [ { "type": 0, - "value": "Max" + "value": "最大" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "成員" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "最小" } ], "label.mobile": [ { "type": 0, - "value": "手機" + "value": "行動裝置" } ], "label.more": [ @@ -576,13 +600,13 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "我的網站" } ], "label.name": [ { "type": 0, - "value": "名字" + "value": "名稱" } ], "label.new-password": [ @@ -600,13 +624,13 @@ "label.os": [ { "type": 0, - "value": "OS" + "value": "作業系統" } ], "label.overview": [ { "type": 0, - "value": "Overview" + "value": "概覽" } ], "label.owner": [ @@ -618,7 +642,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "頁面 " }, { "type": 1, @@ -626,7 +650,7 @@ }, { "type": 0, - "value": " of " + "value": " / " }, { "type": 1, @@ -636,19 +660,19 @@ "label.page-views": [ { "type": 0, - "value": "網頁流量" + "value": "頁面瀏覽" } ], "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "頁面標題" } ], "label.pages": [ { "type": 0, - "value": "網頁" + "value": "頁面" } ], "label.password": [ @@ -660,11 +684,15 @@ "label.powered-by": [ { "type": 0, - "value": "運行 " + "value": "由 " }, { "type": 1, "value": "name" + }, + { + "type": 0, + "value": " 提供" } ], "label.profile": [ @@ -676,13 +704,13 @@ "label.queries": [ { "type": 0, - "value": "Queries" + "value": "查詢" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "查詢" } ], "label.query-parameters": [ @@ -694,55 +722,55 @@ "label.realtime": [ { "type": 0, - "value": "實時" + "value": "即時" } ], "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "參照來源" } ], "label.referrers": [ { "type": 0, - "value": "指入域名" + "value": "參照來源" } ], "label.refresh": [ { "type": 0, - "value": "刷新" + "value": "重新整理" } ], "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "重新產生" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "區域" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "區域" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "移除" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "報告" } ], "label.required": [ @@ -754,73 +782,85 @@ "label.reset": [ { "type": 0, - "value": "重置" + "value": "重設" } ], "label.reset-website": [ { "type": 0, - "value": "重置統計數據" + "value": "重設網站" } ], "label.retention": [ { "type": 0, - "value": "Retention" + "value": "保留" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "角色" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "執行查詢" } ], "label.save": [ { "type": 0, - "value": "保存" + "value": "儲存" } ], "label.screens": [ { "type": 0, - "value": "屏幕尺寸" + "value": "螢幕" + } + ], + "label.search": [ + { + "type": 0, + "value": "Search" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "選擇日期" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "選擇網站" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "工作階段" } ], "label.settings": [ { "type": 0, - "value": "設置" + "value": "設定" } ], "label.share-url": [ { "type": 0, - "value": "分享連結" + "value": "分享網址" } ], "label.single-day": [ @@ -832,7 +872,7 @@ "label.sum": [ { "type": 0, - "value": "Sum" + "value": "總和" } ], "label.tablet": [ @@ -844,49 +884,49 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "團隊" } ], "label.team-guest": [ { "type": 0, - "value": "Team guest" + "value": "團隊訪客" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "團隊 ID" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "團隊成員" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "團隊名稱" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "團隊擁有者" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "團隊網站" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "團隊" } ], "label.theme": [ @@ -922,7 +962,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "標題" } ], "label.today": [ @@ -940,13 +980,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "總計" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "總記錄" } ], "label.tracking-code": [ @@ -958,19 +998,19 @@ "label.true": [ { "type": 0, - "value": "True" + "value": "是" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "類型" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "獨立" } ], "label.unique-visitors": [ @@ -988,85 +1028,85 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "無標題" } ], "label.url": [ { "type": 0, - "value": "URL" + "value": "網址" } ], "label.urls": [ { "type": 0, - "value": "URLs" + "value": "網址" } ], "label.user": [ { "type": 0, - "value": "User" + "value": "使用者" } ], "label.username": [ { "type": 0, - "value": "用户名" + "value": "使用者名稱" } ], "label.users": [ { "type": 0, - "value": "Users" + "value": "使用者" } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "值" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "檢視" } ], "label.view-details": [ { "type": 0, - "value": "查看更多" + "value": "檢視詳細資訊" } ], "label.view-only": [ { "type": 0, - "value": "View only" + "value": "僅供檢視" } ], "label.views": [ { "type": 0, - "value": "頁面流量" + "value": "檢視" } ], "label.visitors": [ { "type": 0, - "value": "獨立訪客" + "value": "訪客" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "網站" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "網站 ID" } ], "label.websites": [ @@ -1078,19 +1118,19 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "視窗" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "昨天" } ], "message.active-users": [ { "type": 0, - "value": "當前線上 " + "value": "目前有 " }, { "type": 1, @@ -1098,13 +1138,13 @@ }, { "type": 0, - "value": " 人" + "value": " 個活躍的訪客" } ], "message.confirm-delete": [ { "type": 0, - "value": "你確定要刪除 " + "value": "您確定要刪除 " }, { "type": 1, @@ -1118,7 +1158,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "您確定要離開 " }, { "type": 1, @@ -1126,13 +1166,13 @@ }, { "type": 0, - "value": "?" + "value": " 嗎?" } ], "message.confirm-reset": [ { "type": 0, - "value": "您確定要重置 " + "value": "您確定要重設 " }, { "type": 1, @@ -1140,13 +1180,13 @@ }, { "type": 0, - "value": " 的數據嗎?" + "value": " 嗎?" } ], "message.delete-account": [ { "type": 0, - "value": "To delete this account, type " + "value": "要刪除此帳戶,請在下方的方框中輸入 " }, { "type": 1, @@ -1154,13 +1194,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " 以確認。" } ], "message.delete-website": [ { "type": 0, - "value": "To delete this website, type " + "value": "要刪除此網站,請在下方的方框中輸入 " }, { "type": 1, @@ -1168,19 +1208,19 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " 以確認。" } ], "message.delete-website-warning": [ { "type": 0, - "value": "所有相關數據將會被刪除。" + "value": "所有網站資料將被刪除。" } ], "message.error": [ { "type": 0, - "value": "出現錯誤。" + "value": "發生錯誤。" } ], "message.event-log": [ @@ -1190,7 +1230,7 @@ }, { "type": 0, - "value": " on " + "value": " 在 " }, { "type": 1, @@ -1200,25 +1240,25 @@ "message.go-to-settings": [ { "type": 0, - "value": "去設定" + "value": "前往設定" } ], "message.incorrect-username-password": [ { "type": 0, - "value": "用户名或密碼不正確。" + "value": "使用者名稱和/或密碼不正確。" } ], "message.invalid-domain": [ { "type": 0, - "value": "無效域名" + "value": "無效的網域。請不要包含 http/https。" } ], "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "最少需要 " }, { "type": 1, @@ -1226,13 +1266,13 @@ }, { "type": 0, - "value": " characters" + "value": " 個字元" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Umami " }, { "type": 1, @@ -1240,67 +1280,67 @@ }, { "type": 0, - "value": " is available!" + "value": " 的新版本已經可以使用!" } ], "message.no-data-available": [ { "type": 0, - "value": "無可用數據。" + "value": "沒有可用的資料。" } ], "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "沒有可用的事件資料。" } ], "message.no-match-password": [ { "type": 0, - "value": "密碼不一致" + "value": "密碼不一致。" } ], "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "找不到結果。" } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "此團隊沒有任何網站。" } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "您尚未建立任何團隊。" } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "沒有使用者。" } ], "message.no-websites-configured": [ { "type": 0, - "value": "目前無任何網站設定。" + "value": "您尚未設定任何網站。" } ], "message.page-not-found": [ { "type": 0, - "value": "網頁未找到。" + "value": "找不到頁面" } ], "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "要重設此網站,請在下方的方框中輸入 " }, { "type": 1, @@ -1308,69 +1348,75 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " 以確認。" } ], "message.reset-website-warning": [ { "type": 0, - "value": "本網站的所有統計數據將被刪除,但您的跟蹤代碼將保持不變。" + "value": "此網站的所有統計將被刪除,但您的設定將保持不變。" } ], "message.saved": [ { "type": 0, - "value": "成功保存。" + "value": "已儲存。" } ], "message.share-url": [ { "type": 0, - "value": "這是 " - }, - { - "type": 1, - "value": "target" - }, - { - "type": 0, - "value": " 的分享連結。" + "value": "您的網站統計資料可以在以下網址公開檢視:" } ], "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "您已經是團隊的成員。" } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "找不到團隊。" } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "團隊的任何成員都可以檢視網站。" } ], "message.tracking-code": [ { "type": 0, - "value": "追蹤代碼" + "value": "要追蹤此網站的統計,請將以下代碼放在您的 HTML 的 " + }, + { + "children": [ + { + "type": 0, + "value": "..." + } + ], + "type": 8, + "value": "head" + }, + { + "type": 0, + "value": " 區段中。" } ], "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "使用者已刪除。" } ], "message.visitor-log": [ { "type": 0, - "value": "來自" + "value": "來自 " }, { "type": 1, @@ -1378,15 +1424,7 @@ }, { "type": 0, - "value": "的訪客在搭載 " - }, - { - "type": 1, - "value": "os" - }, - { - "type": 0, - "value": " 的" + "value": " 的訪客在 " }, { "type": 1, @@ -1394,7 +1432,15 @@ }, { "type": 0, - "value": "上使用 " + "value": " 上的 " + }, + { + "type": 1, + "value": "os" + }, + { + "type": 0, + "value": " 使用 " }, { "type": 1, @@ -1402,7 +1448,7 @@ }, { "type": 0, - "value": " 進行訪問。" + "value": " 瀏覽。" } ] } diff --git a/scripts/check-db.js b/scripts/check-db.js index a84a775c..757843ac 100644 --- a/scripts/check-db.js +++ b/scripts/check-db.js @@ -66,12 +66,16 @@ async function checkDatabaseVersion() { async function checkV1Tables() { try { - await prisma.$queryRaw`select * from account limit 1`; + // check for v1 migrations before v2 release date + const record = + await prisma.$queryRaw`select * from _prisma_migrations where started_at < '2023-04-17'`; - error( - 'Umami v1 tables detected. For how to upgrade from v1 to v2 go to https://umami.is/docs/migrate-v1-v2.', - ); - process.exit(1); + if (record.length > 0) { + error( + 'Umami v1 tables detected. For how to upgrade from v1 to v2 go to https://umami.is/docs/migrate-v1-v2.', + ); + process.exit(1); + } } catch (e) { // Ignore } diff --git a/scripts/merge-messages.js b/scripts/merge-messages.js index a7415314..572e9a7e 100644 --- a/scripts/merge-messages.js +++ b/scripts/merge-messages.js @@ -4,7 +4,7 @@ const path = require('path'); const prettier = require('prettier'); const messages = require('../build/messages.json'); -const dest = path.resolve(__dirname, '../lang'); +const dest = path.resolve(__dirname, '../src/lang'); const files = fs.readdirSync(dest); const keys = Object.keys(messages).sort(); @@ -14,7 +14,7 @@ with the existing files under `lang`. Any newly added keys will be printed to the console. */ files.forEach(file => { - const lang = require(`../lang/${file}`); + const lang = require(`../src/lang/${file}`); console.log(`Merging ${file}`); diff --git a/src/components/common/HamburgerButton.js b/src/components/common/HamburgerButton.js index 9feee67b..f97006ef 100644 --- a/src/components/common/HamburgerButton.js +++ b/src/components/common/HamburgerButton.js @@ -3,12 +3,11 @@ import { useState } from 'react'; import MobileMenu from './MobileMenu'; import Icons from 'components/icons'; import useMessages from 'components/hooks/useMessages'; -import useConfig from 'components/hooks/useConfig'; export function HamburgerButton() { const { formatMessage, labels } = useMessages(); const [active, setActive] = useState(false); - const { cloudMode } = useConfig(); + const cloudMode = Boolean(process.env.cloudMode); const menuItems = [ { diff --git a/src/components/common/SettingsTable.js b/src/components/common/SettingsTable.js index 2df3b391..a74581ca 100644 --- a/src/components/common/SettingsTable.js +++ b/src/components/common/SettingsTable.js @@ -25,7 +25,7 @@ export function SettingsTable({ onPageSizeChange, filterValue, }) { - const { formatMessage, messages } = useMessages(); + const { formatMessage, labels, messages } = useMessages(); const [filter, setFilter] = useState(filterValue); const { data: value, page, count, pageSize } = data; @@ -42,7 +42,7 @@ export function SettingsTable({ delay={1000} value={filter} autoFocus={true} - placeholder="Search" + placeholder={formatMessage(labels.search)} style={{ maxWidth: '300px', marginBottom: '10px' }} /> )} diff --git a/src/components/common/UpdateNotice.js b/src/components/common/UpdateNotice.js index e3edc70c..23907948 100644 --- a/src/components/common/UpdateNotice.js +++ b/src/components/common/UpdateNotice.js @@ -1,4 +1,5 @@ import { useEffect, useCallback, useState } from 'react'; +import { createPortal } from 'react-dom'; import { Button, Row, Column } from 'react-basics'; import { setItem } from 'next-basics'; import useStore, { checkVersion } from 'store/version'; @@ -44,7 +45,7 @@ export function UpdateNotice({ user, config }) { return null; } - return ( + return createPortal( {formatMessage(messages.newVersionAvailable, { version: `v${latest}` })} @@ -55,7 +56,8 @@ export function UpdateNotice({ user, config }) { - + , + document.body, ); } diff --git a/src/components/common/UpdateNotice.module.css b/src/components/common/UpdateNotice.module.css index db7a0abd..261a3169 100644 --- a/src/components/common/UpdateNotice.module.css +++ b/src/components/common/UpdateNotice.module.css @@ -2,13 +2,14 @@ position: absolute; max-width: 800px; gap: 20px; - margin: 20px auto; - justify-self: center; + margin: 80px auto; + align-self: center; background: var(--base50); padding: 20px; border: 1px solid var(--base300); border-radius: var(--border-radius); z-index: var(--z-index-popup); + box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1); } .message { diff --git a/src/components/common/WorldMap.js b/src/components/common/WorldMap.js index b593099b..6ae84677 100644 --- a/src/components/common/WorldMap.js +++ b/src/components/common/WorldMap.js @@ -8,6 +8,7 @@ import { ISO_COUNTRIES, MAP_FILE } from 'lib/constants'; import useTheme from 'components/hooks/useTheme'; import useCountryNames from 'components/hooks/useCountryNames'; import useLocale from 'components/hooks/useLocale'; +import useMessages from 'components/hooks/useMessages'; import { formatLongNumber } from 'lib/format'; import { percentFilter } from 'lib/filters'; import styles from './WorldMap.module.css'; @@ -17,7 +18,9 @@ export function WorldMap({ data, className }) { const [tooltip, setTooltipPopup] = useState(); const { theme, colors } = useTheme(); const { locale } = useLocale(); + const { formatMessage, labels } = useMessages(); const countryNames = useCountryNames(locale); + const visitorsLabel = formatMessage(labels.visitors).toLocaleLowerCase(locale); const metrics = useMemo(() => (data ? percentFilter(data) : []), [data]); function getFillColor(code) { @@ -40,7 +43,7 @@ export function WorldMap({ data, className }) { function handleHover(code) { if (code === 'AQ') return; const country = metrics?.find(({ x }) => x === code); - setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} visitors`); + setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} ${visitorsLabel}`); } return ( diff --git a/src/components/hooks/useConfig.js b/src/components/hooks/useConfig.js index 6b37c87b..5a516abc 100644 --- a/src/components/hooks/useConfig.js +++ b/src/components/hooks/useConfig.js @@ -7,15 +7,16 @@ let loading = false; export function useConfig() { const { config } = useStore(); const { get } = useApi(); + const configUrl = process.env.configUrl; async function loadConfig() { - const data = await get('/config'); + const data = await get(configUrl); loading = false; setConfig(data); } useEffect(() => { - if (!config && !loading) { + if (!config && !loading && configUrl) { loading = true; loadConfig(); } diff --git a/src/components/hooks/useReport.js b/src/components/hooks/useReport.js index 72f90af3..7c698b4e 100644 --- a/src/components/hooks/useReport.js +++ b/src/components/hooks/useReport.js @@ -2,18 +2,20 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { useTimezone } from './useTimezone'; import useApi from './useApi'; - -const baseParameters = { - name: 'Untitled', - description: '', - parameters: {}, -}; +import useMessages from './useMessages'; export function useReport(reportId, defaultParameters) { const [report, setReport] = useState(null); const [isRunning, setIsRunning] = useState(false); const { get, post } = useApi(); const [timezone] = useTimezone(); + const { formatMessage, labels } = useMessages(); + + const baseParameters = { + name: formatMessage(labels.untitled), + description: '', + parameters: {}, + }; const loadReport = async id => { const data = await get(`/reports/${id}`); diff --git a/src/components/input/ProfileButton.js b/src/components/input/ProfileButton.js index cfb89cf8..35b0eb45 100644 --- a/src/components/input/ProfileButton.js +++ b/src/components/input/ProfileButton.js @@ -3,16 +3,16 @@ import { useRouter } from 'next/router'; import Icons from 'components/icons'; import useMessages from 'components/hooks/useMessages'; import useUser from 'components/hooks/useUser'; -import useConfig from 'components/hooks/useConfig'; -import styles from './ProfileButton.module.css'; import useLocale from 'components/hooks/useLocale'; +import { CURRENT_VERSION } from 'lib/constants'; +import styles from './ProfileButton.module.css'; export function ProfileButton() { const { formatMessage, labels } = useMessages(); const { user } = useUser(); - const { cloudMode } = useConfig(); const router = useRouter(); const { dir } = useLocale(); + const cloudMode = Boolean(process.env.cloudMode); const handleSelect = key => { if (key === 'profile') { @@ -52,6 +52,7 @@ export function ProfileButton() { {formatMessage(labels.logout)} )} +
{`v${CURRENT_VERSION}`}
diff --git a/src/components/input/ProfileButton.module.css b/src/components/input/ProfileButton.module.css index 8b1897bd..e7843344 100644 --- a/src/components/input/ProfileButton.module.css +++ b/src/components/input/ProfileButton.module.css @@ -8,3 +8,11 @@ gap: 12px; background: var(--base50); } + +.version { + font-family: monospace; + font-size: 11px; + color: var(--base600); + text-align: right; + margin-right: 10px; +} diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index 8fd637f3..41e2ec0d 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js @@ -9,7 +9,7 @@ export function AppLayout({ title, children }) { const { user } = useRequireLogin(); const config = useConfig(); - if (!user || !config) { + if (!user || !config || config?.uiDisabled) { return null; } diff --git a/src/components/layout/NavBar.js b/src/components/layout/NavBar.js index ec088175..07627e2a 100644 --- a/src/components/layout/NavBar.js +++ b/src/components/layout/NavBar.js @@ -1,26 +1,24 @@ import { Icon, Text, Row, Column } from 'react-basics'; import Link from 'next/link'; +import { useRouter } from 'next/router'; import classNames from 'classnames'; import Icons from 'components/icons'; import ThemeButton from 'components/input/ThemeButton'; import LanguageButton from 'components/input/LanguageButton'; import ProfileButton from 'components/input/ProfileButton'; -import styles from './NavBar.module.css'; -import useConfig from 'components/hooks/useConfig'; import useMessages from 'components/hooks/useMessages'; -import { useRouter } from 'next/router'; -import HamburgerButton from '../common/HamburgerButton'; +import HamburgerButton from 'components/common/HamburgerButton'; +import styles from './NavBar.module.css'; export function NavBar() { const { pathname } = useRouter(); - const { cloudMode } = useConfig(); const { formatMessage, labels } = useMessages(); const links = [ { label: formatMessage(labels.dashboard), url: '/dashboard' }, { label: formatMessage(labels.websites), url: '/websites' }, { label: formatMessage(labels.reports), url: '/reports' }, - !cloudMode && { label: formatMessage(labels.settings), url: '/settings' }, + { label: formatMessage(labels.settings), url: '/settings' }, ].filter(n => n); return ( diff --git a/src/components/layout/PageHeader.module.css b/src/components/layout/PageHeader.module.css index b54ecfcf..8e615b93 100644 --- a/src/components/layout/PageHeader.module.css +++ b/src/components/layout/PageHeader.module.css @@ -37,10 +37,6 @@ margin-bottom: 10px; } - .title { - font-size: 18px; - } - .actions { flex-basis: 100%; order: -1; diff --git a/src/components/layout/SettingsLayout.js b/src/components/layout/SettingsLayout.js index 851c366a..0f4aa5d9 100644 --- a/src/components/layout/SettingsLayout.js +++ b/src/components/layout/SettingsLayout.js @@ -3,14 +3,13 @@ import { useRouter } from 'next/router'; import SideNav from './SideNav'; import useUser from 'components/hooks/useUser'; import useMessages from 'components/hooks/useMessages'; -import useConfig from 'components/hooks/useConfig'; import styles from './SettingsLayout.module.css'; export function SettingsLayout({ children }) { const { user } = useUser(); const { pathname } = useRouter(); const { formatMessage, labels } = useMessages(); - const { cloudMode } = useConfig(); + const cloudMode = Boolean(process.env.cloudMode); const items = [ { key: 'websites', label: formatMessage(labels.websites), url: '/settings/websites' }, diff --git a/src/components/layout/SettingsLayout.module.css b/src/components/layout/SettingsLayout.module.css index 36d029f0..08ff02aa 100644 --- a/src/components/layout/SettingsLayout.module.css +++ b/src/components/layout/SettingsLayout.module.css @@ -13,4 +13,8 @@ .menu { display: none; } + + .content { + margin-top: 20px; + } } diff --git a/src/components/messages.js b/src/components/messages.js index f52ed5c5..7f432eb3 100644 --- a/src/components/messages.js +++ b/src/components/messages.js @@ -129,6 +129,10 @@ export const labels = defineMessages({ reports: { id: 'label.reports', defaultMessage: 'Reports' }, eventData: { id: 'label.event-data', defaultMessage: 'Event data' }, funnel: { id: 'label.funnel', defaultMessage: 'Funnel' }, + funnelDescription: { + id: 'label.funnel-description', + defaultMessage: 'Understand the conversion and drop-off rate of users.', + }, url: { id: 'label.url', defaultMessage: 'URL' }, urls: { id: 'label.urls', defaultMessage: 'URLs' }, add: { id: 'label.add', defaultMessage: 'Add' }, @@ -167,7 +171,15 @@ export const labels = defineMessages({ overview: { id: 'label.overview', defaultMessage: 'Overview' }, totalRecords: { id: 'label.total-records', defaultMessage: 'Total records' }, insights: { id: 'label.insights', defaultMessage: 'Insights' }, + insightsDescription: { + id: 'label.insights-description', + defaultMessage: 'Dive deeper into your data by using segments and filters.', + }, retention: { id: 'label.retention', defaultMessage: 'Retention' }, + retentionDescription: { + id: 'label.retention-description', + defaultMessage: 'Measure your website stickiness by tracking how often users return.', + }, dropoff: { id: 'label.dropoff', defaultMessage: 'Dropoff' }, referrer: { id: 'label.referrer', defaultMessage: 'Referrer' }, country: { id: 'label.country', defaultMessage: 'Country' }, @@ -179,6 +191,8 @@ export const labels = defineMessages({ day: { id: 'label.day', defaultMessage: 'Day' }, date: { id: 'label.date', defaultMessage: 'Date' }, pageOf: { id: 'label.page-of', defaultMessage: 'Page {current} of {total}' }, + create: { id: 'label.create', defaultMessage: 'Create' }, + search: { id: 'label.search', defaultMessage: 'Search' }, }); export const messages = defineMessages({ diff --git a/src/components/metrics/CitiesTable.js b/src/components/metrics/CitiesTable.js index 86b7f07a..ee11e676 100644 --- a/src/components/metrics/CitiesTable.js +++ b/src/components/metrics/CitiesTable.js @@ -22,9 +22,7 @@ export function CitiesTable({ websiteId, ...props }) { {country && ( {country} )} diff --git a/src/components/metrics/MetricsTable.js b/src/components/metrics/MetricsTable.js index 39578381..6521c415 100644 --- a/src/components/metrics/MetricsTable.js +++ b/src/components/metrics/MetricsTable.js @@ -54,21 +54,18 @@ export function MetricsTable({ city, }, ], - () => - get(`/websites/${websiteId}/metrics`, { + () => { + const filters = { url, title, referrer, os, browser, device, country, region, city }; + + filters[type] = undefined; + + return get(`/websites/${websiteId}/metrics`, { type, startAt: +startDate, endAt: +endDate, - url, - title, - referrer, - os, - browser, - device, - country, - region, - city, - }), + ...filters, + }); + }, { onSuccess: onDataLoad, retryDelay: delay || DEFAULT_ANIMATION_DURATION }, ); diff --git a/src/components/metrics/RegionsTable.js b/src/components/metrics/RegionsTable.js index 2e260e41..c2ee9b3f 100644 --- a/src/components/metrics/RegionsTable.js +++ b/src/components/metrics/RegionsTable.js @@ -13,17 +13,15 @@ export function RegionsTable({ websiteId, ...props }) { const countryNames = useCountryNames(locale); const { basePath } = useRouter(); - const renderLabel = x => { - return regions[x] ? `${regions[x]}, ${countryNames[x.split('-')[0]]}` : x; + const renderLabel = (code, country) => { + const region = code.includes('-') ? code : `${country}-${code}`; + return regions[region] ? `${regions[region]}, ${countryNames[country]}` : region; }; - const renderLink = ({ x: code }) => { + const renderLink = ({ x: code, country }) => { return ( - - {code} + + {code} ); }; diff --git a/src/components/pages/dashboard/Dashboard.js b/src/components/pages/dashboard/Dashboard.js index 8248cc81..2294b8be 100644 --- a/src/components/pages/dashboard/Dashboard.js +++ b/src/components/pages/dashboard/Dashboard.js @@ -1,8 +1,8 @@ -import { useState } from 'react'; -import { Button, Icon, Icons, Text, Flexbox } from 'react-basics'; +import { Button, Icon, Icons, Text } from 'react-basics'; import Link from 'next/link'; import Page from 'components/layout/Page'; import PageHeader from 'components/layout/PageHeader'; +import Pager from 'components/common/Pager'; import WebsiteChartList from 'components/pages/websites/WebsiteChartList'; import DashboardSettingsButton from 'components/pages/dashboard/DashboardSettingsButton'; import DashboardEdit from 'components/pages/dashboard/DashboardEdit'; @@ -11,23 +11,24 @@ import useApi from 'components/hooks/useApi'; import useDashboard from 'store/dashboard'; import useMessages from 'components/hooks/useMessages'; import useLocale from 'components/hooks/useLocale'; +import useApiFilter from 'components/hooks/useApiFilter'; export function Dashboard() { const { formatMessage, labels, messages } = useMessages(); - const dashboard = useDashboard(); - const { showCharts, limit, editing } = dashboard; - const [max, setMax] = useState(limit); - const { get, useQuery } = useApi(); - const { data, isLoading, error } = useQuery(['websites'], () => - get('/websites', { includeTeams: 1 }), - ); - const hasData = data && data?.data.length !== 0; - + const { showCharts, editing } = useDashboard(); const { dir } = useLocale(); - - function handleMore() { - setMax(max + limit); - } + const { get, useQuery } = useApi(); + const { page, handlePageChange } = useApiFilter(); + const pageSize = 10; + const { + data: result, + isLoading, + error, + } = useQuery(['websites', page, pageSize], () => + get('/websites', { includeTeams: 1, page, pageSize }), + ); + const { data, count } = result || {}; + const hasData = data && data?.length !== 0; return ( @@ -48,19 +49,17 @@ export function Dashboard() { )} {hasData && ( <> - {editing && } + {editing && } {!editing && ( - - )} - {max < data.length && ( - - - + <> + + + )} )} diff --git a/src/components/pages/dashboard/DashboardEdit.js b/src/components/pages/dashboard/DashboardEdit.js index 4eb259d6..f628599f 100644 --- a/src/components/pages/dashboard/DashboardEdit.js +++ b/src/components/pages/dashboard/DashboardEdit.js @@ -5,23 +5,33 @@ import { Button } from 'react-basics'; import { firstBy } from 'thenby'; import useDashboard, { saveDashboard } from 'store/dashboard'; import useMessages from 'components/hooks/useMessages'; +import useApi from 'components/hooks/useApi'; import styles from './DashboardEdit.module.css'; +import Page from 'components/layout/Page'; const dragId = 'dashboard-website-ordering'; -export function DashboardEdit({ websites }) { +export function DashboardEdit() { const settings = useDashboard(); const { websiteOrder } = settings; const { formatMessage, labels } = useMessages(); const [order, setOrder] = useState(websiteOrder || []); + const { get, useQuery } = useApi(); + const { + data: result, + isLoading, + error, + } = useQuery(['websites'], () => get('/websites', { includeTeams: 1 })); + const { data: websites } = result || {}; - const ordered = useMemo( - () => - websites + const ordered = useMemo(() => { + if (websites) { + return websites .map(website => ({ ...website, order: order.indexOf(website.id) })) - .sort(firstBy('order')), - [websites, order], - ); + .sort(firstBy('order')); + } + return []; + }, [websites, order]); function handleWebsiteDrag({ destination, source }) { if (!destination || destination.index === source.index) return; @@ -49,7 +59,7 @@ export function DashboardEdit({ websites }) { } return ( - <> +
- +
); } diff --git a/src/components/pages/reports/FieldFilterForm.js b/src/components/pages/reports/FieldFilterForm.js index 01efed3f..96ac06b0 100644 --- a/src/components/pages/reports/FieldFilterForm.js +++ b/src/components/pages/reports/FieldFilterForm.js @@ -9,7 +9,7 @@ export default function FieldFilterForm({ type, values, onSelect, - includeOnlyEquals, + allowFilterSelect = true, }) { const { formatMessage, labels } = useMessages(); const [filter, setFilter] = useState('eq'); @@ -34,7 +34,7 @@ export default function FieldFilterForm({
- {!includeOnlyEquals && ( + {allowFilterSelect && ( ); } diff --git a/src/components/pages/reports/ReportHeader.js b/src/components/pages/reports/ReportHeader.js index e81d6ece..930f745b 100644 --- a/src/components/pages/reports/ReportHeader.js +++ b/src/components/pages/reports/ReportHeader.js @@ -20,6 +20,7 @@ export function ReportHeader({ icon }) { const { name, description, parameters } = report || {}; const { websiteId, dateRange } = parameters || {}; + const defaultName = formatMessage(labels.untitled); const handleSave = async () => { if (!report.id) { @@ -39,7 +40,7 @@ export function ReportHeader({ icon }) { }; const handleNameChange = name => { - updateReport({ name: name || 'Untitled' }); + updateReport({ name: name || defaultName }); }; const handleDescriptionChange = description => { @@ -54,7 +55,7 @@ export function ReportHeader({ icon }) { key={name} name="name" value={name} - placeholder={formatMessage(labels.untitled)} + placeholder={defaultName} onCommit={handleNameChange} /> diff --git a/src/components/pages/reports/ReportTemplates.js b/src/components/pages/reports/ReportTemplates.js index 2b934434..59cc8b31 100644 --- a/src/components/pages/reports/ReportTemplates.js +++ b/src/components/pages/reports/ReportTemplates.js @@ -9,6 +9,8 @@ import styles from './ReportTemplates.module.css'; import { useMessages } from 'components/hooks'; function ReportItem({ title, description, url, icon }) { + const { formatMessage, labels } = useMessages(); + return (
@@ -22,7 +24,7 @@ function ReportItem({ title, description, url, icon }) { - Create + {formatMessage(labels.create)}
@@ -36,19 +38,19 @@ export function ReportTemplates({ showHeader = true }) { const reports = [ { title: formatMessage(labels.insights), - description: 'Dive deeper into your data by using segments and filters.', + description: formatMessage(labels.insightsDescription), url: '/reports/insights', icon: , }, { title: formatMessage(labels.funnel), - description: 'Understand the conversion and drop-off rate of users.', + description: formatMessage(labels.funnelDescription), url: '/reports/funnel', icon: , }, { title: formatMessage(labels.retention), - description: 'Measure you website stickiness by tracking how often users return.', + description: formatMessage(labels.retentionDescription), url: '/reports/retention', icon: , }, diff --git a/src/components/pages/reports/ReportsTable.js b/src/components/pages/reports/ReportsTable.js index 4073fbec..52488c11 100644 --- a/src/components/pages/reports/ReportsTable.js +++ b/src/components/pages/reports/ReportsTable.js @@ -5,6 +5,7 @@ import { useMessages } from 'components/hooks'; import useUser from 'components/hooks/useUser'; import { useState } from 'react'; import { Button, Flexbox, Icon, Icons, Modal, Text } from 'react-basics'; +import { REPORT_TYPES } from 'lib/constants'; export function ReportsTable({ data = [], @@ -34,6 +35,15 @@ export function ReportsTable({ { name: 'action', label: ' ' }, ]; + const cellRender = (row, data, key) => { + if (key === 'type') { + return formatMessage( + labels[Object.keys(REPORT_TYPES).find(key => REPORT_TYPES[key] === row.type)], + ); + } + return data[key]; + }; + const handleConfirm = () => { onDelete(report.id); }; @@ -42,6 +52,7 @@ export function ReportsTable({ <> - + {formatMessage(labels.runQuery)} diff --git a/src/components/pages/reports/funnel/FunnelParameters.js b/src/components/pages/reports/funnel/FunnelParameters.js index 2c99a032..a3fbe663 100644 --- a/src/components/pages/reports/funnel/FunnelParameters.js +++ b/src/components/pages/reports/funnel/FunnelParameters.js @@ -80,7 +80,7 @@ export function FunnelParameters() { - + {formatMessage(labels.runQuery)} diff --git a/src/components/pages/reports/insights/InsightsParameters.js b/src/components/pages/reports/insights/InsightsParameters.js index db0c1d4e..3ddc0367 100644 --- a/src/components/pages/reports/insights/InsightsParameters.js +++ b/src/components/pages/reports/insights/InsightsParameters.js @@ -137,7 +137,7 @@ export function InsightsParameters() { ); })} - + {formatMessage(labels.runQuery)} diff --git a/src/components/pages/reports/retention/RetentionParameters.js b/src/components/pages/reports/retention/RetentionParameters.js index aa81cf47..e87108d1 100644 --- a/src/components/pages/reports/retention/RetentionParameters.js +++ b/src/components/pages/reports/retention/RetentionParameters.js @@ -35,7 +35,7 @@ export function RetentionParameters() { - + {formatMessage(labels.runQuery)} diff --git a/src/components/pages/reports/retention/RetentionTable.js b/src/components/pages/reports/retention/RetentionTable.js index 09ef2948..ad1eaa6f 100644 --- a/src/components/pages/reports/retention/RetentionTable.js +++ b/src/components/pages/reports/retention/RetentionTable.js @@ -3,11 +3,13 @@ import classNames from 'classnames'; import { ReportContext } from '../Report'; import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; import { useMessages } from 'components/hooks'; +import { useLocale } from 'components/hooks'; import { formatDate } from 'lib/date'; import styles from './RetentionTable.module.css'; export function RetentionTable() { const { formatMessage, labels } = useMessages(); + const { locale } = useLocale(); const { report } = useContext(ReportContext); const { data } = report || {}; @@ -51,7 +53,7 @@ export function RetentionTable() { {rows.map(({ date, visitors, records }, rowIndex) => { return (
-
{formatDate(`${date} 00:00:00`, 'PP')}
+
{formatDate(`${date} 00:00:00`, 'PP', locale)}
{visitors}
{days.map(day => { if (totalDays - rowIndex < day) { diff --git a/src/components/pages/settings/profile/ProfileDetails.js b/src/components/pages/settings/profile/ProfileDetails.js index f9dc652b..d4a3a7d5 100644 --- a/src/components/pages/settings/profile/ProfileDetails.js +++ b/src/components/pages/settings/profile/ProfileDetails.js @@ -6,13 +6,12 @@ import ThemeSetting from 'components/pages/settings/profile/ThemeSetting'; import PasswordChangeButton from './PasswordChangeButton'; import useUser from 'components/hooks/useUser'; import useMessages from 'components/hooks/useMessages'; -import useConfig from 'components/hooks/useConfig'; import { ROLES } from 'lib/constants'; export function ProfileDetails() { const { user } = useUser(); const { formatMessage, labels } = useMessages(); - const { cloudMode } = useConfig(); + const cloudMode = Boolean(process.env.cloudMode); if (!user) { return null; diff --git a/src/components/pages/settings/teams/TeamSettings.js b/src/components/pages/settings/teams/TeamSettings.js index 245e64b1..8c4fe8f4 100644 --- a/src/components/pages/settings/teams/TeamSettings.js +++ b/src/components/pages/settings/teams/TeamSettings.js @@ -1,6 +1,5 @@ import { useEffect, useState } from 'react'; -import { Breadcrumbs, Item, Tabs, useToasts } from 'react-basics'; -import Link from 'next/link'; +import { Item, Tabs, useToasts } from 'react-basics'; import Page from 'components/layout/Page'; import PageHeader from 'components/layout/PageHeader'; import { ROLES } from 'lib/constants'; @@ -44,16 +43,7 @@ export function TeamSettings({ teamId }) { return ( - - - {formatMessage(labels.teams)} - - {values?.name} - - } - /> + {formatMessage(labels.details)} {formatMessage(labels.members)} diff --git a/src/components/pages/settings/users/UserSettings.js b/src/components/pages/settings/users/UserSettings.js index 596e09f0..5fadf1a1 100644 --- a/src/components/pages/settings/users/UserSettings.js +++ b/src/components/pages/settings/users/UserSettings.js @@ -1,6 +1,5 @@ import { useEffect, useState } from 'react'; -import { Breadcrumbs, Item, Tabs, useToasts } from 'react-basics'; -import Link from 'next/link'; +import { Item, Tabs, useToasts } from 'react-basics'; import UserEditForm from 'components/pages/settings/users/UserEditForm'; import Page from 'components/layout/Page'; import PageHeader from 'components/layout/PageHeader'; @@ -44,16 +43,7 @@ export function UserSettings({ userId }) { return ( - - - {formatMessage(labels.users)} - - {values?.username} - - } - /> + {formatMessage(labels.details)} {formatMessage(labels.websites)} diff --git a/src/components/pages/settings/websites/TrackingCode.js b/src/components/pages/settings/websites/TrackingCode.js index 5159ff91..d22f0d59 100644 --- a/src/components/pages/settings/websites/TrackingCode.js +++ b/src/components/pages/settings/websites/TrackingCode.js @@ -1,15 +1,19 @@ import { TextArea } from 'react-basics'; import useMessages from 'components/hooks/useMessages'; import useConfig from 'components/hooks/useConfig'; +import { useRouter } from 'next/router'; export function TrackingCode({ websiteId }) { const { formatMessage, messages } = useMessages(); - const { basePath, trackerScriptName } = useConfig(); + const { basePath } = useRouter(); + const config = useConfig(); + + const trackerScriptName = + config?.trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js'; + const url = trackerScriptName?.startsWith('http') ? trackerScriptName - : `${location.origin}${basePath}/${ - trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js' - }`; + : `${process.env.analyticsUrl || location.origin}${basePath}/${trackerScriptName}`; const code = ``; diff --git a/src/components/pages/settings/websites/WebsiteSettings.js b/src/components/pages/settings/websites/WebsiteSettings.js index ac8cd87c..f73e0a87 100644 --- a/src/components/pages/settings/websites/WebsiteSettings.js +++ b/src/components/pages/settings/websites/WebsiteSettings.js @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { Breadcrumbs, Item, Tabs, useToasts, Button, Text, Icon, Icons } from 'react-basics'; +import { Item, Tabs, useToasts, Button, Text, Icon, Icons } from 'react-basics'; import { useRouter } from 'next/router'; import Link from 'next/link'; import Page from 'components/layout/Page'; @@ -49,16 +49,7 @@ export function WebsiteSettings({ websiteId, openExternal = false }) { return ( - - - {formatMessage(labels.websites)} - - {values?.name} - - } - > +