mirror of
https://github.com/umami-software/umami.git
synced 2026-02-10 15:47:13 +01:00
Merge branch 'dev' into hosts-support
This commit is contained in:
commit
d1559c3a98
281 changed files with 7555 additions and 1973 deletions
107
README.md
107
README.md
|
|
@ -1,69 +1,93 @@
|
||||||
# umami
|
<p align="center">
|
||||||
|
<img src="https://umami.is/images/umami-logo.png" alt="Umami Logo" width="100">
|
||||||
|
</p>
|
||||||
|
|
||||||
Umami is a simple, fast, privacy-focused alternative to Google Analytics.
|
<h1 align="center">Umami</h1>
|
||||||
|
|
||||||
## Getting started
|
<p align="center">
|
||||||
|
<i>Umami is a simple, fast, privacy-focused alternative to Google Analytics.</i>
|
||||||
|
</p>
|
||||||
|
|
||||||
A detailed getting started guide can be found at [https://umami.is/docs/](https://umami.is/docs/)
|
<p align="center">
|
||||||
|
<a href="https://github.com/umami-software/umami/releases">
|
||||||
|
<img src="https://img.shields.io/github/release/umami-software/umami.svg" alt="GitHub Release" />
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/umami-software/umami/blob/master/LICENSE">
|
||||||
|
<img src="https://img.shields.io/github/license/umami-software/umami.svg" alt="MIT License" />
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/umami-software/umami/actions">
|
||||||
|
<img src="https://img.shields.io/github/actions/workflow/status/umami-software/umami/ci.yml" alt="Build Status" />
|
||||||
|
</a>
|
||||||
|
<a href="https://analytics.umami.is/share/LGazGOecbDtaIwDr/umami.is" style="text-decoration: none;">
|
||||||
|
<img src="https://img.shields.io/badge/Try%20Demo%20Now-Click%20Here-brightgreen" alt="Umami Demo" />
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
## Installing from source
|
---
|
||||||
|
|
||||||
|
## 🚀 Getting Started
|
||||||
|
|
||||||
|
A detailed getting started guide can be found at [umami.is/docs](https://umami.is/docs/).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠 Installing from Source
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- A server with Node.js version 16.13 or newer
|
- A server with Node.js version 16.13 or newer
|
||||||
- A database. Umami supports [MySQL](https://www.mysql.com/) (minimum v8.0) and [Postgresql](https://www.postgresql.org/) (minimum v12.14) databases.
|
- A database. Umami supports [MySQL](https://www.mysql.com/) (minimum v8.0) and [PostgreSQL](https://www.postgresql.org/) (minimum v12.14) databases.
|
||||||
|
|
||||||
### Install Yarn
|
### Install Yarn
|
||||||
|
|
||||||
```
|
```bash
|
||||||
npm install -g yarn
|
npm install -g yarn
|
||||||
```
|
```
|
||||||
|
|
||||||
### Get the source code and install packages
|
### Get the Source Code and Install Packages
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git clone https://github.com/umami-software/umami.git
|
git clone https://github.com/umami-software/umami.git
|
||||||
cd umami
|
cd umami
|
||||||
yarn install
|
yarn install
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configure umami
|
### Configure Umami
|
||||||
|
|
||||||
Create an `.env` file with the following
|
Create an `.env` file with the following:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
DATABASE_URL=connection-url
|
DATABASE_URL=connection-url
|
||||||
```
|
```
|
||||||
|
|
||||||
The connection url is in the following format:
|
The connection URL format:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
postgresql://username:mypassword@localhost:5432/mydb
|
postgresql://username:mypassword@localhost:5432/mydb
|
||||||
|
|
||||||
mysql://username:mypassword@localhost:3306/mydb
|
mysql://username:mypassword@localhost:3306/mydb
|
||||||
```
|
```
|
||||||
|
|
||||||
### Build the application
|
### Build the Application
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn build
|
yarn build
|
||||||
```
|
```
|
||||||
|
|
||||||
The build step will also create tables in your database if you are installing for the first time. It will also create a login user with username **admin** and password **umami**.
|
*The build step will create tables in your database if you are installing for the first time. It will also create a login user with username **admin** and password **umami**.*
|
||||||
|
|
||||||
### Start the application
|
### Start the Application
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn start
|
yarn start
|
||||||
```
|
```
|
||||||
|
|
||||||
By default this will launch the application on `http://localhost:3000`. You will need to either
|
*By default, this will launch the application on `http://localhost:3000`. You will need to either [proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) requests from your web server or change the [port](https://nextjs.org/docs/api-reference/cli#production) to serve the application directly.*
|
||||||
[proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) requests from your web server
|
|
||||||
or change the [port](https://nextjs.org/docs/api-reference/cli#production) to serve the application directly.
|
|
||||||
|
|
||||||
## Installing with Docker
|
---
|
||||||
|
|
||||||
To build the umami container and start up a Postgres database, run:
|
## 🐳 Installing with Docker
|
||||||
|
|
||||||
|
To build the Umami container and start up a Postgres database, run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
|
|
@ -81,7 +105,9 @@ Or with MySQL support:
|
||||||
docker pull docker.umami.is/umami-software/umami:mysql-latest
|
docker pull docker.umami.is/umami-software/umami:mysql-latest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Getting updates
|
---
|
||||||
|
|
||||||
|
## 🔄 Getting Updates
|
||||||
|
|
||||||
To get the latest features, simply do a pull, install any new dependencies, and rebuild:
|
To get the latest features, simply do a pull, install any new dependencies, and rebuild:
|
||||||
|
|
||||||
|
|
@ -98,7 +124,36 @@ docker compose pull
|
||||||
docker compose up --force-recreate
|
docker compose up --force-recreate
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
---
|
||||||
|
|
||||||
MIT
|
## 🛟 Support
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/umami-software/umami">
|
||||||
|
<img src="https://img.shields.io/badge/GitHub--blue?style=social&logo=github" alt="GitHub" />
|
||||||
|
</a>
|
||||||
|
<a href="https://twitter.com/umami_software">
|
||||||
|
<img src="https://img.shields.io/badge/Twitter--blue?style=social&logo=twitter" alt="Twitter" />
|
||||||
|
</a>
|
||||||
|
<a href="https://linkedin.com/company/umami-software">
|
||||||
|
<img src="https://img.shields.io/badge/LinkedIn--blue?style=social&logo=linkedin" alt="LinkedIn" />
|
||||||
|
</a>
|
||||||
|
<a href="https://umami.is/discord">
|
||||||
|
<img src="https://img.shields.io/badge/Discord--blue?style=social&logo=discord" alt="Discord" />
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
[release-shield]: https://img.shields.io/github/release/umami-software/umami.svg
|
||||||
|
[releases-url]: https://github.com/umami-software/umami/releases
|
||||||
|
[license-shield]: https://img.shields.io/github/license/umami-software/umami.svg
|
||||||
|
[license-url]: https://github.com/umami-software/umami/blob/master/LICENSE
|
||||||
|
[build-shield]: https://img.shields.io/github/actions/workflow/status/umami-software/umami/ci.yml
|
||||||
|
[build-url]: https://github.com/umami-software/umami/actions
|
||||||
|
[github-shield]: https://img.shields.io/badge/GitHub--blue?style=social&logo=github
|
||||||
|
[github-url]: https://github.com/umami-software/umami
|
||||||
|
[twitter-shield]: https://img.shields.io/badge/Twitter--blue?style=social&logo=twitter
|
||||||
|
[twitter-url]: https://twitter.com/umami_software
|
||||||
|
[linkedin-shield]: https://img.shields.io/badge/LinkedIn--blue?style=social&logo=linkedin
|
||||||
|
[linkedin-url]: https://linkedin.com/company/umami-software
|
||||||
|
[discord-shield]: https://img.shields.io/badge/Discord--blue?style=social&logo=discord
|
||||||
|
[discord-url]: https://discord.com/invite/4dz4zcXYrQ
|
||||||
|
|
|
||||||
|
|
@ -3,18 +3,17 @@ require('dotenv').config();
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const pkg = require('./package.json');
|
const pkg = require('./package.json');
|
||||||
|
|
||||||
const basePath = process.env.BASE_PATH || '';
|
const basePath = process.env.BASE_PATH;
|
||||||
const forceSSL = process.env.FORCE_SSL || '';
|
const collectApiEndpoint = process.env.COLLECT_API_ENDPOINT;
|
||||||
const collectApiEndpoint = process.env.COLLECT_API_ENDPOINT || '';
|
const cloudMode = process.env.CLOUD_MODE;
|
||||||
const defaultLocale = process.env.DEFAULT_LOCALE || '';
|
const cloudUrl = process.env.CLOUD_URL;
|
||||||
const trackerScriptName = process.env.TRACKER_SCRIPT_NAME || '';
|
const defaultLocale = process.env.DEFAULT_LOCALE;
|
||||||
const cloudMode = process.env.CLOUD_MODE || '';
|
const disableLogin = process.env.DISABLE_LOGIN;
|
||||||
const cloudUrl = process.env.CLOUD_URL || '';
|
const disableUI = process.env.DISABLE_UI;
|
||||||
const frameAncestors = process.env.ALLOWED_FRAME_URLS || '';
|
const forceSSL = process.env.FORCE_SSL;
|
||||||
const disableLogin = process.env.DISABLE_LOGIN || '';
|
const frameAncestors = process.env.ALLOWED_FRAME_URLS;
|
||||||
const disableUI = process.env.DISABLE_UI || '';
|
const privateMode = process.env.PRIVATE_MODE;
|
||||||
const hostURL = process.env.HOST_URL || '';
|
const trackerScriptName = process.env.TRACKER_SCRIPT_NAME;
|
||||||
const privateMode = process.env.PRIVATE_MODE || '';
|
|
||||||
|
|
||||||
const contentSecurityPolicy = [
|
const contentSecurityPolicy = [
|
||||||
`default-src 'self'`,
|
`default-src 'self'`,
|
||||||
|
|
@ -120,7 +119,6 @@ const config = {
|
||||||
defaultLocale,
|
defaultLocale,
|
||||||
disableLogin,
|
disableLogin,
|
||||||
disableUI,
|
disableUI,
|
||||||
hostURL,
|
|
||||||
privateMode,
|
privateMode,
|
||||||
},
|
},
|
||||||
basePath,
|
basePath,
|
||||||
|
|
@ -169,6 +167,10 @@ const config = {
|
||||||
source: '/telemetry.js',
|
source: '/telemetry.js',
|
||||||
destination: '/api/scripts/telemetry',
|
destination: '/api/scripts/telemetry',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
source: '/teams/:teamId/:path*',
|
||||||
|
destination: '/:path*',
|
||||||
|
},
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
async redirects() {
|
async redirects() {
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
"@tanstack/react-query": "^4.33.0",
|
"@tanstack/react-query": "^4.33.0",
|
||||||
"classnames": "^2.3.1",
|
"classnames": "^2.3.1",
|
||||||
"colord": "^2.9.2",
|
"colord": "^2.9.2",
|
||||||
|
"date-fns-tz": "^1.1.4",
|
||||||
"immer": "^9.0.12",
|
"immer": "^9.0.12",
|
||||||
"moment-timezone": "^0.5.35",
|
"moment-timezone": "^0.5.35",
|
||||||
"next": "^13.4.0",
|
"next": "^13.4.0",
|
||||||
|
|
|
||||||
12
package.json
12
package.json
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "umami",
|
"name": "umami",
|
||||||
"version": "2.11.3",
|
"version": "2.12.0",
|
||||||
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
|
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
|
||||||
"author": "Umami Software, Inc. <hello@umami.is>",
|
"author": "Umami Software, Inc. <hello@umami.is>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
@ -64,14 +64,14 @@
|
||||||
".next/cache"
|
".next/cache"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@clickhouse/client": "^0.2.2",
|
"@clickhouse/client": "^1.0.2",
|
||||||
"@fontsource/inter": "^4.5.15",
|
"@fontsource/inter": "^4.5.15",
|
||||||
"@prisma/client": "5.12.1",
|
"@prisma/client": "5.14.0",
|
||||||
"@prisma/extension-read-replicas": "^0.3.0",
|
"@prisma/extension-read-replicas": "^0.3.0",
|
||||||
"@react-spring/web": "^9.7.3",
|
"@react-spring/web": "^9.7.3",
|
||||||
"@tanstack/react-query": "^5.28.6",
|
"@tanstack/react-query": "^5.28.6",
|
||||||
"@umami/prisma-client": "^0.14.0",
|
"@umami/prisma-client": "^0.14.0",
|
||||||
"@umami/redis-client": "^0.20.0",
|
"@umami/redis-client": "^0.21.0",
|
||||||
"chalk": "^4.1.1",
|
"chalk": "^4.1.1",
|
||||||
"chart.js": "^4.4.2",
|
"chart.js": "^4.4.2",
|
||||||
"chartjs-adapter-date-fns": "^3.0.0",
|
"chartjs-adapter-date-fns": "^3.0.0",
|
||||||
|
|
@ -98,11 +98,11 @@
|
||||||
"maxmind": "^4.3.6",
|
"maxmind": "^4.3.6",
|
||||||
"md5": "^2.3.0",
|
"md5": "^2.3.0",
|
||||||
"moment-timezone": "^0.5.35",
|
"moment-timezone": "^0.5.35",
|
||||||
"next": "14.1.4",
|
"next": "14.2.3",
|
||||||
"next-basics": "^0.39.0",
|
"next-basics": "^0.39.0",
|
||||||
"node-fetch": "^3.2.8",
|
"node-fetch": "^3.2.8",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"prisma": "5.12.1",
|
"prisma": "5.14.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-basics": "^0.123.0",
|
"react-basics": "^0.123.0",
|
||||||
"react-beautiful-dnd": "^13.1.0",
|
"react-beautiful-dnd": "^13.1.0",
|
||||||
|
|
|
||||||
251
public/intl/country/bg-BG.json
Normal file
251
public/intl/country/bg-BG.json
Normal file
|
|
@ -0,0 +1,251 @@
|
||||||
|
{
|
||||||
|
"AU": "\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u044f",
|
||||||
|
"AT": "\u0410\u0432\u0441\u0442\u0440\u0438\u044f",
|
||||||
|
"AZ": "\u0410\u0437\u0435\u0440\u0431\u0430\u0439\u0434\u0436\u0430\u043d",
|
||||||
|
"AL": "\u0410\u043b\u0431\u0430\u043d\u0438\u044f",
|
||||||
|
"DZ": "\u0410\u043b\u0436\u0438\u0440",
|
||||||
|
"AS": "\u0410\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0430 \u0421\u0430\u043c\u043e\u0430",
|
||||||
|
"VI": "\u0410\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438 \u0412\u0438\u0440\u0434\u0436\u0438\u043d\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"AO": "\u0410\u043d\u0433\u043e\u043b\u0430",
|
||||||
|
"AI": "\u0410\u043d\u0433\u0443\u0438\u043b\u0430",
|
||||||
|
"AD": "\u0410\u043d\u0434\u043e\u0440\u0430",
|
||||||
|
"AQ": "\u0410\u043d\u0442\u0430\u0440\u043a\u0442\u0438\u043a\u0430",
|
||||||
|
"AG": "\u0410\u043d\u0442\u0438\u0433\u0443\u0430 \u0438 \u0411\u0430\u0440\u0431\u0443\u0434\u0430",
|
||||||
|
"AR": "\u0410\u0440\u0436\u0435\u043d\u0442\u0438\u043d\u0430",
|
||||||
|
"AM": "\u0410\u0440\u043c\u0435\u043d\u0438\u044f",
|
||||||
|
"AW": "\u0410\u0440\u0443\u0431\u0430",
|
||||||
|
"AF": "\u0410\u0444\u0433\u0430\u043d\u0438\u0441\u0442\u0430\u043d",
|
||||||
|
"BD": "\u0411\u0430\u043d\u0433\u043b\u0430\u0434\u0435\u0448",
|
||||||
|
"BB": "\u0411\u0430\u0440\u0431\u0430\u0434\u043e\u0441",
|
||||||
|
"BS": "\u0411\u0430\u0445\u0430\u043c\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"BH": "\u0411\u0430\u0445\u0440\u0435\u0439\u043d",
|
||||||
|
"BY": "\u0411\u0435\u043b\u0430\u0440\u0443\u0441",
|
||||||
|
"BE": "\u0411\u0435\u043b\u0433\u0438\u044f",
|
||||||
|
"BZ": "\u0411\u0435\u043b\u0438\u0437",
|
||||||
|
"BJ": "\u0411\u0435\u043d\u0438\u043d",
|
||||||
|
"BM": "\u0411\u0435\u0440\u043c\u0443\u0434\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"BO": "\u0411\u043e\u043b\u0438\u0432\u0438\u044f",
|
||||||
|
"BA": "\u0411\u043e\u0441\u043d\u0430 \u0438 \u0425\u0435\u0440\u0446\u0435\u0433\u043e\u0432\u0438\u043d\u0430",
|
||||||
|
"BW": "\u0411\u043e\u0442\u0441\u0432\u0430\u043d\u0430",
|
||||||
|
"BR": "\u0411\u0440\u0430\u0437\u0438\u043b\u0438\u044f",
|
||||||
|
"IO": "\u0411\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0430 \u0442\u0435\u0440\u0438\u0442\u043e\u0440\u0438\u044f \u0432 \u0418\u043d\u0434\u0438\u0439\u0441\u043a\u0438\u044f \u043e\u043a\u0435\u0430\u043d",
|
||||||
|
"VG": "\u0411\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438 \u0412\u0438\u0440\u0434\u0436\u0438\u043d\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"BN": "\u0411\u0440\u0443\u043d\u0435\u0439 \u0414\u0430\u0440\u0443\u0441\u0441\u0430\u043b\u0430\u043c",
|
||||||
|
"BF": "\u0411\u0443\u0440\u043a\u0438\u043d\u0430 \u0424\u0430\u0441\u043e",
|
||||||
|
"BI": "\u0411\u0443\u0440\u0443\u043d\u0434\u0438",
|
||||||
|
"BT": "\u0411\u0443\u0442\u0430\u043d",
|
||||||
|
"BG": "\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f",
|
||||||
|
"VU": "\u0412\u0430\u043d\u0443\u0430\u0442\u0443",
|
||||||
|
"VA": "\u0412\u0430\u0442\u0438\u043a\u0430\u043d",
|
||||||
|
"VE": "\u0412\u0435\u043d\u0435\u0446\u0443\u0435\u043b\u0430",
|
||||||
|
"VN": "\u0412\u0438\u0435\u0442\u043d\u0430\u043c",
|
||||||
|
"GA": "\u0413\u0430\u0431\u043e\u043d",
|
||||||
|
"GM": "\u0413\u0430\u043c\u0431\u0438\u044f",
|
||||||
|
"GH": "\u0413\u0430\u043d\u0430",
|
||||||
|
"GY": "\u0413\u0430\u044f\u043d\u0430",
|
||||||
|
"GP": "\u0413\u0432\u0430\u0434\u0435\u043b\u0443\u043f\u0430",
|
||||||
|
"GT": "\u0413\u0432\u0430\u0442\u0435\u043c\u0430\u043b\u0430",
|
||||||
|
"GN": "\u0413\u0432\u0438\u043d\u0435\u044f",
|
||||||
|
"GW": "\u0413\u0432\u0438\u043d\u0435\u044f-\u0411\u0438\u0441\u0430\u0443",
|
||||||
|
"DE": "\u0413\u0435\u0440\u043c\u0430\u043d\u0438\u044f",
|
||||||
|
"GI": "\u0413\u0438\u0431\u0440\u0430\u043b\u0442\u0430\u0440",
|
||||||
|
"GD": "\u0413\u0440\u0435\u043d\u0430\u0434\u0430",
|
||||||
|
"GL": "\u0413\u0440\u0435\u043d\u043b\u0430\u043d\u0434\u0438\u044f",
|
||||||
|
"GE": "\u0413\u0440\u0443\u0437\u0438\u044f",
|
||||||
|
"GU": "\u0413\u0443\u0430\u043c",
|
||||||
|
"GG": "\u0413\u044a\u0440\u043d\u0437\u0438",
|
||||||
|
"GR": "\u0413\u044a\u0440\u0446\u0438\u044f",
|
||||||
|
"DK": "\u0414\u0430\u043d\u0438\u044f",
|
||||||
|
"DJ": "\u0414\u0436\u0438\u0431\u0443\u0442\u0438",
|
||||||
|
"JE": "\u0414\u0436\u044a\u0440\u0441\u0438",
|
||||||
|
"DM": "\u0414\u043e\u043c\u0438\u043d\u0438\u043a\u0430",
|
||||||
|
"DO": "\u0414\u043e\u043c\u0438\u043d\u0438\u043a\u0430\u043d\u0441\u043a\u0430 \u0440\u0435\u043f\u0443\u0431\u043b\u0438\u043a\u0430",
|
||||||
|
"EG": "\u0415\u0433\u0438\u043f\u0435\u0442",
|
||||||
|
"EC": "\u0415\u043a\u0432\u0430\u0434\u043e\u0440",
|
||||||
|
"GQ": "\u0415\u043a\u0432\u0430\u0442\u043e\u0440\u0438\u0430\u043b\u043d\u0430 \u0413\u0432\u0438\u043d\u0435\u044f",
|
||||||
|
"ER": "\u0415\u0440\u0438\u0442\u0440\u0435\u044f",
|
||||||
|
"SZ": "\u0415\u0441\u0432\u0430\u0442\u0438\u043d\u0438",
|
||||||
|
"EE": "\u0415\u0441\u0442\u043e\u043d\u0438\u044f",
|
||||||
|
"ET": "\u0415\u0442\u0438\u043e\u043f\u0438\u044f",
|
||||||
|
"ZM": "\u0417\u0430\u043c\u0431\u0438\u044f",
|
||||||
|
"EH": "\u0417\u0430\u043f\u0430\u0434\u043d\u0430 \u0421\u0430\u0445\u0430\u0440\u0430",
|
||||||
|
"ZW": "\u0417\u0438\u043c\u0431\u0430\u0431\u0432\u0435",
|
||||||
|
"IL": "\u0418\u0437\u0440\u0430\u0435\u043b",
|
||||||
|
"TL": "\u0418\u0437\u0442\u043e\u0447\u0435\u043d \u0422\u0438\u043c\u043e\u0440",
|
||||||
|
"IN": "\u0418\u043d\u0434\u0438\u044f",
|
||||||
|
"ID": "\u0418\u043d\u0434\u043e\u043d\u0435\u0437\u0438\u044f",
|
||||||
|
"IQ": "\u0418\u0440\u0430\u043a",
|
||||||
|
"IR": "\u0418\u0440\u0430\u043d",
|
||||||
|
"IE": "\u0418\u0440\u043b\u0430\u043d\u0434\u0438\u044f",
|
||||||
|
"IS": "\u0418\u0441\u043b\u0430\u043d\u0434\u0438\u044f",
|
||||||
|
"ES": "\u0418\u0441\u043f\u0430\u043d\u0438\u044f",
|
||||||
|
"IT": "\u0418\u0442\u0430\u043b\u0438\u044f",
|
||||||
|
"YE": "\u0419\u0435\u043c\u0435\u043d",
|
||||||
|
"JO": "\u0419\u043e\u0440\u0434\u0430\u043d\u0438\u044f",
|
||||||
|
"CV": "\u041a\u0430\u0431\u043e \u0412\u0435\u0440\u0434\u0435",
|
||||||
|
"KZ": "\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d",
|
||||||
|
"KY": "\u041a\u0430\u0439\u043c\u0430\u043d\u043e\u0432\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"KH": "\u041a\u0430\u043c\u0431\u043e\u0434\u0436\u0430",
|
||||||
|
"CM": "\u041a\u0430\u043c\u0435\u0440\u0443\u043d",
|
||||||
|
"CA": "\u041a\u0430\u043d\u0430\u0434\u0430",
|
||||||
|
"BQ": "\u041a\u0430\u0440\u0438\u0431\u0441\u043a\u0430 \u041d\u0438\u0434\u0435\u0440\u043b\u0430\u043d\u0434\u0438\u044f",
|
||||||
|
"QA": "\u041a\u0430\u0442\u0430\u0440",
|
||||||
|
"KE": "\u041a\u0435\u043d\u0438\u044f",
|
||||||
|
"CY": "\u041a\u0438\u043f\u044a\u0440",
|
||||||
|
"KG": "\u041a\u0438\u0440\u0433\u0438\u0437\u0441\u0442\u0430\u043d",
|
||||||
|
"KI": "\u041a\u0438\u0440\u0438\u0431\u0430\u0442\u0438",
|
||||||
|
"CN": "\u041a\u0438\u0442\u0430\u0439",
|
||||||
|
"CC": "\u041a\u043e\u043a\u043e\u0441\u043e\u0432\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438 (\u043e\u0441\u0442\u0440\u043e\u0432\u0438 \u041a\u0438\u0439\u043b\u0438\u043d\u0433)",
|
||||||
|
"CO": "\u041a\u043e\u043b\u0443\u043c\u0431\u0438\u044f",
|
||||||
|
"KM": "\u041a\u043e\u043c\u043e\u0440\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"CG": "\u041a\u043e\u043d\u0433\u043e (\u0411\u0440\u0430\u0437\u0430\u0432\u0438\u043b)",
|
||||||
|
"CD": "\u041a\u043e\u043d\u0433\u043e (\u041a\u0438\u043d\u0448\u0430\u0441\u0430)",
|
||||||
|
"CR": "\u041a\u043e\u0441\u0442\u0430 \u0420\u0438\u043a\u0430",
|
||||||
|
"CI": "\u041a\u043e\u0442 \u0434\u2019\u0418\u0432\u043e\u0430\u0440",
|
||||||
|
"CU": "\u041a\u0443\u0431\u0430",
|
||||||
|
"KW": "\u041a\u0443\u0432\u0435\u0439\u0442",
|
||||||
|
"CW": "\u041a\u044e\u0440\u0430\u0441\u0430\u043e",
|
||||||
|
"LA": "\u041b\u0430\u043e\u0441",
|
||||||
|
"LV": "\u041b\u0430\u0442\u0432\u0438\u044f",
|
||||||
|
"LS": "\u041b\u0435\u0441\u043e\u0442\u043e",
|
||||||
|
"LR": "\u041b\u0438\u0431\u0435\u0440\u0438\u044f",
|
||||||
|
"LY": "\u041b\u0438\u0431\u0438\u044f",
|
||||||
|
"LB": "\u041b\u0438\u0432\u0430\u043d",
|
||||||
|
"LT": "\u041b\u0438\u0442\u0432\u0430",
|
||||||
|
"LI": "\u041b\u0438\u0445\u0442\u0435\u043d\u0449\u0430\u0439\u043d",
|
||||||
|
"LU": "\u041b\u044e\u043a\u0441\u0435\u043c\u0431\u0443\u0440\u0433",
|
||||||
|
"MR": "\u041c\u0430\u0432\u0440\u0438\u0442\u0430\u043d\u0438\u044f",
|
||||||
|
"MU": "\u041c\u0430\u0432\u0440\u0438\u0446\u0438\u0439",
|
||||||
|
"MG": "\u041c\u0430\u0434\u0430\u0433\u0430\u0441\u043a\u0430\u0440",
|
||||||
|
"YT": "\u041c\u0430\u0439\u043e\u0442",
|
||||||
|
"MO": "\u041c\u0430\u043a\u0430\u043e, \u0421\u0410\u0420 \u043d\u0430 \u041a\u0438\u0442\u0430\u0439",
|
||||||
|
"MW": "\u041c\u0430\u043b\u0430\u0432\u0438",
|
||||||
|
"MY": "\u041c\u0430\u043b\u0430\u0439\u0437\u0438\u044f",
|
||||||
|
"MV": "\u041c\u0430\u043b\u0434\u0438\u0432\u0438",
|
||||||
|
"ML": "\u041c\u0430\u043b\u0438",
|
||||||
|
"MT": "\u041c\u0430\u043b\u0442\u0430",
|
||||||
|
"MA": "\u041c\u0430\u0440\u043e\u043a\u043e",
|
||||||
|
"MQ": "\u041c\u0430\u0440\u0442\u0438\u043d\u0438\u043a\u0430",
|
||||||
|
"MH": "\u041c\u0430\u0440\u0448\u0430\u043b\u043e\u0432\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"MX": "\u041c\u0435\u043a\u0441\u0438\u043a\u043e",
|
||||||
|
"MM": "\u041c\u0438\u0430\u043d\u043c\u0430\u0440 (\u0411\u0438\u0440\u043c\u0430)",
|
||||||
|
"FM": "\u041c\u0438\u043a\u0440\u043e\u043d\u0435\u0437\u0438\u044f",
|
||||||
|
"MZ": "\u041c\u043e\u0437\u0430\u043c\u0431\u0438\u043a",
|
||||||
|
"MD": "\u041c\u043e\u043b\u0434\u043e\u0432\u0430",
|
||||||
|
"MC": "\u041c\u043e\u043d\u0430\u043a\u043e",
|
||||||
|
"MN": "\u041c\u043e\u043d\u0433\u043e\u043b\u0438\u044f",
|
||||||
|
"MS": "\u041c\u043e\u043d\u0442\u0441\u0435\u0440\u0430\u0442",
|
||||||
|
"NA": "\u041d\u0430\u043c\u0438\u0431\u0438\u044f",
|
||||||
|
"NR": "\u041d\u0430\u0443\u0440\u0443",
|
||||||
|
"NP": "\u041d\u0435\u043f\u0430\u043b",
|
||||||
|
"NE": "\u041d\u0438\u0433\u0435\u0440",
|
||||||
|
"NG": "\u041d\u0438\u0433\u0435\u0440\u0438\u044f",
|
||||||
|
"NL": "\u041d\u0438\u0434\u0435\u0440\u043b\u0430\u043d\u0434\u0438\u044f",
|
||||||
|
"NI": "\u041d\u0438\u043a\u0430\u0440\u0430\u0433\u0443\u0430",
|
||||||
|
"NU": "\u041d\u0438\u0443\u0435",
|
||||||
|
"NZ": "\u041d\u043e\u0432\u0430 \u0417\u0435\u043b\u0430\u043d\u0434\u0438\u044f",
|
||||||
|
"NC": "\u041d\u043e\u0432\u0430 \u041a\u0430\u043b\u0435\u0434\u043e\u043d\u0438\u044f",
|
||||||
|
"NO": "\u041d\u043e\u0440\u0432\u0435\u0433\u0438\u044f",
|
||||||
|
"AE": "\u041e\u0431\u0435\u0434\u0438\u043d\u0435\u043d\u0438 \u0430\u0440\u0430\u0431\u0441\u043a\u0438 \u0435\u043c\u0438\u0440\u0441\u0442\u0432\u0430",
|
||||||
|
"GB": "\u041e\u0431\u0435\u0434\u0438\u043d\u0435\u043d\u043e\u0442\u043e \u043a\u0440\u0430\u043b\u0441\u0442\u0432\u043e",
|
||||||
|
"AX": "\u041e\u043b\u0430\u043d\u0434\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"OM": "\u041e\u043c\u0430\u043d",
|
||||||
|
"BV": "\u043e\u0441\u0442\u0440\u043e\u0432 \u0411\u0443\u0432\u0435",
|
||||||
|
"IM": "\u043e\u0441\u0442\u0440\u043e\u0432 \u041c\u0430\u043d",
|
||||||
|
"NF": "\u043e\u0441\u0442\u0440\u043e\u0432 \u041d\u043e\u0440\u0444\u043e\u043b\u043a",
|
||||||
|
"CX": "\u043e\u0441\u0442\u0440\u043e\u0432 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u043e",
|
||||||
|
"CK": "\u043e\u0441\u0442\u0440\u043e\u0432\u0438 \u041a\u0443\u043a",
|
||||||
|
"PN": "\u041e\u0441\u0442\u0440\u043e\u0432\u0438 \u041f\u0438\u0442\u043a\u0435\u0440\u043d",
|
||||||
|
"TC": "\u043e\u0441\u0442\u0440\u043e\u0432\u0438 \u0422\u044a\u0440\u043a\u0441 \u0438 \u041a\u0430\u0439\u043a\u043e\u0441",
|
||||||
|
"HM": "\u043e\u0441\u0442\u0440\u043e\u0432\u0438 \u0425\u044a\u0440\u0434 \u0438 \u041c\u0430\u043a\u0434\u043e\u043d\u0430\u043b\u0434",
|
||||||
|
"UM": "\u041e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438 \u043d\u0430 \u0421\u0410\u0429",
|
||||||
|
"PK": "\u041f\u0430\u043a\u0438\u0441\u0442\u0430\u043d",
|
||||||
|
"PW": "\u041f\u0430\u043b\u0430\u0443",
|
||||||
|
"PS": "\u041f\u0430\u043b\u0435\u0441\u0442\u0438\u043d\u0441\u043a\u0438 \u0442\u0435\u0440\u0438\u0442\u043e\u0440\u0438\u0438",
|
||||||
|
"PA": "\u041f\u0430\u043d\u0430\u043c\u0430",
|
||||||
|
"PG": "\u041f\u0430\u043f\u0443\u0430-\u041d\u043e\u0432\u0430 \u0413\u0432\u0438\u043d\u0435\u044f",
|
||||||
|
"PY": "\u041f\u0430\u0440\u0430\u0433\u0432\u0430\u0439",
|
||||||
|
"PE": "\u041f\u0435\u0440\u0443",
|
||||||
|
"PL": "\u041f\u043e\u043b\u0448\u0430",
|
||||||
|
"PT": "\u041f\u043e\u0440\u0442\u0443\u0433\u0430\u043b\u0438\u044f",
|
||||||
|
"PR": "\u041f\u0443\u0435\u0440\u0442\u043e \u0420\u0438\u043a\u043e",
|
||||||
|
"RE": "\u0420\u0435\u044e\u043d\u0438\u043e\u043d",
|
||||||
|
"RW": "\u0420\u0443\u0430\u043d\u0434\u0430",
|
||||||
|
"RO": "\u0420\u0443\u043c\u044a\u043d\u0438\u044f",
|
||||||
|
"RU": "\u0420\u0443\u0441\u0438\u044f",
|
||||||
|
"SV": "\u0421\u0430\u043b\u0432\u0430\u0434\u043e\u0440",
|
||||||
|
"WS": "\u0421\u0430\u043c\u043e\u0430",
|
||||||
|
"SM": "\u0421\u0430\u043d \u041c\u0430\u0440\u0438\u043d\u043e",
|
||||||
|
"ST": "\u0421\u0430\u043e \u0422\u043e\u043c\u0435 \u0438 \u041f\u0440\u0438\u043d\u0441\u0438\u043f\u0438",
|
||||||
|
"SA": "\u0421\u0430\u0443\u0434\u0438\u0442\u0441\u043a\u0430 \u0410\u0440\u0430\u0431\u0438\u044f",
|
||||||
|
"SJ": "\u0421\u0432\u0430\u043b\u0431\u0430\u0440\u0434 \u0438 \u042f\u043d \u041c\u0430\u0439\u0435\u043d",
|
||||||
|
"SH": "\u0421\u0432\u0435\u0442\u0430 \u0415\u043b\u0435\u043d\u0430",
|
||||||
|
"KP": "\u0421\u0435\u0432\u0435\u0440\u043d\u0430 \u041a\u043e\u0440\u0435\u044f",
|
||||||
|
"MK": "\u0421\u0435\u0432\u0435\u0440\u043d\u0430 \u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0438\u044f",
|
||||||
|
"MP": "\u0421\u0435\u0432\u0435\u0440\u043d\u0438 \u041c\u0430\u0440\u0438\u0430\u043d\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"VC": "\u0421\u0435\u0439\u043d\u0442 \u0412\u0438\u043d\u0441\u044a\u043d\u0442 \u0438 \u0413\u0440\u0435\u043d\u0430\u0434\u0438\u043d\u0438",
|
||||||
|
"KN": "\u0421\u0435\u0439\u043d\u0442 \u041a\u0438\u0442\u0441 \u0438 \u041d\u0435\u0432\u0438\u0441",
|
||||||
|
"LC": "\u0421\u0435\u0439\u043d\u0442 \u041b\u0443\u0441\u0438\u044f",
|
||||||
|
"SC": "\u0421\u0435\u0439\u0448\u0435\u043b\u0438",
|
||||||
|
"BL": "\u0421\u0435\u043d \u0411\u0430\u0440\u0442\u0435\u043b\u0435\u043c\u0438",
|
||||||
|
"MF": "\u0421\u0435\u043d \u041c\u0430\u0440\u0442\u0435\u043d",
|
||||||
|
"PM": "\u0421\u0435\u043d \u041f\u0438\u0435\u0440 \u0438 \u041c\u0438\u043a\u0435\u043b\u043e\u043d",
|
||||||
|
"SN": "\u0421\u0435\u043d\u0435\u0433\u0430\u043b",
|
||||||
|
"SL": "\u0421\u0438\u0435\u0440\u0430 \u041b\u0435\u043e\u043d\u0435",
|
||||||
|
"SG": "\u0421\u0438\u043d\u0433\u0430\u043f\u0443\u0440",
|
||||||
|
"SX": "\u0421\u0438\u043d\u0442 \u041c\u0430\u0440\u0442\u0435\u043d",
|
||||||
|
"SY": "\u0421\u0438\u0440\u0438\u044f",
|
||||||
|
"SK": "\u0421\u043b\u043e\u0432\u0430\u043a\u0438\u044f",
|
||||||
|
"SI": "\u0421\u043b\u043e\u0432\u0435\u043d\u0438\u044f",
|
||||||
|
"SB": "\u0421\u043e\u043b\u043e\u043c\u043e\u043d\u043e\u0432\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"SO": "\u0421\u043e\u043c\u0430\u043b\u0438\u044f",
|
||||||
|
"SD": "\u0421\u0443\u0434\u0430\u043d",
|
||||||
|
"SR": "\u0421\u0443\u0440\u0438\u043d\u0430\u043c",
|
||||||
|
"US": "\u0421\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438 \u0449\u0430\u0442\u0438",
|
||||||
|
"RS": "\u0421\u044a\u0440\u0431\u0438\u044f",
|
||||||
|
"TJ": "\u0422\u0430\u0434\u0436\u0438\u043a\u0438\u0441\u0442\u0430\u043d",
|
||||||
|
"TW": "\u0422\u0430\u0439\u0432\u0430\u043d",
|
||||||
|
"TH": "\u0422\u0430\u0439\u043b\u0430\u043d\u0434",
|
||||||
|
"TZ": "\u0422\u0430\u043d\u0437\u0430\u043d\u0438\u044f",
|
||||||
|
"TG": "\u0422\u043e\u0433\u043e",
|
||||||
|
"TK": "\u0422\u043e\u043a\u0435\u043b\u0430\u0443",
|
||||||
|
"TO": "\u0422\u043e\u043d\u0433\u0430",
|
||||||
|
"TT": "\u0422\u0440\u0438\u043d\u0438\u0434\u0430\u0434 \u0438 \u0422\u043e\u0431\u0430\u0433\u043e",
|
||||||
|
"TV": "\u0422\u0443\u0432\u0430\u043b\u0443",
|
||||||
|
"TN": "\u0422\u0443\u043d\u0438\u0441",
|
||||||
|
"TM": "\u0422\u0443\u0440\u043a\u043c\u0435\u043d\u0438\u0441\u0442\u0430\u043d",
|
||||||
|
"TR": "\u0422\u0443\u0440\u0446\u0438\u044f",
|
||||||
|
"UG": "\u0423\u0433\u0430\u043d\u0434\u0430",
|
||||||
|
"UZ": "\u0423\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u0430\u043d",
|
||||||
|
"UA": "\u0423\u043a\u0440\u0430\u0439\u043d\u0430",
|
||||||
|
"HU": "\u0423\u043d\u0433\u0430\u0440\u0438\u044f",
|
||||||
|
"WF": "\u0423\u043e\u043b\u0438\u0441 \u0438 \u0424\u0443\u0442\u0443\u043d\u0430",
|
||||||
|
"UY": "\u0423\u0440\u0443\u0433\u0432\u0430\u0439",
|
||||||
|
"FO": "\u0424\u0430\u0440\u044c\u043e\u0440\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"FJ": "\u0424\u0438\u0434\u0436\u0438",
|
||||||
|
"PH": "\u0424\u0438\u043b\u0438\u043f\u0438\u043d\u0438",
|
||||||
|
"FI": "\u0424\u0438\u043d\u043b\u0430\u043d\u0434\u0438\u044f",
|
||||||
|
"FK": "\u0424\u043e\u043b\u043a\u043b\u0430\u043d\u0434\u0441\u043a\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"FR": "\u0424\u0440\u0430\u043d\u0446\u0438\u044f",
|
||||||
|
"GF": "\u0424\u0440\u0435\u043d\u0441\u043a\u0430 \u0413\u0432\u0438\u0430\u043d\u0430",
|
||||||
|
"PF": "\u0424\u0440\u0435\u043d\u0441\u043a\u0430 \u041f\u043e\u043b\u0438\u043d\u0435\u0437\u0438\u044f",
|
||||||
|
"TF": "\u0424\u0440\u0435\u043d\u0441\u043a\u0438 \u044e\u0436\u043d\u0438 \u0442\u0435\u0440\u0438\u0442\u043e\u0440\u0438\u0438",
|
||||||
|
"HT": "\u0425\u0430\u0438\u0442\u0438",
|
||||||
|
"HN": "\u0425\u043e\u043d\u0434\u0443\u0440\u0430\u0441",
|
||||||
|
"HK": "\u0425\u043e\u043d\u043a\u043e\u043d\u0433, \u0421\u0410\u0420 \u043d\u0430 \u041a\u0438\u0442\u0430\u0439",
|
||||||
|
"HR": "\u0425\u044a\u0440\u0432\u0430\u0442\u0438\u044f",
|
||||||
|
"CF": "\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u043d\u043e\u0430\u0444\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0430 \u0440\u0435\u043f\u0443\u0431\u043b\u0438\u043a\u0430",
|
||||||
|
"TD": "\u0427\u0430\u0434",
|
||||||
|
"ME": "\u0427\u0435\u0440\u043d\u0430 \u0433\u043e\u0440\u0430",
|
||||||
|
"CZ": "\u0427\u0435\u0445\u0438\u044f",
|
||||||
|
"CL": "\u0427\u0438\u043b\u0438",
|
||||||
|
"CH": "\u0428\u0432\u0435\u0439\u0446\u0430\u0440\u0438\u044f",
|
||||||
|
"SE": "\u0428\u0432\u0435\u0446\u0438\u044f",
|
||||||
|
"LK": "\u0428\u0440\u0438 \u041b\u0430\u043d\u043a\u0430",
|
||||||
|
"SS": "\u042e\u0436\u0435\u043d \u0421\u0443\u0434\u0430\u043d",
|
||||||
|
"ZA": "\u042e\u0436\u043d\u0430 \u0410\u0444\u0440\u0438\u043a\u0430",
|
||||||
|
"GS": "\u042e\u0436\u043d\u0430 \u0414\u0436\u043e\u0440\u0434\u0436\u0438\u044f \u0438 \u042e\u0436\u043d\u0438 \u0421\u0430\u043d\u0434\u0432\u0438\u0447\u0435\u0432\u0438 \u043e\u0441\u0442\u0440\u043e\u0432\u0438",
|
||||||
|
"KR": "\u042e\u0436\u043d\u0430 \u041a\u043e\u0440\u0435\u044f",
|
||||||
|
"JM": "\u042f\u043c\u0430\u0439\u043a\u0430",
|
||||||
|
"JP": "\u042f\u043f\u043e\u043d\u0438\u044f"
|
||||||
|
}
|
||||||
611
public/intl/language/bg-BG.json
Normal file
611
public/intl/language/bg-BG.json
Normal file
|
|
@ -0,0 +1,611 @@
|
||||||
|
{
|
||||||
|
"ab": "\u0430\u0431\u0445\u0430\u0437\u043a\u0438",
|
||||||
|
"awa": "\u0430\u0432\u0430\u0434\u0438",
|
||||||
|
"av": "\u0430\u0432\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"ae": "\u0430\u0432\u0435\u0441\u0442\u0441\u043a\u0438",
|
||||||
|
"en_AU": "\u0430\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u0439\u0441\u043a\u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"de_AT": "\u0430\u0432\u0441\u0442\u0440\u0438\u0439\u0441\u043a\u0438 \u043d\u0435\u043c\u0441\u043a\u0438",
|
||||||
|
"agq": "\u0430\u0433\u0435\u043c",
|
||||||
|
"ada": "\u0430\u0434\u0430\u043d\u0433\u043c\u0435",
|
||||||
|
"ady": "\u0430\u0434\u0438\u0433\u0435",
|
||||||
|
"az": "\u0430\u0437\u0435\u0440\u0431\u0430\u0439\u0434\u0436\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"ay": "\u0430\u0439\u043c\u0430\u0440\u0430",
|
||||||
|
"ain": "\u0430\u0439\u043d\u0443",
|
||||||
|
"akk": "\u0430\u043a\u0430\u0434\u0441\u043a\u0438",
|
||||||
|
"ak": "\u0430\u043a\u0430\u043d",
|
||||||
|
"ach": "\u0430\u043a\u043e\u043b\u0438",
|
||||||
|
"sq": "\u0430\u043b\u0431\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"ale": "\u0430\u043b\u0435\u0443\u0442\u0441\u043a\u0438",
|
||||||
|
"en_US": "\u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"am": "\u0430\u043c\u0445\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"anp": "\u0430\u043d\u0433\u0438\u043a\u0430",
|
||||||
|
"en": "\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"ar": "\u0430\u0440\u0430\u0431\u0441\u043a\u0438",
|
||||||
|
"arw": "\u0430\u0440\u0430\u0432\u0430\u043a",
|
||||||
|
"an": "\u0430\u0440\u0430\u0433\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"arc": "\u0430\u0440\u0430\u043c\u0435\u0439\u0441\u043a\u0438",
|
||||||
|
"arp": "\u0430\u0440\u0430\u043f\u0430\u0445\u043e",
|
||||||
|
"hy": "\u0430\u0440\u043c\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"rup": "\u0430\u0440\u0443\u043c\u044a\u043d\u0441\u043a\u0438",
|
||||||
|
"as": "\u0430\u0441\u0430\u043c\u0441\u043a\u0438",
|
||||||
|
"ast": "\u0430\u0441\u0442\u0443\u0440\u0441\u043a\u0438",
|
||||||
|
"asa": "\u0430\u0441\u0443",
|
||||||
|
"cch": "\u0430\u0442\u0441\u0430\u043c",
|
||||||
|
"aa": "\u0430\u0444\u0430\u0440",
|
||||||
|
"af": "\u0430\u0444\u0440\u0438\u043a\u0430\u043d\u0441",
|
||||||
|
"afh": "\u0430\u0444\u0440\u0438\u0445\u0438\u043b\u0438",
|
||||||
|
"ace": "\u0430\u0447\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"ban": "\u0431\u0430\u043b\u0438\u043d\u0435\u0439\u0441\u043a\u0438",
|
||||||
|
"bal": "\u0431\u0430\u043b\u0443\u0447\u0438",
|
||||||
|
"bm": "\u0431\u0430\u043c\u0431\u0430\u0440\u0430",
|
||||||
|
"bas": "\u0431\u0430\u0441\u0430",
|
||||||
|
"eu": "\u0431\u0430\u0441\u043a\u0438",
|
||||||
|
"ksf": "\u0431\u0430\u0444\u0438\u044f",
|
||||||
|
"ba": "\u0431\u0430\u0448\u043a\u0438\u0440\u0441\u043a\u0438",
|
||||||
|
"zxx": "\u0431\u0435\u0437 \u043b\u0438\u043d\u0433\u0432\u0438\u0441\u0442\u0438\u0447\u043d\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435",
|
||||||
|
"be": "\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0438",
|
||||||
|
"bem": "\u0431\u0435\u043c\u0431\u0430",
|
||||||
|
"bez": "\u0431\u0435\u043d\u0430",
|
||||||
|
"bn": "\u0431\u0435\u043d\u0433\u0430\u043b\u0441\u043a\u0438",
|
||||||
|
"bej": "\u0431\u0435\u044f",
|
||||||
|
"bik": "\u0431\u0438\u043a\u043e\u043b\u0441\u043a\u0438",
|
||||||
|
"byn": "\u0431\u0438\u043b\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"bin": "\u0431\u0438\u043d\u0438",
|
||||||
|
"my": "\u0431\u0438\u0440\u043c\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"bi": "\u0431\u0438\u0441\u043b\u0430\u043c\u0430",
|
||||||
|
"zbl": "\u0431\u043b\u0438\u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u0438",
|
||||||
|
"brx": "\u0431\u043e\u0434\u043e",
|
||||||
|
"bho": "\u0431\u043e\u0436\u043f\u0443\u0440\u0438",
|
||||||
|
"bs": "\u0431\u043e\u0441\u043d\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"bra": "\u0431\u0440\u0430\u0434\u0436",
|
||||||
|
"br": "\u0431\u0440\u0435\u0442\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"en_GB": "\u0431\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"bug": "\u0431\u0443\u0433\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"bua": "\u0431\u0443\u0440\u044f\u0442\u0441\u043a\u0438",
|
||||||
|
"bg": "\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"vai": "\u0432\u0430\u0438",
|
||||||
|
"wal": "\u0432\u0430\u043b\u0430\u043c\u043e",
|
||||||
|
"wa": "\u0432\u0430\u043b\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"war": "\u0432\u0430\u0440\u0430\u0439",
|
||||||
|
"ve": "\u0432\u0435\u043d\u0434\u0430",
|
||||||
|
"vi": "\u0432\u0438\u0435\u0442\u043d\u0430\u043c\u0441\u043a\u0438",
|
||||||
|
"vo": "\u0432\u043e\u043b\u0430\u043f\u044e\u043a",
|
||||||
|
"wo": "\u0432\u043e\u043b\u043e\u0444",
|
||||||
|
"vot": "\u0432\u043e\u0442\u0438\u043a",
|
||||||
|
"vun": "\u0432\u0443\u043d\u0434\u0436\u043e",
|
||||||
|
"gaa": "\u0433\u0430",
|
||||||
|
"gag": "\u0433\u0430\u0433\u0430\u0443\u0437\u043a\u0438",
|
||||||
|
"gay": "\u0433\u0430\u0439\u043e",
|
||||||
|
"gl": "\u0433\u0430\u043b\u0438\u0441\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"lg": "\u0433\u0430\u043d\u0434\u0430",
|
||||||
|
"gba": "\u0433\u0431\u0430\u044f",
|
||||||
|
"gwi": "\u0433\u0432\u0438\u0447\u0438\u043d",
|
||||||
|
"gez": "\u0433\u0438\u0438\u0437",
|
||||||
|
"gil": "\u0433\u0438\u043b\u0431\u0435\u0440\u0442\u0441\u043a\u0438",
|
||||||
|
"gon": "\u0433\u043e\u043d\u0434\u0438",
|
||||||
|
"hsb": "\u0433\u043e\u0440\u043d\u043e\u043b\u0443\u0436\u0438\u0448\u043a\u0438",
|
||||||
|
"gor": "\u0433\u043e\u0440\u043e\u043d\u0442\u0430\u043b\u043e",
|
||||||
|
"got": "\u0433\u043e\u0442\u0438\u0447\u0435\u0441\u043a\u0438",
|
||||||
|
"grb": "\u0433\u0440\u0435\u0431\u043e",
|
||||||
|
"kl": "\u0433\u0440\u0435\u043d\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"ka": "\u0433\u0440\u0443\u0437\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"el": "\u0433\u0440\u044a\u0446\u043a\u0438",
|
||||||
|
"gn": "\u0433\u0443\u0430\u0440\u0430\u043d\u0438",
|
||||||
|
"gu": "\u0433\u0443\u0434\u0436\u0430\u0440\u0430\u0442\u0438",
|
||||||
|
"guz": "\u0433\u0443\u0441\u0438\u0438",
|
||||||
|
"dak": "\u0434\u0430\u043a\u043e\u0442\u0441\u043a\u0438",
|
||||||
|
"dar": "\u0434\u0430\u0440\u0433\u0432\u0430",
|
||||||
|
"da": "\u0434\u0430\u0442\u0441\u043a\u0438",
|
||||||
|
"del": "\u0434\u0435\u043b\u0430\u0443\u0435\u0440",
|
||||||
|
"dje": "\u0434\u0436\u0435\u0440\u043c\u0430",
|
||||||
|
"dz": "\u0434\u0437\u043e\u043d\u0445\u0430",
|
||||||
|
"dv": "\u0434\u0438\u0432\u0435\u0445\u0438",
|
||||||
|
"din": "\u0434\u0438\u043d\u043a\u0430",
|
||||||
|
"dyo": "\u0434\u0438\u043e\u043b\u0430",
|
||||||
|
"dyu": "\u0434\u0438\u0443\u043b\u0430",
|
||||||
|
"doi": "\u0434\u043e\u0433\u0440\u0438",
|
||||||
|
"dgr": "\u0434\u043e\u0433\u0440\u0438\u0431",
|
||||||
|
"dsb": "\u0434\u043e\u043b\u043d\u043e\u043b\u0443\u0436\u0438\u0448\u043a\u0438",
|
||||||
|
"nds": "\u0434\u043e\u043b\u043d\u043e\u0441\u0430\u043a\u0441\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"grc": "\u0434\u0440\u0435\u0432\u043d\u043e\u0433\u0440\u044a\u0446\u043a\u0438",
|
||||||
|
"dua": "\u0434\u0443\u0430\u043b\u0430",
|
||||||
|
"ee": "\u0435\u0432\u0435",
|
||||||
|
"ewo": "\u0435\u0432\u043e\u043d\u0434\u043e",
|
||||||
|
"jrb": "\u0435\u0432\u0440\u0435\u0439\u0441\u043a\u043e-\u0430\u0440\u0430\u0431\u0441\u043a\u0438",
|
||||||
|
"jpr": "\u0435\u0432\u0440\u0435\u0439\u0441\u043a\u043e-\u043f\u0435\u0440\u0441\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"egy": "\u0435\u0433\u0438\u043f\u0435\u0442\u0441\u043a\u0438",
|
||||||
|
"eka": "\u0435\u043a\u0430\u0436\u0443\u043a",
|
||||||
|
"elx": "\u0435\u043b\u0430\u043c\u0438\u0442\u0441\u043a\u0438",
|
||||||
|
"ebu": "\u0435\u043c\u0431\u0443",
|
||||||
|
"myv": "\u0435\u0440\u0437\u0438\u0430",
|
||||||
|
"eo": "\u0435\u0441\u043f\u0435\u0440\u0430\u043d\u0442\u043e",
|
||||||
|
"et": "\u0435\u0441\u0442\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"efi": "\u0435\u0444\u0438\u043a",
|
||||||
|
"chn": "\u0436\u0430\u0440\u0433\u043e\u043d \u0447\u0438\u043d\u0443\u0443\u043a",
|
||||||
|
"kaj": "\u0436\u0436\u0438",
|
||||||
|
"zza": "\u0437\u0430\u0437\u0430",
|
||||||
|
"zap": "\u0437\u0430\u043f\u043e\u0442\u0435\u043a",
|
||||||
|
"zen": "\u0437\u0435\u043d\u0430\u0433\u0430",
|
||||||
|
"za": "\u0437\u0443\u0430\u043d\u0433",
|
||||||
|
"zu": "\u0437\u0443\u043b\u0443\u0441\u043a\u0438",
|
||||||
|
"zun": "\u0437\u0443\u043d\u0438",
|
||||||
|
"iba": "\u0438\u0431\u0430\u043d",
|
||||||
|
"he": "\u0438\u0432\u0440\u0438\u0442",
|
||||||
|
"ig": "\u0438\u0433\u0431\u043e",
|
||||||
|
"yi": "\u0438\u0434\u0438\u0448",
|
||||||
|
"io": "\u0438\u0434\u043e",
|
||||||
|
"frs": "\u0438\u0437\u0442\u043e\u0447\u0435\u043d \u0444\u0440\u0438\u0437\u0441\u043a\u0438",
|
||||||
|
"ilo": "\u0438\u043b\u043e\u043a\u043e",
|
||||||
|
"smn": "\u0438\u043d\u0430\u0440\u0438-\u0441\u0430\u0430\u043c\u0441\u043a\u0438",
|
||||||
|
"inh": "\u0438\u043d\u0433\u0443\u0448\u0435\u0442\u0441\u043a\u0438",
|
||||||
|
"id": "\u0438\u043d\u0434\u043e\u043d\u0435\u0437\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"ia": "\u0438\u043d\u0442\u0435\u0440\u043b\u0438\u043d\u0433\u0432\u0430",
|
||||||
|
"iu": "\u0438\u043d\u0443\u043a\u0442\u0438\u0442\u0443\u0442",
|
||||||
|
"ik": "\u0438\u043d\u0443\u043f\u0438\u0430\u043a",
|
||||||
|
"ga": "\u0438\u0440\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"is": "\u0438\u0441\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"es": "\u0438\u0441\u043f\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"it": "\u0438\u0442\u0430\u043b\u0438\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"yo": "\u0439\u043e\u0440\u0443\u0431\u0430",
|
||||||
|
"kbd": "\u043a\u0430\u0431\u0430\u0440\u0434\u0438\u0430\u043d",
|
||||||
|
"kab": "\u043a\u0430\u0431\u0438\u043b\u0441\u043a\u0438",
|
||||||
|
"kea": "\u043a\u0430\u0431\u043e\u0432\u0435\u0440\u0434\u0438\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"kaw": "\u043a\u0430\u0432\u0438",
|
||||||
|
"cad": "\u043a\u0430\u0434\u0434\u043e",
|
||||||
|
"kk": "\u043a\u0430\u0437\u0430\u0445\u0441\u043a\u0438",
|
||||||
|
"kln": "\u043a\u0430\u043b\u0435\u043d\u0434\u0436\u0438\u043d",
|
||||||
|
"xal": "\u043a\u0430\u043b\u043c\u0438\u043a",
|
||||||
|
"kam": "\u043a\u0430\u043c\u0431\u0430",
|
||||||
|
"en_CA": "\u043a\u0430\u043d\u0430\u0434\u0441\u043a\u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"fr_CA": "\u043a\u0430\u043d\u0430\u0434\u0441\u043a\u0438 \u0444\u0440\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"kn": "\u043a\u0430\u043d\u043d\u0430\u0434\u0430",
|
||||||
|
"yue": "\u043a\u0430\u043d\u0442\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"kr": "\u043a\u0430\u043d\u0443\u0440\u0438",
|
||||||
|
"kaa": "\u043a\u0430\u0440\u0430\u043a\u0430\u043b\u043f\u0430\u0448\u043a\u0438",
|
||||||
|
"krc": "\u043a\u0430\u0440\u0430\u0447\u0430\u0439-\u0431\u0430\u043b\u043a\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"krl": "\u043a\u0430\u0440\u0435\u043b\u0441\u043a\u0438",
|
||||||
|
"car": "\u043a\u0430\u0440\u0438\u0431\u0441\u043a\u0438",
|
||||||
|
"ca": "\u043a\u0430\u0442\u0430\u043b\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"kac": "\u043a\u0430\u0447\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"ks": "\u043a\u0430\u0448\u043c\u0438\u0440\u0441\u043a\u0438",
|
||||||
|
"csb": "\u043a\u0430\u0448\u0443\u0431\u0441\u043a\u0438",
|
||||||
|
"kj": "\u043a\u0432\u0430\u043d\u044f\u043c\u0430",
|
||||||
|
"nmg": "\u043a\u0432\u0430\u0441\u0438\u043e",
|
||||||
|
"qu": "\u043a\u0435\u0447\u0443\u0430",
|
||||||
|
"ki": "\u043a\u0438\u043a\u0443\u044e",
|
||||||
|
"kmb": "\u043a\u0438\u043c\u0431\u0443\u043d\u0434\u0443",
|
||||||
|
"rw": "\u043a\u0438\u043d\u044f\u0440\u0443\u0430\u043d\u0434\u0430",
|
||||||
|
"ky": "\u043a\u0438\u0440\u0433\u0438\u0437\u043a\u0438",
|
||||||
|
"zh": "\u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"quc": "\u043a\u0438\u0447\u0435",
|
||||||
|
"nwc": "\u043a\u043b\u0430\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0432\u0430\u0440\u0438",
|
||||||
|
"syc": "\u043a\u043b\u0430\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0438\u0440\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"tlh": "\u043a\u043b\u0438\u043d\u0433\u043e\u043d",
|
||||||
|
"khq": "\u043a\u043e\u0439\u0440\u0430 \u0447\u0438\u0438\u043d\u0438",
|
||||||
|
"ses": "\u043a\u043e\u0439\u0440\u0430\u0431\u043e\u0440\u043e \u0441\u0435\u043d\u0438",
|
||||||
|
"kv": "\u041a\u043e\u043c\u0438",
|
||||||
|
"koi": "\u043a\u043e\u043c\u0438-\u043f\u0435\u0440\u043c\u044f\u0446\u043a\u0438",
|
||||||
|
"swb": "\u043a\u043e\u043c\u043e\u0440\u0441\u043a\u0438",
|
||||||
|
"kg": "\u043a\u043e\u043d\u0433\u043e\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"swc": "\u043a\u043e\u043d\u0433\u043e\u0430\u043d\u0441\u043a\u0438 \u0441\u0443\u0430\u0445\u0438\u043b\u0438",
|
||||||
|
"kok": "\u043a\u043e\u043d\u043a\u0430\u043d\u0438",
|
||||||
|
"cop": "\u043a\u043e\u043f\u0442\u0441\u043a\u0438",
|
||||||
|
"ko": "\u043a\u043e\u0440\u0435\u0439\u0441\u043a\u0438",
|
||||||
|
"kw": "\u043a\u043e\u0440\u043d\u0443\u043e\u043b\u0441\u043a\u0438",
|
||||||
|
"kfo": "\u043a\u043e\u0440\u043e",
|
||||||
|
"co": "\u043a\u043e\u0440\u0441\u0438\u043a\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"kos": "\u043a\u043e\u0441\u0440\u0430\u0435\u043d",
|
||||||
|
"kho": "\u043a\u043e\u0442\u0441\u043a\u0438",
|
||||||
|
"kpe": "\u043a\u043f\u0435\u043b\u0435",
|
||||||
|
"cr": "\u043a\u0440\u0438\u0438",
|
||||||
|
"mus": "\u043a\u0440\u0438\u043a",
|
||||||
|
"crh": "\u043a\u0440\u0438\u043c\u0441\u043a\u043e\u0442\u0430\u0442\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"xh": "\u043a\u0441\u043e\u0441\u0430",
|
||||||
|
"kum": "\u043a\u0443\u043c\u0438\u043a\u0441\u043a\u0438",
|
||||||
|
"kru": "\u043a\u0443\u0440\u0443\u043a",
|
||||||
|
"kut": "\u043a\u0443\u0442\u0435\u043d\u0430\u0439",
|
||||||
|
"kha": "\u043a\u0445\u0430\u0441\u0438",
|
||||||
|
"km": "\u043a\u0445\u043c\u0435\u0440\u0441\u043a\u0438",
|
||||||
|
"ku": "\u043a\u044e\u0440\u0434\u0441\u043a\u0438",
|
||||||
|
"ckb": "\u043a\u044e\u0440\u0434\u0441\u043a\u0438 (\u0441\u043e\u0440\u0430\u043d\u0438)",
|
||||||
|
"lad": "\u043b\u0430\u0434\u0438\u043d\u043e",
|
||||||
|
"lkt": "\u043b\u0430\u043a\u043e\u0442\u0430",
|
||||||
|
"lam": "\u043b\u0430\u043c\u0431\u0430",
|
||||||
|
"lag": "\u043b\u0430\u043d\u0433\u0438",
|
||||||
|
"lo": "\u043b\u0430\u043e\u0441\u043a\u0438",
|
||||||
|
"lv": "\u043b\u0430\u0442\u0432\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"la": "\u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"lah": "\u043b\u0430\u0445\u043d\u0434\u0430",
|
||||||
|
"lez": "\u043b\u0435\u0437\u0433\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"li": "\u043b\u0438\u043c\u0431\u0443\u0440\u0433\u0441\u043a\u0438",
|
||||||
|
"ln": "\u043b\u0438\u043d\u0433\u0430\u043b\u0430",
|
||||||
|
"lt": "\u043b\u0438\u0442\u043e\u0432\u0441\u043a\u0438",
|
||||||
|
"jbo": "\u043b\u043e\u0434\u0436\u0431\u0430\u043d",
|
||||||
|
"loz": "\u043b\u043e\u0437\u0438",
|
||||||
|
"lu": "\u043b\u0443\u0431\u0430 \u043a\u0430\u0442\u0430\u043d\u0433\u0430",
|
||||||
|
"lua": "\u043b\u0443\u0431\u0430-\u043b\u0443\u043b\u0443\u0430",
|
||||||
|
"lui": "\u043b\u0443\u0438\u0441\u0435\u043d\u044c\u043e",
|
||||||
|
"smj": "\u043b\u0443\u043b\u0435-\u0441\u0430\u0430\u043c\u0441\u043a\u0438",
|
||||||
|
"lun": "\u043b\u0443\u043d\u0434\u0430",
|
||||||
|
"luo": "\u043b\u0443\u043e",
|
||||||
|
"lus": "\u043b\u0443\u0448\u0430\u0438",
|
||||||
|
"luy": "\u043b\u0443\u044f",
|
||||||
|
"lb": "\u043b\u044e\u043a\u0441\u0435\u043c\u0431\u0443\u0440\u0433\u0441\u043a\u0438",
|
||||||
|
"mag": "\u043c\u0430\u0433\u0430\u0445\u0438",
|
||||||
|
"mad": "\u043c\u0430\u0434\u0443\u0440\u0441\u043a\u0438",
|
||||||
|
"mai": "\u043c\u0430\u0439\u0442\u0445\u0438\u043b\u0438",
|
||||||
|
"mak": "\u043c\u0430\u043a\u0430\u0441\u0430\u0440",
|
||||||
|
"mk": "\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"kde": "\u043c\u0430\u043a\u043e\u043d\u0434\u0435",
|
||||||
|
"mgh": "\u043c\u0430\u043a\u0443\u0430 \u043c\u0435\u0442\u043e",
|
||||||
|
"ms": "\u043c\u0430\u043b\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"ml": "\u043c\u0430\u043b\u0430\u044f\u043b\u0430\u043c",
|
||||||
|
"mg": "\u043c\u0430\u043b\u0433\u0430\u0448\u043a\u0438",
|
||||||
|
"mt": "\u043c\u0430\u043b\u0442\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"mdr": "\u043c\u0430\u043d\u0434\u0430\u0440",
|
||||||
|
"man": "\u043c\u0430\u043d\u0434\u0438\u043d\u0433\u043e",
|
||||||
|
"mni": "\u043c\u0430\u043d\u0438\u043f\u0443\u0440\u0438",
|
||||||
|
"gv": "\u043c\u0430\u043d\u043a\u0441\u043a\u0438",
|
||||||
|
"mnc": "\u043c\u0430\u043d\u0447\u0436\u0443\u0440\u0441\u043a\u0438",
|
||||||
|
"mi": "\u043c\u0430\u043e\u0440\u0441\u043a\u0438",
|
||||||
|
"arn": "\u043c\u0430\u043f\u0443\u0447\u0435",
|
||||||
|
"mr": "\u043c\u0430\u0440\u0430\u0442\u0438",
|
||||||
|
"mwr": "\u043c\u0430\u0440\u0432\u0430\u0440\u0438",
|
||||||
|
"chm": "\u043c\u0430\u0440\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"mh": "\u043c\u0430\u0440\u0448\u0430\u043b\u0435\u0437\u0435",
|
||||||
|
"mas": "\u043c\u0430\u0441\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"jmc": "\u043c\u0430\u0447\u0430\u043c\u0435",
|
||||||
|
"es_MX": "\u043c\u0435\u043a\u0441\u0438\u043a\u0430\u043d\u0441\u043a\u0438 \u0438\u0441\u043f\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"men": "\u043c\u0435\u043d\u0434\u0435",
|
||||||
|
"mer": "\u043c\u0435\u0440\u0443",
|
||||||
|
"mgo": "\u043c\u0435\u0442\u0430",
|
||||||
|
"mic": "\u043c\u0438\u043a\u043c\u0430\u043a",
|
||||||
|
"min": "\u043c\u0438\u043d\u0430\u043d\u0433\u0431\u0430\u0443",
|
||||||
|
"mwl": "\u043c\u0438\u0440\u0430\u043d\u0434\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"mul": "\u043c\u043d\u043e\u0433\u043e\u0435\u0437\u0438\u0447\u043d\u0438",
|
||||||
|
"mdf": "\u043c\u043e\u043a\u0448\u0430",
|
||||||
|
"ro_MD": "\u043c\u043e\u043b\u0434\u043e\u0432\u0441\u043a\u0438",
|
||||||
|
"lol": "\u043c\u043e\u043d\u0433\u043e",
|
||||||
|
"mn": "\u043c\u043e\u043d\u0433\u043e\u043b\u0441\u043a\u0438",
|
||||||
|
"mfe": "\u043c\u043e\u0440\u0438\u0441\u0438\u0435\u043d",
|
||||||
|
"mos": "\u043c\u043e\u0441\u0438",
|
||||||
|
"moh": "\u043c\u043e\u0445\u043e\u0443\u043a",
|
||||||
|
"mua": "\u043c\u0443\u043d\u0434\u0430\u043d\u0433",
|
||||||
|
"nv": "\u043d\u0430\u0432\u0430\u0445\u043e",
|
||||||
|
"naq": "\u043d\u0430\u043c\u0430",
|
||||||
|
"na": "\u043d\u0430\u0443\u0440\u0443",
|
||||||
|
"jgo": "\u043d\u0433\u043e\u043c\u0431\u0430",
|
||||||
|
"ng": "\u043d\u0434\u043e\u043d\u0433\u0430",
|
||||||
|
"nap": "\u043d\u0435\u0430\u043f\u043e\u043b\u0438\u0442\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"new": "\u043d\u0435\u0432\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"de": "\u043d\u0435\u043c\u0441\u043a\u0438",
|
||||||
|
"und": "\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d",
|
||||||
|
"ne": "\u043d\u0435\u043f\u0430\u043b\u0441\u043a\u0438",
|
||||||
|
"nzi": "\u043d\u0437\u0438\u043c\u0430",
|
||||||
|
"nym": "\u043d\u0438\u0430\u043c\u0432\u0435\u0437\u0438",
|
||||||
|
"nyn": "\u043d\u0438\u0430\u043d\u043a\u043e\u043b\u0435",
|
||||||
|
"tog": "\u043d\u0438\u0430\u043d\u0441\u0430 \u0442\u043e\u043d\u0433\u0430",
|
||||||
|
"nia": "\u043d\u0438\u0430\u0441",
|
||||||
|
"nl": "\u043d\u0438\u0434\u0435\u0440\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"niu": "\u043d\u0438\u0443\u0435\u0430\u043d",
|
||||||
|
"nqo": "\u043d\u043a\u043e",
|
||||||
|
"nog": "\u043d\u043e\u0433\u0430\u0438",
|
||||||
|
"no": "\u043d\u043e\u0440\u0432\u0435\u0436\u043a\u0438",
|
||||||
|
"nb": "\u043d\u043e\u0440\u0432\u0435\u0436\u043a\u0438 \u0431\u0443\u043a\u043c\u043e\u043b",
|
||||||
|
"nn": "\u043d\u043e\u0440\u0432\u0435\u0436\u043a\u0438 \u043d\u044e\u043d\u043e\u0448\u043a",
|
||||||
|
"nus": "\u043d\u0443\u0435\u0440",
|
||||||
|
"nyo": "\u043d\u0443\u043e\u0440\u043e",
|
||||||
|
"oj": "\u043e\u0434\u0436\u0438\u0431\u0432\u0430",
|
||||||
|
"ie": "\u043e\u043a\u0441\u0438\u0434\u0435\u043d\u0442\u0430\u043b",
|
||||||
|
"oc": "\u043e\u043a\u0441\u0438\u0442\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"zh_Hans": "\u043e\u043f\u0440\u043e\u0441\u0442\u0435\u043d \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"or": "\u043e\u0440\u0438\u044f",
|
||||||
|
"om": "\u043e\u0440\u043e\u043c\u043e",
|
||||||
|
"osa": "\u043e\u0441\u0435\u0434\u0436\u0438",
|
||||||
|
"os": "\u043e\u0441\u0435\u0442\u0441\u043a\u0438",
|
||||||
|
"ota": "\u043e\u0442\u043e\u043c\u0430\u043d\u0441\u043a\u0438 \u0442\u0443\u0440\u0441\u043a\u0438",
|
||||||
|
"pau": "\u043f\u0430\u043b\u0430\u0443\u0430\u043d",
|
||||||
|
"pi": "\u043f\u0430\u043b\u0438",
|
||||||
|
"pam": "\u043f\u0430\u043c\u043f\u0430\u043d\u0433\u0430",
|
||||||
|
"pag": "\u043f\u0430\u043d\u0433\u0430\u0441\u0438\u043d\u0430\u043d",
|
||||||
|
"pap": "\u043f\u0430\u043f\u0438\u0430\u043c\u0435\u043d\u0442\u0443",
|
||||||
|
"pa": "\u043f\u0435\u043d\u0434\u0436\u0430\u0431\u0441\u043a\u0438",
|
||||||
|
"fa": "\u043f\u0435\u0440\u0441\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"pal": "\u043f\u0435\u0445\u043b\u0435\u0432\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"pl": "\u043f\u043e\u043b\u0441\u043a\u0438",
|
||||||
|
"pt": "\u043f\u043e\u0440\u0442\u0443\u0433\u0430\u043b\u0441\u043a\u0438",
|
||||||
|
"pon": "\u043f\u043e\u0445\u043d\u043f\u0435\u0438\u0430\u043d",
|
||||||
|
"pro": "\u043f\u0440\u043e\u0432\u0430\u043d\u0441\u0430\u043b\u0441\u043a\u0438",
|
||||||
|
"ps": "\u043f\u0443\u0449\u0443",
|
||||||
|
"raj": "\u0440\u0430\u0434\u0436\u0430\u0441\u0442\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"rap": "\u0440\u0430\u043f\u0430 \u043d\u0443\u0438",
|
||||||
|
"rar": "\u0440\u0430\u043f\u043e\u0442\u043e\u043d\u0433\u0430\u043d",
|
||||||
|
"rwk": "\u0440\u0432\u0430",
|
||||||
|
"rm": "\u0440\u0435\u0442\u043e\u0440\u043e\u043c\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"rof": "\u0440\u043e\u043c\u0431\u043e",
|
||||||
|
"root": "\u0440\u043e\u043e\u0442",
|
||||||
|
"ro": "\u0440\u0443\u043c\u044a\u043d\u0441\u043a\u0438",
|
||||||
|
"rn": "\u0440\u0443\u043d\u0434\u0438",
|
||||||
|
"ru": "\u0440\u0443\u0441\u043a\u0438",
|
||||||
|
"sam": "\u0441\u0430\u043c\u0430\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438 \u0430\u0440\u0430\u043c\u0435\u0439\u0441\u043a\u0438",
|
||||||
|
"saq": "\u0441\u0430\u043c\u0431\u0443\u0440\u0443",
|
||||||
|
"sm": "\u0441\u0430\u043c\u043e\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"sg": "\u0441\u0430\u043d\u0433\u043e",
|
||||||
|
"sbp": "\u0441\u0430\u043d\u0433\u0443",
|
||||||
|
"sad": "\u0441\u0430\u043d\u0434\u0432\u0435",
|
||||||
|
"sa": "\u0441\u0430\u043d\u043a\u0441\u043a\u0440\u0438\u0442\u0441\u043a\u0438",
|
||||||
|
"sat": "\u0441\u0430\u043d\u0442\u0430\u043b\u0438",
|
||||||
|
"sc": "\u0441\u0430\u0440\u0434\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"sas": "\u0441\u0430\u0441\u0430\u043a",
|
||||||
|
"ceb": "\u0441\u0435\u0431\u0443\u0430\u043d\u043e",
|
||||||
|
"nd": "\u0441\u0435\u0432\u0435\u0440\u0435\u043d \u043d\u0434\u0435\u0431\u0435\u043b\u0435",
|
||||||
|
"nso": "\u0441\u0435\u0432\u0435\u0440\u0435\u043d \u0441\u043e\u0442\u043e",
|
||||||
|
"frr": "\u0441\u0435\u0432\u0435\u0440\u0435\u043d \u0444\u0440\u0438\u0437\u0441\u043a\u0438",
|
||||||
|
"se": "\u0441\u0435\u0432\u0435\u0440\u043d\u043e\u0441\u0430\u0430\u043c\u0441\u043a\u0438",
|
||||||
|
"sel": "\u0441\u0435\u043b\u043a\u0443\u043f",
|
||||||
|
"seh": "\u0441\u0435\u043d\u0430",
|
||||||
|
"srr": "\u0441\u0435\u0440\u0435\u0440",
|
||||||
|
"st": "\u0441\u0435\u0441\u0443\u0442\u043e",
|
||||||
|
"sid": "\u0441\u0438\u0434\u0430\u043c\u043e",
|
||||||
|
"bla": "\u0441\u0438\u043a\u0441\u0438\u043a\u0430",
|
||||||
|
"sd": "\u0441\u0438\u043d\u0434\u0445\u0438",
|
||||||
|
"si": "\u0441\u0438\u043d\u0445\u0430\u043b\u0441\u043a\u0438",
|
||||||
|
"syr": "\u0441\u0438\u0440\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"scn": "\u0441\u0438\u0446\u0438\u043b\u0438\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"sms": "\u0441\u043a\u043e\u043b\u0442-\u0441\u0430\u0430\u043c\u0441\u043a\u0438",
|
||||||
|
"den": "\u0441\u043b\u0435\u0439\u0432\u0438",
|
||||||
|
"sk": "\u0441\u043b\u043e\u0432\u0430\u0448\u043a\u0438",
|
||||||
|
"sl": "\u0441\u043b\u043e\u0432\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"xog": "\u0441\u043e\u0433\u0430",
|
||||||
|
"sog": "\u0441\u043e\u0433\u0434\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"so": "\u0441\u043e\u043c\u0430\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"snk": "\u0441\u043e\u043d\u0438\u043d\u043a\u0435",
|
||||||
|
"srn": "\u0441\u0440\u0430\u043d\u0430\u043d \u0442\u043e\u043d\u0433\u043e",
|
||||||
|
"enm": "\u0441\u0440\u0435\u0434\u043d\u043e\u0432\u0435\u043a\u043e\u0432\u0435\u043d \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"mga": "\u0441\u0440\u0435\u0434\u043d\u043e\u0432\u0435\u043a\u043e\u0432\u0435\u043d \u0438\u0440\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"gmh": "\u0441\u0440\u0435\u0434\u043d\u043e\u0432\u0435\u043a\u043e\u0432\u0435\u043d \u043d\u0435\u043c\u0441\u043a\u0438",
|
||||||
|
"frm": "\u0441\u0440\u0435\u0434\u043d\u043e\u0432\u0435\u043a\u043e\u0432\u0435\u043d \u0444\u0440\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"dum": "\u0441\u0440\u0435\u0434\u043d\u043e\u0432\u0435\u043a\u043e\u0432\u0435\u043d \u0445\u043e\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"sr": "\u0441\u0440\u044a\u0431\u0441\u043a\u0438",
|
||||||
|
"zgh": "\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435\u043d \u043c\u0430\u0440\u043e\u043a\u0430\u043d\u0441\u043a\u0438 \u0442\u0430\u043c\u0430\u0437\u0438\u0433\u0442",
|
||||||
|
"ang": "\u0441\u0442\u0430\u0440\u043e\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"goh": "\u0441\u0442\u0430\u0440\u043e\u0432\u0438\u0441\u043e\u043a\u043e\u043d\u0435\u043c\u0441\u043a\u0438",
|
||||||
|
"sga": "\u0441\u0442\u0430\u0440\u043e\u0438\u0440\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"non": "\u0441\u0442\u0430\u0440\u043e\u043d\u043e\u0440\u0432\u0435\u0436\u0441\u043a\u0438",
|
||||||
|
"peo": "\u0441\u0442\u0430\u0440\u043e\u043f\u0435\u0440\u0441\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"fro": "\u0441\u0442\u0430\u0440\u043e\u0444\u0440\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"ss": "\u0441\u0443\u0430\u0437\u0438",
|
||||||
|
"sw": "\u0441\u0443\u0430\u0445\u0438\u043b\u0438",
|
||||||
|
"suk": "\u0441\u0443\u043a\u0443\u043c\u0430",
|
||||||
|
"su": "\u0441\u0443\u043d\u0434\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"sus": "\u0441\u0443\u0441\u0443",
|
||||||
|
"ar_001": "\u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043d \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435\u043d \u0430\u0440\u0430\u0431\u0441\u043a\u0438",
|
||||||
|
"sh": "\u0441\u044a\u0440\u0431\u043e\u0445\u044a\u0440\u0432\u0430\u0442\u0441\u043a\u0438",
|
||||||
|
"ii": "\u0441\u044a\u0447\u0443\u0430\u043d\u0441\u043a\u0438 \u0438",
|
||||||
|
"tl": "\u0442\u0430\u0433\u0430\u043b\u043e\u0433",
|
||||||
|
"tg": "\u0442\u0430\u0434\u0436\u0438\u043a\u0441\u043a\u0438",
|
||||||
|
"dav": "\u0442\u0430\u0438\u0442\u0430",
|
||||||
|
"ty": "\u0442\u0430\u0438\u0442\u044f\u043d\u0441\u043a\u0438",
|
||||||
|
"th": "\u0442\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"tmh": "\u0442\u0430\u043c\u0430\u0448\u0435\u043a",
|
||||||
|
"ta": "\u0442\u0430\u043c\u0438\u043b\u0441\u043a\u0438",
|
||||||
|
"twq": "\u0442\u0430\u0441\u0430\u0432\u0430\u043a",
|
||||||
|
"tt": "\u0442\u0430\u0442\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"shi": "\u0442\u0430\u0448\u0435\u043b\u0445\u0438\u0442",
|
||||||
|
"te": "\u0442\u0435\u043b\u0443\u0433\u0443",
|
||||||
|
"tem": "\u0442\u0435\u043c\u043d\u0435",
|
||||||
|
"ter": "\u0442\u0435\u0440\u0435\u043d\u043e",
|
||||||
|
"teo": "\u0442\u0435\u0441\u043e",
|
||||||
|
"tet": "\u0442\u0435\u0442\u0443\u043c",
|
||||||
|
"bo": "\u0442\u0438\u0431\u0435\u0442\u0441\u043a\u0438",
|
||||||
|
"tiv": "\u0442\u0438\u0432",
|
||||||
|
"tig": "\u0442\u0438\u0433\u0440\u0435",
|
||||||
|
"ti": "\u0442\u0438\u0433\u0440\u0438\u043d\u044f",
|
||||||
|
"tli": "\u0442\u043b\u0438\u043d\u0433\u0438\u0442",
|
||||||
|
"tpi": "\u0442\u043e\u043a \u043f\u0438\u0441\u0438\u043d",
|
||||||
|
"tkl": "\u0442\u043e\u043a\u0435\u043b\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"to": "\u0442\u043e\u043d\u0433\u0430",
|
||||||
|
"zh_Hant": "\u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u043d \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"tn": "\u0442\u0441\u0432\u0430\u043d\u0430",
|
||||||
|
"ts": "\u0442\u0441\u043e\u043d\u0433\u0430",
|
||||||
|
"kcg": "\u0442\u0443\u0430\u043f",
|
||||||
|
"tvl": "\u0442\u0443\u0432\u0430\u043b\u0443\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"tyv": "\u0442\u0443\u0432\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"tw": "\u0442\u0443\u0438",
|
||||||
|
"tum": "\u0442\u0443\u043c\u0431\u0443\u043a\u0430",
|
||||||
|
"tk": "\u0442\u0443\u0440\u043a\u043c\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"tr": "\u0442\u0443\u0440\u0441\u043a\u0438",
|
||||||
|
"was": "\u0443\u0430\u0448\u043e",
|
||||||
|
"uga": "\u0443\u0433\u0430\u0440\u0438\u0442\u0441\u043a\u0438",
|
||||||
|
"udm": "\u0443\u0434\u043c\u0443\u0440\u0442\u0441\u043a\u0438",
|
||||||
|
"cy": "\u0443\u0435\u043b\u0441\u043a\u0438",
|
||||||
|
"uz": "\u0443\u0437\u0431\u0435\u043a\u0441\u043a\u0438",
|
||||||
|
"ug": "\u0443\u0439\u0433\u0443\u0440\u0441\u043a\u0438",
|
||||||
|
"uk": "\u0443\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"umb": "\u0443\u043c\u0431\u0443\u043d\u0434\u0443",
|
||||||
|
"hu": "\u0443\u043d\u0433\u0430\u0440\u0441\u043a\u0438",
|
||||||
|
"ur": "\u0443\u0440\u0434\u0443",
|
||||||
|
"fan": "\u0444\u0430\u043d\u0433",
|
||||||
|
"fat": "\u0444\u0430\u043d\u0442\u0438",
|
||||||
|
"fo": "\u0444\u0430\u0440\u044c\u043e\u0440\u0441\u043a\u0438",
|
||||||
|
"fj": "\u0444\u0438\u0434\u0436\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"fil": "\u0444\u0438\u043b\u0438\u043f\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"phn": "\u0444\u0438\u043d\u0438\u043a\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"fi": "\u0444\u0438\u043d\u0441\u043a\u0438",
|
||||||
|
"nl_BE": "\u0444\u043b\u0430\u043c\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"fon": "\u0444\u043e\u043d",
|
||||||
|
"fr": "\u0444\u0440\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"fy": "\u0444\u0440\u0438\u0437\u0438\u0439\u0441\u043a\u0438",
|
||||||
|
"fur": "\u0444\u0440\u0438\u0443\u043b\u0438\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"ff": "\u0444\u0443\u043b\u0430",
|
||||||
|
"haw": "\u0445\u0430\u0432\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"ht": "\u0445\u0430\u0438\u0442\u044f\u043d\u0441\u043a\u0438",
|
||||||
|
"hai": "\u0445\u0430\u0439\u0434\u0430",
|
||||||
|
"ha": "\u0445\u0430\u0443\u0437\u0430",
|
||||||
|
"hz": "\u0445\u0435\u0440\u0435\u0440\u043e",
|
||||||
|
"hil": "\u0445\u0438\u043b\u0438\u0433\u0430\u0439\u043d\u043e\u043d",
|
||||||
|
"hi": "\u0445\u0438\u043d\u0434\u0438",
|
||||||
|
"ho": "\u0445\u0438\u0440\u0438 \u043c\u043e\u0442\u0443",
|
||||||
|
"hit": "\u0445\u0438\u0442\u0441\u043a\u0438",
|
||||||
|
"hmn": "\u0445\u043c\u043e\u043d\u0433",
|
||||||
|
"hup": "\u0445\u0443\u043f\u0430",
|
||||||
|
"hr": "\u0445\u044a\u0440\u0432\u0430\u0442\u0441\u043a\u0438",
|
||||||
|
"tzm": "\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u043d\u043e\u0430\u0442\u043b\u0430\u0441\u043a\u0438 \u0442\u0430\u043c\u0430\u0437\u0438\u0433\u0442",
|
||||||
|
"rom": "\u0446\u0438\u0433\u0430\u043d\u0441\u043a\u0438 \u0435\u0437\u0438\u043a",
|
||||||
|
"tsi": "\u0446\u0438\u043c\u0448\u0438\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"cu": "\u0446\u044a\u0440\u043a\u043e\u0432\u043d\u043e \u0441\u043b\u0430\u0432\u044f\u043d\u0441\u043a\u0438",
|
||||||
|
"chg": "\u0447\u0430\u0433\u0430\u0442\u0430\u0439",
|
||||||
|
"ch": "\u0447\u0430\u043c\u043e\u0440\u043e",
|
||||||
|
"chy": "\u0447\u0435\u0439\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"chr": "\u0447\u0435\u0440\u043e\u043a\u0438",
|
||||||
|
"ce": "\u0447\u0435\u0447\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"cs": "\u0447\u0435\u0448\u043a\u0438",
|
||||||
|
"chb": "\u0447\u0438\u0431\u0447\u0430",
|
||||||
|
"cgg": "\u0447\u0438\u0433\u0430",
|
||||||
|
"chp": "\u0447\u0438\u0438\u043f\u0443\u0432\u0441\u043a\u0438",
|
||||||
|
"ny": "\u0447\u0438\u043d\u044f\u043d\u0434\u0436\u0430",
|
||||||
|
"cho": "\u0447\u043e\u043a\u0442\u043e",
|
||||||
|
"cv": "\u0447\u0443\u0432\u0430\u0448\u043a\u0438",
|
||||||
|
"chk": "\u0447\u0443\u0443\u043a",
|
||||||
|
"ksb": "\u0448\u0430\u043c\u0431\u0430\u043b\u0430",
|
||||||
|
"shn": "\u0448\u0430\u043d",
|
||||||
|
"sv": "\u0448\u0432\u0435\u0434\u0441\u043a\u0438",
|
||||||
|
"de_CH": "\u0448\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438 \u0433\u043e\u0440\u043d\u043e\u0433\u0435\u0440\u043c\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"gsw": "\u0448\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438 \u043d\u0435\u043c\u0441\u043a\u0438",
|
||||||
|
"fr_CH": "\u0448\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438 \u0444\u0440\u0435\u043d\u0441\u043a\u0438",
|
||||||
|
"sn": "\u0448\u043e\u043d\u0430",
|
||||||
|
"sco": "\u0448\u043e\u0442\u043b\u0430\u043d\u0434\u0441\u043a\u0438",
|
||||||
|
"gd": "\u0448\u043e\u0442\u043b\u0430\u043d\u0434\u0441\u043a\u0438 \u0433\u0430\u043b\u0441\u043a\u0438",
|
||||||
|
"sux": "\u0448\u0443\u043c\u0435\u0440\u0441\u043a\u0438",
|
||||||
|
"nr": "\u044e\u0436\u0435\u043d \u043d\u0434\u0435\u0431\u0435\u043b\u0435",
|
||||||
|
"alt": "\u044e\u0436\u043d\u043e\u0430\u043b\u0442\u0430\u0439\u0441\u043a\u0438",
|
||||||
|
"sma": "\u044e\u0436\u043d\u043e\u0441\u0430\u0430\u043c\u0441\u043a\u0438",
|
||||||
|
"jv": "\u044f\u0432\u0430\u043d\u0441\u043a\u0438",
|
||||||
|
"sah": "\u044f\u043a\u0443\u0442\u0441\u043a\u0438",
|
||||||
|
"yao": "\u044f\u043e",
|
||||||
|
"yap": "\u044f\u043f\u0435\u0437\u0435",
|
||||||
|
"ja": "\u044f\u043f\u043e\u043d\u0441\u043a\u0438",
|
||||||
|
"bss": "Akoose",
|
||||||
|
"akz": "Alabama",
|
||||||
|
"arq": "Algerian Arabic",
|
||||||
|
"ase": "American Sign Language",
|
||||||
|
"njo": "Ao Naga",
|
||||||
|
"aro": "Araona",
|
||||||
|
"frp": "Arpitan",
|
||||||
|
"bfq": "Badaga",
|
||||||
|
"bfd": "Bafut",
|
||||||
|
"bqi": "Bakhtiari",
|
||||||
|
"bax": "Bamun",
|
||||||
|
"bjn": "Banjar",
|
||||||
|
"bbc": "Batak Toba",
|
||||||
|
"bar": "Bavarian",
|
||||||
|
"bew": "Betawi",
|
||||||
|
"bpy": "Bishnupriya",
|
||||||
|
"brh": "Brahui",
|
||||||
|
"pt_BR": "Brazilian Portuguese",
|
||||||
|
"bum": "Bulu",
|
||||||
|
"frc": "Cajun French",
|
||||||
|
"cps": "Capiznon",
|
||||||
|
"cay": "Cayuga",
|
||||||
|
"dtp": "Central Dusun",
|
||||||
|
"esu": "Central Yupik",
|
||||||
|
"shu": "Chadian Arabic",
|
||||||
|
"qug": "Chimborazo Highland Quichua",
|
||||||
|
"ksh": "Colognian",
|
||||||
|
"dzg": "Dazaga",
|
||||||
|
"arz": "Egyptian Arabic",
|
||||||
|
"egl": "Emilian",
|
||||||
|
"pt_PT": "European Portuguese",
|
||||||
|
"es_ES": "European Spanish",
|
||||||
|
"ext": "Extremaduran",
|
||||||
|
"hif": "Fiji Hindi",
|
||||||
|
"gur": "Frafra",
|
||||||
|
"gan": "Gan Chinese",
|
||||||
|
"aln": "Gheg Albanian",
|
||||||
|
"bbj": "Ghomala",
|
||||||
|
"glk": "Gilaki",
|
||||||
|
"gom": "Goan Konkani",
|
||||||
|
"hak": "Hakka Chinese",
|
||||||
|
"ibb": "Ibibio",
|
||||||
|
"izh": "Ingrian",
|
||||||
|
"jam": "Jamaican Creole English",
|
||||||
|
"jut": "Jutish",
|
||||||
|
"kgp": "Kaingang",
|
||||||
|
"kkj": "Kako",
|
||||||
|
"kbl": "Kanembu",
|
||||||
|
"ken": "Kenyang",
|
||||||
|
"khw": "Khowar",
|
||||||
|
"krj": "Kinaray-a",
|
||||||
|
"kiu": "Kirmanjki",
|
||||||
|
"bkm": "Kom",
|
||||||
|
"avk": "Kotava",
|
||||||
|
"kri": "Krio",
|
||||||
|
"ltg": "Latgalian",
|
||||||
|
"es_419": "Latin American Spanish",
|
||||||
|
"lzz": "Laz",
|
||||||
|
"lij": "Ligurian",
|
||||||
|
"lfn": "Lingua Franca Nova",
|
||||||
|
"lzh": "Literary Chinese",
|
||||||
|
"liv": "Livonian",
|
||||||
|
"lmo": "Lombard",
|
||||||
|
"sli": "Lower Silesian",
|
||||||
|
"mde": "Maba",
|
||||||
|
"maf": "Mafa",
|
||||||
|
"vmf": "Main-Franconian",
|
||||||
|
"mzn": "Mazanderani",
|
||||||
|
"byv": "Medumba",
|
||||||
|
"mwv": "Mentawai",
|
||||||
|
"nan": "Min Nan Chinese",
|
||||||
|
"xmf": "Mingrelian",
|
||||||
|
"ary": "Moroccan Arabic",
|
||||||
|
"ttt": "Muslim Tat",
|
||||||
|
"mye": "Myene",
|
||||||
|
"sba": "Ngambay",
|
||||||
|
"nnh": "Ngiemboon",
|
||||||
|
"yrl": "Nheengatu",
|
||||||
|
"nov": "Novial",
|
||||||
|
"pfl": "Palatine German",
|
||||||
|
"pdc": "Pennsylvania German",
|
||||||
|
"pcd": "Picard",
|
||||||
|
"pms": "Piedmontese",
|
||||||
|
"pdt": "Plautdietsch",
|
||||||
|
"pnt": "Pontic",
|
||||||
|
"prg": "Prussian",
|
||||||
|
"rif": "Riffian",
|
||||||
|
"rgn": "Romagnol",
|
||||||
|
"rtm": "Rotuman",
|
||||||
|
"rug": "Roviana",
|
||||||
|
"rue": "Rusyn",
|
||||||
|
"ssy": "Saho",
|
||||||
|
"sgs": "Samogitian",
|
||||||
|
"sdc": "Sassarese Sardinian",
|
||||||
|
"stq": "Saterland Frisian",
|
||||||
|
"saz": "Saurashtra",
|
||||||
|
"sly": "Selayar",
|
||||||
|
"see": "Seneca",
|
||||||
|
"sei": "Seri",
|
||||||
|
"szl": "Silesian",
|
||||||
|
"azb": "South Azerbaijani",
|
||||||
|
"tly": "Talysh",
|
||||||
|
"trv": "Taroko",
|
||||||
|
"fit": "Tornedalen Finnish",
|
||||||
|
"tkr": "Tsakhur",
|
||||||
|
"tsd": "Tsakonian",
|
||||||
|
"tcy": "Tulu",
|
||||||
|
"aeb": "Tunisian Arabic",
|
||||||
|
"tru": "Turoyo",
|
||||||
|
"vec": "Venetian",
|
||||||
|
"vep": "Veps",
|
||||||
|
"vro": "V\u00f5ro",
|
||||||
|
"wae": "Walser",
|
||||||
|
"wbp": "Warlpiri",
|
||||||
|
"guc": "Wayuu",
|
||||||
|
"vls": "West Flemish",
|
||||||
|
"mrj": "Western Mari",
|
||||||
|
"wuu": "Wu Chinese",
|
||||||
|
"hsn": "Xiang Chinese",
|
||||||
|
"yav": "Yangben",
|
||||||
|
"ybb": "Yemba",
|
||||||
|
"zea": "Zeelandic",
|
||||||
|
"gbz": "Zoroastrian Dari"
|
||||||
|
}
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Average visit time"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Visit duration"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "المتوسط"
|
"value": "المتوسط"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "متوسط وقت الزيارة"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "متوسط وقت الزيارة"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Сярэдняя даўжыня наведвання"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Сярэдняя даўжыня наведвання"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
1676
public/intl/messages/bg-BG.json
Normal file
1676
public/intl/messages/bg-BG.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -2,7 +2,7 @@
|
||||||
"label.access-code": [
|
"label.access-code": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Access code"
|
"value": "এক্সেস কোড"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.actions": [
|
"label.actions": [
|
||||||
|
|
@ -14,31 +14,31 @@
|
||||||
"label.activity-log": [
|
"label.activity-log": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Activity log"
|
"value": "একটিভিটি দেখুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add": [
|
"label.add": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add"
|
"value": "যুক্ত করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-description": [
|
"label.add-description": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add description"
|
"value": "বর্ননা যোগ করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-member": [
|
"label.add-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add member"
|
"value": "সদস্য যোগ করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-step": [
|
"label.add-step": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add step"
|
"value": "পদ যোগ করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-website": [
|
"label.add-website": [
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
"label.after": [
|
"label.after": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "After"
|
"value": "পরে"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.all": [
|
"label.all": [
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "গড় পরিদর্শনের সময়"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -98,31 +92,31 @@
|
||||||
"label.before": [
|
"label.before": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Before"
|
"value": "পূর্বে"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.bounce-rate": [
|
"label.bounce-rate": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "বহিষ্কারের হার"
|
"value": "উপরে উঠার হার"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.breakdown": [
|
"label.breakdown": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Breakdown"
|
"value": "ভাঙ্গন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.browser": [
|
"label.browser": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Browser"
|
"value": "ব্রাউজার"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.browsers": [
|
"label.browsers": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "ব্রাউজার"
|
"value": "ব্রাউজার সমূহ"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.cancel": [
|
"label.cancel": [
|
||||||
|
|
@ -140,25 +134,25 @@
|
||||||
"label.cities": [
|
"label.cities": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Cities"
|
"value": "শহরসমূহ"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.city": [
|
"label.city": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "City"
|
"value": "শহর"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.clear-all": [
|
"label.clear-all": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Clear all"
|
"value": "সব মুছে ফেলুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.confirm": [
|
"label.confirm": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Confirm"
|
"value": "নিশ্চিত করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.confirm-password": [
|
"label.confirm-password": [
|
||||||
|
|
@ -170,55 +164,55 @@
|
||||||
"label.contains": [
|
"label.contains": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Contains"
|
"value": "রয়েছে"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.continue": [
|
"label.continue": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Continue"
|
"value": "পরবর্তিতে"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.countries": [
|
"label.countries": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "দেশ"
|
"value": "দেশসমূহ"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.country": [
|
"label.country": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Country"
|
"value": "দেশ"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create": [
|
"label.create": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create"
|
"value": "তৈরি করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-report": [
|
"label.create-report": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create report"
|
"value": "রিপোর্ট তৈরি করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-team": [
|
"label.create-team": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create team"
|
"value": "দল তৈরি করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-user": [
|
"label.create-user": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create user"
|
"value": "ব্যবহারকারী তৈরি করুন"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.created": [
|
"label.created": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Created"
|
"value": "তৈরি করা হয়েছে"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.created-by": [
|
"label.created-by": [
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "গড় পরিদর্শনের সময়"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Prosjek"
|
"value": "Prosjek"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Prosječno vrijeme posjete"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Pregledi po posjeti"
|
"value": "Pregledi po posjeti"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Prosječno vrijeme posjete"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Mitjana"
|
"value": "Mitjana"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Temps mitjà de visita"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Temps mitjà de visita"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Průměrný čas návštěvy"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Průměrný čas návštěvy"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Gennemsnitlig besøgstid"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Gennemsnitlig besøgstid"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Durchschn. Bsuechsziit"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Durchschn. Bsuechsziit"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Durchschnitt"
|
"value": "Durchschnitt"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Durchschn. Besuchszeit"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Durchschn. Besuchszeit"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Μέσος χρόνος επίσκεψης"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Μέσος χρόνος επίσκεψης"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Average visit time"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Visit duration"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Average visit time"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Visit duration"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Media"
|
"value": "Media"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Tiempo promedio de visita"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Tiempo promedio de visita"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
"label.visit-duration": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Tiempo promedio de visita"
|
"value": "Tiempo promedio de visita"
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "میانگین زمان بازدید"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "میانگین زمان بازدید"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Keskimääräinen vierailuaika"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Keskimääräinen vierailuaika"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Miðal vitjurnartíð "
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Miðal vitjurnartíð "
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Moyenne"
|
"value": "Moyenne"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Temps de visite moyen"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1237,6 +1231,12 @@
|
||||||
"value": "Vues par visite"
|
"value": "Vues par visite"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Temps de visite moyen"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Tempo medio de visita"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1257,6 +1251,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Tempo medio de visita"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "זמן ביקור ממוצע"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1241,6 +1235,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "זמן ביקור ממוצע"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "औसत दृश्य समय"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "औसत दृश्य समय"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Average visit time"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Visit duration"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Átlagos látogatási idő"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Átlagos látogatási idő"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Waktu kunjungan rata-rata"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1241,6 +1235,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Waktu kunjungan rata-rata"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Tempo medio di visita"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Tempo medio di visita"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "平均"
|
"value": "平均"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "平均滞在時間"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "平均滞在時間"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "មើលជាមធ្យម"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1241,6 +1235,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "មើលជាមធ្យម"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "평균 방문 시간"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1253,6 +1247,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "평균 방문 시간"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Vidurkis"
|
"value": "Vidurkis"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Vidutinė vizito trukmė"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1354,6 +1348,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Vidutinė vizito trukmė"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Дундаж"
|
"value": "Дундаж"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Зочилсон дундаж хугацаа"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Зочилсон дундаж хугацаа"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Purata tempoh masa lawatan"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1241,6 +1235,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Purata tempoh masa lawatan"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "ပျမ်းမျှ"
|
"value": "ပျမ်းမျှ"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Gjennomsnittlig besøkstid"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Gjennomsnittlig besøkstid"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Gemiddelde"
|
"value": "Gemiddelde"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Gemiddelde bezoektijd"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Gemiddelde bezoektijd"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -32,13 +32,13 @@
|
||||||
"label.add-member": [
|
"label.add-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add member"
|
"value": "Dodaj członka"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-step": [
|
"label.add-step": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add step"
|
"value": "Dodaj krok"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-website": [
|
"label.add-website": [
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Średnia"
|
"value": "Średnia"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Średni czas wizyty"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -116,7 +110,7 @@
|
||||||
"label.browser": [
|
"label.browser": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Browser"
|
"value": "Przeglądarka"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.browsers": [
|
"label.browsers": [
|
||||||
|
|
@ -146,7 +140,7 @@
|
||||||
"label.city": [
|
"label.city": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "City"
|
"value": "Miasto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.clear-all": [
|
"label.clear-all": [
|
||||||
|
|
@ -188,19 +182,19 @@
|
||||||
"label.country": [
|
"label.country": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Country"
|
"value": "Państwo"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create": [
|
"label.create": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create"
|
"value": "Utwórz"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-report": [
|
"label.create-report": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Stwórz raport"
|
"value": "Utwórz raport"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-team": [
|
"label.create-team": [
|
||||||
|
|
@ -224,7 +218,7 @@
|
||||||
"label.created-by": [
|
"label.created-by": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Created By"
|
"value": "Utworzony przez"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.current-password": [
|
"label.current-password": [
|
||||||
|
|
@ -248,13 +242,13 @@
|
||||||
"label.data": [
|
"label.data": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Data"
|
"value": "Dane"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.date": [
|
"label.date": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Date"
|
"value": "Data"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.date-range": [
|
"label.date-range": [
|
||||||
|
|
@ -266,7 +260,7 @@
|
||||||
"label.day": [
|
"label.day": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Day"
|
"value": "Dzień"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.default-date-range": [
|
"label.default-date-range": [
|
||||||
|
|
@ -284,7 +278,7 @@
|
||||||
"label.delete-report": [
|
"label.delete-report": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Delete report"
|
"value": "Usuń raport"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.delete-team": [
|
"label.delete-team": [
|
||||||
|
|
@ -326,7 +320,7 @@
|
||||||
"label.device": [
|
"label.device": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Device"
|
"value": "Urządzenie"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.devices": [
|
"label.devices": [
|
||||||
|
|
@ -356,7 +350,7 @@
|
||||||
"label.dropoff": [
|
"label.dropoff": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Dropoff"
|
"value": "Odpływ"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.edit": [
|
"label.edit": [
|
||||||
|
|
@ -374,7 +368,7 @@
|
||||||
"label.edit-member": [
|
"label.edit-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Edit member"
|
"value": "Edytuj członka"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.enable-share-url": [
|
"label.enable-share-url": [
|
||||||
|
|
@ -386,7 +380,7 @@
|
||||||
"label.event": [
|
"label.event": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Event"
|
"value": "Zdarzenie"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.event-data": [
|
"label.event-data": [
|
||||||
|
|
@ -422,7 +416,7 @@
|
||||||
"label.filter": [
|
"label.filter": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Filter"
|
"value": "Filtruj"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.filter-combined": [
|
"label.filter-combined": [
|
||||||
|
|
@ -452,7 +446,7 @@
|
||||||
"label.funnel-description": [
|
"label.funnel-description": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Understand the conversion and drop-off rate of users."
|
"value": "Zrozum wskaźniki konwersji i odpływu użytkowników."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.greater-than": [
|
"label.greater-than": [
|
||||||
|
|
@ -470,13 +464,13 @@
|
||||||
"label.insights": [
|
"label.insights": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Insights"
|
"value": "Analiza"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.insights-description": [
|
"label.insights-description": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Dive deeper into your data by using segments and filters."
|
"value": "Poznaj lepiej swoje dane, korzystając z segmentów i filtrów."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.is": [
|
"label.is": [
|
||||||
|
|
@ -494,13 +488,13 @@
|
||||||
"label.is-not-set": [
|
"label.is-not-set": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Is not set"
|
"value": "Nieustawione"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.is-set": [
|
"label.is-set": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Is set"
|
"value": "Ustawione"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.join": [
|
"label.join": [
|
||||||
|
|
@ -564,7 +558,7 @@
|
||||||
"label.last-months": [
|
"label.last-months": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Last "
|
"value": "Osatnie "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -572,7 +566,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": " months"
|
"value": " miesięcy"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.leave": [
|
"label.leave": [
|
||||||
|
|
@ -626,7 +620,7 @@
|
||||||
"label.member": [
|
"label.member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Member"
|
"value": "Członek"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.members": [
|
"label.members": [
|
||||||
|
|
@ -656,13 +650,13 @@
|
||||||
"label.my-account": [
|
"label.my-account": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "My account"
|
"value": "Moje konto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.my-websites": [
|
"label.my-websites": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "My websites"
|
"value": "Moje witryny"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.name": [
|
"label.name": [
|
||||||
|
|
@ -699,7 +693,7 @@
|
||||||
"value": [
|
"value": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "record"
|
"value": "rekord"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -707,7 +701,7 @@
|
||||||
"value": [
|
"value": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "records"
|
"value": "rekordy"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -744,7 +738,7 @@
|
||||||
"label.page-of": [
|
"label.page-of": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Page "
|
"value": "Strona "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -752,7 +746,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": " of "
|
"value": " z "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -768,7 +762,7 @@
|
||||||
"label.pageTitle": [
|
"label.pageTitle": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Page title"
|
"value": "Tytuł strony"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.pages": [
|
"label.pages": [
|
||||||
|
|
@ -898,19 +892,19 @@
|
||||||
"label.retention": [
|
"label.retention": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Retention"
|
"value": "Retencja"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.retention-description": [
|
"label.retention-description": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Measure your website stickiness by tracking how often users return."
|
"value": "Mierz przyciągającą siłę swojej strony internetowej, śledząc, jak często użytkownicy powracają."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.role": [
|
"label.role": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Role"
|
"value": "Rola"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.run-query": [
|
"label.run-query": [
|
||||||
|
|
@ -934,13 +928,13 @@
|
||||||
"label.search": [
|
"label.search": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Search"
|
"value": "Szukaj"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.select": [
|
"label.select": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Select"
|
"value": "Wybierz"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.select-date": [
|
"label.select-date": [
|
||||||
|
|
@ -952,7 +946,7 @@
|
||||||
"label.select-role": [
|
"label.select-role": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Select role"
|
"value": "Wybierz rolę"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.select-website": [
|
"label.select-website": [
|
||||||
|
|
@ -988,7 +982,7 @@
|
||||||
"label.steps": [
|
"label.steps": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Steps"
|
"value": "Kroki"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.sum": [
|
"label.sum": [
|
||||||
|
|
@ -1024,7 +1018,7 @@
|
||||||
"label.team-name": [
|
"label.team-name": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team name"
|
"value": "Nazwa zespołu"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-owner": [
|
"label.team-owner": [
|
||||||
|
|
@ -1036,13 +1030,13 @@
|
||||||
"label.team-view-only": [
|
"label.team-view-only": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team view only"
|
"value": "Tylko do odczytu dla zespołu"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-websites": [
|
"label.team-websites": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team websites"
|
"value": "Witryny zespołu"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.teams": [
|
"label.teams": [
|
||||||
|
|
@ -1168,7 +1162,7 @@
|
||||||
"label.update": [
|
"label.update": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Update"
|
"value": "Aktualizuj"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.url": [
|
"label.url": [
|
||||||
|
|
@ -1210,7 +1204,7 @@
|
||||||
"label.utm-description": [
|
"label.utm-description": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Track your campaigns through UTM parameters."
|
"value": "Śledź swoje kampanie za pomocą parametrów UTM."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.value": [
|
"label.value": [
|
||||||
|
|
@ -1246,7 +1240,13 @@
|
||||||
"label.views-per-visit": [
|
"label.views-per-visit": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Views per visit"
|
"value": "Widoków na wizytę"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Średni czas wizyty"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
|
|
@ -1258,7 +1258,7 @@
|
||||||
"label.visits": [
|
"label.visits": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Visits"
|
"value": "Odwiedząjący"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.website": [
|
"label.website": [
|
||||||
|
|
@ -1294,7 +1294,7 @@
|
||||||
"message.action-confirmation": [
|
"message.action-confirmation": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Type "
|
"value": "Wpisz "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -1302,7 +1302,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": " in the box below to confirm."
|
"value": ", aby potwierdzić."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.active-users": [
|
"message.active-users": [
|
||||||
|
|
@ -1370,7 +1370,7 @@
|
||||||
"message.confirm-remove": [
|
"message.confirm-remove": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Are you sure you want to remove "
|
"value": "Czy na pewno chcesz usunąć "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -1398,7 +1398,7 @@
|
||||||
"message.delete-team-warning": [
|
"message.delete-team-warning": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Deleting a team will also delete all team websites."
|
"value": "Usunięcie zespołu usunie wszystkie jego witryny."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.delete-website-warning": [
|
"message.delete-website-warning": [
|
||||||
|
|
@ -1436,7 +1436,7 @@
|
||||||
"message.incorrect-username-password": [
|
"message.incorrect-username-password": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Nieprawidłowa nazwa użytkownika/hasło."
|
"value": "Nieprawidłowa nazwa użytkownika lub hasło."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.invalid-domain": [
|
"message.invalid-domain": [
|
||||||
|
|
@ -1462,7 +1462,7 @@
|
||||||
"message.new-version-available": [
|
"message.new-version-available": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "A new version of Umami "
|
"value": "Nowa wersja Umami "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -1470,7 +1470,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": " is available!"
|
"value": " jest dostępna!"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.no-data-available": [
|
"message.no-data-available": [
|
||||||
|
|
@ -1594,25 +1594,25 @@
|
||||||
"message.transfer-team-website-to-user": [
|
"message.transfer-team-website-to-user": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Transfer this website to your account?"
|
"value": "Czy przenieść tę witrynę do Twoje konta?"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.transfer-user-website-to-team": [
|
"message.transfer-user-website-to-team": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Select the team to transfer this website to."
|
"value": "Wybierz zespół, do którego chcesz przenieść tę witrynę."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.transfer-website": [
|
"message.transfer-website": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Transfer website ownership to your account or another team."
|
"value": "Przenieś własność witryny na swoje konto lub do innego zespołu."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.triggered-event": [
|
"message.triggered-event": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Triggered event"
|
"value": "Zdarzenie wyzwalające"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.user-deleted": [
|
"message.user-deleted": [
|
||||||
|
|
@ -1624,7 +1624,7 @@
|
||||||
"message.viewed-page": [
|
"message.viewed-page": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Viewed page"
|
"value": "Obejrzana strona"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.visitor-log": [
|
"message.visitor-log": [
|
||||||
|
|
@ -1664,7 +1664,7 @@
|
||||||
"message.visitors-dropped-off": [
|
"message.visitors-dropped-off": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Visitors dropped off"
|
"value": "Odpływ użytkowników"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Tempo médio de visita"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Tempo médio de visita"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Mediu"
|
"value": "Mediu"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Timp mediu de vizitare"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Timp mediu de vizitare"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Среднее время посещения"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Среднее время посещения"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Average visit time"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Visit duration"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Priemerný čas návštevy"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Priemerný čas návštevy"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Povprečno"
|
"value": "Povprečno"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Povprečni čas obiska"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Povprečni čas obiska"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Genomsnitt"
|
"value": "Genomsnitt"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Genomsnittlig besökstid"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Genomsnittlig besökstid"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "சராசரி வருகை நேரம்"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "சராசரி வருகை நேரம்"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "ระยะเวลาเข้าชมเฉลี่ย"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1241,6 +1235,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "ระยะเวลาเข้าชมเฉลี่ย"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Ortalama"
|
"value": "Ortalama"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Ortalama ziyaret süresi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Ziyaret başına görüntüleme"
|
"value": "Ziyaret başına görüntüleme"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Ortalama ziyaret süresi"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"label.access-code": [
|
"label.access-code": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Access code"
|
"value": "Код доступу"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.actions": [
|
"label.actions": [
|
||||||
|
|
@ -14,31 +14,31 @@
|
||||||
"label.activity-log": [
|
"label.activity-log": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Activity log"
|
"value": "Журнал активності"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add": [
|
"label.add": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add"
|
"value": "Додати"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-description": [
|
"label.add-description": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add description"
|
"value": "Додати опис"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-member": [
|
"label.add-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add member"
|
"value": "Додати учасника"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-step": [
|
"label.add-step": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Add step"
|
"value": "Додати крок"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.add-website": [
|
"label.add-website": [
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
"label.after": [
|
"label.after": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "After"
|
"value": "Після"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.all": [
|
"label.all": [
|
||||||
|
|
@ -74,19 +74,13 @@
|
||||||
"label.analytics": [
|
"label.analytics": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Analytics"
|
"value": "Аналітика"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average": [
|
"label.average": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Average"
|
"value": "Середнє"
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Середній час візиту"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.back": [
|
"label.back": [
|
||||||
|
|
@ -98,7 +92,7 @@
|
||||||
"label.before": [
|
"label.before": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Before"
|
"value": "Раніше"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.bounce-rate": [
|
"label.bounce-rate": [
|
||||||
|
|
@ -110,13 +104,13 @@
|
||||||
"label.breakdown": [
|
"label.breakdown": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Breakdown"
|
"value": "Розподіл"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.browser": [
|
"label.browser": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Browser"
|
"value": "Браузер"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.browsers": [
|
"label.browsers": [
|
||||||
|
|
@ -140,25 +134,25 @@
|
||||||
"label.cities": [
|
"label.cities": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Cities"
|
"value": "Міста"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.city": [
|
"label.city": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "City"
|
"value": "Місто"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.clear-all": [
|
"label.clear-all": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Clear all"
|
"value": "Очистити все"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.confirm": [
|
"label.confirm": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Confirm"
|
"value": "Підтвердити"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.confirm-password": [
|
"label.confirm-password": [
|
||||||
|
|
@ -170,13 +164,13 @@
|
||||||
"label.contains": [
|
"label.contains": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Contains"
|
"value": "Містить"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.continue": [
|
"label.continue": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Continue"
|
"value": "Продовжити"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.countries": [
|
"label.countries": [
|
||||||
|
|
@ -188,43 +182,43 @@
|
||||||
"label.country": [
|
"label.country": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Country"
|
"value": "Країна"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create": [
|
"label.create": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create"
|
"value": "Створити"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-report": [
|
"label.create-report": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create report"
|
"value": "Створити звіт"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-team": [
|
"label.create-team": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create team"
|
"value": "Створити команду"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.create-user": [
|
"label.create-user": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Create user"
|
"value": "Створити користувача"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.created": [
|
"label.created": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Created"
|
"value": "Створено"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.created-by": [
|
"label.created-by": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Created By"
|
"value": "Автор"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.current-password": [
|
"label.current-password": [
|
||||||
|
|
@ -248,13 +242,13 @@
|
||||||
"label.data": [
|
"label.data": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Data"
|
"value": "Дані"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.date": [
|
"label.date": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Date"
|
"value": "Дата"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.date-range": [
|
"label.date-range": [
|
||||||
|
|
@ -266,7 +260,7 @@
|
||||||
"label.day": [
|
"label.day": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Day"
|
"value": "День"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.default-date-range": [
|
"label.default-date-range": [
|
||||||
|
|
@ -284,19 +278,19 @@
|
||||||
"label.delete-report": [
|
"label.delete-report": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Delete report"
|
"value": "Видалити звіт"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.delete-team": [
|
"label.delete-team": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Delete team"
|
"value": "Видалити команду"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.delete-user": [
|
"label.delete-user": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Delete user"
|
"value": "Видалити користувача"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.delete-website": [
|
"label.delete-website": [
|
||||||
|
|
@ -308,7 +302,7 @@
|
||||||
"label.description": [
|
"label.description": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Description"
|
"value": "Опис"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.desktop": [
|
"label.desktop": [
|
||||||
|
|
@ -320,13 +314,13 @@
|
||||||
"label.details": [
|
"label.details": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Details"
|
"value": "Деталі"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.device": [
|
"label.device": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Device"
|
"value": "Пристрій"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.devices": [
|
"label.devices": [
|
||||||
|
|
@ -344,7 +338,7 @@
|
||||||
"label.does-not-contain": [
|
"label.does-not-contain": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Does not contain"
|
"value": "Не містить"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.domain": [
|
"label.domain": [
|
||||||
|
|
@ -368,13 +362,13 @@
|
||||||
"label.edit-dashboard": [
|
"label.edit-dashboard": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Edit dashboard"
|
"value": "Редагувати панель"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.edit-member": [
|
"label.edit-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Edit member"
|
"value": "Редагувати учасника"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.enable-share-url": [
|
"label.enable-share-url": [
|
||||||
|
|
@ -386,13 +380,13 @@
|
||||||
"label.event": [
|
"label.event": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Event"
|
"value": "Подія"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.event-data": [
|
"label.event-data": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Event data"
|
"value": "Дані події"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.events": [
|
"label.events": [
|
||||||
|
|
@ -410,19 +404,19 @@
|
||||||
"label.field": [
|
"label.field": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Field"
|
"value": "Поле"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.fields": [
|
"label.fields": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Fields"
|
"value": "Поля"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.filter": [
|
"label.filter": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Filter"
|
"value": "Фільтр"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.filter-combined": [
|
"label.filter-combined": [
|
||||||
|
|
@ -440,7 +434,7 @@
|
||||||
"label.filters": [
|
"label.filters": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Filters"
|
"value": "Фільтри"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.funnel": [
|
"label.funnel": [
|
||||||
|
|
@ -458,13 +452,13 @@
|
||||||
"label.greater-than": [
|
"label.greater-than": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Greater than"
|
"value": "Більше ніж"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.greater-than-equals": [
|
"label.greater-than-equals": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Greater than or equals"
|
"value": "Більше або рівно"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.insights": [
|
"label.insights": [
|
||||||
|
|
@ -482,43 +476,43 @@
|
||||||
"label.is": [
|
"label.is": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Is"
|
"value": "Є"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.is-not": [
|
"label.is-not": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Is not"
|
"value": "Не є"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.is-not-set": [
|
"label.is-not-set": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Is not set"
|
"value": "Не встановлено"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.is-set": [
|
"label.is-set": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Is set"
|
"value": "Встановлено"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.join": [
|
"label.join": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Join"
|
"value": "Приєднатись"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.join-team": [
|
"label.join-team": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Join team"
|
"value": "Приєднатись до команди"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.language": [
|
"label.language": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Language"
|
"value": "Мова"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.languages": [
|
"label.languages": [
|
||||||
|
|
@ -564,7 +558,7 @@
|
||||||
"label.last-months": [
|
"label.last-months": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Last "
|
"value": "Останні "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -572,31 +566,31 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": " months"
|
"value": " місяців"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.leave": [
|
"label.leave": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Leave"
|
"value": "Покинути"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.leave-team": [
|
"label.leave-team": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Leave team"
|
"value": "Покинути"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.less-than": [
|
"label.less-than": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Less than"
|
"value": "Менше ніж"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.less-than-equals": [
|
"label.less-than-equals": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Less than or equals"
|
"value": "Менше або рівно"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.login": [
|
"label.login": [
|
||||||
|
|
@ -614,7 +608,7 @@
|
||||||
"label.manage": [
|
"label.manage": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Manage"
|
"value": "Керувати"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.max": [
|
"label.max": [
|
||||||
|
|
@ -626,13 +620,13 @@
|
||||||
"label.member": [
|
"label.member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Member"
|
"value": "Учасник"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.members": [
|
"label.members": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Members"
|
"value": "Учасники"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.min": [
|
"label.min": [
|
||||||
|
|
@ -656,13 +650,13 @@
|
||||||
"label.my-account": [
|
"label.my-account": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "My account"
|
"value": "Мої аккаунти"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.my-websites": [
|
"label.my-websites": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "My websites"
|
"value": "Мої вебсайти"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.name": [
|
"label.name": [
|
||||||
|
|
@ -732,7 +726,7 @@
|
||||||
"label.overview": [
|
"label.overview": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Overview"
|
"value": "Огляд"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.owner": [
|
"label.owner": [
|
||||||
|
|
@ -744,7 +738,7 @@
|
||||||
"label.page-of": [
|
"label.page-of": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Page "
|
"value": "Сторінка "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -752,7 +746,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": " of "
|
"value": " з "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -768,7 +762,7 @@
|
||||||
"label.pageTitle": [
|
"label.pageTitle": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Page title"
|
"value": "Загловок сторінки"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.pages": [
|
"label.pages": [
|
||||||
|
|
@ -850,31 +844,31 @@
|
||||||
"label.region": [
|
"label.region": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Region"
|
"value": "Регіон"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.regions": [
|
"label.regions": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Regions"
|
"value": "Регіони"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.remove": [
|
"label.remove": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Remove"
|
"value": "Видалити"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.remove-member": [
|
"label.remove-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Remove member"
|
"value": "Видалити учасника"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.reports": [
|
"label.reports": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Reports"
|
"value": "Звіти"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.required": [
|
"label.required": [
|
||||||
|
|
@ -910,7 +904,7 @@
|
||||||
"label.role": [
|
"label.role": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Role"
|
"value": "Роль"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.run-query": [
|
"label.run-query": [
|
||||||
|
|
@ -928,19 +922,19 @@
|
||||||
"label.screens": [
|
"label.screens": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Screens"
|
"value": "Екрани"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.search": [
|
"label.search": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Search"
|
"value": "Пошук"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.select": [
|
"label.select": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Select"
|
"value": "Вибір"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.select-date": [
|
"label.select-date": [
|
||||||
|
|
@ -964,7 +958,7 @@
|
||||||
"label.sessions": [
|
"label.sessions": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Sessions"
|
"value": "Сесії"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.settings": [
|
"label.settings": [
|
||||||
|
|
@ -988,13 +982,13 @@
|
||||||
"label.steps": [
|
"label.steps": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Steps"
|
"value": "Кроки"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.sum": [
|
"label.sum": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Sum"
|
"value": "Сума"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.tablet": [
|
"label.tablet": [
|
||||||
|
|
@ -1006,55 +1000,55 @@
|
||||||
"label.team": [
|
"label.team": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team"
|
"value": "Команда"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-id": [
|
"label.team-id": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team ID"
|
"value": "ID команди"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-member": [
|
"label.team-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team member"
|
"value": "Учасник команди"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-name": [
|
"label.team-name": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team name"
|
"value": "Назва команди"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-owner": [
|
"label.team-owner": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team owner"
|
"value": "Власник команди"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-view-only": [
|
"label.team-view-only": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team view only"
|
"value": "Лише для перегляду командою"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.team-websites": [
|
"label.team-websites": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team websites"
|
"value": "Вебсайти команди"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.teams": [
|
"label.teams": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Teams"
|
"value": "Команди"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.theme": [
|
"label.theme": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Theme"
|
"value": "Теми"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.this-month": [
|
"label.this-month": [
|
||||||
|
|
@ -1084,7 +1078,7 @@
|
||||||
"label.title": [
|
"label.title": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Title"
|
"value": "Загловок"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.today": [
|
"label.today": [
|
||||||
|
|
@ -1138,13 +1132,13 @@
|
||||||
"label.type": [
|
"label.type": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Type"
|
"value": "Типу"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.unique": [
|
"label.unique": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Unique"
|
"value": "Унікальний"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.unique-visitors": [
|
"label.unique-visitors": [
|
||||||
|
|
@ -1162,13 +1156,13 @@
|
||||||
"label.untitled": [
|
"label.untitled": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Untitled"
|
"value": "Без заголовку"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.update": [
|
"label.update": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Update"
|
"value": "Оновити"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.url": [
|
"label.url": [
|
||||||
|
|
@ -1186,7 +1180,7 @@
|
||||||
"label.user": [
|
"label.user": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "User"
|
"value": "Користувач"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.username": [
|
"label.username": [
|
||||||
|
|
@ -1198,7 +1192,7 @@
|
||||||
"label.users": [
|
"label.users": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Users"
|
"value": "Користувачі"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.utm": [
|
"label.utm": [
|
||||||
|
|
@ -1216,13 +1210,13 @@
|
||||||
"label.value": [
|
"label.value": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Value"
|
"value": "Значення"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.view": [
|
"label.view": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "View"
|
"value": "Перегляд"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.view-details": [
|
"label.view-details": [
|
||||||
|
|
@ -1234,7 +1228,7 @@
|
||||||
"label.view-only": [
|
"label.view-only": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "View only"
|
"value": "Лише для перегляду"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.views": [
|
"label.views": [
|
||||||
|
|
@ -1246,7 +1240,13 @@
|
||||||
"label.views-per-visit": [
|
"label.views-per-visit": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Views per visit"
|
"value": "Перегляди за візит"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Середній час візиту"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
|
|
@ -1258,19 +1258,19 @@
|
||||||
"label.visits": [
|
"label.visits": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Visits"
|
"value": "Відвідування"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.website": [
|
"label.website": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Website"
|
"value": "Вебсайт"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.website-id": [
|
"label.website-id": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Website ID"
|
"value": "Вебсайт ID"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.websites": [
|
"label.websites": [
|
||||||
|
|
@ -1282,19 +1282,19 @@
|
||||||
"label.window": [
|
"label.window": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Window"
|
"value": "Вікно"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.yesterday": [
|
"label.yesterday": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Yesterday"
|
"value": "Вчора"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.action-confirmation": [
|
"message.action-confirmation": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Type "
|
"value": "Введі "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -1302,7 +1302,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": " in the box below to confirm."
|
"value": " у поле нижче для підтвердження."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.active-users": [
|
"message.active-users": [
|
||||||
|
|
@ -1332,7 +1332,7 @@
|
||||||
"message.confirm-leave": [
|
"message.confirm-leave": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Are you sure you want to leave "
|
"value": "Ви впевнені, що хочете покинути "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -1346,7 +1346,7 @@
|
||||||
"message.confirm-remove": [
|
"message.confirm-remove": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Are you sure you want to remove "
|
"value": "Ви впевнеі, що хочете видалити "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|
@ -1374,7 +1374,7 @@
|
||||||
"message.delete-team-warning": [
|
"message.delete-team-warning": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Deleting a team will also delete all team websites."
|
"value": "Видалення команди також видалить усі вебсайти команди."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.delete-website-warning": [
|
"message.delete-website-warning": [
|
||||||
|
|
@ -1470,25 +1470,25 @@
|
||||||
"message.no-results-found": [
|
"message.no-results-found": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "No results were found."
|
"value": "Результатів не знайдено."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.no-team-websites": [
|
"message.no-team-websites": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "This team does not have any websites."
|
"value": "Ця команди не має жодних вебсайтів."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.no-teams": [
|
"message.no-teams": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "You have not created any teams."
|
"value": "Ви не створили жодної команди."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.no-users": [
|
"message.no-users": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "There are no users."
|
"value": "Користувачів не має."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.no-websites-configured": [
|
"message.no-websites-configured": [
|
||||||
|
|
@ -1546,19 +1546,19 @@
|
||||||
"message.team-already-member": [
|
"message.team-already-member": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "You are already a member of the team."
|
"value": "Ви уже є учасником цієї команди."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.team-not-found": [
|
"message.team-not-found": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Team not found."
|
"value": "Команду не знайдено."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.team-websites-info": [
|
"message.team-websites-info": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Websites can be viewed by anyone on the team."
|
"value": "Вебсайти може переглядати кожен учаник команди."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.tracking-code": [
|
"message.tracking-code": [
|
||||||
|
|
@ -1594,13 +1594,13 @@
|
||||||
"message.user-deleted": [
|
"message.user-deleted": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "User deleted."
|
"value": "Користувача видалено."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.viewed-page": [
|
"message.viewed-page": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"value": "Viewed page"
|
"value": "Переглянута сторінка"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"message.visitor-log": [
|
"message.visitor-log": [
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "وزٹ کا اوسط وقت"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1249,6 +1243,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "وزٹ کا اوسط وقت"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "Average"
|
"value": "Average"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Thời gian truy cập trung bình"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1241,6 +1235,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Thời gian truy cập trung bình"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "平均"
|
"value": "平均"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "平均访问时间"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1257,6 +1251,12 @@
|
||||||
"value": "每次访问的浏览量"
|
"value": "每次访问的浏览量"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "平均访问时间"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -83,12 +83,6 @@
|
||||||
"value": "平均"
|
"value": "平均"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"label.average-visit-time": [
|
|
||||||
{
|
|
||||||
"type": 0,
|
|
||||||
"value": "平均造訪時間"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"label.back": [
|
"label.back": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
@ -1253,6 +1247,12 @@
|
||||||
"value": "Views per visit"
|
"value": "Views per visit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"label.visit-duration": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"value": "平均造訪時間"
|
||||||
|
}
|
||||||
|
],
|
||||||
"label.visitors": [
|
"label.visitors": [
|
||||||
{
|
{
|
||||||
"type": 0,
|
"type": 0,
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ export function App({ children }) {
|
||||||
{children}
|
{children}
|
||||||
<UpdateNotice user={user} config={config} />
|
<UpdateNotice user={user} config={config} />
|
||||||
{process.env.NODE_ENV === 'production' && !pathname.includes('/share/') && (
|
{process.env.NODE_ENV === 'production' && !pathname.includes('/share/') && (
|
||||||
<Script src={`${process.env.basePath}/telemetry.js`} />
|
<Script src={`${process.env.basePath || ''}/telemetry.js`} />
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ export function TestConsole({ websiteId }: { websiteId: string }) {
|
||||||
<Script
|
<Script
|
||||||
async
|
async
|
||||||
data-website-id={websiteId}
|
data-website-id={websiteId}
|
||||||
src={`${process.env.basePath}/script.js`}
|
src={`${process.env.basePath || ''}/script.js`}
|
||||||
data-cache="true"
|
data-cache="true"
|
||||||
/>
|
/>
|
||||||
<div className={styles.actions}>
|
<div className={styles.actions}>
|
||||||
|
|
|
||||||
|
|
@ -19,15 +19,3 @@
|
||||||
height: calc(100vh - 60px);
|
height: calc(100vh - 60px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
max-width: 1320px;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0 20px;
|
|
||||||
min-height: calc(100vh - 60px);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@ import Page from 'components/layout/Page';
|
||||||
import styles from './layout.module.css';
|
import styles from './layout.module.css';
|
||||||
|
|
||||||
export default function ({ children }) {
|
export default function ({ children }) {
|
||||||
|
if (process.env.DISABLE_UI) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<App>
|
<App>
|
||||||
<main className={styles.layout}>
|
<main className={styles.layout}>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@ import styles from './DateRangeSetting.module.css';
|
||||||
|
|
||||||
export function DateRangeSetting() {
|
export function DateRangeSetting() {
|
||||||
const { formatMessage, labels } = useMessages();
|
const { formatMessage, labels } = useMessages();
|
||||||
const [dateRange, setDateRange] = useDateRange();
|
const { dateRange, saveDateRange } = useDateRange();
|
||||||
const { value } = dateRange;
|
const { value } = dateRange;
|
||||||
|
|
||||||
const handleChange = (value: string | DateRange) => setDateRange(value);
|
const handleChange = (value: string | DateRange) => saveDateRange(value);
|
||||||
const handleReset = () => setDateRange(DEFAULT_DATE_RANGE);
|
const handleReset = () => saveDateRange(DEFAULT_DATE_RANGE);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Flexbox gap={10} width={300}>
|
<Flexbox gap={10} width={300}>
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,23 @@
|
||||||
import { useReports } from 'components/hooks';
|
import { useReports } from 'components/hooks';
|
||||||
import ReportsTable from './ReportsTable';
|
import ReportsTable from './ReportsTable';
|
||||||
import DataTable from 'components/common/DataTable';
|
import DataTable from 'components/common/DataTable';
|
||||||
|
import { ReactNode } from 'react';
|
||||||
|
|
||||||
export default function ReportsDataTable({
|
export default function ReportsDataTable({
|
||||||
websiteId,
|
websiteId,
|
||||||
teamId,
|
teamId,
|
||||||
|
children,
|
||||||
}: {
|
}: {
|
||||||
websiteId?: string;
|
websiteId?: string;
|
||||||
teamId?: string;
|
teamId?: string;
|
||||||
|
children?: ReactNode;
|
||||||
}) {
|
}) {
|
||||||
const queryResult = useReports({ websiteId, teamId });
|
const queryResult = useReports({ websiteId, teamId });
|
||||||
|
|
||||||
|
if (queryResult?.result?.data?.length === 0) {
|
||||||
|
return children;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DataTable queryResult={queryResult}>
|
<DataTable queryResult={queryResult}>
|
||||||
{({ data }) => <ReportsTable data={data} showDomain={!websiteId} />}
|
{({ data }) => <ReportsTable data={data} showDomain={!websiteId} />}
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@
|
||||||
import { Metadata } from 'next';
|
import { Metadata } from 'next';
|
||||||
import ReportsHeader from './ReportsHeader';
|
import ReportsHeader from './ReportsHeader';
|
||||||
import ReportsDataTable from './ReportsDataTable';
|
import ReportsDataTable from './ReportsDataTable';
|
||||||
|
import { useTeamUrl } from 'components/hooks';
|
||||||
|
|
||||||
|
export default function ReportsPage() {
|
||||||
|
const { teamId } = useTeamUrl();
|
||||||
|
|
||||||
export default function ReportsPage({ teamId }: { teamId: string }) {
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ReportsHeader />
|
<ReportsHeader />
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
.dropdown div {
|
||||||
|
max-height: 300px;
|
||||||
|
}
|
||||||
|
|
@ -5,6 +5,7 @@ import DateFilter from 'components/input/DateFilter';
|
||||||
import WebsiteSelect from 'components/input/WebsiteSelect';
|
import WebsiteSelect from 'components/input/WebsiteSelect';
|
||||||
import { useMessages, useTeamUrl, useWebsite } from 'components/hooks';
|
import { useMessages, useTeamUrl, useWebsite } from 'components/hooks';
|
||||||
import { ReportContext } from './Report';
|
import { ReportContext } from './Report';
|
||||||
|
import styles from './BaseParameters.module.css';
|
||||||
|
|
||||||
export interface BaseParametersProps {
|
export interface BaseParametersProps {
|
||||||
showWebsiteSelect?: boolean;
|
showWebsiteSelect?: boolean;
|
||||||
|
|
@ -48,7 +49,7 @@ export function BaseParameters({
|
||||||
</FormRow>
|
</FormRow>
|
||||||
)}
|
)}
|
||||||
{showDateSelect && (
|
{showDateSelect && (
|
||||||
<FormRow label={formatMessage(labels.dateRange)}>
|
<FormRow label={formatMessage(labels.dateRange)} className={styles.dropdown}>
|
||||||
{allowDateSelect && (
|
{allowDateSelect && (
|
||||||
<DateFilter
|
<DateFilter
|
||||||
value={value}
|
value={value}
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,24 @@
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
gap: 12px;
|
||||||
align-items: center;
|
width: 100%;
|
||||||
justify-content: space-between;
|
flex-wrap: nowrap;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
border: 1px solid var(--base400);
|
border: 1px solid var(--base400);
|
||||||
border-radius: var(--border-radius);
|
border-radius: var(--border-radius);
|
||||||
box-shadow: 1px 1px 1px var(--base400);
|
box-shadow: 1px 1px 1px var(--base400);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.value {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon,
|
||||||
|
.close {
|
||||||
|
height: 1.5rem;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,18 +24,21 @@ export function ParameterList({ children }: ParameterListProps) {
|
||||||
const Item = ({
|
const Item = ({
|
||||||
children,
|
children,
|
||||||
className,
|
className,
|
||||||
|
icon,
|
||||||
onClick,
|
onClick,
|
||||||
onRemove,
|
onRemove,
|
||||||
}: {
|
}: {
|
||||||
children?: ReactNode;
|
children?: ReactNode;
|
||||||
className?: string;
|
className?: string;
|
||||||
|
icon?: ReactNode;
|
||||||
onClick?: () => void;
|
onClick?: () => void;
|
||||||
onRemove?: () => void;
|
onRemove?: () => void;
|
||||||
}) => {
|
}) => {
|
||||||
return (
|
return (
|
||||||
<div className={classNames(styles.item, className)} onClick={onClick}>
|
<div className={classNames(styles.item, className)} onClick={onClick}>
|
||||||
{children}
|
{icon && <Icon className={styles.icon}>{icon}</Icon>}
|
||||||
<Icon onClick={onRemove}>
|
<div className={styles.value}>{children}</div>
|
||||||
|
<Icon className={styles.close} onClick={onRemove}>
|
||||||
<Icons.Close />
|
<Icons.Close />
|
||||||
</Icon>
|
</Icon>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -3,4 +3,5 @@
|
||||||
grid-template-rows: max-content 1fr;
|
grid-template-rows: max-content 1fr;
|
||||||
grid-template-columns: max-content 1fr;
|
grid-template-columns: max-content 1fr;
|
||||||
margin-bottom: 60px;
|
margin-bottom: 60px;
|
||||||
|
height: 90vh;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
.body {
|
.body {
|
||||||
padding-inline-start: 20px;
|
padding-inline-start: 20px;
|
||||||
grid-row: 2/3;
|
grid-row: 2 / 3;
|
||||||
grid-column: 2 / 3;
|
grid-column: 2 / 3;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import styles from './ReportBody.module.css';
|
|
||||||
import { useContext } from 'react';
|
import { useContext } from 'react';
|
||||||
import { ReportContext } from './Report';
|
import { ReportContext } from './Report';
|
||||||
|
import styles from './ReportBody.module.css';
|
||||||
|
|
||||||
export function ReportBody({ children }) {
|
export function ReportBody({ children }) {
|
||||||
const { report } = useContext(ReportContext);
|
const { report } = useContext(ReportContext);
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ export function ReportHeader({ icon }) {
|
||||||
<div className={styles.type}>
|
<div className={styles.type}>
|
||||||
<Breadcrumb
|
<Breadcrumb
|
||||||
data={[
|
data={[
|
||||||
{ label: formatMessage(labels.reports), url: '/reports' },
|
{ label: formatMessage(labels.reports), url: renderTeamUrl('/reports') },
|
||||||
{
|
{
|
||||||
label: formatMessage(
|
label: formatMessage(
|
||||||
labels[Object.keys(REPORT_TYPES).find(key => REPORT_TYPES[key] === report?.type)],
|
labels[Object.keys(REPORT_TYPES).find(key => REPORT_TYPES[key] === report?.type)],
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,38 @@
|
||||||
.menu {
|
.menu {
|
||||||
|
position: relative;
|
||||||
width: 300px;
|
width: 300px;
|
||||||
|
padding-top: 20px;
|
||||||
padding-inline-end: 20px;
|
padding-inline-end: 20px;
|
||||||
border-inline-end: 1px solid var(--base300);
|
border-inline-end: 1px solid var(--base300);
|
||||||
grid-row: 2 / 3;
|
grid-row: 2 / 3;
|
||||||
grid-column: 1 / 2;
|
grid-column: 1 / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
display: flex;
|
||||||
|
place-content: center;
|
||||||
|
border: 1px solid var(--base400);
|
||||||
|
border-right: 0;
|
||||||
|
width: 30px;
|
||||||
|
padding: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 4px 0 0 4px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button:hover {
|
||||||
|
background: var(--base75);
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu.collapsed {
|
||||||
|
width: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu.collapsed .button {
|
||||||
|
right: 0;
|
||||||
|
border-radius: 4px 0 0 4px;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,27 @@
|
||||||
import styles from './ReportMenu.module.css';
|
import { useContext, useState } from 'react';
|
||||||
import { useContext } from 'react';
|
|
||||||
import { ReportContext } from './Report';
|
import { ReportContext } from './Report';
|
||||||
|
import styles from './ReportMenu.module.css';
|
||||||
|
import { Icon, Icons } from 'react-basics';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
|
||||||
export function ReportMenu({ children }) {
|
export function ReportMenu({ children }) {
|
||||||
|
const [collapsed, setCollapsed] = useState(false);
|
||||||
const { report } = useContext(ReportContext);
|
const { report } = useContext(ReportContext);
|
||||||
|
|
||||||
if (!report) {
|
if (!report) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return <div className={styles.menu}>{children}</div>;
|
return (
|
||||||
|
<div className={classNames(styles.menu, collapsed && styles.collapsed)}>
|
||||||
|
<div className={styles.button} onClick={() => setCollapsed(!collapsed)}>
|
||||||
|
<Icon rotate={collapsed ? -90 : 90}>
|
||||||
|
<Icons.ChevronDown />
|
||||||
|
</Icon>
|
||||||
|
</div>
|
||||||
|
{!collapsed && children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ReportMenu;
|
export default ReportMenu;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
'use client';
|
'use client';
|
||||||
import FunnelReport from '../funnel/FunnelReport';
|
import { useReport } from 'components/hooks';
|
||||||
import EventDataReport from '../event-data/EventDataReport';
|
import EventDataReport from '../event-data/EventDataReport';
|
||||||
|
import FunnelReport from '../funnel/FunnelReport';
|
||||||
|
import GoalReport from '../goals/GoalsReport';
|
||||||
import InsightsReport from '../insights/InsightsReport';
|
import InsightsReport from '../insights/InsightsReport';
|
||||||
|
import JourneyReport from '../journey/JourneyReport';
|
||||||
import RetentionReport from '../retention/RetentionReport';
|
import RetentionReport from '../retention/RetentionReport';
|
||||||
import UTMReport from '../utm/UTMReport';
|
import UTMReport from '../utm/UTMReport';
|
||||||
import { useReport } from 'components/hooks';
|
|
||||||
|
|
||||||
const reports = {
|
const reports = {
|
||||||
funnel: FunnelReport,
|
funnel: FunnelReport,
|
||||||
|
|
@ -12,6 +14,8 @@ const reports = {
|
||||||
insights: InsightsReport,
|
insights: InsightsReport,
|
||||||
retention: RetentionReport,
|
retention: RetentionReport,
|
||||||
utm: UTMReport,
|
utm: UTMReport,
|
||||||
|
goals: GoalReport,
|
||||||
|
journey: JourneyReport,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function ReportPage({ reportId }: { reportId: string }) {
|
export default function ReportPage({ reportId }: { reportId: string }) {
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
import Link from 'next/link';
|
|
||||||
import { Button, Icons, Text, Icon } from 'react-basics';
|
|
||||||
import PageHeader from 'components/layout/PageHeader';
|
|
||||||
import Funnel from 'assets/funnel.svg';
|
import Funnel from 'assets/funnel.svg';
|
||||||
import Lightbulb from 'assets/lightbulb.svg';
|
import Lightbulb from 'assets/lightbulb.svg';
|
||||||
import Magnet from 'assets/magnet.svg';
|
import Magnet from 'assets/magnet.svg';
|
||||||
|
import Path from 'assets/path.svg';
|
||||||
import Tag from 'assets/tag.svg';
|
import Tag from 'assets/tag.svg';
|
||||||
import styles from './ReportTemplates.module.css';
|
import Target from 'assets/target.svg';
|
||||||
import { useMessages, useTeamUrl } from 'components/hooks';
|
import { useMessages, useTeamUrl } from 'components/hooks';
|
||||||
|
import PageHeader from 'components/layout/PageHeader';
|
||||||
|
import Link from 'next/link';
|
||||||
|
import { Button, Icon, Icons, Text } from 'react-basics';
|
||||||
|
import styles from './ReportTemplates.module.css';
|
||||||
|
|
||||||
export function ReportTemplates({ showHeader = true }: { showHeader?: boolean }) {
|
export function ReportTemplates({ showHeader = true }: { showHeader?: boolean }) {
|
||||||
const { formatMessage, labels } = useMessages();
|
const { formatMessage, labels } = useMessages();
|
||||||
|
|
@ -37,6 +39,18 @@ export function ReportTemplates({ showHeader = true }: { showHeader?: boolean })
|
||||||
url: renderTeamUrl('/reports/utm'),
|
url: renderTeamUrl('/reports/utm'),
|
||||||
icon: <Tag />,
|
icon: <Tag />,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: formatMessage(labels.goals),
|
||||||
|
description: formatMessage(labels.goalsDescription),
|
||||||
|
url: renderTeamUrl('/reports/goals'),
|
||||||
|
icon: <Target />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: formatMessage(labels.journey),
|
||||||
|
description: formatMessage(labels.journeyDescription),
|
||||||
|
url: renderTeamUrl('/reports/journey'),
|
||||||
|
icon: <Path />,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,6 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.type {
|
|
||||||
color: var(--base700);
|
|
||||||
}
|
|
||||||
|
|
||||||
.value {
|
.value {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
|
|
|
||||||
|
|
@ -93,12 +93,10 @@ export function FunnelParameters() {
|
||||||
<PopupTrigger key={index}>
|
<PopupTrigger key={index}>
|
||||||
<ParameterList.Item
|
<ParameterList.Item
|
||||||
className={styles.item}
|
className={styles.item}
|
||||||
|
icon={step.type === 'url' ? <Icons.Eye /> : <Icons.Bolt />}
|
||||||
onRemove={() => handleRemoveStep(index)}
|
onRemove={() => handleRemoveStep(index)}
|
||||||
>
|
>
|
||||||
<div className={styles.value}>
|
<div className={styles.value}>
|
||||||
<div className={styles.type}>
|
|
||||||
<Icon>{step.type === 'url' ? <Icons.Eye /> : <Icons.Bolt />}</Icon>
|
|
||||||
</div>
|
|
||||||
<div>{step.value}</div>
|
<div>{step.value}</div>
|
||||||
</div>
|
</div>
|
||||||
</ParameterList.Item>
|
</ParameterList.Item>
|
||||||
|
|
|
||||||
7
src/app/(main)/reports/goals/GoalsAddForm.module.css
Normal file
7
src/app/(main)/reports/goals/GoalsAddForm.module.css
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
.dropdown {
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
143
src/app/(main)/reports/goals/GoalsAddForm.tsx
Normal file
143
src/app/(main)/reports/goals/GoalsAddForm.tsx
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
import { useMessages } from 'components/hooks';
|
||||||
|
import { useState } from 'react';
|
||||||
|
import { Button, Dropdown, Flexbox, FormRow, Item, TextField } from 'react-basics';
|
||||||
|
import styles from './GoalsAddForm.module.css';
|
||||||
|
|
||||||
|
export function GoalsAddForm({
|
||||||
|
type: defaultType = 'url',
|
||||||
|
value: defaultValue = '',
|
||||||
|
property: defaultProperty = '',
|
||||||
|
operator: defaultAggregae = null,
|
||||||
|
goal: defaultGoal = 10,
|
||||||
|
onChange,
|
||||||
|
}: {
|
||||||
|
type?: string;
|
||||||
|
value?: string;
|
||||||
|
operator?: string;
|
||||||
|
property?: string;
|
||||||
|
goal?: number;
|
||||||
|
onChange?: (step: {
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
goal: number;
|
||||||
|
operator?: string;
|
||||||
|
property?: string;
|
||||||
|
}) => void;
|
||||||
|
}) {
|
||||||
|
const [type, setType] = useState(defaultType);
|
||||||
|
const [value, setValue] = useState(defaultValue);
|
||||||
|
const [operator, setOperator] = useState(defaultAggregae);
|
||||||
|
const [property, setProperty] = useState(defaultProperty);
|
||||||
|
const [goal, setGoal] = useState(defaultGoal);
|
||||||
|
const { formatMessage, labels } = useMessages();
|
||||||
|
const items = [
|
||||||
|
{ label: formatMessage(labels.url), value: 'url' },
|
||||||
|
{ label: formatMessage(labels.event), value: 'event' },
|
||||||
|
{ label: formatMessage(labels.eventData), value: 'event-data' },
|
||||||
|
];
|
||||||
|
const operators = [
|
||||||
|
{ label: formatMessage(labels.count), value: 'count' },
|
||||||
|
{ label: formatMessage(labels.average), value: 'average' },
|
||||||
|
{ label: formatMessage(labels.sum), value: 'sum' },
|
||||||
|
];
|
||||||
|
const isDisabled = !type || !value;
|
||||||
|
|
||||||
|
const handleSave = () => {
|
||||||
|
onChange(
|
||||||
|
type === 'event-data' ? { type, value, goal, operator, property } : { type, value, goal },
|
||||||
|
);
|
||||||
|
setValue('');
|
||||||
|
setProperty('');
|
||||||
|
setGoal(10);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleChange = (e, set) => {
|
||||||
|
set(e.target.value);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleKeyDown = e => {
|
||||||
|
if (e.key === 'Enter') {
|
||||||
|
e.stopPropagation();
|
||||||
|
handleSave();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const renderTypeValue = (value: any) => {
|
||||||
|
return items.find(item => item.value === value)?.label;
|
||||||
|
};
|
||||||
|
|
||||||
|
const renderoperatorValue = (value: any) => {
|
||||||
|
return operators.find(item => item.value === value)?.label;
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Flexbox direction="column" gap={10}>
|
||||||
|
<FormRow label={formatMessage(defaultValue ? labels.update : labels.add)}>
|
||||||
|
<Flexbox gap={10}>
|
||||||
|
<Dropdown
|
||||||
|
className={styles.dropdown}
|
||||||
|
items={items}
|
||||||
|
value={type}
|
||||||
|
renderValue={renderTypeValue}
|
||||||
|
onChange={(value: any) => setType(value)}
|
||||||
|
>
|
||||||
|
{({ value, label }) => {
|
||||||
|
return <Item key={value}>{label}</Item>;
|
||||||
|
}}
|
||||||
|
</Dropdown>
|
||||||
|
<TextField
|
||||||
|
className={styles.input}
|
||||||
|
value={value}
|
||||||
|
onChange={e => handleChange(e, setValue)}
|
||||||
|
autoFocus={true}
|
||||||
|
autoComplete="off"
|
||||||
|
onKeyDown={handleKeyDown}
|
||||||
|
/>
|
||||||
|
</Flexbox>
|
||||||
|
</FormRow>
|
||||||
|
{type === 'event-data' && (
|
||||||
|
<FormRow label={formatMessage(labels.property)}>
|
||||||
|
<Flexbox gap={10}>
|
||||||
|
<Dropdown
|
||||||
|
className={styles.dropdown}
|
||||||
|
items={operators}
|
||||||
|
value={operator}
|
||||||
|
renderValue={renderoperatorValue}
|
||||||
|
onChange={(value: any) => setOperator(value)}
|
||||||
|
>
|
||||||
|
{({ value, label }) => {
|
||||||
|
return <Item key={value}>{label}</Item>;
|
||||||
|
}}
|
||||||
|
</Dropdown>
|
||||||
|
<TextField
|
||||||
|
className={styles.input}
|
||||||
|
value={property}
|
||||||
|
onChange={e => handleChange(e, setProperty)}
|
||||||
|
autoFocus={true}
|
||||||
|
autoComplete="off"
|
||||||
|
onKeyDown={handleKeyDown}
|
||||||
|
/>
|
||||||
|
</Flexbox>
|
||||||
|
</FormRow>
|
||||||
|
)}
|
||||||
|
<FormRow label={formatMessage(labels.goal)}>
|
||||||
|
<Flexbox gap={10}>
|
||||||
|
<TextField
|
||||||
|
className={styles.input}
|
||||||
|
value={goal?.toString()}
|
||||||
|
onChange={e => handleChange(e, setGoal)}
|
||||||
|
autoComplete="off"
|
||||||
|
onKeyDown={handleKeyDown}
|
||||||
|
/>
|
||||||
|
</Flexbox>
|
||||||
|
</FormRow>
|
||||||
|
<FormRow>
|
||||||
|
<Button variant="primary" onClick={handleSave} disabled={isDisabled}>
|
||||||
|
{formatMessage(defaultValue ? labels.update : labels.add)}
|
||||||
|
</Button>
|
||||||
|
</FormRow>
|
||||||
|
</Flexbox>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default GoalsAddForm;
|
||||||
95
src/app/(main)/reports/goals/GoalsChart.module.css
Normal file
95
src/app/(main)/reports/goals/GoalsChart.module.css
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
.chart {
|
||||||
|
display: grid;
|
||||||
|
gap: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goal {
|
||||||
|
padding-bottom: 40px;
|
||||||
|
border-bottom: 1px solid var(--base400);
|
||||||
|
}
|
||||||
|
|
||||||
|
.goal:last-child {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
display: grid;
|
||||||
|
gap: 20px;
|
||||||
|
margin-top: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
color: var(--base600);
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item {
|
||||||
|
font-size: 20px;
|
||||||
|
color: var(--base900);
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metric {
|
||||||
|
color: var(--base700);
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 10px;
|
||||||
|
margin: 10px 0;
|
||||||
|
text-transform: lowercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.value {
|
||||||
|
color: var(--base900);
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 900;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.percent {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 700;
|
||||||
|
align-self: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.total {
|
||||||
|
color: var(--base700);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
background: var(--base900);
|
||||||
|
height: 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar.level1 {
|
||||||
|
background: var(--red800);
|
||||||
|
}
|
||||||
|
.bar.level2 {
|
||||||
|
background: var(--orange200);
|
||||||
|
}
|
||||||
|
.bar.level3 {
|
||||||
|
background: var(--orange400);
|
||||||
|
}
|
||||||
|
.bar.level4 {
|
||||||
|
background: var(--orange600);
|
||||||
|
}
|
||||||
|
.bar.level5 {
|
||||||
|
background: var(--green600);
|
||||||
|
}
|
||||||
|
|
||||||
|
.track {
|
||||||
|
background-color: var(--base100);
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
74
src/app/(main)/reports/goals/GoalsChart.tsx
Normal file
74
src/app/(main)/reports/goals/GoalsChart.tsx
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
import { useContext } from 'react';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import { useMessages } from 'components/hooks';
|
||||||
|
import { ReportContext } from '../[reportId]/Report';
|
||||||
|
import { formatLongNumber } from 'lib/format';
|
||||||
|
import styles from './GoalsChart.module.css';
|
||||||
|
|
||||||
|
export function GoalsChart({ className }: { className?: string; isLoading?: boolean }) {
|
||||||
|
const { report } = useContext(ReportContext);
|
||||||
|
const { formatMessage, labels } = useMessages();
|
||||||
|
|
||||||
|
const { data } = report || {};
|
||||||
|
|
||||||
|
const getLabel = type => {
|
||||||
|
let label = '';
|
||||||
|
switch (type) {
|
||||||
|
case 'url':
|
||||||
|
label = labels.viewedPage;
|
||||||
|
break;
|
||||||
|
case 'event':
|
||||||
|
label = labels.triggeredEvent;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
label = labels.collectedData;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return label;
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={classNames(styles.chart, className)}>
|
||||||
|
{data?.map(({ type, value, goal, result, property, operator }, index: number) => {
|
||||||
|
const percent = result > goal ? 100 : (result / goal) * 100;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div key={index} className={styles.goal}>
|
||||||
|
<div className={styles.card}>
|
||||||
|
<div className={styles.header}>
|
||||||
|
<span className={styles.label}>{formatMessage(getLabel(type))}</span>
|
||||||
|
<span className={styles.item}>{`${value}${
|
||||||
|
type === 'event-data' ? `:(${operator}):${property}` : ''
|
||||||
|
}`}</span>
|
||||||
|
</div>
|
||||||
|
<div className={styles.track}>
|
||||||
|
<div
|
||||||
|
className={classNames(
|
||||||
|
classNames(styles.bar, {
|
||||||
|
[styles.level1]: percent <= 20,
|
||||||
|
[styles.level2]: percent > 20 && percent <= 40,
|
||||||
|
[styles.level3]: percent > 40 && percent <= 60,
|
||||||
|
[styles.level4]: percent > 60 && percent <= 80,
|
||||||
|
[styles.level5]: percent > 80,
|
||||||
|
}),
|
||||||
|
)}
|
||||||
|
style={{ width: `${percent}%` }}
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
<div className={styles.metric}>
|
||||||
|
<div className={styles.value}>
|
||||||
|
{formatLongNumber(result)}
|
||||||
|
<span className={styles.total}> / {formatLongNumber(goal)}</span>
|
||||||
|
</div>
|
||||||
|
<div className={styles.percent}>{((result / goal) * 100).toFixed(2)}%</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default GoalsChart;
|
||||||
25
src/app/(main)/reports/goals/GoalsParameters.module.css
Normal file
25
src/app/(main)/reports/goals/GoalsParameters.module.css
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
.value {
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eventData {
|
||||||
|
color: var(--orange900);
|
||||||
|
background-color: var(--orange100);
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 900;
|
||||||
|
padding: 2px 8px;
|
||||||
|
border-radius: 5px;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goal {
|
||||||
|
color: var(--blue900);
|
||||||
|
background-color: var(--blue100);
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 900;
|
||||||
|
padding: 2px 8px;
|
||||||
|
border-radius: 5px;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
141
src/app/(main)/reports/goals/GoalsParameters.tsx
Normal file
141
src/app/(main)/reports/goals/GoalsParameters.tsx
Normal file
|
|
@ -0,0 +1,141 @@
|
||||||
|
import { useMessages } from 'components/hooks';
|
||||||
|
import Icons from 'components/icons';
|
||||||
|
import { formatNumber } from 'lib/format';
|
||||||
|
import { useContext } from 'react';
|
||||||
|
import {
|
||||||
|
Button,
|
||||||
|
Flexbox,
|
||||||
|
Form,
|
||||||
|
FormButtons,
|
||||||
|
FormRow,
|
||||||
|
Icon,
|
||||||
|
Popup,
|
||||||
|
PopupTrigger,
|
||||||
|
SubmitButton,
|
||||||
|
} from 'react-basics';
|
||||||
|
import BaseParameters from '../[reportId]/BaseParameters';
|
||||||
|
import ParameterList from '../[reportId]/ParameterList';
|
||||||
|
import PopupForm from '../[reportId]/PopupForm';
|
||||||
|
import { ReportContext } from '../[reportId]/Report';
|
||||||
|
import GoalsAddForm from './GoalsAddForm';
|
||||||
|
import styles from './GoalsParameters.module.css';
|
||||||
|
|
||||||
|
export function GoalsParameters() {
|
||||||
|
const { report, runReport, updateReport, isRunning } = useContext(ReportContext);
|
||||||
|
const { formatMessage, labels } = useMessages();
|
||||||
|
|
||||||
|
const { id, parameters } = report || {};
|
||||||
|
const { websiteId, dateRange, goals } = parameters || {};
|
||||||
|
const queryDisabled = !websiteId || !dateRange || goals?.length < 1;
|
||||||
|
|
||||||
|
const handleSubmit = (data: any, e: any) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (!queryDisabled) {
|
||||||
|
runReport(data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleAddGoals = (goal: { type: string; value: string }) => {
|
||||||
|
updateReport({ parameters: { goals: parameters.goals.concat(goal) } });
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleUpdateGoals = (
|
||||||
|
close: () => void,
|
||||||
|
index: number,
|
||||||
|
goal: { type: string; value: string },
|
||||||
|
) => {
|
||||||
|
const goals = [...parameters.goals];
|
||||||
|
goals[index] = goal;
|
||||||
|
updateReport({ parameters: { goals } });
|
||||||
|
close();
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleRemoveGoals = (index: number) => {
|
||||||
|
const goals = [...parameters.goals];
|
||||||
|
delete goals[index];
|
||||||
|
updateReport({ parameters: { goals: goals.filter(n => n) } });
|
||||||
|
};
|
||||||
|
|
||||||
|
const AddGoalsButton = () => {
|
||||||
|
return (
|
||||||
|
<PopupTrigger>
|
||||||
|
<Button>
|
||||||
|
<Icon>
|
||||||
|
<Icons.Plus />
|
||||||
|
</Icon>
|
||||||
|
</Button>
|
||||||
|
<Popup alignment="start">
|
||||||
|
<PopupForm>
|
||||||
|
<GoalsAddForm onChange={handleAddGoals} />
|
||||||
|
</PopupForm>
|
||||||
|
</Popup>
|
||||||
|
</PopupTrigger>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Form values={parameters} onSubmit={handleSubmit} preventSubmit={true}>
|
||||||
|
<BaseParameters allowWebsiteSelect={!id} />
|
||||||
|
<FormRow label={formatMessage(labels.goals)} action={<AddGoalsButton />}>
|
||||||
|
<ParameterList>
|
||||||
|
{goals.map(
|
||||||
|
(
|
||||||
|
goal: {
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
goal: number;
|
||||||
|
operator?: string;
|
||||||
|
property?: string;
|
||||||
|
},
|
||||||
|
index: number,
|
||||||
|
) => {
|
||||||
|
return (
|
||||||
|
<PopupTrigger key={index}>
|
||||||
|
<ParameterList.Item
|
||||||
|
icon={goal.type === 'url' ? <Icons.Eye /> : <Icons.Bolt />}
|
||||||
|
onRemove={() => handleRemoveGoals(index)}
|
||||||
|
>
|
||||||
|
<Flexbox direction="column" gap={5}>
|
||||||
|
<div className={styles.value}>{goal.value}</div>
|
||||||
|
{goal.type === 'event-data' && (
|
||||||
|
<div className={styles.eventData}>
|
||||||
|
{formatMessage(labels[goal.operator])}: {goal.property}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
<div className={styles.goal}>
|
||||||
|
{formatMessage(labels.goal)}: {formatNumber(goal.goal)}
|
||||||
|
</div>
|
||||||
|
</Flexbox>
|
||||||
|
</ParameterList.Item>
|
||||||
|
<Popup alignment="start">
|
||||||
|
{(close: () => void) => (
|
||||||
|
<PopupForm>
|
||||||
|
<GoalsAddForm
|
||||||
|
type={goal.type}
|
||||||
|
value={goal.value}
|
||||||
|
goal={goal.goal}
|
||||||
|
operator={goal.operator}
|
||||||
|
property={goal.property}
|
||||||
|
onChange={handleUpdateGoals.bind(null, close, index)}
|
||||||
|
/>
|
||||||
|
</PopupForm>
|
||||||
|
)}
|
||||||
|
</Popup>
|
||||||
|
</PopupTrigger>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)}
|
||||||
|
</ParameterList>
|
||||||
|
</FormRow>
|
||||||
|
<FormButtons>
|
||||||
|
<SubmitButton variant="primary" disabled={queryDisabled} isLoading={isRunning}>
|
||||||
|
{formatMessage(labels.runQuery)}
|
||||||
|
</SubmitButton>
|
||||||
|
</FormButtons>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default GoalsParameters;
|
||||||
10
src/app/(main)/reports/goals/GoalsReport.module.css
Normal file
10
src/app/(main)/reports/goals/GoalsReport.module.css
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
.filters {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
border: 1px solid var(--base400);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
27
src/app/(main)/reports/goals/GoalsReport.tsx
Normal file
27
src/app/(main)/reports/goals/GoalsReport.tsx
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
import GoalsChart from './GoalsChart';
|
||||||
|
import GoalsParameters from './GoalsParameters';
|
||||||
|
import Report from '../[reportId]/Report';
|
||||||
|
import ReportHeader from '../[reportId]/ReportHeader';
|
||||||
|
import ReportMenu from '../[reportId]/ReportMenu';
|
||||||
|
import ReportBody from '../[reportId]/ReportBody';
|
||||||
|
import Target from 'assets/target.svg';
|
||||||
|
import { REPORT_TYPES } from 'lib/constants';
|
||||||
|
|
||||||
|
const defaultParameters = {
|
||||||
|
type: REPORT_TYPES.goals,
|
||||||
|
parameters: { goals: [] },
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function GoalsReport({ reportId }: { reportId?: string }) {
|
||||||
|
return (
|
||||||
|
<Report reportId={reportId} defaultParameters={defaultParameters}>
|
||||||
|
<ReportHeader icon={<Target />} />
|
||||||
|
<ReportMenu>
|
||||||
|
<GoalsParameters />
|
||||||
|
</ReportMenu>
|
||||||
|
<ReportBody>
|
||||||
|
<GoalsChart />
|
||||||
|
</ReportBody>
|
||||||
|
</Report>
|
||||||
|
);
|
||||||
|
}
|
||||||
6
src/app/(main)/reports/goals/GoalsReportPage.tsx
Normal file
6
src/app/(main)/reports/goals/GoalsReportPage.tsx
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
'use client';
|
||||||
|
import GoalReport from './GoalsReport';
|
||||||
|
|
||||||
|
export default function GoalReportPage() {
|
||||||
|
return <GoalReport />;
|
||||||
|
}
|
||||||
10
src/app/(main)/reports/goals/page.tsx
Normal file
10
src/app/(main)/reports/goals/page.tsx
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
import GoalsReportPage from './GoalsReportPage';
|
||||||
|
import { Metadata } from 'next';
|
||||||
|
|
||||||
|
export default function () {
|
||||||
|
return <GoalsReportPage />;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Goals Report',
|
||||||
|
};
|
||||||
|
|
@ -3,6 +3,7 @@ import { GridTable, GridColumn } from 'react-basics';
|
||||||
import { useFormat, useMessages } from 'components/hooks';
|
import { useFormat, useMessages } from 'components/hooks';
|
||||||
import { ReportContext } from '../[reportId]/Report';
|
import { ReportContext } from '../[reportId]/Report';
|
||||||
import EmptyPlaceholder from 'components/common/EmptyPlaceholder';
|
import EmptyPlaceholder from 'components/common/EmptyPlaceholder';
|
||||||
|
import { formatShortTime } from 'lib/format';
|
||||||
|
|
||||||
export function InsightsTable() {
|
export function InsightsTable() {
|
||||||
const [fields, setFields] = useState([]);
|
const [fields, setFields] = useState([]);
|
||||||
|
|
@ -31,6 +32,12 @@ export function InsightsTable() {
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
|
<GridColumn name="views" label={formatMessage(labels.views)} width="100px" alignment="end">
|
||||||
|
{row => row?.views?.toLocaleString()}
|
||||||
|
</GridColumn>
|
||||||
|
<GridColumn name="visits" label={formatMessage(labels.visits)} width="100px" alignment="end">
|
||||||
|
{row => row?.visits?.toLocaleString()}
|
||||||
|
</GridColumn>
|
||||||
<GridColumn
|
<GridColumn
|
||||||
name="visitors"
|
name="visitors"
|
||||||
label={formatMessage(labels.visitors)}
|
label={formatMessage(labels.visitors)}
|
||||||
|
|
@ -39,8 +46,27 @@ export function InsightsTable() {
|
||||||
>
|
>
|
||||||
{row => row?.visitors?.toLocaleString()}
|
{row => row?.visitors?.toLocaleString()}
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
<GridColumn name="views" label={formatMessage(labels.views)} width="100px" alignment="end">
|
<GridColumn
|
||||||
{row => row?.views?.toLocaleString()}
|
name="bounceRate"
|
||||||
|
label={formatMessage(labels.bounceRate)}
|
||||||
|
width="100px"
|
||||||
|
alignment="end"
|
||||||
|
>
|
||||||
|
{row => {
|
||||||
|
const n = (Math.min(row?.visits, row?.bounces) / row?.visits) * 100;
|
||||||
|
return Math.round(+n) + '%';
|
||||||
|
}}
|
||||||
|
</GridColumn>
|
||||||
|
<GridColumn
|
||||||
|
name="visitDuration"
|
||||||
|
label={formatMessage(labels.visitDuration)}
|
||||||
|
width="100px"
|
||||||
|
alignment="end"
|
||||||
|
>
|
||||||
|
{row => {
|
||||||
|
const n = row?.totaltime / row?.visits;
|
||||||
|
return `${+n < 0 ? '-' : ''}${formatShortTime(Math.abs(~~n), ['m', 's'], ' ')}`;
|
||||||
|
}}
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
</GridTable>
|
</GridTable>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
63
src/app/(main)/reports/journey/JourneyParameters.tsx
Normal file
63
src/app/(main)/reports/journey/JourneyParameters.tsx
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
import { useContext } from 'react';
|
||||||
|
import { useMessages } from 'components/hooks';
|
||||||
|
import {
|
||||||
|
Dropdown,
|
||||||
|
Form,
|
||||||
|
FormButtons,
|
||||||
|
FormInput,
|
||||||
|
FormRow,
|
||||||
|
Item,
|
||||||
|
SubmitButton,
|
||||||
|
TextField,
|
||||||
|
} from 'react-basics';
|
||||||
|
import { ReportContext } from '../[reportId]/Report';
|
||||||
|
import BaseParameters from '../[reportId]/BaseParameters';
|
||||||
|
|
||||||
|
export function JourneyParameters() {
|
||||||
|
const { report, runReport, isRunning } = useContext(ReportContext);
|
||||||
|
const { formatMessage, labels } = useMessages();
|
||||||
|
|
||||||
|
const { id, parameters } = report || {};
|
||||||
|
const { websiteId, dateRange, steps } = parameters || {};
|
||||||
|
const queryDisabled = !websiteId || !dateRange || !steps;
|
||||||
|
|
||||||
|
const handleSubmit = (data: any, e: any) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (!queryDisabled) {
|
||||||
|
runReport(data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Form values={parameters} onSubmit={handleSubmit} preventSubmit={true}>
|
||||||
|
<BaseParameters showDateSelect={true} allowWebsiteSelect={!id} />
|
||||||
|
<FormRow label={formatMessage(labels.steps)}>
|
||||||
|
<FormInput
|
||||||
|
name="steps"
|
||||||
|
rules={{ required: formatMessage(labels.required), pattern: /[0-9]+/, min: 3, max: 7 }}
|
||||||
|
>
|
||||||
|
<Dropdown items={[3, 4, 5, 6, 7]}>{item => <Item key={item}>{item}</Item>}</Dropdown>
|
||||||
|
</FormInput>
|
||||||
|
</FormRow>
|
||||||
|
<FormRow label={formatMessage(labels.startStep)}>
|
||||||
|
<FormInput name="startStep">
|
||||||
|
<TextField autoComplete="off" />
|
||||||
|
</FormInput>
|
||||||
|
</FormRow>
|
||||||
|
<FormRow label={formatMessage(labels.endStep)}>
|
||||||
|
<FormInput name="endStep">
|
||||||
|
<TextField autoComplete="off" />
|
||||||
|
</FormInput>
|
||||||
|
</FormRow>
|
||||||
|
<FormButtons>
|
||||||
|
<SubmitButton variant="primary" disabled={queryDisabled} isLoading={isRunning}>
|
||||||
|
{formatMessage(labels.runQuery)}
|
||||||
|
</SubmitButton>
|
||||||
|
</FormButtons>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default JourneyParameters;
|
||||||
28
src/app/(main)/reports/journey/JourneyReport.tsx
Normal file
28
src/app/(main)/reports/journey/JourneyReport.tsx
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
'use client';
|
||||||
|
import Report from '../[reportId]/Report';
|
||||||
|
import ReportHeader from '../[reportId]/ReportHeader';
|
||||||
|
import ReportMenu from '../[reportId]/ReportMenu';
|
||||||
|
import ReportBody from '../[reportId]/ReportBody';
|
||||||
|
import JourneyParameters from './JourneyParameters';
|
||||||
|
import JourneyView from './JourneyView';
|
||||||
|
import Path from 'assets/path.svg';
|
||||||
|
import { REPORT_TYPES } from 'lib/constants';
|
||||||
|
|
||||||
|
const defaultParameters = {
|
||||||
|
type: REPORT_TYPES.journey,
|
||||||
|
parameters: { steps: 5 },
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function JourneyReport({ reportId }: { reportId?: string }) {
|
||||||
|
return (
|
||||||
|
<Report reportId={reportId} defaultParameters={defaultParameters}>
|
||||||
|
<ReportHeader icon={<Path />} />
|
||||||
|
<ReportMenu>
|
||||||
|
<JourneyParameters />
|
||||||
|
</ReportMenu>
|
||||||
|
<ReportBody>
|
||||||
|
<JourneyView />
|
||||||
|
</ReportBody>
|
||||||
|
</Report>
|
||||||
|
);
|
||||||
|
}
|
||||||
5
src/app/(main)/reports/journey/JourneyReportPage.tsx
Normal file
5
src/app/(main)/reports/journey/JourneyReportPage.tsx
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
import JourneyReport from './JourneyReport';
|
||||||
|
|
||||||
|
export default function JourneyReportPage() {
|
||||||
|
return <JourneyReport />;
|
||||||
|
}
|
||||||
274
src/app/(main)/reports/journey/JourneyView.module.css
Normal file
274
src/app/(main)/reports/journey/JourneyView.module.css
Normal file
|
|
@ -0,0 +1,274 @@
|
||||||
|
.container {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
--journey-line-color: var(--base600);
|
||||||
|
--journey-active-color: var(--primary400);
|
||||||
|
--journey-faded-color: var(--base300);
|
||||||
|
}
|
||||||
|
|
||||||
|
.view {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
overflow: auto;
|
||||||
|
gap: 100px;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 20px;
|
||||||
|
width: 100%;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visitors {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 16px;
|
||||||
|
text-transform: lowercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropoff {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--blue800);
|
||||||
|
background: var(--blue100);
|
||||||
|
padding: 4px 8px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.num {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 100%;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--base100);
|
||||||
|
background: var(--base800);
|
||||||
|
z-index: 1;
|
||||||
|
margin: 0 auto 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nodes {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrapper {
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node {
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 10px 20px;
|
||||||
|
background: var(--base75);
|
||||||
|
border-radius: 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 300px;
|
||||||
|
max-width: 300px;
|
||||||
|
height: 60px;
|
||||||
|
max-height: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node:hover:not(.selected) {
|
||||||
|
color: var(--base900);
|
||||||
|
background: var(--base100);
|
||||||
|
}
|
||||||
|
|
||||||
|
.node.selected {
|
||||||
|
color: var(--base75);
|
||||||
|
background: var(--base900);
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node.active {
|
||||||
|
color: var(--light50);
|
||||||
|
background: var(--primary400);
|
||||||
|
}
|
||||||
|
|
||||||
|
.node.selected .count {
|
||||||
|
color: var(--base50);
|
||||||
|
background: var(--base800);
|
||||||
|
}
|
||||||
|
|
||||||
|
.node.selected.active .count {
|
||||||
|
background: var(--primary600);
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.count {
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 5px 10px;
|
||||||
|
background: var(--base200);
|
||||||
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: -100px;
|
||||||
|
width: 100px;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line.up {
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line.down {
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.segment {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start {
|
||||||
|
left: 0;
|
||||||
|
width: 50px;
|
||||||
|
height: 30px;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mid {
|
||||||
|
top: 60px;
|
||||||
|
width: 50px;
|
||||||
|
border-right: 3px solid var(--journey-line-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.end {
|
||||||
|
width: 50px;
|
||||||
|
height: 30px;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.up .start {
|
||||||
|
top: 30px;
|
||||||
|
border-top-right-radius: 100%;
|
||||||
|
border-top: 3px solid var(--journey-line-color);
|
||||||
|
border-right: 3px solid var(--journey-line-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.up .end {
|
||||||
|
width: 52px;
|
||||||
|
bottom: 27px;
|
||||||
|
right: 0;
|
||||||
|
border-bottom-left-radius: 100%;
|
||||||
|
border-bottom: 3px solid var(--journey-line-color);
|
||||||
|
border-left: 3px solid var(--journey-line-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.down .start {
|
||||||
|
bottom: 27px;
|
||||||
|
border-bottom-right-radius: 100%;
|
||||||
|
border-bottom: 3px solid var(--journey-line-color);
|
||||||
|
border-right: 3px solid var(--journey-line-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.down .end {
|
||||||
|
width: 52px;
|
||||||
|
top: 30px;
|
||||||
|
right: 0;
|
||||||
|
border-top-left-radius: 100%;
|
||||||
|
border-top: 3px solid var(--journey-line-color);
|
||||||
|
border-left: 3px solid var(--journey-line-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.flat .start {
|
||||||
|
left: 0;
|
||||||
|
top: 30px;
|
||||||
|
border-top: 3px solid var(--journey-line-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.flat .end {
|
||||||
|
right: 0;
|
||||||
|
top: 30px;
|
||||||
|
border-top: 3px solid var(--journey-line-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.start:before,
|
||||||
|
.end:before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 100%;
|
||||||
|
border: 3px solid var(--journey-line-color);
|
||||||
|
background: var(--light50);
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line:not(.active) .start:before,
|
||||||
|
.line:not(.active) .end:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.up .start:before {
|
||||||
|
left: -8px;
|
||||||
|
top: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.up .end:before {
|
||||||
|
right: -8px;
|
||||||
|
bottom: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down .start:before {
|
||||||
|
left: -8px;
|
||||||
|
bottom: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down .end:before {
|
||||||
|
right: -8px;
|
||||||
|
top: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flat .start:before {
|
||||||
|
left: -8px;
|
||||||
|
top: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flat .end:before {
|
||||||
|
right: -8px;
|
||||||
|
top: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line.active .segment,
|
||||||
|
.line.active .segment:before {
|
||||||
|
border-color: var(--journey-active-color);
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column.active .line:not(.active) .segment {
|
||||||
|
border-color: var(--journey-faded-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.column.active .line:not(.active) .segment:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
251
src/app/(main)/reports/journey/JourneyView.tsx
Normal file
251
src/app/(main)/reports/journey/JourneyView.tsx
Normal file
|
|
@ -0,0 +1,251 @@
|
||||||
|
import { useContext, useMemo, useState } from 'react';
|
||||||
|
import { TooltipPopup } from 'react-basics';
|
||||||
|
import { firstBy } from 'thenby';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import { useEscapeKey, useMessages } from 'components/hooks';
|
||||||
|
import { objectToArray } from 'lib/data';
|
||||||
|
import { ReportContext } from '../[reportId]/Report';
|
||||||
|
import styles from './JourneyView.module.css';
|
||||||
|
import { formatLongNumber } from 'lib/format';
|
||||||
|
|
||||||
|
const NODE_HEIGHT = 60;
|
||||||
|
const NODE_GAP = 10;
|
||||||
|
const LINE_WIDTH = 3;
|
||||||
|
|
||||||
|
export default function JourneyView() {
|
||||||
|
const [selectedNode, setSelectedNode] = useState(null);
|
||||||
|
const [activeNode, setActiveNode] = useState(null);
|
||||||
|
const { report } = useContext(ReportContext);
|
||||||
|
const { data, parameters } = report || {};
|
||||||
|
const { formatMessage, labels } = useMessages();
|
||||||
|
|
||||||
|
useEscapeKey(() => setSelectedNode(null));
|
||||||
|
|
||||||
|
const columns = useMemo(() => {
|
||||||
|
if (!data) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const selectedPaths = selectedNode?.paths ?? [];
|
||||||
|
const activePaths = activeNode?.paths ?? [];
|
||||||
|
const columns = [];
|
||||||
|
|
||||||
|
for (let columnIndex = 0; columnIndex < +parameters.steps; columnIndex++) {
|
||||||
|
const nodes = {};
|
||||||
|
|
||||||
|
data.forEach(({ items, count }: any, nodeIndex: any) => {
|
||||||
|
const name = items[columnIndex];
|
||||||
|
|
||||||
|
if (name) {
|
||||||
|
const selected = !!selectedPaths.find(({ items }) => items[columnIndex] === name);
|
||||||
|
const active = selected && !!activePaths.find(({ items }) => items[columnIndex] === name);
|
||||||
|
|
||||||
|
if (!nodes[name]) {
|
||||||
|
const paths = data.filter(({ items }) => items[columnIndex] === name);
|
||||||
|
|
||||||
|
nodes[name] = {
|
||||||
|
name,
|
||||||
|
count,
|
||||||
|
totalCount: count,
|
||||||
|
nodeIndex,
|
||||||
|
columnIndex,
|
||||||
|
selected,
|
||||||
|
active,
|
||||||
|
paths,
|
||||||
|
pathMap: paths.map(({ items, count }) => ({
|
||||||
|
[`${columnIndex}:${items.join(':')}`]: count,
|
||||||
|
})),
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
nodes[name].totalCount += count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
columns.push({
|
||||||
|
nodes: objectToArray(nodes).sort(firstBy('total', -1)),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
columns.forEach((column, columnIndex) => {
|
||||||
|
const nodes = column.nodes.map((currentNode, currentNodeIndex) => {
|
||||||
|
const previousNodes = columns[columnIndex - 1]?.nodes;
|
||||||
|
let selectedCount = previousNodes ? 0 : currentNode.totalCount;
|
||||||
|
let activeCount = selectedCount;
|
||||||
|
|
||||||
|
const lines =
|
||||||
|
previousNodes?.reduce((arr: any[][], previousNode: any, previousNodeIndex: number) => {
|
||||||
|
const fromCount = selectedNode?.paths.reduce((sum, path) => {
|
||||||
|
if (
|
||||||
|
previousNode.name === path.items[columnIndex - 1] &&
|
||||||
|
currentNode.name === path.items[columnIndex]
|
||||||
|
) {
|
||||||
|
sum += path.count;
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
if (currentNode.selected && previousNode.selected && fromCount) {
|
||||||
|
arr.push([previousNodeIndex, currentNodeIndex]);
|
||||||
|
selectedCount += fromCount;
|
||||||
|
|
||||||
|
if (previousNode.active) {
|
||||||
|
activeCount += fromCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return arr;
|
||||||
|
}, []) || [];
|
||||||
|
|
||||||
|
return { ...currentNode, selectedCount, activeCount, lines };
|
||||||
|
});
|
||||||
|
|
||||||
|
const visitorCount = nodes.reduce(
|
||||||
|
(sum: number, { selected, selectedCount, active, activeCount, totalCount }) => {
|
||||||
|
if (!selectedNode) {
|
||||||
|
sum += totalCount;
|
||||||
|
} else if (!activeNode && selectedNode && selected) {
|
||||||
|
sum += selectedCount;
|
||||||
|
} else if (activeNode && active) {
|
||||||
|
sum += activeCount;
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
},
|
||||||
|
0,
|
||||||
|
);
|
||||||
|
|
||||||
|
const previousTotal = columns[columnIndex - 1]?.visitorCount ?? 0;
|
||||||
|
const dropOff =
|
||||||
|
previousTotal > 0 ? ((visitorCount - previousTotal) / previousTotal) * 100 : 0;
|
||||||
|
|
||||||
|
Object.assign(column, { nodes, visitorCount, dropOff });
|
||||||
|
});
|
||||||
|
|
||||||
|
return columns;
|
||||||
|
}, [data, selectedNode, activeNode]);
|
||||||
|
|
||||||
|
const handleClick = (name: string, columnIndex: number, paths: any[]) => {
|
||||||
|
if (name !== selectedNode?.name || columnIndex !== selectedNode?.columnIndex) {
|
||||||
|
setSelectedNode({ name, columnIndex, paths });
|
||||||
|
} else {
|
||||||
|
setSelectedNode(null);
|
||||||
|
}
|
||||||
|
setActiveNode(null);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!data) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={styles.container}>
|
||||||
|
<div className={styles.view}>
|
||||||
|
{columns.map((column, columnIndex) => {
|
||||||
|
const dropOffPercent = `${~~column.dropOff}%`;
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
key={columnIndex}
|
||||||
|
className={classNames(styles.column, {
|
||||||
|
[styles.selected]: selectedNode,
|
||||||
|
[styles.active]: activeNode,
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
<div className={styles.header}>
|
||||||
|
<div className={styles.num}>{columnIndex + 1}</div>
|
||||||
|
<div className={styles.stats}>
|
||||||
|
<div className={styles.visitors} title={column.visitorCount}>
|
||||||
|
{formatLongNumber(column.visitorCount)} {formatMessage(labels.visitors)}
|
||||||
|
</div>
|
||||||
|
{columnIndex > 0 && <div className={styles.dropoff}>{dropOffPercent}</div>}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className={styles.nodes}>
|
||||||
|
{column.nodes.map(
|
||||||
|
({
|
||||||
|
name,
|
||||||
|
totalCount,
|
||||||
|
selected,
|
||||||
|
active,
|
||||||
|
paths,
|
||||||
|
activeCount,
|
||||||
|
selectedCount,
|
||||||
|
lines,
|
||||||
|
}) => {
|
||||||
|
const nodeCount = selected
|
||||||
|
? active
|
||||||
|
? activeCount
|
||||||
|
: selectedCount
|
||||||
|
: totalCount;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
key={name}
|
||||||
|
className={styles.wrapper}
|
||||||
|
onMouseEnter={() => selected && setActiveNode({ name, columnIndex, paths })}
|
||||||
|
onMouseLeave={() => selected && setActiveNode(null)}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
className={classNames(styles.node, {
|
||||||
|
[styles.selected]: selected,
|
||||||
|
[styles.active]: active,
|
||||||
|
})}
|
||||||
|
onClick={() => handleClick(name, columnIndex, paths)}
|
||||||
|
>
|
||||||
|
<div className={styles.name}>{name}</div>
|
||||||
|
<TooltipPopup label={dropOffPercent} disabled={!selected}>
|
||||||
|
<div className={styles.count} title={nodeCount}>
|
||||||
|
{formatLongNumber(nodeCount)}
|
||||||
|
</div>
|
||||||
|
</TooltipPopup>
|
||||||
|
{columnIndex < columns.length &&
|
||||||
|
lines.map(([fromIndex, nodeIndex], i) => {
|
||||||
|
const height =
|
||||||
|
(Math.abs(nodeIndex - fromIndex) + 1) * (NODE_HEIGHT + NODE_GAP) -
|
||||||
|
NODE_GAP;
|
||||||
|
const midHeight =
|
||||||
|
(Math.abs(nodeIndex - fromIndex) - 1) * (NODE_HEIGHT + NODE_GAP) +
|
||||||
|
NODE_GAP +
|
||||||
|
LINE_WIDTH;
|
||||||
|
const nodeName = columns[columnIndex - 1]?.nodes[fromIndex].name;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
key={`${fromIndex}${nodeIndex}${i}`}
|
||||||
|
className={classNames(styles.line, {
|
||||||
|
[styles.active]:
|
||||||
|
active &&
|
||||||
|
activeNode?.paths.find(
|
||||||
|
path =>
|
||||||
|
path.items[columnIndex] === name &&
|
||||||
|
path.items[columnIndex - 1] === nodeName,
|
||||||
|
),
|
||||||
|
[styles.up]: fromIndex < nodeIndex,
|
||||||
|
[styles.down]: fromIndex > nodeIndex,
|
||||||
|
[styles.flat]: fromIndex === nodeIndex,
|
||||||
|
})}
|
||||||
|
style={{ height }}
|
||||||
|
>
|
||||||
|
<div className={classNames(styles.segment, styles.start)} />
|
||||||
|
<div
|
||||||
|
className={classNames(styles.segment, styles.mid)}
|
||||||
|
style={{
|
||||||
|
height: midHeight,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<div className={classNames(styles.segment, styles.end)} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
10
src/app/(main)/reports/journey/page.tsx
Normal file
10
src/app/(main)/reports/journey/page.tsx
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
import { Metadata } from 'next';
|
||||||
|
import JourneyReportPage from './JourneyReportPage';
|
||||||
|
|
||||||
|
export default function () {
|
||||||
|
return <JourneyReportPage />;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Journey Report',
|
||||||
|
};
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import ReportsPage from './ReportsPage';
|
import ReportsPage from './ReportsPage';
|
||||||
import { Metadata } from 'next';
|
import { Metadata } from 'next';
|
||||||
|
|
||||||
export default function ({ params: { teamId } }: { params: { teamId: string } }) {
|
export default function () {
|
||||||
return <ReportsPage teamId={teamId} />;
|
return <ReportsPage />;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ export default function UTMView() {
|
||||||
{
|
{
|
||||||
data: items.map(({ value }) => value),
|
data: items.map(({ value }) => value),
|
||||||
backgroundColor: CHART_COLORS,
|
backgroundColor: CHART_COLORS,
|
||||||
|
borderWidth: 0,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,5 @@ export default function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'UTM Report',
|
title: 'Goals Report',
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue