diff --git a/.github/workflows/cd-cloud.yml b/.github/workflows/cd-cloud.yml new file mode 100644 index 00000000..386a6ce0 --- /dev/null +++ b/.github/workflows/cd-cloud.yml @@ -0,0 +1,28 @@ +name: Create docker images + +on: + push: + branches: + - analytics + +jobs: + build: + name: Build, push, and deploy + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Generate random hash + id: random_hash + run: echo "hash=$(openssl rand -hex 4)" >> $GITHUB_OUTPUT + + - uses: mr-smithers-excellent/docker-build-push@v6 + name: Build & push Docker image to docker.io + with: + image: umamisoftware/umami + tags: cloud-${{ steps.random_hash.outputs.hash }}, cloud-latest + buildArgs: DATABASE_TYPE=postgresql + registry: docker.io + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} diff --git a/.github/workflows/cd-manual.yml b/.github/workflows/cd-manual.yml index ac701fcc..1f8651fa 100644 --- a/.github/workflows/cd-manual.yml +++ b/.github/workflows/cd-manual.yml @@ -20,11 +20,26 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Extract version parts from input + id: extract_version + run: | + echo "version=$(echo ${{ github.event.inputs.version }})" >> $GITHUB_ENV + echo "major=$(echo ${{ github.event.inputs.version }} | cut -d. -f1)" >> $GITHUB_ENV + echo "minor=$(echo ${{ github.event.inputs.version }} | cut -d. -f2)" >> $GITHUB_ENV + + - name: Generate tags + id: generate_tags + run: | + echo "tag_major=$(echo ${{ matrix.db-type }}-${{ env.major }})" >> $GITHUB_ENV + echo "tag_minor=$(echo ${{ matrix.db-type }}-${{ env.major }}.${{ env.minor }})" >> $GITHUB_ENV + echo "tag_patch=$(echo ${{ matrix.db-type }}-${{ env.version }})" >> $GITHUB_ENV + echo "tag_latest=$(echo ${{ matrix.db-type }}-latest)" >> $GITHUB_ENV + - uses: mr-smithers-excellent/docker-build-push@v6 name: Build & push Docker image to ghcr.io for ${{ matrix.db-type }} with: image: umami - tags: ${{ matrix.db-type }}-${{ inputs.version }}, ${{ matrix.db-type }}-latest + tags: ${{ env.tag_major }}, ${{ env.tag_minor }}, ${{ env.tag_patch }}, ${{ env.tag_latest }} buildArgs: DATABASE_TYPE=${{ matrix.db-type }} registry: ghcr.io multiPlatform: true @@ -36,7 +51,7 @@ jobs: name: Build & push Docker image to docker.io for ${{ matrix.db-type }} with: image: umamisoftware/umami - tags: ${{ matrix.db-type }}-${{ inputs.version }}, ${{ matrix.db-type }}-latest + tags: ${{ env.tag_major }}, ${{ env.tag_minor }}, ${{ env.tag_patch }}, ${{ env.tag_latest }} buildArgs: DATABASE_TYPE=${{ matrix.db-type }} registry: docker.io username: ${{ secrets.DOCKER_USERNAME }} diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index b4de5499..f67f51c3 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -17,14 +17,21 @@ jobs: - name: Set env run: | - echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV echo "NOW=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV + + - name: Generate tags + id: generate_tags + run: | + echo "tag_patch=$(echo ${{ matrix.db-type }})-${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + echo "tag_minor=$(echo ${{ matrix.db-type }})-$(echo ${GITHUB_REF#refs/tags/} | cut -d. -f1,2)" >> $GITHUB_ENV + echo "tag_major=$(echo ${{ matrix.db-type }})-$(echo ${GITHUB_REF#refs/tags/} | cut -d. -f1)" >> $GITHUB_ENV + echo "tag_latest=$(echo ${{ matrix.db-type }})-latest" >> $GITHUB_ENV - uses: mr-smithers-excellent/docker-build-push@v6 name: Build & push Docker image to ghcr.io for ${{ matrix.db-type }} with: image: umami - tags: ${{ matrix.db-type }}-${{ env.RELEASE_VERSION }}, ${{ matrix.db-type }}-latest + tags: ${{ env.tag_major }}, ${{ env.tag_minor }}, ${{ env.tag_patch }}, ${{ env.tag_latest }} buildArgs: DATABASE_TYPE=${{ matrix.db-type }} registry: ghcr.io multiPlatform: true @@ -32,12 +39,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: mr-smithers-excellent/docker-build-push@v6 name: Build & push Docker image to docker.io for ${{ matrix.db-type }} with: image: umamisoftware/umami - tags: ${{ matrix.db-type }}-${{ env.RELEASE_VERSION }}, ${{ matrix.db-type }}-latest + tags: ${{ env.tag_major }}, ${{ env.tag_minor }}, ${{ env.tag_patch }}, ${{ env.tag_latest }} buildArgs: DATABASE_TYPE=${{ matrix.db-type }} registry: docker.io username: ${{ secrets.DOCKER_USERNAME }} diff --git a/Dockerfile b/Dockerfile index 801b2bc2..0f7c2d35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,7 +37,7 @@ RUN adduser --system --uid 1001 nextjs RUN set -x \ && apk add --no-cache curl \ - && yarn add npm-run-all dotenv prisma semver + && yarn add npm-run-all dotenv semver prisma@5.17.0 # You only need to copy next.config.js if you are NOT using the default configuration COPY --from=builder /app/next.config.js . diff --git a/README.md b/README.md index 9426642a..6f9ace22 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,93 @@ -# umami +

+ Umami Logo +

-Umami is a simple, fast, privacy-focused alternative to Google Analytics. +

Umami

-## Getting started +

+ Umami is a simple, fast, privacy-focused alternative to Google Analytics. +

-A detailed getting started guide can be found at [https://umami.is/docs/](https://umami.is/docs/) +

+ + GitHub Release + + + MIT License + + + Build Status + + + Umami Demo + +

-## 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 - A server with Node.js version 16.13 or newer -- A database. Umami supports [MySQL](https://www.mysql.com/) and [Postgresql](https://www.postgresql.org/) databases. +- A database. Umami supports [MariaDB](https://www.mariadb.org/) (minimum v10.5), [MySQL](https://www.mysql.com/) (minimum v8.0) and [PostgreSQL](https://www.postgresql.org/) (minimum v12.14) databases. ### Install Yarn -``` +```bash 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 cd umami 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 ``` -The connection url is in the following format: +The connection URL format: -``` +```bash postgresql://username:mypassword@localhost:5432/mydb - mysql://username:mypassword@localhost:3306/mydb ``` -### Build the application +### Build the Application ```bash 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 yarn start ``` -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. +*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.* -## 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 docker compose up -d @@ -72,16 +96,18 @@ docker compose up -d Alternatively, to pull just the Umami Docker image with PostgreSQL support: ```bash -docker pull ghcr.io/umami-software/umami:postgresql-latest +docker pull docker.umami.is/umami-software/umami:postgresql-latest ``` Or with MySQL support: ```bash -docker pull ghcr.io/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: @@ -98,6 +124,36 @@ docker compose pull docker compose up --force-recreate ``` -## License +--- -MIT +## 🛟 Support + +

+ + GitHub + + + Twitter + + + LinkedIn + + + Discord + +

+ +[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 diff --git a/db/clickhouse/migrations/04_add_tag.sql b/db/clickhouse/migrations/04_add_tag.sql new file mode 100644 index 00000000..7ffc4995 --- /dev/null +++ b/db/clickhouse/migrations/04_add_tag.sql @@ -0,0 +1,77 @@ +-- add tag column +ALTER TABLE umami.website_event ADD COLUMN "tag" String AFTER "event_name"; +ALTER TABLE umami.website_event_stats_hourly ADD COLUMN "tag" SimpleAggregateFunction(groupArrayArray, Array(String)) AFTER "max_time"; + +-- update materialized view +DROP TABLE umami.website_event_stats_hourly_mv; + +CREATE MATERIALIZED VIEW umami.website_event_stats_hourly_mv +TO umami.website_event_stats_hourly +AS +SELECT + website_id, + session_id, + visit_id, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + entry_url, + exit_url, + url_paths as url_path, + url_query, + referrer_domain, + page_title, + event_type, + event_name, + views, + min_time, + max_time, + tag, + timestamp as created_at +FROM (SELECT + website_id, + session_id, + visit_id, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + argMinState(url_path, created_at) entry_url, + argMaxState(url_path, created_at) exit_url, + arrayFilter(x -> x != '', groupArray(url_path)) as url_paths, + arrayFilter(x -> x != '', groupArray(url_query)) url_query, + arrayFilter(x -> x != '', groupArray(referrer_domain)) referrer_domain, + arrayFilter(x -> x != '', groupArray(page_title)) page_title, + event_type, + if(event_type = 2, groupArray(event_name), []) event_name, + sumIf(1, event_type = 1) views, + min(created_at) min_time, + max(created_at) max_time, + arrayFilter(x -> x != '', groupArray(tag)) tag, + toStartOfHour(created_at) timestamp +FROM umami.website_event +GROUP BY website_id, + session_id, + visit_id, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + event_type, + timestamp); \ No newline at end of file diff --git a/db/clickhouse/schema.sql b/db/clickhouse/schema.sql index 53fba1fb..5ceaaa0e 100644 --- a/db/clickhouse/schema.sql +++ b/db/clickhouse/schema.sql @@ -26,12 +26,15 @@ CREATE TABLE umami.website_event --events event_type UInt32, event_name String, + tag String, created_at DateTime('UTC'), job_id Nullable(UUID) ) - engine = MergeTree - ORDER BY (website_id, session_id, created_at) - SETTINGS index_granularity = 8192; +ENGINE = MergeTree + PARTITION BY toYYYYMM(created_at) + ORDER BY (toStartOfHour(created_at), website_id, session_id, visit_id, created_at) + PRIMARY KEY (toStartOfHour(created_at), website_id, session_id, visit_id) + SETTINGS index_granularity = 8192; CREATE TABLE umami.event_data ( @@ -48,9 +51,9 @@ CREATE TABLE umami.event_data created_at DateTime('UTC'), job_id Nullable(UUID) ) - engine = MergeTree - ORDER BY (website_id, event_id, data_key, created_at) - SETTINGS index_granularity = 8192; +ENGINE = MergeTree + ORDER BY (website_id, event_id, data_key, created_at) + SETTINGS index_granularity = 8192; CREATE TABLE umami.session_data ( @@ -64,6 +67,132 @@ CREATE TABLE umami.session_data created_at DateTime('UTC'), job_id Nullable(UUID) ) - engine = MergeTree - ORDER BY (website_id, session_id, data_key, created_at) - SETTINGS index_granularity = 8192; \ No newline at end of file +ENGINE = ReplacingMergeTree + ORDER BY (website_id, session_id, data_key) + SETTINGS index_granularity = 8192; + +-- stats hourly +CREATE TABLE umami.website_event_stats_hourly +( + website_id UUID, + session_id UUID, + visit_id UUID, + hostname LowCardinality(String), + browser LowCardinality(String), + os LowCardinality(String), + device LowCardinality(String), + screen LowCardinality(String), + language LowCardinality(String), + country LowCardinality(String), + subdivision1 LowCardinality(String), + city String, + entry_url AggregateFunction(argMin, String, DateTime('UTC')), + exit_url AggregateFunction(argMax, String, DateTime('UTC')), + url_path SimpleAggregateFunction(groupArrayArray, Array(String)), + url_query SimpleAggregateFunction(groupArrayArray, Array(String)), + referrer_domain SimpleAggregateFunction(groupArrayArray, Array(String)), + page_title SimpleAggregateFunction(groupArrayArray, Array(String)), + event_type UInt32, + event_name SimpleAggregateFunction(groupArrayArray, Array(String)), + views SimpleAggregateFunction(sum, UInt64), + min_time SimpleAggregateFunction(min, DateTime('UTC')), + max_time SimpleAggregateFunction(max, DateTime('UTC')), + tag SimpleAggregateFunction(groupArrayArray, Array(String)), + created_at Datetime('UTC') +) +ENGINE = AggregatingMergeTree + PARTITION BY toYYYYMM(created_at) + ORDER BY ( + website_id, + event_type, + toStartOfHour(created_at), + cityHash64(visit_id), + visit_id + ) + SAMPLE BY cityHash64(visit_id); + +CREATE MATERIALIZED VIEW umami.website_event_stats_hourly_mv +TO umami.website_event_stats_hourly +AS +SELECT + website_id, + session_id, + visit_id, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + entry_url, + exit_url, + url_paths as url_path, + url_query, + referrer_domain, + page_title, + event_type, + event_name, + views, + min_time, + max_time, + tag, + timestamp as created_at +FROM (SELECT + website_id, + session_id, + visit_id, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + argMinState(url_path, created_at) entry_url, + argMaxState(url_path, created_at) exit_url, + arrayFilter(x -> x != '', groupArray(url_path)) as url_paths, + arrayFilter(x -> x != '', groupArray(url_query)) url_query, + arrayFilter(x -> x != '', groupArray(referrer_domain)) referrer_domain, + arrayFilter(x -> x != '', groupArray(page_title)) page_title, + event_type, + if(event_type = 2, groupArray(event_name), []) event_name, + sumIf(1, event_type = 1) views, + min(created_at) min_time, + max(created_at) max_time, + arrayFilter(x -> x != '', groupArray(tag)) tag, + toStartOfHour(created_at) timestamp +FROM umami.website_event +GROUP BY website_id, + session_id, + visit_id, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + event_type, + timestamp); + +-- projections +ALTER TABLE umami.website_event +ADD PROJECTION website_event_url_path_projection ( +SELECT * ORDER BY toStartOfDay(created_at), website_id, url_path, created_at +); + +ALTER TABLE umami.website_event MATERIALIZE PROJECTION website_event_url_path_projection; + +ALTER TABLE umami.website_event +ADD PROJECTION website_event_referrer_domain_projection ( +SELECT * ORDER BY toStartOfDay(created_at), website_id, referrer_domain, created_at +); + +ALTER TABLE umami.website_event MATERIALIZE PROJECTION website_event_referrer_domain_projection; diff --git a/db/mysql/migrations/01_init/migration.sql b/db/mysql/migrations/01_init/migration.sql index bd332805..d66e2a9c 100644 --- a/db/mysql/migrations/01_init/migration.sql +++ b/db/mysql/migrations/01_init/migration.sql @@ -11,7 +11,7 @@ CREATE TABLE `user` ( UNIQUE INDEX `user_user_id_key`(`user_id`), UNIQUE INDEX `user_username_key`(`username`), PRIMARY KEY (`user_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `session` ( @@ -33,7 +33,7 @@ CREATE TABLE `session` ( INDEX `session_created_at_idx`(`created_at`), INDEX `session_website_id_idx`(`website_id`), PRIMARY KEY (`session_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `website` ( @@ -53,7 +53,7 @@ CREATE TABLE `website` ( INDEX `website_created_at_idx`(`created_at`), INDEX `website_share_id_idx`(`share_id`), PRIMARY KEY (`website_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `website_event` ( @@ -76,7 +76,7 @@ CREATE TABLE `website_event` ( INDEX `website_event_website_id_created_at_idx`(`website_id`, `created_at`), INDEX `website_event_website_id_session_id_created_at_idx`(`website_id`, `session_id`, `created_at`), PRIMARY KEY (`event_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `event_data` ( @@ -95,7 +95,7 @@ CREATE TABLE `event_data` ( INDEX `event_data_website_event_id_idx`(`website_event_id`), INDEX `event_data_website_id_website_event_id_created_at_idx`(`website_id`, `website_event_id`, `created_at`), PRIMARY KEY (`event_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `team` ( @@ -109,7 +109,7 @@ CREATE TABLE `team` ( UNIQUE INDEX `team_access_code_key`(`access_code`), INDEX `team_access_code_idx`(`access_code`), PRIMARY KEY (`team_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `team_user` ( @@ -124,7 +124,7 @@ CREATE TABLE `team_user` ( INDEX `team_user_team_id_idx`(`team_id`), INDEX `team_user_user_id_idx`(`user_id`), PRIMARY KEY (`team_user_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `team_website` ( @@ -137,7 +137,7 @@ CREATE TABLE `team_website` ( INDEX `team_website_team_id_idx`(`team_id`), INDEX `team_website_website_id_idx`(`website_id`), PRIMARY KEY (`team_website_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- AddSystemUser INSERT INTO user (user_id, username, role, password) VALUES ('41e2b680-648e-4b09-bcd7-3e2b10c06264' , 'admin', 'admin', '$2b$10$BUli0c.muyCW1ErNJc3jL.vFRFtFJWrT8/GcR4A.sUdCznaXiqFXa'); \ No newline at end of file diff --git a/db/mysql/migrations/02_report_schema_session_data/migration.sql b/db/mysql/migrations/02_report_schema_session_data/migration.sql index 1649ace2..b165383a 100644 --- a/db/mysql/migrations/02_report_schema_session_data/migration.sql +++ b/db/mysql/migrations/02_report_schema_session_data/migration.sql @@ -21,7 +21,7 @@ CREATE TABLE `session_data` ( INDEX `session_data_website_id_idx`(`website_id`), INDEX `session_data_session_id_idx`(`session_id`), PRIMARY KEY (`session_data_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `report` ( @@ -41,7 +41,7 @@ CREATE TABLE `report` ( INDEX `report_type_idx`(`type`), INDEX `report_name_idx`(`name`), PRIMARY KEY (`report_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- EventData migration UPDATE event_data diff --git a/db/mysql/migrations/07_add_tag/migration.sql b/db/mysql/migrations/07_add_tag/migration.sql new file mode 100644 index 00000000..f1c349bd --- /dev/null +++ b/db/mysql/migrations/07_add_tag/migration.sql @@ -0,0 +1,5 @@ +-- AlterTable +ALTER TABLE `website_event` ADD COLUMN `tag` VARCHAR(50) NULL; + +-- CreateIndex +CREATE INDEX `website_event_website_id_created_at_tag_idx` ON `website_event`(`website_id`, `created_at`, `tag`); diff --git a/db/mysql/schema.prisma b/db/mysql/schema.prisma index a7722acc..5f9d4dff 100644 --- a/db/mysql/schema.prisma +++ b/db/mysql/schema.prisma @@ -102,6 +102,7 @@ model WebsiteEvent { pageTitle String? @map("page_title") @db.VarChar(500) eventType Int @default(1) @map("event_type") @db.UnsignedInt eventName String? @map("event_name") @db.VarChar(50) + tag String? @db.VarChar(50) eventData EventData[] session Session @relation(fields: [sessionId], references: [id]) @@ -116,6 +117,7 @@ model WebsiteEvent { @@index([websiteId, createdAt, referrerDomain]) @@index([websiteId, createdAt, pageTitle]) @@index([websiteId, createdAt, eventName]) + @@index([websiteId, createdAt, tag]) @@index([websiteId, sessionId, createdAt]) @@index([websiteId, visitId, createdAt]) @@map("website_event") diff --git a/db/postgresql/migrations/07_add_tag/migration.sql b/db/postgresql/migrations/07_add_tag/migration.sql new file mode 100644 index 00000000..ef465f83 --- /dev/null +++ b/db/postgresql/migrations/07_add_tag/migration.sql @@ -0,0 +1,5 @@ +-- AlterTable +ALTER TABLE "website_event" ADD COLUMN "tag" VARCHAR(50); + +-- CreateIndex +CREATE INDEX "website_event_website_id_created_at_tag_idx" ON "website_event"("website_id", "created_at", "tag"); diff --git a/db/postgresql/schema.prisma b/db/postgresql/schema.prisma index b9009e0f..364986dc 100644 --- a/db/postgresql/schema.prisma +++ b/db/postgresql/schema.prisma @@ -102,6 +102,7 @@ model WebsiteEvent { pageTitle String? @map("page_title") @db.VarChar(500) eventType Int @default(1) @map("event_type") @db.Integer eventName String? @map("event_name") @db.VarChar(50) + tag String? @db.VarChar(50) eventData EventData[] session Session @relation(fields: [sessionId], references: [id]) @@ -111,11 +112,13 @@ model WebsiteEvent { @@index([visitId]) @@index([websiteId]) @@index([websiteId, createdAt]) + @@index([websiteId, createdAt, urlPath]) @@index([websiteId, createdAt, urlQuery]) @@index([websiteId, createdAt, referrerDomain]) @@index([websiteId, createdAt, pageTitle]) @@index([websiteId, createdAt, eventName]) + @@index([websiteId, createdAt, tag]) @@index([websiteId, sessionId, createdAt]) @@index([websiteId, visitId, createdAt]) @@map("website_event") diff --git a/next-env.d.ts b/next-env.d.ts index fd36f949..725dd6f2 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -3,4 +3,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/next.config.js b/next.config.js index f8850c60..5e3a1225 100644 --- a/next.config.js +++ b/next.config.js @@ -3,29 +3,31 @@ require('dotenv').config(); const path = require('path'); const pkg = require('./package.json'); -const basePath = process.env.BASE_PATH || ''; -const forceSSL = process.env.FORCE_SSL || ''; -const collectApiEndpoint = process.env.COLLECT_API_ENDPOINT || ''; -const defaultLocale = process.env.DEFAULT_LOCALE || ''; -const trackerScriptName = process.env.TRACKER_SCRIPT_NAME || ''; -const cloudMode = process.env.CLOUD_MODE || ''; -const cloudUrl = process.env.CLOUD_URL || ''; -const frameAncestors = process.env.ALLOWED_FRAME_URLS || ''; -const disableLogin = process.env.DISABLE_LOGIN || ''; -const disableUI = process.env.DISABLE_UI || ''; -const hostURL = process.env.HOST_URL || ''; -const privateMode = process.env.PRIVATE_MODE || ''; +const TRACKER_SCRIPT = '/script.js'; + +const basePath = process.env.BASE_PATH; +const collectApiEndpoint = process.env.COLLECT_API_ENDPOINT; +const cloudMode = process.env.CLOUD_MODE; +const cloudUrl = process.env.CLOUD_URL; +const defaultLocale = process.env.DEFAULT_LOCALE; +const disableLogin = process.env.DISABLE_LOGIN; +const disableUI = process.env.DISABLE_UI; +const forceSSL = process.env.FORCE_SSL; +const frameAncestors = process.env.ALLOWED_FRAME_URLS; +const privateMode = process.env.PRIVATE_MODE; +const trackerScriptName = process.env.TRACKER_SCRIPT_NAME; +const trackerScriptURL = process.env.TRACKER_SCRIPT_URL; const contentSecurityPolicy = [ `default-src 'self'`, - `img-src *`, + `img-src * data:`, `script-src 'self' 'unsafe-eval' 'unsafe-inline'`, `style-src 'self' 'unsafe-inline'`, `connect-src 'self' api.umami.is cloud.umami.is`, `frame-ancestors 'self' ${frameAncestors}`, ]; -const headers = [ +const defaultHeaders = [ { key: 'X-DNS-Prefetch-Control', value: 'on', @@ -40,14 +42,43 @@ const headers = [ ]; if (forceSSL) { - headers.push({ + defaultHeaders.push({ key: 'Strict-Transport-Security', value: 'max-age=63072000; includeSubDomains; preload', }); } +const trackerHeaders = [ + { + key: 'Access-Control-Allow-Origin', + value: '*', + }, + { + key: 'Cache-Control', + value: 'public, max-age=86400, must-revalidate', + }, +]; + +const headers = [ + { + source: '/:path*', + headers: defaultHeaders, + }, + { + source: TRACKER_SCRIPT, + headers: trackerHeaders, + }, +]; + const rewrites = []; +if (trackerScriptURL) { + rewrites.push({ + source: TRACKER_SCRIPT, + destination: trackerScriptURL, + }); +} + if (collectApiEndpoint) { rewrites.push({ source: collectApiEndpoint, @@ -55,19 +86,6 @@ if (collectApiEndpoint) { }); } -if (trackerScriptName) { - const names = trackerScriptName?.split(',').map(name => name.trim()); - - if (names) { - names.forEach(name => { - rewrites.push({ - source: `/${name.replace(/^\/+/, '')}`, - destination: '/script.js', - }); - }); - } -} - const redirects = [ { source: '/settings', @@ -86,6 +104,27 @@ const redirects = [ }, ]; +// Adding rewrites + headers for all alternative tracker script names. +if (trackerScriptName) { + const names = trackerScriptName?.split(',').map(name => name.trim()); + + if (names) { + names.forEach(name => { + const normalizedSource = `/${name.replace(/^\/+/, '')}`; + + rewrites.push({ + source: normalizedSource, + destination: TRACKER_SCRIPT, + }); + + headers.push({ + source: normalizedSource, + headers: trackerHeaders, + }); + }); + } +} + if (cloudMode && cloudUrl) { redirects.push({ source: '/settings/:path*', @@ -120,7 +159,6 @@ const config = { defaultLocale, disableLogin, disableUI, - hostURL, privateMode, }, basePath, @@ -155,12 +193,7 @@ const config = { return config; }, async headers() { - return [ - { - source: '/:path*', - headers, - }, - ]; + return headers; }, async rewrites() { return [ @@ -169,6 +202,10 @@ const config = { source: '/telemetry.js', destination: '/api/scripts/telemetry', }, + { + source: '/teams/:teamId/:path((?!settings).*)*', + destination: '/:path*', + }, ]; }, async redirects() { diff --git a/package.components.json b/package.components.json index 41e72579..2ca9458d 100644 --- a/package.components.json +++ b/package.components.json @@ -11,6 +11,7 @@ "@tanstack/react-query": "^4.33.0", "classnames": "^2.3.1", "colord": "^2.9.2", + "date-fns-tz": "^1.1.4", "immer": "^9.0.12", "moment-timezone": "^0.5.35", "next": "^13.4.0", diff --git a/package.json b/package.json index c72a054f..b0679d75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "2.12.0", + "version": "2.15.0", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Umami Software, Inc. ", "license": "MIT", @@ -63,15 +63,21 @@ "cacheDirectories": [ ".next/cache" ], + "resolutions": { + "jackspeak": "2.1.1" + }, "dependencies": { - "@clickhouse/client": "^0.2.2", + "@clickhouse/client": "^1.4.1", + "@date-fns/utc": "^1.2.0", + "@dicebear/collection": "^9.2.1", + "@dicebear/core": "^9.2.1", "@fontsource/inter": "^4.5.15", - "@prisma/client": "5.12.1", + "@prisma/client": "5.22.0", "@prisma/extension-read-replicas": "^0.3.0", "@react-spring/web": "^9.7.3", "@tanstack/react-query": "^5.28.6", "@umami/prisma-client": "^0.14.0", - "@umami/redis-client": "^0.18.0", + "@umami/redis-client": "^0.21.0", "chalk": "^4.1.1", "chart.js": "^4.4.2", "chartjs-adapter-date-fns": "^3.0.0", @@ -81,7 +87,6 @@ "cross-spawn": "^7.0.3", "date-fns": "^2.23.0", "date-fns-tz": "^1.1.4", - "dateformat": "^5.0.3", "debug": "^4.3.4", "del": "^6.0.0", "detect-browser": "^5.2.0", @@ -93,18 +98,17 @@ "is-ci": "^3.0.1", "is-docker": "^3.0.0", "is-localhost-ip": "^1.4.0", - "isbot": "^5.1.1", + "isbot": "^5.1.16", "kafkajs": "^2.1.0", "maxmind": "^4.3.6", "md5": "^2.3.0", - "moment-timezone": "^0.5.35", - "next": "14.1.4", + "next": "15.0.3", "next-basics": "^0.39.0", "node-fetch": "^3.2.8", "npm-run-all": "^4.1.5", - "prisma": "5.12.1", + "prisma": "5.22.0", "react": "^18.2.0", - "react-basics": "^0.123.0", + "react-basics": "^0.125.0", "react-beautiful-dnd": "^13.1.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.4", @@ -117,11 +121,11 @@ "thenby": "^1.3.4", "uuid": "^9.0.0", "yup": "^0.32.11", - "zustand": "^4.3.8" + "zustand": "^4.5.5" }, "devDependencies": { "@formatjs/cli": "^4.2.29", - "@netlify/plugin-nextjs": "^4.41.3", + "@netlify/plugin-nextjs": "^5.8.1", "@rollup/plugin-alias": "^5.0.0", "@rollup/plugin-commonjs": "^25.0.4", "@rollup/plugin-json": "^6.0.0", @@ -175,6 +179,6 @@ "tar": "^6.1.2", "ts-jest": "^29.1.2", "ts-node": "^10.9.1", - "typescript": "^5.4.3" + "typescript": "^5.5.3" } } diff --git a/public/datamaps.world.json b/public/datamaps.world.json index 22d10360..beaceb68 100644 --- a/public/datamaps.world.json +++ b/public/datamaps.world.json @@ -1,180 +1,13191 @@ -{"type":"FeatureCollection","features":[ -{"type":"Feature","properties":{"name":"Afghanistan"},"geometry":{"type":"Polygon","coordinates":[[[61.210817,35.650072],[62.230651,35.270664],[62.984662,35.404041],[63.193538,35.857166],[63.982896,36.007957],[64.546479,36.312073],[64.746105,37.111818],[65.588948,37.305217],[65.745631,37.661164],[66.217385,37.39379],[66.518607,37.362784],[67.075782,37.356144],[67.83,37.144994],[68.135562,37.023115],[68.859446,37.344336],[69.196273,37.151144],[69.518785,37.608997],[70.116578,37.588223],[70.270574,37.735165],[70.376304,38.138396],[70.806821,38.486282],[71.348131,38.258905],[71.239404,37.953265],[71.541918,37.905774],[71.448693,37.065645],[71.844638,36.738171],[72.193041,36.948288],[72.63689,37.047558],[73.260056,37.495257],[73.948696,37.421566],[74.980002,37.41999],[75.158028,37.133031],[74.575893,37.020841],[74.067552,36.836176],[72.920025,36.720007],[71.846292,36.509942],[71.262348,36.074388],[71.498768,35.650563],[71.613076,35.153203],[71.115019,34.733126],[71.156773,34.348911],[70.881803,33.988856],[69.930543,34.02012],[70.323594,33.358533],[69.687147,33.105499],[69.262522,32.501944],[69.317764,31.901412],[68.926677,31.620189],[68.556932,31.71331],[67.792689,31.58293],[67.683394,31.303154],[66.938891,31.304911],[66.381458,30.738899],[66.346473,29.887943],[65.046862,29.472181],[64.350419,29.560031],[64.148002,29.340819],[63.550261,29.468331],[62.549857,29.318572],[60.874248,29.829239],[61.781222,30.73585],[61.699314,31.379506],[60.941945,31.548075],[60.863655,32.18292],[60.536078,32.981269],[60.9637,33.528832],[60.52843,33.676446],[60.803193,34.404102],[61.210817,35.650072]]]},"id":"AFG"}, -{"type":"Feature","properties":{"name":"Angola"},"geometry":{"type":"MultiPolygon","coordinates":[[[[16.326528,-5.87747],[16.57318,-6.622645],[16.860191,-7.222298],[17.089996,-7.545689],[17.47297,-8.068551],[18.134222,-7.987678],[18.464176,-7.847014],[19.016752,-7.988246],[19.166613,-7.738184],[19.417502,-7.155429],[20.037723,-7.116361],[20.091622,-6.94309],[20.601823,-6.939318],[20.514748,-7.299606],[21.728111,-7.290872],[21.746456,-7.920085],[21.949131,-8.305901],[21.801801,-8.908707],[21.875182,-9.523708],[22.208753,-9.894796],[22.155268,-11.084801],[22.402798,-10.993075],[22.837345,-11.017622],[23.456791,-10.867863],[23.912215,-10.926826],[24.017894,-11.237298],[23.904154,-11.722282],[24.079905,-12.191297],[23.930922,-12.565848],[24.016137,-12.911046],[21.933886,-12.898437],[21.887843,-16.08031],[22.562478,-16.898451],[23.215048,-17.523116],[21.377176,-17.930636],[18.956187,-17.789095],[18.263309,-17.309951],[14.209707,-17.353101],[14.058501,-17.423381],[13.462362,-16.971212],[12.814081,-16.941343],[12.215461,-17.111668],[11.734199,-17.301889],[11.640096,-16.673142],[11.778537,-15.793816],[12.123581,-14.878316],[12.175619,-14.449144],[12.500095,-13.5477],[12.738479,-13.137906],[13.312914,-12.48363],[13.633721,-12.038645],[13.738728,-11.297863],[13.686379,-10.731076],[13.387328,-10.373578],[13.120988,-9.766897],[12.87537,-9.166934],[12.929061,-8.959091],[13.236433,-8.562629],[12.93304,-7.596539],[12.728298,-6.927122],[12.227347,-6.294448],[12.322432,-6.100092],[12.735171,-5.965682],[13.024869,-5.984389],[13.375597,-5.864241],[16.326528,-5.87747]]],[[[12.436688,-5.684304],[12.182337,-5.789931],[11.914963,-5.037987],[12.318608,-4.60623],[12.62076,-4.438023],[12.995517,-4.781103],[12.631612,-4.991271],[12.468004,-5.248362],[12.436688,-5.684304]]]]},"id":"AGO"}, -{"type":"Feature","properties":{"name":"Albania"},"geometry":{"type":"Polygon","coordinates":[[[20.590247,41.855404],[20.463175,41.515089],[20.605182,41.086226],[21.02004,40.842727],[20.99999,40.580004],[20.674997,40.435],[20.615,40.110007],[20.150016,39.624998],[19.98,39.694993],[19.960002,39.915006],[19.406082,40.250773],[19.319059,40.72723],[19.40355,41.409566],[19.540027,41.719986],[19.371769,41.877548],[19.304486,42.195745],[19.738051,42.688247],[19.801613,42.500093],[20.0707,42.58863],[20.283755,42.32026],[20.52295,42.21787],[20.590247,41.855404]]]},"id":"ALB"}, -{"type":"Feature","properties":{"name":"United Arab Emirates"},"geometry":{"type":"Polygon","coordinates":[[[51.579519,24.245497],[51.757441,24.294073],[51.794389,24.019826],[52.577081,24.177439],[53.404007,24.151317],[54.008001,24.121758],[54.693024,24.797892],[55.439025,25.439145],[56.070821,26.055464],[56.261042,25.714606],[56.396847,24.924732],[55.886233,24.920831],[55.804119,24.269604],[55.981214,24.130543],[55.528632,23.933604],[55.525841,23.524869],[55.234489,23.110993],[55.208341,22.70833],[55.006803,22.496948],[52.000733,23.001154],[51.617708,24.014219],[51.579519,24.245497]]]},"id":"ARE"}, -{"type":"Feature","properties":{"name":"Argentina"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-65.5,-55.2],[-66.45,-55.25],[-66.95992,-54.89681],[-67.56244,-54.87001],[-68.63335,-54.8695],[-68.63401,-52.63637],[-68.25,-53.1],[-67.75,-53.85],[-66.45,-54.45],[-65.05,-54.7],[-65.5,-55.2]]],[[[-64.964892,-22.075862],[-64.377021,-22.798091],[-63.986838,-21.993644],[-62.846468,-22.034985],[-62.685057,-22.249029],[-60.846565,-23.880713],[-60.028966,-24.032796],[-58.807128,-24.771459],[-57.777217,-25.16234],[-57.63366,-25.603657],[-58.618174,-27.123719],[-57.60976,-27.395899],[-56.486702,-27.548499],[-55.695846,-27.387837],[-54.788795,-26.621786],[-54.625291,-25.739255],[-54.13005,-25.547639],[-53.628349,-26.124865],[-53.648735,-26.923473],[-54.490725,-27.474757],[-55.162286,-27.881915],[-56.2909,-28.852761],[-57.625133,-30.216295],[-57.874937,-31.016556],[-58.14244,-32.044504],[-58.132648,-33.040567],[-58.349611,-33.263189],[-58.427074,-33.909454],[-58.495442,-34.43149],[-57.22583,-35.288027],[-57.362359,-35.97739],[-56.737487,-36.413126],[-56.788285,-36.901572],[-57.749157,-38.183871],[-59.231857,-38.72022],[-61.237445,-38.928425],[-62.335957,-38.827707],[-62.125763,-39.424105],[-62.330531,-40.172586],[-62.145994,-40.676897],[-62.745803,-41.028761],[-63.770495,-41.166789],[-64.73209,-40.802677],[-65.118035,-41.064315],[-64.978561,-42.058001],[-64.303408,-42.359016],[-63.755948,-42.043687],[-63.458059,-42.563138],[-64.378804,-42.873558],[-65.181804,-43.495381],[-65.328823,-44.501366],[-65.565269,-45.036786],[-66.509966,-45.039628],[-67.293794,-45.551896],[-67.580546,-46.301773],[-66.597066,-47.033925],[-65.641027,-47.236135],[-65.985088,-48.133289],[-67.166179,-48.697337],[-67.816088,-49.869669],[-68.728745,-50.264218],[-69.138539,-50.73251],[-68.815561,-51.771104],[-68.149995,-52.349983],[-68.571545,-52.299444],[-69.498362,-52.142761],[-71.914804,-52.009022],[-72.329404,-51.425956],[-72.309974,-50.67701],[-72.975747,-50.74145],[-73.328051,-50.378785],[-73.415436,-49.318436],[-72.648247,-48.878618],[-72.331161,-48.244238],[-72.447355,-47.738533],[-71.917258,-46.884838],[-71.552009,-45.560733],[-71.659316,-44.973689],[-71.222779,-44.784243],[-71.329801,-44.407522],[-71.793623,-44.207172],[-71.464056,-43.787611],[-71.915424,-43.408565],[-72.148898,-42.254888],[-71.746804,-42.051386],[-71.915734,-40.832339],[-71.680761,-39.808164],[-71.413517,-38.916022],[-70.814664,-38.552995],[-71.118625,-37.576827],[-71.121881,-36.658124],[-70.364769,-36.005089],[-70.388049,-35.169688],[-69.817309,-34.193571],[-69.814777,-33.273886],[-70.074399,-33.09121],[-70.535069,-31.36501],[-69.919008,-30.336339],[-70.01355,-29.367923],[-69.65613,-28.459141],[-69.001235,-27.521214],[-68.295542,-26.89934],[-68.5948,-26.506909],[-68.386001,-26.185016],[-68.417653,-24.518555],[-67.328443,-24.025303],[-66.985234,-22.986349],[-67.106674,-22.735925],[-66.273339,-21.83231],[-64.964892,-22.075862]]]]},"id":"ARG"}, -{"type":"Feature","properties":{"name":"Armenia"},"geometry":{"type":"Polygon","coordinates":[[[43.582746,41.092143],[44.97248,41.248129],[45.179496,40.985354],[45.560351,40.81229],[45.359175,40.561504],[45.891907,40.218476],[45.610012,39.899994],[46.034534,39.628021],[46.483499,39.464155],[46.50572,38.770605],[46.143623,38.741201],[45.735379,39.319719],[45.739978,39.473999],[45.298145,39.471751],[45.001987,39.740004],[44.79399,39.713003],[44.400009,40.005],[43.656436,40.253564],[43.752658,40.740201],[43.582746,41.092143]]]},"id":"ARM"}, -{"type":"Feature","properties":{"name":"Antarctica"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-59.572095,-80.040179],[-59.865849,-80.549657],[-60.159656,-81.000327],[-62.255393,-80.863178],[-64.488125,-80.921934],[-65.741666,-80.588827],[-65.741666,-80.549657],[-66.290031,-80.255773],[-64.037688,-80.294944],[-61.883246,-80.39287],[-61.138976,-79.981371],[-60.610119,-79.628679],[-59.572095,-80.040179]]],[[[-159.208184,-79.497059],[-161.127601,-79.634209],[-162.439847,-79.281465],[-163.027408,-78.928774],[-163.066604,-78.869966],[-163.712896,-78.595667],[-163.712896,-78.595667],[-163.105801,-78.223338],[-161.245113,-78.380176],[-160.246208,-78.693645],[-159.482405,-79.046338],[-159.208184,-79.497059]]],[[[-45.154758,-78.04707],[-43.920828,-78.478103],[-43.48995,-79.08556],[-43.372438,-79.516645],[-43.333267,-80.026123],[-44.880537,-80.339644],[-46.506174,-80.594357],[-48.386421,-80.829485],[-50.482107,-81.025442],[-52.851988,-80.966685],[-54.164259,-80.633528],[-53.987991,-80.222028],[-51.853134,-79.94773],[-50.991326,-79.614623],[-50.364595,-79.183487],[-49.914131,-78.811209],[-49.306959,-78.458569],[-48.660616,-78.047018],[-48.660616,-78.047019],[-48.151396,-78.04707],[-46.662857,-77.831476],[-45.154758,-78.04707]]],[[[-121.211511,-73.50099],[-119.918851,-73.657725],[-118.724143,-73.481353],[-119.292119,-73.834097],[-120.232217,-74.08881],[-121.62283,-74.010468],[-122.621735,-73.657778],[-122.621735,-73.657777],[-122.406245,-73.324619],[-121.211511,-73.50099]]],[[[-125.559566,-73.481353],[-124.031882,-73.873268],[-124.619469,-73.834097],[-125.912181,-73.736118],[-127.28313,-73.461769],[-127.28313,-73.461768],[-126.558472,-73.246226],[-125.559566,-73.481353]]],[[[-98.98155,-71.933334],[-97.884743,-72.070535],[-96.787937,-71.952971],[-96.20035,-72.521205],[-96.983765,-72.442864],[-98.198083,-72.482035],[-99.432013,-72.442864],[-100.783455,-72.50162],[-101.801868,-72.305663],[-102.330725,-71.894164],[-102.330725,-71.894164],[-101.703967,-71.717792],[-100.430919,-71.854993],[-98.98155,-71.933334]]],[[[-68.451346,-70.955823],[-68.333834,-71.406493],[-68.510128,-71.798407],[-68.784297,-72.170736],[-69.959471,-72.307885],[-71.075889,-72.503842],[-72.388134,-72.484257],[-71.8985,-72.092343],[-73.073622,-72.229492],[-74.19004,-72.366693],[-74.953895,-72.072757],[-75.012625,-71.661258],[-73.915819,-71.269345],[-73.915819,-71.269344],[-73.230331,-71.15178],[-72.074717,-71.190951],[-71.780962,-70.681473],[-71.72218,-70.309196],[-71.741791,-69.505782],[-71.173815,-69.035475],[-70.253252,-68.87874],[-69.724447,-69.251017],[-69.489422,-69.623346],[-69.058518,-70.074016],[-68.725541,-70.505153],[-68.451346,-70.955823]]],[[[-58.614143,-64.152467],[-59.045073,-64.36801],[-59.789342,-64.211223],[-60.611928,-64.309202],[-61.297416,-64.54433],[-62.0221,-64.799094],[-62.51176,-65.09303],[-62.648858,-65.484942],[-62.590128,-65.857219],[-62.120079,-66.190326],[-62.805567,-66.425505],[-63.74569,-66.503847],[-64.294106,-66.837004],[-64.881693,-67.150474],[-65.508425,-67.58161],[-65.665082,-67.953887],[-65.312545,-68.365335],[-64.783715,-68.678908],[-63.961103,-68.913984],[-63.1973,-69.227556],[-62.785955,-69.619419],[-62.570516,-69.991747],[-62.276736,-70.383661],[-61.806661,-70.716768],[-61.512906,-71.089045],[-61.375809,-72.010074],[-61.081977,-72.382351],[-61.003661,-72.774265],[-60.690269,-73.166179],[-60.827367,-73.695242],[-61.375809,-74.106742],[-61.96337,-74.439848],[-63.295201,-74.576997],[-63.74569,-74.92974],[-64.352836,-75.262847],[-65.860987,-75.635124],[-67.192818,-75.79191],[-68.446282,-76.007452],[-69.797724,-76.222995],[-70.600724,-76.634494],[-72.206776,-76.673665],[-73.969536,-76.634494],[-75.555977,-76.712887],[-77.24037,-76.712887],[-76.926979,-77.104802],[-75.399294,-77.28107],[-74.282876,-77.55542],[-73.656119,-77.908112],[-74.772536,-78.221633],[-76.4961,-78.123654],[-77.925858,-78.378419],[-77.984666,-78.789918],[-78.023785,-79.181833],[-76.848637,-79.514939],[-76.633224,-79.887216],[-75.360097,-80.259545],[-73.244852,-80.416331],[-71.442946,-80.69063],[-70.013163,-81.004151],[-68.191646,-81.317672],[-65.704279,-81.474458],[-63.25603,-81.748757],[-61.552026,-82.042692],[-59.691416,-82.37585],[-58.712121,-82.846106],[-58.222487,-83.218434],[-57.008117,-82.865691],[-55.362894,-82.571755],[-53.619771,-82.258235],[-51.543644,-82.003521],[-49.76135,-81.729171],[-47.273931,-81.709586],[-44.825708,-81.846735],[-42.808363,-82.081915],[-42.16202,-81.65083],[-40.771433,-81.356894],[-38.244818,-81.337309],[-36.26667,-81.121715],[-34.386397,-80.906172],[-32.310296,-80.769023],[-30.097098,-80.592651],[-28.549802,-80.337938],[-29.254901,-79.985195],[-29.685805,-79.632503],[-29.685805,-79.260226],[-31.624808,-79.299397],[-33.681324,-79.456132],[-35.639912,-79.456132],[-35.914107,-79.083855],[-35.77701,-78.339248],[-35.326546,-78.123654],[-33.896763,-77.888526],[-32.212369,-77.65345],[-30.998051,-77.359515],[-29.783732,-77.065579],[-28.882779,-76.673665],[-27.511752,-76.497345],[-26.160336,-76.360144],[-25.474822,-76.281803],[-23.927552,-76.24258],[-22.458598,-76.105431],[-21.224694,-75.909474],[-20.010375,-75.674346],[-18.913543,-75.439218],[-17.522982,-75.125698],[-16.641589,-74.79254],[-15.701491,-74.498604],[-15.40771,-74.106742],[-16.46532,-73.871614],[-16.112784,-73.460114],[-15.446855,-73.146542],[-14.408805,-72.950585],[-13.311973,-72.715457],[-12.293508,-72.401936],[-11.510067,-72.010074],[-11.020433,-71.539767],[-10.295774,-71.265416],[-9.101015,-71.324224],[-8.611381,-71.65733],[-7.416622,-71.696501],[-7.377451,-71.324224],[-6.868232,-70.93231],[-5.790985,-71.030289],[-5.536375,-71.402617],[-4.341667,-71.461373],[-3.048981,-71.285053],[-1.795492,-71.167438],[-0.659489,-71.226246],[-0.228637,-71.637745],[0.868195,-71.304639],[1.886686,-71.128267],[3.022638,-70.991118],[4.139055,-70.853917],[5.157546,-70.618789],[6.273912,-70.462055],[7.13572,-70.246512],[7.742866,-69.893769],[8.48711,-70.148534],[9.525135,-70.011333],[10.249845,-70.48164],[10.817821,-70.834332],[11.953824,-70.638375],[12.404287,-70.246512],[13.422778,-69.972162],[14.734998,-70.030918],[15.126757,-70.403247],[15.949342,-70.030918],[17.026589,-69.913354],[18.201711,-69.874183],[19.259373,-69.893769],[20.375739,-70.011333],[21.452985,-70.07014],[21.923034,-70.403247],[22.569403,-70.697182],[23.666184,-70.520811],[24.841357,-70.48164],[25.977309,-70.48164],[27.093726,-70.462055],[28.09258,-70.324854],[29.150242,-70.20729],[30.031583,-69.93294],[30.971733,-69.75662],[31.990172,-69.658641],[32.754053,-69.384291],[33.302443,-68.835642],[33.870419,-68.502588],[34.908495,-68.659271],[35.300202,-69.012014],[36.16201,-69.247142],[37.200035,-69.168748],[37.905108,-69.52144],[38.649404,-69.776205],[39.667894,-69.541077],[40.020431,-69.109941],[40.921358,-68.933621],[41.959434,-68.600514],[42.938702,-68.463313],[44.113876,-68.267408],[44.897291,-68.051866],[45.719928,-67.816738],[46.503343,-67.601196],[47.44344,-67.718759],[48.344419,-67.366068],[48.990736,-67.091718],[49.930885,-67.111303],[50.753471,-66.876175],[50.949325,-66.523484],[51.791547,-66.249133],[52.614133,-66.053176],[53.613038,-65.89639],[54.53355,-65.818049],[55.414943,-65.876805],[56.355041,-65.974783],[57.158093,-66.249133],[57.255968,-66.680218],[58.137361,-67.013324],[58.744508,-67.287675],[59.939318,-67.405239],[60.605221,-67.679589],[61.427806,-67.953887],[62.387489,-68.012695],[63.19049,-67.816738],[64.052349,-67.405239],[64.992447,-67.620729],[65.971715,-67.738345],[66.911864,-67.855909],[67.891133,-67.934302],[68.890038,-67.934302],[69.712624,-68.972791],[69.673453,-69.227556],[69.555941,-69.678226],[68.596258,-69.93294],[67.81274,-70.305268],[67.949889,-70.697182],[69.066307,-70.677545],[68.929157,-71.069459],[68.419989,-71.441788],[67.949889,-71.853287],[68.71377,-72.166808],[69.869307,-72.264787],[71.024895,-72.088415],[71.573285,-71.696501],[71.906288,-71.324224],[72.454627,-71.010703],[73.08141,-70.716768],[73.33602,-70.364024],[73.864877,-69.874183],[74.491557,-69.776205],[75.62756,-69.737034],[76.626465,-69.619419],[77.644904,-69.462684],[78.134539,-69.07077],[78.428371,-68.698441],[79.113859,-68.326216],[80.093127,-68.071503],[80.93535,-67.875546],[81.483792,-67.542388],[82.051767,-67.366068],[82.776426,-67.209282],[83.775331,-67.30726],[84.676206,-67.209282],[85.655527,-67.091718],[86.752359,-67.150474],[87.477017,-66.876175],[87.986289,-66.209911],[88.358411,-66.484261],[88.828408,-66.954568],[89.67063,-67.150474],[90.630365,-67.228867],[91.5901,-67.111303],[92.608539,-67.189696],[93.548637,-67.209282],[94.17542,-67.111303],[95.017591,-67.170111],[95.781472,-67.385653],[96.682399,-67.248504],[97.759646,-67.248504],[98.68021,-67.111303],[99.718182,-67.248504],[100.384188,-66.915346],[100.893356,-66.58224],[101.578896,-66.30789],[102.832411,-65.563284],[103.478676,-65.700485],[104.242557,-65.974783],[104.90846,-66.327527],[106.181561,-66.934931],[107.160881,-66.954568],[108.081393,-66.954568],[109.15864,-66.837004],[110.235835,-66.699804],[111.058472,-66.425505],[111.74396,-66.13157],[112.860378,-66.092347],[113.604673,-65.876805],[114.388088,-66.072762],[114.897308,-66.386283],[115.602381,-66.699804],[116.699161,-66.660633],[117.384701,-66.915346],[118.57946,-67.170111],[119.832924,-67.268089],[120.871,-67.189696],[121.654415,-66.876175],[122.320369,-66.562654],[123.221296,-66.484261],[124.122274,-66.621462],[125.160247,-66.719389],[126.100396,-66.562654],[127.001427,-66.562654],[127.882768,-66.660633],[128.80328,-66.758611],[129.704259,-66.58224],[130.781454,-66.425505],[131.799945,-66.386283],[132.935896,-66.386283],[133.85646,-66.288304],[134.757387,-66.209963],[135.031582,-65.72007],[135.070753,-65.308571],[135.697485,-65.582869],[135.873805,-66.033591],[136.206705,-66.44509],[136.618049,-66.778197],[137.460271,-66.954568],[138.596223,-66.895761],[139.908442,-66.876175],[140.809421,-66.817367],[142.121692,-66.817367],[143.061842,-66.797782],[144.374061,-66.837004],[145.490427,-66.915346],[146.195552,-67.228867],[145.999699,-67.601196],[146.646067,-67.895131],[147.723263,-68.130259],[148.839629,-68.385024],[150.132314,-68.561292],[151.483705,-68.71813],[152.502247,-68.874813],[153.638199,-68.894502],[154.284567,-68.561292],[155.165857,-68.835642],[155.92979,-69.149215],[156.811132,-69.384291],[158.025528,-69.482269],[159.181013,-69.599833],[159.670699,-69.991747],[160.80665,-70.226875],[161.570479,-70.579618],[162.686897,-70.736353],[163.842434,-70.716768],[164.919681,-70.775524],[166.11444,-70.755938],[167.309095,-70.834332],[168.425616,-70.971481],[169.463589,-71.20666],[170.501665,-71.402617],[171.20679,-71.696501],[171.089227,-72.088415],[170.560422,-72.441159],[170.109958,-72.891829],[169.75737,-73.24452],[169.287321,-73.65602],[167.975101,-73.812806],[167.387489,-74.165498],[166.094803,-74.38104],[165.644391,-74.772954],[164.958851,-75.145283],[164.234193,-75.458804],[163.822797,-75.870303],[163.568239,-76.24258],[163.47026,-76.693302],[163.489897,-77.065579],[164.057873,-77.457442],[164.273363,-77.82977],[164.743464,-78.182514],[166.604126,-78.319611],[166.995781,-78.750748],[165.193876,-78.907483],[163.666217,-79.123025],[161.766385,-79.162248],[160.924162,-79.730482],[160.747894,-80.200737],[160.316964,-80.573066],[159.788211,-80.945395],[161.120016,-81.278501],[161.629287,-81.690001],[162.490992,-82.062278],[163.705336,-82.395435],[165.095949,-82.708956],[166.604126,-83.022477],[168.895665,-83.335998],[169.404782,-83.825891],[172.283934,-84.041433],[172.477049,-84.117914],[173.224083,-84.41371],[175.985672,-84.158997],[178.277212,-84.472518],[180,-84.71338],[-179.942499,-84.721443],[-179.058677,-84.139412],[-177.256772,-84.452933],[-177.140807,-84.417941],[-176.084673,-84.099259],[-175.947235,-84.110449],[-175.829882,-84.117914],[-174.382503,-84.534323],[-173.116559,-84.117914],[-172.889106,-84.061019],[-169.951223,-83.884647],[-168.999989,-84.117914],[-168.530199,-84.23739],[-167.022099,-84.570497],[-164.182144,-84.82521],[-161.929775,-85.138731],[-158.07138,-85.37391],[-155.192253,-85.09956],[-150.942099,-85.295517],[-148.533073,-85.609038],[-145.888918,-85.315102],[-143.107718,-85.040752],[-142.892279,-84.570497],[-146.829068,-84.531274],[-150.060732,-84.296146],[-150.902928,-83.904232],[-153.586201,-83.68869],[-153.409907,-83.23802],[-153.037759,-82.82652],[-152.665637,-82.454192],[-152.861517,-82.042692],[-154.526299,-81.768394],[-155.29018,-81.41565],[-156.83745,-81.102129],[-154.408787,-81.160937],[-152.097662,-81.004151],[-150.648293,-81.337309],[-148.865998,-81.043373],[-147.22075,-80.671045],[-146.417749,-80.337938],[-146.770286,-79.926439],[-148.062947,-79.652089],[-149.531901,-79.358205],[-151.588416,-79.299397],[-153.390322,-79.162248],[-155.329376,-79.064269],[-155.975668,-78.69194],[-157.268302,-78.378419],[-158.051768,-78.025676],[-158.365134,-76.889207],[-157.875474,-76.987238],[-156.974573,-77.300759],[-155.329376,-77.202728],[-153.742832,-77.065579],[-152.920247,-77.496664],[-151.33378,-77.398737],[-150.00195,-77.183143],[-148.748486,-76.908845],[-147.612483,-76.575738],[-146.104409,-76.47776],[-146.143528,-76.105431],[-146.496091,-75.733154],[-146.20231,-75.380411],[-144.909624,-75.204039],[-144.322037,-75.537197],[-142.794353,-75.34124],[-141.638764,-75.086475],[-140.209007,-75.06689],[-138.85759,-74.968911],[-137.5062,-74.733783],[-136.428901,-74.518241],[-135.214583,-74.302699],[-134.431194,-74.361455],[-133.745654,-74.439848],[-132.257168,-74.302699],[-130.925311,-74.479019],[-129.554284,-74.459433],[-128.242038,-74.322284],[-126.890622,-74.420263],[-125.402082,-74.518241],[-124.011496,-74.479019],[-122.562152,-74.498604],[-121.073613,-74.518241],[-119.70256,-74.479019],[-118.684145,-74.185083],[-117.469801,-74.028348],[-116.216312,-74.243891],[-115.021552,-74.067519],[-113.944331,-73.714828],[-113.297988,-74.028348],[-112.945452,-74.38104],[-112.299083,-74.714198],[-111.261059,-74.420263],[-110.066325,-74.79254],[-108.714909,-74.910103],[-107.559346,-75.184454],[-106.149148,-75.125698],[-104.876074,-74.949326],[-103.367949,-74.988497],[-102.016507,-75.125698],[-100.645531,-75.302018],[-100.1167,-74.870933],[-100.763043,-74.537826],[-101.252703,-74.185083],[-102.545337,-74.106742],[-103.113313,-73.734413],[-103.328752,-73.362084],[-103.681289,-72.61753],[-102.917485,-72.754679],[-101.60524,-72.813436],[-100.312528,-72.754679],[-99.13738,-72.911414],[-98.118889,-73.20535],[-97.688037,-73.558041],[-96.336595,-73.616849],[-95.043961,-73.4797],[-93.672907,-73.283743],[-92.439003,-73.166179],[-91.420564,-73.401307],[-90.088733,-73.322914],[-89.226951,-72.558722],[-88.423951,-73.009393],[-87.268337,-73.185764],[-86.014822,-73.087786],[-85.192236,-73.4797],[-83.879991,-73.518871],[-82.665646,-73.636434],[-81.470913,-73.851977],[-80.687447,-73.4797],[-80.295791,-73.126956],[-79.296886,-73.518871],[-77.925858,-73.420892],[-76.907367,-73.636434],[-76.221879,-73.969541],[-74.890049,-73.871614],[-73.852024,-73.65602],[-72.833533,-73.401307],[-71.619215,-73.264157],[-70.209042,-73.146542],[-68.935916,-73.009393],[-67.956622,-72.79385],[-67.369061,-72.480329],[-67.134036,-72.049244],[-67.251548,-71.637745],[-67.56494,-71.245831],[-67.917477,-70.853917],[-68.230843,-70.462055],[-68.485452,-70.109311],[-68.544209,-69.717397],[-68.446282,-69.325535],[-67.976233,-68.953206],[-67.5845,-68.541707],[-67.427843,-68.149844],[-67.62367,-67.718759],[-67.741183,-67.326845],[-67.251548,-66.876175],[-66.703184,-66.58224],[-66.056815,-66.209963],[-65.371327,-65.89639],[-64.568276,-65.602506],[-64.176542,-65.171423],[-63.628152,-64.897073],[-63.001394,-64.642308],[-62.041686,-64.583552],[-61.414928,-64.270031],[-60.709855,-64.074074],[-59.887269,-63.95651],[-59.162585,-63.701745],[-58.594557,-63.388224],[-57.811143,-63.27066],[-57.223582,-63.525425],[-57.59573,-63.858532],[-58.614143,-64.152467]]]]},"id":"ATA"}, -{"type":"Feature","properties":{"name":"French Southern and Antarctic Lands"},"geometry":{"type":"Polygon","coordinates":[[[68.935,-48.625],[69.58,-48.94],[70.525,-49.065],[70.56,-49.255],[70.28,-49.71],[68.745,-49.775],[68.72,-49.2425],[68.8675,-48.83],[68.935,-48.625]]]},"id":"ATF"}, -{"type":"Feature","properties":{"name":"Australia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[145.397978,-40.792549],[146.364121,-41.137695],[146.908584,-41.000546],[147.689259,-40.808258],[148.289068,-40.875438],[148.359865,-42.062445],[148.017301,-42.407024],[147.914052,-43.211522],[147.564564,-42.937689],[146.870343,-43.634597],[146.663327,-43.580854],[146.048378,-43.549745],[145.43193,-42.693776],[145.29509,-42.03361],[144.718071,-41.162552],[144.743755,-40.703975],[145.397978,-40.792549]]],[[[143.561811,-13.763656],[143.922099,-14.548311],[144.563714,-14.171176],[144.894908,-14.594458],[145.374724,-14.984976],[145.271991,-15.428205],[145.48526,-16.285672],[145.637033,-16.784918],[145.888904,-16.906926],[146.160309,-17.761655],[146.063674,-18.280073],[146.387478,-18.958274],[147.471082,-19.480723],[148.177602,-19.955939],[148.848414,-20.39121],[148.717465,-20.633469],[149.28942,-21.260511],[149.678337,-22.342512],[150.077382,-22.122784],[150.482939,-22.556142],[150.727265,-22.402405],[150.899554,-23.462237],[151.609175,-24.076256],[152.07354,-24.457887],[152.855197,-25.267501],[153.136162,-26.071173],[153.161949,-26.641319],[153.092909,-27.2603],[153.569469,-28.110067],[153.512108,-28.995077],[153.339095,-29.458202],[153.069241,-30.35024],[153.089602,-30.923642],[152.891578,-31.640446],[152.450002,-32.550003],[151.709117,-33.041342],[151.343972,-33.816023],[151.010555,-34.31036],[150.714139,-35.17346],[150.32822,-35.671879],[150.075212,-36.420206],[149.946124,-37.109052],[149.997284,-37.425261],[149.423882,-37.772681],[148.304622,-37.809061],[147.381733,-38.219217],[146.922123,-38.606532],[146.317922,-39.035757],[145.489652,-38.593768],[144.876976,-38.417448],[145.032212,-37.896188],[144.485682,-38.085324],[143.609974,-38.809465],[142.745427,-38.538268],[142.17833,-38.380034],[141.606582,-38.308514],[140.638579,-38.019333],[139.992158,-37.402936],[139.806588,-36.643603],[139.574148,-36.138362],[139.082808,-35.732754],[138.120748,-35.612296],[138.449462,-35.127261],[138.207564,-34.384723],[137.71917,-35.076825],[136.829406,-35.260535],[137.352371,-34.707339],[137.503886,-34.130268],[137.890116,-33.640479],[137.810328,-32.900007],[136.996837,-33.752771],[136.372069,-34.094766],[135.989043,-34.890118],[135.208213,-34.47867],[135.239218,-33.947953],[134.613417,-33.222778],[134.085904,-32.848072],[134.273903,-32.617234],[132.990777,-32.011224],[132.288081,-31.982647],[131.326331,-31.495803],[129.535794,-31.590423],[128.240938,-31.948489],[127.102867,-32.282267],[126.148714,-32.215966],[125.088623,-32.728751],[124.221648,-32.959487],[124.028947,-33.483847],[123.659667,-33.890179],[122.811036,-33.914467],[122.183064,-34.003402],[121.299191,-33.821036],[120.580268,-33.930177],[119.893695,-33.976065],[119.298899,-34.509366],[119.007341,-34.464149],[118.505718,-34.746819],[118.024972,-35.064733],[117.295507,-35.025459],[116.625109,-35.025097],[115.564347,-34.386428],[115.026809,-34.196517],[115.048616,-33.623425],[115.545123,-33.487258],[115.714674,-33.259572],[115.679379,-32.900369],[115.801645,-32.205062],[115.689611,-31.612437],[115.160909,-30.601594],[114.997043,-30.030725],[115.040038,-29.461095],[114.641974,-28.810231],[114.616498,-28.516399],[114.173579,-28.118077],[114.048884,-27.334765],[113.477498,-26.543134],[113.338953,-26.116545],[113.778358,-26.549025],[113.440962,-25.621278],[113.936901,-25.911235],[114.232852,-26.298446],[114.216161,-25.786281],[113.721255,-24.998939],[113.625344,-24.683971],[113.393523,-24.384764],[113.502044,-23.80635],[113.706993,-23.560215],[113.843418,-23.059987],[113.736552,-22.475475],[114.149756,-21.755881],[114.225307,-22.517488],[114.647762,-21.82952],[115.460167,-21.495173],[115.947373,-21.068688],[116.711615,-20.701682],[117.166316,-20.623599],[117.441545,-20.746899],[118.229559,-20.374208],[118.836085,-20.263311],[118.987807,-20.044203],[119.252494,-19.952942],[119.805225,-19.976506],[120.85622,-19.683708],[121.399856,-19.239756],[121.655138,-18.705318],[122.241665,-18.197649],[122.286624,-17.798603],[122.312772,-17.254967],[123.012574,-16.4052],[123.433789,-17.268558],[123.859345,-17.069035],[123.503242,-16.596506],[123.817073,-16.111316],[124.258287,-16.327944],[124.379726,-15.56706],[124.926153,-15.0751],[125.167275,-14.680396],[125.670087,-14.51007],[125.685796,-14.230656],[126.125149,-14.347341],[126.142823,-14.095987],[126.582589,-13.952791],[127.065867,-13.817968],[127.804633,-14.276906],[128.35969,-14.86917],[128.985543,-14.875991],[129.621473,-14.969784],[129.4096,-14.42067],[129.888641,-13.618703],[130.339466,-13.357376],[130.183506,-13.10752],[130.617795,-12.536392],[131.223495,-12.183649],[131.735091,-12.302453],[132.575298,-12.114041],[132.557212,-11.603012],[131.824698,-11.273782],[132.357224,-11.128519],[133.019561,-11.376411],[133.550846,-11.786515],[134.393068,-12.042365],[134.678632,-11.941183],[135.298491,-12.248606],[135.882693,-11.962267],[136.258381,-12.049342],[136.492475,-11.857209],[136.95162,-12.351959],[136.685125,-12.887223],[136.305407,-13.29123],[135.961758,-13.324509],[136.077617,-13.724278],[135.783836,-14.223989],[135.428664,-14.715432],[135.500184,-14.997741],[136.295175,-15.550265],[137.06536,-15.870762],[137.580471,-16.215082],[138.303217,-16.807604],[138.585164,-16.806622],[139.108543,-17.062679],[139.260575,-17.371601],[140.215245,-17.710805],[140.875463,-17.369069],[141.07111,-16.832047],[141.274095,-16.38887],[141.398222,-15.840532],[141.702183,-15.044921],[141.56338,-14.561333],[141.63552,-14.270395],[141.519869,-13.698078],[141.65092,-12.944688],[141.842691,-12.741548],[141.68699,-12.407614],[141.928629,-11.877466],[142.118488,-11.328042],[142.143706,-11.042737],[142.51526,-10.668186],[142.79731,-11.157355],[142.866763,-11.784707],[143.115947,-11.90563],[143.158632,-12.325656],[143.522124,-12.834358],[143.597158,-13.400422],[143.561811,-13.763656]]]]},"id":"AUS"}, -{"type":"Feature","properties":{"name":"Austria"},"geometry":{"type":"Polygon","coordinates":[[[16.979667,48.123497],[16.903754,47.714866],[16.340584,47.712902],[16.534268,47.496171],[16.202298,46.852386],[16.011664,46.683611],[15.137092,46.658703],[14.632472,46.431817],[13.806475,46.509306],[12.376485,46.767559],[12.153088,47.115393],[11.164828,46.941579],[11.048556,46.751359],[10.442701,46.893546],[9.932448,46.920728],[9.47997,47.10281],[9.632932,47.347601],[9.594226,47.525058],[9.896068,47.580197],[10.402084,47.302488],[10.544504,47.566399],[11.426414,47.523766],[12.141357,47.703083],[12.62076,47.672388],[12.932627,47.467646],[13.025851,47.637584],[12.884103,48.289146],[13.243357,48.416115],[13.595946,48.877172],[14.338898,48.555305],[14.901447,48.964402],[15.253416,49.039074],[16.029647,48.733899],[16.499283,48.785808],[16.960288,48.596982],[16.879983,48.470013],[16.979667,48.123497]]]},"id":"AUT"}, -{"type":"Feature","properties":{"name":"Azerbaijan"},"geometry":{"type":"MultiPolygon","coordinates":[[[[45.001987,39.740004],[45.298145,39.471751],[45.739978,39.473999],[45.735379,39.319719],[46.143623,38.741201],[45.457722,38.874139],[44.952688,39.335765],[44.79399,39.713003],[45.001987,39.740004]]],[[[47.373315,41.219732],[47.815666,41.151416],[47.987283,41.405819],[48.584353,41.80887],[49.110264,41.282287],[49.618915,40.572924],[50.08483,40.526157],[50.392821,40.256561],[49.569202,40.176101],[49.395259,39.399482],[49.223228,39.049219],[48.856532,38.815486],[48.883249,38.320245],[48.634375,38.270378],[48.010744,38.794015],[48.355529,39.288765],[48.060095,39.582235],[47.685079,39.508364],[46.50572,38.770605],[46.483499,39.464155],[46.034534,39.628021],[45.610012,39.899994],[45.891907,40.218476],[45.359175,40.561504],[45.560351,40.81229],[45.179496,40.985354],[44.97248,41.248129],[45.217426,41.411452],[45.962601,41.123873],[46.501637,41.064445],[46.637908,41.181673],[46.145432,41.722802],[46.404951,41.860675],[46.686071,41.827137],[47.373315,41.219732]]]]},"id":"AZE"}, -{"type":"Feature","properties":{"name":"Burundi"},"geometry":{"type":"Polygon","coordinates":[[[29.339998,-4.499983],[29.276384,-3.293907],[29.024926,-2.839258],[29.632176,-2.917858],[29.938359,-2.348487],[30.469696,-2.413858],[30.527677,-2.807632],[30.743013,-3.034285],[30.752263,-3.35933],[30.50556,-3.568567],[30.116333,-4.090138],[29.753512,-4.452389],[29.339998,-4.499983]]]},"id":"BDI"}, -{"type":"Feature","properties":{"name":"Belgium"},"geometry":{"type":"Polygon","coordinates":[[[3.314971,51.345781],[4.047071,51.267259],[4.973991,51.475024],[5.606976,51.037298],[6.156658,50.803721],[6.043073,50.128052],[5.782417,50.090328],[5.674052,49.529484],[4.799222,49.985373],[4.286023,49.907497],[3.588184,50.378992],[3.123252,50.780363],[2.658422,50.796848],[2.513573,51.148506],[3.314971,51.345781]]]},"id":"BEL"}, -{"type":"Feature","properties":{"name":"Benin"},"geometry":{"type":"Polygon","coordinates":[[[2.691702,6.258817],[1.865241,6.142158],[1.618951,6.832038],[1.664478,9.12859],[1.463043,9.334624],[1.425061,9.825395],[1.077795,10.175607],[0.772336,10.470808],[0.899563,10.997339],[1.24347,11.110511],[1.447178,11.547719],[1.935986,11.64115],[2.154474,11.94015],[2.490164,12.233052],[2.848643,12.235636],[3.61118,11.660167],[3.572216,11.327939],[3.797112,10.734746],[3.60007,10.332186],[3.705438,10.06321],[3.220352,9.444153],[2.912308,9.137608],[2.723793,8.506845],[2.749063,7.870734],[2.691702,6.258817]]]},"id":"BEN"}, -{"type":"Feature","properties":{"name":"Burkina Faso"},"geometry":{"type":"Polygon","coordinates":[[[-2.827496,9.642461],[-3.511899,9.900326],[-3.980449,9.862344],[-4.330247,9.610835],[-4.779884,9.821985],[-4.954653,10.152714],[-5.404342,10.370737],[-5.470565,10.95127],[-5.197843,11.375146],[-5.220942,11.713859],[-4.427166,12.542646],[-4.280405,13.228444],[-4.006391,13.472485],[-3.522803,13.337662],[-3.103707,13.541267],[-2.967694,13.79815],[-2.191825,14.246418],[-2.001035,14.559008],[-1.066363,14.973815],[-0.515854,15.116158],[-0.266257,14.924309],[0.374892,14.928908],[0.295646,14.444235],[0.429928,13.988733],[0.993046,13.33575],[1.024103,12.851826],[2.177108,12.625018],[2.154474,11.94015],[1.935986,11.64115],[1.447178,11.547719],[1.24347,11.110511],[0.899563,10.997339],[0.023803,11.018682],[-0.438702,11.098341],[-0.761576,10.93693],[-1.203358,11.009819],[-2.940409,10.96269],[-2.963896,10.395335],[-2.827496,9.642461]]]},"id":"BFA"}, -{"type":"Feature","properties":{"name":"Bangladesh"},"geometry":{"type":"Polygon","coordinates":[[[92.672721,22.041239],[92.652257,21.324048],[92.303234,21.475485],[92.368554,20.670883],[92.082886,21.192195],[92.025215,21.70157],[91.834891,22.182936],[91.417087,22.765019],[90.496006,22.805017],[90.586957,22.392794],[90.272971,21.836368],[89.847467,22.039146],[89.70205,21.857116],[89.418863,21.966179],[89.031961,22.055708],[88.876312,22.879146],[88.52977,23.631142],[88.69994,24.233715],[88.084422,24.501657],[88.306373,24.866079],[88.931554,25.238692],[88.209789,25.768066],[88.563049,26.446526],[89.355094,26.014407],[89.832481,25.965082],[89.920693,25.26975],[90.872211,25.132601],[91.799596,25.147432],[92.376202,24.976693],[91.915093,24.130414],[91.46773,24.072639],[91.158963,23.503527],[91.706475,22.985264],[91.869928,23.624346],[92.146035,23.627499],[92.672721,22.041239]]]},"id":"BGD"}, -{"type":"Feature","properties":{"name":"Bulgaria"},"geometry":{"type":"Polygon","coordinates":[[[22.65715,44.234923],[22.944832,43.823785],[23.332302,43.897011],[24.100679,43.741051],[25.569272,43.688445],[26.065159,43.943494],[27.2424,44.175986],[27.970107,43.812468],[28.558081,43.707462],[28.039095,43.293172],[27.673898,42.577892],[27.99672,42.007359],[27.135739,42.141485],[26.117042,41.826905],[26.106138,41.328899],[25.197201,41.234486],[24.492645,41.583896],[23.692074,41.309081],[22.952377,41.337994],[22.881374,41.999297],[22.380526,42.32026],[22.545012,42.461362],[22.436595,42.580321],[22.604801,42.898519],[22.986019,43.211161],[22.500157,43.642814],[22.410446,44.008063],[22.65715,44.234923]]]},"id":"BGR"}, -{"type":"Feature","properties":{"name":"The Bahamas"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.53466,23.75975],[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],[-78.19087,25.2103],[-77.89,25.17],[-77.54,24.34],[-77.53466,23.75975]]],[[[-77.82,26.58],[-78.91,26.42],[-78.98,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58]]],[[[-77,26.59],[-77.17255,25.87918],[-77.35641,26.00735],[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04],[-77,26.59]]]]},"id":"BHS"}, -{"type":"Feature","properties":{"name":"Bosnia and Herzegovina"},"geometry":{"type":"Polygon","coordinates":[[[19.005486,44.860234],[19.36803,44.863],[19.11761,44.42307],[19.59976,44.03847],[19.454,43.5681],[19.21852,43.52384],[19.03165,43.43253],[18.70648,43.20011],[18.56,42.65],[17.674922,43.028563],[17.297373,43.446341],[16.916156,43.667722],[16.456443,44.04124],[16.23966,44.351143],[15.750026,44.818712],[15.959367,45.233777],[16.318157,45.004127],[16.534939,45.211608],[17.002146,45.233777],[17.861783,45.06774],[18.553214,45.08159],[19.005486,44.860234]]]},"id":"BIH"}, -{"type":"Feature","properties":{"name":"Belarus"},"geometry":{"type":"Polygon","coordinates":[[[23.484128,53.912498],[24.450684,53.905702],[25.536354,54.282423],[25.768433,54.846963],[26.588279,55.167176],[26.494331,55.615107],[27.10246,55.783314],[28.176709,56.16913],[29.229513,55.918344],[29.371572,55.670091],[29.896294,55.789463],[30.873909,55.550976],[30.971836,55.081548],[30.757534,54.811771],[31.384472,54.157056],[31.791424,53.974639],[31.731273,53.794029],[32.405599,53.618045],[32.693643,53.351421],[32.304519,53.132726],[31.497644,53.167427],[31.305201,53.073996],[31.540018,52.742052],[31.785998,52.101678],[30.927549,52.042353],[30.619454,51.822806],[30.555117,51.319503],[30.157364,51.416138],[29.254938,51.368234],[28.992835,51.602044],[28.617613,51.427714],[28.241615,51.572227],[27.454066,51.592303],[26.337959,51.832289],[25.327788,51.910656],[24.553106,51.888461],[24.005078,51.617444],[23.527071,51.578454],[23.508002,52.023647],[23.199494,52.486977],[23.799199,52.691099],[23.804935,53.089731],[23.527536,53.470122],[23.484128,53.912498]]]},"id":"BLR"}, -{"type":"Feature","properties":{"name":"Belize"},"geometry":{"type":"Polygon","coordinates":[[[-89.14308,17.808319],[-89.150909,17.955468],[-89.029857,18.001511],[-88.848344,17.883198],[-88.490123,18.486831],[-88.300031,18.499982],[-88.296336,18.353273],[-88.106813,18.348674],[-88.123479,18.076675],[-88.285355,17.644143],[-88.197867,17.489475],[-88.302641,17.131694],[-88.239518,17.036066],[-88.355428,16.530774],[-88.551825,16.265467],[-88.732434,16.233635],[-88.930613,15.887273],[-89.229122,15.886938],[-89.150806,17.015577],[-89.14308,17.808319]]]},"id":"BLZ"}, -{"type":"Feature","properties":{"name":"Bolivia"},"geometry":{"type":"Polygon","coordinates":[[[-62.846468,-22.034985],[-63.986838,-21.993644],[-64.377021,-22.798091],[-64.964892,-22.075862],[-66.273339,-21.83231],[-67.106674,-22.735925],[-67.82818,-22.872919],[-68.219913,-21.494347],[-68.757167,-20.372658],[-68.442225,-19.405068],[-68.966818,-18.981683],[-69.100247,-18.260125],[-69.590424,-17.580012],[-68.959635,-16.500698],[-69.389764,-15.660129],[-69.160347,-15.323974],[-69.339535,-14.953195],[-68.948887,-14.453639],[-68.929224,-13.602684],[-68.88008,-12.899729],[-68.66508,-12.5613],[-69.529678,-10.951734],[-68.786158,-11.03638],[-68.271254,-11.014521],[-68.048192,-10.712059],[-67.173801,-10.306812],[-66.646908,-9.931331],[-65.338435,-9.761988],[-65.444837,-10.511451],[-65.321899,-10.895872],[-65.402281,-11.56627],[-64.316353,-12.461978],[-63.196499,-12.627033],[-62.80306,-13.000653],[-62.127081,-13.198781],[-61.713204,-13.489202],[-61.084121,-13.479384],[-60.503304,-13.775955],[-60.459198,-14.354007],[-60.264326,-14.645979],[-60.251149,-15.077219],[-60.542966,-15.09391],[-60.15839,-16.258284],[-58.24122,-16.299573],[-58.388058,-16.877109],[-58.280804,-17.27171],[-57.734558,-17.552468],[-57.498371,-18.174188],[-57.676009,-18.96184],[-57.949997,-19.400004],[-57.853802,-19.969995],[-58.166392,-20.176701],[-58.183471,-19.868399],[-59.115042,-19.356906],[-60.043565,-19.342747],[-61.786326,-19.633737],[-62.265961,-20.513735],[-62.291179,-21.051635],[-62.685057,-22.249029],[-62.846468,-22.034985]]]},"id":"BOL"}, -{"type":"Feature","properties":{"name":"Brazil"},"geometry":{"type":"Polygon","coordinates":[[[-57.625133,-30.216295],[-56.2909,-28.852761],[-55.162286,-27.881915],[-54.490725,-27.474757],[-53.648735,-26.923473],[-53.628349,-26.124865],[-54.13005,-25.547639],[-54.625291,-25.739255],[-54.428946,-25.162185],[-54.293476,-24.5708],[-54.29296,-24.021014],[-54.652834,-23.839578],[-55.027902,-24.001274],[-55.400747,-23.956935],[-55.517639,-23.571998],[-55.610683,-22.655619],[-55.797958,-22.35693],[-56.473317,-22.0863],[-56.88151,-22.282154],[-57.937156,-22.090176],[-57.870674,-20.732688],[-58.166392,-20.176701],[-57.853802,-19.969995],[-57.949997,-19.400004],[-57.676009,-18.96184],[-57.498371,-18.174188],[-57.734558,-17.552468],[-58.280804,-17.27171],[-58.388058,-16.877109],[-58.24122,-16.299573],[-60.15839,-16.258284],[-60.542966,-15.09391],[-60.251149,-15.077219],[-60.264326,-14.645979],[-60.459198,-14.354007],[-60.503304,-13.775955],[-61.084121,-13.479384],[-61.713204,-13.489202],[-62.127081,-13.198781],[-62.80306,-13.000653],[-63.196499,-12.627033],[-64.316353,-12.461978],[-65.402281,-11.56627],[-65.321899,-10.895872],[-65.444837,-10.511451],[-65.338435,-9.761988],[-66.646908,-9.931331],[-67.173801,-10.306812],[-68.048192,-10.712059],[-68.271254,-11.014521],[-68.786158,-11.03638],[-69.529678,-10.951734],[-70.093752,-11.123972],[-70.548686,-11.009147],[-70.481894,-9.490118],[-71.302412,-10.079436],[-72.184891,-10.053598],[-72.563033,-9.520194],[-73.226713,-9.462213],[-73.015383,-9.032833],[-73.571059,-8.424447],[-73.987235,-7.52383],[-73.723401,-7.340999],[-73.724487,-6.918595],[-73.120027,-6.629931],[-73.219711,-6.089189],[-72.964507,-5.741251],[-72.891928,-5.274561],[-71.748406,-4.593983],[-70.928843,-4.401591],[-70.794769,-4.251265],[-69.893635,-4.298187],[-69.444102,-1.556287],[-69.420486,-1.122619],[-69.577065,-0.549992],[-70.020656,-0.185156],[-70.015566,0.541414],[-69.452396,0.706159],[-69.252434,0.602651],[-69.218638,0.985677],[-69.804597,1.089081],[-69.816973,1.714805],[-67.868565,1.692455],[-67.53781,2.037163],[-67.259998,1.719999],[-67.065048,1.130112],[-66.876326,1.253361],[-66.325765,0.724452],[-65.548267,0.789254],[-65.354713,1.095282],[-64.611012,1.328731],[-64.199306,1.492855],[-64.083085,1.916369],[-63.368788,2.2009],[-63.422867,2.411068],[-64.269999,2.497006],[-64.408828,3.126786],[-64.368494,3.79721],[-64.816064,4.056445],[-64.628659,4.148481],[-63.888343,4.02053],[-63.093198,3.770571],[-62.804533,4.006965],[-62.08543,4.162124],[-60.966893,4.536468],[-60.601179,4.918098],[-60.733574,5.200277],[-60.213683,5.244486],[-59.980959,5.014061],[-60.111002,4.574967],[-59.767406,4.423503],[-59.53804,3.958803],[-59.815413,3.606499],[-59.974525,2.755233],[-59.718546,2.24963],[-59.646044,1.786894],[-59.030862,1.317698],[-58.540013,1.268088],[-58.429477,1.463942],[-58.11345,1.507195],[-57.660971,1.682585],[-57.335823,1.948538],[-56.782704,1.863711],[-56.539386,1.899523],[-55.995698,1.817667],[-55.9056,2.021996],[-56.073342,2.220795],[-55.973322,2.510364],[-55.569755,2.421506],[-55.097587,2.523748],[-54.524754,2.311849],[-54.088063,2.105557],[-53.778521,2.376703],[-53.554839,2.334897],[-53.418465,2.053389],[-52.939657,2.124858],[-52.556425,2.504705],[-52.249338,3.241094],[-51.657797,4.156232],[-51.317146,4.203491],[-51.069771,3.650398],[-50.508875,1.901564],[-49.974076,1.736483],[-49.947101,1.04619],[-50.699251,0.222984],[-50.388211,-0.078445],[-48.620567,-0.235489],[-48.584497,-1.237805],[-47.824956,-0.581618],[-46.566584,-0.941028],[-44.905703,-1.55174],[-44.417619,-2.13775],[-44.581589,-2.691308],[-43.418791,-2.38311],[-41.472657,-2.912018],[-39.978665,-2.873054],[-38.500383,-3.700652],[-37.223252,-4.820946],[-36.452937,-5.109404],[-35.597796,-5.149504],[-35.235389,-5.464937],[-34.89603,-6.738193],[-34.729993,-7.343221],[-35.128212,-8.996401],[-35.636967,-9.649282],[-37.046519,-11.040721],[-37.683612,-12.171195],[-38.423877,-13.038119],[-38.673887,-13.057652],[-38.953276,-13.79337],[-38.882298,-15.667054],[-39.161092,-17.208407],[-39.267339,-17.867746],[-39.583521,-18.262296],[-39.760823,-19.599113],[-40.774741,-20.904512],[-40.944756,-21.937317],[-41.754164,-22.370676],[-41.988284,-22.97007],[-43.074704,-22.967693],[-44.647812,-23.351959],[-45.352136,-23.796842],[-46.472093,-24.088969],[-47.648972,-24.885199],[-48.495458,-25.877025],[-48.641005,-26.623698],[-48.474736,-27.175912],[-48.66152,-28.186135],[-48.888457,-28.674115],[-49.587329,-29.224469],[-50.696874,-30.984465],[-51.576226,-31.777698],[-52.256081,-32.24537],[-52.7121,-33.196578],[-53.373662,-33.768378],[-53.650544,-33.202004],[-53.209589,-32.727666],[-53.787952,-32.047243],[-54.572452,-31.494511],[-55.60151,-30.853879],[-55.973245,-30.883076],[-56.976026,-30.109686],[-57.625133,-30.216295]]]},"id":"BRA"}, -{"type":"Feature","properties":{"name":"Brunei"},"geometry":{"type":"Polygon","coordinates":[[[114.204017,4.525874],[114.599961,4.900011],[115.45071,5.44773],[115.4057,4.955228],[115.347461,4.316636],[114.869557,4.348314],[114.659596,4.007637],[114.204017,4.525874]]]},"id":"BRN"}, -{"type":"Feature","properties":{"name":"Bhutan"},"geometry":{"type":"Polygon","coordinates":[[[91.696657,27.771742],[92.103712,27.452614],[92.033484,26.83831],[91.217513,26.808648],[90.373275,26.875724],[89.744528,26.719403],[88.835643,27.098966],[88.814248,27.299316],[89.47581,28.042759],[90.015829,28.296439],[90.730514,28.064954],[91.258854,28.040614],[91.696657,27.771742]]]},"id":"BTN"}, -{"type":"Feature","properties":{"name":"Botswana"},"geometry":{"type":"Polygon","coordinates":[[[25.649163,-18.536026],[25.850391,-18.714413],[26.164791,-19.293086],[27.296505,-20.39152],[27.724747,-20.499059],[27.727228,-20.851802],[28.02137,-21.485975],[28.794656,-21.639454],[29.432188,-22.091313],[28.017236,-22.827754],[27.11941,-23.574323],[26.786407,-24.240691],[26.485753,-24.616327],[25.941652,-24.696373],[25.765849,-25.174845],[25.664666,-25.486816],[25.025171,-25.71967],[24.211267,-25.670216],[23.73357,-25.390129],[23.312097,-25.26869],[22.824271,-25.500459],[22.579532,-25.979448],[22.105969,-26.280256],[21.605896,-26.726534],[20.889609,-26.828543],[20.66647,-26.477453],[20.758609,-25.868136],[20.165726,-24.917962],[19.895768,-24.76779],[19.895458,-21.849157],[20.881134,-21.814327],[20.910641,-18.252219],[21.65504,-18.219146],[23.196858,-17.869038],[23.579006,-18.281261],[24.217365,-17.889347],[24.520705,-17.887125],[25.084443,-17.661816],[25.264226,-17.73654],[25.649163,-18.536026]]]},"id":"BWA"}, -{"type":"Feature","properties":{"name":"Central African Republic"},"geometry":{"type":"Polygon","coordinates":[[[15.27946,7.421925],[16.106232,7.497088],[16.290562,7.754307],[16.456185,7.734774],[16.705988,7.508328],[17.96493,7.890914],[18.389555,8.281304],[18.911022,8.630895],[18.81201,8.982915],[19.094008,9.074847],[20.059685,9.012706],[21.000868,9.475985],[21.723822,10.567056],[22.231129,10.971889],[22.864165,11.142395],[22.977544,10.714463],[23.554304,10.089255],[23.55725,9.681218],[23.394779,9.265068],[23.459013,8.954286],[23.805813,8.666319],[24.567369,8.229188],[25.114932,7.825104],[25.124131,7.500085],[25.796648,6.979316],[26.213418,6.546603],[26.465909,5.946717],[27.213409,5.550953],[27.374226,5.233944],[27.044065,5.127853],[26.402761,5.150875],[25.650455,5.256088],[25.278798,5.170408],[25.128833,4.927245],[24.805029,4.897247],[24.410531,5.108784],[23.297214,4.609693],[22.84148,4.710126],[22.704124,4.633051],[22.405124,4.02916],[21.659123,4.224342],[20.927591,4.322786],[20.290679,4.691678],[19.467784,5.031528],[18.932312,4.709506],[18.542982,4.201785],[18.453065,3.504386],[17.8099,3.560196],[17.133042,3.728197],[16.537058,3.198255],[16.012852,2.26764],[15.907381,2.557389],[15.862732,3.013537],[15.405396,3.335301],[15.03622,3.851367],[14.950953,4.210389],[14.478372,4.732605],[14.558936,5.030598],[14.459407,5.451761],[14.53656,6.226959],[14.776545,6.408498],[15.27946,7.421925]]]},"id":"CAF"}, -{"type":"Feature","properties":{"name":"Canada"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601],[-63.6645,46.55001]]],[[[-61.806305,49.10506],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641],[-61.835585,49.28855],[-61.806305,49.10506]]],[[[-123.510002,48.510011],[-124.012891,48.370846],[-125.655013,48.825005],[-125.954994,49.179996],[-126.850004,49.53],[-127.029993,49.814996],[-128.059336,49.994959],[-128.444584,50.539138],[-128.358414,50.770648],[-127.308581,50.552574],[-126.695001,50.400903],[-125.755007,50.295018],[-125.415002,49.950001],[-124.920768,49.475275],[-123.922509,49.062484],[-123.510002,48.510011]]],[[[-56.134036,50.68701],[-56.795882,49.812309],[-56.143105,50.150117],[-55.471492,49.935815],[-55.822401,49.587129],[-54.935143,49.313011],[-54.473775,49.556691],[-53.476549,49.249139],[-53.786014,48.516781],[-53.086134,48.687804],[-52.958648,48.157164],[-52.648099,47.535548],[-53.069158,46.655499],[-53.521456,46.618292],[-54.178936,46.807066],[-53.961869,47.625207],[-54.240482,47.752279],[-55.400773,46.884994],[-55.997481,46.91972],[-55.291219,47.389562],[-56.250799,47.632545],[-57.325229,47.572807],[-59.266015,47.603348],[-59.419494,47.899454],[-58.796586,48.251525],[-59.231625,48.523188],[-58.391805,49.125581],[-57.35869,50.718274],[-56.73865,51.287438],[-55.870977,51.632094],[-55.406974,51.588273],[-55.600218,51.317075],[-56.134036,50.68701]]],[[[-132.710008,54.040009],[-132.710009,54.040009],[-132.710008,54.040009],[-132.710008,54.040009],[-131.74999,54.120004],[-132.04948,52.984621],[-131.179043,52.180433],[-131.57783,52.182371],[-132.180428,52.639707],[-132.549992,53.100015],[-133.054611,53.411469],[-133.239664,53.85108],[-133.180004,54.169975],[-132.710008,54.040009]]],[[[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.7181],[-80.36215,62.01649],[-80.315395,62.085565],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675]]],[[[-81.89825,62.7108],[-83.06857,62.15922],[-83.77462,62.18231],[-83.99367,62.4528],[-83.25048,62.91409],[-81.87699,62.90458],[-81.89825,62.7108]]],[[[-85.161308,65.657285],[-84.975764,65.217518],[-84.464012,65.371772],[-83.882626,65.109618],[-82.787577,64.766693],[-81.642014,64.455136],[-81.55344,63.979609],[-80.817361,64.057486],[-80.103451,63.725981],[-80.99102,63.411246],[-82.547178,63.651722],[-83.108798,64.101876],[-84.100417,63.569712],[-85.523405,63.052379],[-85.866769,63.637253],[-87.221983,63.541238],[-86.35276,64.035833],[-86.224886,64.822917],[-85.883848,65.738778],[-85.161308,65.657285]]],[[[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809],[-76.81166,68.14856],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425],[-75.86588,67.14886]]],[[[-95.647681,69.10769],[-96.269521,68.75704],[-97.617401,69.06003],[-98.431801,68.9507],[-99.797401,69.40003],[-98.917401,69.71003],[-98.218261,70.14354],[-97.157401,69.86003],[-96.557401,69.68003],[-96.257401,69.49003],[-95.647681,69.10769]]],[[[-90.5471,69.49766],[-90.55151,68.47499],[-89.21515,69.25873],[-88.01966,68.61508],[-88.31749,67.87338],[-87.35017,67.19872],[-86.30607,67.92146],[-85.57664,68.78456],[-85.52197,69.88211],[-84.10081,69.80539],[-82.62258,69.65826],[-81.28043,69.16202],[-81.2202,68.66567],[-81.96436,68.13253],[-81.25928,67.59716],[-81.38653,67.11078],[-83.34456,66.41154],[-84.73542,66.2573],[-85.76943,66.55833],[-86.0676,66.05625],[-87.03143,65.21297],[-87.32324,64.77563],[-88.48296,64.09897],[-89.91444,64.03273],[-90.70398,63.61017],[-90.77004,62.96021],[-91.93342,62.83508],[-93.15698,62.02469],[-94.24153,60.89865],[-94.62931,60.11021],[-94.6846,58.94882],[-93.21502,58.78212],[-92.76462,57.84571],[-92.29703,57.08709],[-90.89769,57.28468],[-89.03953,56.85172],[-88.03978,56.47162],[-87.32421,55.99914],[-86.07121,55.72383],[-85.01181,55.3026],[-83.36055,55.24489],[-82.27285,55.14832],[-82.4362,54.28227],[-82.12502,53.27703],[-81.40075,52.15788],[-79.91289,51.20842],[-79.14301,51.53393],[-78.60191,52.56208],[-79.12421,54.14145],[-79.82958,54.66772],[-78.22874,55.13645],[-77.0956,55.83741],[-76.54137,56.53423],[-76.62319,57.20263],[-77.30226,58.05209],[-78.51688,58.80458],[-77.33676,59.85261],[-77.77272,60.75788],[-78.10687,62.31964],[-77.41067,62.55053],[-75.69621,62.2784],[-74.6682,62.18111],[-73.83988,62.4438],[-72.90853,62.10507],[-71.67708,61.52535],[-71.37369,61.13717],[-69.59042,61.06141],[-69.62033,60.22125],[-69.2879,58.95736],[-68.37455,58.80106],[-67.64976,58.21206],[-66.20178,58.76731],[-65.24517,59.87071],[-64.58352,60.33558],[-63.80475,59.4426],[-62.50236,58.16708],[-61.39655,56.96745],[-61.79866,56.33945],[-60.46853,55.77548],[-59.56962,55.20407],[-57.97508,54.94549],[-57.3332,54.6265],[-56.93689,53.78032],[-56.15811,53.64749],[-55.75632,53.27036],[-55.68338,52.14664],[-56.40916,51.7707],[-57.12691,51.41972],[-58.77482,51.0643],[-60.03309,50.24277],[-61.72366,50.08046],[-63.86251,50.29099],[-65.36331,50.2982],[-66.39905,50.22897],[-67.23631,49.51156],[-68.51114,49.06836],[-69.95362,47.74488],[-71.10458,46.82171],[-70.25522,46.98606],[-68.65,48.3],[-66.55243,49.1331],[-65.05626,49.23278],[-64.17099,48.74248],[-65.11545,48.07085],[-64.79854,46.99297],[-64.47219,46.23849],[-63.17329,45.73902],[-61.52072,45.88377],[-60.51815,47.00793],[-60.4486,46.28264],[-59.80287,45.9204],[-61.03988,45.26525],[-63.25471,44.67014],[-64.24656,44.26553],[-65.36406,43.54523],[-66.1234,43.61867],[-66.16173,44.46512],[-64.42549,45.29204],[-66.02605,45.25931],[-67.13741,45.13753],[-67.79134,45.70281],[-67.79046,47.06636],[-68.23444,47.35486],[-68.905,47.185],[-69.237216,47.447781],[-69.99997,46.69307],[-70.305,45.915],[-70.66,45.46],[-71.08482,45.30524],[-71.405,45.255],[-71.50506,45.0082],[-73.34783,45.00738],[-74.867,45.00048],[-75.31821,44.81645],[-76.375,44.09631],[-76.5,44.018459],[-76.820034,43.628784],[-77.737885,43.629056],[-78.72028,43.625089],[-79.171674,43.466339],[-79.01,43.27],[-78.92,42.965],[-78.939362,42.863611],[-80.247448,42.3662],[-81.277747,42.209026],[-82.439278,41.675105],[-82.690089,41.675105],[-83.02981,41.832796],[-83.142,41.975681],[-83.12,42.08],[-82.9,42.43],[-82.43,42.98],[-82.137642,43.571088],[-82.337763,44.44],[-82.550925,45.347517],[-83.592851,45.816894],[-83.469551,45.994686],[-83.616131,46.116927],[-83.890765,46.116927],[-84.091851,46.275419],[-84.14212,46.512226],[-84.3367,46.40877],[-84.6049,46.4396],[-84.543749,46.538684],[-84.779238,46.637102],[-84.87608,46.900083],[-85.652363,47.220219],[-86.461991,47.553338],[-87.439793,47.94],[-88.378114,48.302918],[-89.272917,48.019808],[-89.6,48.01],[-90.83,48.27],[-91.64,48.14],[-92.61,48.45],[-93.63087,48.60926],[-94.32914,48.67074],[-94.64,48.84],[-94.81758,49.38905],[-95.15609,49.38425],[-95.15907,49],[-97.22872,49.0007],[-100.65,49],[-104.04826,48.99986],[-107.05,49],[-110.05,49],[-113,49],[-116.04818,49],[-117.03121,49],[-120,49],[-122.84,49],[-122.97421,49.002538],[-124.91024,49.98456],[-125.62461,50.41656],[-127.43561,50.83061],[-127.99276,51.71583],[-127.85032,52.32961],[-129.12979,52.75538],[-129.30523,53.56159],[-130.51497,54.28757],[-130.53611,54.80278],[-129.98,55.285],[-130.00778,55.91583],[-131.70781,56.55212],[-132.73042,57.69289],[-133.35556,58.41028],[-134.27111,58.86111],[-134.945,59.27056],[-135.47583,59.78778],[-136.47972,59.46389],[-137.4525,58.905],[-138.34089,59.56211],[-139.039,60],[-140.013,60.27682],[-140.99778,60.30639],[-140.9925,66.00003],[-140.986,69.712],[-139.12052,69.47102],[-137.54636,68.99002],[-136.50358,68.89804],[-135.62576,69.31512],[-134.41464,69.62743],[-132.92925,69.50534],[-131.43136,69.94451],[-129.79471,70.19369],[-129.10773,69.77927],[-128.36156,70.01286],[-128.13817,70.48384],[-127.44712,70.37721],[-125.75632,69.48058],[-124.42483,70.1584],[-124.28968,69.39969],[-123.06108,69.56372],[-122.6835,69.85553],[-121.47226,69.79778],[-119.94288,69.37786],[-117.60268,69.01128],[-116.22643,68.84151],[-115.2469,68.90591],[-113.89794,68.3989],[-115.30489,67.90261],[-113.49727,67.68815],[-110.798,67.80612],[-109.94619,67.98104],[-108.8802,67.38144],[-107.79239,67.88736],[-108.81299,68.31164],[-108.16721,68.65392],[-106.95,68.7],[-106.15,68.8],[-105.34282,68.56122],[-104.33791,68.018],[-103.22115,68.09775],[-101.45433,67.64689],[-99.90195,67.80566],[-98.4432,67.78165],[-98.5586,68.40394],[-97.66948,68.57864],[-96.11991,68.23939],[-96.12588,67.29338],[-95.48943,68.0907],[-94.685,68.06383],[-94.23282,69.06903],[-95.30408,69.68571],[-96.47131,70.08976],[-96.39115,71.19482],[-95.2088,71.92053],[-93.88997,71.76015],[-92.87818,71.31869],[-91.51964,70.19129],[-92.40692,69.69997],[-90.5471,69.49766]]],[[[-114.16717,73.12145],[-114.66634,72.65277],[-112.44102,72.9554],[-111.05039,72.4504],[-109.92035,72.96113],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953],[-107.51645,73.23598],[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984],[-104.46476,70.99297],[-102.78537,70.49776],[-100.98078,70.02432],[-101.08929,69.58447],[-102.73116,69.50402],[-102.09329,69.11962],[-102.43024,68.75282],[-104.24,68.91],[-105.96,69.18],[-107.12254,69.11922],[-109,68.78],[-111.534149,68.630059],[-113.3132,68.53554],[-113.85496,69.00744],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96],[-116.67473,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.36638],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459],[-114.16717,73.12145]]],[[[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[-106.6,73.6],[-105.26,73.64],[-104.5,73.42]]],[[[-76.34,73.102685],[-76.251404,72.826385],[-77.314438,72.855545],[-78.39167,72.876656],[-79.486252,72.742203],[-79.775833,72.802902],[-80.876099,73.333183],[-80.833885,73.693184],[-80.353058,73.75972],[-78.064438,73.651932],[-76.34,73.102685]]],[[[-86.562179,73.157447],[-85.774371,72.534126],[-84.850112,73.340278],[-82.31559,73.750951],[-80.600088,72.716544],[-80.748942,72.061907],[-78.770639,72.352173],[-77.824624,72.749617],[-75.605845,72.243678],[-74.228616,71.767144],[-74.099141,71.33084],[-72.242226,71.556925],[-71.200015,70.920013],[-68.786054,70.525024],[-67.91497,70.121948],[-66.969033,69.186087],[-68.805123,68.720198],[-66.449866,68.067163],[-64.862314,67.847539],[-63.424934,66.928473],[-61.851981,66.862121],[-62.163177,66.160251],[-63.918444,64.998669],[-65.14886,65.426033],[-66.721219,66.388041],[-68.015016,66.262726],[-68.141287,65.689789],[-67.089646,65.108455],[-65.73208,64.648406],[-65.320168,64.382737],[-64.669406,63.392927],[-65.013804,62.674185],[-66.275045,62.945099],[-68.783186,63.74567],[-67.369681,62.883966],[-66.328297,62.280075],[-66.165568,61.930897],[-68.877367,62.330149],[-71.023437,62.910708],[-72.235379,63.397836],[-71.886278,63.679989],[-73.378306,64.193963],[-74.834419,64.679076],[-74.818503,64.389093],[-77.70998,64.229542],[-78.555949,64.572906],[-77.897281,65.309192],[-76.018274,65.326969],[-73.959795,65.454765],[-74.293883,65.811771],[-73.944912,66.310578],[-72.651167,67.284576],[-72.92606,67.726926],[-73.311618,68.069437],[-74.843307,68.554627],[-76.869101,68.894736],[-76.228649,69.147769],[-77.28737,69.76954],[-78.168634,69.826488],[-78.957242,70.16688],[-79.492455,69.871808],[-81.305471,69.743185],[-84.944706,69.966634],[-87.060003,70.260001],[-88.681713,70.410741],[-89.51342,70.762038],[-88.467721,71.218186],[-89.888151,71.222552],[-90.20516,72.235074],[-89.436577,73.129464],[-88.408242,73.537889],[-85.826151,73.803816],[-86.562179,73.157447]]],[[[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389]]],[[[-93.196296,72.771992],[-94.269047,72.024596],[-95.409856,72.061881],[-96.033745,72.940277],[-96.018268,73.43743],[-95.495793,73.862417],[-94.503658,74.134907],[-92.420012,74.100025],[-90.509793,73.856732],[-92.003965,72.966244],[-93.196296,72.771992]]],[[[-120.46,71.383602],[-123.09219,70.90164],[-123.62,71.34],[-125.928949,71.868688],[-125.5,72.292261],[-124.80729,73.02256],[-123.94,73.68],[-124.91775,74.29275],[-121.53788,74.44893],[-120.10978,74.24135],[-117.55564,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76794,73.22292],[-119.22,72.52],[-120.46,71.82],[-120.46,71.383602]]],[[[-93.612756,74.979997],[-94.156909,74.592347],[-95.608681,74.666864],[-96.820932,74.927623],[-96.288587,75.377828],[-94.85082,75.647218],[-93.977747,75.29649],[-93.612756,74.979997]]],[[[-98.5,76.72],[-97.735585,76.25656],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.05736],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]],[[[-108.21141,76.20168],[-107.81943,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168]]],[[[-94.684086,77.097878],[-93.573921,76.776296],[-91.605023,76.778518],[-90.741846,76.449597],[-90.969661,76.074013],[-89.822238,75.847774],[-89.187083,75.610166],[-87.838276,75.566189],[-86.379192,75.482421],[-84.789625,75.699204],[-82.753445,75.784315],[-81.128531,75.713983],[-80.057511,75.336849],[-79.833933,74.923127],[-80.457771,74.657304],[-81.948843,74.442459],[-83.228894,74.564028],[-86.097452,74.410032],[-88.15035,74.392307],[-89.764722,74.515555],[-92.422441,74.837758],[-92.768285,75.38682],[-92.889906,75.882655],[-93.893824,76.319244],[-95.962457,76.441381],[-97.121379,76.751078],[-96.745123,77.161389],[-94.684086,77.097878]]],[[[-116.198587,77.645287],[-116.335813,76.876962],[-117.106051,76.530032],[-118.040412,76.481172],[-119.899318,76.053213],[-121.499995,75.900019],[-122.854924,76.116543],[-122.854925,76.116543],[-121.157535,76.864508],[-119.103939,77.51222],[-117.570131,77.498319],[-116.198587,77.645287]]],[[[-93.840003,77.519997],[-94.295608,77.491343],[-96.169654,77.555111],[-96.436304,77.834629],[-94.422577,77.820005],[-93.720656,77.634331],[-93.840003,77.519997]]],[[[-110.186938,77.697015],[-112.051191,77.409229],[-113.534279,77.732207],[-112.724587,78.05105],[-111.264443,78.152956],[-109.854452,77.996325],[-110.186938,77.697015]]],[[[-109.663146,78.601973],[-110.881314,78.40692],[-112.542091,78.407902],[-112.525891,78.550555],[-111.50001,78.849994],[-110.963661,78.804441],[-109.663146,78.601973]]],[[[-95.830295,78.056941],[-97.309843,77.850597],[-98.124289,78.082857],[-98.552868,78.458105],[-98.631984,78.87193],[-97.337231,78.831984],[-96.754399,78.765813],[-95.559278,78.418315],[-95.830295,78.056941]]],[[[-100.060192,78.324754],[-99.670939,77.907545],[-101.30394,78.018985],[-102.949809,78.343229],[-105.176133,78.380332],[-104.210429,78.67742],[-105.41958,78.918336],[-105.492289,79.301594],[-103.529282,79.165349],[-100.825158,78.800462],[-100.060192,78.324754]]],[[[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93574,79.11373],[-93.14524,79.3801],[-94.974,79.37248],[-96.07614,79.70502],[-96.70972,80.15777],[-96.01644,80.60233],[-95.32345,80.90729],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.25739],[-91.13289,80.72345],[-89.45,80.509322],[-87.81,80.32],[-87.02,79.66]]],[[[-68.5,83.106322],[-65.82735,83.02801],[-63.68,82.9],[-61.85,82.6286],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[-67.84,80.9],[-69.4697,80.61683],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.430162],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39345,78.52581],[-76.34354,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.17833],[-88.26,77.9],[-87.65,77.970222],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.408696,80.1],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.652273],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.172059],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.169781],[-68.5,83.106322]]]]},"id":"CAN"}, -{"type":"Feature","properties":{"name":"Switzerland"},"geometry":{"type":"Polygon","coordinates":[[[9.594226,47.525058],[9.632932,47.347601],[9.47997,47.10281],[9.932448,46.920728],[10.442701,46.893546],[10.363378,46.483571],[9.922837,46.314899],[9.182882,46.440215],[8.966306,46.036932],[8.489952,46.005151],[8.31663,46.163642],[7.755992,45.82449],[7.273851,45.776948],[6.843593,45.991147],[6.5001,46.429673],[6.022609,46.27299],[6.037389,46.725779],[6.768714,47.287708],[6.736571,47.541801],[7.192202,47.449766],[7.466759,47.620582],[8.317301,47.61358],[8.522612,47.830828],[9.594226,47.525058]]]},"id":"CHE"}, -{"type":"Feature","properties":{"name":"Chile"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-68.63401,-52.63637],[-68.63335,-54.8695],[-67.56244,-54.87001],[-66.95992,-54.89681],[-67.29103,-55.30124],[-68.14863,-55.61183],[-68.639991,-55.580018],[-69.2321,-55.49906],[-69.95809,-55.19843],[-71.00568,-55.05383],[-72.2639,-54.49514],[-73.2852,-53.95752],[-74.66253,-52.83749],[-73.8381,-53.04743],[-72.43418,-53.7154],[-71.10773,-54.07433],[-70.59178,-53.61583],[-70.26748,-52.93123],[-69.34565,-52.5183],[-68.63401,-52.63637]]],[[[-68.219913,-21.494347],[-67.82818,-22.872919],[-67.106674,-22.735925],[-66.985234,-22.986349],[-67.328443,-24.025303],[-68.417653,-24.518555],[-68.386001,-26.185016],[-68.5948,-26.506909],[-68.295542,-26.89934],[-69.001235,-27.521214],[-69.65613,-28.459141],[-70.01355,-29.367923],[-69.919008,-30.336339],[-70.535069,-31.36501],[-70.074399,-33.09121],[-69.814777,-33.273886],[-69.817309,-34.193571],[-70.388049,-35.169688],[-70.364769,-36.005089],[-71.121881,-36.658124],[-71.118625,-37.576827],[-70.814664,-38.552995],[-71.413517,-38.916022],[-71.680761,-39.808164],[-71.915734,-40.832339],[-71.746804,-42.051386],[-72.148898,-42.254888],[-71.915424,-43.408565],[-71.464056,-43.787611],[-71.793623,-44.207172],[-71.329801,-44.407522],[-71.222779,-44.784243],[-71.659316,-44.973689],[-71.552009,-45.560733],[-71.917258,-46.884838],[-72.447355,-47.738533],[-72.331161,-48.244238],[-72.648247,-48.878618],[-73.415436,-49.318436],[-73.328051,-50.378785],[-72.975747,-50.74145],[-72.309974,-50.67701],[-72.329404,-51.425956],[-71.914804,-52.009022],[-69.498362,-52.142761],[-68.571545,-52.299444],[-69.461284,-52.291951],[-69.94278,-52.537931],[-70.845102,-52.899201],[-71.006332,-53.833252],[-71.429795,-53.856455],[-72.557943,-53.53141],[-73.702757,-52.835069],[-73.702757,-52.83507],[-74.946763,-52.262754],[-75.260026,-51.629355],[-74.976632,-51.043396],[-75.479754,-50.378372],[-75.608015,-48.673773],[-75.18277,-47.711919],[-74.126581,-46.939253],[-75.644395,-46.647643],[-74.692154,-45.763976],[-74.351709,-44.103044],[-73.240356,-44.454961],[-72.717804,-42.383356],[-73.3889,-42.117532],[-73.701336,-43.365776],[-74.331943,-43.224958],[-74.017957,-41.794813],[-73.677099,-39.942213],[-73.217593,-39.258689],[-73.505559,-38.282883],[-73.588061,-37.156285],[-73.166717,-37.12378],[-72.553137,-35.50884],[-71.861732,-33.909093],[-71.43845,-32.418899],[-71.668721,-30.920645],[-71.370083,-30.095682],[-71.489894,-28.861442],[-70.905124,-27.64038],[-70.724954,-25.705924],[-70.403966,-23.628997],[-70.091246,-21.393319],[-70.16442,-19.756468],[-70.372572,-18.347975],[-69.858444,-18.092694],[-69.590424,-17.580012],[-69.100247,-18.260125],[-68.966818,-18.981683],[-68.442225,-19.405068],[-68.757167,-20.372658],[-68.219913,-21.494347]]]]},"id":"CHL"}, -{"type":"Feature","properties":{"name":"China"},"geometry":{"type":"MultiPolygon","coordinates":[[[[110.339188,18.678395],[109.47521,18.197701],[108.655208,18.507682],[108.626217,19.367888],[109.119056,19.821039],[110.211599,20.101254],[110.786551,20.077534],[111.010051,19.69593],[110.570647,19.255879],[110.339188,18.678395]]],[[[127.657407,49.76027],[129.397818,49.4406],[130.582293,48.729687],[130.987282,47.790132],[132.506672,47.78897],[133.373596,48.183442],[135.026311,48.47823],[134.500814,47.57844],[134.112362,47.212467],[133.769644,46.116927],[133.097127,45.144066],[131.883454,45.321162],[131.025212,44.967953],[131.288555,44.11152],[131.144688,42.92999],[130.633866,42.903015],[130.640016,42.395009],[129.994267,42.985387],[129.596669,42.424982],[128.052215,41.994285],[128.208433,41.466772],[127.343783,41.503152],[126.869083,41.816569],[126.182045,41.107336],[125.079942,40.569824],[124.265625,39.928493],[122.86757,39.637788],[122.131388,39.170452],[121.054554,38.897471],[121.585995,39.360854],[121.376757,39.750261],[122.168595,40.422443],[121.640359,40.94639],[120.768629,40.593388],[119.639602,39.898056],[119.023464,39.252333],[118.042749,39.204274],[117.532702,38.737636],[118.059699,38.061476],[118.87815,37.897325],[118.911636,37.448464],[119.702802,37.156389],[120.823457,37.870428],[121.711259,37.481123],[122.357937,37.454484],[122.519995,36.930614],[121.104164,36.651329],[120.637009,36.11144],[119.664562,35.609791],[119.151208,34.909859],[120.227525,34.360332],[120.620369,33.376723],[121.229014,32.460319],[121.908146,31.692174],[121.891919,30.949352],[121.264257,30.676267],[121.503519,30.142915],[122.092114,29.83252],[121.938428,29.018022],[121.684439,28.225513],[121.125661,28.135673],[120.395473,27.053207],[119.585497,25.740781],[118.656871,24.547391],[117.281606,23.624501],[115.890735,22.782873],[114.763827,22.668074],[114.152547,22.22376],[113.80678,22.54834],[113.241078,22.051367],[111.843592,21.550494],[110.785466,21.397144],[110.444039,20.341033],[109.889861,20.282457],[109.627655,21.008227],[109.864488,21.395051],[108.522813,21.715212],[108.05018,21.55238],[107.04342,21.811899],[106.567273,22.218205],[106.725403,22.794268],[105.811247,22.976892],[105.329209,23.352063],[104.476858,22.81915],[103.504515,22.703757],[102.706992,22.708795],[102.170436,22.464753],[101.652018,22.318199],[101.80312,21.174367],[101.270026,21.201652],[101.180005,21.436573],[101.150033,21.849984],[100.416538,21.558839],[99.983489,21.742937],[99.240899,22.118314],[99.531992,22.949039],[98.898749,23.142722],[98.660262,24.063286],[97.60472,23.897405],[97.724609,25.083637],[98.671838,25.918703],[98.712094,26.743536],[98.68269,27.508812],[98.246231,27.747221],[97.911988,28.335945],[97.327114,28.261583],[96.248833,28.411031],[96.586591,28.83098],[96.117679,29.452802],[95.404802,29.031717],[94.56599,29.277438],[93.413348,28.640629],[92.503119,27.896876],[91.696657,27.771742],[91.258854,28.040614],[90.730514,28.064954],[90.015829,28.296439],[89.47581,28.042759],[88.814248,27.299316],[88.730326,28.086865],[88.120441,27.876542],[86.954517,27.974262],[85.82332,28.203576],[85.011638,28.642774],[84.23458,28.839894],[83.898993,29.320226],[83.337115,29.463732],[82.327513,30.115268],[81.525804,30.422717],[81.111256,30.183481],[79.721367,30.882715],[78.738894,31.515906],[78.458446,32.618164],[79.176129,32.48378],[79.208892,32.994395],[78.811086,33.506198],[78.912269,34.321936],[77.837451,35.49401],[76.192848,35.898403],[75.896897,36.666806],[75.158028,37.133031],[74.980002,37.41999],[74.829986,37.990007],[74.864816,38.378846],[74.257514,38.606507],[73.928852,38.505815],[73.675379,39.431237],[73.960013,39.660008],[73.822244,39.893973],[74.776862,40.366425],[75.467828,40.562072],[76.526368,40.427946],[76.904484,41.066486],[78.187197,41.185316],[78.543661,41.582243],[80.11943,42.123941],[80.25999,42.349999],[80.18015,42.920068],[80.866206,43.180362],[79.966106,44.917517],[81.947071,45.317027],[82.458926,45.53965],[83.180484,47.330031],[85.16429,47.000956],[85.720484,47.452969],[85.768233,48.455751],[86.598776,48.549182],[87.35997,49.214981],[87.751264,49.297198],[88.013832,48.599463],[88.854298,48.069082],[90.280826,47.693549],[90.970809,46.888146],[90.585768,45.719716],[90.94554,45.286073],[92.133891,45.115076],[93.480734,44.975472],[94.688929,44.352332],[95.306875,44.241331],[95.762455,43.319449],[96.349396,42.725635],[97.451757,42.74889],[99.515817,42.524691],[100.845866,42.663804],[101.83304,42.514873],[103.312278,41.907468],[104.522282,41.908347],[104.964994,41.59741],[106.129316,42.134328],[107.744773,42.481516],[109.243596,42.519446],[110.412103,42.871234],[111.129682,43.406834],[111.829588,43.743118],[111.667737,44.073176],[111.348377,44.457442],[111.873306,45.102079],[112.436062,45.011646],[113.463907,44.808893],[114.460332,45.339817],[115.985096,45.727235],[116.717868,46.388202],[117.421701,46.672733],[118.874326,46.805412],[119.66327,46.69268],[119.772824,47.048059],[118.866574,47.74706],[118.064143,48.06673],[117.295507,47.697709],[116.308953,47.85341],[115.742837,47.726545],[115.485282,48.135383],[116.191802,49.134598],[116.678801,49.888531],[117.879244,49.510983],[119.288461,50.142883],[119.279366,50.582908],[120.18205,51.643566],[120.738191,51.964115],[120.725789,52.516226],[120.177089,52.753886],[121.003085,53.251401],[122.245748,53.431726],[123.571507,53.458804],[125.068211,53.161045],[125.946349,52.792799],[126.564399,51.784255],[126.939157,51.353894],[127.287456,50.739797],[127.657407,49.76027]]]]},"id":"CHN"}, -{"type":"Feature","properties":{"name":"Ivory Coast"},"geometry":{"type":"Polygon","coordinates":[[[-2.856125,4.994476],[-3.311084,4.984296],[-4.00882,5.179813],[-4.649917,5.168264],[-5.834496,4.993701],[-6.528769,4.705088],[-7.518941,4.338288],[-7.712159,4.364566],[-7.635368,5.188159],[-7.539715,5.313345],[-7.570153,5.707352],[-7.993693,6.12619],[-8.311348,6.193033],[-8.60288,6.467564],[-8.385452,6.911801],[-8.485446,7.395208],[-8.439298,7.686043],[-8.280703,7.68718],[-8.221792,8.123329],[-8.299049,8.316444],[-8.203499,8.455453],[-7.8321,8.575704],[-8.079114,9.376224],[-8.309616,9.789532],[-8.229337,10.12902],[-8.029944,10.206535],[-7.89959,10.297382],[-7.622759,10.147236],[-6.850507,10.138994],[-6.666461,10.430811],[-6.493965,10.411303],[-6.205223,10.524061],[-6.050452,10.096361],[-5.816926,10.222555],[-5.404342,10.370737],[-4.954653,10.152714],[-4.779884,9.821985],[-4.330247,9.610835],[-3.980449,9.862344],[-3.511899,9.900326],[-2.827496,9.642461],[-2.56219,8.219628],[-2.983585,7.379705],[-3.24437,6.250472],[-2.810701,5.389051],[-2.856125,4.994476]]]},"id":"CIV"}, -{"type":"Feature","properties":{"name":"Cameroon"},"geometry":{"type":"Polygon","coordinates":[[[13.075822,2.267097],[12.951334,2.321616],[12.35938,2.192812],[11.751665,2.326758],[11.276449,2.261051],[9.649158,2.283866],[9.795196,3.073404],[9.404367,3.734527],[8.948116,3.904129],[8.744924,4.352215],[8.488816,4.495617],[8.500288,4.771983],[8.757533,5.479666],[9.233163,6.444491],[9.522706,6.453482],[10.118277,7.03877],[10.497375,7.055358],[11.058788,6.644427],[11.745774,6.981383],[11.839309,7.397042],[12.063946,7.799808],[12.218872,8.305824],[12.753672,8.717763],[12.955468,9.417772],[13.1676,9.640626],[13.308676,10.160362],[13.57295,10.798566],[14.415379,11.572369],[14.468192,11.904752],[14.577178,12.085361],[14.181336,12.483657],[14.213531,12.802035],[14.495787,12.859396],[14.893386,12.219048],[14.960152,11.555574],[14.923565,10.891325],[15.467873,9.982337],[14.909354,9.992129],[14.627201,9.920919],[14.171466,10.021378],[13.954218,9.549495],[14.544467,8.965861],[14.979996,8.796104],[15.120866,8.38215],[15.436092,7.692812],[15.27946,7.421925],[14.776545,6.408498],[14.53656,6.226959],[14.459407,5.451761],[14.558936,5.030598],[14.478372,4.732605],[14.950953,4.210389],[15.03622,3.851367],[15.405396,3.335301],[15.862732,3.013537],[15.907381,2.557389],[16.012852,2.26764],[15.940919,1.727673],[15.146342,1.964015],[14.337813,2.227875],[13.075822,2.267097]]]},"id":"CMR"}, -{"type":"Feature","properties":{"name":"Democratic Republic of the Congo"},"geometry":{"type":"Polygon","coordinates":[[[30.83386,3.509166],[30.773347,2.339883],[31.174149,2.204465],[30.85267,1.849396],[30.468508,1.583805],[30.086154,1.062313],[29.875779,0.59738],[29.819503,-0.20531],[29.587838,-0.587406],[29.579466,-1.341313],[29.291887,-1.620056],[29.254835,-2.21511],[29.117479,-2.292211],[29.024926,-2.839258],[29.276384,-3.293907],[29.339998,-4.499983],[29.519987,-5.419979],[29.419993,-5.939999],[29.620032,-6.520015],[30.199997,-7.079981],[30.740015,-8.340007],[30.346086,-8.238257],[29.002912,-8.407032],[28.734867,-8.526559],[28.449871,-9.164918],[28.673682,-9.605925],[28.49607,-10.789884],[28.372253,-11.793647],[28.642417,-11.971569],[29.341548,-12.360744],[29.616001,-12.178895],[29.699614,-13.257227],[28.934286,-13.248958],[28.523562,-12.698604],[28.155109,-12.272481],[27.388799,-12.132747],[27.16442,-11.608748],[26.553088,-11.92444],[25.75231,-11.784965],[25.418118,-11.330936],[24.78317,-11.238694],[24.314516,-11.262826],[24.257155,-10.951993],[23.912215,-10.926826],[23.456791,-10.867863],[22.837345,-11.017622],[22.402798,-10.993075],[22.155268,-11.084801],[22.208753,-9.894796],[21.875182,-9.523708],[21.801801,-8.908707],[21.949131,-8.305901],[21.746456,-7.920085],[21.728111,-7.290872],[20.514748,-7.299606],[20.601823,-6.939318],[20.091622,-6.94309],[20.037723,-7.116361],[19.417502,-7.155429],[19.166613,-7.738184],[19.016752,-7.988246],[18.464176,-7.847014],[18.134222,-7.987678],[17.47297,-8.068551],[17.089996,-7.545689],[16.860191,-7.222298],[16.57318,-6.622645],[16.326528,-5.87747],[13.375597,-5.864241],[13.024869,-5.984389],[12.735171,-5.965682],[12.322432,-6.100092],[12.182337,-5.789931],[12.436688,-5.684304],[12.468004,-5.248362],[12.631612,-4.991271],[12.995517,-4.781103],[13.25824,-4.882957],[13.600235,-4.500138],[14.144956,-4.510009],[14.209035,-4.793092],[14.582604,-4.970239],[15.170992,-4.343507],[15.75354,-3.855165],[16.00629,-3.535133],[15.972803,-2.712392],[16.407092,-1.740927],[16.865307,-1.225816],[17.523716,-0.74383],[17.638645,-0.424832],[17.663553,-0.058084],[17.82654,0.288923],[17.774192,0.855659],[17.898835,1.741832],[18.094276,2.365722],[18.393792,2.900443],[18.453065,3.504386],[18.542982,4.201785],[18.932312,4.709506],[19.467784,5.031528],[20.290679,4.691678],[20.927591,4.322786],[21.659123,4.224342],[22.405124,4.02916],[22.704124,4.633051],[22.84148,4.710126],[23.297214,4.609693],[24.410531,5.108784],[24.805029,4.897247],[25.128833,4.927245],[25.278798,5.170408],[25.650455,5.256088],[26.402761,5.150875],[27.044065,5.127853],[27.374226,5.233944],[27.979977,4.408413],[28.428994,4.287155],[28.696678,4.455077],[29.159078,4.389267],[29.715995,4.600805],[29.9535,4.173699],[30.83386,3.509166]]]},"id":"COD"}, -{"type":"Feature","properties":{"name":"Republic of the Congo"},"geometry":{"type":"Polygon","coordinates":[[[12.995517,-4.781103],[12.62076,-4.438023],[12.318608,-4.60623],[11.914963,-5.037987],[11.093773,-3.978827],[11.855122,-3.426871],[11.478039,-2.765619],[11.820964,-2.514161],[12.495703,-2.391688],[12.575284,-1.948511],[13.109619,-2.42874],[13.992407,-2.470805],[14.29921,-1.998276],[14.425456,-1.333407],[14.316418,-0.552627],[13.843321,0.038758],[14.276266,1.19693],[14.026669,1.395677],[13.282631,1.314184],[13.003114,1.830896],[13.075822,2.267097],[14.337813,2.227875],[15.146342,1.964015],[15.940919,1.727673],[16.012852,2.26764],[16.537058,3.198255],[17.133042,3.728197],[17.8099,3.560196],[18.453065,3.504386],[18.393792,2.900443],[18.094276,2.365722],[17.898835,1.741832],[17.774192,0.855659],[17.82654,0.288923],[17.663553,-0.058084],[17.638645,-0.424832],[17.523716,-0.74383],[16.865307,-1.225816],[16.407092,-1.740927],[15.972803,-2.712392],[16.00629,-3.535133],[15.75354,-3.855165],[15.170992,-4.343507],[14.582604,-4.970239],[14.209035,-4.793092],[14.144956,-4.510009],[13.600235,-4.500138],[13.25824,-4.882957],[12.995517,-4.781103]]]},"id":"COG"}, -{"type":"Feature","properties":{"name":"Colombia"},"geometry":{"type":"Polygon","coordinates":[[[-75.373223,-0.152032],[-75.801466,0.084801],[-76.292314,0.416047],[-76.57638,0.256936],[-77.424984,0.395687],[-77.668613,0.825893],[-77.855061,0.809925],[-78.855259,1.380924],[-78.990935,1.69137],[-78.617831,1.766404],[-78.662118,2.267355],[-78.42761,2.629556],[-77.931543,2.696606],[-77.510431,3.325017],[-77.12769,3.849636],[-77.496272,4.087606],[-77.307601,4.667984],[-77.533221,5.582812],[-77.318815,5.845354],[-77.476661,6.691116],[-77.881571,7.223771],[-77.753414,7.70984],[-77.431108,7.638061],[-77.242566,7.935278],[-77.474723,8.524286],[-77.353361,8.670505],[-76.836674,8.638749],[-76.086384,9.336821],[-75.6746,9.443248],[-75.664704,9.774003],[-75.480426,10.61899],[-74.906895,11.083045],[-74.276753,11.102036],[-74.197223,11.310473],[-73.414764,11.227015],[-72.627835,11.731972],[-72.238195,11.95555],[-71.75409,12.437303],[-71.399822,12.376041],[-71.137461,12.112982],[-71.331584,11.776284],[-71.973922,11.608672],[-72.227575,11.108702],[-72.614658,10.821975],[-72.905286,10.450344],[-73.027604,9.73677],[-73.304952,9.152],[-72.78873,9.085027],[-72.660495,8.625288],[-72.439862,8.405275],[-72.360901,8.002638],[-72.479679,7.632506],[-72.444487,7.423785],[-72.198352,7.340431],[-71.960176,6.991615],[-70.674234,7.087785],[-70.093313,6.960376],[-69.38948,6.099861],[-68.985319,6.206805],[-68.265052,6.153268],[-67.695087,6.267318],[-67.34144,6.095468],[-67.521532,5.55687],[-67.744697,5.221129],[-67.823012,4.503937],[-67.621836,3.839482],[-67.337564,3.542342],[-67.303173,3.318454],[-67.809938,2.820655],[-67.447092,2.600281],[-67.181294,2.250638],[-66.876326,1.253361],[-67.065048,1.130112],[-67.259998,1.719999],[-67.53781,2.037163],[-67.868565,1.692455],[-69.816973,1.714805],[-69.804597,1.089081],[-69.218638,0.985677],[-69.252434,0.602651],[-69.452396,0.706159],[-70.015566,0.541414],[-70.020656,-0.185156],[-69.577065,-0.549992],[-69.420486,-1.122619],[-69.444102,-1.556287],[-69.893635,-4.298187],[-70.394044,-3.766591],[-70.692682,-3.742872],[-70.047709,-2.725156],[-70.813476,-2.256865],[-71.413646,-2.342802],[-71.774761,-2.16979],[-72.325787,-2.434218],[-73.070392,-2.308954],[-73.659504,-1.260491],[-74.122395,-1.002833],[-74.441601,-0.53082],[-75.106625,-0.057205],[-75.373223,-0.152032]]]},"id":"COL"}, -{"type":"Feature","properties":{"name":"Costa Rica"},"geometry":{"type":"Polygon","coordinates":[[[-82.965783,8.225028],[-83.508437,8.446927],[-83.711474,8.656836],[-83.596313,8.830443],[-83.632642,9.051386],[-83.909886,9.290803],[-84.303402,9.487354],[-84.647644,9.615537],[-84.713351,9.908052],[-84.97566,10.086723],[-84.911375,9.795992],[-85.110923,9.55704],[-85.339488,9.834542],[-85.660787,9.933347],[-85.797445,10.134886],[-85.791709,10.439337],[-85.659314,10.754331],[-85.941725,10.895278],[-85.71254,11.088445],[-85.561852,11.217119],[-84.903003,10.952303],[-84.673069,11.082657],[-84.355931,10.999226],[-84.190179,10.79345],[-83.895054,10.726839],[-83.655612,10.938764],[-83.40232,10.395438],[-83.015677,9.992982],[-82.546196,9.566135],[-82.932891,9.476812],[-82.927155,9.07433],[-82.719183,8.925709],[-82.868657,8.807266],[-82.829771,8.626295],[-82.913176,8.423517],[-82.965783,8.225028]]]},"id":"CRI"}, -{"type":"Feature","properties":{"name":"Cuba"},"geometry":{"type":"Polygon","coordinates":[[[-82.268151,23.188611],[-81.404457,23.117271],[-80.618769,23.10598],[-79.679524,22.765303],[-79.281486,22.399202],[-78.347434,22.512166],[-77.993296,22.277194],[-77.146422,21.657851],[-76.523825,21.20682],[-76.19462,21.220565],[-75.598222,21.016624],[-75.67106,20.735091],[-74.933896,20.693905],[-74.178025,20.284628],[-74.296648,20.050379],[-74.961595,19.923435],[-75.63468,19.873774],[-76.323656,19.952891],[-77.755481,19.855481],[-77.085108,20.413354],[-77.492655,20.673105],[-78.137292,20.739949],[-78.482827,21.028613],[-78.719867,21.598114],[-79.285,21.559175],[-80.217475,21.827324],[-80.517535,22.037079],[-81.820943,22.192057],[-82.169992,22.387109],[-81.795002,22.636965],[-82.775898,22.68815],[-83.494459,22.168518],[-83.9088,22.154565],[-84.052151,21.910575],[-84.54703,21.801228],[-84.974911,21.896028],[-84.447062,22.20495],[-84.230357,22.565755],[-83.77824,22.788118],[-83.267548,22.983042],[-82.510436,23.078747],[-82.268151,23.188611]]]},"id":"CUB"}, -{"type":"Feature","properties":{"name":"Northern Cyprus"},"geometry":{"type":"Polygon","coordinates":[[[32.73178,35.140026],[32.802474,35.145504],[32.946961,35.386703],[33.667227,35.373216],[34.576474,35.671596],[33.900804,35.245756],[33.973617,35.058506],[33.86644,35.093595],[33.675392,35.017863],[33.525685,35.038688],[33.475817,35.000345],[33.455922,35.101424],[33.383833,35.162712],[33.190977,35.173125],[32.919572,35.087833],[32.73178,35.140026]]]},"id":"-99"}, -{"type":"Feature","properties":{"name":"Cyprus"},"geometry":{"type":"Polygon","coordinates":[[[33.973617,35.058506],[34.004881,34.978098],[32.979827,34.571869],[32.490296,34.701655],[32.256667,35.103232],[32.73178,35.140026],[32.919572,35.087833],[33.190977,35.173125],[33.383833,35.162712],[33.455922,35.101424],[33.475817,35.000345],[33.525685,35.038688],[33.675392,35.017863],[33.86644,35.093595],[33.973617,35.058506]]]},"id":"CYP"}, -{"type":"Feature","properties":{"name":"Czech Republic"},"geometry":{"type":"Polygon","coordinates":[[[16.960288,48.596982],[16.499283,48.785808],[16.029647,48.733899],[15.253416,49.039074],[14.901447,48.964402],[14.338898,48.555305],[13.595946,48.877172],[13.031329,49.307068],[12.521024,49.547415],[12.415191,49.969121],[12.240111,50.266338],[12.966837,50.484076],[13.338132,50.733234],[14.056228,50.926918],[14.307013,51.117268],[14.570718,51.002339],[15.016996,51.106674],[15.490972,50.78473],[16.238627,50.697733],[16.176253,50.422607],[16.719476,50.215747],[16.868769,50.473974],[17.554567,50.362146],[17.649445,50.049038],[18.392914,49.988629],[18.853144,49.49623],[18.554971,49.495015],[18.399994,49.315001],[18.170498,49.271515],[18.104973,49.043983],[17.913512,48.996493],[17.886485,48.903475],[17.545007,48.800019],[17.101985,48.816969],[16.960288,48.596982]]]},"id":"CZE"}, -{"type":"Feature","properties":{"name":"Germany"},"geometry":{"type":"Polygon","coordinates":[[[9.921906,54.983104],[9.93958,54.596642],[10.950112,54.363607],[10.939467,54.008693],[11.956252,54.196486],[12.51844,54.470371],[13.647467,54.075511],[14.119686,53.757029],[14.353315,53.248171],[14.074521,52.981263],[14.4376,52.62485],[14.685026,52.089947],[14.607098,51.745188],[15.016996,51.106674],[14.570718,51.002339],[14.307013,51.117268],[14.056228,50.926918],[13.338132,50.733234],[12.966837,50.484076],[12.240111,50.266338],[12.415191,49.969121],[12.521024,49.547415],[13.031329,49.307068],[13.595946,48.877172],[13.243357,48.416115],[12.884103,48.289146],[13.025851,47.637584],[12.932627,47.467646],[12.62076,47.672388],[12.141357,47.703083],[11.426414,47.523766],[10.544504,47.566399],[10.402084,47.302488],[9.896068,47.580197],[9.594226,47.525058],[8.522612,47.830828],[8.317301,47.61358],[7.466759,47.620582],[7.593676,48.333019],[8.099279,49.017784],[6.65823,49.201958],[6.18632,49.463803],[6.242751,49.902226],[6.043073,50.128052],[6.156658,50.803721],[5.988658,51.851616],[6.589397,51.852029],[6.84287,52.22844],[7.092053,53.144043],[6.90514,53.482162],[7.100425,53.693932],[7.936239,53.748296],[8.121706,53.527792],[8.800734,54.020786],[8.572118,54.395646],[8.526229,54.962744],[9.282049,54.830865],[9.921906,54.983104]]]},"id":"DEU"}, -{"type":"Feature","properties":{"name":"Djibouti"},"geometry":{"type":"Polygon","coordinates":[[[43.081226,12.699639],[43.317852,12.390148],[43.286381,11.974928],[42.715874,11.735641],[43.145305,11.46204],[42.776852,10.926879],[42.55493,11.10511],[42.31414,11.0342],[41.75557,11.05091],[41.73959,11.35511],[41.66176,11.6312],[42,12.1],[42.35156,12.54223],[42.779642,12.455416],[43.081226,12.699639]]]},"id":"DJI"}, -{"type":"Feature","properties":{"name":"Denmark"},"geometry":{"type":"MultiPolygon","coordinates":[[[[12.690006,55.609991],[12.089991,54.800015],[11.043543,55.364864],[10.903914,55.779955],[12.370904,56.111407],[12.690006,55.609991]]],[[[10.912182,56.458621],[10.667804,56.081383],[10.369993,56.190007],[9.649985,55.469999],[9.921906,54.983104],[9.282049,54.830865],[8.526229,54.962744],[8.120311,55.517723],[8.089977,56.540012],[8.256582,56.809969],[8.543438,57.110003],[9.424469,57.172066],[9.775559,57.447941],[10.580006,57.730017],[10.546106,57.215733],[10.25,56.890016],[10.369993,56.609982],[10.912182,56.458621]]]]},"id":"DNK"}, -{"type":"Feature","properties":{"name":"Dominican Republic"},"geometry":{"type":"Polygon","coordinates":[[[-71.712361,19.714456],[-71.587304,19.884911],[-70.806706,19.880286],[-70.214365,19.622885],[-69.950815,19.648],[-69.76925,19.293267],[-69.222126,19.313214],[-69.254346,19.015196],[-68.809412,18.979074],[-68.317943,18.612198],[-68.689316,18.205142],[-69.164946,18.422648],[-69.623988,18.380713],[-69.952934,18.428307],[-70.133233,18.245915],[-70.517137,18.184291],[-70.669298,18.426886],[-70.99995,18.283329],[-71.40021,17.598564],[-71.657662,17.757573],[-71.708305,18.044997],[-71.687738,18.31666],[-71.945112,18.6169],[-71.701303,18.785417],[-71.624873,19.169838],[-71.712361,19.714456]]]},"id":"DOM"}, -{"type":"Feature","properties":{"name":"Algeria"},"geometry":{"type":"Polygon","coordinates":[[[11.999506,23.471668],[8.572893,21.565661],[5.677566,19.601207],[4.267419,19.155265],[3.158133,19.057364],[3.146661,19.693579],[2.683588,19.85623],[2.060991,20.142233],[1.823228,20.610809],[-1.550055,22.792666],[-4.923337,24.974574],[-8.6844,27.395744],[-8.665124,27.589479],[-8.66559,27.656426],[-8.674116,28.841289],[-7.059228,29.579228],[-6.060632,29.7317],[-5.242129,30.000443],[-4.859646,30.501188],[-3.690441,30.896952],[-3.647498,31.637294],[-3.06898,31.724498],[-2.616605,32.094346],[-1.307899,32.262889],[-1.124551,32.651522],[-1.388049,32.864015],[-1.733455,33.919713],[-1.792986,34.527919],[-2.169914,35.168396],[-1.208603,35.714849],[-0.127454,35.888662],[0.503877,36.301273],[1.466919,36.605647],[3.161699,36.783905],[4.815758,36.865037],[5.32012,36.716519],[6.26182,37.110655],[7.330385,37.118381],[7.737078,36.885708],[8.420964,36.946427],[8.217824,36.433177],[8.376368,35.479876],[8.140981,34.655146],[7.524482,34.097376],[7.612642,33.344115],[8.430473,32.748337],[8.439103,32.506285],[9.055603,32.102692],[9.48214,30.307556],[9.805634,29.424638],[9.859998,28.95999],[9.683885,28.144174],[9.756128,27.688259],[9.629056,27.140953],[9.716286,26.512206],[9.319411,26.094325],[9.910693,25.365455],[9.948261,24.936954],[10.303847,24.379313],[10.771364,24.562532],[11.560669,24.097909],[11.999506,23.471668]]]},"id":"DZA"}, -{"type":"Feature","properties":{"name":"Ecuador"},"geometry":{"type":"Polygon","coordinates":[[[-80.302561,-3.404856],[-79.770293,-2.657512],[-79.986559,-2.220794],[-80.368784,-2.685159],[-80.967765,-2.246943],[-80.764806,-1.965048],[-80.933659,-1.057455],[-80.58337,-0.906663],[-80.399325,-0.283703],[-80.020898,0.36034],[-80.09061,0.768429],[-79.542762,0.982938],[-78.855259,1.380924],[-77.855061,0.809925],[-77.668613,0.825893],[-77.424984,0.395687],[-76.57638,0.256936],[-76.292314,0.416047],[-75.801466,0.084801],[-75.373223,-0.152032],[-75.233723,-0.911417],[-75.544996,-1.56161],[-76.635394,-2.608678],[-77.837905,-3.003021],[-78.450684,-3.873097],[-78.639897,-4.547784],[-79.205289,-4.959129],[-79.624979,-4.454198],[-80.028908,-4.346091],[-80.442242,-4.425724],[-80.469295,-4.059287],[-80.184015,-3.821162],[-80.302561,-3.404856]]]},"id":"ECU"}, -{"type":"Feature","properties":{"name":"Egypt"},"geometry":{"type":"Polygon","coordinates":[[[34.9226,29.50133],[34.64174,29.09942],[34.42655,28.34399],[34.15451,27.8233],[33.92136,27.6487],[33.58811,27.97136],[33.13676,28.41765],[32.42323,29.85108],[32.32046,29.76043],[32.73482,28.70523],[33.34876,27.69989],[34.10455,26.14227],[34.47387,25.59856],[34.79507,25.03375],[35.69241,23.92671],[35.49372,23.75237],[35.52598,23.10244],[36.69069,22.20485],[36.86623,22],[32.9,22],[29.02,22],[25,22],[25,25.6825],[25,29.238655],[24.70007,30.04419],[24.95762,30.6616],[24.80287,31.08929],[25.16482,31.56915],[26.49533,31.58568],[27.45762,31.32126],[28.45048,31.02577],[28.91353,30.87005],[29.68342,31.18686],[30.09503,31.4734],[30.97693,31.55586],[31.68796,31.4296],[31.96041,30.9336],[32.19247,31.26034],[32.99392,31.02407],[33.7734,30.96746],[34.26544,31.21936],[34.9226,29.50133]]]},"id":"EGY"}, -{"type":"Feature","properties":{"name":"Eritrea"},"geometry":{"type":"Polygon","coordinates":[[[42.35156,12.54223],[42.00975,12.86582],[41.59856,13.45209],[41.155194,13.77332],[40.8966,14.11864],[40.026219,14.519579],[39.34061,14.53155],[39.0994,14.74064],[38.51295,14.50547],[37.90607,14.95943],[37.59377,14.2131],[36.42951,14.42211],[36.323189,14.822481],[36.75386,16.291874],[36.85253,16.95655],[37.16747,17.26314],[37.904,17.42754],[38.41009,17.998307],[38.990623,16.840626],[39.26611,15.922723],[39.814294,15.435647],[41.179275,14.49108],[41.734952,13.921037],[42.276831,13.343992],[42.589576,13.000421],[43.081226,12.699639],[42.779642,12.455416],[42.35156,12.54223]]]},"id":"ERI"}, -{"type":"Feature","properties":{"name":"Spain"},"geometry":{"type":"Polygon","coordinates":[[[-9.034818,41.880571],[-8.984433,42.592775],[-9.392884,43.026625],[-7.97819,43.748338],[-6.754492,43.567909],[-5.411886,43.57424],[-4.347843,43.403449],[-3.517532,43.455901],[-1.901351,43.422802],[-1.502771,43.034014],[0.338047,42.579546],[0.701591,42.795734],[1.826793,42.343385],[2.985999,42.473015],[3.039484,41.89212],[2.091842,41.226089],[0.810525,41.014732],[0.721331,40.678318],[0.106692,40.123934],[-0.278711,39.309978],[0.111291,38.738514],[-0.467124,38.292366],[-0.683389,37.642354],[-1.438382,37.443064],[-2.146453,36.674144],[-3.415781,36.6589],[-4.368901,36.677839],[-4.995219,36.324708],[-5.37716,35.94685],[-5.866432,36.029817],[-6.236694,36.367677],[-6.520191,36.942913],[-7.453726,37.097788],[-7.537105,37.428904],[-7.166508,37.803894],[-7.029281,38.075764],[-7.374092,38.373059],[-7.098037,39.030073],[-7.498632,39.629571],[-7.066592,39.711892],[-7.026413,40.184524],[-6.86402,40.330872],[-6.851127,41.111083],[-6.389088,41.381815],[-6.668606,41.883387],[-7.251309,41.918346],[-7.422513,41.792075],[-8.013175,41.790886],[-8.263857,42.280469],[-8.671946,42.134689],[-9.034818,41.880571]]]},"id":"ESP"}, -{"type":"Feature","properties":{"name":"Estonia"},"geometry":{"type":"Polygon","coordinates":[[[24.312863,57.793424],[24.428928,58.383413],[24.061198,58.257375],[23.42656,58.612753],[23.339795,59.18724],[24.604214,59.465854],[25.864189,59.61109],[26.949136,59.445803],[27.981114,59.475388],[28.131699,59.300825],[27.420166,58.724581],[27.716686,57.791899],[27.288185,57.474528],[26.463532,57.476389],[25.60281,57.847529],[25.164594,57.970157],[24.312863,57.793424]]]},"id":"EST"}, -{"type":"Feature","properties":{"name":"Ethiopia"},"geometry":{"type":"Polygon","coordinates":[[[37.90607,14.95943],[38.51295,14.50547],[39.0994,14.74064],[39.34061,14.53155],[40.02625,14.51959],[40.8966,14.11864],[41.1552,13.77333],[41.59856,13.45209],[42.00975,12.86582],[42.35156,12.54223],[42,12.1],[41.66176,11.6312],[41.73959,11.35511],[41.75557,11.05091],[42.31414,11.0342],[42.55493,11.10511],[42.776852,10.926879],[42.55876,10.57258],[42.92812,10.02194],[43.29699,9.54048],[43.67875,9.18358],[46.94834,7.99688],[47.78942,8.003],[44.9636,5.00162],[43.66087,4.95755],[42.76967,4.25259],[42.12861,4.23413],[41.855083,3.918912],[41.1718,3.91909],[40.76848,4.25702],[39.85494,3.83879],[39.559384,3.42206],[38.89251,3.50074],[38.67114,3.61607],[38.43697,3.58851],[38.120915,3.598605],[36.855093,4.447864],[36.159079,4.447864],[35.817448,4.776966],[35.817448,5.338232],[35.298007,5.506],[34.70702,6.59422],[34.25032,6.82607],[34.0751,7.22595],[33.56829,7.71334],[32.95418,7.78497],[33.2948,8.35458],[33.8255,8.37916],[33.97498,8.68456],[33.96162,9.58358],[34.25745,10.63009],[34.73115,10.91017],[34.83163,11.31896],[35.26049,12.08286],[35.86363,12.57828],[36.27022,13.56333],[36.42951,14.42211],[37.59377,14.2131],[37.90607,14.95943]]]},"id":"ETH"}, -{"type":"Feature","properties":{"name":"Finland"},"geometry":{"type":"Polygon","coordinates":[[[28.59193,69.064777],[28.445944,68.364613],[29.977426,67.698297],[29.054589,66.944286],[30.21765,65.80598],[29.54443,64.948672],[30.444685,64.204453],[30.035872,63.552814],[31.516092,62.867687],[31.139991,62.357693],[30.211107,61.780028],[28.069998,60.503517],[26.255173,60.423961],[24.496624,60.057316],[22.869695,59.846373],[22.290764,60.391921],[21.322244,60.72017],[21.544866,61.705329],[21.059211,62.607393],[21.536029,63.189735],[22.442744,63.81781],[24.730512,64.902344],[25.398068,65.111427],[25.294043,65.534346],[23.903379,66.006927],[23.56588,66.396051],[23.539473,67.936009],[21.978535,68.616846],[20.645593,69.106247],[21.244936,69.370443],[22.356238,68.841741],[23.66205,68.891247],[24.735679,68.649557],[25.689213,69.092114],[26.179622,69.825299],[27.732292,70.164193],[29.015573,69.766491],[28.59193,69.064777]]]},"id":"FIN"}, -{"type":"Feature","properties":{"name":"Fiji"},"geometry":{"type":"MultiPolygon","coordinates":[[[[178.3736,-17.33992],[178.71806,-17.62846],[178.55271,-18.15059],[177.93266,-18.28799],[177.38146,-18.16432],[177.28504,-17.72465],[177.67087,-17.38114],[178.12557,-17.50481],[178.3736,-17.33992]]],[[[179.364143,-16.801354],[178.725059,-17.012042],[178.596839,-16.63915],[179.096609,-16.433984],[179.413509,-16.379054],[180,-16.067133],[180,-16.555217],[179.364143,-16.801354]]],[[[-179.917369,-16.501783],[-180,-16.555217],[-180,-16.067133],[-179.79332,-16.020882],[-179.917369,-16.501783]]]]},"id":"FJI"}, -{"type":"Feature","properties":{"name":"Falkland Islands"},"geometry":{"type":"Polygon","coordinates":[[[-61.2,-51.85],[-60,-51.25],[-59.15,-51.5],[-58.55,-51.1],[-57.75,-51.55],[-58.05,-51.9],[-59.4,-52.2],[-59.85,-51.85],[-60.7,-52.3],[-61.2,-51.85]]]},"id":"FLK"}, -{"type":"Feature","properties":{"name":"France"},"geometry":{"type":"MultiPolygon","coordinates":[[[[9.560016,42.152492],[9.229752,41.380007],[8.775723,41.583612],[8.544213,42.256517],[8.746009,42.628122],[9.390001,43.009985],[9.560016,42.152492]]],[[[3.588184,50.378992],[4.286023,49.907497],[4.799222,49.985373],[5.674052,49.529484],[5.897759,49.442667],[6.18632,49.463803],[6.65823,49.201958],[8.099279,49.017784],[7.593676,48.333019],[7.466759,47.620582],[7.192202,47.449766],[6.736571,47.541801],[6.768714,47.287708],[6.037389,46.725779],[6.022609,46.27299],[6.5001,46.429673],[6.843593,45.991147],[6.802355,45.70858],[7.096652,45.333099],[6.749955,45.028518],[7.007562,44.254767],[7.549596,44.127901],[7.435185,43.693845],[6.529245,43.128892],[4.556963,43.399651],[3.100411,43.075201],[2.985999,42.473015],[1.826793,42.343385],[0.701591,42.795734],[0.338047,42.579546],[-1.502771,43.034014],[-1.901351,43.422802],[-1.384225,44.02261],[-1.193798,46.014918],[-2.225724,47.064363],[-2.963276,47.570327],[-4.491555,47.954954],[-4.59235,48.68416],[-3.295814,48.901692],[-1.616511,48.644421],[-1.933494,49.776342],[-0.989469,49.347376],[1.338761,50.127173],[1.639001,50.946606],[2.513573,51.148506],[2.658422,50.796848],[3.123252,50.780363],[3.588184,50.378992]]]]},"id":"FRA"}, -{"type":"Feature","properties":{"name":"French Guiana"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-52.556425,2.504705],[-52.939657,2.124858],[-53.418465,2.053389],[-53.554839,2.334897],[-53.778521,2.376703],[-54.088063,2.105557],[-54.524754,2.311849],[-54.27123,2.738748],[-54.184284,3.194172],[-54.011504,3.62257],[-54.399542,4.212611],[-54.478633,4.896756],[-53.958045,5.756548],[-53.618453,5.646529],[-52.882141,5.409851],[-51.823343,4.565768],[-51.657797,4.156232],[-52.249338,3.241094],[-52.556425,2.504705]]]]},"id":"GUF"}, -{"type":"Feature","properties":{"name":"Gabon"},"geometry":{"type":"Polygon","coordinates":[[[11.093773,-3.978827],[10.066135,-2.969483],[9.405245,-2.144313],[8.797996,-1.111301],[8.830087,-0.779074],[9.04842,-0.459351],[9.291351,0.268666],[9.492889,1.01012],[9.830284,1.067894],[11.285079,1.057662],[11.276449,2.261051],[11.751665,2.326758],[12.35938,2.192812],[12.951334,2.321616],[13.075822,2.267097],[13.003114,1.830896],[13.282631,1.314184],[14.026669,1.395677],[14.276266,1.19693],[13.843321,0.038758],[14.316418,-0.552627],[14.425456,-1.333407],[14.29921,-1.998276],[13.992407,-2.470805],[13.109619,-2.42874],[12.575284,-1.948511],[12.495703,-2.391688],[11.820964,-2.514161],[11.478039,-2.765619],[11.855122,-3.426871],[11.093773,-3.978827]]]},"id":"GAB"}, -{"type":"Feature","properties":{"name":"United Kingdom"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-5.661949,54.554603],[-6.197885,53.867565],[-6.95373,54.073702],[-7.572168,54.059956],[-7.366031,54.595841],[-7.572168,55.131622],[-6.733847,55.17286],[-5.661949,54.554603]]],[[[-3.005005,58.635],[-4.073828,57.553025],[-3.055002,57.690019],[-1.959281,57.6848],[-2.219988,56.870017],[-3.119003,55.973793],[-2.085009,55.909998],[-2.005676,55.804903],[-1.114991,54.624986],[-0.430485,54.464376],[0.184981,53.325014],[0.469977,52.929999],[1.681531,52.73952],[1.559988,52.099998],[1.050562,51.806761],[1.449865,51.289428],[0.550334,50.765739],[-0.787517,50.774989],[-2.489998,50.500019],[-2.956274,50.69688],[-3.617448,50.228356],[-4.542508,50.341837],[-5.245023,49.96],[-5.776567,50.159678],[-4.30999,51.210001],[-3.414851,51.426009],[-3.422719,51.426848],[-4.984367,51.593466],[-5.267296,51.9914],[-4.222347,52.301356],[-4.770013,52.840005],[-4.579999,53.495004],[-3.093831,53.404547],[-3.09208,53.404441],[-2.945009,53.985],[-3.614701,54.600937],[-3.630005,54.615013],[-4.844169,54.790971],[-5.082527,55.061601],[-4.719112,55.508473],[-5.047981,55.783986],[-5.586398,55.311146],[-5.644999,56.275015],[-6.149981,56.78501],[-5.786825,57.818848],[-5.009999,58.630013],[-4.211495,58.550845],[-3.005005,58.635]]]]},"id":"GBR"}, -{"type":"Feature","properties":{"name":"Georgia"},"geometry":{"type":"Polygon","coordinates":[[[41.554084,41.535656],[41.703171,41.962943],[41.45347,42.645123],[40.875469,43.013628],[40.321394,43.128634],[39.955009,43.434998],[40.076965,43.553104],[40.922185,43.382159],[42.394395,43.220308],[43.756017,42.740828],[43.9312,42.554974],[44.537623,42.711993],[45.470279,42.502781],[45.77641,42.092444],[46.404951,41.860675],[46.145432,41.722802],[46.637908,41.181673],[46.501637,41.064445],[45.962601,41.123873],[45.217426,41.411452],[44.97248,41.248129],[43.582746,41.092143],[42.619549,41.583173],[41.554084,41.535656]]]},"id":"GEO"}, -{"type":"Feature","properties":{"name":"Ghana"},"geometry":{"type":"Polygon","coordinates":[[[1.060122,5.928837],[-0.507638,5.343473],[-1.063625,5.000548],[-1.964707,4.710462],[-2.856125,4.994476],[-2.810701,5.389051],[-3.24437,6.250472],[-2.983585,7.379705],[-2.56219,8.219628],[-2.827496,9.642461],[-2.963896,10.395335],[-2.940409,10.96269],[-1.203358,11.009819],[-0.761576,10.93693],[-0.438702,11.098341],[0.023803,11.018682],[-0.049785,10.706918],[0.36758,10.191213],[0.365901,9.465004],[0.461192,8.677223],[0.712029,8.312465],[0.490957,7.411744],[0.570384,6.914359],[0.836931,6.279979],[1.060122,5.928837]]]},"id":"GHA"}, -{"type":"Feature","properties":{"name":"Guinea"},"geometry":{"type":"Polygon","coordinates":[[[-8.439298,7.686043],[-8.722124,7.711674],[-8.926065,7.309037],[-9.208786,7.313921],[-9.403348,7.526905],[-9.33728,7.928534],[-9.755342,8.541055],[-10.016567,8.428504],[-10.230094,8.406206],[-10.505477,8.348896],[-10.494315,8.715541],[-10.65477,8.977178],[-10.622395,9.26791],[-10.839152,9.688246],[-11.117481,10.045873],[-11.917277,10.046984],[-12.150338,9.858572],[-12.425929,9.835834],[-12.596719,9.620188],[-12.711958,9.342712],[-13.24655,8.903049],[-13.685154,9.494744],[-14.074045,9.886167],[-14.330076,10.01572],[-14.579699,10.214467],[-14.693232,10.656301],[-14.839554,10.876572],[-15.130311,11.040412],[-14.685687,11.527824],[-14.382192,11.509272],[-14.121406,11.677117],[-13.9008,11.678719],[-13.743161,11.811269],[-13.828272,12.142644],[-13.718744,12.247186],[-13.700476,12.586183],[-13.217818,12.575874],[-12.499051,12.33209],[-12.278599,12.35444],[-12.203565,12.465648],[-11.658301,12.386583],[-11.513943,12.442988],[-11.456169,12.076834],[-11.297574,12.077971],[-11.036556,12.211245],[-10.87083,12.177887],[-10.593224,11.923975],[-10.165214,11.844084],[-9.890993,12.060479],[-9.567912,12.194243],[-9.327616,12.334286],[-9.127474,12.30806],[-8.905265,12.088358],[-8.786099,11.812561],[-8.376305,11.393646],[-8.581305,11.136246],[-8.620321,10.810891],[-8.407311,10.909257],[-8.282357,10.792597],[-8.335377,10.494812],[-8.029944,10.206535],[-8.229337,10.12902],[-8.309616,9.789532],[-8.079114,9.376224],[-7.8321,8.575704],[-8.203499,8.455453],[-8.299049,8.316444],[-8.221792,8.123329],[-8.280703,7.68718],[-8.439298,7.686043]]]},"id":"GIN"}, -{"type":"Feature","properties":{"name":"Gambia"},"geometry":{"type":"Polygon","coordinates":[[[-16.841525,13.151394],[-16.713729,13.594959],[-15.624596,13.623587],[-15.39877,13.860369],[-15.081735,13.876492],[-14.687031,13.630357],[-14.376714,13.62568],[-14.046992,13.794068],[-13.844963,13.505042],[-14.277702,13.280585],[-14.712197,13.298207],[-15.141163,13.509512],[-15.511813,13.27857],[-15.691001,13.270353],[-15.931296,13.130284],[-16.841525,13.151394]]]},"id":"GMB"}, -{"type":"Feature","properties":{"name":"Guinea Bissau"},"geometry":{"type":"Polygon","coordinates":[[[-15.130311,11.040412],[-15.66418,11.458474],[-16.085214,11.524594],[-16.314787,11.806515],[-16.308947,11.958702],[-16.613838,12.170911],[-16.677452,12.384852],[-16.147717,12.547762],[-15.816574,12.515567],[-15.548477,12.62817],[-13.700476,12.586183],[-13.718744,12.247186],[-13.828272,12.142644],[-13.743161,11.811269],[-13.9008,11.678719],[-14.121406,11.677117],[-14.382192,11.509272],[-14.685687,11.527824],[-15.130311,11.040412]]]},"id":"GNB"}, -{"type":"Feature","properties":{"name":"Equatorial Guinea"},"geometry":{"type":"Polygon","coordinates":[[[9.492889,1.01012],[9.305613,1.160911],[9.649158,2.283866],[11.276449,2.261051],[11.285079,1.057662],[9.830284,1.067894],[9.492889,1.01012]]]},"id":"GNQ"}, -{"type":"Feature","properties":{"name":"Greece"},"geometry":{"type":"MultiPolygon","coordinates":[[[[23.69998,35.705004],[24.246665,35.368022],[25.025015,35.424996],[25.769208,35.354018],[25.745023,35.179998],[26.290003,35.29999],[26.164998,35.004995],[24.724982,34.919988],[24.735007,35.084991],[23.514978,35.279992],[23.69998,35.705004]]],[[[26.604196,41.562115],[26.294602,40.936261],[26.056942,40.824123],[25.447677,40.852545],[24.925848,40.947062],[23.714811,40.687129],[24.407999,40.124993],[23.899968,39.962006],[23.342999,39.960998],[22.813988,40.476005],[22.626299,40.256561],[22.849748,39.659311],[23.350027,39.190011],[22.973099,38.970903],[23.530016,38.510001],[24.025025,38.219993],[24.040011,37.655015],[23.115003,37.920011],[23.409972,37.409991],[22.774972,37.30501],[23.154225,36.422506],[22.490028,36.41],[21.670026,36.844986],[21.295011,37.644989],[21.120034,38.310323],[20.730032,38.769985],[20.217712,39.340235],[20.150016,39.624998],[20.615,40.110007],[20.674997,40.435],[20.99999,40.580004],[21.02004,40.842727],[21.674161,40.931275],[22.055378,41.149866],[22.597308,41.130487],[22.76177,41.3048],[22.952377,41.337994],[23.692074,41.309081],[24.492645,41.583896],[25.197201,41.234486],[26.106138,41.328899],[26.117042,41.826905],[26.604196,41.562115]]]]},"id":"GRC"}, -{"type":"Feature","properties":{"name":"Greenland"},"geometry":{"type":"Polygon","coordinates":[[[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765],[-31.9,82.2],[-31.39646,82.02154],[-27.85666,82.13178],[-24.84448,81.78697],[-22.90328,82.09317],[-22.07175,81.73449],[-23.16961,81.15271],[-20.62363,81.52462],[-15.76818,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.22382],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302],[-23.44296,72.08016],[-22.13281,71.46898],[-21.75356,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503],[-31.77665,68.12078],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.90093],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96911,67.18899],[-52.9804,68.35759],[-51.47536,68.72958],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.574925],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.406537],[-55.83468,71.65444],[-54.71819,72.58625],[-55.32634,72.95861],[-56.12003,73.64977],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58516,75.51727],[-61.26861,76.10238],[-63.39165,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.00857],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15938,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.21396],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.03363],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.985945],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796]]]},"id":"GRL"}, -{"type":"Feature","properties":{"name":"Guatemala"},"geometry":{"type":"Polygon","coordinates":[[[-90.095555,13.735338],[-90.608624,13.909771],[-91.23241,13.927832],[-91.689747,14.126218],[-92.22775,14.538829],[-92.20323,14.830103],[-92.087216,15.064585],[-92.229249,15.251447],[-91.74796,16.066565],[-90.464473,16.069562],[-90.438867,16.41011],[-90.600847,16.470778],[-90.711822,16.687483],[-91.08167,16.918477],[-91.453921,17.252177],[-91.002269,17.254658],[-91.00152,17.817595],[-90.067934,17.819326],[-89.14308,17.808319],[-89.150806,17.015577],[-89.229122,15.886938],[-88.930613,15.887273],[-88.604586,15.70638],[-88.518364,15.855389],[-88.225023,15.727722],[-88.68068,15.346247],[-89.154811,15.066419],[-89.22522,14.874286],[-89.145535,14.678019],[-89.353326,14.424133],[-89.587343,14.362586],[-89.534219,14.244816],[-89.721934,14.134228],[-90.064678,13.88197],[-90.095555,13.735338]]]},"id":"GTM"}, -{"type":"Feature","properties":{"name":"Guyana"},"geometry":{"type":"Polygon","coordinates":[[[-59.758285,8.367035],[-59.101684,7.999202],[-58.482962,7.347691],[-58.454876,6.832787],[-58.078103,6.809094],[-57.542219,6.321268],[-57.147436,5.97315],[-57.307246,5.073567],[-57.914289,4.812626],[-57.86021,4.576801],[-58.044694,4.060864],[-57.601569,3.334655],[-57.281433,3.333492],[-57.150098,2.768927],[-56.539386,1.899523],[-56.782704,1.863711],[-57.335823,1.948538],[-57.660971,1.682585],[-58.11345,1.507195],[-58.429477,1.463942],[-58.540013,1.268088],[-59.030862,1.317698],[-59.646044,1.786894],[-59.718546,2.24963],[-59.974525,2.755233],[-59.815413,3.606499],[-59.53804,3.958803],[-59.767406,4.423503],[-60.111002,4.574967],[-59.980959,5.014061],[-60.213683,5.244486],[-60.733574,5.200277],[-61.410303,5.959068],[-61.139415,6.234297],[-61.159336,6.696077],[-60.543999,6.856584],[-60.295668,7.043911],[-60.637973,7.415],[-60.550588,7.779603],[-59.758285,8.367035]]]},"id":"GUY"}, -{"type":"Feature","properties":{"name":"Honduras"},"geometry":{"type":"Polygon","coordinates":[[[-87.316654,12.984686],[-87.489409,13.297535],[-87.793111,13.38448],[-87.723503,13.78505],[-87.859515,13.893312],[-88.065343,13.964626],[-88.503998,13.845486],[-88.541231,13.980155],[-88.843073,14.140507],[-89.058512,14.340029],[-89.353326,14.424133],[-89.145535,14.678019],[-89.22522,14.874286],[-89.154811,15.066419],[-88.68068,15.346247],[-88.225023,15.727722],[-88.121153,15.688655],[-87.901813,15.864458],[-87.61568,15.878799],[-87.522921,15.797279],[-87.367762,15.84694],[-86.903191,15.756713],[-86.440946,15.782835],[-86.119234,15.893449],[-86.001954,16.005406],[-85.683317,15.953652],[-85.444004,15.885749],[-85.182444,15.909158],[-84.983722,15.995923],[-84.52698,15.857224],[-84.368256,15.835158],[-84.063055,15.648244],[-83.773977,15.424072],[-83.410381,15.270903],[-83.147219,14.995829],[-83.489989,15.016267],[-83.628585,14.880074],[-83.975721,14.749436],[-84.228342,14.748764],[-84.449336,14.621614],[-84.649582,14.666805],[-84.820037,14.819587],[-84.924501,14.790493],[-85.052787,14.551541],[-85.148751,14.560197],[-85.165365,14.35437],[-85.514413,14.079012],[-85.698665,13.960078],[-85.801295,13.836055],[-86.096264,14.038187],[-86.312142,13.771356],[-86.520708,13.778487],[-86.755087,13.754845],[-86.733822,13.263093],[-86.880557,13.254204],[-87.005769,13.025794],[-87.316654,12.984686]]]},"id":"HND"}, -{"type":"Feature","properties":{"name":"Croatia"},"geometry":{"type":"Polygon","coordinates":[[[18.829838,45.908878],[19.072769,45.521511],[19.390476,45.236516],[19.005486,44.860234],[18.553214,45.08159],[17.861783,45.06774],[17.002146,45.233777],[16.534939,45.211608],[16.318157,45.004127],[15.959367,45.233777],[15.750026,44.818712],[16.23966,44.351143],[16.456443,44.04124],[16.916156,43.667722],[17.297373,43.446341],[17.674922,43.028563],[18.56,42.65],[18.450016,42.479991],[17.50997,42.849995],[16.930006,43.209998],[16.015385,43.507215],[15.174454,44.243191],[15.37625,44.317915],[14.920309,44.738484],[14.901602,45.07606],[14.258748,45.233777],[13.952255,44.802124],[13.656976,45.136935],[13.679403,45.484149],[13.71506,45.500324],[14.411968,45.466166],[14.595109,45.634941],[14.935244,45.471695],[15.327675,45.452316],[15.323954,45.731783],[15.67153,45.834154],[15.768733,46.238108],[16.564808,46.503751],[16.882515,46.380632],[17.630066,45.951769],[18.456062,45.759481],[18.829838,45.908878]]]},"id":"HRV"}, -{"type":"Feature","properties":{"name":"Haiti"},"geometry":{"type":"Polygon","coordinates":[[[-73.189791,19.915684],[-72.579673,19.871501],[-71.712361,19.714456],[-71.624873,19.169838],[-71.701303,18.785417],[-71.945112,18.6169],[-71.687738,18.31666],[-71.708305,18.044997],[-72.372476,18.214961],[-72.844411,18.145611],[-73.454555,18.217906],[-73.922433,18.030993],[-74.458034,18.34255],[-74.369925,18.664908],[-73.449542,18.526053],[-72.694937,18.445799],[-72.334882,18.668422],[-72.79165,19.101625],[-72.784105,19.483591],[-73.415022,19.639551],[-73.189791,19.915684]]]},"id":"HTI"}, -{"type":"Feature","properties":{"name":"Hungary"},"geometry":{"type":"Polygon","coordinates":[[[16.202298,46.852386],[16.534268,47.496171],[16.340584,47.712902],[16.903754,47.714866],[16.979667,48.123497],[17.488473,47.867466],[17.857133,47.758429],[18.696513,47.880954],[18.777025,48.081768],[19.174365,48.111379],[19.661364,48.266615],[19.769471,48.202691],[20.239054,48.327567],[20.473562,48.56285],[20.801294,48.623854],[21.872236,48.319971],[22.085608,48.422264],[22.64082,48.15024],[22.710531,47.882194],[22.099768,47.672439],[21.626515,46.994238],[21.021952,46.316088],[20.220192,46.127469],[19.596045,46.17173],[18.829838,45.908878],[18.456062,45.759481],[17.630066,45.951769],[16.882515,46.380632],[16.564808,46.503751],[16.370505,46.841327],[16.202298,46.852386]]]},"id":"HUN"}, -{"type":"Feature","properties":{"name":"Indonesia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[120.715609,-10.239581],[120.295014,-10.25865],[118.967808,-9.557969],[119.90031,-9.36134],[120.425756,-9.665921],[120.775502,-9.969675],[120.715609,-10.239581]]],[[[124.43595,-10.140001],[123.579982,-10.359987],[123.459989,-10.239995],[123.550009,-9.900016],[123.980009,-9.290027],[124.968682,-8.89279],[125.07002,-9.089987],[125.08852,-9.393173],[124.43595,-10.140001]]],[[[117.900018,-8.095681],[118.260616,-8.362383],[118.87846,-8.280683],[119.126507,-8.705825],[117.970402,-8.906639],[117.277731,-9.040895],[116.740141,-9.032937],[117.083737,-8.457158],[117.632024,-8.449303],[117.900018,-8.095681]]],[[[122.903537,-8.094234],[122.756983,-8.649808],[121.254491,-8.933666],[119.924391,-8.810418],[119.920929,-8.444859],[120.715092,-8.236965],[121.341669,-8.53674],[122.007365,-8.46062],[122.903537,-8.094234]]],[[[108.623479,-6.777674],[110.539227,-6.877358],[110.759576,-6.465186],[112.614811,-6.946036],[112.978768,-7.594213],[114.478935,-7.776528],[115.705527,-8.370807],[114.564511,-8.751817],[113.464734,-8.348947],[112.559672,-8.376181],[111.522061,-8.302129],[110.58615,-8.122605],[109.427667,-7.740664],[108.693655,-7.6416],[108.277763,-7.766657],[106.454102,-7.3549],[106.280624,-6.9249],[105.365486,-6.851416],[106.051646,-5.895919],[107.265009,-5.954985],[108.072091,-6.345762],[108.486846,-6.421985],[108.623479,-6.777674]]],[[[134.724624,-6.214401],[134.210134,-6.895238],[134.112776,-6.142467],[134.290336,-5.783058],[134.499625,-5.445042],[134.727002,-5.737582],[134.724624,-6.214401]]],[[[127.249215,-3.459065],[126.874923,-3.790983],[126.183802,-3.607376],[125.989034,-3.177273],[127.000651,-3.129318],[127.249215,-3.459065]]],[[[130.471344,-3.093764],[130.834836,-3.858472],[129.990547,-3.446301],[129.155249,-3.362637],[128.590684,-3.428679],[127.898891,-3.393436],[128.135879,-2.84365],[129.370998,-2.802154],[130.471344,-3.093764]]],[[[134.143368,-1.151867],[134.422627,-2.769185],[135.457603,-3.367753],[136.293314,-2.307042],[137.440738,-1.703513],[138.329727,-1.702686],[139.184921,-2.051296],[139.926684,-2.409052],[141.00021,-2.600151],[141.017057,-5.859022],[141.033852,-9.117893],[140.143415,-8.297168],[139.127767,-8.096043],[138.881477,-8.380935],[137.614474,-8.411683],[138.039099,-7.597882],[138.668621,-7.320225],[138.407914,-6.232849],[137.92784,-5.393366],[135.98925,-4.546544],[135.164598,-4.462931],[133.66288,-3.538853],[133.367705,-4.024819],[132.983956,-4.112979],[132.756941,-3.746283],[132.753789,-3.311787],[131.989804,-2.820551],[133.066845,-2.460418],[133.780031,-2.479848],[133.696212,-2.214542],[132.232373,-2.212526],[131.836222,-1.617162],[130.94284,-1.432522],[130.519558,-0.93772],[131.867538,-0.695461],[132.380116,-0.369538],[133.985548,-0.78021],[134.143368,-1.151867]]],[[[125.240501,1.419836],[124.437035,0.427881],[123.685505,0.235593],[122.723083,0.431137],[121.056725,0.381217],[120.183083,0.237247],[120.04087,-0.519658],[120.935905,-1.408906],[121.475821,-0.955962],[123.340565,-0.615673],[123.258399,-1.076213],[122.822715,-0.930951],[122.38853,-1.516858],[121.508274,-1.904483],[122.454572,-3.186058],[122.271896,-3.5295],[123.170963,-4.683693],[123.162333,-5.340604],[122.628515,-5.634591],[122.236394,-5.282933],[122.719569,-4.464172],[121.738234,-4.851331],[121.489463,-4.574553],[121.619171,-4.188478],[120.898182,-3.602105],[120.972389,-2.627643],[120.305453,-2.931604],[120.390047,-4.097579],[120.430717,-5.528241],[119.796543,-5.6734],[119.366906,-5.379878],[119.653606,-4.459417],[119.498835,-3.494412],[119.078344,-3.487022],[118.767769,-2.801999],[119.180974,-2.147104],[119.323394,-1.353147],[119.825999,0.154254],[120.035702,0.566477],[120.885779,1.309223],[121.666817,1.013944],[122.927567,0.875192],[124.077522,0.917102],[125.065989,1.643259],[125.240501,1.419836]]],[[[128.688249,1.132386],[128.635952,0.258486],[128.12017,0.356413],[127.968034,-0.252077],[128.379999,-0.780004],[128.100016,-0.899996],[127.696475,-0.266598],[127.39949,1.011722],[127.600512,1.810691],[127.932378,2.174596],[128.004156,1.628531],[128.594559,1.540811],[128.688249,1.132386]]],[[[117.875627,1.827641],[118.996747,0.902219],[117.811858,0.784242],[117.478339,0.102475],[117.521644,-0.803723],[116.560048,-1.487661],[116.533797,-2.483517],[116.148084,-4.012726],[116.000858,-3.657037],[114.864803,-4.106984],[114.468652,-3.495704],[113.755672,-3.43917],[113.256994,-3.118776],[112.068126,-3.478392],[111.703291,-2.994442],[111.04824,-3.049426],[110.223846,-2.934032],[110.070936,-1.592874],[109.571948,-1.314907],[109.091874,-0.459507],[108.952658,0.415375],[109.069136,1.341934],[109.66326,2.006467],[109.830227,1.338136],[110.514061,0.773131],[111.159138,0.976478],[111.797548,0.904441],[112.380252,1.410121],[112.859809,1.49779],[113.80585,1.217549],[114.621355,1.430688],[115.134037,2.821482],[115.519078,3.169238],[115.865517,4.306559],[117.015214,4.306094],[117.882035,4.137551],[117.313232,3.234428],[118.04833,2.28769],[117.875627,1.827641]]],[[[105.817655,-5.852356],[104.710384,-5.873285],[103.868213,-5.037315],[102.584261,-4.220259],[102.156173,-3.614146],[101.399113,-2.799777],[100.902503,-2.050262],[100.141981,-0.650348],[99.26374,0.183142],[98.970011,1.042882],[98.601351,1.823507],[97.699598,2.453184],[97.176942,3.308791],[96.424017,3.86886],[95.380876,4.970782],[95.293026,5.479821],[95.936863,5.439513],[97.484882,5.246321],[98.369169,4.26837],[99.142559,3.59035],[99.693998,3.174329],[100.641434,2.099381],[101.658012,2.083697],[102.498271,1.3987],[103.07684,0.561361],[103.838396,0.104542],[103.437645,-0.711946],[104.010789,-1.059212],[104.369991,-1.084843],[104.53949,-1.782372],[104.887893,-2.340425],[105.622111,-2.428844],[106.108593,-3.061777],[105.857446,-4.305525],[105.817655,-5.852356]]]]},"id":"IDN"}, -{"type":"Feature","properties":{"name":"India"},"geometry":{"type":"Polygon","coordinates":[[[77.837451,35.49401],[78.912269,34.321936],[78.811086,33.506198],[79.208892,32.994395],[79.176129,32.48378],[78.458446,32.618164],[78.738894,31.515906],[79.721367,30.882715],[81.111256,30.183481],[80.476721,29.729865],[80.088425,28.79447],[81.057203,28.416095],[81.999987,27.925479],[83.304249,27.364506],[84.675018,27.234901],[85.251779,26.726198],[86.024393,26.630985],[87.227472,26.397898],[88.060238,26.414615],[88.174804,26.810405],[88.043133,27.445819],[88.120441,27.876542],[88.730326,28.086865],[88.814248,27.299316],[88.835643,27.098966],[89.744528,26.719403],[90.373275,26.875724],[91.217513,26.808648],[92.033484,26.83831],[92.103712,27.452614],[91.696657,27.771742],[92.503119,27.896876],[93.413348,28.640629],[94.56599,29.277438],[95.404802,29.031717],[96.117679,29.452802],[96.586591,28.83098],[96.248833,28.411031],[97.327114,28.261583],[97.402561,27.882536],[97.051989,27.699059],[97.133999,27.083774],[96.419366,27.264589],[95.124768,26.573572],[95.155153,26.001307],[94.603249,25.162495],[94.552658,24.675238],[94.106742,23.850741],[93.325188,24.078556],[93.286327,23.043658],[93.060294,22.703111],[93.166128,22.27846],[92.672721,22.041239],[92.146035,23.627499],[91.869928,23.624346],[91.706475,22.985264],[91.158963,23.503527],[91.46773,24.072639],[91.915093,24.130414],[92.376202,24.976693],[91.799596,25.147432],[90.872211,25.132601],[89.920693,25.26975],[89.832481,25.965082],[89.355094,26.014407],[88.563049,26.446526],[88.209789,25.768066],[88.931554,25.238692],[88.306373,24.866079],[88.084422,24.501657],[88.69994,24.233715],[88.52977,23.631142],[88.876312,22.879146],[89.031961,22.055708],[88.888766,21.690588],[88.208497,21.703172],[86.975704,21.495562],[87.033169,20.743308],[86.499351,20.151638],[85.060266,19.478579],[83.941006,18.30201],[83.189217,17.671221],[82.192792,17.016636],[82.191242,16.556664],[81.692719,16.310219],[80.791999,15.951972],[80.324896,15.899185],[80.025069,15.136415],[80.233274,13.835771],[80.286294,13.006261],[79.862547,12.056215],[79.857999,10.357275],[79.340512,10.308854],[78.885345,9.546136],[79.18972,9.216544],[78.277941,8.933047],[77.941165,8.252959],[77.539898,7.965535],[76.592979,8.899276],[76.130061,10.29963],[75.746467,11.308251],[75.396101,11.781245],[74.864816,12.741936],[74.616717,13.992583],[74.443859,14.617222],[73.534199,15.990652],[73.119909,17.92857],[72.820909,19.208234],[72.824475,20.419503],[72.630533,21.356009],[71.175273,20.757441],[70.470459,20.877331],[69.16413,22.089298],[69.644928,22.450775],[69.349597,22.84318],[68.176645,23.691965],[68.842599,24.359134],[71.04324,24.356524],[70.844699,25.215102],[70.282873,25.722229],[70.168927,26.491872],[69.514393,26.940966],[70.616496,27.989196],[71.777666,27.91318],[72.823752,28.961592],[73.450638,29.976413],[74.42138,30.979815],[74.405929,31.692639],[75.258642,32.271105],[74.451559,32.7649],[74.104294,33.441473],[73.749948,34.317699],[74.240203,34.748887],[75.757061,34.504923],[76.871722,34.653544],[77.837451,35.49401]]]},"id":"IND"}, -{"type":"Feature","properties":{"name":"Ireland"},"geometry":{"type":"Polygon","coordinates":[[[-6.197885,53.867565],[-6.032985,53.153164],[-6.788857,52.260118],[-8.561617,51.669301],[-9.977086,51.820455],[-9.166283,52.864629],[-9.688525,53.881363],[-8.327987,54.664519],[-7.572168,55.131622],[-7.366031,54.595841],[-7.572168,54.059956],[-6.95373,54.073702],[-6.197885,53.867565]]]},"id":"IRL"}, -{"type":"Feature","properties":{"name":"Iran"},"geometry":{"type":"Polygon","coordinates":[[[53.921598,37.198918],[54.800304,37.392421],[55.511578,37.964117],[56.180375,37.935127],[56.619366,38.121394],[57.330434,38.029229],[58.436154,37.522309],[59.234762,37.412988],[60.377638,36.527383],[61.123071,36.491597],[61.210817,35.650072],[60.803193,34.404102],[60.52843,33.676446],[60.9637,33.528832],[60.536078,32.981269],[60.863655,32.18292],[60.941945,31.548075],[61.699314,31.379506],[61.781222,30.73585],[60.874248,29.829239],[61.369309,29.303276],[61.771868,28.699334],[62.72783,28.259645],[62.755426,27.378923],[63.233898,27.217047],[63.316632,26.756532],[61.874187,26.239975],[61.497363,25.078237],[59.616134,25.380157],[58.525761,25.609962],[57.397251,25.739902],[56.970766,26.966106],[56.492139,27.143305],[55.72371,26.964633],[54.71509,26.480658],[53.493097,26.812369],[52.483598,27.580849],[51.520763,27.86569],[50.852948,28.814521],[50.115009,30.147773],[49.57685,29.985715],[48.941333,30.31709],[48.567971,29.926778],[48.014568,30.452457],[48.004698,30.985137],[47.685286,30.984853],[47.849204,31.709176],[47.334661,32.469155],[46.109362,33.017287],[45.416691,33.967798],[45.64846,34.748138],[46.151788,35.093259],[46.07634,35.677383],[45.420618,35.977546],[44.77267,37.17045],[44.225756,37.971584],[44.421403,38.281281],[44.109225,39.428136],[44.79399,39.713003],[44.952688,39.335765],[45.457722,38.874139],[46.143623,38.741201],[46.50572,38.770605],[47.685079,39.508364],[48.060095,39.582235],[48.355529,39.288765],[48.010744,38.794015],[48.634375,38.270378],[48.883249,38.320245],[49.199612,37.582874],[50.147771,37.374567],[50.842354,36.872814],[52.264025,36.700422],[53.82579,36.965031],[53.921598,37.198918]]]},"id":"IRN"}, -{"type":"Feature","properties":{"name":"Iraq"},"geometry":{"type":"Polygon","coordinates":[[[45.420618,35.977546],[46.07634,35.677383],[46.151788,35.093259],[45.64846,34.748138],[45.416691,33.967798],[46.109362,33.017287],[47.334661,32.469155],[47.849204,31.709176],[47.685286,30.984853],[48.004698,30.985137],[48.014568,30.452457],[48.567971,29.926778],[47.974519,29.975819],[47.302622,30.05907],[46.568713,29.099025],[44.709499,29.178891],[41.889981,31.190009],[40.399994,31.889992],[39.195468,32.161009],[38.792341,33.378686],[41.006159,34.419372],[41.383965,35.628317],[41.289707,36.358815],[41.837064,36.605854],[42.349591,37.229873],[42.779126,37.385264],[43.942259,37.256228],[44.293452,37.001514],[44.772699,37.170445],[45.420618,35.977546]]]},"id":"IRQ"}, -{"type":"Feature","properties":{"name":"Iceland"},"geometry":{"type":"Polygon","coordinates":[[[-14.508695,66.455892],[-14.739637,65.808748],[-13.609732,65.126671],[-14.909834,64.364082],[-17.794438,63.678749],[-18.656246,63.496383],[-19.972755,63.643635],[-22.762972,63.960179],[-21.778484,64.402116],[-23.955044,64.89113],[-22.184403,65.084968],[-22.227423,65.378594],[-24.326184,65.611189],[-23.650515,66.262519],[-22.134922,66.410469],[-20.576284,65.732112],[-19.056842,66.276601],[-17.798624,65.993853],[-16.167819,66.526792],[-14.508695,66.455892]]]},"id":"ISL"}, -{"type":"Feature","properties":{"name":"Israel"},"geometry":{"type":"Polygon","coordinates":[[[35.719918,32.709192],[35.545665,32.393992],[35.18393,32.532511],[34.974641,31.866582],[35.225892,31.754341],[34.970507,31.616778],[34.927408,31.353435],[35.397561,31.489086],[35.420918,31.100066],[34.922603,29.501326],[34.265433,31.219361],[34.556372,31.548824],[34.488107,31.605539],[34.752587,32.072926],[34.955417,32.827376],[35.098457,33.080539],[35.126053,33.0909],[35.460709,33.08904],[35.552797,33.264275],[35.821101,33.277426],[35.836397,32.868123],[35.700798,32.716014],[35.719918,32.709192]]]},"id":"ISR"}, -{"type":"Feature","properties":{"name":"Italy"},"geometry":{"type":"MultiPolygon","coordinates":[[[[15.520376,38.231155],[15.160243,37.444046],[15.309898,37.134219],[15.099988,36.619987],[14.335229,36.996631],[13.826733,37.104531],[12.431004,37.61295],[12.570944,38.126381],[13.741156,38.034966],[14.761249,38.143874],[15.520376,38.231155]]],[[[9.210012,41.209991],[9.809975,40.500009],[9.669519,39.177376],[9.214818,39.240473],[8.806936,38.906618],[8.428302,39.171847],[8.388253,40.378311],[8.159998,40.950007],[8.709991,40.899984],[9.210012,41.209991]]],[[[12.376485,46.767559],[13.806475,46.509306],[13.69811,46.016778],[13.93763,45.591016],[13.141606,45.736692],[12.328581,45.381778],[12.383875,44.885374],[12.261453,44.600482],[12.589237,44.091366],[13.526906,43.587727],[14.029821,42.761008],[15.14257,41.95514],[15.926191,41.961315],[16.169897,41.740295],[15.889346,41.541082],[16.785002,41.179606],[17.519169,40.877143],[18.376687,40.355625],[18.480247,40.168866],[18.293385,39.810774],[17.73838,40.277671],[16.869596,40.442235],[16.448743,39.795401],[17.17149,39.4247],[17.052841,38.902871],[16.635088,38.843572],[16.100961,37.985899],[15.684087,37.908849],[15.687963,38.214593],[15.891981,38.750942],[16.109332,38.964547],[15.718814,39.544072],[15.413613,40.048357],[14.998496,40.172949],[14.703268,40.60455],[14.060672,40.786348],[13.627985,41.188287],[12.888082,41.25309],[12.106683,41.704535],[11.191906,42.355425],[10.511948,42.931463],[10.200029,43.920007],[9.702488,44.036279],[8.888946,44.366336],[8.428561,44.231228],[7.850767,43.767148],[7.435185,43.693845],[7.549596,44.127901],[7.007562,44.254767],[6.749955,45.028518],[7.096652,45.333099],[6.802355,45.70858],[6.843593,45.991147],[7.273851,45.776948],[7.755992,45.82449],[8.31663,46.163642],[8.489952,46.005151],[8.966306,46.036932],[9.182882,46.440215],[9.922837,46.314899],[10.363378,46.483571],[10.442701,46.893546],[11.048556,46.751359],[11.164828,46.941579],[12.153088,47.115393],[12.376485,46.767559]]]]},"id":"ITA"}, -{"type":"Feature","properties":{"name":"Jamaica"},"geometry":{"type":"Polygon","coordinates":[[[-77.569601,18.490525],[-76.896619,18.400867],[-76.365359,18.160701],[-76.199659,17.886867],[-76.902561,17.868238],[-77.206341,17.701116],[-77.766023,17.861597],[-78.337719,18.225968],[-78.217727,18.454533],[-77.797365,18.524218],[-77.569601,18.490525]]]},"id":"JAM"}, -{"type":"Feature","properties":{"name":"Jordan"},"geometry":{"type":"Polygon","coordinates":[[[35.545665,32.393992],[35.719918,32.709192],[36.834062,32.312938],[38.792341,33.378686],[39.195468,32.161009],[39.004886,32.010217],[37.002166,31.508413],[37.998849,30.5085],[37.66812,30.338665],[37.503582,30.003776],[36.740528,29.865283],[36.501214,29.505254],[36.068941,29.197495],[34.956037,29.356555],[34.922603,29.501326],[35.420918,31.100066],[35.397561,31.489086],[35.545252,31.782505],[35.545665,32.393992]]]},"id":"JOR"}, -{"type":"Feature","properties":{"name":"Japan"},"geometry":{"type":"MultiPolygon","coordinates":[[[[134.638428,34.149234],[134.766379,33.806335],[134.203416,33.201178],[133.79295,33.521985],[133.280268,33.28957],[133.014858,32.704567],[132.363115,32.989382],[132.371176,33.463642],[132.924373,34.060299],[133.492968,33.944621],[133.904106,34.364931],[134.638428,34.149234]]],[[[140.976388,37.142074],[140.59977,36.343983],[140.774074,35.842877],[140.253279,35.138114],[138.975528,34.6676],[137.217599,34.606286],[135.792983,33.464805],[135.120983,33.849071],[135.079435,34.596545],[133.340316,34.375938],[132.156771,33.904933],[130.986145,33.885761],[132.000036,33.149992],[131.33279,31.450355],[130.686318,31.029579],[130.20242,31.418238],[130.447676,32.319475],[129.814692,32.61031],[129.408463,33.296056],[130.353935,33.604151],[130.878451,34.232743],[131.884229,34.749714],[132.617673,35.433393],[134.608301,35.731618],[135.677538,35.527134],[136.723831,37.304984],[137.390612,36.827391],[138.857602,37.827485],[139.426405,38.215962],[140.05479,39.438807],[139.883379,40.563312],[140.305783,41.195005],[141.368973,41.37856],[141.914263,39.991616],[141.884601,39.180865],[140.959489,38.174001],[140.976388,37.142074]]],[[[143.910162,44.1741],[144.613427,43.960883],[145.320825,44.384733],[145.543137,43.262088],[144.059662,42.988358],[143.18385,41.995215],[141.611491,42.678791],[141.067286,41.584594],[139.955106,41.569556],[139.817544,42.563759],[140.312087,43.333273],[141.380549,43.388825],[141.671952,44.772125],[141.967645,45.551483],[143.14287,44.510358],[143.910162,44.1741]]]]},"id":"JPN"}, -{"type":"Feature","properties":{"name":"Kazakhstan"},"geometry":{"type":"Polygon","coordinates":[[[70.962315,42.266154],[70.388965,42.081308],[69.070027,41.384244],[68.632483,40.668681],[68.259896,40.662325],[67.985856,41.135991],[66.714047,41.168444],[66.510649,41.987644],[66.023392,41.994646],[66.098012,42.99766],[64.900824,43.728081],[63.185787,43.650075],[62.0133,43.504477],[61.05832,44.405817],[60.239972,44.784037],[58.689989,45.500014],[58.503127,45.586804],[55.928917,44.995858],[55.968191,41.308642],[55.455251,41.259859],[54.755345,42.043971],[54.079418,42.324109],[52.944293,42.116034],[52.50246,41.783316],[52.446339,42.027151],[52.692112,42.443895],[52.501426,42.792298],[51.342427,43.132975],[50.891292,44.031034],[50.339129,44.284016],[50.305643,44.609836],[51.278503,44.514854],[51.316899,45.245998],[52.16739,45.408391],[53.040876,45.259047],[53.220866,46.234646],[53.042737,46.853006],[52.042023,46.804637],[51.191945,47.048705],[50.034083,46.60899],[49.10116,46.39933],[48.593241,46.561034],[48.694734,47.075628],[48.057253,47.743753],[47.315231,47.715847],[46.466446,48.394152],[47.043672,49.152039],[46.751596,49.356006],[47.54948,50.454698],[48.577841,49.87476],[48.702382,50.605128],[50.766648,51.692762],[52.328724,51.718652],[54.532878,51.02624],[55.716941,50.621717],[56.777961,51.043551],[58.363291,51.063653],[59.642282,50.545442],[59.932807,50.842194],[61.337424,50.79907],[61.588003,51.272659],[59.967534,51.96042],[60.927269,52.447548],[60.739993,52.719986],[61.699986,52.979996],[60.978066,53.664993],[61.436591,54.006265],[65.178534,54.354228],[65.666876,54.601267],[68.1691,54.970392],[69.068167,55.38525],[70.865267,55.169734],[71.180131,54.133285],[72.22415,54.376655],[73.508516,54.035617],[73.425679,53.48981],[74.384845,53.546861],[76.8911,54.490524],[76.525179,54.177003],[77.800916,53.404415],[80.03556,50.864751],[80.568447,51.388336],[81.945986,50.812196],[83.383004,51.069183],[83.935115,50.889246],[84.416377,50.3114],[85.11556,50.117303],[85.54127,49.692859],[86.829357,49.826675],[87.35997,49.214981],[86.598776,48.549182],[85.768233,48.455751],[85.720484,47.452969],[85.16429,47.000956],[83.180484,47.330031],[82.458926,45.53965],[81.947071,45.317027],[79.966106,44.917517],[80.866206,43.180362],[80.18015,42.920068],[80.25999,42.349999],[79.643645,42.496683],[79.142177,42.856092],[77.658392,42.960686],[76.000354,42.988022],[75.636965,42.8779],[74.212866,43.298339],[73.645304,43.091272],[73.489758,42.500894],[71.844638,42.845395],[71.186281,42.704293],[70.962315,42.266154]]]},"id":"KAZ"}, -{"type":"Feature","properties":{"name":"Kenya"},"geometry":{"type":"Polygon","coordinates":[[[40.993,-0.85829],[41.58513,-1.68325],[40.88477,-2.08255],[40.63785,-2.49979],[40.26304,-2.57309],[40.12119,-3.27768],[39.80006,-3.68116],[39.60489,-4.34653],[39.20222,-4.67677],[37.7669,-3.67712],[37.69869,-3.09699],[34.07262,-1.05982],[33.903711,-0.95],[33.893569,0.109814],[34.18,0.515],[34.6721,1.17694],[35.03599,1.90584],[34.59607,3.05374],[34.47913,3.5556],[34.005,4.249885],[34.620196,4.847123],[35.298007,5.506],[35.817448,5.338232],[35.817448,4.776966],[36.159079,4.447864],[36.855093,4.447864],[38.120915,3.598605],[38.43697,3.58851],[38.67114,3.61607],[38.89251,3.50074],[39.559384,3.42206],[39.85494,3.83879],[40.76848,4.25702],[41.1718,3.91909],[41.855083,3.918912],[40.98105,2.78452],[40.993,-0.85829]]]},"id":"KEN"}, -{"type":"Feature","properties":{"name":"Kyrgyzstan"},"geometry":{"type":"Polygon","coordinates":[[[70.962315,42.266154],[71.186281,42.704293],[71.844638,42.845395],[73.489758,42.500894],[73.645304,43.091272],[74.212866,43.298339],[75.636965,42.8779],[76.000354,42.988022],[77.658392,42.960686],[79.142177,42.856092],[79.643645,42.496683],[80.25999,42.349999],[80.11943,42.123941],[78.543661,41.582243],[78.187197,41.185316],[76.904484,41.066486],[76.526368,40.427946],[75.467828,40.562072],[74.776862,40.366425],[73.822244,39.893973],[73.960013,39.660008],[73.675379,39.431237],[71.784694,39.279463],[70.549162,39.604198],[69.464887,39.526683],[69.55961,40.103211],[70.648019,39.935754],[71.014198,40.244366],[71.774875,40.145844],[73.055417,40.866033],[71.870115,41.3929],[71.157859,41.143587],[70.420022,41.519998],[71.259248,42.167711],[70.962315,42.266154]]]},"id":"KGZ"}, -{"type":"Feature","properties":{"name":"Cambodia"},"geometry":{"type":"Polygon","coordinates":[[[103.49728,10.632555],[103.09069,11.153661],[102.584932,12.186595],[102.348099,13.394247],[102.988422,14.225721],[104.281418,14.416743],[105.218777,14.273212],[106.043946,13.881091],[106.496373,14.570584],[107.382727,14.202441],[107.614548,13.535531],[107.491403,12.337206],[105.810524,11.567615],[106.24967,10.961812],[105.199915,10.88931],[104.334335,10.486544],[103.49728,10.632555]]]},"id":"KHM"}, -{"type":"Feature","properties":{"name":"South Korea"},"geometry":{"type":"Polygon","coordinates":[[[128.349716,38.612243],[129.21292,37.432392],[129.46045,36.784189],[129.468304,35.632141],[129.091377,35.082484],[128.18585,34.890377],[127.386519,34.475674],[126.485748,34.390046],[126.37392,34.93456],[126.559231,35.684541],[126.117398,36.725485],[126.860143,36.893924],[126.174759,37.749686],[126.237339,37.840378],[126.68372,37.804773],[127.073309,38.256115],[127.780035,38.304536],[128.205746,38.370397],[128.349716,38.612243]]]},"id":"KOR"}, -{"type":"Feature","properties":{"name":"Kosovo"},"geometry":{"type":"Polygon","coordinates":[[[20.76216,42.05186],[20.71731,41.84711],[20.59023,41.85541],[20.52295,42.21787],[20.28374,42.32025],[20.0707,42.58863],[20.25758,42.81275],[20.49679,42.88469],[20.63508,43.21671],[20.81448,43.27205],[20.95651,43.13094],[21.143395,43.068685],[21.27421,42.90959],[21.43866,42.86255],[21.63302,42.67717],[21.77505,42.6827],[21.66292,42.43922],[21.54332,42.32025],[21.576636,42.245224],[21.3527,42.2068],[20.76216,42.05186]]]},"id":"-99"}, -{"type":"Feature","properties":{"name":"Kuwait"},"geometry":{"type":"Polygon","coordinates":[[[47.974519,29.975819],[48.183189,29.534477],[48.093943,29.306299],[48.416094,28.552004],[47.708851,28.526063],[47.459822,29.002519],[46.568713,29.099025],[47.302622,30.05907],[47.974519,29.975819]]]},"id":"KWT"}, -{"type":"Feature","properties":{"name":"Laos"},"geometry":{"type":"Polygon","coordinates":[[[105.218777,14.273212],[105.544338,14.723934],[105.589039,15.570316],[104.779321,16.441865],[104.716947,17.428859],[103.956477,18.240954],[103.200192,18.309632],[102.998706,17.961695],[102.413005,17.932782],[102.113592,18.109102],[101.059548,17.512497],[101.035931,18.408928],[101.282015,19.462585],[100.606294,19.508344],[100.548881,20.109238],[100.115988,20.41785],[100.329101,20.786122],[101.180005,21.436573],[101.270026,21.201652],[101.80312,21.174367],[101.652018,22.318199],[102.170436,22.464753],[102.754896,21.675137],[103.203861,20.766562],[104.435,20.758733],[104.822574,19.886642],[104.183388,19.624668],[103.896532,19.265181],[105.094598,18.666975],[105.925762,17.485315],[106.556008,16.604284],[107.312706,15.908538],[107.564525,15.202173],[107.382727,14.202441],[106.496373,14.570584],[106.043946,13.881091],[105.218777,14.273212]]]},"id":"LAO"}, -{"type":"Feature","properties":{"name":"Lebanon"},"geometry":{"type":"Polygon","coordinates":[[[35.821101,33.277426],[35.552797,33.264275],[35.460709,33.08904],[35.126053,33.0909],[35.482207,33.90545],[35.979592,34.610058],[35.998403,34.644914],[36.448194,34.593935],[36.61175,34.201789],[36.06646,33.824912],[35.821101,33.277426]]]},"id":"LBN"}, -{"type":"Feature","properties":{"name":"Liberia"},"geometry":{"type":"Polygon","coordinates":[[[-7.712159,4.364566],[-7.974107,4.355755],[-9.004794,4.832419],[-9.91342,5.593561],[-10.765384,6.140711],[-11.438779,6.785917],[-11.199802,7.105846],[-11.146704,7.396706],[-10.695595,7.939464],[-10.230094,8.406206],[-10.016567,8.428504],[-9.755342,8.541055],[-9.33728,7.928534],[-9.403348,7.526905],[-9.208786,7.313921],[-8.926065,7.309037],[-8.722124,7.711674],[-8.439298,7.686043],[-8.485446,7.395208],[-8.385452,6.911801],[-8.60288,6.467564],[-8.311348,6.193033],[-7.993693,6.12619],[-7.570153,5.707352],[-7.539715,5.313345],[-7.635368,5.188159],[-7.712159,4.364566]]]},"id":"LBR"}, -{"type":"Feature","properties":{"name":"Libya"},"geometry":{"type":"Polygon","coordinates":[[[14.8513,22.86295],[14.143871,22.491289],[13.581425,23.040506],[11.999506,23.471668],[11.560669,24.097909],[10.771364,24.562532],[10.303847,24.379313],[9.948261,24.936954],[9.910693,25.365455],[9.319411,26.094325],[9.716286,26.512206],[9.629056,27.140953],[9.756128,27.688259],[9.683885,28.144174],[9.859998,28.95999],[9.805634,29.424638],[9.48214,30.307556],[9.970017,30.539325],[10.056575,30.961831],[9.950225,31.37607],[10.636901,31.761421],[10.94479,32.081815],[11.432253,32.368903],[11.488787,33.136996],[12.66331,32.79278],[13.08326,32.87882],[13.91868,32.71196],[15.24563,32.26508],[15.71394,31.37626],[16.61162,31.18218],[18.02109,30.76357],[19.08641,30.26639],[19.57404,30.52582],[20.05335,30.98576],[19.82033,31.75179],[20.13397,32.2382],[20.85452,32.7068],[21.54298,32.8432],[22.89576,32.63858],[23.2368,32.19149],[23.60913,32.18726],[23.9275,32.01667],[24.92114,31.89936],[25.16482,31.56915],[24.80287,31.08929],[24.95762,30.6616],[24.70007,30.04419],[25,29.238655],[25,25.6825],[25,22],[25,20.00304],[23.85,20],[23.83766,19.58047],[19.84926,21.49509],[15.86085,23.40972],[14.8513,22.86295]]]},"id":"LBY"}, -{"type":"Feature","properties":{"name":"Sri Lanka"},"geometry":{"type":"Polygon","coordinates":[[[81.787959,7.523055],[81.637322,6.481775],[81.21802,6.197141],[80.348357,5.96837],[79.872469,6.763463],[79.695167,8.200843],[80.147801,9.824078],[80.838818,9.268427],[81.304319,8.564206],[81.787959,7.523055]]]},"id":"LKA"}, -{"type":"Feature","properties":{"name":"Lesotho"},"geometry":{"type":"Polygon","coordinates":[[[28.978263,-28.955597],[29.325166,-29.257387],[29.018415,-29.743766],[28.8484,-30.070051],[28.291069,-30.226217],[28.107205,-30.545732],[27.749397,-30.645106],[26.999262,-29.875954],[27.532511,-29.242711],[28.074338,-28.851469],[28.5417,-28.647502],[28.978263,-28.955597]]]},"id":"LSO"}, -{"type":"Feature","properties":{"name":"Lithuania"},"geometry":{"type":"Polygon","coordinates":[[[22.731099,54.327537],[22.651052,54.582741],[22.757764,54.856574],[22.315724,55.015299],[21.268449,55.190482],[21.0558,56.031076],[22.201157,56.337802],[23.878264,56.273671],[24.860684,56.372528],[25.000934,56.164531],[25.533047,56.100297],[26.494331,55.615107],[26.588279,55.167176],[25.768433,54.846963],[25.536354,54.282423],[24.450684,53.905702],[23.484128,53.912498],[23.243987,54.220567],[22.731099,54.327537]]]},"id":"LTU"}, -{"type":"Feature","properties":{"name":"Luxembourg"},"geometry":{"type":"Polygon","coordinates":[[[6.043073,50.128052],[6.242751,49.902226],[6.18632,49.463803],[5.897759,49.442667],[5.674052,49.529484],[5.782417,50.090328],[6.043073,50.128052]]]},"id":"LUX"}, -{"type":"Feature","properties":{"name":"Latvia"},"geometry":{"type":"Polygon","coordinates":[[[21.0558,56.031076],[21.090424,56.783873],[21.581866,57.411871],[22.524341,57.753374],[23.318453,57.006236],[24.12073,57.025693],[24.312863,57.793424],[25.164594,57.970157],[25.60281,57.847529],[26.463532,57.476389],[27.288185,57.474528],[27.770016,57.244258],[27.855282,56.759326],[28.176709,56.16913],[27.10246,55.783314],[26.494331,55.615107],[25.533047,56.100297],[25.000934,56.164531],[24.860684,56.372528],[23.878264,56.273671],[22.201157,56.337802],[21.0558,56.031076]]]},"id":"LVA"}, -{"type":"Feature","properties":{"name":"Morocco"},"geometry":{"type":"Polygon","coordinates":[[[-5.193863,35.755182],[-4.591006,35.330712],[-3.640057,35.399855],[-2.604306,35.179093],[-2.169914,35.168396],[-1.792986,34.527919],[-1.733455,33.919713],[-1.388049,32.864015],[-1.124551,32.651522],[-1.307899,32.262889],[-2.616605,32.094346],[-3.06898,31.724498],[-3.647498,31.637294],[-3.690441,30.896952],[-4.859646,30.501188],[-5.242129,30.000443],[-6.060632,29.7317],[-7.059228,29.579228],[-8.674116,28.841289],[-8.66559,27.656426],[-8.817809,27.656426],[-8.817828,27.656426],[-8.794884,27.120696],[-9.413037,27.088476],[-9.735343,26.860945],[-10.189424,26.860945],[-10.551263,26.990808],[-11.392555,26.883424],[-11.71822,26.104092],[-12.030759,26.030866],[-12.500963,24.770116],[-13.89111,23.691009],[-14.221168,22.310163],[-14.630833,21.86094],[-14.750955,21.5006],[-17.002962,21.420734],[-17.020428,21.42231],[-16.973248,21.885745],[-16.589137,22.158234],[-16.261922,22.67934],[-16.326414,23.017768],[-15.982611,23.723358],[-15.426004,24.359134],[-15.089332,24.520261],[-14.824645,25.103533],[-14.800926,25.636265],[-14.43994,26.254418],[-13.773805,26.618892],[-13.139942,27.640148],[-13.121613,27.654148],[-12.618837,28.038186],[-11.688919,28.148644],[-10.900957,28.832142],[-10.399592,29.098586],[-9.564811,29.933574],[-9.814718,31.177736],[-9.434793,32.038096],[-9.300693,32.564679],[-8.657476,33.240245],[-7.654178,33.697065],[-6.912544,34.110476],[-6.244342,35.145865],[-5.929994,35.759988],[-5.193863,35.755182]]]},"id":"MAR"}, -{"type":"Feature","properties":{"name":"Moldova"},"geometry":{"type":"Polygon","coordinates":[[[26.619337,48.220726],[26.857824,48.368211],[27.522537,48.467119],[28.259547,48.155562],[28.670891,48.118149],[29.122698,47.849095],[29.050868,47.510227],[29.415135,47.346645],[29.559674,46.928583],[29.908852,46.674361],[29.83821,46.525326],[30.024659,46.423937],[29.759972,46.349988],[29.170654,46.379262],[29.072107,46.517678],[28.862972,46.437889],[28.933717,46.25883],[28.659987,45.939987],[28.485269,45.596907],[28.233554,45.488283],[28.054443,45.944586],[28.160018,46.371563],[28.12803,46.810476],[27.551166,47.405117],[27.233873,47.826771],[26.924176,48.123264],[26.619337,48.220726]]]},"id":"MDA"}, -{"type":"Feature","properties":{"name":"Madagascar"},"geometry":{"type":"Polygon","coordinates":[[[49.543519,-12.469833],[49.808981,-12.895285],[50.056511,-13.555761],[50.217431,-14.758789],[50.476537,-15.226512],[50.377111,-15.706069],[50.200275,-16.000263],[49.860606,-15.414253],[49.672607,-15.710204],[49.863344,-16.451037],[49.774564,-16.875042],[49.498612,-17.106036],[49.435619,-17.953064],[49.041792,-19.118781],[48.548541,-20.496888],[47.930749,-22.391501],[47.547723,-23.781959],[47.095761,-24.94163],[46.282478,-25.178463],[45.409508,-25.601434],[44.833574,-25.346101],[44.03972,-24.988345],[43.763768,-24.460677],[43.697778,-23.574116],[43.345654,-22.776904],[43.254187,-22.057413],[43.433298,-21.336475],[43.893683,-21.163307],[43.89637,-20.830459],[44.374325,-20.072366],[44.464397,-19.435454],[44.232422,-18.961995],[44.042976,-18.331387],[43.963084,-17.409945],[44.312469,-16.850496],[44.446517,-16.216219],[44.944937,-16.179374],[45.502732,-15.974373],[45.872994,-15.793454],[46.312243,-15.780018],[46.882183,-15.210182],[47.70513,-14.594303],[48.005215,-14.091233],[47.869047,-13.663869],[48.293828,-13.784068],[48.84506,-13.089175],[48.863509,-12.487868],[49.194651,-12.040557],[49.543519,-12.469833]]]},"id":"MDG"}, -{"type":"Feature","properties":{"name":"Mexico"},"geometry":{"type":"Polygon","coordinates":[[[-97.140008,25.869997],[-97.528072,24.992144],[-97.702946,24.272343],[-97.776042,22.93258],[-97.872367,22.444212],[-97.699044,21.898689],[-97.38896,21.411019],[-97.189333,20.635433],[-96.525576,19.890931],[-96.292127,19.320371],[-95.900885,18.828024],[-94.839063,18.562717],[-94.42573,18.144371],[-93.548651,18.423837],[-92.786114,18.524839],[-92.037348,18.704569],[-91.407903,18.876083],[-90.77187,19.28412],[-90.53359,19.867418],[-90.451476,20.707522],[-90.278618,20.999855],[-89.601321,21.261726],[-88.543866,21.493675],[-87.658417,21.458846],[-87.05189,21.543543],[-86.811982,21.331515],[-86.845908,20.849865],[-87.383291,20.255405],[-87.621054,19.646553],[-87.43675,19.472403],[-87.58656,19.04013],[-87.837191,18.259816],[-88.090664,18.516648],[-88.300031,18.499982],[-88.490123,18.486831],[-88.848344,17.883198],[-89.029857,18.001511],[-89.150909,17.955468],[-89.14308,17.808319],[-90.067934,17.819326],[-91.00152,17.817595],[-91.002269,17.254658],[-91.453921,17.252177],[-91.08167,16.918477],[-90.711822,16.687483],[-90.600847,16.470778],[-90.438867,16.41011],[-90.464473,16.069562],[-91.74796,16.066565],[-92.229249,15.251447],[-92.087216,15.064585],[-92.20323,14.830103],[-92.22775,14.538829],[-93.359464,15.61543],[-93.875169,15.940164],[-94.691656,16.200975],[-95.250227,16.128318],[-96.053382,15.752088],[-96.557434,15.653515],[-97.263592,15.917065],[-98.01303,16.107312],[-98.947676,16.566043],[-99.697397,16.706164],[-100.829499,17.171071],[-101.666089,17.649026],[-101.918528,17.91609],[-102.478132,17.975751],[-103.50099,18.292295],[-103.917527,18.748572],[-104.99201,19.316134],[-105.493038,19.946767],[-105.731396,20.434102],[-105.397773,20.531719],[-105.500661,20.816895],[-105.270752,21.076285],[-105.265817,21.422104],[-105.603161,21.871146],[-105.693414,22.26908],[-106.028716,22.773752],[-106.90998,23.767774],[-107.915449,24.548915],[-108.401905,25.172314],[-109.260199,25.580609],[-109.444089,25.824884],[-109.291644,26.442934],[-109.801458,26.676176],[-110.391732,27.162115],[-110.641019,27.859876],[-111.178919,27.941241],[-111.759607,28.467953],[-112.228235,28.954409],[-112.271824,29.266844],[-112.809594,30.021114],[-113.163811,30.786881],[-113.148669,31.170966],[-113.871881,31.567608],[-114.205737,31.524045],[-114.776451,31.799532],[-114.9367,31.393485],[-114.771232,30.913617],[-114.673899,30.162681],[-114.330974,29.750432],[-113.588875,29.061611],[-113.424053,28.826174],[-113.271969,28.754783],[-113.140039,28.411289],[-112.962298,28.42519],[-112.761587,27.780217],[-112.457911,27.525814],[-112.244952,27.171727],[-111.616489,26.662817],[-111.284675,25.73259],[-110.987819,25.294606],[-110.710007,24.826004],[-110.655049,24.298595],[-110.172856,24.265548],[-109.771847,23.811183],[-109.409104,23.364672],[-109.433392,23.185588],[-109.854219,22.818272],[-110.031392,22.823078],[-110.295071,23.430973],[-110.949501,24.000964],[-111.670568,24.484423],[-112.182036,24.738413],[-112.148989,25.470125],[-112.300711,26.012004],[-112.777297,26.32196],[-113.464671,26.768186],[-113.59673,26.63946],[-113.848937,26.900064],[-114.465747,27.14209],[-115.055142,27.722727],[-114.982253,27.7982],[-114.570366,27.741485],[-114.199329,28.115003],[-114.162018,28.566112],[-114.931842,29.279479],[-115.518654,29.556362],[-115.887365,30.180794],[-116.25835,30.836464],[-116.721526,31.635744],[-117.12776,32.53534],[-115.99135,32.61239],[-114.72139,32.72083],[-114.815,32.52528],[-113.30498,32.03914],[-111.02361,31.33472],[-109.035,31.34194],[-108.24194,31.34222],[-108.24,31.754854],[-106.50759,31.75452],[-106.1429,31.39995],[-105.63159,31.08383],[-105.03737,30.64402],[-104.70575,30.12173],[-104.45697,29.57196],[-103.94,29.27],[-103.11,28.97],[-102.48,29.76],[-101.6624,29.7793],[-100.9576,29.38071],[-100.45584,28.69612],[-100.11,28.11],[-99.52,27.54],[-99.3,26.84],[-99.02,26.37],[-98.24,26.06],[-97.53,25.84],[-97.140008,25.869997]]]},"id":"MEX"}, -{"type":"Feature","properties":{"name":"Macedonia"},"geometry":{"type":"Polygon","coordinates":[[[20.59023,41.85541],[20.71731,41.84711],[20.76216,42.05186],[21.3527,42.2068],[21.576636,42.245224],[21.91708,42.30364],[22.380526,42.32026],[22.881374,41.999297],[22.952377,41.337994],[22.76177,41.3048],[22.597308,41.130487],[22.055378,41.149866],[21.674161,40.931275],[21.02004,40.842727],[20.60518,41.08622],[20.46315,41.51509],[20.59023,41.85541]]]},"id":"MKD"}, -{"type":"Feature","properties":{"name":"Mali"},"geometry":{"type":"Polygon","coordinates":[[[-12.17075,14.616834],[-11.834208,14.799097],[-11.666078,15.388208],[-11.349095,15.411256],[-10.650791,15.132746],[-10.086846,15.330486],[-9.700255,15.264107],[-9.550238,15.486497],[-5.537744,15.50169],[-5.315277,16.201854],[-5.488523,16.325102],[-5.971129,20.640833],[-6.453787,24.956591],[-4.923337,24.974574],[-1.550055,22.792666],[1.823228,20.610809],[2.060991,20.142233],[2.683588,19.85623],[3.146661,19.693579],[3.158133,19.057364],[4.267419,19.155265],[4.27021,16.852227],[3.723422,16.184284],[3.638259,15.56812],[2.749993,15.409525],[1.385528,15.323561],[1.015783,14.968182],[0.374892,14.928908],[-0.266257,14.924309],[-0.515854,15.116158],[-1.066363,14.973815],[-2.001035,14.559008],[-2.191825,14.246418],[-2.967694,13.79815],[-3.103707,13.541267],[-3.522803,13.337662],[-4.006391,13.472485],[-4.280405,13.228444],[-4.427166,12.542646],[-5.220942,11.713859],[-5.197843,11.375146],[-5.470565,10.95127],[-5.404342,10.370737],[-5.816926,10.222555],[-6.050452,10.096361],[-6.205223,10.524061],[-6.493965,10.411303],[-6.666461,10.430811],[-6.850507,10.138994],[-7.622759,10.147236],[-7.89959,10.297382],[-8.029944,10.206535],[-8.335377,10.494812],[-8.282357,10.792597],[-8.407311,10.909257],[-8.620321,10.810891],[-8.581305,11.136246],[-8.376305,11.393646],[-8.786099,11.812561],[-8.905265,12.088358],[-9.127474,12.30806],[-9.327616,12.334286],[-9.567912,12.194243],[-9.890993,12.060479],[-10.165214,11.844084],[-10.593224,11.923975],[-10.87083,12.177887],[-11.036556,12.211245],[-11.297574,12.077971],[-11.456169,12.076834],[-11.513943,12.442988],[-11.467899,12.754519],[-11.553398,13.141214],[-11.927716,13.422075],[-12.124887,13.994727],[-12.17075,14.616834]]]},"id":"MLI"}, -{"type":"Feature","properties":{"name":"Myanmar"},"geometry":{"type":"Polygon","coordinates":[[[99.543309,20.186598],[98.959676,19.752981],[98.253724,19.708203],[97.797783,18.62708],[97.375896,18.445438],[97.859123,17.567946],[98.493761,16.837836],[98.903348,16.177824],[98.537376,15.308497],[98.192074,15.123703],[98.430819,14.622028],[99.097755,13.827503],[99.212012,13.269294],[99.196354,12.804748],[99.587286,11.892763],[99.038121,10.960546],[98.553551,9.93296],[98.457174,10.675266],[98.764546,11.441292],[98.428339,12.032987],[98.509574,13.122378],[98.103604,13.64046],[97.777732,14.837286],[97.597072,16.100568],[97.16454,16.928734],[96.505769,16.427241],[95.369352,15.71439],[94.808405,15.803454],[94.188804,16.037936],[94.533486,17.27724],[94.324817,18.213514],[93.540988,19.366493],[93.663255,19.726962],[93.078278,19.855145],[92.368554,20.670883],[92.303234,21.475485],[92.652257,21.324048],[92.672721,22.041239],[93.166128,22.27846],[93.060294,22.703111],[93.286327,23.043658],[93.325188,24.078556],[94.106742,23.850741],[94.552658,24.675238],[94.603249,25.162495],[95.155153,26.001307],[95.124768,26.573572],[96.419366,27.264589],[97.133999,27.083774],[97.051989,27.699059],[97.402561,27.882536],[97.327114,28.261583],[97.911988,28.335945],[98.246231,27.747221],[98.68269,27.508812],[98.712094,26.743536],[98.671838,25.918703],[97.724609,25.083637],[97.60472,23.897405],[98.660262,24.063286],[98.898749,23.142722],[99.531992,22.949039],[99.240899,22.118314],[99.983489,21.742937],[100.416538,21.558839],[101.150033,21.849984],[101.180005,21.436573],[100.329101,20.786122],[100.115988,20.41785],[99.543309,20.186598]]]},"id":"MMR"}, -{"type":"Feature","properties":{"name":"Montenegro"},"geometry":{"type":"Polygon","coordinates":[[[19.801613,42.500093],[19.738051,42.688247],[19.30449,42.19574],[19.37177,41.87755],[19.16246,41.95502],[18.88214,42.28151],[18.45,42.48],[18.56,42.65],[18.70648,43.20011],[19.03165,43.43253],[19.21852,43.52384],[19.48389,43.35229],[19.63,43.21378],[19.95857,43.10604],[20.3398,42.89852],[20.25758,42.81275],[20.0707,42.58863],[19.801613,42.500093]]]},"id":"MNE"}, -{"type":"Feature","properties":{"name":"Mongolia"},"geometry":{"type":"Polygon","coordinates":[[[87.751264,49.297198],[88.805567,49.470521],[90.713667,50.331812],[92.234712,50.802171],[93.104219,50.49529],[94.147566,50.480537],[94.815949,50.013433],[95.814028,49.977467],[97.259728,49.726061],[98.231762,50.422401],[97.82574,51.010995],[98.861491,52.047366],[99.981732,51.634006],[100.88948,51.516856],[102.065223,51.259921],[102.255909,50.510561],[103.676545,50.089966],[104.621552,50.275329],[105.886591,50.406019],[106.888804,50.274296],[107.868176,49.793705],[108.475167,49.282548],[109.402449,49.292961],[110.662011,49.130128],[111.581231,49.377968],[112.89774,49.543565],[114.362456,50.248303],[114.96211,50.140247],[115.485695,49.805177],[116.678801,49.888531],[116.191802,49.134598],[115.485282,48.135383],[115.742837,47.726545],[116.308953,47.85341],[117.295507,47.697709],[118.064143,48.06673],[118.866574,47.74706],[119.772824,47.048059],[119.66327,46.69268],[118.874326,46.805412],[117.421701,46.672733],[116.717868,46.388202],[115.985096,45.727235],[114.460332,45.339817],[113.463907,44.808893],[112.436062,45.011646],[111.873306,45.102079],[111.348377,44.457442],[111.667737,44.073176],[111.829588,43.743118],[111.129682,43.406834],[110.412103,42.871234],[109.243596,42.519446],[107.744773,42.481516],[106.129316,42.134328],[104.964994,41.59741],[104.522282,41.908347],[103.312278,41.907468],[101.83304,42.514873],[100.845866,42.663804],[99.515817,42.524691],[97.451757,42.74889],[96.349396,42.725635],[95.762455,43.319449],[95.306875,44.241331],[94.688929,44.352332],[93.480734,44.975472],[92.133891,45.115076],[90.94554,45.286073],[90.585768,45.719716],[90.970809,46.888146],[90.280826,47.693549],[88.854298,48.069082],[88.013832,48.599463],[87.751264,49.297198]]]},"id":"MNG"}, -{"type":"Feature","properties":{"name":"Mozambique"},"geometry":{"type":"Polygon","coordinates":[[[34.559989,-11.52002],[35.312398,-11.439146],[36.514082,-11.720938],[36.775151,-11.594537],[37.471284,-11.568751],[37.827645,-11.268769],[38.427557,-11.285202],[39.52103,-10.896854],[40.316589,-10.317096],[40.478387,-10.765441],[40.437253,-11.761711],[40.560811,-12.639177],[40.59962,-14.201975],[40.775475,-14.691764],[40.477251,-15.406294],[40.089264,-16.100774],[39.452559,-16.720891],[38.538351,-17.101023],[37.411133,-17.586368],[36.281279,-18.659688],[35.896497,-18.84226],[35.1984,-19.552811],[34.786383,-19.784012],[34.701893,-20.497043],[35.176127,-21.254361],[35.373428,-21.840837],[35.385848,-22.14],[35.562546,-22.09],[35.533935,-23.070788],[35.371774,-23.535359],[35.60747,-23.706563],[35.458746,-24.12261],[35.040735,-24.478351],[34.215824,-24.816314],[33.01321,-25.357573],[32.574632,-25.727318],[32.660363,-26.148584],[32.915955,-26.215867],[32.83012,-26.742192],[32.071665,-26.73382],[31.985779,-26.29178],[31.837778,-25.843332],[31.752408,-25.484284],[31.930589,-24.369417],[31.670398,-23.658969],[31.191409,-22.25151],[32.244988,-21.116489],[32.508693,-20.395292],[32.659743,-20.30429],[32.772708,-19.715592],[32.611994,-19.419383],[32.654886,-18.67209],[32.849861,-17.979057],[32.847639,-16.713398],[32.328239,-16.392074],[31.852041,-16.319417],[31.636498,-16.07199],[31.173064,-15.860944],[30.338955,-15.880839],[30.274256,-15.507787],[30.179481,-14.796099],[33.214025,-13.97186],[33.7897,-14.451831],[34.064825,-14.35995],[34.459633,-14.61301],[34.517666,-15.013709],[34.307291,-15.478641],[34.381292,-16.18356],[35.03381,-16.8013],[35.339063,-16.10744],[35.771905,-15.896859],[35.686845,-14.611046],[35.267956,-13.887834],[34.907151,-13.565425],[34.559989,-13.579998],[34.280006,-12.280025],[34.559989,-11.52002]]]},"id":"MOZ"}, -{"type":"Feature","properties":{"name":"Mauritania"},"geometry":{"type":"Polygon","coordinates":[[[-12.17075,14.616834],[-12.830658,15.303692],[-13.435738,16.039383],[-14.099521,16.304302],[-14.577348,16.598264],[-15.135737,16.587282],[-15.623666,16.369337],[-16.12069,16.455663],[-16.463098,16.135036],[-16.549708,16.673892],[-16.270552,17.166963],[-16.146347,18.108482],[-16.256883,19.096716],[-16.377651,19.593817],[-16.277838,20.092521],[-16.536324,20.567866],[-17.063423,20.999752],[-16.845194,21.333323],[-12.929102,21.327071],[-13.118754,22.77122],[-12.874222,23.284832],[-11.937224,23.374594],[-11.969419,25.933353],[-8.687294,25.881056],[-8.6844,27.395744],[-4.923337,24.974574],[-6.453787,24.956591],[-5.971129,20.640833],[-5.488523,16.325102],[-5.315277,16.201854],[-5.537744,15.50169],[-9.550238,15.486497],[-9.700255,15.264107],[-10.086846,15.330486],[-10.650791,15.132746],[-11.349095,15.411256],[-11.666078,15.388208],[-11.834208,14.799097],[-12.17075,14.616834]]]},"id":"MRT"}, -{"type":"Feature","properties":{"name":"Malawi"},"geometry":{"type":"Polygon","coordinates":[[[34.559989,-11.52002],[34.280006,-12.280025],[34.559989,-13.579998],[34.907151,-13.565425],[35.267956,-13.887834],[35.686845,-14.611046],[35.771905,-15.896859],[35.339063,-16.10744],[35.03381,-16.8013],[34.381292,-16.18356],[34.307291,-15.478641],[34.517666,-15.013709],[34.459633,-14.61301],[34.064825,-14.35995],[33.7897,-14.451831],[33.214025,-13.97186],[32.688165,-13.712858],[32.991764,-12.783871],[33.306422,-12.435778],[33.114289,-11.607198],[33.31531,-10.79655],[33.485688,-10.525559],[33.231388,-9.676722],[32.759375,-9.230599],[33.739729,-9.417151],[33.940838,-9.693674],[34.280006,-10.16],[34.559989,-11.52002]]]},"id":"MWI"}, -{"type":"Feature","properties":{"name":"Malaysia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[101.075516,6.204867],[101.154219,5.691384],[101.814282,5.810808],[102.141187,6.221636],[102.371147,6.128205],[102.961705,5.524495],[103.381215,4.855001],[103.438575,4.181606],[103.332122,3.726698],[103.429429,3.382869],[103.502448,2.791019],[103.854674,2.515454],[104.247932,1.631141],[104.228811,1.293048],[103.519707,1.226334],[102.573615,1.967115],[101.390638,2.760814],[101.27354,3.270292],[100.695435,3.93914],[100.557408,4.76728],[100.196706,5.312493],[100.30626,6.040562],[100.085757,6.464489],[100.259596,6.642825],[101.075516,6.204867]]],[[[118.618321,4.478202],[117.882035,4.137551],[117.015214,4.306094],[115.865517,4.306559],[115.519078,3.169238],[115.134037,2.821482],[114.621355,1.430688],[113.80585,1.217549],[112.859809,1.49779],[112.380252,1.410121],[111.797548,0.904441],[111.159138,0.976478],[110.514061,0.773131],[109.830227,1.338136],[109.66326,2.006467],[110.396135,1.663775],[111.168853,1.850637],[111.370081,2.697303],[111.796928,2.885897],[112.995615,3.102395],[113.712935,3.893509],[114.204017,4.525874],[114.659596,4.007637],[114.869557,4.348314],[115.347461,4.316636],[115.4057,4.955228],[115.45071,5.44773],[116.220741,6.143191],[116.725103,6.924771],[117.129626,6.928053],[117.643393,6.422166],[117.689075,5.98749],[118.347691,5.708696],[119.181904,5.407836],[119.110694,5.016128],[118.439727,4.966519],[118.618321,4.478202]]]]},"id":"MYS"}, -{"type":"Feature","properties":{"name":"Namibia"},"geometry":{"type":"Polygon","coordinates":[[[16.344977,-28.576705],[15.601818,-27.821247],[15.210472,-27.090956],[14.989711,-26.117372],[14.743214,-25.39292],[14.408144,-23.853014],[14.385717,-22.656653],[14.257714,-22.111208],[13.868642,-21.699037],[13.352498,-20.872834],[12.826845,-19.673166],[12.608564,-19.045349],[11.794919,-18.069129],[11.734199,-17.301889],[12.215461,-17.111668],[12.814081,-16.941343],[13.462362,-16.971212],[14.058501,-17.423381],[14.209707,-17.353101],[18.263309,-17.309951],[18.956187,-17.789095],[21.377176,-17.930636],[23.215048,-17.523116],[24.033862,-17.295843],[24.682349,-17.353411],[25.07695,-17.578823],[25.084443,-17.661816],[24.520705,-17.887125],[24.217365,-17.889347],[23.579006,-18.281261],[23.196858,-17.869038],[21.65504,-18.219146],[20.910641,-18.252219],[20.881134,-21.814327],[19.895458,-21.849157],[19.895768,-24.76779],[19.894734,-28.461105],[19.002127,-28.972443],[18.464899,-29.045462],[17.836152,-28.856378],[17.387497,-28.783514],[17.218929,-28.355943],[16.824017,-28.082162],[16.344977,-28.576705]]]},"id":"NAM"}, -{"type":"Feature","properties":{"name":"New Caledonia"},"geometry":{"type":"Polygon","coordinates":[[[165.77999,-21.080005],[166.599991,-21.700019],[167.120011,-22.159991],[166.740035,-22.399976],[166.189732,-22.129708],[165.474375,-21.679607],[164.829815,-21.14982],[164.167995,-20.444747],[164.029606,-20.105646],[164.459967,-20.120012],[165.020036,-20.459991],[165.460009,-20.800022],[165.77999,-21.080005]]]},"id":"NCL"}, -{"type":"Feature","properties":{"name":"Niger"},"geometry":{"type":"Polygon","coordinates":[[[2.154474,11.94015],[2.177108,12.625018],[1.024103,12.851826],[0.993046,13.33575],[0.429928,13.988733],[0.295646,14.444235],[0.374892,14.928908],[1.015783,14.968182],[1.385528,15.323561],[2.749993,15.409525],[3.638259,15.56812],[3.723422,16.184284],[4.27021,16.852227],[4.267419,19.155265],[5.677566,19.601207],[8.572893,21.565661],[11.999506,23.471668],[13.581425,23.040506],[14.143871,22.491289],[14.8513,22.86295],[15.096888,21.308519],[15.471077,21.048457],[15.487148,20.730415],[15.903247,20.387619],[15.685741,19.95718],[15.300441,17.92795],[15.247731,16.627306],[13.972202,15.684366],[13.540394,14.367134],[13.956699,13.996691],[13.954477,13.353449],[14.595781,13.330427],[14.495787,12.859396],[14.213531,12.802035],[14.181336,12.483657],[13.995353,12.461565],[13.318702,13.556356],[13.083987,13.596147],[12.302071,13.037189],[11.527803,13.32898],[10.989593,13.387323],[10.701032,13.246918],[10.114814,13.277252],[9.524928,12.851102],[9.014933,12.826659],[7.804671,13.343527],[7.330747,13.098038],[6.820442,13.115091],[6.445426,13.492768],[5.443058,13.865924],[4.368344,13.747482],[4.107946,13.531216],[3.967283,12.956109],[3.680634,12.552903],[3.61118,11.660167],[2.848643,12.235636],[2.490164,12.233052],[2.154474,11.94015]]]},"id":"NER"}, -{"type":"Feature","properties":{"name":"Nigeria"},"geometry":{"type":"Polygon","coordinates":[[[8.500288,4.771983],[7.462108,4.412108],[7.082596,4.464689],[6.698072,4.240594],[5.898173,4.262453],[5.362805,4.887971],[5.033574,5.611802],[4.325607,6.270651],[3.57418,6.2583],[2.691702,6.258817],[2.749063,7.870734],[2.723793,8.506845],[2.912308,9.137608],[3.220352,9.444153],[3.705438,10.06321],[3.60007,10.332186],[3.797112,10.734746],[3.572216,11.327939],[3.61118,11.660167],[3.680634,12.552903],[3.967283,12.956109],[4.107946,13.531216],[4.368344,13.747482],[5.443058,13.865924],[6.445426,13.492768],[6.820442,13.115091],[7.330747,13.098038],[7.804671,13.343527],[9.014933,12.826659],[9.524928,12.851102],[10.114814,13.277252],[10.701032,13.246918],[10.989593,13.387323],[11.527803,13.32898],[12.302071,13.037189],[13.083987,13.596147],[13.318702,13.556356],[13.995353,12.461565],[14.181336,12.483657],[14.577178,12.085361],[14.468192,11.904752],[14.415379,11.572369],[13.57295,10.798566],[13.308676,10.160362],[13.1676,9.640626],[12.955468,9.417772],[12.753672,8.717763],[12.218872,8.305824],[12.063946,7.799808],[11.839309,7.397042],[11.745774,6.981383],[11.058788,6.644427],[10.497375,7.055358],[10.118277,7.03877],[9.522706,6.453482],[9.233163,6.444491],[8.757533,5.479666],[8.500288,4.771983]]]},"id":"NGA"}, -{"type":"Feature","properties":{"name":"Nicaragua"},"geometry":{"type":"Polygon","coordinates":[[[-85.71254,11.088445],[-86.058488,11.403439],[-86.52585,11.806877],[-86.745992,12.143962],[-87.167516,12.458258],[-87.668493,12.90991],[-87.557467,13.064552],[-87.392386,12.914018],[-87.316654,12.984686],[-87.005769,13.025794],[-86.880557,13.254204],[-86.733822,13.263093],[-86.755087,13.754845],[-86.520708,13.778487],[-86.312142,13.771356],[-86.096264,14.038187],[-85.801295,13.836055],[-85.698665,13.960078],[-85.514413,14.079012],[-85.165365,14.35437],[-85.148751,14.560197],[-85.052787,14.551541],[-84.924501,14.790493],[-84.820037,14.819587],[-84.649582,14.666805],[-84.449336,14.621614],[-84.228342,14.748764],[-83.975721,14.749436],[-83.628585,14.880074],[-83.489989,15.016267],[-83.147219,14.995829],[-83.233234,14.899866],[-83.284162,14.676624],[-83.182126,14.310703],[-83.4125,13.970078],[-83.519832,13.567699],[-83.552207,13.127054],[-83.498515,12.869292],[-83.473323,12.419087],[-83.626104,12.32085],[-83.719613,11.893124],[-83.650858,11.629032],[-83.85547,11.373311],[-83.808936,11.103044],[-83.655612,10.938764],[-83.895054,10.726839],[-84.190179,10.79345],[-84.355931,10.999226],[-84.673069,11.082657],[-84.903003,10.952303],[-85.561852,11.217119],[-85.71254,11.088445]]]},"id":"NIC"}, -{"type":"Feature","properties":{"name":"Netherlands"},"geometry":{"type":"Polygon","coordinates":[[[6.074183,53.510403],[6.90514,53.482162],[7.092053,53.144043],[6.84287,52.22844],[6.589397,51.852029],[5.988658,51.851616],[6.156658,50.803721],[5.606976,51.037298],[4.973991,51.475024],[4.047071,51.267259],[3.314971,51.345755],[3.830289,51.620545],[4.705997,53.091798],[6.074183,53.510403]]]},"id":"NLD"}, -{"type":"Feature","properties":{"name":"Norway"},"geometry":{"type":"MultiPolygon","coordinates":[[[[28.165547,71.185474],[31.293418,70.453788],[30.005435,70.186259],[31.101079,69.55808],[29.399581,69.156916],[28.59193,69.064777],[29.015573,69.766491],[27.732292,70.164193],[26.179622,69.825299],[25.689213,69.092114],[24.735679,68.649557],[23.66205,68.891247],[22.356238,68.841741],[21.244936,69.370443],[20.645593,69.106247],[20.025269,69.065139],[19.87856,68.407194],[17.993868,68.567391],[17.729182,68.010552],[16.768879,68.013937],[16.108712,67.302456],[15.108411,66.193867],[13.55569,64.787028],[13.919905,64.445421],[13.571916,64.049114],[12.579935,64.066219],[11.930569,63.128318],[11.992064,61.800362],[12.631147,61.293572],[12.300366,60.117933],[11.468272,59.432393],[11.027369,58.856149],[10.356557,59.469807],[8.382,58.313288],[7.048748,58.078884],[5.665835,58.588155],[5.308234,59.663232],[4.992078,61.970998],[5.9129,62.614473],[8.553411,63.454008],[10.527709,64.486038],[12.358347,65.879726],[14.761146,67.810642],[16.435927,68.563205],[19.184028,69.817444],[21.378416,70.255169],[23.023742,70.202072],[24.546543,71.030497],[26.37005,70.986262],[28.165547,71.185474]]],[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]],[[[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.66956,77.73565],[13.1706,78.02493],[11.22231,78.8693],[10.44453,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175]]],[[[25.447625,80.40734],[27.407506,80.056406],[25.924651,79.517834],[23.024466,79.400012],[20.075188,79.566823],[19.897266,79.842362],[18.462264,79.85988],[17.368015,80.318896],[20.455992,80.598156],[21.907945,80.357679],[22.919253,80.657144],[25.447625,80.40734]]]]},"id":"NOR"}, -{"type":"Feature","properties":{"name":"Nepal"},"geometry":{"type":"Polygon","coordinates":[[[88.120441,27.876542],[88.043133,27.445819],[88.174804,26.810405],[88.060238,26.414615],[87.227472,26.397898],[86.024393,26.630985],[85.251779,26.726198],[84.675018,27.234901],[83.304249,27.364506],[81.999987,27.925479],[81.057203,28.416095],[80.088425,28.79447],[80.476721,29.729865],[81.111256,30.183481],[81.525804,30.422717],[82.327513,30.115268],[83.337115,29.463732],[83.898993,29.320226],[84.23458,28.839894],[85.011638,28.642774],[85.82332,28.203576],[86.954517,27.974262],[88.120441,27.876542]]]},"id":"NPL"}, -{"type":"Feature","properties":{"name":"New Zealand"},"geometry":{"type":"MultiPolygon","coordinates":[[[[173.020375,-40.919052],[173.247234,-41.331999],[173.958405,-40.926701],[174.247587,-41.349155],[174.248517,-41.770008],[173.876447,-42.233184],[173.22274,-42.970038],[172.711246,-43.372288],[173.080113,-43.853344],[172.308584,-43.865694],[171.452925,-44.242519],[171.185138,-44.897104],[170.616697,-45.908929],[169.831422,-46.355775],[169.332331,-46.641235],[168.411354,-46.619945],[167.763745,-46.290197],[166.676886,-46.219917],[166.509144,-45.852705],[167.046424,-45.110941],[168.303763,-44.123973],[168.949409,-43.935819],[169.667815,-43.555326],[170.52492,-43.031688],[171.12509,-42.512754],[171.569714,-41.767424],[171.948709,-41.514417],[172.097227,-40.956104],[172.79858,-40.493962],[173.020375,-40.919052]]],[[[174.612009,-36.156397],[175.336616,-37.209098],[175.357596,-36.526194],[175.808887,-36.798942],[175.95849,-37.555382],[176.763195,-37.881253],[177.438813,-37.961248],[178.010354,-37.579825],[178.517094,-37.695373],[178.274731,-38.582813],[177.97046,-39.166343],[177.206993,-39.145776],[176.939981,-39.449736],[177.032946,-39.879943],[176.885824,-40.065978],[176.508017,-40.604808],[176.01244,-41.289624],[175.239567,-41.688308],[175.067898,-41.425895],[174.650973,-41.281821],[175.22763,-40.459236],[174.900157,-39.908933],[173.824047,-39.508854],[173.852262,-39.146602],[174.574802,-38.797683],[174.743474,-38.027808],[174.697017,-37.381129],[174.292028,-36.711092],[174.319004,-36.534824],[173.840997,-36.121981],[173.054171,-35.237125],[172.636005,-34.529107],[173.007042,-34.450662],[173.551298,-35.006183],[174.32939,-35.265496],[174.612009,-36.156397]]]]},"id":"NZL"}, -{"type":"Feature","properties":{"name":"Oman"},"geometry":{"type":"MultiPolygon","coordinates":[[[[58.861141,21.114035],[58.487986,20.428986],[58.034318,20.481437],[57.826373,20.243002],[57.665762,19.736005],[57.7887,19.06757],[57.694391,18.94471],[57.234264,18.947991],[56.609651,18.574267],[56.512189,18.087113],[56.283521,17.876067],[55.661492,17.884128],[55.269939,17.632309],[55.2749,17.228354],[54.791002,16.950697],[54.239253,17.044981],[53.570508,16.707663],[53.108573,16.651051],[52.782184,17.349742],[52.00001,19.000003],[54.999982,19.999994],[55.666659,22.000001],[55.208341,22.70833],[55.234489,23.110993],[55.525841,23.524869],[55.528632,23.933604],[55.981214,24.130543],[55.804119,24.269604],[55.886233,24.920831],[56.396847,24.924732],[56.84514,24.241673],[57.403453,23.878594],[58.136948,23.747931],[58.729211,23.565668],[59.180502,22.992395],[59.450098,22.660271],[59.80806,22.533612],[59.806148,22.310525],[59.442191,21.714541],[59.282408,21.433886],[58.861141,21.114035]]],[[[56.391421,25.895991],[56.261042,25.714606],[56.070821,26.055464],[56.362017,26.395934],[56.485679,26.309118],[56.391421,25.895991]]]]},"id":"OMN"}, -{"type":"Feature","properties":{"name":"Pakistan"},"geometry":{"type":"Polygon","coordinates":[[[75.158028,37.133031],[75.896897,36.666806],[76.192848,35.898403],[77.837451,35.49401],[76.871722,34.653544],[75.757061,34.504923],[74.240203,34.748887],[73.749948,34.317699],[74.104294,33.441473],[74.451559,32.7649],[75.258642,32.271105],[74.405929,31.692639],[74.42138,30.979815],[73.450638,29.976413],[72.823752,28.961592],[71.777666,27.91318],[70.616496,27.989196],[69.514393,26.940966],[70.168927,26.491872],[70.282873,25.722229],[70.844699,25.215102],[71.04324,24.356524],[68.842599,24.359134],[68.176645,23.691965],[67.443667,23.944844],[67.145442,24.663611],[66.372828,25.425141],[64.530408,25.237039],[62.905701,25.218409],[61.497363,25.078237],[61.874187,26.239975],[63.316632,26.756532],[63.233898,27.217047],[62.755426,27.378923],[62.72783,28.259645],[61.771868,28.699334],[61.369309,29.303276],[60.874248,29.829239],[62.549857,29.318572],[63.550261,29.468331],[64.148002,29.340819],[64.350419,29.560031],[65.046862,29.472181],[66.346473,29.887943],[66.381458,30.738899],[66.938891,31.304911],[67.683394,31.303154],[67.792689,31.58293],[68.556932,31.71331],[68.926677,31.620189],[69.317764,31.901412],[69.262522,32.501944],[69.687147,33.105499],[70.323594,33.358533],[69.930543,34.02012],[70.881803,33.988856],[71.156773,34.348911],[71.115019,34.733126],[71.613076,35.153203],[71.498768,35.650563],[71.262348,36.074388],[71.846292,36.509942],[72.920025,36.720007],[74.067552,36.836176],[74.575893,37.020841],[75.158028,37.133031]]]},"id":"PAK"}, -{"type":"Feature","properties":{"name":"Panama"},"geometry":{"type":"Polygon","coordinates":[[[-77.881571,7.223771],[-78.214936,7.512255],[-78.429161,8.052041],[-78.182096,8.319182],[-78.435465,8.387705],[-78.622121,8.718124],[-79.120307,8.996092],[-79.557877,8.932375],[-79.760578,8.584515],[-80.164481,8.333316],[-80.382659,8.298409],[-80.480689,8.090308],[-80.00369,7.547524],[-80.276671,7.419754],[-80.421158,7.271572],[-80.886401,7.220541],[-81.059543,7.817921],[-81.189716,7.647906],[-81.519515,7.70661],[-81.721311,8.108963],[-82.131441,8.175393],[-82.390934,8.292362],[-82.820081,8.290864],[-82.850958,8.073823],[-82.965783,8.225028],[-82.913176,8.423517],[-82.829771,8.626295],[-82.868657,8.807266],[-82.719183,8.925709],[-82.927155,9.07433],[-82.932891,9.476812],[-82.546196,9.566135],[-82.187123,9.207449],[-82.207586,8.995575],[-81.808567,8.950617],[-81.714154,9.031955],[-81.439287,8.786234],[-80.947302,8.858504],[-80.521901,9.111072],[-79.9146,9.312765],[-79.573303,9.61161],[-79.021192,9.552931],[-79.05845,9.454565],[-78.500888,9.420459],[-78.055928,9.24773],[-77.729514,8.946844],[-77.353361,8.670505],[-77.474723,8.524286],[-77.242566,7.935278],[-77.431108,7.638061],[-77.753414,7.70984],[-77.881571,7.223771]]]},"id":"PAN"}, -{"type":"Feature","properties":{"name":"Peru"},"geometry":{"type":"Polygon","coordinates":[[[-69.590424,-17.580012],[-69.858444,-18.092694],[-70.372572,-18.347975],[-71.37525,-17.773799],[-71.462041,-17.363488],[-73.44453,-16.359363],[-75.237883,-15.265683],[-76.009205,-14.649286],[-76.423469,-13.823187],[-76.259242,-13.535039],[-77.106192,-12.222716],[-78.092153,-10.377712],[-79.036953,-8.386568],[-79.44592,-7.930833],[-79.760578,-7.194341],[-80.537482,-6.541668],[-81.249996,-6.136834],[-80.926347,-5.690557],[-81.410943,-4.736765],[-81.09967,-4.036394],[-80.302561,-3.404856],[-80.184015,-3.821162],[-80.469295,-4.059287],[-80.442242,-4.425724],[-80.028908,-4.346091],[-79.624979,-4.454198],[-79.205289,-4.959129],[-78.639897,-4.547784],[-78.450684,-3.873097],[-77.837905,-3.003021],[-76.635394,-2.608678],[-75.544996,-1.56161],[-75.233723,-0.911417],[-75.373223,-0.152032],[-75.106625,-0.057205],[-74.441601,-0.53082],[-74.122395,-1.002833],[-73.659504,-1.260491],[-73.070392,-2.308954],[-72.325787,-2.434218],[-71.774761,-2.16979],[-71.413646,-2.342802],[-70.813476,-2.256865],[-70.047709,-2.725156],[-70.692682,-3.742872],[-70.394044,-3.766591],[-69.893635,-4.298187],[-70.794769,-4.251265],[-70.928843,-4.401591],[-71.748406,-4.593983],[-72.891928,-5.274561],[-72.964507,-5.741251],[-73.219711,-6.089189],[-73.120027,-6.629931],[-73.724487,-6.918595],[-73.723401,-7.340999],[-73.987235,-7.52383],[-73.571059,-8.424447],[-73.015383,-9.032833],[-73.226713,-9.462213],[-72.563033,-9.520194],[-72.184891,-10.053598],[-71.302412,-10.079436],[-70.481894,-9.490118],[-70.548686,-11.009147],[-70.093752,-11.123972],[-69.529678,-10.951734],[-68.66508,-12.5613],[-68.88008,-12.899729],[-68.929224,-13.602684],[-68.948887,-14.453639],[-69.339535,-14.953195],[-69.160347,-15.323974],[-69.389764,-15.660129],[-68.959635,-16.500698],[-69.590424,-17.580012]]]},"id":"PER"}, -{"type":"Feature","properties":{"name":"Philippines"},"geometry":{"type":"MultiPolygon","coordinates":[[[[126.376814,8.414706],[126.478513,7.750354],[126.537424,7.189381],[126.196773,6.274294],[125.831421,7.293715],[125.363852,6.786485],[125.683161,6.049657],[125.396512,5.581003],[124.219788,6.161355],[123.93872,6.885136],[124.243662,7.36061],[123.610212,7.833527],[123.296071,7.418876],[122.825506,7.457375],[122.085499,6.899424],[121.919928,7.192119],[122.312359,8.034962],[122.942398,8.316237],[123.487688,8.69301],[123.841154,8.240324],[124.60147,8.514158],[124.764612,8.960409],[125.471391,8.986997],[125.412118,9.760335],[126.222714,9.286074],[126.306637,8.782487],[126.376814,8.414706]]],[[[123.982438,10.278779],[123.623183,9.950091],[123.309921,9.318269],[122.995883,9.022189],[122.380055,9.713361],[122.586089,9.981045],[122.837081,10.261157],[122.947411,10.881868],[123.49885,10.940624],[123.337774,10.267384],[124.077936,11.232726],[123.982438,10.278779]]],[[[118.504581,9.316383],[117.174275,8.3675],[117.664477,9.066889],[118.386914,9.6845],[118.987342,10.376292],[119.511496,11.369668],[119.689677,10.554291],[119.029458,10.003653],[118.504581,9.316383]]],[[[121.883548,11.891755],[122.483821,11.582187],[123.120217,11.58366],[123.100838,11.165934],[122.637714,10.741308],[122.00261,10.441017],[121.967367,10.905691],[122.03837,11.415841],[121.883548,11.891755]]],[[[125.502552,12.162695],[125.783465,11.046122],[125.011884,11.311455],[125.032761,10.975816],[125.277449,10.358722],[124.801819,10.134679],[124.760168,10.837995],[124.459101,10.88993],[124.302522,11.495371],[124.891013,11.415583],[124.87799,11.79419],[124.266762,12.557761],[125.227116,12.535721],[125.502552,12.162695]]],[[[121.527394,13.06959],[121.26219,12.20556],[120.833896,12.704496],[120.323436,13.466413],[121.180128,13.429697],[121.527394,13.06959]]],[[[121.321308,18.504065],[121.937601,18.218552],[122.246006,18.47895],[122.336957,18.224883],[122.174279,17.810283],[122.515654,17.093505],[122.252311,16.262444],[121.662786,15.931018],[121.50507,15.124814],[121.728829,14.328376],[122.258925,14.218202],[122.701276,14.336541],[123.950295,13.782131],[123.855107,13.237771],[124.181289,12.997527],[124.077419,12.536677],[123.298035,13.027526],[122.928652,13.55292],[122.671355,13.185836],[122.03465,13.784482],[121.126385,13.636687],[120.628637,13.857656],[120.679384,14.271016],[120.991819,14.525393],[120.693336,14.756671],[120.564145,14.396279],[120.070429,14.970869],[119.920929,15.406347],[119.883773,16.363704],[120.286488,16.034629],[120.390047,17.599081],[120.715867,18.505227],[121.321308,18.504065]]]]},"id":"PHL"}, -{"type":"Feature","properties":{"name":"Papua New Guinea"},"geometry":{"type":"MultiPolygon","coordinates":[[[[155.880026,-6.819997],[155.599991,-6.919991],[155.166994,-6.535931],[154.729192,-5.900828],[154.514114,-5.139118],[154.652504,-5.042431],[154.759991,-5.339984],[155.062918,-5.566792],[155.547746,-6.200655],[156.019965,-6.540014],[155.880026,-6.819997]]],[[[151.982796,-5.478063],[151.459107,-5.56028],[151.30139,-5.840728],[150.754447,-6.083763],[150.241197,-6.317754],[149.709963,-6.316513],[148.890065,-6.02604],[148.318937,-5.747142],[148.401826,-5.437756],[149.298412,-5.583742],[149.845562,-5.505503],[149.99625,-5.026101],[150.139756,-5.001348],[150.236908,-5.53222],[150.807467,-5.455842],[151.089672,-5.113693],[151.647881,-4.757074],[151.537862,-4.167807],[152.136792,-4.14879],[152.338743,-4.312966],[152.318693,-4.867661],[151.982796,-5.478063]]],[[[147.191874,-7.388024],[148.084636,-8.044108],[148.734105,-9.104664],[149.306835,-9.071436],[149.266631,-9.514406],[150.038728,-9.684318],[149.738798,-9.872937],[150.801628,-10.293687],[150.690575,-10.582713],[150.028393,-10.652476],[149.78231,-10.393267],[148.923138,-10.280923],[147.913018,-10.130441],[147.135443,-9.492444],[146.567881,-8.942555],[146.048481,-8.067414],[144.744168,-7.630128],[143.897088,-7.91533],[143.286376,-8.245491],[143.413913,-8.983069],[142.628431,-9.326821],[142.068259,-9.159596],[141.033852,-9.117893],[141.017057,-5.859022],[141.00021,-2.600151],[142.735247,-3.289153],[144.583971,-3.861418],[145.27318,-4.373738],[145.829786,-4.876498],[145.981922,-5.465609],[147.648073,-6.083659],[147.891108,-6.614015],[146.970905,-6.721657],[147.191874,-7.388024]]],[[[153.140038,-4.499983],[152.827292,-4.766427],[152.638673,-4.176127],[152.406026,-3.789743],[151.953237,-3.462062],[151.384279,-3.035422],[150.66205,-2.741486],[150.939965,-2.500002],[151.479984,-2.779985],[151.820015,-2.999972],[152.239989,-3.240009],[152.640017,-3.659983],[153.019994,-3.980015],[153.140038,-4.499983]]]]},"id":"PNG"}, -{"type":"Feature","properties":{"name":"Poland"},"geometry":{"type":"Polygon","coordinates":[[[15.016996,51.106674],[14.607098,51.745188],[14.685026,52.089947],[14.4376,52.62485],[14.074521,52.981263],[14.353315,53.248171],[14.119686,53.757029],[14.8029,54.050706],[16.363477,54.513159],[17.622832,54.851536],[18.620859,54.682606],[18.696255,54.438719],[19.66064,54.426084],[20.892245,54.312525],[22.731099,54.327537],[23.243987,54.220567],[23.484128,53.912498],[23.527536,53.470122],[23.804935,53.089731],[23.799199,52.691099],[23.199494,52.486977],[23.508002,52.023647],[23.527071,51.578454],[24.029986,50.705407],[23.922757,50.424881],[23.426508,50.308506],[22.51845,49.476774],[22.776419,49.027395],[22.558138,49.085738],[21.607808,49.470107],[20.887955,49.328772],[20.415839,49.431453],[19.825023,49.217125],[19.320713,49.571574],[18.909575,49.435846],[18.853144,49.49623],[18.392914,49.988629],[17.649445,50.049038],[17.554567,50.362146],[16.868769,50.473974],[16.719476,50.215747],[16.176253,50.422607],[16.238627,50.697733],[15.490972,50.78473],[15.016996,51.106674]]]},"id":"POL"}, -{"type":"Feature","properties":{"name":"Puerto Rico"},"geometry":{"type":"Polygon","coordinates":[[[-66.282434,18.514762],[-65.771303,18.426679],[-65.591004,18.228035],[-65.847164,17.975906],[-66.599934,17.981823],[-67.184162,17.946553],[-67.242428,18.37446],[-67.100679,18.520601],[-66.282434,18.514762]]]},"id":"PRI"}, -{"type":"Feature","properties":{"name":"North Korea"},"geometry":{"type":"Polygon","coordinates":[[[130.640016,42.395009],[130.780007,42.220007],[130.400031,42.280004],[129.965949,41.941368],[129.667362,41.601104],[129.705189,40.882828],[129.188115,40.661808],[129.0104,40.485436],[128.633368,40.189847],[127.967414,40.025413],[127.533436,39.75685],[127.50212,39.323931],[127.385434,39.213472],[127.783343,39.050898],[128.349716,38.612243],[128.205746,38.370397],[127.780035,38.304536],[127.073309,38.256115],[126.68372,37.804773],[126.237339,37.840378],[126.174759,37.749686],[125.689104,37.94001],[125.568439,37.752089],[125.27533,37.669071],[125.240087,37.857224],[124.981033,37.948821],[124.712161,38.108346],[124.985994,38.548474],[125.221949,38.665857],[125.132859,38.848559],[125.38659,39.387958],[125.321116,39.551385],[124.737482,39.660344],[124.265625,39.928493],[125.079942,40.569824],[126.182045,41.107336],[126.869083,41.816569],[127.343783,41.503152],[128.208433,41.466772],[128.052215,41.994285],[129.596669,42.424982],[129.994267,42.985387],[130.640016,42.395009]]]},"id":"PRK"}, -{"type":"Feature","properties":{"name":"Portugal"},"geometry":{"type":"Polygon","coordinates":[[[-9.034818,41.880571],[-8.671946,42.134689],[-8.263857,42.280469],[-8.013175,41.790886],[-7.422513,41.792075],[-7.251309,41.918346],[-6.668606,41.883387],[-6.389088,41.381815],[-6.851127,41.111083],[-6.86402,40.330872],[-7.026413,40.184524],[-7.066592,39.711892],[-7.498632,39.629571],[-7.098037,39.030073],[-7.374092,38.373059],[-7.029281,38.075764],[-7.166508,37.803894],[-7.537105,37.428904],[-7.453726,37.097788],[-7.855613,36.838269],[-8.382816,36.97888],[-8.898857,36.868809],[-8.746101,37.651346],[-8.839998,38.266243],[-9.287464,38.358486],[-9.526571,38.737429],[-9.446989,39.392066],[-9.048305,39.755093],[-8.977353,40.159306],[-8.768684,40.760639],[-8.790853,41.184334],[-8.990789,41.543459],[-9.034818,41.880571]]]},"id":"PRT"}, -{"type":"Feature","properties":{"name":"Paraguay"},"geometry":{"type":"Polygon","coordinates":[[[-62.685057,-22.249029],[-62.291179,-21.051635],[-62.265961,-20.513735],[-61.786326,-19.633737],[-60.043565,-19.342747],[-59.115042,-19.356906],[-58.183471,-19.868399],[-58.166392,-20.176701],[-57.870674,-20.732688],[-57.937156,-22.090176],[-56.88151,-22.282154],[-56.473317,-22.0863],[-55.797958,-22.35693],[-55.610683,-22.655619],[-55.517639,-23.571998],[-55.400747,-23.956935],[-55.027902,-24.001274],[-54.652834,-23.839578],[-54.29296,-24.021014],[-54.293476,-24.5708],[-54.428946,-25.162185],[-54.625291,-25.739255],[-54.788795,-26.621786],[-55.695846,-27.387837],[-56.486702,-27.548499],[-57.60976,-27.395899],[-58.618174,-27.123719],[-57.63366,-25.603657],[-57.777217,-25.16234],[-58.807128,-24.771459],[-60.028966,-24.032796],[-60.846565,-23.880713],[-62.685057,-22.249029]]]},"id":"PRY"}, -{"type":"Feature","properties":{"name":"Qatar"},"geometry":{"type":"Polygon","coordinates":[[[50.810108,24.754743],[50.743911,25.482424],[51.013352,26.006992],[51.286462,26.114582],[51.589079,25.801113],[51.6067,25.21567],[51.389608,24.627386],[51.112415,24.556331],[50.810108,24.754743]]]},"id":"QAT"}, -{"type":"Feature","properties":{"name":"Romania"},"geometry":{"type":"Polygon","coordinates":[[[22.710531,47.882194],[23.142236,48.096341],[23.760958,47.985598],[24.402056,47.981878],[24.866317,47.737526],[25.207743,47.891056],[25.945941,47.987149],[26.19745,48.220881],[26.619337,48.220726],[26.924176,48.123264],[27.233873,47.826771],[27.551166,47.405117],[28.12803,46.810476],[28.160018,46.371563],[28.054443,45.944586],[28.233554,45.488283],[28.679779,45.304031],[29.149725,45.464925],[29.603289,45.293308],[29.626543,45.035391],[29.141612,44.82021],[28.837858,44.913874],[28.558081,43.707462],[27.970107,43.812468],[27.2424,44.175986],[26.065159,43.943494],[25.569272,43.688445],[24.100679,43.741051],[23.332302,43.897011],[22.944832,43.823785],[22.65715,44.234923],[22.474008,44.409228],[22.705726,44.578003],[22.459022,44.702517],[22.145088,44.478422],[21.562023,44.768947],[21.483526,45.18117],[20.874313,45.416375],[20.762175,45.734573],[20.220192,46.127469],[21.021952,46.316088],[21.626515,46.994238],[22.099768,47.672439],[22.710531,47.882194]]]},"id":"ROU"}, -{"type":"Feature","properties":{"name":"Russia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[143.648007,50.7476],[144.654148,48.976391],[143.173928,49.306551],[142.558668,47.861575],[143.533492,46.836728],[143.505277,46.137908],[142.747701,46.740765],[142.09203,45.966755],[141.906925,46.805929],[142.018443,47.780133],[141.904445,48.859189],[142.1358,49.615163],[142.179983,50.952342],[141.594076,51.935435],[141.682546,53.301966],[142.606934,53.762145],[142.209749,54.225476],[142.654786,54.365881],[142.914616,53.704578],[143.260848,52.74076],[143.235268,51.75666],[143.648007,50.7476]]],[[[22.731099,54.327537],[20.892245,54.312525],[19.66064,54.426084],[19.888481,54.86616],[21.268449,55.190482],[22.315724,55.015299],[22.757764,54.856574],[22.651052,54.582741],[22.731099,54.327537]]],[[[-175.01425,66.58435],[-174.33983,66.33556],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.979709],[-180,68.963636],[-177.55,68.2],[-174.92825,67.20589],[-175.01425,66.58435]]],[[[180,70.832199],[178.903425,70.78114],[178.7253,71.0988],[180,71.515714],[180,70.832199]]],[[[-178.69378,70.89302],[-180,70.832199],[-180,71.515714],[-179.871875,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]],[[[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983],[140.81171,73.76506],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244]]],[[[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845],[150.73167,75.08406]]],[[[145.086285,75.562625],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.562625]]],[[[57.535693,70.720464],[56.944979,70.632743],[53.677375,70.762658],[53.412017,71.206662],[51.601895,71.474759],[51.455754,72.014881],[52.478275,72.229442],[52.444169,72.774731],[54.427614,73.627548],[53.50829,73.749814],[55.902459,74.627486],[55.631933,75.081412],[57.868644,75.60939],[61.170044,76.251883],[64.498368,76.439055],[66.210977,76.809782],[68.15706,76.939697],[68.852211,76.544811],[68.180573,76.233642],[64.637326,75.737755],[61.583508,75.260885],[58.477082,74.309056],[56.986786,73.333044],[55.419336,72.371268],[55.622838,71.540595],[57.535693,70.720464]]],[[[106.97013,76.97419],[107.24,76.48],[108.1538,76.72335],[111.07726,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779],[112.77918,75.03186],[110.15125,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774],[113.01954,73.97693],[113.52958,73.33505],[113.96881,73.59488],[115.56782,73.75285],[118.77633,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777,73.73503],[125.38,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599,71.19304],[131.28858,70.78699],[132.2535,71.8363],[133.85766,71.38642],[135.56193,71.65525],[137.49755,71.34763],[138.23409,71.62803],[139.86983,71.48783],[139.14791,72.41619],[140.46817,72.84941],[149.5,72.2],[150.35118,71.60643],[152.9689,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031,70.45324],[159.70866,69.72198],[160.94053,69.43728],[162.27907,69.64204],[164.05248,69.66823],[165.94037,69.47199],[167.83567,69.58269],[169.57763,68.6938],[170.81688,69.01363],[170.0082,69.65276],[170.45345,70.09703],[173.64391,69.81743],[175.72403,69.87725],[178.6,69.4],[180,68.963636],[180,64.979709],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.78,42.22],[130.64,42.395],[130.633866,42.903015],[131.144688,42.92999],[131.288555,44.11152],[131.02519,44.96796],[131.883454,45.321162],[133.09712,45.14409],[133.769644,46.116927],[134.11235,47.21248],[134.50081,47.57845],[135.026311,48.47823],[133.373596,48.183442],[132.50669,47.78896],[130.98726,47.79013],[130.582293,48.729687],[129.397818,49.4406],[127.6574,49.76027],[127.287456,50.739797],[126.939157,51.353894],[126.564399,51.784255],[125.946349,52.792799],[125.068211,53.161045],[123.57147,53.4588],[122.245748,53.431726],[121.003085,53.251401],[120.177089,52.753886],[120.725789,52.516226],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.288461,50.142883],[117.879244,49.510983],[116.678801,49.888531],[115.485695,49.805177],[114.96211,50.140247],[114.362456,50.248303],[112.89774,49.543565],[111.581231,49.377968],[110.662011,49.130128],[109.402449,49.292961],[108.475167,49.282548],[107.868176,49.793705],[106.888804,50.274296],[105.886591,50.406019],[104.62158,50.27532],[103.676545,50.089966],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.516856],[99.981732,51.634006],[98.861491,52.047366],[97.82574,51.010995],[98.231762,50.422401],[97.25976,49.72605],[95.81402,49.97746],[94.815949,50.013433],[94.147566,50.480537],[93.10421,50.49529],[92.234712,50.802171],[90.713667,50.331812],[88.805567,49.470521],[87.751264,49.297198],[87.35997,49.214981],[86.829357,49.826675],[85.54127,49.692859],[85.11556,50.117303],[84.416377,50.3114],[83.935115,50.889246],[83.383004,51.069183],[81.945986,50.812196],[80.568447,51.388336],[80.03556,50.864751],[77.800916,53.404415],[76.525179,54.177003],[76.8911,54.490524],[74.38482,53.54685],[73.425679,53.48981],[73.508516,54.035617],[72.22415,54.376655],[71.180131,54.133285],[70.865267,55.169734],[69.068167,55.38525],[68.1691,54.970392],[65.66687,54.60125],[65.178534,54.354228],[61.4366,54.00625],[60.978066,53.664993],[61.699986,52.979996],[60.739993,52.719986],[60.927269,52.447548],[59.967534,51.96042],[61.588003,51.272659],[61.337424,50.79907],[59.932807,50.842194],[59.642282,50.545442],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.532878,51.02624],[52.328724,51.718652],[50.766648,51.692762],[48.702382,50.605128],[48.577841,49.87476],[47.54948,50.454698],[46.751596,49.356006],[47.043672,49.152039],[46.466446,48.394152],[47.31524,47.71585],[48.05725,47.74377],[48.694734,47.075628],[48.59325,46.56104],[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[47.987283,41.405819],[47.815666,41.151416],[47.373315,41.219732],[46.686071,41.827137],[46.404951,41.860675],[45.7764,42.09244],[45.470279,42.502781],[44.537623,42.711993],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.076965,43.553104],[39.955009,43.434998],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.223538,47.10219],[38.255112,47.5464],[38.77057,47.82562],[39.738278,47.898937],[39.89562,48.23241],[39.67465,48.78382],[40.080789,49.30743],[40.06904,49.60105],[38.594988,49.926462],[38.010631,49.915662],[37.39346,50.383953],[36.626168,50.225591],[35.356116,50.577197],[35.37791,50.77394],[35.022183,51.207572],[34.224816,51.255993],[34.141978,51.566413],[34.391731,51.768882],[33.7527,52.335075],[32.715761,52.238465],[32.412058,52.288695],[32.15944,52.06125],[31.78597,52.10168],[31.540018,52.742052],[31.305201,53.073996],[31.49764,53.16743],[32.304519,53.132726],[32.693643,53.351421],[32.405599,53.618045],[31.731273,53.794029],[31.791424,53.974639],[31.384472,54.157056],[30.757534,54.811771],[30.971836,55.081548],[30.873909,55.550976],[29.896294,55.789463],[29.371572,55.670091],[29.229513,55.918344],[28.176709,56.16913],[27.855282,56.759326],[27.770016,57.244258],[27.288185,57.474528],[27.716686,57.791899],[27.42015,58.72457],[28.131699,59.300825],[27.98112,59.47537],[29.1177,60.02805],[28.07,60.50352],[30.211107,61.780028],[31.139991,62.357693],[31.516092,62.867687],[30.035872,63.552814],[30.444685,64.204453],[29.54443,64.948672],[30.21765,65.80598],[29.054589,66.944286],[29.977426,67.698297],[28.445944,68.364613],[28.59193,69.064777],[29.39955,69.15692],[31.10108,69.55811],[32.13272,69.90595],[33.77547,69.30142],[36.51396,69.06342],[40.29234,67.9324],[41.05987,67.45713],[41.12595,66.79158],[40.01583,66.26618],[38.38295,65.99953],[33.91871,66.75961],[33.18444,66.63253],[34.81477,65.90015],[34.878574,65.436213],[34.94391,64.41437],[36.23129,64.10945],[37.01273,63.84983],[37.14197,64.33471],[36.539579,64.76446],[37.17604,65.14322],[39.59345,64.52079],[40.4356,64.76446],[39.7626,65.49682],[42.09309,66.47623],[43.01604,66.41858],[43.94975,66.06908],[44.53226,66.75634],[43.69839,67.35245],[44.18795,67.95051],[43.45282,68.57079],[46.25,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202,67.01005],[46.34915,66.66767],[47.89416,66.88455],[48.13876,67.52238],[50.22766,67.99867],[53.71743,68.85738],[54.47171,68.80815],[53.48582,68.20131],[54.72628,68.09702],[55.44268,68.43866],[57.31702,68.46628],[58.802,68.88082],[59.94142,68.27844],[61.07784,68.94069],[60.03,69.52],[60.55,69.85],[63.504,69.54739],[64.888115,69.234835],[68.51216,68.09233],[69.18068,68.61563],[68.16444,69.14436],[68.13522,69.35649],[66.93008,69.45461],[67.25976,69.92873],[66.72492,70.70889],[66.69466,71.02897],[68.54006,71.9345],[69.19636,72.84336],[69.94,73.04],[72.58754,72.77629],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.5647,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.32],[72.42301,66.17267],[72.82077,66.53267],[73.92099,66.78946],[74.18651,67.28429],[75.052,67.76047],[74.46926,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187,69.62763],[74.3998,70.63175],[73.1011,71.44717],[74.89082,72.12119],[74.65926,72.83227],[75.15801,72.85497],[75.68351,72.30056],[75.28898,71.33556],[76.35911,71.15287],[75.90313,71.87401],[77.57665,72.26717],[79.65202,72.32011],[81.5,71.75],[80.61071,72.58285],[80.51109,73.6482],[82.25,73.85],[84.65526,73.80591],[86.8223,73.93688],[86.00956,74.45967],[87.16682,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421,76.0472],[95.86,76.14],[96.67821,75.91548],[98.92254,76.44689],[100.75967,76.43028],[101.03532,76.86189],[101.99084,77.28754],[104.3516,77.69792],[106.06664,77.37389],[104.705,77.1274],[106.97013,76.97419]]],[[[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129],[105.37243,78.71334],[105.07547,78.30689]]],[[[51.136187,80.54728],[49.793685,80.415428],[48.894411,80.339567],[48.754937,80.175468],[47.586119,80.010181],[46.502826,80.247247],[47.072455,80.559424],[44.846958,80.58981],[46.799139,80.771918],[48.318477,80.78401],[48.522806,80.514569],[49.09719,80.753986],[50.039768,80.918885],[51.522933,80.699726],[51.136187,80.54728]]],[[[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.044745],[93.31288,79.4265],[92.5454,80.14379],[91.18107,80.34146],[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.746975],[100.186655,79.780135],[99.93976,78.88094]]]]},"id":"RUS"}, -{"type":"Feature","properties":{"name":"Rwanda"},"geometry":{"type":"Polygon","coordinates":[[[30.419105,-1.134659],[30.816135,-1.698914],[30.758309,-2.28725],[30.469696,-2.413858],[29.938359,-2.348487],[29.632176,-2.917858],[29.024926,-2.839258],[29.117479,-2.292211],[29.254835,-2.21511],[29.291887,-1.620056],[29.579466,-1.341313],[29.821519,-1.443322],[30.419105,-1.134659]]]},"id":"RWA"}, -{"type":"Feature","properties":{"name":"Western Sahara"},"geometry":{"type":"Polygon","coordinates":[[[-8.794884,27.120696],[-8.817828,27.656426],[-8.66559,27.656426],[-8.665124,27.589479],[-8.6844,27.395744],[-8.687294,25.881056],[-11.969419,25.933353],[-11.937224,23.374594],[-12.874222,23.284832],[-13.118754,22.77122],[-12.929102,21.327071],[-16.845194,21.333323],[-17.063423,20.999752],[-17.020428,21.42231],[-17.002962,21.420734],[-14.750955,21.5006],[-14.630833,21.86094],[-14.221168,22.310163],[-13.89111,23.691009],[-12.500963,24.770116],[-12.030759,26.030866],[-11.71822,26.104092],[-11.392555,26.883424],[-10.551263,26.990808],[-10.189424,26.860945],[-9.735343,26.860945],[-9.413037,27.088476],[-8.794884,27.120696]]]},"id":"ESH"}, -{"type":"Feature","properties":{"name":"Saudi Arabia"},"geometry":{"type":"Polygon","coordinates":[[[42.779332,16.347891],[42.649573,16.774635],[42.347989,17.075806],[42.270888,17.474722],[41.754382,17.833046],[41.221391,18.6716],[40.939341,19.486485],[40.247652,20.174635],[39.801685,20.338862],[39.139399,21.291905],[39.023696,21.986875],[39.066329,22.579656],[38.492772,23.688451],[38.02386,24.078686],[37.483635,24.285495],[37.154818,24.858483],[37.209491,25.084542],[36.931627,25.602959],[36.639604,25.826228],[36.249137,26.570136],[35.640182,27.37652],[35.130187,28.063352],[34.632336,28.058546],[34.787779,28.607427],[34.83222,28.957483],[34.956037,29.356555],[36.068941,29.197495],[36.501214,29.505254],[36.740528,29.865283],[37.503582,30.003776],[37.66812,30.338665],[37.998849,30.5085],[37.002166,31.508413],[39.004886,32.010217],[39.195468,32.161009],[40.399994,31.889992],[41.889981,31.190009],[44.709499,29.178891],[46.568713,29.099025],[47.459822,29.002519],[47.708851,28.526063],[48.416094,28.552004],[48.807595,27.689628],[49.299554,27.461218],[49.470914,27.109999],[50.152422,26.689663],[50.212935,26.277027],[50.113303,25.943972],[50.239859,25.60805],[50.527387,25.327808],[50.660557,24.999896],[50.810108,24.754743],[51.112415,24.556331],[51.389608,24.627386],[51.579519,24.245497],[51.617708,24.014219],[52.000733,23.001154],[55.006803,22.496948],[55.208341,22.70833],[55.666659,22.000001],[54.999982,19.999994],[52.00001,19.000003],[49.116672,18.616668],[48.183344,18.166669],[47.466695,17.116682],[47.000005,16.949999],[46.749994,17.283338],[46.366659,17.233315],[45.399999,17.333335],[45.216651,17.433329],[44.062613,17.410359],[43.791519,17.319977],[43.380794,17.579987],[43.115798,17.08844],[43.218375,16.66689],[42.779332,16.347891]]]},"id":"SAU"}, -{"type":"Feature","properties":{"name":"Sudan"},"geometry":{"type":"Polygon","coordinates":[[[33.963393,9.464285],[33.824963,9.484061],[33.842131,9.981915],[33.721959,10.325262],[33.206938,10.720112],[33.086766,11.441141],[33.206938,12.179338],[32.743419,12.248008],[32.67475,12.024832],[32.073892,11.97333],[32.314235,11.681484],[32.400072,11.080626],[31.850716,10.531271],[31.352862,9.810241],[30.837841,9.707237],[29.996639,10.290927],[29.618957,10.084919],[29.515953,9.793074],[29.000932,9.604232],[28.966597,9.398224],[27.97089,9.398224],[27.833551,9.604232],[27.112521,9.638567],[26.752006,9.466893],[26.477328,9.55273],[25.962307,10.136421],[25.790633,10.411099],[25.069604,10.27376],[24.794926,9.810241],[24.537415,8.917538],[24.194068,8.728696],[23.88698,8.61973],[23.805813,8.666319],[23.459013,8.954286],[23.394779,9.265068],[23.55725,9.681218],[23.554304,10.089255],[22.977544,10.714463],[22.864165,11.142395],[22.87622,11.38461],[22.50869,11.67936],[22.49762,12.26024],[22.28801,12.64605],[21.93681,12.58818],[22.03759,12.95546],[22.29658,13.37232],[22.18329,13.78648],[22.51202,14.09318],[22.30351,14.32682],[22.56795,14.94429],[23.02459,15.68072],[23.88689,15.61084],[23.83766,19.58047],[23.85,20],[25,20.00304],[25,22],[29.02,22],[32.9,22],[36.86623,22],[37.18872,21.01885],[36.96941,20.83744],[37.1147,19.80796],[37.48179,18.61409],[37.86276,18.36786],[38.41009,17.998307],[37.904,17.42754],[37.16747,17.26314],[36.85253,16.95655],[36.75389,16.29186],[36.32322,14.82249],[36.42951,14.42211],[36.27022,13.56333],[35.86363,12.57828],[35.26049,12.08286],[34.83163,11.31896],[34.73115,10.91017],[34.25745,10.63009],[33.96162,9.58358],[33.963393,9.464285]]]},"id":"SDN"}, -{"type":"Feature","properties":{"name":"South Sudan"},"geometry":{"type":"Polygon","coordinates":[[[33.963393,9.464285],[33.97498,8.68456],[33.8255,8.37916],[33.2948,8.35458],[32.95418,7.78497],[33.56829,7.71334],[34.0751,7.22595],[34.25032,6.82607],[34.70702,6.59422],[35.298007,5.506],[34.620196,4.847123],[34.005,4.249885],[33.39,3.79],[32.68642,3.79232],[31.88145,3.55827],[31.24556,3.7819],[30.83385,3.50917],[29.95349,4.1737],[29.715995,4.600805],[29.159078,4.389267],[28.696678,4.455077],[28.428994,4.287155],[27.979977,4.408413],[27.374226,5.233944],[27.213409,5.550953],[26.465909,5.946717],[26.213418,6.546603],[25.796648,6.979316],[25.124131,7.500085],[25.114932,7.825104],[24.567369,8.229188],[23.88698,8.61973],[24.194068,8.728696],[24.537415,8.917538],[24.794926,9.810241],[25.069604,10.27376],[25.790633,10.411099],[25.962307,10.136421],[26.477328,9.55273],[26.752006,9.466893],[27.112521,9.638567],[27.833551,9.604232],[27.97089,9.398224],[28.966597,9.398224],[29.000932,9.604232],[29.515953,9.793074],[29.618957,10.084919],[29.996639,10.290927],[30.837841,9.707237],[31.352862,9.810241],[31.850716,10.531271],[32.400072,11.080626],[32.314235,11.681484],[32.073892,11.97333],[32.67475,12.024832],[32.743419,12.248008],[33.206938,12.179338],[33.086766,11.441141],[33.206938,10.720112],[33.721959,10.325262],[33.842131,9.981915],[33.824963,9.484061],[33.963393,9.464285]]]},"id":"SSD"}, -{"type":"Feature","properties":{"name":"Senegal"},"geometry":{"type":"Polygon","coordinates":[[[-16.713729,13.594959],[-17.126107,14.373516],[-17.625043,14.729541],[-17.185173,14.919477],[-16.700706,15.621527],[-16.463098,16.135036],[-16.12069,16.455663],[-15.623666,16.369337],[-15.135737,16.587282],[-14.577348,16.598264],[-14.099521,16.304302],[-13.435738,16.039383],[-12.830658,15.303692],[-12.17075,14.616834],[-12.124887,13.994727],[-11.927716,13.422075],[-11.553398,13.141214],[-11.467899,12.754519],[-11.513943,12.442988],[-11.658301,12.386583],[-12.203565,12.465648],[-12.278599,12.35444],[-12.499051,12.33209],[-13.217818,12.575874],[-13.700476,12.586183],[-15.548477,12.62817],[-15.816574,12.515567],[-16.147717,12.547762],[-16.677452,12.384852],[-16.841525,13.151394],[-15.931296,13.130284],[-15.691001,13.270353],[-15.511813,13.27857],[-15.141163,13.509512],[-14.712197,13.298207],[-14.277702,13.280585],[-13.844963,13.505042],[-14.046992,13.794068],[-14.376714,13.62568],[-14.687031,13.630357],[-15.081735,13.876492],[-15.39877,13.860369],[-15.624596,13.623587],[-16.713729,13.594959]]]},"id":"SEN"}, -{"type":"Feature","properties":{"name":"Solomon Islands"},"geometry":{"type":"MultiPolygon","coordinates":[[[[162.119025,-10.482719],[162.398646,-10.826367],[161.700032,-10.820011],[161.319797,-10.204751],[161.917383,-10.446701],[162.119025,-10.482719]]],[[[160.852229,-9.872937],[160.462588,-9.89521],[159.849447,-9.794027],[159.640003,-9.63998],[159.702945,-9.24295],[160.362956,-9.400304],[160.688518,-9.610162],[160.852229,-9.872937]]],[[[161.679982,-9.599982],[161.529397,-9.784312],[160.788253,-8.917543],[160.579997,-8.320009],[160.920028,-8.320009],[161.280006,-9.120011],[161.679982,-9.599982]]],[[[159.875027,-8.33732],[159.917402,-8.53829],[159.133677,-8.114181],[158.586114,-7.754824],[158.21115,-7.421872],[158.359978,-7.320018],[158.820001,-7.560003],[159.640003,-8.020027],[159.875027,-8.33732]]],[[[157.538426,-7.34782],[157.33942,-7.404767],[156.90203,-7.176874],[156.491358,-6.765943],[156.542828,-6.599338],[157.14,-7.021638],[157.538426,-7.34782]]]]},"id":"SLB"}, -{"type":"Feature","properties":{"name":"Sierra Leone"},"geometry":{"type":"Polygon","coordinates":[[[-11.438779,6.785917],[-11.708195,6.860098],[-12.428099,7.262942],[-12.949049,7.798646],[-13.124025,8.163946],[-13.24655,8.903049],[-12.711958,9.342712],[-12.596719,9.620188],[-12.425929,9.835834],[-12.150338,9.858572],[-11.917277,10.046984],[-11.117481,10.045873],[-10.839152,9.688246],[-10.622395,9.26791],[-10.65477,8.977178],[-10.494315,8.715541],[-10.505477,8.348896],[-10.230094,8.406206],[-10.695595,7.939464],[-11.146704,7.396706],[-11.199802,7.105846],[-11.438779,6.785917]]]},"id":"SLE"}, -{"type":"Feature","properties":{"name":"El Salvador"},"geometry":{"type":"Polygon","coordinates":[[[-87.793111,13.38448],[-87.904112,13.149017],[-88.483302,13.163951],[-88.843228,13.259734],[-89.256743,13.458533],[-89.812394,13.520622],[-90.095555,13.735338],[-90.064678,13.88197],[-89.721934,14.134228],[-89.534219,14.244816],[-89.587343,14.362586],[-89.353326,14.424133],[-89.058512,14.340029],[-88.843073,14.140507],[-88.541231,13.980155],[-88.503998,13.845486],[-88.065343,13.964626],[-87.859515,13.893312],[-87.723503,13.78505],[-87.793111,13.38448]]]},"id":"SLV"}, -{"type":"Feature","properties":{"name":"Somaliland"},"geometry":{"type":"Polygon","coordinates":[[[48.93813,9.451749],[48.486736,8.837626],[47.78942,8.003],[46.948328,7.996877],[43.67875,9.18358],[43.296975,9.540477],[42.92812,10.02194],[42.55876,10.57258],[42.776852,10.926879],[43.145305,11.46204],[43.47066,11.27771],[43.666668,10.864169],[44.117804,10.445538],[44.614259,10.442205],[45.556941,10.698029],[46.645401,10.816549],[47.525658,11.127228],[48.021596,11.193064],[48.378784,11.375482],[48.948206,11.410622],[48.942005,11.394266],[48.938491,10.982327],[48.938233,9.9735],[48.93813,9.451749]]]},"id":"-99"}, -{"type":"Feature","properties":{"name":"Somalia"},"geometry":{"type":"Polygon","coordinates":[[[49.72862,11.5789],[50.25878,11.67957],[50.73202,12.0219],[51.1112,12.02464],[51.13387,11.74815],[51.04153,11.16651],[51.04531,10.6409],[50.83418,10.27972],[50.55239,9.19874],[50.07092,8.08173],[49.4527,6.80466],[48.59455,5.33911],[47.74079,4.2194],[46.56476,2.85529],[45.56399,2.04576],[44.06815,1.05283],[43.13597,0.2922],[42.04157,-0.91916],[41.81095,-1.44647],[41.58513,-1.68325],[40.993,-0.85829],[40.98105,2.78452],[41.855083,3.918912],[42.12861,4.23413],[42.76967,4.25259],[43.66087,4.95755],[44.9636,5.00162],[47.78942,8.003],[48.486736,8.837626],[48.93813,9.451749],[48.938233,9.9735],[48.938491,10.982327],[48.942005,11.394266],[48.948205,11.410617],[49.26776,11.43033],[49.72862,11.5789]]]},"id":"SOM"}, -{"type":"Feature","properties":{"name":"Republic of Serbia"},"geometry":{"type":"Polygon","coordinates":[[[20.874313,45.416375],[21.483526,45.18117],[21.562023,44.768947],[22.145088,44.478422],[22.459022,44.702517],[22.705726,44.578003],[22.474008,44.409228],[22.65715,44.234923],[22.410446,44.008063],[22.500157,43.642814],[22.986019,43.211161],[22.604801,42.898519],[22.436595,42.580321],[22.545012,42.461362],[22.380526,42.32026],[21.91708,42.30364],[21.576636,42.245224],[21.54332,42.32025],[21.66292,42.43922],[21.77505,42.6827],[21.63302,42.67717],[21.43866,42.86255],[21.27421,42.90959],[21.143395,43.068685],[20.95651,43.13094],[20.81448,43.27205],[20.63508,43.21671],[20.49679,42.88469],[20.25758,42.81275],[20.3398,42.89852],[19.95857,43.10604],[19.63,43.21378],[19.48389,43.35229],[19.21852,43.52384],[19.454,43.5681],[19.59976,44.03847],[19.11761,44.42307],[19.36803,44.863],[19.00548,44.86023],[19.390476,45.236516],[19.072769,45.521511],[18.82982,45.90888],[19.596045,46.17173],[20.220192,46.127469],[20.762175,45.734573],[20.874313,45.416375]]]},"id":"SRB"}, -{"type":"Feature","properties":{"name":"Suriname"},"geometry":{"type":"Polygon","coordinates":[[[-57.147436,5.97315],[-55.949318,5.772878],[-55.84178,5.953125],[-55.03325,6.025291],[-53.958045,5.756548],[-54.478633,4.896756],[-54.399542,4.212611],[-54.006931,3.620038],[-54.181726,3.18978],[-54.269705,2.732392],[-54.524754,2.311849],[-55.097587,2.523748],[-55.569755,2.421506],[-55.973322,2.510364],[-56.073342,2.220795],[-55.9056,2.021996],[-55.995698,1.817667],[-56.539386,1.899523],[-57.150098,2.768927],[-57.281433,3.333492],[-57.601569,3.334655],[-58.044694,4.060864],[-57.86021,4.576801],[-57.914289,4.812626],[-57.307246,5.073567],[-57.147436,5.97315]]]},"id":"SUR"}, -{"type":"Feature","properties":{"name":"Slovakia"},"geometry":{"type":"Polygon","coordinates":[[[18.853144,49.49623],[18.909575,49.435846],[19.320713,49.571574],[19.825023,49.217125],[20.415839,49.431453],[20.887955,49.328772],[21.607808,49.470107],[22.558138,49.085738],[22.280842,48.825392],[22.085608,48.422264],[21.872236,48.319971],[20.801294,48.623854],[20.473562,48.56285],[20.239054,48.327567],[19.769471,48.202691],[19.661364,48.266615],[19.174365,48.111379],[18.777025,48.081768],[18.696513,47.880954],[17.857133,47.758429],[17.488473,47.867466],[16.979667,48.123497],[16.879983,48.470013],[16.960288,48.596982],[17.101985,48.816969],[17.545007,48.800019],[17.886485,48.903475],[17.913512,48.996493],[18.104973,49.043983],[18.170498,49.271515],[18.399994,49.315001],[18.554971,49.495015],[18.853144,49.49623]]]},"id":"SVK"}, -{"type":"Feature","properties":{"name":"Slovenia"},"geometry":{"type":"Polygon","coordinates":[[[13.806475,46.509306],[14.632472,46.431817],[15.137092,46.658703],[16.011664,46.683611],[16.202298,46.852386],[16.370505,46.841327],[16.564808,46.503751],[15.768733,46.238108],[15.67153,45.834154],[15.323954,45.731783],[15.327675,45.452316],[14.935244,45.471695],[14.595109,45.634941],[14.411968,45.466166],[13.71506,45.500324],[13.93763,45.591016],[13.69811,46.016778],[13.806475,46.509306]]]},"id":"SVN"}, -{"type":"Feature","properties":{"name":"Sweden"},"geometry":{"type":"Polygon","coordinates":[[[22.183173,65.723741],[21.213517,65.026005],[21.369631,64.413588],[19.778876,63.609554],[17.847779,62.7494],[17.119555,61.341166],[17.831346,60.636583],[18.787722,60.081914],[17.869225,58.953766],[16.829185,58.719827],[16.44771,57.041118],[15.879786,56.104302],[14.666681,56.200885],[14.100721,55.407781],[12.942911,55.361737],[12.625101,56.30708],[11.787942,57.441817],[11.027369,58.856149],[11.468272,59.432393],[12.300366,60.117933],[12.631147,61.293572],[11.992064,61.800362],[11.930569,63.128318],[12.579935,64.066219],[13.571916,64.049114],[13.919905,64.445421],[13.55569,64.787028],[15.108411,66.193867],[16.108712,67.302456],[16.768879,68.013937],[17.729182,68.010552],[17.993868,68.567391],[19.87856,68.407194],[20.025269,69.065139],[20.645593,69.106247],[21.978535,68.616846],[23.539473,67.936009],[23.56588,66.396051],[23.903379,66.006927],[22.183173,65.723741]]]},"id":"SWE"}, -{"type":"Feature","properties":{"name":"Swaziland"},"geometry":{"type":"Polygon","coordinates":[[[32.071665,-26.73382],[31.86806,-27.177927],[31.282773,-27.285879],[30.685962,-26.743845],[30.676609,-26.398078],[30.949667,-26.022649],[31.04408,-25.731452],[31.333158,-25.660191],[31.837778,-25.843332],[31.985779,-26.29178],[32.071665,-26.73382]]]},"id":"SWZ"}, -{"type":"Feature","properties":{"name":"Syria"},"geometry":{"type":"Polygon","coordinates":[[[38.792341,33.378686],[36.834062,32.312938],[35.719918,32.709192],[35.700798,32.716014],[35.836397,32.868123],[35.821101,33.277426],[36.06646,33.824912],[36.61175,34.201789],[36.448194,34.593935],[35.998403,34.644914],[35.905023,35.410009],[36.149763,35.821535],[36.41755,36.040617],[36.685389,36.259699],[36.739494,36.81752],[37.066761,36.623036],[38.167727,36.90121],[38.699891,36.712927],[39.52258,36.716054],[40.673259,37.091276],[41.212089,37.074352],[42.349591,37.229873],[41.837064,36.605854],[41.289707,36.358815],[41.383965,35.628317],[41.006159,34.419372],[38.792341,33.378686]]]},"id":"SYR"}, -{"type":"Feature","properties":{"name":"Chad"},"geometry":{"type":"Polygon","coordinates":[[[14.495787,12.859396],[14.595781,13.330427],[13.954477,13.353449],[13.956699,13.996691],[13.540394,14.367134],[13.97217,15.68437],[15.247731,16.627306],[15.300441,17.92795],[15.685741,19.95718],[15.903247,20.387619],[15.487148,20.730415],[15.47106,21.04845],[15.096888,21.308519],[14.8513,22.86295],[15.86085,23.40972],[19.84926,21.49509],[23.83766,19.58047],[23.88689,15.61084],[23.02459,15.68072],[22.56795,14.94429],[22.30351,14.32682],[22.51202,14.09318],[22.18329,13.78648],[22.29658,13.37232],[22.03759,12.95546],[21.93681,12.58818],[22.28801,12.64605],[22.49762,12.26024],[22.50869,11.67936],[22.87622,11.38461],[22.864165,11.142395],[22.231129,10.971889],[21.723822,10.567056],[21.000868,9.475985],[20.059685,9.012706],[19.094008,9.074847],[18.81201,8.982915],[18.911022,8.630895],[18.389555,8.281304],[17.96493,7.890914],[16.705988,7.508328],[16.456185,7.734774],[16.290562,7.754307],[16.106232,7.497088],[15.27946,7.421925],[15.436092,7.692812],[15.120866,8.38215],[14.979996,8.796104],[14.544467,8.965861],[13.954218,9.549495],[14.171466,10.021378],[14.627201,9.920919],[14.909354,9.992129],[15.467873,9.982337],[14.923565,10.891325],[14.960152,11.555574],[14.89336,12.21905],[14.495787,12.859396]]]},"id":"TCD"}, -{"type":"Feature","properties":{"name":"Togo"},"geometry":{"type":"Polygon","coordinates":[[[1.865241,6.142158],[1.060122,5.928837],[0.836931,6.279979],[0.570384,6.914359],[0.490957,7.411744],[0.712029,8.312465],[0.461192,8.677223],[0.365901,9.465004],[0.36758,10.191213],[-0.049785,10.706918],[0.023803,11.018682],[0.899563,10.997339],[0.772336,10.470808],[1.077795,10.175607],[1.425061,9.825395],[1.463043,9.334624],[1.664478,9.12859],[1.618951,6.832038],[1.865241,6.142158]]]},"id":"TGO"}, -{"type":"Feature","properties":{"name":"Thailand"},"geometry":{"type":"Polygon","coordinates":[[[102.584932,12.186595],[101.687158,12.64574],[100.83181,12.627085],[100.978467,13.412722],[100.097797,13.406856],[100.018733,12.307001],[99.478921,10.846367],[99.153772,9.963061],[99.222399,9.239255],[99.873832,9.207862],[100.279647,8.295153],[100.459274,7.429573],[101.017328,6.856869],[101.623079,6.740622],[102.141187,6.221636],[101.814282,5.810808],[101.154219,5.691384],[101.075516,6.204867],[100.259596,6.642825],[100.085757,6.464489],[99.690691,6.848213],[99.519642,7.343454],[98.988253,7.907993],[98.503786,8.382305],[98.339662,7.794512],[98.150009,8.350007],[98.25915,8.973923],[98.553551,9.93296],[99.038121,10.960546],[99.587286,11.892763],[99.196354,12.804748],[99.212012,13.269294],[99.097755,13.827503],[98.430819,14.622028],[98.192074,15.123703],[98.537376,15.308497],[98.903348,16.177824],[98.493761,16.837836],[97.859123,17.567946],[97.375896,18.445438],[97.797783,18.62708],[98.253724,19.708203],[98.959676,19.752981],[99.543309,20.186598],[100.115988,20.41785],[100.548881,20.109238],[100.606294,19.508344],[101.282015,19.462585],[101.035931,18.408928],[101.059548,17.512497],[102.113592,18.109102],[102.413005,17.932782],[102.998706,17.961695],[103.200192,18.309632],[103.956477,18.240954],[104.716947,17.428859],[104.779321,16.441865],[105.589039,15.570316],[105.544338,14.723934],[105.218777,14.273212],[104.281418,14.416743],[102.988422,14.225721],[102.348099,13.394247],[102.584932,12.186595]]]},"id":"THA"}, -{"type":"Feature","properties":{"name":"Tajikistan"},"geometry":{"type":"Polygon","coordinates":[[[71.014198,40.244366],[70.648019,39.935754],[69.55961,40.103211],[69.464887,39.526683],[70.549162,39.604198],[71.784694,39.279463],[73.675379,39.431237],[73.928852,38.505815],[74.257514,38.606507],[74.864816,38.378846],[74.829986,37.990007],[74.980002,37.41999],[73.948696,37.421566],[73.260056,37.495257],[72.63689,37.047558],[72.193041,36.948288],[71.844638,36.738171],[71.448693,37.065645],[71.541918,37.905774],[71.239404,37.953265],[71.348131,38.258905],[70.806821,38.486282],[70.376304,38.138396],[70.270574,37.735165],[70.116578,37.588223],[69.518785,37.608997],[69.196273,37.151144],[68.859446,37.344336],[68.135562,37.023115],[67.83,37.144994],[68.392033,38.157025],[68.176025,38.901553],[67.44222,39.140144],[67.701429,39.580478],[68.536416,39.533453],[69.011633,40.086158],[69.329495,40.727824],[70.666622,40.960213],[70.45816,40.496495],[70.601407,40.218527],[71.014198,40.244366]]]},"id":"TJK"}, -{"type":"Feature","properties":{"name":"Turkmenistan"},"geometry":{"type":"Polygon","coordinates":[[[61.210817,35.650072],[61.123071,36.491597],[60.377638,36.527383],[59.234762,37.412988],[58.436154,37.522309],[57.330434,38.029229],[56.619366,38.121394],[56.180375,37.935127],[55.511578,37.964117],[54.800304,37.392421],[53.921598,37.198918],[53.735511,37.906136],[53.880929,38.952093],[53.101028,39.290574],[53.357808,39.975286],[52.693973,40.033629],[52.915251,40.876523],[53.858139,40.631034],[54.736845,40.951015],[54.008311,41.551211],[53.721713,42.123191],[52.91675,41.868117],[52.814689,41.135371],[52.50246,41.783316],[52.944293,42.116034],[54.079418,42.324109],[54.755345,42.043971],[55.455251,41.259859],[55.968191,41.308642],[57.096391,41.32231],[56.932215,41.826026],[57.78653,42.170553],[58.629011,42.751551],[59.976422,42.223082],[60.083341,41.425146],[60.465953,41.220327],[61.547179,41.26637],[61.882714,41.084857],[62.37426,40.053886],[63.518015,39.363257],[64.170223,38.892407],[65.215999,38.402695],[66.54615,37.974685],[66.518607,37.362784],[66.217385,37.39379],[65.745631,37.661164],[65.588948,37.305217],[64.746105,37.111818],[64.546479,36.312073],[63.982896,36.007957],[63.193538,35.857166],[62.984662,35.404041],[62.230651,35.270664],[61.210817,35.650072]]]},"id":"TKM"}, -{"type":"Feature","properties":{"name":"East Timor"},"geometry":{"type":"Polygon","coordinates":[[[124.968682,-8.89279],[125.086246,-8.656887],[125.947072,-8.432095],[126.644704,-8.398247],[126.957243,-8.273345],[127.335928,-8.397317],[126.967992,-8.668256],[125.925885,-9.106007],[125.08852,-9.393173],[125.07002,-9.089987],[124.968682,-8.89279]]]},"id":"TLS"}, -{"type":"Feature","properties":{"name":"Trinidad and Tobago"},"geometry":{"type":"Polygon","coordinates":[[[-61.68,10.76],[-61.105,10.89],[-60.895,10.855],[-60.935,10.11],[-61.77,10],[-61.95,10.09],[-61.66,10.365],[-61.68,10.76]]]},"id":"TTO"}, -{"type":"Feature","properties":{"name":"Tunisia"},"geometry":{"type":"Polygon","coordinates":[[[9.48214,30.307556],[9.055603,32.102692],[8.439103,32.506285],[8.430473,32.748337],[7.612642,33.344115],[7.524482,34.097376],[8.140981,34.655146],[8.376368,35.479876],[8.217824,36.433177],[8.420964,36.946427],[9.509994,37.349994],[10.210002,37.230002],[10.18065,36.724038],[11.028867,37.092103],[11.100026,36.899996],[10.600005,36.41],[10.593287,35.947444],[10.939519,35.698984],[10.807847,34.833507],[10.149593,34.330773],[10.339659,33.785742],[10.856836,33.76874],[11.108501,33.293343],[11.488787,33.136996],[11.432253,32.368903],[10.94479,32.081815],[10.636901,31.761421],[9.950225,31.37607],[10.056575,30.961831],[9.970017,30.539325],[9.48214,30.307556]]]},"id":"TUN"}, -{"type":"Feature","properties":{"name":"Turkey"},"geometry":{"type":"MultiPolygon","coordinates":[[[[36.913127,41.335358],[38.347665,40.948586],[39.512607,41.102763],[40.373433,41.013673],[41.554084,41.535656],[42.619549,41.583173],[43.582746,41.092143],[43.752658,40.740201],[43.656436,40.253564],[44.400009,40.005],[44.79399,39.713003],[44.109225,39.428136],[44.421403,38.281281],[44.225756,37.971584],[44.772699,37.170445],[44.293452,37.001514],[43.942259,37.256228],[42.779126,37.385264],[42.349591,37.229873],[41.212089,37.074352],[40.673259,37.091276],[39.52258,36.716054],[38.699891,36.712927],[38.167727,36.90121],[37.066761,36.623036],[36.739494,36.81752],[36.685389,36.259699],[36.41755,36.040617],[36.149763,35.821535],[35.782085,36.274995],[36.160822,36.650606],[35.550936,36.565443],[34.714553,36.795532],[34.026895,36.21996],[32.509158,36.107564],[31.699595,36.644275],[30.621625,36.677865],[30.391096,36.262981],[29.699976,36.144357],[28.732903,36.676831],[27.641187,36.658822],[27.048768,37.653361],[26.318218,38.208133],[26.8047,38.98576],[26.170785,39.463612],[27.28002,40.420014],[28.819978,40.460011],[29.240004,41.219991],[31.145934,41.087622],[32.347979,41.736264],[33.513283,42.01896],[35.167704,42.040225],[36.913127,41.335358]]],[[[27.192377,40.690566],[26.358009,40.151994],[26.043351,40.617754],[26.056942,40.824123],[26.294602,40.936261],[26.604196,41.562115],[26.117042,41.826905],[27.135739,42.141485],[27.99672,42.007359],[28.115525,41.622886],[28.988443,41.299934],[28.806438,41.054962],[27.619017,40.999823],[27.192377,40.690566]]]]},"id":"TUR"}, -{"type":"Feature","properties":{"name":"Taiwan"},"geometry":{"type":"Polygon","coordinates":[[[121.777818,24.394274],[121.175632,22.790857],[120.74708,21.970571],[120.220083,22.814861],[120.106189,23.556263],[120.69468,24.538451],[121.495044,25.295459],[121.951244,24.997596],[121.777818,24.394274]]]},"id":"TWN"}, -{"type":"Feature","properties":{"name":"United Republic of Tanzania"},"geometry":{"type":"Polygon","coordinates":[[[33.903711,-0.95],[34.07262,-1.05982],[37.69869,-3.09699],[37.7669,-3.67712],[39.20222,-4.67677],[38.74054,-5.90895],[38.79977,-6.47566],[39.44,-6.84],[39.47,-7.1],[39.19469,-7.7039],[39.25203,-8.00781],[39.18652,-8.48551],[39.53574,-9.11237],[39.9496,-10.0984],[40.31659,-10.3171],[39.521,-10.89688],[38.427557,-11.285202],[37.82764,-11.26879],[37.47129,-11.56876],[36.775151,-11.594537],[36.514082,-11.720938],[35.312398,-11.439146],[34.559989,-11.52002],[34.28,-10.16],[33.940838,-9.693674],[33.73972,-9.41715],[32.759375,-9.230599],[32.191865,-8.930359],[31.556348,-8.762049],[31.157751,-8.594579],[30.74,-8.34],[30.2,-7.08],[29.62,-6.52],[29.419993,-5.939999],[29.519987,-5.419979],[29.339998,-4.499983],[29.753512,-4.452389],[30.11632,-4.09012],[30.50554,-3.56858],[30.75224,-3.35931],[30.74301,-3.03431],[30.52766,-2.80762],[30.46967,-2.41383],[30.758309,-2.28725],[30.816135,-1.698914],[30.419105,-1.134659],[30.76986,-1.01455],[31.86617,-1.02736],[33.903711,-0.95]]]},"id":"TZA"}, -{"type":"Feature","properties":{"name":"Uganda"},"geometry":{"type":"Polygon","coordinates":[[[31.86617,-1.02736],[30.76986,-1.01455],[30.419105,-1.134659],[29.821519,-1.443322],[29.579466,-1.341313],[29.587838,-0.587406],[29.8195,-0.2053],[29.875779,0.59738],[30.086154,1.062313],[30.468508,1.583805],[30.85267,1.849396],[31.174149,2.204465],[30.77332,2.33989],[30.83385,3.50917],[31.24556,3.7819],[31.88145,3.55827],[32.68642,3.79232],[33.39,3.79],[34.005,4.249885],[34.47913,3.5556],[34.59607,3.05374],[35.03599,1.90584],[34.6721,1.17694],[34.18,0.515],[33.893569,0.109814],[33.903711,-0.95],[31.86617,-1.02736]]]},"id":"UGA"}, -{"type":"Feature","properties":{"name":"Ukraine"},"geometry":{"type":"Polygon","coordinates":[[[31.785998,52.101678],[32.159412,52.061267],[32.412058,52.288695],[32.715761,52.238465],[33.7527,52.335075],[34.391731,51.768882],[34.141978,51.566413],[34.224816,51.255993],[35.022183,51.207572],[35.377924,50.773955],[35.356116,50.577197],[36.626168,50.225591],[37.39346,50.383953],[38.010631,49.915662],[38.594988,49.926462],[40.069058,49.601055],[40.080789,49.30743],[39.674664,48.783818],[39.895632,48.232405],[39.738278,47.898937],[38.770585,47.825608],[38.255112,47.5464],[38.223538,47.10219],[37.425137,47.022221],[36.759855,46.6987],[35.823685,46.645964],[34.962342,46.273197],[35.020788,45.651219],[35.510009,45.409993],[36.529998,45.46999],[36.334713,45.113216],[35.239999,44.939996],[33.882511,44.361479],[33.326421,44.564877],[33.546924,45.034771],[32.454174,45.327466],[32.630804,45.519186],[33.588162,45.851569],[33.298567,46.080598],[31.74414,46.333348],[31.675307,46.706245],[30.748749,46.5831],[30.377609,46.03241],[29.603289,45.293308],[29.149725,45.464925],[28.679779,45.304031],[28.233554,45.488283],[28.485269,45.596907],[28.659987,45.939987],[28.933717,46.25883],[28.862972,46.437889],[29.072107,46.517678],[29.170654,46.379262],[29.759972,46.349988],[30.024659,46.423937],[29.83821,46.525326],[29.908852,46.674361],[29.559674,46.928583],[29.415135,47.346645],[29.050868,47.510227],[29.122698,47.849095],[28.670891,48.118149],[28.259547,48.155562],[27.522537,48.467119],[26.857824,48.368211],[26.619337,48.220726],[26.19745,48.220881],[25.945941,47.987149],[25.207743,47.891056],[24.866317,47.737526],[24.402056,47.981878],[23.760958,47.985598],[23.142236,48.096341],[22.710531,47.882194],[22.64082,48.15024],[22.085608,48.422264],[22.280842,48.825392],[22.558138,49.085738],[22.776419,49.027395],[22.51845,49.476774],[23.426508,50.308506],[23.922757,50.424881],[24.029986,50.705407],[23.527071,51.578454],[24.005078,51.617444],[24.553106,51.888461],[25.327788,51.910656],[26.337959,51.832289],[27.454066,51.592303],[28.241615,51.572227],[28.617613,51.427714],[28.992835,51.602044],[29.254938,51.368234],[30.157364,51.416138],[30.555117,51.319503],[30.619454,51.822806],[30.927549,52.042353],[31.785998,52.101678]]]},"id":"UKR"}, -{"type":"Feature","properties":{"name":"Uruguay"},"geometry":{"type":"Polygon","coordinates":[[[-57.625133,-30.216295],[-56.976026,-30.109686],[-55.973245,-30.883076],[-55.60151,-30.853879],[-54.572452,-31.494511],[-53.787952,-32.047243],[-53.209589,-32.727666],[-53.650544,-33.202004],[-53.373662,-33.768378],[-53.806426,-34.396815],[-54.935866,-34.952647],[-55.67409,-34.752659],[-56.215297,-34.859836],[-57.139685,-34.430456],[-57.817861,-34.462547],[-58.427074,-33.909454],[-58.349611,-33.263189],[-58.132648,-33.040567],[-58.14244,-32.044504],[-57.874937,-31.016556],[-57.625133,-30.216295]]]},"id":"URY"}, -{"type":"Feature","properties":{"name":"United States of America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348]]],[[[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404],[-156.07926,20.64397]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217]]],[[[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494],[-159.34512,21.982]]],[[[-94.81758,49.38905],[-94.64,48.84],[-94.32914,48.67074],[-93.63087,48.60926],[-92.61,48.45],[-91.64,48.14],[-90.83,48.27],[-89.6,48.01],[-89.272917,48.019808],[-88.378114,48.302918],[-87.439793,47.94],[-86.461991,47.553338],[-85.652363,47.220219],[-84.87608,46.900083],[-84.779238,46.637102],[-84.543749,46.538684],[-84.6049,46.4396],[-84.3367,46.40877],[-84.14212,46.512226],[-84.091851,46.275419],[-83.890765,46.116927],[-83.616131,46.116927],[-83.469551,45.994686],[-83.592851,45.816894],[-82.550925,45.347517],[-82.337763,44.44],[-82.137642,43.571088],[-82.43,42.98],[-82.9,42.43],[-83.12,42.08],[-83.142,41.975681],[-83.02981,41.832796],[-82.690089,41.675105],[-82.439278,41.675105],[-81.277747,42.209026],[-80.247448,42.3662],[-78.939362,42.863611],[-78.92,42.965],[-79.01,43.27],[-79.171674,43.466339],[-78.72028,43.625089],[-77.737885,43.629056],[-76.820034,43.628784],[-76.5,44.018459],[-76.375,44.09631],[-75.31821,44.81645],[-74.867,45.00048],[-73.34783,45.00738],[-71.50506,45.0082],[-71.405,45.255],[-71.08482,45.30524],[-70.66,45.46],[-70.305,45.915],[-69.99997,46.69307],[-69.237216,47.447781],[-68.905,47.185],[-68.23444,47.35486],[-67.79046,47.06636],[-67.79134,45.70281],[-67.13741,45.13753],[-66.96466,44.8097],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405],[-70.645476,43.090238],[-70.81489,42.8653],[-70.825,42.335],[-70.495,41.805],[-70.08,41.78],[-70.185,42.145],[-69.88497,41.92283],[-69.96503,41.63717],[-70.64,41.475],[-71.12039,41.49445],[-71.86,41.32],[-72.295,41.27],[-72.87643,41.22065],[-73.71,40.931102],[-72.24126,41.11948],[-71.945,40.93],[-73.345,40.63],[-73.982,40.628],[-73.952325,40.75075],[-74.25671,40.47351],[-73.96244,40.42763],[-74.17838,39.70926],[-74.90604,38.93954],[-74.98041,39.1964],[-75.20002,39.24845],[-75.52805,39.4985],[-75.32,38.96],[-75.071835,38.782032],[-75.05673,38.40412],[-75.37747,38.01551],[-75.94023,37.21689],[-76.03127,37.2566],[-75.72205,37.93705],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.989998,38.239992],[-76.30162,37.917945],[-76.25874,36.9664],[-75.9718,36.89726],[-75.86804,36.55125],[-75.72749,35.55074],[-76.36318,34.80854],[-77.397635,34.51201],[-78.05496,33.92547],[-78.55435,33.86133],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.86498,32.0333],[-81.33629,31.44049],[-81.49042,30.72999],[-81.31371,30.03552],[-80.98,29.18],[-80.535585,28.47213],[-80.53,28.04],[-80.056539,26.88],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.68,25.08],[-81.17213,25.20126],[-81.33,25.64],[-81.71,25.87],[-82.24,26.73],[-82.70515,27.49504],[-82.85526,27.88624],[-82.65,28.55],[-82.93,29.1],[-83.70959,29.93656],[-84.1,30.09],[-85.10882,29.63615],[-85.28784,29.68612],[-85.7731,30.15261],[-86.4,30.4],[-87.53036,30.27433],[-88.41782,30.3849],[-89.18049,30.31598],[-89.593831,30.159994],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.40823,29.15961],[-89.77928,29.30714],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-94.69,29.48],[-95.60026,28.73863],[-96.59404,28.30748],[-97.14,27.83],[-97.37,27.38],[-97.38,26.69],[-97.33,26.21],[-97.14,25.87],[-97.53,25.84],[-98.24,26.06],[-99.02,26.37],[-99.3,26.84],[-99.52,27.54],[-100.11,28.11],[-100.45584,28.69612],[-100.9576,29.38071],[-101.6624,29.7793],[-102.48,29.76],[-103.11,28.97],[-103.94,29.27],[-104.45697,29.57196],[-104.70575,30.12173],[-105.03737,30.64402],[-105.63159,31.08383],[-106.1429,31.39995],[-106.50759,31.75452],[-108.24,31.754854],[-108.24194,31.34222],[-109.035,31.34194],[-111.02361,31.33472],[-113.30498,32.03914],[-114.815,32.52528],[-114.72139,32.72083],[-115.99135,32.61239],[-117.12776,32.53534],[-117.295938,33.046225],[-117.944,33.621236],[-118.410602,33.740909],[-118.519895,34.027782],[-119.081,34.078],[-119.438841,34.348477],[-120.36778,34.44711],[-120.62286,34.60855],[-120.74433,35.15686],[-121.71457,36.16153],[-122.54747,37.55176],[-122.51201,37.78339],[-122.95319,38.11371],[-123.7272,38.95166],[-123.86517,39.76699],[-124.39807,40.3132],[-124.17886,41.14202],[-124.2137,41.99964],[-124.53284,42.76599],[-124.14214,43.70838],[-124.020535,44.615895],[-123.89893,45.52341],[-124.079635,46.86475],[-124.39567,47.72017],[-124.68721,48.184433],[-124.566101,48.379715],[-123.12,48.04],[-122.58736,47.096],[-122.34,47.36],[-122.5,48.18],[-122.84,49],[-120,49],[-117.03121,49],[-116.04818,49],[-113,49],[-110.05,49],[-107.05,49],[-104.04826,48.99986],[-100.65,49],[-97.22872,49.0007],[-95.15907,49],[-95.15609,49.38425],[-94.81758,49.38905]]],[[[-153.006314,57.115842],[-154.00509,56.734677],[-154.516403,56.992749],[-154.670993,57.461196],[-153.76278,57.816575],[-153.228729,57.968968],[-152.564791,57.901427],[-152.141147,57.591059],[-153.006314,57.115842]]],[[[-165.579164,59.909987],[-166.19277,59.754441],[-166.848337,59.941406],[-167.455277,60.213069],[-166.467792,60.38417],[-165.67443,60.293607],[-165.579164,59.909987]]],[[[-171.731657,63.782515],[-171.114434,63.592191],[-170.491112,63.694975],[-169.682505,63.431116],[-168.689439,63.297506],[-168.771941,63.188598],[-169.52944,62.976931],[-170.290556,63.194438],[-170.671386,63.375822],[-171.553063,63.317789],[-171.791111,63.405846],[-171.731657,63.782515]]],[[[-155.06779,71.147776],[-154.344165,70.696409],[-153.900006,70.889989],[-152.210006,70.829992],[-152.270002,70.600006],[-150.739992,70.430017],[-149.720003,70.53001],[-147.613362,70.214035],[-145.68999,70.12001],[-144.920011,69.989992],[-143.589446,70.152514],[-142.07251,69.851938],[-140.985988,69.711998],[-140.985988,69.711998],[-140.992499,66.000029],[-140.99777,60.306397],[-140.012998,60.276838],[-139.039,60.000007],[-138.34089,59.56211],[-137.4525,58.905],[-136.47972,59.46389],[-135.47583,59.78778],[-134.945,59.27056],[-134.27111,58.86111],[-133.355549,58.410285],[-132.73042,57.69289],[-131.70781,56.55212],[-130.00778,55.91583],[-129.979994,55.284998],[-130.53611,54.802753],[-131.085818,55.178906],[-131.967211,55.497776],[-132.250011,56.369996],[-133.539181,57.178887],[-134.078063,58.123068],[-135.038211,58.187715],[-136.628062,58.212209],[-137.800006,58.499995],[-139.867787,59.537762],[-140.825274,59.727517],[-142.574444,60.084447],[-143.958881,59.99918],[-145.925557,60.45861],[-147.114374,60.884656],[-148.224306,60.672989],[-148.018066,59.978329],[-148.570823,59.914173],[-149.727858,59.705658],[-150.608243,59.368211],[-151.716393,59.155821],[-151.859433,59.744984],[-151.409719,60.725803],[-150.346941,61.033588],[-150.621111,61.284425],[-151.895839,60.727198],[-152.57833,60.061657],[-154.019172,59.350279],[-153.287511,58.864728],[-154.232492,58.146374],[-155.307491,57.727795],[-156.308335,57.422774],[-156.556097,56.979985],[-158.117217,56.463608],[-158.433321,55.994154],[-159.603327,55.566686],[-160.28972,55.643581],[-161.223048,55.364735],[-162.237766,55.024187],[-163.069447,54.689737],[-164.785569,54.404173],[-164.942226,54.572225],[-163.84834,55.039431],[-162.870001,55.348043],[-161.804175,55.894986],[-160.563605,56.008055],[-160.07056,56.418055],[-158.684443,57.016675],[-158.461097,57.216921],[-157.72277,57.570001],[-157.550274,58.328326],[-157.041675,58.918885],[-158.194731,58.615802],[-158.517218,58.787781],[-159.058606,58.424186],[-159.711667,58.93139],[-159.981289,58.572549],[-160.355271,59.071123],[-161.355003,58.670838],[-161.968894,58.671665],[-162.054987,59.266925],[-161.874171,59.633621],[-162.518059,59.989724],[-163.818341,59.798056],[-164.662218,60.267484],[-165.346388,60.507496],[-165.350832,61.073895],[-166.121379,61.500019],[-165.734452,62.074997],[-164.919179,62.633076],[-164.562508,63.146378],[-163.753332,63.219449],[-163.067224,63.059459],[-162.260555,63.541936],[-161.53445,63.455817],[-160.772507,63.766108],[-160.958335,64.222799],[-161.518068,64.402788],[-160.777778,64.788604],[-161.391926,64.777235],[-162.45305,64.559445],[-162.757786,64.338605],[-163.546394,64.55916],[-164.96083,64.446945],[-166.425288,64.686672],[-166.845004,65.088896],[-168.11056,65.669997],[-166.705271,66.088318],[-164.47471,66.57666],[-163.652512,66.57666],[-163.788602,66.077207],[-161.677774,66.11612],[-162.489715,66.735565],[-163.719717,67.116395],[-164.430991,67.616338],[-165.390287,68.042772],[-166.764441,68.358877],[-166.204707,68.883031],[-164.430811,68.915535],[-163.168614,69.371115],[-162.930566,69.858062],[-161.908897,70.33333],[-160.934797,70.44769],[-159.039176,70.891642],[-158.119723,70.824721],[-156.580825,71.357764],[-155.06779,71.147776]]]]},"id":"USA"}, -{"type":"Feature","properties":{"name":"Uzbekistan"},"geometry":{"type":"Polygon","coordinates":[[[66.518607,37.362784],[66.54615,37.974685],[65.215999,38.402695],[64.170223,38.892407],[63.518015,39.363257],[62.37426,40.053886],[61.882714,41.084857],[61.547179,41.26637],[60.465953,41.220327],[60.083341,41.425146],[59.976422,42.223082],[58.629011,42.751551],[57.78653,42.170553],[56.932215,41.826026],[57.096391,41.32231],[55.968191,41.308642],[55.928917,44.995858],[58.503127,45.586804],[58.689989,45.500014],[60.239972,44.784037],[61.05832,44.405817],[62.0133,43.504477],[63.185787,43.650075],[64.900824,43.728081],[66.098012,42.99766],[66.023392,41.994646],[66.510649,41.987644],[66.714047,41.168444],[67.985856,41.135991],[68.259896,40.662325],[68.632483,40.668681],[69.070027,41.384244],[70.388965,42.081308],[70.962315,42.266154],[71.259248,42.167711],[70.420022,41.519998],[71.157859,41.143587],[71.870115,41.3929],[73.055417,40.866033],[71.774875,40.145844],[71.014198,40.244366],[70.601407,40.218527],[70.45816,40.496495],[70.666622,40.960213],[69.329495,40.727824],[69.011633,40.086158],[68.536416,39.533453],[67.701429,39.580478],[67.44222,39.140144],[68.176025,38.901553],[68.392033,38.157025],[67.83,37.144994],[67.075782,37.356144],[66.518607,37.362784]]]},"id":"UZB"}, -{"type":"Feature","properties":{"name":"Venezuela"},"geometry":{"type":"Polygon","coordinates":[[[-71.331584,11.776284],[-71.360006,11.539994],[-71.94705,11.423282],[-71.620868,10.96946],[-71.633064,10.446494],[-72.074174,9.865651],[-71.695644,9.072263],[-71.264559,9.137195],[-71.039999,9.859993],[-71.350084,10.211935],[-71.400623,10.968969],[-70.155299,11.375482],[-70.293843,11.846822],[-69.943245,12.162307],[-69.5843,11.459611],[-68.882999,11.443385],[-68.233271,10.885744],[-68.194127,10.554653],[-67.296249,10.545868],[-66.227864,10.648627],[-65.655238,10.200799],[-64.890452,10.077215],[-64.329479,10.389599],[-64.318007,10.641418],[-63.079322,10.701724],[-61.880946,10.715625],[-62.730119,10.420269],[-62.388512,9.948204],[-61.588767,9.873067],[-60.830597,9.38134],[-60.671252,8.580174],[-60.150096,8.602757],[-59.758285,8.367035],[-60.550588,7.779603],[-60.637973,7.415],[-60.295668,7.043911],[-60.543999,6.856584],[-61.159336,6.696077],[-61.139415,6.234297],[-61.410303,5.959068],[-60.733574,5.200277],[-60.601179,4.918098],[-60.966893,4.536468],[-62.08543,4.162124],[-62.804533,4.006965],[-63.093198,3.770571],[-63.888343,4.02053],[-64.628659,4.148481],[-64.816064,4.056445],[-64.368494,3.79721],[-64.408828,3.126786],[-64.269999,2.497006],[-63.422867,2.411068],[-63.368788,2.2009],[-64.083085,1.916369],[-64.199306,1.492855],[-64.611012,1.328731],[-65.354713,1.095282],[-65.548267,0.789254],[-66.325765,0.724452],[-66.876326,1.253361],[-67.181294,2.250638],[-67.447092,2.600281],[-67.809938,2.820655],[-67.303173,3.318454],[-67.337564,3.542342],[-67.621836,3.839482],[-67.823012,4.503937],[-67.744697,5.221129],[-67.521532,5.55687],[-67.34144,6.095468],[-67.695087,6.267318],[-68.265052,6.153268],[-68.985319,6.206805],[-69.38948,6.099861],[-70.093313,6.960376],[-70.674234,7.087785],[-71.960176,6.991615],[-72.198352,7.340431],[-72.444487,7.423785],[-72.479679,7.632506],[-72.360901,8.002638],[-72.439862,8.405275],[-72.660495,8.625288],[-72.78873,9.085027],[-73.304952,9.152],[-73.027604,9.73677],[-72.905286,10.450344],[-72.614658,10.821975],[-72.227575,11.108702],[-71.973922,11.608672],[-71.331584,11.776284]]]},"id":"VEN"}, -{"type":"Feature","properties":{"name":"Vietnam"},"geometry":{"type":"Polygon","coordinates":[[[108.05018,21.55238],[106.715068,20.696851],[105.881682,19.75205],[105.662006,19.058165],[106.426817,18.004121],[107.361954,16.697457],[108.269495,16.079742],[108.877107,15.276691],[109.33527,13.426028],[109.200136,11.666859],[108.36613,11.008321],[107.220929,10.364484],[106.405113,9.53084],[105.158264,8.59976],[104.795185,9.241038],[105.076202,9.918491],[104.334335,10.486544],[105.199915,10.88931],[106.24967,10.961812],[105.810524,11.567615],[107.491403,12.337206],[107.614548,13.535531],[107.382727,14.202441],[107.564525,15.202173],[107.312706,15.908538],[106.556008,16.604284],[105.925762,17.485315],[105.094598,18.666975],[103.896532,19.265181],[104.183388,19.624668],[104.822574,19.886642],[104.435,20.758733],[103.203861,20.766562],[102.754896,21.675137],[102.170436,22.464753],[102.706992,22.708795],[103.504515,22.703757],[104.476858,22.81915],[105.329209,23.352063],[105.811247,22.976892],[106.725403,22.794268],[106.567273,22.218205],[107.04342,21.811899],[108.05018,21.55238]]]},"id":"VNM"}, -{"type":"Feature","properties":{"name":"Vanuatu"},"geometry":{"type":"MultiPolygon","coordinates":[[[[167.844877,-16.466333],[167.515181,-16.59785],[167.180008,-16.159995],[167.216801,-15.891846],[167.844877,-16.466333]]],[[[167.107712,-14.93392],[167.270028,-15.740021],[167.001207,-15.614602],[166.793158,-15.668811],[166.649859,-15.392704],[166.629137,-14.626497],[167.107712,-14.93392]]]]},"id":"VUT"}, -{"type":"Feature","properties":{"name":"West Bank"},"geometry":{"type":"Polygon","coordinates":[[[35.545665,32.393992],[35.545252,31.782505],[35.397561,31.489086],[34.927408,31.353435],[34.970507,31.616778],[35.225892,31.754341],[34.974641,31.866582],[35.18393,32.532511],[35.545665,32.393992]]]},"id":"PSE"}, -{"type":"Feature","properties":{"name":"Yemen"},"geometry":{"type":"Polygon","coordinates":[[[53.108573,16.651051],[52.385206,16.382411],[52.191729,15.938433],[52.168165,15.59742],[51.172515,15.17525],[49.574576,14.708767],[48.679231,14.003202],[48.238947,13.94809],[47.938914,14.007233],[47.354454,13.59222],[46.717076,13.399699],[45.877593,13.347764],[45.62505,13.290946],[45.406459,13.026905],[45.144356,12.953938],[44.989533,12.699587],[44.494576,12.721653],[44.175113,12.58595],[43.482959,12.6368],[43.222871,13.22095],[43.251448,13.767584],[43.087944,14.06263],[42.892245,14.802249],[42.604873,15.213335],[42.805015,15.261963],[42.702438,15.718886],[42.823671,15.911742],[42.779332,16.347891],[43.218375,16.66689],[43.115798,17.08844],[43.380794,17.579987],[43.791519,17.319977],[44.062613,17.410359],[45.216651,17.433329],[45.399999,17.333335],[46.366659,17.233315],[46.749994,17.283338],[47.000005,16.949999],[47.466695,17.116682],[48.183344,18.166669],[49.116672,18.616668],[52.00001,19.000003],[52.782184,17.349742],[53.108573,16.651051]]]},"id":"YEM"}, -{"type":"Feature","properties":{"name":"South Africa"},"geometry":{"type":"Polygon","coordinates":[[[31.521001,-29.257387],[31.325561,-29.401978],[30.901763,-29.909957],[30.622813,-30.423776],[30.055716,-31.140269],[28.925553,-32.172041],[28.219756,-32.771953],[27.464608,-33.226964],[26.419452,-33.61495],[25.909664,-33.66704],[25.780628,-33.944646],[25.172862,-33.796851],[24.677853,-33.987176],[23.594043,-33.794474],[22.988189,-33.916431],[22.574157,-33.864083],[21.542799,-34.258839],[20.689053,-34.417175],[20.071261,-34.795137],[19.616405,-34.819166],[19.193278,-34.462599],[18.855315,-34.444306],[18.424643,-33.997873],[18.377411,-34.136521],[18.244499,-33.867752],[18.25008,-33.281431],[17.92519,-32.611291],[18.24791,-32.429131],[18.221762,-31.661633],[17.566918,-30.725721],[17.064416,-29.878641],[17.062918,-29.875954],[16.344977,-28.576705],[16.824017,-28.082162],[17.218929,-28.355943],[17.387497,-28.783514],[17.836152,-28.856378],[18.464899,-29.045462],[19.002127,-28.972443],[19.894734,-28.461105],[19.895768,-24.76779],[20.165726,-24.917962],[20.758609,-25.868136],[20.66647,-26.477453],[20.889609,-26.828543],[21.605896,-26.726534],[22.105969,-26.280256],[22.579532,-25.979448],[22.824271,-25.500459],[23.312097,-25.26869],[23.73357,-25.390129],[24.211267,-25.670216],[25.025171,-25.71967],[25.664666,-25.486816],[25.765849,-25.174845],[25.941652,-24.696373],[26.485753,-24.616327],[26.786407,-24.240691],[27.11941,-23.574323],[28.017236,-22.827754],[29.432188,-22.091313],[29.839037,-22.102216],[30.322883,-22.271612],[30.659865,-22.151567],[31.191409,-22.25151],[31.670398,-23.658969],[31.930589,-24.369417],[31.752408,-25.484284],[31.837778,-25.843332],[31.333158,-25.660191],[31.04408,-25.731452],[30.949667,-26.022649],[30.676609,-26.398078],[30.685962,-26.743845],[31.282773,-27.285879],[31.86806,-27.177927],[32.071665,-26.73382],[32.83012,-26.742192],[32.580265,-27.470158],[32.462133,-28.301011],[32.203389,-28.752405],[31.521001,-29.257387]],[[28.978263,-28.955597],[28.5417,-28.647502],[28.074338,-28.851469],[27.532511,-29.242711],[26.999262,-29.875954],[27.749397,-30.645106],[28.107205,-30.545732],[28.291069,-30.226217],[28.8484,-30.070051],[29.018415,-29.743766],[29.325166,-29.257387],[28.978263,-28.955597]]]},"id":"ZAF"}, -{"type":"Feature","properties":{"name":"Zambia"},"geometry":{"type":"Polygon","coordinates":[[[32.759375,-9.230599],[33.231388,-9.676722],[33.485688,-10.525559],[33.31531,-10.79655],[33.114289,-11.607198],[33.306422,-12.435778],[32.991764,-12.783871],[32.688165,-13.712858],[33.214025,-13.97186],[30.179481,-14.796099],[30.274256,-15.507787],[29.516834,-15.644678],[28.947463,-16.043051],[28.825869,-16.389749],[28.467906,-16.4684],[27.598243,-17.290831],[27.044427,-17.938026],[26.706773,-17.961229],[26.381935,-17.846042],[25.264226,-17.73654],[25.084443,-17.661816],[25.07695,-17.578823],[24.682349,-17.353411],[24.033862,-17.295843],[23.215048,-17.523116],[22.562478,-16.898451],[21.887843,-16.08031],[21.933886,-12.898437],[24.016137,-12.911046],[23.930922,-12.565848],[24.079905,-12.191297],[23.904154,-11.722282],[24.017894,-11.237298],[23.912215,-10.926826],[24.257155,-10.951993],[24.314516,-11.262826],[24.78317,-11.238694],[25.418118,-11.330936],[25.75231,-11.784965],[26.553088,-11.92444],[27.16442,-11.608748],[27.388799,-12.132747],[28.155109,-12.272481],[28.523562,-12.698604],[28.934286,-13.248958],[29.699614,-13.257227],[29.616001,-12.178895],[29.341548,-12.360744],[28.642417,-11.971569],[28.372253,-11.793647],[28.49607,-10.789884],[28.673682,-9.605925],[28.449871,-9.164918],[28.734867,-8.526559],[29.002912,-8.407032],[30.346086,-8.238257],[30.740015,-8.340007],[31.157751,-8.594579],[31.556348,-8.762049],[32.191865,-8.930359],[32.759375,-9.230599]]]},"id":"ZMB"}, -{"type":"Feature","properties":{"name":"Zimbabwe"},"geometry":{"type":"Polygon","coordinates":[[[31.191409,-22.25151],[30.659865,-22.151567],[30.322883,-22.271612],[29.839037,-22.102216],[29.432188,-22.091313],[28.794656,-21.639454],[28.02137,-21.485975],[27.727228,-20.851802],[27.724747,-20.499059],[27.296505,-20.39152],[26.164791,-19.293086],[25.850391,-18.714413],[25.649163,-18.536026],[25.264226,-17.73654],[26.381935,-17.846042],[26.706773,-17.961229],[27.044427,-17.938026],[27.598243,-17.290831],[28.467906,-16.4684],[28.825869,-16.389749],[28.947463,-16.043051],[29.516834,-15.644678],[30.274256,-15.507787],[30.338955,-15.880839],[31.173064,-15.860944],[31.636498,-16.07199],[31.852041,-16.319417],[32.328239,-16.392074],[32.847639,-16.713398],[32.849861,-17.979057],[32.654886,-18.67209],[32.611994,-19.419383],[32.772708,-19.715592],[32.659743,-20.30429],[32.508693,-20.395292],[32.244988,-21.116489],[31.191409,-22.25151]]]},"id":"ZWE"} -]} +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { "name": "Afghanistan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [61.210817, 35.650072], + [62.230651, 35.270664], + [62.984662, 35.404041], + [63.193538, 35.857166], + [63.982896, 36.007957], + [64.546479, 36.312073], + [64.746105, 37.111818], + [65.588948, 37.305217], + [65.745631, 37.661164], + [66.217385, 37.39379], + [66.518607, 37.362784], + [67.075782, 37.356144], + [67.83, 37.144994], + [68.135562, 37.023115], + [68.859446, 37.344336], + [69.196273, 37.151144], + [69.518785, 37.608997], + [70.116578, 37.588223], + [70.270574, 37.735165], + [70.376304, 38.138396], + [70.806821, 38.486282], + [71.348131, 38.258905], + [71.239404, 37.953265], + [71.541918, 37.905774], + [71.448693, 37.065645], + [71.844638, 36.738171], + [72.193041, 36.948288], + [72.63689, 37.047558], + [73.260056, 37.495257], + [73.948696, 37.421566], + [74.980002, 37.41999], + [75.158028, 37.133031], + [74.575893, 37.020841], + [74.067552, 36.836176], + [72.920025, 36.720007], + [71.846292, 36.509942], + [71.262348, 36.074388], + [71.498768, 35.650563], + [71.613076, 35.153203], + [71.115019, 34.733126], + [71.156773, 34.348911], + [70.881803, 33.988856], + [69.930543, 34.02012], + [70.323594, 33.358533], + [69.687147, 33.105499], + [69.262522, 32.501944], + [69.317764, 31.901412], + [68.926677, 31.620189], + [68.556932, 31.71331], + [67.792689, 31.58293], + [67.683394, 31.303154], + [66.938891, 31.304911], + [66.381458, 30.738899], + [66.346473, 29.887943], + [65.046862, 29.472181], + [64.350419, 29.560031], + [64.148002, 29.340819], + [63.550261, 29.468331], + [62.549857, 29.318572], + [60.874248, 29.829239], + [61.781222, 30.73585], + [61.699314, 31.379506], + [60.941945, 31.548075], + [60.863655, 32.18292], + [60.536078, 32.981269], + [60.9637, 33.528832], + [60.52843, 33.676446], + [60.803193, 34.404102], + [61.210817, 35.650072] + ] + ] + }, + "id": "AFG" + }, + { + "type": "Feature", + "properties": { "name": "Angola" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [16.326528, -5.87747], + [16.57318, -6.622645], + [16.860191, -7.222298], + [17.089996, -7.545689], + [17.47297, -8.068551], + [18.134222, -7.987678], + [18.464176, -7.847014], + [19.016752, -7.988246], + [19.166613, -7.738184], + [19.417502, -7.155429], + [20.037723, -7.116361], + [20.091622, -6.94309], + [20.601823, -6.939318], + [20.514748, -7.299606], + [21.728111, -7.290872], + [21.746456, -7.920085], + [21.949131, -8.305901], + [21.801801, -8.908707], + [21.875182, -9.523708], + [22.208753, -9.894796], + [22.155268, -11.084801], + [22.402798, -10.993075], + [22.837345, -11.017622], + [23.456791, -10.867863], + [23.912215, -10.926826], + [24.017894, -11.237298], + [23.904154, -11.722282], + [24.079905, -12.191297], + [23.930922, -12.565848], + [24.016137, -12.911046], + [21.933886, -12.898437], + [21.887843, -16.08031], + [22.562478, -16.898451], + [23.215048, -17.523116], + [21.377176, -17.930636], + [18.956187, -17.789095], + [18.263309, -17.309951], + [14.209707, -17.353101], + [14.058501, -17.423381], + [13.462362, -16.971212], + [12.814081, -16.941343], + [12.215461, -17.111668], + [11.734199, -17.301889], + [11.640096, -16.673142], + [11.778537, -15.793816], + [12.123581, -14.878316], + [12.175619, -14.449144], + [12.500095, -13.5477], + [12.738479, -13.137906], + [13.312914, -12.48363], + [13.633721, -12.038645], + [13.738728, -11.297863], + [13.686379, -10.731076], + [13.387328, -10.373578], + [13.120988, -9.766897], + [12.87537, -9.166934], + [12.929061, -8.959091], + [13.236433, -8.562629], + [12.93304, -7.596539], + [12.728298, -6.927122], + [12.227347, -6.294448], + [12.322432, -6.100092], + [12.735171, -5.965682], + [13.024869, -5.984389], + [13.375597, -5.864241], + [16.326528, -5.87747] + ] + ], + [ + [ + [12.436688, -5.684304], + [12.182337, -5.789931], + [11.914963, -5.037987], + [12.318608, -4.60623], + [12.62076, -4.438023], + [12.995517, -4.781103], + [12.631612, -4.991271], + [12.468004, -5.248362], + [12.436688, -5.684304] + ] + ] + ] + }, + "id": "AGO" + }, + { + "type": "Feature", + "properties": { "name": "Albania" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [20.590247, 41.855404], + [20.463175, 41.515089], + [20.605182, 41.086226], + [21.02004, 40.842727], + [20.99999, 40.580004], + [20.674997, 40.435], + [20.615, 40.110007], + [20.150016, 39.624998], + [19.98, 39.694993], + [19.960002, 39.915006], + [19.406082, 40.250773], + [19.319059, 40.72723], + [19.40355, 41.409566], + [19.540027, 41.719986], + [19.371769, 41.877548], + [19.304486, 42.195745], + [19.738051, 42.688247], + [19.801613, 42.500093], + [20.0707, 42.58863], + [20.283755, 42.32026], + [20.52295, 42.21787], + [20.590247, 41.855404] + ] + ] + }, + "id": "ALB" + }, + { + "type": "Feature", + "properties": { "name": "United Arab Emirates" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [51.579519, 24.245497], + [51.757441, 24.294073], + [51.794389, 24.019826], + [52.577081, 24.177439], + [53.404007, 24.151317], + [54.008001, 24.121758], + [54.693024, 24.797892], + [55.439025, 25.439145], + [56.070821, 26.055464], + [56.261042, 25.714606], + [56.396847, 24.924732], + [55.886233, 24.920831], + [55.804119, 24.269604], + [55.981214, 24.130543], + [55.528632, 23.933604], + [55.525841, 23.524869], + [55.234489, 23.110993], + [55.208341, 22.70833], + [55.006803, 22.496948], + [52.000733, 23.001154], + [51.617708, 24.014219], + [51.579519, 24.245497] + ] + ] + }, + "id": "ARE" + }, + { + "type": "Feature", + "properties": { "name": "Argentina" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-65.5, -55.2], + [-66.45, -55.25], + [-66.95992, -54.89681], + [-67.56244, -54.87001], + [-68.63335, -54.8695], + [-68.63401, -52.63637], + [-68.25, -53.1], + [-67.75, -53.85], + [-66.45, -54.45], + [-65.05, -54.7], + [-65.5, -55.2] + ] + ], + [ + [ + [-64.964892, -22.075862], + [-64.377021, -22.798091], + [-63.986838, -21.993644], + [-62.846468, -22.034985], + [-62.685057, -22.249029], + [-60.846565, -23.880713], + [-60.028966, -24.032796], + [-58.807128, -24.771459], + [-57.777217, -25.16234], + [-57.63366, -25.603657], + [-58.618174, -27.123719], + [-57.60976, -27.395899], + [-56.486702, -27.548499], + [-55.695846, -27.387837], + [-54.788795, -26.621786], + [-54.625291, -25.739255], + [-54.13005, -25.547639], + [-53.628349, -26.124865], + [-53.648735, -26.923473], + [-54.490725, -27.474757], + [-55.162286, -27.881915], + [-56.2909, -28.852761], + [-57.625133, -30.216295], + [-57.874937, -31.016556], + [-58.14244, -32.044504], + [-58.132648, -33.040567], + [-58.349611, -33.263189], + [-58.427074, -33.909454], + [-58.495442, -34.43149], + [-57.22583, -35.288027], + [-57.362359, -35.97739], + [-56.737487, -36.413126], + [-56.788285, -36.901572], + [-57.749157, -38.183871], + [-59.231857, -38.72022], + [-61.237445, -38.928425], + [-62.335957, -38.827707], + [-62.125763, -39.424105], + [-62.330531, -40.172586], + [-62.145994, -40.676897], + [-62.745803, -41.028761], + [-63.770495, -41.166789], + [-64.73209, -40.802677], + [-65.118035, -41.064315], + [-64.978561, -42.058001], + [-64.303408, -42.359016], + [-63.755948, -42.043687], + [-63.458059, -42.563138], + [-64.378804, -42.873558], + [-65.181804, -43.495381], + [-65.328823, -44.501366], + [-65.565269, -45.036786], + [-66.509966, -45.039628], + [-67.293794, -45.551896], + [-67.580546, -46.301773], + [-66.597066, -47.033925], + [-65.641027, -47.236135], + [-65.985088, -48.133289], + [-67.166179, -48.697337], + [-67.816088, -49.869669], + [-68.728745, -50.264218], + [-69.138539, -50.73251], + [-68.815561, -51.771104], + [-68.149995, -52.349983], + [-68.571545, -52.299444], + [-69.498362, -52.142761], + [-71.914804, -52.009022], + [-72.329404, -51.425956], + [-72.309974, -50.67701], + [-72.975747, -50.74145], + [-73.328051, -50.378785], + [-73.415436, -49.318436], + [-72.648247, -48.878618], + [-72.331161, -48.244238], + [-72.447355, -47.738533], + [-71.917258, -46.884838], + [-71.552009, -45.560733], + [-71.659316, -44.973689], + [-71.222779, -44.784243], + [-71.329801, -44.407522], + [-71.793623, -44.207172], + [-71.464056, -43.787611], + [-71.915424, -43.408565], + [-72.148898, -42.254888], + [-71.746804, -42.051386], + [-71.915734, -40.832339], + [-71.680761, -39.808164], + [-71.413517, -38.916022], + [-70.814664, -38.552995], + [-71.118625, -37.576827], + [-71.121881, -36.658124], + [-70.364769, -36.005089], + [-70.388049, -35.169688], + [-69.817309, -34.193571], + [-69.814777, -33.273886], + [-70.074399, -33.09121], + [-70.535069, -31.36501], + [-69.919008, -30.336339], + [-70.01355, -29.367923], + [-69.65613, -28.459141], + [-69.001235, -27.521214], + [-68.295542, -26.89934], + [-68.5948, -26.506909], + [-68.386001, -26.185016], + [-68.417653, -24.518555], + [-67.328443, -24.025303], + [-66.985234, -22.986349], + [-67.106674, -22.735925], + [-66.273339, -21.83231], + [-64.964892, -22.075862] + ] + ] + ] + }, + "id": "ARG" + }, + { + "type": "Feature", + "properties": { "name": "Armenia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [43.582746, 41.092143], + [44.97248, 41.248129], + [45.179496, 40.985354], + [45.560351, 40.81229], + [45.359175, 40.561504], + [45.891907, 40.218476], + [45.610012, 39.899994], + [46.034534, 39.628021], + [46.483499, 39.464155], + [46.50572, 38.770605], + [46.143623, 38.741201], + [45.735379, 39.319719], + [45.739978, 39.473999], + [45.298145, 39.471751], + [45.001987, 39.740004], + [44.79399, 39.713003], + [44.400009, 40.005], + [43.656436, 40.253564], + [43.752658, 40.740201], + [43.582746, 41.092143] + ] + ] + }, + "id": "ARM" + }, + { + "type": "Feature", + "properties": { "name": "Antarctica" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-59.572095, -80.040179], + [-59.865849, -80.549657], + [-60.159656, -81.000327], + [-62.255393, -80.863178], + [-64.488125, -80.921934], + [-65.741666, -80.588827], + [-65.741666, -80.549657], + [-66.290031, -80.255773], + [-64.037688, -80.294944], + [-61.883246, -80.39287], + [-61.138976, -79.981371], + [-60.610119, -79.628679], + [-59.572095, -80.040179] + ] + ], + [ + [ + [-159.208184, -79.497059], + [-161.127601, -79.634209], + [-162.439847, -79.281465], + [-163.027408, -78.928774], + [-163.066604, -78.869966], + [-163.712896, -78.595667], + [-163.712896, -78.595667], + [-163.105801, -78.223338], + [-161.245113, -78.380176], + [-160.246208, -78.693645], + [-159.482405, -79.046338], + [-159.208184, -79.497059] + ] + ], + [ + [ + [-45.154758, -78.04707], + [-43.920828, -78.478103], + [-43.48995, -79.08556], + [-43.372438, -79.516645], + [-43.333267, -80.026123], + [-44.880537, -80.339644], + [-46.506174, -80.594357], + [-48.386421, -80.829485], + [-50.482107, -81.025442], + [-52.851988, -80.966685], + [-54.164259, -80.633528], + [-53.987991, -80.222028], + [-51.853134, -79.94773], + [-50.991326, -79.614623], + [-50.364595, -79.183487], + [-49.914131, -78.811209], + [-49.306959, -78.458569], + [-48.660616, -78.047018], + [-48.660616, -78.047019], + [-48.151396, -78.04707], + [-46.662857, -77.831476], + [-45.154758, -78.04707] + ] + ], + [ + [ + [-121.211511, -73.50099], + [-119.918851, -73.657725], + [-118.724143, -73.481353], + [-119.292119, -73.834097], + [-120.232217, -74.08881], + [-121.62283, -74.010468], + [-122.621735, -73.657778], + [-122.621735, -73.657777], + [-122.406245, -73.324619], + [-121.211511, -73.50099] + ] + ], + [ + [ + [-125.559566, -73.481353], + [-124.031882, -73.873268], + [-124.619469, -73.834097], + [-125.912181, -73.736118], + [-127.28313, -73.461769], + [-127.28313, -73.461768], + [-126.558472, -73.246226], + [-125.559566, -73.481353] + ] + ], + [ + [ + [-98.98155, -71.933334], + [-97.884743, -72.070535], + [-96.787937, -71.952971], + [-96.20035, -72.521205], + [-96.983765, -72.442864], + [-98.198083, -72.482035], + [-99.432013, -72.442864], + [-100.783455, -72.50162], + [-101.801868, -72.305663], + [-102.330725, -71.894164], + [-102.330725, -71.894164], + [-101.703967, -71.717792], + [-100.430919, -71.854993], + [-98.98155, -71.933334] + ] + ], + [ + [ + [-68.451346, -70.955823], + [-68.333834, -71.406493], + [-68.510128, -71.798407], + [-68.784297, -72.170736], + [-69.959471, -72.307885], + [-71.075889, -72.503842], + [-72.388134, -72.484257], + [-71.8985, -72.092343], + [-73.073622, -72.229492], + [-74.19004, -72.366693], + [-74.953895, -72.072757], + [-75.012625, -71.661258], + [-73.915819, -71.269345], + [-73.915819, -71.269344], + [-73.230331, -71.15178], + [-72.074717, -71.190951], + [-71.780962, -70.681473], + [-71.72218, -70.309196], + [-71.741791, -69.505782], + [-71.173815, -69.035475], + [-70.253252, -68.87874], + [-69.724447, -69.251017], + [-69.489422, -69.623346], + [-69.058518, -70.074016], + [-68.725541, -70.505153], + [-68.451346, -70.955823] + ] + ], + [ + [ + [-58.614143, -64.152467], + [-59.045073, -64.36801], + [-59.789342, -64.211223], + [-60.611928, -64.309202], + [-61.297416, -64.54433], + [-62.0221, -64.799094], + [-62.51176, -65.09303], + [-62.648858, -65.484942], + [-62.590128, -65.857219], + [-62.120079, -66.190326], + [-62.805567, -66.425505], + [-63.74569, -66.503847], + [-64.294106, -66.837004], + [-64.881693, -67.150474], + [-65.508425, -67.58161], + [-65.665082, -67.953887], + [-65.312545, -68.365335], + [-64.783715, -68.678908], + [-63.961103, -68.913984], + [-63.1973, -69.227556], + [-62.785955, -69.619419], + [-62.570516, -69.991747], + [-62.276736, -70.383661], + [-61.806661, -70.716768], + [-61.512906, -71.089045], + [-61.375809, -72.010074], + [-61.081977, -72.382351], + [-61.003661, -72.774265], + [-60.690269, -73.166179], + [-60.827367, -73.695242], + [-61.375809, -74.106742], + [-61.96337, -74.439848], + [-63.295201, -74.576997], + [-63.74569, -74.92974], + [-64.352836, -75.262847], + [-65.860987, -75.635124], + [-67.192818, -75.79191], + [-68.446282, -76.007452], + [-69.797724, -76.222995], + [-70.600724, -76.634494], + [-72.206776, -76.673665], + [-73.969536, -76.634494], + [-75.555977, -76.712887], + [-77.24037, -76.712887], + [-76.926979, -77.104802], + [-75.399294, -77.28107], + [-74.282876, -77.55542], + [-73.656119, -77.908112], + [-74.772536, -78.221633], + [-76.4961, -78.123654], + [-77.925858, -78.378419], + [-77.984666, -78.789918], + [-78.023785, -79.181833], + [-76.848637, -79.514939], + [-76.633224, -79.887216], + [-75.360097, -80.259545], + [-73.244852, -80.416331], + [-71.442946, -80.69063], + [-70.013163, -81.004151], + [-68.191646, -81.317672], + [-65.704279, -81.474458], + [-63.25603, -81.748757], + [-61.552026, -82.042692], + [-59.691416, -82.37585], + [-58.712121, -82.846106], + [-58.222487, -83.218434], + [-57.008117, -82.865691], + [-55.362894, -82.571755], + [-53.619771, -82.258235], + [-51.543644, -82.003521], + [-49.76135, -81.729171], + [-47.273931, -81.709586], + [-44.825708, -81.846735], + [-42.808363, -82.081915], + [-42.16202, -81.65083], + [-40.771433, -81.356894], + [-38.244818, -81.337309], + [-36.26667, -81.121715], + [-34.386397, -80.906172], + [-32.310296, -80.769023], + [-30.097098, -80.592651], + [-28.549802, -80.337938], + [-29.254901, -79.985195], + [-29.685805, -79.632503], + [-29.685805, -79.260226], + [-31.624808, -79.299397], + [-33.681324, -79.456132], + [-35.639912, -79.456132], + [-35.914107, -79.083855], + [-35.77701, -78.339248], + [-35.326546, -78.123654], + [-33.896763, -77.888526], + [-32.212369, -77.65345], + [-30.998051, -77.359515], + [-29.783732, -77.065579], + [-28.882779, -76.673665], + [-27.511752, -76.497345], + [-26.160336, -76.360144], + [-25.474822, -76.281803], + [-23.927552, -76.24258], + [-22.458598, -76.105431], + [-21.224694, -75.909474], + [-20.010375, -75.674346], + [-18.913543, -75.439218], + [-17.522982, -75.125698], + [-16.641589, -74.79254], + [-15.701491, -74.498604], + [-15.40771, -74.106742], + [-16.46532, -73.871614], + [-16.112784, -73.460114], + [-15.446855, -73.146542], + [-14.408805, -72.950585], + [-13.311973, -72.715457], + [-12.293508, -72.401936], + [-11.510067, -72.010074], + [-11.020433, -71.539767], + [-10.295774, -71.265416], + [-9.101015, -71.324224], + [-8.611381, -71.65733], + [-7.416622, -71.696501], + [-7.377451, -71.324224], + [-6.868232, -70.93231], + [-5.790985, -71.030289], + [-5.536375, -71.402617], + [-4.341667, -71.461373], + [-3.048981, -71.285053], + [-1.795492, -71.167438], + [-0.659489, -71.226246], + [-0.228637, -71.637745], + [0.868195, -71.304639], + [1.886686, -71.128267], + [3.022638, -70.991118], + [4.139055, -70.853917], + [5.157546, -70.618789], + [6.273912, -70.462055], + [7.13572, -70.246512], + [7.742866, -69.893769], + [8.48711, -70.148534], + [9.525135, -70.011333], + [10.249845, -70.48164], + [10.817821, -70.834332], + [11.953824, -70.638375], + [12.404287, -70.246512], + [13.422778, -69.972162], + [14.734998, -70.030918], + [15.126757, -70.403247], + [15.949342, -70.030918], + [17.026589, -69.913354], + [18.201711, -69.874183], + [19.259373, -69.893769], + [20.375739, -70.011333], + [21.452985, -70.07014], + [21.923034, -70.403247], + [22.569403, -70.697182], + [23.666184, -70.520811], + [24.841357, -70.48164], + [25.977309, -70.48164], + [27.093726, -70.462055], + [28.09258, -70.324854], + [29.150242, -70.20729], + [30.031583, -69.93294], + [30.971733, -69.75662], + [31.990172, -69.658641], + [32.754053, -69.384291], + [33.302443, -68.835642], + [33.870419, -68.502588], + [34.908495, -68.659271], + [35.300202, -69.012014], + [36.16201, -69.247142], + [37.200035, -69.168748], + [37.905108, -69.52144], + [38.649404, -69.776205], + [39.667894, -69.541077], + [40.020431, -69.109941], + [40.921358, -68.933621], + [41.959434, -68.600514], + [42.938702, -68.463313], + [44.113876, -68.267408], + [44.897291, -68.051866], + [45.719928, -67.816738], + [46.503343, -67.601196], + [47.44344, -67.718759], + [48.344419, -67.366068], + [48.990736, -67.091718], + [49.930885, -67.111303], + [50.753471, -66.876175], + [50.949325, -66.523484], + [51.791547, -66.249133], + [52.614133, -66.053176], + [53.613038, -65.89639], + [54.53355, -65.818049], + [55.414943, -65.876805], + [56.355041, -65.974783], + [57.158093, -66.249133], + [57.255968, -66.680218], + [58.137361, -67.013324], + [58.744508, -67.287675], + [59.939318, -67.405239], + [60.605221, -67.679589], + [61.427806, -67.953887], + [62.387489, -68.012695], + [63.19049, -67.816738], + [64.052349, -67.405239], + [64.992447, -67.620729], + [65.971715, -67.738345], + [66.911864, -67.855909], + [67.891133, -67.934302], + [68.890038, -67.934302], + [69.712624, -68.972791], + [69.673453, -69.227556], + [69.555941, -69.678226], + [68.596258, -69.93294], + [67.81274, -70.305268], + [67.949889, -70.697182], + [69.066307, -70.677545], + [68.929157, -71.069459], + [68.419989, -71.441788], + [67.949889, -71.853287], + [68.71377, -72.166808], + [69.869307, -72.264787], + [71.024895, -72.088415], + [71.573285, -71.696501], + [71.906288, -71.324224], + [72.454627, -71.010703], + [73.08141, -70.716768], + [73.33602, -70.364024], + [73.864877, -69.874183], + [74.491557, -69.776205], + [75.62756, -69.737034], + [76.626465, -69.619419], + [77.644904, -69.462684], + [78.134539, -69.07077], + [78.428371, -68.698441], + [79.113859, -68.326216], + [80.093127, -68.071503], + [80.93535, -67.875546], + [81.483792, -67.542388], + [82.051767, -67.366068], + [82.776426, -67.209282], + [83.775331, -67.30726], + [84.676206, -67.209282], + [85.655527, -67.091718], + [86.752359, -67.150474], + [87.477017, -66.876175], + [87.986289, -66.209911], + [88.358411, -66.484261], + [88.828408, -66.954568], + [89.67063, -67.150474], + [90.630365, -67.228867], + [91.5901, -67.111303], + [92.608539, -67.189696], + [93.548637, -67.209282], + [94.17542, -67.111303], + [95.017591, -67.170111], + [95.781472, -67.385653], + [96.682399, -67.248504], + [97.759646, -67.248504], + [98.68021, -67.111303], + [99.718182, -67.248504], + [100.384188, -66.915346], + [100.893356, -66.58224], + [101.578896, -66.30789], + [102.832411, -65.563284], + [103.478676, -65.700485], + [104.242557, -65.974783], + [104.90846, -66.327527], + [106.181561, -66.934931], + [107.160881, -66.954568], + [108.081393, -66.954568], + [109.15864, -66.837004], + [110.235835, -66.699804], + [111.058472, -66.425505], + [111.74396, -66.13157], + [112.860378, -66.092347], + [113.604673, -65.876805], + [114.388088, -66.072762], + [114.897308, -66.386283], + [115.602381, -66.699804], + [116.699161, -66.660633], + [117.384701, -66.915346], + [118.57946, -67.170111], + [119.832924, -67.268089], + [120.871, -67.189696], + [121.654415, -66.876175], + [122.320369, -66.562654], + [123.221296, -66.484261], + [124.122274, -66.621462], + [125.160247, -66.719389], + [126.100396, -66.562654], + [127.001427, -66.562654], + [127.882768, -66.660633], + [128.80328, -66.758611], + [129.704259, -66.58224], + [130.781454, -66.425505], + [131.799945, -66.386283], + [132.935896, -66.386283], + [133.85646, -66.288304], + [134.757387, -66.209963], + [135.031582, -65.72007], + [135.070753, -65.308571], + [135.697485, -65.582869], + [135.873805, -66.033591], + [136.206705, -66.44509], + [136.618049, -66.778197], + [137.460271, -66.954568], + [138.596223, -66.895761], + [139.908442, -66.876175], + [140.809421, -66.817367], + [142.121692, -66.817367], + [143.061842, -66.797782], + [144.374061, -66.837004], + [145.490427, -66.915346], + [146.195552, -67.228867], + [145.999699, -67.601196], + [146.646067, -67.895131], + [147.723263, -68.130259], + [148.839629, -68.385024], + [150.132314, -68.561292], + [151.483705, -68.71813], + [152.502247, -68.874813], + [153.638199, -68.894502], + [154.284567, -68.561292], + [155.165857, -68.835642], + [155.92979, -69.149215], + [156.811132, -69.384291], + [158.025528, -69.482269], + [159.181013, -69.599833], + [159.670699, -69.991747], + [160.80665, -70.226875], + [161.570479, -70.579618], + [162.686897, -70.736353], + [163.842434, -70.716768], + [164.919681, -70.775524], + [166.11444, -70.755938], + [167.309095, -70.834332], + [168.425616, -70.971481], + [169.463589, -71.20666], + [170.501665, -71.402617], + [171.20679, -71.696501], + [171.089227, -72.088415], + [170.560422, -72.441159], + [170.109958, -72.891829], + [169.75737, -73.24452], + [169.287321, -73.65602], + [167.975101, -73.812806], + [167.387489, -74.165498], + [166.094803, -74.38104], + [165.644391, -74.772954], + [164.958851, -75.145283], + [164.234193, -75.458804], + [163.822797, -75.870303], + [163.568239, -76.24258], + [163.47026, -76.693302], + [163.489897, -77.065579], + [164.057873, -77.457442], + [164.273363, -77.82977], + [164.743464, -78.182514], + [166.604126, -78.319611], + [166.995781, -78.750748], + [165.193876, -78.907483], + [163.666217, -79.123025], + [161.766385, -79.162248], + [160.924162, -79.730482], + [160.747894, -80.200737], + [160.316964, -80.573066], + [159.788211, -80.945395], + [161.120016, -81.278501], + [161.629287, -81.690001], + [162.490992, -82.062278], + [163.705336, -82.395435], + [165.095949, -82.708956], + [166.604126, -83.022477], + [168.895665, -83.335998], + [169.404782, -83.825891], + [172.283934, -84.041433], + [172.477049, -84.117914], + [173.224083, -84.41371], + [175.985672, -84.158997], + [178.277212, -84.472518], + [180, -84.71338], + [-179.942499, -84.721443], + [-179.058677, -84.139412], + [-177.256772, -84.452933], + [-177.140807, -84.417941], + [-176.084673, -84.099259], + [-175.947235, -84.110449], + [-175.829882, -84.117914], + [-174.382503, -84.534323], + [-173.116559, -84.117914], + [-172.889106, -84.061019], + [-169.951223, -83.884647], + [-168.999989, -84.117914], + [-168.530199, -84.23739], + [-167.022099, -84.570497], + [-164.182144, -84.82521], + [-161.929775, -85.138731], + [-158.07138, -85.37391], + [-155.192253, -85.09956], + [-150.942099, -85.295517], + [-148.533073, -85.609038], + [-145.888918, -85.315102], + [-143.107718, -85.040752], + [-142.892279, -84.570497], + [-146.829068, -84.531274], + [-150.060732, -84.296146], + [-150.902928, -83.904232], + [-153.586201, -83.68869], + [-153.409907, -83.23802], + [-153.037759, -82.82652], + [-152.665637, -82.454192], + [-152.861517, -82.042692], + [-154.526299, -81.768394], + [-155.29018, -81.41565], + [-156.83745, -81.102129], + [-154.408787, -81.160937], + [-152.097662, -81.004151], + [-150.648293, -81.337309], + [-148.865998, -81.043373], + [-147.22075, -80.671045], + [-146.417749, -80.337938], + [-146.770286, -79.926439], + [-148.062947, -79.652089], + [-149.531901, -79.358205], + [-151.588416, -79.299397], + [-153.390322, -79.162248], + [-155.329376, -79.064269], + [-155.975668, -78.69194], + [-157.268302, -78.378419], + [-158.051768, -78.025676], + [-158.365134, -76.889207], + [-157.875474, -76.987238], + [-156.974573, -77.300759], + [-155.329376, -77.202728], + [-153.742832, -77.065579], + [-152.920247, -77.496664], + [-151.33378, -77.398737], + [-150.00195, -77.183143], + [-148.748486, -76.908845], + [-147.612483, -76.575738], + [-146.104409, -76.47776], + [-146.143528, -76.105431], + [-146.496091, -75.733154], + [-146.20231, -75.380411], + [-144.909624, -75.204039], + [-144.322037, -75.537197], + [-142.794353, -75.34124], + [-141.638764, -75.086475], + [-140.209007, -75.06689], + [-138.85759, -74.968911], + [-137.5062, -74.733783], + [-136.428901, -74.518241], + [-135.214583, -74.302699], + [-134.431194, -74.361455], + [-133.745654, -74.439848], + [-132.257168, -74.302699], + [-130.925311, -74.479019], + [-129.554284, -74.459433], + [-128.242038, -74.322284], + [-126.890622, -74.420263], + [-125.402082, -74.518241], + [-124.011496, -74.479019], + [-122.562152, -74.498604], + [-121.073613, -74.518241], + [-119.70256, -74.479019], + [-118.684145, -74.185083], + [-117.469801, -74.028348], + [-116.216312, -74.243891], + [-115.021552, -74.067519], + [-113.944331, -73.714828], + [-113.297988, -74.028348], + [-112.945452, -74.38104], + [-112.299083, -74.714198], + [-111.261059, -74.420263], + [-110.066325, -74.79254], + [-108.714909, -74.910103], + [-107.559346, -75.184454], + [-106.149148, -75.125698], + [-104.876074, -74.949326], + [-103.367949, -74.988497], + [-102.016507, -75.125698], + [-100.645531, -75.302018], + [-100.1167, -74.870933], + [-100.763043, -74.537826], + [-101.252703, -74.185083], + [-102.545337, -74.106742], + [-103.113313, -73.734413], + [-103.328752, -73.362084], + [-103.681289, -72.61753], + [-102.917485, -72.754679], + [-101.60524, -72.813436], + [-100.312528, -72.754679], + [-99.13738, -72.911414], + [-98.118889, -73.20535], + [-97.688037, -73.558041], + [-96.336595, -73.616849], + [-95.043961, -73.4797], + [-93.672907, -73.283743], + [-92.439003, -73.166179], + [-91.420564, -73.401307], + [-90.088733, -73.322914], + [-89.226951, -72.558722], + [-88.423951, -73.009393], + [-87.268337, -73.185764], + [-86.014822, -73.087786], + [-85.192236, -73.4797], + [-83.879991, -73.518871], + [-82.665646, -73.636434], + [-81.470913, -73.851977], + [-80.687447, -73.4797], + [-80.295791, -73.126956], + [-79.296886, -73.518871], + [-77.925858, -73.420892], + [-76.907367, -73.636434], + [-76.221879, -73.969541], + [-74.890049, -73.871614], + [-73.852024, -73.65602], + [-72.833533, -73.401307], + [-71.619215, -73.264157], + [-70.209042, -73.146542], + [-68.935916, -73.009393], + [-67.956622, -72.79385], + [-67.369061, -72.480329], + [-67.134036, -72.049244], + [-67.251548, -71.637745], + [-67.56494, -71.245831], + [-67.917477, -70.853917], + [-68.230843, -70.462055], + [-68.485452, -70.109311], + [-68.544209, -69.717397], + [-68.446282, -69.325535], + [-67.976233, -68.953206], + [-67.5845, -68.541707], + [-67.427843, -68.149844], + [-67.62367, -67.718759], + [-67.741183, -67.326845], + [-67.251548, -66.876175], + [-66.703184, -66.58224], + [-66.056815, -66.209963], + [-65.371327, -65.89639], + [-64.568276, -65.602506], + [-64.176542, -65.171423], + [-63.628152, -64.897073], + [-63.001394, -64.642308], + [-62.041686, -64.583552], + [-61.414928, -64.270031], + [-60.709855, -64.074074], + [-59.887269, -63.95651], + [-59.162585, -63.701745], + [-58.594557, -63.388224], + [-57.811143, -63.27066], + [-57.223582, -63.525425], + [-57.59573, -63.858532], + [-58.614143, -64.152467] + ] + ] + ] + }, + "id": "ATA" + }, + { + "type": "Feature", + "properties": { "name": "French Southern and Antarctic Lands" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [68.935, -48.625], + [69.58, -48.94], + [70.525, -49.065], + [70.56, -49.255], + [70.28, -49.71], + [68.745, -49.775], + [68.72, -49.2425], + [68.8675, -48.83], + [68.935, -48.625] + ] + ] + }, + "id": "ATF" + }, + { + "type": "Feature", + "properties": { "name": "Australia" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [145.397978, -40.792549], + [146.364121, -41.137695], + [146.908584, -41.000546], + [147.689259, -40.808258], + [148.289068, -40.875438], + [148.359865, -42.062445], + [148.017301, -42.407024], + [147.914052, -43.211522], + [147.564564, -42.937689], + [146.870343, -43.634597], + [146.663327, -43.580854], + [146.048378, -43.549745], + [145.43193, -42.693776], + [145.29509, -42.03361], + [144.718071, -41.162552], + [144.743755, -40.703975], + [145.397978, -40.792549] + ] + ], + [ + [ + [143.561811, -13.763656], + [143.922099, -14.548311], + [144.563714, -14.171176], + [144.894908, -14.594458], + [145.374724, -14.984976], + [145.271991, -15.428205], + [145.48526, -16.285672], + [145.637033, -16.784918], + [145.888904, -16.906926], + [146.160309, -17.761655], + [146.063674, -18.280073], + [146.387478, -18.958274], + [147.471082, -19.480723], + [148.177602, -19.955939], + [148.848414, -20.39121], + [148.717465, -20.633469], + [149.28942, -21.260511], + [149.678337, -22.342512], + [150.077382, -22.122784], + [150.482939, -22.556142], + [150.727265, -22.402405], + [150.899554, -23.462237], + [151.609175, -24.076256], + [152.07354, -24.457887], + [152.855197, -25.267501], + [153.136162, -26.071173], + [153.161949, -26.641319], + [153.092909, -27.2603], + [153.569469, -28.110067], + [153.512108, -28.995077], + [153.339095, -29.458202], + [153.069241, -30.35024], + [153.089602, -30.923642], + [152.891578, -31.640446], + [152.450002, -32.550003], + [151.709117, -33.041342], + [151.343972, -33.816023], + [151.010555, -34.31036], + [150.714139, -35.17346], + [150.32822, -35.671879], + [150.075212, -36.420206], + [149.946124, -37.109052], + [149.997284, -37.425261], + [149.423882, -37.772681], + [148.304622, -37.809061], + [147.381733, -38.219217], + [146.922123, -38.606532], + [146.317922, -39.035757], + [145.489652, -38.593768], + [144.876976, -38.417448], + [145.032212, -37.896188], + [144.485682, -38.085324], + [143.609974, -38.809465], + [142.745427, -38.538268], + [142.17833, -38.380034], + [141.606582, -38.308514], + [140.638579, -38.019333], + [139.992158, -37.402936], + [139.806588, -36.643603], + [139.574148, -36.138362], + [139.082808, -35.732754], + [138.120748, -35.612296], + [138.449462, -35.127261], + [138.207564, -34.384723], + [137.71917, -35.076825], + [136.829406, -35.260535], + [137.352371, -34.707339], + [137.503886, -34.130268], + [137.890116, -33.640479], + [137.810328, -32.900007], + [136.996837, -33.752771], + [136.372069, -34.094766], + [135.989043, -34.890118], + [135.208213, -34.47867], + [135.239218, -33.947953], + [134.613417, -33.222778], + [134.085904, -32.848072], + [134.273903, -32.617234], + [132.990777, -32.011224], + [132.288081, -31.982647], + [131.326331, -31.495803], + [129.535794, -31.590423], + [128.240938, -31.948489], + [127.102867, -32.282267], + [126.148714, -32.215966], + [125.088623, -32.728751], + [124.221648, -32.959487], + [124.028947, -33.483847], + [123.659667, -33.890179], + [122.811036, -33.914467], + [122.183064, -34.003402], + [121.299191, -33.821036], + [120.580268, -33.930177], + [119.893695, -33.976065], + [119.298899, -34.509366], + [119.007341, -34.464149], + [118.505718, -34.746819], + [118.024972, -35.064733], + [117.295507, -35.025459], + [116.625109, -35.025097], + [115.564347, -34.386428], + [115.026809, -34.196517], + [115.048616, -33.623425], + [115.545123, -33.487258], + [115.714674, -33.259572], + [115.679379, -32.900369], + [115.801645, -32.205062], + [115.689611, -31.612437], + [115.160909, -30.601594], + [114.997043, -30.030725], + [115.040038, -29.461095], + [114.641974, -28.810231], + [114.616498, -28.516399], + [114.173579, -28.118077], + [114.048884, -27.334765], + [113.477498, -26.543134], + [113.338953, -26.116545], + [113.778358, -26.549025], + [113.440962, -25.621278], + [113.936901, -25.911235], + [114.232852, -26.298446], + [114.216161, -25.786281], + [113.721255, -24.998939], + [113.625344, -24.683971], + [113.393523, -24.384764], + [113.502044, -23.80635], + [113.706993, -23.560215], + [113.843418, -23.059987], + [113.736552, -22.475475], + [114.149756, -21.755881], + [114.225307, -22.517488], + [114.647762, -21.82952], + [115.460167, -21.495173], + [115.947373, -21.068688], + [116.711615, -20.701682], + [117.166316, -20.623599], + [117.441545, -20.746899], + [118.229559, -20.374208], + [118.836085, -20.263311], + [118.987807, -20.044203], + [119.252494, -19.952942], + [119.805225, -19.976506], + [120.85622, -19.683708], + [121.399856, -19.239756], + [121.655138, -18.705318], + [122.241665, -18.197649], + [122.286624, -17.798603], + [122.312772, -17.254967], + [123.012574, -16.4052], + [123.433789, -17.268558], + [123.859345, -17.069035], + [123.503242, -16.596506], + [123.817073, -16.111316], + [124.258287, -16.327944], + [124.379726, -15.56706], + [124.926153, -15.0751], + [125.167275, -14.680396], + [125.670087, -14.51007], + [125.685796, -14.230656], + [126.125149, -14.347341], + [126.142823, -14.095987], + [126.582589, -13.952791], + [127.065867, -13.817968], + [127.804633, -14.276906], + [128.35969, -14.86917], + [128.985543, -14.875991], + [129.621473, -14.969784], + [129.4096, -14.42067], + [129.888641, -13.618703], + [130.339466, -13.357376], + [130.183506, -13.10752], + [130.617795, -12.536392], + [131.223495, -12.183649], + [131.735091, -12.302453], + [132.575298, -12.114041], + [132.557212, -11.603012], + [131.824698, -11.273782], + [132.357224, -11.128519], + [133.019561, -11.376411], + [133.550846, -11.786515], + [134.393068, -12.042365], + [134.678632, -11.941183], + [135.298491, -12.248606], + [135.882693, -11.962267], + [136.258381, -12.049342], + [136.492475, -11.857209], + [136.95162, -12.351959], + [136.685125, -12.887223], + [136.305407, -13.29123], + [135.961758, -13.324509], + [136.077617, -13.724278], + [135.783836, -14.223989], + [135.428664, -14.715432], + [135.500184, -14.997741], + [136.295175, -15.550265], + [137.06536, -15.870762], + [137.580471, -16.215082], + [138.303217, -16.807604], + [138.585164, -16.806622], + [139.108543, -17.062679], + [139.260575, -17.371601], + [140.215245, -17.710805], + [140.875463, -17.369069], + [141.07111, -16.832047], + [141.274095, -16.38887], + [141.398222, -15.840532], + [141.702183, -15.044921], + [141.56338, -14.561333], + [141.63552, -14.270395], + [141.519869, -13.698078], + [141.65092, -12.944688], + [141.842691, -12.741548], + [141.68699, -12.407614], + [141.928629, -11.877466], + [142.118488, -11.328042], + [142.143706, -11.042737], + [142.51526, -10.668186], + [142.79731, -11.157355], + [142.866763, -11.784707], + [143.115947, -11.90563], + [143.158632, -12.325656], + [143.522124, -12.834358], + [143.597158, -13.400422], + [143.561811, -13.763656] + ] + ] + ] + }, + "id": "AUS" + }, + { + "type": "Feature", + "properties": { "name": "Austria" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [16.979667, 48.123497], + [16.903754, 47.714866], + [16.340584, 47.712902], + [16.534268, 47.496171], + [16.202298, 46.852386], + [16.011664, 46.683611], + [15.137092, 46.658703], + [14.632472, 46.431817], + [13.806475, 46.509306], + [12.376485, 46.767559], + [12.153088, 47.115393], + [11.164828, 46.941579], + [11.048556, 46.751359], + [10.442701, 46.893546], + [9.932448, 46.920728], + [9.47997, 47.10281], + [9.632932, 47.347601], + [9.594226, 47.525058], + [9.896068, 47.580197], + [10.402084, 47.302488], + [10.544504, 47.566399], + [11.426414, 47.523766], + [12.141357, 47.703083], + [12.62076, 47.672388], + [12.932627, 47.467646], + [13.025851, 47.637584], + [12.884103, 48.289146], + [13.243357, 48.416115], + [13.595946, 48.877172], + [14.338898, 48.555305], + [14.901447, 48.964402], + [15.253416, 49.039074], + [16.029647, 48.733899], + [16.499283, 48.785808], + [16.960288, 48.596982], + [16.879983, 48.470013], + [16.979667, 48.123497] + ] + ] + }, + "id": "AUT" + }, + { + "type": "Feature", + "properties": { "name": "Azerbaijan" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [45.001987, 39.740004], + [45.298145, 39.471751], + [45.739978, 39.473999], + [45.735379, 39.319719], + [46.143623, 38.741201], + [45.457722, 38.874139], + [44.952688, 39.335765], + [44.79399, 39.713003], + [45.001987, 39.740004] + ] + ], + [ + [ + [47.373315, 41.219732], + [47.815666, 41.151416], + [47.987283, 41.405819], + [48.584353, 41.80887], + [49.110264, 41.282287], + [49.618915, 40.572924], + [50.08483, 40.526157], + [50.392821, 40.256561], + [49.569202, 40.176101], + [49.395259, 39.399482], + [49.223228, 39.049219], + [48.856532, 38.815486], + [48.883249, 38.320245], + [48.634375, 38.270378], + [48.010744, 38.794015], + [48.355529, 39.288765], + [48.060095, 39.582235], + [47.685079, 39.508364], + [46.50572, 38.770605], + [46.483499, 39.464155], + [46.034534, 39.628021], + [45.610012, 39.899994], + [45.891907, 40.218476], + [45.359175, 40.561504], + [45.560351, 40.81229], + [45.179496, 40.985354], + [44.97248, 41.248129], + [45.217426, 41.411452], + [45.962601, 41.123873], + [46.501637, 41.064445], + [46.637908, 41.181673], + [46.145432, 41.722802], + [46.404951, 41.860675], + [46.686071, 41.827137], + [47.373315, 41.219732] + ] + ] + ] + }, + "id": "AZE" + }, + { + "type": "Feature", + "properties": { "name": "Burundi" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [29.339998, -4.499983], + [29.276384, -3.293907], + [29.024926, -2.839258], + [29.632176, -2.917858], + [29.938359, -2.348487], + [30.469696, -2.413858], + [30.527677, -2.807632], + [30.743013, -3.034285], + [30.752263, -3.35933], + [30.50556, -3.568567], + [30.116333, -4.090138], + [29.753512, -4.452389], + [29.339998, -4.499983] + ] + ] + }, + "id": "BDI" + }, + { + "type": "Feature", + "properties": { "name": "Belgium" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [3.314971, 51.345781], + [4.047071, 51.267259], + [4.973991, 51.475024], + [5.606976, 51.037298], + [6.156658, 50.803721], + [6.043073, 50.128052], + [5.782417, 50.090328], + [5.674052, 49.529484], + [4.799222, 49.985373], + [4.286023, 49.907497], + [3.588184, 50.378992], + [3.123252, 50.780363], + [2.658422, 50.796848], + [2.513573, 51.148506], + [3.314971, 51.345781] + ] + ] + }, + "id": "BEL" + }, + { + "type": "Feature", + "properties": { "name": "Benin" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [2.691702, 6.258817], + [1.865241, 6.142158], + [1.618951, 6.832038], + [1.664478, 9.12859], + [1.463043, 9.334624], + [1.425061, 9.825395], + [1.077795, 10.175607], + [0.772336, 10.470808], + [0.899563, 10.997339], + [1.24347, 11.110511], + [1.447178, 11.547719], + [1.935986, 11.64115], + [2.154474, 11.94015], + [2.490164, 12.233052], + [2.848643, 12.235636], + [3.61118, 11.660167], + [3.572216, 11.327939], + [3.797112, 10.734746], + [3.60007, 10.332186], + [3.705438, 10.06321], + [3.220352, 9.444153], + [2.912308, 9.137608], + [2.723793, 8.506845], + [2.749063, 7.870734], + [2.691702, 6.258817] + ] + ] + }, + "id": "BEN" + }, + { + "type": "Feature", + "properties": { "name": "Burkina Faso" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-2.827496, 9.642461], + [-3.511899, 9.900326], + [-3.980449, 9.862344], + [-4.330247, 9.610835], + [-4.779884, 9.821985], + [-4.954653, 10.152714], + [-5.404342, 10.370737], + [-5.470565, 10.95127], + [-5.197843, 11.375146], + [-5.220942, 11.713859], + [-4.427166, 12.542646], + [-4.280405, 13.228444], + [-4.006391, 13.472485], + [-3.522803, 13.337662], + [-3.103707, 13.541267], + [-2.967694, 13.79815], + [-2.191825, 14.246418], + [-2.001035, 14.559008], + [-1.066363, 14.973815], + [-0.515854, 15.116158], + [-0.266257, 14.924309], + [0.374892, 14.928908], + [0.295646, 14.444235], + [0.429928, 13.988733], + [0.993046, 13.33575], + [1.024103, 12.851826], + [2.177108, 12.625018], + [2.154474, 11.94015], + [1.935986, 11.64115], + [1.447178, 11.547719], + [1.24347, 11.110511], + [0.899563, 10.997339], + [0.023803, 11.018682], + [-0.438702, 11.098341], + [-0.761576, 10.93693], + [-1.203358, 11.009819], + [-2.940409, 10.96269], + [-2.963896, 10.395335], + [-2.827496, 9.642461] + ] + ] + }, + "id": "BFA" + }, + { + "type": "Feature", + "properties": { "name": "Bangladesh" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [92.672721, 22.041239], + [92.652257, 21.324048], + [92.303234, 21.475485], + [92.368554, 20.670883], + [92.082886, 21.192195], + [92.025215, 21.70157], + [91.834891, 22.182936], + [91.417087, 22.765019], + [90.496006, 22.805017], + [90.586957, 22.392794], + [90.272971, 21.836368], + [89.847467, 22.039146], + [89.70205, 21.857116], + [89.418863, 21.966179], + [89.031961, 22.055708], + [88.876312, 22.879146], + [88.52977, 23.631142], + [88.69994, 24.233715], + [88.084422, 24.501657], + [88.306373, 24.866079], + [88.931554, 25.238692], + [88.209789, 25.768066], + [88.563049, 26.446526], + [89.355094, 26.014407], + [89.832481, 25.965082], + [89.920693, 25.26975], + [90.872211, 25.132601], + [91.799596, 25.147432], + [92.376202, 24.976693], + [91.915093, 24.130414], + [91.46773, 24.072639], + [91.158963, 23.503527], + [91.706475, 22.985264], + [91.869928, 23.624346], + [92.146035, 23.627499], + [92.672721, 22.041239] + ] + ] + }, + "id": "BGD" + }, + { + "type": "Feature", + "properties": { "name": "Bulgaria" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [22.65715, 44.234923], + [22.944832, 43.823785], + [23.332302, 43.897011], + [24.100679, 43.741051], + [25.569272, 43.688445], + [26.065159, 43.943494], + [27.2424, 44.175986], + [27.970107, 43.812468], + [28.558081, 43.707462], + [28.039095, 43.293172], + [27.673898, 42.577892], + [27.99672, 42.007359], + [27.135739, 42.141485], + [26.117042, 41.826905], + [26.106138, 41.328899], + [25.197201, 41.234486], + [24.492645, 41.583896], + [23.692074, 41.309081], + [22.952377, 41.337994], + [22.881374, 41.999297], + [22.380526, 42.32026], + [22.545012, 42.461362], + [22.436595, 42.580321], + [22.604801, 42.898519], + [22.986019, 43.211161], + [22.500157, 43.642814], + [22.410446, 44.008063], + [22.65715, 44.234923] + ] + ] + }, + "id": "BGR" + }, + { + "type": "Feature", + "properties": { "name": "The Bahamas" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-77.53466, 23.75975], + [-77.78, 23.71], + [-78.03405, 24.28615], + [-78.40848, 24.57564], + [-78.19087, 25.2103], + [-77.89, 25.17], + [-77.54, 24.34], + [-77.53466, 23.75975] + ] + ], + [ + [ + [-77.82, 26.58], + [-78.91, 26.42], + [-78.98, 26.79], + [-78.51, 26.87], + [-77.85, 26.84], + [-77.82, 26.58] + ] + ], + [ + [ + [-77, 26.59], + [-77.17255, 25.87918], + [-77.35641, 26.00735], + [-77.34, 26.53], + [-77.78802, 26.92516], + [-77.79, 27.04], + [-77, 26.59] + ] + ] + ] + }, + "id": "BHS" + }, + { + "type": "Feature", + "properties": { "name": "Bosnia and Herzegovina" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [19.005486, 44.860234], + [19.36803, 44.863], + [19.11761, 44.42307], + [19.59976, 44.03847], + [19.454, 43.5681], + [19.21852, 43.52384], + [19.03165, 43.43253], + [18.70648, 43.20011], + [18.56, 42.65], + [17.674922, 43.028563], + [17.297373, 43.446341], + [16.916156, 43.667722], + [16.456443, 44.04124], + [16.23966, 44.351143], + [15.750026, 44.818712], + [15.959367, 45.233777], + [16.318157, 45.004127], + [16.534939, 45.211608], + [17.002146, 45.233777], + [17.861783, 45.06774], + [18.553214, 45.08159], + [19.005486, 44.860234] + ] + ] + }, + "id": "BIH" + }, + { + "type": "Feature", + "properties": { "name": "Belarus" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [23.484128, 53.912498], + [24.450684, 53.905702], + [25.536354, 54.282423], + [25.768433, 54.846963], + [26.588279, 55.167176], + [26.494331, 55.615107], + [27.10246, 55.783314], + [28.176709, 56.16913], + [29.229513, 55.918344], + [29.371572, 55.670091], + [29.896294, 55.789463], + [30.873909, 55.550976], + [30.971836, 55.081548], + [30.757534, 54.811771], + [31.384472, 54.157056], + [31.791424, 53.974639], + [31.731273, 53.794029], + [32.405599, 53.618045], + [32.693643, 53.351421], + [32.304519, 53.132726], + [31.497644, 53.167427], + [31.305201, 53.073996], + [31.540018, 52.742052], + [31.785998, 52.101678], + [30.927549, 52.042353], + [30.619454, 51.822806], + [30.555117, 51.319503], + [30.157364, 51.416138], + [29.254938, 51.368234], + [28.992835, 51.602044], + [28.617613, 51.427714], + [28.241615, 51.572227], + [27.454066, 51.592303], + [26.337959, 51.832289], + [25.327788, 51.910656], + [24.553106, 51.888461], + [24.005078, 51.617444], + [23.527071, 51.578454], + [23.508002, 52.023647], + [23.199494, 52.486977], + [23.799199, 52.691099], + [23.804935, 53.089731], + [23.527536, 53.470122], + [23.484128, 53.912498] + ] + ] + }, + "id": "BLR" + }, + { + "type": "Feature", + "properties": { "name": "Belize" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-89.14308, 17.808319], + [-89.150909, 17.955468], + [-89.029857, 18.001511], + [-88.848344, 17.883198], + [-88.490123, 18.486831], + [-88.300031, 18.499982], + [-88.296336, 18.353273], + [-88.106813, 18.348674], + [-88.123479, 18.076675], + [-88.285355, 17.644143], + [-88.197867, 17.489475], + [-88.302641, 17.131694], + [-88.239518, 17.036066], + [-88.355428, 16.530774], + [-88.551825, 16.265467], + [-88.732434, 16.233635], + [-88.930613, 15.887273], + [-89.229122, 15.886938], + [-89.150806, 17.015577], + [-89.14308, 17.808319] + ] + ] + }, + "id": "BLZ" + }, + { + "type": "Feature", + "properties": { "name": "Bolivia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-62.846468, -22.034985], + [-63.986838, -21.993644], + [-64.377021, -22.798091], + [-64.964892, -22.075862], + [-66.273339, -21.83231], + [-67.106674, -22.735925], + [-67.82818, -22.872919], + [-68.219913, -21.494347], + [-68.757167, -20.372658], + [-68.442225, -19.405068], + [-68.966818, -18.981683], + [-69.100247, -18.260125], + [-69.590424, -17.580012], + [-68.959635, -16.500698], + [-69.389764, -15.660129], + [-69.160347, -15.323974], + [-69.339535, -14.953195], + [-68.948887, -14.453639], + [-68.929224, -13.602684], + [-68.88008, -12.899729], + [-68.66508, -12.5613], + [-69.529678, -10.951734], + [-68.786158, -11.03638], + [-68.271254, -11.014521], + [-68.048192, -10.712059], + [-67.173801, -10.306812], + [-66.646908, -9.931331], + [-65.338435, -9.761988], + [-65.444837, -10.511451], + [-65.321899, -10.895872], + [-65.402281, -11.56627], + [-64.316353, -12.461978], + [-63.196499, -12.627033], + [-62.80306, -13.000653], + [-62.127081, -13.198781], + [-61.713204, -13.489202], + [-61.084121, -13.479384], + [-60.503304, -13.775955], + [-60.459198, -14.354007], + [-60.264326, -14.645979], + [-60.251149, -15.077219], + [-60.542966, -15.09391], + [-60.15839, -16.258284], + [-58.24122, -16.299573], + [-58.388058, -16.877109], + [-58.280804, -17.27171], + [-57.734558, -17.552468], + [-57.498371, -18.174188], + [-57.676009, -18.96184], + [-57.949997, -19.400004], + [-57.853802, -19.969995], + [-58.166392, -20.176701], + [-58.183471, -19.868399], + [-59.115042, -19.356906], + [-60.043565, -19.342747], + [-61.786326, -19.633737], + [-62.265961, -20.513735], + [-62.291179, -21.051635], + [-62.685057, -22.249029], + [-62.846468, -22.034985] + ] + ] + }, + "id": "BOL" + }, + { + "type": "Feature", + "properties": { "name": "Brazil" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-57.625133, -30.216295], + [-56.2909, -28.852761], + [-55.162286, -27.881915], + [-54.490725, -27.474757], + [-53.648735, -26.923473], + [-53.628349, -26.124865], + [-54.13005, -25.547639], + [-54.625291, -25.739255], + [-54.428946, -25.162185], + [-54.293476, -24.5708], + [-54.29296, -24.021014], + [-54.652834, -23.839578], + [-55.027902, -24.001274], + [-55.400747, -23.956935], + [-55.517639, -23.571998], + [-55.610683, -22.655619], + [-55.797958, -22.35693], + [-56.473317, -22.0863], + [-56.88151, -22.282154], + [-57.937156, -22.090176], + [-57.870674, -20.732688], + [-58.166392, -20.176701], + [-57.853802, -19.969995], + [-57.949997, -19.400004], + [-57.676009, -18.96184], + [-57.498371, -18.174188], + [-57.734558, -17.552468], + [-58.280804, -17.27171], + [-58.388058, -16.877109], + [-58.24122, -16.299573], + [-60.15839, -16.258284], + [-60.542966, -15.09391], + [-60.251149, -15.077219], + [-60.264326, -14.645979], + [-60.459198, -14.354007], + [-60.503304, -13.775955], + [-61.084121, -13.479384], + [-61.713204, -13.489202], + [-62.127081, -13.198781], + [-62.80306, -13.000653], + [-63.196499, -12.627033], + [-64.316353, -12.461978], + [-65.402281, -11.56627], + [-65.321899, -10.895872], + [-65.444837, -10.511451], + [-65.338435, -9.761988], + [-66.646908, -9.931331], + [-67.173801, -10.306812], + [-68.048192, -10.712059], + [-68.271254, -11.014521], + [-68.786158, -11.03638], + [-69.529678, -10.951734], + [-70.093752, -11.123972], + [-70.548686, -11.009147], + [-70.481894, -9.490118], + [-71.302412, -10.079436], + [-72.184891, -10.053598], + [-72.563033, -9.520194], + [-73.226713, -9.462213], + [-73.015383, -9.032833], + [-73.571059, -8.424447], + [-73.987235, -7.52383], + [-73.723401, -7.340999], + [-73.724487, -6.918595], + [-73.120027, -6.629931], + [-73.219711, -6.089189], + [-72.964507, -5.741251], + [-72.891928, -5.274561], + [-71.748406, -4.593983], + [-70.928843, -4.401591], + [-70.794769, -4.251265], + [-69.893635, -4.298187], + [-69.444102, -1.556287], + [-69.420486, -1.122619], + [-69.577065, -0.549992], + [-70.020656, -0.185156], + [-70.015566, 0.541414], + [-69.452396, 0.706159], + [-69.252434, 0.602651], + [-69.218638, 0.985677], + [-69.804597, 1.089081], + [-69.816973, 1.714805], + [-67.868565, 1.692455], + [-67.53781, 2.037163], + [-67.259998, 1.719999], + [-67.065048, 1.130112], + [-66.876326, 1.253361], + [-66.325765, 0.724452], + [-65.548267, 0.789254], + [-65.354713, 1.095282], + [-64.611012, 1.328731], + [-64.199306, 1.492855], + [-64.083085, 1.916369], + [-63.368788, 2.2009], + [-63.422867, 2.411068], + [-64.269999, 2.497006], + [-64.408828, 3.126786], + [-64.368494, 3.79721], + [-64.816064, 4.056445], + [-64.628659, 4.148481], + [-63.888343, 4.02053], + [-63.093198, 3.770571], + [-62.804533, 4.006965], + [-62.08543, 4.162124], + [-60.966893, 4.536468], + [-60.601179, 4.918098], + [-60.733574, 5.200277], + [-60.213683, 5.244486], + [-59.980959, 5.014061], + [-60.111002, 4.574967], + [-59.767406, 4.423503], + [-59.53804, 3.958803], + [-59.815413, 3.606499], + [-59.974525, 2.755233], + [-59.718546, 2.24963], + [-59.646044, 1.786894], + [-59.030862, 1.317698], + [-58.540013, 1.268088], + [-58.429477, 1.463942], + [-58.11345, 1.507195], + [-57.660971, 1.682585], + [-57.335823, 1.948538], + [-56.782704, 1.863711], + [-56.539386, 1.899523], + [-55.995698, 1.817667], + [-55.9056, 2.021996], + [-56.073342, 2.220795], + [-55.973322, 2.510364], + [-55.569755, 2.421506], + [-55.097587, 2.523748], + [-54.524754, 2.311849], + [-54.088063, 2.105557], + [-53.778521, 2.376703], + [-53.554839, 2.334897], + [-53.418465, 2.053389], + [-52.939657, 2.124858], + [-52.556425, 2.504705], + [-52.249338, 3.241094], + [-51.657797, 4.156232], + [-51.317146, 4.203491], + [-51.069771, 3.650398], + [-50.508875, 1.901564], + [-49.974076, 1.736483], + [-49.947101, 1.04619], + [-50.699251, 0.222984], + [-50.388211, -0.078445], + [-48.620567, -0.235489], + [-48.584497, -1.237805], + [-47.824956, -0.581618], + [-46.566584, -0.941028], + [-44.905703, -1.55174], + [-44.417619, -2.13775], + [-44.581589, -2.691308], + [-43.418791, -2.38311], + [-41.472657, -2.912018], + [-39.978665, -2.873054], + [-38.500383, -3.700652], + [-37.223252, -4.820946], + [-36.452937, -5.109404], + [-35.597796, -5.149504], + [-35.235389, -5.464937], + [-34.89603, -6.738193], + [-34.729993, -7.343221], + [-35.128212, -8.996401], + [-35.636967, -9.649282], + [-37.046519, -11.040721], + [-37.683612, -12.171195], + [-38.423877, -13.038119], + [-38.673887, -13.057652], + [-38.953276, -13.79337], + [-38.882298, -15.667054], + [-39.161092, -17.208407], + [-39.267339, -17.867746], + [-39.583521, -18.262296], + [-39.760823, -19.599113], + [-40.774741, -20.904512], + [-40.944756, -21.937317], + [-41.754164, -22.370676], + [-41.988284, -22.97007], + [-43.074704, -22.967693], + [-44.647812, -23.351959], + [-45.352136, -23.796842], + [-46.472093, -24.088969], + [-47.648972, -24.885199], + [-48.495458, -25.877025], + [-48.641005, -26.623698], + [-48.474736, -27.175912], + [-48.66152, -28.186135], + [-48.888457, -28.674115], + [-49.587329, -29.224469], + [-50.696874, -30.984465], + [-51.576226, -31.777698], + [-52.256081, -32.24537], + [-52.7121, -33.196578], + [-53.373662, -33.768378], + [-53.650544, -33.202004], + [-53.209589, -32.727666], + [-53.787952, -32.047243], + [-54.572452, -31.494511], + [-55.60151, -30.853879], + [-55.973245, -30.883076], + [-56.976026, -30.109686], + [-57.625133, -30.216295] + ] + ] + }, + "id": "BRA" + }, + { + "type": "Feature", + "properties": { "name": "Brunei" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [114.204017, 4.525874], + [114.599961, 4.900011], + [115.45071, 5.44773], + [115.4057, 4.955228], + [115.347461, 4.316636], + [114.869557, 4.348314], + [114.659596, 4.007637], + [114.204017, 4.525874] + ] + ] + }, + "id": "BRN" + }, + { + "type": "Feature", + "properties": { "name": "Bhutan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [91.696657, 27.771742], + [92.103712, 27.452614], + [92.033484, 26.83831], + [91.217513, 26.808648], + [90.373275, 26.875724], + [89.744528, 26.719403], + [88.835643, 27.098966], + [88.814248, 27.299316], + [89.47581, 28.042759], + [90.015829, 28.296439], + [90.730514, 28.064954], + [91.258854, 28.040614], + [91.696657, 27.771742] + ] + ] + }, + "id": "BTN" + }, + { + "type": "Feature", + "properties": { "name": "Botswana" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [25.649163, -18.536026], + [25.850391, -18.714413], + [26.164791, -19.293086], + [27.296505, -20.39152], + [27.724747, -20.499059], + [27.727228, -20.851802], + [28.02137, -21.485975], + [28.794656, -21.639454], + [29.432188, -22.091313], + [28.017236, -22.827754], + [27.11941, -23.574323], + [26.786407, -24.240691], + [26.485753, -24.616327], + [25.941652, -24.696373], + [25.765849, -25.174845], + [25.664666, -25.486816], + [25.025171, -25.71967], + [24.211267, -25.670216], + [23.73357, -25.390129], + [23.312097, -25.26869], + [22.824271, -25.500459], + [22.579532, -25.979448], + [22.105969, -26.280256], + [21.605896, -26.726534], + [20.889609, -26.828543], + [20.66647, -26.477453], + [20.758609, -25.868136], + [20.165726, -24.917962], + [19.895768, -24.76779], + [19.895458, -21.849157], + [20.881134, -21.814327], + [20.910641, -18.252219], + [21.65504, -18.219146], + [23.196858, -17.869038], + [23.579006, -18.281261], + [24.217365, -17.889347], + [24.520705, -17.887125], + [25.084443, -17.661816], + [25.264226, -17.73654], + [25.649163, -18.536026] + ] + ] + }, + "id": "BWA" + }, + { + "type": "Feature", + "properties": { "name": "Central African Republic" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [15.27946, 7.421925], + [16.106232, 7.497088], + [16.290562, 7.754307], + [16.456185, 7.734774], + [16.705988, 7.508328], + [17.96493, 7.890914], + [18.389555, 8.281304], + [18.911022, 8.630895], + [18.81201, 8.982915], + [19.094008, 9.074847], + [20.059685, 9.012706], + [21.000868, 9.475985], + [21.723822, 10.567056], + [22.231129, 10.971889], + [22.864165, 11.142395], + [22.977544, 10.714463], + [23.554304, 10.089255], + [23.55725, 9.681218], + [23.394779, 9.265068], + [23.459013, 8.954286], + [23.805813, 8.666319], + [24.567369, 8.229188], + [25.114932, 7.825104], + [25.124131, 7.500085], + [25.796648, 6.979316], + [26.213418, 6.546603], + [26.465909, 5.946717], + [27.213409, 5.550953], + [27.374226, 5.233944], + [27.044065, 5.127853], + [26.402761, 5.150875], + [25.650455, 5.256088], + [25.278798, 5.170408], + [25.128833, 4.927245], + [24.805029, 4.897247], + [24.410531, 5.108784], + [23.297214, 4.609693], + [22.84148, 4.710126], + [22.704124, 4.633051], + [22.405124, 4.02916], + [21.659123, 4.224342], + [20.927591, 4.322786], + [20.290679, 4.691678], + [19.467784, 5.031528], + [18.932312, 4.709506], + [18.542982, 4.201785], + [18.453065, 3.504386], + [17.8099, 3.560196], + [17.133042, 3.728197], + [16.537058, 3.198255], + [16.012852, 2.26764], + [15.907381, 2.557389], + [15.862732, 3.013537], + [15.405396, 3.335301], + [15.03622, 3.851367], + [14.950953, 4.210389], + [14.478372, 4.732605], + [14.558936, 5.030598], + [14.459407, 5.451761], + [14.53656, 6.226959], + [14.776545, 6.408498], + [15.27946, 7.421925] + ] + ] + }, + "id": "CAF" + }, + { + "type": "Feature", + "properties": { "name": "Canada" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-63.6645, 46.55001], + [-62.9393, 46.41587], + [-62.01208, 46.44314], + [-62.50391, 46.03339], + [-62.87433, 45.96818], + [-64.1428, 46.39265], + [-64.39261, 46.72747], + [-64.01486, 47.03601], + [-63.6645, 46.55001] + ] + ], + [ + [ + [-61.806305, 49.10506], + [-62.29318, 49.08717], + [-63.58926, 49.40069], + [-64.51912, 49.87304], + [-64.17322, 49.95718], + [-62.85829, 49.70641], + [-61.835585, 49.28855], + [-61.806305, 49.10506] + ] + ], + [ + [ + [-123.510002, 48.510011], + [-124.012891, 48.370846], + [-125.655013, 48.825005], + [-125.954994, 49.179996], + [-126.850004, 49.53], + [-127.029993, 49.814996], + [-128.059336, 49.994959], + [-128.444584, 50.539138], + [-128.358414, 50.770648], + [-127.308581, 50.552574], + [-126.695001, 50.400903], + [-125.755007, 50.295018], + [-125.415002, 49.950001], + [-124.920768, 49.475275], + [-123.922509, 49.062484], + [-123.510002, 48.510011] + ] + ], + [ + [ + [-56.134036, 50.68701], + [-56.795882, 49.812309], + [-56.143105, 50.150117], + [-55.471492, 49.935815], + [-55.822401, 49.587129], + [-54.935143, 49.313011], + [-54.473775, 49.556691], + [-53.476549, 49.249139], + [-53.786014, 48.516781], + [-53.086134, 48.687804], + [-52.958648, 48.157164], + [-52.648099, 47.535548], + [-53.069158, 46.655499], + [-53.521456, 46.618292], + [-54.178936, 46.807066], + [-53.961869, 47.625207], + [-54.240482, 47.752279], + [-55.400773, 46.884994], + [-55.997481, 46.91972], + [-55.291219, 47.389562], + [-56.250799, 47.632545], + [-57.325229, 47.572807], + [-59.266015, 47.603348], + [-59.419494, 47.899454], + [-58.796586, 48.251525], + [-59.231625, 48.523188], + [-58.391805, 49.125581], + [-57.35869, 50.718274], + [-56.73865, 51.287438], + [-55.870977, 51.632094], + [-55.406974, 51.588273], + [-55.600218, 51.317075], + [-56.134036, 50.68701] + ] + ], + [ + [ + [-132.710008, 54.040009], + [-132.710009, 54.040009], + [-132.710008, 54.040009], + [-132.710008, 54.040009], + [-131.74999, 54.120004], + [-132.04948, 52.984621], + [-131.179043, 52.180433], + [-131.57783, 52.182371], + [-132.180428, 52.639707], + [-132.549992, 53.100015], + [-133.054611, 53.411469], + [-133.239664, 53.85108], + [-133.180004, 54.169975], + [-132.710008, 54.040009] + ] + ], + [ + [ + [-79.26582, 62.158675], + [-79.65752, 61.63308], + [-80.09956, 61.7181], + [-80.36215, 62.01649], + [-80.315395, 62.085565], + [-79.92939, 62.3856], + [-79.52002, 62.36371], + [-79.26582, 62.158675] + ] + ], + [ + [ + [-81.89825, 62.7108], + [-83.06857, 62.15922], + [-83.77462, 62.18231], + [-83.99367, 62.4528], + [-83.25048, 62.91409], + [-81.87699, 62.90458], + [-81.89825, 62.7108] + ] + ], + [ + [ + [-85.161308, 65.657285], + [-84.975764, 65.217518], + [-84.464012, 65.371772], + [-83.882626, 65.109618], + [-82.787577, 64.766693], + [-81.642014, 64.455136], + [-81.55344, 63.979609], + [-80.817361, 64.057486], + [-80.103451, 63.725981], + [-80.99102, 63.411246], + [-82.547178, 63.651722], + [-83.108798, 64.101876], + [-84.100417, 63.569712], + [-85.523405, 63.052379], + [-85.866769, 63.637253], + [-87.221983, 63.541238], + [-86.35276, 64.035833], + [-86.224886, 64.822917], + [-85.883848, 65.738778], + [-85.161308, 65.657285] + ] + ], + [ + [ + [-75.86588, 67.14886], + [-76.98687, 67.09873], + [-77.2364, 67.58809], + [-76.81166, 68.14856], + [-75.89521, 68.28721], + [-75.1145, 68.01036], + [-75.10333, 67.58202], + [-75.21597, 67.44425], + [-75.86588, 67.14886] + ] + ], + [ + [ + [-95.647681, 69.10769], + [-96.269521, 68.75704], + [-97.617401, 69.06003], + [-98.431801, 68.9507], + [-99.797401, 69.40003], + [-98.917401, 69.71003], + [-98.218261, 70.14354], + [-97.157401, 69.86003], + [-96.557401, 69.68003], + [-96.257401, 69.49003], + [-95.647681, 69.10769] + ] + ], + [ + [ + [-90.5471, 69.49766], + [-90.55151, 68.47499], + [-89.21515, 69.25873], + [-88.01966, 68.61508], + [-88.31749, 67.87338], + [-87.35017, 67.19872], + [-86.30607, 67.92146], + [-85.57664, 68.78456], + [-85.52197, 69.88211], + [-84.10081, 69.80539], + [-82.62258, 69.65826], + [-81.28043, 69.16202], + [-81.2202, 68.66567], + [-81.96436, 68.13253], + [-81.25928, 67.59716], + [-81.38653, 67.11078], + [-83.34456, 66.41154], + [-84.73542, 66.2573], + [-85.76943, 66.55833], + [-86.0676, 66.05625], + [-87.03143, 65.21297], + [-87.32324, 64.77563], + [-88.48296, 64.09897], + [-89.91444, 64.03273], + [-90.70398, 63.61017], + [-90.77004, 62.96021], + [-91.93342, 62.83508], + [-93.15698, 62.02469], + [-94.24153, 60.89865], + [-94.62931, 60.11021], + [-94.6846, 58.94882], + [-93.21502, 58.78212], + [-92.76462, 57.84571], + [-92.29703, 57.08709], + [-90.89769, 57.28468], + [-89.03953, 56.85172], + [-88.03978, 56.47162], + [-87.32421, 55.99914], + [-86.07121, 55.72383], + [-85.01181, 55.3026], + [-83.36055, 55.24489], + [-82.27285, 55.14832], + [-82.4362, 54.28227], + [-82.12502, 53.27703], + [-81.40075, 52.15788], + [-79.91289, 51.20842], + [-79.14301, 51.53393], + [-78.60191, 52.56208], + [-79.12421, 54.14145], + [-79.82958, 54.66772], + [-78.22874, 55.13645], + [-77.0956, 55.83741], + [-76.54137, 56.53423], + [-76.62319, 57.20263], + [-77.30226, 58.05209], + [-78.51688, 58.80458], + [-77.33676, 59.85261], + [-77.77272, 60.75788], + [-78.10687, 62.31964], + [-77.41067, 62.55053], + [-75.69621, 62.2784], + [-74.6682, 62.18111], + [-73.83988, 62.4438], + [-72.90853, 62.10507], + [-71.67708, 61.52535], + [-71.37369, 61.13717], + [-69.59042, 61.06141], + [-69.62033, 60.22125], + [-69.2879, 58.95736], + [-68.37455, 58.80106], + [-67.64976, 58.21206], + [-66.20178, 58.76731], + [-65.24517, 59.87071], + [-64.58352, 60.33558], + [-63.80475, 59.4426], + [-62.50236, 58.16708], + [-61.39655, 56.96745], + [-61.79866, 56.33945], + [-60.46853, 55.77548], + [-59.56962, 55.20407], + [-57.97508, 54.94549], + [-57.3332, 54.6265], + [-56.93689, 53.78032], + [-56.15811, 53.64749], + [-55.75632, 53.27036], + [-55.68338, 52.14664], + [-56.40916, 51.7707], + [-57.12691, 51.41972], + [-58.77482, 51.0643], + [-60.03309, 50.24277], + [-61.72366, 50.08046], + [-63.86251, 50.29099], + [-65.36331, 50.2982], + [-66.39905, 50.22897], + [-67.23631, 49.51156], + [-68.51114, 49.06836], + [-69.95362, 47.74488], + [-71.10458, 46.82171], + [-70.25522, 46.98606], + [-68.65, 48.3], + [-66.55243, 49.1331], + [-65.05626, 49.23278], + [-64.17099, 48.74248], + [-65.11545, 48.07085], + [-64.79854, 46.99297], + [-64.47219, 46.23849], + [-63.17329, 45.73902], + [-61.52072, 45.88377], + [-60.51815, 47.00793], + [-60.4486, 46.28264], + [-59.80287, 45.9204], + [-61.03988, 45.26525], + [-63.25471, 44.67014], + [-64.24656, 44.26553], + [-65.36406, 43.54523], + [-66.1234, 43.61867], + [-66.16173, 44.46512], + [-64.42549, 45.29204], + [-66.02605, 45.25931], + [-67.13741, 45.13753], + [-67.79134, 45.70281], + [-67.79046, 47.06636], + [-68.23444, 47.35486], + [-68.905, 47.185], + [-69.237216, 47.447781], + [-69.99997, 46.69307], + [-70.305, 45.915], + [-70.66, 45.46], + [-71.08482, 45.30524], + [-71.405, 45.255], + [-71.50506, 45.0082], + [-73.34783, 45.00738], + [-74.867, 45.00048], + [-75.31821, 44.81645], + [-76.375, 44.09631], + [-76.5, 44.018459], + [-76.820034, 43.628784], + [-77.737885, 43.629056], + [-78.72028, 43.625089], + [-79.171674, 43.466339], + [-79.01, 43.27], + [-78.92, 42.965], + [-78.939362, 42.863611], + [-80.247448, 42.3662], + [-81.277747, 42.209026], + [-82.439278, 41.675105], + [-82.690089, 41.675105], + [-83.02981, 41.832796], + [-83.142, 41.975681], + [-83.12, 42.08], + [-82.9, 42.43], + [-82.43, 42.98], + [-82.137642, 43.571088], + [-82.337763, 44.44], + [-82.550925, 45.347517], + [-83.592851, 45.816894], + [-83.469551, 45.994686], + [-83.616131, 46.116927], + [-83.890765, 46.116927], + [-84.091851, 46.275419], + [-84.14212, 46.512226], + [-84.3367, 46.40877], + [-84.6049, 46.4396], + [-84.543749, 46.538684], + [-84.779238, 46.637102], + [-84.87608, 46.900083], + [-85.652363, 47.220219], + [-86.461991, 47.553338], + [-87.439793, 47.94], + [-88.378114, 48.302918], + [-89.272917, 48.019808], + [-89.6, 48.01], + [-90.83, 48.27], + [-91.64, 48.14], + [-92.61, 48.45], + [-93.63087, 48.60926], + [-94.32914, 48.67074], + [-94.64, 48.84], + [-94.81758, 49.38905], + [-95.15609, 49.38425], + [-95.15907, 49], + [-97.22872, 49.0007], + [-100.65, 49], + [-104.04826, 48.99986], + [-107.05, 49], + [-110.05, 49], + [-113, 49], + [-116.04818, 49], + [-117.03121, 49], + [-120, 49], + [-122.84, 49], + [-122.97421, 49.002538], + [-124.91024, 49.98456], + [-125.62461, 50.41656], + [-127.43561, 50.83061], + [-127.99276, 51.71583], + [-127.85032, 52.32961], + [-129.12979, 52.75538], + [-129.30523, 53.56159], + [-130.51497, 54.28757], + [-130.53611, 54.80278], + [-129.98, 55.285], + [-130.00778, 55.91583], + [-131.70781, 56.55212], + [-132.73042, 57.69289], + [-133.35556, 58.41028], + [-134.27111, 58.86111], + [-134.945, 59.27056], + [-135.47583, 59.78778], + [-136.47972, 59.46389], + [-137.4525, 58.905], + [-138.34089, 59.56211], + [-139.039, 60], + [-140.013, 60.27682], + [-140.99778, 60.30639], + [-140.9925, 66.00003], + [-140.986, 69.712], + [-139.12052, 69.47102], + [-137.54636, 68.99002], + [-136.50358, 68.89804], + [-135.62576, 69.31512], + [-134.41464, 69.62743], + [-132.92925, 69.50534], + [-131.43136, 69.94451], + [-129.79471, 70.19369], + [-129.10773, 69.77927], + [-128.36156, 70.01286], + [-128.13817, 70.48384], + [-127.44712, 70.37721], + [-125.75632, 69.48058], + [-124.42483, 70.1584], + [-124.28968, 69.39969], + [-123.06108, 69.56372], + [-122.6835, 69.85553], + [-121.47226, 69.79778], + [-119.94288, 69.37786], + [-117.60268, 69.01128], + [-116.22643, 68.84151], + [-115.2469, 68.90591], + [-113.89794, 68.3989], + [-115.30489, 67.90261], + [-113.49727, 67.68815], + [-110.798, 67.80612], + [-109.94619, 67.98104], + [-108.8802, 67.38144], + [-107.79239, 67.88736], + [-108.81299, 68.31164], + [-108.16721, 68.65392], + [-106.95, 68.7], + [-106.15, 68.8], + [-105.34282, 68.56122], + [-104.33791, 68.018], + [-103.22115, 68.09775], + [-101.45433, 67.64689], + [-99.90195, 67.80566], + [-98.4432, 67.78165], + [-98.5586, 68.40394], + [-97.66948, 68.57864], + [-96.11991, 68.23939], + [-96.12588, 67.29338], + [-95.48943, 68.0907], + [-94.685, 68.06383], + [-94.23282, 69.06903], + [-95.30408, 69.68571], + [-96.47131, 70.08976], + [-96.39115, 71.19482], + [-95.2088, 71.92053], + [-93.88997, 71.76015], + [-92.87818, 71.31869], + [-91.51964, 70.19129], + [-92.40692, 69.69997], + [-90.5471, 69.49766] + ] + ], + [ + [ + [-114.16717, 73.12145], + [-114.66634, 72.65277], + [-112.44102, 72.9554], + [-111.05039, 72.4504], + [-109.92035, 72.96113], + [-109.00654, 72.63335], + [-108.18835, 71.65089], + [-107.68599, 72.06548], + [-108.39639, 73.08953], + [-107.51645, 73.23598], + [-106.52259, 73.07601], + [-105.40246, 72.67259], + [-104.77484, 71.6984], + [-104.46476, 70.99297], + [-102.78537, 70.49776], + [-100.98078, 70.02432], + [-101.08929, 69.58447], + [-102.73116, 69.50402], + [-102.09329, 69.11962], + [-102.43024, 68.75282], + [-104.24, 68.91], + [-105.96, 69.18], + [-107.12254, 69.11922], + [-109, 68.78], + [-111.534149, 68.630059], + [-113.3132, 68.53554], + [-113.85496, 69.00744], + [-115.22, 69.28], + [-116.10794, 69.16821], + [-117.34, 69.96], + [-116.67473, 70.06655], + [-115.13112, 70.2373], + [-113.72141, 70.19237], + [-112.4161, 70.36638], + [-114.35, 70.6], + [-116.48684, 70.52045], + [-117.9048, 70.54056], + [-118.43238, 70.9092], + [-116.11311, 71.30918], + [-117.65568, 71.2952], + [-119.40199, 71.55859], + [-118.56267, 72.30785], + [-117.86642, 72.70594], + [-115.18909, 73.31459], + [-114.16717, 73.12145] + ] + ], + [ + [ + [-104.5, 73.42], + [-105.38, 72.76], + [-106.94, 73.46], + [-106.6, 73.6], + [-105.26, 73.64], + [-104.5, 73.42] + ] + ], + [ + [ + [-76.34, 73.102685], + [-76.251404, 72.826385], + [-77.314438, 72.855545], + [-78.39167, 72.876656], + [-79.486252, 72.742203], + [-79.775833, 72.802902], + [-80.876099, 73.333183], + [-80.833885, 73.693184], + [-80.353058, 73.75972], + [-78.064438, 73.651932], + [-76.34, 73.102685] + ] + ], + [ + [ + [-86.562179, 73.157447], + [-85.774371, 72.534126], + [-84.850112, 73.340278], + [-82.31559, 73.750951], + [-80.600088, 72.716544], + [-80.748942, 72.061907], + [-78.770639, 72.352173], + [-77.824624, 72.749617], + [-75.605845, 72.243678], + [-74.228616, 71.767144], + [-74.099141, 71.33084], + [-72.242226, 71.556925], + [-71.200015, 70.920013], + [-68.786054, 70.525024], + [-67.91497, 70.121948], + [-66.969033, 69.186087], + [-68.805123, 68.720198], + [-66.449866, 68.067163], + [-64.862314, 67.847539], + [-63.424934, 66.928473], + [-61.851981, 66.862121], + [-62.163177, 66.160251], + [-63.918444, 64.998669], + [-65.14886, 65.426033], + [-66.721219, 66.388041], + [-68.015016, 66.262726], + [-68.141287, 65.689789], + [-67.089646, 65.108455], + [-65.73208, 64.648406], + [-65.320168, 64.382737], + [-64.669406, 63.392927], + [-65.013804, 62.674185], + [-66.275045, 62.945099], + [-68.783186, 63.74567], + [-67.369681, 62.883966], + [-66.328297, 62.280075], + [-66.165568, 61.930897], + [-68.877367, 62.330149], + [-71.023437, 62.910708], + [-72.235379, 63.397836], + [-71.886278, 63.679989], + [-73.378306, 64.193963], + [-74.834419, 64.679076], + [-74.818503, 64.389093], + [-77.70998, 64.229542], + [-78.555949, 64.572906], + [-77.897281, 65.309192], + [-76.018274, 65.326969], + [-73.959795, 65.454765], + [-74.293883, 65.811771], + [-73.944912, 66.310578], + [-72.651167, 67.284576], + [-72.92606, 67.726926], + [-73.311618, 68.069437], + [-74.843307, 68.554627], + [-76.869101, 68.894736], + [-76.228649, 69.147769], + [-77.28737, 69.76954], + [-78.168634, 69.826488], + [-78.957242, 70.16688], + [-79.492455, 69.871808], + [-81.305471, 69.743185], + [-84.944706, 69.966634], + [-87.060003, 70.260001], + [-88.681713, 70.410741], + [-89.51342, 70.762038], + [-88.467721, 71.218186], + [-89.888151, 71.222552], + [-90.20516, 72.235074], + [-89.436577, 73.129464], + [-88.408242, 73.537889], + [-85.826151, 73.803816], + [-86.562179, 73.157447] + ] + ], + [ + [ + [-100.35642, 73.84389], + [-99.16387, 73.63339], + [-97.38, 73.76], + [-97.12, 73.47], + [-98.05359, 72.99052], + [-96.54, 72.56], + [-96.72, 71.66], + [-98.35966, 71.27285], + [-99.32286, 71.35639], + [-100.01482, 71.73827], + [-102.5, 72.51], + [-102.48, 72.83], + [-100.43836, 72.70588], + [-101.54, 73.36], + [-100.35642, 73.84389] + ] + ], + [ + [ + [-93.196296, 72.771992], + [-94.269047, 72.024596], + [-95.409856, 72.061881], + [-96.033745, 72.940277], + [-96.018268, 73.43743], + [-95.495793, 73.862417], + [-94.503658, 74.134907], + [-92.420012, 74.100025], + [-90.509793, 73.856732], + [-92.003965, 72.966244], + [-93.196296, 72.771992] + ] + ], + [ + [ + [-120.46, 71.383602], + [-123.09219, 70.90164], + [-123.62, 71.34], + [-125.928949, 71.868688], + [-125.5, 72.292261], + [-124.80729, 73.02256], + [-123.94, 73.68], + [-124.91775, 74.29275], + [-121.53788, 74.44893], + [-120.10978, 74.24135], + [-117.55564, 74.18577], + [-116.58442, 73.89607], + [-115.51081, 73.47519], + [-116.76794, 73.22292], + [-119.22, 72.52], + [-120.46, 71.82], + [-120.46, 71.383602] + ] + ], + [ + [ + [-93.612756, 74.979997], + [-94.156909, 74.592347], + [-95.608681, 74.666864], + [-96.820932, 74.927623], + [-96.288587, 75.377828], + [-94.85082, 75.647218], + [-93.977747, 75.29649], + [-93.612756, 74.979997] + ] + ], + [ + [ + [-98.5, 76.72], + [-97.735585, 76.25656], + [-97.704415, 75.74344], + [-98.16, 75], + [-99.80874, 74.89744], + [-100.88366, 75.05736], + [-100.86292, 75.64075], + [-102.50209, 75.5638], + [-102.56552, 76.3366], + [-101.48973, 76.30537], + [-99.98349, 76.64634], + [-98.57699, 76.58859], + [-98.5, 76.72] + ] + ], + [ + [ + [-108.21141, 76.20168], + [-107.81943, 75.84552], + [-106.92893, 76.01282], + [-105.881, 75.9694], + [-105.70498, 75.47951], + [-106.31347, 75.00527], + [-109.7, 74.85], + [-112.22307, 74.41696], + [-113.74381, 74.39427], + [-113.87135, 74.72029], + [-111.79421, 75.1625], + [-116.31221, 75.04343], + [-117.7104, 75.2222], + [-116.34602, 76.19903], + [-115.40487, 76.47887], + [-112.59056, 76.14134], + [-110.81422, 75.54919], + [-109.0671, 75.47321], + [-110.49726, 76.42982], + [-109.5811, 76.79417], + [-108.54859, 76.67832], + [-108.21141, 76.20168] + ] + ], + [ + [ + [-94.684086, 77.097878], + [-93.573921, 76.776296], + [-91.605023, 76.778518], + [-90.741846, 76.449597], + [-90.969661, 76.074013], + [-89.822238, 75.847774], + [-89.187083, 75.610166], + [-87.838276, 75.566189], + [-86.379192, 75.482421], + [-84.789625, 75.699204], + [-82.753445, 75.784315], + [-81.128531, 75.713983], + [-80.057511, 75.336849], + [-79.833933, 74.923127], + [-80.457771, 74.657304], + [-81.948843, 74.442459], + [-83.228894, 74.564028], + [-86.097452, 74.410032], + [-88.15035, 74.392307], + [-89.764722, 74.515555], + [-92.422441, 74.837758], + [-92.768285, 75.38682], + [-92.889906, 75.882655], + [-93.893824, 76.319244], + [-95.962457, 76.441381], + [-97.121379, 76.751078], + [-96.745123, 77.161389], + [-94.684086, 77.097878] + ] + ], + [ + [ + [-116.198587, 77.645287], + [-116.335813, 76.876962], + [-117.106051, 76.530032], + [-118.040412, 76.481172], + [-119.899318, 76.053213], + [-121.499995, 75.900019], + [-122.854924, 76.116543], + [-122.854925, 76.116543], + [-121.157535, 76.864508], + [-119.103939, 77.51222], + [-117.570131, 77.498319], + [-116.198587, 77.645287] + ] + ], + [ + [ + [-93.840003, 77.519997], + [-94.295608, 77.491343], + [-96.169654, 77.555111], + [-96.436304, 77.834629], + [-94.422577, 77.820005], + [-93.720656, 77.634331], + [-93.840003, 77.519997] + ] + ], + [ + [ + [-110.186938, 77.697015], + [-112.051191, 77.409229], + [-113.534279, 77.732207], + [-112.724587, 78.05105], + [-111.264443, 78.152956], + [-109.854452, 77.996325], + [-110.186938, 77.697015] + ] + ], + [ + [ + [-109.663146, 78.601973], + [-110.881314, 78.40692], + [-112.542091, 78.407902], + [-112.525891, 78.550555], + [-111.50001, 78.849994], + [-110.963661, 78.804441], + [-109.663146, 78.601973] + ] + ], + [ + [ + [-95.830295, 78.056941], + [-97.309843, 77.850597], + [-98.124289, 78.082857], + [-98.552868, 78.458105], + [-98.631984, 78.87193], + [-97.337231, 78.831984], + [-96.754399, 78.765813], + [-95.559278, 78.418315], + [-95.830295, 78.056941] + ] + ], + [ + [ + [-100.060192, 78.324754], + [-99.670939, 77.907545], + [-101.30394, 78.018985], + [-102.949809, 78.343229], + [-105.176133, 78.380332], + [-104.210429, 78.67742], + [-105.41958, 78.918336], + [-105.492289, 79.301594], + [-103.529282, 79.165349], + [-100.825158, 78.800462], + [-100.060192, 78.324754] + ] + ], + [ + [ + [-87.02, 79.66], + [-85.81435, 79.3369], + [-87.18756, 79.0393], + [-89.03535, 78.28723], + [-90.80436, 78.21533], + [-92.87669, 78.34333], + [-93.95116, 78.75099], + [-93.93574, 79.11373], + [-93.14524, 79.3801], + [-94.974, 79.37248], + [-96.07614, 79.70502], + [-96.70972, 80.15777], + [-96.01644, 80.60233], + [-95.32345, 80.90729], + [-94.29843, 80.97727], + [-94.73542, 81.20646], + [-92.40984, 81.25739], + [-91.13289, 80.72345], + [-89.45, 80.509322], + [-87.81, 80.32], + [-87.02, 79.66] + ] + ], + [ + [ + [-68.5, 83.106322], + [-65.82735, 83.02801], + [-63.68, 82.9], + [-61.85, 82.6286], + [-61.89388, 82.36165], + [-64.334, 81.92775], + [-66.75342, 81.72527], + [-67.65755, 81.50141], + [-65.48031, 81.50657], + [-67.84, 80.9], + [-69.4697, 80.61683], + [-71.18, 79.8], + [-73.2428, 79.63415], + [-73.88, 79.430162], + [-76.90773, 79.32309], + [-75.52924, 79.19766], + [-76.22046, 79.01907], + [-75.39345, 78.52581], + [-76.34354, 78.18296], + [-77.88851, 77.89991], + [-78.36269, 77.50859], + [-79.75951, 77.20968], + [-79.61965, 76.98336], + [-77.91089, 77.022045], + [-77.88911, 76.777955], + [-80.56125, 76.17812], + [-83.17439, 76.45403], + [-86.11184, 76.29901], + [-87.6, 76.42], + [-89.49068, 76.47239], + [-89.6161, 76.95213], + [-87.76739, 77.17833], + [-88.26, 77.9], + [-87.65, 77.970222], + [-84.97634, 77.53873], + [-86.34, 78.18], + [-87.96192, 78.37181], + [-87.15198, 78.75867], + [-85.37868, 78.9969], + [-85.09495, 79.34543], + [-86.50734, 79.73624], + [-86.93179, 80.25145], + [-84.19844, 80.20836], + [-83.408696, 80.1], + [-81.84823, 80.46442], + [-84.1, 80.58], + [-87.59895, 80.51627], + [-89.36663, 80.85569], + [-90.2, 81.26], + [-91.36786, 81.5531], + [-91.58702, 81.89429], + [-90.1, 82.085], + [-88.93227, 82.11751], + [-86.97024, 82.27961], + [-85.5, 82.652273], + [-84.260005, 82.6], + [-83.18, 82.32], + [-82.42, 82.86], + [-81.1, 83.02], + [-79.30664, 83.13056], + [-76.25, 83.172059], + [-75.71878, 83.06404], + [-72.83153, 83.23324], + [-70.665765, 83.169781], + [-68.5, 83.106322] + ] + ] + ] + }, + "id": "CAN" + }, + { + "type": "Feature", + "properties": { "name": "Switzerland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [9.594226, 47.525058], + [9.632932, 47.347601], + [9.47997, 47.10281], + [9.932448, 46.920728], + [10.442701, 46.893546], + [10.363378, 46.483571], + [9.922837, 46.314899], + [9.182882, 46.440215], + [8.966306, 46.036932], + [8.489952, 46.005151], + [8.31663, 46.163642], + [7.755992, 45.82449], + [7.273851, 45.776948], + [6.843593, 45.991147], + [6.5001, 46.429673], + [6.022609, 46.27299], + [6.037389, 46.725779], + [6.768714, 47.287708], + [6.736571, 47.541801], + [7.192202, 47.449766], + [7.466759, 47.620582], + [8.317301, 47.61358], + [8.522612, 47.830828], + [9.594226, 47.525058] + ] + ] + }, + "id": "CHE" + }, + { + "type": "Feature", + "properties": { "name": "Chile" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-68.63401, -52.63637], + [-68.63335, -54.8695], + [-67.56244, -54.87001], + [-66.95992, -54.89681], + [-67.29103, -55.30124], + [-68.14863, -55.61183], + [-68.639991, -55.580018], + [-69.2321, -55.49906], + [-69.95809, -55.19843], + [-71.00568, -55.05383], + [-72.2639, -54.49514], + [-73.2852, -53.95752], + [-74.66253, -52.83749], + [-73.8381, -53.04743], + [-72.43418, -53.7154], + [-71.10773, -54.07433], + [-70.59178, -53.61583], + [-70.26748, -52.93123], + [-69.34565, -52.5183], + [-68.63401, -52.63637] + ] + ], + [ + [ + [-68.219913, -21.494347], + [-67.82818, -22.872919], + [-67.106674, -22.735925], + [-66.985234, -22.986349], + [-67.328443, -24.025303], + [-68.417653, -24.518555], + [-68.386001, -26.185016], + [-68.5948, -26.506909], + [-68.295542, -26.89934], + [-69.001235, -27.521214], + [-69.65613, -28.459141], + [-70.01355, -29.367923], + [-69.919008, -30.336339], + [-70.535069, -31.36501], + [-70.074399, -33.09121], + [-69.814777, -33.273886], + [-69.817309, -34.193571], + [-70.388049, -35.169688], + [-70.364769, -36.005089], + [-71.121881, -36.658124], + [-71.118625, -37.576827], + [-70.814664, -38.552995], + [-71.413517, -38.916022], + [-71.680761, -39.808164], + [-71.915734, -40.832339], + [-71.746804, -42.051386], + [-72.148898, -42.254888], + [-71.915424, -43.408565], + [-71.464056, -43.787611], + [-71.793623, -44.207172], + [-71.329801, -44.407522], + [-71.222779, -44.784243], + [-71.659316, -44.973689], + [-71.552009, -45.560733], + [-71.917258, -46.884838], + [-72.447355, -47.738533], + [-72.331161, -48.244238], + [-72.648247, -48.878618], + [-73.415436, -49.318436], + [-73.328051, -50.378785], + [-72.975747, -50.74145], + [-72.309974, -50.67701], + [-72.329404, -51.425956], + [-71.914804, -52.009022], + [-69.498362, -52.142761], + [-68.571545, -52.299444], + [-69.461284, -52.291951], + [-69.94278, -52.537931], + [-70.845102, -52.899201], + [-71.006332, -53.833252], + [-71.429795, -53.856455], + [-72.557943, -53.53141], + [-73.702757, -52.835069], + [-73.702757, -52.83507], + [-74.946763, -52.262754], + [-75.260026, -51.629355], + [-74.976632, -51.043396], + [-75.479754, -50.378372], + [-75.608015, -48.673773], + [-75.18277, -47.711919], + [-74.126581, -46.939253], + [-75.644395, -46.647643], + [-74.692154, -45.763976], + [-74.351709, -44.103044], + [-73.240356, -44.454961], + [-72.717804, -42.383356], + [-73.3889, -42.117532], + [-73.701336, -43.365776], + [-74.331943, -43.224958], + [-74.017957, -41.794813], + [-73.677099, -39.942213], + [-73.217593, -39.258689], + [-73.505559, -38.282883], + [-73.588061, -37.156285], + [-73.166717, -37.12378], + [-72.553137, -35.50884], + [-71.861732, -33.909093], + [-71.43845, -32.418899], + [-71.668721, -30.920645], + [-71.370083, -30.095682], + [-71.489894, -28.861442], + [-70.905124, -27.64038], + [-70.724954, -25.705924], + [-70.403966, -23.628997], + [-70.091246, -21.393319], + [-70.16442, -19.756468], + [-70.372572, -18.347975], + [-69.858444, -18.092694], + [-69.590424, -17.580012], + [-69.100247, -18.260125], + [-68.966818, -18.981683], + [-68.442225, -19.405068], + [-68.757167, -20.372658], + [-68.219913, -21.494347] + ] + ] + ] + }, + "id": "CHL" + }, + { + "type": "Feature", + "properties": { "name": "China" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [110.339188, 18.678395], + [109.47521, 18.197701], + [108.655208, 18.507682], + [108.626217, 19.367888], + [109.119056, 19.821039], + [110.211599, 20.101254], + [110.786551, 20.077534], + [111.010051, 19.69593], + [110.570647, 19.255879], + [110.339188, 18.678395] + ] + ], + [ + [ + [127.657407, 49.76027], + [129.397818, 49.4406], + [130.582293, 48.729687], + [130.987282, 47.790132], + [132.506672, 47.78897], + [133.373596, 48.183442], + [135.026311, 48.47823], + [134.500814, 47.57844], + [134.112362, 47.212467], + [133.769644, 46.116927], + [133.097127, 45.144066], + [131.883454, 45.321162], + [131.025212, 44.967953], + [131.288555, 44.11152], + [131.144688, 42.92999], + [130.633866, 42.903015], + [130.640016, 42.395009], + [129.994267, 42.985387], + [129.596669, 42.424982], + [128.052215, 41.994285], + [128.208433, 41.466772], + [127.343783, 41.503152], + [126.869083, 41.816569], + [126.182045, 41.107336], + [125.079942, 40.569824], + [124.265625, 39.928493], + [122.86757, 39.637788], + [122.131388, 39.170452], + [121.054554, 38.897471], + [121.585995, 39.360854], + [121.376757, 39.750261], + [122.168595, 40.422443], + [121.640359, 40.94639], + [120.768629, 40.593388], + [119.639602, 39.898056], + [119.023464, 39.252333], + [118.042749, 39.204274], + [117.532702, 38.737636], + [118.059699, 38.061476], + [118.87815, 37.897325], + [118.911636, 37.448464], + [119.702802, 37.156389], + [120.823457, 37.870428], + [121.711259, 37.481123], + [122.357937, 37.454484], + [122.519995, 36.930614], + [121.104164, 36.651329], + [120.637009, 36.11144], + [119.664562, 35.609791], + [119.151208, 34.909859], + [120.227525, 34.360332], + [120.620369, 33.376723], + [121.229014, 32.460319], + [121.908146, 31.692174], + [121.891919, 30.949352], + [121.264257, 30.676267], + [121.503519, 30.142915], + [122.092114, 29.83252], + [121.938428, 29.018022], + [121.684439, 28.225513], + [121.125661, 28.135673], + [120.395473, 27.053207], + [119.585497, 25.740781], + [118.656871, 24.547391], + [117.281606, 23.624501], + [115.890735, 22.782873], + [114.763827, 22.668074], + [114.152547, 22.22376], + [113.80678, 22.54834], + [113.241078, 22.051367], + [111.843592, 21.550494], + [110.785466, 21.397144], + [110.444039, 20.341033], + [109.889861, 20.282457], + [109.627655, 21.008227], + [109.864488, 21.395051], + [108.522813, 21.715212], + [108.05018, 21.55238], + [107.04342, 21.811899], + [106.567273, 22.218205], + [106.725403, 22.794268], + [105.811247, 22.976892], + [105.329209, 23.352063], + [104.476858, 22.81915], + [103.504515, 22.703757], + [102.706992, 22.708795], + [102.170436, 22.464753], + [101.652018, 22.318199], + [101.80312, 21.174367], + [101.270026, 21.201652], + [101.180005, 21.436573], + [101.150033, 21.849984], + [100.416538, 21.558839], + [99.983489, 21.742937], + [99.240899, 22.118314], + [99.531992, 22.949039], + [98.898749, 23.142722], + [98.660262, 24.063286], + [97.60472, 23.897405], + [97.724609, 25.083637], + [98.671838, 25.918703], + [98.712094, 26.743536], + [98.68269, 27.508812], + [98.246231, 27.747221], + [97.911988, 28.335945], + [97.327114, 28.261583], + [96.248833, 28.411031], + [96.586591, 28.83098], + [96.117679, 29.452802], + [95.404802, 29.031717], + [94.56599, 29.277438], + [93.413348, 28.640629], + [92.503119, 27.896876], + [91.696657, 27.771742], + [91.258854, 28.040614], + [90.730514, 28.064954], + [90.015829, 28.296439], + [89.47581, 28.042759], + [88.814248, 27.299316], + [88.730326, 28.086865], + [88.120441, 27.876542], + [86.954517, 27.974262], + [85.82332, 28.203576], + [85.011638, 28.642774], + [84.23458, 28.839894], + [83.898993, 29.320226], + [83.337115, 29.463732], + [82.327513, 30.115268], + [81.525804, 30.422717], + [81.111256, 30.183481], + [79.721367, 30.882715], + [78.738894, 31.515906], + [78.458446, 32.618164], + [79.176129, 32.48378], + [79.208892, 32.994395], + [78.811086, 33.506198], + [78.912269, 34.321936], + [77.837451, 35.49401], + [76.192848, 35.898403], + [75.896897, 36.666806], + [75.158028, 37.133031], + [74.980002, 37.41999], + [74.829986, 37.990007], + [74.864816, 38.378846], + [74.257514, 38.606507], + [73.928852, 38.505815], + [73.675379, 39.431237], + [73.960013, 39.660008], + [73.822244, 39.893973], + [74.776862, 40.366425], + [75.467828, 40.562072], + [76.526368, 40.427946], + [76.904484, 41.066486], + [78.187197, 41.185316], + [78.543661, 41.582243], + [80.11943, 42.123941], + [80.25999, 42.349999], + [80.18015, 42.920068], + [80.866206, 43.180362], + [79.966106, 44.917517], + [81.947071, 45.317027], + [82.458926, 45.53965], + [83.180484, 47.330031], + [85.16429, 47.000956], + [85.720484, 47.452969], + [85.768233, 48.455751], + [86.598776, 48.549182], + [87.35997, 49.214981], + [87.751264, 49.297198], + [88.013832, 48.599463], + [88.854298, 48.069082], + [90.280826, 47.693549], + [90.970809, 46.888146], + [90.585768, 45.719716], + [90.94554, 45.286073], + [92.133891, 45.115076], + [93.480734, 44.975472], + [94.688929, 44.352332], + [95.306875, 44.241331], + [95.762455, 43.319449], + [96.349396, 42.725635], + [97.451757, 42.74889], + [99.515817, 42.524691], + [100.845866, 42.663804], + [101.83304, 42.514873], + [103.312278, 41.907468], + [104.522282, 41.908347], + [104.964994, 41.59741], + [106.129316, 42.134328], + [107.744773, 42.481516], + [109.243596, 42.519446], + [110.412103, 42.871234], + [111.129682, 43.406834], + [111.829588, 43.743118], + [111.667737, 44.073176], + [111.348377, 44.457442], + [111.873306, 45.102079], + [112.436062, 45.011646], + [113.463907, 44.808893], + [114.460332, 45.339817], + [115.985096, 45.727235], + [116.717868, 46.388202], + [117.421701, 46.672733], + [118.874326, 46.805412], + [119.66327, 46.69268], + [119.772824, 47.048059], + [118.866574, 47.74706], + [118.064143, 48.06673], + [117.295507, 47.697709], + [116.308953, 47.85341], + [115.742837, 47.726545], + [115.485282, 48.135383], + [116.191802, 49.134598], + [116.678801, 49.888531], + [117.879244, 49.510983], + [119.288461, 50.142883], + [119.279366, 50.582908], + [120.18205, 51.643566], + [120.738191, 51.964115], + [120.725789, 52.516226], + [120.177089, 52.753886], + [121.003085, 53.251401], + [122.245748, 53.431726], + [123.571507, 53.458804], + [125.068211, 53.161045], + [125.946349, 52.792799], + [126.564399, 51.784255], + [126.939157, 51.353894], + [127.287456, 50.739797], + [127.657407, 49.76027] + ] + ] + ] + }, + "id": "CHN" + }, + { + "type": "Feature", + "properties": { "name": "Ivory Coast" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-2.856125, 4.994476], + [-3.311084, 4.984296], + [-4.00882, 5.179813], + [-4.649917, 5.168264], + [-5.834496, 4.993701], + [-6.528769, 4.705088], + [-7.518941, 4.338288], + [-7.712159, 4.364566], + [-7.635368, 5.188159], + [-7.539715, 5.313345], + [-7.570153, 5.707352], + [-7.993693, 6.12619], + [-8.311348, 6.193033], + [-8.60288, 6.467564], + [-8.385452, 6.911801], + [-8.485446, 7.395208], + [-8.439298, 7.686043], + [-8.280703, 7.68718], + [-8.221792, 8.123329], + [-8.299049, 8.316444], + [-8.203499, 8.455453], + [-7.8321, 8.575704], + [-8.079114, 9.376224], + [-8.309616, 9.789532], + [-8.229337, 10.12902], + [-8.029944, 10.206535], + [-7.89959, 10.297382], + [-7.622759, 10.147236], + [-6.850507, 10.138994], + [-6.666461, 10.430811], + [-6.493965, 10.411303], + [-6.205223, 10.524061], + [-6.050452, 10.096361], + [-5.816926, 10.222555], + [-5.404342, 10.370737], + [-4.954653, 10.152714], + [-4.779884, 9.821985], + [-4.330247, 9.610835], + [-3.980449, 9.862344], + [-3.511899, 9.900326], + [-2.827496, 9.642461], + [-2.56219, 8.219628], + [-2.983585, 7.379705], + [-3.24437, 6.250472], + [-2.810701, 5.389051], + [-2.856125, 4.994476] + ] + ] + }, + "id": "CIV" + }, + { + "type": "Feature", + "properties": { "name": "Cameroon" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [13.075822, 2.267097], + [12.951334, 2.321616], + [12.35938, 2.192812], + [11.751665, 2.326758], + [11.276449, 2.261051], + [9.649158, 2.283866], + [9.795196, 3.073404], + [9.404367, 3.734527], + [8.948116, 3.904129], + [8.744924, 4.352215], + [8.488816, 4.495617], + [8.500288, 4.771983], + [8.757533, 5.479666], + [9.233163, 6.444491], + [9.522706, 6.453482], + [10.118277, 7.03877], + [10.497375, 7.055358], + [11.058788, 6.644427], + [11.745774, 6.981383], + [11.839309, 7.397042], + [12.063946, 7.799808], + [12.218872, 8.305824], + [12.753672, 8.717763], + [12.955468, 9.417772], + [13.1676, 9.640626], + [13.308676, 10.160362], + [13.57295, 10.798566], + [14.415379, 11.572369], + [14.468192, 11.904752], + [14.577178, 12.085361], + [14.181336, 12.483657], + [14.213531, 12.802035], + [14.495787, 12.859396], + [14.893386, 12.219048], + [14.960152, 11.555574], + [14.923565, 10.891325], + [15.467873, 9.982337], + [14.909354, 9.992129], + [14.627201, 9.920919], + [14.171466, 10.021378], + [13.954218, 9.549495], + [14.544467, 8.965861], + [14.979996, 8.796104], + [15.120866, 8.38215], + [15.436092, 7.692812], + [15.27946, 7.421925], + [14.776545, 6.408498], + [14.53656, 6.226959], + [14.459407, 5.451761], + [14.558936, 5.030598], + [14.478372, 4.732605], + [14.950953, 4.210389], + [15.03622, 3.851367], + [15.405396, 3.335301], + [15.862732, 3.013537], + [15.907381, 2.557389], + [16.012852, 2.26764], + [15.940919, 1.727673], + [15.146342, 1.964015], + [14.337813, 2.227875], + [13.075822, 2.267097] + ] + ] + }, + "id": "CMR" + }, + { + "type": "Feature", + "properties": { "name": "Democratic Republic of the Congo" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [30.83386, 3.509166], + [30.773347, 2.339883], + [31.174149, 2.204465], + [30.85267, 1.849396], + [30.468508, 1.583805], + [30.086154, 1.062313], + [29.875779, 0.59738], + [29.819503, -0.20531], + [29.587838, -0.587406], + [29.579466, -1.341313], + [29.291887, -1.620056], + [29.254835, -2.21511], + [29.117479, -2.292211], + [29.024926, -2.839258], + [29.276384, -3.293907], + [29.339998, -4.499983], + [29.519987, -5.419979], + [29.419993, -5.939999], + [29.620032, -6.520015], + [30.199997, -7.079981], + [30.740015, -8.340007], + [30.346086, -8.238257], + [29.002912, -8.407032], + [28.734867, -8.526559], + [28.449871, -9.164918], + [28.673682, -9.605925], + [28.49607, -10.789884], + [28.372253, -11.793647], + [28.642417, -11.971569], + [29.341548, -12.360744], + [29.616001, -12.178895], + [29.699614, -13.257227], + [28.934286, -13.248958], + [28.523562, -12.698604], + [28.155109, -12.272481], + [27.388799, -12.132747], + [27.16442, -11.608748], + [26.553088, -11.92444], + [25.75231, -11.784965], + [25.418118, -11.330936], + [24.78317, -11.238694], + [24.314516, -11.262826], + [24.257155, -10.951993], + [23.912215, -10.926826], + [23.456791, -10.867863], + [22.837345, -11.017622], + [22.402798, -10.993075], + [22.155268, -11.084801], + [22.208753, -9.894796], + [21.875182, -9.523708], + [21.801801, -8.908707], + [21.949131, -8.305901], + [21.746456, -7.920085], + [21.728111, -7.290872], + [20.514748, -7.299606], + [20.601823, -6.939318], + [20.091622, -6.94309], + [20.037723, -7.116361], + [19.417502, -7.155429], + [19.166613, -7.738184], + [19.016752, -7.988246], + [18.464176, -7.847014], + [18.134222, -7.987678], + [17.47297, -8.068551], + [17.089996, -7.545689], + [16.860191, -7.222298], + [16.57318, -6.622645], + [16.326528, -5.87747], + [13.375597, -5.864241], + [13.024869, -5.984389], + [12.735171, -5.965682], + [12.322432, -6.100092], + [12.182337, -5.789931], + [12.436688, -5.684304], + [12.468004, -5.248362], + [12.631612, -4.991271], + [12.995517, -4.781103], + [13.25824, -4.882957], + [13.600235, -4.500138], + [14.144956, -4.510009], + [14.209035, -4.793092], + [14.582604, -4.970239], + [15.170992, -4.343507], + [15.75354, -3.855165], + [16.00629, -3.535133], + [15.972803, -2.712392], + [16.407092, -1.740927], + [16.865307, -1.225816], + [17.523716, -0.74383], + [17.638645, -0.424832], + [17.663553, -0.058084], + [17.82654, 0.288923], + [17.774192, 0.855659], + [17.898835, 1.741832], + [18.094276, 2.365722], + [18.393792, 2.900443], + [18.453065, 3.504386], + [18.542982, 4.201785], + [18.932312, 4.709506], + [19.467784, 5.031528], + [20.290679, 4.691678], + [20.927591, 4.322786], + [21.659123, 4.224342], + [22.405124, 4.02916], + [22.704124, 4.633051], + [22.84148, 4.710126], + [23.297214, 4.609693], + [24.410531, 5.108784], + [24.805029, 4.897247], + [25.128833, 4.927245], + [25.278798, 5.170408], + [25.650455, 5.256088], + [26.402761, 5.150875], + [27.044065, 5.127853], + [27.374226, 5.233944], + [27.979977, 4.408413], + [28.428994, 4.287155], + [28.696678, 4.455077], + [29.159078, 4.389267], + [29.715995, 4.600805], + [29.9535, 4.173699], + [30.83386, 3.509166] + ] + ] + }, + "id": "COD" + }, + { + "type": "Feature", + "properties": { "name": "Republic of the Congo" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [12.995517, -4.781103], + [12.62076, -4.438023], + [12.318608, -4.60623], + [11.914963, -5.037987], + [11.093773, -3.978827], + [11.855122, -3.426871], + [11.478039, -2.765619], + [11.820964, -2.514161], + [12.495703, -2.391688], + [12.575284, -1.948511], + [13.109619, -2.42874], + [13.992407, -2.470805], + [14.29921, -1.998276], + [14.425456, -1.333407], + [14.316418, -0.552627], + [13.843321, 0.038758], + [14.276266, 1.19693], + [14.026669, 1.395677], + [13.282631, 1.314184], + [13.003114, 1.830896], + [13.075822, 2.267097], + [14.337813, 2.227875], + [15.146342, 1.964015], + [15.940919, 1.727673], + [16.012852, 2.26764], + [16.537058, 3.198255], + [17.133042, 3.728197], + [17.8099, 3.560196], + [18.453065, 3.504386], + [18.393792, 2.900443], + [18.094276, 2.365722], + [17.898835, 1.741832], + [17.774192, 0.855659], + [17.82654, 0.288923], + [17.663553, -0.058084], + [17.638645, -0.424832], + [17.523716, -0.74383], + [16.865307, -1.225816], + [16.407092, -1.740927], + [15.972803, -2.712392], + [16.00629, -3.535133], + [15.75354, -3.855165], + [15.170992, -4.343507], + [14.582604, -4.970239], + [14.209035, -4.793092], + [14.144956, -4.510009], + [13.600235, -4.500138], + [13.25824, -4.882957], + [12.995517, -4.781103] + ] + ] + }, + "id": "COG" + }, + { + "type": "Feature", + "properties": { "name": "Colombia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-75.373223, -0.152032], + [-75.801466, 0.084801], + [-76.292314, 0.416047], + [-76.57638, 0.256936], + [-77.424984, 0.395687], + [-77.668613, 0.825893], + [-77.855061, 0.809925], + [-78.855259, 1.380924], + [-78.990935, 1.69137], + [-78.617831, 1.766404], + [-78.662118, 2.267355], + [-78.42761, 2.629556], + [-77.931543, 2.696606], + [-77.510431, 3.325017], + [-77.12769, 3.849636], + [-77.496272, 4.087606], + [-77.307601, 4.667984], + [-77.533221, 5.582812], + [-77.318815, 5.845354], + [-77.476661, 6.691116], + [-77.881571, 7.223771], + [-77.753414, 7.70984], + [-77.431108, 7.638061], + [-77.242566, 7.935278], + [-77.474723, 8.524286], + [-77.353361, 8.670505], + [-76.836674, 8.638749], + [-76.086384, 9.336821], + [-75.6746, 9.443248], + [-75.664704, 9.774003], + [-75.480426, 10.61899], + [-74.906895, 11.083045], + [-74.276753, 11.102036], + [-74.197223, 11.310473], + [-73.414764, 11.227015], + [-72.627835, 11.731972], + [-72.238195, 11.95555], + [-71.75409, 12.437303], + [-71.399822, 12.376041], + [-71.137461, 12.112982], + [-71.331584, 11.776284], + [-71.973922, 11.608672], + [-72.227575, 11.108702], + [-72.614658, 10.821975], + [-72.905286, 10.450344], + [-73.027604, 9.73677], + [-73.304952, 9.152], + [-72.78873, 9.085027], + [-72.660495, 8.625288], + [-72.439862, 8.405275], + [-72.360901, 8.002638], + [-72.479679, 7.632506], + [-72.444487, 7.423785], + [-72.198352, 7.340431], + [-71.960176, 6.991615], + [-70.674234, 7.087785], + [-70.093313, 6.960376], + [-69.38948, 6.099861], + [-68.985319, 6.206805], + [-68.265052, 6.153268], + [-67.695087, 6.267318], + [-67.34144, 6.095468], + [-67.521532, 5.55687], + [-67.744697, 5.221129], + [-67.823012, 4.503937], + [-67.621836, 3.839482], + [-67.337564, 3.542342], + [-67.303173, 3.318454], + [-67.809938, 2.820655], + [-67.447092, 2.600281], + [-67.181294, 2.250638], + [-66.876326, 1.253361], + [-67.065048, 1.130112], + [-67.259998, 1.719999], + [-67.53781, 2.037163], + [-67.868565, 1.692455], + [-69.816973, 1.714805], + [-69.804597, 1.089081], + [-69.218638, 0.985677], + [-69.252434, 0.602651], + [-69.452396, 0.706159], + [-70.015566, 0.541414], + [-70.020656, -0.185156], + [-69.577065, -0.549992], + [-69.420486, -1.122619], + [-69.444102, -1.556287], + [-69.893635, -4.298187], + [-70.394044, -3.766591], + [-70.692682, -3.742872], + [-70.047709, -2.725156], + [-70.813476, -2.256865], + [-71.413646, -2.342802], + [-71.774761, -2.16979], + [-72.325787, -2.434218], + [-73.070392, -2.308954], + [-73.659504, -1.260491], + [-74.122395, -1.002833], + [-74.441601, -0.53082], + [-75.106625, -0.057205], + [-75.373223, -0.152032] + ] + ] + }, + "id": "COL" + }, + { + "type": "Feature", + "properties": { "name": "Costa Rica" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-82.965783, 8.225028], + [-83.508437, 8.446927], + [-83.711474, 8.656836], + [-83.596313, 8.830443], + [-83.632642, 9.051386], + [-83.909886, 9.290803], + [-84.303402, 9.487354], + [-84.647644, 9.615537], + [-84.713351, 9.908052], + [-84.97566, 10.086723], + [-84.911375, 9.795992], + [-85.110923, 9.55704], + [-85.339488, 9.834542], + [-85.660787, 9.933347], + [-85.797445, 10.134886], + [-85.791709, 10.439337], + [-85.659314, 10.754331], + [-85.941725, 10.895278], + [-85.71254, 11.088445], + [-85.561852, 11.217119], + [-84.903003, 10.952303], + [-84.673069, 11.082657], + [-84.355931, 10.999226], + [-84.190179, 10.79345], + [-83.895054, 10.726839], + [-83.655612, 10.938764], + [-83.40232, 10.395438], + [-83.015677, 9.992982], + [-82.546196, 9.566135], + [-82.932891, 9.476812], + [-82.927155, 9.07433], + [-82.719183, 8.925709], + [-82.868657, 8.807266], + [-82.829771, 8.626295], + [-82.913176, 8.423517], + [-82.965783, 8.225028] + ] + ] + }, + "id": "CRI" + }, + { + "type": "Feature", + "properties": { "name": "Cuba" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-82.268151, 23.188611], + [-81.404457, 23.117271], + [-80.618769, 23.10598], + [-79.679524, 22.765303], + [-79.281486, 22.399202], + [-78.347434, 22.512166], + [-77.993296, 22.277194], + [-77.146422, 21.657851], + [-76.523825, 21.20682], + [-76.19462, 21.220565], + [-75.598222, 21.016624], + [-75.67106, 20.735091], + [-74.933896, 20.693905], + [-74.178025, 20.284628], + [-74.296648, 20.050379], + [-74.961595, 19.923435], + [-75.63468, 19.873774], + [-76.323656, 19.952891], + [-77.755481, 19.855481], + [-77.085108, 20.413354], + [-77.492655, 20.673105], + [-78.137292, 20.739949], + [-78.482827, 21.028613], + [-78.719867, 21.598114], + [-79.285, 21.559175], + [-80.217475, 21.827324], + [-80.517535, 22.037079], + [-81.820943, 22.192057], + [-82.169992, 22.387109], + [-81.795002, 22.636965], + [-82.775898, 22.68815], + [-83.494459, 22.168518], + [-83.9088, 22.154565], + [-84.052151, 21.910575], + [-84.54703, 21.801228], + [-84.974911, 21.896028], + [-84.447062, 22.20495], + [-84.230357, 22.565755], + [-83.77824, 22.788118], + [-83.267548, 22.983042], + [-82.510436, 23.078747], + [-82.268151, 23.188611] + ] + ] + }, + "id": "CUB" + }, + { + "type": "Feature", + "properties": { "name": "Cyprus" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [33.973617, 35.058506], + [34.004881, 34.978098], + [32.979827, 34.571869], + [32.490296, 34.701655], + [32.256667, 35.103232], + [32.73178, 35.140026], + [32.919572, 35.087833], + [33.190977, 35.173125], + [33.383833, 35.162712], + [33.455922, 35.101424], + [33.475817, 35.000345], + [33.525685, 35.038688], + [33.675392, 35.017863], + [33.86644, 35.093595], + [33.973617, 35.058506] + ] + ] + }, + "id": "CYP" + }, + { + "type": "Feature", + "properties": { "name": "Czech Republic" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [16.960288, 48.596982], + [16.499283, 48.785808], + [16.029647, 48.733899], + [15.253416, 49.039074], + [14.901447, 48.964402], + [14.338898, 48.555305], + [13.595946, 48.877172], + [13.031329, 49.307068], + [12.521024, 49.547415], + [12.415191, 49.969121], + [12.240111, 50.266338], + [12.966837, 50.484076], + [13.338132, 50.733234], + [14.056228, 50.926918], + [14.307013, 51.117268], + [14.570718, 51.002339], + [15.016996, 51.106674], + [15.490972, 50.78473], + [16.238627, 50.697733], + [16.176253, 50.422607], + [16.719476, 50.215747], + [16.868769, 50.473974], + [17.554567, 50.362146], + [17.649445, 50.049038], + [18.392914, 49.988629], + [18.853144, 49.49623], + [18.554971, 49.495015], + [18.399994, 49.315001], + [18.170498, 49.271515], + [18.104973, 49.043983], + [17.913512, 48.996493], + [17.886485, 48.903475], + [17.545007, 48.800019], + [17.101985, 48.816969], + [16.960288, 48.596982] + ] + ] + }, + "id": "CZE" + }, + { + "type": "Feature", + "properties": { "name": "Germany" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [9.921906, 54.983104], + [9.93958, 54.596642], + [10.950112, 54.363607], + [10.939467, 54.008693], + [11.956252, 54.196486], + [12.51844, 54.470371], + [13.647467, 54.075511], + [14.119686, 53.757029], + [14.353315, 53.248171], + [14.074521, 52.981263], + [14.4376, 52.62485], + [14.685026, 52.089947], + [14.607098, 51.745188], + [15.016996, 51.106674], + [14.570718, 51.002339], + [14.307013, 51.117268], + [14.056228, 50.926918], + [13.338132, 50.733234], + [12.966837, 50.484076], + [12.240111, 50.266338], + [12.415191, 49.969121], + [12.521024, 49.547415], + [13.031329, 49.307068], + [13.595946, 48.877172], + [13.243357, 48.416115], + [12.884103, 48.289146], + [13.025851, 47.637584], + [12.932627, 47.467646], + [12.62076, 47.672388], + [12.141357, 47.703083], + [11.426414, 47.523766], + [10.544504, 47.566399], + [10.402084, 47.302488], + [9.896068, 47.580197], + [9.594226, 47.525058], + [8.522612, 47.830828], + [8.317301, 47.61358], + [7.466759, 47.620582], + [7.593676, 48.333019], + [8.099279, 49.017784], + [6.65823, 49.201958], + [6.18632, 49.463803], + [6.242751, 49.902226], + [6.043073, 50.128052], + [6.156658, 50.803721], + [5.988658, 51.851616], + [6.589397, 51.852029], + [6.84287, 52.22844], + [7.092053, 53.144043], + [6.90514, 53.482162], + [7.100425, 53.693932], + [7.936239, 53.748296], + [8.121706, 53.527792], + [8.800734, 54.020786], + [8.572118, 54.395646], + [8.526229, 54.962744], + [9.282049, 54.830865], + [9.921906, 54.983104] + ] + ] + }, + "id": "DEU" + }, + { + "type": "Feature", + "properties": { "name": "Djibouti" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [43.081226, 12.699639], + [43.317852, 12.390148], + [43.286381, 11.974928], + [42.715874, 11.735641], + [43.145305, 11.46204], + [42.776852, 10.926879], + [42.55493, 11.10511], + [42.31414, 11.0342], + [41.75557, 11.05091], + [41.73959, 11.35511], + [41.66176, 11.6312], + [42, 12.1], + [42.35156, 12.54223], + [42.779642, 12.455416], + [43.081226, 12.699639] + ] + ] + }, + "id": "DJI" + }, + { + "type": "Feature", + "properties": { "name": "Denmark" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [12.690006, 55.609991], + [12.089991, 54.800015], + [11.043543, 55.364864], + [10.903914, 55.779955], + [12.370904, 56.111407], + [12.690006, 55.609991] + ] + ], + [ + [ + [10.912182, 56.458621], + [10.667804, 56.081383], + [10.369993, 56.190007], + [9.649985, 55.469999], + [9.921906, 54.983104], + [9.282049, 54.830865], + [8.526229, 54.962744], + [8.120311, 55.517723], + [8.089977, 56.540012], + [8.256582, 56.809969], + [8.543438, 57.110003], + [9.424469, 57.172066], + [9.775559, 57.447941], + [10.580006, 57.730017], + [10.546106, 57.215733], + [10.25, 56.890016], + [10.369993, 56.609982], + [10.912182, 56.458621] + ] + ] + ] + }, + "id": "DNK" + }, + { + "type": "Feature", + "properties": { "name": "Dominican Republic" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-71.712361, 19.714456], + [-71.587304, 19.884911], + [-70.806706, 19.880286], + [-70.214365, 19.622885], + [-69.950815, 19.648], + [-69.76925, 19.293267], + [-69.222126, 19.313214], + [-69.254346, 19.015196], + [-68.809412, 18.979074], + [-68.317943, 18.612198], + [-68.689316, 18.205142], + [-69.164946, 18.422648], + [-69.623988, 18.380713], + [-69.952934, 18.428307], + [-70.133233, 18.245915], + [-70.517137, 18.184291], + [-70.669298, 18.426886], + [-70.99995, 18.283329], + [-71.40021, 17.598564], + [-71.657662, 17.757573], + [-71.708305, 18.044997], + [-71.687738, 18.31666], + [-71.945112, 18.6169], + [-71.701303, 18.785417], + [-71.624873, 19.169838], + [-71.712361, 19.714456] + ] + ] + }, + "id": "DOM" + }, + { + "type": "Feature", + "properties": { "name": "Algeria" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [11.999506, 23.471668], + [8.572893, 21.565661], + [5.677566, 19.601207], + [4.267419, 19.155265], + [3.158133, 19.057364], + [3.146661, 19.693579], + [2.683588, 19.85623], + [2.060991, 20.142233], + [1.823228, 20.610809], + [-1.550055, 22.792666], + [-4.923337, 24.974574], + [-8.6844, 27.395744], + [-8.665124, 27.589479], + [-8.66559, 27.656426], + [-8.674116, 28.841289], + [-7.059228, 29.579228], + [-6.060632, 29.7317], + [-5.242129, 30.000443], + [-4.859646, 30.501188], + [-3.690441, 30.896952], + [-3.647498, 31.637294], + [-3.06898, 31.724498], + [-2.616605, 32.094346], + [-1.307899, 32.262889], + [-1.124551, 32.651522], + [-1.388049, 32.864015], + [-1.733455, 33.919713], + [-1.792986, 34.527919], + [-2.169914, 35.168396], + [-1.208603, 35.714849], + [-0.127454, 35.888662], + [0.503877, 36.301273], + [1.466919, 36.605647], + [3.161699, 36.783905], + [4.815758, 36.865037], + [5.32012, 36.716519], + [6.26182, 37.110655], + [7.330385, 37.118381], + [7.737078, 36.885708], + [8.420964, 36.946427], + [8.217824, 36.433177], + [8.376368, 35.479876], + [8.140981, 34.655146], + [7.524482, 34.097376], + [7.612642, 33.344115], + [8.430473, 32.748337], + [8.439103, 32.506285], + [9.055603, 32.102692], + [9.48214, 30.307556], + [9.805634, 29.424638], + [9.859998, 28.95999], + [9.683885, 28.144174], + [9.756128, 27.688259], + [9.629056, 27.140953], + [9.716286, 26.512206], + [9.319411, 26.094325], + [9.910693, 25.365455], + [9.948261, 24.936954], + [10.303847, 24.379313], + [10.771364, 24.562532], + [11.560669, 24.097909], + [11.999506, 23.471668] + ] + ] + }, + "id": "DZA" + }, + { + "type": "Feature", + "properties": { "name": "Ecuador" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-80.302561, -3.404856], + [-79.770293, -2.657512], + [-79.986559, -2.220794], + [-80.368784, -2.685159], + [-80.967765, -2.246943], + [-80.764806, -1.965048], + [-80.933659, -1.057455], + [-80.58337, -0.906663], + [-80.399325, -0.283703], + [-80.020898, 0.36034], + [-80.09061, 0.768429], + [-79.542762, 0.982938], + [-78.855259, 1.380924], + [-77.855061, 0.809925], + [-77.668613, 0.825893], + [-77.424984, 0.395687], + [-76.57638, 0.256936], + [-76.292314, 0.416047], + [-75.801466, 0.084801], + [-75.373223, -0.152032], + [-75.233723, -0.911417], + [-75.544996, -1.56161], + [-76.635394, -2.608678], + [-77.837905, -3.003021], + [-78.450684, -3.873097], + [-78.639897, -4.547784], + [-79.205289, -4.959129], + [-79.624979, -4.454198], + [-80.028908, -4.346091], + [-80.442242, -4.425724], + [-80.469295, -4.059287], + [-80.184015, -3.821162], + [-80.302561, -3.404856] + ] + ] + }, + "id": "ECU" + }, + { + "type": "Feature", + "properties": { "name": "Egypt" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [34.9226, 29.50133], + [34.64174, 29.09942], + [34.42655, 28.34399], + [34.15451, 27.8233], + [33.92136, 27.6487], + [33.58811, 27.97136], + [33.13676, 28.41765], + [32.42323, 29.85108], + [32.32046, 29.76043], + [32.73482, 28.70523], + [33.34876, 27.69989], + [34.10455, 26.14227], + [34.47387, 25.59856], + [34.79507, 25.03375], + [35.69241, 23.92671], + [35.49372, 23.75237], + [35.52598, 23.10244], + [36.69069, 22.20485], + [36.86623, 22], + [32.9, 22], + [29.02, 22], + [25, 22], + [25, 25.6825], + [25, 29.238655], + [24.70007, 30.04419], + [24.95762, 30.6616], + [24.80287, 31.08929], + [25.16482, 31.56915], + [26.49533, 31.58568], + [27.45762, 31.32126], + [28.45048, 31.02577], + [28.91353, 30.87005], + [29.68342, 31.18686], + [30.09503, 31.4734], + [30.97693, 31.55586], + [31.68796, 31.4296], + [31.96041, 30.9336], + [32.19247, 31.26034], + [32.99392, 31.02407], + [33.7734, 30.96746], + [34.26544, 31.21936], + [34.9226, 29.50133] + ] + ] + }, + "id": "EGY" + }, + { + "type": "Feature", + "properties": { "name": "Eritrea" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [42.35156, 12.54223], + [42.00975, 12.86582], + [41.59856, 13.45209], + [41.155194, 13.77332], + [40.8966, 14.11864], + [40.026219, 14.519579], + [39.34061, 14.53155], + [39.0994, 14.74064], + [38.51295, 14.50547], + [37.90607, 14.95943], + [37.59377, 14.2131], + [36.42951, 14.42211], + [36.323189, 14.822481], + [36.75386, 16.291874], + [36.85253, 16.95655], + [37.16747, 17.26314], + [37.904, 17.42754], + [38.41009, 17.998307], + [38.990623, 16.840626], + [39.26611, 15.922723], + [39.814294, 15.435647], + [41.179275, 14.49108], + [41.734952, 13.921037], + [42.276831, 13.343992], + [42.589576, 13.000421], + [43.081226, 12.699639], + [42.779642, 12.455416], + [42.35156, 12.54223] + ] + ] + }, + "id": "ERI" + }, + { + "type": "Feature", + "properties": { "name": "Spain" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-9.034818, 41.880571], + [-8.984433, 42.592775], + [-9.392884, 43.026625], + [-7.97819, 43.748338], + [-6.754492, 43.567909], + [-5.411886, 43.57424], + [-4.347843, 43.403449], + [-3.517532, 43.455901], + [-1.901351, 43.422802], + [-1.502771, 43.034014], + [0.338047, 42.579546], + [0.701591, 42.795734], + [1.826793, 42.343385], + [2.985999, 42.473015], + [3.039484, 41.89212], + [2.091842, 41.226089], + [0.810525, 41.014732], + [0.721331, 40.678318], + [0.106692, 40.123934], + [-0.278711, 39.309978], + [0.111291, 38.738514], + [-0.467124, 38.292366], + [-0.683389, 37.642354], + [-1.438382, 37.443064], + [-2.146453, 36.674144], + [-3.415781, 36.6589], + [-4.368901, 36.677839], + [-4.995219, 36.324708], + [-5.37716, 35.94685], + [-5.866432, 36.029817], + [-6.236694, 36.367677], + [-6.520191, 36.942913], + [-7.453726, 37.097788], + [-7.537105, 37.428904], + [-7.166508, 37.803894], + [-7.029281, 38.075764], + [-7.374092, 38.373059], + [-7.098037, 39.030073], + [-7.498632, 39.629571], + [-7.066592, 39.711892], + [-7.026413, 40.184524], + [-6.86402, 40.330872], + [-6.851127, 41.111083], + [-6.389088, 41.381815], + [-6.668606, 41.883387], + [-7.251309, 41.918346], + [-7.422513, 41.792075], + [-8.013175, 41.790886], + [-8.263857, 42.280469], + [-8.671946, 42.134689], + [-9.034818, 41.880571] + ] + ] + }, + "id": "ESP" + }, + { + "type": "Feature", + "properties": { "name": "Estonia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [24.312863, 57.793424], + [24.428928, 58.383413], + [24.061198, 58.257375], + [23.42656, 58.612753], + [23.339795, 59.18724], + [24.604214, 59.465854], + [25.864189, 59.61109], + [26.949136, 59.445803], + [27.981114, 59.475388], + [28.131699, 59.300825], + [27.420166, 58.724581], + [27.716686, 57.791899], + [27.288185, 57.474528], + [26.463532, 57.476389], + [25.60281, 57.847529], + [25.164594, 57.970157], + [24.312863, 57.793424] + ] + ] + }, + "id": "EST" + }, + { + "type": "Feature", + "properties": { "name": "Ethiopia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [37.90607, 14.95943], + [38.51295, 14.50547], + [39.0994, 14.74064], + [39.34061, 14.53155], + [40.02625, 14.51959], + [40.8966, 14.11864], + [41.1552, 13.77333], + [41.59856, 13.45209], + [42.00975, 12.86582], + [42.35156, 12.54223], + [42, 12.1], + [41.66176, 11.6312], + [41.73959, 11.35511], + [41.75557, 11.05091], + [42.31414, 11.0342], + [42.55493, 11.10511], + [42.776852, 10.926879], + [42.55876, 10.57258], + [42.92812, 10.02194], + [43.29699, 9.54048], + [43.67875, 9.18358], + [46.94834, 7.99688], + [47.78942, 8.003], + [44.9636, 5.00162], + [43.66087, 4.95755], + [42.76967, 4.25259], + [42.12861, 4.23413], + [41.855083, 3.918912], + [41.1718, 3.91909], + [40.76848, 4.25702], + [39.85494, 3.83879], + [39.559384, 3.42206], + [38.89251, 3.50074], + [38.67114, 3.61607], + [38.43697, 3.58851], + [38.120915, 3.598605], + [36.855093, 4.447864], + [36.159079, 4.447864], + [35.817448, 4.776966], + [35.817448, 5.338232], + [35.298007, 5.506], + [34.70702, 6.59422], + [34.25032, 6.82607], + [34.0751, 7.22595], + [33.56829, 7.71334], + [32.95418, 7.78497], + [33.2948, 8.35458], + [33.8255, 8.37916], + [33.97498, 8.68456], + [33.96162, 9.58358], + [34.25745, 10.63009], + [34.73115, 10.91017], + [34.83163, 11.31896], + [35.26049, 12.08286], + [35.86363, 12.57828], + [36.27022, 13.56333], + [36.42951, 14.42211], + [37.59377, 14.2131], + [37.90607, 14.95943] + ] + ] + }, + "id": "ETH" + }, + { + "type": "Feature", + "properties": { "name": "Finland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [28.59193, 69.064777], + [28.445944, 68.364613], + [29.977426, 67.698297], + [29.054589, 66.944286], + [30.21765, 65.80598], + [29.54443, 64.948672], + [30.444685, 64.204453], + [30.035872, 63.552814], + [31.516092, 62.867687], + [31.139991, 62.357693], + [30.211107, 61.780028], + [28.069998, 60.503517], + [26.255173, 60.423961], + [24.496624, 60.057316], + [22.869695, 59.846373], + [22.290764, 60.391921], + [21.322244, 60.72017], + [21.544866, 61.705329], + [21.059211, 62.607393], + [21.536029, 63.189735], + [22.442744, 63.81781], + [24.730512, 64.902344], + [25.398068, 65.111427], + [25.294043, 65.534346], + [23.903379, 66.006927], + [23.56588, 66.396051], + [23.539473, 67.936009], + [21.978535, 68.616846], + [20.645593, 69.106247], + [21.244936, 69.370443], + [22.356238, 68.841741], + [23.66205, 68.891247], + [24.735679, 68.649557], + [25.689213, 69.092114], + [26.179622, 69.825299], + [27.732292, 70.164193], + [29.015573, 69.766491], + [28.59193, 69.064777] + ] + ] + }, + "id": "FIN" + }, + { + "type": "Feature", + "properties": { "name": "Fiji" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [178.3736, -17.33992], + [178.71806, -17.62846], + [178.55271, -18.15059], + [177.93266, -18.28799], + [177.38146, -18.16432], + [177.28504, -17.72465], + [177.67087, -17.38114], + [178.12557, -17.50481], + [178.3736, -17.33992] + ] + ], + [ + [ + [179.364143, -16.801354], + [178.725059, -17.012042], + [178.596839, -16.63915], + [179.096609, -16.433984], + [179.413509, -16.379054], + [180, -16.067133], + [180, -16.555217], + [179.364143, -16.801354] + ] + ], + [ + [ + [-179.917369, -16.501783], + [-180, -16.555217], + [-180, -16.067133], + [-179.79332, -16.020882], + [-179.917369, -16.501783] + ] + ] + ] + }, + "id": "FJI" + }, + { + "type": "Feature", + "properties": { "name": "Falkland Islands" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-61.2, -51.85], + [-60, -51.25], + [-59.15, -51.5], + [-58.55, -51.1], + [-57.75, -51.55], + [-58.05, -51.9], + [-59.4, -52.2], + [-59.85, -51.85], + [-60.7, -52.3], + [-61.2, -51.85] + ] + ] + }, + "id": "FLK" + }, + { + "type": "Feature", + "properties": { "name": "France" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [9.560016, 42.152492], + [9.229752, 41.380007], + [8.775723, 41.583612], + [8.544213, 42.256517], + [8.746009, 42.628122], + [9.390001, 43.009985], + [9.560016, 42.152492] + ] + ], + [ + [ + [3.588184, 50.378992], + [4.286023, 49.907497], + [4.799222, 49.985373], + [5.674052, 49.529484], + [5.897759, 49.442667], + [6.18632, 49.463803], + [6.65823, 49.201958], + [8.099279, 49.017784], + [7.593676, 48.333019], + [7.466759, 47.620582], + [7.192202, 47.449766], + [6.736571, 47.541801], + [6.768714, 47.287708], + [6.037389, 46.725779], + [6.022609, 46.27299], + [6.5001, 46.429673], + [6.843593, 45.991147], + [6.802355, 45.70858], + [7.096652, 45.333099], + [6.749955, 45.028518], + [7.007562, 44.254767], + [7.549596, 44.127901], + [7.435185, 43.693845], + [6.529245, 43.128892], + [4.556963, 43.399651], + [3.100411, 43.075201], + [2.985999, 42.473015], + [1.826793, 42.343385], + [0.701591, 42.795734], + [0.338047, 42.579546], + [-1.502771, 43.034014], + [-1.901351, 43.422802], + [-1.384225, 44.02261], + [-1.193798, 46.014918], + [-2.225724, 47.064363], + [-2.963276, 47.570327], + [-4.491555, 47.954954], + [-4.59235, 48.68416], + [-3.295814, 48.901692], + [-1.616511, 48.644421], + [-1.933494, 49.776342], + [-0.989469, 49.347376], + [1.338761, 50.127173], + [1.639001, 50.946606], + [2.513573, 51.148506], + [2.658422, 50.796848], + [3.123252, 50.780363], + [3.588184, 50.378992] + ] + ] + ] + }, + "id": "FRA" + }, + { + "type": "Feature", + "properties": { "name": "French Guiana" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-52.556425, 2.504705], + [-52.939657, 2.124858], + [-53.418465, 2.053389], + [-53.554839, 2.334897], + [-53.778521, 2.376703], + [-54.088063, 2.105557], + [-54.524754, 2.311849], + [-54.27123, 2.738748], + [-54.184284, 3.194172], + [-54.011504, 3.62257], + [-54.399542, 4.212611], + [-54.478633, 4.896756], + [-53.958045, 5.756548], + [-53.618453, 5.646529], + [-52.882141, 5.409851], + [-51.823343, 4.565768], + [-51.657797, 4.156232], + [-52.249338, 3.241094], + [-52.556425, 2.504705] + ] + ] + ] + }, + "id": "GUF" + }, + { + "type": "Feature", + "properties": { "name": "Gabon" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [11.093773, -3.978827], + [10.066135, -2.969483], + [9.405245, -2.144313], + [8.797996, -1.111301], + [8.830087, -0.779074], + [9.04842, -0.459351], + [9.291351, 0.268666], + [9.492889, 1.01012], + [9.830284, 1.067894], + [11.285079, 1.057662], + [11.276449, 2.261051], + [11.751665, 2.326758], + [12.35938, 2.192812], + [12.951334, 2.321616], + [13.075822, 2.267097], + [13.003114, 1.830896], + [13.282631, 1.314184], + [14.026669, 1.395677], + [14.276266, 1.19693], + [13.843321, 0.038758], + [14.316418, -0.552627], + [14.425456, -1.333407], + [14.29921, -1.998276], + [13.992407, -2.470805], + [13.109619, -2.42874], + [12.575284, -1.948511], + [12.495703, -2.391688], + [11.820964, -2.514161], + [11.478039, -2.765619], + [11.855122, -3.426871], + [11.093773, -3.978827] + ] + ] + }, + "id": "GAB" + }, + { + "type": "Feature", + "properties": { "name": "United Kingdom" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-5.661949, 54.554603], + [-6.197885, 53.867565], + [-6.95373, 54.073702], + [-7.572168, 54.059956], + [-7.366031, 54.595841], + [-7.572168, 55.131622], + [-6.733847, 55.17286], + [-5.661949, 54.554603] + ] + ], + [ + [ + [-3.005005, 58.635], + [-4.073828, 57.553025], + [-3.055002, 57.690019], + [-1.959281, 57.6848], + [-2.219988, 56.870017], + [-3.119003, 55.973793], + [-2.085009, 55.909998], + [-2.005676, 55.804903], + [-1.114991, 54.624986], + [-0.430485, 54.464376], + [0.184981, 53.325014], + [0.469977, 52.929999], + [1.681531, 52.73952], + [1.559988, 52.099998], + [1.050562, 51.806761], + [1.449865, 51.289428], + [0.550334, 50.765739], + [-0.787517, 50.774989], + [-2.489998, 50.500019], + [-2.956274, 50.69688], + [-3.617448, 50.228356], + [-4.542508, 50.341837], + [-5.245023, 49.96], + [-5.776567, 50.159678], + [-4.30999, 51.210001], + [-3.414851, 51.426009], + [-3.422719, 51.426848], + [-4.984367, 51.593466], + [-5.267296, 51.9914], + [-4.222347, 52.301356], + [-4.770013, 52.840005], + [-4.579999, 53.495004], + [-3.093831, 53.404547], + [-3.09208, 53.404441], + [-2.945009, 53.985], + [-3.614701, 54.600937], + [-3.630005, 54.615013], + [-4.844169, 54.790971], + [-5.082527, 55.061601], + [-4.719112, 55.508473], + [-5.047981, 55.783986], + [-5.586398, 55.311146], + [-5.644999, 56.275015], + [-6.149981, 56.78501], + [-5.786825, 57.818848], + [-5.009999, 58.630013], + [-4.211495, 58.550845], + [-3.005005, 58.635] + ] + ] + ] + }, + "id": "GBR" + }, + { + "type": "Feature", + "properties": { "name": "Georgia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [41.554084, 41.535656], + [41.703171, 41.962943], + [41.45347, 42.645123], + [40.875469, 43.013628], + [40.321394, 43.128634], + [39.955009, 43.434998], + [40.076965, 43.553104], + [40.922185, 43.382159], + [42.394395, 43.220308], + [43.756017, 42.740828], + [43.9312, 42.554974], + [44.537623, 42.711993], + [45.470279, 42.502781], + [45.77641, 42.092444], + [46.404951, 41.860675], + [46.145432, 41.722802], + [46.637908, 41.181673], + [46.501637, 41.064445], + [45.962601, 41.123873], + [45.217426, 41.411452], + [44.97248, 41.248129], + [43.582746, 41.092143], + [42.619549, 41.583173], + [41.554084, 41.535656] + ] + ] + }, + "id": "GEO" + }, + { + "type": "Feature", + "properties": { "name": "Ghana" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [1.060122, 5.928837], + [-0.507638, 5.343473], + [-1.063625, 5.000548], + [-1.964707, 4.710462], + [-2.856125, 4.994476], + [-2.810701, 5.389051], + [-3.24437, 6.250472], + [-2.983585, 7.379705], + [-2.56219, 8.219628], + [-2.827496, 9.642461], + [-2.963896, 10.395335], + [-2.940409, 10.96269], + [-1.203358, 11.009819], + [-0.761576, 10.93693], + [-0.438702, 11.098341], + [0.023803, 11.018682], + [-0.049785, 10.706918], + [0.36758, 10.191213], + [0.365901, 9.465004], + [0.461192, 8.677223], + [0.712029, 8.312465], + [0.490957, 7.411744], + [0.570384, 6.914359], + [0.836931, 6.279979], + [1.060122, 5.928837] + ] + ] + }, + "id": "GHA" + }, + { + "type": "Feature", + "properties": { "name": "Guinea" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-8.439298, 7.686043], + [-8.722124, 7.711674], + [-8.926065, 7.309037], + [-9.208786, 7.313921], + [-9.403348, 7.526905], + [-9.33728, 7.928534], + [-9.755342, 8.541055], + [-10.016567, 8.428504], + [-10.230094, 8.406206], + [-10.505477, 8.348896], + [-10.494315, 8.715541], + [-10.65477, 8.977178], + [-10.622395, 9.26791], + [-10.839152, 9.688246], + [-11.117481, 10.045873], + [-11.917277, 10.046984], + [-12.150338, 9.858572], + [-12.425929, 9.835834], + [-12.596719, 9.620188], + [-12.711958, 9.342712], + [-13.24655, 8.903049], + [-13.685154, 9.494744], + [-14.074045, 9.886167], + [-14.330076, 10.01572], + [-14.579699, 10.214467], + [-14.693232, 10.656301], + [-14.839554, 10.876572], + [-15.130311, 11.040412], + [-14.685687, 11.527824], + [-14.382192, 11.509272], + [-14.121406, 11.677117], + [-13.9008, 11.678719], + [-13.743161, 11.811269], + [-13.828272, 12.142644], + [-13.718744, 12.247186], + [-13.700476, 12.586183], + [-13.217818, 12.575874], + [-12.499051, 12.33209], + [-12.278599, 12.35444], + [-12.203565, 12.465648], + [-11.658301, 12.386583], + [-11.513943, 12.442988], + [-11.456169, 12.076834], + [-11.297574, 12.077971], + [-11.036556, 12.211245], + [-10.87083, 12.177887], + [-10.593224, 11.923975], + [-10.165214, 11.844084], + [-9.890993, 12.060479], + [-9.567912, 12.194243], + [-9.327616, 12.334286], + [-9.127474, 12.30806], + [-8.905265, 12.088358], + [-8.786099, 11.812561], + [-8.376305, 11.393646], + [-8.581305, 11.136246], + [-8.620321, 10.810891], + [-8.407311, 10.909257], + [-8.282357, 10.792597], + [-8.335377, 10.494812], + [-8.029944, 10.206535], + [-8.229337, 10.12902], + [-8.309616, 9.789532], + [-8.079114, 9.376224], + [-7.8321, 8.575704], + [-8.203499, 8.455453], + [-8.299049, 8.316444], + [-8.221792, 8.123329], + [-8.280703, 7.68718], + [-8.439298, 7.686043] + ] + ] + }, + "id": "GIN" + }, + { + "type": "Feature", + "properties": { "name": "Gambia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-16.841525, 13.151394], + [-16.713729, 13.594959], + [-15.624596, 13.623587], + [-15.39877, 13.860369], + [-15.081735, 13.876492], + [-14.687031, 13.630357], + [-14.376714, 13.62568], + [-14.046992, 13.794068], + [-13.844963, 13.505042], + [-14.277702, 13.280585], + [-14.712197, 13.298207], + [-15.141163, 13.509512], + [-15.511813, 13.27857], + [-15.691001, 13.270353], + [-15.931296, 13.130284], + [-16.841525, 13.151394] + ] + ] + }, + "id": "GMB" + }, + { + "type": "Feature", + "properties": { "name": "Guinea Bissau" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-15.130311, 11.040412], + [-15.66418, 11.458474], + [-16.085214, 11.524594], + [-16.314787, 11.806515], + [-16.308947, 11.958702], + [-16.613838, 12.170911], + [-16.677452, 12.384852], + [-16.147717, 12.547762], + [-15.816574, 12.515567], + [-15.548477, 12.62817], + [-13.700476, 12.586183], + [-13.718744, 12.247186], + [-13.828272, 12.142644], + [-13.743161, 11.811269], + [-13.9008, 11.678719], + [-14.121406, 11.677117], + [-14.382192, 11.509272], + [-14.685687, 11.527824], + [-15.130311, 11.040412] + ] + ] + }, + "id": "GNB" + }, + { + "type": "Feature", + "properties": { "name": "Equatorial Guinea" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [9.492889, 1.01012], + [9.305613, 1.160911], + [9.649158, 2.283866], + [11.276449, 2.261051], + [11.285079, 1.057662], + [9.830284, 1.067894], + [9.492889, 1.01012] + ] + ] + }, + "id": "GNQ" + }, + { + "type": "Feature", + "properties": { "name": "Greece" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [23.69998, 35.705004], + [24.246665, 35.368022], + [25.025015, 35.424996], + [25.769208, 35.354018], + [25.745023, 35.179998], + [26.290003, 35.29999], + [26.164998, 35.004995], + [24.724982, 34.919988], + [24.735007, 35.084991], + [23.514978, 35.279992], + [23.69998, 35.705004] + ] + ], + [ + [ + [26.604196, 41.562115], + [26.294602, 40.936261], + [26.056942, 40.824123], + [25.447677, 40.852545], + [24.925848, 40.947062], + [23.714811, 40.687129], + [24.407999, 40.124993], + [23.899968, 39.962006], + [23.342999, 39.960998], + [22.813988, 40.476005], + [22.626299, 40.256561], + [22.849748, 39.659311], + [23.350027, 39.190011], + [22.973099, 38.970903], + [23.530016, 38.510001], + [24.025025, 38.219993], + [24.040011, 37.655015], + [23.115003, 37.920011], + [23.409972, 37.409991], + [22.774972, 37.30501], + [23.154225, 36.422506], + [22.490028, 36.41], + [21.670026, 36.844986], + [21.295011, 37.644989], + [21.120034, 38.310323], + [20.730032, 38.769985], + [20.217712, 39.340235], + [20.150016, 39.624998], + [20.615, 40.110007], + [20.674997, 40.435], + [20.99999, 40.580004], + [21.02004, 40.842727], + [21.674161, 40.931275], + [22.055378, 41.149866], + [22.597308, 41.130487], + [22.76177, 41.3048], + [22.952377, 41.337994], + [23.692074, 41.309081], + [24.492645, 41.583896], + [25.197201, 41.234486], + [26.106138, 41.328899], + [26.117042, 41.826905], + [26.604196, 41.562115] + ] + ] + ] + }, + "id": "GRC" + }, + { + "type": "Feature", + "properties": { "name": "Greenland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-46.76379, 82.62796], + [-43.40644, 83.22516], + [-39.89753, 83.18018], + [-38.62214, 83.54905], + [-35.08787, 83.64513], + [-27.10046, 83.51966], + [-20.84539, 82.72669], + [-22.69182, 82.34165], + [-26.51753, 82.29765], + [-31.9, 82.2], + [-31.39646, 82.02154], + [-27.85666, 82.13178], + [-24.84448, 81.78697], + [-22.90328, 82.09317], + [-22.07175, 81.73449], + [-23.16961, 81.15271], + [-20.62363, 81.52462], + [-15.76818, 81.91245], + [-12.77018, 81.71885], + [-12.20855, 81.29154], + [-16.28533, 80.58004], + [-16.85, 80.35], + [-20.04624, 80.17708], + [-17.73035, 80.12912], + [-18.9, 79.4], + [-19.70499, 78.75128], + [-19.67353, 77.63859], + [-18.47285, 76.98565], + [-20.03503, 76.94434], + [-21.67944, 76.62795], + [-19.83407, 76.09808], + [-19.59896, 75.24838], + [-20.66818, 75.15585], + [-19.37281, 74.29561], + [-21.59422, 74.22382], + [-20.43454, 73.81713], + [-20.76234, 73.46436], + [-22.17221, 73.30955], + [-23.56593, 73.30663], + [-22.31311, 72.62928], + [-22.29954, 72.18409], + [-24.27834, 72.59788], + [-24.79296, 72.3302], + [-23.44296, 72.08016], + [-22.13281, 71.46898], + [-21.75356, 70.66369], + [-23.53603, 70.471], + [-24.30702, 70.85649], + [-25.54341, 71.43094], + [-25.20135, 70.75226], + [-26.36276, 70.22646], + [-23.72742, 70.18401], + [-22.34902, 70.12946], + [-25.02927, 69.2588], + [-27.74737, 68.47046], + [-30.67371, 68.12503], + [-31.77665, 68.12078], + [-32.81105, 67.73547], + [-34.20196, 66.67974], + [-36.35284, 65.9789], + [-37.04378, 65.93768], + [-38.37505, 65.69213], + [-39.81222, 65.45848], + [-40.66899, 64.83997], + [-40.68281, 64.13902], + [-41.1887, 63.48246], + [-42.81938, 62.68233], + [-42.41666, 61.90093], + [-42.86619, 61.07404], + [-43.3784, 60.09772], + [-44.7875, 60.03676], + [-46.26364, 60.85328], + [-48.26294, 60.85843], + [-49.23308, 61.40681], + [-49.90039, 62.38336], + [-51.63325, 63.62691], + [-52.14014, 64.27842], + [-52.27659, 65.1767], + [-53.66166, 66.09957], + [-53.30161, 66.8365], + [-53.96911, 67.18899], + [-52.9804, 68.35759], + [-51.47536, 68.72958], + [-51.08041, 69.14781], + [-50.87122, 69.9291], + [-52.013585, 69.574925], + [-52.55792, 69.42616], + [-53.45629, 69.283625], + [-54.68336, 69.61003], + [-54.75001, 70.28932], + [-54.35884, 70.821315], + [-53.431315, 70.835755], + [-51.39014, 70.56978], + [-53.10937, 71.20485], + [-54.00422, 71.54719], + [-55, 71.406537], + [-55.83468, 71.65444], + [-54.71819, 72.58625], + [-55.32634, 72.95861], + [-56.12003, 73.64977], + [-57.32363, 74.71026], + [-58.59679, 75.09861], + [-58.58516, 75.51727], + [-61.26861, 76.10238], + [-63.39165, 76.1752], + [-66.06427, 76.13486], + [-68.50438, 76.06141], + [-69.66485, 76.37975], + [-71.40257, 77.00857], + [-68.77671, 77.32312], + [-66.76397, 77.37595], + [-71.04293, 77.63595], + [-73.297, 78.04419], + [-73.15938, 78.43271], + [-69.37345, 78.91388], + [-65.7107, 79.39436], + [-65.3239, 79.75814], + [-68.02298, 80.11721], + [-67.15129, 80.51582], + [-63.68925, 81.21396], + [-62.23444, 81.3211], + [-62.65116, 81.77042], + [-60.28249, 82.03363], + [-57.20744, 82.19074], + [-54.13442, 82.19962], + [-53.04328, 81.88833], + [-50.39061, 82.43883], + [-48.00386, 82.06481], + [-46.59984, 81.985945], + [-44.523, 81.6607], + [-46.9007, 82.19979], + [-46.76379, 82.62796] + ] + ] + }, + "id": "GRL" + }, + { + "type": "Feature", + "properties": { "name": "Guatemala" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-90.095555, 13.735338], + [-90.608624, 13.909771], + [-91.23241, 13.927832], + [-91.689747, 14.126218], + [-92.22775, 14.538829], + [-92.20323, 14.830103], + [-92.087216, 15.064585], + [-92.229249, 15.251447], + [-91.74796, 16.066565], + [-90.464473, 16.069562], + [-90.438867, 16.41011], + [-90.600847, 16.470778], + [-90.711822, 16.687483], + [-91.08167, 16.918477], + [-91.453921, 17.252177], + [-91.002269, 17.254658], + [-91.00152, 17.817595], + [-90.067934, 17.819326], + [-89.14308, 17.808319], + [-89.150806, 17.015577], + [-89.229122, 15.886938], + [-88.930613, 15.887273], + [-88.604586, 15.70638], + [-88.518364, 15.855389], + [-88.225023, 15.727722], + [-88.68068, 15.346247], + [-89.154811, 15.066419], + [-89.22522, 14.874286], + [-89.145535, 14.678019], + [-89.353326, 14.424133], + [-89.587343, 14.362586], + [-89.534219, 14.244816], + [-89.721934, 14.134228], + [-90.064678, 13.88197], + [-90.095555, 13.735338] + ] + ] + }, + "id": "GTM" + }, + { + "type": "Feature", + "properties": { "name": "Guyana" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-59.758285, 8.367035], + [-59.101684, 7.999202], + [-58.482962, 7.347691], + [-58.454876, 6.832787], + [-58.078103, 6.809094], + [-57.542219, 6.321268], + [-57.147436, 5.97315], + [-57.307246, 5.073567], + [-57.914289, 4.812626], + [-57.86021, 4.576801], + [-58.044694, 4.060864], + [-57.601569, 3.334655], + [-57.281433, 3.333492], + [-57.150098, 2.768927], + [-56.539386, 1.899523], + [-56.782704, 1.863711], + [-57.335823, 1.948538], + [-57.660971, 1.682585], + [-58.11345, 1.507195], + [-58.429477, 1.463942], + [-58.540013, 1.268088], + [-59.030862, 1.317698], + [-59.646044, 1.786894], + [-59.718546, 2.24963], + [-59.974525, 2.755233], + [-59.815413, 3.606499], + [-59.53804, 3.958803], + [-59.767406, 4.423503], + [-60.111002, 4.574967], + [-59.980959, 5.014061], + [-60.213683, 5.244486], + [-60.733574, 5.200277], + [-61.410303, 5.959068], + [-61.139415, 6.234297], + [-61.159336, 6.696077], + [-60.543999, 6.856584], + [-60.295668, 7.043911], + [-60.637973, 7.415], + [-60.550588, 7.779603], + [-59.758285, 8.367035] + ] + ] + }, + "id": "GUY" + }, + { + "type": "Feature", + "properties": { "name": "Honduras" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-87.316654, 12.984686], + [-87.489409, 13.297535], + [-87.793111, 13.38448], + [-87.723503, 13.78505], + [-87.859515, 13.893312], + [-88.065343, 13.964626], + [-88.503998, 13.845486], + [-88.541231, 13.980155], + [-88.843073, 14.140507], + [-89.058512, 14.340029], + [-89.353326, 14.424133], + [-89.145535, 14.678019], + [-89.22522, 14.874286], + [-89.154811, 15.066419], + [-88.68068, 15.346247], + [-88.225023, 15.727722], + [-88.121153, 15.688655], + [-87.901813, 15.864458], + [-87.61568, 15.878799], + [-87.522921, 15.797279], + [-87.367762, 15.84694], + [-86.903191, 15.756713], + [-86.440946, 15.782835], + [-86.119234, 15.893449], + [-86.001954, 16.005406], + [-85.683317, 15.953652], + [-85.444004, 15.885749], + [-85.182444, 15.909158], + [-84.983722, 15.995923], + [-84.52698, 15.857224], + [-84.368256, 15.835158], + [-84.063055, 15.648244], + [-83.773977, 15.424072], + [-83.410381, 15.270903], + [-83.147219, 14.995829], + [-83.489989, 15.016267], + [-83.628585, 14.880074], + [-83.975721, 14.749436], + [-84.228342, 14.748764], + [-84.449336, 14.621614], + [-84.649582, 14.666805], + [-84.820037, 14.819587], + [-84.924501, 14.790493], + [-85.052787, 14.551541], + [-85.148751, 14.560197], + [-85.165365, 14.35437], + [-85.514413, 14.079012], + [-85.698665, 13.960078], + [-85.801295, 13.836055], + [-86.096264, 14.038187], + [-86.312142, 13.771356], + [-86.520708, 13.778487], + [-86.755087, 13.754845], + [-86.733822, 13.263093], + [-86.880557, 13.254204], + [-87.005769, 13.025794], + [-87.316654, 12.984686] + ] + ] + }, + "id": "HND" + }, + { + "type": "Feature", + "properties": { "name": "Croatia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [18.829838, 45.908878], + [19.072769, 45.521511], + [19.390476, 45.236516], + [19.005486, 44.860234], + [18.553214, 45.08159], + [17.861783, 45.06774], + [17.002146, 45.233777], + [16.534939, 45.211608], + [16.318157, 45.004127], + [15.959367, 45.233777], + [15.750026, 44.818712], + [16.23966, 44.351143], + [16.456443, 44.04124], + [16.916156, 43.667722], + [17.297373, 43.446341], + [17.674922, 43.028563], + [18.56, 42.65], + [18.450016, 42.479991], + [17.50997, 42.849995], + [16.930006, 43.209998], + [16.015385, 43.507215], + [15.174454, 44.243191], + [15.37625, 44.317915], + [14.920309, 44.738484], + [14.901602, 45.07606], + [14.258748, 45.233777], + [13.952255, 44.802124], + [13.656976, 45.136935], + [13.679403, 45.484149], + [13.71506, 45.500324], + [14.411968, 45.466166], + [14.595109, 45.634941], + [14.935244, 45.471695], + [15.327675, 45.452316], + [15.323954, 45.731783], + [15.67153, 45.834154], + [15.768733, 46.238108], + [16.564808, 46.503751], + [16.882515, 46.380632], + [17.630066, 45.951769], + [18.456062, 45.759481], + [18.829838, 45.908878] + ] + ] + }, + "id": "HRV" + }, + { + "type": "Feature", + "properties": { "name": "Haiti" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-73.189791, 19.915684], + [-72.579673, 19.871501], + [-71.712361, 19.714456], + [-71.624873, 19.169838], + [-71.701303, 18.785417], + [-71.945112, 18.6169], + [-71.687738, 18.31666], + [-71.708305, 18.044997], + [-72.372476, 18.214961], + [-72.844411, 18.145611], + [-73.454555, 18.217906], + [-73.922433, 18.030993], + [-74.458034, 18.34255], + [-74.369925, 18.664908], + [-73.449542, 18.526053], + [-72.694937, 18.445799], + [-72.334882, 18.668422], + [-72.79165, 19.101625], + [-72.784105, 19.483591], + [-73.415022, 19.639551], + [-73.189791, 19.915684] + ] + ] + }, + "id": "HTI" + }, + { + "type": "Feature", + "properties": { "name": "Hungary" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [16.202298, 46.852386], + [16.534268, 47.496171], + [16.340584, 47.712902], + [16.903754, 47.714866], + [16.979667, 48.123497], + [17.488473, 47.867466], + [17.857133, 47.758429], + [18.696513, 47.880954], + [18.777025, 48.081768], + [19.174365, 48.111379], + [19.661364, 48.266615], + [19.769471, 48.202691], + [20.239054, 48.327567], + [20.473562, 48.56285], + [20.801294, 48.623854], + [21.872236, 48.319971], + [22.085608, 48.422264], + [22.64082, 48.15024], + [22.710531, 47.882194], + [22.099768, 47.672439], + [21.626515, 46.994238], + [21.021952, 46.316088], + [20.220192, 46.127469], + [19.596045, 46.17173], + [18.829838, 45.908878], + [18.456062, 45.759481], + [17.630066, 45.951769], + [16.882515, 46.380632], + [16.564808, 46.503751], + [16.370505, 46.841327], + [16.202298, 46.852386] + ] + ] + }, + "id": "HUN" + }, + { + "type": "Feature", + "properties": { "name": "Indonesia" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [120.715609, -10.239581], + [120.295014, -10.25865], + [118.967808, -9.557969], + [119.90031, -9.36134], + [120.425756, -9.665921], + [120.775502, -9.969675], + [120.715609, -10.239581] + ] + ], + [ + [ + [124.43595, -10.140001], + [123.579982, -10.359987], + [123.459989, -10.239995], + [123.550009, -9.900016], + [123.980009, -9.290027], + [124.968682, -8.89279], + [125.07002, -9.089987], + [125.08852, -9.393173], + [124.43595, -10.140001] + ] + ], + [ + [ + [117.900018, -8.095681], + [118.260616, -8.362383], + [118.87846, -8.280683], + [119.126507, -8.705825], + [117.970402, -8.906639], + [117.277731, -9.040895], + [116.740141, -9.032937], + [117.083737, -8.457158], + [117.632024, -8.449303], + [117.900018, -8.095681] + ] + ], + [ + [ + [122.903537, -8.094234], + [122.756983, -8.649808], + [121.254491, -8.933666], + [119.924391, -8.810418], + [119.920929, -8.444859], + [120.715092, -8.236965], + [121.341669, -8.53674], + [122.007365, -8.46062], + [122.903537, -8.094234] + ] + ], + [ + [ + [108.623479, -6.777674], + [110.539227, -6.877358], + [110.759576, -6.465186], + [112.614811, -6.946036], + [112.978768, -7.594213], + [114.478935, -7.776528], + [115.705527, -8.370807], + [114.564511, -8.751817], + [113.464734, -8.348947], + [112.559672, -8.376181], + [111.522061, -8.302129], + [110.58615, -8.122605], + [109.427667, -7.740664], + [108.693655, -7.6416], + [108.277763, -7.766657], + [106.454102, -7.3549], + [106.280624, -6.9249], + [105.365486, -6.851416], + [106.051646, -5.895919], + [107.265009, -5.954985], + [108.072091, -6.345762], + [108.486846, -6.421985], + [108.623479, -6.777674] + ] + ], + [ + [ + [134.724624, -6.214401], + [134.210134, -6.895238], + [134.112776, -6.142467], + [134.290336, -5.783058], + [134.499625, -5.445042], + [134.727002, -5.737582], + [134.724624, -6.214401] + ] + ], + [ + [ + [127.249215, -3.459065], + [126.874923, -3.790983], + [126.183802, -3.607376], + [125.989034, -3.177273], + [127.000651, -3.129318], + [127.249215, -3.459065] + ] + ], + [ + [ + [130.471344, -3.093764], + [130.834836, -3.858472], + [129.990547, -3.446301], + [129.155249, -3.362637], + [128.590684, -3.428679], + [127.898891, -3.393436], + [128.135879, -2.84365], + [129.370998, -2.802154], + [130.471344, -3.093764] + ] + ], + [ + [ + [134.143368, -1.151867], + [134.422627, -2.769185], + [135.457603, -3.367753], + [136.293314, -2.307042], + [137.440738, -1.703513], + [138.329727, -1.702686], + [139.184921, -2.051296], + [139.926684, -2.409052], + [141.00021, -2.600151], + [141.017057, -5.859022], + [141.033852, -9.117893], + [140.143415, -8.297168], + [139.127767, -8.096043], + [138.881477, -8.380935], + [137.614474, -8.411683], + [138.039099, -7.597882], + [138.668621, -7.320225], + [138.407914, -6.232849], + [137.92784, -5.393366], + [135.98925, -4.546544], + [135.164598, -4.462931], + [133.66288, -3.538853], + [133.367705, -4.024819], + [132.983956, -4.112979], + [132.756941, -3.746283], + [132.753789, -3.311787], + [131.989804, -2.820551], + [133.066845, -2.460418], + [133.780031, -2.479848], + [133.696212, -2.214542], + [132.232373, -2.212526], + [131.836222, -1.617162], + [130.94284, -1.432522], + [130.519558, -0.93772], + [131.867538, -0.695461], + [132.380116, -0.369538], + [133.985548, -0.78021], + [134.143368, -1.151867] + ] + ], + [ + [ + [125.240501, 1.419836], + [124.437035, 0.427881], + [123.685505, 0.235593], + [122.723083, 0.431137], + [121.056725, 0.381217], + [120.183083, 0.237247], + [120.04087, -0.519658], + [120.935905, -1.408906], + [121.475821, -0.955962], + [123.340565, -0.615673], + [123.258399, -1.076213], + [122.822715, -0.930951], + [122.38853, -1.516858], + [121.508274, -1.904483], + [122.454572, -3.186058], + [122.271896, -3.5295], + [123.170963, -4.683693], + [123.162333, -5.340604], + [122.628515, -5.634591], + [122.236394, -5.282933], + [122.719569, -4.464172], + [121.738234, -4.851331], + [121.489463, -4.574553], + [121.619171, -4.188478], + [120.898182, -3.602105], + [120.972389, -2.627643], + [120.305453, -2.931604], + [120.390047, -4.097579], + [120.430717, -5.528241], + [119.796543, -5.6734], + [119.366906, -5.379878], + [119.653606, -4.459417], + [119.498835, -3.494412], + [119.078344, -3.487022], + [118.767769, -2.801999], + [119.180974, -2.147104], + [119.323394, -1.353147], + [119.825999, 0.154254], + [120.035702, 0.566477], + [120.885779, 1.309223], + [121.666817, 1.013944], + [122.927567, 0.875192], + [124.077522, 0.917102], + [125.065989, 1.643259], + [125.240501, 1.419836] + ] + ], + [ + [ + [128.688249, 1.132386], + [128.635952, 0.258486], + [128.12017, 0.356413], + [127.968034, -0.252077], + [128.379999, -0.780004], + [128.100016, -0.899996], + [127.696475, -0.266598], + [127.39949, 1.011722], + [127.600512, 1.810691], + [127.932378, 2.174596], + [128.004156, 1.628531], + [128.594559, 1.540811], + [128.688249, 1.132386] + ] + ], + [ + [ + [117.875627, 1.827641], + [118.996747, 0.902219], + [117.811858, 0.784242], + [117.478339, 0.102475], + [117.521644, -0.803723], + [116.560048, -1.487661], + [116.533797, -2.483517], + [116.148084, -4.012726], + [116.000858, -3.657037], + [114.864803, -4.106984], + [114.468652, -3.495704], + [113.755672, -3.43917], + [113.256994, -3.118776], + [112.068126, -3.478392], + [111.703291, -2.994442], + [111.04824, -3.049426], + [110.223846, -2.934032], + [110.070936, -1.592874], + [109.571948, -1.314907], + [109.091874, -0.459507], + [108.952658, 0.415375], + [109.069136, 1.341934], + [109.66326, 2.006467], + [109.830227, 1.338136], + [110.514061, 0.773131], + [111.159138, 0.976478], + [111.797548, 0.904441], + [112.380252, 1.410121], + [112.859809, 1.49779], + [113.80585, 1.217549], + [114.621355, 1.430688], + [115.134037, 2.821482], + [115.519078, 3.169238], + [115.865517, 4.306559], + [117.015214, 4.306094], + [117.882035, 4.137551], + [117.313232, 3.234428], + [118.04833, 2.28769], + [117.875627, 1.827641] + ] + ], + [ + [ + [105.817655, -5.852356], + [104.710384, -5.873285], + [103.868213, -5.037315], + [102.584261, -4.220259], + [102.156173, -3.614146], + [101.399113, -2.799777], + [100.902503, -2.050262], + [100.141981, -0.650348], + [99.26374, 0.183142], + [98.970011, 1.042882], + [98.601351, 1.823507], + [97.699598, 2.453184], + [97.176942, 3.308791], + [96.424017, 3.86886], + [95.380876, 4.970782], + [95.293026, 5.479821], + [95.936863, 5.439513], + [97.484882, 5.246321], + [98.369169, 4.26837], + [99.142559, 3.59035], + [99.693998, 3.174329], + [100.641434, 2.099381], + [101.658012, 2.083697], + [102.498271, 1.3987], + [103.07684, 0.561361], + [103.838396, 0.104542], + [103.437645, -0.711946], + [104.010789, -1.059212], + [104.369991, -1.084843], + [104.53949, -1.782372], + [104.887893, -2.340425], + [105.622111, -2.428844], + [106.108593, -3.061777], + [105.857446, -4.305525], + [105.817655, -5.852356] + ] + ] + ] + }, + "id": "IDN" + }, + { + "type": "Feature", + "properties": { "name": "India" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [77.837451, 35.49401], + [78.912269, 34.321936], + [78.811086, 33.506198], + [79.208892, 32.994395], + [79.176129, 32.48378], + [78.458446, 32.618164], + [78.738894, 31.515906], + [79.721367, 30.882715], + [81.111256, 30.183481], + [80.476721, 29.729865], + [80.088425, 28.79447], + [81.057203, 28.416095], + [81.999987, 27.925479], + [83.304249, 27.364506], + [84.675018, 27.234901], + [85.251779, 26.726198], + [86.024393, 26.630985], + [87.227472, 26.397898], + [88.060238, 26.414615], + [88.174804, 26.810405], + [88.043133, 27.445819], + [88.120441, 27.876542], + [88.730326, 28.086865], + [88.814248, 27.299316], + [88.835643, 27.098966], + [89.744528, 26.719403], + [90.373275, 26.875724], + [91.217513, 26.808648], + [92.033484, 26.83831], + [92.103712, 27.452614], + [91.696657, 27.771742], + [92.503119, 27.896876], + [93.413348, 28.640629], + [94.56599, 29.277438], + [95.404802, 29.031717], + [96.117679, 29.452802], + [96.586591, 28.83098], + [96.248833, 28.411031], + [97.327114, 28.261583], + [97.402561, 27.882536], + [97.051989, 27.699059], + [97.133999, 27.083774], + [96.419366, 27.264589], + [95.124768, 26.573572], + [95.155153, 26.001307], + [94.603249, 25.162495], + [94.552658, 24.675238], + [94.106742, 23.850741], + [93.325188, 24.078556], + [93.286327, 23.043658], + [93.060294, 22.703111], + [93.166128, 22.27846], + [92.672721, 22.041239], + [92.146035, 23.627499], + [91.869928, 23.624346], + [91.706475, 22.985264], + [91.158963, 23.503527], + [91.46773, 24.072639], + [91.915093, 24.130414], + [92.376202, 24.976693], + [91.799596, 25.147432], + [90.872211, 25.132601], + [89.920693, 25.26975], + [89.832481, 25.965082], + [89.355094, 26.014407], + [88.563049, 26.446526], + [88.209789, 25.768066], + [88.931554, 25.238692], + [88.306373, 24.866079], + [88.084422, 24.501657], + [88.69994, 24.233715], + [88.52977, 23.631142], + [88.876312, 22.879146], + [89.031961, 22.055708], + [88.888766, 21.690588], + [88.208497, 21.703172], + [86.975704, 21.495562], + [87.033169, 20.743308], + [86.499351, 20.151638], + [85.060266, 19.478579], + [83.941006, 18.30201], + [83.189217, 17.671221], + [82.192792, 17.016636], + [82.191242, 16.556664], + [81.692719, 16.310219], + [80.791999, 15.951972], + [80.324896, 15.899185], + [80.025069, 15.136415], + [80.233274, 13.835771], + [80.286294, 13.006261], + [79.862547, 12.056215], + [79.857999, 10.357275], + [79.340512, 10.308854], + [78.885345, 9.546136], + [79.18972, 9.216544], + [78.277941, 8.933047], + [77.941165, 8.252959], + [77.539898, 7.965535], + [76.592979, 8.899276], + [76.130061, 10.29963], + [75.746467, 11.308251], + [75.396101, 11.781245], + [74.864816, 12.741936], + [74.616717, 13.992583], + [74.443859, 14.617222], + [73.534199, 15.990652], + [73.119909, 17.92857], + [72.820909, 19.208234], + [72.824475, 20.419503], + [72.630533, 21.356009], + [71.175273, 20.757441], + [70.470459, 20.877331], + [69.16413, 22.089298], + [69.644928, 22.450775], + [69.349597, 22.84318], + [68.176645, 23.691965], + [68.842599, 24.359134], + [71.04324, 24.356524], + [70.844699, 25.215102], + [70.282873, 25.722229], + [70.168927, 26.491872], + [69.514393, 26.940966], + [70.616496, 27.989196], + [71.777666, 27.91318], + [72.823752, 28.961592], + [73.450638, 29.976413], + [74.42138, 30.979815], + [74.405929, 31.692639], + [75.258642, 32.271105], + [74.451559, 32.7649], + [74.104294, 33.441473], + [73.749948, 34.317699], + [74.240203, 34.748887], + [75.757061, 34.504923], + [76.871722, 34.653544], + [77.837451, 35.49401] + ] + ] + }, + "id": "IND" + }, + { + "type": "Feature", + "properties": { "name": "Ireland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-6.197885, 53.867565], + [-6.032985, 53.153164], + [-6.788857, 52.260118], + [-8.561617, 51.669301], + [-9.977086, 51.820455], + [-9.166283, 52.864629], + [-9.688525, 53.881363], + [-8.327987, 54.664519], + [-7.572168, 55.131622], + [-7.366031, 54.595841], + [-7.572168, 54.059956], + [-6.95373, 54.073702], + [-6.197885, 53.867565] + ] + ] + }, + "id": "IRL" + }, + { + "type": "Feature", + "properties": { "name": "Iran" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [53.921598, 37.198918], + [54.800304, 37.392421], + [55.511578, 37.964117], + [56.180375, 37.935127], + [56.619366, 38.121394], + [57.330434, 38.029229], + [58.436154, 37.522309], + [59.234762, 37.412988], + [60.377638, 36.527383], + [61.123071, 36.491597], + [61.210817, 35.650072], + [60.803193, 34.404102], + [60.52843, 33.676446], + [60.9637, 33.528832], + [60.536078, 32.981269], + [60.863655, 32.18292], + [60.941945, 31.548075], + [61.699314, 31.379506], + [61.781222, 30.73585], + [60.874248, 29.829239], + [61.369309, 29.303276], + [61.771868, 28.699334], + [62.72783, 28.259645], + [62.755426, 27.378923], + [63.233898, 27.217047], + [63.316632, 26.756532], + [61.874187, 26.239975], + [61.497363, 25.078237], + [59.616134, 25.380157], + [58.525761, 25.609962], + [57.397251, 25.739902], + [56.970766, 26.966106], + [56.492139, 27.143305], + [55.72371, 26.964633], + [54.71509, 26.480658], + [53.493097, 26.812369], + [52.483598, 27.580849], + [51.520763, 27.86569], + [50.852948, 28.814521], + [50.115009, 30.147773], + [49.57685, 29.985715], + [48.941333, 30.31709], + [48.567971, 29.926778], + [48.014568, 30.452457], + [48.004698, 30.985137], + [47.685286, 30.984853], + [47.849204, 31.709176], + [47.334661, 32.469155], + [46.109362, 33.017287], + [45.416691, 33.967798], + [45.64846, 34.748138], + [46.151788, 35.093259], + [46.07634, 35.677383], + [45.420618, 35.977546], + [44.77267, 37.17045], + [44.225756, 37.971584], + [44.421403, 38.281281], + [44.109225, 39.428136], + [44.79399, 39.713003], + [44.952688, 39.335765], + [45.457722, 38.874139], + [46.143623, 38.741201], + [46.50572, 38.770605], + [47.685079, 39.508364], + [48.060095, 39.582235], + [48.355529, 39.288765], + [48.010744, 38.794015], + [48.634375, 38.270378], + [48.883249, 38.320245], + [49.199612, 37.582874], + [50.147771, 37.374567], + [50.842354, 36.872814], + [52.264025, 36.700422], + [53.82579, 36.965031], + [53.921598, 37.198918] + ] + ] + }, + "id": "IRN" + }, + { + "type": "Feature", + "properties": { "name": "Iraq" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [45.420618, 35.977546], + [46.07634, 35.677383], + [46.151788, 35.093259], + [45.64846, 34.748138], + [45.416691, 33.967798], + [46.109362, 33.017287], + [47.334661, 32.469155], + [47.849204, 31.709176], + [47.685286, 30.984853], + [48.004698, 30.985137], + [48.014568, 30.452457], + [48.567971, 29.926778], + [47.974519, 29.975819], + [47.302622, 30.05907], + [46.568713, 29.099025], + [44.709499, 29.178891], + [41.889981, 31.190009], + [40.399994, 31.889992], + [39.195468, 32.161009], + [38.792341, 33.378686], + [41.006159, 34.419372], + [41.383965, 35.628317], + [41.289707, 36.358815], + [41.837064, 36.605854], + [42.349591, 37.229873], + [42.779126, 37.385264], + [43.942259, 37.256228], + [44.293452, 37.001514], + [44.772699, 37.170445], + [45.420618, 35.977546] + ] + ] + }, + "id": "IRQ" + }, + { + "type": "Feature", + "properties": { "name": "Iceland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-14.508695, 66.455892], + [-14.739637, 65.808748], + [-13.609732, 65.126671], + [-14.909834, 64.364082], + [-17.794438, 63.678749], + [-18.656246, 63.496383], + [-19.972755, 63.643635], + [-22.762972, 63.960179], + [-21.778484, 64.402116], + [-23.955044, 64.89113], + [-22.184403, 65.084968], + [-22.227423, 65.378594], + [-24.326184, 65.611189], + [-23.650515, 66.262519], + [-22.134922, 66.410469], + [-20.576284, 65.732112], + [-19.056842, 66.276601], + [-17.798624, 65.993853], + [-16.167819, 66.526792], + [-14.508695, 66.455892] + ] + ] + }, + "id": "ISL" + }, + { + "type": "Feature", + "properties": { "name": "Israel" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [35.719918, 32.709192], + [35.545665, 32.393992], + [35.18393, 32.532511], + [34.974641, 31.866582], + [35.225892, 31.754341], + [34.970507, 31.616778], + [34.927408, 31.353435], + [35.397561, 31.489086], + [35.420918, 31.100066], + [34.922603, 29.501326], + [34.265433, 31.219361], + [34.556372, 31.548824], + [34.488107, 31.605539], + [34.752587, 32.072926], + [34.955417, 32.827376], + [35.098457, 33.080539], + [35.126053, 33.0909], + [35.460709, 33.08904], + [35.552797, 33.264275], + [35.821101, 33.277426], + [35.836397, 32.868123], + [35.700798, 32.716014], + [35.719918, 32.709192] + ] + ] + }, + "id": "ISR" + }, + { + "type": "Feature", + "properties": { "name": "Italy" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [15.520376, 38.231155], + [15.160243, 37.444046], + [15.309898, 37.134219], + [15.099988, 36.619987], + [14.335229, 36.996631], + [13.826733, 37.104531], + [12.431004, 37.61295], + [12.570944, 38.126381], + [13.741156, 38.034966], + [14.761249, 38.143874], + [15.520376, 38.231155] + ] + ], + [ + [ + [9.210012, 41.209991], + [9.809975, 40.500009], + [9.669519, 39.177376], + [9.214818, 39.240473], + [8.806936, 38.906618], + [8.428302, 39.171847], + [8.388253, 40.378311], + [8.159998, 40.950007], + [8.709991, 40.899984], + [9.210012, 41.209991] + ] + ], + [ + [ + [12.376485, 46.767559], + [13.806475, 46.509306], + [13.69811, 46.016778], + [13.93763, 45.591016], + [13.141606, 45.736692], + [12.328581, 45.381778], + [12.383875, 44.885374], + [12.261453, 44.600482], + [12.589237, 44.091366], + [13.526906, 43.587727], + [14.029821, 42.761008], + [15.14257, 41.95514], + [15.926191, 41.961315], + [16.169897, 41.740295], + [15.889346, 41.541082], + [16.785002, 41.179606], + [17.519169, 40.877143], + [18.376687, 40.355625], + [18.480247, 40.168866], + [18.293385, 39.810774], + [17.73838, 40.277671], + [16.869596, 40.442235], + [16.448743, 39.795401], + [17.17149, 39.4247], + [17.052841, 38.902871], + [16.635088, 38.843572], + [16.100961, 37.985899], + [15.684087, 37.908849], + [15.687963, 38.214593], + [15.891981, 38.750942], + [16.109332, 38.964547], + [15.718814, 39.544072], + [15.413613, 40.048357], + [14.998496, 40.172949], + [14.703268, 40.60455], + [14.060672, 40.786348], + [13.627985, 41.188287], + [12.888082, 41.25309], + [12.106683, 41.704535], + [11.191906, 42.355425], + [10.511948, 42.931463], + [10.200029, 43.920007], + [9.702488, 44.036279], + [8.888946, 44.366336], + [8.428561, 44.231228], + [7.850767, 43.767148], + [7.435185, 43.693845], + [7.549596, 44.127901], + [7.007562, 44.254767], + [6.749955, 45.028518], + [7.096652, 45.333099], + [6.802355, 45.70858], + [6.843593, 45.991147], + [7.273851, 45.776948], + [7.755992, 45.82449], + [8.31663, 46.163642], + [8.489952, 46.005151], + [8.966306, 46.036932], + [9.182882, 46.440215], + [9.922837, 46.314899], + [10.363378, 46.483571], + [10.442701, 46.893546], + [11.048556, 46.751359], + [11.164828, 46.941579], + [12.153088, 47.115393], + [12.376485, 46.767559] + ] + ] + ] + }, + "id": "ITA" + }, + { + "type": "Feature", + "properties": { "name": "Jamaica" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-77.569601, 18.490525], + [-76.896619, 18.400867], + [-76.365359, 18.160701], + [-76.199659, 17.886867], + [-76.902561, 17.868238], + [-77.206341, 17.701116], + [-77.766023, 17.861597], + [-78.337719, 18.225968], + [-78.217727, 18.454533], + [-77.797365, 18.524218], + [-77.569601, 18.490525] + ] + ] + }, + "id": "JAM" + }, + { + "type": "Feature", + "properties": { "name": "Jordan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [35.545665, 32.393992], + [35.719918, 32.709192], + [36.834062, 32.312938], + [38.792341, 33.378686], + [39.195468, 32.161009], + [39.004886, 32.010217], + [37.002166, 31.508413], + [37.998849, 30.5085], + [37.66812, 30.338665], + [37.503582, 30.003776], + [36.740528, 29.865283], + [36.501214, 29.505254], + [36.068941, 29.197495], + [34.956037, 29.356555], + [34.922603, 29.501326], + [35.420918, 31.100066], + [35.397561, 31.489086], + [35.545252, 31.782505], + [35.545665, 32.393992] + ] + ] + }, + "id": "JOR" + }, + { + "type": "Feature", + "properties": { "name": "Japan" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [134.638428, 34.149234], + [134.766379, 33.806335], + [134.203416, 33.201178], + [133.79295, 33.521985], + [133.280268, 33.28957], + [133.014858, 32.704567], + [132.363115, 32.989382], + [132.371176, 33.463642], + [132.924373, 34.060299], + [133.492968, 33.944621], + [133.904106, 34.364931], + [134.638428, 34.149234] + ] + ], + [ + [ + [140.976388, 37.142074], + [140.59977, 36.343983], + [140.774074, 35.842877], + [140.253279, 35.138114], + [138.975528, 34.6676], + [137.217599, 34.606286], + [135.792983, 33.464805], + [135.120983, 33.849071], + [135.079435, 34.596545], + [133.340316, 34.375938], + [132.156771, 33.904933], + [130.986145, 33.885761], + [132.000036, 33.149992], + [131.33279, 31.450355], + [130.686318, 31.029579], + [130.20242, 31.418238], + [130.447676, 32.319475], + [129.814692, 32.61031], + [129.408463, 33.296056], + [130.353935, 33.604151], + [130.878451, 34.232743], + [131.884229, 34.749714], + [132.617673, 35.433393], + [134.608301, 35.731618], + [135.677538, 35.527134], + [136.723831, 37.304984], + [137.390612, 36.827391], + [138.857602, 37.827485], + [139.426405, 38.215962], + [140.05479, 39.438807], + [139.883379, 40.563312], + [140.305783, 41.195005], + [141.368973, 41.37856], + [141.914263, 39.991616], + [141.884601, 39.180865], + [140.959489, 38.174001], + [140.976388, 37.142074] + ] + ], + [ + [ + [143.910162, 44.1741], + [144.613427, 43.960883], + [145.320825, 44.384733], + [145.543137, 43.262088], + [144.059662, 42.988358], + [143.18385, 41.995215], + [141.611491, 42.678791], + [141.067286, 41.584594], + [139.955106, 41.569556], + [139.817544, 42.563759], + [140.312087, 43.333273], + [141.380549, 43.388825], + [141.671952, 44.772125], + [141.967645, 45.551483], + [143.14287, 44.510358], + [143.910162, 44.1741] + ] + ] + ] + }, + "id": "JPN" + }, + { + "type": "Feature", + "properties": { "name": "Kazakhstan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [70.962315, 42.266154], + [70.388965, 42.081308], + [69.070027, 41.384244], + [68.632483, 40.668681], + [68.259896, 40.662325], + [67.985856, 41.135991], + [66.714047, 41.168444], + [66.510649, 41.987644], + [66.023392, 41.994646], + [66.098012, 42.99766], + [64.900824, 43.728081], + [63.185787, 43.650075], + [62.0133, 43.504477], + [61.05832, 44.405817], + [60.239972, 44.784037], + [58.689989, 45.500014], + [58.503127, 45.586804], + [55.928917, 44.995858], + [55.968191, 41.308642], + [55.455251, 41.259859], + [54.755345, 42.043971], + [54.079418, 42.324109], + [52.944293, 42.116034], + [52.50246, 41.783316], + [52.446339, 42.027151], + [52.692112, 42.443895], + [52.501426, 42.792298], + [51.342427, 43.132975], + [50.891292, 44.031034], + [50.339129, 44.284016], + [50.305643, 44.609836], + [51.278503, 44.514854], + [51.316899, 45.245998], + [52.16739, 45.408391], + [53.040876, 45.259047], + [53.220866, 46.234646], + [53.042737, 46.853006], + [52.042023, 46.804637], + [51.191945, 47.048705], + [50.034083, 46.60899], + [49.10116, 46.39933], + [48.593241, 46.561034], + [48.694734, 47.075628], + [48.057253, 47.743753], + [47.315231, 47.715847], + [46.466446, 48.394152], + [47.043672, 49.152039], + [46.751596, 49.356006], + [47.54948, 50.454698], + [48.577841, 49.87476], + [48.702382, 50.605128], + [50.766648, 51.692762], + [52.328724, 51.718652], + [54.532878, 51.02624], + [55.716941, 50.621717], + [56.777961, 51.043551], + [58.363291, 51.063653], + [59.642282, 50.545442], + [59.932807, 50.842194], + [61.337424, 50.79907], + [61.588003, 51.272659], + [59.967534, 51.96042], + [60.927269, 52.447548], + [60.739993, 52.719986], + [61.699986, 52.979996], + [60.978066, 53.664993], + [61.436591, 54.006265], + [65.178534, 54.354228], + [65.666876, 54.601267], + [68.1691, 54.970392], + [69.068167, 55.38525], + [70.865267, 55.169734], + [71.180131, 54.133285], + [72.22415, 54.376655], + [73.508516, 54.035617], + [73.425679, 53.48981], + [74.384845, 53.546861], + [76.8911, 54.490524], + [76.525179, 54.177003], + [77.800916, 53.404415], + [80.03556, 50.864751], + [80.568447, 51.388336], + [81.945986, 50.812196], + [83.383004, 51.069183], + [83.935115, 50.889246], + [84.416377, 50.3114], + [85.11556, 50.117303], + [85.54127, 49.692859], + [86.829357, 49.826675], + [87.35997, 49.214981], + [86.598776, 48.549182], + [85.768233, 48.455751], + [85.720484, 47.452969], + [85.16429, 47.000956], + [83.180484, 47.330031], + [82.458926, 45.53965], + [81.947071, 45.317027], + [79.966106, 44.917517], + [80.866206, 43.180362], + [80.18015, 42.920068], + [80.25999, 42.349999], + [79.643645, 42.496683], + [79.142177, 42.856092], + [77.658392, 42.960686], + [76.000354, 42.988022], + [75.636965, 42.8779], + [74.212866, 43.298339], + [73.645304, 43.091272], + [73.489758, 42.500894], + [71.844638, 42.845395], + [71.186281, 42.704293], + [70.962315, 42.266154] + ] + ] + }, + "id": "KAZ" + }, + { + "type": "Feature", + "properties": { "name": "Kenya" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [40.993, -0.85829], + [41.58513, -1.68325], + [40.88477, -2.08255], + [40.63785, -2.49979], + [40.26304, -2.57309], + [40.12119, -3.27768], + [39.80006, -3.68116], + [39.60489, -4.34653], + [39.20222, -4.67677], + [37.7669, -3.67712], + [37.69869, -3.09699], + [34.07262, -1.05982], + [33.903711, -0.95], + [33.893569, 0.109814], + [34.18, 0.515], + [34.6721, 1.17694], + [35.03599, 1.90584], + [34.59607, 3.05374], + [34.47913, 3.5556], + [34.005, 4.249885], + [34.620196, 4.847123], + [35.298007, 5.506], + [35.817448, 5.338232], + [35.817448, 4.776966], + [36.159079, 4.447864], + [36.855093, 4.447864], + [38.120915, 3.598605], + [38.43697, 3.58851], + [38.67114, 3.61607], + [38.89251, 3.50074], + [39.559384, 3.42206], + [39.85494, 3.83879], + [40.76848, 4.25702], + [41.1718, 3.91909], + [41.855083, 3.918912], + [40.98105, 2.78452], + [40.993, -0.85829] + ] + ] + }, + "id": "KEN" + }, + { + "type": "Feature", + "properties": { "name": "Kyrgyzstan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [70.962315, 42.266154], + [71.186281, 42.704293], + [71.844638, 42.845395], + [73.489758, 42.500894], + [73.645304, 43.091272], + [74.212866, 43.298339], + [75.636965, 42.8779], + [76.000354, 42.988022], + [77.658392, 42.960686], + [79.142177, 42.856092], + [79.643645, 42.496683], + [80.25999, 42.349999], + [80.11943, 42.123941], + [78.543661, 41.582243], + [78.187197, 41.185316], + [76.904484, 41.066486], + [76.526368, 40.427946], + [75.467828, 40.562072], + [74.776862, 40.366425], + [73.822244, 39.893973], + [73.960013, 39.660008], + [73.675379, 39.431237], + [71.784694, 39.279463], + [70.549162, 39.604198], + [69.464887, 39.526683], + [69.55961, 40.103211], + [70.648019, 39.935754], + [71.014198, 40.244366], + [71.774875, 40.145844], + [73.055417, 40.866033], + [71.870115, 41.3929], + [71.157859, 41.143587], + [70.420022, 41.519998], + [71.259248, 42.167711], + [70.962315, 42.266154] + ] + ] + }, + "id": "KGZ" + }, + { + "type": "Feature", + "properties": { "name": "Cambodia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [103.49728, 10.632555], + [103.09069, 11.153661], + [102.584932, 12.186595], + [102.348099, 13.394247], + [102.988422, 14.225721], + [104.281418, 14.416743], + [105.218777, 14.273212], + [106.043946, 13.881091], + [106.496373, 14.570584], + [107.382727, 14.202441], + [107.614548, 13.535531], + [107.491403, 12.337206], + [105.810524, 11.567615], + [106.24967, 10.961812], + [105.199915, 10.88931], + [104.334335, 10.486544], + [103.49728, 10.632555] + ] + ] + }, + "id": "KHM" + }, + { + "type": "Feature", + "properties": { "name": "South Korea" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [128.349716, 38.612243], + [129.21292, 37.432392], + [129.46045, 36.784189], + [129.468304, 35.632141], + [129.091377, 35.082484], + [128.18585, 34.890377], + [127.386519, 34.475674], + [126.485748, 34.390046], + [126.37392, 34.93456], + [126.559231, 35.684541], + [126.117398, 36.725485], + [126.860143, 36.893924], + [126.174759, 37.749686], + [126.237339, 37.840378], + [126.68372, 37.804773], + [127.073309, 38.256115], + [127.780035, 38.304536], + [128.205746, 38.370397], + [128.349716, 38.612243] + ] + ] + }, + "id": "KOR" + }, + { + "type": "Feature", + "properties": { "name": "Kosovo" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [20.76216, 42.05186], + [20.71731, 41.84711], + [20.59023, 41.85541], + [20.52295, 42.21787], + [20.28374, 42.32025], + [20.0707, 42.58863], + [20.25758, 42.81275], + [20.49679, 42.88469], + [20.63508, 43.21671], + [20.81448, 43.27205], + [20.95651, 43.13094], + [21.143395, 43.068685], + [21.27421, 42.90959], + [21.43866, 42.86255], + [21.63302, 42.67717], + [21.77505, 42.6827], + [21.66292, 42.43922], + [21.54332, 42.32025], + [21.576636, 42.245224], + [21.3527, 42.2068], + [20.76216, 42.05186] + ] + ] + }, + "id": "-99" + }, + { + "type": "Feature", + "properties": { "name": "Kuwait" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [47.974519, 29.975819], + [48.183189, 29.534477], + [48.093943, 29.306299], + [48.416094, 28.552004], + [47.708851, 28.526063], + [47.459822, 29.002519], + [46.568713, 29.099025], + [47.302622, 30.05907], + [47.974519, 29.975819] + ] + ] + }, + "id": "KWT" + }, + { + "type": "Feature", + "properties": { "name": "Laos" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [105.218777, 14.273212], + [105.544338, 14.723934], + [105.589039, 15.570316], + [104.779321, 16.441865], + [104.716947, 17.428859], + [103.956477, 18.240954], + [103.200192, 18.309632], + [102.998706, 17.961695], + [102.413005, 17.932782], + [102.113592, 18.109102], + [101.059548, 17.512497], + [101.035931, 18.408928], + [101.282015, 19.462585], + [100.606294, 19.508344], + [100.548881, 20.109238], + [100.115988, 20.41785], + [100.329101, 20.786122], + [101.180005, 21.436573], + [101.270026, 21.201652], + [101.80312, 21.174367], + [101.652018, 22.318199], + [102.170436, 22.464753], + [102.754896, 21.675137], + [103.203861, 20.766562], + [104.435, 20.758733], + [104.822574, 19.886642], + [104.183388, 19.624668], + [103.896532, 19.265181], + [105.094598, 18.666975], + [105.925762, 17.485315], + [106.556008, 16.604284], + [107.312706, 15.908538], + [107.564525, 15.202173], + [107.382727, 14.202441], + [106.496373, 14.570584], + [106.043946, 13.881091], + [105.218777, 14.273212] + ] + ] + }, + "id": "LAO" + }, + { + "type": "Feature", + "properties": { "name": "Lebanon" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [35.821101, 33.277426], + [35.552797, 33.264275], + [35.460709, 33.08904], + [35.126053, 33.0909], + [35.482207, 33.90545], + [35.979592, 34.610058], + [35.998403, 34.644914], + [36.448194, 34.593935], + [36.61175, 34.201789], + [36.06646, 33.824912], + [35.821101, 33.277426] + ] + ] + }, + "id": "LBN" + }, + { + "type": "Feature", + "properties": { "name": "Liberia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-7.712159, 4.364566], + [-7.974107, 4.355755], + [-9.004794, 4.832419], + [-9.91342, 5.593561], + [-10.765384, 6.140711], + [-11.438779, 6.785917], + [-11.199802, 7.105846], + [-11.146704, 7.396706], + [-10.695595, 7.939464], + [-10.230094, 8.406206], + [-10.016567, 8.428504], + [-9.755342, 8.541055], + [-9.33728, 7.928534], + [-9.403348, 7.526905], + [-9.208786, 7.313921], + [-8.926065, 7.309037], + [-8.722124, 7.711674], + [-8.439298, 7.686043], + [-8.485446, 7.395208], + [-8.385452, 6.911801], + [-8.60288, 6.467564], + [-8.311348, 6.193033], + [-7.993693, 6.12619], + [-7.570153, 5.707352], + [-7.539715, 5.313345], + [-7.635368, 5.188159], + [-7.712159, 4.364566] + ] + ] + }, + "id": "LBR" + }, + { + "type": "Feature", + "properties": { "name": "Libya" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [14.8513, 22.86295], + [14.143871, 22.491289], + [13.581425, 23.040506], + [11.999506, 23.471668], + [11.560669, 24.097909], + [10.771364, 24.562532], + [10.303847, 24.379313], + [9.948261, 24.936954], + [9.910693, 25.365455], + [9.319411, 26.094325], + [9.716286, 26.512206], + [9.629056, 27.140953], + [9.756128, 27.688259], + [9.683885, 28.144174], + [9.859998, 28.95999], + [9.805634, 29.424638], + [9.48214, 30.307556], + [9.970017, 30.539325], + [10.056575, 30.961831], + [9.950225, 31.37607], + [10.636901, 31.761421], + [10.94479, 32.081815], + [11.432253, 32.368903], + [11.488787, 33.136996], + [12.66331, 32.79278], + [13.08326, 32.87882], + [13.91868, 32.71196], + [15.24563, 32.26508], + [15.71394, 31.37626], + [16.61162, 31.18218], + [18.02109, 30.76357], + [19.08641, 30.26639], + [19.57404, 30.52582], + [20.05335, 30.98576], + [19.82033, 31.75179], + [20.13397, 32.2382], + [20.85452, 32.7068], + [21.54298, 32.8432], + [22.89576, 32.63858], + [23.2368, 32.19149], + [23.60913, 32.18726], + [23.9275, 32.01667], + [24.92114, 31.89936], + [25.16482, 31.56915], + [24.80287, 31.08929], + [24.95762, 30.6616], + [24.70007, 30.04419], + [25, 29.238655], + [25, 25.6825], + [25, 22], + [25, 20.00304], + [23.85, 20], + [23.83766, 19.58047], + [19.84926, 21.49509], + [15.86085, 23.40972], + [14.8513, 22.86295] + ] + ] + }, + "id": "LBY" + }, + { + "type": "Feature", + "properties": { "name": "Sri Lanka" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [81.787959, 7.523055], + [81.637322, 6.481775], + [81.21802, 6.197141], + [80.348357, 5.96837], + [79.872469, 6.763463], + [79.695167, 8.200843], + [80.147801, 9.824078], + [80.838818, 9.268427], + [81.304319, 8.564206], + [81.787959, 7.523055] + ] + ] + }, + "id": "LKA" + }, + { + "type": "Feature", + "properties": { "name": "Lesotho" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [28.978263, -28.955597], + [29.325166, -29.257387], + [29.018415, -29.743766], + [28.8484, -30.070051], + [28.291069, -30.226217], + [28.107205, -30.545732], + [27.749397, -30.645106], + [26.999262, -29.875954], + [27.532511, -29.242711], + [28.074338, -28.851469], + [28.5417, -28.647502], + [28.978263, -28.955597] + ] + ] + }, + "id": "LSO" + }, + { + "type": "Feature", + "properties": { "name": "Lithuania" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [22.731099, 54.327537], + [22.651052, 54.582741], + [22.757764, 54.856574], + [22.315724, 55.015299], + [21.268449, 55.190482], + [21.0558, 56.031076], + [22.201157, 56.337802], + [23.878264, 56.273671], + [24.860684, 56.372528], + [25.000934, 56.164531], + [25.533047, 56.100297], + [26.494331, 55.615107], + [26.588279, 55.167176], + [25.768433, 54.846963], + [25.536354, 54.282423], + [24.450684, 53.905702], + [23.484128, 53.912498], + [23.243987, 54.220567], + [22.731099, 54.327537] + ] + ] + }, + "id": "LTU" + }, + { + "type": "Feature", + "properties": { "name": "Luxembourg" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [6.043073, 50.128052], + [6.242751, 49.902226], + [6.18632, 49.463803], + [5.897759, 49.442667], + [5.674052, 49.529484], + [5.782417, 50.090328], + [6.043073, 50.128052] + ] + ] + }, + "id": "LUX" + }, + { + "type": "Feature", + "properties": { "name": "Latvia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [21.0558, 56.031076], + [21.090424, 56.783873], + [21.581866, 57.411871], + [22.524341, 57.753374], + [23.318453, 57.006236], + [24.12073, 57.025693], + [24.312863, 57.793424], + [25.164594, 57.970157], + [25.60281, 57.847529], + [26.463532, 57.476389], + [27.288185, 57.474528], + [27.770016, 57.244258], + [27.855282, 56.759326], + [28.176709, 56.16913], + [27.10246, 55.783314], + [26.494331, 55.615107], + [25.533047, 56.100297], + [25.000934, 56.164531], + [24.860684, 56.372528], + [23.878264, 56.273671], + [22.201157, 56.337802], + [21.0558, 56.031076] + ] + ] + }, + "id": "LVA" + }, + { + "type": "Feature", + "properties": { "name": "Morocco" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-5.193863, 35.755182], + [-4.591006, 35.330712], + [-3.640057, 35.399855], + [-2.604306, 35.179093], + [-2.169914, 35.168396], + [-1.792986, 34.527919], + [-1.733455, 33.919713], + [-1.388049, 32.864015], + [-1.124551, 32.651522], + [-1.307899, 32.262889], + [-2.616605, 32.094346], + [-3.06898, 31.724498], + [-3.647498, 31.637294], + [-3.690441, 30.896952], + [-4.859646, 30.501188], + [-5.242129, 30.000443], + [-6.060632, 29.7317], + [-7.059228, 29.579228], + [-8.674116, 28.841289], + [-8.66559, 27.656426], + [-8.817809, 27.656426], + [-8.817828, 27.656426], + [-8.794884, 27.120696], + [-9.413037, 27.088476], + [-9.735343, 26.860945], + [-10.189424, 26.860945], + [-10.551263, 26.990808], + [-11.392555, 26.883424], + [-11.71822, 26.104092], + [-12.030759, 26.030866], + [-12.500963, 24.770116], + [-13.89111, 23.691009], + [-14.221168, 22.310163], + [-14.630833, 21.86094], + [-14.750955, 21.5006], + [-17.002962, 21.420734], + [-17.020428, 21.42231], + [-16.973248, 21.885745], + [-16.589137, 22.158234], + [-16.261922, 22.67934], + [-16.326414, 23.017768], + [-15.982611, 23.723358], + [-15.426004, 24.359134], + [-15.089332, 24.520261], + [-14.824645, 25.103533], + [-14.800926, 25.636265], + [-14.43994, 26.254418], + [-13.773805, 26.618892], + [-13.139942, 27.640148], + [-13.121613, 27.654148], + [-12.618837, 28.038186], + [-11.688919, 28.148644], + [-10.900957, 28.832142], + [-10.399592, 29.098586], + [-9.564811, 29.933574], + [-9.814718, 31.177736], + [-9.434793, 32.038096], + [-9.300693, 32.564679], + [-8.657476, 33.240245], + [-7.654178, 33.697065], + [-6.912544, 34.110476], + [-6.244342, 35.145865], + [-5.929994, 35.759988], + [-5.193863, 35.755182] + ] + ] + }, + "id": "MAR" + }, + { + "type": "Feature", + "properties": { "name": "Moldova" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [26.619337, 48.220726], + [26.857824, 48.368211], + [27.522537, 48.467119], + [28.259547, 48.155562], + [28.670891, 48.118149], + [29.122698, 47.849095], + [29.050868, 47.510227], + [29.415135, 47.346645], + [29.559674, 46.928583], + [29.908852, 46.674361], + [29.83821, 46.525326], + [30.024659, 46.423937], + [29.759972, 46.349988], + [29.170654, 46.379262], + [29.072107, 46.517678], + [28.862972, 46.437889], + [28.933717, 46.25883], + [28.659987, 45.939987], + [28.485269, 45.596907], + [28.233554, 45.488283], + [28.054443, 45.944586], + [28.160018, 46.371563], + [28.12803, 46.810476], + [27.551166, 47.405117], + [27.233873, 47.826771], + [26.924176, 48.123264], + [26.619337, 48.220726] + ] + ] + }, + "id": "MDA" + }, + { + "type": "Feature", + "properties": { "name": "Madagascar" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [49.543519, -12.469833], + [49.808981, -12.895285], + [50.056511, -13.555761], + [50.217431, -14.758789], + [50.476537, -15.226512], + [50.377111, -15.706069], + [50.200275, -16.000263], + [49.860606, -15.414253], + [49.672607, -15.710204], + [49.863344, -16.451037], + [49.774564, -16.875042], + [49.498612, -17.106036], + [49.435619, -17.953064], + [49.041792, -19.118781], + [48.548541, -20.496888], + [47.930749, -22.391501], + [47.547723, -23.781959], + [47.095761, -24.94163], + [46.282478, -25.178463], + [45.409508, -25.601434], + [44.833574, -25.346101], + [44.03972, -24.988345], + [43.763768, -24.460677], + [43.697778, -23.574116], + [43.345654, -22.776904], + [43.254187, -22.057413], + [43.433298, -21.336475], + [43.893683, -21.163307], + [43.89637, -20.830459], + [44.374325, -20.072366], + [44.464397, -19.435454], + [44.232422, -18.961995], + [44.042976, -18.331387], + [43.963084, -17.409945], + [44.312469, -16.850496], + [44.446517, -16.216219], + [44.944937, -16.179374], + [45.502732, -15.974373], + [45.872994, -15.793454], + [46.312243, -15.780018], + [46.882183, -15.210182], + [47.70513, -14.594303], + [48.005215, -14.091233], + [47.869047, -13.663869], + [48.293828, -13.784068], + [48.84506, -13.089175], + [48.863509, -12.487868], + [49.194651, -12.040557], + [49.543519, -12.469833] + ] + ] + }, + "id": "MDG" + }, + { + "type": "Feature", + "properties": { "name": "Mexico" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-97.140008, 25.869997], + [-97.528072, 24.992144], + [-97.702946, 24.272343], + [-97.776042, 22.93258], + [-97.872367, 22.444212], + [-97.699044, 21.898689], + [-97.38896, 21.411019], + [-97.189333, 20.635433], + [-96.525576, 19.890931], + [-96.292127, 19.320371], + [-95.900885, 18.828024], + [-94.839063, 18.562717], + [-94.42573, 18.144371], + [-93.548651, 18.423837], + [-92.786114, 18.524839], + [-92.037348, 18.704569], + [-91.407903, 18.876083], + [-90.77187, 19.28412], + [-90.53359, 19.867418], + [-90.451476, 20.707522], + [-90.278618, 20.999855], + [-89.601321, 21.261726], + [-88.543866, 21.493675], + [-87.658417, 21.458846], + [-87.05189, 21.543543], + [-86.811982, 21.331515], + [-86.845908, 20.849865], + [-87.383291, 20.255405], + [-87.621054, 19.646553], + [-87.43675, 19.472403], + [-87.58656, 19.04013], + [-87.837191, 18.259816], + [-88.090664, 18.516648], + [-88.300031, 18.499982], + [-88.490123, 18.486831], + [-88.848344, 17.883198], + [-89.029857, 18.001511], + [-89.150909, 17.955468], + [-89.14308, 17.808319], + [-90.067934, 17.819326], + [-91.00152, 17.817595], + [-91.002269, 17.254658], + [-91.453921, 17.252177], + [-91.08167, 16.918477], + [-90.711822, 16.687483], + [-90.600847, 16.470778], + [-90.438867, 16.41011], + [-90.464473, 16.069562], + [-91.74796, 16.066565], + [-92.229249, 15.251447], + [-92.087216, 15.064585], + [-92.20323, 14.830103], + [-92.22775, 14.538829], + [-93.359464, 15.61543], + [-93.875169, 15.940164], + [-94.691656, 16.200975], + [-95.250227, 16.128318], + [-96.053382, 15.752088], + [-96.557434, 15.653515], + [-97.263592, 15.917065], + [-98.01303, 16.107312], + [-98.947676, 16.566043], + [-99.697397, 16.706164], + [-100.829499, 17.171071], + [-101.666089, 17.649026], + [-101.918528, 17.91609], + [-102.478132, 17.975751], + [-103.50099, 18.292295], + [-103.917527, 18.748572], + [-104.99201, 19.316134], + [-105.493038, 19.946767], + [-105.731396, 20.434102], + [-105.397773, 20.531719], + [-105.500661, 20.816895], + [-105.270752, 21.076285], + [-105.265817, 21.422104], + [-105.603161, 21.871146], + [-105.693414, 22.26908], + [-106.028716, 22.773752], + [-106.90998, 23.767774], + [-107.915449, 24.548915], + [-108.401905, 25.172314], + [-109.260199, 25.580609], + [-109.444089, 25.824884], + [-109.291644, 26.442934], + [-109.801458, 26.676176], + [-110.391732, 27.162115], + [-110.641019, 27.859876], + [-111.178919, 27.941241], + [-111.759607, 28.467953], + [-112.228235, 28.954409], + [-112.271824, 29.266844], + [-112.809594, 30.021114], + [-113.163811, 30.786881], + [-113.148669, 31.170966], + [-113.871881, 31.567608], + [-114.205737, 31.524045], + [-114.776451, 31.799532], + [-114.9367, 31.393485], + [-114.771232, 30.913617], + [-114.673899, 30.162681], + [-114.330974, 29.750432], + [-113.588875, 29.061611], + [-113.424053, 28.826174], + [-113.271969, 28.754783], + [-113.140039, 28.411289], + [-112.962298, 28.42519], + [-112.761587, 27.780217], + [-112.457911, 27.525814], + [-112.244952, 27.171727], + [-111.616489, 26.662817], + [-111.284675, 25.73259], + [-110.987819, 25.294606], + [-110.710007, 24.826004], + [-110.655049, 24.298595], + [-110.172856, 24.265548], + [-109.771847, 23.811183], + [-109.409104, 23.364672], + [-109.433392, 23.185588], + [-109.854219, 22.818272], + [-110.031392, 22.823078], + [-110.295071, 23.430973], + [-110.949501, 24.000964], + [-111.670568, 24.484423], + [-112.182036, 24.738413], + [-112.148989, 25.470125], + [-112.300711, 26.012004], + [-112.777297, 26.32196], + [-113.464671, 26.768186], + [-113.59673, 26.63946], + [-113.848937, 26.900064], + [-114.465747, 27.14209], + [-115.055142, 27.722727], + [-114.982253, 27.7982], + [-114.570366, 27.741485], + [-114.199329, 28.115003], + [-114.162018, 28.566112], + [-114.931842, 29.279479], + [-115.518654, 29.556362], + [-115.887365, 30.180794], + [-116.25835, 30.836464], + [-116.721526, 31.635744], + [-117.12776, 32.53534], + [-115.99135, 32.61239], + [-114.72139, 32.72083], + [-114.815, 32.52528], + [-113.30498, 32.03914], + [-111.02361, 31.33472], + [-109.035, 31.34194], + [-108.24194, 31.34222], + [-108.24, 31.754854], + [-106.50759, 31.75452], + [-106.1429, 31.39995], + [-105.63159, 31.08383], + [-105.03737, 30.64402], + [-104.70575, 30.12173], + [-104.45697, 29.57196], + [-103.94, 29.27], + [-103.11, 28.97], + [-102.48, 29.76], + [-101.6624, 29.7793], + [-100.9576, 29.38071], + [-100.45584, 28.69612], + [-100.11, 28.11], + [-99.52, 27.54], + [-99.3, 26.84], + [-99.02, 26.37], + [-98.24, 26.06], + [-97.53, 25.84], + [-97.140008, 25.869997] + ] + ] + }, + "id": "MEX" + }, + { + "type": "Feature", + "properties": { "name": "Macedonia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [20.59023, 41.85541], + [20.71731, 41.84711], + [20.76216, 42.05186], + [21.3527, 42.2068], + [21.576636, 42.245224], + [21.91708, 42.30364], + [22.380526, 42.32026], + [22.881374, 41.999297], + [22.952377, 41.337994], + [22.76177, 41.3048], + [22.597308, 41.130487], + [22.055378, 41.149866], + [21.674161, 40.931275], + [21.02004, 40.842727], + [20.60518, 41.08622], + [20.46315, 41.51509], + [20.59023, 41.85541] + ] + ] + }, + "id": "MKD" + }, + { + "type": "Feature", + "properties": { "name": "Mali" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-12.17075, 14.616834], + [-11.834208, 14.799097], + [-11.666078, 15.388208], + [-11.349095, 15.411256], + [-10.650791, 15.132746], + [-10.086846, 15.330486], + [-9.700255, 15.264107], + [-9.550238, 15.486497], + [-5.537744, 15.50169], + [-5.315277, 16.201854], + [-5.488523, 16.325102], + [-5.971129, 20.640833], + [-6.453787, 24.956591], + [-4.923337, 24.974574], + [-1.550055, 22.792666], + [1.823228, 20.610809], + [2.060991, 20.142233], + [2.683588, 19.85623], + [3.146661, 19.693579], + [3.158133, 19.057364], + [4.267419, 19.155265], + [4.27021, 16.852227], + [3.723422, 16.184284], + [3.638259, 15.56812], + [2.749993, 15.409525], + [1.385528, 15.323561], + [1.015783, 14.968182], + [0.374892, 14.928908], + [-0.266257, 14.924309], + [-0.515854, 15.116158], + [-1.066363, 14.973815], + [-2.001035, 14.559008], + [-2.191825, 14.246418], + [-2.967694, 13.79815], + [-3.103707, 13.541267], + [-3.522803, 13.337662], + [-4.006391, 13.472485], + [-4.280405, 13.228444], + [-4.427166, 12.542646], + [-5.220942, 11.713859], + [-5.197843, 11.375146], + [-5.470565, 10.95127], + [-5.404342, 10.370737], + [-5.816926, 10.222555], + [-6.050452, 10.096361], + [-6.205223, 10.524061], + [-6.493965, 10.411303], + [-6.666461, 10.430811], + [-6.850507, 10.138994], + [-7.622759, 10.147236], + [-7.89959, 10.297382], + [-8.029944, 10.206535], + [-8.335377, 10.494812], + [-8.282357, 10.792597], + [-8.407311, 10.909257], + [-8.620321, 10.810891], + [-8.581305, 11.136246], + [-8.376305, 11.393646], + [-8.786099, 11.812561], + [-8.905265, 12.088358], + [-9.127474, 12.30806], + [-9.327616, 12.334286], + [-9.567912, 12.194243], + [-9.890993, 12.060479], + [-10.165214, 11.844084], + [-10.593224, 11.923975], + [-10.87083, 12.177887], + [-11.036556, 12.211245], + [-11.297574, 12.077971], + [-11.456169, 12.076834], + [-11.513943, 12.442988], + [-11.467899, 12.754519], + [-11.553398, 13.141214], + [-11.927716, 13.422075], + [-12.124887, 13.994727], + [-12.17075, 14.616834] + ] + ] + }, + "id": "MLI" + }, + { + "type": "Feature", + "properties": { "name": "Myanmar" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [99.543309, 20.186598], + [98.959676, 19.752981], + [98.253724, 19.708203], + [97.797783, 18.62708], + [97.375896, 18.445438], + [97.859123, 17.567946], + [98.493761, 16.837836], + [98.903348, 16.177824], + [98.537376, 15.308497], + [98.192074, 15.123703], + [98.430819, 14.622028], + [99.097755, 13.827503], + [99.212012, 13.269294], + [99.196354, 12.804748], + [99.587286, 11.892763], + [99.038121, 10.960546], + [98.553551, 9.93296], + [98.457174, 10.675266], + [98.764546, 11.441292], + [98.428339, 12.032987], + [98.509574, 13.122378], + [98.103604, 13.64046], + [97.777732, 14.837286], + [97.597072, 16.100568], + [97.16454, 16.928734], + [96.505769, 16.427241], + [95.369352, 15.71439], + [94.808405, 15.803454], + [94.188804, 16.037936], + [94.533486, 17.27724], + [94.324817, 18.213514], + [93.540988, 19.366493], + [93.663255, 19.726962], + [93.078278, 19.855145], + [92.368554, 20.670883], + [92.303234, 21.475485], + [92.652257, 21.324048], + [92.672721, 22.041239], + [93.166128, 22.27846], + [93.060294, 22.703111], + [93.286327, 23.043658], + [93.325188, 24.078556], + [94.106742, 23.850741], + [94.552658, 24.675238], + [94.603249, 25.162495], + [95.155153, 26.001307], + [95.124768, 26.573572], + [96.419366, 27.264589], + [97.133999, 27.083774], + [97.051989, 27.699059], + [97.402561, 27.882536], + [97.327114, 28.261583], + [97.911988, 28.335945], + [98.246231, 27.747221], + [98.68269, 27.508812], + [98.712094, 26.743536], + [98.671838, 25.918703], + [97.724609, 25.083637], + [97.60472, 23.897405], + [98.660262, 24.063286], + [98.898749, 23.142722], + [99.531992, 22.949039], + [99.240899, 22.118314], + [99.983489, 21.742937], + [100.416538, 21.558839], + [101.150033, 21.849984], + [101.180005, 21.436573], + [100.329101, 20.786122], + [100.115988, 20.41785], + [99.543309, 20.186598] + ] + ] + }, + "id": "MMR" + }, + { + "type": "Feature", + "properties": { "name": "Montenegro" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [19.801613, 42.500093], + [19.738051, 42.688247], + [19.30449, 42.19574], + [19.37177, 41.87755], + [19.16246, 41.95502], + [18.88214, 42.28151], + [18.45, 42.48], + [18.56, 42.65], + [18.70648, 43.20011], + [19.03165, 43.43253], + [19.21852, 43.52384], + [19.48389, 43.35229], + [19.63, 43.21378], + [19.95857, 43.10604], + [20.3398, 42.89852], + [20.25758, 42.81275], + [20.0707, 42.58863], + [19.801613, 42.500093] + ] + ] + }, + "id": "MNE" + }, + { + "type": "Feature", + "properties": { "name": "Mongolia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [87.751264, 49.297198], + [88.805567, 49.470521], + [90.713667, 50.331812], + [92.234712, 50.802171], + [93.104219, 50.49529], + [94.147566, 50.480537], + [94.815949, 50.013433], + [95.814028, 49.977467], + [97.259728, 49.726061], + [98.231762, 50.422401], + [97.82574, 51.010995], + [98.861491, 52.047366], + [99.981732, 51.634006], + [100.88948, 51.516856], + [102.065223, 51.259921], + [102.255909, 50.510561], + [103.676545, 50.089966], + [104.621552, 50.275329], + [105.886591, 50.406019], + [106.888804, 50.274296], + [107.868176, 49.793705], + [108.475167, 49.282548], + [109.402449, 49.292961], + [110.662011, 49.130128], + [111.581231, 49.377968], + [112.89774, 49.543565], + [114.362456, 50.248303], + [114.96211, 50.140247], + [115.485695, 49.805177], + [116.678801, 49.888531], + [116.191802, 49.134598], + [115.485282, 48.135383], + [115.742837, 47.726545], + [116.308953, 47.85341], + [117.295507, 47.697709], + [118.064143, 48.06673], + [118.866574, 47.74706], + [119.772824, 47.048059], + [119.66327, 46.69268], + [118.874326, 46.805412], + [117.421701, 46.672733], + [116.717868, 46.388202], + [115.985096, 45.727235], + [114.460332, 45.339817], + [113.463907, 44.808893], + [112.436062, 45.011646], + [111.873306, 45.102079], + [111.348377, 44.457442], + [111.667737, 44.073176], + [111.829588, 43.743118], + [111.129682, 43.406834], + [110.412103, 42.871234], + [109.243596, 42.519446], + [107.744773, 42.481516], + [106.129316, 42.134328], + [104.964994, 41.59741], + [104.522282, 41.908347], + [103.312278, 41.907468], + [101.83304, 42.514873], + [100.845866, 42.663804], + [99.515817, 42.524691], + [97.451757, 42.74889], + [96.349396, 42.725635], + [95.762455, 43.319449], + [95.306875, 44.241331], + [94.688929, 44.352332], + [93.480734, 44.975472], + [92.133891, 45.115076], + [90.94554, 45.286073], + [90.585768, 45.719716], + [90.970809, 46.888146], + [90.280826, 47.693549], + [88.854298, 48.069082], + [88.013832, 48.599463], + [87.751264, 49.297198] + ] + ] + }, + "id": "MNG" + }, + { + "type": "Feature", + "properties": { "name": "Mozambique" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [34.559989, -11.52002], + [35.312398, -11.439146], + [36.514082, -11.720938], + [36.775151, -11.594537], + [37.471284, -11.568751], + [37.827645, -11.268769], + [38.427557, -11.285202], + [39.52103, -10.896854], + [40.316589, -10.317096], + [40.478387, -10.765441], + [40.437253, -11.761711], + [40.560811, -12.639177], + [40.59962, -14.201975], + [40.775475, -14.691764], + [40.477251, -15.406294], + [40.089264, -16.100774], + [39.452559, -16.720891], + [38.538351, -17.101023], + [37.411133, -17.586368], + [36.281279, -18.659688], + [35.896497, -18.84226], + [35.1984, -19.552811], + [34.786383, -19.784012], + [34.701893, -20.497043], + [35.176127, -21.254361], + [35.373428, -21.840837], + [35.385848, -22.14], + [35.562546, -22.09], + [35.533935, -23.070788], + [35.371774, -23.535359], + [35.60747, -23.706563], + [35.458746, -24.12261], + [35.040735, -24.478351], + [34.215824, -24.816314], + [33.01321, -25.357573], + [32.574632, -25.727318], + [32.660363, -26.148584], + [32.915955, -26.215867], + [32.83012, -26.742192], + [32.071665, -26.73382], + [31.985779, -26.29178], + [31.837778, -25.843332], + [31.752408, -25.484284], + [31.930589, -24.369417], + [31.670398, -23.658969], + [31.191409, -22.25151], + [32.244988, -21.116489], + [32.508693, -20.395292], + [32.659743, -20.30429], + [32.772708, -19.715592], + [32.611994, -19.419383], + [32.654886, -18.67209], + [32.849861, -17.979057], + [32.847639, -16.713398], + [32.328239, -16.392074], + [31.852041, -16.319417], + [31.636498, -16.07199], + [31.173064, -15.860944], + [30.338955, -15.880839], + [30.274256, -15.507787], + [30.179481, -14.796099], + [33.214025, -13.97186], + [33.7897, -14.451831], + [34.064825, -14.35995], + [34.459633, -14.61301], + [34.517666, -15.013709], + [34.307291, -15.478641], + [34.381292, -16.18356], + [35.03381, -16.8013], + [35.339063, -16.10744], + [35.771905, -15.896859], + [35.686845, -14.611046], + [35.267956, -13.887834], + [34.907151, -13.565425], + [34.559989, -13.579998], + [34.280006, -12.280025], + [34.559989, -11.52002] + ] + ] + }, + "id": "MOZ" + }, + { + "type": "Feature", + "properties": { "name": "Mauritania" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-12.17075, 14.616834], + [-12.830658, 15.303692], + [-13.435738, 16.039383], + [-14.099521, 16.304302], + [-14.577348, 16.598264], + [-15.135737, 16.587282], + [-15.623666, 16.369337], + [-16.12069, 16.455663], + [-16.463098, 16.135036], + [-16.549708, 16.673892], + [-16.270552, 17.166963], + [-16.146347, 18.108482], + [-16.256883, 19.096716], + [-16.377651, 19.593817], + [-16.277838, 20.092521], + [-16.536324, 20.567866], + [-17.063423, 20.999752], + [-16.845194, 21.333323], + [-12.929102, 21.327071], + [-13.118754, 22.77122], + [-12.874222, 23.284832], + [-11.937224, 23.374594], + [-11.969419, 25.933353], + [-8.687294, 25.881056], + [-8.6844, 27.395744], + [-4.923337, 24.974574], + [-6.453787, 24.956591], + [-5.971129, 20.640833], + [-5.488523, 16.325102], + [-5.315277, 16.201854], + [-5.537744, 15.50169], + [-9.550238, 15.486497], + [-9.700255, 15.264107], + [-10.086846, 15.330486], + [-10.650791, 15.132746], + [-11.349095, 15.411256], + [-11.666078, 15.388208], + [-11.834208, 14.799097], + [-12.17075, 14.616834] + ] + ] + }, + "id": "MRT" + }, + { + "type": "Feature", + "properties": { "name": "Malawi" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [34.559989, -11.52002], + [34.280006, -12.280025], + [34.559989, -13.579998], + [34.907151, -13.565425], + [35.267956, -13.887834], + [35.686845, -14.611046], + [35.771905, -15.896859], + [35.339063, -16.10744], + [35.03381, -16.8013], + [34.381292, -16.18356], + [34.307291, -15.478641], + [34.517666, -15.013709], + [34.459633, -14.61301], + [34.064825, -14.35995], + [33.7897, -14.451831], + [33.214025, -13.97186], + [32.688165, -13.712858], + [32.991764, -12.783871], + [33.306422, -12.435778], + [33.114289, -11.607198], + [33.31531, -10.79655], + [33.485688, -10.525559], + [33.231388, -9.676722], + [32.759375, -9.230599], + [33.739729, -9.417151], + [33.940838, -9.693674], + [34.280006, -10.16], + [34.559989, -11.52002] + ] + ] + }, + "id": "MWI" + }, + { + "type": "Feature", + "properties": { "name": "Malaysia" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [101.075516, 6.204867], + [101.154219, 5.691384], + [101.814282, 5.810808], + [102.141187, 6.221636], + [102.371147, 6.128205], + [102.961705, 5.524495], + [103.381215, 4.855001], + [103.438575, 4.181606], + [103.332122, 3.726698], + [103.429429, 3.382869], + [103.502448, 2.791019], + [103.854674, 2.515454], + [104.247932, 1.631141], + [104.228811, 1.293048], + [103.519707, 1.226334], + [102.573615, 1.967115], + [101.390638, 2.760814], + [101.27354, 3.270292], + [100.695435, 3.93914], + [100.557408, 4.76728], + [100.196706, 5.312493], + [100.30626, 6.040562], + [100.085757, 6.464489], + [100.259596, 6.642825], + [101.075516, 6.204867] + ] + ], + [ + [ + [118.618321, 4.478202], + [117.882035, 4.137551], + [117.015214, 4.306094], + [115.865517, 4.306559], + [115.519078, 3.169238], + [115.134037, 2.821482], + [114.621355, 1.430688], + [113.80585, 1.217549], + [112.859809, 1.49779], + [112.380252, 1.410121], + [111.797548, 0.904441], + [111.159138, 0.976478], + [110.514061, 0.773131], + [109.830227, 1.338136], + [109.66326, 2.006467], + [110.396135, 1.663775], + [111.168853, 1.850637], + [111.370081, 2.697303], + [111.796928, 2.885897], + [112.995615, 3.102395], + [113.712935, 3.893509], + [114.204017, 4.525874], + [114.659596, 4.007637], + [114.869557, 4.348314], + [115.347461, 4.316636], + [115.4057, 4.955228], + [115.45071, 5.44773], + [116.220741, 6.143191], + [116.725103, 6.924771], + [117.129626, 6.928053], + [117.643393, 6.422166], + [117.689075, 5.98749], + [118.347691, 5.708696], + [119.181904, 5.407836], + [119.110694, 5.016128], + [118.439727, 4.966519], + [118.618321, 4.478202] + ] + ] + ] + }, + "id": "MYS" + }, + { + "type": "Feature", + "properties": { "name": "Namibia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [16.344977, -28.576705], + [15.601818, -27.821247], + [15.210472, -27.090956], + [14.989711, -26.117372], + [14.743214, -25.39292], + [14.408144, -23.853014], + [14.385717, -22.656653], + [14.257714, -22.111208], + [13.868642, -21.699037], + [13.352498, -20.872834], + [12.826845, -19.673166], + [12.608564, -19.045349], + [11.794919, -18.069129], + [11.734199, -17.301889], + [12.215461, -17.111668], + [12.814081, -16.941343], + [13.462362, -16.971212], + [14.058501, -17.423381], + [14.209707, -17.353101], + [18.263309, -17.309951], + [18.956187, -17.789095], + [21.377176, -17.930636], + [23.215048, -17.523116], + [24.033862, -17.295843], + [24.682349, -17.353411], + [25.07695, -17.578823], + [25.084443, -17.661816], + [24.520705, -17.887125], + [24.217365, -17.889347], + [23.579006, -18.281261], + [23.196858, -17.869038], + [21.65504, -18.219146], + [20.910641, -18.252219], + [20.881134, -21.814327], + [19.895458, -21.849157], + [19.895768, -24.76779], + [19.894734, -28.461105], + [19.002127, -28.972443], + [18.464899, -29.045462], + [17.836152, -28.856378], + [17.387497, -28.783514], + [17.218929, -28.355943], + [16.824017, -28.082162], + [16.344977, -28.576705] + ] + ] + }, + "id": "NAM" + }, + { + "type": "Feature", + "properties": { "name": "New Caledonia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [165.77999, -21.080005], + [166.599991, -21.700019], + [167.120011, -22.159991], + [166.740035, -22.399976], + [166.189732, -22.129708], + [165.474375, -21.679607], + [164.829815, -21.14982], + [164.167995, -20.444747], + [164.029606, -20.105646], + [164.459967, -20.120012], + [165.020036, -20.459991], + [165.460009, -20.800022], + [165.77999, -21.080005] + ] + ] + }, + "id": "NCL" + }, + { + "type": "Feature", + "properties": { "name": "Niger" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [2.154474, 11.94015], + [2.177108, 12.625018], + [1.024103, 12.851826], + [0.993046, 13.33575], + [0.429928, 13.988733], + [0.295646, 14.444235], + [0.374892, 14.928908], + [1.015783, 14.968182], + [1.385528, 15.323561], + [2.749993, 15.409525], + [3.638259, 15.56812], + [3.723422, 16.184284], + [4.27021, 16.852227], + [4.267419, 19.155265], + [5.677566, 19.601207], + [8.572893, 21.565661], + [11.999506, 23.471668], + [13.581425, 23.040506], + [14.143871, 22.491289], + [14.8513, 22.86295], + [15.096888, 21.308519], + [15.471077, 21.048457], + [15.487148, 20.730415], + [15.903247, 20.387619], + [15.685741, 19.95718], + [15.300441, 17.92795], + [15.247731, 16.627306], + [13.972202, 15.684366], + [13.540394, 14.367134], + [13.956699, 13.996691], + [13.954477, 13.353449], + [14.595781, 13.330427], + [14.495787, 12.859396], + [14.213531, 12.802035], + [14.181336, 12.483657], + [13.995353, 12.461565], + [13.318702, 13.556356], + [13.083987, 13.596147], + [12.302071, 13.037189], + [11.527803, 13.32898], + [10.989593, 13.387323], + [10.701032, 13.246918], + [10.114814, 13.277252], + [9.524928, 12.851102], + [9.014933, 12.826659], + [7.804671, 13.343527], + [7.330747, 13.098038], + [6.820442, 13.115091], + [6.445426, 13.492768], + [5.443058, 13.865924], + [4.368344, 13.747482], + [4.107946, 13.531216], + [3.967283, 12.956109], + [3.680634, 12.552903], + [3.61118, 11.660167], + [2.848643, 12.235636], + [2.490164, 12.233052], + [2.154474, 11.94015] + ] + ] + }, + "id": "NER" + }, + { + "type": "Feature", + "properties": { "name": "Nigeria" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [8.500288, 4.771983], + [7.462108, 4.412108], + [7.082596, 4.464689], + [6.698072, 4.240594], + [5.898173, 4.262453], + [5.362805, 4.887971], + [5.033574, 5.611802], + [4.325607, 6.270651], + [3.57418, 6.2583], + [2.691702, 6.258817], + [2.749063, 7.870734], + [2.723793, 8.506845], + [2.912308, 9.137608], + [3.220352, 9.444153], + [3.705438, 10.06321], + [3.60007, 10.332186], + [3.797112, 10.734746], + [3.572216, 11.327939], + [3.61118, 11.660167], + [3.680634, 12.552903], + [3.967283, 12.956109], + [4.107946, 13.531216], + [4.368344, 13.747482], + [5.443058, 13.865924], + [6.445426, 13.492768], + [6.820442, 13.115091], + [7.330747, 13.098038], + [7.804671, 13.343527], + [9.014933, 12.826659], + [9.524928, 12.851102], + [10.114814, 13.277252], + [10.701032, 13.246918], + [10.989593, 13.387323], + [11.527803, 13.32898], + [12.302071, 13.037189], + [13.083987, 13.596147], + [13.318702, 13.556356], + [13.995353, 12.461565], + [14.181336, 12.483657], + [14.577178, 12.085361], + [14.468192, 11.904752], + [14.415379, 11.572369], + [13.57295, 10.798566], + [13.308676, 10.160362], + [13.1676, 9.640626], + [12.955468, 9.417772], + [12.753672, 8.717763], + [12.218872, 8.305824], + [12.063946, 7.799808], + [11.839309, 7.397042], + [11.745774, 6.981383], + [11.058788, 6.644427], + [10.497375, 7.055358], + [10.118277, 7.03877], + [9.522706, 6.453482], + [9.233163, 6.444491], + [8.757533, 5.479666], + [8.500288, 4.771983] + ] + ] + }, + "id": "NGA" + }, + { + "type": "Feature", + "properties": { "name": "Nicaragua" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-85.71254, 11.088445], + [-86.058488, 11.403439], + [-86.52585, 11.806877], + [-86.745992, 12.143962], + [-87.167516, 12.458258], + [-87.668493, 12.90991], + [-87.557467, 13.064552], + [-87.392386, 12.914018], + [-87.316654, 12.984686], + [-87.005769, 13.025794], + [-86.880557, 13.254204], + [-86.733822, 13.263093], + [-86.755087, 13.754845], + [-86.520708, 13.778487], + [-86.312142, 13.771356], + [-86.096264, 14.038187], + [-85.801295, 13.836055], + [-85.698665, 13.960078], + [-85.514413, 14.079012], + [-85.165365, 14.35437], + [-85.148751, 14.560197], + [-85.052787, 14.551541], + [-84.924501, 14.790493], + [-84.820037, 14.819587], + [-84.649582, 14.666805], + [-84.449336, 14.621614], + [-84.228342, 14.748764], + [-83.975721, 14.749436], + [-83.628585, 14.880074], + [-83.489989, 15.016267], + [-83.147219, 14.995829], + [-83.233234, 14.899866], + [-83.284162, 14.676624], + [-83.182126, 14.310703], + [-83.4125, 13.970078], + [-83.519832, 13.567699], + [-83.552207, 13.127054], + [-83.498515, 12.869292], + [-83.473323, 12.419087], + [-83.626104, 12.32085], + [-83.719613, 11.893124], + [-83.650858, 11.629032], + [-83.85547, 11.373311], + [-83.808936, 11.103044], + [-83.655612, 10.938764], + [-83.895054, 10.726839], + [-84.190179, 10.79345], + [-84.355931, 10.999226], + [-84.673069, 11.082657], + [-84.903003, 10.952303], + [-85.561852, 11.217119], + [-85.71254, 11.088445] + ] + ] + }, + "id": "NIC" + }, + { + "type": "Feature", + "properties": { "name": "Netherlands" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [6.074183, 53.510403], + [6.90514, 53.482162], + [7.092053, 53.144043], + [6.84287, 52.22844], + [6.589397, 51.852029], + [5.988658, 51.851616], + [6.156658, 50.803721], + [5.606976, 51.037298], + [4.973991, 51.475024], + [4.047071, 51.267259], + [3.314971, 51.345755], + [3.830289, 51.620545], + [4.705997, 53.091798], + [6.074183, 53.510403] + ] + ] + }, + "id": "NLD" + }, + { + "type": "Feature", + "properties": { "name": "Norway" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [28.165547, 71.185474], + [31.293418, 70.453788], + [30.005435, 70.186259], + [31.101079, 69.55808], + [29.399581, 69.156916], + [28.59193, 69.064777], + [29.015573, 69.766491], + [27.732292, 70.164193], + [26.179622, 69.825299], + [25.689213, 69.092114], + [24.735679, 68.649557], + [23.66205, 68.891247], + [22.356238, 68.841741], + [21.244936, 69.370443], + [20.645593, 69.106247], + [20.025269, 69.065139], + [19.87856, 68.407194], + [17.993868, 68.567391], + [17.729182, 68.010552], + [16.768879, 68.013937], + [16.108712, 67.302456], + [15.108411, 66.193867], + [13.55569, 64.787028], + [13.919905, 64.445421], + [13.571916, 64.049114], + [12.579935, 64.066219], + [11.930569, 63.128318], + [11.992064, 61.800362], + [12.631147, 61.293572], + [12.300366, 60.117933], + [11.468272, 59.432393], + [11.027369, 58.856149], + [10.356557, 59.469807], + [8.382, 58.313288], + [7.048748, 58.078884], + [5.665835, 58.588155], + [5.308234, 59.663232], + [4.992078, 61.970998], + [5.9129, 62.614473], + [8.553411, 63.454008], + [10.527709, 64.486038], + [12.358347, 65.879726], + [14.761146, 67.810642], + [16.435927, 68.563205], + [19.184028, 69.817444], + [21.378416, 70.255169], + [23.023742, 70.202072], + [24.546543, 71.030497], + [26.37005, 70.986262], + [28.165547, 71.185474] + ] + ], + [ + [ + [24.72412, 77.85385], + [22.49032, 77.44493], + [20.72601, 77.67704], + [21.41611, 77.93504], + [20.8119, 78.25463], + [22.88426, 78.45494], + [23.28134, 78.07954], + [24.72412, 77.85385] + ] + ], + [ + [ + [18.25183, 79.70175], + [21.54383, 78.95611], + [19.02737, 78.5626], + [18.47172, 77.82669], + [17.59441, 77.63796], + [17.1182, 76.80941], + [15.91315, 76.77045], + [13.76259, 77.38035], + [14.66956, 77.73565], + [13.1706, 78.02493], + [11.22231, 78.8693], + [10.44453, 79.65239], + [13.17077, 80.01046], + [13.71852, 79.66039], + [15.14282, 79.67431], + [15.52255, 80.01608], + [16.99085, 80.05086], + [18.25183, 79.70175] + ] + ], + [ + [ + [25.447625, 80.40734], + [27.407506, 80.056406], + [25.924651, 79.517834], + [23.024466, 79.400012], + [20.075188, 79.566823], + [19.897266, 79.842362], + [18.462264, 79.85988], + [17.368015, 80.318896], + [20.455992, 80.598156], + [21.907945, 80.357679], + [22.919253, 80.657144], + [25.447625, 80.40734] + ] + ] + ] + }, + "id": "NOR" + }, + { + "type": "Feature", + "properties": { "name": "Nepal" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [88.120441, 27.876542], + [88.043133, 27.445819], + [88.174804, 26.810405], + [88.060238, 26.414615], + [87.227472, 26.397898], + [86.024393, 26.630985], + [85.251779, 26.726198], + [84.675018, 27.234901], + [83.304249, 27.364506], + [81.999987, 27.925479], + [81.057203, 28.416095], + [80.088425, 28.79447], + [80.476721, 29.729865], + [81.111256, 30.183481], + [81.525804, 30.422717], + [82.327513, 30.115268], + [83.337115, 29.463732], + [83.898993, 29.320226], + [84.23458, 28.839894], + [85.011638, 28.642774], + [85.82332, 28.203576], + [86.954517, 27.974262], + [88.120441, 27.876542] + ] + ] + }, + "id": "NPL" + }, + { + "type": "Feature", + "properties": { "name": "New Zealand" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [173.020375, -40.919052], + [173.247234, -41.331999], + [173.958405, -40.926701], + [174.247587, -41.349155], + [174.248517, -41.770008], + [173.876447, -42.233184], + [173.22274, -42.970038], + [172.711246, -43.372288], + [173.080113, -43.853344], + [172.308584, -43.865694], + [171.452925, -44.242519], + [171.185138, -44.897104], + [170.616697, -45.908929], + [169.831422, -46.355775], + [169.332331, -46.641235], + [168.411354, -46.619945], + [167.763745, -46.290197], + [166.676886, -46.219917], + [166.509144, -45.852705], + [167.046424, -45.110941], + [168.303763, -44.123973], + [168.949409, -43.935819], + [169.667815, -43.555326], + [170.52492, -43.031688], + [171.12509, -42.512754], + [171.569714, -41.767424], + [171.948709, -41.514417], + [172.097227, -40.956104], + [172.79858, -40.493962], + [173.020375, -40.919052] + ] + ], + [ + [ + [174.612009, -36.156397], + [175.336616, -37.209098], + [175.357596, -36.526194], + [175.808887, -36.798942], + [175.95849, -37.555382], + [176.763195, -37.881253], + [177.438813, -37.961248], + [178.010354, -37.579825], + [178.517094, -37.695373], + [178.274731, -38.582813], + [177.97046, -39.166343], + [177.206993, -39.145776], + [176.939981, -39.449736], + [177.032946, -39.879943], + [176.885824, -40.065978], + [176.508017, -40.604808], + [176.01244, -41.289624], + [175.239567, -41.688308], + [175.067898, -41.425895], + [174.650973, -41.281821], + [175.22763, -40.459236], + [174.900157, -39.908933], + [173.824047, -39.508854], + [173.852262, -39.146602], + [174.574802, -38.797683], + [174.743474, -38.027808], + [174.697017, -37.381129], + [174.292028, -36.711092], + [174.319004, -36.534824], + [173.840997, -36.121981], + [173.054171, -35.237125], + [172.636005, -34.529107], + [173.007042, -34.450662], + [173.551298, -35.006183], + [174.32939, -35.265496], + [174.612009, -36.156397] + ] + ] + ] + }, + "id": "NZL" + }, + { + "type": "Feature", + "properties": { "name": "Oman" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [58.861141, 21.114035], + [58.487986, 20.428986], + [58.034318, 20.481437], + [57.826373, 20.243002], + [57.665762, 19.736005], + [57.7887, 19.06757], + [57.694391, 18.94471], + [57.234264, 18.947991], + [56.609651, 18.574267], + [56.512189, 18.087113], + [56.283521, 17.876067], + [55.661492, 17.884128], + [55.269939, 17.632309], + [55.2749, 17.228354], + [54.791002, 16.950697], + [54.239253, 17.044981], + [53.570508, 16.707663], + [53.108573, 16.651051], + [52.782184, 17.349742], + [52.00001, 19.000003], + [54.999982, 19.999994], + [55.666659, 22.000001], + [55.208341, 22.70833], + [55.234489, 23.110993], + [55.525841, 23.524869], + [55.528632, 23.933604], + [55.981214, 24.130543], + [55.804119, 24.269604], + [55.886233, 24.920831], + [56.396847, 24.924732], + [56.84514, 24.241673], + [57.403453, 23.878594], + [58.136948, 23.747931], + [58.729211, 23.565668], + [59.180502, 22.992395], + [59.450098, 22.660271], + [59.80806, 22.533612], + [59.806148, 22.310525], + [59.442191, 21.714541], + [59.282408, 21.433886], + [58.861141, 21.114035] + ] + ], + [ + [ + [56.391421, 25.895991], + [56.261042, 25.714606], + [56.070821, 26.055464], + [56.362017, 26.395934], + [56.485679, 26.309118], + [56.391421, 25.895991] + ] + ] + ] + }, + "id": "OMN" + }, + { + "type": "Feature", + "properties": { "name": "Pakistan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [75.158028, 37.133031], + [75.896897, 36.666806], + [76.192848, 35.898403], + [77.837451, 35.49401], + [76.871722, 34.653544], + [75.757061, 34.504923], + [74.240203, 34.748887], + [73.749948, 34.317699], + [74.104294, 33.441473], + [74.451559, 32.7649], + [75.258642, 32.271105], + [74.405929, 31.692639], + [74.42138, 30.979815], + [73.450638, 29.976413], + [72.823752, 28.961592], + [71.777666, 27.91318], + [70.616496, 27.989196], + [69.514393, 26.940966], + [70.168927, 26.491872], + [70.282873, 25.722229], + [70.844699, 25.215102], + [71.04324, 24.356524], + [68.842599, 24.359134], + [68.176645, 23.691965], + [67.443667, 23.944844], + [67.145442, 24.663611], + [66.372828, 25.425141], + [64.530408, 25.237039], + [62.905701, 25.218409], + [61.497363, 25.078237], + [61.874187, 26.239975], + [63.316632, 26.756532], + [63.233898, 27.217047], + [62.755426, 27.378923], + [62.72783, 28.259645], + [61.771868, 28.699334], + [61.369309, 29.303276], + [60.874248, 29.829239], + [62.549857, 29.318572], + [63.550261, 29.468331], + [64.148002, 29.340819], + [64.350419, 29.560031], + [65.046862, 29.472181], + [66.346473, 29.887943], + [66.381458, 30.738899], + [66.938891, 31.304911], + [67.683394, 31.303154], + [67.792689, 31.58293], + [68.556932, 31.71331], + [68.926677, 31.620189], + [69.317764, 31.901412], + [69.262522, 32.501944], + [69.687147, 33.105499], + [70.323594, 33.358533], + [69.930543, 34.02012], + [70.881803, 33.988856], + [71.156773, 34.348911], + [71.115019, 34.733126], + [71.613076, 35.153203], + [71.498768, 35.650563], + [71.262348, 36.074388], + [71.846292, 36.509942], + [72.920025, 36.720007], + [74.067552, 36.836176], + [74.575893, 37.020841], + [75.158028, 37.133031] + ] + ] + }, + "id": "PAK" + }, + { + "type": "Feature", + "properties": { "name": "Panama" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-77.881571, 7.223771], + [-78.214936, 7.512255], + [-78.429161, 8.052041], + [-78.182096, 8.319182], + [-78.435465, 8.387705], + [-78.622121, 8.718124], + [-79.120307, 8.996092], + [-79.557877, 8.932375], + [-79.760578, 8.584515], + [-80.164481, 8.333316], + [-80.382659, 8.298409], + [-80.480689, 8.090308], + [-80.00369, 7.547524], + [-80.276671, 7.419754], + [-80.421158, 7.271572], + [-80.886401, 7.220541], + [-81.059543, 7.817921], + [-81.189716, 7.647906], + [-81.519515, 7.70661], + [-81.721311, 8.108963], + [-82.131441, 8.175393], + [-82.390934, 8.292362], + [-82.820081, 8.290864], + [-82.850958, 8.073823], + [-82.965783, 8.225028], + [-82.913176, 8.423517], + [-82.829771, 8.626295], + [-82.868657, 8.807266], + [-82.719183, 8.925709], + [-82.927155, 9.07433], + [-82.932891, 9.476812], + [-82.546196, 9.566135], + [-82.187123, 9.207449], + [-82.207586, 8.995575], + [-81.808567, 8.950617], + [-81.714154, 9.031955], + [-81.439287, 8.786234], + [-80.947302, 8.858504], + [-80.521901, 9.111072], + [-79.9146, 9.312765], + [-79.573303, 9.61161], + [-79.021192, 9.552931], + [-79.05845, 9.454565], + [-78.500888, 9.420459], + [-78.055928, 9.24773], + [-77.729514, 8.946844], + [-77.353361, 8.670505], + [-77.474723, 8.524286], + [-77.242566, 7.935278], + [-77.431108, 7.638061], + [-77.753414, 7.70984], + [-77.881571, 7.223771] + ] + ] + }, + "id": "PAN" + }, + { + "type": "Feature", + "properties": { "name": "Peru" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-69.590424, -17.580012], + [-69.858444, -18.092694], + [-70.372572, -18.347975], + [-71.37525, -17.773799], + [-71.462041, -17.363488], + [-73.44453, -16.359363], + [-75.237883, -15.265683], + [-76.009205, -14.649286], + [-76.423469, -13.823187], + [-76.259242, -13.535039], + [-77.106192, -12.222716], + [-78.092153, -10.377712], + [-79.036953, -8.386568], + [-79.44592, -7.930833], + [-79.760578, -7.194341], + [-80.537482, -6.541668], + [-81.249996, -6.136834], + [-80.926347, -5.690557], + [-81.410943, -4.736765], + [-81.09967, -4.036394], + [-80.302561, -3.404856], + [-80.184015, -3.821162], + [-80.469295, -4.059287], + [-80.442242, -4.425724], + [-80.028908, -4.346091], + [-79.624979, -4.454198], + [-79.205289, -4.959129], + [-78.639897, -4.547784], + [-78.450684, -3.873097], + [-77.837905, -3.003021], + [-76.635394, -2.608678], + [-75.544996, -1.56161], + [-75.233723, -0.911417], + [-75.373223, -0.152032], + [-75.106625, -0.057205], + [-74.441601, -0.53082], + [-74.122395, -1.002833], + [-73.659504, -1.260491], + [-73.070392, -2.308954], + [-72.325787, -2.434218], + [-71.774761, -2.16979], + [-71.413646, -2.342802], + [-70.813476, -2.256865], + [-70.047709, -2.725156], + [-70.692682, -3.742872], + [-70.394044, -3.766591], + [-69.893635, -4.298187], + [-70.794769, -4.251265], + [-70.928843, -4.401591], + [-71.748406, -4.593983], + [-72.891928, -5.274561], + [-72.964507, -5.741251], + [-73.219711, -6.089189], + [-73.120027, -6.629931], + [-73.724487, -6.918595], + [-73.723401, -7.340999], + [-73.987235, -7.52383], + [-73.571059, -8.424447], + [-73.015383, -9.032833], + [-73.226713, -9.462213], + [-72.563033, -9.520194], + [-72.184891, -10.053598], + [-71.302412, -10.079436], + [-70.481894, -9.490118], + [-70.548686, -11.009147], + [-70.093752, -11.123972], + [-69.529678, -10.951734], + [-68.66508, -12.5613], + [-68.88008, -12.899729], + [-68.929224, -13.602684], + [-68.948887, -14.453639], + [-69.339535, -14.953195], + [-69.160347, -15.323974], + [-69.389764, -15.660129], + [-68.959635, -16.500698], + [-69.590424, -17.580012] + ] + ] + }, + "id": "PER" + }, + { + "type": "Feature", + "properties": { "name": "Philippines" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [126.376814, 8.414706], + [126.478513, 7.750354], + [126.537424, 7.189381], + [126.196773, 6.274294], + [125.831421, 7.293715], + [125.363852, 6.786485], + [125.683161, 6.049657], + [125.396512, 5.581003], + [124.219788, 6.161355], + [123.93872, 6.885136], + [124.243662, 7.36061], + [123.610212, 7.833527], + [123.296071, 7.418876], + [122.825506, 7.457375], + [122.085499, 6.899424], + [121.919928, 7.192119], + [122.312359, 8.034962], + [122.942398, 8.316237], + [123.487688, 8.69301], + [123.841154, 8.240324], + [124.60147, 8.514158], + [124.764612, 8.960409], + [125.471391, 8.986997], + [125.412118, 9.760335], + [126.222714, 9.286074], + [126.306637, 8.782487], + [126.376814, 8.414706] + ] + ], + [ + [ + [123.982438, 10.278779], + [123.623183, 9.950091], + [123.309921, 9.318269], + [122.995883, 9.022189], + [122.380055, 9.713361], + [122.586089, 9.981045], + [122.837081, 10.261157], + [122.947411, 10.881868], + [123.49885, 10.940624], + [123.337774, 10.267384], + [124.077936, 11.232726], + [123.982438, 10.278779] + ] + ], + [ + [ + [118.504581, 9.316383], + [117.174275, 8.3675], + [117.664477, 9.066889], + [118.386914, 9.6845], + [118.987342, 10.376292], + [119.511496, 11.369668], + [119.689677, 10.554291], + [119.029458, 10.003653], + [118.504581, 9.316383] + ] + ], + [ + [ + [121.883548, 11.891755], + [122.483821, 11.582187], + [123.120217, 11.58366], + [123.100838, 11.165934], + [122.637714, 10.741308], + [122.00261, 10.441017], + [121.967367, 10.905691], + [122.03837, 11.415841], + [121.883548, 11.891755] + ] + ], + [ + [ + [125.502552, 12.162695], + [125.783465, 11.046122], + [125.011884, 11.311455], + [125.032761, 10.975816], + [125.277449, 10.358722], + [124.801819, 10.134679], + [124.760168, 10.837995], + [124.459101, 10.88993], + [124.302522, 11.495371], + [124.891013, 11.415583], + [124.87799, 11.79419], + [124.266762, 12.557761], + [125.227116, 12.535721], + [125.502552, 12.162695] + ] + ], + [ + [ + [121.527394, 13.06959], + [121.26219, 12.20556], + [120.833896, 12.704496], + [120.323436, 13.466413], + [121.180128, 13.429697], + [121.527394, 13.06959] + ] + ], + [ + [ + [121.321308, 18.504065], + [121.937601, 18.218552], + [122.246006, 18.47895], + [122.336957, 18.224883], + [122.174279, 17.810283], + [122.515654, 17.093505], + [122.252311, 16.262444], + [121.662786, 15.931018], + [121.50507, 15.124814], + [121.728829, 14.328376], + [122.258925, 14.218202], + [122.701276, 14.336541], + [123.950295, 13.782131], + [123.855107, 13.237771], + [124.181289, 12.997527], + [124.077419, 12.536677], + [123.298035, 13.027526], + [122.928652, 13.55292], + [122.671355, 13.185836], + [122.03465, 13.784482], + [121.126385, 13.636687], + [120.628637, 13.857656], + [120.679384, 14.271016], + [120.991819, 14.525393], + [120.693336, 14.756671], + [120.564145, 14.396279], + [120.070429, 14.970869], + [119.920929, 15.406347], + [119.883773, 16.363704], + [120.286488, 16.034629], + [120.390047, 17.599081], + [120.715867, 18.505227], + [121.321308, 18.504065] + ] + ] + ] + }, + "id": "PHL" + }, + { + "type": "Feature", + "properties": { "name": "Papua New Guinea" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [155.880026, -6.819997], + [155.599991, -6.919991], + [155.166994, -6.535931], + [154.729192, -5.900828], + [154.514114, -5.139118], + [154.652504, -5.042431], + [154.759991, -5.339984], + [155.062918, -5.566792], + [155.547746, -6.200655], + [156.019965, -6.540014], + [155.880026, -6.819997] + ] + ], + [ + [ + [151.982796, -5.478063], + [151.459107, -5.56028], + [151.30139, -5.840728], + [150.754447, -6.083763], + [150.241197, -6.317754], + [149.709963, -6.316513], + [148.890065, -6.02604], + [148.318937, -5.747142], + [148.401826, -5.437756], + [149.298412, -5.583742], + [149.845562, -5.505503], + [149.99625, -5.026101], + [150.139756, -5.001348], + [150.236908, -5.53222], + [150.807467, -5.455842], + [151.089672, -5.113693], + [151.647881, -4.757074], + [151.537862, -4.167807], + [152.136792, -4.14879], + [152.338743, -4.312966], + [152.318693, -4.867661], + [151.982796, -5.478063] + ] + ], + [ + [ + [147.191874, -7.388024], + [148.084636, -8.044108], + [148.734105, -9.104664], + [149.306835, -9.071436], + [149.266631, -9.514406], + [150.038728, -9.684318], + [149.738798, -9.872937], + [150.801628, -10.293687], + [150.690575, -10.582713], + [150.028393, -10.652476], + [149.78231, -10.393267], + [148.923138, -10.280923], + [147.913018, -10.130441], + [147.135443, -9.492444], + [146.567881, -8.942555], + [146.048481, -8.067414], + [144.744168, -7.630128], + [143.897088, -7.91533], + [143.286376, -8.245491], + [143.413913, -8.983069], + [142.628431, -9.326821], + [142.068259, -9.159596], + [141.033852, -9.117893], + [141.017057, -5.859022], + [141.00021, -2.600151], + [142.735247, -3.289153], + [144.583971, -3.861418], + [145.27318, -4.373738], + [145.829786, -4.876498], + [145.981922, -5.465609], + [147.648073, -6.083659], + [147.891108, -6.614015], + [146.970905, -6.721657], + [147.191874, -7.388024] + ] + ], + [ + [ + [153.140038, -4.499983], + [152.827292, -4.766427], + [152.638673, -4.176127], + [152.406026, -3.789743], + [151.953237, -3.462062], + [151.384279, -3.035422], + [150.66205, -2.741486], + [150.939965, -2.500002], + [151.479984, -2.779985], + [151.820015, -2.999972], + [152.239989, -3.240009], + [152.640017, -3.659983], + [153.019994, -3.980015], + [153.140038, -4.499983] + ] + ] + ] + }, + "id": "PNG" + }, + { + "type": "Feature", + "properties": { "name": "Poland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [15.016996, 51.106674], + [14.607098, 51.745188], + [14.685026, 52.089947], + [14.4376, 52.62485], + [14.074521, 52.981263], + [14.353315, 53.248171], + [14.119686, 53.757029], + [14.8029, 54.050706], + [16.363477, 54.513159], + [17.622832, 54.851536], + [18.620859, 54.682606], + [18.696255, 54.438719], + [19.66064, 54.426084], + [20.892245, 54.312525], + [22.731099, 54.327537], + [23.243987, 54.220567], + [23.484128, 53.912498], + [23.527536, 53.470122], + [23.804935, 53.089731], + [23.799199, 52.691099], + [23.199494, 52.486977], + [23.508002, 52.023647], + [23.527071, 51.578454], + [24.029986, 50.705407], + [23.922757, 50.424881], + [23.426508, 50.308506], + [22.51845, 49.476774], + [22.776419, 49.027395], + [22.558138, 49.085738], + [21.607808, 49.470107], + [20.887955, 49.328772], + [20.415839, 49.431453], + [19.825023, 49.217125], + [19.320713, 49.571574], + [18.909575, 49.435846], + [18.853144, 49.49623], + [18.392914, 49.988629], + [17.649445, 50.049038], + [17.554567, 50.362146], + [16.868769, 50.473974], + [16.719476, 50.215747], + [16.176253, 50.422607], + [16.238627, 50.697733], + [15.490972, 50.78473], + [15.016996, 51.106674] + ] + ] + }, + "id": "POL" + }, + { + "type": "Feature", + "properties": { "name": "Puerto Rico" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-66.282434, 18.514762], + [-65.771303, 18.426679], + [-65.591004, 18.228035], + [-65.847164, 17.975906], + [-66.599934, 17.981823], + [-67.184162, 17.946553], + [-67.242428, 18.37446], + [-67.100679, 18.520601], + [-66.282434, 18.514762] + ] + ] + }, + "id": "PRI" + }, + { + "type": "Feature", + "properties": { "name": "North Korea" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [130.640016, 42.395009], + [130.780007, 42.220007], + [130.400031, 42.280004], + [129.965949, 41.941368], + [129.667362, 41.601104], + [129.705189, 40.882828], + [129.188115, 40.661808], + [129.0104, 40.485436], + [128.633368, 40.189847], + [127.967414, 40.025413], + [127.533436, 39.75685], + [127.50212, 39.323931], + [127.385434, 39.213472], + [127.783343, 39.050898], + [128.349716, 38.612243], + [128.205746, 38.370397], + [127.780035, 38.304536], + [127.073309, 38.256115], + [126.68372, 37.804773], + [126.237339, 37.840378], + [126.174759, 37.749686], + [125.689104, 37.94001], + [125.568439, 37.752089], + [125.27533, 37.669071], + [125.240087, 37.857224], + [124.981033, 37.948821], + [124.712161, 38.108346], + [124.985994, 38.548474], + [125.221949, 38.665857], + [125.132859, 38.848559], + [125.38659, 39.387958], + [125.321116, 39.551385], + [124.737482, 39.660344], + [124.265625, 39.928493], + [125.079942, 40.569824], + [126.182045, 41.107336], + [126.869083, 41.816569], + [127.343783, 41.503152], + [128.208433, 41.466772], + [128.052215, 41.994285], + [129.596669, 42.424982], + [129.994267, 42.985387], + [130.640016, 42.395009] + ] + ] + }, + "id": "PRK" + }, + { + "type": "Feature", + "properties": { "name": "Portugal" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-9.034818, 41.880571], + [-8.671946, 42.134689], + [-8.263857, 42.280469], + [-8.013175, 41.790886], + [-7.422513, 41.792075], + [-7.251309, 41.918346], + [-6.668606, 41.883387], + [-6.389088, 41.381815], + [-6.851127, 41.111083], + [-6.86402, 40.330872], + [-7.026413, 40.184524], + [-7.066592, 39.711892], + [-7.498632, 39.629571], + [-7.098037, 39.030073], + [-7.374092, 38.373059], + [-7.029281, 38.075764], + [-7.166508, 37.803894], + [-7.537105, 37.428904], + [-7.453726, 37.097788], + [-7.855613, 36.838269], + [-8.382816, 36.97888], + [-8.898857, 36.868809], + [-8.746101, 37.651346], + [-8.839998, 38.266243], + [-9.287464, 38.358486], + [-9.526571, 38.737429], + [-9.446989, 39.392066], + [-9.048305, 39.755093], + [-8.977353, 40.159306], + [-8.768684, 40.760639], + [-8.790853, 41.184334], + [-8.990789, 41.543459], + [-9.034818, 41.880571] + ] + ] + }, + "id": "PRT" + }, + { + "type": "Feature", + "properties": { "name": "Paraguay" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-62.685057, -22.249029], + [-62.291179, -21.051635], + [-62.265961, -20.513735], + [-61.786326, -19.633737], + [-60.043565, -19.342747], + [-59.115042, -19.356906], + [-58.183471, -19.868399], + [-58.166392, -20.176701], + [-57.870674, -20.732688], + [-57.937156, -22.090176], + [-56.88151, -22.282154], + [-56.473317, -22.0863], + [-55.797958, -22.35693], + [-55.610683, -22.655619], + [-55.517639, -23.571998], + [-55.400747, -23.956935], + [-55.027902, -24.001274], + [-54.652834, -23.839578], + [-54.29296, -24.021014], + [-54.293476, -24.5708], + [-54.428946, -25.162185], + [-54.625291, -25.739255], + [-54.788795, -26.621786], + [-55.695846, -27.387837], + [-56.486702, -27.548499], + [-57.60976, -27.395899], + [-58.618174, -27.123719], + [-57.63366, -25.603657], + [-57.777217, -25.16234], + [-58.807128, -24.771459], + [-60.028966, -24.032796], + [-60.846565, -23.880713], + [-62.685057, -22.249029] + ] + ] + }, + "id": "PRY" + }, + { + "type": "Feature", + "properties": { "name": "Qatar" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [50.810108, 24.754743], + [50.743911, 25.482424], + [51.013352, 26.006992], + [51.286462, 26.114582], + [51.589079, 25.801113], + [51.6067, 25.21567], + [51.389608, 24.627386], + [51.112415, 24.556331], + [50.810108, 24.754743] + ] + ] + }, + "id": "QAT" + }, + { + "type": "Feature", + "properties": { "name": "Romania" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [22.710531, 47.882194], + [23.142236, 48.096341], + [23.760958, 47.985598], + [24.402056, 47.981878], + [24.866317, 47.737526], + [25.207743, 47.891056], + [25.945941, 47.987149], + [26.19745, 48.220881], + [26.619337, 48.220726], + [26.924176, 48.123264], + [27.233873, 47.826771], + [27.551166, 47.405117], + [28.12803, 46.810476], + [28.160018, 46.371563], + [28.054443, 45.944586], + [28.233554, 45.488283], + [28.679779, 45.304031], + [29.149725, 45.464925], + [29.603289, 45.293308], + [29.626543, 45.035391], + [29.141612, 44.82021], + [28.837858, 44.913874], + [28.558081, 43.707462], + [27.970107, 43.812468], + [27.2424, 44.175986], + [26.065159, 43.943494], + [25.569272, 43.688445], + [24.100679, 43.741051], + [23.332302, 43.897011], + [22.944832, 43.823785], + [22.65715, 44.234923], + [22.474008, 44.409228], + [22.705726, 44.578003], + [22.459022, 44.702517], + [22.145088, 44.478422], + [21.562023, 44.768947], + [21.483526, 45.18117], + [20.874313, 45.416375], + [20.762175, 45.734573], + [20.220192, 46.127469], + [21.021952, 46.316088], + [21.626515, 46.994238], + [22.099768, 47.672439], + [22.710531, 47.882194] + ] + ] + }, + "id": "ROU" + }, + { + "type": "Feature", + "properties": { "name": "Russia" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [143.648007, 50.7476], + [144.654148, 48.976391], + [143.173928, 49.306551], + [142.558668, 47.861575], + [143.533492, 46.836728], + [143.505277, 46.137908], + [142.747701, 46.740765], + [142.09203, 45.966755], + [141.906925, 46.805929], + [142.018443, 47.780133], + [141.904445, 48.859189], + [142.1358, 49.615163], + [142.179983, 50.952342], + [141.594076, 51.935435], + [141.682546, 53.301966], + [142.606934, 53.762145], + [142.209749, 54.225476], + [142.654786, 54.365881], + [142.914616, 53.704578], + [143.260848, 52.74076], + [143.235268, 51.75666], + [143.648007, 50.7476] + ] + ], + [ + [ + [22.731099, 54.327537], + [20.892245, 54.312525], + [19.66064, 54.426084], + [19.888481, 54.86616], + [21.268449, 55.190482], + [22.315724, 55.015299], + [22.757764, 54.856574], + [22.651052, 54.582741], + [22.731099, 54.327537] + ] + ], + [ + [ + [-175.01425, 66.58435], + [-174.33983, 66.33556], + [-174.57182, 67.06219], + [-171.85731, 66.91308], + [-169.89958, 65.97724], + [-170.89107, 65.54139], + [-172.53025, 65.43791], + [-172.555, 64.46079], + [-172.95533, 64.25269], + [-173.89184, 64.2826], + [-174.65392, 64.63125], + [-175.98353, 64.92288], + [-176.20716, 65.35667], + [-177.22266, 65.52024], + [-178.35993, 65.39052], + [-178.90332, 65.74044], + [-178.68611, 66.11211], + [-179.88377, 65.87456], + [-179.43268, 65.40411], + [-180, 64.979709], + [-180, 68.963636], + [-177.55, 68.2], + [-174.92825, 67.20589], + [-175.01425, 66.58435] + ] + ], + [ + [ + [180, 70.832199], + [178.903425, 70.78114], + [178.7253, 71.0988], + [180, 71.515714], + [180, 70.832199] + ] + ], + [ + [ + [-178.69378, 70.89302], + [-180, 70.832199], + [-180, 71.515714], + [-179.871875, 71.55762], + [-179.02433, 71.55553], + [-177.577945, 71.26948], + [-177.663575, 71.13277], + [-178.69378, 70.89302] + ] + ], + [ + [ + [143.60385, 73.21244], + [142.08763, 73.20544], + [140.038155, 73.31692], + [139.86312, 73.36983], + [140.81171, 73.76506], + [142.06207, 73.85758], + [143.48283, 73.47525], + [143.60385, 73.21244] + ] + ], + [ + [ + [150.73167, 75.08406], + [149.575925, 74.68892], + [147.977465, 74.778355], + [146.11919, 75.17298], + [146.358485, 75.49682], + [148.22223, 75.345845], + [150.73167, 75.08406] + ] + ], + [ + [ + [145.086285, 75.562625], + [144.3, 74.82], + [140.61381, 74.84768], + [138.95544, 74.61148], + [136.97439, 75.26167], + [137.51176, 75.94917], + [138.831075, 76.13676], + [141.471615, 76.09289], + [145.086285, 75.562625] + ] + ], + [ + [ + [57.535693, 70.720464], + [56.944979, 70.632743], + [53.677375, 70.762658], + [53.412017, 71.206662], + [51.601895, 71.474759], + [51.455754, 72.014881], + [52.478275, 72.229442], + [52.444169, 72.774731], + [54.427614, 73.627548], + [53.50829, 73.749814], + [55.902459, 74.627486], + [55.631933, 75.081412], + [57.868644, 75.60939], + [61.170044, 76.251883], + [64.498368, 76.439055], + [66.210977, 76.809782], + [68.15706, 76.939697], + [68.852211, 76.544811], + [68.180573, 76.233642], + [64.637326, 75.737755], + [61.583508, 75.260885], + [58.477082, 74.309056], + [56.986786, 73.333044], + [55.419336, 72.371268], + [55.622838, 71.540595], + [57.535693, 70.720464] + ] + ], + [ + [ + [106.97013, 76.97419], + [107.24, 76.48], + [108.1538, 76.72335], + [111.07726, 76.71], + [113.33151, 76.22224], + [114.13417, 75.84764], + [113.88539, 75.32779], + [112.77918, 75.03186], + [110.15125, 74.47673], + [109.4, 74.18], + [110.64, 74.04], + [112.11919, 73.78774], + [113.01954, 73.97693], + [113.52958, 73.33505], + [113.96881, 73.59488], + [115.56782, 73.75285], + [118.77633, 73.58772], + [119.02, 73.12], + [123.20066, 72.97122], + [123.25777, 73.73503], + [125.38, 73.56], + [126.97644, 73.56549], + [128.59126, 73.03871], + [129.05157, 72.39872], + [128.46, 71.98], + [129.71599, 71.19304], + [131.28858, 70.78699], + [132.2535, 71.8363], + [133.85766, 71.38642], + [135.56193, 71.65525], + [137.49755, 71.34763], + [138.23409, 71.62803], + [139.86983, 71.48783], + [139.14791, 72.41619], + [140.46817, 72.84941], + [149.5, 72.2], + [150.35118, 71.60643], + [152.9689, 70.84222], + [157.00688, 71.03141], + [158.99779, 70.86672], + [159.83031, 70.45324], + [159.70866, 69.72198], + [160.94053, 69.43728], + [162.27907, 69.64204], + [164.05248, 69.66823], + [165.94037, 69.47199], + [167.83567, 69.58269], + [169.57763, 68.6938], + [170.81688, 69.01363], + [170.0082, 69.65276], + [170.45345, 70.09703], + [173.64391, 69.81743], + [175.72403, 69.87725], + [178.6, 69.4], + [180, 68.963636], + [180, 64.979709], + [179.99281, 64.97433], + [178.7072, 64.53493], + [177.41128, 64.60821], + [178.313, 64.07593], + [178.90825, 63.25197], + [179.37034, 62.98262], + [179.48636, 62.56894], + [179.22825, 62.3041], + [177.3643, 62.5219], + [174.56929, 61.76915], + [173.68013, 61.65261], + [172.15, 60.95], + [170.6985, 60.33618], + [170.33085, 59.88177], + [168.90046, 60.57355], + [166.29498, 59.78855], + [165.84, 60.16], + [164.87674, 59.7316], + [163.53929, 59.86871], + [163.21711, 59.21101], + [162.01733, 58.24328], + [162.05297, 57.83912], + [163.19191, 57.61503], + [163.05794, 56.15924], + [162.12958, 56.12219], + [161.70146, 55.28568], + [162.11749, 54.85514], + [160.36877, 54.34433], + [160.02173, 53.20257], + [158.53094, 52.95868], + [158.23118, 51.94269], + [156.78979, 51.01105], + [156.42, 51.7], + [155.99182, 53.15895], + [155.43366, 55.38103], + [155.91442, 56.76792], + [156.75815, 57.3647], + [156.81035, 57.83204], + [158.36433, 58.05575], + [160.15064, 59.31477], + [161.87204, 60.343], + [163.66969, 61.1409], + [164.47355, 62.55061], + [163.25842, 62.46627], + [162.65791, 61.6425], + [160.12148, 60.54423], + [159.30232, 61.77396], + [156.72068, 61.43442], + [154.21806, 59.75818], + [155.04375, 59.14495], + [152.81185, 58.88385], + [151.26573, 58.78089], + [151.33815, 59.50396], + [149.78371, 59.65573], + [148.54481, 59.16448], + [145.48722, 59.33637], + [142.19782, 59.03998], + [138.95848, 57.08805], + [135.12619, 54.72959], + [136.70171, 54.60355], + [137.19342, 53.97732], + [138.1647, 53.75501], + [138.80463, 54.25455], + [139.90151, 54.18968], + [141.34531, 53.08957], + [141.37923, 52.23877], + [140.59742, 51.23967], + [140.51308, 50.04553], + [140.06193, 48.44671], + [138.55472, 46.99965], + [138.21971, 46.30795], + [136.86232, 45.1435], + [135.51535, 43.989], + [134.86939, 43.39821], + [133.53687, 42.81147], + [132.90627, 42.79849], + [132.27807, 43.28456], + [130.93587, 42.55274], + [130.78, 42.22], + [130.64, 42.395], + [130.633866, 42.903015], + [131.144688, 42.92999], + [131.288555, 44.11152], + [131.02519, 44.96796], + [131.883454, 45.321162], + [133.09712, 45.14409], + [133.769644, 46.116927], + [134.11235, 47.21248], + [134.50081, 47.57845], + [135.026311, 48.47823], + [133.373596, 48.183442], + [132.50669, 47.78896], + [130.98726, 47.79013], + [130.582293, 48.729687], + [129.397818, 49.4406], + [127.6574, 49.76027], + [127.287456, 50.739797], + [126.939157, 51.353894], + [126.564399, 51.784255], + [125.946349, 52.792799], + [125.068211, 53.161045], + [123.57147, 53.4588], + [122.245748, 53.431726], + [121.003085, 53.251401], + [120.177089, 52.753886], + [120.725789, 52.516226], + [120.7382, 51.96411], + [120.18208, 51.64355], + [119.27939, 50.58292], + [119.288461, 50.142883], + [117.879244, 49.510983], + [116.678801, 49.888531], + [115.485695, 49.805177], + [114.96211, 50.140247], + [114.362456, 50.248303], + [112.89774, 49.543565], + [111.581231, 49.377968], + [110.662011, 49.130128], + [109.402449, 49.292961], + [108.475167, 49.282548], + [107.868176, 49.793705], + [106.888804, 50.274296], + [105.886591, 50.406019], + [104.62158, 50.27532], + [103.676545, 50.089966], + [102.25589, 50.51056], + [102.06521, 51.25991], + [100.88948, 51.516856], + [99.981732, 51.634006], + [98.861491, 52.047366], + [97.82574, 51.010995], + [98.231762, 50.422401], + [97.25976, 49.72605], + [95.81402, 49.97746], + [94.815949, 50.013433], + [94.147566, 50.480537], + [93.10421, 50.49529], + [92.234712, 50.802171], + [90.713667, 50.331812], + [88.805567, 49.470521], + [87.751264, 49.297198], + [87.35997, 49.214981], + [86.829357, 49.826675], + [85.54127, 49.692859], + [85.11556, 50.117303], + [84.416377, 50.3114], + [83.935115, 50.889246], + [83.383004, 51.069183], + [81.945986, 50.812196], + [80.568447, 51.388336], + [80.03556, 50.864751], + [77.800916, 53.404415], + [76.525179, 54.177003], + [76.8911, 54.490524], + [74.38482, 53.54685], + [73.425679, 53.48981], + [73.508516, 54.035617], + [72.22415, 54.376655], + [71.180131, 54.133285], + [70.865267, 55.169734], + [69.068167, 55.38525], + [68.1691, 54.970392], + [65.66687, 54.60125], + [65.178534, 54.354228], + [61.4366, 54.00625], + [60.978066, 53.664993], + [61.699986, 52.979996], + [60.739993, 52.719986], + [60.927269, 52.447548], + [59.967534, 51.96042], + [61.588003, 51.272659], + [61.337424, 50.79907], + [59.932807, 50.842194], + [59.642282, 50.545442], + [58.36332, 51.06364], + [56.77798, 51.04355], + [55.71694, 50.62171], + [54.532878, 51.02624], + [52.328724, 51.718652], + [50.766648, 51.692762], + [48.702382, 50.605128], + [48.577841, 49.87476], + [47.54948, 50.454698], + [46.751596, 49.356006], + [47.043672, 49.152039], + [46.466446, 48.394152], + [47.31524, 47.71585], + [48.05725, 47.74377], + [48.694734, 47.075628], + [48.59325, 46.56104], + [49.10116, 46.39933], + [48.64541, 45.80629], + [47.67591, 45.64149], + [46.68201, 44.6092], + [47.59094, 43.66016], + [47.49252, 42.98658], + [48.58437, 41.80888], + [47.987283, 41.405819], + [47.815666, 41.151416], + [47.373315, 41.219732], + [46.686071, 41.827137], + [46.404951, 41.860675], + [45.7764, 42.09244], + [45.470279, 42.502781], + [44.537623, 42.711993], + [43.93121, 42.55496], + [43.75599, 42.74083], + [42.3944, 43.2203], + [40.92219, 43.38215], + [40.076965, 43.553104], + [39.955009, 43.434998], + [38.68, 44.28], + [37.53912, 44.65721], + [36.67546, 45.24469], + [37.40317, 45.40451], + [38.23295, 46.24087], + [37.67372, 46.63657], + [39.14767, 47.04475], + [39.1212, 47.26336], + [38.223538, 47.10219], + [38.255112, 47.5464], + [38.77057, 47.82562], + [39.738278, 47.898937], + [39.89562, 48.23241], + [39.67465, 48.78382], + [40.080789, 49.30743], + [40.06904, 49.60105], + [38.594988, 49.926462], + [38.010631, 49.915662], + [37.39346, 50.383953], + [36.626168, 50.225591], + [35.356116, 50.577197], + [35.37791, 50.77394], + [35.022183, 51.207572], + [34.224816, 51.255993], + [34.141978, 51.566413], + [34.391731, 51.768882], + [33.7527, 52.335075], + [32.715761, 52.238465], + [32.412058, 52.288695], + [32.15944, 52.06125], + [31.78597, 52.10168], + [31.540018, 52.742052], + [31.305201, 53.073996], + [31.49764, 53.16743], + [32.304519, 53.132726], + [32.693643, 53.351421], + [32.405599, 53.618045], + [31.731273, 53.794029], + [31.791424, 53.974639], + [31.384472, 54.157056], + [30.757534, 54.811771], + [30.971836, 55.081548], + [30.873909, 55.550976], + [29.896294, 55.789463], + [29.371572, 55.670091], + [29.229513, 55.918344], + [28.176709, 56.16913], + [27.855282, 56.759326], + [27.770016, 57.244258], + [27.288185, 57.474528], + [27.716686, 57.791899], + [27.42015, 58.72457], + [28.131699, 59.300825], + [27.98112, 59.47537], + [29.1177, 60.02805], + [28.07, 60.50352], + [30.211107, 61.780028], + [31.139991, 62.357693], + [31.516092, 62.867687], + [30.035872, 63.552814], + [30.444685, 64.204453], + [29.54443, 64.948672], + [30.21765, 65.80598], + [29.054589, 66.944286], + [29.977426, 67.698297], + [28.445944, 68.364613], + [28.59193, 69.064777], + [29.39955, 69.15692], + [31.10108, 69.55811], + [32.13272, 69.90595], + [33.77547, 69.30142], + [36.51396, 69.06342], + [40.29234, 67.9324], + [41.05987, 67.45713], + [41.12595, 66.79158], + [40.01583, 66.26618], + [38.38295, 65.99953], + [33.91871, 66.75961], + [33.18444, 66.63253], + [34.81477, 65.90015], + [34.878574, 65.436213], + [34.94391, 64.41437], + [36.23129, 64.10945], + [37.01273, 63.84983], + [37.14197, 64.33471], + [36.539579, 64.76446], + [37.17604, 65.14322], + [39.59345, 64.52079], + [40.4356, 64.76446], + [39.7626, 65.49682], + [42.09309, 66.47623], + [43.01604, 66.41858], + [43.94975, 66.06908], + [44.53226, 66.75634], + [43.69839, 67.35245], + [44.18795, 67.95051], + [43.45282, 68.57079], + [46.25, 68.25], + [46.82134, 67.68997], + [45.55517, 67.56652], + [45.56202, 67.01005], + [46.34915, 66.66767], + [47.89416, 66.88455], + [48.13876, 67.52238], + [50.22766, 67.99867], + [53.71743, 68.85738], + [54.47171, 68.80815], + [53.48582, 68.20131], + [54.72628, 68.09702], + [55.44268, 68.43866], + [57.31702, 68.46628], + [58.802, 68.88082], + [59.94142, 68.27844], + [61.07784, 68.94069], + [60.03, 69.52], + [60.55, 69.85], + [63.504, 69.54739], + [64.888115, 69.234835], + [68.51216, 68.09233], + [69.18068, 68.61563], + [68.16444, 69.14436], + [68.13522, 69.35649], + [66.93008, 69.45461], + [67.25976, 69.92873], + [66.72492, 70.70889], + [66.69466, 71.02897], + [68.54006, 71.9345], + [69.19636, 72.84336], + [69.94, 73.04], + [72.58754, 72.77629], + [72.79603, 72.22006], + [71.84811, 71.40898], + [72.47011, 71.09019], + [72.79188, 70.39114], + [72.5647, 69.02085], + [73.66787, 68.4079], + [73.2387, 67.7404], + [71.28, 66.32], + [72.42301, 66.17267], + [72.82077, 66.53267], + [73.92099, 66.78946], + [74.18651, 67.28429], + [75.052, 67.76047], + [74.46926, 68.32899], + [74.93584, 68.98918], + [73.84236, 69.07146], + [73.60187, 69.62763], + [74.3998, 70.63175], + [73.1011, 71.44717], + [74.89082, 72.12119], + [74.65926, 72.83227], + [75.15801, 72.85497], + [75.68351, 72.30056], + [75.28898, 71.33556], + [76.35911, 71.15287], + [75.90313, 71.87401], + [77.57665, 72.26717], + [79.65202, 72.32011], + [81.5, 71.75], + [80.61071, 72.58285], + [80.51109, 73.6482], + [82.25, 73.85], + [84.65526, 73.80591], + [86.8223, 73.93688], + [86.00956, 74.45967], + [87.16682, 75.11643], + [88.31571, 75.14393], + [90.26, 75.64], + [92.90058, 75.77333], + [93.23421, 76.0472], + [95.86, 76.14], + [96.67821, 75.91548], + [98.92254, 76.44689], + [100.75967, 76.43028], + [101.03532, 76.86189], + [101.99084, 77.28754], + [104.3516, 77.69792], + [106.06664, 77.37389], + [104.705, 77.1274], + [106.97013, 76.97419] + ] + ], + [ + [ + [105.07547, 78.30689], + [99.43814, 77.921], + [101.2649, 79.23399], + [102.08635, 79.34641], + [102.837815, 79.28129], + [105.37243, 78.71334], + [105.07547, 78.30689] + ] + ], + [ + [ + [51.136187, 80.54728], + [49.793685, 80.415428], + [48.894411, 80.339567], + [48.754937, 80.175468], + [47.586119, 80.010181], + [46.502826, 80.247247], + [47.072455, 80.559424], + [44.846958, 80.58981], + [46.799139, 80.771918], + [48.318477, 80.78401], + [48.522806, 80.514569], + [49.09719, 80.753986], + [50.039768, 80.918885], + [51.522933, 80.699726], + [51.136187, 80.54728] + ] + ], + [ + [ + [99.93976, 78.88094], + [97.75794, 78.7562], + [94.97259, 79.044745], + [93.31288, 79.4265], + [92.5454, 80.14379], + [91.18107, 80.34146], + [93.77766, 81.0246], + [95.940895, 81.2504], + [97.88385, 80.746975], + [100.186655, 79.780135], + [99.93976, 78.88094] + ] + ] + ] + }, + "id": "RUS" + }, + { + "type": "Feature", + "properties": { "name": "Rwanda" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [30.419105, -1.134659], + [30.816135, -1.698914], + [30.758309, -2.28725], + [30.469696, -2.413858], + [29.938359, -2.348487], + [29.632176, -2.917858], + [29.024926, -2.839258], + [29.117479, -2.292211], + [29.254835, -2.21511], + [29.291887, -1.620056], + [29.579466, -1.341313], + [29.821519, -1.443322], + [30.419105, -1.134659] + ] + ] + }, + "id": "RWA" + }, + { + "type": "Feature", + "properties": { "name": "Western Sahara" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-8.794884, 27.120696], + [-8.817828, 27.656426], + [-8.66559, 27.656426], + [-8.665124, 27.589479], + [-8.6844, 27.395744], + [-8.687294, 25.881056], + [-11.969419, 25.933353], + [-11.937224, 23.374594], + [-12.874222, 23.284832], + [-13.118754, 22.77122], + [-12.929102, 21.327071], + [-16.845194, 21.333323], + [-17.063423, 20.999752], + [-17.020428, 21.42231], + [-17.002962, 21.420734], + [-14.750955, 21.5006], + [-14.630833, 21.86094], + [-14.221168, 22.310163], + [-13.89111, 23.691009], + [-12.500963, 24.770116], + [-12.030759, 26.030866], + [-11.71822, 26.104092], + [-11.392555, 26.883424], + [-10.551263, 26.990808], + [-10.189424, 26.860945], + [-9.735343, 26.860945], + [-9.413037, 27.088476], + [-8.794884, 27.120696] + ] + ] + }, + "id": "ESH" + }, + { + "type": "Feature", + "properties": { "name": "Saudi Arabia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [42.779332, 16.347891], + [42.649573, 16.774635], + [42.347989, 17.075806], + [42.270888, 17.474722], + [41.754382, 17.833046], + [41.221391, 18.6716], + [40.939341, 19.486485], + [40.247652, 20.174635], + [39.801685, 20.338862], + [39.139399, 21.291905], + [39.023696, 21.986875], + [39.066329, 22.579656], + [38.492772, 23.688451], + [38.02386, 24.078686], + [37.483635, 24.285495], + [37.154818, 24.858483], + [37.209491, 25.084542], + [36.931627, 25.602959], + [36.639604, 25.826228], + [36.249137, 26.570136], + [35.640182, 27.37652], + [35.130187, 28.063352], + [34.632336, 28.058546], + [34.787779, 28.607427], + [34.83222, 28.957483], + [34.956037, 29.356555], + [36.068941, 29.197495], + [36.501214, 29.505254], + [36.740528, 29.865283], + [37.503582, 30.003776], + [37.66812, 30.338665], + [37.998849, 30.5085], + [37.002166, 31.508413], + [39.004886, 32.010217], + [39.195468, 32.161009], + [40.399994, 31.889992], + [41.889981, 31.190009], + [44.709499, 29.178891], + [46.568713, 29.099025], + [47.459822, 29.002519], + [47.708851, 28.526063], + [48.416094, 28.552004], + [48.807595, 27.689628], + [49.299554, 27.461218], + [49.470914, 27.109999], + [50.152422, 26.689663], + [50.212935, 26.277027], + [50.113303, 25.943972], + [50.239859, 25.60805], + [50.527387, 25.327808], + [50.660557, 24.999896], + [50.810108, 24.754743], + [51.112415, 24.556331], + [51.389608, 24.627386], + [51.579519, 24.245497], + [51.617708, 24.014219], + [52.000733, 23.001154], + [55.006803, 22.496948], + [55.208341, 22.70833], + [55.666659, 22.000001], + [54.999982, 19.999994], + [52.00001, 19.000003], + [49.116672, 18.616668], + [48.183344, 18.166669], + [47.466695, 17.116682], + [47.000005, 16.949999], + [46.749994, 17.283338], + [46.366659, 17.233315], + [45.399999, 17.333335], + [45.216651, 17.433329], + [44.062613, 17.410359], + [43.791519, 17.319977], + [43.380794, 17.579987], + [43.115798, 17.08844], + [43.218375, 16.66689], + [42.779332, 16.347891] + ] + ] + }, + "id": "SAU" + }, + { + "type": "Feature", + "properties": { "name": "Sudan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [33.963393, 9.464285], + [33.824963, 9.484061], + [33.842131, 9.981915], + [33.721959, 10.325262], + [33.206938, 10.720112], + [33.086766, 11.441141], + [33.206938, 12.179338], + [32.743419, 12.248008], + [32.67475, 12.024832], + [32.073892, 11.97333], + [32.314235, 11.681484], + [32.400072, 11.080626], + [31.850716, 10.531271], + [31.352862, 9.810241], + [30.837841, 9.707237], + [29.996639, 10.290927], + [29.618957, 10.084919], + [29.515953, 9.793074], + [29.000932, 9.604232], + [28.966597, 9.398224], + [27.97089, 9.398224], + [27.833551, 9.604232], + [27.112521, 9.638567], + [26.752006, 9.466893], + [26.477328, 9.55273], + [25.962307, 10.136421], + [25.790633, 10.411099], + [25.069604, 10.27376], + [24.794926, 9.810241], + [24.537415, 8.917538], + [24.194068, 8.728696], + [23.88698, 8.61973], + [23.805813, 8.666319], + [23.459013, 8.954286], + [23.394779, 9.265068], + [23.55725, 9.681218], + [23.554304, 10.089255], + [22.977544, 10.714463], + [22.864165, 11.142395], + [22.87622, 11.38461], + [22.50869, 11.67936], + [22.49762, 12.26024], + [22.28801, 12.64605], + [21.93681, 12.58818], + [22.03759, 12.95546], + [22.29658, 13.37232], + [22.18329, 13.78648], + [22.51202, 14.09318], + [22.30351, 14.32682], + [22.56795, 14.94429], + [23.02459, 15.68072], + [23.88689, 15.61084], + [23.83766, 19.58047], + [23.85, 20], + [25, 20.00304], + [25, 22], + [29.02, 22], + [32.9, 22], + [36.86623, 22], + [37.18872, 21.01885], + [36.96941, 20.83744], + [37.1147, 19.80796], + [37.48179, 18.61409], + [37.86276, 18.36786], + [38.41009, 17.998307], + [37.904, 17.42754], + [37.16747, 17.26314], + [36.85253, 16.95655], + [36.75389, 16.29186], + [36.32322, 14.82249], + [36.42951, 14.42211], + [36.27022, 13.56333], + [35.86363, 12.57828], + [35.26049, 12.08286], + [34.83163, 11.31896], + [34.73115, 10.91017], + [34.25745, 10.63009], + [33.96162, 9.58358], + [33.963393, 9.464285] + ] + ] + }, + "id": "SDN" + }, + { + "type": "Feature", + "properties": { "name": "South Sudan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [33.963393, 9.464285], + [33.97498, 8.68456], + [33.8255, 8.37916], + [33.2948, 8.35458], + [32.95418, 7.78497], + [33.56829, 7.71334], + [34.0751, 7.22595], + [34.25032, 6.82607], + [34.70702, 6.59422], + [35.298007, 5.506], + [34.620196, 4.847123], + [34.005, 4.249885], + [33.39, 3.79], + [32.68642, 3.79232], + [31.88145, 3.55827], + [31.24556, 3.7819], + [30.83385, 3.50917], + [29.95349, 4.1737], + [29.715995, 4.600805], + [29.159078, 4.389267], + [28.696678, 4.455077], + [28.428994, 4.287155], + [27.979977, 4.408413], + [27.374226, 5.233944], + [27.213409, 5.550953], + [26.465909, 5.946717], + [26.213418, 6.546603], + [25.796648, 6.979316], + [25.124131, 7.500085], + [25.114932, 7.825104], + [24.567369, 8.229188], + [23.88698, 8.61973], + [24.194068, 8.728696], + [24.537415, 8.917538], + [24.794926, 9.810241], + [25.069604, 10.27376], + [25.790633, 10.411099], + [25.962307, 10.136421], + [26.477328, 9.55273], + [26.752006, 9.466893], + [27.112521, 9.638567], + [27.833551, 9.604232], + [27.97089, 9.398224], + [28.966597, 9.398224], + [29.000932, 9.604232], + [29.515953, 9.793074], + [29.618957, 10.084919], + [29.996639, 10.290927], + [30.837841, 9.707237], + [31.352862, 9.810241], + [31.850716, 10.531271], + [32.400072, 11.080626], + [32.314235, 11.681484], + [32.073892, 11.97333], + [32.67475, 12.024832], + [32.743419, 12.248008], + [33.206938, 12.179338], + [33.086766, 11.441141], + [33.206938, 10.720112], + [33.721959, 10.325262], + [33.842131, 9.981915], + [33.824963, 9.484061], + [33.963393, 9.464285] + ] + ] + }, + "id": "SSD" + }, + { + "type": "Feature", + "properties": { "name": "Senegal" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-16.713729, 13.594959], + [-17.126107, 14.373516], + [-17.625043, 14.729541], + [-17.185173, 14.919477], + [-16.700706, 15.621527], + [-16.463098, 16.135036], + [-16.12069, 16.455663], + [-15.623666, 16.369337], + [-15.135737, 16.587282], + [-14.577348, 16.598264], + [-14.099521, 16.304302], + [-13.435738, 16.039383], + [-12.830658, 15.303692], + [-12.17075, 14.616834], + [-12.124887, 13.994727], + [-11.927716, 13.422075], + [-11.553398, 13.141214], + [-11.467899, 12.754519], + [-11.513943, 12.442988], + [-11.658301, 12.386583], + [-12.203565, 12.465648], + [-12.278599, 12.35444], + [-12.499051, 12.33209], + [-13.217818, 12.575874], + [-13.700476, 12.586183], + [-15.548477, 12.62817], + [-15.816574, 12.515567], + [-16.147717, 12.547762], + [-16.677452, 12.384852], + [-16.841525, 13.151394], + [-15.931296, 13.130284], + [-15.691001, 13.270353], + [-15.511813, 13.27857], + [-15.141163, 13.509512], + [-14.712197, 13.298207], + [-14.277702, 13.280585], + [-13.844963, 13.505042], + [-14.046992, 13.794068], + [-14.376714, 13.62568], + [-14.687031, 13.630357], + [-15.081735, 13.876492], + [-15.39877, 13.860369], + [-15.624596, 13.623587], + [-16.713729, 13.594959] + ] + ] + }, + "id": "SEN" + }, + { + "type": "Feature", + "properties": { "name": "Solomon Islands" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [162.119025, -10.482719], + [162.398646, -10.826367], + [161.700032, -10.820011], + [161.319797, -10.204751], + [161.917383, -10.446701], + [162.119025, -10.482719] + ] + ], + [ + [ + [160.852229, -9.872937], + [160.462588, -9.89521], + [159.849447, -9.794027], + [159.640003, -9.63998], + [159.702945, -9.24295], + [160.362956, -9.400304], + [160.688518, -9.610162], + [160.852229, -9.872937] + ] + ], + [ + [ + [161.679982, -9.599982], + [161.529397, -9.784312], + [160.788253, -8.917543], + [160.579997, -8.320009], + [160.920028, -8.320009], + [161.280006, -9.120011], + [161.679982, -9.599982] + ] + ], + [ + [ + [159.875027, -8.33732], + [159.917402, -8.53829], + [159.133677, -8.114181], + [158.586114, -7.754824], + [158.21115, -7.421872], + [158.359978, -7.320018], + [158.820001, -7.560003], + [159.640003, -8.020027], + [159.875027, -8.33732] + ] + ], + [ + [ + [157.538426, -7.34782], + [157.33942, -7.404767], + [156.90203, -7.176874], + [156.491358, -6.765943], + [156.542828, -6.599338], + [157.14, -7.021638], + [157.538426, -7.34782] + ] + ] + ] + }, + "id": "SLB" + }, + { + "type": "Feature", + "properties": { "name": "Sierra Leone" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-11.438779, 6.785917], + [-11.708195, 6.860098], + [-12.428099, 7.262942], + [-12.949049, 7.798646], + [-13.124025, 8.163946], + [-13.24655, 8.903049], + [-12.711958, 9.342712], + [-12.596719, 9.620188], + [-12.425929, 9.835834], + [-12.150338, 9.858572], + [-11.917277, 10.046984], + [-11.117481, 10.045873], + [-10.839152, 9.688246], + [-10.622395, 9.26791], + [-10.65477, 8.977178], + [-10.494315, 8.715541], + [-10.505477, 8.348896], + [-10.230094, 8.406206], + [-10.695595, 7.939464], + [-11.146704, 7.396706], + [-11.199802, 7.105846], + [-11.438779, 6.785917] + ] + ] + }, + "id": "SLE" + }, + { + "type": "Feature", + "properties": { "name": "El Salvador" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-87.793111, 13.38448], + [-87.904112, 13.149017], + [-88.483302, 13.163951], + [-88.843228, 13.259734], + [-89.256743, 13.458533], + [-89.812394, 13.520622], + [-90.095555, 13.735338], + [-90.064678, 13.88197], + [-89.721934, 14.134228], + [-89.534219, 14.244816], + [-89.587343, 14.362586], + [-89.353326, 14.424133], + [-89.058512, 14.340029], + [-88.843073, 14.140507], + [-88.541231, 13.980155], + [-88.503998, 13.845486], + [-88.065343, 13.964626], + [-87.859515, 13.893312], + [-87.723503, 13.78505], + [-87.793111, 13.38448] + ] + ] + }, + "id": "SLV" + }, + { + "type": "Feature", + "properties": { "name": "Somaliland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [48.93813, 9.451749], + [48.486736, 8.837626], + [47.78942, 8.003], + [46.948328, 7.996877], + [43.67875, 9.18358], + [43.296975, 9.540477], + [42.92812, 10.02194], + [42.55876, 10.57258], + [42.776852, 10.926879], + [43.145305, 11.46204], + [43.47066, 11.27771], + [43.666668, 10.864169], + [44.117804, 10.445538], + [44.614259, 10.442205], + [45.556941, 10.698029], + [46.645401, 10.816549], + [47.525658, 11.127228], + [48.021596, 11.193064], + [48.378784, 11.375482], + [48.948206, 11.410622], + [48.942005, 11.394266], + [48.938491, 10.982327], + [48.938233, 9.9735], + [48.93813, 9.451749] + ] + ] + }, + "id": "-99" + }, + { + "type": "Feature", + "properties": { "name": "Somalia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [49.72862, 11.5789], + [50.25878, 11.67957], + [50.73202, 12.0219], + [51.1112, 12.02464], + [51.13387, 11.74815], + [51.04153, 11.16651], + [51.04531, 10.6409], + [50.83418, 10.27972], + [50.55239, 9.19874], + [50.07092, 8.08173], + [49.4527, 6.80466], + [48.59455, 5.33911], + [47.74079, 4.2194], + [46.56476, 2.85529], + [45.56399, 2.04576], + [44.06815, 1.05283], + [43.13597, 0.2922], + [42.04157, -0.91916], + [41.81095, -1.44647], + [41.58513, -1.68325], + [40.993, -0.85829], + [40.98105, 2.78452], + [41.855083, 3.918912], + [42.12861, 4.23413], + [42.76967, 4.25259], + [43.66087, 4.95755], + [44.9636, 5.00162], + [47.78942, 8.003], + [48.486736, 8.837626], + [48.93813, 9.451749], + [48.938233, 9.9735], + [48.938491, 10.982327], + [48.942005, 11.394266], + [48.948205, 11.410617], + [49.26776, 11.43033], + [49.72862, 11.5789] + ] + ] + }, + "id": "SOM" + }, + { + "type": "Feature", + "properties": { "name": "Republic of Serbia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [20.874313, 45.416375], + [21.483526, 45.18117], + [21.562023, 44.768947], + [22.145088, 44.478422], + [22.459022, 44.702517], + [22.705726, 44.578003], + [22.474008, 44.409228], + [22.65715, 44.234923], + [22.410446, 44.008063], + [22.500157, 43.642814], + [22.986019, 43.211161], + [22.604801, 42.898519], + [22.436595, 42.580321], + [22.545012, 42.461362], + [22.380526, 42.32026], + [21.91708, 42.30364], + [21.576636, 42.245224], + [21.54332, 42.32025], + [21.66292, 42.43922], + [21.77505, 42.6827], + [21.63302, 42.67717], + [21.43866, 42.86255], + [21.27421, 42.90959], + [21.143395, 43.068685], + [20.95651, 43.13094], + [20.81448, 43.27205], + [20.63508, 43.21671], + [20.49679, 42.88469], + [20.25758, 42.81275], + [20.3398, 42.89852], + [19.95857, 43.10604], + [19.63, 43.21378], + [19.48389, 43.35229], + [19.21852, 43.52384], + [19.454, 43.5681], + [19.59976, 44.03847], + [19.11761, 44.42307], + [19.36803, 44.863], + [19.00548, 44.86023], + [19.390476, 45.236516], + [19.072769, 45.521511], + [18.82982, 45.90888], + [19.596045, 46.17173], + [20.220192, 46.127469], + [20.762175, 45.734573], + [20.874313, 45.416375] + ] + ] + }, + "id": "SRB" + }, + { + "type": "Feature", + "properties": { "name": "Suriname" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-57.147436, 5.97315], + [-55.949318, 5.772878], + [-55.84178, 5.953125], + [-55.03325, 6.025291], + [-53.958045, 5.756548], + [-54.478633, 4.896756], + [-54.399542, 4.212611], + [-54.006931, 3.620038], + [-54.181726, 3.18978], + [-54.269705, 2.732392], + [-54.524754, 2.311849], + [-55.097587, 2.523748], + [-55.569755, 2.421506], + [-55.973322, 2.510364], + [-56.073342, 2.220795], + [-55.9056, 2.021996], + [-55.995698, 1.817667], + [-56.539386, 1.899523], + [-57.150098, 2.768927], + [-57.281433, 3.333492], + [-57.601569, 3.334655], + [-58.044694, 4.060864], + [-57.86021, 4.576801], + [-57.914289, 4.812626], + [-57.307246, 5.073567], + [-57.147436, 5.97315] + ] + ] + }, + "id": "SUR" + }, + { + "type": "Feature", + "properties": { "name": "Slovakia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [18.853144, 49.49623], + [18.909575, 49.435846], + [19.320713, 49.571574], + [19.825023, 49.217125], + [20.415839, 49.431453], + [20.887955, 49.328772], + [21.607808, 49.470107], + [22.558138, 49.085738], + [22.280842, 48.825392], + [22.085608, 48.422264], + [21.872236, 48.319971], + [20.801294, 48.623854], + [20.473562, 48.56285], + [20.239054, 48.327567], + [19.769471, 48.202691], + [19.661364, 48.266615], + [19.174365, 48.111379], + [18.777025, 48.081768], + [18.696513, 47.880954], + [17.857133, 47.758429], + [17.488473, 47.867466], + [16.979667, 48.123497], + [16.879983, 48.470013], + [16.960288, 48.596982], + [17.101985, 48.816969], + [17.545007, 48.800019], + [17.886485, 48.903475], + [17.913512, 48.996493], + [18.104973, 49.043983], + [18.170498, 49.271515], + [18.399994, 49.315001], + [18.554971, 49.495015], + [18.853144, 49.49623] + ] + ] + }, + "id": "SVK" + }, + { + "type": "Feature", + "properties": { "name": "Slovenia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [13.806475, 46.509306], + [14.632472, 46.431817], + [15.137092, 46.658703], + [16.011664, 46.683611], + [16.202298, 46.852386], + [16.370505, 46.841327], + [16.564808, 46.503751], + [15.768733, 46.238108], + [15.67153, 45.834154], + [15.323954, 45.731783], + [15.327675, 45.452316], + [14.935244, 45.471695], + [14.595109, 45.634941], + [14.411968, 45.466166], + [13.71506, 45.500324], + [13.93763, 45.591016], + [13.69811, 46.016778], + [13.806475, 46.509306] + ] + ] + }, + "id": "SVN" + }, + { + "type": "Feature", + "properties": { "name": "Sweden" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [22.183173, 65.723741], + [21.213517, 65.026005], + [21.369631, 64.413588], + [19.778876, 63.609554], + [17.847779, 62.7494], + [17.119555, 61.341166], + [17.831346, 60.636583], + [18.787722, 60.081914], + [17.869225, 58.953766], + [16.829185, 58.719827], + [16.44771, 57.041118], + [15.879786, 56.104302], + [14.666681, 56.200885], + [14.100721, 55.407781], + [12.942911, 55.361737], + [12.625101, 56.30708], + [11.787942, 57.441817], + [11.027369, 58.856149], + [11.468272, 59.432393], + [12.300366, 60.117933], + [12.631147, 61.293572], + [11.992064, 61.800362], + [11.930569, 63.128318], + [12.579935, 64.066219], + [13.571916, 64.049114], + [13.919905, 64.445421], + [13.55569, 64.787028], + [15.108411, 66.193867], + [16.108712, 67.302456], + [16.768879, 68.013937], + [17.729182, 68.010552], + [17.993868, 68.567391], + [19.87856, 68.407194], + [20.025269, 69.065139], + [20.645593, 69.106247], + [21.978535, 68.616846], + [23.539473, 67.936009], + [23.56588, 66.396051], + [23.903379, 66.006927], + [22.183173, 65.723741] + ] + ] + }, + "id": "SWE" + }, + { + "type": "Feature", + "properties": { "name": "Swaziland" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [32.071665, -26.73382], + [31.86806, -27.177927], + [31.282773, -27.285879], + [30.685962, -26.743845], + [30.676609, -26.398078], + [30.949667, -26.022649], + [31.04408, -25.731452], + [31.333158, -25.660191], + [31.837778, -25.843332], + [31.985779, -26.29178], + [32.071665, -26.73382] + ] + ] + }, + "id": "SWZ" + }, + { + "type": "Feature", + "properties": { "name": "Syria" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [38.792341, 33.378686], + [36.834062, 32.312938], + [35.719918, 32.709192], + [35.700798, 32.716014], + [35.836397, 32.868123], + [35.821101, 33.277426], + [36.06646, 33.824912], + [36.61175, 34.201789], + [36.448194, 34.593935], + [35.998403, 34.644914], + [35.905023, 35.410009], + [36.149763, 35.821535], + [36.41755, 36.040617], + [36.685389, 36.259699], + [36.739494, 36.81752], + [37.066761, 36.623036], + [38.167727, 36.90121], + [38.699891, 36.712927], + [39.52258, 36.716054], + [40.673259, 37.091276], + [41.212089, 37.074352], + [42.349591, 37.229873], + [41.837064, 36.605854], + [41.289707, 36.358815], + [41.383965, 35.628317], + [41.006159, 34.419372], + [38.792341, 33.378686] + ] + ] + }, + "id": "SYR" + }, + { + "type": "Feature", + "properties": { "name": "Chad" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [14.495787, 12.859396], + [14.595781, 13.330427], + [13.954477, 13.353449], + [13.956699, 13.996691], + [13.540394, 14.367134], + [13.97217, 15.68437], + [15.247731, 16.627306], + [15.300441, 17.92795], + [15.685741, 19.95718], + [15.903247, 20.387619], + [15.487148, 20.730415], + [15.47106, 21.04845], + [15.096888, 21.308519], + [14.8513, 22.86295], + [15.86085, 23.40972], + [19.84926, 21.49509], + [23.83766, 19.58047], + [23.88689, 15.61084], + [23.02459, 15.68072], + [22.56795, 14.94429], + [22.30351, 14.32682], + [22.51202, 14.09318], + [22.18329, 13.78648], + [22.29658, 13.37232], + [22.03759, 12.95546], + [21.93681, 12.58818], + [22.28801, 12.64605], + [22.49762, 12.26024], + [22.50869, 11.67936], + [22.87622, 11.38461], + [22.864165, 11.142395], + [22.231129, 10.971889], + [21.723822, 10.567056], + [21.000868, 9.475985], + [20.059685, 9.012706], + [19.094008, 9.074847], + [18.81201, 8.982915], + [18.911022, 8.630895], + [18.389555, 8.281304], + [17.96493, 7.890914], + [16.705988, 7.508328], + [16.456185, 7.734774], + [16.290562, 7.754307], + [16.106232, 7.497088], + [15.27946, 7.421925], + [15.436092, 7.692812], + [15.120866, 8.38215], + [14.979996, 8.796104], + [14.544467, 8.965861], + [13.954218, 9.549495], + [14.171466, 10.021378], + [14.627201, 9.920919], + [14.909354, 9.992129], + [15.467873, 9.982337], + [14.923565, 10.891325], + [14.960152, 11.555574], + [14.89336, 12.21905], + [14.495787, 12.859396] + ] + ] + }, + "id": "TCD" + }, + { + "type": "Feature", + "properties": { "name": "Togo" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [1.865241, 6.142158], + [1.060122, 5.928837], + [0.836931, 6.279979], + [0.570384, 6.914359], + [0.490957, 7.411744], + [0.712029, 8.312465], + [0.461192, 8.677223], + [0.365901, 9.465004], + [0.36758, 10.191213], + [-0.049785, 10.706918], + [0.023803, 11.018682], + [0.899563, 10.997339], + [0.772336, 10.470808], + [1.077795, 10.175607], + [1.425061, 9.825395], + [1.463043, 9.334624], + [1.664478, 9.12859], + [1.618951, 6.832038], + [1.865241, 6.142158] + ] + ] + }, + "id": "TGO" + }, + { + "type": "Feature", + "properties": { "name": "Thailand" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [102.584932, 12.186595], + [101.687158, 12.64574], + [100.83181, 12.627085], + [100.978467, 13.412722], + [100.097797, 13.406856], + [100.018733, 12.307001], + [99.478921, 10.846367], + [99.153772, 9.963061], + [99.222399, 9.239255], + [99.873832, 9.207862], + [100.279647, 8.295153], + [100.459274, 7.429573], + [101.017328, 6.856869], + [101.623079, 6.740622], + [102.141187, 6.221636], + [101.814282, 5.810808], + [101.154219, 5.691384], + [101.075516, 6.204867], + [100.259596, 6.642825], + [100.085757, 6.464489], + [99.690691, 6.848213], + [99.519642, 7.343454], + [98.988253, 7.907993], + [98.503786, 8.382305], + [98.339662, 7.794512], + [98.150009, 8.350007], + [98.25915, 8.973923], + [98.553551, 9.93296], + [99.038121, 10.960546], + [99.587286, 11.892763], + [99.196354, 12.804748], + [99.212012, 13.269294], + [99.097755, 13.827503], + [98.430819, 14.622028], + [98.192074, 15.123703], + [98.537376, 15.308497], + [98.903348, 16.177824], + [98.493761, 16.837836], + [97.859123, 17.567946], + [97.375896, 18.445438], + [97.797783, 18.62708], + [98.253724, 19.708203], + [98.959676, 19.752981], + [99.543309, 20.186598], + [100.115988, 20.41785], + [100.548881, 20.109238], + [100.606294, 19.508344], + [101.282015, 19.462585], + [101.035931, 18.408928], + [101.059548, 17.512497], + [102.113592, 18.109102], + [102.413005, 17.932782], + [102.998706, 17.961695], + [103.200192, 18.309632], + [103.956477, 18.240954], + [104.716947, 17.428859], + [104.779321, 16.441865], + [105.589039, 15.570316], + [105.544338, 14.723934], + [105.218777, 14.273212], + [104.281418, 14.416743], + [102.988422, 14.225721], + [102.348099, 13.394247], + [102.584932, 12.186595] + ] + ] + }, + "id": "THA" + }, + { + "type": "Feature", + "properties": { "name": "Tajikistan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [71.014198, 40.244366], + [70.648019, 39.935754], + [69.55961, 40.103211], + [69.464887, 39.526683], + [70.549162, 39.604198], + [71.784694, 39.279463], + [73.675379, 39.431237], + [73.928852, 38.505815], + [74.257514, 38.606507], + [74.864816, 38.378846], + [74.829986, 37.990007], + [74.980002, 37.41999], + [73.948696, 37.421566], + [73.260056, 37.495257], + [72.63689, 37.047558], + [72.193041, 36.948288], + [71.844638, 36.738171], + [71.448693, 37.065645], + [71.541918, 37.905774], + [71.239404, 37.953265], + [71.348131, 38.258905], + [70.806821, 38.486282], + [70.376304, 38.138396], + [70.270574, 37.735165], + [70.116578, 37.588223], + [69.518785, 37.608997], + [69.196273, 37.151144], + [68.859446, 37.344336], + [68.135562, 37.023115], + [67.83, 37.144994], + [68.392033, 38.157025], + [68.176025, 38.901553], + [67.44222, 39.140144], + [67.701429, 39.580478], + [68.536416, 39.533453], + [69.011633, 40.086158], + [69.329495, 40.727824], + [70.666622, 40.960213], + [70.45816, 40.496495], + [70.601407, 40.218527], + [71.014198, 40.244366] + ] + ] + }, + "id": "TJK" + }, + { + "type": "Feature", + "properties": { "name": "Turkmenistan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [61.210817, 35.650072], + [61.123071, 36.491597], + [60.377638, 36.527383], + [59.234762, 37.412988], + [58.436154, 37.522309], + [57.330434, 38.029229], + [56.619366, 38.121394], + [56.180375, 37.935127], + [55.511578, 37.964117], + [54.800304, 37.392421], + [53.921598, 37.198918], + [53.735511, 37.906136], + [53.880929, 38.952093], + [53.101028, 39.290574], + [53.357808, 39.975286], + [52.693973, 40.033629], + [52.915251, 40.876523], + [53.858139, 40.631034], + [54.736845, 40.951015], + [54.008311, 41.551211], + [53.721713, 42.123191], + [52.91675, 41.868117], + [52.814689, 41.135371], + [52.50246, 41.783316], + [52.944293, 42.116034], + [54.079418, 42.324109], + [54.755345, 42.043971], + [55.455251, 41.259859], + [55.968191, 41.308642], + [57.096391, 41.32231], + [56.932215, 41.826026], + [57.78653, 42.170553], + [58.629011, 42.751551], + [59.976422, 42.223082], + [60.083341, 41.425146], + [60.465953, 41.220327], + [61.547179, 41.26637], + [61.882714, 41.084857], + [62.37426, 40.053886], + [63.518015, 39.363257], + [64.170223, 38.892407], + [65.215999, 38.402695], + [66.54615, 37.974685], + [66.518607, 37.362784], + [66.217385, 37.39379], + [65.745631, 37.661164], + [65.588948, 37.305217], + [64.746105, 37.111818], + [64.546479, 36.312073], + [63.982896, 36.007957], + [63.193538, 35.857166], + [62.984662, 35.404041], + [62.230651, 35.270664], + [61.210817, 35.650072] + ] + ] + }, + "id": "TKM" + }, + { + "type": "Feature", + "properties": { "name": "East Timor" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [124.968682, -8.89279], + [125.086246, -8.656887], + [125.947072, -8.432095], + [126.644704, -8.398247], + [126.957243, -8.273345], + [127.335928, -8.397317], + [126.967992, -8.668256], + [125.925885, -9.106007], + [125.08852, -9.393173], + [125.07002, -9.089987], + [124.968682, -8.89279] + ] + ] + }, + "id": "TLS" + }, + { + "type": "Feature", + "properties": { "name": "Trinidad and Tobago" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-61.68, 10.76], + [-61.105, 10.89], + [-60.895, 10.855], + [-60.935, 10.11], + [-61.77, 10], + [-61.95, 10.09], + [-61.66, 10.365], + [-61.68, 10.76] + ] + ] + }, + "id": "TTO" + }, + { + "type": "Feature", + "properties": { "name": "Tunisia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [9.48214, 30.307556], + [9.055603, 32.102692], + [8.439103, 32.506285], + [8.430473, 32.748337], + [7.612642, 33.344115], + [7.524482, 34.097376], + [8.140981, 34.655146], + [8.376368, 35.479876], + [8.217824, 36.433177], + [8.420964, 36.946427], + [9.509994, 37.349994], + [10.210002, 37.230002], + [10.18065, 36.724038], + [11.028867, 37.092103], + [11.100026, 36.899996], + [10.600005, 36.41], + [10.593287, 35.947444], + [10.939519, 35.698984], + [10.807847, 34.833507], + [10.149593, 34.330773], + [10.339659, 33.785742], + [10.856836, 33.76874], + [11.108501, 33.293343], + [11.488787, 33.136996], + [11.432253, 32.368903], + [10.94479, 32.081815], + [10.636901, 31.761421], + [9.950225, 31.37607], + [10.056575, 30.961831], + [9.970017, 30.539325], + [9.48214, 30.307556] + ] + ] + }, + "id": "TUN" + }, + { + "type": "Feature", + "properties": { "name": "Turkey" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [36.913127, 41.335358], + [38.347665, 40.948586], + [39.512607, 41.102763], + [40.373433, 41.013673], + [41.554084, 41.535656], + [42.619549, 41.583173], + [43.582746, 41.092143], + [43.752658, 40.740201], + [43.656436, 40.253564], + [44.400009, 40.005], + [44.79399, 39.713003], + [44.109225, 39.428136], + [44.421403, 38.281281], + [44.225756, 37.971584], + [44.772699, 37.170445], + [44.293452, 37.001514], + [43.942259, 37.256228], + [42.779126, 37.385264], + [42.349591, 37.229873], + [41.212089, 37.074352], + [40.673259, 37.091276], + [39.52258, 36.716054], + [38.699891, 36.712927], + [38.167727, 36.90121], + [37.066761, 36.623036], + [36.739494, 36.81752], + [36.685389, 36.259699], + [36.41755, 36.040617], + [36.149763, 35.821535], + [35.782085, 36.274995], + [36.160822, 36.650606], + [35.550936, 36.565443], + [34.714553, 36.795532], + [34.026895, 36.21996], + [32.509158, 36.107564], + [31.699595, 36.644275], + [30.621625, 36.677865], + [30.391096, 36.262981], + [29.699976, 36.144357], + [28.732903, 36.676831], + [27.641187, 36.658822], + [27.048768, 37.653361], + [26.318218, 38.208133], + [26.8047, 38.98576], + [26.170785, 39.463612], + [27.28002, 40.420014], + [28.819978, 40.460011], + [29.240004, 41.219991], + [31.145934, 41.087622], + [32.347979, 41.736264], + [33.513283, 42.01896], + [35.167704, 42.040225], + [36.913127, 41.335358] + ] + ], + [ + [ + [27.192377, 40.690566], + [26.358009, 40.151994], + [26.043351, 40.617754], + [26.056942, 40.824123], + [26.294602, 40.936261], + [26.604196, 41.562115], + [26.117042, 41.826905], + [27.135739, 42.141485], + [27.99672, 42.007359], + [28.115525, 41.622886], + [28.988443, 41.299934], + [28.806438, 41.054962], + [27.619017, 40.999823], + [27.192377, 40.690566] + ] + ] + ] + }, + "id": "TUR" + }, + { + "type": "Feature", + "properties": { "name": "Taiwan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [121.777818, 24.394274], + [121.175632, 22.790857], + [120.74708, 21.970571], + [120.220083, 22.814861], + [120.106189, 23.556263], + [120.69468, 24.538451], + [121.495044, 25.295459], + [121.951244, 24.997596], + [121.777818, 24.394274] + ] + ] + }, + "id": "TWN" + }, + { + "type": "Feature", + "properties": { "name": "United Republic of Tanzania" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [33.903711, -0.95], + [34.07262, -1.05982], + [37.69869, -3.09699], + [37.7669, -3.67712], + [39.20222, -4.67677], + [38.74054, -5.90895], + [38.79977, -6.47566], + [39.44, -6.84], + [39.47, -7.1], + [39.19469, -7.7039], + [39.25203, -8.00781], + [39.18652, -8.48551], + [39.53574, -9.11237], + [39.9496, -10.0984], + [40.31659, -10.3171], + [39.521, -10.89688], + [38.427557, -11.285202], + [37.82764, -11.26879], + [37.47129, -11.56876], + [36.775151, -11.594537], + [36.514082, -11.720938], + [35.312398, -11.439146], + [34.559989, -11.52002], + [34.28, -10.16], + [33.940838, -9.693674], + [33.73972, -9.41715], + [32.759375, -9.230599], + [32.191865, -8.930359], + [31.556348, -8.762049], + [31.157751, -8.594579], + [30.74, -8.34], + [30.2, -7.08], + [29.62, -6.52], + [29.419993, -5.939999], + [29.519987, -5.419979], + [29.339998, -4.499983], + [29.753512, -4.452389], + [30.11632, -4.09012], + [30.50554, -3.56858], + [30.75224, -3.35931], + [30.74301, -3.03431], + [30.52766, -2.80762], + [30.46967, -2.41383], + [30.758309, -2.28725], + [30.816135, -1.698914], + [30.419105, -1.134659], + [30.76986, -1.01455], + [31.86617, -1.02736], + [33.903711, -0.95] + ] + ] + }, + "id": "TZA" + }, + { + "type": "Feature", + "properties": { "name": "Uganda" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [31.86617, -1.02736], + [30.76986, -1.01455], + [30.419105, -1.134659], + [29.821519, -1.443322], + [29.579466, -1.341313], + [29.587838, -0.587406], + [29.8195, -0.2053], + [29.875779, 0.59738], + [30.086154, 1.062313], + [30.468508, 1.583805], + [30.85267, 1.849396], + [31.174149, 2.204465], + [30.77332, 2.33989], + [30.83385, 3.50917], + [31.24556, 3.7819], + [31.88145, 3.55827], + [32.68642, 3.79232], + [33.39, 3.79], + [34.005, 4.249885], + [34.47913, 3.5556], + [34.59607, 3.05374], + [35.03599, 1.90584], + [34.6721, 1.17694], + [34.18, 0.515], + [33.893569, 0.109814], + [33.903711, -0.95], + [31.86617, -1.02736] + ] + ] + }, + "id": "UGA" + }, + { + "type": "Feature", + "properties": { "name": "Ukraine" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [31.785998, 52.101678], + [32.159412, 52.061267], + [32.412058, 52.288695], + [32.715761, 52.238465], + [33.7527, 52.335075], + [34.391731, 51.768882], + [34.141978, 51.566413], + [34.224816, 51.255993], + [35.022183, 51.207572], + [35.377924, 50.773955], + [35.356116, 50.577197], + [36.626168, 50.225591], + [37.39346, 50.383953], + [38.010631, 49.915662], + [38.594988, 49.926462], + [40.069058, 49.601055], + [40.080789, 49.30743], + [39.674664, 48.783818], + [39.895632, 48.232405], + [39.738278, 47.898937], + [38.770585, 47.825608], + [38.255112, 47.5464], + [38.223538, 47.10219], + [37.425137, 47.022221], + [36.759855, 46.6987], + [35.823685, 46.645964], + [34.962342, 46.273197], + [35.020788, 45.651219], + [35.510009, 45.409993], + [36.529998, 45.46999], + [36.334713, 45.113216], + [35.239999, 44.939996], + [33.882511, 44.361479], + [33.326421, 44.564877], + [33.546924, 45.034771], + [32.454174, 45.327466], + [32.630804, 45.519186], + [33.588162, 45.851569], + [33.298567, 46.080598], + [31.74414, 46.333348], + [31.675307, 46.706245], + [30.748749, 46.5831], + [30.377609, 46.03241], + [29.603289, 45.293308], + [29.149725, 45.464925], + [28.679779, 45.304031], + [28.233554, 45.488283], + [28.485269, 45.596907], + [28.659987, 45.939987], + [28.933717, 46.25883], + [28.862972, 46.437889], + [29.072107, 46.517678], + [29.170654, 46.379262], + [29.759972, 46.349988], + [30.024659, 46.423937], + [29.83821, 46.525326], + [29.908852, 46.674361], + [29.559674, 46.928583], + [29.415135, 47.346645], + [29.050868, 47.510227], + [29.122698, 47.849095], + [28.670891, 48.118149], + [28.259547, 48.155562], + [27.522537, 48.467119], + [26.857824, 48.368211], + [26.619337, 48.220726], + [26.19745, 48.220881], + [25.945941, 47.987149], + [25.207743, 47.891056], + [24.866317, 47.737526], + [24.402056, 47.981878], + [23.760958, 47.985598], + [23.142236, 48.096341], + [22.710531, 47.882194], + [22.64082, 48.15024], + [22.085608, 48.422264], + [22.280842, 48.825392], + [22.558138, 49.085738], + [22.776419, 49.027395], + [22.51845, 49.476774], + [23.426508, 50.308506], + [23.922757, 50.424881], + [24.029986, 50.705407], + [23.527071, 51.578454], + [24.005078, 51.617444], + [24.553106, 51.888461], + [25.327788, 51.910656], + [26.337959, 51.832289], + [27.454066, 51.592303], + [28.241615, 51.572227], + [28.617613, 51.427714], + [28.992835, 51.602044], + [29.254938, 51.368234], + [30.157364, 51.416138], + [30.555117, 51.319503], + [30.619454, 51.822806], + [30.927549, 52.042353], + [31.785998, 52.101678] + ] + ] + }, + "id": "UKR" + }, + { + "type": "Feature", + "properties": { "name": "Uruguay" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-57.625133, -30.216295], + [-56.976026, -30.109686], + [-55.973245, -30.883076], + [-55.60151, -30.853879], + [-54.572452, -31.494511], + [-53.787952, -32.047243], + [-53.209589, -32.727666], + [-53.650544, -33.202004], + [-53.373662, -33.768378], + [-53.806426, -34.396815], + [-54.935866, -34.952647], + [-55.67409, -34.752659], + [-56.215297, -34.859836], + [-57.139685, -34.430456], + [-57.817861, -34.462547], + [-58.427074, -33.909454], + [-58.349611, -33.263189], + [-58.132648, -33.040567], + [-58.14244, -32.044504], + [-57.874937, -31.016556], + [-57.625133, -30.216295] + ] + ] + }, + "id": "URY" + }, + { + "type": "Feature", + "properties": { "name": "United States of America" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-155.54211, 19.08348], + [-155.68817, 18.91619], + [-155.93665, 19.05939], + [-155.90806, 19.33888], + [-156.07347, 19.70294], + [-156.02368, 19.81422], + [-155.85008, 19.97729], + [-155.91907, 20.17395], + [-155.86108, 20.26721], + [-155.78505, 20.2487], + [-155.40214, 20.07975], + [-155.22452, 19.99302], + [-155.06226, 19.8591], + [-154.80741, 19.50871], + [-154.83147, 19.45328], + [-155.22217, 19.23972], + [-155.54211, 19.08348] + ] + ], + [ + [ + [-156.07926, 20.64397], + [-156.41445, 20.57241], + [-156.58673, 20.783], + [-156.70167, 20.8643], + [-156.71055, 20.92676], + [-156.61258, 21.01249], + [-156.25711, 20.91745], + [-155.99566, 20.76404], + [-156.07926, 20.64397] + ] + ], + [ + [ + [-156.75824, 21.17684], + [-156.78933, 21.06873], + [-157.32521, 21.09777], + [-157.25027, 21.21958], + [-156.75824, 21.17684] + ] + ], + [ + [ + [-157.65283, 21.32217], + [-157.70703, 21.26442], + [-157.7786, 21.27729], + [-158.12667, 21.31244], + [-158.2538, 21.53919], + [-158.29265, 21.57912], + [-158.0252, 21.71696], + [-157.94161, 21.65272], + [-157.65283, 21.32217] + ] + ], + [ + [ + [-159.34512, 21.982], + [-159.46372, 21.88299], + [-159.80051, 22.06533], + [-159.74877, 22.1382], + [-159.5962, 22.23618], + [-159.36569, 22.21494], + [-159.34512, 21.982] + ] + ], + [ + [ + [-94.81758, 49.38905], + [-94.64, 48.84], + [-94.32914, 48.67074], + [-93.63087, 48.60926], + [-92.61, 48.45], + [-91.64, 48.14], + [-90.83, 48.27], + [-89.6, 48.01], + [-89.272917, 48.019808], + [-88.378114, 48.302918], + [-87.439793, 47.94], + [-86.461991, 47.553338], + [-85.652363, 47.220219], + [-84.87608, 46.900083], + [-84.779238, 46.637102], + [-84.543749, 46.538684], + [-84.6049, 46.4396], + [-84.3367, 46.40877], + [-84.14212, 46.512226], + [-84.091851, 46.275419], + [-83.890765, 46.116927], + [-83.616131, 46.116927], + [-83.469551, 45.994686], + [-83.592851, 45.816894], + [-82.550925, 45.347517], + [-82.337763, 44.44], + [-82.137642, 43.571088], + [-82.43, 42.98], + [-82.9, 42.43], + [-83.12, 42.08], + [-83.142, 41.975681], + [-83.02981, 41.832796], + [-82.690089, 41.675105], + [-82.439278, 41.675105], + [-81.277747, 42.209026], + [-80.247448, 42.3662], + [-78.939362, 42.863611], + [-78.92, 42.965], + [-79.01, 43.27], + [-79.171674, 43.466339], + [-78.72028, 43.625089], + [-77.737885, 43.629056], + [-76.820034, 43.628784], + [-76.5, 44.018459], + [-76.375, 44.09631], + [-75.31821, 44.81645], + [-74.867, 45.00048], + [-73.34783, 45.00738], + [-71.50506, 45.0082], + [-71.405, 45.255], + [-71.08482, 45.30524], + [-70.66, 45.46], + [-70.305, 45.915], + [-69.99997, 46.69307], + [-69.237216, 47.447781], + [-68.905, 47.185], + [-68.23444, 47.35486], + [-67.79046, 47.06636], + [-67.79134, 45.70281], + [-67.13741, 45.13753], + [-66.96466, 44.8097], + [-68.03252, 44.3252], + [-69.06, 43.98], + [-70.11617, 43.68405], + [-70.645476, 43.090238], + [-70.81489, 42.8653], + [-70.825, 42.335], + [-70.495, 41.805], + [-70.08, 41.78], + [-70.185, 42.145], + [-69.88497, 41.92283], + [-69.96503, 41.63717], + [-70.64, 41.475], + [-71.12039, 41.49445], + [-71.86, 41.32], + [-72.295, 41.27], + [-72.87643, 41.22065], + [-73.71, 40.931102], + [-72.24126, 41.11948], + [-71.945, 40.93], + [-73.345, 40.63], + [-73.982, 40.628], + [-73.952325, 40.75075], + [-74.25671, 40.47351], + [-73.96244, 40.42763], + [-74.17838, 39.70926], + [-74.90604, 38.93954], + [-74.98041, 39.1964], + [-75.20002, 39.24845], + [-75.52805, 39.4985], + [-75.32, 38.96], + [-75.071835, 38.782032], + [-75.05673, 38.40412], + [-75.37747, 38.01551], + [-75.94023, 37.21689], + [-76.03127, 37.2566], + [-75.72205, 37.93705], + [-76.23287, 38.319215], + [-76.35, 39.15], + [-76.542725, 38.717615], + [-76.32933, 38.08326], + [-76.989998, 38.239992], + [-76.30162, 37.917945], + [-76.25874, 36.9664], + [-75.9718, 36.89726], + [-75.86804, 36.55125], + [-75.72749, 35.55074], + [-76.36318, 34.80854], + [-77.397635, 34.51201], + [-78.05496, 33.92547], + [-78.55435, 33.86133], + [-79.06067, 33.49395], + [-79.20357, 33.15839], + [-80.301325, 32.509355], + [-80.86498, 32.0333], + [-81.33629, 31.44049], + [-81.49042, 30.72999], + [-81.31371, 30.03552], + [-80.98, 29.18], + [-80.535585, 28.47213], + [-80.53, 28.04], + [-80.056539, 26.88], + [-80.088015, 26.205765], + [-80.13156, 25.816775], + [-80.38103, 25.20616], + [-80.68, 25.08], + [-81.17213, 25.20126], + [-81.33, 25.64], + [-81.71, 25.87], + [-82.24, 26.73], + [-82.70515, 27.49504], + [-82.85526, 27.88624], + [-82.65, 28.55], + [-82.93, 29.1], + [-83.70959, 29.93656], + [-84.1, 30.09], + [-85.10882, 29.63615], + [-85.28784, 29.68612], + [-85.7731, 30.15261], + [-86.4, 30.4], + [-87.53036, 30.27433], + [-88.41782, 30.3849], + [-89.18049, 30.31598], + [-89.593831, 30.159994], + [-89.413735, 29.89419], + [-89.43, 29.48864], + [-89.21767, 29.29108], + [-89.40823, 29.15961], + [-89.77928, 29.30714], + [-90.15463, 29.11743], + [-90.880225, 29.148535], + [-91.626785, 29.677], + [-92.49906, 29.5523], + [-93.22637, 29.78375], + [-93.84842, 29.71363], + [-94.69, 29.48], + [-95.60026, 28.73863], + [-96.59404, 28.30748], + [-97.14, 27.83], + [-97.37, 27.38], + [-97.38, 26.69], + [-97.33, 26.21], + [-97.14, 25.87], + [-97.53, 25.84], + [-98.24, 26.06], + [-99.02, 26.37], + [-99.3, 26.84], + [-99.52, 27.54], + [-100.11, 28.11], + [-100.45584, 28.69612], + [-100.9576, 29.38071], + [-101.6624, 29.7793], + [-102.48, 29.76], + [-103.11, 28.97], + [-103.94, 29.27], + [-104.45697, 29.57196], + [-104.70575, 30.12173], + [-105.03737, 30.64402], + [-105.63159, 31.08383], + [-106.1429, 31.39995], + [-106.50759, 31.75452], + [-108.24, 31.754854], + [-108.24194, 31.34222], + [-109.035, 31.34194], + [-111.02361, 31.33472], + [-113.30498, 32.03914], + [-114.815, 32.52528], + [-114.72139, 32.72083], + [-115.99135, 32.61239], + [-117.12776, 32.53534], + [-117.295938, 33.046225], + [-117.944, 33.621236], + [-118.410602, 33.740909], + [-118.519895, 34.027782], + [-119.081, 34.078], + [-119.438841, 34.348477], + [-120.36778, 34.44711], + [-120.62286, 34.60855], + [-120.74433, 35.15686], + [-121.71457, 36.16153], + [-122.54747, 37.55176], + [-122.51201, 37.78339], + [-122.95319, 38.11371], + [-123.7272, 38.95166], + [-123.86517, 39.76699], + [-124.39807, 40.3132], + [-124.17886, 41.14202], + [-124.2137, 41.99964], + [-124.53284, 42.76599], + [-124.14214, 43.70838], + [-124.020535, 44.615895], + [-123.89893, 45.52341], + [-124.079635, 46.86475], + [-124.39567, 47.72017], + [-124.68721, 48.184433], + [-124.566101, 48.379715], + [-123.12, 48.04], + [-122.58736, 47.096], + [-122.34, 47.36], + [-122.5, 48.18], + [-122.84, 49], + [-120, 49], + [-117.03121, 49], + [-116.04818, 49], + [-113, 49], + [-110.05, 49], + [-107.05, 49], + [-104.04826, 48.99986], + [-100.65, 49], + [-97.22872, 49.0007], + [-95.15907, 49], + [-95.15609, 49.38425], + [-94.81758, 49.38905] + ] + ], + [ + [ + [-153.006314, 57.115842], + [-154.00509, 56.734677], + [-154.516403, 56.992749], + [-154.670993, 57.461196], + [-153.76278, 57.816575], + [-153.228729, 57.968968], + [-152.564791, 57.901427], + [-152.141147, 57.591059], + [-153.006314, 57.115842] + ] + ], + [ + [ + [-165.579164, 59.909987], + [-166.19277, 59.754441], + [-166.848337, 59.941406], + [-167.455277, 60.213069], + [-166.467792, 60.38417], + [-165.67443, 60.293607], + [-165.579164, 59.909987] + ] + ], + [ + [ + [-171.731657, 63.782515], + [-171.114434, 63.592191], + [-170.491112, 63.694975], + [-169.682505, 63.431116], + [-168.689439, 63.297506], + [-168.771941, 63.188598], + [-169.52944, 62.976931], + [-170.290556, 63.194438], + [-170.671386, 63.375822], + [-171.553063, 63.317789], + [-171.791111, 63.405846], + [-171.731657, 63.782515] + ] + ], + [ + [ + [-155.06779, 71.147776], + [-154.344165, 70.696409], + [-153.900006, 70.889989], + [-152.210006, 70.829992], + [-152.270002, 70.600006], + [-150.739992, 70.430017], + [-149.720003, 70.53001], + [-147.613362, 70.214035], + [-145.68999, 70.12001], + [-144.920011, 69.989992], + [-143.589446, 70.152514], + [-142.07251, 69.851938], + [-140.985988, 69.711998], + [-140.985988, 69.711998], + [-140.992499, 66.000029], + [-140.99777, 60.306397], + [-140.012998, 60.276838], + [-139.039, 60.000007], + [-138.34089, 59.56211], + [-137.4525, 58.905], + [-136.47972, 59.46389], + [-135.47583, 59.78778], + [-134.945, 59.27056], + [-134.27111, 58.86111], + [-133.355549, 58.410285], + [-132.73042, 57.69289], + [-131.70781, 56.55212], + [-130.00778, 55.91583], + [-129.979994, 55.284998], + [-130.53611, 54.802753], + [-131.085818, 55.178906], + [-131.967211, 55.497776], + [-132.250011, 56.369996], + [-133.539181, 57.178887], + [-134.078063, 58.123068], + [-135.038211, 58.187715], + [-136.628062, 58.212209], + [-137.800006, 58.499995], + [-139.867787, 59.537762], + [-140.825274, 59.727517], + [-142.574444, 60.084447], + [-143.958881, 59.99918], + [-145.925557, 60.45861], + [-147.114374, 60.884656], + [-148.224306, 60.672989], + [-148.018066, 59.978329], + [-148.570823, 59.914173], + [-149.727858, 59.705658], + [-150.608243, 59.368211], + [-151.716393, 59.155821], + [-151.859433, 59.744984], + [-151.409719, 60.725803], + [-150.346941, 61.033588], + [-150.621111, 61.284425], + [-151.895839, 60.727198], + [-152.57833, 60.061657], + [-154.019172, 59.350279], + [-153.287511, 58.864728], + [-154.232492, 58.146374], + [-155.307491, 57.727795], + [-156.308335, 57.422774], + [-156.556097, 56.979985], + [-158.117217, 56.463608], + [-158.433321, 55.994154], + [-159.603327, 55.566686], + [-160.28972, 55.643581], + [-161.223048, 55.364735], + [-162.237766, 55.024187], + [-163.069447, 54.689737], + [-164.785569, 54.404173], + [-164.942226, 54.572225], + [-163.84834, 55.039431], + [-162.870001, 55.348043], + [-161.804175, 55.894986], + [-160.563605, 56.008055], + [-160.07056, 56.418055], + [-158.684443, 57.016675], + [-158.461097, 57.216921], + [-157.72277, 57.570001], + [-157.550274, 58.328326], + [-157.041675, 58.918885], + [-158.194731, 58.615802], + [-158.517218, 58.787781], + [-159.058606, 58.424186], + [-159.711667, 58.93139], + [-159.981289, 58.572549], + [-160.355271, 59.071123], + [-161.355003, 58.670838], + [-161.968894, 58.671665], + [-162.054987, 59.266925], + [-161.874171, 59.633621], + [-162.518059, 59.989724], + [-163.818341, 59.798056], + [-164.662218, 60.267484], + [-165.346388, 60.507496], + [-165.350832, 61.073895], + [-166.121379, 61.500019], + [-165.734452, 62.074997], + [-164.919179, 62.633076], + [-164.562508, 63.146378], + [-163.753332, 63.219449], + [-163.067224, 63.059459], + [-162.260555, 63.541936], + [-161.53445, 63.455817], + [-160.772507, 63.766108], + [-160.958335, 64.222799], + [-161.518068, 64.402788], + [-160.777778, 64.788604], + [-161.391926, 64.777235], + [-162.45305, 64.559445], + [-162.757786, 64.338605], + [-163.546394, 64.55916], + [-164.96083, 64.446945], + [-166.425288, 64.686672], + [-166.845004, 65.088896], + [-168.11056, 65.669997], + [-166.705271, 66.088318], + [-164.47471, 66.57666], + [-163.652512, 66.57666], + [-163.788602, 66.077207], + [-161.677774, 66.11612], + [-162.489715, 66.735565], + [-163.719717, 67.116395], + [-164.430991, 67.616338], + [-165.390287, 68.042772], + [-166.764441, 68.358877], + [-166.204707, 68.883031], + [-164.430811, 68.915535], + [-163.168614, 69.371115], + [-162.930566, 69.858062], + [-161.908897, 70.33333], + [-160.934797, 70.44769], + [-159.039176, 70.891642], + [-158.119723, 70.824721], + [-156.580825, 71.357764], + [-155.06779, 71.147776] + ] + ] + ] + }, + "id": "USA" + }, + { + "type": "Feature", + "properties": { "name": "Uzbekistan" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [66.518607, 37.362784], + [66.54615, 37.974685], + [65.215999, 38.402695], + [64.170223, 38.892407], + [63.518015, 39.363257], + [62.37426, 40.053886], + [61.882714, 41.084857], + [61.547179, 41.26637], + [60.465953, 41.220327], + [60.083341, 41.425146], + [59.976422, 42.223082], + [58.629011, 42.751551], + [57.78653, 42.170553], + [56.932215, 41.826026], + [57.096391, 41.32231], + [55.968191, 41.308642], + [55.928917, 44.995858], + [58.503127, 45.586804], + [58.689989, 45.500014], + [60.239972, 44.784037], + [61.05832, 44.405817], + [62.0133, 43.504477], + [63.185787, 43.650075], + [64.900824, 43.728081], + [66.098012, 42.99766], + [66.023392, 41.994646], + [66.510649, 41.987644], + [66.714047, 41.168444], + [67.985856, 41.135991], + [68.259896, 40.662325], + [68.632483, 40.668681], + [69.070027, 41.384244], + [70.388965, 42.081308], + [70.962315, 42.266154], + [71.259248, 42.167711], + [70.420022, 41.519998], + [71.157859, 41.143587], + [71.870115, 41.3929], + [73.055417, 40.866033], + [71.774875, 40.145844], + [71.014198, 40.244366], + [70.601407, 40.218527], + [70.45816, 40.496495], + [70.666622, 40.960213], + [69.329495, 40.727824], + [69.011633, 40.086158], + [68.536416, 39.533453], + [67.701429, 39.580478], + [67.44222, 39.140144], + [68.176025, 38.901553], + [68.392033, 38.157025], + [67.83, 37.144994], + [67.075782, 37.356144], + [66.518607, 37.362784] + ] + ] + }, + "id": "UZB" + }, + { + "type": "Feature", + "properties": { "name": "Venezuela" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-71.331584, 11.776284], + [-71.360006, 11.539994], + [-71.94705, 11.423282], + [-71.620868, 10.96946], + [-71.633064, 10.446494], + [-72.074174, 9.865651], + [-71.695644, 9.072263], + [-71.264559, 9.137195], + [-71.039999, 9.859993], + [-71.350084, 10.211935], + [-71.400623, 10.968969], + [-70.155299, 11.375482], + [-70.293843, 11.846822], + [-69.943245, 12.162307], + [-69.5843, 11.459611], + [-68.882999, 11.443385], + [-68.233271, 10.885744], + [-68.194127, 10.554653], + [-67.296249, 10.545868], + [-66.227864, 10.648627], + [-65.655238, 10.200799], + [-64.890452, 10.077215], + [-64.329479, 10.389599], + [-64.318007, 10.641418], + [-63.079322, 10.701724], + [-61.880946, 10.715625], + [-62.730119, 10.420269], + [-62.388512, 9.948204], + [-61.588767, 9.873067], + [-60.830597, 9.38134], + [-60.671252, 8.580174], + [-60.150096, 8.602757], + [-59.758285, 8.367035], + [-60.550588, 7.779603], + [-60.637973, 7.415], + [-60.295668, 7.043911], + [-60.543999, 6.856584], + [-61.159336, 6.696077], + [-61.139415, 6.234297], + [-61.410303, 5.959068], + [-60.733574, 5.200277], + [-60.601179, 4.918098], + [-60.966893, 4.536468], + [-62.08543, 4.162124], + [-62.804533, 4.006965], + [-63.093198, 3.770571], + [-63.888343, 4.02053], + [-64.628659, 4.148481], + [-64.816064, 4.056445], + [-64.368494, 3.79721], + [-64.408828, 3.126786], + [-64.269999, 2.497006], + [-63.422867, 2.411068], + [-63.368788, 2.2009], + [-64.083085, 1.916369], + [-64.199306, 1.492855], + [-64.611012, 1.328731], + [-65.354713, 1.095282], + [-65.548267, 0.789254], + [-66.325765, 0.724452], + [-66.876326, 1.253361], + [-67.181294, 2.250638], + [-67.447092, 2.600281], + [-67.809938, 2.820655], + [-67.303173, 3.318454], + [-67.337564, 3.542342], + [-67.621836, 3.839482], + [-67.823012, 4.503937], + [-67.744697, 5.221129], + [-67.521532, 5.55687], + [-67.34144, 6.095468], + [-67.695087, 6.267318], + [-68.265052, 6.153268], + [-68.985319, 6.206805], + [-69.38948, 6.099861], + [-70.093313, 6.960376], + [-70.674234, 7.087785], + [-71.960176, 6.991615], + [-72.198352, 7.340431], + [-72.444487, 7.423785], + [-72.479679, 7.632506], + [-72.360901, 8.002638], + [-72.439862, 8.405275], + [-72.660495, 8.625288], + [-72.78873, 9.085027], + [-73.304952, 9.152], + [-73.027604, 9.73677], + [-72.905286, 10.450344], + [-72.614658, 10.821975], + [-72.227575, 11.108702], + [-71.973922, 11.608672], + [-71.331584, 11.776284] + ] + ] + }, + "id": "VEN" + }, + { + "type": "Feature", + "properties": { "name": "Vietnam" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [108.05018, 21.55238], + [106.715068, 20.696851], + [105.881682, 19.75205], + [105.662006, 19.058165], + [106.426817, 18.004121], + [107.361954, 16.697457], + [108.269495, 16.079742], + [108.877107, 15.276691], + [109.33527, 13.426028], + [109.200136, 11.666859], + [108.36613, 11.008321], + [107.220929, 10.364484], + [106.405113, 9.53084], + [105.158264, 8.59976], + [104.795185, 9.241038], + [105.076202, 9.918491], + [104.334335, 10.486544], + [105.199915, 10.88931], + [106.24967, 10.961812], + [105.810524, 11.567615], + [107.491403, 12.337206], + [107.614548, 13.535531], + [107.382727, 14.202441], + [107.564525, 15.202173], + [107.312706, 15.908538], + [106.556008, 16.604284], + [105.925762, 17.485315], + [105.094598, 18.666975], + [103.896532, 19.265181], + [104.183388, 19.624668], + [104.822574, 19.886642], + [104.435, 20.758733], + [103.203861, 20.766562], + [102.754896, 21.675137], + [102.170436, 22.464753], + [102.706992, 22.708795], + [103.504515, 22.703757], + [104.476858, 22.81915], + [105.329209, 23.352063], + [105.811247, 22.976892], + [106.725403, 22.794268], + [106.567273, 22.218205], + [107.04342, 21.811899], + [108.05018, 21.55238] + ] + ] + }, + "id": "VNM" + }, + { + "type": "Feature", + "properties": { "name": "Vanuatu" }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [167.844877, -16.466333], + [167.515181, -16.59785], + [167.180008, -16.159995], + [167.216801, -15.891846], + [167.844877, -16.466333] + ] + ], + [ + [ + [167.107712, -14.93392], + [167.270028, -15.740021], + [167.001207, -15.614602], + [166.793158, -15.668811], + [166.649859, -15.392704], + [166.629137, -14.626497], + [167.107712, -14.93392] + ] + ] + ] + }, + "id": "VUT" + }, + { + "type": "Feature", + "properties": { "name": "West Bank" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [35.545665, 32.393992], + [35.545252, 31.782505], + [35.397561, 31.489086], + [34.927408, 31.353435], + [34.970507, 31.616778], + [35.225892, 31.754341], + [34.974641, 31.866582], + [35.18393, 32.532511], + [35.545665, 32.393992] + ] + ] + }, + "id": "PSE" + }, + { + "type": "Feature", + "properties": { "name": "Yemen" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [53.108573, 16.651051], + [52.385206, 16.382411], + [52.191729, 15.938433], + [52.168165, 15.59742], + [51.172515, 15.17525], + [49.574576, 14.708767], + [48.679231, 14.003202], + [48.238947, 13.94809], + [47.938914, 14.007233], + [47.354454, 13.59222], + [46.717076, 13.399699], + [45.877593, 13.347764], + [45.62505, 13.290946], + [45.406459, 13.026905], + [45.144356, 12.953938], + [44.989533, 12.699587], + [44.494576, 12.721653], + [44.175113, 12.58595], + [43.482959, 12.6368], + [43.222871, 13.22095], + [43.251448, 13.767584], + [43.087944, 14.06263], + [42.892245, 14.802249], + [42.604873, 15.213335], + [42.805015, 15.261963], + [42.702438, 15.718886], + [42.823671, 15.911742], + [42.779332, 16.347891], + [43.218375, 16.66689], + [43.115798, 17.08844], + [43.380794, 17.579987], + [43.791519, 17.319977], + [44.062613, 17.410359], + [45.216651, 17.433329], + [45.399999, 17.333335], + [46.366659, 17.233315], + [46.749994, 17.283338], + [47.000005, 16.949999], + [47.466695, 17.116682], + [48.183344, 18.166669], + [49.116672, 18.616668], + [52.00001, 19.000003], + [52.782184, 17.349742], + [53.108573, 16.651051] + ] + ] + }, + "id": "YEM" + }, + { + "type": "Feature", + "properties": { "name": "South Africa" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [31.521001, -29.257387], + [31.325561, -29.401978], + [30.901763, -29.909957], + [30.622813, -30.423776], + [30.055716, -31.140269], + [28.925553, -32.172041], + [28.219756, -32.771953], + [27.464608, -33.226964], + [26.419452, -33.61495], + [25.909664, -33.66704], + [25.780628, -33.944646], + [25.172862, -33.796851], + [24.677853, -33.987176], + [23.594043, -33.794474], + [22.988189, -33.916431], + [22.574157, -33.864083], + [21.542799, -34.258839], + [20.689053, -34.417175], + [20.071261, -34.795137], + [19.616405, -34.819166], + [19.193278, -34.462599], + [18.855315, -34.444306], + [18.424643, -33.997873], + [18.377411, -34.136521], + [18.244499, -33.867752], + [18.25008, -33.281431], + [17.92519, -32.611291], + [18.24791, -32.429131], + [18.221762, -31.661633], + [17.566918, -30.725721], + [17.064416, -29.878641], + [17.062918, -29.875954], + [16.344977, -28.576705], + [16.824017, -28.082162], + [17.218929, -28.355943], + [17.387497, -28.783514], + [17.836152, -28.856378], + [18.464899, -29.045462], + [19.002127, -28.972443], + [19.894734, -28.461105], + [19.895768, -24.76779], + [20.165726, -24.917962], + [20.758609, -25.868136], + [20.66647, -26.477453], + [20.889609, -26.828543], + [21.605896, -26.726534], + [22.105969, -26.280256], + [22.579532, -25.979448], + [22.824271, -25.500459], + [23.312097, -25.26869], + [23.73357, -25.390129], + [24.211267, -25.670216], + [25.025171, -25.71967], + [25.664666, -25.486816], + [25.765849, -25.174845], + [25.941652, -24.696373], + [26.485753, -24.616327], + [26.786407, -24.240691], + [27.11941, -23.574323], + [28.017236, -22.827754], + [29.432188, -22.091313], + [29.839037, -22.102216], + [30.322883, -22.271612], + [30.659865, -22.151567], + [31.191409, -22.25151], + [31.670398, -23.658969], + [31.930589, -24.369417], + [31.752408, -25.484284], + [31.837778, -25.843332], + [31.333158, -25.660191], + [31.04408, -25.731452], + [30.949667, -26.022649], + [30.676609, -26.398078], + [30.685962, -26.743845], + [31.282773, -27.285879], + [31.86806, -27.177927], + [32.071665, -26.73382], + [32.83012, -26.742192], + [32.580265, -27.470158], + [32.462133, -28.301011], + [32.203389, -28.752405], + [31.521001, -29.257387] + ], + [ + [28.978263, -28.955597], + [28.5417, -28.647502], + [28.074338, -28.851469], + [27.532511, -29.242711], + [26.999262, -29.875954], + [27.749397, -30.645106], + [28.107205, -30.545732], + [28.291069, -30.226217], + [28.8484, -30.070051], + [29.018415, -29.743766], + [29.325166, -29.257387], + [28.978263, -28.955597] + ] + ] + }, + "id": "ZAF" + }, + { + "type": "Feature", + "properties": { "name": "Zambia" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [32.759375, -9.230599], + [33.231388, -9.676722], + [33.485688, -10.525559], + [33.31531, -10.79655], + [33.114289, -11.607198], + [33.306422, -12.435778], + [32.991764, -12.783871], + [32.688165, -13.712858], + [33.214025, -13.97186], + [30.179481, -14.796099], + [30.274256, -15.507787], + [29.516834, -15.644678], + [28.947463, -16.043051], + [28.825869, -16.389749], + [28.467906, -16.4684], + [27.598243, -17.290831], + [27.044427, -17.938026], + [26.706773, -17.961229], + [26.381935, -17.846042], + [25.264226, -17.73654], + [25.084443, -17.661816], + [25.07695, -17.578823], + [24.682349, -17.353411], + [24.033862, -17.295843], + [23.215048, -17.523116], + [22.562478, -16.898451], + [21.887843, -16.08031], + [21.933886, -12.898437], + [24.016137, -12.911046], + [23.930922, -12.565848], + [24.079905, -12.191297], + [23.904154, -11.722282], + [24.017894, -11.237298], + [23.912215, -10.926826], + [24.257155, -10.951993], + [24.314516, -11.262826], + [24.78317, -11.238694], + [25.418118, -11.330936], + [25.75231, -11.784965], + [26.553088, -11.92444], + [27.16442, -11.608748], + [27.388799, -12.132747], + [28.155109, -12.272481], + [28.523562, -12.698604], + [28.934286, -13.248958], + [29.699614, -13.257227], + [29.616001, -12.178895], + [29.341548, -12.360744], + [28.642417, -11.971569], + [28.372253, -11.793647], + [28.49607, -10.789884], + [28.673682, -9.605925], + [28.449871, -9.164918], + [28.734867, -8.526559], + [29.002912, -8.407032], + [30.346086, -8.238257], + [30.740015, -8.340007], + [31.157751, -8.594579], + [31.556348, -8.762049], + [32.191865, -8.930359], + [32.759375, -9.230599] + ] + ] + }, + "id": "ZMB" + }, + { + "type": "Feature", + "properties": { "name": "Zimbabwe" }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [31.191409, -22.25151], + [30.659865, -22.151567], + [30.322883, -22.271612], + [29.839037, -22.102216], + [29.432188, -22.091313], + [28.794656, -21.639454], + [28.02137, -21.485975], + [27.727228, -20.851802], + [27.724747, -20.499059], + [27.296505, -20.39152], + [26.164791, -19.293086], + [25.850391, -18.714413], + [25.649163, -18.536026], + [25.264226, -17.73654], + [26.381935, -17.846042], + [26.706773, -17.961229], + [27.044427, -17.938026], + [27.598243, -17.290831], + [28.467906, -16.4684], + [28.825869, -16.389749], + [28.947463, -16.043051], + [29.516834, -15.644678], + [30.274256, -15.507787], + [30.338955, -15.880839], + [31.173064, -15.860944], + [31.636498, -16.07199], + [31.852041, -16.319417], + [32.328239, -16.392074], + [32.847639, -16.713398], + [32.849861, -17.979057], + [32.654886, -18.67209], + [32.611994, -19.419383], + [32.772708, -19.715592], + [32.659743, -20.30429], + [32.508693, -20.395292], + [32.244988, -21.116489], + [31.191409, -22.25151] + ] + ] + }, + "id": "ZWE" + } + ] +} diff --git a/public/images/browsers/android-webview.png b/public/images/browser/android-webview.png similarity index 100% rename from public/images/browsers/android-webview.png rename to public/images/browser/android-webview.png diff --git a/public/images/browsers/android.png b/public/images/browser/android.png similarity index 100% rename from public/images/browsers/android.png rename to public/images/browser/android.png diff --git a/public/images/browsers/aol.png b/public/images/browser/aol.png similarity index 100% rename from public/images/browsers/aol.png rename to public/images/browser/aol.png diff --git a/public/images/browsers/beaker.png b/public/images/browser/beaker.png similarity index 100% rename from public/images/browsers/beaker.png rename to public/images/browser/beaker.png diff --git a/public/images/browsers/blackberry.png b/public/images/browser/blackberry.png similarity index 100% rename from public/images/browsers/blackberry.png rename to public/images/browser/blackberry.png diff --git a/public/images/browsers/brave.png b/public/images/browser/brave.png similarity index 100% rename from public/images/browsers/brave.png rename to public/images/browser/brave.png diff --git a/public/images/browsers/chrome.png b/public/images/browser/chrome.png similarity index 100% rename from public/images/browsers/chrome.png rename to public/images/browser/chrome.png diff --git a/public/images/browsers/chromium-webview.png b/public/images/browser/chromium-webview.png similarity index 100% rename from public/images/browsers/chromium-webview.png rename to public/images/browser/chromium-webview.png diff --git a/public/images/browsers/crios.png b/public/images/browser/crios.png similarity index 100% rename from public/images/browsers/crios.png rename to public/images/browser/crios.png diff --git a/public/images/browsers/curl.png b/public/images/browser/curl.png similarity index 100% rename from public/images/browsers/curl.png rename to public/images/browser/curl.png diff --git a/public/images/browsers/edge-chromium.png b/public/images/browser/edge-chromium.png similarity index 100% rename from public/images/browsers/edge-chromium.png rename to public/images/browser/edge-chromium.png diff --git a/public/images/browsers/edge-ios.png b/public/images/browser/edge-ios.png similarity index 100% rename from public/images/browsers/edge-ios.png rename to public/images/browser/edge-ios.png diff --git a/public/images/browsers/edge.png b/public/images/browser/edge.png similarity index 100% rename from public/images/browsers/edge.png rename to public/images/browser/edge.png diff --git a/public/images/browsers/facebook.png b/public/images/browser/facebook.png similarity index 100% rename from public/images/browsers/facebook.png rename to public/images/browser/facebook.png diff --git a/public/images/browsers/firefox.png b/public/images/browser/firefox.png similarity index 100% rename from public/images/browsers/firefox.png rename to public/images/browser/firefox.png diff --git a/public/images/browsers/fxios.png b/public/images/browser/fxios.png similarity index 100% rename from public/images/browsers/fxios.png rename to public/images/browser/fxios.png diff --git a/public/images/browsers/ie.png b/public/images/browser/ie.png similarity index 100% rename from public/images/browsers/ie.png rename to public/images/browser/ie.png diff --git a/public/images/browsers/instagram.png b/public/images/browser/instagram.png similarity index 100% rename from public/images/browsers/instagram.png rename to public/images/browser/instagram.png diff --git a/public/images/browsers/ios-webview.png b/public/images/browser/ios-webview.png similarity index 100% rename from public/images/browsers/ios-webview.png rename to public/images/browser/ios-webview.png diff --git a/public/images/browsers/ios.png b/public/images/browser/ios.png similarity index 100% rename from public/images/browsers/ios.png rename to public/images/browser/ios.png diff --git a/public/images/browsers/kakaotalk.png b/public/images/browser/kakaotalk.png similarity index 100% rename from public/images/browsers/kakaotalk.png rename to public/images/browser/kakaotalk.png diff --git a/public/images/browsers/miui.png b/public/images/browser/miui.png similarity index 100% rename from public/images/browsers/miui.png rename to public/images/browser/miui.png diff --git a/public/images/browsers/opera-mini.png b/public/images/browser/opera-mini.png similarity index 100% rename from public/images/browsers/opera-mini.png rename to public/images/browser/opera-mini.png diff --git a/public/images/browsers/opera.png b/public/images/browser/opera.png similarity index 100% rename from public/images/browsers/opera.png rename to public/images/browser/opera.png diff --git a/public/images/browsers/safari.png b/public/images/browser/safari.png similarity index 100% rename from public/images/browsers/safari.png rename to public/images/browser/safari.png diff --git a/public/images/browsers/samsung.png b/public/images/browser/samsung.png similarity index 100% rename from public/images/browsers/samsung.png rename to public/images/browser/samsung.png diff --git a/public/images/browsers/searchbot.png b/public/images/browser/searchbot.png similarity index 100% rename from public/images/browsers/searchbot.png rename to public/images/browser/searchbot.png diff --git a/public/images/browsers/silk.png b/public/images/browser/silk.png similarity index 100% rename from public/images/browsers/silk.png rename to public/images/browser/silk.png diff --git a/public/images/browsers/unknown.png b/public/images/browser/unknown.png similarity index 100% rename from public/images/browsers/unknown.png rename to public/images/browser/unknown.png diff --git a/public/images/browsers/yandexbrowser.png b/public/images/browser/yandexbrowser.png similarity index 100% rename from public/images/browsers/yandexbrowser.png rename to public/images/browser/yandexbrowser.png diff --git a/public/images/flags/ad.png b/public/images/country/ad.png similarity index 100% rename from public/images/flags/ad.png rename to public/images/country/ad.png diff --git a/public/images/flags/ae.png b/public/images/country/ae.png similarity index 100% rename from public/images/flags/ae.png rename to public/images/country/ae.png diff --git a/public/images/flags/af.png b/public/images/country/af.png similarity index 100% rename from public/images/flags/af.png rename to public/images/country/af.png diff --git a/public/images/flags/ag.png b/public/images/country/ag.png similarity index 100% rename from public/images/flags/ag.png rename to public/images/country/ag.png diff --git a/public/images/flags/ai.png b/public/images/country/ai.png similarity index 100% rename from public/images/flags/ai.png rename to public/images/country/ai.png diff --git a/public/images/flags/al.png b/public/images/country/al.png similarity index 100% rename from public/images/flags/al.png rename to public/images/country/al.png diff --git a/public/images/flags/am.png b/public/images/country/am.png similarity index 100% rename from public/images/flags/am.png rename to public/images/country/am.png diff --git a/public/images/flags/ao.png b/public/images/country/ao.png similarity index 100% rename from public/images/flags/ao.png rename to public/images/country/ao.png diff --git a/public/images/flags/aq.png b/public/images/country/aq.png similarity index 100% rename from public/images/flags/aq.png rename to public/images/country/aq.png diff --git a/public/images/flags/ar.png b/public/images/country/ar.png similarity index 100% rename from public/images/flags/ar.png rename to public/images/country/ar.png diff --git a/public/images/flags/as.png b/public/images/country/as.png similarity index 100% rename from public/images/flags/as.png rename to public/images/country/as.png diff --git a/public/images/flags/at.png b/public/images/country/at.png similarity index 100% rename from public/images/flags/at.png rename to public/images/country/at.png diff --git a/public/images/flags/au.png b/public/images/country/au.png similarity index 100% rename from public/images/flags/au.png rename to public/images/country/au.png diff --git a/public/images/flags/aw.png b/public/images/country/aw.png similarity index 100% rename from public/images/flags/aw.png rename to public/images/country/aw.png diff --git a/public/images/flags/ax.png b/public/images/country/ax.png similarity index 100% rename from public/images/flags/ax.png rename to public/images/country/ax.png diff --git a/public/images/flags/az.png b/public/images/country/az.png similarity index 100% rename from public/images/flags/az.png rename to public/images/country/az.png diff --git a/public/images/flags/ba.png b/public/images/country/ba.png similarity index 100% rename from public/images/flags/ba.png rename to public/images/country/ba.png diff --git a/public/images/flags/bb.png b/public/images/country/bb.png similarity index 100% rename from public/images/flags/bb.png rename to public/images/country/bb.png diff --git a/public/images/flags/bd.png b/public/images/country/bd.png similarity index 100% rename from public/images/flags/bd.png rename to public/images/country/bd.png diff --git a/public/images/flags/be.png b/public/images/country/be.png similarity index 100% rename from public/images/flags/be.png rename to public/images/country/be.png diff --git a/public/images/flags/bf.png b/public/images/country/bf.png similarity index 100% rename from public/images/flags/bf.png rename to public/images/country/bf.png diff --git a/public/images/flags/bg.png b/public/images/country/bg.png similarity index 100% rename from public/images/flags/bg.png rename to public/images/country/bg.png diff --git a/public/images/flags/bh.png b/public/images/country/bh.png similarity index 100% rename from public/images/flags/bh.png rename to public/images/country/bh.png diff --git a/public/images/flags/bi.png b/public/images/country/bi.png similarity index 100% rename from public/images/flags/bi.png rename to public/images/country/bi.png diff --git a/public/images/flags/bj.png b/public/images/country/bj.png similarity index 100% rename from public/images/flags/bj.png rename to public/images/country/bj.png diff --git a/public/images/flags/bl.png b/public/images/country/bl.png similarity index 100% rename from public/images/flags/bl.png rename to public/images/country/bl.png diff --git a/public/images/flags/bm.png b/public/images/country/bm.png similarity index 100% rename from public/images/flags/bm.png rename to public/images/country/bm.png diff --git a/public/images/flags/bn.png b/public/images/country/bn.png similarity index 100% rename from public/images/flags/bn.png rename to public/images/country/bn.png diff --git a/public/images/flags/bo.png b/public/images/country/bo.png similarity index 100% rename from public/images/flags/bo.png rename to public/images/country/bo.png diff --git a/public/images/flags/bq.png b/public/images/country/bq.png similarity index 100% rename from public/images/flags/bq.png rename to public/images/country/bq.png diff --git a/public/images/flags/br.png b/public/images/country/br.png similarity index 100% rename from public/images/flags/br.png rename to public/images/country/br.png diff --git a/public/images/flags/bs.png b/public/images/country/bs.png similarity index 100% rename from public/images/flags/bs.png rename to public/images/country/bs.png diff --git a/public/images/flags/bt.png b/public/images/country/bt.png similarity index 100% rename from public/images/flags/bt.png rename to public/images/country/bt.png diff --git a/public/images/flags/bv.png b/public/images/country/bv.png similarity index 100% rename from public/images/flags/bv.png rename to public/images/country/bv.png diff --git a/public/images/flags/bw.png b/public/images/country/bw.png similarity index 100% rename from public/images/flags/bw.png rename to public/images/country/bw.png diff --git a/public/images/flags/by.png b/public/images/country/by.png similarity index 100% rename from public/images/flags/by.png rename to public/images/country/by.png diff --git a/public/images/flags/bz.png b/public/images/country/bz.png similarity index 100% rename from public/images/flags/bz.png rename to public/images/country/bz.png diff --git a/public/images/flags/ca.png b/public/images/country/ca.png similarity index 100% rename from public/images/flags/ca.png rename to public/images/country/ca.png diff --git a/public/images/flags/cc.png b/public/images/country/cc.png similarity index 100% rename from public/images/flags/cc.png rename to public/images/country/cc.png diff --git a/public/images/flags/cd.png b/public/images/country/cd.png similarity index 100% rename from public/images/flags/cd.png rename to public/images/country/cd.png diff --git a/public/images/flags/cf.png b/public/images/country/cf.png similarity index 100% rename from public/images/flags/cf.png rename to public/images/country/cf.png diff --git a/public/images/flags/cg.png b/public/images/country/cg.png similarity index 100% rename from public/images/flags/cg.png rename to public/images/country/cg.png diff --git a/public/images/flags/ch.png b/public/images/country/ch.png similarity index 100% rename from public/images/flags/ch.png rename to public/images/country/ch.png diff --git a/public/images/flags/ci.png b/public/images/country/ci.png similarity index 100% rename from public/images/flags/ci.png rename to public/images/country/ci.png diff --git a/public/images/flags/ck.png b/public/images/country/ck.png similarity index 100% rename from public/images/flags/ck.png rename to public/images/country/ck.png diff --git a/public/images/flags/cl.png b/public/images/country/cl.png similarity index 100% rename from public/images/flags/cl.png rename to public/images/country/cl.png diff --git a/public/images/flags/cm.png b/public/images/country/cm.png similarity index 100% rename from public/images/flags/cm.png rename to public/images/country/cm.png diff --git a/public/images/flags/cn.png b/public/images/country/cn.png similarity index 100% rename from public/images/flags/cn.png rename to public/images/country/cn.png diff --git a/public/images/flags/co.png b/public/images/country/co.png similarity index 100% rename from public/images/flags/co.png rename to public/images/country/co.png diff --git a/public/images/flags/cr.png b/public/images/country/cr.png similarity index 100% rename from public/images/flags/cr.png rename to public/images/country/cr.png diff --git a/public/images/flags/cu.png b/public/images/country/cu.png similarity index 100% rename from public/images/flags/cu.png rename to public/images/country/cu.png diff --git a/public/images/flags/cv.png b/public/images/country/cv.png similarity index 100% rename from public/images/flags/cv.png rename to public/images/country/cv.png diff --git a/public/images/flags/cw.png b/public/images/country/cw.png similarity index 100% rename from public/images/flags/cw.png rename to public/images/country/cw.png diff --git a/public/images/flags/cx.png b/public/images/country/cx.png similarity index 100% rename from public/images/flags/cx.png rename to public/images/country/cx.png diff --git a/public/images/flags/cy.png b/public/images/country/cy.png similarity index 100% rename from public/images/flags/cy.png rename to public/images/country/cy.png diff --git a/public/images/flags/cz.png b/public/images/country/cz.png similarity index 100% rename from public/images/flags/cz.png rename to public/images/country/cz.png diff --git a/public/images/flags/de.png b/public/images/country/de.png similarity index 100% rename from public/images/flags/de.png rename to public/images/country/de.png diff --git a/public/images/flags/dj.png b/public/images/country/dj.png similarity index 100% rename from public/images/flags/dj.png rename to public/images/country/dj.png diff --git a/public/images/flags/dk.png b/public/images/country/dk.png similarity index 100% rename from public/images/flags/dk.png rename to public/images/country/dk.png diff --git a/public/images/flags/dm.png b/public/images/country/dm.png similarity index 100% rename from public/images/flags/dm.png rename to public/images/country/dm.png diff --git a/public/images/flags/do.png b/public/images/country/do.png similarity index 100% rename from public/images/flags/do.png rename to public/images/country/do.png diff --git a/public/images/flags/dz.png b/public/images/country/dz.png similarity index 100% rename from public/images/flags/dz.png rename to public/images/country/dz.png diff --git a/public/images/flags/ec.png b/public/images/country/ec.png similarity index 100% rename from public/images/flags/ec.png rename to public/images/country/ec.png diff --git a/public/images/flags/ee.png b/public/images/country/ee.png similarity index 100% rename from public/images/flags/ee.png rename to public/images/country/ee.png diff --git a/public/images/flags/eg.png b/public/images/country/eg.png similarity index 100% rename from public/images/flags/eg.png rename to public/images/country/eg.png diff --git a/public/images/flags/eh.png b/public/images/country/eh.png similarity index 100% rename from public/images/flags/eh.png rename to public/images/country/eh.png diff --git a/public/images/flags/er.png b/public/images/country/er.png similarity index 100% rename from public/images/flags/er.png rename to public/images/country/er.png diff --git a/public/images/flags/es.png b/public/images/country/es.png similarity index 100% rename from public/images/flags/es.png rename to public/images/country/es.png diff --git a/public/images/flags/et.png b/public/images/country/et.png similarity index 100% rename from public/images/flags/et.png rename to public/images/country/et.png diff --git a/public/images/flags/fi.png b/public/images/country/fi.png similarity index 100% rename from public/images/flags/fi.png rename to public/images/country/fi.png diff --git a/public/images/flags/fj.png b/public/images/country/fj.png similarity index 100% rename from public/images/flags/fj.png rename to public/images/country/fj.png diff --git a/public/images/flags/fk.png b/public/images/country/fk.png similarity index 100% rename from public/images/flags/fk.png rename to public/images/country/fk.png diff --git a/public/images/flags/fm.png b/public/images/country/fm.png similarity index 100% rename from public/images/flags/fm.png rename to public/images/country/fm.png diff --git a/public/images/flags/fo.png b/public/images/country/fo.png similarity index 100% rename from public/images/flags/fo.png rename to public/images/country/fo.png diff --git a/public/images/flags/fr.png b/public/images/country/fr.png similarity index 100% rename from public/images/flags/fr.png rename to public/images/country/fr.png diff --git a/public/images/flags/ga.png b/public/images/country/ga.png similarity index 100% rename from public/images/flags/ga.png rename to public/images/country/ga.png diff --git a/public/images/flags/gb-eng.png b/public/images/country/gb-eng.png similarity index 100% rename from public/images/flags/gb-eng.png rename to public/images/country/gb-eng.png diff --git a/public/images/flags/gb-nir.png b/public/images/country/gb-nir.png similarity index 100% rename from public/images/flags/gb-nir.png rename to public/images/country/gb-nir.png diff --git a/public/images/flags/gb-sct.png b/public/images/country/gb-sct.png similarity index 100% rename from public/images/flags/gb-sct.png rename to public/images/country/gb-sct.png diff --git a/public/images/flags/gb-wls.png b/public/images/country/gb-wls.png similarity index 100% rename from public/images/flags/gb-wls.png rename to public/images/country/gb-wls.png diff --git a/public/images/flags/gb.png b/public/images/country/gb.png similarity index 100% rename from public/images/flags/gb.png rename to public/images/country/gb.png diff --git a/public/images/flags/gd.png b/public/images/country/gd.png similarity index 100% rename from public/images/flags/gd.png rename to public/images/country/gd.png diff --git a/public/images/flags/ge.png b/public/images/country/ge.png similarity index 100% rename from public/images/flags/ge.png rename to public/images/country/ge.png diff --git a/public/images/flags/gf.png b/public/images/country/gf.png similarity index 100% rename from public/images/flags/gf.png rename to public/images/country/gf.png diff --git a/public/images/flags/gg.png b/public/images/country/gg.png similarity index 100% rename from public/images/flags/gg.png rename to public/images/country/gg.png diff --git a/public/images/flags/gh.png b/public/images/country/gh.png similarity index 100% rename from public/images/flags/gh.png rename to public/images/country/gh.png diff --git a/public/images/flags/gi.png b/public/images/country/gi.png similarity index 100% rename from public/images/flags/gi.png rename to public/images/country/gi.png diff --git a/public/images/flags/gl.png b/public/images/country/gl.png similarity index 100% rename from public/images/flags/gl.png rename to public/images/country/gl.png diff --git a/public/images/flags/gm.png b/public/images/country/gm.png similarity index 100% rename from public/images/flags/gm.png rename to public/images/country/gm.png diff --git a/public/images/flags/gn.png b/public/images/country/gn.png similarity index 100% rename from public/images/flags/gn.png rename to public/images/country/gn.png diff --git a/public/images/flags/gp.png b/public/images/country/gp.png similarity index 100% rename from public/images/flags/gp.png rename to public/images/country/gp.png diff --git a/public/images/flags/gq.png b/public/images/country/gq.png similarity index 100% rename from public/images/flags/gq.png rename to public/images/country/gq.png diff --git a/public/images/flags/gr.png b/public/images/country/gr.png similarity index 100% rename from public/images/flags/gr.png rename to public/images/country/gr.png diff --git a/public/images/flags/gs.png b/public/images/country/gs.png similarity index 100% rename from public/images/flags/gs.png rename to public/images/country/gs.png diff --git a/public/images/flags/gt.png b/public/images/country/gt.png similarity index 100% rename from public/images/flags/gt.png rename to public/images/country/gt.png diff --git a/public/images/flags/gu.png b/public/images/country/gu.png similarity index 100% rename from public/images/flags/gu.png rename to public/images/country/gu.png diff --git a/public/images/flags/gw.png b/public/images/country/gw.png similarity index 100% rename from public/images/flags/gw.png rename to public/images/country/gw.png diff --git a/public/images/flags/gy.png b/public/images/country/gy.png similarity index 100% rename from public/images/flags/gy.png rename to public/images/country/gy.png diff --git a/public/images/flags/hk.png b/public/images/country/hk.png similarity index 100% rename from public/images/flags/hk.png rename to public/images/country/hk.png diff --git a/public/images/flags/hm.png b/public/images/country/hm.png similarity index 100% rename from public/images/flags/hm.png rename to public/images/country/hm.png diff --git a/public/images/flags/hn.png b/public/images/country/hn.png similarity index 100% rename from public/images/flags/hn.png rename to public/images/country/hn.png diff --git a/public/images/flags/hr.png b/public/images/country/hr.png similarity index 100% rename from public/images/flags/hr.png rename to public/images/country/hr.png diff --git a/public/images/flags/ht.png b/public/images/country/ht.png similarity index 100% rename from public/images/flags/ht.png rename to public/images/country/ht.png diff --git a/public/images/flags/hu.png b/public/images/country/hu.png similarity index 100% rename from public/images/flags/hu.png rename to public/images/country/hu.png diff --git a/public/images/flags/id.png b/public/images/country/id.png similarity index 100% rename from public/images/flags/id.png rename to public/images/country/id.png diff --git a/public/images/flags/ie.png b/public/images/country/ie.png similarity index 100% rename from public/images/flags/ie.png rename to public/images/country/ie.png diff --git a/public/images/flags/il.png b/public/images/country/il.png similarity index 100% rename from public/images/flags/il.png rename to public/images/country/il.png diff --git a/public/images/flags/im.png b/public/images/country/im.png similarity index 100% rename from public/images/flags/im.png rename to public/images/country/im.png diff --git a/public/images/flags/in.png b/public/images/country/in.png similarity index 100% rename from public/images/flags/in.png rename to public/images/country/in.png diff --git a/public/images/flags/io.png b/public/images/country/io.png similarity index 100% rename from public/images/flags/io.png rename to public/images/country/io.png diff --git a/public/images/flags/iq.png b/public/images/country/iq.png similarity index 100% rename from public/images/flags/iq.png rename to public/images/country/iq.png diff --git a/public/images/flags/ir.png b/public/images/country/ir.png similarity index 100% rename from public/images/flags/ir.png rename to public/images/country/ir.png diff --git a/public/images/flags/is.png b/public/images/country/is.png similarity index 100% rename from public/images/flags/is.png rename to public/images/country/is.png diff --git a/public/images/flags/it.png b/public/images/country/it.png similarity index 100% rename from public/images/flags/it.png rename to public/images/country/it.png diff --git a/public/images/flags/je.png b/public/images/country/je.png similarity index 100% rename from public/images/flags/je.png rename to public/images/country/je.png diff --git a/public/images/flags/jm.png b/public/images/country/jm.png similarity index 100% rename from public/images/flags/jm.png rename to public/images/country/jm.png diff --git a/public/images/flags/jo.png b/public/images/country/jo.png similarity index 100% rename from public/images/flags/jo.png rename to public/images/country/jo.png diff --git a/public/images/flags/jp.png b/public/images/country/jp.png similarity index 100% rename from public/images/flags/jp.png rename to public/images/country/jp.png diff --git a/public/images/flags/ke.png b/public/images/country/ke.png similarity index 100% rename from public/images/flags/ke.png rename to public/images/country/ke.png diff --git a/public/images/flags/kg.png b/public/images/country/kg.png similarity index 100% rename from public/images/flags/kg.png rename to public/images/country/kg.png diff --git a/public/images/flags/kh.png b/public/images/country/kh.png similarity index 100% rename from public/images/flags/kh.png rename to public/images/country/kh.png diff --git a/public/images/flags/ki.png b/public/images/country/ki.png similarity index 100% rename from public/images/flags/ki.png rename to public/images/country/ki.png diff --git a/public/images/flags/km.png b/public/images/country/km.png similarity index 100% rename from public/images/flags/km.png rename to public/images/country/km.png diff --git a/public/images/flags/kn.png b/public/images/country/kn.png similarity index 100% rename from public/images/flags/kn.png rename to public/images/country/kn.png diff --git a/public/images/flags/kp.png b/public/images/country/kp.png similarity index 100% rename from public/images/flags/kp.png rename to public/images/country/kp.png diff --git a/public/images/flags/kr.png b/public/images/country/kr.png similarity index 100% rename from public/images/flags/kr.png rename to public/images/country/kr.png diff --git a/public/images/flags/kw.png b/public/images/country/kw.png similarity index 100% rename from public/images/flags/kw.png rename to public/images/country/kw.png diff --git a/public/images/flags/ky.png b/public/images/country/ky.png similarity index 100% rename from public/images/flags/ky.png rename to public/images/country/ky.png diff --git a/public/images/flags/kz.png b/public/images/country/kz.png similarity index 100% rename from public/images/flags/kz.png rename to public/images/country/kz.png diff --git a/public/images/flags/la.png b/public/images/country/la.png similarity index 100% rename from public/images/flags/la.png rename to public/images/country/la.png diff --git a/public/images/flags/lb.png b/public/images/country/lb.png similarity index 100% rename from public/images/flags/lb.png rename to public/images/country/lb.png diff --git a/public/images/flags/lc.png b/public/images/country/lc.png similarity index 100% rename from public/images/flags/lc.png rename to public/images/country/lc.png diff --git a/public/images/flags/li.png b/public/images/country/li.png similarity index 100% rename from public/images/flags/li.png rename to public/images/country/li.png diff --git a/public/images/flags/lk.png b/public/images/country/lk.png similarity index 100% rename from public/images/flags/lk.png rename to public/images/country/lk.png diff --git a/public/images/flags/lr.png b/public/images/country/lr.png similarity index 100% rename from public/images/flags/lr.png rename to public/images/country/lr.png diff --git a/public/images/flags/ls.png b/public/images/country/ls.png similarity index 100% rename from public/images/flags/ls.png rename to public/images/country/ls.png diff --git a/public/images/flags/lt.png b/public/images/country/lt.png similarity index 100% rename from public/images/flags/lt.png rename to public/images/country/lt.png diff --git a/public/images/flags/lu.png b/public/images/country/lu.png similarity index 100% rename from public/images/flags/lu.png rename to public/images/country/lu.png diff --git a/public/images/flags/lv.png b/public/images/country/lv.png similarity index 100% rename from public/images/flags/lv.png rename to public/images/country/lv.png diff --git a/public/images/flags/ly.png b/public/images/country/ly.png similarity index 100% rename from public/images/flags/ly.png rename to public/images/country/ly.png diff --git a/public/images/flags/ma.png b/public/images/country/ma.png similarity index 100% rename from public/images/flags/ma.png rename to public/images/country/ma.png diff --git a/public/images/flags/mc.png b/public/images/country/mc.png similarity index 100% rename from public/images/flags/mc.png rename to public/images/country/mc.png diff --git a/public/images/flags/md.png b/public/images/country/md.png similarity index 100% rename from public/images/flags/md.png rename to public/images/country/md.png diff --git a/public/images/flags/me.png b/public/images/country/me.png similarity index 100% rename from public/images/flags/me.png rename to public/images/country/me.png diff --git a/public/images/flags/mf.png b/public/images/country/mf.png similarity index 100% rename from public/images/flags/mf.png rename to public/images/country/mf.png diff --git a/public/images/flags/mg.png b/public/images/country/mg.png similarity index 100% rename from public/images/flags/mg.png rename to public/images/country/mg.png diff --git a/public/images/flags/mh.png b/public/images/country/mh.png similarity index 100% rename from public/images/flags/mh.png rename to public/images/country/mh.png diff --git a/public/images/flags/mk.png b/public/images/country/mk.png similarity index 100% rename from public/images/flags/mk.png rename to public/images/country/mk.png diff --git a/public/images/flags/ml.png b/public/images/country/ml.png similarity index 100% rename from public/images/flags/ml.png rename to public/images/country/ml.png diff --git a/public/images/flags/mm.png b/public/images/country/mm.png similarity index 100% rename from public/images/flags/mm.png rename to public/images/country/mm.png diff --git a/public/images/flags/mn.png b/public/images/country/mn.png similarity index 100% rename from public/images/flags/mn.png rename to public/images/country/mn.png diff --git a/public/images/flags/mo.png b/public/images/country/mo.png similarity index 100% rename from public/images/flags/mo.png rename to public/images/country/mo.png diff --git a/public/images/flags/mp.png b/public/images/country/mp.png similarity index 100% rename from public/images/flags/mp.png rename to public/images/country/mp.png diff --git a/public/images/flags/mq.png b/public/images/country/mq.png similarity index 100% rename from public/images/flags/mq.png rename to public/images/country/mq.png diff --git a/public/images/flags/mr.png b/public/images/country/mr.png similarity index 100% rename from public/images/flags/mr.png rename to public/images/country/mr.png diff --git a/public/images/flags/ms.png b/public/images/country/ms.png similarity index 100% rename from public/images/flags/ms.png rename to public/images/country/ms.png diff --git a/public/images/flags/mt.png b/public/images/country/mt.png similarity index 100% rename from public/images/flags/mt.png rename to public/images/country/mt.png diff --git a/public/images/flags/mu.png b/public/images/country/mu.png similarity index 100% rename from public/images/flags/mu.png rename to public/images/country/mu.png diff --git a/public/images/flags/mv.png b/public/images/country/mv.png similarity index 100% rename from public/images/flags/mv.png rename to public/images/country/mv.png diff --git a/public/images/flags/mw.png b/public/images/country/mw.png similarity index 100% rename from public/images/flags/mw.png rename to public/images/country/mw.png diff --git a/public/images/flags/mx.png b/public/images/country/mx.png similarity index 100% rename from public/images/flags/mx.png rename to public/images/country/mx.png diff --git a/public/images/flags/my.png b/public/images/country/my.png similarity index 100% rename from public/images/flags/my.png rename to public/images/country/my.png diff --git a/public/images/flags/mz.png b/public/images/country/mz.png similarity index 100% rename from public/images/flags/mz.png rename to public/images/country/mz.png diff --git a/public/images/flags/na.png b/public/images/country/na.png similarity index 100% rename from public/images/flags/na.png rename to public/images/country/na.png diff --git a/public/images/flags/nc.png b/public/images/country/nc.png similarity index 100% rename from public/images/flags/nc.png rename to public/images/country/nc.png diff --git a/public/images/flags/ne.png b/public/images/country/ne.png similarity index 100% rename from public/images/flags/ne.png rename to public/images/country/ne.png diff --git a/public/images/flags/nf.png b/public/images/country/nf.png similarity index 100% rename from public/images/flags/nf.png rename to public/images/country/nf.png diff --git a/public/images/flags/ng.png b/public/images/country/ng.png similarity index 100% rename from public/images/flags/ng.png rename to public/images/country/ng.png diff --git a/public/images/flags/ni.png b/public/images/country/ni.png similarity index 100% rename from public/images/flags/ni.png rename to public/images/country/ni.png diff --git a/public/images/flags/nl.png b/public/images/country/nl.png similarity index 100% rename from public/images/flags/nl.png rename to public/images/country/nl.png diff --git a/public/images/flags/no.png b/public/images/country/no.png similarity index 100% rename from public/images/flags/no.png rename to public/images/country/no.png diff --git a/public/images/flags/np.png b/public/images/country/np.png similarity index 100% rename from public/images/flags/np.png rename to public/images/country/np.png diff --git a/public/images/flags/nr.png b/public/images/country/nr.png similarity index 100% rename from public/images/flags/nr.png rename to public/images/country/nr.png diff --git a/public/images/flags/nu.png b/public/images/country/nu.png similarity index 100% rename from public/images/flags/nu.png rename to public/images/country/nu.png diff --git a/public/images/flags/nz.png b/public/images/country/nz.png similarity index 100% rename from public/images/flags/nz.png rename to public/images/country/nz.png diff --git a/public/images/flags/om.png b/public/images/country/om.png similarity index 100% rename from public/images/flags/om.png rename to public/images/country/om.png diff --git a/public/images/flags/pa.png b/public/images/country/pa.png similarity index 100% rename from public/images/flags/pa.png rename to public/images/country/pa.png diff --git a/public/images/flags/pe.png b/public/images/country/pe.png similarity index 100% rename from public/images/flags/pe.png rename to public/images/country/pe.png diff --git a/public/images/flags/pf.png b/public/images/country/pf.png similarity index 100% rename from public/images/flags/pf.png rename to public/images/country/pf.png diff --git a/public/images/flags/pg.png b/public/images/country/pg.png similarity index 100% rename from public/images/flags/pg.png rename to public/images/country/pg.png diff --git a/public/images/flags/ph.png b/public/images/country/ph.png similarity index 100% rename from public/images/flags/ph.png rename to public/images/country/ph.png diff --git a/public/images/flags/pk.png b/public/images/country/pk.png similarity index 100% rename from public/images/flags/pk.png rename to public/images/country/pk.png diff --git a/public/images/flags/pl.png b/public/images/country/pl.png similarity index 100% rename from public/images/flags/pl.png rename to public/images/country/pl.png diff --git a/public/images/flags/pm.png b/public/images/country/pm.png similarity index 100% rename from public/images/flags/pm.png rename to public/images/country/pm.png diff --git a/public/images/flags/pn.png b/public/images/country/pn.png similarity index 100% rename from public/images/flags/pn.png rename to public/images/country/pn.png diff --git a/public/images/flags/pr.png b/public/images/country/pr.png similarity index 100% rename from public/images/flags/pr.png rename to public/images/country/pr.png diff --git a/public/images/flags/ps.png b/public/images/country/ps.png similarity index 100% rename from public/images/flags/ps.png rename to public/images/country/ps.png diff --git a/public/images/flags/pt.png b/public/images/country/pt.png similarity index 100% rename from public/images/flags/pt.png rename to public/images/country/pt.png diff --git a/public/images/flags/pw.png b/public/images/country/pw.png similarity index 100% rename from public/images/flags/pw.png rename to public/images/country/pw.png diff --git a/public/images/flags/py.png b/public/images/country/py.png similarity index 100% rename from public/images/flags/py.png rename to public/images/country/py.png diff --git a/public/images/flags/qa.png b/public/images/country/qa.png similarity index 100% rename from public/images/flags/qa.png rename to public/images/country/qa.png diff --git a/public/images/flags/re.png b/public/images/country/re.png similarity index 100% rename from public/images/flags/re.png rename to public/images/country/re.png diff --git a/public/images/flags/ro.png b/public/images/country/ro.png similarity index 100% rename from public/images/flags/ro.png rename to public/images/country/ro.png diff --git a/public/images/flags/rs.png b/public/images/country/rs.png similarity index 100% rename from public/images/flags/rs.png rename to public/images/country/rs.png diff --git a/public/images/flags/ru.png b/public/images/country/ru.png similarity index 100% rename from public/images/flags/ru.png rename to public/images/country/ru.png diff --git a/public/images/flags/rw.png b/public/images/country/rw.png similarity index 100% rename from public/images/flags/rw.png rename to public/images/country/rw.png diff --git a/public/images/flags/sa.png b/public/images/country/sa.png similarity index 100% rename from public/images/flags/sa.png rename to public/images/country/sa.png diff --git a/public/images/flags/sb.png b/public/images/country/sb.png similarity index 100% rename from public/images/flags/sb.png rename to public/images/country/sb.png diff --git a/public/images/flags/sc.png b/public/images/country/sc.png similarity index 100% rename from public/images/flags/sc.png rename to public/images/country/sc.png diff --git a/public/images/flags/sd.png b/public/images/country/sd.png similarity index 100% rename from public/images/flags/sd.png rename to public/images/country/sd.png diff --git a/public/images/flags/se.png b/public/images/country/se.png similarity index 100% rename from public/images/flags/se.png rename to public/images/country/se.png diff --git a/public/images/flags/sg.png b/public/images/country/sg.png similarity index 100% rename from public/images/flags/sg.png rename to public/images/country/sg.png diff --git a/public/images/flags/sh.png b/public/images/country/sh.png similarity index 100% rename from public/images/flags/sh.png rename to public/images/country/sh.png diff --git a/public/images/flags/si.png b/public/images/country/si.png similarity index 100% rename from public/images/flags/si.png rename to public/images/country/si.png diff --git a/public/images/flags/sj.png b/public/images/country/sj.png similarity index 100% rename from public/images/flags/sj.png rename to public/images/country/sj.png diff --git a/public/images/flags/sk.png b/public/images/country/sk.png similarity index 100% rename from public/images/flags/sk.png rename to public/images/country/sk.png diff --git a/public/images/flags/sl.png b/public/images/country/sl.png similarity index 100% rename from public/images/flags/sl.png rename to public/images/country/sl.png diff --git a/public/images/flags/sm.png b/public/images/country/sm.png similarity index 100% rename from public/images/flags/sm.png rename to public/images/country/sm.png diff --git a/public/images/flags/sn.png b/public/images/country/sn.png similarity index 100% rename from public/images/flags/sn.png rename to public/images/country/sn.png diff --git a/public/images/flags/so.png b/public/images/country/so.png similarity index 100% rename from public/images/flags/so.png rename to public/images/country/so.png diff --git a/public/images/flags/sr.png b/public/images/country/sr.png similarity index 100% rename from public/images/flags/sr.png rename to public/images/country/sr.png diff --git a/public/images/flags/ss.png b/public/images/country/ss.png similarity index 100% rename from public/images/flags/ss.png rename to public/images/country/ss.png diff --git a/public/images/flags/st.png b/public/images/country/st.png similarity index 100% rename from public/images/flags/st.png rename to public/images/country/st.png diff --git a/public/images/flags/sv.png b/public/images/country/sv.png similarity index 100% rename from public/images/flags/sv.png rename to public/images/country/sv.png diff --git a/public/images/flags/sx.png b/public/images/country/sx.png similarity index 100% rename from public/images/flags/sx.png rename to public/images/country/sx.png diff --git a/public/images/flags/sy.png b/public/images/country/sy.png similarity index 100% rename from public/images/flags/sy.png rename to public/images/country/sy.png diff --git a/public/images/flags/sz.png b/public/images/country/sz.png similarity index 100% rename from public/images/flags/sz.png rename to public/images/country/sz.png diff --git a/public/images/flags/tc.png b/public/images/country/tc.png similarity index 100% rename from public/images/flags/tc.png rename to public/images/country/tc.png diff --git a/public/images/flags/td.png b/public/images/country/td.png similarity index 100% rename from public/images/flags/td.png rename to public/images/country/td.png diff --git a/public/images/flags/tf.png b/public/images/country/tf.png similarity index 100% rename from public/images/flags/tf.png rename to public/images/country/tf.png diff --git a/public/images/flags/tg.png b/public/images/country/tg.png similarity index 100% rename from public/images/flags/tg.png rename to public/images/country/tg.png diff --git a/public/images/flags/th.png b/public/images/country/th.png similarity index 100% rename from public/images/flags/th.png rename to public/images/country/th.png diff --git a/public/images/flags/tj.png b/public/images/country/tj.png similarity index 100% rename from public/images/flags/tj.png rename to public/images/country/tj.png diff --git a/public/images/flags/tk.png b/public/images/country/tk.png similarity index 100% rename from public/images/flags/tk.png rename to public/images/country/tk.png diff --git a/public/images/flags/tl.png b/public/images/country/tl.png similarity index 100% rename from public/images/flags/tl.png rename to public/images/country/tl.png diff --git a/public/images/flags/tm.png b/public/images/country/tm.png similarity index 100% rename from public/images/flags/tm.png rename to public/images/country/tm.png diff --git a/public/images/flags/tn.png b/public/images/country/tn.png similarity index 100% rename from public/images/flags/tn.png rename to public/images/country/tn.png diff --git a/public/images/flags/to.png b/public/images/country/to.png similarity index 100% rename from public/images/flags/to.png rename to public/images/country/to.png diff --git a/public/images/flags/tr.png b/public/images/country/tr.png similarity index 100% rename from public/images/flags/tr.png rename to public/images/country/tr.png diff --git a/public/images/flags/tt.png b/public/images/country/tt.png similarity index 100% rename from public/images/flags/tt.png rename to public/images/country/tt.png diff --git a/public/images/flags/tv.png b/public/images/country/tv.png similarity index 100% rename from public/images/flags/tv.png rename to public/images/country/tv.png diff --git a/public/images/flags/tw.png b/public/images/country/tw.png similarity index 100% rename from public/images/flags/tw.png rename to public/images/country/tw.png diff --git a/public/images/flags/tz.png b/public/images/country/tz.png similarity index 100% rename from public/images/flags/tz.png rename to public/images/country/tz.png diff --git a/public/images/flags/ua.png b/public/images/country/ua.png similarity index 100% rename from public/images/flags/ua.png rename to public/images/country/ua.png diff --git a/public/images/flags/ug.png b/public/images/country/ug.png similarity index 100% rename from public/images/flags/ug.png rename to public/images/country/ug.png diff --git a/public/images/flags/um.png b/public/images/country/um.png similarity index 100% rename from public/images/flags/um.png rename to public/images/country/um.png diff --git a/public/images/flags/xx.png b/public/images/country/unknown.png similarity index 100% rename from public/images/flags/xx.png rename to public/images/country/unknown.png diff --git a/public/images/flags/us.png b/public/images/country/us.png similarity index 100% rename from public/images/flags/us.png rename to public/images/country/us.png diff --git a/public/images/flags/uy.png b/public/images/country/uy.png similarity index 100% rename from public/images/flags/uy.png rename to public/images/country/uy.png diff --git a/public/images/flags/uz.png b/public/images/country/uz.png similarity index 100% rename from public/images/flags/uz.png rename to public/images/country/uz.png diff --git a/public/images/flags/va.png b/public/images/country/va.png similarity index 100% rename from public/images/flags/va.png rename to public/images/country/va.png diff --git a/public/images/flags/vc.png b/public/images/country/vc.png similarity index 100% rename from public/images/flags/vc.png rename to public/images/country/vc.png diff --git a/public/images/flags/ve.png b/public/images/country/ve.png similarity index 100% rename from public/images/flags/ve.png rename to public/images/country/ve.png diff --git a/public/images/flags/vg.png b/public/images/country/vg.png similarity index 100% rename from public/images/flags/vg.png rename to public/images/country/vg.png diff --git a/public/images/flags/vi.png b/public/images/country/vi.png similarity index 100% rename from public/images/flags/vi.png rename to public/images/country/vi.png diff --git a/public/images/flags/vn.png b/public/images/country/vn.png similarity index 100% rename from public/images/flags/vn.png rename to public/images/country/vn.png diff --git a/public/images/flags/vu.png b/public/images/country/vu.png similarity index 100% rename from public/images/flags/vu.png rename to public/images/country/vu.png diff --git a/public/images/flags/wf.png b/public/images/country/wf.png similarity index 100% rename from public/images/flags/wf.png rename to public/images/country/wf.png diff --git a/public/images/flags/ws.png b/public/images/country/ws.png similarity index 100% rename from public/images/flags/ws.png rename to public/images/country/ws.png diff --git a/public/images/flags/xk.png b/public/images/country/xk.png similarity index 100% rename from public/images/flags/xk.png rename to public/images/country/xk.png diff --git a/public/images/flags/ye.png b/public/images/country/ye.png similarity index 100% rename from public/images/flags/ye.png rename to public/images/country/ye.png diff --git a/public/images/flags/yt.png b/public/images/country/yt.png similarity index 100% rename from public/images/flags/yt.png rename to public/images/country/yt.png diff --git a/public/images/flags/za.png b/public/images/country/za.png similarity index 100% rename from public/images/flags/za.png rename to public/images/country/za.png diff --git a/public/images/flags/zm.png b/public/images/country/zm.png similarity index 100% rename from public/images/flags/zm.png rename to public/images/country/zm.png diff --git a/public/images/flags/zw.png b/public/images/country/zw.png similarity index 100% rename from public/images/flags/zw.png rename to public/images/country/zw.png diff --git a/public/intl/country/bg-BG.json b/public/intl/country/bg-BG.json new file mode 100644 index 00000000..c99edb5d --- /dev/null +++ b/public/intl/country/bg-BG.json @@ -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" +} diff --git a/public/intl/country/bs-BA.json b/public/intl/country/bs-BA.json new file mode 100644 index 00000000..068f7658 --- /dev/null +++ b/public/intl/country/bs-BA.json @@ -0,0 +1,251 @@ +{ + "AF": "Afganistan", + "AL": "Albanija", + "DZ": "Al\u017eir", + "VI": "Ameri\u010dka Djevi\u010danska ostrva", + "AS": "Ameri\u010dka Samoa", + "UM": "Ameri\u010dka Vanjska Ostrva", + "AD": "Andora", + "AO": "Angola", + "AI": "Angvila", + "AQ": "Antarktika", + "AG": "Antigva i Barbuda", + "AR": "Argentina", + "AM": "Armenija", + "AW": "Aruba", + "AU": "Australija", + "AT": "Austrija", + "AZ": "Azerbejd\u017ean", + "BS": "Bahami", + "BH": "Bahrein", + "BD": "Banglade\u0161", + "BB": "Barbados", + "BE": "Belgija", + "BZ": "Belize", + "BJ": "Benin", + "BM": "Bermuda", + "BY": "Bjelorusija", + "BW": "Bocvana", + "BO": "Bolivija", + "BA": "Bosna i Hercegovina", + "CX": "Bo\u017ei\u0107no ostrvo", + "BR": "Brazil", + "VG": "Britanska Djevi\u010danska ostrva", + "IO": "Britanska Teritorija u Indijskom Okeanu", + "BN": "Brunej", + "BG": "Bugarska", + "BF": "Burkina Faso", + "BI": "Burundi", + "BT": "Butan", + "CF": "Centralnoafri\u010dka Republika", + "ME": "Crna Gora", + "TD": "\u010cad", + "CZ": "\u010ce\u0161ka", + "CL": "\u010cile", + "DK": "Danska", + "CD": "Demokratska Republika Kongo", + "DM": "Dominika", + "DO": "Dominikanska Republika", + "DJ": "D\u017eibuti", + "EG": "Egipat", + "EC": "Ekvador", + "GQ": "Ekvatorijalna Gvineja", + "ER": "Eritreja", + "EE": "Estonija", + "SZ": "Esvatini", + "ET": "Etiopija", + "FO": "Farska ostrva", + "FJ": "Fid\u017ei", + "PH": "Filipini", + "FI": "Finska", + "FK": "Folklandska ostrva", + "FR": "Francuska", + "GF": "Francuska Gvajana", + "PF": "Francuska Polinezija", + "TF": "Francuske Ju\u017ene Teritorije", + "GA": "Gabon", + "GM": "Gambija", + "GH": "Gana", + "GG": "Gernzi", + "GI": "Gibraltar", + "GR": "Gr\u010dka", + "GD": "Grenada", + "GL": "Grenland", + "GE": "Gruzija", + "GU": "Guam", + "GP": "Gvadalupe", + "GY": "Gvajana", + "GT": "Gvatemala", + "GN": "Gvineja", + "GW": "Gvineja-Bisao", + "HT": "Haiti", + "HM": "Herd i arhipelag MekDonald", + "NL": "Holandija", + "HN": "Honduras", + "HK": "Hong Kong (SAR Kina)", + "HR": "Hrvatska", + "IN": "Indija", + "ID": "Indonezija", + "IQ": "Irak", + "IR": "Iran", + "IE": "Irska", + "IS": "Island", + "TL": "Isto\u010dni Timor", + "IT": "Italija", + "IL": "Izrael", + "JM": "Jamajka", + "JP": "Japan", + "YE": "Jemen", + "JE": "Jersey", + "JO": "Jordan", + "GS": "Ju\u017ena D\u017eord\u017eija i Ju\u017ena Sendvi\u010d ostrva", + "KR": "Ju\u017ena Koreja", + "SS": "Ju\u017eni Sudan", + "ZA": "Ju\u017enoafri\u010dka Republika", + "KY": "Kajmanska ostrva", + "KH": "Kambod\u017ea", + "CM": "Kamerun", + "CA": "Kanada", + "CV": "Kape Verde", + "BQ": "Karipska Holandija", + "QA": "Katar", + "KZ": "Kazahstan", + "KE": "Kenija", + "CN": "Kina", + "CY": "Kipar", + "KG": "Kirgistan", + "KI": "Kiribati", + "CC": "Kokosova (Keelingova) ostrva", + "CO": "Kolumbija", + "KM": "Komori", + "CG": "Kongo", + "CR": "Kostarika", + "CU": "Kuba", + "CK": "Kukova ostrva", + "CW": "Kurasao", + "KW": "Kuvajt", + "LA": "Laos", + "LV": "Latvija", + "LS": "Lesoto", + "LB": "Liban", + "LR": "Liberija", + "LY": "Libija", + "LI": "Lihten\u0161tajn", + "LT": "Litvanija", + "LU": "Luksemburg", + "MG": "Madagaskar", + "HU": "Ma\u0111arska", + "YT": "Majote", + "MO": "Makao (SAR Kina)", + "MW": "Malavi", + "MV": "Maldivi", + "MY": "Malezija", + "ML": "Mali", + "MT": "Malta", + "MA": "Maroko", + "MH": "Mar\u0161alova ostrva", + "MQ": "Martinik", + "MU": "Mauricijus", + "MR": "Mauritanija", + "MX": "Meksiko", + "FM": "Mikronezija", + "MM": "Mjanmar", + "MD": "Moldavija", + "MC": "Monako", + "MN": "Mongolija", + "MS": "Monserat", + "MZ": "Mozambik", + "NA": "Namibija", + "NR": "Nauru", + "NP": "Nepal", + "NE": "Niger", + "NG": "Nigerija", + "NI": "Nikaragva", + "NU": "Niue", + "NO": "Norve\u0161ka", + "NC": "Nova Kaledonija", + "NZ": "Novi Zeland", + "DE": "Njema\u010dka", + "CI": "Obala Slonova\u010de", + "AX": "Olandska ostrva", + "OM": "Oman", + "TC": "Ostrva Turks i Kaikos", + "WF": "Ostrva Valis i Futuna", + "BV": "Ostrvo Buve", + "IM": "Ostrvo Man", + "NF": "Ostrvo Norfolk", + "PK": "Pakistan", + "PW": "Palau", + "PS": "Palestinska Teritorija", + "PA": "Panama", + "PG": "Papua Nova Gvineja", + "PY": "Paragvaj", + "PE": "Peru", + "PN": "Pitkernska Ostrva", + "PL": "Poljska", + "PR": "Porto Riko", + "PT": "Portugal", + "RE": "Reunion", + "RW": "Ruanda", + "RO": "Rumunija", + "RU": "Rusija", + "SV": "Salvador", + "WS": "Samoa", + "SM": "San Marino", + "ST": "Sao Tome i Principe", + "SA": "Saudijska Arabija", + "SC": "Sej\u0161eli", + "SN": "Senegal", + "SL": "Sijera Leone", + "SG": "Singapur", + "SX": "Sint Marten", + "SY": "Sirija", + "US": "Sjedinjene Dr\u017eave", + "KP": "Sjeverna Koreja", + "MK": "Sjeverna Makedonija", + "MP": "Sjeverna Marijanska ostrva", + "SK": "Slova\u010dka", + "SI": "Slovenija", + "SB": "Solomonska Ostrva", + "SO": "Somalija", + "RS": "Srbija", + "SD": "Sudan", + "SR": "Surinam", + "SJ": "Svalbard i Jan Majen", + "SH": "Sveta Helena", + "LC": "Sveta Lucija", + "BL": "Sveti Bartolomej", + "KN": "Sveti Kits i Nevis", + "MF": "Sveti Martin", + "PM": "Sveti Petar i Mikelon", + "VC": "Sveti Vinsent i Grenadin", + "ES": "\u0160panija", + "LK": "\u0160ri Lanka", + "SE": "\u0160vedska", + "CH": "\u0160vicarska", + "TJ": "Tad\u017eikistan", + "TH": "Tajland", + "TW": "Tajvan", + "TZ": "Tanzanija", + "TG": "Togo", + "TK": "Tokelau", + "TO": "Tonga", + "TT": "Trinidad i Tobago", + "TN": "Tunis", + "TM": "Turkmenistan", + "TR": "Turska", + "TV": "Tuvalu", + "UG": "Uganda", + "AE": "Ujedinjeni Arapski Emirati", + "GB": "Ujedinjeno Kraljevstvo", + "UA": "Ukrajina", + "UY": "Urugvaj", + "UZ": "Uzbekistan", + "VU": "Vanuatu", + "VA": "Vatikan", + "VE": "Venecuela", + "VN": "Vijetnam", + "ZM": "Zambija", + "EH": "Zapadna Sahara", + "ZW": "Zimbabve" +} diff --git a/public/intl/language/bg-BG.json b/public/intl/language/bg-BG.json new file mode 100644 index 00000000..09ec7332 --- /dev/null +++ b/public/intl/language/bg-BG.json @@ -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" +} diff --git a/public/intl/language/bs-BA.json b/public/intl/language/bs-BA.json new file mode 100644 index 00000000..960e4722 --- /dev/null +++ b/public/intl/language/bs-BA.json @@ -0,0 +1,611 @@ +{ + "ab": "abhazijski", + "ace": "a\u010dineski", + "ada": "adangmejski", + "ady": "adigejski", + "aa": "afarski", + "afh": "afrihili", + "af": "afrikanerski", + "agq": "aghem", + "ain": "ainu", + "ay": "ajmara", + "akk": "akadijski", + "ak": "akan", + "ach": "akoli", + "bss": "Akoose", + "akz": "Alabama", + "sq": "albanski", + "arq": "Algerian Arabic", + "ale": "aljut", + "ase": "American Sign Language", + "en_US": "ameri\u010dki engleski", + "am": "amharski", + "anp": "angika", + "njo": "Ao Naga", + "an": "aragone\u017eanski", + "aro": "Araona", + "arp": "arapaho", + "ar": "arapski", + "arn": "araukanski", + "arw": "aravak", + "arc": "armajski", + "rup": "aromanijski", + "frp": "Arpitan", + "as": "asemijski", + "ast": "asturijski", + "asa": "asu", + "cch": "atsam", + "en_AU": "australski engleski", + "de_AT": "austrijski njema\u010dki", + "awa": "avadhi", + "av": "avarski", + "ae": "avestanski", + "az": "azerbejd\u017eanski", + "bfq": "Badaga", + "ksf": "bafia", + "bfd": "Bafut", + "bqi": "Bakhtiari", + "ban": "balinezijski", + "bal": "balu\u010di", + "bm": "bambara", + "bax": "Bamun", + "bjn": "Banjar", + "bas": "basa", + "eu": "baskijski", + "ba": "ba\u0161kirski", + "bbc": "Batak Toba", + "bar": "Bavarian", + "bej": "beja", + "bem": "bemba", + "bez": "bena", + "bn": "bengalski", + "bew": "Betawi", + "zxx": "bez lingvisti\u010dkog sadr\u017eaja", + "bik": "bikol", + "bin": "bini", + "bpy": "Bishnupriya", + "bi": "bislama", + "be": "bjeloruski", + "byn": "blin", + "zbl": "blisimboli", + "brx": "bodo", + "bho": "bojpuri", + "bs": "bosanski", + "brh": "Brahui", + "bra": "braj", + "pt_BR": "Brazilian Portuguese", + "br": "bretonski", + "en_GB": "britanski engleski", + "bg": "bugarski", + "bug": "bugine\u017eanskii", + "bum": "Bulu", + "bua": "buriat", + "my": "burmanski", + "frc": "Cajun French", + "yue": "Cantonese", + "cps": "Capiznon", + "cay": "Cayuga", + "ceb": "cebuano", + "dtp": "Central Dusun", + "esu": "Central Yupik", + "shu": "Chadian Arabic", + "qug": "Chimborazo Highland Quichua", + "ksh": "Colognian", + "swb": "Comorian", + "cy": "cy", + "chg": "\u010dagatai", + "ch": "\u010damoro", + "ce": "\u010de\u010denski", + "chy": "\u010dejenski", + "cs": "\u010de\u0161ki", + "chb": "\u010dib\u010da", + "cgg": "\u010diga", + "chn": "\u010dinukski", + "chp": "\u010dipvijanski", + "chr": "\u010diroki", + "cho": "\u010doktavski", + "chk": "\u010dukeski", + "cv": "\u010duva\u0161ki", + "dak": "dakota", + "da": "danski", + "dar": "dargva", + "dzg": "Dazaga", + "del": "delaver", + "din": "dinka", + "dv": "divehijski", + "doi": "dogri", + "dgr": "dogrib", + "dsb": "donjolu\u017ei\u010dkosrpski", + "dua": "duala", + "gez": "d\u017eiz", + "dz": "d\u017eonga", + "dyu": "\u0111ula", + "efi": "efikski", + "arz": "Egyptian Arabic", + "eka": "ekajuk", + "elx": "elamitski", + "ebu": "embu", + "egl": "Emilian", + "en": "engleski", + "myv": "erzija", + "eo": "esperanto", + "et": "estonski", + "pt_PT": "European Portuguese", + "ee": "eve", + "ewo": "evondo", + "es_ES": "evropski \u0161panski", + "ext": "Extremaduran", + "fan": "fang", + "fat": "fanti", + "fo": "farski", + "phn": "feni\u010danski", + "fj": "fid\u017eijski", + "hif": "Fiji Hindi", + "fil": "filipinski", + "fi": "finski", + "nl_BE": "flamanski", + "fon": "fon", + "gur": "Frafra", + "fr": "francuski", + "fur": "friulijski", + "fy": "frizijski", + "ff": "fulah", + "gaa": "ga", + "gag": "gagau\u0161ki", + "gay": "gajo", + "gl": "galski", + "gan": "Gan Chinese", + "lg": "ganda", + "gba": "gbaja", + "aln": "Gheg Albanian", + "bbj": "Ghomala", + "glk": "Gilaki", + "gil": "gilbert\u0161ki", + "gom": "Goan Konkani", + "gon": "gondi", + "hsb": "gornjolu\u017ei\u010dkosrpski", + "de_CH": "gornjonjema\u010dki (\u0161vicarski)", + "gor": "gorontalo", + "got": "gotski", + "el": "gr\u010dki", + "grb": "grebo", + "ka": "gruzijski", + "gu": "gud\u017earati", + "guz": "gusii", + "gn": "gvarani", + "gwi": "Gwich\u02bcin", + "ht": "hai\u0107anski", + "hai": "haida", + "hak": "Hakka Chinese", + "ha": "hausa", + "haw": "havajski", + "he": "hebrejski", + "hz": "herero", + "hil": "hiligajnon", + "hi": "hindi", + "ho": "hiri motu", + "hit": "hitite", + "hmn": "hmong", + "nl": "holandski", + "hr": "hrvatski", + "hup": "hupa", + "iba": "iban", + "ibb": "Ibibio", + "io": "ido", + "ig": "igbo", + "ilo": "iloko", + "smn": "inari sami", + "id": "indonezijski", + "izh": "Ingrian", + "inh": "ingu\u0161etski", + "ia": "interlingva", + "ie": "interlingve", + "iu": "inuktitut", + "ik": "inupiak", + "ga": "irski", + "is": "islandski", + "frs": "isto\u010dni frizijski", + "it": "italijanski", + "sah": "jakut", + "jam": "Jamaican Creole English", + "yao": "jao", + "ja": "japanski", + "yap": "jape\u0161ki", + "jv": "javanski", + "hy": "jermenski", + "yi": "jidi\u0161", + "dyo": "jola-fonyi", + "yo": "jorubanski", + "jrb": "judeo-arapski", + "jpr": "judeo-persijski", + "jut": "Jutish", + "alt": "ju\u017eni altai", + "nr": "ju\u017eni ndebele", + "sma": "ju\u017eni sami", + "kbd": "kabardijski", + "kab": "kabile", + "kac": "ka\u010din", + "cad": "kado", + "kgp": "Kaingang", + "kkj": "Kako", + "kl": "kalalisutski", + "kln": "kalenjin", + "xal": "kalmik", + "kam": "kamba", + "kn": "kanada", + "en_CA": "kanadski engleski", + "fr_CA": "kanadski francuski", + "kbl": "Kanembu", + "kr": "kanuri", + "kaa": "kara-kalpa\u0161ki", + "krc": "kara\u010daj-balkar", + "krl": "karelijski", + "car": "karipski", + "kha": "kasi", + "ks": "ka\u0161miri", + "csb": "ka\u0161ubijanski", + "ca": "katalonski", + "kaw": "kavi", + "kk": "kaza\u010dki", + "ken": "Kenyang", + "khw": "Khowar", + "quc": "ki\u010de", + "ki": "kikuju", + "kmb": "kimbundu", + "krj": "Kinaray-a", + "zh": "kineski", + "zh_Hans": "kineski (pojednostavljeni)", + "zh_Hant": "kineski (tradicionalni)", + "rw": "kinjarvanda", + "ky": "kirgiski", + "kiu": "Kirmanjki", + "nwc": "klasi\u010dni nevari", + "syc": "klasi\u010dni sirijski", + "tlh": "klingonski", + "km": "kmerski", + "ses": "kojraboro seni", + "bkm": "Kom", + "kv": "komi", + "koi": "komi-permja\u010dki", + "kg": "kongo", + "swc": "kongoanski swahili", + "kok": "konkani", + "cop": "koptski", + "ko": "korejski", + "kw": "korni\u0161ki", + "kfo": "koro", + "co": "korzikanski", + "xh": "kosa", + "kos": "kosreanski", + "kho": "kotanizijski", + "avk": "Kotava", + "khq": "koyra chiini", + "kpe": "kpele", + "cr": "kri", + "crh": "krimeanski turski", + "kri": "Krio", + "mus": "kri\u0161ki", + "kj": "kuanjama", + "kum": "kumik", + "ku": "kurdski", + "kru": "kurukh", + "kut": "kutenai", + "qu": "kven\u010da", + "nmg": "kwasio", + "lad": "ladino", + "lkt": "lakota", + "lam": "lamba", + "lah": "landa", + "lag": "langi", + "lo": "lao\u0161ki", + "ltg": "Latgalian", + "es_419": "latinoameri\u010dki \u0161panski", + "la": "latinski", + "lzz": "Laz", + "lv": "letonski", + "lez": "lezgian", + "lij": "Ligurian", + "li": "limburgi\u0161", + "ln": "lingala", + "lfn": "Lingua Franca Nova", + "lzh": "Literary Chinese", + "lt": "litvanski", + "liv": "Livonian", + "jbo": "lojban", + "lmo": "Lombard", + "sli": "Lower Silesian", + "loz": "lozi", + "lu": "luba-katanga", + "lua": "luba-lulua", + "lui": "luiseno", + "lb": "luksembur\u0161ki", + "smj": "lule sami", + "lun": "lunda", + "luo": "luo", + "lus": "lu\u0161ai", + "luy": "luyia", + "mde": "Maba", + "jmc": "machame", + "mad": "madure\u0161ki", + "hu": "ma\u0111arski", + "maf": "Mafa", + "mag": "magahi", + "moh": "mahavski", + "vmf": "Main-Franconian", + "mai": "maitili", + "mak": "makasar", + "mk": "makedonski", + "mgh": "makhuwa-meetto", + "kde": "makonde", + "mg": "malagazijski", + "ml": "malajalam", + "ms": "malajski", + "mt": "malte\u0161ki", + "mnc": "man\u010du", + "mdr": "mandar", + "man": "mandingo", + "mni": "manipuri", + "gv": "manks", + "mi": "maorski", + "mr": "marati", + "chm": "mari", + "tzm": "marokanski tamazigt", + "mh": "mar\u0161alski", + "mwr": "marvari", + "mas": "masai", + "mfe": "mauricijski kreolski", + "mzn": "Mazanderani", + "byv": "Medumba", + "es_MX": "meksi\u010dki \u0161panski", + "men": "mende", + "mwv": "Mentawai", + "mer": "meru", + "mgo": "meta\u2019", + "mic": "mikmak", + "nan": "Min Nan Chinese", + "min": "minangkabau", + "xmf": "Mingrelian", + "mwl": "mirande\u0161ki", + "ar_001": "moderni standardni arapski", + "mdf": "mok\u0161a", + "ro_MD": "moldavski", + "lol": "mongo", + "mn": "mongolski", + "ary": "Moroccan Arabic", + "mos": "mosi", + "mua": "mundang", + "ttt": "Muslim Tat", + "mye": "Myene", + "naq": "nama", + "na": "nauru", + "nv": "navaho", + "ng": "ndonga", + "nap": "neapolitanski", + "ne": "nepalski", + "und": "nepoznati ili neva\u017ee\u0107i jezik", + "new": "nevari", + "sba": "Ngambay", + "nnh": "Ngiemboon", + "jgo": "ngomba", + "yrl": "Nheengatu", + "nia": "nias", + "nds": "niski nema\u010dki", + "niu": "niuean", + "nqo": "nko", + "nog": "nogai", + "no": "norve\u0161ki", + "nb": "norve\u0161ki bokmal", + "nn": "norve\u0161ki njorsk", + "nov": "Novial", + "nus": "nuer", + "nzi": "nzima", + "nym": "njamvezi", + "nyn": "njankole", + "ny": "njanja", + "tog": "njasa tonga", + "de": "njema\u010dki", + "nyo": "njoro", + "oj": "ojibva", + "or": "orijski", + "om": "oromo", + "osa": "osage", + "os": "osetski", + "ota": "otomanski turski", + "pal": "pahlavi", + "pfl": "Palatine German", + "pau": "palauanski", + "pi": "pali", + "pam": "pampanga", + "pa": "pand\u017eabski", + "pag": "pangasinski", + "pap": "papiamento", + "ps": "pa\u0161tunski", + "pdc": "Pennsylvania German", + "fa": "perzijski", + "pcd": "Picard", + "pms": "Piedmontese", + "pdt": "Plautdietsch", + "pl": "poljski", + "pon": "ponpejski", + "pnt": "Pontic", + "pt": "portugalski", + "oc": "provansalski", + "prg": "Prussian", + "raj": "ra\u0111astani", + "rap": "rapanui", + "rar": "rarotongan", + "rm": "reto-romanski", + "rif": "Riffian", + "rgn": "Romagnol", + "rom": "romani", + "rof": "rombo", + "rtm": "Rotuman", + "rug": "Roviana", + "rwk": "rua", + "ro": "rumunski", + "root": "run", + "rn": "rundi", + "ru": "ruski", + "rue": "Rusyn", + "ssy": "Saho", + "sam": "samaritanski aramejski", + "saq": "samburu", + "sm": "samoanski", + "sgs": "Samogitian", + "sad": "sandave", + "sg": "sango", + "sbp": "sangu", + "sa": "sanskrit", + "sat": "santali", + "sc": "sardinijski", + "sas": "sasak", + "sdc": "Sassarese Sardinian", + "stq": "Saterland Frisian", + "saz": "Saurashtra", + "sly": "Selayar", + "sel": "selkap", + "seh": "sena", + "see": "Seneca", + "srr": "serer", + "sei": "Seri", + "st": "sesoto", + "nso": "severni soto", + "frr": "severno-frizijski", + "ksb": "shambala", + "scn": "sicilijanski", + "ii": "si\u010duan ji", + "sid": "sidamo", + "bla": "siksika", + "szl": "Silesian", + "sd": "sindi", + "si": "singaleski", + "syr": "sirijski", + "nd": "sjeverni ndebele", + "se": "sjeverni sami", + "sms": "skoltski jezik", + "den": "slavski", + "sk": "slova\u010dki", + "sl": "slovena\u010dki", + "sog": "sod\u017eijenski", + "xog": "soga", + "so": "somalski", + "snk": "soninke", + "ckb": "soranski kurdski", + "azb": "South Azerbaijani", + "srn": "srananski tongo", + "enm": "srednji engleski", + "frm": "srednji francuski", + "dum": "srednji holandski", + "mga": "srednji irski", + "gmh": "srednji visoki nema\u010dki", + "sr": "srpski", + "sh": "srpskohrvatski", + "zgh": "standardni marokanski tamazigt", + "non": "stari norski", + "egy": "staroegipatski", + "ang": "staroengleski", + "fro": "starofrancuski", + "grc": "starogr\u010dki", + "sga": "staroirski", + "goh": "staronema\u010dki", + "peo": "staropersijski", + "pro": "staroprovansalski", + "cu": "staroslovenski", + "su": "sudanski", + "suk": "sukuma", + "sux": "sumerski", + "sus": "susu", + "sw": "svahili", + "ss": "svati", + "shn": "\u0161an", + "sco": "\u0161kotski", + "gd": "\u0161kotski galski", + "sn": "\u0161ona", + "es": "\u0161panski", + "fr_CH": "\u0161vajcarski francuski", + "gsw": "\u0161vajcarski njema\u010dki", + "sv": "\u0161vedski", + "tg": "tad\u017ei\u010dki", + "tl": "tagalski", + "shi": "tahelhit", + "ty": "tahi\u0107anski", + "dav": "taita", + "th": "tajlandski", + "tly": "Talysh", + "tmh": "tama\u0161ek", + "ta": "tamilski", + "trv": "Taroko", + "twq": "tasavak", + "tt": "tatarski", + "te": "telugu", + "ter": "tereno", + "teo": "teso", + "tet": "tetum", + "bo": "tibetanski", + "tig": "tigre", + "ti": "tigrinja", + "tem": "timne", + "tiv": "tiv", + "kcg": "tjap", + "tli": "tlingit", + "tpi": "tok pisin", + "tkl": "tokelau", + "to": "tonga", + "fit": "Tornedalen Finnish", + "tkr": "Tsakhur", + "tsd": "Tsakonian", + "tsi": "tsim\u0161ian", + "ts": "tsonga", + "tn": "tsvana", + "tcy": "Tulu", + "tum": "tumbuka", + "aeb": "Tunisian Arabic", + "tk": "turkmenski", + "tru": "Turoyo", + "tr": "turski", + "tvl": "tuvalu", + "tyv": "tuvinijski", + "tw": "tvi", + "udm": "udmurt", + "uga": "ugaritski", + "ug": "ujgurski", + "uk": "ukrajinski", + "umb": "umbundu", + "ur": "urdu", + "uz": "uzbe\u010dki", + "vai": "vai", + "wal": "valamo", + "wa": "valun", + "war": "varej", + "was": "va\u0161o", + "ve": "venda", + "vec": "Venetian", + "vep": "Veps", + "vi": "vijetnamski", + "mul": "vi\u0161e jezika", + "vo": "volap\u00fck", + "wo": "volof", + "vro": "V\u00f5ro", + "vot": "votski", + "vun": "vunjo", + "wae": "Walser", + "wbp": "Warlpiri", + "guc": "Wayuu", + "vls": "West Flemish", + "mrj": "Western Mari", + "wuu": "Wu Chinese", + "hsn": "Xiang Chinese", + "yav": "Yangben", + "ybb": "Yemba", + "zap": "zapote\u010dki", + "dje": "zarma", + "zza": "zaza", + "zea": "Zeelandic", + "kea": "zelenortski", + "zen": "zenaga", + "gbz": "Zoroastrian Dari", + "za": "zuang", + "zu": "zulu", + "zun": "zuni", + "kaj": "\u017eju" +} diff --git a/public/intl/messages/am-ET.json b/public/intl/messages/am-ET.json index 931935a2..6ab57eb2 100644 --- a/public/intl/messages/am-ET.json +++ b/public/intl/messages/am-ET.json @@ -11,7 +11,7 @@ "value": "Actions" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Enable share URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Events" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Password" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profile" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Single day" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Tracking code" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unique visitors" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index 300d3e1a..b466054a 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -11,7 +11,7 @@ "value": "الإجراءات" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "سجل الأحداث" @@ -83,12 +83,6 @@ "value": "المتوسط" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "متوسط وقت الزيارة" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "مسح الكل" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "تابع" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "أُنشئ من قبل" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "فعّل مشاركة الرابط" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "الأحداث" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "التصفيات" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "فهم معدل التحويل والانقطاع عن المستخدمين." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "أكبَر مِن أو يساوي" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "انضم للفريق" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "التحكم" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "كلمة المرور" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "الملف الشخصي" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "قس مدى ثبات موقعك على الويب من خلال تتبع عدد مرات عودة المستخدمين." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "حدد موقع" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "يوم واحد" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "معرّف الفريق" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "كود التتبع" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "زائرون فريدون" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "المستخدم" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "متوسط وقت الزيارة" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json index 4b8c964f..d5ca0a1e 100644 --- a/public/intl/messages/be-BY.json +++ b/public/intl/messages/be-BY.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Код доступу" } ], "label.actions": [ @@ -11,34 +11,34 @@ "value": "Дзеянні" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "Журнал актыўнасці" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Дадаць" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Дадаць апісанне" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Дадаць удзельніка" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Дадаць крок" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Пасля" } ], "label.all": [ @@ -74,19 +74,13 @@ "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "Аналітыка" } ], "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Сярэдняя даўжыня наведвання" + "value": "Сярэдняе" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Да" } ], "label.bounce-rate": [ @@ -110,13 +104,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Разбіўка" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Браўзер" } ], "label.browsers": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Гарады" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Горад" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Ачысціць усё" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Параўнаць" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Падцвердзіць" } ], "label.confirm-password": [ @@ -170,13 +170,19 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Уключае" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "Працягнуць" + } + ], + "label.count": [ + { + "type": 0, + "value": "Колькасць" } ], "label.countries": [ @@ -188,55 +194,61 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Краіна" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Стварыць" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Стварыць справаздачу" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Стварыць каманду" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Стварыць карыстальніка" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "Створана" } ], "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Створана" + } + ], + "label.current": [ + { + "type": 0, + "value": "Цяперашні" } ], "label.current-password": [ { "type": 0, - "value": "Бягучы пароль" + "value": "Цяперашні пароль" } ], "label.custom-range": [ { "type": 0, - "value": "Карыстацкі дыяпазон" + "value": "Іншы дыяпазон" } ], "label.dashboard": [ @@ -248,13 +260,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Дадзеныя" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Дата" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Дзень" } ], "label.default-date-range": [ @@ -284,19 +296,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Выдаліць справаздачу" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Выдаліць каманду" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Выдаліць карыстальніка" } ], "label.delete-website": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Апісанне" } ], "label.desktop": [ @@ -320,13 +332,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Дэталі" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Прылада" } ], "label.devices": [ @@ -338,13 +350,13 @@ "label.dismiss": [ { "type": 0, - "value": "Адмена" + "value": "Адхіліць" } ], "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Не ўключае" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Адмовы" } ], "label.edit": [ @@ -374,7 +386,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Рэдагаваць удзельніка" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "Дазволіць дзяліцца спасылкай" } ], + "label.end-step": [ + { + "type": 0, + "value": "Канчатковы крок" + } + ], + "label.entry": [ + { + "type": 0, + "value": "URL уваходу" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Падзея" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Дадзеныя падзеі" } ], "label.events": [ @@ -401,34 +425,40 @@ "value": "Падзеі" } ], + "label.exit": [ + { + "type": 0, + "value": "URL выхаду" + } + ], "label.false": [ { "type": 0, - "value": "False" + "value": "Ложна" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Поле" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Палі" } ], "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Фільтр" } ], "label.filter-combined": [ { "type": 0, - "value": "Камбініаваны" + "value": "Камбініраваны" } ], "label.filter-raw": [ @@ -440,79 +470,127 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Фільтры" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Варонка" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Разумець паказчыкі канверсіі і адмоваў." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Мэта" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Мэты" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Сачыць за мэтамі па праглядах старонак і падзеях." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Больш чым" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Больш чым або роўна" + } + ], + "label.host": [ + { + "type": 0, + "value": "Хост" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Хасты" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Інсайты" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Даследваць дадзеныя з дапамогай сегментаў і фільтраў." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "З'яўляецца" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Не з'яўляецца" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Не ўстаноўлена" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Устаноўлена" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "Далучыцца" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "Далучыцца да каманды" + } + ], + "label.journey": [ + { + "type": 0, + "value": "Маршрут карыстальніка" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Разумець як карыстальнікі навігуюць па сайце." } ], "label.language": [ @@ -544,7 +622,7 @@ }, { "type": 0, - "value": " дні" + "value": " дзён" } ], "label.last-hours": [ @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Апошнія " }, { "type": 1, @@ -572,37 +650,43 @@ }, { "type": 0, - "value": " months" + "value": " месяцаў" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Пакінуць" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Пакінуць каманду" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Менш чым" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Менш чым або роўна" } ], "label.login": [ { "type": 0, - "value": "Login" + "value": "Увайсці" } ], "label.logout": [ @@ -614,31 +698,37 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Кіраваць" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Кіраўнік" } ], "label.max": [ { "type": 0, - "value": "Max" + "value": "Максімум" } ], "label.member": [ { "type": 0, - "value": "Member" + "value": "Удзельнік" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Удзельнікі" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "Мінімум" } ], "label.mobile": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Мой уліковы запіс" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Мае сайты" } ], "label.name": [ @@ -699,7 +789,7 @@ "value": [ { "type": 0, - "value": "record" + "value": "запіс" } ] }, @@ -707,7 +797,7 @@ "value": [ { "type": 0, - "value": "records" + "value": "запісаў" } ] } @@ -720,19 +810,19 @@ "label.ok": [ { "type": 0, - "value": "OK" + "value": "ОК" } ], "label.os": [ { "type": 0, - "value": "OS" + "value": "Аперацыйная сістэма" } ], "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Агляд" } ], "label.owner": [ @@ -744,7 +834,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Старонка " }, { "type": 1, @@ -752,7 +842,7 @@ }, { "type": 0, - "value": " of " + "value": " з " }, { "type": 1, @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Загаловак старонкі" } ], "label.pages": [ @@ -783,6 +873,18 @@ "value": "Пароль" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,28 +895,58 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Папярэдні" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Папярэдні перыяд" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Папярэдні год" + } + ], "label.profile": [ { "type": 0, "value": "Профіль" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Уласцівасць" + } + ], "label.queries": [ { "type": 0, - "value": "Queries" + "value": "Запыты" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Запыт" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Параметры запыту" } ], "label.realtime": [ @@ -826,13 +958,13 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Рэферэр" } ], "label.referrers": [ { "type": 0, - "value": "Referrers" + "value": "Рэферэры" } ], "label.refresh": [ @@ -844,37 +976,37 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "Рэгенераваць" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "Рэгіён" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "Рэгіёны" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "Выдаліць" } ], "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Выдаліць удзельніка" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Справаздачы" } ], "label.required": [ @@ -898,25 +1030,43 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Утрыманне" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Ацаніць прыцягальнасць сайта, адсочваючы павяртанні карыстальнікаў." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "Роля" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Запусціць запыт" } ], "label.save": [ @@ -934,37 +1084,43 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "Пошук" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Выбраць" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Выбраць дату" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Выбраць ролю" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Выбраць сайт" + } + ], + "label.session": [ + { + "type": 0, + "value": "Session" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Сесіі" } ], "label.settings": [ @@ -985,16 +1141,22 @@ "value": "Адзін дзень" } ], + "label.start-step": [ + { + "type": 0, + "value": "Першы кроку" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Крокі" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Сума" } ], "label.tablet": [ @@ -1006,49 +1168,55 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "Каманда" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "Ідэнтыфікатар каманды" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Кіраўнік каманды" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "Удзельнік каманды" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Назва каманды" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "Уласнік каманды" } ], "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Толькі для каманднага прагляду" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Сайты каманды" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "Каманды" } ], "label.theme": [ @@ -1078,13 +1246,13 @@ "label.timezone": [ { "type": 0, - "value": "Таймзона" + "value": "Часавы пояс" } ], "label.title": [ { "type": 0, - "value": "Title" + "value": "Загаловак" } ], "label.today": [ @@ -1102,13 +1270,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "Агульная колькасць" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Агульная колькасць запісаў" } ], "label.tracking-code": [ @@ -1117,34 +1285,40 @@ "value": "Код адсочвання" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Перадаць" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Перадаць сайт" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "Ісціна" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Тып" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Унікальны" } ], "label.unique-visitors": [ @@ -1153,6 +1327,12 @@ "value": "Унікальныя наведвальнікі" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1162,13 +1342,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Без назвы" } ], "label.update": [ { "type": 0, - "value": "Update" + "value": "Абнавіць" } ], "label.url": [ @@ -1186,7 +1366,13 @@ "label.user": [ { "type": 0, - "value": "User" + "value": "Карыстальнік" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" } ], "label.username": [ @@ -1198,7 +1384,7 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "Карыстальнікі" } ], "label.utm": [ @@ -1210,31 +1396,31 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Сачыць за кампаніямі з дапамогай UTM-метак." } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Значэнне" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "Паглядзець" } ], "label.view-details": [ { "type": 0, - "value": "Пабачыць дэталі" + "value": "Паглядзець дэталі" } ], "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Толькі прагляд" } ], "label.views": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Прагляды за наведванне" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Сярэдняя даўжыня наведвання" } ], "label.visitors": [ @@ -1258,19 +1450,19 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Наведванні" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Сайт" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "Ідэнтыфікатар сайта" } ], "label.websites": [ @@ -1282,7 +1474,7 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "Вакно" } ], "label.yesterday": [ @@ -1294,7 +1486,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Увядзіце " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " у поле ніжэй, каб пацвердзіць." } ], "message.active-users": [ @@ -1312,7 +1504,7 @@ }, { "type": 0, - "value": " тякучых " + "value": " цякучых " }, { "offset": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Сабраныя дадзеныя" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1356,7 +1554,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "Вы дакладна хочаце пакінуць " }, { "type": 1, @@ -1370,7 +1568,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Вы дакладна хочаце выдаліць " }, { "type": 1, @@ -1398,7 +1596,7 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Выдаленне каманды таксама выдаліць усе сайты каманды." } ], "message.delete-website-warning": [ @@ -1420,7 +1618,7 @@ }, { "type": 0, - "value": " on " + "value": " на " }, { "type": 1, @@ -1436,7 +1634,7 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "Некарэктны username/password." + "value": "Некарэктнае імя карыстальніка/пароль." } ], "message.invalid-domain": [ @@ -1448,7 +1646,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "Мінімальная даўжыня " }, { "type": 1, @@ -1456,13 +1654,13 @@ }, { "type": 0, - "value": " characters" + "value": " знакаў" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Даступная новая версія Umami " }, { "type": 1, @@ -1470,7 +1668,7 @@ }, { "type": 0, - "value": " is available!" + "value": "!" } ], "message.no-data-available": [ @@ -1482,7 +1680,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Дадзеныя падзеі недаступныя." } ], "message.no-match-password": [ @@ -1494,31 +1692,31 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Вынікаў не знойдзена." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "Гэтая каманда не мае ніводнага сайта." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "Вы не стварылі ніводнай каманды." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "Няма карыстальнікаў." } ], "message.no-websites-configured": [ { "type": 0, - "value": "Вы не наладзілі ніводнага сайту." + "value": "Вы не наладзілі ніводнага сайта." } ], "message.page-not-found": [ @@ -1530,7 +1728,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Каб скінуць гэты сайт, увядзіце " }, { "type": 1, @@ -1538,13 +1736,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " у поле ніжэй для пацверджання." } ], "message.reset-website-warning": [ { "type": 0, - "value": "Уся статыстыка для гэтага сайту будзе выдалена, але код адсочвання будзе працягваць працаваць." + "value": "Уся статыстыка для гэтага сайта будзе выдалена, але код адсочвання будзе працягваць працаваць." } ], "message.saved": [ @@ -1570,19 +1768,19 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "Вы ўжо ўдзельнік каманды." } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "Каманда не знойдзена." } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Сайты могуць быць праглядацца любым удзельнікам каманды." } ], "message.tracking-code": [ @@ -1594,37 +1792,37 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Перадаць гэты сайт на ваш уліковы запіс?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Выберыце каманду для перадачы гэтага сайта." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Перадача сайта на ваш уліковы запіс або іншай камандзе." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Падзея якая спрацавала" } ], "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "Карыстальнік выдалены." } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Праглядзеў старонку" } ], "message.visitor-log": [ @@ -1664,7 +1862,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Наведвальнікі сышлі" } ] } diff --git a/public/intl/messages/bg-BG.json b/public/intl/messages/bg-BG.json new file mode 100644 index 00000000..d81c4c69 --- /dev/null +++ b/public/intl/messages/bg-BG.json @@ -0,0 +1,1874 @@ +{ + "label.access-code": [ + { + "type": 0, + "value": "Код за достъп" + } + ], + "label.actions": [ + { + "type": 0, + "value": "Действия" + } + ], + "label.activity": [ + { + "type": 0, + "value": "Активностти" + } + ], + "label.add": [ + { + "type": 0, + "value": "Добави" + } + ], + "label.add-description": [ + { + "type": 0, + "value": "Добави описание" + } + ], + "label.add-member": [ + { + "type": 0, + "value": "Добави член" + } + ], + "label.add-step": [ + { + "type": 0, + "value": "Добави стъпка" + } + ], + "label.add-website": [ + { + "type": 0, + "value": "Добави уебсайт" + } + ], + "label.admin": [ + { + "type": 0, + "value": "Администратор" + } + ], + "label.after": [ + { + "type": 0, + "value": "След" + } + ], + "label.all": [ + { + "type": 0, + "value": "Всички" + } + ], + "label.all-time": [ + { + "type": 0, + "value": "За всички времена" + } + ], + "label.analytics": [ + { + "type": 0, + "value": "Анализи" + } + ], + "label.average": [ + { + "type": 0, + "value": "Средно" + } + ], + "label.back": [ + { + "type": 0, + "value": "Назад" + } + ], + "label.before": [ + { + "type": 0, + "value": "Преди" + } + ], + "label.bounce-rate": [ + { + "type": 0, + "value": "Kоефициент на отказ" + } + ], + "label.breakdown": [ + { + "type": 0, + "value": "Разбивка" + } + ], + "label.browser": [ + { + "type": 0, + "value": "Браузър" + } + ], + "label.browsers": [ + { + "type": 0, + "value": "Браузъри" + } + ], + "label.cancel": [ + { + "type": 0, + "value": "Отмени" + } + ], + "label.change-password": [ + { + "type": 0, + "value": "Смени парола" + } + ], + "label.cities": [ + { + "type": 0, + "value": "Градове" + } + ], + "label.city": [ + { + "type": 0, + "value": "Град" + } + ], + "label.clear-all": [ + { + "type": 0, + "value": "Изчисти всички" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], + "label.confirm": [ + { + "type": 0, + "value": "Потвърди" + } + ], + "label.confirm-password": [ + { + "type": 0, + "value": "Потвърди парола" + } + ], + "label.contains": [ + { + "type": 0, + "value": "Съдържа" + } + ], + "label.continue": [ + { + "type": 0, + "value": "Продължи" + } + ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], + "label.countries": [ + { + "type": 0, + "value": "Държави" + } + ], + "label.country": [ + { + "type": 0, + "value": "Държава" + } + ], + "label.create": [ + { + "type": 0, + "value": "Създай" + } + ], + "label.create-report": [ + { + "type": 0, + "value": "Създай отчет" + } + ], + "label.create-team": [ + { + "type": 0, + "value": "Създай екип" + } + ], + "label.create-user": [ + { + "type": 0, + "value": "Създай потребител" + } + ], + "label.created": [ + { + "type": 0, + "value": "Създадено" + } + ], + "label.created-by": [ + { + "type": 0, + "value": "Създадено от" + } + ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], + "label.current-password": [ + { + "type": 0, + "value": "Текуща парола" + } + ], + "label.custom-range": [ + { + "type": 0, + "value": "Обхват" + } + ], + "label.dashboard": [ + { + "type": 0, + "value": "Табло" + } + ], + "label.data": [ + { + "type": 0, + "value": "Данни" + } + ], + "label.date": [ + { + "type": 0, + "value": "Дата" + } + ], + "label.date-range": [ + { + "type": 0, + "value": "Диапазон от дати" + } + ], + "label.day": [ + { + "type": 0, + "value": "Ден" + } + ], + "label.default-date-range": [ + { + "type": 0, + "value": "Диапазон от дати по подразбиране" + } + ], + "label.delete": [ + { + "type": 0, + "value": "Изтрий" + } + ], + "label.delete-report": [ + { + "type": 0, + "value": "Изтрий отчет" + } + ], + "label.delete-team": [ + { + "type": 0, + "value": "Изтрий екип" + } + ], + "label.delete-user": [ + { + "type": 0, + "value": "Изтрий потребител" + } + ], + "label.delete-website": [ + { + "type": 0, + "value": "Изтрий уебсайт" + } + ], + "label.description": [ + { + "type": 0, + "value": "Описание" + } + ], + "label.desktop": [ + { + "type": 0, + "value": "Десктоп" + } + ], + "label.details": [ + { + "type": 0, + "value": "Детайли" + } + ], + "label.device": [ + { + "type": 0, + "value": "Устройство" + } + ], + "label.devices": [ + { + "type": 0, + "value": "Устройства" + } + ], + "label.dismiss": [ + { + "type": 0, + "value": "Отхвърли" + } + ], + "label.does-not-contain": [ + { + "type": 0, + "value": "Не съдържа" + } + ], + "label.domain": [ + { + "type": 0, + "value": "Домейн" + } + ], + "label.dropoff": [ + { + "type": 0, + "value": "Отпадане" + } + ], + "label.edit": [ + { + "type": 0, + "value": "Редактирай" + } + ], + "label.edit-dashboard": [ + { + "type": 0, + "value": "Редактирай табло" + } + ], + "label.edit-member": [ + { + "type": 0, + "value": "Редактирай член" + } + ], + "label.enable-share-url": [ + { + "type": 0, + "value": "Активирай Линк за споделяне" + } + ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], + "label.event": [ + { + "type": 0, + "value": "Събитие" + } + ], + "label.event-data": [ + { + "type": 0, + "value": "Данни за събитие" + } + ], + "label.events": [ + { + "type": 0, + "value": "Събития" + } + ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], + "label.false": [ + { + "type": 0, + "value": "Грешно" + } + ], + "label.field": [ + { + "type": 0, + "value": "Поле" + } + ], + "label.fields": [ + { + "type": 0, + "value": "Полета" + } + ], + "label.filter": [ + { + "type": 0, + "value": "Филтър" + } + ], + "label.filter-combined": [ + { + "type": 0, + "value": "Комбиниран" + } + ], + "label.filter-raw": [ + { + "type": 0, + "value": "Суров" + } + ], + "label.filters": [ + { + "type": 0, + "value": "Филтри" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], + "label.funnel": [ + { + "type": 0, + "value": "Фуния" + } + ], + "label.funnel-description": [ + { + "type": 0, + "value": "Разберете процента на конверсия и отпадане на потребителите." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], + "label.greater-than": [ + { + "type": 0, + "value": "По-голямо от" + } + ], + "label.greater-than-equals": [ + { + "type": 0, + "value": "По-голямо или равно на" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], + "label.insights": [ + { + "type": 0, + "value": "Изводи" + } + ], + "label.insights-description": [ + { + "type": 0, + "value": "Навлезте по-дълбоко в данните си, като използвате сегменти и филтри." + } + ], + "label.is": [ + { + "type": 0, + "value": "Е" + } + ], + "label.is-not": [ + { + "type": 0, + "value": "Не е" + } + ], + "label.is-not-set": [ + { + "type": 0, + "value": "Не е зададено" + } + ], + "label.is-set": [ + { + "type": 0, + "value": "Зададено е" + } + ], + "label.join": [ + { + "type": 0, + "value": "Присъедини се" + } + ], + "label.join-team": [ + { + "type": 0, + "value": "Присъедини се към екип" + } + ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], + "label.language": [ + { + "type": 0, + "value": "Език" + } + ], + "label.languages": [ + { + "type": 0, + "value": "Езици" + } + ], + "label.laptop": [ + { + "type": 0, + "value": "Лаптоп" + } + ], + "label.last-days": [ + { + "type": 0, + "value": "Последните " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " дни" + } + ], + "label.last-hours": [ + { + "type": 0, + "value": "Последните " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " часа" + } + ], + "label.last-months": [ + { + "type": 0, + "value": "Последните " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " месеца" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], + "label.leave": [ + { + "type": 0, + "value": "Напусни" + } + ], + "label.leave-team": [ + { + "type": 0, + "value": "Напусни екип" + } + ], + "label.less-than": [ + { + "type": 0, + "value": "По-малко от" + } + ], + "label.less-than-equals": [ + { + "type": 0, + "value": "По-малко или равно на" + } + ], + "label.login": [ + { + "type": 0, + "value": "Вход" + } + ], + "label.logout": [ + { + "type": 0, + "value": "Изход" + } + ], + "label.manage": [ + { + "type": 0, + "value": "Управлявай" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], + "label.max": [ + { + "type": 0, + "value": "Максимум" + } + ], + "label.member": [ + { + "type": 0, + "value": "Член" + } + ], + "label.members": [ + { + "type": 0, + "value": "Членове" + } + ], + "label.min": [ + { + "type": 0, + "value": "Минимум" + } + ], + "label.mobile": [ + { + "type": 0, + "value": "Мобилен" + } + ], + "label.more": [ + { + "type": 0, + "value": "Още" + } + ], + "label.my-account": [ + { + "type": 0, + "value": "Моят акаунт" + } + ], + "label.my-websites": [ + { + "type": 0, + "value": "Моите уебсайтове" + } + ], + "label.name": [ + { + "type": 0, + "value": "Име" + } + ], + "label.new-password": [ + { + "type": 0, + "value": "Нова парола" + } + ], + "label.none": [ + { + "type": 0, + "value": "Няма" + } + ], + "label.number-of-records": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "един" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "други" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "label.ok": [ + { + "type": 0, + "value": "Добре" + } + ], + "label.os": [ + { + "type": 0, + "value": "ОС" + } + ], + "label.overview": [ + { + "type": 0, + "value": "Общ преглед" + } + ], + "label.owner": [ + { + "type": 0, + "value": "Собственик" + } + ], + "label.page-of": [ + { + "type": 0, + "value": "Страница " + }, + { + "type": 1, + "value": "current" + }, + { + "type": 0, + "value": " от " + }, + { + "type": 1, + "value": "total" + } + ], + "label.page-views": [ + { + "type": 0, + "value": "Прегледи на страницата" + } + ], + "label.pageTitle": [ + { + "type": 0, + "value": "Заглавие на страница" + } + ], + "label.pages": [ + { + "type": 0, + "value": "Страници" + } + ], + "label.password": [ + { + "type": 0, + "value": "Парола" + } + ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], + "label.powered-by": [ + { + "type": 0, + "value": "Поддържано от " + }, + { + "type": 1, + "value": "name" + } + ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], + "label.profile": [ + { + "type": 0, + "value": "Профил" + } + ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], + "label.queries": [ + { + "type": 0, + "value": "Запитвания" + } + ], + "label.query": [ + { + "type": 0, + "value": "Запитване" + } + ], + "label.query-parameters": [ + { + "type": 0, + "value": "Параметри на търсене" + } + ], + "label.realtime": [ + { + "type": 0, + "value": "В реално време" + } + ], + "label.referrer": [ + { + "type": 0, + "value": "Референт" + } + ], + "label.referrers": [ + { + "type": 0, + "value": "Референти" + } + ], + "label.refresh": [ + { + "type": 0, + "value": "Обнови" + } + ], + "label.regenerate": [ + { + "type": 0, + "value": "Регенерирай" + } + ], + "label.region": [ + { + "type": 0, + "value": "Регион" + } + ], + "label.regions": [ + { + "type": 0, + "value": "Региони" + } + ], + "label.remove": [ + { + "type": 0, + "value": "Премахни" + } + ], + "label.remove-member": [ + { + "type": 0, + "value": "Премахни член" + } + ], + "label.reports": [ + { + "type": 0, + "value": "Отчети" + } + ], + "label.required": [ + { + "type": 0, + "value": "Задължително" + } + ], + "label.reset": [ + { + "type": 0, + "value": "Нулирай" + } + ], + "label.reset-website": [ + { + "type": 0, + "value": "Нулирай уебсайт" + } + ], + "label.retention": [ + { + "type": 0, + "value": "Привързване" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Измерете привързаността към вашия уебсайт, като проследявате колко често потребителите се връщат." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], + "label.role": [ + { + "type": 0, + "value": "Роля" + } + ], + "label.run-query": [ + { + "type": 0, + "value": "Изпълни запитване" + } + ], + "label.save": [ + { + "type": 0, + "value": "Запази" + } + ], + "label.screens": [ + { + "type": 0, + "value": "Екрани" + } + ], + "label.search": [ + { + "type": 0, + "value": "Търсене" + } + ], + "label.select": [ + { + "type": 0, + "value": "Избери" + } + ], + "label.select-date": [ + { + "type": 0, + "value": "Избери дата" + } + ], + "label.select-role": [ + { + "type": 0, + "value": "Избери роля" + } + ], + "label.select-website": [ + { + "type": 0, + "value": "Избери уебсайт" + } + ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], + "label.sessions": [ + { + "type": 0, + "value": "Сесии" + } + ], + "label.settings": [ + { + "type": 0, + "value": "Настройки" + } + ], + "label.share-url": [ + { + "type": 0, + "value": "Сподели Линк" + } + ], + "label.single-day": [ + { + "type": 0, + "value": "Един ден" + } + ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], + "label.steps": [ + { + "type": 0, + "value": "Стъпки" + } + ], + "label.sum": [ + { + "type": 0, + "value": "Сума" + } + ], + "label.tablet": [ + { + "type": 0, + "value": "Таблет" + } + ], + "label.team": [ + { + "type": 0, + "value": "Екип" + } + ], + "label.team-id": [ + { + "type": 0, + "value": "ID на екип" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], + "label.team-member": [ + { + "type": 0, + "value": "Член на екипа" + } + ], + "label.team-name": [ + { + "type": 0, + "value": "Име на екипа" + } + ], + "label.team-owner": [ + { + "type": 0, + "value": "Собственик на екипа" + } + ], + "label.team-view-only": [ + { + "type": 0, + "value": "Видимо само за членове на екипа" + } + ], + "label.team-websites": [ + { + "type": 0, + "value": "Уебсайтове на екипа" + } + ], + "label.teams": [ + { + "type": 0, + "value": "Екипи" + } + ], + "label.theme": [ + { + "type": 0, + "value": "Тема" + } + ], + "label.this-month": [ + { + "type": 0, + "value": "Този месец" + } + ], + "label.this-week": [ + { + "type": 0, + "value": "Тази седмица" + } + ], + "label.this-year": [ + { + "type": 0, + "value": "Тази година" + } + ], + "label.timezone": [ + { + "type": 0, + "value": "Часова зона" + } + ], + "label.title": [ + { + "type": 0, + "value": "Заглавие" + } + ], + "label.today": [ + { + "type": 0, + "value": "Днес" + } + ], + "label.toggle-charts": [ + { + "type": 0, + "value": "Виж диаграми" + } + ], + "label.total": [ + { + "type": 0, + "value": "Общо" + } + ], + "label.total-records": [ + { + "type": 0, + "value": "Общо записи" + } + ], + "label.tracking-code": [ + { + "type": 0, + "value": "Код за проследяване" + } + ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], + "label.transfer": [ + { + "type": 0, + "value": "Прехвърли" + } + ], + "label.transfer-website": [ + { + "type": 0, + "value": "Прехвърляне на уебсайт" + } + ], + "label.true": [ + { + "type": 0, + "value": "Вярно" + } + ], + "label.type": [ + { + "type": 0, + "value": "Вид" + } + ], + "label.unique": [ + { + "type": 0, + "value": "Уникален" + } + ], + "label.unique-visitors": [ + { + "type": 0, + "value": "Уникални посетители" + } + ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], + "label.unknown": [ + { + "type": 0, + "value": "Неизвестен" + } + ], + "label.untitled": [ + { + "type": 0, + "value": "Без заглавие" + } + ], + "label.update": [ + { + "type": 0, + "value": "Актуализирай" + } + ], + "label.url": [ + { + "type": 0, + "value": "URL адрес" + } + ], + "label.urls": [ + { + "type": 0, + "value": "URL адреси" + } + ], + "label.user": [ + { + "type": 0, + "value": "Потребител" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], + "label.username": [ + { + "type": 0, + "value": "Потребителско име" + } + ], + "label.users": [ + { + "type": 0, + "value": "Потребители" + } + ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Следете кампаниите си чрез UTM параметри." + } + ], + "label.value": [ + { + "type": 0, + "value": "Стойност" + } + ], + "label.view": [ + { + "type": 0, + "value": "Преглед" + } + ], + "label.view-details": [ + { + "type": 0, + "value": "Преглед на детайлите" + } + ], + "label.view-only": [ + { + "type": 0, + "value": "Само за преглед" + } + ], + "label.views": [ + { + "type": 0, + "value": "Прегледи" + } + ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Прегледи на посещение" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], + "label.visitors": [ + { + "type": 0, + "value": "Посетители" + } + ], + "label.visits": [ + { + "type": 0, + "value": "Посещения" + } + ], + "label.website": [ + { + "type": 0, + "value": "Уебсайт" + } + ], + "label.website-id": [ + { + "type": 0, + "value": "Идентификатор на уебсайт" + } + ], + "label.websites": [ + { + "type": 0, + "value": "Уебсайтове" + } + ], + "label.window": [ + { + "type": 0, + "value": "Прозорец" + } + ], + "label.yesterday": [ + { + "type": 0, + "value": "Вчера" + } + ], + "message.action-confirmation": [ + { + "type": 0, + "value": "Въведете " + }, + { + "type": 1, + "value": "confirmation" + }, + { + "type": 0, + "value": " в полето по-долу, за да потвърдите." + } + ], + "message.active-users": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "активен един" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "активни други" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], + "message.confirm-delete": [ + { + "type": 0, + "value": "Сигурни ли сте, че искате да изтриете " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-leave": [ + { + "type": 0, + "value": "Сигурни ли сте, че искате да напуснете " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-remove": [ + { + "type": 0, + "value": "Сигурни ли сте, че искате да премахнете " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-reset": [ + { + "type": 0, + "value": "Сигурни ли сте, че искате да нулирате " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.delete-team-warning": [ + { + "type": 0, + "value": "Изтриването на екип ще изтрие и всички уебсайтове създадени от екипа." + } + ], + "message.delete-website-warning": [ + { + "type": 0, + "value": "Всички данни за уебсайта ще бъдат изтрити." + } + ], + "message.error": [ + { + "type": 0, + "value": "Възникна грешка." + } + ], + "message.event-log": [ + { + "type": 1, + "value": "event" + }, + { + "type": 0, + "value": " на " + }, + { + "type": 1, + "value": "url" + } + ], + "message.go-to-settings": [ + { + "type": 0, + "value": "Отидете в настройките" + } + ], + "message.incorrect-username-password": [ + { + "type": 0, + "value": "Неправилно потребителско име и/или парола." + } + ], + "message.invalid-domain": [ + { + "type": 0, + "value": "Невалиден домейн. Не включвайте http/https." + } + ], + "message.min-password-length": [ + { + "type": 0, + "value": "Минимална дължина от " + }, + { + "type": 1, + "value": "n" + }, + { + "type": 0, + "value": " символа" + } + ], + "message.new-version-available": [ + { + "type": 0, + "value": "Има нова версия на Umami " + }, + { + "type": 1, + "value": "version" + }, + { + "type": 0, + "value": "!" + } + ], + "message.no-data-available": [ + { + "type": 0, + "value": "Няма налични данни." + } + ], + "message.no-event-data": [ + { + "type": 0, + "value": "Няма налични данни за събитие." + } + ], + "message.no-match-password": [ + { + "type": 0, + "value": "Паролите не съвпадат." + } + ], + "message.no-results-found": [ + { + "type": 0, + "value": "Няма намерени резултати." + } + ], + "message.no-team-websites": [ + { + "type": 0, + "value": "Този екип няма никакви уебсайтове." + } + ], + "message.no-teams": [ + { + "type": 0, + "value": "Няма създадени екипи." + } + ], + "message.no-users": [ + { + "type": 0, + "value": "Няма потребители." + } + ], + "message.no-websites-configured": [ + { + "type": 0, + "value": "Нямате конфигурирани уебсайтове." + } + ], + "message.page-not-found": [ + { + "type": 0, + "value": "Страницата не е намерена" + } + ], + "message.reset-website": [ + { + "type": 0, + "value": "За да нулирате този уебсайт, въведете " + }, + { + "type": 1, + "value": "confirmation" + }, + { + "type": 0, + "value": " в полето по-долу, за да потвърдите." + } + ], + "message.reset-website-warning": [ + { + "type": 0, + "value": "Всички статистически данни за този уебсайт ще бъдат изтрити, но вашите настройки ще останат непроменени." + } + ], + "message.saved": [ + { + "type": 0, + "value": "Запазено." + } + ], + "message.share-url": [ + { + "type": 0, + "value": "Статистиката за вашия уебсайт е публично достъпна на следния URL адрес:" + } + ], + "message.team-already-member": [ + { + "type": 0, + "value": "Вече сте член на екипа." + } + ], + "message.team-not-found": [ + { + "type": 0, + "value": "Екипът не е намерен." + } + ], + "message.team-websites-info": [ + { + "type": 0, + "value": "Уебсайтовете могат да бъдат преглеждани от всеки член на екипа." + } + ], + "message.tracking-code": [ + { + "type": 0, + "value": "За активирате проследяването на статистиката във вашият уебсайт, поставете следния код в секцията " + }, + { + "children": [ + { + "type": 0, + "value": "..." + } + ], + "type": 8, + "value": "head" + }, + { + "type": 0, + "value": " намираща се в вашия HTML." + } + ], + "message.transfer-team-website-to-user": [ + { + "type": 0, + "value": "Искате да прехвърлите този уебсайт към вашия акаунт?" + } + ], + "message.transfer-user-website-to-team": [ + { + "type": 0, + "value": "Изберете екипът на който да бъде прехвърлен уебсайта." + } + ], + "message.transfer-website": [ + { + "type": 0, + "value": "Прехвърли собствеността на уебсайта към вашия акаунт или към друг екип." + } + ], + "message.triggered-event": [ + { + "type": 0, + "value": "Активирано събитие" + } + ], + "message.user-deleted": [ + { + "type": 0, + "value": "Потребителят е изтрит." + } + ], + "message.viewed-page": [ + { + "type": 0, + "value": "Страницата е видяна" + } + ], + "message.visitor-log": [ + { + "type": 0, + "value": "Посетител от " + }, + { + "type": 1, + "value": "country" + }, + { + "type": 0, + "value": ", използващ " + }, + { + "type": 1, + "value": "browser" + }, + { + "type": 0, + "value": " на " + }, + { + "type": 1, + "value": "os" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "device" + } + ], + "message.visitors-dropped-off": [ + { + "type": 0, + "value": "Спад на посетителите" + } + ] +} diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json index 05de48d2..a50db622 100644 --- a/public/intl/messages/bn-BD.json +++ b/public/intl/messages/bn-BD.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "এক্সেস কোড" } ], "label.actions": [ @@ -11,34 +11,34 @@ "value": "অ্যাকশনস" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "একটিভিটি দেখুন" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "যুক্ত করুন" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "বর্ননা যোগ করুন" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "সদস্য যোগ করুন" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "পদ যোগ করুন" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "পরে" } ], "label.all": [ @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "গড় পরিদর্শনের সময়" - } - ], "label.back": [ { "type": 0, @@ -98,31 +92,31 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "পূর্বে" } ], "label.bounce-rate": [ { "type": 0, - "value": "বহিষ্কারের হার" + "value": "উপরে উঠার হার" } ], "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "ভাঙ্গন" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "ব্রাউজার" } ], "label.browsers": [ { "type": 0, - "value": "ব্রাউজার" + "value": "ব্রাউজার সমূহ" } ], "label.cancel": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "শহরসমূহ" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "শহর" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "সব মুছে ফেলুন" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Compare" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "নিশ্চিত করুন" } ], "label.confirm-password": [ @@ -170,55 +170,61 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "রয়েছে" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "পরবর্তিতে" + } + ], + "label.count": [ + { + "type": 0, + "value": "Count" } ], "label.countries": [ { "type": 0, - "value": "দেশ" + "value": "দেশসমূহ" } ], "label.country": [ { "type": 0, - "value": "Country" + "value": "দেশ" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "তৈরি করুন" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "রিপোর্ট তৈরি করুন" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "দল তৈরি করুন" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "ব্যবহারকারী তৈরি করুন" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "তৈরি করা হয়েছে" } ], "label.created-by": [ @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "শেয়ার ইউআরএল শেয়ার করুন" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "ঘটনা" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "পাসওয়ার্ড" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 1, @@ -793,12 +895,42 @@ "value": " দ্বারা চালিত" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "প্রোফাইল" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "একদিন" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "ট্র্যাকিং কোড" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "অনন্য ভিজিটর" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "গড় পরিদর্শনের সময়" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/bs-BA.json b/public/intl/messages/bs-BA.json new file mode 100644 index 00000000..71d870e2 --- /dev/null +++ b/public/intl/messages/bs-BA.json @@ -0,0 +1,1874 @@ +{ + "label.access-code": [ + { + "type": 0, + "value": "Pristupni kod" + } + ], + "label.actions": [ + { + "type": 0, + "value": "Akcije" + } + ], + "label.activity": [ + { + "type": 0, + "value": "Log aktivnosti" + } + ], + "label.add": [ + { + "type": 0, + "value": "Dodaj" + } + ], + "label.add-description": [ + { + "type": 0, + "value": "Dodaj opis" + } + ], + "label.add-member": [ + { + "type": 0, + "value": "Dodaj člana" + } + ], + "label.add-step": [ + { + "type": 0, + "value": "Dodaj korak" + } + ], + "label.add-website": [ + { + "type": 0, + "value": "Dodaj web stranicu" + } + ], + "label.admin": [ + { + "type": 0, + "value": "Administrator" + } + ], + "label.after": [ + { + "type": 0, + "value": "Nakon" + } + ], + "label.all": [ + { + "type": 0, + "value": "Sve" + } + ], + "label.all-time": [ + { + "type": 0, + "value": "Cijelo vrijeme" + } + ], + "label.analytics": [ + { + "type": 0, + "value": "Analitike" + } + ], + "label.average": [ + { + "type": 0, + "value": "Prosjek" + } + ], + "label.back": [ + { + "type": 0, + "value": "Nazad" + } + ], + "label.before": [ + { + "type": 0, + "value": "Prije" + } + ], + "label.bounce-rate": [ + { + "type": 0, + "value": "Bounce rate" + } + ], + "label.breakdown": [ + { + "type": 0, + "value": "Pregled po kategorijama" + } + ], + "label.browser": [ + { + "type": 0, + "value": "Browser" + } + ], + "label.browsers": [ + { + "type": 0, + "value": "Browseri" + } + ], + "label.cancel": [ + { + "type": 0, + "value": "Otkaži" + } + ], + "label.change-password": [ + { + "type": 0, + "value": "Promijeni šifru" + } + ], + "label.cities": [ + { + "type": 0, + "value": "Gradovi" + } + ], + "label.city": [ + { + "type": 0, + "value": "Grad" + } + ], + "label.clear-all": [ + { + "type": 0, + "value": "Očisti sve" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], + "label.confirm": [ + { + "type": 0, + "value": "Potvrdi" + } + ], + "label.confirm-password": [ + { + "type": 0, + "value": "Potvrdi šifru" + } + ], + "label.contains": [ + { + "type": 0, + "value": "Sadrži" + } + ], + "label.continue": [ + { + "type": 0, + "value": "Nastavi" + } + ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], + "label.countries": [ + { + "type": 0, + "value": "Zemlje" + } + ], + "label.country": [ + { + "type": 0, + "value": "Zemlja" + } + ], + "label.create": [ + { + "type": 0, + "value": "Kreiraj" + } + ], + "label.create-report": [ + { + "type": 0, + "value": "Kreiraj izvještaj" + } + ], + "label.create-team": [ + { + "type": 0, + "value": "Kreiraj tim" + } + ], + "label.create-user": [ + { + "type": 0, + "value": "Kreiraj korisnika" + } + ], + "label.created": [ + { + "type": 0, + "value": "Kreiraj" + } + ], + "label.created-by": [ + { + "type": 0, + "value": "Kreirao" + } + ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], + "label.current-password": [ + { + "type": 0, + "value": "Trenutna šifra" + } + ], + "label.custom-range": [ + { + "type": 0, + "value": "Proizvoljni raspon" + } + ], + "label.dashboard": [ + { + "type": 0, + "value": "Dashboard" + } + ], + "label.data": [ + { + "type": 0, + "value": "Podaci" + } + ], + "label.date": [ + { + "type": 0, + "value": "Datum" + } + ], + "label.date-range": [ + { + "type": 0, + "value": "Datumski raspon" + } + ], + "label.day": [ + { + "type": 0, + "value": "Dan" + } + ], + "label.default-date-range": [ + { + "type": 0, + "value": "Defaultni datumski raspon" + } + ], + "label.delete": [ + { + "type": 0, + "value": "Izbriši" + } + ], + "label.delete-report": [ + { + "type": 0, + "value": "Izbriši report" + } + ], + "label.delete-team": [ + { + "type": 0, + "value": "Izbriši tim" + } + ], + "label.delete-user": [ + { + "type": 0, + "value": "Izbriši korisnika" + } + ], + "label.delete-website": [ + { + "type": 0, + "value": "Izbriši web stranicu" + } + ], + "label.description": [ + { + "type": 0, + "value": "Opis" + } + ], + "label.desktop": [ + { + "type": 0, + "value": "Desktop" + } + ], + "label.details": [ + { + "type": 0, + "value": "Detalji" + } + ], + "label.device": [ + { + "type": 0, + "value": "Uređaj" + } + ], + "label.devices": [ + { + "type": 0, + "value": "Uređaji" + } + ], + "label.dismiss": [ + { + "type": 0, + "value": "Odbaci" + } + ], + "label.does-not-contain": [ + { + "type": 0, + "value": "Ne sadrži" + } + ], + "label.domain": [ + { + "type": 0, + "value": "Domena" + } + ], + "label.dropoff": [ + { + "type": 0, + "value": "Dropoff" + } + ], + "label.edit": [ + { + "type": 0, + "value": "Uredi" + } + ], + "label.edit-dashboard": [ + { + "type": 0, + "value": "Uredi dashboard" + } + ], + "label.edit-member": [ + { + "type": 0, + "value": "Uredi člana" + } + ], + "label.enable-share-url": [ + { + "type": 0, + "value": "Omogući URL za dijeljenje" + } + ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], + "label.event": [ + { + "type": 0, + "value": "Događaj" + } + ], + "label.event-data": [ + { + "type": 0, + "value": "Podaci o događaju" + } + ], + "label.events": [ + { + "type": 0, + "value": "Događaji" + } + ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], + "label.false": [ + { + "type": 0, + "value": "Ne" + } + ], + "label.field": [ + { + "type": 0, + "value": "Polje" + } + ], + "label.fields": [ + { + "type": 0, + "value": "Polja" + } + ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], + "label.filter-combined": [ + { + "type": 0, + "value": "Kombinovano" + } + ], + "label.filter-raw": [ + { + "type": 0, + "value": "Sirovo" + } + ], + "label.filters": [ + { + "type": 0, + "value": "Filtri" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], + "label.funnel": [ + { + "type": 0, + "value": "Lijevak" + } + ], + "label.funnel-description": [ + { + "type": 0, + "value": "Razumite koverziju i drop-off učestalost korisnika." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], + "label.greater-than": [ + { + "type": 0, + "value": "Veće od" + } + ], + "label.greater-than-equals": [ + { + "type": 0, + "value": "Veće od ili jednako" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], + "label.insights": [ + { + "type": 0, + "value": "Uvidi" + } + ], + "label.insights-description": [ + { + "type": 0, + "value": "Zaronite dublje u vaše podatke korištenjem segmenata i filtera" + } + ], + "label.is": [ + { + "type": 0, + "value": "Jeste" + } + ], + "label.is-not": [ + { + "type": 0, + "value": "Nije" + } + ], + "label.is-not-set": [ + { + "type": 0, + "value": "Nije setano" + } + ], + "label.is-set": [ + { + "type": 0, + "value": "Jeste setano" + } + ], + "label.join": [ + { + "type": 0, + "value": "Učlani se" + } + ], + "label.join-team": [ + { + "type": 0, + "value": "Učlani se u tim" + } + ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], + "label.language": [ + { + "type": 0, + "value": "Jezik" + } + ], + "label.languages": [ + { + "type": 0, + "value": "Jezici" + } + ], + "label.laptop": [ + { + "type": 0, + "value": "Laptop" + } + ], + "label.last-days": [ + { + "type": 0, + "value": "Zadnjih " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " dana" + } + ], + "label.last-hours": [ + { + "type": 0, + "value": "Zadnjih " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " sati" + } + ], + "label.last-months": [ + { + "type": 0, + "value": "Zadnjih " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " mjeseci" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], + "label.leave": [ + { + "type": 0, + "value": "Napusti" + } + ], + "label.leave-team": [ + { + "type": 0, + "value": "Napusti tim" + } + ], + "label.less-than": [ + { + "type": 0, + "value": "Manje od" + } + ], + "label.less-than-equals": [ + { + "type": 0, + "value": "Manje od ili jednako" + } + ], + "label.login": [ + { + "type": 0, + "value": "Login" + } + ], + "label.logout": [ + { + "type": 0, + "value": "Logout" + } + ], + "label.manage": [ + { + "type": 0, + "value": "Manage" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], + "label.max": [ + { + "type": 0, + "value": "Max" + } + ], + "label.member": [ + { + "type": 0, + "value": "Član" + } + ], + "label.members": [ + { + "type": 0, + "value": "Članovi" + } + ], + "label.min": [ + { + "type": 0, + "value": "Min" + } + ], + "label.mobile": [ + { + "type": 0, + "value": "Mobile" + } + ], + "label.more": [ + { + "type": 0, + "value": "Više" + } + ], + "label.my-account": [ + { + "type": 0, + "value": "Moj račun" + } + ], + "label.my-websites": [ + { + "type": 0, + "value": "Moje web stranice" + } + ], + "label.name": [ + { + "type": 0, + "value": "Ime" + } + ], + "label.new-password": [ + { + "type": 0, + "value": "Nova šifra" + } + ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], + "label.number-of-records": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "record" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "records" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "label.ok": [ + { + "type": 0, + "value": "OK" + } + ], + "label.os": [ + { + "type": 0, + "value": "OS" + } + ], + "label.overview": [ + { + "type": 0, + "value": "Pregled" + } + ], + "label.owner": [ + { + "type": 0, + "value": "Vlasnik" + } + ], + "label.page-of": [ + { + "type": 0, + "value": "Strana " + }, + { + "type": 1, + "value": "current" + }, + { + "type": 0, + "value": " od " + }, + { + "type": 1, + "value": "total" + } + ], + "label.page-views": [ + { + "type": 0, + "value": "Pregleda stranica" + } + ], + "label.pageTitle": [ + { + "type": 0, + "value": "Naslov stranice" + } + ], + "label.pages": [ + { + "type": 0, + "value": "Stranice" + } + ], + "label.password": [ + { + "type": 0, + "value": "Šifra" + } + ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], + "label.powered-by": [ + { + "type": 0, + "value": "Omogućeno s " + }, + { + "type": 1, + "value": "name" + } + ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], + "label.profile": [ + { + "type": 0, + "value": "Profil" + } + ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], + "label.queries": [ + { + "type": 0, + "value": "Queryji" + } + ], + "label.query": [ + { + "type": 0, + "value": "Query" + } + ], + "label.query-parameters": [ + { + "type": 0, + "value": "Query parametri" + } + ], + "label.realtime": [ + { + "type": 0, + "value": "Realno vrijeme" + } + ], + "label.referrer": [ + { + "type": 0, + "value": "Referrer" + } + ], + "label.referrers": [ + { + "type": 0, + "value": "Referrers" + } + ], + "label.refresh": [ + { + "type": 0, + "value": "Refresh" + } + ], + "label.regenerate": [ + { + "type": 0, + "value": "Regeneriši" + } + ], + "label.region": [ + { + "type": 0, + "value": "Region" + } + ], + "label.regions": [ + { + "type": 0, + "value": "Regioni" + } + ], + "label.remove": [ + { + "type": 0, + "value": "Ukloni" + } + ], + "label.remove-member": [ + { + "type": 0, + "value": "Ukloni člana" + } + ], + "label.reports": [ + { + "type": 0, + "value": "Izvještaji" + } + ], + "label.required": [ + { + "type": 0, + "value": "Required" + } + ], + "label.reset": [ + { + "type": 0, + "value": "Resetuj" + } + ], + "label.reset-website": [ + { + "type": 0, + "value": "Resetuj web stranicu" + } + ], + "label.retention": [ + { + "type": 0, + "value": "Retention" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Izmjeri 'ljepljivost' svoje web stranice praćenjem koliko često set korisnici vraćaju." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], + "label.role": [ + { + "type": 0, + "value": "Rola" + } + ], + "label.run-query": [ + { + "type": 0, + "value": "Pokreni query" + } + ], + "label.save": [ + { + "type": 0, + "value": "Sačuvaj" + } + ], + "label.screens": [ + { + "type": 0, + "value": "Ekrani" + } + ], + "label.search": [ + { + "type": 0, + "value": "Traži" + } + ], + "label.select": [ + { + "type": 0, + "value": "Odaberi" + } + ], + "label.select-date": [ + { + "type": 0, + "value": "Odaberi datum" + } + ], + "label.select-role": [ + { + "type": 0, + "value": "Odaberi rolu" + } + ], + "label.select-website": [ + { + "type": 0, + "value": "Odaberi web stranicu" + } + ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], + "label.sessions": [ + { + "type": 0, + "value": "Sesije" + } + ], + "label.settings": [ + { + "type": 0, + "value": "Postavke" + } + ], + "label.share-url": [ + { + "type": 0, + "value": "Share URL" + } + ], + "label.single-day": [ + { + "type": 0, + "value": "Jedan dan" + } + ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], + "label.steps": [ + { + "type": 0, + "value": "Koraci" + } + ], + "label.sum": [ + { + "type": 0, + "value": "Suma" + } + ], + "label.tablet": [ + { + "type": 0, + "value": "Tablet" + } + ], + "label.team": [ + { + "type": 0, + "value": "Tim" + } + ], + "label.team-id": [ + { + "type": 0, + "value": "Tim ID" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], + "label.team-member": [ + { + "type": 0, + "value": "Član tima" + } + ], + "label.team-name": [ + { + "type": 0, + "value": "Naziv tima" + } + ], + "label.team-owner": [ + { + "type": 0, + "value": "Vlasnik tima" + } + ], + "label.team-view-only": [ + { + "type": 0, + "value": "Samo tim može vidjeti" + } + ], + "label.team-websites": [ + { + "type": 0, + "value": "Timske web stranice" + } + ], + "label.teams": [ + { + "type": 0, + "value": "Timovi" + } + ], + "label.theme": [ + { + "type": 0, + "value": "Teme" + } + ], + "label.this-month": [ + { + "type": 0, + "value": "Ovaj mjesec" + } + ], + "label.this-week": [ + { + "type": 0, + "value": "Ova sedmica" + } + ], + "label.this-year": [ + { + "type": 0, + "value": "Ova godina" + } + ], + "label.timezone": [ + { + "type": 0, + "value": "Vremenska zona" + } + ], + "label.title": [ + { + "type": 0, + "value": "Naslov" + } + ], + "label.today": [ + { + "type": 0, + "value": "Danas" + } + ], + "label.toggle-charts": [ + { + "type": 0, + "value": "Uklj/isklj grafikone" + } + ], + "label.total": [ + { + "type": 0, + "value": "Ukupno" + } + ], + "label.total-records": [ + { + "type": 0, + "value": "Ukupno redova" + } + ], + "label.tracking-code": [ + { + "type": 0, + "value": "Kod za praćenje" + } + ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], + "label.transfer": [ + { + "type": 0, + "value": "Transfer" + } + ], + "label.transfer-website": [ + { + "type": 0, + "value": "Transfer web stranice" + } + ], + "label.true": [ + { + "type": 0, + "value": "Da" + } + ], + "label.type": [ + { + "type": 0, + "value": "Tip" + } + ], + "label.unique": [ + { + "type": 0, + "value": "Jedinstveno" + } + ], + "label.unique-visitors": [ + { + "type": 0, + "value": "Jedinstvenih posjetitelja" + } + ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], + "label.unknown": [ + { + "type": 0, + "value": "Nepoznato" + } + ], + "label.untitled": [ + { + "type": 0, + "value": "Bezimeno" + } + ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], + "label.url": [ + { + "type": 0, + "value": "URL" + } + ], + "label.urls": [ + { + "type": 0, + "value": "URLs" + } + ], + "label.user": [ + { + "type": 0, + "value": "Korisnik" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], + "label.username": [ + { + "type": 0, + "value": "Korisničko ime" + } + ], + "label.users": [ + { + "type": 0, + "value": "Korisnici" + } + ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Pratite vaše kampanje kroz UTM parametre." + } + ], + "label.value": [ + { + "type": 0, + "value": "Vrijednost" + } + ], + "label.view": [ + { + "type": 0, + "value": "Pregled" + } + ], + "label.view-details": [ + { + "type": 0, + "value": "Pogledaj detalje" + } + ], + "label.view-only": [ + { + "type": 0, + "value": "Samo gledanje" + } + ], + "label.views": [ + { + "type": 0, + "value": "Pregledi" + } + ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Pregledi po posjeti" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Prosječno vrijeme posjete" + } + ], + "label.visitors": [ + { + "type": 0, + "value": "Posjetitelji" + } + ], + "label.visits": [ + { + "type": 0, + "value": "Posjete" + } + ], + "label.website": [ + { + "type": 0, + "value": "Web stranica" + } + ], + "label.website-id": [ + { + "type": 0, + "value": "ID web stranice" + } + ], + "label.websites": [ + { + "type": 0, + "value": "Web stranice" + } + ], + "label.window": [ + { + "type": 0, + "value": "Prozor" + } + ], + "label.yesterday": [ + { + "type": 0, + "value": "Jučer" + } + ], + "message.action-confirmation": [ + { + "type": 0, + "value": "Unesite " + }, + { + "type": 1, + "value": "confirmation" + }, + { + "type": 0, + "value": " ispod da potvrdite." + } + ], + "message.active-users": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " trenutno " + }, + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "posjetitelj" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "posjetitelja" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "x" + } + ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], + "message.confirm-delete": [ + { + "type": 0, + "value": "Jeste li sigurni da želite obrisati " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-leave": [ + { + "type": 0, + "value": "Jeste li sigurni da želite napustiti " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-remove": [ + { + "type": 0, + "value": "Jeste li sigurni da želite ukloniti " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.confirm-reset": [ + { + "type": 0, + "value": "Jeste li sigurni da želite resetovati " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": "?" + } + ], + "message.delete-team-warning": [ + { + "type": 0, + "value": "Brisanje tima će također obrisati sve web stranice tima." + } + ], + "message.delete-website-warning": [ + { + "type": 0, + "value": "Svi podaci web stranice biće obrisani." + } + ], + "message.error": [ + { + "type": 0, + "value": "Nešto je pošlo po zlu." + } + ], + "message.event-log": [ + { + "type": 1, + "value": "event" + }, + { + "type": 0, + "value": " na " + }, + { + "type": 1, + "value": "url" + } + ], + "message.go-to-settings": [ + { + "type": 0, + "value": "Idi na postavke" + } + ], + "message.incorrect-username-password": [ + { + "type": 0, + "value": "Pogrešno korisničko ime i/ili šifra." + } + ], + "message.invalid-domain": [ + { + "type": 0, + "value": "Nevalidna domena. Ne uključujte http/https." + } + ], + "message.min-password-length": [ + { + "type": 0, + "value": "Minimalna dužina od " + }, + { + "type": 1, + "value": "n" + }, + { + "type": 0, + "value": " karaktera" + } + ], + "message.new-version-available": [ + { + "type": 0, + "value": "Nova verzija Umami " + }, + { + "type": 1, + "value": "version" + }, + { + "type": 0, + "value": " je dostupna!" + } + ], + "message.no-data-available": [ + { + "type": 0, + "value": "Nema dostupnih podataka." + } + ], + "message.no-event-data": [ + { + "type": 0, + "value": "Nema dostupnih podataka o događajima." + } + ], + "message.no-match-password": [ + { + "type": 0, + "value": "Šifre se ne poklapaju." + } + ], + "message.no-results-found": [ + { + "type": 0, + "value": "Nema rezultata." + } + ], + "message.no-team-websites": [ + { + "type": 0, + "value": "Ovaj tim nema nikakvih web stranica." + } + ], + "message.no-teams": [ + { + "type": 0, + "value": "Niste kreirali nijedan tim." + } + ], + "message.no-users": [ + { + "type": 0, + "value": "Nema nikakvih korisnika." + } + ], + "message.no-websites-configured": [ + { + "type": 0, + "value": "Nemate iskonfigurisanu nijednu web stranicu." + } + ], + "message.page-not-found": [ + { + "type": 0, + "value": "Stranica nije pronađena" + } + ], + "message.reset-website": [ + { + "type": 0, + "value": "Da resetujete ovu web stranicu, upišite " + }, + { + "type": 1, + "value": "confirmation" + }, + { + "type": 0, + "value": " dole da potvrdite." + } + ], + "message.reset-website-warning": [ + { + "type": 0, + "value": "Sve statistike o ovoj web stranici će biti obrisane, ali vaše postavke neće biti dirane." + } + ], + "message.saved": [ + { + "type": 0, + "value": "Sačuvano." + } + ], + "message.share-url": [ + { + "type": 0, + "value": "Statistike vaše web stranice su javno dostupne na sljedećem URLu:" + } + ], + "message.team-already-member": [ + { + "type": 0, + "value": "Već ste član tima." + } + ], + "message.team-not-found": [ + { + "type": 0, + "value": "Tim nije pronađen." + } + ], + "message.team-websites-info": [ + { + "type": 0, + "value": "Web stranice može vidjeti bilo ko iz tima." + } + ], + "message.tracking-code": [ + { + "type": 0, + "value": "Da pratite statistike ove web stranice, stavite sljedeći kod u " + }, + { + "children": [ + { + "type": 0, + "value": "..." + } + ], + "type": 8, + "value": "head" + }, + { + "type": 0, + "value": " sekciju vašeg HTMLa." + } + ], + "message.transfer-team-website-to-user": [ + { + "type": 0, + "value": "Prebacite ovu web stranicu na vaš račun?" + } + ], + "message.transfer-user-website-to-team": [ + { + "type": 0, + "value": "Odaberite tim u koji želite prebaciti ovu web stranicu." + } + ], + "message.transfer-website": [ + { + "type": 0, + "value": "Prebacite vlasništvo web stranice na vaš račun ili drugi tim." + } + ], + "message.triggered-event": [ + { + "type": 0, + "value": "Trigerovani događaj" + } + ], + "message.user-deleted": [ + { + "type": 0, + "value": "Korisnik obrisan." + } + ], + "message.viewed-page": [ + { + "type": 0, + "value": "Pogledana stranica" + } + ], + "message.visitor-log": [ + { + "type": 0, + "value": "Posjetitelj iz " + }, + { + "type": 1, + "value": "country" + }, + { + "type": 0, + "value": " koristi " + }, + { + "type": 1, + "value": "browser" + }, + { + "type": 0, + "value": " na " + }, + { + "type": 1, + "value": "os" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "device" + } + ], + "message.visitors-dropped-off": [ + { + "type": 0, + "value": "Posjetitelji koji su napustili stranicu" + } + ] +} diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index cd8d50ab..69b69e43 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Codi d'accés" } ], "label.actions": [ @@ -11,40 +11,40 @@ "value": "Accions" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "Registre d'activitat" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Afegir" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Afegir descripció" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Afegir membre" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Afegir pas" } ], "label.add-website": [ { "type": 0, - "value": "Afegeix lloc web" + "value": "Afegir lloc web" } ], "label.admin": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Després" } ], "label.all": [ @@ -74,19 +74,13 @@ "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "Analítiques" } ], "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Temps mitjà de visita" + "value": "Mitjana" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Abans" } ], "label.bounce-rate": [ @@ -110,13 +104,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Desglossament" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Navegador" } ], "label.browsers": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Ciutats" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Ciutat" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Netejar tot" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Comparar" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Confirmar" } ], "label.confirm-password": [ @@ -170,13 +170,19 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Conté" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "Continuar" + } + ], + "label.count": [ + { + "type": 0, + "value": "Recompte" } ], "label.countries": [ @@ -188,43 +194,49 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "País" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Crear" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Crear informe" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Crear equip" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Crear usuari" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "Creat" } ], "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Creat Per" + } + ], + "label.current": [ + { + "type": 0, + "value": "Actual" } ], "label.current-password": [ @@ -248,13 +260,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Dades" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Data" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Dia" } ], "label.default-date-range": [ @@ -284,19 +296,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Eliminar informe" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Eliminar equip" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Eliminar usuari" } ], "label.delete-website": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Descripció" } ], "label.desktop": [ @@ -320,13 +332,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Detalls" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Dispositiu" } ], "label.devices": [ @@ -344,7 +356,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "No conté" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Abandonament" } ], "label.edit": [ @@ -368,13 +380,13 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "Edita panell" } ], "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Edita membre" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "Activa l'enllaç per compartir" } ], + "label.end-step": [ + { + "type": 0, + "value": "Pas Final" + } + ], + "label.entry": [ + { + "type": 0, + "value": "URL d'entrada" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Esdeveniment" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Dades de l'esdeveniment" } ], "label.events": [ @@ -401,28 +425,34 @@ "value": "Esdeveniments" } ], + "label.exit": [ + { + "type": 0, + "value": "URL de sortida" + } + ], "label.false": [ { "type": 0, - "value": "False" + "value": "Fals" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Camp" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Camps" } ], "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Filtre" } ], "label.filter-combined": [ @@ -440,31 +470,67 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filtres" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "Vist per primer cop" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Embut" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Entengui la taxa de conversió i abandonament dels usuaris." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Meta" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Metes" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Feu un seguiment de les seves metes per a pàgines vistes i esdeveniments." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Més gran que" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Més gran que o igual a" + } + ], + "label.host": [ + { + "type": 0, + "value": "Amfitrió" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Amfitrions" } ], "label.insights": [ @@ -476,55 +542,67 @@ "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Aprofundeixi en les seves dades mitjançant l'ús de segments i filtres." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "És igual a" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "No és igual a" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "No està establert" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Està establert" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "Unir" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "Unir-se al equip" + } + ], + "label.journey": [ + { + "type": 0, + "value": "Trajecte" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Entengui com naveguen els usuaris pel seu lloc web." } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "Idioma" } ], "label.languages": [ { "type": 0, - "value": "Llengües" + "value": "Idiomes" } ], "label.laptop": [ @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Últims " }, { "type": 1, @@ -572,31 +650,37 @@ }, { "type": 0, - "value": " months" + "value": " mesos" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Vist per últim cop" } ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Abandonar" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Abandonar equip" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Menor que" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Menor que o igual a" } ], "label.login": [ @@ -614,31 +698,37 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Administrar" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Manager" } ], "label.max": [ { "type": 0, - "value": "Max" + "value": "Màx" } ], "label.member": [ { "type": 0, - "value": "Member" + "value": "Membre" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Membres" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "Mín" } ], "label.mobile": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "El meu compte" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Els meus llocs web" } ], "label.name": [ @@ -680,7 +770,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "Cap" } ], "label.number-of-records": [ @@ -699,7 +789,7 @@ "value": [ { "type": 0, - "value": "record" + "value": "registre" } ] }, @@ -707,7 +797,7 @@ "value": [ { "type": 0, - "value": "records" + "value": "registres" } ] } @@ -726,13 +816,13 @@ "label.os": [ { "type": 0, - "value": "OS" + "value": "SO" } ], "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Resum" } ], "label.owner": [ @@ -744,7 +834,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Pàgina " }, { "type": 1, @@ -752,7 +842,7 @@ }, { "type": 0, - "value": " of " + "value": " de " }, { "type": 1, @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Títol de la pàgina" } ], "label.pages": [ @@ -783,6 +873,18 @@ "value": "Contrasenya" } ], + "label.path": [ + { + "type": 0, + "value": "Camí" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Camins" + } + ], "label.powered-by": [ { "type": 0, @@ -793,28 +895,58 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Anterior" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Període anterior" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Any anterior" + } + ], "label.profile": [ { "type": 0, "value": "Perfil" } ], + "label.properties": [ + { + "type": 0, + "value": "Propietats" + } + ], + "label.property": [ + { + "type": 0, + "value": "Propietat" + } + ], "label.queries": [ { "type": 0, - "value": "Queries" + "value": "Consultes" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Consulta" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Paràmetres de consulta" } ], "label.realtime": [ @@ -826,7 +958,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Referent" } ], "label.referrers": [ @@ -844,13 +976,13 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "Regenerar" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "Regió" } ], "label.regions": [ @@ -862,19 +994,19 @@ "label.remove": [ { "type": 0, - "value": "Remove" + "value": "Treure" } ], "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Eliminar membre" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Informes" } ], "label.required": [ @@ -898,25 +1030,43 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Retenció" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Mesuri la retenció del seu lloc web fent un seguiment de la freqüència amb què tornen els usuaris." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Ingressos" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Observi els seus ingressos al llarg del temps." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Propietat d'Ingressos" } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "Rol" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Executar consulta" } ], "label.save": [ @@ -928,37 +1078,43 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "Pantalles" } ], "label.search": [ { "type": 0, - "value": "Search" + "value": "Buscar" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Seleccionar" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Seleccionar data" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Seleccionar rol" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Seleccionar lloc web" + } + ], + "label.session": [ + { + "type": 0, + "value": "Sessió" } ], "label.sessions": [ @@ -985,16 +1141,22 @@ "value": "Un sol dia" } ], + "label.start-step": [ + { + "type": 0, + "value": "Pas inicial" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Pasos" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Suma" } ], "label.tablet": [ @@ -1006,55 +1168,61 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "Equip" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "ID del equip" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Responsable d'equip" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "Membre de l'equip" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Nom de l'equip" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "Propietari de l'equip" } ], "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Vista només de l'equip" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Llocs web de l'equip" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "Equips" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "Tema" } ], "label.this-month": [ @@ -1084,7 +1252,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "Títol" } ], "label.today": [ @@ -1108,7 +1276,7 @@ "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Total de registres" } ], "label.tracking-code": [ @@ -1117,34 +1285,40 @@ "value": "Codi de seguiment" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transaccions" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Transferir" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Transferir lloc web" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "Cert" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Tipus" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Únic" } ], "label.unique-visitors": [ @@ -1153,6 +1327,12 @@ "value": "Visitants únics" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Clients Únics" + } + ], "label.unknown": [ { "type": 0, @@ -1162,13 +1342,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Sense títol" } ], "label.update": [ { "type": 0, - "value": "Update" + "value": "Actualitzar" } ], "label.url": [ @@ -1186,7 +1366,13 @@ "label.user": [ { "type": 0, - "value": "User" + "value": "Usuari" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "Propietat d'Usuari" } ], "label.username": [ @@ -1198,7 +1384,7 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "Usuaris" } ], "label.utm": [ @@ -1210,19 +1396,19 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Rastreji les seves campanyes a través de paràmetres UTM." } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Valor" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "Visualitzar" } ], "label.view-details": [ @@ -1234,7 +1420,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Només veure" } ], "label.views": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Vistes per visita" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Temps mitjà de visita" } ], "label.visitors": [ @@ -1258,19 +1450,19 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Visites" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Lloc web" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "ID del lloc web" } ], "label.websites": [ @@ -1282,7 +1474,7 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "Finestra" } ], "label.yesterday": [ @@ -1294,7 +1486,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Escrigui " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " al cuadre inferior per confirmar." } ], "message.active-users": [ @@ -1339,10 +1531,16 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Dades recol·lectades" + } + ], "message.confirm-delete": [ { "type": 0, - "value": "Segur que vols esborrar " + "value": "Segur que vol esborrar " }, { "type": 1, @@ -1356,7 +1554,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "Segur que vol abandonar " }, { "type": 1, @@ -1370,7 +1568,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Segur que vol eliminar " }, { "type": 1, @@ -1384,7 +1582,7 @@ "message.confirm-reset": [ { "type": 0, - "value": "Segur que vols restablir les estadístiques de " + "value": "Segur que vol restablir les estadístiques de " }, { "type": 1, @@ -1398,7 +1596,7 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Al eliminar un equip també s'eliminaran tots els llocs web de l'equip." } ], "message.delete-website-warning": [ @@ -1420,7 +1618,7 @@ }, { "type": 0, - "value": " on " + "value": " a " }, { "type": 1, @@ -1448,7 +1646,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "Longitud mínima de " }, { "type": 1, @@ -1456,13 +1654,13 @@ }, { "type": 0, - "value": " characters" + "value": " caràcters" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Una nova versió d'Umami " }, { "type": 1, @@ -1470,7 +1668,7 @@ }, { "type": 0, - "value": " is available!" + "value": " està disponible!" } ], "message.no-data-available": [ @@ -1482,7 +1680,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "No hi ha dades d'esdeveniments disponibles." } ], "message.no-match-password": [ @@ -1494,25 +1692,25 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "No s'han trobat resultats." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "Aquest equip no té cap lloc web." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "No ha creat cap equip." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "No hi ha cap usuari." } ], "message.no-websites-configured": [ @@ -1530,7 +1728,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Per restablir aquest lloc web, escrigui " }, { "type": 1, @@ -1538,7 +1736,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " al cuadre inferior per confirmar." } ], "message.reset-website-warning": [ @@ -1570,19 +1768,19 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "Ja és membre d'aquest equip." } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "Equip no trobat." } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Els llocs web poden ser visualitzats per qualsevol membre de l'equip." } ], "message.tracking-code": [ @@ -1594,37 +1792,37 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Transferir aquest lloc web al seu compte?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Seleccioni l'equip al qui transferir aquest lloc web." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Transferir la propietat del lloc web al seu compte o a un altre equip." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Esdeveniment desencadenat" } ], "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "Usuari eliminat." } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Pàgina vista" } ], "message.visitor-log": [ @@ -1664,7 +1862,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Visitants han sortit" } ] } diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index f87ddeda..aa08174e 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Přístupový kód" } ], "label.actions": [ @@ -11,34 +11,34 @@ "value": "Akce" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "Log aktivity" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Přidat" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Přidat popis" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Přidat člena" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Přidat krok" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Po" } ], "label.all": [ @@ -68,7 +68,7 @@ "label.all-time": [ { "type": 0, - "value": "All time" + "value": "Celá doba" } ], "label.analytics": [ @@ -80,13 +80,7 @@ "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Průměrný čas návštěvy" + "value": "Průměr" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Před" } ], "label.bounce-rate": [ @@ -116,13 +110,13 @@ "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Prohlížeč" } ], "label.browsers": [ { "type": 0, - "value": "Prohlížeč" + "value": "Prohlížeče" } ], "label.cancel": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Města" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Město" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Vyčistit vše" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Porovnat" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Potvrdit" } ], "label.confirm-password": [ @@ -170,55 +170,61 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Obsahuje" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "Pokračovat" + } + ], + "label.count": [ + { + "type": 0, + "value": "Počet" } ], "label.countries": [ { "type": 0, - "value": "Země" + "value": "Státy" } ], "label.country": [ { "type": 0, - "value": "Country" + "value": "Stát" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Vytvořit" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Vytvořit hlášení" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Vytvořit tým" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Vytvořit uživatele" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "Vytvořeno" } ], "label.created-by": [ @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Aktuální" + } + ], "label.current-password": [ { "type": 0, @@ -254,7 +266,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "Datum" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Den" } ], "label.default-date-range": [ @@ -284,19 +296,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Smazat hlášení" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Smazat tým" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Smazat uživatele" } ], "label.delete-website": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Popis" } ], "label.desktop": [ @@ -320,13 +332,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Detaily" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Zařízení" } ], "label.devices": [ @@ -344,7 +356,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Neobsahuje" } ], "label.domain": [ @@ -368,13 +380,13 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "Upravit dashboard" } ], "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Upravit člena" } ], "label.enable-share-url": [ @@ -383,10 +395,22 @@ "value": "Povolit sdílení URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Vstupní URL" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Událost" } ], "label.event-data": [ @@ -401,6 +425,12 @@ "value": "Události" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -410,7 +440,7 @@ "label.field": [ { "type": 0, - "value": "Field" + "value": "Pole" } ], "label.fields": [ @@ -422,7 +452,7 @@ "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Filtr" } ], "label.filter-combined": [ @@ -440,7 +470,13 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filtry" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" } ], "label.funnel": [ @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Cíl" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Cíle" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,16 +581,28 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, - "value": "Language" + "value": "Jazyk" } ], "label.languages": [ { "type": 0, - "value": "Languages" + "value": "Jazyky" } ], "label.laptop": [ @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Posledních " }, { "type": 1, @@ -572,19 +650,25 @@ }, { "type": 0, - "value": " months" + "value": " měsíců" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Opustit" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Opustit tým" } ], "label.less-than": [ @@ -614,7 +698,13 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Spravovat" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Správce" } ], "label.max": [ @@ -626,13 +716,13 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "Člen" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Členové" } ], "label.min": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Můj účet" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Mé weby" } ], "label.name": [ @@ -732,13 +822,13 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Přehled" } ], "label.owner": [ { "type": 0, - "value": "Owner" + "value": "Vlastník" } ], "label.page-of": [ @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Název stránky" } ], "label.pages": [ @@ -783,6 +873,18 @@ "value": "Heslo" } ], + "label.path": [ + { + "type": 0, + "value": "Cesta" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Cesty" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Jeden den" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Sledovací kód" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Jedinečné návštěvy" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,16 +1435,22 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Průměrný čas návštěvy" + } + ], "label.visitors": [ { "type": 0, - "value": "Návštěvy" + "value": "Návštěvníci" } ], "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Návštěvy" } ], "label.website": [ @@ -1282,13 +1474,13 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "Okno" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "Včera" } ], "message.action-confirmation": [ @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 332b98e8..87e5f8a9 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -11,7 +11,7 @@ "value": "Handlinger" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Gennemsnitlig besøgstid" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Aktivér delings-URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Hændelser" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Adgangskode" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Enkelt dag" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Sporingskode" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unikke besøgende" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Gennemsnitlig besøgstid" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json index 9b913cea..37f1b9de 100644 --- a/public/intl/messages/de-CH.json +++ b/public/intl/messages/de-CH.json @@ -11,7 +11,7 @@ "value": "Aktione" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Aktivitätsverlauf" @@ -20,25 +20,25 @@ "label.add": [ { "type": 0, - "value": "Add" + "value": "hinzuefüege" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Beschriibig hinzuefüege" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Mitglied hinzuefüege" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Schritt hinzuefüege" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Nach" } ], "label.all": [ @@ -68,7 +68,7 @@ "label.all-time": [ { "type": 0, - "value": "Gesamte Zitruum" + "value": "Gsamte Zitruum" } ], "label.analytics": [ @@ -80,13 +80,7 @@ "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Durchschn. Bsuechsziit" + "value": "Durchschnitt" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Vor" } ], "label.bounce-rate": [ @@ -110,7 +104,7 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Uufschlüsselig" } ], "label.browser": [ @@ -146,7 +140,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Stadt" } ], "label.clear-all": [ @@ -155,6 +149,12 @@ "value": "Alles lösche" } ], + "label.compare": [ + { + "type": 0, + "value": "Vergliiche" + } + ], "label.confirm": [ { "type": 0, @@ -170,7 +170,7 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Enthaltet" } ], "label.continue": [ @@ -179,6 +179,12 @@ "value": "Wiiter" } ], + "label.count": [ + { + "type": 0, + "value": "Azahl" + } + ], "label.countries": [ { "type": 0, @@ -188,19 +194,19 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Land" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Erstelle" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Bricht erstelle" } ], "label.create-team": [ @@ -227,10 +233,16 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Aktuell" + } + ], "label.current-password": [ { "type": 0, - "value": "Jetzigs Passwort" + "value": "Aktuells Passwort" } ], "label.custom-range": [ @@ -254,7 +266,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "Datum" } ], "label.date-range": [ @@ -266,13 +278,13 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Tag" } ], "label.default-date-range": [ { "type": 0, - "value": "Vorigstellte Datumsbereich" + "value": "Voriigstellte Datumsbereich" } ], "label.delete": [ @@ -284,7 +296,7 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Bricht lösche" } ], "label.delete-team": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Beschriibig" } ], "label.desktop": [ @@ -326,7 +338,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Grät" } ], "label.devices": [ @@ -338,13 +350,13 @@ "label.dismiss": [ { "type": 0, - "value": "Verwerfe" + "value": "Verwärfe" } ], "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Enthaltet nid" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Absprung" } ], "label.edit": [ @@ -374,7 +386,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Mitglied bearbeite" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "Freigab-URL aktiviere" } ], + "label.end-step": [ + { + "type": 0, + "value": "Schlussschritt" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Iigangs URL" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Ereigniss" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Ereigniss Date" } ], "label.events": [ @@ -401,22 +425,28 @@ "value": "Ereigniss" } ], + "label.exit": [ + { + "type": 0, + "value": "Uusgangs URL" + } + ], "label.false": [ { "type": 0, - "value": "False" + "value": "Falsch" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Fäld" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Fälder" } ], "label.filter": [ @@ -443,64 +473,100 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "Erstmal gse" + } + ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Tunnel" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Verstönd Sie d Konversions- und Abspruungsrate vo Nutzer." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Ziel" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Ziele" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "verfolged Sie Ihri Ziel für Siitenufrüef und Ereigniss." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Grösser als" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Grösser oder gliich" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Iiblick" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Vertüfed Sie sich i Ihri Date, mit Hilf vo Segment und Filter." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "Isch" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Isch nid" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Isch ned gsetzt" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Isch gsetzt" } ], "label.join": [ @@ -515,6 +581,18 @@ "value": "Team biträte" } ], + "label.journey": [ + { + "type": 0, + "value": "Reis" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Verstönd Sie, wie Nutzer dur Ihri Website navigiered." + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Letzti " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " Mönet" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Zletzt gse" } ], "label.leave": [ @@ -590,31 +674,37 @@ "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Kliiner als" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Kliiner oder gliich" } ], "label.login": [ { "type": 0, - "value": "Aamelde" + "value": "Aamälde" } ], "label.logout": [ { "type": 0, - "value": "Abmelde" + "value": "Abmälde" } ], "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Verwalte" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Manager" } ], "label.max": [ @@ -626,7 +716,7 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "Mitglied" } ], "label.members": [ @@ -644,7 +734,7 @@ "label.mobile": [ { "type": 0, - "value": "Handy" + "value": "Händy" } ], "label.more": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Min Account" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Mini Websiite" } ], "label.name": [ @@ -732,7 +822,7 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Übersicht" } ], "label.owner": [ @@ -744,7 +834,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Siite " }, { "type": 1, @@ -752,7 +842,7 @@ }, { "type": 0, - "value": " of " + "value": " vo " }, { "type": 1, @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Siitetitel" } ], "label.pages": [ @@ -783,22 +873,64 @@ "value": "Passwort" } ], + "label.path": [ + { + "type": 0, + "value": "Pfad" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Pfade" + } + ], "label.powered-by": [ { "type": 0, - "value": "Betribe dur " + "value": "Betriibe dur " }, { "type": 1, "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Vorherig" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Vorherigi Periode" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Vorherigs Jahr" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -808,7 +940,7 @@ "label.query": [ { "type": 0, - "value": "Query" + "value": "Abfrag" } ], "label.query-parameters": [ @@ -826,13 +958,13 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Verwiiser" } ], "label.referrers": [ { "type": 0, - "value": "Referrer" + "value": "Verwiisendi" } ], "label.refresh": [ @@ -868,13 +1000,13 @@ "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Mitglied entferne" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Brichte" } ], "label.required": [ @@ -904,7 +1036,25 @@ "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Mässed Sie d Verwiilduur vo Ihrere Website, indem Sie verfolged wie oft ihri Nutzer zruggkehred." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Umsatz" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Lueged Sie sich Ihre Umsatz im Lauf vor Ziit a." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Umsatzeigenschafte" } ], "label.role": [ @@ -916,7 +1066,7 @@ "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Abfrag starte" } ], "label.save": [ @@ -934,25 +1084,25 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "Sueche" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Auswähle" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Datä uuswähle" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Rollä uuswähle" } ], "label.select-website": [ @@ -961,10 +1111,16 @@ "value": "Websiite uuswähle" } ], + "label.session": [ + { + "type": 0, + "value": "Sitzig" + } + ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Sitzige" } ], "label.settings": [ @@ -985,16 +1141,22 @@ "value": "Ein Tag" } ], + "label.start-step": [ + { + "type": 0, + "value": "Startschritt" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Schritt" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Summe" } ], "label.tablet": [ @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team Manager" + } + ], "label.team-member": [ { "type": 0, @@ -1024,7 +1192,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Team Name" } ], "label.team-owner": [ @@ -1036,13 +1204,13 @@ "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Nur für Teammitglieder sichtbar" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Team Websiite" } ], "label.teams": [ @@ -1060,19 +1228,19 @@ "label.this-month": [ { "type": 0, - "value": "De Monet" + "value": "Dä Monet" } ], "label.this-week": [ { "type": 0, - "value": "Die Wuche" + "value": "Diä Wuuche" } ], "label.this-year": [ { "type": 0, - "value": "Das Jahr" + "value": "Das Johr" } ], "label.timezone": [ @@ -1096,7 +1264,7 @@ "label.toggle-charts": [ { "type": 0, - "value": "Schaubilder umschalte" + "value": "Charts umschalte" } ], "label.total": [ @@ -1108,7 +1276,7 @@ "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Gsamti Datesätz" } ], "label.tracking-code": [ @@ -1117,40 +1285,52 @@ "value": "Tracking Code" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transaktione" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Transferiere" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Websiite transferiere" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "Wahr" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Typ" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Einzigartigi" } ], "label.unique-visitors": [ { "type": 0, - "value": "Eidütigi Bsuecher" + "value": "Einzigartigi Bsuecher" + } + ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Einzigartigi Kunde" } ], "label.unknown": [ @@ -1162,7 +1342,7 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Unbennant" } ], "label.update": [ @@ -1189,6 +1369,12 @@ "value": "Benutzer" } ], + "label.user-property": [ + { + "type": 0, + "value": "Benutzereigeschafte" + } + ], "label.username": [ { "type": 0, @@ -1210,13 +1396,13 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Tracked Sie Ihri Kampagnen mit UTM Parameters." } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Wärt" } ], "label.view": [ @@ -1234,7 +1420,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Nume aluege" } ], "label.views": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Ufrüef pro Bsuech" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Durchschn. Bsuechsziit" } ], "label.visitors": [ @@ -1258,7 +1450,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Bsüech" } ], "label.website": [ @@ -1282,7 +1474,7 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "Fenster" } ], "label.yesterday": [ @@ -1294,7 +1486,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Typed Sie " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " is Feld underhalb um z bestätige." } ], "message.active-users": [ @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Gsammleti Date" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1370,7 +1568,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Sind Sie sich sicher, dass Sie " }, { "type": 1, @@ -1378,13 +1576,13 @@ }, { "type": 0, - "value": "?" + "value": " wänd entferne?" } ], "message.confirm-reset": [ { "type": 0, - "value": "Sind Sie sicher, dass Sie dStatistike vo " + "value": "Sind Sie sicher, dass Sie d Statistike vo " }, { "type": 1, @@ -1392,25 +1590,25 @@ }, { "type": 0, - "value": " zruggsetze wend?" + "value": " zruggsetze wänd?" } ], "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Es Team lösche dued ebefalls alli team Websiite lösche." } ], "message.delete-website-warning": [ { "type": 0, - "value": "Alli dezueghörige Date werdet ebefalls glöscht." + "value": "Alli dezueghörige Date werded ebefalls glöscht." } ], "message.error": [ { "type": 0, - "value": "Es isch en Fehler uftrete." + "value": "Es isch en Fehler ufträte." } ], "message.event-log": [ @@ -1436,7 +1634,7 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "Falschs Passwort oder Benutzername." + "value": "Falsches Passwort oder Benutzername." } ], "message.invalid-domain": [ @@ -1462,7 +1660,7 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Es isch en neue Version vo Umami " }, { "type": 1, @@ -1470,7 +1668,7 @@ }, { "type": 0, - "value": " is available!" + "value": " verfügbar!" } ], "message.no-data-available": [ @@ -1482,7 +1680,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Es sind kei Event Date verfügbar." } ], "message.no-match-password": [ @@ -1494,7 +1692,7 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Kei Ergäbnis gfunde." } ], "message.no-team-websites": [ @@ -1530,7 +1728,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Um die Websiite zruggzsetze, typed Sie " }, { "type": 1, @@ -1538,7 +1736,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " is Feld unde dran." } ], "message.reset-website-warning": [ @@ -1562,7 +1760,7 @@ "message.team-already-member": [ { "type": 0, - "value": "Sie sind bereits es Mitglied vo dem Team." + "value": "Sie sind bereits es Mitglied vo däm Team." } ], "message.team-not-found": [ @@ -1574,7 +1772,7 @@ "message.team-websites-info": [ { "type": 0, - "value": "Websiite chönd vo jedem im Team agluegt werde" + "value": "Websiite chöi vo jedem im Team agluegt werde" } ], "message.tracking-code": [ @@ -1586,37 +1784,37 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Websiite uf zu Ihrem Account transferiere?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Wähled Sie s Team zum däm Websiite transferiert werde söll." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Übertraged Sie d Websiite Eigetümerrecht uf Ihre Account oder uf es anders Team" } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Usglösts Ereigniss" } ], "message.user-deleted": [ { "type": 0, - "value": "Benutzer glöscht." + "value": "Bnutzer glöscht." } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Siite agluegt" } ], "message.visitor-log": [ @@ -1630,7 +1828,7 @@ }, { "type": 0, - "value": " benutzt " + "value": " nutzt " }, { "type": 1, @@ -1656,7 +1854,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Bsuercher verlore" } ] } diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 9a21c400..b5ec8793 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -11,7 +11,7 @@ "value": "Aktionen" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Aktivitätsverlauf" @@ -32,13 +32,13 @@ "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Mitglied hinzufügen" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Schritt hinzufügen" } ], "label.add-website": [ @@ -74,7 +74,7 @@ "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "Analysen" } ], "label.average": [ @@ -83,12 +83,6 @@ "value": "Durchschnitt" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Durchschn. Besuchszeit" - } - ], "label.back": [ { "type": 0, @@ -110,7 +104,7 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Aufschlüsselung" } ], "label.browser": [ @@ -155,6 +149,12 @@ "value": "Alles löschen" } ], + "label.compare": [ + { + "type": 0, + "value": "Vergleichen" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Weiter" } ], + "label.count": [ + { + "type": 0, + "value": "Anzahl" + } + ], "label.countries": [ { "type": 0, @@ -194,7 +200,7 @@ "label.create": [ { "type": 0, - "value": "Create" + "value": "Erstellen" } ], "label.create-report": [ @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Erstellt von" + } + ], + "label.current": [ + { + "type": 0, + "value": "Aktuell" } ], "label.current-password": [ @@ -284,7 +296,7 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Bericht löschen" } ], "label.delete-team": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Absprung" } ], "label.edit": [ @@ -374,7 +386,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Mitglied bearbeiten" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "Freigabe-URL aktivieren" } ], + "label.end-step": [ + { + "type": 0, + "value": "Schlussschritt" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Eingangs-URL" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Ereignis" } ], "label.event-data": [ { "type": 0, - "value": "Eventdaten" + "value": "Ereignisdaten" } ], "label.events": [ @@ -401,6 +425,12 @@ "value": "Ereignisse" } ], + "label.exit": [ + { + "type": 0, + "value": "Ausgangs-URL" + } + ], "label.false": [ { "type": 0, @@ -443,16 +473,40 @@ "value": "Filter" } ], + "label.first-seen": [ + { + "type": 0, + "value": "Erstmalig gesehen" + } + ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Trichter" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Verstehen Sie die Konversions- und Absprungrate Ihrer Nutzer." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Ziel" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Ziele" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Verfolgen Sie Ihre Ziele für Seitenaufrufe und Ereignisse." } ], "label.greater-than": [ @@ -467,16 +521,28 @@ "value": "Größer oder gleich" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Einblicke" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Vertiefen Sie sich mit Hilfe von Segmenten und Filtern in Ihre Daten." } ], "label.is": [ @@ -515,6 +581,18 @@ "value": "Team beitreten" } ], + "label.journey": [ + { + "type": 0, + "value": "Reise" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Verstehen Sie, wie Nutzer auf Ihrer Website navigieren." + } + ], "label.language": [ { "type": 0, @@ -536,7 +614,7 @@ "label.last-days": [ { "type": 0, - "value": "Letzte " + "value": "Letzten " }, { "type": 1, @@ -550,7 +628,7 @@ "label.last-hours": [ { "type": 0, - "value": "Letzte " + "value": "Letzten " }, { "type": 1, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Letzten " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " Monate" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Zuletzt gesehen" } ], "label.leave": [ @@ -614,7 +698,13 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Verwalten" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Verwaltung" } ], "label.max": [ @@ -626,7 +716,7 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "Mitglied" } ], "label.members": [ @@ -656,7 +746,7 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Mein Account" } ], "label.my-websites": [ @@ -783,6 +873,18 @@ "value": "Passwort" } ], + "label.path": [ + { + "type": 0, + "value": "Pfad" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Pfade" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Vorherig" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Vorherige Periode" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Vorheriges Jahr" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Eigenschaften" + } + ], + "label.property": [ + { + "type": 0, + "value": "Eigentum" + } + ], "label.queries": [ { "type": 0, @@ -826,13 +958,13 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Übermittler" } ], "label.referrers": [ { "type": 0, - "value": "Referrer" + "value": "Übermittler" } ], "label.refresh": [ @@ -868,7 +1000,7 @@ "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Mitglied entfernen" } ], "label.reports": [ @@ -898,13 +1030,31 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Erhalt" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Messen Sie die Verweildauer auf Ihrer Website, indem Sie verfolgen, wie oft die Nutzer zurückkehren." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Umsatz" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Haben Sie einen Blick auf Ihre Umsätze im Laufe der Zeit." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Umsatzeigenschaften" } ], "label.role": [ @@ -934,13 +1084,13 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "Suche" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Auswählen" } ], "label.select-date": [ @@ -952,7 +1102,7 @@ "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Rolle auswählen" } ], "label.select-website": [ @@ -961,6 +1111,12 @@ "value": "Website auswählen" } ], + "label.session": [ + { + "type": 0, + "value": "Sitzung" + } + ], "label.sessions": [ { "type": 0, @@ -985,10 +1141,16 @@ "value": "Ein Tag" } ], + "label.start-step": [ + { + "type": 0, + "value": "Startschritt" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Schritte" } ], "label.sum": [ @@ -1015,6 +1177,12 @@ "value": "Team-ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team-Manager" + } + ], "label.team-member": [ { "type": 0, @@ -1036,7 +1204,7 @@ "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Nur für Team-Mitglieder sichtbar" } ], "label.team-websites": [ @@ -1117,16 +1285,22 @@ "value": "Tracking Code" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transaktionen" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Übertragung" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Website übertragen" } ], "label.true": [ @@ -1144,13 +1318,19 @@ "label.unique": [ { "type": 0, - "value": "Eindeutig" + "value": "Einzigartig" } ], "label.unique-visitors": [ { "type": 0, - "value": "Eindeutige Besucher" + "value": "Einzigartige Besucher" + } + ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Einzigartige Kunden" } ], "label.unknown": [ @@ -1189,6 +1369,12 @@ "value": "Benutzer" } ], + "label.user-property": [ + { + "type": 0, + "value": "Benutzereigenschaften" + } + ], "label.username": [ { "type": 0, @@ -1210,7 +1396,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Tracken Sie Ihre Kampagnen mit UTM Parametern." } ], "label.value": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Aufrufe pro Besuch" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Durchschn. Besuchszeit" } ], "label.visitors": [ @@ -1258,7 +1450,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Besuche" } ], "label.website": [ @@ -1270,7 +1462,7 @@ "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "Website-ID" } ], "label.websites": [ @@ -1294,7 +1486,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Schreibe " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in die Box zur bestätigung." } ], "message.active-users": [ @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Gesammelte Daten" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1370,7 +1568,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Sind Sie sicher, " }, { "type": 1, @@ -1378,7 +1576,7 @@ }, { "type": 0, - "value": "?" + "value": " zu entfernen?" } ], "message.confirm-reset": [ @@ -1398,7 +1596,7 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Ein Team zu löschen, wird auch alle Team-Websites löschen." } ], "message.delete-website-warning": [ @@ -1582,25 +1780,25 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Diese Website zu Ihrem Account transferieren?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Wählen Sie ein Team aus, zu dem die Website transferiert werden soll." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Übertragen Sie die Eigentümerrechte zu Ihrem Account oder einem anderen Team." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Ereignis ausgelöst" } ], "message.user-deleted": [ @@ -1612,7 +1810,7 @@ "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Seite besucht" } ], "message.visitor-log": [ @@ -1652,7 +1850,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Besucherverlust" } ] } diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index 7c58f14c..29c3efba 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -11,7 +11,7 @@ "value": "Ενέργειες" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Μέσος χρόνος επίσκεψης" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Ενεργοποίηση κοινής χρήσης URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Γεγονότα" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Κωδικός" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Προφίλ" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Ημερήσια" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Κωδικός παρακολούθησης" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Μοναδικοί επισκέπτες" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Μέσος χρόνος επίσκεψης" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 43c9019e..c8c38be1 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -11,7 +11,7 @@ "value": "Actions" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Enable share URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Events" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Password" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profile" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Single day" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Tracking code" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unique visitors" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 1cb11f91..76a68dba 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -11,10 +11,10 @@ "value": "Actions" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "Activity" } ], "label.add": [ @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Enable share URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry path" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Events" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit path" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Password" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profile" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Single day" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Tracking code" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unique visitors" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json index 32b34940..540c9bbd 100644 --- a/public/intl/messages/es-ES.json +++ b/public/intl/messages/es-ES.json @@ -11,7 +11,7 @@ "value": "Acciones" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Registro de actividad" @@ -38,7 +38,7 @@ "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Añadir paso" } ], "label.add-website": [ @@ -83,12 +83,6 @@ "value": "Media" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tiempo promedio de visita" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Limpiar todo" } ], + "label.compare": [ + { + "type": 0, + "value": "Comparar" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continuar" } ], + "label.count": [ + { + "type": 0, + "value": "Contar" + } + ], "label.countries": [ { "type": 0, @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Creado por" + } + ], + "label.current": [ + { + "type": 0, + "value": "Actual" } ], "label.current-password": [ @@ -374,7 +386,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Editar miembro" } ], "label.enable-share-url": [ @@ -383,6 +395,18 @@ "value": "Habilitar compartir URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "Paso final" + } + ], + "label.entry": [ + { + "type": 0, + "value": "URL de entrada" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Eventos" } ], + "label.exit": [ + { + "type": 0, + "value": "URL de salida" + } + ], "label.false": [ { "type": 0, @@ -443,10 +473,16 @@ "value": "Filtros" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Embudo" } ], "label.funnel-description": [ @@ -455,6 +491,24 @@ "value": "Comprender conversión y abandono de usuarios." } ], + "label.goal": [ + { + "type": 0, + "value": "Objetivo" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Objetivos" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Realice un seguimiento de sus objetivos de páginas vistas y eventos." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Mayor que o igual a" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Unirse al equipo" } ], + "label.journey": [ + { + "type": 0, + "value": "Viaje" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Comprenda cómo los usuarios navegan por su sitio web." + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Últimos " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " meses" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ @@ -617,10 +701,16 @@ "value": "Administrar" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, - "value": "Máx" + "value": "Max" } ], "label.member": [ @@ -638,7 +728,7 @@ "label.min": [ { "type": 0, - "value": "Mín" + "value": "Min" } ], "label.mobile": [ @@ -783,6 +873,18 @@ "value": "Contraseña" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Anterior" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Periodo anterior" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Año anterior" + } + ], "label.profile": [ { "type": 0, "value": "Perfil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Propiedad" + } + ], "label.queries": [ { "type": 0, @@ -850,7 +982,7 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "Región" } ], "label.regions": [ @@ -907,6 +1039,24 @@ "value": "Medir la frecuencia con la que los usuarios vuelven a tu sitio web." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -940,7 +1090,7 @@ "label.select": [ { "type": 0, - "value": "Select" + "value": "Seleccionar" } ], "label.select-date": [ @@ -961,6 +1111,12 @@ "value": "Seleccionar sitio web" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,10 +1141,16 @@ "value": "Un solo día" } ], + "label.start-step": [ + { + "type": 0, + "value": "Paso inical" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Pasos" } ], "label.sum": [ @@ -1015,6 +1177,12 @@ "value": "ID del equipo" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Jefe de equipo" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Código de rastreo" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Visitantes únicos" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1168,7 +1348,7 @@ "label.update": [ { "type": 0, - "value": "Update" + "value": "Actualizar" } ], "label.url": [ @@ -1189,6 +1369,12 @@ "value": "Usuario" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1210,7 +1396,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Realice un seguimiento de sus campañas a través de parámetros UTM." } ], "label.value": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Vistas por visita" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tiempo promedio de visita" } ], "label.visitors": [ @@ -1258,7 +1450,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Visitas" } ], "label.website": [ @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Datos obtenidos" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1600,7 +1798,7 @@ "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Seleccione el equipo al que transferir este sitio web." } ], "message.transfer-website": [ diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json index c3ef099d..9dc4b4c9 100644 --- a/public/intl/messages/es-MX.json +++ b/public/intl/messages/es-MX.json @@ -11,7 +11,7 @@ "value": "Acciones" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Registro de actividad" @@ -71,7 +71,7 @@ "value": "Average" } ], - "label.average-visit-time": [ + "label.visit-duration": [ { "type": 0, "value": "Tiempo promedio de visita" diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 8c894c6a..34b9a363 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -11,7 +11,7 @@ "value": "اقدامات" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "میانگین زمان بازدید" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "فعال کردن اشتراک گذاری URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "رویدادها" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "رمز" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "پروفایل" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "یک روز" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "کد رهگیری" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "بازدیدکننده‌های یکتا" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "میانگین زمان بازدید" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index f855dba3..9a1f066f 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -11,7 +11,7 @@ "value": "Toiminnat" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Keskimääräinen vierailuaika" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Ota jakamisen URL-osoite käyttöön" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Tapahtumat" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Salasana" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profiili" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Yksi päivä" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Seurantakoodi" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Yksittäiset kävijät" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Keskimääräinen vierailuaika" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index be7442eb..f6bdf4ca 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -11,7 +11,7 @@ "value": "Gerðir" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Miðal vitjurnartíð " - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Virkja deili leinki" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Hendingar/tiltøk" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Loyniorð" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Vangi" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Einkultur dagur" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Spori kota" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Einsýna vitjanir" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Miðal vitjurnartíð " + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index e33b7bf2..ba620b60 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -11,7 +11,7 @@ "value": "Actions" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Journal d'activité" @@ -83,12 +83,6 @@ "value": "Moyenne" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Temps de visite moyen" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Réinitialiser" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continuer" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Crée par" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Activer l'URL de partage" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "URL d'entrée" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Évènements" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filtres" } ], + "label.first-seen": [ + { + "type": 0, + "value": "Vu pour la première fois" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Suivi des conversions et des taux d'abandons." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Suivez vos objectifs en matière de pages vues et d'événements." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Supérieur ou égal à" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Rejoindre une équipe" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Comprendre comment les utilisateurs naviguent sur votre site web." + } + ], "label.language": [ { "type": 0, @@ -563,6 +641,12 @@ "value": " derniers mois" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -605,6 +689,12 @@ "value": "Gérer" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -771,6 +861,18 @@ "value": "Mot de passe" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -781,12 +883,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Précédent" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Période précédente" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Année précédente" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Propriétés" + } + ], + "label.property": [ + { + "type": 0, + "value": "Propriété" + } + ], "label.queries": [ { "type": 0, @@ -895,6 +1027,24 @@ "value": "Mesure de l'attractivité du site en visualisant les taux de visiteurs qui reviennent." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Examinez vos revenus au fil du temps." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Propriétés des revenues" + } + ], "label.role": [ { "type": 0, @@ -928,7 +1078,7 @@ "label.select": [ { "type": 0, - "value": "Select" + "value": "Selectionner" } ], "label.select-date": [ @@ -949,6 +1099,12 @@ "value": "Choisir un site" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -973,6 +1129,12 @@ "value": "Journée" } ], + "label.start-step": [ + { + "type": 0, + "value": "Etape de démarrage" + } + ], "label.steps": [ { "type": 0, @@ -1003,6 +1165,12 @@ "value": "ID d'équipe" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Manager de l'équipe" + } + ], "label.team-member": [ { "type": 0, @@ -1024,7 +1192,7 @@ "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Vue d'équipe uniquement" } ], "label.team-websites": [ @@ -1105,6 +1273,12 @@ "value": "Code de suivi" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1141,6 +1315,12 @@ "value": "Visiteurs uniques" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Clients uniques" + } + ], "label.unknown": [ { "type": 0, @@ -1177,6 +1357,12 @@ "value": "Utilisateur" } ], + "label.user-property": [ + { + "type": 0, + "value": "Propriétés d'utilisateurs" + } + ], "label.username": [ { "type": 0, @@ -1237,6 +1423,12 @@ "value": "Vues par visite" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Temps de visite moyen" + } + ], "label.visitors": [ { "type": 0, @@ -1331,6 +1523,12 @@ "value": " actuellement" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index 4bc03ce0..6ce820e6 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -11,7 +11,7 @@ "value": "Accións" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo medio de visita" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Activar URL de compartición" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Eventos" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Contrasinal" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Perfil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -915,6 +1047,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -969,6 +1119,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -993,6 +1149,12 @@ "value": "Un só día" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1023,6 +1185,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1125,6 +1293,12 @@ "value": "Código de seguimento" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1161,6 +1335,12 @@ "value": "Visitas únicas" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1197,6 +1377,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1257,6 +1443,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo medio de visita" + } + ], "label.visitors": [ { "type": 0, @@ -1347,6 +1539,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index 92aef8a0..d3ada47c 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -11,7 +11,7 @@ "value": "פעולות" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "זמן ביקור ממוצע" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "הפעלת URL שיתוף" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "אירועים" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -567,6 +645,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -609,6 +693,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -775,6 +865,18 @@ "value": "סיסמה" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -785,12 +887,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "פרופיל" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -899,6 +1031,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -953,6 +1103,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -977,6 +1133,12 @@ "value": "יום בודד" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1007,6 +1169,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1109,6 +1277,12 @@ "value": "קוד מעקב" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1145,6 +1319,12 @@ "value": "מבקרים ייחודיים" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1181,6 +1361,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1241,6 +1427,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "זמן ביקור ממוצע" + } + ], "label.visitors": [ { "type": 0, @@ -1331,6 +1523,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index ec463181..fc133a93 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -11,7 +11,7 @@ "value": "कार्य" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "औसत दृश्य समय" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "शेयर URL सक्षम करें" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "स्पर्धाएँ" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "पासवर्ड" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 1, @@ -793,12 +895,42 @@ "value": " द्वारा संचालित" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "प्रोफ़ाइल" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "एक दिन" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "ट्रैकिंग कोड" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "अद्वितीय आगंतुकों" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "औसत दृश्य समय" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index 032456f8..4718f0c2 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -11,7 +11,7 @@ "value": "Actions" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Omogući dijeljenje poveznice" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Events" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Lozinka" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Jedan dan" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Kod za praćenje" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unique visitors" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index 08fd319a..6c51c3dc 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -11,7 +11,7 @@ "value": "Műveletek" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Átlagos látogatási idő" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "URL-megosztás engedélyezése" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Események" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Jelszó" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Egy nap" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Követési kód" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Egyedi látogatók" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Átlagos látogatási idő" + } + ], "label.visitors": [ { "type": 0, @@ -1343,6 +1535,12 @@ "value": " jelenleg" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index 8898f1ec..c6bb04a2 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -11,7 +11,7 @@ "value": "Aksi" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Waktu kunjungan rata-rata" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Aktifkan URL berbagi" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Perihal" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -567,6 +645,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -609,6 +693,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -775,6 +865,18 @@ "value": "Kata sandi" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -785,12 +887,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -899,6 +1031,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -953,6 +1103,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -977,6 +1133,12 @@ "value": "Sehari" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1007,6 +1169,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1109,6 +1277,12 @@ "value": "Kode lacak" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1145,6 +1319,12 @@ "value": "Pengunjung unik" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1181,6 +1361,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1241,6 +1427,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Waktu kunjungan rata-rata" + } + ], "label.visitors": [ { "type": 0, @@ -1307,6 +1499,12 @@ "value": " pengunjung saat ini" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index 471cf31f..38e61136 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -11,7 +11,7 @@ "value": "Azioni" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo medio di visita" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Abilita URL di condivisione" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Eventi" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Password" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profilo" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Singolo giorno" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Codice di tracking" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Visitatori unici" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo medio di visita" + } + ], "label.visitors": [ { "type": 0, @@ -1343,6 +1535,12 @@ "value": " online" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index ed869857..5a13b4b1 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -11,7 +11,7 @@ "value": "アクション" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "アクティビティログ" @@ -38,7 +38,7 @@ "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "ステップを追加" } ], "label.add-website": [ @@ -83,12 +83,6 @@ "value": "平均" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "平均滞在時間" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "すべてクリア" } ], + "label.compare": [ + { + "type": 0, + "value": "比較" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "続ける" } ], + "label.count": [ + { + "type": 0, + "value": "回数" + } + ], "label.countries": [ { "type": 0, @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "作成者" + } + ], + "label.current": [ + { + "type": 0, + "value": "現在" } ], "label.current-password": [ @@ -383,6 +395,18 @@ "value": "共有URLを有効にする" } ], + "label.end-step": [ + { + "type": 0, + "value": "最終ステップ" + } + ], + "label.entry": [ + { + "type": 0, + "value": "訪問時のURL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "イベント" } ], + "label.exit": [ + { + "type": 0, + "value": "退出時のURL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "フィルター" } ], + "label.first-seen": [ + { + "type": 0, + "value": "初回ログイン" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "ユーザーのコンバージョン率と離脱率を分析します。" } ], + "label.goal": [ + { + "type": 0, + "value": "目標" + } + ], + "label.goals": [ + { + "type": 0, + "value": "目標" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "ページビューとイベントの目標を追跡します。" + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "以上" } ], + "label.host": [ + { + "type": 0, + "value": "ホスト" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "ホスト" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "チームに参加" } ], + "label.journey": [ + { + "type": 0, + "value": "ジャーニー" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "ユーザーがWebサイト内をどのように移動するかを把握します。" + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "過去" }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": "月間" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "最終ログイン" } ], "label.leave": [ @@ -617,6 +701,12 @@ "value": "管理" } ], + "label.manager": [ + { + "type": 0, + "value": "管理者" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "パスワード" } ], + "label.path": [ + { + "type": 0, + "value": "パス" + } + ], + "label.paths": [ + { + "type": 0, + "value": "パス" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "以前" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "前期" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "前年" + } + ], "label.profile": [ { "type": 0, "value": "プロフィール" } ], + "label.properties": [ + { + "type": 0, + "value": "プロパティ" + } + ], + "label.property": [ + { + "type": 0, + "value": "プロパティ" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "ユーザーの再訪問回数を記録して、Webサイトのリテンション率を計測します。" } ], + "label.revenue": [ + { + "type": 0, + "value": "レベニュー" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "時間あたりの売上高を確認します。" + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "レベニュープロパティ" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Webサイトを選択" } ], + "label.session": [ + { + "type": 0, + "value": "セッション" + } + ], "label.sessions": [ { "type": 0, @@ -985,10 +1141,16 @@ "value": "一日" } ], + "label.start-step": [ + { + "type": 0, + "value": "最初のステップ" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "ステップ" } ], "label.sum": [ @@ -1015,6 +1177,12 @@ "value": "チームID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "チーム管理者" + } + ], "label.team-member": [ { "type": 0, @@ -1030,7 +1198,7 @@ "label.team-owner": [ { "type": 0, - "value": "チーム所有者" + "value": "チームオーナー" } ], "label.team-view-only": [ @@ -1117,6 +1285,12 @@ "value": "トラッキングコード" } ], + "label.transactions": [ + { + "type": 0, + "value": "トランザクション" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "ユニーク訪問者数" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "ユニーク顧客数" + } + ], "label.unknown": [ { "type": 0, @@ -1168,7 +1348,7 @@ "label.update": [ { "type": 0, - "value": "Update" + "value": "更新" } ], "label.url": [ @@ -1189,6 +1369,12 @@ "value": "ユーザー" } ], + "label.user-property": [ + { + "type": 0, + "value": "ユーザープロパティ" + } + ], "label.username": [ { "type": 0, @@ -1210,7 +1396,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "UTMパラメーターを使用してキャンペーンを追跡します。" } ], "label.value": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "訪問あたりの閲覧数" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "平均滞在時間" } ], "label.visitors": [ @@ -1258,7 +1450,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "訪問者数" } ], "label.website": [ @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "収集されたデータ" + } + ], "message.confirm-delete": [ { "type": 1, diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json index 63ad4841..ca8a40a9 100644 --- a/public/intl/messages/km-KH.json +++ b/public/intl/messages/km-KH.json @@ -11,34 +11,34 @@ "value": "សកម្មភាព" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "កំណត់ហេតុ​សកម្មភាព" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "បង្កើតបន្ថែម" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "បន្ថែមពិពណ៌នា" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "បន្ថែមសមាជិក" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "បន្ថែមជំហាន" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "បន្ទាប់" } ], "label.all": [ @@ -80,13 +80,7 @@ "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "មើលជាមធ្យម" + "value": "ជាមធ្យម" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "មុន" } ], "label.bounce-rate": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "ទីក្រុង" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "ទីក្រុង" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "លុបទាំងអស់" + } + ], + "label.compare": [ + { + "type": 0, + "value": "ប្រៀបធៀប" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "បញ្ជាក់" } ], "label.confirm-password": [ @@ -170,13 +170,19 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "មាន" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "បន្ត" + } + ], + "label.count": [ + { + "type": 0, + "value": "ចំនួន" } ], "label.countries": [ @@ -188,43 +194,49 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "ប្រទេស" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "បង្កើត" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "បង្កើតរបាយការណ៍" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "បង្កើតក្រុម" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "បង្កើតអ្នកប្រើប្រាស់" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "បង្កើតនៅ" } ], "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "បង្កើតដោយ" + } + ], + "label.current": [ + { + "type": 0, + "value": "បច្ចុប្បន្ន" } ], "label.current-password": [ @@ -248,13 +260,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "ទិន្នន័យ" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "កាលបរិច្ឆេទ" } ], "label.date-range": [ @@ -266,13 +278,13 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "ថ្ងៃ" } ], "label.default-date-range": [ { "type": 0, - "value": "ចន្លោះកាលបរិច្ឆេទស្រាប់" + "value": "ចន្លោះកាលបរិច្ឆេទដើម" } ], "label.delete": [ @@ -284,19 +296,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "លុបរបាយការណ៍" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "លុបក្រុម" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "លុបអ្នកប្រើប្រាស់" } ], "label.delete-website": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "ការពិពណ៌នា" } ], "label.desktop": [ @@ -320,13 +332,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "ព័ត៌មានលម្អិត" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "ឧបករណ៍" } ], "label.devices": [ @@ -338,19 +350,19 @@ "label.dismiss": [ { "type": 0, - "value": "បដិសេធ" + "value": "រំសាយ" } ], "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "មិនមាន" } ], "label.domain": [ { "type": 0, - "value": "ឈ្មោះគេហទំព័រ" + "value": "Domain" } ], "label.dropoff": [ @@ -374,7 +386,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "កែព័ត៌មានសមាជិក" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "បើកការចែករំលែក URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "បញ្ចប់ជំហាន" + } + ], + "label.entry": [ + { + "type": 0, + "value": "URL ចូល" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "ព្រឹត្តិការណ៍" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "ទិន្នន័យព្រឹត្តិការណ៍" } ], "label.events": [ @@ -401,10 +425,16 @@ "value": "ព្រឹត្តិការណ៍" } ], + "label.exit": [ + { + "type": 0, + "value": "URL ចេញ" + } + ], "label.false": [ { "type": 0, - "value": "False" + "value": "មិនពិត" } ], "label.field": [ @@ -422,7 +452,7 @@ "label.filter": [ { "type": 0, - "value": "Filter" + "value": "ចម្រោះ" } ], "label.filter-combined": [ @@ -440,7 +470,13 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "ចម្រោះ" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" } ], "label.funnel": [ @@ -455,16 +491,46 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "គោលដៅ" + } + ], + "label.goals": [ + { + "type": 0, + "value": "គោលដៅ" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "តាមដានគោលដៅរបស់អ្នកសម្រាប់ pageviews និង events។" + } + ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "ធំជាង" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "ធំជាងឬស្មើ" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" } ], "label.insights": [ @@ -482,37 +548,49 @@ "label.is": [ { "type": 0, - "value": "Is" + "value": "គឺ" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "មិនមែន" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "មិនបានកំណត់" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "បានកំណត់" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "ចូលរួម" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "ចូលក្រុម" + } + ], + "label.journey": [ + { + "type": 0, + "value": "​ដំណើរ" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "ស្វែងយល់ពីការប្រើប្រាស់គេហទំព័ររបស់អតិថិជនអ្នក។" } ], "label.language": [ @@ -540,7 +618,7 @@ }, { "type": 0, - "value": " ថ្ងៃមុន" + "value": " ថ្ងៃចុងក្រោយ" } ], "label.last-hours": [ @@ -550,45 +628,47 @@ }, { "type": 0, - "value": " ម៉ោងមុន" + "value": " ម៉ោងចុងក្រោយ" } ], "label.last-months": [ - { - "type": 0, - "value": "Last " - }, { "type": 1, "value": "x" }, { "type": 0, - "value": " months" + "value": " ខែចុងក្រោយ" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "ចាកចេញ" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "ចេញពីក្រុម" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "តិច​ជាង" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "តិចជាង ឬស្មើ" } ], "label.login": [ @@ -600,13 +680,19 @@ "label.logout": [ { "type": 0, - "value": "ចេញ" + "value": "Logout" } ], "label.manage": [ { "type": 0, - "value": "Manage" + "value": "គ្រប់គ្រង" + } + ], + "label.manager": [ + { + "type": 0, + "value": "អ្នកគ្រប់គ្រង" } ], "label.max": [ @@ -618,13 +704,13 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "សមាជិក" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "សមាជិក" } ], "label.min": [ @@ -648,13 +734,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "គណនី​របស់ខ្ញុំ" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "គេហទំព័ររបស់ខ្ញុំ" } ], "label.name": [ @@ -724,7 +810,7 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "ទិដ្ឋភាពរួម" } ], "label.owner": [ @@ -736,7 +822,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "ទំព័រទី " }, { "type": 1, @@ -744,7 +830,7 @@ }, { "type": 0, - "value": " of " + "value": " នៃ " }, { "type": 1, @@ -760,7 +846,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "ចំណងជើងទំព័រ" } ], "label.pages": [ @@ -775,6 +861,18 @@ "value": "ពាក្យសម្ងាត់​" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -785,10 +883,40 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "មុន" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "មួយរយៈពេលមុន" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "ឆ្នាំ​មុន" + } + ], "label.profile": [ { "type": 0, - "value": "ប្រវត្តិរូប" + "value": "គណនី" + } + ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" } ], "label.queries": [ @@ -818,7 +946,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "អ្នកណែនាំ" } ], "label.referrers": [ @@ -842,31 +970,31 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "តំបន់" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "តំបន់" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "លុប" } ], "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "លុបសមាជិកក្រុម" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "របាយការណ៍" } ], "label.required": [ @@ -878,7 +1006,7 @@ "label.reset": [ { "type": 0, - "value": "កំណត់ឡើងវិញ" + "value": "កែសម្រួល" } ], "label.reset-website": [ @@ -890,7 +1018,7 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "ការរក្សាទុក" } ], "label.retention-description": [ @@ -899,10 +1027,28 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, - "value": "Role" + "value": "មុខងារ" } ], "label.run-query": [ @@ -926,31 +1072,37 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "ស្វែងរក" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "ជ្រើសរើស" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "ជ្រើសរើសកាលបរិច្ឆេទ" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "ជ្រើសរើសមុខងារ" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "ជ្រើសរើសគេហទំព័រ" + } + ], + "label.session": [ + { + "type": 0, + "value": "Session" } ], "label.sessions": [ @@ -977,10 +1129,16 @@ "value": "ថ្ងៃតែមួយ" } ], + "label.start-step": [ + { + "type": 0, + "value": "ជំហានចាប់ផ្តើម" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "ជំហាន" } ], "label.sum": [ @@ -998,31 +1156,37 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "ក្រុម" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "ID ក្រុម" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "អ្នកគ្រប់គ្រងក្រុម" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "សមាជិកក្រុម" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "ឈ្មោះក្រុម" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "ម្ចាស់ក្រុម" } ], "label.team-view-only": [ @@ -1034,13 +1198,13 @@ "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "គេហទំព័ររបស់ក្រុម" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "ក្រុម" } ], "label.theme": [ @@ -1076,7 +1240,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "ចំណងជើង" } ], "label.today": [ @@ -1094,13 +1258,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "សរុប" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "កំណត់ត្រាសរុប" } ], "label.tracking-code": [ @@ -1109,22 +1273,28 @@ "value": "លេខកូដតាមដាន" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "ការផ្ទេរ" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "ការផ្ទេរគេហទំព័រ" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "ពិត" } ], "label.type": [ @@ -1145,6 +1315,12 @@ "value": "អ្នកចូលមើលម្នាក់ៗ" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1154,7 +1330,7 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "គ្មានចំណងជើង" } ], "label.update": [ @@ -1178,7 +1354,13 @@ "label.user": [ { "type": 0, - "value": "User" + "value": "អ្នកប្រើប្រាស់" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" } ], "label.username": [ @@ -1190,7 +1372,7 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "អ្នកប្រើប្រាស់" } ], "label.utm": [ @@ -1202,7 +1384,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "តាមដានយុទ្ធនាការរបស់អ្នកតាមរយៈប៉ារ៉ាម៉ែត្រ UTM។" } ], "label.value": [ @@ -1226,7 +1408,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "បានតែមើលប៉ុណ្ណោះ" } ], "label.views": [ @@ -1241,6 +1423,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "រយៈពេលទស្សនា" + } + ], "label.visitors": [ { "type": 0, @@ -1250,19 +1438,19 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "ទស្សនា" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "គេហទំព័រ" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "ID គេហទំព័រ" } ], "label.websites": [ @@ -1286,7 +1474,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "សសេរ " }, { "type": 1, @@ -1294,7 +1482,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " នៅក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។" } ], "message.active-users": [ @@ -1311,6 +1499,12 @@ "value": " នាក់ ឥលូវនេះ" } ], + "message.collected-data": [ + { + "type": 0, + "value": "ទិន្នន័យដែលបានប្រមូលទុក" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1328,7 +1522,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "តើអ្នកប្រាកដថាចង់ចាកចេញ " }, { "type": 1, @@ -1336,13 +1530,13 @@ }, { "type": 0, - "value": "?" + "value": " ទេ?" } ], "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "តើអ្នកប្រាកដថាចង់លុប " }, { "type": 1, @@ -1350,7 +1544,7 @@ }, { "type": 0, - "value": "?" + "value": " ទេ?" } ], "message.confirm-reset": [ @@ -1370,13 +1564,13 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "ពេលលុបក្រុម គេហទំព័ររបស់ក្រុមក៏នឹងត្រូវលប់ចោលទាំងអស់ផងដែរ។" } ], "message.delete-website-warning": [ { "type": 0, - "value": "ទិន្នន័យដែលពាក់ព័ន្ធទាំងអស់នឹងត្រូវបានលុបផងដែរ។" + "value": "ទិន្នន័យរបស់គេហទំព័រទាំងអស់នឹងត្រូវលុបចោល។" } ], "message.error": [ @@ -1408,19 +1602,19 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "ឈ្មោះអ្នកប្រើ/ពាក្យសម្ងាត់មិនត្រឹមត្រូវ។" + "value": "ឈ្មោះអ្នកប្រើឬពាក្យសម្ងាត់មិនត្រឹមត្រូវ។" } ], "message.invalid-domain": [ { "type": 0, - "value": "ឈ្មោះគេហទំព័រមិន​ត្រឹមត្រូវ" + "value": "Domain មិន​ត្រឹមត្រូវ" } ], "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "តិចបំផុតដែលមានអក្សរ " }, { "type": 1, @@ -1428,13 +1622,13 @@ }, { "type": 0, - "value": " characters" + "value": " តួអក្សរ" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Version ថ្មីនៃ Umami " }, { "type": 1, @@ -1442,49 +1636,49 @@ }, { "type": 0, - "value": " is available!" + "value": " អាចប្រើប្រាស់បានហើយ!" } ], "message.no-data-available": [ { "type": 0, - "value": "មិនមានទិន្នន័យទេ។" + "value": "មិនមានទិន្នន័យ។" } ], "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "មិនមានទិន្នន័យព្រឹត្តិការណ៍ទេ។" } ], "message.no-match-password": [ { "type": 0, - "value": "ពាក្យសម្ងាត់មិនត្រូវគ្នាទេ" + "value": "ពាក្យសម្ងាត់មិនត្រូវគ្នាទេ។" } ], "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "មិនមានលទ្ធផល។" } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "ក្រុមនេះមិនមានគេហទំព័រទេ។" } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "អ្នកមិនទាន់បានបង្កើតក្រុមណាមួយទេ។" } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "មិនមានអ្នកប្រើប្រាស់ទេ។" } ], "message.no-websites-configured": [ @@ -1502,7 +1696,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "ដើម្បីកែគេហទំព័រនេះឡើងវិញ សូមសរសេរ " }, { "type": 1, @@ -1510,7 +1704,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " នៅក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។" } ], "message.reset-website-warning": [ @@ -1528,7 +1722,7 @@ "message.share-url": [ { "type": 0, - "value": "នេះគឺជា URL ដែលបានចែករំលែកជាសាធារណៈសម្រាប់ " + "value": "នេះគឺជា URL ដែលអាចចែករំលែកជាសាធារណៈបានសម្រាប់ " }, { "type": 1, @@ -1542,43 +1736,57 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "អ្នកគឺជាសមាជិកនៃក្រុមរួចហើយ។" } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "រកក្រុមមិនឃើញទេ។" } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "គេហទំព័រនេះអាចមើលបានតែសមាជិកក្រុមតែប៉ុណ្ណោះ" } ], "message.tracking-code": [ { "type": 0, - "value": "លេខកូដតាមដាន" + "value": "ដើម្បីតាមដានស្ថិតិសម្រាប់គេហទំព័រអ្នក សូមដាក់កូដខាងក្រោមទៅក្នុងផ្នែក " + }, + { + "children": [ + { + "type": 0, + "value": "..." + } + ], + "type": 8, + "value": "head" + }, + { + "type": 0, + "value": " នៃ HTML របស់អ្នក។" } ], "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "ផ្ទេរគេហទំព័រនេះទៅគណនីរបស់អ្នក។?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "ជ្រើសក្រុមដែរត្រូវផ្ទេរគេហទំព័រនេះទៅ។" } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "ផ្ទេរកម្មសិទ្ធិគេហទំព័រទៅគណនីរបស់អ្នក ឬក្រុមផ្សេងទៀត។" } ], "message.triggered-event": [ @@ -1590,13 +1798,13 @@ "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "អ្នកប្រើប្រាស់ត្រូវបានលុបចោល។" } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "ទំព័រដែលបានមើល" } ], "message.visitor-log": [ @@ -1636,7 +1844,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "ចំនួនអ្នកទស្សនាធ្លាក់ចុះ" } ] } diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index e9fc0c0d..6fa360c1 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -2,43 +2,43 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "액세스 코드" } ], "label.actions": [ { "type": 0, - "value": "액션" + "value": "동작" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "활동" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "추가" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "설명 추가" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "멤버 추가" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "단계 추가" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "이후" } ], "label.all": [ @@ -68,25 +68,19 @@ "label.all-time": [ { "type": 0, - "value": "All time" + "value": "전체 시간" } ], "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "분석" } ], "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "평균 방문 시간" + "value": "평균" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "이전" } ], "label.bounce-rate": [ @@ -110,13 +104,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "세부 사항" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "브라우저" } ], "label.browsers": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "도시" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "도시" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "모두 지우기" + } + ], + "label.compare": [ + { + "type": 0, + "value": "비교" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "확인" } ], "label.confirm-password": [ @@ -170,13 +170,19 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "포함" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "계속" + } + ], + "label.count": [ + { + "type": 0, + "value": "수" } ], "label.countries": [ @@ -188,43 +194,49 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "국가" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "만들기" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "보고서 만들기" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "팀 만들기" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "사용자 만들기" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "생성됨" } ], "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "작성자" + } + ], + "label.current": [ + { + "type": 0, + "value": "현재" } ], "label.current-password": [ @@ -248,13 +260,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "데이터" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "날짜" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "일" } ], "label.default-date-range": [ @@ -284,19 +296,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "보고서 삭제" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "팀 삭제" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "사용자 삭제" } ], "label.delete-website": [ @@ -308,25 +320,25 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "설명" } ], "label.desktop": [ { "type": 0, - "value": "데스크탑" + "value": "데스크톱" } ], "label.details": [ { "type": 0, - "value": "Details" + "value": "세부 정보" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "기기" } ], "label.devices": [ @@ -344,7 +356,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "포함하지 않음" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "이탈" } ], "label.edit": [ @@ -368,13 +380,13 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "대시보드 편집" } ], "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "멤버 편집" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "URL 공유 활성화" } ], + "label.end-step": [ + { + "type": 0, + "value": "마지막 단계" + } + ], + "label.entry": [ + { + "type": 0, + "value": "입장 URL" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "이벤트" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "이벤트 데이터" } ], "label.events": [ @@ -401,34 +425,40 @@ "value": "이벤트" } ], + "label.exit": [ + { + "type": 0, + "value": "퇴장 URL" + } + ], "label.false": [ { "type": 0, - "value": "False" + "value": "거짓" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "필드" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "필드" } ], "label.filter": [ { "type": 0, - "value": "Filter" + "value": "필터" } ], "label.filter-combined": [ { "type": 0, - "value": "합쳐서 보기" + "value": "합쳐 보기" } ], "label.filter-raw": [ @@ -440,91 +470,139 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "필터" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "첫 접속" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "퍼널" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "사용자 전환율 및 이탈률을 살펴보세요." + } + ], + "label.goal": [ + { + "type": 0, + "value": "목표" + } + ], + "label.goals": [ + { + "type": 0, + "value": "목표" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "페이지 조회 및 이벤트 목표를 추적합니다." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "이상" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "이상" + } + ], + "label.host": [ + { + "type": 0, + "value": "호스트" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "호스트" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "인사이트" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "세그먼트 및 필터를 사용하여 데이터를 더 자세히 살펴보세요." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "해당" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "해당하지 않음" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "설정되지 않음" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "설정됨" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "가입하기" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "팀 가입하기" + } + ], + "label.journey": [ + { + "type": 0, + "value": "여정" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "사용자가 웹사이트를 탐색하는 경로를 살펴보세요." } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "언어" } ], "label.languages": [ { "type": 0, - "value": "Languages" + "value": "언어" } ], "label.laptop": [ @@ -536,7 +614,7 @@ "label.last-days": [ { "type": 0, - "value": "최근 " + "value": "지난 " }, { "type": 1, @@ -544,13 +622,13 @@ }, { "type": 0, - "value": " 일간" + "value": "일" } ], "label.last-hours": [ { "type": 0, - "value": "최근 " + "value": "지난 " }, { "type": 1, @@ -558,13 +636,13 @@ }, { "type": 0, - "value": " 시간" + "value": "시간" } ], "label.last-months": [ { "type": 0, - "value": "Last " + "value": "지난 " }, { "type": 1, @@ -572,31 +650,37 @@ }, { "type": 0, - "value": " months" + "value": "개월" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "마지막 접속" } ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "떠나기" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "팀 떠나기" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "미만" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "이하" } ], "label.login": [ @@ -614,31 +698,37 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "관리" + } + ], + "label.manager": [ + { + "type": 0, + "value": "관리자" } ], "label.max": [ { "type": 0, - "value": "Max" + "value": "최대" } ], "label.member": [ { "type": 0, - "value": "Member" + "value": "멤버" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "멤버" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "최소" } ], "label.mobile": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "내 계정" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "내 웹사이트" } ], "label.name": [ @@ -680,7 +770,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "없음" } ], "label.number-of-records": [ @@ -690,61 +780,37 @@ }, { "type": 0, - "value": " " - }, - { - "offset": 0, - "options": { - "one": { - "value": [ - { - "type": 0, - "value": "record" - } - ] - }, - "other": { - "value": [ - { - "type": 0, - "value": "records" - } - ] - } - }, - "pluralType": "cardinal", - "type": 6, - "value": "x" + "value": "개 레코드" } ], "label.ok": [ { "type": 0, - "value": "OK" + "value": "확인" } ], "label.os": [ { "type": 0, - "value": "OS" + "value": "운영 체제" } ], "label.overview": [ { "type": 0, - "value": "Overview" + "value": "개요" } ], "label.owner": [ { "type": 0, - "value": "Owner" + "value": "소유자" } ], "label.page-of": [ { "type": 0, - "value": "Page " + "value": "페이지 " }, { "type": 1, @@ -752,7 +818,7 @@ }, { "type": 0, - "value": " of " + "value": "/" }, { "type": 1, @@ -762,13 +828,13 @@ "label.page-views": [ { "type": 0, - "value": "페이지 뷰(PV)" + "value": "페이지 조회" } ], "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "페이지 제목" } ], "label.pages": [ @@ -783,18 +849,44 @@ "value": "비밀번호" } ], + "label.path": [ + { + "type": 0, + "value": "패스" + } + ], + "label.paths": [ + { + "type": 0, + "value": "패스" + } + ], "label.powered-by": [ { "type": 0, - "value": "이 시스템은 " + "value": "Powered by " }, { "type": 1, "value": "name" - }, + } + ], + "label.previous": [ { "type": 0, - "value": "에서 구동되고 있습니다." + "value": "이전" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "이전 기간" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "이전 연도" } ], "label.profile": [ @@ -803,22 +895,34 @@ "value": "프로필" } ], + "label.properties": [ + { + "type": 0, + "value": "속성" + } + ], + "label.property": [ + { + "type": 0, + "value": "속성" + } + ], "label.queries": [ { "type": 0, - "value": "Queries" + "value": "쿼리" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "쿼리" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "쿼리 매개 변수" } ], "label.realtime": [ @@ -830,7 +934,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "리퍼러" } ], "label.referrers": [ @@ -842,43 +946,43 @@ "label.refresh": [ { "type": 0, - "value": "새로고침" + "value": "새로 고침" } ], "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "다시 생성" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "지역" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "지역" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "제거" } ], "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "멤버 제거" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "보고서" } ], "label.required": [ @@ -890,37 +994,55 @@ "label.reset": [ { "type": 0, - "value": "리셋" + "value": "초기화" } ], "label.reset-website": [ { "type": 0, - "value": "Reset statistics" + "value": "웹사이트 초기화" } ], "label.retention": [ { "type": 0, - "value": "Retention" + "value": "리텐션" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "사용자가 얼마나 자주 돌아오는지를 추적하여 웹사이트의 리텐션을 측정하세요." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "수익" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "시간대별 수익을 살펴보세요." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "수익 속성" } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "역할" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "쿼리 실행" } ], "label.save": [ @@ -932,43 +1054,49 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "화면" } ], "label.search": [ { "type": 0, - "value": "Search" + "value": "검색" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "선택" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "날짜 선택" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "역할 선택" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "웹사이트 선택" + } + ], + "label.session": [ + { + "type": 0, + "value": "세션" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "세션" } ], "label.settings": [ @@ -989,16 +1117,22 @@ "value": "하루" } ], + "label.start-step": [ + { + "type": 0, + "value": "시작 단계" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "단계" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "합계" } ], "label.tablet": [ @@ -1010,55 +1144,61 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "팀" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "팀 ID" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "팀 관리자" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "팀 멤버" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "팀 이름" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "팀 소유자" } ], "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "팀 보기 전용" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "팀 웹사이트" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "팀" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "테마" } ], "label.this-month": [ @@ -1088,7 +1228,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "제목" } ], "label.today": [ @@ -1100,19 +1240,19 @@ "label.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "차트 전환" } ], "label.total": [ { "type": 0, - "value": "Total" + "value": "합계" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "전체 레코드" } ], "label.tracking-code": [ @@ -1121,40 +1261,52 @@ "value": "추적 코드" } ], + "label.transactions": [ + { + "type": 0, + "value": "거래" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "전송" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "웹사이트 전송" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "참" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "유형" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "고유" } ], "label.unique-visitors": [ { "type": 0, - "value": "순방문자(UV)" + "value": "고유 방문자" + } + ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "고유 고객" } ], "label.unknown": [ @@ -1166,13 +1318,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "제목 없음" } ], "label.update": [ { "type": 0, - "value": "Update" + "value": "업데이트" } ], "label.url": [ @@ -1184,25 +1336,31 @@ "label.urls": [ { "type": 0, - "value": "URLs" + "value": "URL" } ], "label.user": [ { "type": 0, - "value": "User" + "value": "사용자" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "사용자 속성" } ], "label.username": [ { "type": 0, - "value": "사용자명" + "value": "사용자 이름" } ], "label.users": [ { "type": 0, - "value": "Users" + "value": "사용자" } ], "label.utm": [ @@ -1214,67 +1372,73 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "UTM 매개변수를 통해 캠페인을 추적하세요." } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "값" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "보기" } ], "label.view-details": [ { "type": 0, - "value": "상세보기" + "value": "자세히 보기" } ], "label.view-only": [ { "type": 0, - "value": "View only" + "value": "보기 전용" } ], "label.views": [ { "type": 0, - "value": "조회수" + "value": "조회" } ], "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "방문당 조회" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "방문 시간" } ], "label.visitors": [ { "type": 0, - "value": "방문객" + "value": "방문자" } ], "label.visits": [ { "type": 0, - "value": "Visits" + "value": "방문" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "웹사이트" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "웹사이트 ID" } ], "label.websites": [ @@ -1286,19 +1450,19 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "창" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "어제" } ], "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "확인을 위해 아래 상자에 " }, { "type": 1, @@ -1306,17 +1470,27 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": "을(를) 입력하세요." } ], "message.active-users": [ + { + "type": 0, + "value": "현재 방문자 " + }, { "type": 1, "value": "x" }, { "type": 0, - "value": "명의 사용자가 보는 중입니다." + "value": "명" + } + ], + "message.collected-data": [ + { + "type": 0, + "value": "수집된 데이터" } ], "message.confirm-delete": [ @@ -1330,63 +1504,51 @@ } ], "message.confirm-leave": [ - { - "type": 0, - "value": "Are you sure you want to leave " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "?" + "value": "을(를) 떠나시겠습니까?" } ], "message.confirm-remove": [ - { - "type": 0, - "value": "Are you sure you want to remove " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "?" + "value": "을(를) 제거하시겠습니까?" } ], "message.confirm-reset": [ - { - "type": 0, - "value": "Are your sure you want to reset " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "'s statistics?" + "value": "을(를) 초기화하시겠습니까?" } ], "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "팀을 삭제하면 팀에 등록된 모든 웹사이트도 삭제됩니다." } ], "message.delete-website-warning": [ { "type": 0, - "value": "관련된 모든 데이터도 삭제됩니다." + "value": "관련된 모든 데이터가 삭제됩니다." } ], "message.error": [ { "type": 0, - "value": "오류가 발생하였습니다." + "value": "문제가 발생했습니다." } ], "message.event-log": [ @@ -1396,7 +1558,7 @@ }, { "type": 0, - "value": " on " + "value": " - " }, { "type": 1, @@ -1412,19 +1574,19 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "사용자 이름/비밀번호가 잘못되었습니다.." + "value": "사용자 이름 또는 비밀번호를 잘못 입력했습니다." } ], "message.invalid-domain": [ { "type": 0, - "value": "잘못된 도메인" + "value": "잘못된 도메인입니다. http/https를 포함하지 마세요." } ], "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "최소 " }, { "type": 1, @@ -1432,13 +1594,13 @@ }, { "type": 0, - "value": " characters" + "value": "자여야 합니다" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Umami의 새 버전 " }, { "type": 1, @@ -1446,67 +1608,67 @@ }, { "type": 0, - "value": " is available!" + "value": "을(를) 사용할 수 있습니다!" } ], "message.no-data-available": [ { "type": 0, - "value": "사용 가능한 데이터가 없습니다." + "value": "사용할 수 있는 데이터가 없습니다." } ], "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "사용할 수 있는 이벤트 데이터가 없습니다." } ], "message.no-match-password": [ { "type": 0, - "value": "비밀번호가 일치하지 않음" + "value": "비밀번호가 일치하지 않습니다." } ], "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "결과를 찾을 수 없습니다." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "팀에 웹사이트가 없습니다." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "만든 팀이 없습니다." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "사용자가 없습니다." } ], "message.no-websites-configured": [ { "type": 0, - "value": "구성된 웹 사이트가 없습니다." + "value": "설정된 웹사이트가 없습니다." } ], "message.page-not-found": [ { "type": 0, - "value": "페이지를 찾을 수 없습니다." + "value": "페이지를 찾을 수 없음" } ], "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "이 웹사이트를 초기화하려면 아래 상자에 " }, { "type": 1, @@ -1514,93 +1676,99 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": "을(를) 입력하세요." } ], "message.reset-website-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "이 웹사이트의 모든 통계가 삭제되지만 설정은 그대로 유지됩니다." } ], "message.saved": [ { "type": 0, - "value": "성공적으로 저장되었습니다." + "value": "저장했습니다." } ], "message.share-url": [ { "type": 0, - "value": "이것은 " - }, - { - "type": 1, - "value": "target" - }, - { - "type": 0, - "value": "의 공개적으로 공유된 URL입니다." + "value": "아래 링크를 통해 웹사이트의 통계를 누구나 볼 수 있습니다." } ], "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "이미 팀 멤버입니다." } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "팀을 찾을 수 없습니다." } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "웹사이트는 팀 멤버 누구나 볼 수 있습니다." } ], "message.tracking-code": [ { "type": 0, - "value": "추적 코드" + "value": "이 웹사이트의 통계를 추적하려면 다음 코드를 HTML의 " + }, + { + "children": [ + { + "type": 0, + "value": "..." + } + ], + "type": 8, + "value": "head" + }, + { + "type": 0, + "value": " 부분에 추가하세요." } ], "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "이 웹사이트를 당신의 계정으로 전송하시겠습니까?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "이 웹사이트를 전송받을 팀을 선택하세요." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "웹사이트 소유권을 계정이나 다른 팀으로 전송합니다." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "트리거된 이벤트" } ], "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "사용자를 삭제했습니다." } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "조회한 페이지" } ], "message.visitor-log": [ @@ -1640,7 +1808,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "방문자 이탈함" } ] } diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index 261e2f94..d5eec3c8 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -11,7 +11,7 @@ "value": "Veiksmai" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Veiklos žurnalas" @@ -83,12 +83,6 @@ "value": "Vidurkis" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Vidutinė vizito trukmė" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Išvalyti visus" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Įjungti bendrinimą su nuoroda" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Įvykiai" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filtrai" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Prisijungti į komandą" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -680,6 +758,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -722,6 +806,12 @@ "value": "Tvarkyti" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -888,6 +978,18 @@ "value": "Slaptažodis" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -898,12 +1000,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profilis" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -1012,6 +1144,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -1066,6 +1216,12 @@ "value": "Pasirinkti svetainę" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -1090,6 +1246,12 @@ "value": "Viena diena" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1120,6 +1282,12 @@ "value": "Komandos ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1222,6 +1390,12 @@ "value": "Sekimo kodas" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1258,6 +1432,12 @@ "value": "Unikalūs lankytojai" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1294,6 +1474,12 @@ "value": "Vartotojas" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1354,6 +1540,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Vidutinė vizito trukmė" + } + ], "label.visitors": [ { "type": 0, @@ -1464,6 +1656,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 48334902..f1a76b9b 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -11,7 +11,7 @@ "value": "Үйлдлүүд" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Үйл ажиллагааны бүртгэл" @@ -83,12 +83,6 @@ "value": "Дундаж" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Зочилсон дундаж хугацаа" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Бүгдийг арилгах" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Үргэлжлүүлэх" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Хуваалцах холбоос идэвхжүүлэх" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Үйлдэл" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Шүүлтүүр" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Хэрэглэгчдийн шилжилт, уналтын хэмжээг шинжлэх." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Их буюу тэнцүү" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Багт нэгдэх" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Нууц үг" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 1, @@ -793,12 +895,42 @@ "value": " дээр суурилсан" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Бүртгэл" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Хэрэглэгчид таны веб рүү дахин хандах буюу хэрэглэгчдээ хэр тогтоож буйг хэмжих." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Веб сонгох" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Нэг өдөр" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Багийн ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Мөрдөх код" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Зочин" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "Хэрэглэгч" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Зочилсон дундаж хугацаа" + } + ], "label.visitors": [ { "type": 0, @@ -1347,6 +1539,12 @@ "value": " байна" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index 58034742..6886b74c 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -11,7 +11,7 @@ "value": "Aksi" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Purata tempoh masa lawatan" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Aktifkan url berkongsi" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Peristiwa" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -567,6 +645,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -609,6 +693,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -775,6 +865,18 @@ "value": "Kata laluan" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -785,12 +887,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -899,6 +1031,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -953,6 +1103,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -977,6 +1133,12 @@ "value": "Satu hari" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1007,6 +1169,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1109,6 +1277,12 @@ "value": "Kod penjejakan" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1145,6 +1319,12 @@ "value": "Pelawat unik" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1181,6 +1361,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1241,6 +1427,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Purata tempoh masa lawatan" + } + ], "label.visitors": [ { "type": 0, @@ -1331,6 +1523,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json index 18c1a2b9..7fc610e4 100644 --- a/public/intl/messages/my-MM.json +++ b/public/intl/messages/my-MM.json @@ -11,7 +11,7 @@ "value": "လုပ်ဆောင်ချက်များ" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "လုပ်ဆောင်ချက်စာရင်း" @@ -83,12 +83,6 @@ "value": "ပျမ်းမျှ" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "အားလုံးကိုဖျက်မည်" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "ဆက်သွားမည်" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "ဝေငှခြင်းကိုလင့်ကို ဖွင့်မည်" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "အဖြစ်အပျက်များ" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filter များ" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "အသင်းဝင်မည်" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "စကားဝှက်" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 1, @@ -793,12 +895,42 @@ "value": " ထောက်ပံ့သည်" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "ပရိုဖိုင်း" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "ဝဘက်ဘ်ဆိုဒ်ရွေးပါ" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "တစ်ရက်အတွင်း" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "အသင်း အိုင်ဒီ" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "ထရက်လုပ်သည့် ကုဒ်" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "အသုံးပြုသူ" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 1, diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index 2f7132ef..051c362c 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -11,7 +11,7 @@ "value": "Handlinger" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Gjennomsnittlig besøkstid" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Aktiver delings-URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Arrangementer" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Passord" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Enkelt dag" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Sporingskode" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unike besøkende" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Gjennomsnittlig besøkstid" + } + ], "label.visitors": [ { "type": 0, @@ -1343,6 +1535,12 @@ "value": " nå" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index c0a3add4..d7ea5c9f 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -11,7 +11,7 @@ "value": "Acties" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activiteiten logboek" @@ -83,12 +83,6 @@ "value": "Gemiddelde" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Gemiddelde bezoektijd" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Filters wissen" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Doorgaan" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Gemaakt Door" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Sta delen via openbare URL toe" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Gebeurtenissen" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Ontdek de conversie- en uitvalpercentages van gebruikers." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Groter of gelijk aan" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Word lid van een team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Beheren" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Wachtwoord" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profiel" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Meet de retentie van je website door door bij te houden hoe vaak gebruikers terugkeren." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Website selecteren" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Enkele dag" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Volgcode" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unieke bezoekers" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "Gebruiker" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Gemiddelde bezoektijd" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 547a70a9..97782a41 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -11,7 +11,7 @@ "value": "Działania" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Dziennik aktywności" @@ -32,13 +32,13 @@ "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Dodaj członka" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Dodaj krok" } ], "label.add-website": [ @@ -83,12 +83,6 @@ "value": "Średnia" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Średni czas wizyty" - } - ], "label.back": [ { "type": 0, @@ -116,7 +110,7 @@ "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Przeglądarka" } ], "label.browsers": [ @@ -146,7 +140,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Miasto" } ], "label.clear-all": [ @@ -155,6 +149,12 @@ "value": "Wyczyść wszystko" } ], + "label.compare": [ + { + "type": 0, + "value": "Porównaj" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Kontynuuj" } ], + "label.count": [ + { + "type": 0, + "value": "Liczba" + } + ], "label.countries": [ { "type": 0, @@ -188,19 +194,19 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Państwo" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Utwórz" } ], "label.create-report": [ { "type": 0, - "value": "Stwórz raport" + "value": "Utwórz raport" } ], "label.create-team": [ @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Utworzony przez" + } + ], + "label.current": [ + { + "type": 0, + "value": "Aktualny" } ], "label.current-password": [ @@ -248,13 +260,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Dane" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Data" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Dzień" } ], "label.default-date-range": [ @@ -284,7 +296,7 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Usuń raport" } ], "label.delete-team": [ @@ -326,7 +338,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Urządzenie" } ], "label.devices": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Odpływ" } ], "label.edit": [ @@ -374,7 +386,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Edytuj członka" } ], "label.enable-share-url": [ @@ -383,10 +395,22 @@ "value": "Włącz udostępnianie adresu URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "Krok końcowy" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Zdarzenie" } ], "label.event-data": [ @@ -401,6 +425,12 @@ "value": "Zdarzenia" } ], + "label.exit": [ + { + "type": 0, + "value": "URL wyjściowy" + } + ], "label.false": [ { "type": 0, @@ -422,7 +452,7 @@ "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Filtruj" } ], "label.filter-combined": [ @@ -443,6 +473,12 @@ "value": "Filtry" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -452,7 +488,25 @@ "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Zrozum wskaźniki konwersji i odpływu użytkowników." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Cel" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Cele" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." } ], "label.greater-than": [ @@ -467,16 +521,28 @@ "value": "Większe niż lub równe" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosty" + } + ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Analiza" } ], "label.insights-description": [ { "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": [ @@ -494,13 +560,13 @@ "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Nieustawione" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Ustawione" } ], "label.join": [ @@ -515,6 +581,18 @@ "value": "Dołącz do zespołu" } ], + "label.journey": [ + { + "type": 0, + "value": "Droga" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Zrozum, w jaki sposób użytkownicy poruszają się po Twojej witrynie." + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Osatnie " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " miesięcy" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -626,7 +716,7 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "Członek" } ], "label.members": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Moje konto" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Moje witryny" } ], "label.name": [ @@ -699,7 +789,7 @@ "value": [ { "type": 0, - "value": "record" + "value": "rekord" } ] }, @@ -707,7 +797,7 @@ "value": [ { "type": 0, - "value": "records" + "value": "rekordy" } ] } @@ -744,7 +834,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Strona " }, { "type": 1, @@ -752,7 +842,7 @@ }, { "type": 0, - "value": " of " + "value": " z " }, { "type": 1, @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Tytuł strony" } ], "label.pages": [ @@ -783,6 +873,18 @@ "value": "Hasło" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Poprzedni" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Poprzedni okres" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Poprzedni rok" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -826,7 +958,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Źródło odsyłające" } ], "label.referrers": [ @@ -868,7 +1000,7 @@ "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Usuń członka" } ], "label.reports": [ @@ -898,19 +1030,37 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Retencja" } ], "label.retention-description": [ { "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.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "Rola" } ], "label.run-query": [ @@ -934,13 +1084,13 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "Szukaj" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Wybierz" } ], "label.select-date": [ @@ -952,7 +1102,7 @@ "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Wybierz rolę" } ], "label.select-website": [ @@ -961,6 +1111,12 @@ "value": "Wybierz witrynę" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,10 +1141,16 @@ "value": "W tym dniu" } ], + "label.start-step": [ + { + "type": 0, + "value": "Krok startowy" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Kroki" } ], "label.sum": [ @@ -1015,6 +1177,12 @@ "value": "ID zespołu" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1024,7 +1192,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Nazwa zespołu" } ], "label.team-owner": [ @@ -1036,13 +1204,13 @@ "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Tylko do odczytu dla zespołu" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Witryny zespołu" } ], "label.teams": [ @@ -1117,6 +1285,12 @@ "value": "Kod śledzenia" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unikalni odwiedzający" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1168,7 +1348,7 @@ "label.update": [ { "type": 0, - "value": "Update" + "value": "Aktualizuj" } ], "label.url": [ @@ -1189,6 +1369,12 @@ "value": "Użytkownik" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1210,7 +1396,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Śledź swoje kampanie za pomocą parametrów UTM." } ], "label.value": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Widoków na wizytę" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Średni czas wizyty" } ], "label.visitors": [ @@ -1258,7 +1450,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Wizyty" } ], "label.website": [ @@ -1294,7 +1486,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Wpisz " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": ", aby potwierdzić." } ], "message.active-users": [ @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Zebrane dane" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1370,7 +1568,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Czy na pewno chcesz usunąć " }, { "type": 1, @@ -1398,7 +1596,7 @@ "message.delete-team-warning": [ { "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": [ @@ -1436,7 +1634,7 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "Nieprawidłowa nazwa użytkownika/hasło." + "value": "Nieprawidłowa nazwa użytkownika lub hasło." } ], "message.invalid-domain": [ @@ -1462,7 +1660,7 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Nowa wersja Umami " }, { "type": 1, @@ -1470,7 +1668,7 @@ }, { "type": 0, - "value": " is available!" + "value": " jest dostępna!" } ], "message.no-data-available": [ @@ -1594,25 +1792,25 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Czy przenieść tę witrynę do Twoje konta?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Wybierz zespół, do którego chcesz przenieść tę witrynę." } ], "message.transfer-website": [ { "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": [ { "type": 0, - "value": "Triggered event" + "value": "Zdarzenie wyzwalające" } ], "message.user-deleted": [ @@ -1624,7 +1822,7 @@ "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Obejrzana strona" } ], "message.visitor-log": [ @@ -1664,7 +1862,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Odpływ użytkowników" } ] } diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index f142817f..26985407 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -8,37 +8,37 @@ "label.actions": [ { "type": 0, - "value": "Ações" + "value": "Ações do usuário" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Log de atividade" + "value": "Registro de atividades" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Adicionar" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Adicionar descrição" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Adicionar membro" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Adicionar etapa" } ], "label.add-website": [ @@ -68,25 +68,19 @@ "label.all-time": [ { "type": 0, - "value": "Todo o período" + "value": "Todos os períodos" } ], "label.analytics": [ { "type": 0, - "value": "Estatísticas" + "value": "Análise" } ], "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo médio da visita" + "value": "Média" } ], "label.back": [ @@ -110,13 +104,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Detalhamento" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Navegador" } ], "label.browsers": [ @@ -134,7 +128,7 @@ "label.change-password": [ { "type": 0, - "value": "Alterar a senha" + "value": "Alterar senha" } ], "label.cities": [ @@ -146,7 +140,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Cidade" } ], "label.clear-all": [ @@ -155,6 +149,12 @@ "value": "Limpar tudo" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -164,13 +164,13 @@ "label.confirm-password": [ { "type": 0, - "value": "Confirme a nova senha" + "value": "Confirmar senha" } ], "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Contém" } ], "label.continue": [ @@ -179,6 +179,12 @@ "value": "Continuar" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -188,13 +194,13 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "País" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Criar" } ], "label.create-report": [ @@ -206,7 +212,7 @@ "label.create-team": [ { "type": 0, - "value": "Criar time" + "value": "Criar equipe" } ], "label.create-user": [ @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Criado por" + } + ], + "label.current": [ + { + "type": 0, + "value": "Current" } ], "label.current-password": [ @@ -236,7 +248,7 @@ "label.custom-range": [ { "type": 0, - "value": "Intervalo personalizado" + "value": "Período personalizado" } ], "label.dashboard": [ @@ -248,61 +260,61 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Dados" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Data" } ], "label.date-range": [ { "type": 0, - "value": "Intervalo de datas" + "value": "Período" } ], "label.day": [ { "type": 0, - "value": "Day" + "value": "Dia" } ], "label.default-date-range": [ { "type": 0, - "value": "Intervalo de datas predefinido" + "value": "Período padrão" } ], "label.delete": [ { "type": 0, - "value": "Remover" + "value": "Excluir" } ], "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Excluir relatório" } ], "label.delete-team": [ { "type": 0, - "value": "Remover time" + "value": "Excluir equipe" } ], "label.delete-user": [ { "type": 0, - "value": "Remover usuário" + "value": "Excluir usuário" } ], "label.delete-website": [ { "type": 0, - "value": "Remover site" + "value": "Excluir site" } ], "label.description": [ @@ -314,7 +326,7 @@ "label.desktop": [ { "type": 0, - "value": "Computador" + "value": "Desktop" } ], "label.details": [ @@ -326,7 +338,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Dispositivo" } ], "label.devices": [ @@ -338,13 +350,13 @@ "label.dismiss": [ { "type": 0, - "value": "Dispensar" + "value": "Fechar" } ], "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Não contém" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Abandono" } ], "label.edit": [ @@ -374,13 +386,25 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Editar membro" } ], "label.enable-share-url": [ { "type": 0, - "value": "Ativar link de compartilhamento" + "value": "Ativar link para compartilhar" + } + ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" } ], "label.event": [ @@ -392,19 +416,25 @@ "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Dados do evento" } ], "label.events": [ { "type": 0, - "value": "Eventos" + "value": "Tipos de eventos" + } + ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" } ], "label.false": [ { "type": 0, - "value": "False" + "value": "Não" } ], "label.field": [ @@ -422,7 +452,7 @@ "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Filtro" } ], "label.filter-combined": [ @@ -434,13 +464,19 @@ "label.filter-raw": [ { "type": 0, - "value": "Dados brutos" + "value": "Bruto" } ], "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filtros" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" } ], "label.funnel": [ @@ -452,7 +488,25 @@ "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Entenda a taxa de conversão e abandono dos seus usuários." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." } ], "label.greater-than": [ @@ -464,7 +518,19 @@ "label.greater-than-equals": [ { "type": 0, - "value": "Maior que ou igual" + "value": "Maior ou igual a" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" } ], "label.insights": [ @@ -476,43 +542,55 @@ "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Explore seus dados em mais detalhes usando filtros" } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "É igual a" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Não é igual a" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Não definido" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Definido" } ], "label.join": [ { "type": 0, - "value": "Entrar" + "value": "Participar" } ], "label.join-team": [ { "type": 0, - "value": "Entrar no time" + "value": "Participar da equipe" + } + ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." } ], "label.language": [ @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Últimos " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " meses" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ @@ -584,7 +668,7 @@ "label.leave-team": [ { "type": 0, - "value": "Sair do time" + "value": "Sair da equipe" } ], "label.less-than": [ @@ -596,13 +680,13 @@ "label.less-than-equals": [ { "type": 0, - "value": "Menor que ou igual" + "value": "Menor ou igual a" } ], "label.login": [ { "type": 0, - "value": "Iniciar sessão" + "value": "Entrar" } ], "label.logout": [ @@ -614,19 +698,25 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Gerenciar" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Manager" } ], "label.max": [ { "type": 0, - "value": "Max" + "value": "Máximo" } ], "label.member": [ { "type": 0, - "value": "Member" + "value": "Membro" } ], "label.members": [ @@ -638,7 +728,7 @@ "label.min": [ { "type": 0, - "value": "Min" + "value": "Mínimo" } ], "label.mobile": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Minha conta" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Meus sites" } ], "label.name": [ @@ -699,7 +789,7 @@ "value": [ { "type": 0, - "value": "record" + "value": "registro" } ] }, @@ -707,7 +797,7 @@ "value": [ { "type": 0, - "value": "records" + "value": "registros" } ] } @@ -726,13 +816,13 @@ "label.os": [ { "type": 0, - "value": "OS" + "value": "Sistema operacional" } ], "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Visão geral" } ], "label.owner": [ @@ -744,7 +834,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Página " }, { "type": 1, @@ -752,7 +842,7 @@ }, { "type": 0, - "value": " of " + "value": " de " }, { "type": 1, @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Título" } ], "label.pages": [ @@ -783,38 +873,80 @@ "value": "Senha" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, - "value": "Distribuído por " + "value": "Desenvolvido por " }, { "type": 1, "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Perfil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, - "value": "Parâmetros" + "value": "Consultas" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Consulta" } ], "label.query-parameters": [ { "type": 0, - "value": "Parâmetros de Consulta" + "value": "Parâmetros da consulta" } ], "label.realtime": [ @@ -826,7 +958,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Referência" } ], "label.referrers": [ @@ -844,19 +976,19 @@ "label.regenerate": [ { "type": 0, - "value": "Regerar" + "value": "Gerar novamente" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "Estado" } ], "label.regions": [ { "type": 0, - "value": "Regiões" + "value": "Estados" } ], "label.remove": [ @@ -868,13 +1000,13 @@ "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Remover membro" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Relatórios" } ], "label.required": [ @@ -892,31 +1024,49 @@ "label.reset-website": [ { "type": 0, - "value": "Redefinir estatísticas" + "value": "Redefinir dados" } ], "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Retenção" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Avalie a fidelidade dos seus usuários medindo a frequência com que eles retornam." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" } ], "label.role": [ { "type": 0, - "value": "Papel" + "value": "Função" } ], "label.run-query": [ { "type": 0, - "value": "Executar query" + "value": "Executar consulta" } ], "label.save": [ @@ -928,19 +1078,19 @@ "label.screens": [ { "type": 0, - "value": "Telas" + "value": "Tamanhos de tela" } ], "label.search": [ { "type": 0, - "value": "Search" + "value": "Pesquisar" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Selecionar" } ], "label.select-date": [ @@ -952,7 +1102,7 @@ "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Selecionar função" } ], "label.select-website": [ @@ -961,6 +1111,12 @@ "value": "Selecionar site" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -976,25 +1132,31 @@ "label.share-url": [ { "type": 0, - "value": "Link de compartilhamento" + "value": "Link para compartilhar" } ], "label.single-day": [ { "type": 0, - "value": "Dia específico" + "value": "Apenas um dia" + } + ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" } ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Etapas" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Soma" } ], "label.tablet": [ @@ -1006,49 +1168,55 @@ "label.team": [ { "type": 0, - "value": "Time" + "value": "Equipe" } ], "label.team-id": [ { "type": 0, - "value": "ID do Time" + "value": "ID da equipe" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" } ], "label.team-member": [ { "type": 0, - "value": "Membro" + "value": "Membro da equipe" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Nome da equipe" } ], "label.team-owner": [ { "type": 0, - "value": "Proprietário" + "value": "Proprietário da equipe" } ], "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Apenas visualização da equipe" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Sites da equipe" } ], "label.teams": [ { "type": 0, - "value": "Times" + "value": "Equipes" } ], "label.theme": [ @@ -1096,7 +1264,7 @@ "label.toggle-charts": [ { "type": 0, - "value": "Mostrar/Esconder gráficos" + "value": "Alternar gráficos" } ], "label.total": [ @@ -1108,7 +1276,7 @@ "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Total de registros" } ], "label.tracking-code": [ @@ -1117,22 +1285,28 @@ "value": "Código de rastreamento" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Transferir" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Transferir site" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "Sim" } ], "label.type": [ @@ -1144,7 +1318,7 @@ "label.unique": [ { "type": 0, - "value": "Único" + "value": "Únicos" } ], "label.unique-visitors": [ @@ -1153,6 +1327,12 @@ "value": "Visitantes únicos" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1168,7 +1348,7 @@ "label.update": [ { "type": 0, - "value": "Update" + "value": "Atualizar" } ], "label.url": [ @@ -1189,6 +1369,12 @@ "value": "Usuário" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1210,7 +1396,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Acompanhe suas campanhas de publicidade através de parâmetros UTM." } ], "label.value": [ @@ -1222,13 +1408,13 @@ "label.view": [ { "type": 0, - "value": "Ver" + "value": "Visualizar" } ], "label.view-details": [ { "type": 0, - "value": "Ver detalhes" + "value": "Ver mais" } ], "label.view-only": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Visualizações por visita" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo médio de visita" } ], "label.visitors": [ @@ -1258,19 +1450,19 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Visitas" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Site" } ], "label.website-id": [ { "type": 0, - "value": "ID do Site" + "value": "ID do site" } ], "label.websites": [ @@ -1294,7 +1486,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Digite " }, { "type": 1, @@ -1302,51 +1494,33 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " na caixa abaixo para confirmar." } ], "message.active-users": [ + { + "type": 0, + "value": " Atualmente " + }, { "type": 1, "value": "x" }, { "type": 0, - "value": " " - }, - { - "offset": 0, - "options": { - "one": { - "value": [ - { - "type": 0, - "value": "visitante" - } - ] - }, - "other": { - "value": [ - { - "type": 0, - "value": "visitantes" - } - ] - } - }, - "pluralType": "cardinal", - "type": 6, - "value": "x" - }, + "value": " usuários ativos" + } + ], + "message.collected-data": [ { "type": 0, - "value": " neste momento" + "value": "Collected data" } ], "message.confirm-delete": [ { "type": 0, - "value": "Deseja realmente remover " + "value": "Tem certeza de que deseja excluir " }, { "type": 1, @@ -1360,7 +1534,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Você tem certeza que deseja sair de " + "value": "Tem certeza de que deseja sair de " }, { "type": 1, @@ -1374,7 +1548,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Tem certeza que deseja remover " }, { "type": 1, @@ -1388,7 +1562,7 @@ "message.confirm-reset": [ { "type": 0, - "value": "Você tem certeza que deseja redefinir as estatísticas de " + "value": "Tem certeza que deseja redefinir os dados de " }, { "type": 1, @@ -1402,13 +1576,13 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Excluir a equipe também excluirá todos os sites da equipe." } ], "message.delete-website-warning": [ { "type": 0, - "value": "Todos os dados associados também serão eliminados." + "value": "Todos os dados relacionados serão excluídos." } ], "message.error": [ @@ -1440,7 +1614,7 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "O nome de usuário e/ou senha está incorreto." + "value": "Nome de usuário ou senha incorretos." } ], "message.invalid-domain": [ @@ -1452,7 +1626,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Quantidade mínima de " + "value": "A senha deve ter no mínimo " }, { "type": 1, @@ -1466,7 +1640,7 @@ "message.new-version-available": [ { "type": 0, - "value": "Uma nova versão do Umami " + "value": "Uma nova versão " }, { "type": 1, @@ -1474,55 +1648,55 @@ }, { "type": 0, - "value": " está disponível!" + "value": " do Umami está disponível!" } ], "message.no-data-available": [ { "type": 0, - "value": "Sem dados disponíveis." + "value": "Não há dados disponíveis." } ], "message.no-event-data": [ { "type": 0, - "value": "Nenhum dado de evento está disponível." + "value": "Não há eventos disponíveis." } ], "message.no-match-password": [ { "type": 0, - "value": "As senhas não correspondem" + "value": "As senhas não coincidem." } ], "message.no-results-found": [ { "type": 0, - "value": "Nenhum resultado foi encontrado." + "value": "Nenhum resultado encontrado." } ], "message.no-team-websites": [ { "type": 0, - "value": "Este time não possui nenhum site." + "value": "Esta equipe não possui sites." } ], "message.no-teams": [ { "type": 0, - "value": "Você não criou nenhum time." + "value": "Você ainda não criou nenhuma equipe." } ], "message.no-users": [ { "type": 0, - "value": "Não há nenhum usuário." + "value": "Não há usuários." } ], "message.no-websites-configured": [ { "type": 0, - "value": "Nenhum site foi configurado ainda." + "value": "Você ainda não configurou nenhum site." } ], "message.page-not-found": [ @@ -1534,7 +1708,7 @@ "message.reset-website": [ { "type": 0, - "value": "Para redefinir este site, digite " + "value": "Se você tiver certeza de que deseja redefinir este site, digite " }, { "type": 1, @@ -1542,13 +1716,13 @@ }, { "type": 0, - "value": " na caixa abaixo para confirmar." + "value": " na caixa de entrada abaixo para confirmar." } ], "message.reset-website-warning": [ { "type": 0, - "value": "Todas as estatísticas deste site serão removidas, mas seu código de rastreamento permanecerá intacto." + "value": "Todos os dados estatísticos deste site serão excluídos, mas seu código de rastreamento permanecerá o mesmo." } ], "message.saved": [ @@ -1560,7 +1734,7 @@ "message.share-url": [ { "type": 0, - "value": "Este é o link público de compartilhamento para " + "value": "Este é o link para compartilhar " }, { "type": 1, @@ -1574,19 +1748,19 @@ "message.team-already-member": [ { "type": 0, - "value": "Você já um membro do time." + "value": "Você já é membro desta equipe." } ], "message.team-not-found": [ { "type": 0, - "value": "Time não encontrado." + "value": "Equipe não encontrada." } ], "message.team-websites-info": [ { "type": 0, - "value": "Os sites podem ser visualizados por qualquer membro da equipe." + "value": "Qualquer membro da equipe pode visualizar os sites." } ], "message.tracking-code": [ @@ -1598,37 +1772,37 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Transferir este site para sua conta?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Selecione para qual equipe deseja transferir este site." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Transfira a propriedade do site para sua conta ou para outra equipe." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Evento disparado" } ], "message.user-deleted": [ { "type": 0, - "value": "Usuário removido." + "value": "Usuário excluído." } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Página visualizada" } ], "message.visitor-log": [ @@ -1642,7 +1816,7 @@ }, { "type": 0, - "value": " usando " + "value": " usando o navegador " }, { "type": 1, @@ -1650,7 +1824,7 @@ }, { "type": 0, - "value": " no " + "value": " em um " }, { "type": 1, @@ -1658,17 +1832,21 @@ }, { "type": 0, - "value": " " + "value": " com sistema operacional " }, { "type": 1, "value": "os" + }, + { + "type": 0, + "value": "." } ], "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Visitantes abandonados" } ] } diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index 3e16a55e..6efd9834 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -11,7 +11,7 @@ "value": "Ações" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo médio de visita" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Ativar link de partilha" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Eventos" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Senha" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Perfil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Dia único" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Código de rastreamento" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Visitantes únicos" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo médio de visita" + } + ], "label.visitors": [ { "type": 0, @@ -1343,6 +1535,12 @@ "value": " neste momento" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index da1413f6..19541aca 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -11,7 +11,7 @@ "value": "Acțiuni" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Jurnal de activități" @@ -38,13 +38,13 @@ "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Adaugă pas" } ], "label.add-website": [ { "type": 0, - "value": "Adăugare site web" + "value": "Adaugă site web" } ], "label.admin": [ @@ -83,12 +83,6 @@ "value": "Mediu" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Timp mediu de vizitare" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Șterge tot" } ], + "label.compare": [ + { + "type": 0, + "value": "Compară" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continuă" } ], + "label.count": [ + { + "type": 0, + "value": "Număr" + } + ], "label.countries": [ { "type": 0, @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Creat de" + } + ], + "label.current": [ + { + "type": 0, + "value": "Curent" } ], "label.current-password": [ @@ -254,13 +266,13 @@ "label.date": [ { "type": 0, - "value": "Data" + "value": "Dată" } ], "label.date-range": [ { "type": 0, - "value": "Interval de date" + "value": "Interval" } ], "label.day": [ @@ -272,7 +284,7 @@ "label.default-date-range": [ { "type": 0, - "value": "Interval de date implicit" + "value": "Interval implicit" } ], "label.delete": [ @@ -302,7 +314,7 @@ "label.delete-website": [ { "type": 0, - "value": "Ștergere site web" + "value": "Șterge site web" } ], "label.description": [ @@ -383,6 +395,18 @@ "value": "Activare adresă URL de distribuire" } ], + "label.end-step": [ + { + "type": 0, + "value": "Pas final" + } + ], + "label.entry": [ + { + "type": 0, + "value": "URL de intrare" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Evenimente" } ], + "label.exit": [ + { + "type": 0, + "value": "URL de ieșire" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filtre" } ], + "label.first-seen": [ + { + "type": 0, + "value": "Văzut pentru prima dată" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Înțelege rata de conversie și rata de abandon a utilizatorilor." } ], + "label.goal": [ + { + "type": 0, + "value": "Obiectiv" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Obiective" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Urmărește obiectivele de vizualizări și evenimente." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Mai mare sau egal cu" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Alătură-te echipei" } ], + "label.journey": [ + { + "type": 0, + "value": "Traseu" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Înțelege cum navighează vizitatorii prin website." + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Ultimele " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " luni" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Văzut ultima dată" } ], "label.leave": [ @@ -617,6 +701,12 @@ "value": "Administrează" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Parolă" } ], + "label.path": [ + { + "type": 0, + "value": "Rută" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Rute" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Anterior" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Perioda anterioară" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Anul anterior" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Proprietăți" + } + ], + "label.property": [ + { + "type": 0, + "value": "Proprietate" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Măsoară atractivitatea site-ului tău prin urmărirea frecvenței cu care utilizatorii se întorc." } ], + "label.revenue": [ + { + "type": 0, + "value": "Venit" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Urmărește venitul în timp." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Selectează website" } ], + "label.session": [ + { + "type": 0, + "value": "Sesiune" + } + ], "label.sessions": [ { "type": 0, @@ -985,10 +1141,16 @@ "value": "O singură zi" } ], + "label.start-step": [ + { + "type": 0, + "value": "Pas de început" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Pași" } ], "label.sum": [ @@ -1012,7 +1174,13 @@ "label.team-id": [ { "type": 0, - "value": "ID Echipa" + "value": "ID Echipă" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Manager echipă" } ], "label.team-member": [ @@ -1117,6 +1285,12 @@ "value": "Cod de urmărire" } ], + "label.transactions": [ + { + "type": 0, + "value": "Tranzacții" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Vizitatori unici" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Clienți unici" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "Utilizator" } ], + "label.user-property": [ + { + "type": 0, + "value": "Proprietatea utilizatorului" + } + ], "label.username": [ { "type": 0, @@ -1210,7 +1396,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Urmărește campaniile tale cu parametri UTM." } ], "label.value": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Vizualizări per vizită" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Timp mediu de vizitare" } ], "label.visitors": [ @@ -1258,7 +1450,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Vizite" } ], "label.website": [ @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Date colectate" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index 4b97f225..b7c0165c 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -11,7 +11,7 @@ "value": "Действия" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Журнал активности" @@ -20,25 +20,25 @@ "label.add": [ { "type": 0, - "value": "Add" + "value": "Добавить" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Добавить описание" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Добавить участника" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Добавить шаг" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "После" } ], "label.all": [ @@ -80,13 +80,7 @@ "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Среднее время посещения" + "value": "Средний" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "До" } ], "label.bounce-rate": [ @@ -110,13 +104,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Авария" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Браузер" } ], "label.browsers": [ @@ -146,7 +140,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Город" } ], "label.clear-all": [ @@ -155,6 +149,12 @@ "value": "Очистить все" } ], + "label.compare": [ + { + "type": 0, + "value": "Сравнить" + } + ], "label.confirm": [ { "type": 0, @@ -170,7 +170,7 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Содержит" } ], "label.continue": [ @@ -179,6 +179,12 @@ "value": "Продолжить" } ], + "label.count": [ + { + "type": 0, + "value": "Считать" + } + ], "label.countries": [ { "type": 0, @@ -188,19 +194,19 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Страна" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Создать" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Создать отчет" } ], "label.create-team": [ @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Создано" + } + ], + "label.current": [ + { + "type": 0, + "value": "Текущий" } ], "label.current-password": [ @@ -254,7 +266,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "Дата" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "День" } ], "label.default-date-range": [ @@ -284,7 +296,7 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Удалить отчет" } ], "label.delete-team": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Описание" } ], "label.desktop": [ @@ -326,7 +338,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Устройство" } ], "label.devices": [ @@ -344,7 +356,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Не содержит" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Высадка" } ], "label.edit": [ @@ -374,7 +386,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Редактировать участника" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "Разрешить делиться ссылкой" } ], + "label.end-step": [ + { + "type": 0, + "value": "Конечный шаг" + } + ], + "label.entry": [ + { + "type": 0, + "value": "URL-адрес входа" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Событие" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Данные о событии" } ], "label.events": [ @@ -401,28 +425,34 @@ "value": "События" } ], + "label.exit": [ + { + "type": 0, + "value": "URL-адрес выхода" + } + ], "label.false": [ { "type": 0, - "value": "False" + "value": "Ложь" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Поле" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Поля" } ], "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Фильтр" } ], "label.filter-combined": [ @@ -440,67 +470,103 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Фильтры" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "Первый вход" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Воронка" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Изучите коэффициент конверсии и ухода пользователей." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Цель" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Цели" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Отслеживайте свои цели по просмотрам страниц и событиям." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Больше, чем" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Больше или равно" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Информация" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Погрузитесь глубже в свои данные с помощью сегментов и фильтров." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "Является" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Не установлен" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Не установлено" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Установлен" } ], "label.join": [ @@ -515,6 +581,18 @@ "value": "Присоединиться к команде" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Поймите, как пользователи перемещаются по вашему сайту." + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Последние " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " месяцев" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Последний вход" } ], "label.leave": [ @@ -590,13 +674,13 @@ "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Меньше, чем" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Меньше или равно" } ], "label.login": [ @@ -614,19 +698,25 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Управление" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Менеджер" } ], "label.max": [ { "type": 0, - "value": "Max" + "value": "Максимум" } ], "label.member": [ { "type": 0, - "value": "Member" + "value": "Участник" } ], "label.members": [ @@ -638,7 +728,7 @@ "label.min": [ { "type": 0, - "value": "Min" + "value": "Минимум" } ], "label.mobile": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Мой профиль" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Мои сайты" } ], "label.name": [ @@ -699,7 +789,7 @@ "value": [ { "type": 0, - "value": "record" + "value": "запись" } ] }, @@ -707,7 +797,7 @@ "value": [ { "type": 0, - "value": "records" + "value": "записи" } ] } @@ -732,7 +822,7 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Обзор" } ], "label.owner": [ @@ -744,7 +834,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Страница " }, { "type": 1, @@ -752,7 +842,7 @@ }, { "type": 0, - "value": " of " + "value": " из " }, { "type": 1, @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Название страницы" } ], "label.pages": [ @@ -783,6 +873,18 @@ "value": "Пароль" } ], + "label.path": [ + { + "type": 0, + "value": "Путь" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Пути" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Предыдущий" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Предыдущий период" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Предыдущий год" + } + ], "label.profile": [ { "type": 0, "value": "Профиль" } ], + "label.properties": [ + { + "type": 0, + "value": "Свойства" + } + ], + "label.property": [ + { + "type": 0, + "value": "Свойство" + } + ], "label.queries": [ { "type": 0, @@ -808,7 +940,7 @@ "label.query": [ { "type": 0, - "value": "Query" + "value": "Запрос" } ], "label.query-parameters": [ @@ -826,7 +958,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Реферер" } ], "label.referrers": [ @@ -850,7 +982,7 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "Регион" } ], "label.regions": [ @@ -868,13 +1000,13 @@ "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Удалить участника" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Отчеты" } ], "label.required": [ @@ -898,13 +1030,31 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Удержание" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Измерьте «прилипаемость» вашего сайта, отслеживая, как часто пользователи возвращаются на него." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Выручка" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Изучите свои доходы за определенное время." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Доходная недвижимость" } ], "label.role": [ @@ -916,7 +1066,7 @@ "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Выполнить запрос" } ], "label.save": [ @@ -934,25 +1084,25 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "Поиск" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Выберите" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Выберите дату" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Выберите роль" } ], "label.select-website": [ @@ -961,6 +1111,12 @@ "value": "Выбрать сайт" } ], + "label.session": [ + { + "type": 0, + "value": "Сессия" + } + ], "label.sessions": [ { "type": 0, @@ -985,16 +1141,22 @@ "value": "Один день" } ], + "label.start-step": [ + { + "type": 0, + "value": "Начальный этап" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Шаги" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Сумма" } ], "label.tablet": [ @@ -1015,6 +1177,12 @@ "value": "ID команды" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Менеджер команды" + } + ], "label.team-member": [ { "type": 0, @@ -1024,7 +1192,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Название команды" } ], "label.team-owner": [ @@ -1036,13 +1204,13 @@ "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Только командный просмотр" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Веб-сайты команды" } ], "label.teams": [ @@ -1102,13 +1270,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "Всего" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Всего записей" } ], "label.tracking-code": [ @@ -1117,34 +1285,40 @@ "value": "Код отслеживания" } ], + "label.transactions": [ + { + "type": 0, + "value": "Транзакции" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Передача" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Передать сайт" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "Правда" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Тип" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Уникальный" } ], "label.unique-visitors": [ @@ -1153,6 +1327,12 @@ "value": "Уникальные посетители" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Уникальные клиенты" + } + ], "label.unknown": [ { "type": 0, @@ -1162,13 +1342,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Без названия" } ], "label.update": [ { "type": 0, - "value": "Update" + "value": "Обновление" } ], "label.url": [ @@ -1189,6 +1369,12 @@ "value": "Пользователь" } ], + "label.user-property": [ + { + "type": 0, + "value": "Собственность пользователя" + } + ], "label.username": [ { "type": 0, @@ -1210,13 +1396,13 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Отслеживайте свои кампании с помощью UTM-параметров." } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Значение" } ], "label.view": [ @@ -1234,7 +1420,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Только просмотр" } ], "label.views": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Просмотров за посещение" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Среднее время посещения" } ], "label.visitors": [ @@ -1258,13 +1450,13 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Посещения" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Сайт" } ], "label.website-id": [ @@ -1282,7 +1474,7 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "Окно" } ], "label.yesterday": [ @@ -1294,7 +1486,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Введите " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " в поле ниже, чтобы подтвердить." } ], "message.active-users": [ @@ -1315,6 +1507,12 @@ "value": " текущих посетителей" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Собранные данные" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1346,7 +1544,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Вы уверены, что хотите удалить " }, { "type": 1, @@ -1374,7 +1572,7 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "При удалении команды будут удалены и все ее веб-сайты." } ], "message.delete-website-warning": [ @@ -1396,7 +1594,7 @@ }, { "type": 0, - "value": " on " + "value": " на " }, { "type": 1, @@ -1438,7 +1636,7 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Вышла новая версия Umami " }, { "type": 1, @@ -1446,7 +1644,7 @@ }, { "type": 0, - "value": " is available!" + "value": "!" } ], "message.no-data-available": [ @@ -1458,7 +1656,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Данные о событиях отсутствуют." } ], "message.no-match-password": [ @@ -1470,7 +1668,7 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Результаты не найдены." } ], "message.no-team-websites": [ @@ -1562,25 +1760,25 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Перенести этот сайт в свой прфоиль?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Выберите команду, которой нужно передать этот сайт." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Передайте право владения сайтом своей учетной записи или другой команде." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Запущенное событие" } ], "message.user-deleted": [ @@ -1592,7 +1790,7 @@ "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Просмотренная страница" } ], "message.visitor-log": [ @@ -1632,7 +1830,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Высадка посетителей" } ] } diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index 67e32f90..e18561c9 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -11,7 +11,7 @@ "value": "Actions" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "බෙදාගැනීමේ URL සබල කරන්න" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Events" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "මුරපදය" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "පැතිකඩ" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "තනි දවස" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "ලුහුබැඳීමේ කේතය" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unique visitors" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 1, diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index f4e8a5e4..0908ec4f 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -11,7 +11,7 @@ "value": "Akcie" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Priemerný čas návštevy" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Povoliť zdielanie URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Udalosti" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Heslo" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "Jeden deň" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Sledovací kód" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Jedinečné návštevy" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Priemerný čas návštevy" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index e96723ae..ae11c067 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -11,7 +11,7 @@ "value": "Dejanja" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Dnevnik dejavnosti" @@ -83,12 +83,6 @@ "value": "Povprečno" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Povprečni čas obiska" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Počisti vse" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Nadaljuj" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Uredi povezavo za deljenje" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Dogodki" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filtri" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Večje ali enako kot" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Pridruži se ekipi" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Geslo" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Izberi spletno mesto" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "En dan" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "ID ekipe" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Koda za sledenje" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unikatni obiskovalci" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "Uporabnik" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Povprečni čas obiska" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 45dc754d..830a7bd3 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -11,7 +11,7 @@ "value": "Händelser" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Aktivitetslogg" @@ -83,12 +83,6 @@ "value": "Genomsnitt" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Genomsnittlig besökstid" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Rensa alla" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Fortsätt" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Aktivera delningslänk" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Händelser" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filter" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Förstå omvandlingen och bortfallsfrekvensen för användare." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Större än eller lika med" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Gå med i team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "Lösenord" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Mät din webbplats engagemang genom att följa hur ofta användare återvänder." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Välj webbplats" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "En dag" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "Spårningskod" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "Unika besökare" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "Användare" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Genomsnittlig besökstid" + } + ], "label.visitors": [ { "type": 0, @@ -1343,6 +1535,12 @@ "value": " just nu" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index b1fcd700..87a38137 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -11,7 +11,7 @@ "value": "செயல்கள்" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "சராசரி வருகை நேரம்" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "கள முகவரியை பகிரலாம்" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "நிகழ்வுகள்" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "கடவுச்சொல்" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 1, @@ -793,12 +895,42 @@ "value": " ஆல் இயக்கப்படுகிறது" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "சுயவிவரம்" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "ஒரு நாள்" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "கண்காணிப்பு குறியீடு" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "தனிப்பட்ட பார்வையாளர்கள்" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "சராசரி வருகை நேரம்" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index 1206840b..a8e68c99 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -11,7 +11,7 @@ "value": "การกระทำ" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "ระยะเวลาเข้าชมเฉลี่ย" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "เปิดใช้งานการแชร์ลิงก์" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "เหตุการณ์" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -567,6 +645,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -609,6 +693,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -775,6 +865,18 @@ "value": "รหัสผ่าน" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -785,12 +887,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "โปรไฟล์" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -899,6 +1031,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -953,6 +1103,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -977,6 +1133,12 @@ "value": "วันที่" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1007,6 +1169,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1109,6 +1277,12 @@ "value": "โค้ดสำหรับใช้ติดตาม" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1145,6 +1319,12 @@ "value": "ผู้เข้าชม" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1181,6 +1361,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1241,6 +1427,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "ระยะเวลาเข้าชมเฉลี่ย" + } + ], "label.visitors": [ { "type": 0, @@ -1335,6 +1527,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index b48a6b06..9b23b29c 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Erişim Kodu" } ], "label.actions": [ @@ -11,34 +11,34 @@ "value": "Hareketler" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "Aktivite Kaydı" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Ekle" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Açıklama ekle" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Üye ekle" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Adım ekle" } ], "label.add-website": [ @@ -50,13 +50,13 @@ "label.admin": [ { "type": 0, - "value": "Yönetici" + "value": "Administrator" } ], "label.after": [ { "type": 0, - "value": "After" + "value": "Sonra" } ], "label.all": [ @@ -68,25 +68,19 @@ "label.all-time": [ { "type": 0, - "value": "All time" + "value": "Tüm zamanlar" } ], "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "Analitik" } ], "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Ortalama ziyaret süresi" + "value": "Ortalama" } ], "label.back": [ @@ -98,25 +92,25 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Önce" } ], "label.bounce-rate": [ { "type": 0, - "value": "Çıkma oranı" + "value": "Tek sayfa ziyaret oranı" } ], "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Dağılım" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Tarayıcı" } ], "label.browsers": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Şehirler" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Şehir" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Hepsini temizle" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Compare" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Onayla" } ], "label.confirm-password": [ @@ -170,13 +170,19 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "İçeriği" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "Devam et" + } + ], + "label.count": [ + { + "type": 0, + "value": "Count" } ], "label.countries": [ @@ -188,43 +194,49 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Ülke" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Oluştur" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Rapor oluştur" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Takım oluştur" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Kullanıcı oluştur" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "Oluşturuldu" } ], "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Tarafından oluşturldu" + } + ], + "label.current": [ + { + "type": 0, + "value": "Current" } ], "label.current-password": [ @@ -248,13 +260,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Veri" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Tarih" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Gün" } ], "label.default-date-range": [ @@ -284,19 +296,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Rapor sil" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Takım sil" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Kullanıcı sil" } ], "label.delete-website": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Açıklama" } ], "label.desktop": [ @@ -320,13 +332,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Detaylar" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Cihaz" } ], "label.devices": [ @@ -344,7 +356,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "İçermez" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Bırakma" } ], "label.edit": [ @@ -368,13 +380,13 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "Kontrol panelini düzenle" } ], "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Üyeyi düzenle" } ], "label.enable-share-url": [ @@ -383,16 +395,28 @@ "value": "Anonim paylaşım URL'i aktif" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Olay" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Olay verisi" } ], "label.events": [ @@ -401,70 +425,112 @@ "value": "Olaylar" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, - "value": "False" + "value": "Yanlış" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Alan" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Alanlar" } ], "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Filtre" } ], "label.filter-combined": [ { "type": 0, - "value": "Birleşik" + "value": "Birleşik filtre" } ], "label.filter-raw": [ { "type": 0, - "value": "Ham" + "value": "Ham filtre" } ], "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filtreler" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Huni" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Kullanıcıların dönüşüm ve ayrılma oranlarını anlayın." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Büyüktür" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Büyük veya eşittir" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" } ], "label.insights": [ @@ -476,7 +542,7 @@ "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Segmentleri ve filtreleri kullanarak verilerinizi derinlemesine inceleyin." } ], "label.is": [ @@ -488,43 +554,55 @@ "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Değil" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Ayarlanmamış" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Ayarlandı" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "Katıl" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "Takıma katıl" + } + ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "Dil" } ], "label.languages": [ { "type": 0, - "value": "Languages" + "value": "Diller" } ], "label.laptop": [ @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Son " }, { "type": 1, @@ -572,31 +650,37 @@ }, { "type": 0, - "value": " months" + "value": " ay" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Ayrıl" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Takımdan Ayrıl" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Küçüktür" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Küçük veya eşittir" } ], "label.login": [ @@ -614,7 +698,13 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Yönet" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Manager" } ], "label.max": [ @@ -626,13 +716,13 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "Üye" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Üyeler" } ], "label.min": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Hesabım" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Web sitelerim" } ], "label.name": [ @@ -680,7 +770,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "Yok" } ], "label.number-of-records": [ @@ -720,7 +810,7 @@ "label.ok": [ { "type": 0, - "value": "OK" + "value": "TAMAM" } ], "label.os": [ @@ -732,19 +822,23 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Genel bakış" } ], "label.owner": [ { "type": 0, - "value": "Owner" + "value": "Sahibi" } ], "label.page-of": [ + { + "type": 1, + "value": "total" + }, { "type": 0, - "value": "Page " + "value": " sayfada " }, { "type": 1, @@ -752,11 +846,7 @@ }, { "type": 0, - "value": " of " - }, - { - "type": 1, - "value": "total" + "value": " " } ], "label.page-views": [ @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Sayfa başlığı" } ], "label.pages": [ @@ -783,6 +873,18 @@ "value": "Parola" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,28 +895,58 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Profil" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, - "value": "Queries" + "value": "Sorgular" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Sorgu" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Sorgu parametreleri" } ], "label.realtime": [ @@ -844,37 +976,37 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "Yeniden Oluştur" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "Bölge" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "Bölgeler" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "Kaldır" } ], "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Üyeyi kaldır" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Raporlar" } ], "label.required": [ @@ -892,31 +1024,49 @@ "label.reset-website": [ { "type": 0, - "value": "Reset statistics" + "value": "İstatistikleri sıfırla" } ], "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Geri dönüş" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Kullanıcıların ne sıklıkla geri döndüğünü takip ederek web sitenizin kalıcılığını ölçün." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "Rol" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Sorgu çalıştır" } ], "label.save": [ @@ -934,31 +1084,37 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "Ara" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Seç" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Tarih seç" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Rol seç" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Web sitesi seç" + } + ], + "label.session": [ + { + "type": 0, + "value": "Session" } ], "label.sessions": [ @@ -985,16 +1141,22 @@ "value": "Tekil gün" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Adımlar" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Toplam" } ], "label.tablet": [ @@ -1006,55 +1168,61 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "Takım" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "Takım ID" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "Takım üyesi" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Takım ismi" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "Takım sahibi" } ], "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Yalnızca ekip görünümü" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Takım web siteleri" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "Takımlar" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "Tema" } ], "label.this-month": [ @@ -1084,7 +1252,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "Başlık" } ], "label.today": [ @@ -1096,19 +1264,19 @@ "label.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "Grafikleri değiştir" } ], "label.total": [ { "type": 0, - "value": "Total" + "value": "Toplam" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Toplam kayıt" } ], "label.tracking-code": [ @@ -1117,6 +1285,12 @@ "value": "İzleme kodu" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1126,25 +1300,25 @@ "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Transfer web sitesi" } ], "label.true": [ { "type": 0, - "value": "True" + "value": "Doğru" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Tip" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Benzersiz" } ], "label.unique-visitors": [ @@ -1153,6 +1327,12 @@ "value": "Tekil kullanıcı" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1162,13 +1342,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "İsimsiz" } ], "label.update": [ { "type": 0, - "value": "Update" + "value": "Güncelle" } ], "label.url": [ @@ -1186,7 +1366,13 @@ "label.user": [ { "type": 0, - "value": "User" + "value": "Kullanıcı" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" } ], "label.username": [ @@ -1198,7 +1384,7 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "Kullanıcılar" } ], "label.utm": [ @@ -1210,19 +1396,19 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Kampanyalarınızı UTM parametreleri aracılığıyla takip edin." } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Değer" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "Görünüm" } ], "label.view-details": [ @@ -1234,7 +1420,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Sadece görünüm" } ], "label.views": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Ziyaret başına görüntüleme" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Ortalama ziyaret süresi" } ], "label.visitors": [ @@ -1258,13 +1450,13 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Ziyaretler" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Web sitesi" } ], "label.website-id": [ @@ -1282,19 +1474,19 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "Pencere" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "Dün" } ], "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Onaylamak için aşağıdaki kutuya " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " yazın." } ], "message.active-users": [ @@ -1315,6 +1507,12 @@ "value": " aktif ziyaretçi" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 1, @@ -1326,57 +1524,45 @@ } ], "message.confirm-leave": [ - { - "type": 0, - "value": "Are you sure you want to leave " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "?" + "value": " kaydından ayrılmak istediğinizden emin misiniz?" } ], "message.confirm-remove": [ - { - "type": 0, - "value": "Are you sure you want to remove " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "?" + "value": " kaydını kaldırmak istediğinizden emin misiniz?" } ], "message.confirm-reset": [ - { - "type": 0, - "value": "Are your sure you want to reset " - }, { "type": 1, "value": "target" }, { "type": 0, - "value": "'s statistics?" + "value": " istatistiklerini sıfırlamak istediğinizden emin misiniz?" } ], "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Bir takımı silmek tüm takım web sitelerini de silecektir." } ], "message.delete-website-warning": [ { "type": 0, - "value": "İlişkili tüm veriler de silinecektir." + "value": "İlişkili tüm veriler de silinecektir." } ], "message.error": [ @@ -1420,7 +1606,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "Minimum " }, { "type": 1, @@ -1428,13 +1614,13 @@ }, { "type": 0, - "value": " characters" + "value": " karakter uzunluğu" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Yeni versiyon Umami " }, { "type": 1, @@ -1442,7 +1628,7 @@ }, { "type": 0, - "value": " is available!" + "value": " mevcut!" } ], "message.no-data-available": [ @@ -1454,7 +1640,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Hiçbir olay verisi mevcut değil." } ], "message.no-match-password": [ @@ -1466,25 +1652,25 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Hiçbir sonuç bulunamadı." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "Bu takımın herhangi bir web sitesi yok." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "Herhangi bir takım oluşturmadınız." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "Kullanıcı yok." } ], "message.no-websites-configured": [ @@ -1502,7 +1688,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Bu websitesini sıfılamak için aşağıdaki kutuya " }, { "type": 1, @@ -1510,13 +1696,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " yazın." } ], "message.reset-website-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "Bu web sitesi için tüm istatistikler silinecek, ancak izleme kodunuz bozulmadan kalacaktır." } ], "message.saved": [ @@ -1538,19 +1724,19 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "Zaten bu takımın üyesisiniz" } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "Takım bulunamadı" } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Web siteleri takımdaki herkes tarafından görüntülenebilir." } ], "message.tracking-code": [ @@ -1562,37 +1748,37 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Bu web sitesi hesbınıza aktarılsın mı?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Bu web sitesinin aktarılacağı takımı seçin." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Web sitesi sahipliğini hesabınıza veya başka bir takıma aktarın" } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Tetiklenen olay" } ], "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "Kullanıcı silindi." } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Görüntülenen sayfa" } ], "message.visitor-log": [ @@ -1632,7 +1818,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Bırakan ziyaretçiler" } ] } diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index 56b46ea6..0f68c805 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Код доступу" } ], "label.actions": [ @@ -11,34 +11,34 @@ "value": "Дії" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "Activity log" + "value": "Журнал" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Додати" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Додати опис" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Додати учасника" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "Додати крок" } ], "label.add-website": [ @@ -56,7 +56,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Після" } ], "label.all": [ @@ -74,19 +74,13 @@ "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "Аналітика" } ], "label.average": [ { "type": 0, - "value": "Average" - } - ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Середній час візиту" + "value": "Середній" } ], "label.back": [ @@ -98,7 +92,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "До" } ], "label.bounce-rate": [ @@ -110,13 +104,13 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Розподіл" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Браузер" } ], "label.browsers": [ @@ -140,25 +134,31 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Міста" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Місто" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Очистити все" + } + ], + "label.compare": [ + { + "type": 0, + "value": "Compare" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Підтвердити" } ], "label.confirm-password": [ @@ -170,13 +170,19 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Містить" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "Продовжити" + } + ], + "label.count": [ + { + "type": 0, + "value": "Count" } ], "label.countries": [ @@ -188,43 +194,49 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Країна" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Створити" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Створити звіт" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Створити команду" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Створити користувача" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "Створено" } ], "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Створено" + } + ], + "label.current": [ + { + "type": 0, + "value": "Current" } ], "label.current-password": [ @@ -248,13 +260,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Дані" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Дата" } ], "label.date-range": [ @@ -266,7 +278,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "День" } ], "label.default-date-range": [ @@ -284,19 +296,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Видалити звіт" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Видалити команду" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Видалити користувача" } ], "label.delete-website": [ @@ -308,7 +320,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Опис" } ], "label.desktop": [ @@ -320,13 +332,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Деталі" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Пристрій" } ], "label.devices": [ @@ -344,7 +356,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Не містить" } ], "label.domain": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Відсів" } ], "label.edit": [ @@ -380,19 +392,31 @@ "label.enable-share-url": [ { "type": 0, - "value": "Дозволити ділитися посиланням" + "value": "Enable share URL" + } + ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" } ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Подія" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Дані події" } ], "label.events": [ @@ -401,6 +425,12 @@ "value": "Події" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -410,19 +440,19 @@ "label.field": [ { "type": 0, - "value": "Field" + "value": "Поле" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Поля" } ], "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Фільтр" } ], "label.filter-combined": [ @@ -440,85 +470,133 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Фільтри" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Воронка" } ], "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Зрозуміти рівень конверсії та відсіву користувачів." + } + ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Більше ніж" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Більше або рівно" + } + ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Інсайти" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Зануртеся глибше у свої дані за допомогою сегментів та фільтрів." } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "Є" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Не є" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Не встановлено" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Встановлено" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "Приєднатись" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "Приєднатись до команди" + } + ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "Мова" } ], "label.languages": [ @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "Останні " }, { "type": 1, @@ -572,31 +650,37 @@ }, { "type": 0, - "value": " months" + "value": " місяців" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Покинути" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Покинути команду" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Менше ніж" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Менше або дорівнює" } ], "label.login": [ @@ -614,31 +698,37 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Керувати" + } + ], + "label.manager": [ + { + "type": 0, + "value": "Manager" } ], "label.max": [ { "type": 0, - "value": "Max" + "value": "Макс." } ], "label.member": [ { "type": 0, - "value": "Member" + "value": "Учасник" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Учасники" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "Мін." } ], "label.mobile": [ @@ -656,13 +746,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Мій обліковий запис" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Мої сайти" } ], "label.name": [ @@ -680,7 +770,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "Нічого" } ], "label.number-of-records": [ @@ -726,13 +816,13 @@ "label.os": [ { "type": 0, - "value": "OS" + "value": "ОС" } ], "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Огляд" } ], "label.owner": [ @@ -744,7 +834,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Сторінка " }, { "type": 1, @@ -752,7 +842,7 @@ }, { "type": 0, - "value": " of " + "value": " з " }, { "type": 1, @@ -768,7 +858,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Заголовок сторінки" } ], "label.pages": [ @@ -783,6 +873,18 @@ "value": "Пароль" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,28 +895,58 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Профіль" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, - "value": "Queries" + "value": "Запити" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Запит" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Параметри запиту" } ], "label.realtime": [ @@ -826,7 +958,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Джерело" } ], "label.referrers": [ @@ -844,37 +976,37 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "Згенерувати знову" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "Регіон" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "Регіони" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "Видалити" } ], "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Видалити користувача" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Звіти" } ], "label.required": [ @@ -898,25 +1030,43 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Липкість" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Виміряйте липкість вашого сайту, відстежуючи, як часто користувачі повертаються на нього." + } + ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "Роль" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Виконати запит" } ], "label.save": [ @@ -928,43 +1078,49 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "Екрани" } ], "label.search": [ { "type": 0, - "value": "Search" + "value": "Пошук" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Вибрати" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Вибрати дату" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Вибрати роль" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Вибрати сайт" + } + ], + "label.session": [ + { + "type": 0, + "value": "Session" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Сесії" } ], "label.settings": [ @@ -985,16 +1141,22 @@ "value": "Один день" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "Кроки" } ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Сума" } ], "label.tablet": [ @@ -1006,55 +1168,61 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "Команда" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "Ідентифікатор команди" + } + ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "Учасник команди" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Назва команди" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "Власник команди" } ], "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Тільки для командного перегляду" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Сайти команди" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "Команди" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "Тема" } ], "label.this-month": [ @@ -1084,7 +1252,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "Заголовок" } ], "label.today": [ @@ -1102,13 +1270,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "Всього" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Всього записів" } ], "label.tracking-code": [ @@ -1117,16 +1285,22 @@ "value": "Код для відслідковування" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Передати" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Передати сайт" } ], "label.true": [ @@ -1138,13 +1312,13 @@ "label.type": [ { "type": 0, - "value": "Type" + "value": "Тип" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Унікальний" } ], "label.unique-visitors": [ @@ -1153,6 +1327,12 @@ "value": "Унікальні відвідувачі" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1162,13 +1342,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Без заголовку" } ], "label.update": [ { "type": 0, - "value": "Update" + "value": "Оновлення" } ], "label.url": [ @@ -1186,7 +1366,13 @@ "label.user": [ { "type": 0, - "value": "User" + "value": "Користувач" + } + ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" } ], "label.username": [ @@ -1198,7 +1384,7 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "Користувачі" } ], "label.utm": [ @@ -1210,19 +1396,19 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "Відстежуйте свої кампанії за допомогою параметрів UTM." } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Значення" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "Перегляд" } ], "label.view-details": [ @@ -1234,7 +1420,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Тільки для перегляду" } ], "label.views": [ @@ -1246,7 +1432,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "Перегляди за одне відвідування" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" } ], "label.visitors": [ @@ -1258,19 +1450,19 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "Відвідування" } ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Сайт" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "Ідентифікатор сайту" } ], "label.websites": [ @@ -1282,19 +1474,19 @@ "label.window": [ { "type": 0, - "value": "Window" + "value": "Вікно" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "Вчора" } ], "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Введіть " }, { "type": 1, @@ -1302,7 +1494,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " у полі нижче, щоб підтвердити." } ], "message.active-users": [ @@ -1315,6 +1507,12 @@ "value": " поточних відвідувачів" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, @@ -1332,7 +1530,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "Ви впевнені, що бажаєте покинути " }, { "type": 1, @@ -1346,7 +1544,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Ви впевнені, що бажаєте видалити " }, { "type": 1, @@ -1374,7 +1572,7 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Видалення команди також призведе до видалення всіх її веб-сайтів." } ], "message.delete-website-warning": [ @@ -1396,7 +1594,7 @@ }, { "type": 0, - "value": " on " + "value": " на " }, { "type": 1, @@ -1424,7 +1622,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "Мінімальна довжина " }, { "type": 1, @@ -1432,13 +1630,13 @@ }, { "type": 0, - "value": " characters" + "value": " символів" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Вийшла нова версія Umami " }, { "type": 1, @@ -1446,7 +1644,7 @@ }, { "type": 0, - "value": " is available!" + "value": "!" } ], "message.no-data-available": [ @@ -1458,7 +1656,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Дані про події відсутні." } ], "message.no-match-password": [ @@ -1470,25 +1668,25 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Не знайдено жодного результату." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "У цієї команди немає жодного веб-сайту." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "Ви не створили жодної команди." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "Немає жодного користувача." } ], "message.no-websites-configured": [ @@ -1506,7 +1704,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Щоб скинути налаштування цього веб-сайту, введіть " }, { "type": 1, @@ -1514,7 +1712,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " у полі нижче для підтвердження." } ], "message.reset-website-warning": [ @@ -1546,19 +1744,19 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "Ви вже є членом команди." } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "Команду не знайдено." } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Веб-сайти може переглядати будь-хто з команди." } ], "message.tracking-code": [ @@ -1570,37 +1768,37 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Перенести цей сайт до свого облікового запису?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Виберіть команду, до якої ви хочете передати цей веб-сайт." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Передайте право власності на сайт своєму акаунту або іншій команді." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Подія, що спрацювала" } ], "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "Користувача видалено." } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Переглянута сторінка" } ], "message.visitor-log": [ @@ -1640,7 +1838,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Користувачі що відсіялись" } ] } diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 184043b4..2652fcfa 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -11,7 +11,7 @@ "value": "اعمال" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "وزٹ کا اوسط وقت" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "شیئر یو آر ایل کو فعال کریں" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "واقعات" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -575,6 +653,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -617,6 +701,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -783,6 +873,18 @@ "value": "پاس ورڈ" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -793,12 +895,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "پروفائل" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -907,6 +1039,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -961,6 +1111,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -985,6 +1141,12 @@ "value": "ایک دن" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1015,6 +1177,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1117,6 +1285,12 @@ "value": "ٹریکنگ کوڈ" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1153,6 +1327,12 @@ "value": "منفرد زائرین" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1189,6 +1369,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1249,6 +1435,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "وزٹ کا اوسط وقت" + } + ], "label.visitors": [ { "type": 0, @@ -1339,6 +1531,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index fe5943ac..68a301ae 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -11,7 +11,7 @@ "value": "Hành động" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "Activity log" @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Thời gian truy cập trung bình" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "Clear all" } ], + "label.compare": [ + { + "type": 0, + "value": "Compare" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "Continue" } ], + "label.count": [ + { + "type": 0, + "value": "Count" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "Created By" } ], + "label.current": [ + { + "type": 0, + "value": "Current" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "Bật khả năng chia sẻ URL" } ], + "label.end-step": [ + { + "type": 0, + "value": "End Step" + } + ], + "label.entry": [ + { + "type": 0, + "value": "Entry URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "Sự kiện" } ], + "label.exit": [ + { + "type": 0, + "value": "Exit URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "Filters" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "Understand the conversion and drop-off rate of users." } ], + "label.goal": [ + { + "type": 0, + "value": "Goal" + } + ], + "label.goals": [ + { + "type": 0, + "value": "Goals" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "Track your goals for pageviews and events." + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "Greater than or equals" } ], + "label.host": [ + { + "type": 0, + "value": "Host" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "Hosts" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "Join team" } ], + "label.journey": [ + { + "type": 0, + "value": "Journey" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "Understand how users navigate through your website." + } + ], "label.language": [ { "type": 0, @@ -567,6 +645,12 @@ "value": " months" } ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" + } + ], "label.leave": [ { "type": 0, @@ -609,6 +693,12 @@ "value": "Manage" } ], + "label.manager": [ + { + "type": 0, + "value": "Manager" + } + ], "label.max": [ { "type": 0, @@ -775,6 +865,18 @@ "value": "Mật khẩu" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -785,12 +887,42 @@ "value": "name" } ], + "label.previous": [ + { + "type": 0, + "value": "Previous" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "Previous period" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "Previous year" + } + ], "label.profile": [ { "type": 0, "value": "Hồ sơ" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "Property" + } + ], "label.queries": [ { "type": 0, @@ -899,6 +1031,24 @@ "value": "Measure your website stickiness by tracking how often users return." } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -953,6 +1103,12 @@ "value": "Select website" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -977,6 +1133,12 @@ "value": "Trong ngày" } ], + "label.start-step": [ + { + "type": 0, + "value": "Start Step" + } + ], "label.steps": [ { "type": 0, @@ -1007,6 +1169,12 @@ "value": "Team ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "Team manager" + } + ], "label.team-member": [ { "type": 0, @@ -1109,6 +1277,12 @@ "value": "Mã theo dõi" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1145,6 +1319,12 @@ "value": "Khách truy cập một lần" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1181,6 +1361,12 @@ "value": "User" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1241,6 +1427,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Thời gian truy cập trung bình" + } + ], "label.visitors": [ { "type": 0, @@ -1331,6 +1523,12 @@ "value": "x" } ], + "message.collected-data": [ + { + "type": 0, + "value": "Collected data" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index 61f55c6d..b3e97b9b 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -11,7 +11,7 @@ "value": "用户行为" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, "value": "活动日志" @@ -38,7 +38,7 @@ "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "添加步骤" } ], "label.add-website": [ @@ -83,12 +83,6 @@ "value": "平均" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "平均访问时间" - } - ], "label.back": [ { "type": 0, @@ -155,6 +149,12 @@ "value": "清除全部" } ], + "label.compare": [ + { + "type": 0, + "value": "比较" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "继续" } ], + "label.count": [ + { + "type": 0, + "value": "统计" + } + ], "label.countries": [ { "type": 0, @@ -227,6 +233,12 @@ "value": "创建者" } ], + "label.current": [ + { + "type": 0, + "value": "目前" + } + ], "label.current-password": [ { "type": 0, @@ -383,6 +395,18 @@ "value": "启用共享链接" } ], + "label.end-step": [ + { + "type": 0, + "value": "结束步骤" + } + ], + "label.entry": [ + { + "type": 0, + "value": "入口 URL" + } + ], "label.event": [ { "type": 0, @@ -401,6 +425,12 @@ "value": "行为类别" } ], + "label.exit": [ + { + "type": 0, + "value": "退出 URL" + } + ], "label.false": [ { "type": 0, @@ -443,6 +473,12 @@ "value": "筛选" } ], + "label.first-seen": [ + { + "type": 0, + "value": "First seen" + } + ], "label.funnel": [ { "type": 0, @@ -455,6 +491,24 @@ "value": "了解用户的转换率和退出率。" } ], + "label.goal": [ + { + "type": 0, + "value": "目标" + } + ], + "label.goals": [ + { + "type": 0, + "value": "目标" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "跟踪页面浏览量和事件的目标。" + } + ], "label.greater-than": [ { "type": 0, @@ -467,6 +521,18 @@ "value": "大于或等于" } ], + "label.host": [ + { + "type": 0, + "value": "主机" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "主机" + } + ], "label.insights": [ { "type": 0, @@ -515,6 +581,18 @@ "value": "加入团队" } ], + "label.journey": [ + { + "type": 0, + "value": "用户浏览轨迹" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "了解用户如何浏览网站。" + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "最近 " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " 个月" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "Last seen" } ], "label.leave": [ @@ -617,6 +701,12 @@ "value": "管理" } ], + "label.manager": [ + { + "type": 0, + "value": "管理者" + } + ], "label.max": [ { "type": 0, @@ -720,7 +810,7 @@ "label.ok": [ { "type": 0, - "value": "OK" + "value": "好的" } ], "label.os": [ @@ -787,6 +877,18 @@ "value": "密码" } ], + "label.path": [ + { + "type": 0, + "value": "Path" + } + ], + "label.paths": [ + { + "type": 0, + "value": "Paths" + } + ], "label.powered-by": [ { "type": 0, @@ -801,12 +903,42 @@ "value": " 提供支持" } ], + "label.previous": [ + { + "type": 0, + "value": "先前" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "上一时期" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "上一年" + } + ], "label.profile": [ { "type": 0, "value": "个人资料" } ], + "label.properties": [ + { + "type": 0, + "value": "Properties" + } + ], + "label.property": [ + { + "type": 0, + "value": "属性" + } + ], "label.queries": [ { "type": 0, @@ -915,6 +1047,24 @@ "value": "通过跟踪用户返回的频率来衡量网站的用户粘性。" } ], + "label.revenue": [ + { + "type": 0, + "value": "Revenue" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "Look into your revenue across time." + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "Revenue Property" + } + ], "label.role": [ { "type": 0, @@ -969,6 +1119,12 @@ "value": "选择网站" } ], + "label.session": [ + { + "type": 0, + "value": "Session" + } + ], "label.sessions": [ { "type": 0, @@ -993,10 +1149,16 @@ "value": "单日" } ], + "label.start-step": [ + { + "type": 0, + "value": "开始步骤" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "步骤" } ], "label.sum": [ @@ -1023,6 +1185,12 @@ "value": "团队 ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "团队管理者" + } + ], "label.team-member": [ { "type": 0, @@ -1125,6 +1293,12 @@ "value": "跟踪代码" } ], + "label.transactions": [ + { + "type": 0, + "value": "Transactions" + } + ], "label.transfer": [ { "type": 0, @@ -1161,6 +1335,12 @@ "value": "独立访客" } ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "Unique Customers" + } + ], "label.unknown": [ { "type": 0, @@ -1176,7 +1356,7 @@ "label.update": [ { "type": 0, - "value": "Update" + "value": "更新" } ], "label.url": [ @@ -1197,6 +1377,12 @@ "value": "用户" } ], + "label.user-property": [ + { + "type": 0, + "value": "User Property" + } + ], "label.username": [ { "type": 0, @@ -1218,7 +1404,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "通过UTM参数追踪您的广告活动。" } ], "label.value": [ @@ -1254,7 +1440,13 @@ "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "每次访问的浏览量" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "平均访问时间" } ], "label.visitors": [ @@ -1266,7 +1458,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "访问次数" } ], "label.website": [ @@ -1327,6 +1519,12 @@ "value": " 人" } ], + "message.collected-data": [ + { + "type": 0, + "value": "已收集的数据" + } + ], "message.confirm-delete": [ { "type": 0, diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index e703beb9..d8fb3d42 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -8,13 +8,13 @@ "label.actions": [ { "type": 0, - "value": "行動" + "value": "行為" } ], - "label.activity-log": [ + "label.activity": [ { "type": 0, - "value": "活動日誌" + "value": "活動紀錄" } ], "label.add": [ @@ -32,13 +32,13 @@ "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "新增成員" } ], "label.add-step": [ { "type": 0, - "value": "Add step" + "value": "新增步驟" } ], "label.add-website": [ @@ -83,12 +83,6 @@ "value": "平均" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "平均造訪時間" - } - ], "label.back": [ { "type": 0, @@ -110,7 +104,7 @@ "label.breakdown": [ { "type": 0, - "value": "分解" + "value": "細項分析" } ], "label.browser": [ @@ -155,6 +149,12 @@ "value": "全部清除" } ], + "label.compare": [ + { + "type": 0, + "value": "比較" + } + ], "label.confirm": [ { "type": 0, @@ -179,6 +179,12 @@ "value": "繼續" } ], + "label.count": [ + { + "type": 0, + "value": "數量" + } + ], "label.countries": [ { "type": 0, @@ -200,7 +206,7 @@ "label.create-report": [ { "type": 0, - "value": "建立報告" + "value": "建立報表" } ], "label.create-team": [ @@ -224,7 +230,13 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "建立者" + } + ], + "label.current": [ + { + "type": 0, + "value": "目前" } ], "label.current-password": [ @@ -284,7 +296,7 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "刪除報表" } ], "label.delete-team": [ @@ -356,7 +368,7 @@ "label.dropoff": [ { "type": 0, - "value": "退出" + "value": "離開" } ], "label.edit": [ @@ -374,13 +386,25 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "編輯成員" } ], "label.enable-share-url": [ { "type": 0, - "value": "啟用分享網址" + "value": "啟用分享連結" + } + ], + "label.end-step": [ + { + "type": 0, + "value": "結束步驟" + } + ], + "label.entry": [ + { + "type": 0, + "value": "進入網址" } ], "label.event": [ @@ -401,6 +425,12 @@ "value": "事件" } ], + "label.exit": [ + { + "type": 0, + "value": "離開網址" + } + ], "label.false": [ { "type": 0, @@ -440,19 +470,43 @@ "label.filters": [ { "type": 0, - "value": "篩選器" + "value": "篩選條件" + } + ], + "label.first-seen": [ + { + "type": 0, + "value": "首次造訪" } ], "label.funnel": [ { "type": 0, - "value": "漏斗" + "value": "漏斗分析" } ], "label.funnel-description": [ { "type": 0, - "value": "瞭解使用者的轉換率和退出率" + "value": "瞭解使用者的轉換率與流失率。" + } + ], + "label.goal": [ + { + "type": 0, + "value": "目標" + } + ], + "label.goals": [ + { + "type": 0, + "value": "目標" + } + ], + "label.goals-description": [ + { + "type": 0, + "value": "追蹤網頁瀏覽和事件的目標。" } ], "label.greater-than": [ @@ -467,6 +521,18 @@ "value": "大於或等於" } ], + "label.host": [ + { + "type": 0, + "value": "主機名稱" + } + ], + "label.hosts": [ + { + "type": 0, + "value": "主機名稱" + } + ], "label.insights": [ { "type": 0, @@ -476,7 +542,7 @@ "label.insights-description": [ { "type": 0, - "value": "透過使用區段和篩選器來深入探索你的數據" + "value": "使用區段和篩選器來深入分析您的資料。" } ], "label.is": [ @@ -515,6 +581,18 @@ "value": "加入團隊" } ], + "label.journey": [ + { + "type": 0, + "value": "使用者旅程" + } + ], + "label.journey-description": [ + { + "type": 0, + "value": "瞭解使用者如何瀏覽您的網站。" + } + ], "label.language": [ { "type": 0, @@ -564,7 +642,7 @@ "label.last-months": [ { "type": 0, - "value": "Last " + "value": "最近 " }, { "type": 1, @@ -572,7 +650,13 @@ }, { "type": 0, - "value": " months" + "value": " 個月" + } + ], + "label.last-seen": [ + { + "type": 0, + "value": "最後造訪" } ], "label.leave": [ @@ -614,19 +698,25 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "管理" + } + ], + "label.manager": [ + { + "type": 0, + "value": "管理者" } ], "label.max": [ { "type": 0, - "value": "最大" + "value": "最大值" } ], "label.member": [ { "type": 0, - "value": "Member" + "value": "成員" } ], "label.members": [ @@ -638,7 +728,7 @@ "label.min": [ { "type": 0, - "value": "最小" + "value": "最小值" } ], "label.mobile": [ @@ -656,7 +746,7 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "我的帳號" } ], "label.my-websites": [ @@ -690,31 +780,7 @@ }, { "type": 0, - "value": " " - }, - { - "offset": 0, - "options": { - "one": { - "value": [ - { - "type": 0, - "value": "record" - } - ] - }, - "other": { - "value": [ - { - "type": 0, - "value": "records" - } - ] - } - }, - "pluralType": "cardinal", - "type": 6, - "value": "x" + "value": " 筆紀錄" } ], "label.ok": [ @@ -732,7 +798,7 @@ "label.overview": [ { "type": 0, - "value": "概覽" + "value": "總覽" } ], "label.owner": [ @@ -744,7 +810,7 @@ "label.page-of": [ { "type": 0, - "value": "頁面 " + "value": "第 " }, { "type": 1, @@ -752,29 +818,33 @@ }, { "type": 0, - "value": " / " + "value": " 頁,共 " }, { "type": 1, "value": "total" + }, + { + "type": 0, + "value": " 頁" } ], "label.page-views": [ { "type": 0, - "value": "頁面瀏覽" + "value": "網頁瀏覽次數" } ], "label.pageTitle": [ { "type": 0, - "value": "頁面標題" + "value": "網頁標題" } ], "label.pages": [ { "type": 0, - "value": "頁面" + "value": "網頁" } ], "label.password": [ @@ -783,6 +853,18 @@ "value": "密碼" } ], + "label.path": [ + { + "type": 0, + "value": "路徑" + } + ], + "label.paths": [ + { + "type": 0, + "value": "路徑" + } + ], "label.powered-by": [ { "type": 0, @@ -794,13 +876,43 @@ }, { "type": 0, - "value": " 提供" + "value": " 提供技術支援" + } + ], + "label.previous": [ + { + "type": 0, + "value": "上一個" + } + ], + "label.previous-period": [ + { + "type": 0, + "value": "上一期間" + } + ], + "label.previous-year": [ + { + "type": 0, + "value": "去年" } ], "label.profile": [ { "type": 0, - "value": "個人資料" + "value": "個人檔案" + } + ], + "label.properties": [ + { + "type": 0, + "value": "屬性" + } + ], + "label.property": [ + { + "type": 0, + "value": "屬性" } ], "label.queries": [ @@ -854,13 +966,13 @@ "label.region": [ { "type": 0, - "value": "區域" + "value": "地區" } ], "label.regions": [ { "type": 0, - "value": "區域" + "value": "地區" } ], "label.remove": [ @@ -872,13 +984,13 @@ "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "移除成員" } ], "label.reports": [ { "type": 0, - "value": "報告" + "value": "報表" } ], "label.required": [ @@ -896,13 +1008,13 @@ "label.reset-website": [ { "type": 0, - "value": "重設網站" + "value": "重設網站統計資料" } ], "label.retention": [ { "type": 0, - "value": "保留" + "value": "留存率" } ], "label.retention-description": [ @@ -911,6 +1023,24 @@ "value": "透過追蹤使用者回訪的頻率來衡量您的網站黏著度。" } ], + "label.revenue": [ + { + "type": 0, + "value": "營收" + } + ], + "label.revenue-description": [ + { + "type": 0, + "value": "查看您的營收趨勢。" + } + ], + "label.revenue-property": [ + { + "type": 0, + "value": "營收屬性" + } + ], "label.role": [ { "type": 0, @@ -938,31 +1068,37 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "搜尋" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "選取" } ], "label.select-date": [ { "type": 0, - "value": "選擇日期" + "value": "選取日期" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "選取角色" } ], "label.select-website": [ { "type": 0, - "value": "選擇網站" + "value": "選取網站" + } + ], + "label.session": [ + { + "type": 0, + "value": "工作階段" } ], "label.sessions": [ @@ -980,7 +1116,7 @@ "label.share-url": [ { "type": 0, - "value": "分享網址" + "value": "分享連結" } ], "label.single-day": [ @@ -989,10 +1125,16 @@ "value": "單日" } ], + "label.start-step": [ + { + "type": 0, + "value": "起始步驟" + } + ], "label.steps": [ { "type": 0, - "value": "Steps" + "value": "步驟" } ], "label.sum": [ @@ -1019,6 +1161,12 @@ "value": "團隊 ID" } ], + "label.team-manager": [ + { + "type": 0, + "value": "團隊管理者" + } + ], "label.team-member": [ { "type": 0, @@ -1040,7 +1188,7 @@ "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "團隊僅供檢視" } ], "label.team-websites": [ @@ -1112,7 +1260,7 @@ "label.total-records": [ { "type": 0, - "value": "總記錄" + "value": "紀錄總數" } ], "label.tracking-code": [ @@ -1121,16 +1269,22 @@ "value": "追蹤代碼" } ], + "label.transactions": [ + { + "type": 0, + "value": "交易" + } + ], "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "轉移" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "轉移網站" } ], "label.true": [ @@ -1148,13 +1302,19 @@ "label.unique": [ { "type": 0, - "value": "獨立" + "value": "不重複" } ], "label.unique-visitors": [ { "type": 0, - "value": "獨立訪客" + "value": "不重複訪客" + } + ], + "label.uniqueCustomers": [ + { + "type": 0, + "value": "不重複客戶" } ], "label.unknown": [ @@ -1166,13 +1326,13 @@ "label.untitled": [ { "type": 0, - "value": "無標題" + "value": "未命名" } ], "label.update": [ { "type": 0, - "value": "Update" + "value": "更新" } ], "label.url": [ @@ -1193,6 +1353,12 @@ "value": "使用者" } ], + "label.user-property": [ + { + "type": 0, + "value": "使用者屬性" + } + ], "label.username": [ { "type": 0, @@ -1214,7 +1380,7 @@ "label.utm-description": [ { "type": 0, - "value": "Track your campaigns through UTM parameters." + "value": "透過 UTM 參數追蹤您的行銷活動。" } ], "label.value": [ @@ -1244,13 +1410,19 @@ "label.views": [ { "type": 0, - "value": "檢視" + "value": "瀏覽次數" } ], "label.views-per-visit": [ { "type": 0, - "value": "Views per visit" + "value": "每次造訪的瀏覽次數" + } + ], + "label.visit-duration": [ + { + "type": 0, + "value": "造訪時間" } ], "label.visitors": [ @@ -1262,7 +1434,7 @@ "label.visits": [ { "type": 0, - "value": "Visits" + "value": "造訪次數" } ], "label.website": [ @@ -1298,7 +1470,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "請在下方欄位輸入 " }, { "type": 1, @@ -1306,7 +1478,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " 以確認。" } ], "message.active-users": [ @@ -1320,7 +1492,13 @@ }, { "type": 0, - "value": " 個活躍的訪客" + "value": " 位訪客" + } + ], + "message.collected-data": [ + { + "type": 0, + "value": "已蒐集的資料" } ], "message.confirm-delete": [ @@ -1354,7 +1532,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "您確定要移除 " }, { "type": 1, @@ -1362,7 +1540,7 @@ }, { "type": 0, - "value": "?" + "value": " 嗎?" } ], "message.confirm-reset": [ @@ -1376,19 +1554,19 @@ }, { "type": 0, - "value": " 嗎?" + "value": " 的統計資料嗎?" } ], "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "刪除團隊的同時也會刪除所有團隊的網站。" } ], "message.delete-website-warning": [ { "type": 0, - "value": "所有網站資料將被刪除。" + "value": "所有網站資料都將被刪除。" } ], "message.error": [ @@ -1398,17 +1576,21 @@ } ], "message.event-log": [ - { - "type": 1, - "value": "event" - }, { "type": 0, - "value": " 在 " + "value": "在 " }, { "type": 1, "value": "url" + }, + { + "type": 0, + "value": " 上的 " + }, + { + "type": 1, + "value": "event" } ], "message.go-to-settings": [ @@ -1420,19 +1602,19 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "使用者名稱和/或密碼不正確。" + "value": "使用者名稱或密碼不正確。" } ], "message.invalid-domain": [ { "type": 0, - "value": "無效的網域。請不要包含 http/https。" + "value": "無效的網域。請勿包含 http/https。" } ], "message.min-password-length": [ { "type": 0, - "value": "最少需要 " + "value": "密碼長度至少需 " }, { "type": 1, @@ -1454,7 +1636,7 @@ }, { "type": 0, - "value": " 的新版本已經可以使用!" + "value": " 的新版本已推出!" } ], "message.no-data-available": [ @@ -1496,7 +1678,7 @@ "message.no-users": [ { "type": 0, - "value": "沒有使用者。" + "value": "沒有任何使用者。" } ], "message.no-websites-configured": [ @@ -1508,13 +1690,13 @@ "message.page-not-found": [ { "type": 0, - "value": "找不到頁面" + "value": "找不到網頁" } ], "message.reset-website": [ { "type": 0, - "value": "要重設此網站,請在下方的方框中輸入 " + "value": "要重設此網站的統計資料,請在下方欄位輸入 " }, { "type": 1, @@ -1528,7 +1710,7 @@ "message.reset-website-warning": [ { "type": 0, - "value": "此網站的所有統計將被刪除,但您的設定將保持不變。" + "value": "此網站的所有統計資料都將被刪除,但您的設定將保持不變。" } ], "message.saved": [ @@ -1540,13 +1722,13 @@ "message.share-url": [ { "type": 0, - "value": "您的網站統計資料可以在以下網址公開檢視:" + "value": "您的網站統計資料可在以下網址公開檢視:" } ], "message.team-already-member": [ { "type": 0, - "value": "您已經是團隊的成員。" + "value": "您已是該團隊的成員。" } ], "message.team-not-found": [ @@ -1558,13 +1740,13 @@ "message.team-websites-info": [ { "type": 0, - "value": "團隊的任何成員都可以檢視網站。" + "value": "團隊中的所有成員都可以檢視網站。" } ], "message.tracking-code": [ { "type": 0, - "value": "要追蹤此網站的統計,請將以下代碼放在您的 HTML 的 " + "value": "要追蹤此網站的統計資料,請將以下程式碼放在您 HTML 的 " }, { "children": [ @@ -1584,25 +1766,25 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "要將此網站轉移至您的帳號嗎?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "請選擇要轉移此網站的團隊。" } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "將網站所有權轉移至您的帳號或其他團隊。" } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "已觸發的事件" } ], "message.user-deleted": [ @@ -1614,7 +1796,7 @@ "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "已瀏覽的網頁" } ], "message.visitor-log": [ @@ -1658,7 +1840,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "訪客已離開" } ] } diff --git a/scripts/check-db.js b/scripts/check-db.js index 757843ac..cdfeafa3 100644 --- a/scripts/check-db.js +++ b/scripts/check-db.js @@ -44,7 +44,7 @@ async function checkConnection() { success('Database connection successful.'); } catch (e) { - throw new Error('Unable to connect to the database.'); + throw new Error('Unable to connect to the database: ' + e.message); } } diff --git a/scripts/check-env.js b/scripts/check-env.js index a68fd822..280e7e39 100644 --- a/scripts/check-env.js +++ b/scripts/check-env.js @@ -22,14 +22,6 @@ if (!process.env.SKIP_DB_CHECK && !process.env.DATABASE_TYPE) { checkMissing(['DATABASE_URL']); } -if (process.env.CLICKHOUSE_URL) { - checkMissing(['CA_CERT', 'CLIENT_CERT', 'CLIENT_KEY', 'KAFKA_BROKER', 'KAFKA_URL', 'REDIS_URL']); -} - if (process.env.CLOUD_MODE) { - checkMissing(['CLOUD_URL']); -} - -if (process.env.ENABLE_BLOCKER) { - checkMissing(['REDIS_URL']); + checkMissing(['CLOUD_URL', 'KAFKA_BROKER', 'KAFKA_URL', 'REDIS_URL']); } diff --git a/scripts/start-env.js b/scripts/start-env.js index e9fe2a4b..264c4e92 100644 --- a/scripts/start-env.js +++ b/scripts/start-env.js @@ -2,7 +2,6 @@ require('dotenv').config(); const cli = require('next/dist/cli/next-start'); cli.nextStart({ - '--port': process.env.PORT || 3000, - '--hostname': process.env.HOSTNAME || '0.0.0.0', - _: [], + port: process.env.PORT || 3000, + hostname: process.env.HOSTNAME || '0.0.0.0', }); diff --git a/scripts/telemetry.js b/scripts/telemetry.js index 24cd40c9..27110cd4 100644 --- a/scripts/telemetry.js +++ b/scripts/telemetry.js @@ -15,9 +15,9 @@ async function sendTelemetry(type) { node: process.version, platform: os.platform(), arch: os.arch(), - os: `${os.type()} (${os.version()})`, - isDocker: isDocker(), - isCi: isCI, + os: `${os.type()} ${os.version()}`, + is_docker: isDocker(), + is_ci: isCI, }, }; diff --git a/src/app/(main)/App.tsx b/src/app/(main)/App.tsx index 406c2f16..efb38043 100644 --- a/src/app/(main)/App.tsx +++ b/src/app/(main)/App.tsx @@ -27,7 +27,7 @@ export function App({ children }) { {children} {process.env.NODE_ENV === 'production' && !pathname.includes('/share/') && ( - `; diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx index 017a91f9..bc6a3169 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx @@ -13,11 +13,18 @@ export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: const { teamId, renderTeamUrl } = useTeamUrl(); const router = useRouter(); const { result } = useTeams(user.id); - const hasTeams = result?.data?.length > 0; - const isTeamOwner = - (!teamId && hasTeams) || - (hasTeams && - result?.data + const canTransferWebsite = + ( + !teamId && + result.data.filter(({ teamUser }) => + teamUser.find( + ({ role, userId }) => + [ROLES.teamOwner, ROLES.teamManager].includes(role) && userId === user.id, + ), + ) + ).length > 0 || + (teamId && + !!result?.data ?.find(({ id }) => id === teamId) ?.teamUser.find(({ role, userId }) => role === ROLES.teamOwner && userId === user.id)); @@ -37,8 +44,8 @@ export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: label={formatMessage(labels.transferWebsite)} description={formatMessage(messages.transferWebsite)} > - - diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx index 99f9faa1..11f662b1 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteSettings.tsx @@ -13,11 +13,9 @@ import WebsiteEditForm from './WebsiteEditForm'; export function WebsiteSettings({ websiteId, - hostUrl, openExternal = false, }: { websiteId: string; - hostUrl?: string; openExternal?: boolean; }) { const website = useContext(WebsiteContext); @@ -62,8 +60,8 @@ export function WebsiteSettings({ {formatMessage(labels.data)} {tab === 'details' && } - {tab === 'tracking' && } - {tab === 'share' && } + {tab === 'tracking' && } + {tab === 'share' && } {tab === 'data' && } ); diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx index db46c212..eb568a7f 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteTransferForm.tsx @@ -71,7 +71,7 @@ export function WebsiteTransferForm({ {result.data .filter(({ teamUser }) => teamUser.find( - ({ role, userId }) => role === ROLES.teamOwner && userId === user.id, + ({ role, userId }) => [ ROLES.teamOwner, ROLES.teamManager ].includes(role) && userId === user.id, ), ) .map(({ id, name }) => { diff --git a/src/app/(main)/settings/websites/[websiteId]/page.tsx b/src/app/(main)/settings/websites/[websiteId]/page.tsx index f3d87c78..7e2feaf2 100644 --- a/src/app/(main)/settings/websites/[websiteId]/page.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/page.tsx @@ -1,7 +1,9 @@ import WebsiteSettingsPage from './WebsiteSettingsPage'; import { Metadata } from 'next'; -export default async function ({ params: { websiteId } }) { +export default async function ({ params }: { params: { websiteId: string } }) { + const { websiteId } = await params; + return ; } diff --git a/src/app/(main)/settings/websites/page.tsx b/src/app/(main)/settings/websites/page.tsx index d073b32b..d05be0a5 100644 --- a/src/app/(main)/settings/websites/page.tsx +++ b/src/app/(main)/settings/websites/page.tsx @@ -1,7 +1,9 @@ import { Metadata } from 'next'; import WebsitesSettingsPage from './WebsitesSettingsPage'; -export default function ({ params: { teamId } }: { params: { teamId: string } }) { +export default async function ({ params }: { params: { teamId: string } }) { + const { teamId } = await params; + return ; } diff --git a/src/app/(main)/teams/[teamId]/dashboard/page.tsx b/src/app/(main)/teams/[teamId]/dashboard/page.tsx deleted file mode 100644 index bf8f2fed..00000000 --- a/src/app/(main)/teams/[teamId]/dashboard/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/dashboard/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/layout.tsx b/src/app/(main)/teams/[teamId]/layout.tsx index c804c746..0452ae97 100644 --- a/src/app/(main)/teams/[teamId]/layout.tsx +++ b/src/app/(main)/teams/[teamId]/layout.tsx @@ -1,8 +1,21 @@ import TeamProvider from './TeamProvider'; import { Metadata } from 'next'; +import TeamSettingsLayout from './settings/TeamSettingsLayout'; -export default function ({ children, params: { teamId } }) { - return {children}; +export default async function ({ + children, + params, +}: { + children: any; + params: { teamId: string }; +}) { + const { teamId } = await params; + + return ( + + {children} + + ); } export const metadata: Metadata = { diff --git a/src/app/(main)/teams/[teamId]/reports/[reportId]/page.tsx b/src/app/(main)/teams/[teamId]/reports/[reportId]/page.tsx deleted file mode 100644 index 0f51aa88..00000000 --- a/src/app/(main)/teams/[teamId]/reports/[reportId]/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/reports/[reportId]/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/reports/create/page.tsx b/src/app/(main)/teams/[teamId]/reports/create/page.tsx deleted file mode 100644 index c1e77757..00000000 --- a/src/app/(main)/teams/[teamId]/reports/create/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/reports/create/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/reports/event-data/page.tsx b/src/app/(main)/teams/[teamId]/reports/event-data/page.tsx deleted file mode 100644 index 77a6c44d..00000000 --- a/src/app/(main)/teams/[teamId]/reports/event-data/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/reports/event-data/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/reports/funnel/page.tsx b/src/app/(main)/teams/[teamId]/reports/funnel/page.tsx deleted file mode 100644 index be91966c..00000000 --- a/src/app/(main)/teams/[teamId]/reports/funnel/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/reports/funnel/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/reports/insights/page.tsx b/src/app/(main)/teams/[teamId]/reports/insights/page.tsx deleted file mode 100644 index f8a91c65..00000000 --- a/src/app/(main)/teams/[teamId]/reports/insights/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/reports/insights/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/reports/page.tsx b/src/app/(main)/teams/[teamId]/reports/page.tsx deleted file mode 100644 index 5404e128..00000000 --- a/src/app/(main)/teams/[teamId]/reports/page.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import Page from 'app/(main)/reports/page'; -import { Metadata } from 'next'; - -export default Page; - -export const metadata: Metadata = { - title: 'Team Reports', -}; diff --git a/src/app/(main)/teams/[teamId]/reports/retention/page.tsx b/src/app/(main)/teams/[teamId]/reports/retention/page.tsx deleted file mode 100644 index 62f8e5bf..00000000 --- a/src/app/(main)/teams/[teamId]/reports/retention/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/reports/retention/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx b/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx index 5f894228..f7df620a 100644 --- a/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx +++ b/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx @@ -1,10 +1,11 @@ 'use client'; import { ReactNode } from 'react'; +import { useMessages, useTeamUrl } from 'components/hooks'; import MenuLayout from 'components/layout/MenuLayout'; -import { useMessages } from 'components/hooks'; -export default function ({ children, teamId }: { children: ReactNode; teamId: string }) { +export default function TeamSettingsLayout({ children }: { children: ReactNode }) { const { formatMessage, labels } = useMessages(); + const { teamId } = useTeamUrl(); const items = [ { diff --git a/src/app/(main)/teams/[teamId]/settings/layout.tsx b/src/app/(main)/teams/[teamId]/settings/layout.tsx deleted file mode 100644 index b32d39e8..00000000 --- a/src/app/(main)/teams/[teamId]/settings/layout.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import TeamSettingsLayout from './TeamSettingsLayout'; -import { Metadata } from 'next'; - -export default function ({ children, params: { teamId } }) { - return {children}; -} - -export const metadata: Metadata = { - title: 'Team Settings', -}; diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditButton.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditButton.tsx rename to src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditForm.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx similarity index 91% rename from src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditForm.tsx rename to src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx index 0c22ac76..40183989 100644 --- a/src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditForm.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx @@ -40,6 +40,9 @@ export function TeamMemberEditForm({ }; const renderValue = (value: string) => { + if (value === ROLES.teamManager) { + return formatMessage(labels.manager); + } if (value === ROLES.teamMember) { return formatMessage(labels.member); } @@ -58,6 +61,7 @@ export function TeamMemberEditForm({ minWidth: '250px', }} > + {formatMessage(labels.manager)} {formatMessage(labels.member)} {formatMessage(labels.viewOnly)} diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMemberRemoveButton.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/members/TeamMemberRemoveButton.tsx rename to src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersDataTable.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/members/TeamMembersDataTable.tsx rename to src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersPage.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx similarity index 80% rename from src/app/(main)/settings/teams/[teamId]/members/TeamMembersPage.tsx rename to src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx index 3c166826..de0c4c0a 100644 --- a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersPage.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx @@ -12,8 +12,10 @@ export function TeamMembersPage({ teamId }: { teamId: string }) { const { formatMessage, labels } = useMessages(); const canEdit = - team?.teamUser?.find(({ userId, role }) => role === ROLES.teamOwner && userId === user.id) && - user.role !== ROLES.viewOnly; + team?.teamUser?.find( + ({ userId, role }) => + (role === ROLES.teamOwner || role === ROLES.teamManager) && userId === user.id, + ) && user.role !== ROLES.viewOnly; return ( <> diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersTable.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx similarity index 89% rename from src/app/(main)/settings/teams/[teamId]/members/TeamMembersTable.tsx rename to src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx index e72973b4..67cb23c7 100644 --- a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersTable.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx @@ -1,4 +1,4 @@ -import { GridColumn, GridTable, useBreakpoint } from 'react-basics'; +import { GridColumn, GridTable } from 'react-basics'; import { useMessages, useLogin } from 'components/hooks'; import { ROLES } from 'lib/constants'; import TeamMemberRemoveButton from './TeamMemberRemoveButton'; @@ -15,16 +15,16 @@ export function TeamMembersTable({ }) { const { formatMessage, labels } = useMessages(); const { user } = useLogin(); - const breakpoint = useBreakpoint(); const roles = { [ROLES.teamOwner]: formatMessage(labels.teamOwner), + [ROLES.teamManager]: formatMessage(labels.teamManager), [ROLES.teamMember]: formatMessage(labels.teamMember), [ROLES.teamViewOnly]: formatMessage(labels.viewOnly), }; return ( - + {row => row?.user?.username} diff --git a/src/app/(main)/teams/[teamId]/settings/members/page.tsx b/src/app/(main)/teams/[teamId]/settings/members/page.tsx index a4045ab4..9810f7a2 100644 --- a/src/app/(main)/teams/[teamId]/settings/members/page.tsx +++ b/src/app/(main)/teams/[teamId]/settings/members/page.tsx @@ -1,3 +1,12 @@ -import Page from 'app/(main)/settings/teams/[teamId]/members/page'; +import { Metadata } from 'next'; +import TeamMembersPage from './TeamMembersPage'; -export default Page; +export default async function ({ params }: { params: { teamId: string } }) { + const { teamId } = await params; + + return ; +} + +export const metadata: Metadata = { + title: 'Team Members', +}; diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamDeleteForm.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/team/TeamDeleteForm.tsx rename to src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamDetails.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx similarity index 74% rename from src/app/(main)/settings/teams/[teamId]/team/TeamDetails.tsx rename to src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx index 9d8ea529..70858ee4 100644 --- a/src/app/(main)/settings/teams/[teamId]/team/TeamDetails.tsx +++ b/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx @@ -5,7 +5,7 @@ import PageHeader from 'components/layout/PageHeader'; import { ROLES } from 'lib/constants'; import { useContext, useState } from 'react'; import { Flexbox, Item, Tabs } from 'react-basics'; -import TeamLeaveButton from '../../TeamLeaveButton'; +import TeamLeaveButton from 'app/(main)/settings/teams/TeamLeaveButton'; import TeamManage from './TeamManage'; import TeamEditForm from './TeamEditForm'; @@ -15,18 +15,24 @@ export function TeamDetails({ teamId }: { teamId: string }) { const { user } = useLogin(); const [tab, setTab] = useState('details'); - const canEdit = + const isTeamOwner = !!team?.teamUser?.find(({ userId, role }) => role === ROLES.teamOwner && userId === user.id) && user.role !== ROLES.viewOnly; + const canEdit = + !!team?.teamUser?.find( + ({ userId, role }) => + (role === ROLES.teamOwner || role === ROLES.teamManager) && userId === user.id, + ) && user.role !== ROLES.viewOnly; + return ( }> - {!canEdit && } + {!isTeamOwner && } setTab(value)} style={{ marginBottom: 30 }}> {formatMessage(labels.details)} - {canEdit && {formatMessage(labels.manage)}} + {isTeamOwner && {formatMessage(labels.manage)}} {tab === 'details' && } {tab === 'manage' && } diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamEditForm.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx similarity index 94% rename from src/app/(main)/settings/teams/[teamId]/team/TeamEditForm.tsx rename to src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx index fc192df1..c2029ca6 100644 --- a/src/app/(main)/settings/teams/[teamId]/team/TeamEditForm.tsx +++ b/src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx @@ -11,7 +11,7 @@ import { } from 'react-basics'; import { getRandomChars } from 'next-basics'; import { useContext, useRef, useState } from 'react'; -import { useApi, useMessages } from 'components/hooks'; +import { useApi, useMessages, useModified } from 'components/hooks'; import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider'; const generateId = () => getRandomChars(16); @@ -26,12 +26,14 @@ export function TeamEditForm({ teamId, allowEdit }: { teamId: string; allowEdit? const ref = useRef(null); const [accessCode, setAccessCode] = useState(team.accessCode); const { showToast } = useToasts(); + const { touch } = useModified(); const cloudMode = !!process.env.cloudMode; const handleSubmit = async (data: any) => { mutate(data, { onSuccess: async () => { ref.current.reset(data); + touch('teams'); showToast({ message: formatMessage(messages.saved), variant: 'success' }); }, }); diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamManage.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/team/TeamManage.tsx rename to src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamPage.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamPage.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/team/TeamPage.tsx rename to src/app/(main)/teams/[teamId]/settings/team/TeamPage.tsx diff --git a/src/app/(main)/teams/[teamId]/settings/team/page.tsx b/src/app/(main)/teams/[teamId]/settings/team/page.tsx index c36e667c..f15d5fb6 100644 --- a/src/app/(main)/teams/[teamId]/settings/team/page.tsx +++ b/src/app/(main)/teams/[teamId]/settings/team/page.tsx @@ -1,3 +1,12 @@ -import Page from 'app/(main)/settings/teams/[teamId]/team/page'; +import { Metadata } from 'next'; +import TeamPage from './TeamPage'; -export default Page; +export default async function ({ params }: { params: { teamId: string } }) { + const { teamId } = await params; + + return ; +} + +export const metadata: Metadata = { + title: 'Teams Details', +}; diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsiteRemoveButton.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsiteRemoveButton.tsx rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesDataTable.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesDataTable.tsx rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesPage.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx similarity index 100% rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesPage.tsx rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx similarity index 88% rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx index c733e3e3..dc6760a6 100644 --- a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx @@ -1,4 +1,4 @@ -import { GridColumn, GridTable, Icon, Text, useBreakpoint } from 'react-basics'; +import { GridColumn, GridTable, Icon, Text } from 'react-basics'; import { useLogin, useMessages } from 'components/hooks'; import Icons from 'components/icons'; import LinkButton from 'components/common/LinkButton'; @@ -14,10 +14,9 @@ export function TeamWebsitesTable({ }) { const { user } = useLogin(); const { formatMessage, labels } = useMessages(); - const breakpoint = useBreakpoint(); return ( - + diff --git a/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx b/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx index ad1a97dd..a6895296 100644 --- a/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/[websiteId]/page.tsx @@ -1,3 +1,5 @@ import Page from 'app/(main)/settings/websites/[websiteId]/page'; -export default Page; +export default function ({ params }) { + return ; +} diff --git a/src/app/(main)/teams/[teamId]/settings/websites/page.tsx b/src/app/(main)/teams/[teamId]/settings/websites/page.tsx index 897c60fe..6709eb67 100644 --- a/src/app/(main)/teams/[teamId]/settings/websites/page.tsx +++ b/src/app/(main)/teams/[teamId]/settings/websites/page.tsx @@ -1,3 +1,12 @@ -import Page from 'app/(main)/settings/teams/[teamId]/websites/page'; +import TeamWebsitesPage from './TeamWebsitesPage'; +import { Metadata } from 'next'; -export default Page; +export default async function ({ params }: { params: { teamId: string } }) { + const { teamId } = await params; + + return ; +} + +export const metadata: Metadata = { + title: 'Teams Websites', +}; diff --git a/src/app/(main)/teams/[teamId]/websites/[websiteId]/page.tsx b/src/app/(main)/teams/[teamId]/websites/[websiteId]/page.tsx deleted file mode 100644 index 224ff4d5..00000000 --- a/src/app/(main)/teams/[teamId]/websites/[websiteId]/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/websites/[websiteId]/page'; - -export default Page; diff --git a/src/app/(main)/teams/[teamId]/websites/page.tsx b/src/app/(main)/teams/[teamId]/websites/page.tsx deleted file mode 100644 index 553c852a..00000000 --- a/src/app/(main)/teams/[teamId]/websites/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Page from 'app/(main)/websites/page'; - -export default Page; diff --git a/src/app/(main)/websites/WebsitesPage.tsx b/src/app/(main)/websites/WebsitesPage.tsx index 8d8ee2e2..d6f8524b 100644 --- a/src/app/(main)/websites/WebsitesPage.tsx +++ b/src/app/(main)/websites/WebsitesPage.tsx @@ -1,8 +1,11 @@ 'use client'; import WebsitesHeader from 'app/(main)/settings/websites/WebsitesHeader'; import WebsitesDataTable from 'app/(main)/settings/websites/WebsitesDataTable'; +import { useTeamUrl } from 'components/hooks'; + +export default function WebsitesPage() { + const { teamId } = useTeamUrl(); -export default function WebsitesPage({ teamId }: { teamId: string }) { return ( <> diff --git a/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx b/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx index 470bd792..ddeba789 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx @@ -1,25 +1,57 @@ import { useMemo } from 'react'; import PageviewsChart from 'components/metrics/PageviewsChart'; -import { getDateArray } from 'lib/date'; import useWebsitePageviews from 'components/hooks/queries/useWebsitePageviews'; import { useDateRange } from 'components/hooks'; -export function WebsiteChart({ websiteId }: { websiteId: string }) { - const [dateRange] = useDateRange(websiteId); - const { startDate, endDate, unit } = dateRange; - const { data, isLoading } = useWebsitePageviews(websiteId); +export function WebsiteChart({ + websiteId, + compareMode = false, +}: { + websiteId: string; + compareMode?: boolean; +}) { + const { dateRange, dateCompare } = useDateRange(websiteId); + const { startDate, endDate, unit, value } = dateRange; + const { data, isLoading } = useWebsitePageviews(websiteId, compareMode ? dateCompare : undefined); + const { pageviews, sessions, compare } = (data || {}) as any; const chartData = useMemo(() => { if (data) { - return { - pageviews: getDateArray(data.pageviews, startDate, endDate, unit), - sessions: getDateArray(data.sessions, startDate, endDate, unit), + const result = { + pageviews, + sessions, }; + + if (compare) { + result['compare'] = { + pageviews: result.pageviews.map(({ x }, i) => ({ + x, + y: compare.pageviews[i]?.y, + d: compare.pageviews[i]?.x, + })), + sessions: result.sessions.map(({ x }, i) => ({ + x, + y: compare.sessions[i]?.y, + d: compare.sessions[i]?.x, + })), + }; + } + + return result; } return { pageviews: [], sessions: [] }; }, [data, startDate, endDate, unit]); - return ; + return ( + + ); } export default WebsiteChart; diff --git a/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx b/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx index 6484e383..e33e948a 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteChartList.tsx @@ -18,17 +18,16 @@ export default function WebsiteChartList({ limit?: number; }) { const { formatMessage, labels } = useMessages(); - const { websiteOrder } = useDashboard(); + const { websiteOrder, websiteActive } = useDashboard(); const { renderTeamUrl } = useTeamUrl(); const { dir } = useLocale(); - const ordered = useMemo( - () => - websites - .map(website => ({ ...website, order: websiteOrder.indexOf(website.id) || 0 })) - .sort(firstBy('order')), - [websites, websiteOrder], - ); + const ordered = useMemo(() => { + return websites + .filter(website => (websiteActive.length ? websiteActive.includes(website.id) : true)) + .map(website => ({ ...website, order: websiteOrder.indexOf(website.id) || 0 })) + .sort(firstBy('order')); + }, [websites, websiteOrder, websiteActive]); return (
@@ -47,7 +46,7 @@ export default function WebsiteChartList({ - + {showCharts && }
) : null; diff --git a/src/app/(main)/websites/[websiteId]/WebsiteDetails.tsx b/src/app/(main)/websites/[websiteId]/WebsiteDetails.tsx deleted file mode 100644 index 1a131da1..00000000 --- a/src/app/(main)/websites/[websiteId]/WebsiteDetails.tsx +++ /dev/null @@ -1,40 +0,0 @@ -'use client'; -import { Loading } from 'react-basics'; -import { usePathname } from 'next/navigation'; -import Page from 'components/layout/Page'; -import FilterTags from 'components/metrics/FilterTags'; -import { useNavigation, useWebsite } from 'components/hooks'; -import WebsiteChart from './WebsiteChart'; -import WebsiteExpandedView from './WebsiteExpandedView'; -import WebsiteHeader from './WebsiteHeader'; -import WebsiteMetricsBar from './WebsiteMetricsBar'; -import WebsiteTableView from './WebsiteTableView'; - -export default function WebsiteDetails({ websiteId }: { websiteId: string }) { - const { data: website, isLoading, error } = useWebsite(websiteId); - const pathname = usePathname(); - const { query } = useNavigation(); - - if (isLoading || error) { - return ; - } - - const showLinks = !pathname.includes('/share/'); - const { view, ...params } = query; - - return ( - <> - - - - - {!website && } - {website && ( - <> - {!view && } - {view && } - - )} - - ); -} diff --git a/src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx b/src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx new file mode 100644 index 00000000..3eeeb18f --- /dev/null +++ b/src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx @@ -0,0 +1,36 @@ +'use client'; +import { usePathname } from 'next/navigation'; +import FilterTags from 'components/metrics/FilterTags'; +import { useNavigation } from 'components/hooks'; +import WebsiteChart from './WebsiteChart'; +import WebsiteExpandedView from './WebsiteExpandedView'; +import WebsiteHeader from './WebsiteHeader'; +import WebsiteMetricsBar from './WebsiteMetricsBar'; +import WebsiteTableView from './WebsiteTableView'; +import { FILTER_COLUMNS } from 'lib/constants'; + +export default function WebsiteDetailsPage({ websiteId }: { websiteId: string }) { + const pathname = usePathname(); + const { query } = useNavigation(); + + const showLinks = !pathname.includes('/share/'); + const { view } = query; + + const params = Object.keys(query).reduce((obj, key) => { + if (FILTER_COLUMNS[key]) { + obj[key] = query[key]; + } + return obj; + }, {}); + + return ( + <> + + + + + {!view && } + {view && } + + ); +} diff --git a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.module.css b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.module.css index f71032ae..afe2028a 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.module.css +++ b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.module.css @@ -38,7 +38,7 @@ } .back { - align-self: start; + align-self: flex-start; margin: 0; } @@ -49,7 +49,7 @@ .dropdown { display: flex; width: 200px; - align-self: end; + align-self: flex-end; } .menu { @@ -59,5 +59,6 @@ align-items: center; justify-content: space-between; padding-inline-end: 0; + z-index: 10; } } diff --git a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx index ea037852..95e718b4 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx @@ -1,25 +1,30 @@ -import { Icons, Icon, Text, Dropdown, Item } from 'react-basics'; +import LinkButton from 'components/common/LinkButton'; +import { useLocale, useMessages, useNavigation } from 'components/hooks'; +import SideNav from 'components/layout/SideNav'; import BrowsersTable from 'components/metrics/BrowsersTable'; -import CountriesTable from 'components/metrics/CountriesTable'; -import RegionsTable from 'components/metrics/RegionsTable'; import CitiesTable from 'components/metrics/CitiesTable'; +import CountriesTable from 'components/metrics/CountriesTable'; import DevicesTable from 'components/metrics/DevicesTable'; +import EventsTable from 'components/metrics/EventsTable'; +import HostsTable from 'components/metrics/HostsTable'; import LanguagesTable from 'components/metrics/LanguagesTable'; import OSTable from 'components/metrics/OSTable'; import PagesTable from 'components/metrics/PagesTable'; import QueryParametersTable from 'components/metrics/QueryParametersTable'; import ReferrersTable from 'components/metrics/ReferrersTable'; +import RegionsTable from 'components/metrics/RegionsTable'; import ScreenTable from 'components/metrics/ScreenTable'; -import EventsTable from 'components/metrics/EventsTable'; -import SideNav from 'components/layout/SideNav'; -import { useNavigation, useMessages, useLocale } from 'components/hooks'; -import LinkButton from 'components/common/LinkButton'; +import TagsTable from 'components/metrics/TagsTable'; +import { Dropdown, Icon, Icons, Item, Text } from 'react-basics'; import styles from './WebsiteExpandedView.module.css'; const views = { url: PagesTable, + entry: PagesTable, + exit: PagesTable, title: PagesTable, referrer: ReferrersTable, + host: HostsTable, browser: BrowsersTable, os: OSTable, device: DevicesTable, @@ -30,6 +35,7 @@ const views = { language: LanguagesTable, event: EventsTable, query: QueryParametersTable, + tag: TagsTable, }; export default function WebsiteExpandedView({ @@ -108,6 +114,16 @@ export default function WebsiteExpandedView({ label: formatMessage(labels.queryParameters), url: renderUrl({ view: 'query' }), }, + { + key: 'host', + label: formatMessage(labels.hosts), + url: renderUrl({ view: 'host' }), + }, + { + key: 'tag', + label: formatMessage(labels.tags), + url: renderUrl({ view: 'tag' }), + }, ]; const DetailsComponent = views[view] || (() => null); diff --git a/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx b/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx index a9671757..a6229e95 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx @@ -1,4 +1,3 @@ -import classNames from 'classnames'; import { Button, Icon, Icons, Popup, PopupTrigger, Text } from 'react-basics'; import PopupForm from 'app/(main)/reports/[reportId]/PopupForm'; import FilterSelectForm from 'app/(main)/reports/[reportId]/FilterSelectForm'; @@ -9,14 +8,22 @@ import styles from './WebsiteFilterButton.module.css'; export function WebsiteFilterButton({ websiteId, className, + position = 'bottom', + alignment = 'end', + showText = true, }: { websiteId: string; className?: string; + position?: 'bottom' | 'top' | 'left' | 'right'; + alignment?: 'end' | 'center' | 'start'; + showText?: boolean; }) { const { formatMessage, labels } = useMessages(); const { renderUrl, router } = useNavigation(); const { fields } = useFields(); - const [{ startDate, endDate }] = useDateRange(websiteId); + const { + dateRange: { startDate, endDate }, + } = useDateRange(websiteId); const handleAddFilter = ({ name, operator, value }) => { const prefix = OPERATOR_PREFIXES[operator]; @@ -25,14 +32,14 @@ export function WebsiteFilterButton({ }; return ( - - - + {(close: () => void) => { return ( diff --git a/src/app/(main)/websites/[websiteId]/WebsiteHeader.module.css b/src/app/(main)/websites/[websiteId]/WebsiteHeader.module.css index 3e58c8a3..90c3f5cb 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteHeader.module.css +++ b/src/app/(main)/websites/[websiteId]/WebsiteHeader.module.css @@ -1,7 +1,9 @@ .header { - display: grid; - grid-template-columns: 1fr max-content; + display: flex; + gap: 10px; align-items: center; + flex-wrap: wrap; + padding: 20px 0px; } .title { @@ -12,7 +14,7 @@ font-size: 24px; font-weight: 700; overflow: hidden; - height: 100px; + height: 60px; } .actions { @@ -22,6 +24,7 @@ justify-content: flex-end; gap: 30px; min-height: 0; + margin-left: auto; } .selected { diff --git a/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx b/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx index 3d029250..edd10b99 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx @@ -1,12 +1,13 @@ import classNames from 'classnames'; import Favicon from 'components/common/Favicon'; -import { useMessages, useWebsite } from 'components/hooks'; +import { useMessages, useTeamUrl, useWebsite } from 'components/hooks'; import Icons from 'components/icons'; import ActiveUsers from 'components/metrics/ActiveUsers'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { ReactNode } from 'react'; import { Button, Icon, Text } from 'react-basics'; +import Lightning from 'assets/lightning.svg'; import styles from './WebsiteHeader.module.css'; export function WebsiteHeader({ @@ -19,6 +20,7 @@ export function WebsiteHeader({ children?: ReactNode; }) { const { formatMessage, labels } = useMessages(); + const { renderTeamUrl } = useTeamUrl(); const pathname = usePathname(); const { data: website } = useWebsite(websiteId); const { name, domain } = website || {}; @@ -29,21 +31,31 @@ export function WebsiteHeader({ icon: , path: '', }, + { + label: formatMessage(labels.events), + icon: , + path: '/events', + }, + { + label: formatMessage(labels.sessions), + icon: , + path: '/sessions', + }, { label: formatMessage(labels.realtime), icon: , path: '/realtime', }, + { + label: formatMessage(labels.compare), + icon: , + path: '/compare', + }, { label: formatMessage(labels.reports), icon: , path: '/reports', }, - { - label: formatMessage(labels.eventData), - icon: , - path: '/event-data', - }, ]; return ( @@ -58,11 +70,15 @@ export function WebsiteHeader({
{links.map(({ label, icon, path }) => { const selected = path - ? pathname.endsWith(path) + ? pathname.includes(path) : pathname.match(/^\/websites\/[\w-]+$/); return ( - +
diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx index c26d0629..f40be9db 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeLog.tsx @@ -1,17 +1,15 @@ -import { useContext, useMemo, useState } from 'react'; -import { StatusLight, Icon, Text, SearchField } from 'react-basics'; -import { FixedSizeList } from 'react-window'; -import { format } from 'date-fns'; -import thenby from 'thenby'; -import { safeDecodeURI } from 'next-basics'; -import FilterButtons from 'components/common/FilterButtons'; -import Empty from 'components/common/Empty'; -import { useLocale, useCountryNames, useMessages } from 'components/hooks'; -import Icons from 'components/icons'; import useFormat from 'components//hooks/useFormat'; -import { BROWSERS } from 'lib/constants'; +import Empty from 'components/common/Empty'; +import FilterButtons from 'components/common/FilterButtons'; +import { useCountryNames, useLocale, useMessages, useTimezone } from 'components/hooks'; +import Icons from 'components/icons'; +import { BROWSERS, OS_NAMES } from 'lib/constants'; import { stringToColor } from 'lib/format'; import { RealtimeData } from 'lib/types'; +import { safeDecodeURI } from 'next-basics'; +import { useContext, useMemo, useState } from 'react'; +import { Icon, SearchField, StatusLight, Text } from 'react-basics'; +import { FixedSizeList } from 'react-window'; import { WebsiteContext } from '../WebsiteProvider'; import styles from './RealtimeLog.module.css'; @@ -32,7 +30,8 @@ export function RealtimeLog({ data }: { data: RealtimeData }) { const { formatMessage, labels, messages, FormattedMessage } = useMessages(); const { formatValue } = useFormat(); const { locale } = useLocale(); - const countryNames = useCountryNames(locale); + const { formatTimezoneDate } = useTimezone(); + const { countryNames } = useCountryNames(locale); const [filter, setFilter] = useState(TYPE_ALL); const buttons = [ @@ -54,20 +53,20 @@ export function RealtimeLog({ data }: { data: RealtimeData }) { }, ]; - const getTime = ({ timestamp }) => format(timestamp, 'h:mm:ss'); + const getTime = ({ createdAt, firstAt }) => formatTimezoneDate(firstAt || createdAt, 'h:mm:ss'); const getColor = ({ id, sessionId }) => stringToColor(sessionId || id); const getIcon = ({ __type }) => icons[__type]; const getDetail = (log: { - __type: any; - eventName: any; - urlPath: any; - browser: any; - os: any; - country: any; - device: any; + __type: string; + eventName: string; + urlPath: string; + browser: string; + os: string; + country: string; + device: string; }) => { const { __type, eventName, urlPath: url, browser, os, country, device } = log; @@ -112,7 +111,7 @@ export function RealtimeLog({ data }: { data: RealtimeData }) { values={{ country: {countryNames[country] || formatMessage(labels.unknown)}, browser: {BROWSERS[browser]}, - os: {os}, + os: {OS_NAMES[os] || os}, device: {formatMessage(labels[device] || labels.unknown)}, }} /> @@ -141,8 +140,7 @@ export function RealtimeLog({ data }: { data: RealtimeData }) { return []; } - const { pageviews, visitors, events } = data; - let logs = [...pageviews, ...visitors, ...events].sort(thenby.firstBy('createdAt', -1)); + let logs = data.events; if (search) { logs = logs.filter(({ eventName, urlPath, browser, os, country, device }) => { @@ -174,7 +172,7 @@ export function RealtimeLog({ data }: { data: RealtimeData }) { -
{formatMessage(labels.activityLog)}
+
{formatMessage(labels.activity)}
{logs?.length === 0 && } {logs?.length > 0 && ( diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx index 094839c2..15b40f01 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx @@ -1,4 +1,4 @@ -import { Key, useContext, useMemo, useState } from 'react'; +import { Key, useContext, useState } from 'react'; import { ButtonGroup, Button, Flexbox } from 'react-basics'; import thenby from 'thenby'; import { percentFilter } from 'lib/filters'; @@ -11,7 +11,7 @@ import { WebsiteContext } from '../WebsiteProvider'; export function RealtimeUrls({ data }: { data: RealtimeData }) { const website = useContext(WebsiteContext); const { formatMessage, labels } = useMessages(); - const { pageviews } = data || {}; + const { referrers, urls } = data || {}; const [filter, setFilter] = useState(FILTER_REFERRERS); const limit = 15; @@ -35,47 +35,29 @@ export function RealtimeUrls({ data }: { data: RealtimeData }) { ); }; - const [referrers = [], pages = []] = useMemo(() => { - if (pageviews) { - const referrers = percentFilter( - pageviews - .reduce((arr, { referrerDomain }) => { - if (referrerDomain) { - const row = arr.find(({ x }) => x === referrerDomain); + const domains = percentFilter( + Object.keys(referrers) + .map(key => { + return { + x: key, + y: referrers[key], + }; + }) + .sort(thenby.firstBy('y', -1)) + .slice(0, limit), + ); - if (!row) { - arr.push({ x: referrerDomain, y: 1 }); - } else { - row.y += 1; - } - } - return arr; - }, []) - .sort(thenby.firstBy('y', -1)) - .slice(0, limit), - ); - - const pages = percentFilter( - pageviews - .reduce((arr, { urlPath }) => { - const row = arr.find(({ x }) => x === urlPath); - - if (!row) { - arr.push({ x: urlPath, y: 1 }); - } else { - row.y += 1; - } - return arr; - }, []) - .sort(thenby.firstBy('y', -1)) - .slice(0, limit), - ); - - return [referrers, pages]; - } - - return []; - }, [pageviews]); + const pages = percentFilter( + Object.keys(urls) + .map(key => { + return { + x: key, + y: urls[key], + }; + }) + .sort(thenby.firstBy('y', -1)) + .slice(0, limit), + ); return ( <> @@ -89,7 +71,7 @@ export function RealtimeUrls({ data }: { data: RealtimeData }) { title={formatMessage(labels.referrers)} metric={formatMessage(labels.views)} renderLabel={renderLink} - data={referrers} + data={domains} /> )} {filter === FILTER_PAGES && ( diff --git a/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx b/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx index 8c1e3800..7030cc32 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/WebsiteRealtimePage.tsx @@ -1,4 +1,5 @@ 'use client'; +import { firstBy } from 'thenby'; import { Grid, GridRow } from 'components/layout/Grid'; import Page from 'components/layout/Page'; import RealtimeChart from 'components/metrics/RealtimeChart'; @@ -9,7 +10,7 @@ import RealtimeHeader from './RealtimeHeader'; import RealtimeUrls from './RealtimeUrls'; import RealtimeCountries from './RealtimeCountries'; import WebsiteHeader from '../WebsiteHeader'; -import WebsiteProvider from '../WebsiteProvider'; +import { percentFilter } from 'lib/filters'; export function WebsiteRealtimePage({ websiteId }) { const { data, isLoading, error } = useRealtime(websiteId); @@ -18,8 +19,14 @@ export function WebsiteRealtimePage({ websiteId }) { return ; } + const countries = percentFilter( + Object.keys(data.countries) + .map(key => ({ x: key, y: data.countries[key] })) + .sort(firstBy('y', -1)), + ); + return ( - + <> @@ -29,11 +36,11 @@ export function WebsiteRealtimePage({ websiteId }) { - - + + - + ); } diff --git a/src/app/(main)/websites/[websiteId]/realtime/page.tsx b/src/app/(main)/websites/[websiteId]/realtime/page.tsx index 0ca7ffd8..f205cadd 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/page.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/page.tsx @@ -1,7 +1,9 @@ import WebsiteRealtimePage from './WebsiteRealtimePage'; import { Metadata } from 'next'; -export default function ({ params: { websiteId } }) { +export default async function ({ params }: { params: { websiteId: string } }) { + const { websiteId } = await params; + return ; } diff --git a/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx b/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx index 84ad57d0..051f6ed3 100644 --- a/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx +++ b/src/app/(main)/websites/[websiteId]/reports/WebsiteReportsPage.tsx @@ -1,18 +1,19 @@ 'use client'; import Link from 'next/link'; import { Button, Flexbox, Icon, Icons, Text } from 'react-basics'; -import { useMessages } from 'components/hooks'; +import { useMessages, useTeamUrl } from 'components/hooks'; import WebsiteHeader from '../WebsiteHeader'; import ReportsDataTable from 'app/(main)/reports/ReportsDataTable'; export function WebsiteReportsPage({ websiteId }) { const { formatMessage, labels } = useMessages(); + const { renderTeamUrl } = useTeamUrl(); return ( <> - +
)} - ); } diff --git a/src/components/layout/Grid.module.css b/src/components/layout/Grid.module.css index f72a5f12..7a2b7124 100644 --- a/src/components/layout/Grid.module.css +++ b/src/components/layout/Grid.module.css @@ -8,6 +8,10 @@ border-top: 1px solid var(--base300); } +.row.compare { + grid-template-columns: max-content 1fr 1fr; +} + .col { padding: 20px; min-height: 430px; @@ -23,6 +27,10 @@ padding-inline-end: 0; } +.col.one { + grid-column: span 6; +} + .col.two { grid-column: span 3; } diff --git a/src/components/layout/Grid.tsx b/src/components/layout/Grid.tsx index 2a34fdc4..ec7f4fda 100644 --- a/src/components/layout/Grid.tsx +++ b/src/components/layout/Grid.tsx @@ -1,6 +1,7 @@ import { CSSProperties } from 'react'; import classNames from 'classnames'; import { mapChildren } from 'react-basics'; +// eslint-disable-next-line css-modules/no-unused-class import styles from './Grid.module.css'; export interface GridProps { @@ -19,13 +20,13 @@ export function Grid({ className, style, children }: GridProps) { export function GridRow(props: { [x: string]: any; - columns?: 'one' | 'two' | 'three' | 'one-two' | 'two-one'; + columns?: 'one' | 'two' | 'three' | 'one-two' | 'two-one' | 'compare'; className?: string; children?: any; }) { const { columns = 'two', className, children, ...otherProps } = props; return ( -
+
{mapChildren(children, child => { return
{child}
; })} diff --git a/src/components/layout/Page.module.css b/src/components/layout/Page.module.css index 52893157..3b9a4581 100644 --- a/src/components/layout/Page.module.css +++ b/src/components/layout/Page.module.css @@ -8,4 +8,5 @@ margin: 0 auto; padding: 0 20px; min-height: calc(100vh - 60px); + min-height: calc(100dvh - 60px); } diff --git a/src/components/messages.ts b/src/components/messages.ts index 79a6b92c..688dd11d 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -29,6 +29,7 @@ export const labels = defineMessages({ createdBy: { id: 'label.created-by', defaultMessage: 'Created By' }, edit: { id: 'label.edit', defaultMessage: 'Edit' }, name: { id: 'label.name', defaultMessage: 'Name' }, + manager: { id: 'label.manager', defaultMessage: 'Manager' }, member: { id: 'label.member', defaultMessage: 'Member' }, members: { id: 'label.members', defaultMessage: 'Members' }, accessCode: { id: 'label.access-code', defaultMessage: 'Access code' }, @@ -43,6 +44,7 @@ export const labels = defineMessages({ settings: { id: 'label.settings', defaultMessage: 'Settings' }, owner: { id: 'label.owner', defaultMessage: 'Owner' }, teamOwner: { id: 'label.team-owner', defaultMessage: 'Team owner' }, + teamManager: { id: 'label.team-manager', defaultMessage: 'Team manager' }, teamMember: { id: 'label.team-member', defaultMessage: 'Team member' }, teamViewOnly: { id: 'label.team-view-only', defaultMessage: 'Team view only' }, enableShareUrl: { id: 'label.enable-share-url', defaultMessage: 'Enable share URL' }, @@ -86,13 +88,20 @@ export const labels = defineMessages({ leaveTeam: { id: 'label.leave-team', defaultMessage: 'Leave team' }, refresh: { id: 'label.refresh', defaultMessage: 'Refresh' }, pages: { id: 'label.pages', defaultMessage: 'Pages' }, + entry: { id: 'label.entry', defaultMessage: 'Entry path' }, + exit: { id: 'label.exit', defaultMessage: 'Exit path' }, referrers: { id: 'label.referrers', defaultMessage: 'Referrers' }, + hosts: { id: 'label.hosts', defaultMessage: 'Hosts' }, screens: { id: 'label.screens', defaultMessage: 'Screens' }, browsers: { id: 'label.browsers', defaultMessage: 'Browsers' }, os: { id: 'label.os', defaultMessage: 'OS' }, devices: { id: 'label.devices', defaultMessage: 'Devices' }, countries: { id: 'label.countries', defaultMessage: 'Countries' }, languages: { id: 'label.languages', defaultMessage: 'Languages' }, + tags: { id: 'label.tags', defaultMessage: 'Tags' }, + count: { id: 'label.count', defaultMessage: 'Count' }, + average: { id: 'label.average', defaultMessage: 'Average' }, + sum: { id: 'label.sum', defaultMessage: 'Sum' }, event: { id: 'label.event', defaultMessage: 'Event' }, events: { id: 'label.events', defaultMessage: 'Events' }, query: { id: 'label.query', defaultMessage: 'Query' }, @@ -105,6 +114,7 @@ export const labels = defineMessages({ views: { id: 'label.views', defaultMessage: 'Views' }, none: { id: 'label.none', defaultMessage: 'None' }, clearAll: { id: 'label.clear-all', defaultMessage: 'Clear all' }, + property: { id: 'label.property', defaultMessage: 'Property' }, today: { id: 'label.today', defaultMessage: 'Today' }, lastHours: { id: 'label.last-hours', defaultMessage: 'Last {x} hours' }, yesterday: { id: 'label.yesterday', defaultMessage: 'Yesterday' }, @@ -119,16 +129,17 @@ export const labels = defineMessages({ selectRole: { id: 'label.select-role', defaultMessage: 'Select role' }, selectDate: { id: 'label.select-date', defaultMessage: 'Select date' }, all: { id: 'label.all', defaultMessage: 'All' }, + session: { id: 'label.session', defaultMessage: 'Session' }, sessions: { id: 'label.sessions', defaultMessage: 'Sessions' }, pageNotFound: { id: 'message.page-not-found', defaultMessage: 'Page not found' }, - activityLog: { id: 'label.activity-log', defaultMessage: 'Activity log' }, + activity: { id: 'label.activity', defaultMessage: 'Activity' }, dismiss: { id: 'label.dismiss', defaultMessage: 'Dismiss' }, poweredBy: { id: 'label.powered-by', defaultMessage: 'Powered by {name}' }, pageViews: { id: 'label.page-views', defaultMessage: 'Page views' }, uniqueVisitors: { id: 'label.unique-visitors', defaultMessage: 'Unique visitors' }, bounceRate: { id: 'label.bounce-rate', defaultMessage: 'Bounce rate' }, viewsPerVisit: { id: 'label.views-per-visit', defaultMessage: 'Views per visit' }, - averageVisitTime: { id: 'label.average-visit-time', defaultMessage: 'Average visit time' }, + visitDuration: { id: 'label.visit-duration', defaultMessage: 'Visit duration' }, desktop: { id: 'label.desktop', defaultMessage: 'Desktop' }, laptop: { id: 'label.laptop', defaultMessage: 'Laptop' }, tablet: { id: 'label.tablet', defaultMessage: 'Tablet' }, @@ -141,13 +152,22 @@ export const labels = defineMessages({ regions: { id: 'label.regions', defaultMessage: 'Regions' }, reports: { id: 'label.reports', defaultMessage: 'Reports' }, eventData: { id: 'label.event-data', defaultMessage: 'Event data' }, + sessionData: { id: 'label.session-data', defaultMessage: 'Session data' }, funnel: { id: 'label.funnel', defaultMessage: 'Funnel' }, funnelDescription: { id: 'label.funnel-description', defaultMessage: 'Understand the conversion and drop-off rate of users.', }, + revenue: { id: 'label.revenue', defaultMessage: 'Revenue' }, + revenueDescription: { + id: 'label.revenue-description', + defaultMessage: 'Look into your revenue data and how users are spending.', + }, + currency: { id: 'label.currency', defaultMessage: 'Currency' }, url: { id: 'label.url', defaultMessage: 'URL' }, urls: { id: 'label.urls', defaultMessage: 'URLs' }, + path: { id: 'label.path', defaultMessage: 'Path' }, + paths: { id: 'label.paths', defaultMessage: 'Paths' }, add: { id: 'label.add', defaultMessage: 'Add' }, update: { id: 'label.update', defaultMessage: 'Update' }, window: { id: 'label.window', defaultMessage: 'Window' }, @@ -176,8 +196,6 @@ export const labels = defineMessages({ before: { id: 'label.before', defaultMessage: 'Before' }, after: { id: 'label.after', defaultMessage: 'After' }, total: { id: 'label.total', defaultMessage: 'Total' }, - sum: { id: 'label.sum', defaultMessage: 'Sum' }, - average: { id: 'label.average', defaultMessage: 'Average' }, min: { id: 'label.min', defaultMessage: 'Min' }, max: { id: 'label.max', defaultMessage: 'Max' }, unique: { id: 'label.unique', defaultMessage: 'Unique' }, @@ -196,12 +214,14 @@ export const labels = defineMessages({ }, dropoff: { id: 'label.dropoff', defaultMessage: 'Dropoff' }, referrer: { id: 'label.referrer', defaultMessage: 'Referrer' }, + host: { id: 'label.host', defaultMessage: 'Host' }, country: { id: 'label.country', defaultMessage: 'Country' }, region: { id: 'label.region', defaultMessage: 'Region' }, city: { id: 'label.city', defaultMessage: 'City' }, browser: { id: 'label.browser', defaultMessage: 'Browser' }, device: { id: 'label.device', defaultMessage: 'Device' }, pageTitle: { id: 'label.pageTitle', defaultMessage: 'Page title' }, + tag: { id: 'label.tag', defaultMessage: 'Tag' }, day: { id: 'label.day', defaultMessage: 'Day' }, date: { id: 'label.date', defaultMessage: 'Date' }, pageOf: { id: 'label.page-of', defaultMessage: 'Page {current} of {total}' }, @@ -214,10 +234,16 @@ export const labels = defineMessages({ select: { id: 'label.select', defaultMessage: 'Select' }, myAccount: { id: 'label.my-account', defaultMessage: 'My account' }, transfer: { id: 'label.transfer', defaultMessage: 'Transfer' }, + transactions: { id: 'label.transactions', defaultMessage: 'Transactions' }, + uniqueCustomers: { id: 'label.uniqueCustomers', defaultMessage: 'Unique Customers' }, viewedPage: { id: 'message.viewed-page', defaultMessage: 'Viewed page', }, + collectedData: { + id: 'message.collected-data', + defaultMessage: 'Collected data', + }, triggeredEvent: { id: 'message.triggered-event', defaultMessage: 'Triggered event', @@ -232,7 +258,28 @@ export const labels = defineMessages({ defaultMessage: 'Track your campaigns through UTM parameters.', }, steps: { id: 'label.steps', defaultMessage: 'Steps' }, + startStep: { id: 'label.start-step', defaultMessage: 'Start Step' }, + endStep: { id: 'label.end-step', defaultMessage: 'End Step' }, addStep: { id: 'label.add-step', defaultMessage: 'Add step' }, + goal: { id: 'label.goal', defaultMessage: 'Goal' }, + goals: { id: 'label.goals', defaultMessage: 'Goals' }, + goalsDescription: { + id: 'label.goals-description', + defaultMessage: 'Track your goals for pageviews and events.', + }, + journey: { id: 'label.journey', defaultMessage: 'Journey' }, + journeyDescription: { + id: 'label.journey-description', + defaultMessage: 'Understand how users navigate through your website.', + }, + compare: { id: 'label.compare', defaultMessage: 'Compare' }, + current: { id: 'label.current', defaultMessage: 'Current' }, + previous: { id: 'label.previous', defaultMessage: 'Previous' }, + previousPeriod: { id: 'label.previous-period', defaultMessage: 'Previous period' }, + previousYear: { id: 'label.previous-year', defaultMessage: 'Previous year' }, + lastSeen: { id: 'label.last-seen', defaultMessage: 'Last seen' }, + firstSeen: { id: 'label.first-seen', defaultMessage: 'First seen' }, + properties: { id: 'label.properties', defaultMessage: 'Properties' }, }); export const messages = defineMessages({ diff --git a/src/components/metrics/BrowsersTable.tsx b/src/components/metrics/BrowsersTable.tsx index c0c741cf..d0cec124 100644 --- a/src/components/metrics/BrowsersTable.tsx +++ b/src/components/metrics/BrowsersTable.tsx @@ -2,6 +2,7 @@ import FilterLink from 'components/common/FilterLink'; import MetricsTable, { MetricsTableProps } from 'components/metrics/MetricsTable'; import { useMessages } from 'components/hooks'; import { useFormat } from 'components/hooks'; +import TypeIcon from 'components/common/TypeIcon'; export function BrowsersTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); @@ -10,12 +11,7 @@ export function BrowsersTable(props: MetricsTableProps) { function renderLink({ x: browser }) { return ( - {browser} + ); } diff --git a/src/components/metrics/ChangeLabel.module.css b/src/components/metrics/ChangeLabel.module.css new file mode 100644 index 00000000..802a9931 --- /dev/null +++ b/src/components/metrics/ChangeLabel.module.css @@ -0,0 +1,26 @@ +.label { + display: flex; + align-items: center; + gap: 5px; + font-size: 13px; + font-weight: 700; + padding: 0.1em 0.5em; + border-radius: 5px; + color: var(--base500); + align-self: flex-start; +} + +.positive { + color: var(--green700); + background: var(--green100); +} + +.negative { + color: var(--red700); + background: var(--red100); +} + +.neutral { + color: var(--base700); + background: var(--base100); +} diff --git a/src/components/metrics/ChangeLabel.tsx b/src/components/metrics/ChangeLabel.tsx new file mode 100644 index 00000000..7e7cb77b --- /dev/null +++ b/src/components/metrics/ChangeLabel.tsx @@ -0,0 +1,46 @@ +import classNames from 'classnames'; +import { Icon, Icons } from 'react-basics'; +import { ReactNode } from 'react'; +import styles from './ChangeLabel.module.css'; + +export function ChangeLabel({ + value, + size, + title, + reverseColors, + className, + children, +}: { + value: number; + size?: 'xs' | 'sm' | 'md' | 'lg'; + title?: string; + reverseColors?: boolean; + showPercentage?: boolean; + className?: string; + children?: ReactNode; +}) { + const positive = value >= 0; + const negative = value < 0; + const neutral = value === 0 || isNaN(value); + const good = reverseColors ? negative : positive; + + return ( +
+ {!neutral && ( + + + + )} + {children || value} +
+ ); +} + +export default ChangeLabel; diff --git a/src/components/metrics/CitiesTable.tsx b/src/components/metrics/CitiesTable.tsx index fbbcafa6..61624f6a 100644 --- a/src/components/metrics/CitiesTable.tsx +++ b/src/components/metrics/CitiesTable.tsx @@ -1,6 +1,9 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; import { emptyFilter } from 'lib/filters'; import FilterLink from 'components/common/FilterLink'; + +import TypeIcon from 'components/common/TypeIcon'; +import { useLocale } from 'components/hooks'; import { useMessages } from 'components/hooks'; import { useFormat } from 'components/hooks'; diff --git a/src/components/metrics/CountriesTable.tsx b/src/components/metrics/CountriesTable.tsx index 4a5db7fd..3354c73c 100644 --- a/src/components/metrics/CountriesTable.tsx +++ b/src/components/metrics/CountriesTable.tsx @@ -2,34 +2,22 @@ import FilterLink from 'components/common/FilterLink'; import { useCountryNames } from 'components/hooks'; import { useLocale, useMessages, useFormat } from 'components/hooks'; import MetricsTable, { MetricsTableProps } from './MetricsTable'; +import TypeIcon from 'components/common/TypeIcon'; -export function CountriesTable({ - onDataLoad, - ...props -}: { - onDataLoad: (data: any) => void; -} & MetricsTableProps) { +export function CountriesTable({ ...props }: MetricsTableProps) { const { locale } = useLocale(); - const countryNames = useCountryNames(locale); + const { countryNames } = useCountryNames(locale); const { formatMessage, labels } = useMessages(); const { formatCountry } = useFormat(); - const handleDataLoad = (data: any) => { - onDataLoad?.(data); - }; - const renderLink = ({ x: code }) => { return ( - {code} + ); }; diff --git a/src/components/metrics/DevicesTable.tsx b/src/components/metrics/DevicesTable.tsx index 7e078986..c25afe4f 100644 --- a/src/components/metrics/DevicesTable.tsx +++ b/src/components/metrics/DevicesTable.tsx @@ -2,6 +2,7 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; import FilterLink from 'components/common/FilterLink'; import { useMessages } from 'components/hooks'; import { useFormat } from 'components/hooks'; +import TypeIcon from 'components/common/TypeIcon'; export function DevicesTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); @@ -10,12 +11,7 @@ export function DevicesTable(props: MetricsTableProps) { function renderLink({ x: device }) { return ( - {device} + ); } diff --git a/src/components/metrics/EventsChart.tsx b/src/components/metrics/EventsChart.tsx index eb2fb703..2ba2caee 100644 --- a/src/components/metrics/EventsChart.tsx +++ b/src/components/metrics/EventsChart.tsx @@ -1,11 +1,9 @@ -import { useMemo } from 'react'; -import { Loading } from 'react-basics'; import { colord } from 'colord'; import BarChart from 'components/charts/BarChart'; -import { getDateArray } from 'lib/date'; -import { useLocale, useDateRange, useWebsiteEvents } from 'components/hooks'; -import { CHART_COLORS } from 'lib/constants'; +import { useDateRange, useLocale, useWebsiteEventsSeries } from 'components/hooks'; import { renderDateLabels } from 'lib/charts'; +import { CHART_COLORS } from 'lib/constants'; +import { useMemo } from 'react'; export interface EventsChartProps { websiteId: string; @@ -13,9 +11,11 @@ export interface EventsChartProps { } export function EventsChart({ websiteId, className }: EventsChartProps) { - const [{ startDate, endDate, unit }] = useDateRange(websiteId); + const { + dateRange: { startDate, endDate, unit, value }, + } = useDateRange(websiteId); const { locale } = useLocale(); - const { data, isLoading } = useWebsiteEvents(websiteId); + const { data, isLoading } = useWebsiteEventsSeries(websiteId); const chartData = useMemo(() => { if (!data) return []; @@ -30,10 +30,6 @@ export function EventsChart({ websiteId, className }: EventsChartProps) { return obj; }, {}); - Object.keys(map).forEach(key => { - map[key] = getDateArray(map[key], startDate, endDate, unit); - }); - return { datasets: Object.keys(map).map((key, index) => { const color = colord(CHART_COLORS[index % CHART_COLORS.length]); @@ -49,18 +45,17 @@ export function EventsChart({ websiteId, className }: EventsChartProps) { }; }, [data, startDate, endDate, unit]); - if (isLoading) { - return ; - } - return ( ); } diff --git a/src/components/metrics/FilterTags.module.css b/src/components/metrics/FilterTags.module.css index fe5c345c..ea7714f4 100644 --- a/src/components/metrics/FilterTags.module.css +++ b/src/components/metrics/FilterTags.module.css @@ -2,6 +2,12 @@ display: flex; align-items: center; gap: 10px; + background: var(--base75); + padding: 10px 20px; + border: 1px solid var(--base400); + border-radius: 8px; + margin-bottom: 20px; + flex-wrap: wrap; } .label { @@ -12,12 +18,13 @@ display: flex; flex-direction: row; align-items: center; - gap: 10px; - background: var(--base75); + gap: 4px; + font-size: 12px; + background: var(--base50); border: 1px solid var(--base400); border-radius: var(--border-radius); box-shadow: 1px 1px 1px var(--base500); - padding: 8px 16px; + padding: 6px 14px; cursor: pointer; } @@ -27,6 +34,8 @@ .close { font-weight: 700; + align-self: center; + margin-left: auto; } .name, diff --git a/src/components/metrics/FilterTags.tsx b/src/components/metrics/FilterTags.tsx index 35d12556..60cf90c1 100644 --- a/src/components/metrics/FilterTags.tsx +++ b/src/components/metrics/FilterTags.tsx @@ -13,6 +13,7 @@ import FieldFilterEditForm from 'app/(main)/reports/[reportId]/FieldFilterEditFo import { OPERATOR_PREFIXES } from 'lib/constants'; import { isSearchOperator, parseParameterValue } from 'lib/params'; import styles from './FilterTags.module.css'; +import WebsiteFilterButton from 'app/(main)/websites/[websiteId]/WebsiteFilterButton'; export function FilterTags({ websiteId, @@ -23,7 +24,7 @@ export function FilterTags({ }) { const { formatMessage, labels } = useMessages(); const { formatValue } = useFormat(); - const [dateRange] = useDateRange(websiteId); + const { dateRange } = useDateRange(websiteId); const { router, renderUrl, @@ -100,6 +101,7 @@ export function FilterTags({ ); })} +
); diff --git a/src/components/metrics/ListTable.module.css b/src/components/metrics/ListTable.module.css index 9c3d5cff..405819b1 100644 --- a/src/components/metrics/ListTable.module.css +++ b/src/components/metrics/ListTable.module.css @@ -72,9 +72,11 @@ } .value { - width: 50px; + display: flex; + align-items: center; + gap: 10px; text-align: end; - margin-inline-end: 10px; + margin-inline-end: 5px; font-weight: 600; } diff --git a/src/components/metrics/ListTable.tsx b/src/components/metrics/ListTable.tsx index 133905e1..59ded491 100644 --- a/src/components/metrics/ListTable.tsx +++ b/src/components/metrics/ListTable.tsx @@ -14,7 +14,8 @@ export interface ListTableProps { title?: string; metric?: string; className?: string; - renderLabel?: (row: any) => ReactNode; + renderLabel?: (row: any, index: number) => ReactNode; + renderChange?: (row: any, index: number) => ReactNode; animate?: boolean; virtualize?: boolean; showPercentage?: boolean; @@ -27,6 +28,7 @@ export function ListTable({ metric, className, renderLabel, + renderChange, animate = true, virtualize = false, showPercentage = true, @@ -34,23 +36,24 @@ export function ListTable({ }: ListTableProps) { const { formatMessage, labels } = useMessages(); - const getRow = row => { + const getRow = (row: { x: any; y: any; z: any }, index: number) => { const { x: label, y: value, z: percent } = row; return ( ); }; const Row = ({ index, style }) => { - return
{getRow(data[index])}
; + return
{getRow(data[index], index)}
; }; return ( @@ -71,14 +74,14 @@ export function ListTable({ {Row} ) : ( - data.map(row => getRow(row)) + data.map(getRow) )}
); } -const AnimatedRow = ({ label, value = 0, percent, animate, showPercentage = true }) => { +const AnimatedRow = ({ label, value = 0, percent, change, animate, showPercentage = true }) => { const props = useSpring({ width: percent, y: value, @@ -90,6 +93,7 @@ const AnimatedRow = ({ label, value = 0, percent, animate, showPercentage = true
{label}
+ {change} {props.y?.to(formatLongNumber)} @@ -97,9 +101,7 @@ const AnimatedRow = ({ label, value = 0, percent, animate, showPercentage = true {showPercentage && (
`${n}%`) }} /> - - {props.width.to(n => `${n?.toFixed?.(0)}%`)} - + {props.width.to(n => `${n?.toFixed?.(0)}%`)}
)}
diff --git a/src/components/metrics/MetricCard.module.css b/src/components/metrics/MetricCard.module.css index 8ddecc10..93e6c6d7 100644 --- a/src/components/metrics/MetricCard.module.css +++ b/src/components/metrics/MetricCard.module.css @@ -2,47 +2,36 @@ display: flex; flex-direction: column; justify-content: center; - min-height: 90px; - min-width: 140px; + min-width: 150px; +} + +.card.compare .change { + font-size: 16px; + margin: 10px 0; +} + +.card:first-child { + padding-left: 0; +} + +.card:last-child { + border: 0; } .value { - display: flex; - align-items: center; font-size: 36px; font-weight: 700; white-space: nowrap; - min-height: 60px; color: var(--base900); + line-height: 1.5; } -.label { - display: flex; - align-items: center; - font-weight: 700; - gap: 10px; - white-space: nowrap; - min-height: 30px; +.value.prev { color: var(--base800); } -.change { - font-size: 12px; - padding: 0 5px; - border-radius: 5px; - color: var(--base500); -} - -.change.positive { - color: var(--green700); - background: var(--green100); -} - -.change.negative { - color: var(--red700); - background: var(--red100); -} - -.change.plusSign::before { - content: '+'; +.label { + font-weight: 700; + white-space: nowrap; + color: var(--base800); } diff --git a/src/components/metrics/MetricCard.tsx b/src/components/metrics/MetricCard.tsx index 2359b0e2..64f2a1b6 100644 --- a/src/components/metrics/MetricCard.tsx +++ b/src/components/metrics/MetricCard.tsx @@ -1,15 +1,19 @@ import classNames from 'classnames'; import { useSpring, animated } from '@react-spring/web'; import { formatNumber } from 'lib/format'; +import ChangeLabel from 'components/metrics/ChangeLabel'; import styles from './MetricCard.module.css'; export interface MetricCardProps { value: number; + previousValue?: number; change?: number; - label: string; + label?: string; reverseColors?: boolean; - format?: typeof formatNumber; - hideComparison?: boolean; + formatValue?: (n: any) => string; + showLabel?: boolean; + showChange?: boolean; + showPrevious?: boolean; className?: string; } @@ -18,33 +22,39 @@ export const MetricCard = ({ change = 0, label, reverseColors = false, - format = formatNumber, - hideComparison = false, + formatValue = formatNumber, + showLabel = true, + showChange = false, + showPrevious = false, className, }: MetricCardProps) => { + const diff = value - change; + const pct = ((value - diff) / diff) * 100; const props = useSpring({ x: Number(value) || 0, from: { x: 0 } }); - const changeProps = useSpring({ x: Number(change) || 0, from: { x: 0 } }); + const changeProps = useSpring({ x: Number(pct) || 0, from: { x: 0 } }); + const prevProps = useSpring({ x: Number(diff) || 0, from: { x: 0 } }); return ( -
- - {props?.x?.to(x => format(x))} +
+ {showLabel &&
{label}
} + + {props?.x?.to(x => formatValue(x))} -
- {label} - {~~change !== 0 && !hideComparison && ( - = 0, - [styles.negative]: change * (reverseColors ? -1 : 1) < 0, - [styles.plusSign]: change > 0, - })} - title={changeProps?.x as any} - > - {changeProps?.x?.to(x => format(x))} - - )} -
+ {showChange && ( + + {changeProps?.x?.to(x => `${Math.abs(~~x)}%`)} + + )} + {showPrevious && ( + + {prevProps?.x?.to(x => formatValue(x))} + + )}
); }; diff --git a/src/components/metrics/MetricsBar.module.css b/src/components/metrics/MetricsBar.module.css index 21c9e802..dadee9ef 100644 --- a/src/components/metrics/MetricsBar.module.css +++ b/src/components/metrics/MetricsBar.module.css @@ -2,6 +2,8 @@ display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, max-content)); gap: 20px; + width: 100%; + position: relative; } @media screen and (max-width: 768px) { diff --git a/src/components/metrics/MetricsTable.tsx b/src/components/metrics/MetricsTable.tsx index 87779f94..f8bc4df3 100644 --- a/src/components/metrics/MetricsTable.tsx +++ b/src/components/metrics/MetricsTable.tsx @@ -6,7 +6,6 @@ import LinkButton from 'components/common/LinkButton'; import { DEFAULT_ANIMATION_DURATION } from 'lib/constants'; import { percentFilter } from 'lib/filters'; import { - useDateRange, useNavigation, useWebsiteMetrics, useMessages, @@ -19,7 +18,6 @@ import styles from './MetricsTable.module.css'; export interface MetricsTableProps extends ListTableProps { websiteId: string; - domainName: string; type?: string; className?: string; dataFilter?: (data: any) => any; @@ -29,6 +27,8 @@ export interface MetricsTableProps extends ListTableProps { onSearch?: (search: string) => void; allowSearch?: boolean; searchFormattedValues?: boolean; + showMore?: boolean; + params?: { [key: string]: any }; children?: ReactNode; } @@ -42,21 +42,20 @@ export function MetricsTable({ delay = null, allowSearch = false, searchFormattedValues = false, + showMore = true, + params, children, ...props }: MetricsTableProps) { const [search, setSearch] = useState(''); const { formatValue } = useFormat(); - const [{ startDate, endDate }] = useDateRange(websiteId); - const { - renderUrl, - query: { url, referrer, title, os, browser, device, country, region, city }, - } = useNavigation(); + const { renderUrl } = useNavigation(); const { formatMessage, labels } = useMessages(); const { dir } = useLocale(); const { data, isLoading, isFetched, error } = useWebsiteMetrics( websiteId, + { type, limit, search, ...params }, { type, startAt: +startDate, @@ -72,8 +71,9 @@ export function MetricsTable({ city, limit, search: (searchFormattedValues) ? undefined : search, + retryDelay: delay || DEFAULT_ANIMATION_DURATION, + onDataLoad, }, - { retryDelay: delay || DEFAULT_ANIMATION_DURATION, onDataLoad }, ); const filteredData = useMemo(() => { @@ -125,7 +125,7 @@ export function MetricsTable({ )} {!data && isLoading && !isFetched && }
- {data && !error && limit && ( + {showMore && data && !error && limit && ( {formatMessage(labels.more)} diff --git a/src/components/metrics/OSTable.tsx b/src/components/metrics/OSTable.tsx index 7744bf11..6989504c 100644 --- a/src/components/metrics/OSTable.tsx +++ b/src/components/metrics/OSTable.tsx @@ -1,6 +1,7 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable'; import FilterLink from 'components/common/FilterLink'; import { useMessages, useFormat } from 'components/hooks'; +import TypeIcon from 'components/common/TypeIcon'; export function OSTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); @@ -9,14 +10,7 @@ export function OSTable(props: MetricsTableProps) { function renderLink({ x: os }) { return ( - {os} + ); } diff --git a/src/components/metrics/PagesTable.tsx b/src/components/metrics/PagesTable.tsx index 4bc5c461..b2d8ca9c 100644 --- a/src/components/metrics/PagesTable.tsx +++ b/src/components/metrics/PagesTable.tsx @@ -1,31 +1,41 @@ -import FilterLink from 'components/common/FilterLink'; +import { WebsiteContext } from 'app/(main)/websites/[websiteId]/WebsiteProvider'; import FilterButtons from 'components/common/FilterButtons'; -import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import { useMessages } from 'components/hooks'; -import { useNavigation } from 'components/hooks'; +import FilterLink from 'components/common/FilterLink'; +import { useMessages, useNavigation } from 'components/hooks'; import { emptyFilter } from 'lib/filters'; +import { useContext } from 'react'; +import MetricsTable, { MetricsTableProps } from './MetricsTable'; export interface PagesTableProps extends MetricsTableProps { allowFilter?: boolean; } -export function PagesTable({ allowFilter, domainName, ...props }: PagesTableProps) { +export function PagesTable({ allowFilter, ...props }: PagesTableProps) { const { router, renderUrl, query: { view = 'url' }, } = useNavigation(); const { formatMessage, labels } = useMessages(); + const { domain } = useContext(WebsiteContext); const handleSelect = (key: any) => { - router.push(renderUrl({ view: key }), { scroll: true }); + router.push(renderUrl({ view: key }), { scroll: false }); }; const buttons = [ { - label: 'URL', + label: formatMessage(labels.path), key: 'url', }, + { + label: formatMessage(labels.entry), + key: 'entry', + }, + { + label: formatMessage(labels.exit), + key: 'exit', + }, { label: formatMessage(labels.title), key: 'title', @@ -35,10 +45,14 @@ export function PagesTable({ allowFilter, domainName, ...props }: PagesTableProp const renderLink = ({ x }) => { return ( ); }; @@ -46,7 +60,6 @@ export function PagesTable({ allowFilter, domainName, ...props }: PagesTableProp return ( ); } -export default PageviewsChart; +export default PagepageviewsChart; diff --git a/src/components/metrics/RealtimeChart.tsx b/src/components/metrics/RealtimeChart.tsx index 1ca0719a..b2819f9c 100644 --- a/src/components/metrics/RealtimeChart.tsx +++ b/src/components/metrics/RealtimeChart.tsx @@ -1,29 +1,9 @@ import { useMemo, useRef } from 'react'; -import { format, startOfMinute, subMinutes, isBefore } from 'date-fns'; +import { startOfMinute, subMinutes, isBefore } from 'date-fns'; import PageviewsChart from './PageviewsChart'; -import { getDateArray } from 'lib/date'; import { DEFAULT_ANIMATION_DURATION, REALTIME_RANGE } from 'lib/constants'; import { RealtimeData } from 'lib/types'; -function mapData(data: any[]) { - let last = 0; - const arr = []; - - data?.reduce((obj, { timestamp }) => { - const t = startOfMinute(new Date(timestamp)); - if (t.getTime() > last) { - obj = { x: format(t, 'yyyy-LL-dd HH:mm:00'), y: 1 }; - arr.push(obj); - last = t.getTime(); - } else { - obj.y += 1; - } - return obj; - }, {}); - - return arr; -} - export interface RealtimeChartProps { data: RealtimeData; unit: string; @@ -41,8 +21,8 @@ export function RealtimeChart({ data, unit, ...props }: RealtimeChartProps) { } return { - pageviews: getDateArray(mapData(data.pageviews), startDate, endDate, unit), - sessions: getDateArray(mapData(data.visitors), startDate, endDate, unit), + pageviews: data.series.views, + sessions: data.series.visitors, }; }, [data, startDate, endDate, unit]); @@ -56,7 +36,14 @@ export function RealtimeChart({ data, unit, ...props }: RealtimeChartProps) { }, [endDate]); return ( - + ); } diff --git a/src/components/metrics/ReferrersTable.tsx b/src/components/metrics/ReferrersTable.tsx index 7dceedd8..d83c4d12 100644 --- a/src/components/metrics/ReferrersTable.tsx +++ b/src/components/metrics/ReferrersTable.tsx @@ -1,23 +1,21 @@ -import MetricsTable, { MetricsTableProps } from './MetricsTable'; import FilterLink from 'components/common/FilterLink'; import Favicon from 'components/common/Favicon'; import { useMessages } from 'components/hooks'; -import { Flexbox } from 'react-basics'; +import MetricsTable, { MetricsTableProps } from './MetricsTable'; export function ReferrersTable(props: MetricsTableProps) { const { formatMessage, labels } = useMessages(); const renderLink = ({ x: referrer }) => { return ( - + - - + ); }; diff --git a/src/components/metrics/RegionsTable.tsx b/src/components/metrics/RegionsTable.tsx index 174ccf0e..0c3a931f 100644 --- a/src/components/metrics/RegionsTable.tsx +++ b/src/components/metrics/RegionsTable.tsx @@ -1,28 +1,18 @@ import FilterLink from 'components/common/FilterLink'; import { emptyFilter } from 'lib/filters'; -import { useLocale } from 'components/hooks'; -import { useMessages } from 'components/hooks'; -import { useCountryNames } from 'components/hooks'; +import { useMessages, useLocale, useRegionNames } from 'components/hooks'; import MetricsTable, { MetricsTableProps } from './MetricsTable'; -import regions from '../../../public/iso-3166-2.json'; +import TypeIcon from 'components/common/TypeIcon'; export function RegionsTable(props: MetricsTableProps) { const { locale } = useLocale(); const { formatMessage, labels } = useMessages(); - const countryNames = useCountryNames(locale); - - const renderLabel = (code: string, country: string) => { - const region = code.includes('-') ? code : `${country}-${code}`; - return regions[region] ? `${regions[region]}, ${countryNames[country]}` : region; - }; + const { getRegionName } = useRegionNames(locale); const renderLink = ({ x: code, country }) => { return ( - - {code} + + ); }; diff --git a/src/components/metrics/TagsTable.tsx b/src/components/metrics/TagsTable.tsx new file mode 100644 index 00000000..a1130bb4 --- /dev/null +++ b/src/components/metrics/TagsTable.tsx @@ -0,0 +1,30 @@ +import MetricsTable, { MetricsTableProps } from './MetricsTable'; +import FilterLink from 'components/common/FilterLink'; +import { useMessages } from 'components/hooks'; +import { Flexbox } from 'react-basics'; + +export function TagsTable(props: MetricsTableProps) { + const { formatMessage, labels } = useMessages(); + + const renderLink = ({ x: tag }) => { + return ( + + + + ); + }; + + return ( + <> + + + ); +} + +export default TagsTable; diff --git a/src/components/metrics/WorldMap.tsx b/src/components/metrics/WorldMap.tsx index 31d55dd0..5dfc5f74 100644 --- a/src/components/metrics/WorldMap.tsx +++ b/src/components/metrics/WorldMap.tsx @@ -1,10 +1,10 @@ -import { useState, useMemo } from 'react'; +import { useState, useMemo, HTMLAttributes } from 'react'; import { ComposableMap, Geographies, Geography, ZoomableGroup } from 'react-simple-maps'; import classNames from 'classnames'; import { colord } from 'colord'; import HoverTooltip from 'components/common/HoverTooltip'; import { ISO_COUNTRIES, MAP_FILE } from 'lib/constants'; -import { useTheme } from 'components/hooks'; +import { useDateRange, useTheme, useWebsiteMetrics } from 'components/hooks'; import { useCountryNames } from 'components/hooks'; import { useLocale } from 'components/hooks'; import { useMessages } from 'components/hooks'; @@ -12,16 +12,37 @@ import { formatLongNumber } from 'lib/format'; import { percentFilter } from 'lib/filters'; import styles from './WorldMap.module.css'; -export function WorldMap({ data = [], className }: { data?: any[]; className?: string }) { +export function WorldMap({ + websiteId, + data, + className, + ...props +}: { + websiteId?: string; + data?: any[]; + className?: string; +} & HTMLAttributes) { const [tooltip, setTooltipPopup] = useState(); const { theme, colors } = useTheme(); const { locale } = useLocale(); const { formatMessage, labels } = useMessages(); - const countryNames = useCountryNames(locale); + const { countryNames } = useCountryNames(locale); const visitorsLabel = formatMessage(labels.visitors).toLocaleLowerCase(locale); - const metrics = useMemo(() => (data ? percentFilter(data) : []), [data]); + const unknownLabel = formatMessage(labels.unknown); + const { + dateRange: { startDate, endDate }, + } = useDateRange(websiteId); + const { data: mapData } = useWebsiteMetrics(websiteId, { + type: 'country', + startAt: +startDate, + endAt: +endDate, + }); + const metrics = useMemo( + () => (data || mapData ? percentFilter((data || mapData) as any[]) : []), + [data, mapData], + ); - function getFillColor(code: string) { + const getFillColor = (code: string) => { if (code === 'AQ') return; const country = metrics?.find(({ x }) => x === code); @@ -32,29 +53,32 @@ export function WorldMap({ data = [], className }: { data?: any[]; className?: s return colord(colors.map.baseColor) [theme === 'light' ? 'lighten' : 'darken'](0.4 * (1.0 - country.z / 100)) .toHex(); - } + }; - function getOpacity(code) { + const getOpacity = (code: string) => { return code === 'AQ' ? 0 : 1; - } + }; - function handleHover(code) { + const handleHover = (code: string) => { if (code === 'AQ') return; const country = metrics?.find(({ x }) => x === code); setTooltipPopup( - `${countryNames[code]}: ${formatLongNumber(country?.y || 0)} ${visitorsLabel}` as any, + `${countryNames[code] || unknownLabel}: ${formatLongNumber( + country?.y || 0, + )} ${visitorsLabel}` as any, ); - } + }; return (
- + {({ geographies }) => { return geographies.map(geo => { const code = ISO_COUNTRIES[geo.id]; diff --git a/src/index.ts b/src/index.ts index 465de67e..553a44b5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,19 +1,19 @@ export * from 'components/hooks'; -export * from 'app/(main)/settings/teams/[teamId]/members/TeamMemberEditButton'; -export * from 'app/(main)/settings/teams/[teamId]/members/TeamMemberEditForm'; -export * from 'app/(main)/settings/teams/[teamId]/members/TeamMemberRemoveButton'; -export * from 'app/(main)/settings/teams/[teamId]/members/TeamMembersDataTable'; -export * from 'app/(main)/settings/teams/[teamId]/members/TeamMembersTable'; +export * from 'app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton'; +export * from 'app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm'; +export * from 'app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton'; +export * from 'app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable'; +export * from 'app/(main)/teams/[teamId]/settings/members/TeamMembersTable'; -export * from 'app/(main)/settings/teams/[teamId]/team/TeamDeleteForm'; -export * from 'app/(main)/settings/teams/[teamId]/team/TeamDetails'; -export * from 'app/(main)/settings/teams/[teamId]/team/TeamEditForm'; -export * from 'app/(main)/settings/teams/[teamId]/team/TeamManage'; +export * from 'app/(main)/teams/[teamId]/settings/team/TeamDeleteForm'; +export * from 'app/(main)/teams/[teamId]/settings/team/TeamDetails'; +export * from 'app/(main)/teams/[teamId]/settings/team/TeamEditForm'; +export * from 'app/(main)/teams/[teamId]/settings/team/TeamManage'; -export * from 'app/(main)/settings/teams/[teamId]/websites/TeamWebsiteRemoveButton'; -export * from 'app/(main)/settings/teams/[teamId]/websites/TeamWebsitesDataTable'; -export * from 'app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable'; +export * from 'app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton'; +export * from 'app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable'; +export * from 'app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable'; export * from 'app/(main)/settings/teams/TeamAddForm'; export * from 'app/(main)/settings/teams/TeamJoinForm'; diff --git a/src/lang/am-ET.json b/src/lang/am-ET.json index e289ddc5..ab311218 100644 --- a/src/lang/am-ET.json +++ b/src/lang/am-ET.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Actions", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Average visit time", "label.back": "Back", "label.before": "Before", "label.bounce-rate": "Bounce rate", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Confirm password", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Countries", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Current password", "label.custom-range": "Custom range", "label.dashboard": "Dashboard", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Enable share URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event Data", "label.events": "Events", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Laptop", "label.last-days": "Last {x} days", "label.last-hours": "Last {x} hours", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Login", "label.logout": "Logout", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Pages", "label.password": "Password", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profile", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Settings", "label.share-url": "Share URL", "label.single-day": "Single day", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Tracking code", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unique visitors", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Unknown", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Username", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Views", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Visit duration", "label.visitors": "Visitors", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} current {x, plural, one {visitor} other {visitors}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Are you sure you want to delete {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/ar-SA.json b/src/lang/ar-SA.json index d01ff65f..981fea84 100644 --- a/src/lang/ar-SA.json +++ b/src/lang/ar-SA.json @@ -1,7 +1,7 @@ { "label.access-code": "كود الدعوة", "label.actions": "الإجراءات", - "label.activity-log": "سجل الأحداث", + "label.activity": "سجل الأحداث", "label.add": "أضِف", "label.add-description": "أضِف وصف", "label.add-member": "أضِف عضو", @@ -13,7 +13,6 @@ "label.all-time": "كل الوقت", "label.analytics": "تحليلات", "label.average": "المتوسط", - "label.average-visit-time": "متوسط وقت الزيارة", "label.back": "للخلف", "label.before": "قبل", "label.bounce-rate": "معدل الارتداد", @@ -25,10 +24,12 @@ "label.cities": "المدن", "label.city": "المدينة", "label.clear-all": "مسح الكل", + "label.compare": "Compare", "label.confirm": "تأكيد", "label.confirm-password": "تأكيد كلمة المرور", "label.contains": "يحتوي", "label.continue": "تابع", + "label.count": "Count", "label.countries": "الدول", "label.country": "الدولة", "label.create": "أنشِئ", @@ -37,6 +38,7 @@ "label.create-user": "أنشِئ مستخدم", "label.created": "أُنشئت", "label.created-by": "أُنشئ من قبل", + "label.current": "Current", "label.current-password": "كلمة المرور الحالية", "label.custom-range": "فترة مخصّصة", "label.dashboard": "الشاشة الرئيسية", @@ -63,9 +65,12 @@ "label.edit-dashboard": "عدّل لوحة التحكم", "label.edit-member": "عدّل العضو", "label.enable-share-url": "فعّل مشاركة الرابط", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "الحدث", "label.event-data": "تاريخ الحدث", "label.events": "الأحداث", + "label.exit": "Exit URL", "label.false": "خطأ", "label.field": "الحقل", "label.fields": "الحقول", @@ -73,10 +78,16 @@ "label.filter-combined": "مُجمّعة", "label.filter-raw": "خام", "label.filters": "التصفيات", + "label.first-seen": "First seen", "label.funnel": "قمع", "label.funnel-description": "فهم معدل التحويل والانقطاع عن المستخدمين.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "أكبَر مِن", "label.greater-than-equals": "أكبَر مِن أو يساوي", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "نتائج التحليلات", "label.insights-description": "تعمق في بياناتك باستخدام الشرائح والتصفيات.", "label.is": "هو", @@ -85,12 +96,15 @@ "label.is-set": "ضُبط", "label.join": "انضم", "label.join-team": "انضم للفريق", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "اللغة", "label.languages": "اللغات", "label.laptop": "لابتوب", "label.last-days": "آخر {x} يوم/ايام", "label.last-hours": "آخر {x} ساعة", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "غادر", "label.leave-team": "مغادرة المجموعة", "label.less-than": "أقل مِن", @@ -98,6 +112,7 @@ "label.login": "تسجيل الدخول", "label.logout": "تسجيل الخروج", "label.manage": "التحكم", + "label.manager": "Manager", "label.max": "الحد الأقصى", "label.member": "عضو", "label.members": "الأعضاء", @@ -119,8 +134,15 @@ "label.pageTitle": "عنوان الصفحة", "label.pages": "الصفحات", "label.password": "كلمة المرور", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "مشغل بواسطة {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "الملف الشخصي", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "استعلامات", "label.query": "استعلام", "label.query-parameters": "متغيرات الرابط", @@ -139,6 +161,9 @@ "label.reset-website": "اعادة تعيين الإحصائيات", "label.retention": "الاحتفاظ", "label.retention-description": "قس مدى ثبات موقعك على الويب من خلال تتبع عدد مرات عودة المستخدمين.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "الصلاحية", "label.run-query": "شغّل الاستعلام", "label.save": "حفظ", @@ -148,15 +173,18 @@ "label.select-date": "حدد التاريخ", "label.select-role": "حدد الدور", "label.select-website": "حدد موقع", + "label.session": "Session", "label.sessions": "الزيارات", "label.settings": "الإعدادات", "label.share-url": "مشاركة الرابط", "label.single-day": "يوم واحد", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "المجموع", "label.tablet": "تابلت", "label.team": "الفريق", "label.team-id": "معرّف الفريق", + "label.team-manager": "Team manager", "label.team-member": "عضو الفريق", "label.team-name": "اسم الفريق", "label.team-owner": "مدير الفريق", @@ -174,18 +202,21 @@ "label.total": "الإجمالي", "label.total-records": "إجمالي السجلات", "label.tracking-code": "كود التتبع", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "انقل الموقع", "label.true": "حقيقي", "label.type": "النوع", "label.unique": "فريد", "label.unique-visitors": "زائرون فريدون", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "غير معروف", "label.untitled": "بدون عنوان", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "المستخدم", + "label.user-property": "User Property", "label.username": "اسم المستخدم", "label.users": "المستخدمين", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "عرض فقط", "label.views": "المشاهدات", "label.views-per-visit": "Views per visit", + "label.visit-duration": "متوسط وقت الزيارة", "label.visitors": "الزوار", "label.visits": "Visits", "label.website": "الموقع", @@ -205,6 +237,7 @@ "label.yesterday": "الأمس", "message.action-confirmation": "اكتب {confirmation} في المربع أدناه للتأكيد.", "message.active-users": "{x} حاليا {x, plural, one {زائر واحد} other {زوار}}", + "message.collected-data": "Collected data", "message.confirm-delete": "هل أنت متأكد من حذف {target}?", "message.confirm-leave": "هل أنت متأكد من مغادرة {target}?", "message.confirm-remove": "هل انت متأكد من حذف {target}?", diff --git a/src/lang/be-BY.json b/src/lang/be-BY.json index b68c8dab..b417afaa 100644 --- a/src/lang/be-BY.json +++ b/src/lang/be-BY.json @@ -1,246 +1,279 @@ { - "label.access-code": "Access code", + "label.access-code": "Код доступу", "label.actions": "Дзеянні", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "Журнал актыўнасці", + "label.add": "Дадаць", + "label.add-description": "Дадаць апісанне", + "label.add-member": "Дадаць удзельніка", + "label.add-step": "Дадаць крок", "label.add-website": "Дадаць сайт", "label.admin": "Адміністратар", - "label.after": "After", + "label.after": "Пасля", "label.all": "Усё", "label.all-time": "Увесь час", - "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "Сярэдняя даўжыня наведвання", + "label.analytics": "Аналітыка", + "label.average": "Сярэдняе", "label.back": "Назад", - "label.before": "Before", + "label.before": "Да", "label.bounce-rate": "Паказчык адмоваў", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.breakdown": "Разбіўка", + "label.browser": "Браўзер", "label.browsers": "Браўзеры", "label.cancel": "Адмена", "label.change-password": "Змяніць пароль", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "Гарады", + "label.city": "Горад", + "label.clear-all": "Ачысціць усё", + "label.compare": "Параўнаць", + "label.confirm": "Падцвердзіць", "label.confirm-password": "Падцвердзіць пароль", - "label.contains": "Contains", - "label.continue": "Continue", + "label.contains": "Уключае", + "label.continue": "Працягнуць", + "label.count": "Колькасць", "label.countries": "Краіны", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", - "label.created-by": "Created By", - "label.current-password": "Бягучы пароль", - "label.custom-range": "Карыстацкі дыяпазон", + "label.country": "Краіна", + "label.create": "Стварыць", + "label.create-report": "Стварыць справаздачу", + "label.create-team": "Стварыць каманду", + "label.create-user": "Стварыць карыстальніка", + "label.created": "Створана", + "label.created-by": "Створана", + "label.current": "Цяперашні", + "label.current-password": "Цяперашні пароль", + "label.custom-range": "Іншы дыяпазон", "label.dashboard": "Інфармацыйная панэль", - "label.data": "Data", - "label.date": "Date", + "label.data": "Дадзеныя", + "label.date": "Дата", "label.date-range": "Дыяпазон дат", - "label.day": "Day", + "label.day": "Дзень", "label.default-date-range": "Дыяпазон дат па змаўчанню", "label.delete": "Выдаліць", - "label.delete-report": "Delete report", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-report": "Выдаліць справаздачу", + "label.delete-team": "Выдаліць каманду", + "label.delete-user": "Выдаліць карыстальніка", "label.delete-website": "Выдаліць сайт", - "label.description": "Description", + "label.description": "Апісанне", "label.desktop": "Настольны ПК", - "label.details": "Details", - "label.device": "Device", + "label.details": "Дэталі", + "label.device": "Прылада", "label.devices": "Прылады", - "label.dismiss": "Адмена", - "label.does-not-contain": "Does not contain", + "label.dismiss": "Адхіліць", + "label.does-not-contain": "Не ўключае", "label.domain": "Дамен", - "label.dropoff": "Dropoff", + "label.dropoff": "Адмовы", "label.edit": "Змяніць", "label.edit-dashboard": "Змяніць інфармацыйную панэль", - "label.edit-member": "Edit member", + "label.edit-member": "Рэдагаваць удзельніка", "label.enable-share-url": "Дазволіць дзяліцца спасылкай", - "label.event": "Event", - "label.event-data": "Event data", + "label.end-step": "Канчатковы крок", + "label.entry": "URL уваходу", + "label.event": "Падзея", + "label.event-data": "Дадзеныя падзеі", "label.events": "Падзеі", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter": "Filter", - "label.filter-combined": "Камбініаваны", + "label.exit": "URL выхаду", + "label.false": "Ложна", + "label.field": "Поле", + "label.fields": "Палі", + "label.filter": "Фільтр", + "label.filter-combined": "Камбініраваны", "label.filter-raw": "Сырыя", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", - "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", + "label.filters": "Фільтры", + "label.first-seen": "First seen", + "label.funnel": "Варонка", + "label.funnel-description": "Разумець паказчыкі канверсіі і адмоваў.", + "label.goal": "Мэта", + "label.goals": "Мэты", + "label.goals-description": "Сачыць за мэтамі па праглядах старонак і падзеях.", + "label.greater-than": "Больш чым", + "label.greater-than-equals": "Больш чым або роўна", + "label.host": "Хост", + "label.hosts": "Хасты", + "label.insights": "Інсайты", + "label.insights-description": "Даследваць дадзеныя з дапамогай сегментаў і фільтраў.", + "label.is": "З'яўляецца", + "label.is-not": "Не з'яўляецца", + "label.is-not-set": "Не ўстаноўлена", + "label.is-set": "Устаноўлена", + "label.join": "Далучыцца", + "label.join-team": "Далучыцца да каманды", + "label.journey": "Маршрут карыстальніка", + "label.journey-description": "Разумець як карыстальнікі навігуюць па сайце.", "label.language": "Мова", "label.languages": "Мовы", "label.laptop": "Ноўтбук", - "label.last-days": "Апошнія {x} дні", + "label.last-days": "Апошнія {x} дзён", "label.last-hours": "Апошнія {x} гадзіны", - "label.last-months": "Last {x} months", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", - "label.login": "Login", + "label.last-months": "Апошнія {x} месяцаў", + "label.last-seen": "Last seen", + "label.leave": "Пакінуць", + "label.leave-team": "Пакінуць каманду", + "label.less-than": "Менш чым", + "label.less-than-equals": "Менш чым або роўна", + "label.login": "Увайсці", "label.logout": "Выйсці", - "label.manage": "Manage", - "label.max": "Max", - "label.member": "Member", - "label.members": "Members", - "label.min": "Min", + "label.manage": "Кіраваць", + "label.manager": "Кіраўнік", + "label.max": "Максімум", + "label.member": "Удзельнік", + "label.members": "Удзельнікі", + "label.min": "Мінімум", "label.mobile": "Мабільны", "label.more": "Болей", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Мой уліковы запіс", + "label.my-websites": "Мае сайты", "label.name": "Імя", "label.new-password": "Новы пароль", "label.none": "Няма", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", - "label.ok": "OK", - "label.os": "OS", - "label.overview": "Overview", + "label.number-of-records": "{x} {x, plural, one {запіс} other {запісаў}}", + "label.ok": "ОК", + "label.os": "Аперацыйная сістэма", + "label.overview": "Агляд", "label.owner": "Уласнік", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Старонка {current} з {total}", "label.page-views": "Прагляды старонкі", - "label.pageTitle": "Page title", + "label.pageTitle": "Загаловак старонкі", "label.pages": "Старонкі", "label.password": "Пароль", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Зроблена {name}", + "label.previous": "Папярэдні", + "label.previous-period": "Папярэдні перыяд", + "label.previous-year": "Папярэдні год", "label.profile": "Профіль", - "label.queries": "Queries", - "label.query": "Query", - "label.query-parameters": "Query parameters", + "label.properties": "Properties", + "label.property": "Уласцівасць", + "label.queries": "Запыты", + "label.query": "Запыт", + "label.query-parameters": "Параметры запыту", "label.realtime": "У рэяльным часе", - "label.referrer": "Referrer", - "label.referrers": "Referrers", + "label.referrer": "Рэферэр", + "label.referrers": "Рэферэры", "label.refresh": "Аднавіць", - "label.regenerate": "Regenerate", - "label.region": "Region", - "label.regions": "Regions", - "label.remove": "Remove", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.regenerate": "Рэгенераваць", + "label.region": "Рэгіён", + "label.regions": "Рэгіёны", + "label.remove": "Выдаліць", + "label.remove-member": "Выдаліць удзельніка", + "label.reports": "Справаздачы", "label.required": "Абавязкова", "label.reset": "Скінуць", "label.reset-website": "Скінуць статыстыку", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Role", - "label.run-query": "Run query", + "label.retention": "Утрыманне", + "label.retention-description": "Ацаніць прыцягальнасць сайта, адсочваючы павяртанні карыстальнікаў.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "Роля", + "label.run-query": "Запусціць запыт", "label.save": "Захаваць", "label.screens": "Экраны", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", - "label.select-website": "Select website", - "label.sessions": "Sessions", + "label.search": "Пошук", + "label.select": "Выбраць", + "label.select-date": "Выбраць дату", + "label.select-role": "Выбраць ролю", + "label.select-website": "Выбраць сайт", + "label.session": "Session", + "label.sessions": "Сесіі", "label.settings": "Налады", "label.share-url": "Падзяліцца спасылкай", "label.single-day": "Адзін дзень", - "label.steps": "Steps", - "label.sum": "Sum", + "label.start-step": "Першы кроку", + "label.steps": "Крокі", + "label.sum": "Сума", "label.tablet": "Планшэт", - "label.team": "Team", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", - "label.teams": "Teams", + "label.team": "Каманда", + "label.team-id": "Ідэнтыфікатар каманды", + "label.team-manager": "Кіраўнік каманды", + "label.team-member": "Удзельнік каманды", + "label.team-name": "Назва каманды", + "label.team-owner": "Уласнік каманды", + "label.team-view-only": "Толькі для каманднага прагляду", + "label.team-websites": "Сайты каманды", + "label.teams": "Каманды", "label.theme": "Тэма", "label.this-month": "Гэты месяц", "label.this-week": "Гэты тыдзень", "label.this-year": "Гэты год", - "label.timezone": "Таймзона", - "label.title": "Title", + "label.timezone": "Часавы пояс", + "label.title": "Загаловак", "label.today": "Сёння", "label.toggle-charts": "Пераключыць графікі", - "label.total": "Total", - "label.total-records": "Total records", + "label.total": "Агульная колькасць", + "label.total-records": "Агульная колькасць запісаў", "label.tracking-code": "Код адсочвання", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.transactions": "Transactions", + "label.transfer": "Перадаць", + "label.transfer-website": "Перадаць сайт", + "label.true": "Ісціна", + "label.type": "Тып", + "label.unique": "Унікальны", "label.unique-visitors": "Унікальныя наведвальнікі", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Невядома", - "label.untitled": "Untitled", - "label.update": "Update", + "label.untitled": "Без назвы", + "label.update": "Абнавіць", "label.url": "URL", "label.urls": "URLs", - "label.user": "User", + "label.user": "Карыстальнік", + "label.user-property": "User Property", "label.username": "Імя карыстальніка", - "label.users": "Users", + "label.users": "Карыстальнікі", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", - "label.value": "Value", - "label.view": "View", - "label.view-details": "Пабачыць дэталі", - "label.view-only": "View only", + "label.utm-description": "Сачыць за кампаніямі з дапамогай UTM-метак.", + "label.value": "Значэнне", + "label.view": "Паглядзець", + "label.view-details": "Паглядзець дэталі", + "label.view-only": "Толькі прагляд", "label.views": "Прагляды", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Прагляды за наведванне", + "label.visit-duration": "Сярэдняя даўжыня наведвання", "label.visitors": "Наведвальнікі", - "label.visits": "Visits", - "label.website": "Website", - "label.website-id": "Website ID", + "label.visits": "Наведванні", + "label.website": "Сайт", + "label.website-id": "Ідэнтыфікатар сайта", "label.websites": "Сайты", - "label.window": "Window", + "label.window": "Вакно", "label.yesterday": "Учора", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", - "message.active-users": "{x} тякучых {x, plural, one {наведвальнік} other {наведвальнікаў}}", + "message.action-confirmation": "Увядзіце {confirmation} у поле ніжэй, каб пацвердзіць.", + "message.active-users": "{x} цякучых {x, plural, one {наведвальнік} other {наведвальнікаў}}", + "message.collected-data": "Сабраныя дадзеныя", "message.confirm-delete": "Вы дакладна хочаце выдаліць {target}?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", + "message.confirm-leave": "Вы дакладна хочаце пакінуць {target}?", + "message.confirm-remove": "Вы дакладна хочаце выдаліць {target}?", "message.confirm-reset": "Вы дакладна хочаце скінуць {target} статыстыку?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", + "message.delete-team-warning": "Выдаленне каманды таксама выдаліць усе сайты каманды.", "message.delete-website-warning": "Усе асацыяваныя дадзеныя будуць таксама выдалены.", "message.error": "Нешта пайшло не так.", - "message.event-log": "{event} on {url}", + "message.event-log": "{event} на {url}", "message.go-to-settings": "Да налад", - "message.incorrect-username-password": "Некарэктны username/password.", + "message.incorrect-username-password": "Некарэктнае імя карыстальніка/пароль.", "message.invalid-domain": "Некарэктны дамен", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.min-password-length": "Мінімальная даўжыня {n} знакаў", + "message.new-version-available": "Даступная новая версія Umami {version}!", "message.no-data-available": "Няма дадзеных.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "Дадзеныя падзеі недаступныя.", "message.no-match-password": "Паролі не супадаюць", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", - "message.no-websites-configured": "Вы не наладзілі ніводнага сайту.", + "message.no-results-found": "Вынікаў не знойдзена.", + "message.no-team-websites": "Гэтая каманда не мае ніводнага сайта.", + "message.no-teams": "Вы не стварылі ніводнай каманды.", + "message.no-users": "Няма карыстальнікаў.", + "message.no-websites-configured": "Вы не наладзілі ніводнага сайта.", "message.page-not-found": "Старонка не знойдзена.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "message.reset-website-warning": "Уся статыстыка для гэтага сайту будзе выдалена, але код адсочвання будзе працягваць працаваць.", + "message.reset-website": "Каб скінуць гэты сайт, увядзіце {confirmation} у поле ніжэй для пацверджання.", + "message.reset-website-warning": "Уся статыстыка для гэтага сайта будзе выдалена, але код адсочвання будзе працягваць працаваць.", "message.saved": "Захавана паспяхова.", "message.share-url": "Гэта публічная спасылка для {target}.", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", + "message.team-already-member": "Вы ўжо ўдзельнік каманды.", + "message.team-not-found": "Каманда не знойдзена.", + "message.team-websites-info": "Сайты могуць быць праглядацца любым удзельнікам каманды.", "message.tracking-code": "Код адсочвання", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", - "message.user-deleted": "User deleted.", - "message.viewed-page": "Viewed page", + "message.transfer-team-website-to-user": "Перадаць гэты сайт на ваш уліковы запіс?", + "message.transfer-user-website-to-team": "Выберыце каманду для перадачы гэтага сайта.", + "message.transfer-website": "Перадача сайта на ваш уліковы запіс або іншай камандзе.", + "message.triggered-event": "Падзея якая спрацавала", + "message.user-deleted": "Карыстальнік выдалены.", + "message.viewed-page": "Праглядзеў старонку", "message.visitor-log": "Наведвальнік з {country} праз {browser} на {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "Наведвальнікі сышлі" } diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json new file mode 100644 index 00000000..1fd87de2 --- /dev/null +++ b/src/lang/bg-BG.json @@ -0,0 +1,279 @@ +{ + "label.access-code": "Код за достъп", + "label.actions": "Действия", + "label.activity": "Активностти", + "label.add": "Добави", + "label.add-description": "Добави описание", + "label.add-member": "Добави член", + "label.add-step": "Добави стъпка", + "label.add-website": "Добави уебсайт", + "label.admin": "Администратор", + "label.after": "След", + "label.all": "Всички", + "label.all-time": "За всички времена", + "label.analytics": "Анализи", + "label.average": "Средно", + "label.back": "Назад", + "label.before": "Преди", + "label.bounce-rate": "Kоефициент на отказ", + "label.breakdown": "Разбивка", + "label.browser": "Браузър", + "label.browsers": "Браузъри", + "label.cancel": "Отмени", + "label.change-password": "Смени парола", + "label.cities": "Градове", + "label.city": "Град", + "label.clear-all": "Изчисти всички", + "label.compare": "Compare", + "label.confirm": "Потвърди", + "label.confirm-password": "Потвърди парола", + "label.contains": "Съдържа", + "label.continue": "Продължи", + "label.count": "Count", + "label.countries": "Държави", + "label.country": "Държава", + "label.create": "Създай", + "label.create-report": "Създай отчет", + "label.create-team": "Създай екип", + "label.create-user": "Създай потребител", + "label.created": "Създадено", + "label.created-by": "Създадено от", + "label.current": "Current", + "label.current-password": "Текуща парола", + "label.custom-range": "Обхват", + "label.dashboard": "Табло", + "label.data": "Данни", + "label.date": "Дата", + "label.date-range": "Диапазон от дати", + "label.day": "Ден", + "label.default-date-range": "Диапазон от дати по подразбиране", + "label.delete": "Изтрий", + "label.delete-report": "Изтрий отчет", + "label.delete-team": "Изтрий екип", + "label.delete-user": "Изтрий потребител", + "label.delete-website": "Изтрий уебсайт", + "label.description": "Описание", + "label.desktop": "Десктоп", + "label.details": "Детайли", + "label.device": "Устройство", + "label.devices": "Устройства", + "label.dismiss": "Отхвърли", + "label.does-not-contain": "Не съдържа", + "label.domain": "Домейн", + "label.dropoff": "Отпадане", + "label.edit": "Редактирай", + "label.edit-dashboard": "Редактирай табло", + "label.edit-member": "Редактирай член", + "label.enable-share-url": "Активирай Линк за споделяне", + "label.end-step": "End Step", + "label.entry": "Entry URL", + "label.event": "Събитие", + "label.event-data": "Данни за събитие", + "label.events": "Събития", + "label.exit": "Exit URL", + "label.false": "Грешно", + "label.field": "Поле", + "label.fields": "Полета", + "label.filter": "Филтър", + "label.filter-combined": "Комбиниран", + "label.filter-raw": "Суров", + "label.filters": "Филтри", + "label.first-seen": "First seen", + "label.funnel": "Фуния", + "label.funnel-description": "Разберете процента на конверсия и отпадане на потребителите.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", + "label.greater-than": "По-голямо от", + "label.greater-than-equals": "По-голямо или равно на", + "label.host": "Host", + "label.hosts": "Hosts", + "label.insights": "Изводи", + "label.insights-description": "Навлезте по-дълбоко в данните си, като използвате сегменти и филтри.", + "label.is": "Е", + "label.is-not": "Не е", + "label.is-not-set": "Не е зададено", + "label.is-set": "Зададено е", + "label.join": "Присъедини се", + "label.join-team": "Присъедини се към екип", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", + "label.language": "Език", + "label.languages": "Езици", + "label.laptop": "Лаптоп", + "label.last-days": "Последните {x} дни", + "label.last-hours": "Последните {x} часа", + "label.last-months": "Последните {x} месеца", + "label.last-seen": "Last seen", + "label.leave": "Напусни", + "label.leave-team": "Напусни екип", + "label.less-than": "По-малко от", + "label.less-than-equals": "По-малко или равно на", + "label.login": "Вход", + "label.logout": "Изход", + "label.manage": "Управлявай", + "label.manager": "Manager", + "label.max": "Максимум", + "label.member": "Член", + "label.members": "Членове", + "label.min": "Минимум", + "label.mobile": "Мобилен", + "label.more": "Още", + "label.my-account": "Моят акаунт", + "label.my-websites": "Моите уебсайтове", + "label.name": "Име", + "label.new-password": "Нова парола", + "label.none": "Няма", + "label.number-of-records": "{x} {x, plural, one {един} other {други}}", + "label.ok": "Добре", + "label.os": "ОС", + "label.overview": "Общ преглед", + "label.owner": "Собственик", + "label.page-of": "Страница {current} от {total}", + "label.page-views": "Прегледи на страницата", + "label.pageTitle": "Заглавие на страница", + "label.pages": "Страници", + "label.password": "Парола", + "label.path": "Path", + "label.paths": "Paths", + "label.powered-by": "Поддържано от {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", + "label.profile": "Профил", + "label.properties": "Properties", + "label.property": "Property", + "label.queries": "Запитвания", + "label.query": "Запитване", + "label.query-parameters": "Параметри на търсене", + "label.realtime": "В реално време", + "label.referrer": "Референт", + "label.referrers": "Референти", + "label.refresh": "Обнови", + "label.regenerate": "Регенерирай", + "label.region": "Регион", + "label.regions": "Региони", + "label.remove": "Премахни", + "label.remove-member": "Премахни член", + "label.reports": "Отчети", + "label.required": "Задължително", + "label.reset": "Нулирай", + "label.reset-website": "Нулирай уебсайт", + "label.retention": "Привързване", + "label.retention-description": "Измерете привързаността към вашия уебсайт, като проследявате колко често потребителите се връщат.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "Роля", + "label.run-query": "Изпълни запитване", + "label.save": "Запази", + "label.screens": "Екрани", + "label.search": "Търсене", + "label.select": "Избери", + "label.select-date": "Избери дата", + "label.select-role": "Избери роля", + "label.select-website": "Избери уебсайт", + "label.session": "Session", + "label.sessions": "Сесии", + "label.settings": "Настройки", + "label.share-url": "Сподели Линк", + "label.single-day": "Един ден", + "label.start-step": "Start Step", + "label.steps": "Стъпки", + "label.sum": "Сума", + "label.tablet": "Таблет", + "label.team": "Екип", + "label.team-id": "ID на екип", + "label.team-manager": "Team manager", + "label.team-member": "Член на екипа", + "label.team-name": "Име на екипа", + "label.team-owner": "Собственик на екипа", + "label.team-view-only": "Видимо само за членове на екипа", + "label.team-websites": "Уебсайтове на екипа", + "label.teams": "Екипи", + "label.theme": "Тема", + "label.this-month": "Този месец", + "label.this-week": "Тази седмица", + "label.this-year": "Тази година", + "label.timezone": "Часова зона", + "label.title": "Заглавие", + "label.today": "Днес", + "label.toggle-charts": "Виж диаграми", + "label.total": "Общо", + "label.total-records": "Общо записи", + "label.tracking-code": "Код за проследяване", + "label.transactions": "Transactions", + "label.transfer": "Прехвърли", + "label.transfer-website": "Прехвърляне на уебсайт", + "label.true": "Вярно", + "label.type": "Вид", + "label.unique": "Уникален", + "label.unique-visitors": "Уникални посетители", + "label.uniqueCustomers": "Unique Customers", + "label.unknown": "Неизвестен", + "label.untitled": "Без заглавие", + "label.update": "Актуализирай", + "label.url": "URL адрес", + "label.urls": "URL адреси", + "label.user": "Потребител", + "label.user-property": "User Property", + "label.username": "Потребителско име", + "label.users": "Потребители", + "label.utm": "UTM", + "label.utm-description": "Следете кампаниите си чрез UTM параметри.", + "label.value": "Стойност", + "label.view": "Преглед", + "label.view-details": "Преглед на детайлите", + "label.view-only": "Само за преглед", + "label.views": "Прегледи", + "label.views-per-visit": "Прегледи на посещение", + "label.visit-duration": "Visit duration", + "label.visitors": "Посетители", + "label.visits": "Посещения", + "label.website": "Уебсайт", + "label.website-id": "Идентификатор на уебсайт", + "label.websites": "Уебсайтове", + "label.window": "Прозорец", + "label.yesterday": "Вчера", + "message.action-confirmation": "Въведете {confirmation} в полето по-долу, за да потвърдите.", + "message.active-users": "{x} {x, plural, one {активен един} other {активни други}}", + "message.collected-data": "Collected data", + "message.confirm-delete": "Сигурни ли сте, че искате да изтриете {target}?", + "message.confirm-leave": "Сигурни ли сте, че искате да напуснете {target}?", + "message.confirm-remove": "Сигурни ли сте, че искате да премахнете {target}?", + "message.confirm-reset": "Сигурни ли сте, че искате да нулирате {target}?", + "message.delete-team-warning": "Изтриването на екип ще изтрие и всички уебсайтове създадени от екипа.", + "message.delete-website-warning": "Всички данни за уебсайта ще бъдат изтрити.", + "message.error": "Възникна грешка.", + "message.event-log": "{event} на {url}", + "message.go-to-settings": "Отидете в настройките", + "message.incorrect-username-password": "Неправилно потребителско име и/или парола.", + "message.invalid-domain": "Невалиден домейн. Не включвайте http/https.", + "message.min-password-length": "Минимална дължина от {n} символа", + "message.new-version-available": "Има нова версия на Umami {version}!", + "message.no-data-available": "Няма налични данни.", + "message.no-event-data": "Няма налични данни за събитие.", + "message.no-match-password": "Паролите не съвпадат.", + "message.no-results-found": "Няма намерени резултати.", + "message.no-team-websites": "Този екип няма никакви уебсайтове.", + "message.no-teams": "Няма създадени екипи.", + "message.no-users": "Няма потребители.", + "message.no-websites-configured": "Нямате конфигурирани уебсайтове.", + "message.page-not-found": "Страницата не е намерена", + "message.reset-website": "За да нулирате този уебсайт, въведете {confirmation} в полето по-долу, за да потвърдите.", + "message.reset-website-warning": "Всички статистически данни за този уебсайт ще бъдат изтрити, но вашите настройки ще останат непроменени.", + "message.saved": "Запазено.", + "message.share-url": "Статистиката за вашия уебсайт е публично достъпна на следния URL адрес:", + "message.team-already-member": "Вече сте член на екипа.", + "message.team-not-found": "Екипът не е намерен.", + "message.team-websites-info": "Уебсайтовете могат да бъдат преглеждани от всеки член на екипа.", + "message.tracking-code": "За активирате проследяването на статистиката във вашият уебсайт, поставете следния код в секцията ... намираща се в вашия HTML.", + "message.transfer-team-website-to-user": "Искате да прехвърлите този уебсайт към вашия акаунт?", + "message.transfer-user-website-to-team": "Изберете екипът на който да бъде прехвърлен уебсайта.", + "message.transfer-website": "Прехвърли собствеността на уебсайта към вашия акаунт или към друг екип.", + "message.triggered-event": "Активирано събитие", + "message.user-deleted": "Потребителят е изтрит.", + "message.viewed-page": "Страницата е видяна", + "message.visitor-log": "Посетител от {country}, използващ {browser} на {os} {device}", + "message.visitors-dropped-off": "Спад на посетителите" +} diff --git a/src/lang/bn-BD.json b/src/lang/bn-BD.json index f9429215..7a22d76c 100644 --- a/src/lang/bn-BD.json +++ b/src/lang/bn-BD.json @@ -1,42 +1,44 @@ { - "label.access-code": "Access code", + "label.access-code": "এক্সেস কোড", "label.actions": "অ্যাকশনস", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "একটিভিটি দেখুন", + "label.add": "যুক্ত করুন", + "label.add-description": "বর্ননা যোগ করুন", + "label.add-member": "সদস্য যোগ করুন", + "label.add-step": "পদ যোগ করুন", "label.add-website": "ওয়েবসাইট যুক্ত করুন", "label.admin": "অ্যাডমিন", - "label.after": "After", + "label.after": "পরে", "label.all": "সবগুলো", "label.all-time": "সব সময়", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "গড় পরিদর্শনের সময়", "label.back": "পেছনে", - "label.before": "Before", - "label.bounce-rate": "বহিষ্কারের হার", - "label.breakdown": "Breakdown", - "label.browser": "Browser", - "label.browsers": "ব্রাউজার", + "label.before": "পূর্বে", + "label.bounce-rate": "উপরে উঠার হার", + "label.breakdown": "ভাঙ্গন", + "label.browser": "ব্রাউজার", + "label.browsers": "ব্রাউজার সমূহ", "label.cancel": "বাতিল", "label.change-password": "পাসওয়ার্ড পরিবর্তন করুন", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "শহরসমূহ", + "label.city": "শহর", + "label.clear-all": "সব মুছে ফেলুন", + "label.compare": "Compare", + "label.confirm": "নিশ্চিত করুন", "label.confirm-password": "পাসওয়ার্ড নিশ্চিত করুন", - "label.contains": "Contains", - "label.continue": "Continue", - "label.countries": "দেশ", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", + "label.contains": "রয়েছে", + "label.continue": "পরবর্তিতে", + "label.count": "Count", + "label.countries": "দেশসমূহ", + "label.country": "দেশ", + "label.create": "তৈরি করুন", + "label.create-report": "রিপোর্ট তৈরি করুন", + "label.create-team": "দল তৈরি করুন", + "label.create-user": "ব্যবহারকারী তৈরি করুন", + "label.created": "তৈরি করা হয়েছে", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "বর্তমান পাসওয়ার্ড", "label.custom-range": "কাস্টম রেঞ্জ", "label.dashboard": "ড্যাশবোর্ড", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "শেয়ার ইউআরএল শেয়ার করুন", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "ঘটনা", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "সম্মিলিত", "label.filter-raw": "অপরিশোধিত", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "ভাষা", "label.languages": "ভাষা", "label.laptop": "ল্যাপটপ", "label.last-days": "শেষ {x} দিন", "label.last-hours": "শেষ {x} ঘন্টা", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "লগিন", "label.logout": "লগ আউট", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "পৃষ্ঠাগুলি", "label.password": "পাসওয়ার্ড", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "{name} দ্বারা চালিত", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "প্রোফাইল", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "ওয়েবসাইট রিসেট করুন", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "সংরক্ষণ", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "সেটিংস", "label.share-url": "ইউআরএল শেয়ার করুন", "label.single-day": "একদিন", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "ট্যাবলেট", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "ট্র্যাকিং কোড", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "অনন্য ভিজিটর", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "অজানা", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "ব্যবহারকারীর নাম", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "ভিউস", "label.views-per-visit": "Views per visit", + "label.visit-duration": "গড় পরিদর্শনের সময়", "label.visitors": "পরিদর্শনার্থী", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} বর্তমান {x, plural, one {visitor} other {visitors}}", + "message.collected-data": "Collected data", "message.confirm-delete": "আপনি কি নিশ্চিত যে আপনি {target} মুছতে চান?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/bs-BA.json b/src/lang/bs-BA.json new file mode 100644 index 00000000..b9d9e8a8 --- /dev/null +++ b/src/lang/bs-BA.json @@ -0,0 +1,279 @@ +{ + "label.access-code": "Pristupni kod", + "label.actions": "Akcije", + "label.activity": "Log aktivnosti", + "label.add": "Dodaj", + "label.add-description": "Dodaj opis", + "label.add-member": "Dodaj člana", + "label.add-step": "Dodaj korak", + "label.add-website": "Dodaj web stranicu", + "label.admin": "Administrator", + "label.after": "Nakon", + "label.all": "Sve", + "label.all-time": "Cijelo vrijeme", + "label.analytics": "Analitike", + "label.average": "Prosjek", + "label.back": "Nazad", + "label.before": "Prije", + "label.bounce-rate": "Bounce rate", + "label.breakdown": "Pregled po kategorijama", + "label.browser": "Browser", + "label.browsers": "Browseri", + "label.cancel": "Otkaži", + "label.change-password": "Promijeni šifru", + "label.cities": "Gradovi", + "label.city": "Grad", + "label.clear-all": "Očisti sve", + "label.compare": "Compare", + "label.confirm": "Potvrdi", + "label.confirm-password": "Potvrdi šifru", + "label.contains": "Sadrži", + "label.continue": "Nastavi", + "label.count": "Count", + "label.countries": "Zemlje", + "label.country": "Zemlja", + "label.create": "Kreiraj", + "label.create-report": "Kreiraj izvještaj", + "label.create-team": "Kreiraj tim", + "label.create-user": "Kreiraj korisnika", + "label.created": "Kreiraj", + "label.created-by": "Kreirao", + "label.current": "Current", + "label.current-password": "Trenutna šifra", + "label.custom-range": "Proizvoljni raspon", + "label.dashboard": "Dashboard", + "label.data": "Podaci", + "label.date": "Datum", + "label.date-range": "Datumski raspon", + "label.day": "Dan", + "label.default-date-range": "Defaultni datumski raspon", + "label.delete": "Izbriši", + "label.delete-report": "Izbriši report", + "label.delete-team": "Izbriši tim", + "label.delete-user": "Izbriši korisnika", + "label.delete-website": "Izbriši web stranicu", + "label.description": "Opis", + "label.desktop": "Desktop", + "label.details": "Detalji", + "label.device": "Uređaj", + "label.devices": "Uređaji", + "label.dismiss": "Odbaci", + "label.does-not-contain": "Ne sadrži", + "label.domain": "Domena", + "label.dropoff": "Dropoff", + "label.edit": "Uredi", + "label.edit-dashboard": "Uredi dashboard", + "label.edit-member": "Uredi člana", + "label.enable-share-url": "Omogući URL za dijeljenje", + "label.end-step": "End Step", + "label.entry": "Entry URL", + "label.event": "Događaj", + "label.event-data": "Podaci o događaju", + "label.events": "Događaji", + "label.exit": "Exit URL", + "label.false": "Ne", + "label.field": "Polje", + "label.fields": "Polja", + "label.filter": "Filter", + "label.filter-combined": "Kombinovano", + "label.filter-raw": "Sirovo", + "label.filters": "Filtri", + "label.first-seen": "First seen", + "label.funnel": "Lijevak", + "label.funnel-description": "Razumite koverziju i drop-off učestalost korisnika.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", + "label.greater-than": "Veće od", + "label.greater-than-equals": "Veće od ili jednako", + "label.host": "Host", + "label.hosts": "Hosts", + "label.insights": "Uvidi", + "label.insights-description": "Zaronite dublje u vaše podatke korištenjem segmenata i filtera", + "label.is": "Jeste", + "label.is-not": "Nije", + "label.is-not-set": "Nije setano", + "label.is-set": "Jeste setano", + "label.join": "Učlani se", + "label.join-team": "Učlani se u tim", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", + "label.language": "Jezik", + "label.languages": "Jezici", + "label.laptop": "Laptop", + "label.last-days": "Zadnjih {x} dana", + "label.last-hours": "Zadnjih {x} sati", + "label.last-months": "Zadnjih {x} mjeseci", + "label.last-seen": "Last seen", + "label.leave": "Napusti", + "label.leave-team": "Napusti tim", + "label.less-than": "Manje od", + "label.less-than-equals": "Manje od ili jednako", + "label.login": "Login", + "label.logout": "Logout", + "label.manage": "Manage", + "label.manager": "Manager", + "label.max": "Max", + "label.member": "Član", + "label.members": "Članovi", + "label.min": "Min", + "label.mobile": "Mobile", + "label.more": "Više", + "label.my-account": "Moj račun", + "label.my-websites": "Moje web stranice", + "label.name": "Ime", + "label.new-password": "Nova šifra", + "label.none": "None", + "label.number-of-records": "{x} {x, plural, one {record} other {records}}", + "label.ok": "OK", + "label.os": "OS", + "label.overview": "Pregled", + "label.owner": "Vlasnik", + "label.page-of": "Strana {current} od {total}", + "label.page-views": "Pregleda stranica", + "label.pageTitle": "Naslov stranice", + "label.pages": "Stranice", + "label.password": "Šifra", + "label.path": "Path", + "label.paths": "Paths", + "label.powered-by": "Omogućeno s {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", + "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", + "label.queries": "Queryji", + "label.query": "Query", + "label.query-parameters": "Query parametri", + "label.realtime": "Realno vrijeme", + "label.referrer": "Referrer", + "label.referrers": "Referrers", + "label.refresh": "Refresh", + "label.regenerate": "Regeneriši", + "label.region": "Region", + "label.regions": "Regioni", + "label.remove": "Ukloni", + "label.remove-member": "Ukloni člana", + "label.reports": "Izvještaji", + "label.required": "Required", + "label.reset": "Resetuj", + "label.reset-website": "Resetuj web stranicu", + "label.retention": "Retention", + "label.retention-description": "Izmjeri 'ljepljivost' svoje web stranice praćenjem koliko često set korisnici vraćaju.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "Rola", + "label.run-query": "Pokreni query", + "label.save": "Sačuvaj", + "label.screens": "Ekrani", + "label.search": "Traži", + "label.select": "Odaberi", + "label.select-date": "Odaberi datum", + "label.select-role": "Odaberi rolu", + "label.select-website": "Odaberi web stranicu", + "label.session": "Session", + "label.sessions": "Sesije", + "label.settings": "Postavke", + "label.share-url": "Share URL", + "label.single-day": "Jedan dan", + "label.start-step": "Start Step", + "label.steps": "Koraci", + "label.sum": "Suma", + "label.tablet": "Tablet", + "label.team": "Tim", + "label.team-id": "Tim ID", + "label.team-manager": "Team manager", + "label.team-member": "Član tima", + "label.team-name": "Naziv tima", + "label.team-owner": "Vlasnik tima", + "label.team-view-only": "Samo tim može vidjeti", + "label.team-websites": "Timske web stranice", + "label.teams": "Timovi", + "label.theme": "Teme", + "label.this-month": "Ovaj mjesec", + "label.this-week": "Ova sedmica", + "label.this-year": "Ova godina", + "label.timezone": "Vremenska zona", + "label.title": "Naslov", + "label.today": "Danas", + "label.toggle-charts": "Uklj/isklj grafikone", + "label.total": "Ukupno", + "label.total-records": "Ukupno redova", + "label.tracking-code": "Kod za praćenje", + "label.transactions": "Transactions", + "label.transfer": "Transfer", + "label.transfer-website": "Transfer web stranice", + "label.true": "Da", + "label.type": "Tip", + "label.unique": "Jedinstveno", + "label.unique-visitors": "Jedinstvenih posjetitelja", + "label.uniqueCustomers": "Unique Customers", + "label.unknown": "Nepoznato", + "label.untitled": "Bezimeno", + "label.update": "Update", + "label.url": "URL", + "label.urls": "URLs", + "label.user": "Korisnik", + "label.user-property": "User Property", + "label.username": "Korisničko ime", + "label.users": "Korisnici", + "label.utm": "UTM", + "label.utm-description": "Pratite vaše kampanje kroz UTM parametre.", + "label.value": "Vrijednost", + "label.view": "Pregled", + "label.view-details": "Pogledaj detalje", + "label.view-only": "Samo gledanje", + "label.views": "Pregledi", + "label.views-per-visit": "Pregledi po posjeti", + "label.visit-duration": "Prosječno vrijeme posjete", + "label.visitors": "Posjetitelji", + "label.visits": "Posjete", + "label.website": "Web stranica", + "label.website-id": "ID web stranice", + "label.websites": "Web stranice", + "label.window": "Prozor", + "label.yesterday": "Jučer", + "message.action-confirmation": "Unesite {confirmation} ispod da potvrdite.", + "message.active-users": "{x} trenutno {x, plural, one {posjetitelj} other {posjetitelja}}", + "message.collected-data": "Collected data", + "message.confirm-delete": "Jeste li sigurni da želite obrisati {target}?", + "message.confirm-leave": "Jeste li sigurni da želite napustiti {target}?", + "message.confirm-remove": "Jeste li sigurni da želite ukloniti {target}?", + "message.confirm-reset": "Jeste li sigurni da želite resetovati {target}?", + "message.delete-team-warning": "Brisanje tima će također obrisati sve web stranice tima.", + "message.delete-website-warning": "Svi podaci web stranice biće obrisani.", + "message.error": "Nešto je pošlo po zlu.", + "message.event-log": "{event} na {url}", + "message.go-to-settings": "Idi na postavke", + "message.incorrect-username-password": "Pogrešno korisničko ime i/ili šifra.", + "message.invalid-domain": "Nevalidna domena. Ne uključujte http/https.", + "message.min-password-length": "Minimalna dužina od {n} karaktera", + "message.new-version-available": "Nova verzija Umami {version} je dostupna!", + "message.no-data-available": "Nema dostupnih podataka.", + "message.no-event-data": "Nema dostupnih podataka o događajima.", + "message.no-match-password": "Šifre se ne poklapaju.", + "message.no-results-found": "Nema rezultata.", + "message.no-team-websites": "Ovaj tim nema nikakvih web stranica.", + "message.no-teams": "Niste kreirali nijedan tim.", + "message.no-users": "Nema nikakvih korisnika.", + "message.no-websites-configured": "Nemate iskonfigurisanu nijednu web stranicu.", + "message.page-not-found": "Stranica nije pronađena", + "message.reset-website": "Da resetujete ovu web stranicu, upišite {confirmation} dole da potvrdite.", + "message.reset-website-warning": "Sve statistike o ovoj web stranici će biti obrisane, ali vaše postavke neće biti dirane.", + "message.saved": "Sačuvano.", + "message.share-url": "Statistike vaše web stranice su javno dostupne na sljedećem URLu:", + "message.team-already-member": "Već ste član tima.", + "message.team-not-found": "Tim nije pronađen.", + "message.team-websites-info": "Web stranice može vidjeti bilo ko iz tima.", + "message.tracking-code": "Da pratite statistike ove web stranice, stavite sljedeći kod u ... sekciju vašeg HTMLa.", + "message.transfer-team-website-to-user": "Prebacite ovu web stranicu na vaš račun?", + "message.transfer-user-website-to-team": "Odaberite tim u koji želite prebaciti ovu web stranicu.", + "message.transfer-website": "Prebacite vlasništvo web stranice na vaš račun ili drugi tim.", + "message.triggered-event": "Trigerovani događaj", + "message.user-deleted": "Korisnik obrisan.", + "message.viewed-page": "Pogledana stranica", + "message.visitor-log": "Posjetitelj iz {country} koristi {browser} na {os} {device}", + "message.visitors-dropped-off": "Posjetitelji koji su napustili stranicu" +} diff --git a/src/lang/ca-ES.json b/src/lang/ca-ES.json index cf824204..3b633337 100644 --- a/src/lang/ca-ES.json +++ b/src/lang/ca-ES.json @@ -1,246 +1,279 @@ { - "label.access-code": "Access code", + "label.access-code": "Codi d'accés", "label.actions": "Accions", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", - "label.add-website": "Afegeix lloc web", + "label.activity": "Registre d'activitat", + "label.add": "Afegir", + "label.add-description": "Afegir descripció", + "label.add-member": "Afegir membre", + "label.add-step": "Afegir pas", + "label.add-website": "Afegir lloc web", "label.admin": "Administrador", - "label.after": "After", + "label.after": "Després", "label.all": "Tots", "label.all-time": "Sempre", - "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "Temps mitjà de visita", + "label.analytics": "Analítiques", + "label.average": "Mitjana", "label.back": "Enrere", - "label.before": "Before", + "label.before": "Abans", "label.bounce-rate": "Percentatge de rebot", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.breakdown": "Desglossament", + "label.browser": "Navegador", "label.browsers": "Navegadors", "label.cancel": "Cancel·la", "label.change-password": "Canvia la contrasenya", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "Ciutats", + "label.city": "Ciutat", + "label.clear-all": "Netejar tot", + "label.compare": "Comparar", + "label.confirm": "Confirmar", "label.confirm-password": "Confirma la contrasenya", - "label.contains": "Contains", - "label.continue": "Continue", + "label.contains": "Conté", + "label.continue": "Continuar", + "label.count": "Recompte", "label.countries": "Països", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", - "label.created-by": "Created By", + "label.country": "País", + "label.create": "Crear", + "label.create-report": "Crear informe", + "label.create-team": "Crear equip", + "label.create-user": "Crear usuari", + "label.created": "Creat", + "label.created-by": "Creat Per", + "label.current": "Actual", "label.current-password": "Contrasenya actual", "label.custom-range": "Rang personalitzat", "label.dashboard": "Panell", - "label.data": "Data", - "label.date": "Date", + "label.data": "Dades", + "label.date": "Data", "label.date-range": "Interval de dates", - "label.day": "Day", + "label.day": "Dia", "label.default-date-range": "Interval de dates per defecte", "label.delete": "Esborra", - "label.delete-report": "Delete report", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-report": "Eliminar informe", + "label.delete-team": "Eliminar equip", + "label.delete-user": "Eliminar usuari", "label.delete-website": "Esborra el lloc web", - "label.description": "Description", + "label.description": "Descripció", "label.desktop": "Escriptori", - "label.details": "Details", - "label.device": "Device", + "label.details": "Detalls", + "label.device": "Dispositiu", "label.devices": "Dispositius", "label.dismiss": "Descarta", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "No conté", "label.domain": "Domini", - "label.dropoff": "Dropoff", + "label.dropoff": "Abandonament", "label.edit": "Edita", - "label.edit-dashboard": "Edit dashboard", - "label.edit-member": "Edit member", + "label.edit-dashboard": "Edita panell", + "label.edit-member": "Edita membre", "label.enable-share-url": "Activa l'enllaç per compartir", - "label.event": "Event", - "label.event-data": "Event data", + "label.end-step": "Pas Final", + "label.entry": "URL d'entrada", + "label.event": "Esdeveniment", + "label.event-data": "Dades de l'esdeveniment", "label.events": "Esdeveniments", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter": "Filter", + "label.exit": "URL de sortida", + "label.false": "Fals", + "label.field": "Camp", + "label.fields": "Camps", + "label.filter": "Filtre", "label.filter-combined": "Combinat", "label.filter-raw": "En cru", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", + "label.filters": "Filtres", + "label.first-seen": "Vist per primer cop", + "label.funnel": "Embut", + "label.funnel-description": "Entengui la taxa de conversió i abandonament dels usuaris.", + "label.goal": "Meta", + "label.goals": "Metes", + "label.goals-description": "Feu un seguiment de les seves metes per a pàgines vistes i esdeveniments.", + "label.greater-than": "Més gran que", + "label.greater-than-equals": "Més gran que o igual a", + "label.host": "Amfitrió", + "label.hosts": "Amfitrions", "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", - "label.language": "Language", - "label.languages": "Llengües", + "label.insights-description": "Aprofundeixi en les seves dades mitjançant l'ús de segments i filtres.", + "label.is": "És igual a", + "label.is-not": "No és igual a", + "label.is-not-set": "No està establert", + "label.is-set": "Està establert", + "label.join": "Unir", + "label.join-team": "Unir-se al equip", + "label.journey": "Trajecte", + "label.journey-description": "Entengui com naveguen els usuaris pel seu lloc web.", + "label.language": "Idioma", + "label.languages": "Idiomes", "label.laptop": "Portàtil", "label.last-days": "Últims {x} dies", "label.last-hours": "Últimes {x} hores", - "label.last-months": "Last {x} months", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.last-months": "Últims {x} mesos", + "label.last-seen": "Vist per últim cop", + "label.leave": "Abandonar", + "label.leave-team": "Abandonar equip", + "label.less-than": "Menor que", + "label.less-than-equals": "Menor que o igual a", "label.login": "Connecta't", "label.logout": "Desconnecta't", - "label.manage": "Manage", - "label.max": "Max", - "label.member": "Member", - "label.members": "Members", - "label.min": "Min", + "label.manage": "Administrar", + "label.manager": "Manager", + "label.max": "Màx", + "label.member": "Membre", + "label.members": "Membres", + "label.min": "Mín", "label.mobile": "Mòbil", "label.more": "Més", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "El meu compte", + "label.my-websites": "Els meus llocs web", "label.name": "Nom", "label.new-password": "Contrasenya nova", - "label.none": "None", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", + "label.none": "Cap", + "label.number-of-records": "{x} {x, plural, one {registre} other {registres}}", "label.ok": "OK", - "label.os": "OS", - "label.overview": "Overview", + "label.os": "SO", + "label.overview": "Resum", "label.owner": "Propietari", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Pàgina {current} de {total}", "label.page-views": "Pàgines vistes", - "label.pageTitle": "Page title", + "label.pageTitle": "Títol de la pàgina", "label.pages": "Pàgines", "label.password": "Contrasenya", + "label.path": "Camí", + "label.paths": "Camins", "label.powered-by": "Funciona amb {name}", + "label.previous": "Anterior", + "label.previous-period": "Període anterior", + "label.previous-year": "Any anterior", "label.profile": "Perfil", - "label.queries": "Queries", - "label.query": "Query", - "label.query-parameters": "Query parameters", + "label.properties": "Propietats", + "label.property": "Propietat", + "label.queries": "Consultes", + "label.query": "Consulta", + "label.query-parameters": "Paràmetres de consulta", "label.realtime": "Temps real", - "label.referrer": "Referrer", + "label.referrer": "Referent", "label.referrers": "Referents", "label.refresh": "Refresca", - "label.regenerate": "Regenerate", - "label.region": "Region", + "label.regenerate": "Regenerar", + "label.region": "Regió", "label.regions": "Regions", - "label.remove": "Remove", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.remove": "Treure", + "label.remove-member": "Eliminar membre", + "label.reports": "Informes", "label.required": "Obligatori", "label.reset": "Restableix", "label.reset-website": "Restableix estadístiques", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Role", - "label.run-query": "Run query", + "label.retention": "Retenció", + "label.retention-description": "Mesuri la retenció del seu lloc web fent un seguiment de la freqüència amb què tornen els usuaris.", + "label.revenue": "Ingressos", + "label.revenue-description": "Observi els seus ingressos al llarg del temps.", + "label.revenue-property": "Propietat d'Ingressos", + "label.role": "Rol", + "label.run-query": "Executar consulta", "label.save": "Desa", - "label.screens": "Screens", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", - "label.select-website": "Select website", + "label.screens": "Pantalles", + "label.search": "Buscar", + "label.select": "Seleccionar", + "label.select-date": "Seleccionar data", + "label.select-role": "Seleccionar rol", + "label.select-website": "Seleccionar lloc web", + "label.session": "Sessió", "label.sessions": "Sessions", "label.settings": "Configuració", "label.share-url": "Enllaç per compartir", "label.single-day": "Un sol dia", - "label.steps": "Steps", - "label.sum": "Sum", + "label.start-step": "Pas inicial", + "label.steps": "Pasos", + "label.sum": "Suma", "label.tablet": "Tauleta", - "label.team": "Team", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", - "label.teams": "Teams", - "label.theme": "Theme", + "label.team": "Equip", + "label.team-id": "ID del equip", + "label.team-manager": "Responsable d'equip", + "label.team-member": "Membre de l'equip", + "label.team-name": "Nom de l'equip", + "label.team-owner": "Propietari de l'equip", + "label.team-view-only": "Vista només de l'equip", + "label.team-websites": "Llocs web de l'equip", + "label.teams": "Equips", + "label.theme": "Tema", "label.this-month": "Aquest mes", "label.this-week": "Aquesta setmana", "label.this-year": "Aquest any", "label.timezone": "Zona horària", - "label.title": "Title", + "label.title": "Títol", "label.today": "Avui", "label.toggle-charts": "Mostra/amaga gràfics", "label.total": "Total", - "label.total-records": "Total records", + "label.total-records": "Total de registres", "label.tracking-code": "Codi de seguiment", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.transactions": "Transaccions", + "label.transfer": "Transferir", + "label.transfer-website": "Transferir lloc web", + "label.true": "Cert", + "label.type": "Tipus", + "label.unique": "Únic", "label.unique-visitors": "Visitants únics", + "label.uniqueCustomers": "Clients Únics", "label.unknown": "Desconegut", - "label.untitled": "Untitled", - "label.update": "Update", + "label.untitled": "Sense títol", + "label.update": "Actualitzar", "label.url": "URL", "label.urls": "URLs", - "label.user": "User", + "label.user": "Usuari", + "label.user-property": "Propietat d'Usuari", "label.username": "Nom d'usuari", - "label.users": "Users", + "label.users": "Usuaris", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", - "label.value": "Value", - "label.view": "View", + "label.utm-description": "Rastreji les seves campanyes a través de paràmetres UTM.", + "label.value": "Valor", + "label.view": "Visualitzar", "label.view-details": "Veure els detalls", - "label.view-only": "View only", + "label.view-only": "Només veure", "label.views": "Vistes", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Vistes per visita", + "label.visit-duration": "Temps mitjà de visita", "label.visitors": "Visitants", - "label.visits": "Visits", - "label.website": "Website", - "label.website-id": "Website ID", + "label.visits": "Visites", + "label.website": "Lloc web", + "label.website-id": "ID del lloc web", "label.websites": "Llocs web", - "label.window": "Window", + "label.window": "Finestra", "label.yesterday": "Ahir", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "message.action-confirmation": "Escrigui {confirmation} al cuadre inferior per confirmar.", "message.active-users": "{x} {x, plural, one {visitant actual} other {visitants actuals}}", - "message.confirm-delete": "Segur que vols esborrar {target}?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", - "message.confirm-reset": "Segur que vols restablir les estadístiques de {target}?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", + "message.collected-data": "Dades recol·lectades", + "message.confirm-delete": "Segur que vol esborrar {target}?", + "message.confirm-leave": "Segur que vol abandonar {target}?", + "message.confirm-remove": "Segur que vol eliminar {target}?", + "message.confirm-reset": "Segur que vol restablir les estadístiques de {target}?", + "message.delete-team-warning": "Al eliminar un equip també s'eliminaran tots els llocs web de l'equip.", "message.delete-website-warning": "També s'esborraran totes les dades relacionades.", "message.error": "S'ha produït un error.", - "message.event-log": "{event} on {url}", + "message.event-log": "{event} a {url}", "message.go-to-settings": "Vés a la configuració", "message.incorrect-username-password": "Nom d'usuari o contrasenya incorrectes.", "message.invalid-domain": "Domini invàlid", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.min-password-length": "Longitud mínima de {n} caràcters", + "message.new-version-available": "Una nova versió d'Umami {version} està disponible!", "message.no-data-available": "No hi ha dades disponibles.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "No hi ha dades d'esdeveniments disponibles.", "message.no-match-password": "Les contrasenyes no coincideixen", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", + "message.no-results-found": "No s'han trobat resultats.", + "message.no-team-websites": "Aquest equip no té cap lloc web.", + "message.no-teams": "No ha creat cap equip.", + "message.no-users": "No hi ha cap usuari.", "message.no-websites-configured": "No hi ha cap lloc web configurat.", "message.page-not-found": "No s'ha trobat la pàgina.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "message.reset-website": "Per restablir aquest lloc web, escrigui {confirmation} al cuadre inferior per confirmar.", "message.reset-website-warning": "S'esborraran totes les estadístiques per aquest lloc web, però el codi de seguiment es mantindrà.", "message.saved": "S'ha desat amb èxit.", "message.share-url": "Aquest és l'enllaç públic per compartir de {target}.", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", + "message.team-already-member": "Ja és membre d'aquest equip.", + "message.team-not-found": "Equip no trobat.", + "message.team-websites-info": "Els llocs web poden ser visualitzats per qualsevol membre de l'equip.", "message.tracking-code": "Codi de seguiment", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", - "message.user-deleted": "User deleted.", - "message.viewed-page": "Viewed page", + "message.transfer-team-website-to-user": "Transferir aquest lloc web al seu compte?", + "message.transfer-user-website-to-team": "Seleccioni l'equip al qui transferir aquest lloc web.", + "message.transfer-website": "Transferir la propietat del lloc web al seu compte o a un altre equip.", + "message.triggered-event": "Esdeveniment desencadenat", + "message.user-deleted": "Usuari eliminat.", + "message.viewed-page": "Pàgina vista", "message.visitor-log": "Visitant de {country} usant {browser} a {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "Visitants han sortit" } diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index 7f3599c9..8adc5e36 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -1,82 +1,93 @@ { - "label.access-code": "Access code", + "label.access-code": "Přístupový kód", "label.actions": "Akce", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "Log aktivity", + "label.add": "Přidat", + "label.add-description": "Přidat popis", + "label.add-member": "Přidat člena", + "label.add-step": "Přidat krok", "label.add-website": "Přidat web", "label.admin": "Administrátor", - "label.after": "After", + "label.after": "Po", "label.all": "Vše", - "label.all-time": "All time", + "label.all-time": "Celá doba", "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "Průměrný čas návštěvy", + "label.average": "Průměr", "label.back": "Zpět", - "label.before": "Before", + "label.before": "Před", "label.bounce-rate": "Okamžité opuštění", "label.breakdown": "Breakdown", - "label.browser": "Browser", - "label.browsers": "Prohlížeč", + "label.browser": "Prohlížeč", + "label.browsers": "Prohlížeče", "label.cancel": "Zrušit", "label.change-password": "Změnit heslo", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "Města", + "label.city": "Město", + "label.clear-all": "Vyčistit vše", + "label.compare": "Porovnat", + "label.confirm": "Potvrdit", "label.confirm-password": "Potvrdit heslo", - "label.contains": "Contains", - "label.continue": "Continue", - "label.countries": "Země", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", + "label.contains": "Obsahuje", + "label.continue": "Pokračovat", + "label.count": "Počet", + "label.countries": "Státy", + "label.country": "Stát", + "label.create": "Vytvořit", + "label.create-report": "Vytvořit hlášení", + "label.create-team": "Vytvořit tým", + "label.create-user": "Vytvořit uživatele", + "label.created": "Vytvořeno", "label.created-by": "Created By", + "label.current": "Aktuální", "label.current-password": "Aktuální heslo", "label.custom-range": "Vlastní rozsah", "label.dashboard": "Přehled", "label.data": "Data", - "label.date": "Date", + "label.date": "Datum", "label.date-range": "Období", - "label.day": "Day", + "label.day": "Den", "label.default-date-range": "Výchozí období", "label.delete": "Smazat", - "label.delete-report": "Delete report", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-report": "Smazat hlášení", + "label.delete-team": "Smazat tým", + "label.delete-user": "Smazat uživatele", "label.delete-website": "Smazat web", - "label.description": "Description", + "label.description": "Popis", "label.desktop": "Stolní počítač", - "label.details": "Details", - "label.device": "Device", + "label.details": "Detaily", + "label.device": "Zařízení", "label.devices": "Zařízení", "label.dismiss": "Odejít", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "Neobsahuje", "label.domain": "Doména", "label.dropoff": "Dropoff", "label.edit": "Upravit", - "label.edit-dashboard": "Edit dashboard", - "label.edit-member": "Edit member", + "label.edit-dashboard": "Upravit dashboard", + "label.edit-member": "Upravit člena", "label.enable-share-url": "Povolit sdílení URL", - "label.event": "Event", + "label.end-step": "End Step", + "label.entry": "Vstupní URL", + "label.event": "Událost", "label.event-data": "Event data", "label.events": "Události", + "label.exit": "Exit URL", "label.false": "False", - "label.field": "Field", + "label.field": "Pole", "label.fields": "Fields", - "label.filter": "Filter", + "label.filter": "Filtr", "label.filter-combined": "Kombinace", "label.filter-raw": "Nezpracované", - "label.filters": "Filters", + "label.filters": "Filtry", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Cíl", + "label.goals": "Cíle", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,42 +96,53 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", - "label.language": "Language", - "label.languages": "Languages", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", + "label.language": "Jazyk", + "label.languages": "Jazyky", "label.laptop": "Přenosný počítač", "label.last-days": "Posledních {x} dnů", "label.last-hours": "Posledních {x} hodin", - "label.last-months": "Last {x} months", - "label.leave": "Leave", - "label.leave-team": "Leave team", + "label.last-months": "Posledních {x} měsíců", + "label.last-seen": "Last seen", + "label.leave": "Opustit", + "label.leave-team": "Opustit tým", "label.less-than": "Less than", "label.less-than-equals": "Less than or equals", "label.login": "Přihlásit", "label.logout": "Odhlásit", - "label.manage": "Manage", + "label.manage": "Spravovat", + "label.manager": "Správce", "label.max": "Max", - "label.member": "Member", - "label.members": "Members", + "label.member": "Člen", + "label.members": "Členové", "label.min": "Min", "label.mobile": "Mobilní telefon", "label.more": "Více", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Můj účet", + "label.my-websites": "Mé weby", "label.name": "Jméno", "label.new-password": "Nové heslo", "label.none": "None", "label.number-of-records": "{x} {x, plural, one {record} other {records}}", "label.ok": "OK", "label.os": "OS", - "label.overview": "Overview", - "label.owner": "Owner", + "label.overview": "Přehled", + "label.owner": "Vlastník", "label.page-of": "Page {current} of {total}", "label.page-views": "Zobrazení stránek", - "label.pageTitle": "Page title", + "label.pageTitle": "Název stránky", "label.pages": "Stránky", "label.password": "Heslo", + "label.path": "Cesta", + "label.paths": "Cesty", "label.powered-by": "Běží na {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Uložit", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Nastavení", "label.share-url": "Sdílet URL", "label.single-day": "Jeden den", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Sledovací kód", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Jedinečné návštěvy", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Neznámý", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Uživatelské jméno", "label.users": "Users", "label.utm": "UTM", @@ -196,15 +227,17 @@ "label.view-only": "View only", "label.views": "Zobrazení", "label.views-per-visit": "Views per visit", - "label.visitors": "Návštěvy", - "label.visits": "Visits", + "label.visit-duration": "Průměrný čas návštěvy", + "label.visitors": "Návštěvníci", + "label.visits": "Návštěvy", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Weby", - "label.window": "Window", - "label.yesterday": "Yesterday", + "label.window": "Okno", + "label.yesterday": "Včera", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} aktuálně {x, plural, one {návštěvník} other {návštěvníci}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Opravdu smazat {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/da-DK.json b/src/lang/da-DK.json index fe6d483f..143d079d 100644 --- a/src/lang/da-DK.json +++ b/src/lang/da-DK.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Handlinger", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Altid", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Gennemsnitlig besøgstid", "label.back": "Tilbage", "label.before": "Before", "label.bounce-rate": "Afvisningsprocent", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Godkendt adgangskode", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Lande", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Nuværende adgangskode", "label.custom-range": "Tilpasset interval", "label.dashboard": "Betjeningspanel", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Aktivér delings-URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Hændelser", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Kombineret", "label.filter-raw": "Rå", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Sprog", "label.languages": "Sprog", "label.laptop": "Laptop", "label.last-days": "Sidste {x} dage", "label.last-hours": "Sidste {x} timer", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Log ind", "label.logout": "Log ud", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Sider", "label.password": "Adgangskode", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Drevet af {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Nulstil statistikker", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Gem", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Indstillinger", "label.share-url": "Del URL", "label.single-day": "Enkelt dag", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Sporingskode", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unikke besøgende", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Ukendt", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Brugernavn", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Visninger", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Gennemsnitlig besøgstid", "label.visitors": "Besøgende", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} nuværende {x, plural, one {bruger} other {brugere}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Er du sikker på at du vil slette {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index a9982631..e99ecaca 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -1,246 +1,279 @@ { "label.access-code": "Zuegangscode", "label.actions": "Aktione", - "label.activity-log": "Aktivitätsverlauf", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "Aktivitätsverlauf", + "label.add": "hinzuefüege", + "label.add-description": "Beschriibig hinzuefüege", + "label.add-member": "Mitglied hinzuefüege", + "label.add-step": "Schritt hinzuefüege", "label.add-website": "Websiite hinzuefüege", "label.admin": "Administrator", - "label.after": "After", + "label.after": "Nach", "label.all": "Alli", - "label.all-time": "Gesamte Zitruum", + "label.all-time": "Gsamte Zitruum", "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "Durchschn. Bsuechsziit", + "label.average": "Durchschnitt", "label.back": "Zrugg", - "label.before": "Before", + "label.before": "Vor", "label.bounce-rate": "Absprungsrate", - "label.breakdown": "Breakdown", + "label.breakdown": "Uufschlüsselig", "label.browser": "Browser", "label.browsers": "Browser", "label.cancel": "Abbreche", "label.change-password": "Passwort ändere", "label.cities": "Städt", - "label.city": "City", + "label.city": "Stadt", "label.clear-all": "Alles lösche", + "label.compare": "Vergliiche", "label.confirm": "Bestätige", "label.confirm-password": "Passwort widerhole", - "label.contains": "Contains", + "label.contains": "Enthaltet", "label.continue": "Wiiter", + "label.count": "Azahl", "label.countries": "Länder", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", + "label.country": "Land", + "label.create": "Erstelle", + "label.create-report": "Bricht erstelle", "label.create-team": "Team erstelle", "label.create-user": "Benutzer erstelle", "label.created": "Erstellt", "label.created-by": "Created By", - "label.current-password": "Jetzigs Passwort", + "label.current": "Aktuell", + "label.current-password": "Aktuells Passwort", "label.custom-range": "Benutzerdefinierte Bereich", "label.dashboard": "Übersicht", "label.data": "Datä", - "label.date": "Date", + "label.date": "Datum", "label.date-range": "Datumsbereich", - "label.day": "Day", - "label.default-date-range": "Vorigstellte Datumsbereich", + "label.day": "Tag", + "label.default-date-range": "Voriigstellte Datumsbereich", "label.delete": "Lösche", - "label.delete-report": "Delete report", + "label.delete-report": "Bricht lösche", "label.delete-team": "Team lösche", "label.delete-user": "Benutzer lösche", "label.delete-website": "Websiite lösche", - "label.description": "Description", + "label.description": "Beschriibig", "label.desktop": "Desktop", "label.details": "Details", - "label.device": "Device", + "label.device": "Grät", "label.devices": "Grät", - "label.dismiss": "Verwerfe", - "label.does-not-contain": "Does not contain", + "label.dismiss": "Verwärfe", + "label.does-not-contain": "Enthaltet nid", "label.domain": "Domain", - "label.dropoff": "Dropoff", + "label.dropoff": "Absprung", "label.edit": "Bearbeite", "label.edit-dashboard": "Dashboard bearbeite", - "label.edit-member": "Edit member", + "label.edit-member": "Mitglied bearbeite", "label.enable-share-url": "Freigab-URL aktiviere", - "label.event": "Event", - "label.event-data": "Event data", + "label.end-step": "Schlussschritt", + "label.entry": "Iigangs URL", + "label.event": "Ereigniss", + "label.event-data": "Ereigniss Date", "label.events": "Ereigniss", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", + "label.exit": "Uusgangs URL", + "label.false": "Falsch", + "label.field": "Fäld", + "label.fields": "Fälder", "label.filter": "Filter", "label.filter-combined": "Kombiniert", "label.filter-raw": "Rohdate", "label.filters": "Filters", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", - "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", + "label.first-seen": "Erstmal gse", + "label.funnel": "Tunnel", + "label.funnel-description": "Verstönd Sie d Konversions- und Abspruungsrate vo Nutzer.", + "label.goal": "Ziel", + "label.goals": "Ziele", + "label.goals-description": "verfolged Sie Ihri Ziel für Siitenufrüef und Ereigniss.", + "label.greater-than": "Grösser als", + "label.greater-than-equals": "Grösser oder gliich", + "label.host": "Host", + "label.hosts": "Hosts", + "label.insights": "Iiblick", + "label.insights-description": "Vertüfed Sie sich i Ihri Date, mit Hilf vo Segment und Filter.", + "label.is": "Isch", + "label.is-not": "Isch nid", + "label.is-not-set": "Isch ned gsetzt", + "label.is-set": "Isch gsetzt", "label.join": "Biträte", "label.join-team": "Team biträte", + "label.journey": "Reis", + "label.journey-description": "Verstönd Sie, wie Nutzer dur Ihri Website navigiered.", "label.language": "Sprach", "label.languages": "Sprache", "label.laptop": "Laptop", "label.last-days": "Letzti {x} Täg", "label.last-hours": "Letzti {x} Stunde", - "label.last-months": "Last {x} months", + "label.last-months": "Letzti {x} Mönet", + "label.last-seen": "Zletzt gse", "label.leave": "Verlah", "label.leave-team": "Team verlah", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", - "label.login": "Aamelde", - "label.logout": "Abmelde", - "label.manage": "Manage", + "label.less-than": "Kliiner als", + "label.less-than-equals": "Kliiner oder gliich", + "label.login": "Aamälde", + "label.logout": "Abmälde", + "label.manage": "Verwalte", + "label.manager": "Manager", "label.max": "Max", - "label.member": "Member", + "label.member": "Mitglied", "label.members": "Mitglieder", "label.min": "Min", - "label.mobile": "Handy", + "label.mobile": "Händy", "label.more": "Meh", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Min Account", + "label.my-websites": "Mini Websiite", "label.name": "Name", "label.new-password": "Neus Passwort", "label.none": "Keis", "label.number-of-records": "{x} {x, plural, one {record} other {records}}", "label.ok": "OK", "label.os": "OS", - "label.overview": "Overview", + "label.overview": "Übersicht", "label.owner": "Bsitzer", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Siite {current} vo {total}", "label.page-views": "Siitenufrüef", - "label.pageTitle": "Page title", + "label.pageTitle": "Siitetitel", "label.pages": "Siite", "label.password": "Passwort", - "label.powered-by": "Betribe dur {name}", + "label.path": "Pfad", + "label.paths": "Pfade", + "label.powered-by": "Betriibe dur {name}", + "label.previous": "Vorherig", + "label.previous-period": "Vorherigi Periode", + "label.previous-year": "Vorherigs Jahr", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Abfrage", - "label.query": "Query", + "label.query": "Abfrag", "label.query-parameters": "Abfragparameter", "label.realtime": "Echtzit", - "label.referrer": "Referrer", - "label.referrers": "Referrer", + "label.referrer": "Verwiiser", + "label.referrers": "Verwiisendi", "label.refresh": "Aktualisiere", "label.regenerate": "Erneuere", "label.region": "Region", "label.regions": "Regionä", "label.remove": "Entferne", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.remove-member": "Mitglied entferne", + "label.reports": "Brichte", "label.required": "Erforderlich", "label.reset": "Zruggsetze", "label.reset-website": "Statistik zruggsetze", "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.retention-description": "Mässed Sie d Verwiilduur vo Ihrere Website, indem Sie verfolged wie oft ihri Nutzer zruggkehred.", + "label.revenue": "Umsatz", + "label.revenue-description": "Lueged Sie sich Ihre Umsatz im Lauf vor Ziit a.", + "label.revenue-property": "Umsatzeigenschafte", "label.role": "Rollä", - "label.run-query": "Run query", + "label.run-query": "Abfrag starte", "label.save": "Speichere", "label.screens": "Bildschirmuflösige", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", + "label.search": "Sueche", + "label.select": "Auswähle", + "label.select-date": "Datä uuswähle", + "label.select-role": "Rollä uuswähle", "label.select-website": "Websiite uuswähle", - "label.sessions": "Sessions", + "label.session": "Sitzig", + "label.sessions": "Sitzige", "label.settings": "Istellige", "label.share-url": "Freigab-URL", "label.single-day": "Ein Tag", - "label.steps": "Steps", - "label.sum": "Sum", + "label.start-step": "Startschritt", + "label.steps": "Schritt", + "label.sum": "Summe", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team Manager", "label.team-member": "Team Mitglied", - "label.team-name": "Team name", + "label.team-name": "Team Name", "label.team-owner": "Team Bsitzer", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", + "label.team-view-only": "Nur für Teammitglieder sichtbar", + "label.team-websites": "Team Websiite", "label.teams": "Teams", "label.theme": "Thema", - "label.this-month": "De Monet", - "label.this-week": "Die Wuche", - "label.this-year": "Das Jahr", + "label.this-month": "Dä Monet", + "label.this-week": "Diä Wuuche", + "label.this-year": "Das Johr", "label.timezone": "Ziitzone", "label.title": "Titel", "label.today": "Hüt", - "label.toggle-charts": "Schaubilder umschalte", + "label.toggle-charts": "Charts umschalte", "label.total": "Total", - "label.total-records": "Total records", + "label.total-records": "Gsamti Datesätz", "label.tracking-code": "Tracking Code", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", - "label.unique-visitors": "Eidütigi Bsuecher", + "label.transactions": "Transaktione", + "label.transfer": "Transferiere", + "label.transfer-website": "Websiite transferiere", + "label.true": "Wahr", + "label.type": "Typ", + "label.unique": "Einzigartigi", + "label.unique-visitors": "Einzigartigi Bsuecher", + "label.uniqueCustomers": "Einzigartigi Kunde", "label.unknown": "Unbekannt", - "label.untitled": "Untitled", + "label.untitled": "Unbennant", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Benutzer", + "label.user-property": "Benutzereigeschafte", "label.username": "Benutzername", "label.users": "Benutzer", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", - "label.value": "Value", + "label.utm-description": "Tracked Sie Ihri Kampagnen mit UTM Parameters.", + "label.value": "Wärt", "label.view": "Azeige", "label.view-details": "Details azeige", - "label.view-only": "View only", + "label.view-only": "Nume aluege", "label.views": "Ufrüef", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Ufrüef pro Bsuech", + "label.visit-duration": "Durchschn. Bsuechsziit", "label.visitors": "Bsuecher", - "label.visits": "Visits", + "label.visits": "Bsüech", "label.website": "Website", "label.website-id": "Websiite ID", "label.websites": "Websiite", - "label.window": "Window", + "label.window": "Fenster", "label.yesterday": "Gester", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "message.action-confirmation": "Typed Sie {confirmation} is Feld underhalb um z bestätige.", "message.active-users": "{x} {x, plural, one {aktive Bsuecher} other {aktivi Bsuecher}}", + "message.collected-data": "Gsammleti Date", "message.confirm-delete": "Sind Sie sich sicher, {target} zlösche?", "message.confirm-leave": "Sind Sie sich sicher, {target} zverlah?", - "message.confirm-remove": "Are you sure you want to remove {target}?", - "message.confirm-reset": "Sind Sie sicher, dass Sie dStatistike vo {target} zruggsetze wend?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", - "message.delete-website-warning": "Alli dezueghörige Date werdet ebefalls glöscht.", - "message.error": "Es isch en Fehler uftrete.", + "message.confirm-remove": "Sind Sie sich sicher, dass Sie {target} wänd entferne?", + "message.confirm-reset": "Sind Sie sicher, dass Sie d Statistike vo {target} zruggsetze wänd?", + "message.delete-team-warning": "Es Team lösche dued ebefalls alli team Websiite lösche.", + "message.delete-website-warning": "Alli dezueghörige Date werded ebefalls glöscht.", + "message.error": "Es isch en Fehler ufträte.", "message.event-log": "{event} uf {url}", "message.go-to-settings": "Zu de Istellige", - "message.incorrect-username-password": "Falschs Passwort oder Benutzername.", + "message.incorrect-username-password": "Falsches Passwort oder Benutzername.", "message.invalid-domain": "Ungültigi Domain", "message.min-password-length": "Miminamli längi vo {n} Zeiche", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.new-version-available": "Es isch en neue Version vo Umami {version} verfügbar!", "message.no-data-available": "Kei Date vorhande.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "Es sind kei Event Date verfügbar.", "message.no-match-password": "Passwörter stimmed ned überi", - "message.no-results-found": "No results were found.", + "message.no-results-found": "Kei Ergäbnis gfunde.", "message.no-team-websites": "Dem Team sind kei Websiite zuegordnet.", "message.no-teams": "Bisher sind no kei Teams erstellt worde.", "message.no-users": "Da gits kei Benutzer", "message.no-websites-configured": "Es isch kei Websiite vorhande.", "message.page-not-found": "Siite ned gfunde.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "message.reset-website": "Um die Websiite zruggzsetze, typed Sie {confirmation} is Feld unde dran.", "message.reset-website-warning": "Alli Date für die Websiite werdet glöscht, nur de Tracking Code blibt bestah.", "message.saved": "Erfolgrich gspeichert.", "message.share-url": "Ihri Websiitestatistik isch under de folgende URL öffentlich zuegänglich:", - "message.team-already-member": "Sie sind bereits es Mitglied vo dem Team.", + "message.team-already-member": "Sie sind bereits es Mitglied vo däm Team.", "message.team-not-found": "Team nöd gfunde.", - "message.team-websites-info": "Websiite chönd vo jedem im Team agluegt werde", + "message.team-websites-info": "Websiite chöi vo jedem im Team agluegt werde", "message.tracking-code": "Tracking Code", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", - "message.user-deleted": "Benutzer glöscht.", - "message.viewed-page": "Viewed page", - "message.visitor-log": "Bsuecher us {country} benutzt {browser} uf {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" -} + "message.transfer-team-website-to-user": "Websiite uf zu Ihrem Account transferiere?", + "message.transfer-user-website-to-team": "Wähled Sie s Team zum däm Websiite transferiert werde söll.", + "message.transfer-website": "Übertraged Sie d Websiite Eigetümerrecht uf Ihre Account oder uf es anders Team", + "message.triggered-event": "Usglösts Ereigniss", + "message.user-deleted": "Bnutzer glöscht.", + "message.viewed-page": "Siite agluegt", + "message.visitor-log": "Bsuecher us {country} nutzt {browser} uf {os} {device}", + "message.visitors-dropped-off": "Bsuercher verlore" +} \ No newline at end of file diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 3272abaf..36090a84 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -1,23 +1,22 @@ { "label.access-code": "Zugangscode", "label.actions": "Aktionen", - "label.activity-log": "Aktivitätsverlauf", + "label.activity": "Aktivitätsverlauf", "label.add": "Hinzufügen", "label.add-description": "Beschreibung hinzufügen", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.add-member": "Mitglied hinzufügen", + "label.add-step": "Schritt hinzufügen", "label.add-website": "Website hinzufügen", "label.admin": "Administrator", "label.after": "Nach", "label.all": "Alle", "label.all-time": "Gesamter Zeitraum", - "label.analytics": "Analytics", + "label.analytics": "Analysen", "label.average": "Durchschnitt", - "label.average-visit-time": "Durchschn. Besuchszeit", "label.back": "Zurück", "label.before": "Vor", "label.bounce-rate": "Absprungrate", - "label.breakdown": "Breakdown", + "label.breakdown": "Aufschlüsselung", "label.browser": "Browser", "label.browsers": "Browser", "label.cancel": "Abbrechen", @@ -25,18 +24,21 @@ "label.cities": "Städte", "label.city": "Stadt", "label.clear-all": "Alles löschen", + "label.compare": "Vergleichen", "label.confirm": "Bestätigen", "label.confirm-password": "Passwort wiederholen", "label.contains": "Enthält", "label.continue": "Weiter", + "label.count": "Anzahl", "label.countries": "Länder", "label.country": "Land", - "label.create": "Create", + "label.create": "Erstellen", "label.create-report": "Bericht erstellen", "label.create-team": "Team erstellen", "label.create-user": "Benutzer erstellen", "label.created": "Erstellt", - "label.created-by": "Created By", + "label.created-by": "Erstellt von", + "label.current": "Aktuell", "label.current-password": "Derzeitiges Passwort", "label.custom-range": "Benutzerdefinierter Bereich", "label.dashboard": "Übersicht", @@ -46,7 +48,7 @@ "label.day": "Tag", "label.default-date-range": "Voreingestellter Datumsbereich", "label.delete": "Löschen", - "label.delete-report": "Delete report", + "label.delete-report": "Bericht löschen", "label.delete-team": "Team löschen", "label.delete-user": "Benutzer löschen", "label.delete-website": "Website löschen", @@ -58,14 +60,17 @@ "label.dismiss": "Verwerfen", "label.does-not-contain": "Enthält nicht", "label.domain": "Domain", - "label.dropoff": "Dropoff", + "label.dropoff": "Absprung", "label.edit": "Bearbeiten", "label.edit-dashboard": "Dashboard bearbeiten", - "label.edit-member": "Edit member", + "label.edit-member": "Mitglied bearbeiten", "label.enable-share-url": "Freigabe-URL aktivieren", - "label.event": "Event", - "label.event-data": "Eventdaten", + "label.end-step": "Schlussschritt", + "label.entry": "Eingangs-URL", + "label.event": "Ereignis", + "label.event-data": "Ereignisdaten", "label.events": "Ereignisse", + "label.exit": "Ausgangs-URL", "label.false": "Falsch", "label.field": "Feld", "label.fields": "Felder", @@ -73,38 +78,48 @@ "label.filter-combined": "Kombiniert", "label.filter-raw": "Rohdaten", "label.filters": "Filter", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.first-seen": "Erstmalig gesehen", + "label.funnel": "Trichter", + "label.funnel-description": "Verstehen Sie die Konversions- und Absprungrate Ihrer Nutzer.", + "label.goal": "Ziel", + "label.goals": "Ziele", + "label.goals-description": "Verfolgen Sie Ihre Ziele für Seitenaufrufe und Ereignisse.", "label.greater-than": "Größer als", "label.greater-than-equals": "Größer oder gleich", - "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", + "label.host": "Host", + "label.hosts": "Hosts", + "label.insights": "Einblicke", + "label.insights-description": "Vertiefen Sie sich mit Hilfe von Segmenten und Filtern in Ihre Daten.", "label.is": "Ist", "label.is-not": "Ist nicht", "label.is-not-set": "Ist nicht gesetzt", "label.is-set": "Ist gesetzt", "label.join": "Beitreten", "label.join-team": "Team beitreten", + "label.journey": "Reise", + "label.journey-description": "Verstehen Sie, wie Nutzer auf Ihrer Website navigieren.", "label.language": "Sprache", "label.languages": "Sprachen", "label.laptop": "Laptop", - "label.last-days": "Letzte {x} Tage", - "label.last-hours": "Letzte {x} Stunden", - "label.last-months": "Last {x} months", + "label.last-days": "Letzten {x} Tage", + "label.last-hours": "Letzten {x} Stunden", + "label.last-months": "Letzten {x} Monate", + "label.last-seen": "Zuletzt gesehen", "label.leave": "Verlassen", "label.leave-team": "Team verlassen", "label.less-than": "Kleiner als", "label.less-than-equals": "Kleiner oder gleich", "label.login": "Anmelden", "label.logout": "Abmelden", - "label.manage": "Manage", + "label.manage": "Verwalten", + "label.manager": "Verwaltung", "label.max": "Max", - "label.member": "Member", + "label.member": "Mitglied", "label.members": "Mitglieder", "label.min": "Min", "label.mobile": "Handy", "label.more": "Mehr", - "label.my-account": "My account", + "label.my-account": "Mein Account", "label.my-websites": "Meine Websites", "label.name": "Name", "label.new-password": "Neues Passwort", @@ -119,48 +134,61 @@ "label.pageTitle": "Seitentitel", "label.pages": "Seiten", "label.password": "Passwort", + "label.path": "Pfad", + "label.paths": "Pfade", "label.powered-by": "Betrieben durch {name}", + "label.previous": "Vorherig", + "label.previous-period": "Vorherige Periode", + "label.previous-year": "Vorheriges Jahr", "label.profile": "Profil", + "label.properties": "Eigenschaften", + "label.property": "Eigentum", "label.queries": "Abfragen", "label.query": "Abfrage", "label.query-parameters": "Abfrageparameter", "label.realtime": "Echtzeit", - "label.referrer": "Referrer", - "label.referrers": "Referrer", + "label.referrer": "Übermittler", + "label.referrers": "Übermittler", "label.refresh": "Aktualisieren", "label.regenerate": "Erneuern", "label.region": "Region", "label.regions": "Regionen", "label.remove": "Entfernen", - "label.remove-member": "Remove member", + "label.remove-member": "Mitglied entfernen", "label.reports": "Berichte", "label.required": "Erforderlich", "label.reset": "Zurücksetzen", "label.reset-website": "Statistik zurücksetzen", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.retention": "Erhalt", + "label.retention-description": "Messen Sie die Verweildauer auf Ihrer Website, indem Sie verfolgen, wie oft die Nutzer zurückkehren.", + "label.revenue": "Umsatz", + "label.revenue-description": "Haben Sie einen Blick auf Ihre Umsätze im Laufe der Zeit.", + "label.revenue-property": "Umsatzeigenschaften", "label.role": "Rolle", "label.run-query": "Abfrage starten", "label.save": "Speichern", "label.screens": "Bildschirmauflösungen", - "label.search": "Search", - "label.select": "Select", + "label.search": "Suche", + "label.select": "Auswählen", "label.select-date": "Datum auswählen", - "label.select-role": "Select role", + "label.select-role": "Rolle auswählen", "label.select-website": "Website auswählen", + "label.session": "Sitzung", "label.sessions": "Sitzungen", "label.settings": "Einstellungen", "label.share-url": "Freigabe-URL", "label.single-day": "Ein Tag", - "label.steps": "Steps", + "label.start-step": "Startschritt", + "label.steps": "Schritte", "label.sum": "Summe", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team-ID", + "label.team-manager": "Team-Manager", "label.team-member": "Team-Mitglied", "label.team-name": "Name des Teams", "label.team-owner": "Team-Eigentümer", - "label.team-view-only": "Team view only", + "label.team-view-only": "Nur für Team-Mitglieder sichtbar", "label.team-websites": "Team-Websites", "label.teams": "Teams", "label.theme": "Thema", @@ -174,42 +202,47 @@ "label.total": "Gesamt", "label.total-records": "Datensätze insgesamt", "label.tracking-code": "Tracking Code", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", + "label.transactions": "Transaktionen", + "label.transfer": "Übertragung", + "label.transfer-website": "Website übertragen", "label.true": "Wahr", "label.type": "Typ", - "label.unique": "Eindeutig", - "label.unique-visitors": "Eindeutige Besucher", + "label.unique": "Einzigartig", + "label.unique-visitors": "Einzigartige Besucher", + "label.uniqueCustomers": "Einzigartige Kunden", "label.unknown": "Unbekannt", "label.untitled": "Unbenannt", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Benutzer", + "label.user-property": "Benutzereigenschaften", "label.username": "Benutzername", "label.users": "Benutzer", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "Tracken Sie Ihre Kampagnen mit UTM Parametern.", "label.value": "Wert", "label.view": "Anzeigen", "label.view-details": "Details anzeigen", "label.view-only": "Nur ansehen", "label.views": "Aufrufe", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Aufrufe pro Besuch", + "label.visit-duration": "Durchschn. Besuchszeit", "label.visitors": "Besucher", - "label.visits": "Visits", + "label.visits": "Besuche", "label.website": "Website", - "label.website-id": "Website ID", + "label.website-id": "Website-ID", "label.websites": "Websites", "label.window": "Fenster", "label.yesterday": "Gestern", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "message.action-confirmation": "Schreibe {confirmation} in die Box zur bestätigung.", "message.active-users": "{x} {x, plural, one {aktiver Besucher} other {aktive Besucher}}", + "message.collected-data": "Gesammelte Daten", "message.confirm-delete": "Sind Sie sich sicher, {target} zu löschen?", "message.confirm-leave": "Sind Sie sicher, dass die {target} verlassen möchten?", - "message.confirm-remove": "Are you sure you want to remove {target}?", + "message.confirm-remove": "Sind Sie sicher, {target} zu entfernen?", "message.confirm-reset": "Sind Sie sicher, dass Sie die Statistiken von {target} zurücksetzen wollen?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", + "message.delete-team-warning": "Ein Team zu löschen, wird auch alle Team-Websites löschen.", "message.delete-website-warning": "Alle zugehörigen Daten werden ebenfalls gelöscht.", "message.error": "Es ist ein Fehler aufgetreten.", "message.event-log": "{event} auf {url}", @@ -235,12 +268,12 @@ "message.team-not-found": "Team nicht gefunden.", "message.team-websites-info": "Websites können von jedem im Team eingesehen werden.", "message.tracking-code": "Tracking Code", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", + "message.transfer-team-website-to-user": "Diese Website zu Ihrem Account transferieren?", + "message.transfer-user-website-to-team": "Wählen Sie ein Team aus, zu dem die Website transferiert werden soll.", + "message.transfer-website": "Übertragen Sie die Eigentümerrechte zu Ihrem Account oder einem anderen Team.", + "message.triggered-event": "Ereignis ausgelöst", "message.user-deleted": "Benutzer gelöscht.", - "message.viewed-page": "Viewed page", + "message.viewed-page": "Seite besucht", "message.visitor-log": "Besucher aus {country} benutzt {browser} auf {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "Besucherverlust" } diff --git a/src/lang/el-GR.json b/src/lang/el-GR.json index 1c1fd1b2..263ea7e9 100644 --- a/src/lang/el-GR.json +++ b/src/lang/el-GR.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Ενέργειες", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Μέσος χρόνος επίσκεψης", "label.back": "Πίσω", "label.before": "Before", "label.bounce-rate": "Ποσοστό αναπήδησης", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Επιβεβαίωση κωδικού", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Χώρες", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Τωρινός κωδικός πρόσβασης", "label.custom-range": "Προσαρμοσμένο εύρος", "label.dashboard": "Πίνακας", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Ενεργοποίηση κοινής χρήσης URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Γεγονότα", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Σε συνδυασμό", "label.filter-raw": "Ακατέργαστο", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Λάπτοπ", "label.last-days": "Τελευταίες {x} ημέρες", "label.last-hours": "Τελευταίες {x} ώρες", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Είσοδος", "label.logout": "Αποσύνδεση", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Σελίδες", "label.password": "Κωδικός", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Με την υποστήριξη του {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Προφίλ", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Αποθήκευση", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Ρυθμίσεις", "label.share-url": "Κοινοποίηση διεύθυνσης URL", "label.single-day": "Ημερήσια", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Τάμπλετ", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Κωδικός παρακολούθησης", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Μοναδικοί επισκέπτες", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Άγνωστο", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Όνομα χρήστη", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Προβολές", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Μέσος χρόνος επίσκεψης", "label.visitors": "Επισκέπτες", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} ενεργοί {x, plural, one {επισκέπτης} other {επισκέπτες}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το {target};", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/en-GB.json b/src/lang/en-GB.json index 3df625f8..80bbbd7b 100644 --- a/src/lang/en-GB.json +++ b/src/lang/en-GB.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Actions", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Average visit time", "label.back": "Back", "label.before": "Before", "label.bounce-rate": "Bounce rate", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Confirm password", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Countries", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Current password", "label.custom-range": "Custom range", "label.dashboard": "Dashboard", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Enable share URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Events", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Laptop", "label.last-days": "Last {x} days", "label.last-hours": "Last {x} hours", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Login", "label.logout": "Logout", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Pages", "label.password": "Password", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profile", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Settings", "label.share-url": "Share URL", "label.single-day": "Single day", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Tracking code", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unique visitors", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Unknown", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Username", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Views", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Visit duration", "label.visitors": "Visitors", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} current {x, plural, one {visitor} other {visitors}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Are you sure you want to delete {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/en-US.json b/src/lang/en-US.json index 5ceb39d1..8fe33145 100644 --- a/src/lang/en-US.json +++ b/src/lang/en-US.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Actions", - "label.activity-log": "Activity log", + "label.activity": "Activity", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Average visit time", "label.back": "Back", "label.before": "Before", "label.bounce-rate": "Bounce rate", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Confirm password", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Countries", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Current password", "label.custom-range": "Custom range", "label.dashboard": "Dashboard", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Enable share URL", + "label.end-step": "End Step", + "label.entry": "Entry path", "label.event": "Event", "label.event-data": "Event data", "label.events": "Events", + "label.exit": "Exit path", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Laptop", "label.last-days": "Last {x} days", "label.last-hours": "Last {x} hours", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Login", "label.logout": "Logout", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Pages", "label.password": "Password", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profile", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset website", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Settings", "label.share-url": "Share URL", "label.single-day": "Single day", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Tracking code", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unique visitors", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Unknown", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Username", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Views", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Visit duration", "label.visitors": "Visitors", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} current {x, plural, one {visitor} other {visitors}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Are you sure you want to delete {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 43e74e21..5f930be7 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -1,11 +1,11 @@ { "label.access-code": "Código de acceso", "label.actions": "Acciones", - "label.activity-log": "Registro de actividad", + "label.activity": "Registro de actividad", "label.add": "Añadir", "label.add-description": "Añadir descripción", "label.add-member": "Añadir miembro", - "label.add-step": "Add step", + "label.add-step": "Añadir paso", "label.add-website": "Nuevo sitio web", "label.admin": "Administrador", "label.after": "Después", @@ -13,7 +13,6 @@ "label.all-time": "Todos los tiempos", "label.analytics": "Analíticas", "label.average": "Media", - "label.average-visit-time": "Tiempo promedio de visita", "label.back": "Atrás", "label.before": "Antes", "label.bounce-rate": "Porcentaje de rebote", @@ -25,10 +24,12 @@ "label.cities": "Ciudades", "label.city": "Ciudad", "label.clear-all": "Limpiar todo", + "label.compare": "Comparar", "label.confirm": "Confirmar", "label.confirm-password": "Confirmar contraseña", "label.contains": "Contiene", "label.continue": "Continuar", + "label.count": "Contar", "label.countries": "Países", "label.country": "País", "label.create": "Crear", @@ -36,7 +37,8 @@ "label.create-team": "Crear equipo", "label.create-user": "Crear usuario", "label.created": "Creado", - "label.created-by": "Created By", + "label.created-by": "Creado por", + "label.current": "Actual", "label.current-password": "Contraseña actual", "label.custom-range": "Intervalo personalizado", "label.dashboard": "Panel de control", @@ -61,11 +63,14 @@ "label.dropoff": "Abandono", "label.edit": "Editar", "label.edit-dashboard": "Editar panel", - "label.edit-member": "Edit member", + "label.edit-member": "Editar miembro", "label.enable-share-url": "Habilitar compartir URL", + "label.end-step": "Paso final", + "label.entry": "URL de entrada", "label.event": "Evento", "label.event-data": "Datos de evento", "label.events": "Eventos", + "label.exit": "URL de salida", "label.false": "Falso", "label.field": "Campo", "label.fields": "Campos", @@ -73,10 +78,16 @@ "label.filter-combined": "Combinado", "label.filter-raw": "En crudo", "label.filters": "Filtros", - "label.funnel": "Funnel", + "label.first-seen": "First seen", + "label.funnel": "Embudo", "label.funnel-description": "Comprender conversión y abandono de usuarios.", + "label.goal": "Objetivo", + "label.goals": "Objetivos", + "label.goals-description": "Realice un seguimiento de sus objetivos de páginas vistas y eventos.", "label.greater-than": "Mayor que", "label.greater-than-equals": "Mayor que o igual a", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Profundice en sus datos mediante el uso de segmentos y filtros.", "label.is": "Es igual a", @@ -85,12 +96,15 @@ "label.is-set": "Está establecido", "label.join": "Unir", "label.join-team": "Unirse al equipo", + "label.journey": "Viaje", + "label.journey-description": "Comprenda cómo los usuarios navegan por su sitio web.", "label.language": "Idioma", "label.languages": "Idiomas", "label.laptop": "Portátil", "label.last-days": "Últimos {x} días", "label.last-hours": "Últimas {x} horas", - "label.last-months": "Last {x} months", + "label.last-months": "Últimos {x} meses", + "label.last-seen": "Last seen", "label.leave": "Abandonar", "label.leave-team": "Abandonar equipo", "label.less-than": "Menor que", @@ -98,10 +112,11 @@ "label.login": "Iniciar sesión", "label.logout": "Cerrar sesión", "label.manage": "Administrar", - "label.max": "Máx", + "label.manager": "Manager", + "label.max": "Max", "label.member": "Miembro", "label.members": "Miembros", - "label.min": "Mín", + "label.min": "Min", "label.mobile": "Móvil", "label.more": "Más", "label.my-account": "Mi cuenta", @@ -119,8 +134,15 @@ "label.pageTitle": "Título de página", "label.pages": "Páginas", "label.password": "Contraseña", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Analíticas de {name}", + "label.previous": "Anterior", + "label.previous-period": "Periodo anterior", + "label.previous-year": "Año anterior", "label.profile": "Perfil", + "label.properties": "Properties", + "label.property": "Propiedad", "label.queries": "Consultas", "label.query": "Consulta", "label.query-parameters": "Parámetros de petición", @@ -129,7 +151,7 @@ "label.referrers": "Referido desde", "label.refresh": "Actualizar", "label.regenerate": "Regenerar", - "label.region": "Region", + "label.region": "Región", "label.regions": "Regiones", "label.remove": "Quitar", "label.remove-member": "Eliminar miembro", @@ -139,24 +161,30 @@ "label.reset-website": "Reiniciar analíticas", "label.retention": "Retención", "label.retention-description": "Medir la frecuencia con la que los usuarios vuelven a tu sitio web.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Rol", "label.run-query": "Ejecutar consulta", "label.save": "Guardar", "label.screens": "Pantallas", "label.search": "Buscar", - "label.select": "Select", + "label.select": "Seleccionar", "label.select-date": "Seleccionar fecha", "label.select-role": "Seleccionar rol", "label.select-website": "Seleccionar sitio web", + "label.session": "Session", "label.sessions": "Sesiones", "label.settings": "Ajustes", "label.share-url": "Compartir URL", "label.single-day": "Un solo día", - "label.steps": "Steps", + "label.start-step": "Paso inical", + "label.steps": "Pasos", "label.sum": "Suma", "label.tablet": "Tableta", "label.team": "Equipo", "label.team-id": "ID del equipo", + "label.team-manager": "Jefe de equipo", "label.team-member": "Miembro del equipo", "label.team-name": "Nombre del equipo", "label.team-owner": "Admin. del equipo", @@ -174,30 +202,34 @@ "label.total": "Total", "label.total-records": "Total de registros", "label.tracking-code": "Código de rastreo", + "label.transactions": "Transactions", "label.transfer": "Transferir", "label.transfer-website": "Transferir sitio web", "label.true": "Verdadero", "label.type": "Tipo", "label.unique": "Único", "label.unique-visitors": "Visitantes únicos", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Desconocida", "label.untitled": "Sin título", - "label.update": "Update", + "label.update": "Actualizar", "label.url": "URL", "label.urls": "URLs", "label.user": "Usuario", + "label.user-property": "User Property", "label.username": "Nombre de usuario", "label.users": "Usuarios", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "Realice un seguimiento de sus campañas a través de parámetros UTM.", "label.value": "Valor", "label.view": "Visualizar", "label.view-details": "Ver detalles", "label.view-only": "Ver sólo", "label.views": "Vistas", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Vistas por visita", + "label.visit-duration": "Tiempo promedio de visita", "label.visitors": "Visitantes", - "label.visits": "Visits", + "label.visits": "Visitas", "label.website": "Sitio web", "label.website-id": "ID del sitio web", "label.websites": "Sitios web", @@ -205,6 +237,7 @@ "label.yesterday": "Ayer", "message.action-confirmation": "Escriba {confirmation} en el cuadro a continuación para confirmar.", "message.active-users": "{x} {x, plural, one {activo} other {activos}}", + "message.collected-data": "Datos obtenidos", "message.confirm-delete": "¿Seguro que quieres eliminar {target}?", "message.confirm-leave": "¿Seguro que quieres abandonar {target}?", "message.confirm-remove": "¿Estás seguro de que desea eliminar {target}?", @@ -236,7 +269,7 @@ "message.team-websites-info": "Las analíticas de tus sitios web pueden ser vistas por cualquier miembro del equipo.", "message.tracking-code": "Código de rastreo", "message.transfer-team-website-to-user": "¿Transferir este sitio web a su cuenta?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", + "message.transfer-user-website-to-team": "Seleccione el equipo al que transferir este sitio web.", "message.transfer-website": "Seleccione el equipo al que transferir este sitio web.", "message.triggered-event": "Evento lanzado", "message.user-deleted": "Usuario eliminado.", diff --git a/src/lang/fa-IR.json b/src/lang/fa-IR.json index 70c60f01..d5b48021 100644 --- a/src/lang/fa-IR.json +++ b/src/lang/fa-IR.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "اقدامات", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "همه زمان", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "میانگین زمان بازدید", "label.back": "برگشت", "label.before": "Before", "label.bounce-rate": "نرخ Bounce", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "تایید رمز", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "کشورها", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "رمز فعلی", "label.custom-range": "محدوده‌ی دلخواه", "label.dashboard": "داشبورد", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "فعال کردن اشتراک گذاری URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "رویدادها", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "ترکیب شده", "label.filter-raw": "خام", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "زبان", "label.languages": "زبان‌ها", "label.laptop": "لپ‌تاپ", "label.last-days": "لیست {x} روز گذشته", "label.last-hours": "لیست {x} ساعت گذشته", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "ورود", "label.logout": "خروج", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "صفحه‌ها", "label.password": "رمز", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "قدرت گرفته توسط {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "پروفایل", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "بازنشانی آمار", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "ذخیره", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "تنظیمات", "label.share-url": "به اشتراک گذاری URL", "label.single-day": "یک روز", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "تبلت", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "کد رهگیری", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "بازدیدکننده‌های یکتا", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "ناشناخته", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "نام کاربری", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "بازدید", "label.views-per-visit": "Views per visit", + "label.visit-duration": "میانگین زمان بازدید", "label.visitors": "بازدیدکننده", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} هم اکنون {x, plural, one {یک} other {از میان}}", + "message.collected-data": "Collected data", "message.confirm-delete": "آیا مطمئن هستید می‌خواهید {target} را حذف کنید?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/fi-FI.json b/src/lang/fi-FI.json index f827c482..a47df265 100644 --- a/src/lang/fi-FI.json +++ b/src/lang/fi-FI.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Toiminnat", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Alusta lähtien", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Keskimääräinen vierailuaika", "label.back": "Takaisin", "label.before": "Before", "label.bounce-rate": "Välitön poistuminen", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Vahvista salasana", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Maat", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Nykyinen salasana", "label.custom-range": "Mukautettu ajanjakso", "label.dashboard": "Ohjauspaneeli", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Ota jakamisen URL-osoite käyttöön", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Tapahtumat", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Yhdistetty", "label.filter-raw": "Käsittelemätön", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Kieli", "label.languages": "Kielet", "label.laptop": "Kannettava tietokone", "label.last-days": "Viimeisimmät {x} päivää", "label.last-hours": "Viimeisimmät {x} tuntia", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Kirjaudu sisään", "label.logout": "Kirjaudu ulos", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Sivut", "label.password": "Salasana", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Voimanlähteenä {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profiili", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Nollaa tilastot", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Tallenna", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Asetukset", "label.share-url": "Jaa URL", "label.single-day": "Yksi päivä", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tabletti", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Seurantakoodi", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Yksittäiset kävijät", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Tuntematon", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Käyttäjänimi", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Näyttökerrat", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Keskimääräinen vierailuaika", "label.visitors": "Vierailijat", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} {x, plural, one {vierailija} other {vierailijaa}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Haluatko varmasti poistaa sivuston {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/fo-FO.json b/src/lang/fo-FO.json index 6b9e42d0..23175302 100644 --- a/src/lang/fo-FO.json +++ b/src/lang/fo-FO.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Gerðir", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Miðal vitjurnartíð ", "label.back": "Aftur", "label.before": "Before", "label.bounce-rate": "Bounce prosenttal", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Vátta loyniorð", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Lond", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Núverandi loyniorð", "label.custom-range": "Tillaga spenni", "label.dashboard": "Yvirlitsskíggi", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Virkja deili leinki", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Hendingar/tiltøk", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Samansett", "label.filter-raw": "Óviðgjørt", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Fartelda", "label.last-days": "Seinastu {x} dagarnar", "label.last-hours": "Seinastu {x} tímarnar", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Rita inn", "label.logout": "Rita út", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Síðir", "label.password": "Loyniorð", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Vangi", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Goym", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Stillingar", "label.share-url": "Deil leinku", "label.single-day": "Einkultur dagur", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Teldil", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Spori kota", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Einsýna vitjanir", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Ókent", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Brúkaranavn", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Sýningar", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Miðal vitjurnartíð ", "label.visitors": "Vitjandi", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} í løtuni {x, plural, one {vitjandi} other { vitjandi }}", + "message.collected-data": "Collected data", "message.confirm-delete": "Ert tú sikkur at tú ynskir at strika {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index bd71a85f..8e390dc5 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -1,7 +1,7 @@ { "label.access-code": "Code d'accès", "label.actions": "Actions", - "label.activity-log": "Journal d'activité", + "label.activity": "Journal d'activité", "label.add": "Ajouter", "label.add-description": "Ajouter une description", "label.add-member": "Ajouter un membre", @@ -13,7 +13,6 @@ "label.all-time": "Toutes les données", "label.analytics": "Analytics", "label.average": "Moyenne", - "label.average-visit-time": "Temps de visite moyen", "label.back": "Retour", "label.before": "Avant", "label.bounce-rate": "Taux de rebond", @@ -25,10 +24,12 @@ "label.cities": "Villes", "label.city": "Ville", "label.clear-all": "Réinitialiser", + "label.compare": "Compare", "label.confirm": "Confirmer", "label.confirm-password": "Confirmation du mot de passe", "label.contains": "Contient", "label.continue": "Continuer", + "label.count": "Count", "label.countries": "Pays", "label.country": "Pays", "label.create": "Créer", @@ -37,6 +38,7 @@ "label.create-user": "Créer un utilisateur", "label.created": "Créé", "label.created-by": "Crée par", + "label.current": "Current", "label.current-password": "Mot de passe actuel", "label.custom-range": "Période personnalisée", "label.dashboard": "Tableau de bord", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Modifier le tableau de bord", "label.edit-member": "Modifier le membre", "label.enable-share-url": "Activer l'URL de partage", + "label.end-step": "End Step", + "label.entry": "URL d'entrée", "label.event": "Évènement", "label.event-data": "Données d'évènements", "label.events": "Évènements", + "label.exit": "Exit URL", "label.false": "Faux", "label.field": "Champ", "label.fields": "Champs", @@ -73,10 +78,16 @@ "label.filter-combined": "Combiné", "label.filter-raw": "Brut", "label.filters": "Filtres", + "label.first-seen": "Vu pour la première fois", "label.funnel": "Entonnoir", "label.funnel-description": "Suivi des conversions et des taux d'abandons.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Suivez vos objectifs en matière de pages vues et d'événements.", "label.greater-than": "Supérieur à", "label.greater-than-equals": "Supérieur ou égal à", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Analyse précise des données en utilisant des segments et des filtres.", "label.is": "Est", @@ -85,12 +96,15 @@ "label.is-set": "Est défini", "label.join": "Rejoindre", "label.join-team": "Rejoindre une équipe", + "label.journey": "Journey", + "label.journey-description": "Comprendre comment les utilisateurs naviguent sur votre site web.", "label.language": "Langue", "label.languages": "Langues", "label.laptop": "Portable", "label.last-days": "{x} derniers jours", "label.last-hours": "{x} dernières heures", "label.last-months": "{x} derniers mois", + "label.last-seen": "Last seen", "label.leave": "Quitter", "label.leave-team": "Quitter l'équipe", "label.less-than": "Inférieur à", @@ -98,6 +112,7 @@ "label.login": "Connexion", "label.logout": "Déconnexion", "label.manage": "Gérer", + "label.manager": "Manager", "label.max": "Max", "label.member": "Membre", "label.members": "Membres", @@ -119,8 +134,15 @@ "label.pageTitle": "Titre de page", "label.pages": "Pages", "label.password": "Mot de passe", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Propulsé par {name}", + "label.previous": "Précédent", + "label.previous-period": "Période précédente", + "label.previous-year": "Année précédente", "label.profile": "Profil", + "label.properties": "Propriétés", + "label.property": "Propriété", "label.queries": "Requêtes", "label.query": "Requête", "label.query-parameters": "Paramètres de requête", @@ -139,28 +161,34 @@ "label.reset-website": "Réinitialiser les statistiques", "label.retention": "Rétention", "label.retention-description": "Mesure de l'attractivité du site en visualisant les taux de visiteurs qui reviennent.", + "label.revenue": "Revenue", + "label.revenue-description": "Examinez vos revenus au fil du temps.", + "label.revenue-property": "Propriétés des revenues", "label.role": "Rôle", "label.run-query": "Éxécuter la requête", "label.save": "Enregistrer", "label.screens": "Résolutions d'écran", "label.search": "Rechercher", - "label.select": "Select", + "label.select": "Selectionner", "label.select-date": "Choisir une période", "label.select-role": "Choisir un rôle", "label.select-website": "Choisir un site", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Paramètres", "label.share-url": "URL de partage", "label.single-day": "Journée", + "label.start-step": "Etape de démarrage", "label.steps": "Étapes", "label.sum": "Somme", "label.tablet": "Tablette", "label.team": "Équipe", "label.team-id": "ID d'équipe", + "label.team-manager": "Manager de l'équipe", "label.team-member": "Membre de l'équipe", "label.team-name": "Nom de l'équipe", "label.team-owner": "Propriétaire de l'équipe", - "label.team-view-only": "Team view only", + "label.team-view-only": "Vue d'équipe uniquement", "label.team-websites": "Sites d'équipes", "label.teams": "Équipes", "label.theme": "Thème", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Nombre d'enregistrements", "label.tracking-code": "Code de suivi", + "label.transactions": "Transactions", "label.transfer": "Transférer", "label.transfer-website": "Transférer le site", "label.true": "Vrai", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Visiteurs uniques", + "label.uniqueCustomers": "Clients uniques", "label.unknown": "Inconnu", "label.untitled": "Sans titre", "label.update": "Modifier", "label.url": "URL", "label.urls": "URLs", "label.user": "Utilisateur", + "label.user-property": "Propriétés d'utilisateurs", "label.username": "Nom d'utilisateur", "label.users": "Utilisateurs", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "Consultation", "label.views": "Vues", "label.views-per-visit": "Vues par visite", + "label.visit-duration": "Temps de visite moyen", "label.visitors": "Visiteurs", "label.visits": "Visites", "label.website": "Site", @@ -205,6 +237,7 @@ "label.yesterday": "Hier", "message.action-confirmation": "Taper {confirmation} ci-dessous pour confirmer.", "message.active-users": "{x} {x, plural, one {visiteur} other {visiteurs}} actuellement", + "message.collected-data": "Collected data", "message.confirm-delete": "Êtes-vous sûr de vouloir supprimer {target} ?", "message.confirm-leave": "Êtes-vous sûr de vouloir quitter {target} ?", "message.confirm-remove": "Êtes-vous sûr de vouloir retirer {target} ?", diff --git a/src/lang/ga-ES.json b/src/lang/ga-ES.json index fa9a1cc5..14b9a474 100644 --- a/src/lang/ga-ES.json +++ b/src/lang/ga-ES.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Accións", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Sempre", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Tempo medio de visita", "label.back": "Atrás", "label.before": "Before", "label.bounce-rate": "Proporción de rebote", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Confirmar contrasinal", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Países", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Contrasinal actual", "label.custom-range": "Rango personalizado", "label.dashboard": "Taboleiro", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Activar URL de compartición", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Eventos", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Combinado", "label.filter-raw": "Raw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Idioma", "label.languages": "Idiomas", "label.laptop": "Portátil", "label.last-days": "Últimos {x} días", "label.last-hours": "Últimas {x} horas", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Acceder", "label.logout": "Pechar sesión", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Páxinas", "label.password": "Contrasinal", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Funciona grazas a {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Perfil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Gardar", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Axustes", "label.share-url": "Compartir URL", "label.single-day": "Un só día", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tableta", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Código de seguimento", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Visitas únicas", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Descoñecido", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Identificador", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Visualizacións", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Tempo medio de visita", "label.visitors": "Visitantes", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} actual {x, plural, one {visitante} other {visitantes}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Tes a certeza de querer eliminar {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/he-IL.json b/src/lang/he-IL.json index 3c422a76..fd25cd14 100644 --- a/src/lang/he-IL.json +++ b/src/lang/he-IL.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "פעולות", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "זמן ביקור ממוצע", "label.back": "חזרה", "label.before": "Before", "label.bounce-rate": "Bounce rate", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "אישור סיסמה", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "מדינות", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "סיסמה נוכחית", "label.custom-range": "טווח מותאם", "label.dashboard": "דשבורד", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "הפעלת URL שיתוף", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "אירועים", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "משותף", "label.filter-raw": "גולמי", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "לפטופ", "label.last-days": "{x} ימים אחרונים", "label.last-hours": "{x} שעות אחרונות", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "התחברות", "label.logout": "התנתקות", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "דפים", "label.password": "סיסמה", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "פרופיל", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "שמירה", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "הגדרות", "label.share-url": "שיתוף URL", "label.single-day": "יום בודד", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "טאבלט", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "קוד מעקב", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "מבקרים ייחודיים", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "לא ידוע", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "שם משתמש", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "צפיות", "label.views-per-visit": "Views per visit", + "label.visit-duration": "זמן ביקור ממוצע", "label.visitors": "מבקרים", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} נוכחיים {x, plural, one {מבקר} other {מבקרים}}", + "message.collected-data": "Collected data", "message.confirm-delete": "האם באמת למחוק את {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/hi-IN.json b/src/lang/hi-IN.json index 791111c8..2fabe0c6 100644 --- a/src/lang/hi-IN.json +++ b/src/lang/hi-IN.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "कार्य", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "औसत दृश्य समय", "label.back": "पीछे", "label.before": "Before", "label.bounce-rate": "उछाल दर", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "पासवर्ड की पुष्टि कीजिये", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "देश", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "वर्तमान पासवर्ड", "label.custom-range": "कस्टम रेंज", "label.dashboard": "नियंत्रण-पट्ट", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "शेयर URL सक्षम करें", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "स्पर्धाएँ", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "संयुक्त", "label.filter-raw": "रॉ", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "लैपटॉप", "label.last-days": "पिछले {x} दिन", "label.last-hours": "पिछले {x} घंटे", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "लॉग इन", "label.logout": "लॉग आउट", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "पृष्ठों", "label.password": "पासवर्ड", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "{name} द्वारा संचालित", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "प्रोफ़ाइल", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "सहेजें", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "समायोजन", "label.share-url": "यूआरएल साझा करें", "label.single-day": "एक दिन", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "टैबलेट", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "ट्रैकिंग कोड", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "अद्वितीय आगंतुकों", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "अज्ञात", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "उपयोगकर्ता नाम", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "दृश्य", "label.views-per-visit": "Views per visit", + "label.visit-duration": "औसत दृश्य समय", "label.visitors": "आगंतुकों", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} मौजूद {x, plural, one {आगंतुक} other {आगंतुकों}}", + "message.collected-data": "Collected data", "message.confirm-delete": "क्या आप वाकई में {target} हटाना चाहते हैं?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index 7ba496c7..6bf12237 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Actions", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Svo vrijeme", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Average visit time", "label.back": "Natrag ", "label.before": "Before", "label.bounce-rate": "Bounce rate", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Potvrdi lozinku", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Countries", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Trenutna lozinka", "label.custom-range": "Prilagođeni raspon", "label.dashboard": "Nadzorna ploča", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Omogući dijeljenje poveznice", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Podaci događaja", "label.events": "Events", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Jezik", "label.languages": "Languages", "label.laptop": "Laptop", "label.last-days": "Zadnjih {x} dana", "label.last-hours": "Zadnjih {x} sati", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Prijava", "label.logout": "Odjava", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Pages", "label.password": "Lozinka", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Resetirati web stranicu", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Spremi", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Postavke", "label.share-url": "Podijeli poveznicu", "label.single-day": "Jedan dan", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Kod za praćenje", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unique visitors", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Nepoznato", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Korisničko ime", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Views", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Visit duration", "label.visitors": "Visitors", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Jučer", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} Trenutno {x, plural, one {posjetitelj} other {posjetitelja}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Jeste li sigurni da želite obrisati {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/hu-HU.json b/src/lang/hu-HU.json index b73b36a7..8593b37e 100644 --- a/src/lang/hu-HU.json +++ b/src/lang/hu-HU.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Műveletek", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Átlagos látogatási idő", "label.back": "Vissza", "label.before": "Before", "label.bounce-rate": "Visszafordulási arány", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Jelszó megerősítése", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Országok", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Jelenlegi jelszó", "label.custom-range": "Egyedi tartomány", "label.dashboard": "Áttekintés", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "URL-megosztás engedélyezése", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Események", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Összevont", "label.filter-raw": "Nyers", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Laptop", "label.last-days": "Legutóbbi {x} nap", "label.last-hours": "Legutóbbi {x} óra", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Bejelentkezés", "label.logout": "Kijelentkezés", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Oldalak", "label.password": "Jelszó", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Működteti az {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Mentés", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Beállítások", "label.share-url": "URL megosztása", "label.single-day": "Egy nap", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Táblagép", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Követési kód", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Egyedi látogatók", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Ismeretlen", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Felhasználónév", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Megtekintések", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Átlagos látogatási idő", "label.visitors": "Látogatók", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} {x, plural, one {látogató} other {latógató}} jelenleg", + "message.collected-data": "Collected data", "message.confirm-delete": "Biztos, hogy törölni szeretnéd {target} elemet?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index 64d17d9a..6cf7659c 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Aksi", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Semua waktu", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Waktu kunjungan rata-rata", "label.back": "Kembali", "label.before": "Before", "label.bounce-rate": "Rasio pentalan", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Konfirmasi kata sandi", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Negara", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Kata sandi sekarang", "label.custom-range": "Rentang khusus", "label.dashboard": "Dasbor", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Aktifkan URL berbagi", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Perihal", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Gabungan", "label.filter-raw": "Mentah", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Bahasa", "label.languages": "Bahasa", "label.laptop": "Laptop", "label.last-days": "{x} hari terakhir", "label.last-hours": "{x} jam terakhir", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Masuk", "label.logout": "Keluar", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Halaman", "label.password": "Kata sandi", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Didukung oleh {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Atur ulang statistik", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Simpan", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Pengaturan", "label.share-url": "Bagikan URL", "label.single-day": "Sehari", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Kode lacak", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Pengunjung unik", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Tidak diketahui", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Nama pengguna", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Tampilan", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Waktu kunjungan rata-rata", "label.visitors": "Pengunjung", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} pengunjung saat ini", + "message.collected-data": "Collected data", "message.confirm-delete": "Apakah kamu yakin ingin menghapus {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 9425d5e6..4df7599a 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Azioni", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Sempre", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Tempo medio di visita", "label.back": "Indietro", "label.before": "Before", "label.bounce-rate": "Frequenza di rimbalzo", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Conferma password", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Nazioni", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Password attuale", "label.custom-range": "Personalizzato", "label.dashboard": "Pannello di Controllo", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Abilita URL di condivisione", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Eventi", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Aggregati", "label.filter-raw": "Raw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Lingua", "label.languages": "Lingue", "label.laptop": "Portatile", "label.last-days": "Ultimi {x} giorni", "label.last-hours": "Ultime {x} ore", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Accedi", "label.logout": "Esci", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Pagine", "label.password": "Password", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profilo", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Resetta le statistiche", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Salva", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Impostazioni", "label.share-url": "Condividi link", "label.single-day": "Singolo giorno", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Codice di tracking", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Visitatori unici", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Sconosciuto", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Nome utente", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Visualizzazioni", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Tempo medio di visita", "label.visitors": "Visitatori", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Ieri", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} {x, plural, one {visitatore} other {visitatori}} online", + "message.collected-data": "Collected data", "message.confirm-delete": "Sei sicuro di voler eliminare {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/ja-JP.json b/src/lang/ja-JP.json index b646bd51..bc59f114 100644 --- a/src/lang/ja-JP.json +++ b/src/lang/ja-JP.json @@ -1,11 +1,11 @@ { "label.access-code": "アクセスコード", "label.actions": "アクション", - "label.activity-log": "アクティビティログ", + "label.activity": "アクティビティログ", "label.add": "追加", "label.add-description": "説明を追加", "label.add-member": "メンバーの追加", - "label.add-step": "Add step", + "label.add-step": "ステップを追加", "label.add-website": "Webサイトの追加", "label.admin": "管理者", "label.after": "直後", @@ -13,7 +13,6 @@ "label.all-time": "すべての時間帯", "label.analytics": "アナリティクス", "label.average": "平均", - "label.average-visit-time": "平均滞在時間", "label.back": "戻る", "label.before": "直前", "label.bounce-rate": "直帰率", @@ -25,10 +24,12 @@ "label.cities": "都市", "label.city": "都市", "label.clear-all": "すべてクリア", + "label.compare": "比較", "label.confirm": "確認", "label.confirm-password": "パスワード(確認)", "label.contains": "コンテンツ", "label.continue": "続ける", + "label.count": "回数", "label.countries": "国名", "label.country": "国", "label.create": "作成", @@ -36,7 +37,8 @@ "label.create-team": "チームの作成", "label.create-user": "ユーザーの作成", "label.created": "作成されました", - "label.created-by": "Created By", + "label.created-by": "作成者", + "label.current": "現在", "label.current-password": "現在のパスワード", "label.custom-range": "範囲指定", "label.dashboard": "ダッシュボード", @@ -63,9 +65,12 @@ "label.edit-dashboard": "ダッシュボードの編集", "label.edit-member": "メンバーの編集", "label.enable-share-url": "共有URLを有効にする", + "label.end-step": "最終ステップ", + "label.entry": "訪問時のURL", "label.event": "イベント", "label.event-data": "イベントデータ", "label.events": "イベント", + "label.exit": "退出時のURL", "label.false": "偽", "label.field": "フィールド", "label.fields": "フィールド", @@ -73,10 +78,16 @@ "label.filter-combined": "結合", "label.filter-raw": "RAW", "label.filters": "フィルター", + "label.first-seen": "初回ログイン", "label.funnel": "ファネル", "label.funnel-description": "ユーザーのコンバージョン率と離脱率を分析します。", + "label.goal": "目標", + "label.goals": "目標", + "label.goals-description": "ページビューとイベントの目標を追跡します。", "label.greater-than": "超過", "label.greater-than-equals": "以上", + "label.host": "ホスト", + "label.hosts": "ホスト", "label.insights": "インサイト", "label.insights-description": "セグメントとフィルタを使用して、データをさらに詳しく分析します。", "label.is": "に等しい", @@ -85,12 +96,15 @@ "label.is-set": "設定済み", "label.join": "参加", "label.join-team": "チームに参加", + "label.journey": "ジャーニー", + "label.journey-description": "ユーザーがWebサイト内をどのように移動するかを把握します。", "label.language": "言語", "label.languages": "言語", "label.laptop": "ノートPC", "label.last-days": "過去{x}日間", "label.last-hours": "過去{x}時間", - "label.last-months": "Last {x} months", + "label.last-months": "過去{x}月間", + "label.last-seen": "最終ログイン", "label.leave": "離脱", "label.leave-team": "チームを離脱", "label.less-than": "未満", @@ -98,6 +112,7 @@ "label.login": "ログイン", "label.logout": "ログアウト", "label.manage": "管理", + "label.manager": "管理者", "label.max": "最大", "label.member": "メンバー", "label.members": "メンバー", @@ -119,8 +134,15 @@ "label.pageTitle": "ページタイトル", "label.pages": "ページ", "label.password": "パスワード", + "label.path": "パス", + "label.paths": "パス", "label.powered-by": "Powered by {name}", + "label.previous": "以前", + "label.previous-period": "前期", + "label.previous-year": "前年", "label.profile": "プロフィール", + "label.properties": "プロパティ", + "label.property": "プロパティ", "label.queries": "クエリ", "label.query": "クエリ", "label.query-parameters": "クエリパラメーター", @@ -139,6 +161,9 @@ "label.reset-website": "Webサイトをリセットする", "label.retention": "リテンション", "label.retention-description": "ユーザーの再訪問回数を記録して、Webサイトのリテンション率を計測します。", + "label.revenue": "レベニュー", + "label.revenue-description": "時間あたりの売上高を確認します。", + "label.revenue-property": "レベニュープロパティ", "label.role": "ロール", "label.run-query": "クエリ実行", "label.save": "保存", @@ -148,18 +173,21 @@ "label.select-date": "日付を選択", "label.select-role": "ロールを選択", "label.select-website": "Webサイトを選択", + "label.session": "セッション", "label.sessions": "セッション", "label.settings": "設定", "label.share-url": "共有URL", "label.single-day": "一日", - "label.steps": "Steps", + "label.start-step": "最初のステップ", + "label.steps": "ステップ", "label.sum": "合計", "label.tablet": "タブレット", "label.team": "チーム", "label.team-id": "チームID", + "label.team-manager": "チーム管理者", "label.team-member": "チームメンバー", "label.team-name": "チーム名", - "label.team-owner": "チーム所有者", + "label.team-owner": "チームオーナー", "label.team-view-only": "チーム表示のみ", "label.team-websites": "チームのWebサイト", "label.teams": "チーム", @@ -174,30 +202,34 @@ "label.total": "累計", "label.total-records": "総記録数", "label.tracking-code": "トラッキングコード", + "label.transactions": "トランザクション", "label.transfer": "移管", "label.transfer-website": "Webサイトの移管", "label.true": "真", "label.type": "種別", "label.unique": "ユニーク", "label.unique-visitors": "ユニーク訪問者数", + "label.uniqueCustomers": "ユニーク顧客数", "label.unknown": "不明", "label.untitled": "無題", - "label.update": "Update", + "label.update": "更新", "label.url": "URL", "label.urls": "URL", "label.user": "ユーザー", + "label.user-property": "ユーザープロパティ", "label.username": "ユーザー名", "label.users": "ユーザー", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "UTMパラメーターを使用してキャンペーンを追跡します。", "label.value": "値", "label.view": "表示", "label.view-details": "詳細を表示", "label.view-only": "表示のみ", "label.views": "表示", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "訪問あたりの閲覧数", + "label.visit-duration": "平均滞在時間", "label.visitors": "訪問者", - "label.visits": "Visits", + "label.visits": "訪問者数", "label.website": "Webサイト", "label.website-id": "WebサイトID", "label.websites": "Webサイト", @@ -205,6 +237,7 @@ "label.yesterday": "昨日", "message.action-confirmation": "承認する場合は、下のフォームに「{confirmation}」と入力してください。", "message.active-users": "{x} {x, plural, one {アクティブな訪問者} other {アクティブな訪問者}}", + "message.collected-data": "収集されたデータ", "message.confirm-delete": "{target}を削除してもよろしいですか?", "message.confirm-leave": "{target}から離脱してもよろしいですか?", "message.confirm-remove": "{target}を削除してもよろしいですか?", diff --git a/src/lang/km-KH.json b/src/lang/km-KH.json index 17ddd914..8a87834a 100644 --- a/src/lang/km-KH.json +++ b/src/lang/km-KH.json @@ -1,246 +1,279 @@ { "label.access-code": "Access code", "label.actions": "សកម្មភាព", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "កំណត់ហេតុ​សកម្មភាព", + "label.add": "បង្កើតបន្ថែម", + "label.add-description": "បន្ថែមពិពណ៌នា", + "label.add-member": "បន្ថែមសមាជិក", + "label.add-step": "បន្ថែមជំហាន", "label.add-website": "បន្ថែមគេហទំព័រ", "label.admin": "អ្នកគ្រប់គ្រង", - "label.after": "After", + "label.after": "បន្ទាប់", "label.all": "ទាំងអស់", "label.all-time": "គ្រប់ពេល", "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "មើលជាមធ្យម", + "label.average": "ជាមធ្យម", "label.back": "ថយក្រោយ", - "label.before": "Before", + "label.before": "មុន", "label.bounce-rate": "ចំនួនវិលត្រឡប់", "label.breakdown": "Breakdown", "label.browser": "Browser", "label.browsers": "កម្មវិធី", "label.cancel": "បោះបង់", "label.change-password": "ផ្លាស់ប្តូរពាក្យសម្ងាត់", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "ទីក្រុង", + "label.city": "ទីក្រុង", + "label.clear-all": "លុបទាំងអស់", + "label.compare": "ប្រៀបធៀប", + "label.confirm": "បញ្ជាក់", "label.confirm-password": "បញ្ជាក់ពាក្យសម្ងាត់", - "label.contains": "Contains", - "label.continue": "Continue", + "label.contains": "មាន", + "label.continue": "បន្ត", + "label.count": "ចំនួន", "label.countries": "ប្រទេស", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", - "label.created-by": "Created By", + "label.country": "ប្រទេស", + "label.create": "បង្កើត", + "label.create-report": "បង្កើតរបាយការណ៍", + "label.create-team": "បង្កើតក្រុម", + "label.create-user": "បង្កើតអ្នកប្រើប្រាស់", + "label.created": "បង្កើតនៅ", + "label.created-by": "បង្កើតដោយ", + "label.current": "បច្ចុប្បន្ន", "label.current-password": "ពាក្យសម្ងាត់បច្ចុប្បន្ន", "label.custom-range": "កំណត់ដោយខ្លួនឯង", "label.dashboard": "ផ្ទាំងគ្រប់គ្រង", - "label.data": "Data", - "label.date": "Date", + "label.data": "ទិន្នន័យ", + "label.date": "កាលបរិច្ឆេទ", "label.date-range": "ចន្លោះកាលបរិច្ឆេទ", - "label.day": "Day", - "label.default-date-range": "ចន្លោះកាលបរិច្ឆេទស្រាប់", + "label.day": "ថ្ងៃ", + "label.default-date-range": "ចន្លោះកាលបរិច្ឆេទដើម", "label.delete": "លុប", - "label.delete-report": "Delete report", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-report": "លុបរបាយការណ៍", + "label.delete-team": "លុបក្រុម", + "label.delete-user": "លុបអ្នកប្រើប្រាស់", "label.delete-website": "លុបគេហទំព័រ", - "label.description": "Description", + "label.description": "ការពិពណ៌នា", "label.desktop": "កុំព្យូទ័រលើតុ", - "label.details": "Details", - "label.device": "Device", + "label.details": "ព័ត៌មានលម្អិត", + "label.device": "ឧបករណ៍", "label.devices": "ឧបករណ៍", - "label.dismiss": "បដិសេធ", - "label.does-not-contain": "Does not contain", - "label.domain": "ឈ្មោះគេហទំព័រ", + "label.dismiss": "រំសាយ", + "label.does-not-contain": "មិនមាន", + "label.domain": "Domain", "label.dropoff": "Dropoff", "label.edit": "កែប្រែ", "label.edit-dashboard": "កែផ្ទាំងគ្រប់គ្រង", - "label.edit-member": "Edit member", + "label.edit-member": "កែព័ត៌មានសមាជិក", "label.enable-share-url": "បើកការចែករំលែក URL", - "label.event": "Event", - "label.event-data": "Event data", + "label.end-step": "បញ្ចប់ជំហាន", + "label.entry": "URL ចូល", + "label.event": "ព្រឹត្តិការណ៍", + "label.event-data": "ទិន្នន័យព្រឹត្តិការណ៍", "label.events": "ព្រឹត្តិការណ៍", - "label.false": "False", + "label.exit": "URL ចេញ", + "label.false": "មិនពិត", "label.field": "Field", "label.fields": "Fields", - "label.filter": "Filter", + "label.filter": "ចម្រោះ", "label.filter-combined": "រួមបញ្ចូលគ្នា", "label.filter-raw": "ដើម", - "label.filters": "Filters", + "label.filters": "ចម្រោះ", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", + "label.goal": "គោលដៅ", + "label.goals": "គោលដៅ", + "label.goals-description": "តាមដានគោលដៅរបស់អ្នកសម្រាប់ pageviews និង events។", + "label.greater-than": "ធំជាង", + "label.greater-than-equals": "ធំជាងឬស្មើ", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", + "label.is": "គឺ", + "label.is-not": "មិនមែន", + "label.is-not-set": "មិនបានកំណត់", + "label.is-set": "បានកំណត់", + "label.join": "ចូលរួម", + "label.join-team": "ចូលក្រុម", + "label.journey": "​ដំណើរ", + "label.journey-description": "ស្វែងយល់ពីការប្រើប្រាស់គេហទំព័ររបស់អតិថិជនអ្នក។", "label.language": "ភាសា", "label.languages": "ភាសា", "label.laptop": "កុំព្យូទ័រយួរដៃ", - "label.last-days": "{x} ថ្ងៃមុន", - "label.last-hours": "{x} ម៉ោងមុន", - "label.last-months": "Last {x} months", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.last-days": "{x} ថ្ងៃចុងក្រោយ", + "label.last-hours": "{x} ម៉ោងចុងក្រោយ", + "label.last-months": "{x} ខែចុងក្រោយ", + "label.last-seen": "Last seen", + "label.leave": "ចាកចេញ", + "label.leave-team": "ចេញពីក្រុម", + "label.less-than": "តិច​ជាង", + "label.less-than-equals": "តិចជាង ឬស្មើ", "label.login": "Login", - "label.logout": "ចេញ", - "label.manage": "Manage", + "label.logout": "Logout", + "label.manage": "គ្រប់គ្រង", + "label.manager": "អ្នកគ្រប់គ្រង", "label.max": "Max", - "label.member": "Member", - "label.members": "Members", + "label.member": "សមាជិក", + "label.members": "សមាជិក", "label.min": "Min", "label.mobile": "ទូរស័ព្ទចល័ត", "label.more": "បន្ថែម", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "គណនី​របស់ខ្ញុំ", + "label.my-websites": "គេហទំព័ររបស់ខ្ញុំ", "label.name": "ឈ្មោះ", "label.new-password": "ពាក្យសម្ងាត់​ថ្មី", "label.none": "មិនមាន", "label.number-of-records": "{x} {x, plural, one {record} other {records}}", "label.ok": "OK", "label.os": "OS", - "label.overview": "Overview", + "label.overview": "ទិដ្ឋភាពរួម", "label.owner": "ម្ចាស់", - "label.page-of": "Page {current} of {total}", + "label.page-of": "ទំព័រទី {current} នៃ {total}", "label.page-views": "អ្នកមើលទំព័រ", - "label.pageTitle": "Page title", + "label.pageTitle": "ចំណងជើងទំព័រ", "label.pages": "ទំព័រ", "label.password": "ពាក្យសម្ងាត់​", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "ដំណើរការដោយ {name}", - "label.profile": "ប្រវត្តិរូប", + "label.previous": "មុន", + "label.previous-period": "មួយរយៈពេលមុន", + "label.previous-year": "ឆ្នាំ​មុន", + "label.profile": "គណនី", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "ប៉ារ៉ាម៉ែត្រ Query", "label.realtime": "ឥលូវនេះ", - "label.referrer": "Referrer", + "label.referrer": "អ្នកណែនាំ", "label.referrers": "អ្នកណែនាំ", "label.refresh": "ផ្ទុកឡើងវិញ", "label.regenerate": "Regenerate", - "label.region": "Region", - "label.regions": "Regions", - "label.remove": "Remove", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.region": "តំបន់", + "label.regions": "តំបន់", + "label.remove": "លុប", + "label.remove-member": "លុបសមាជិកក្រុម", + "label.reports": "របាយការណ៍", "label.required": "ទាមទារ", - "label.reset": "កំណត់ឡើងវិញ", + "label.reset": "កែសម្រួល", "label.reset-website": "កំណត់ស្ថិតិឡើងវិញ", - "label.retention": "Retention", + "label.retention": "ការរក្សាទុក", "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Role", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "មុខងារ", "label.run-query": "Run query", "label.save": "រក្សាទុក", "label.screens": "ប្រភេទឧបករណ៍", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", - "label.select-website": "Select website", + "label.search": "ស្វែងរក", + "label.select": "ជ្រើសរើស", + "label.select-date": "ជ្រើសរើសកាលបរិច្ឆេទ", + "label.select-role": "ជ្រើសរើសមុខងារ", + "label.select-website": "ជ្រើសរើសគេហទំព័រ", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "ការកំណត់", "label.share-url": "ចែករំលែក URL", "label.single-day": "ថ្ងៃតែមួយ", - "label.steps": "Steps", + "label.start-step": "ជំហានចាប់ផ្តើម", + "label.steps": "ជំហាន", "label.sum": "Sum", "label.tablet": "ថេប្លេត", - "label.team": "Team", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", + "label.team": "ក្រុម", + "label.team-id": "ID ក្រុម", + "label.team-manager": "អ្នកគ្រប់គ្រងក្រុម", + "label.team-member": "សមាជិកក្រុម", + "label.team-name": "ឈ្មោះក្រុម", + "label.team-owner": "ម្ចាស់ក្រុម", "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", - "label.teams": "Teams", + "label.team-websites": "គេហទំព័ររបស់ក្រុម", + "label.teams": "ក្រុម", "label.theme": "រូបរាង", "label.this-month": "ខែនេះ", "label.this-week": "ស​ប្តា​ហ៍​នេះ", "label.this-year": "ឆ្នាំ​នេះ", "label.timezone": "តំបន់ម៉ោង", - "label.title": "Title", + "label.title": "ចំណងជើង", "label.today": "ថ្ងៃនេះ", "label.toggle-charts": "បិទ/បើកតារាង", - "label.total": "Total", - "label.total-records": "Total records", + "label.total": "សរុប", + "label.total-records": "កំណត់ត្រាសរុប", "label.tracking-code": "លេខកូដតាមដាន", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", + "label.transactions": "Transactions", + "label.transfer": "ការផ្ទេរ", + "label.transfer-website": "ការផ្ទេរគេហទំព័រ", + "label.true": "ពិត", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "អ្នកចូលមើលម្នាក់ៗ", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "មិនស្គាល់", - "label.untitled": "Untitled", + "label.untitled": "គ្មានចំណងជើង", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", - "label.user": "User", + "label.user": "អ្នកប្រើប្រាស់", + "label.user-property": "User Property", "label.username": "ឈ្មោះ​អ្នកប្រើប្រាស់", - "label.users": "Users", + "label.users": "អ្នកប្រើប្រាស់", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "តាមដានយុទ្ធនាការរបស់អ្នកតាមរយៈប៉ារ៉ាម៉ែត្រ UTM។", "label.value": "Value", "label.view": "View", "label.view-details": "មើលព័ត៌មានលម្អិត", - "label.view-only": "View only", + "label.view-only": "បានតែមើលប៉ុណ្ណោះ", "label.views": "អ្នកចូលមើល", "label.views-per-visit": "Views per visit", + "label.visit-duration": "រយៈពេលទស្សនា", "label.visitors": "អ្នកទស្សនា", - "label.visits": "Visits", - "label.website": "Website", - "label.website-id": "Website ID", + "label.visits": "ទស្សនា", + "label.website": "គេហទំព័រ", + "label.website-id": "ID គេហទំព័រ", "label.websites": "គេហទំព័រ", "label.window": "Window", "label.yesterday": "ម្សិលមិញ", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "message.action-confirmation": "សសេរ {confirmation} នៅក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។", "message.active-users": "មានអ្នកមើល {x} នាក់ ឥលូវនេះ", + "message.collected-data": "ទិន្នន័យដែលបានប្រមូលទុក", "message.confirm-delete": "តើអ្នកប្រាកដថាចង់លុប {target} ទេ?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", + "message.confirm-leave": "តើអ្នកប្រាកដថាចង់ចាកចេញ {target} ទេ?", + "message.confirm-remove": "តើអ្នកប្រាកដថាចង់លុប {target} ទេ?", "message.confirm-reset": "តើអ្នកប្រាកដថាចង់កំណត់ស្ថិតិរបស់ {target} ឡើងវិញទេ?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", - "message.delete-website-warning": "ទិន្នន័យដែលពាក់ព័ន្ធទាំងអស់នឹងត្រូវបានលុបផងដែរ។", + "message.delete-team-warning": "ពេលលុបក្រុម គេហទំព័ររបស់ក្រុមក៏នឹងត្រូវលប់ចោលទាំងអស់ផងដែរ។", + "message.delete-website-warning": "ទិន្នន័យរបស់គេហទំព័រទាំងអស់នឹងត្រូវលុបចោល។", "message.error": "មាន​អ្វីមួយ​មិន​ប្រក្រតី។", "message.event-log": "{event} on {url}", "message.go-to-settings": "ការកំណត់", - "message.incorrect-username-password": "ឈ្មោះអ្នកប្រើ/ពាក្យសម្ងាត់មិនត្រឹមត្រូវ។", - "message.invalid-domain": "ឈ្មោះគេហទំព័រមិន​ត្រឹមត្រូវ", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", - "message.no-data-available": "មិនមានទិន្នន័យទេ។", - "message.no-event-data": "No event data is available.", - "message.no-match-password": "ពាក្យសម្ងាត់មិនត្រូវគ្នាទេ", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", + "message.incorrect-username-password": "ឈ្មោះអ្នកប្រើឬពាក្យសម្ងាត់មិនត្រឹមត្រូវ។", + "message.invalid-domain": "Domain មិន​ត្រឹមត្រូវ", + "message.min-password-length": "តិចបំផុតដែលមានអក្សរ {n} តួអក្សរ", + "message.new-version-available": "Version ថ្មីនៃ Umami {version} អាចប្រើប្រាស់បានហើយ!", + "message.no-data-available": "មិនមានទិន្នន័យ។", + "message.no-event-data": "មិនមានទិន្នន័យព្រឹត្តិការណ៍ទេ។", + "message.no-match-password": "ពាក្យសម្ងាត់មិនត្រូវគ្នាទេ។", + "message.no-results-found": "មិនមានលទ្ធផល។", + "message.no-team-websites": "ក្រុមនេះមិនមានគេហទំព័រទេ។", + "message.no-teams": "អ្នកមិនទាន់បានបង្កើតក្រុមណាមួយទេ។", + "message.no-users": "មិនមានអ្នកប្រើប្រាស់ទេ។", "message.no-websites-configured": "អ្នកមិនទាន់បានដាក់គេហទំព័រណាមួយចូលទេ។", "message.page-not-found": "រកមិនឃើញទំព័រ។", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "message.reset-website": "ដើម្បីកែគេហទំព័រនេះឡើងវិញ សូមសរសេរ {confirmation} នៅក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។", "message.reset-website-warning": "ស្ថិតិទាំងអស់សម្រាប់គេហទំព័រនេះនឹងត្រូវបានលុប ប៉ុន្តែកូដតាមដានរបស់អ្នកនឹងនៅដដែល។", "message.saved": "រក្សាទុកដោយជោគជ័យ។", - "message.share-url": "នេះគឺជា URL ដែលបានចែករំលែកជាសាធារណៈសម្រាប់ {target}។", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", - "message.tracking-code": "លេខកូដតាមដាន", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", + "message.share-url": "នេះគឺជា URL ដែលអាចចែករំលែកជាសាធារណៈបានសម្រាប់ {target}។", + "message.team-already-member": "អ្នកគឺជាសមាជិកនៃក្រុមរួចហើយ។", + "message.team-not-found": "រកក្រុមមិនឃើញទេ។", + "message.team-websites-info": "គេហទំព័រនេះអាចមើលបានតែសមាជិកក្រុមតែប៉ុណ្ណោះ", + "message.tracking-code": "ដើម្បីតាមដានស្ថិតិសម្រាប់គេហទំព័រអ្នក សូមដាក់កូដខាងក្រោមទៅក្នុងផ្នែក ... នៃ HTML របស់អ្នក។", + "message.transfer-team-website-to-user": "ផ្ទេរគេហទំព័រនេះទៅគណនីរបស់អ្នក។?", + "message.transfer-user-website-to-team": "ជ្រើសក្រុមដែរត្រូវផ្ទេរគេហទំព័រនេះទៅ។", + "message.transfer-website": "ផ្ទេរកម្មសិទ្ធិគេហទំព័រទៅគណនីរបស់អ្នក ឬក្រុមផ្សេងទៀត។", "message.triggered-event": "Triggered event", - "message.user-deleted": "User deleted.", - "message.viewed-page": "Viewed page", + "message.user-deleted": "អ្នកប្រើប្រាស់ត្រូវបានលុបចោល។", + "message.viewed-page": "ទំព័រដែលបានមើល", "message.visitor-log": "អ្នកមើលពីប្រទេស {country} ប្រើប្រាស់កម្មវិធី {browser} លើឧបករណ៍ {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "ចំនួនអ្នកទស្សនាធ្លាក់ចុះ" } diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index f64f03aa..933e2883 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -1,246 +1,279 @@ { - "label.access-code": "Access code", - "label.actions": "액션", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.access-code": "액세스 코드", + "label.actions": "동작", + "label.activity": "활동", + "label.add": "추가", + "label.add-description": "설명 추가", + "label.add-member": "멤버 추가", + "label.add-step": "단계 추가", "label.add-website": "웹사이트 추가", "label.admin": "관리자", - "label.after": "After", + "label.after": "이후", "label.all": "전체", - "label.all-time": "All time", - "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "평균 방문 시간", + "label.all-time": "전체 시간", + "label.analytics": "분석", + "label.average": "평균", "label.back": "뒤로", - "label.before": "Before", + "label.before": "이전", "label.bounce-rate": "이탈률", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.breakdown": "세부 사항", + "label.browser": "브라우저", "label.browsers": "브라우저", "label.cancel": "취소", "label.change-password": "비밀번호 변경", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "도시", + "label.city": "도시", + "label.clear-all": "모두 지우기", + "label.compare": "비교", + "label.confirm": "확인", "label.confirm-password": "비밀번호 확인", - "label.contains": "Contains", - "label.continue": "Continue", + "label.contains": "포함", + "label.continue": "계속", + "label.count": "수", "label.countries": "국가", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", - "label.created-by": "Created By", + "label.country": "국가", + "label.create": "만들기", + "label.create-report": "보고서 만들기", + "label.create-team": "팀 만들기", + "label.create-user": "사용자 만들기", + "label.created": "생성됨", + "label.created-by": "작성자", + "label.current": "현재", "label.current-password": "현재 비밀번호", "label.custom-range": "범위 지정", "label.dashboard": "대시보드", - "label.data": "Data", - "label.date": "Date", + "label.data": "데이터", + "label.date": "날짜", "label.date-range": "날짜 범위", - "label.day": "Day", + "label.day": "일", "label.default-date-range": "기본 날짜 범위", "label.delete": "삭제", - "label.delete-report": "Delete report", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-report": "보고서 삭제", + "label.delete-team": "팀 삭제", + "label.delete-user": "사용자 삭제", "label.delete-website": "웹사이트 삭제", - "label.description": "Description", - "label.desktop": "데스크탑", - "label.details": "Details", - "label.device": "Device", + "label.description": "설명", + "label.desktop": "데스크톱", + "label.details": "세부 정보", + "label.device": "기기", "label.devices": "기기", "label.dismiss": "무시하기", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "포함하지 않음", "label.domain": "도메인", - "label.dropoff": "Dropoff", + "label.dropoff": "이탈", "label.edit": "편집", - "label.edit-dashboard": "Edit dashboard", - "label.edit-member": "Edit member", + "label.edit-dashboard": "대시보드 편집", + "label.edit-member": "멤버 편집", "label.enable-share-url": "URL 공유 활성화", - "label.event": "Event", - "label.event-data": "Event data", + "label.end-step": "마지막 단계", + "label.entry": "입장 URL", + "label.event": "이벤트", + "label.event-data": "이벤트 데이터", "label.events": "이벤트", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter": "Filter", - "label.filter-combined": "합쳐서 보기", + "label.exit": "퇴장 URL", + "label.false": "거짓", + "label.field": "필드", + "label.fields": "필드", + "label.filter": "필터", + "label.filter-combined": "합쳐 보기", "label.filter-raw": "전체 보기", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", - "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", - "label.language": "Language", - "label.languages": "Languages", + "label.filters": "필터", + "label.first-seen": "첫 접속", + "label.funnel": "퍼널", + "label.funnel-description": "사용자 전환율 및 이탈률을 살펴보세요.", + "label.goal": "목표", + "label.goals": "목표", + "label.goals-description": "페이지 조회 및 이벤트 목표를 추적합니다.", + "label.greater-than": "이상", + "label.greater-than-equals": "이상", + "label.host": "호스트", + "label.hosts": "호스트", + "label.insights": "인사이트", + "label.insights-description": "세그먼트 및 필터를 사용하여 데이터를 더 자세히 살펴보세요.", + "label.is": "해당", + "label.is-not": "해당하지 않음", + "label.is-not-set": "설정되지 않음", + "label.is-set": "설정됨", + "label.join": "가입하기", + "label.join-team": "팀 가입하기", + "label.journey": "여정", + "label.journey-description": "사용자가 웹사이트를 탐색하는 경로를 살펴보세요.", + "label.language": "언어", + "label.languages": "언어", "label.laptop": "노트북", - "label.last-days": "최근 {x} 일간", - "label.last-hours": "최근 {x} 시간", - "label.last-months": "Last {x} months", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.last-days": "지난 {x}일", + "label.last-hours": "지난 {x}시간", + "label.last-months": "지난 {x}개월", + "label.last-seen": "마지막 접속", + "label.leave": "떠나기", + "label.leave-team": "팀 떠나기", + "label.less-than": "미만", + "label.less-than-equals": "이하", "label.login": "로그인", "label.logout": "로그아웃", - "label.manage": "Manage", - "label.max": "Max", - "label.member": "Member", - "label.members": "Members", - "label.min": "Min", + "label.manage": "관리", + "label.manager": "관리자", + "label.max": "최대", + "label.member": "멤버", + "label.members": "멤버", + "label.min": "최소", "label.mobile": "모바일", "label.more": "더 보기", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "내 계정", + "label.my-websites": "내 웹사이트", "label.name": "이름", "label.new-password": "새 비밀번호", - "label.none": "None", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", - "label.ok": "OK", - "label.os": "OS", - "label.overview": "Overview", - "label.owner": "Owner", - "label.page-of": "Page {current} of {total}", - "label.page-views": "페이지 뷰(PV)", - "label.pageTitle": "Page title", + "label.none": "없음", + "label.number-of-records": "{x}개 레코드", + "label.ok": "확인", + "label.os": "운영 체제", + "label.overview": "개요", + "label.owner": "소유자", + "label.page-of": "페이지 {current}/{total}", + "label.page-views": "페이지 조회", + "label.pageTitle": "페이지 제목", "label.pages": "페이지", "label.password": "비밀번호", - "label.powered-by": "이 시스템은 {name}에서 구동되고 있습니다.", + "label.path": "패스", + "label.paths": "패스", + "label.powered-by": "Powered by {name}", + "label.previous": "이전", + "label.previous-period": "이전 기간", + "label.previous-year": "이전 연도", "label.profile": "프로필", - "label.queries": "Queries", - "label.query": "Query", - "label.query-parameters": "Query parameters", + "label.properties": "속성", + "label.property": "속성", + "label.queries": "쿼리", + "label.query": "쿼리", + "label.query-parameters": "쿼리 매개 변수", "label.realtime": "실시간", - "label.referrer": "Referrer", + "label.referrer": "리퍼러", "label.referrers": "리퍼러", - "label.refresh": "새로고침", - "label.regenerate": "Regenerate", - "label.region": "Region", - "label.regions": "Regions", - "label.remove": "Remove", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.refresh": "새로 고침", + "label.regenerate": "다시 생성", + "label.region": "지역", + "label.regions": "지역", + "label.remove": "제거", + "label.remove-member": "멤버 제거", + "label.reports": "보고서", "label.required": "필수", - "label.reset": "리셋", - "label.reset-website": "Reset statistics", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Role", - "label.run-query": "Run query", + "label.reset": "초기화", + "label.reset-website": "웹사이트 초기화", + "label.retention": "리텐션", + "label.retention-description": "사용자가 얼마나 자주 돌아오는지를 추적하여 웹사이트의 리텐션을 측정하세요.", + "label.revenue": "수익", + "label.revenue-description": "시간대별 수익을 살펴보세요.", + "label.revenue-property": "수익 속성", + "label.role": "역할", + "label.run-query": "쿼리 실행", "label.save": "저장", - "label.screens": "Screens", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", - "label.select-website": "Select website", - "label.sessions": "Sessions", + "label.screens": "화면", + "label.search": "검색", + "label.select": "선택", + "label.select-date": "날짜 선택", + "label.select-role": "역할 선택", + "label.select-website": "웹사이트 선택", + "label.session": "세션", + "label.sessions": "세션", "label.settings": "설정", "label.share-url": "공유 URL", "label.single-day": "하루", - "label.steps": "Steps", - "label.sum": "Sum", + "label.start-step": "시작 단계", + "label.steps": "단계", + "label.sum": "합계", "label.tablet": "태블릿", - "label.team": "Team", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", - "label.teams": "Teams", - "label.theme": "Theme", + "label.team": "팀", + "label.team-id": "팀 ID", + "label.team-manager": "팀 관리자", + "label.team-member": "팀 멤버", + "label.team-name": "팀 이름", + "label.team-owner": "팀 소유자", + "label.team-view-only": "팀 보기 전용", + "label.team-websites": "팀 웹사이트", + "label.teams": "팀", + "label.theme": "테마", "label.this-month": "이번 달", "label.this-week": "이번 주", "label.this-year": "올해", "label.timezone": "표준 시간대", - "label.title": "Title", + "label.title": "제목", "label.today": "오늘", - "label.toggle-charts": "Toggle charts", - "label.total": "Total", - "label.total-records": "Total records", + "label.toggle-charts": "차트 전환", + "label.total": "합계", + "label.total-records": "전체 레코드", "label.tracking-code": "추적 코드", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", - "label.unique-visitors": "순방문자(UV)", + "label.transactions": "거래", + "label.transfer": "전송", + "label.transfer-website": "웹사이트 전송", + "label.true": "참", + "label.type": "유형", + "label.unique": "고유", + "label.unique-visitors": "고유 방문자", + "label.uniqueCustomers": "고유 고객", "label.unknown": "알 수 없음", - "label.untitled": "Untitled", - "label.update": "Update", + "label.untitled": "제목 없음", + "label.update": "업데이트", "label.url": "URL", - "label.urls": "URLs", - "label.user": "User", - "label.username": "사용자명", - "label.users": "Users", + "label.urls": "URL", + "label.user": "사용자", + "label.user-property": "사용자 속성", + "label.username": "사용자 이름", + "label.users": "사용자", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", - "label.value": "Value", - "label.view": "View", - "label.view-details": "상세보기", - "label.view-only": "View only", - "label.views": "조회수", - "label.views-per-visit": "Views per visit", - "label.visitors": "방문객", - "label.visits": "Visits", - "label.website": "Website", - "label.website-id": "Website ID", + "label.utm-description": "UTM 매개변수를 통해 캠페인을 추적하세요.", + "label.value": "값", + "label.view": "보기", + "label.view-details": "자세히 보기", + "label.view-only": "보기 전용", + "label.views": "조회", + "label.views-per-visit": "방문당 조회", + "label.visit-duration": "방문 시간", + "label.visitors": "방문자", + "label.visits": "방문", + "label.website": "웹사이트", + "label.website-id": "웹사이트 ID", "label.websites": "웹사이트", - "label.window": "Window", - "label.yesterday": "Yesterday", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", - "message.active-users": "{x}명의 사용자가 보는 중입니다.", + "label.window": "창", + "label.yesterday": "어제", + "message.action-confirmation": "확인을 위해 아래 상자에 {confirmation}을(를) 입력하세요.", + "message.active-users": "현재 방문자 {x}명", + "message.collected-data": "수집된 데이터", "message.confirm-delete": "{target}을(를) 삭제하시겠습니까?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", - "message.confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", - "message.delete-website-warning": "관련된 모든 데이터도 삭제됩니다.", - "message.error": "오류가 발생하였습니다.", - "message.event-log": "{event} on {url}", + "message.confirm-leave": "{target}을(를) 떠나시겠습니까?", + "message.confirm-remove": "{target}을(를) 제거하시겠습니까?", + "message.confirm-reset": "{target}을(를) 초기화하시겠습니까?", + "message.delete-team-warning": "팀을 삭제하면 팀에 등록된 모든 웹사이트도 삭제됩니다.", + "message.delete-website-warning": "관련된 모든 데이터가 삭제됩니다.", + "message.error": "문제가 발생했습니다.", + "message.event-log": "{event} - {url}", "message.go-to-settings": "설정으로 이동", - "message.incorrect-username-password": "사용자 이름/비밀번호가 잘못되었습니다..", - "message.invalid-domain": "잘못된 도메인", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", - "message.no-data-available": "사용 가능한 데이터가 없습니다.", - "message.no-event-data": "No event data is available.", - "message.no-match-password": "비밀번호가 일치하지 않음", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", - "message.no-websites-configured": "구성된 웹 사이트가 없습니다.", - "message.page-not-found": "페이지를 찾을 수 없습니다.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "message.reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", - "message.saved": "성공적으로 저장되었습니다.", - "message.share-url": "이것은 {target}의 공개적으로 공유된 URL입니다.", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", - "message.tracking-code": "추적 코드", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", - "message.user-deleted": "User deleted.", - "message.viewed-page": "Viewed page", + "message.incorrect-username-password": "사용자 이름 또는 비밀번호를 잘못 입력했습니다.", + "message.invalid-domain": "잘못된 도메인입니다. http/https를 포함하지 마세요.", + "message.min-password-length": "최소 {n}자여야 합니다", + "message.new-version-available": "Umami의 새 버전 {version}을(를) 사용할 수 있습니다!", + "message.no-data-available": "사용할 수 있는 데이터가 없습니다.", + "message.no-event-data": "사용할 수 있는 이벤트 데이터가 없습니다.", + "message.no-match-password": "비밀번호가 일치하지 않습니다.", + "message.no-results-found": "결과를 찾을 수 없습니다.", + "message.no-team-websites": "팀에 웹사이트가 없습니다.", + "message.no-teams": "만든 팀이 없습니다.", + "message.no-users": "사용자가 없습니다.", + "message.no-websites-configured": "설정된 웹사이트가 없습니다.", + "message.page-not-found": "페이지를 찾을 수 없음", + "message.reset-website": "이 웹사이트를 초기화하려면 아래 상자에 {confirmation}을(를) 입력하세요.", + "message.reset-website-warning": "이 웹사이트의 모든 통계가 삭제되지만 설정은 그대로 유지됩니다.", + "message.saved": "저장했습니다.", + "message.share-url": "아래 링크를 통해 웹사이트의 통계를 누구나 볼 수 있습니다.", + "message.team-already-member": "이미 팀 멤버입니다.", + "message.team-not-found": "팀을 찾을 수 없습니다.", + "message.team-websites-info": "웹사이트는 팀 멤버 누구나 볼 수 있습니다.", + "message.tracking-code": "이 웹사이트의 통계를 추적하려면 다음 코드를 HTML의 ... 부분에 추가하세요.", + "message.transfer-team-website-to-user": "이 웹사이트를 당신의 계정으로 전송하시겠습니까?", + "message.transfer-user-website-to-team": "이 웹사이트를 전송받을 팀을 선택하세요.", + "message.transfer-website": "웹사이트 소유권을 계정이나 다른 팀으로 전송합니다.", + "message.triggered-event": "트리거된 이벤트", + "message.user-deleted": "사용자를 삭제했습니다.", + "message.viewed-page": "조회한 페이지", "message.visitor-log": "{os} {device}에서 {browser}을(를) 사용하는 {country}의 방문자", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "방문자 이탈함" } diff --git a/src/lang/lt-LT.json b/src/lang/lt-LT.json index 0d8f53e9..2e7776a3 100644 --- a/src/lang/lt-LT.json +++ b/src/lang/lt-LT.json @@ -1,7 +1,7 @@ { "label.access-code": "Prieigos kodas", "label.actions": "Veiksmai", - "label.activity-log": "Veiklos žurnalas", + "label.activity": "Veiklos žurnalas", "label.add": "Pridėti", "label.add-description": "Pridėti aprašymą", "label.add-member": "Pridėti narį", @@ -13,7 +13,6 @@ "label.all-time": "Visas laikotarpis", "label.analytics": "Analytics", "label.average": "Vidurkis", - "label.average-visit-time": "Vidutinė vizito trukmė", "label.back": "Atgal", "label.before": "Prieš", "label.bounce-rate": "Atmetimo rodiklis", @@ -25,10 +24,12 @@ "label.cities": "Miestai", "label.city": "Miestas", "label.clear-all": "Išvalyti visus", + "label.compare": "Compare", "label.confirm": "Patvirtinti", "label.confirm-password": "Patvirtinti slaptažodį", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Šalys", "label.country": "Šalis", "label.create": "Sukurti", @@ -37,6 +38,7 @@ "label.create-user": "Sukurti vartotoją", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Dabartinis slaptažodis", "label.custom-range": "Pasirinktinis intervalas", "label.dashboard": "Švieslentė", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Redaguoti švieslentę", "label.edit-member": "Redaguoti narį", "label.enable-share-url": "Įjungti bendrinimą su nuoroda", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Įvykis", "label.event-data": "Įvykių duomenys", "label.events": "Įvykiai", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Laukelis", "label.fields": "Laukeliai", @@ -73,10 +78,16 @@ "label.filter-combined": "Kombinuoti", "label.filter-raw": "Neapdoroti", "label.filters": "Filtrai", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Įžvalgos", "label.insights-description": "Pasinerkite giliau į savo duomenis naudodami segmentus ir filtrus.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Prisijungti", "label.join-team": "Prisijungti į komandą", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Kalba", "label.languages": "Kalbos", "label.laptop": "Laptop", "label.last-days": "{x, plural, =0 {Paskutinės # dienų} zero {Paskutinės # dienų} one {Paskutinė diena} other {Paskutinės # dienos}}", "label.last-hours": "{x, plural, =0 {Paskutinės # valandų} zero {Paskutinės # valandų} one {Paskutinė # valanda} other {Paskutinės # valandos}}", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Išeiti", "label.leave-team": "Išeiti iš komandos", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Prisijungti", "label.logout": "Atsijungti", "label.manage": "Tvarkyti", + "label.manager": "Manager", "label.max": "Max", "label.member": "Narys", "label.members": "Nariai", @@ -119,8 +134,15 @@ "label.pageTitle": "Puslapio pavadinimas", "label.pages": "Puslapiai", "label.password": "Slaptažodis", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profilis", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Užklausos", "label.query": "Užklausa", "label.query-parameters": "Užklausų parametrai", @@ -139,6 +161,9 @@ "label.reset-website": "Atstatyti statistikos duomenis", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Rolė", "label.run-query": "Run query", "label.save": "Išsaugoti", @@ -148,15 +173,18 @@ "label.select-date": "Pasirinkti laikotarpį", "label.select-role": "Pasirinkti rolę", "label.select-website": "Pasirinkti svetainę", + "label.session": "Session", "label.sessions": "Sesijos", "label.settings": "Nustatymai", "label.share-url": "Pasidalinti nuoroda", "label.single-day": "Viena diena", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Suma", "label.tablet": "Planšetė", "label.team": "Komanda", "label.team-id": "Komandos ID", + "label.team-manager": "Team manager", "label.team-member": "Komandos narys", "label.team-name": "Komandos pavadinimas", "label.team-owner": "Komandos savininkas", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Sekimo kodas", + "label.transactions": "Transactions", "label.transfer": "Perleisti", "label.transfer-website": "Perleisti svetainę", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unikalūs lankytojai", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Nežinoma", "label.untitled": "Be pavadinimo", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Vartotojas", + "label.user-property": "User Property", "label.username": "Vartotojo vardas", "label.users": "Vartotojai", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "Tik peržiūrėti", "label.views": "Peržiūros", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Vidutinė vizito trukmė", "label.visitors": "Lankytojai", "label.visits": "Visits", "label.website": "Svetainė", @@ -205,6 +237,7 @@ "label.yesterday": "Vakar", "message.action-confirmation": "Įrašykite {confirmation} žemiau, kad patvirtintumėte.", "message.active-users": "{x, plural, =0 {# aktyvių vartotojų} zero {# aktyvių vartotojų} one {# aktyvus vartotojas} other {# aktyvūs vartotojai}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Ar esate tikri, jog norite ištrinti svetainę {target}?", "message.confirm-leave": "Ar esate tikri, jog norite palikti {target}?", "message.confirm-remove": "Ar esate tikri, jog norite ištrinti {target}?", diff --git a/src/lang/mn-MN.json b/src/lang/mn-MN.json index bd001add..769c58a5 100644 --- a/src/lang/mn-MN.json +++ b/src/lang/mn-MN.json @@ -1,7 +1,7 @@ { "label.access-code": "Хандалтын код", "label.actions": "Үйлдлүүд", - "label.activity-log": "Үйл ажиллагааны бүртгэл", + "label.activity": "Үйл ажиллагааны бүртгэл", "label.add": "Нэмэх", "label.add-description": "Тайлбар нэмэх", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Бүх цаг үеийн", "label.analytics": "Analytics", "label.average": "Дундаж", - "label.average-visit-time": "Зочилсон дундаж хугацаа", "label.back": "Буцах", "label.before": "Өмнө", "label.bounce-rate": "Нэг хуудас үзээд гарсан", @@ -25,10 +24,12 @@ "label.cities": "Хотууд", "label.city": "Хот", "label.clear-all": "Бүгдийг арилгах", + "label.compare": "Compare", "label.confirm": "Батлах", "label.confirm-password": "Шинэ нууц үгээ давтах", "label.contains": "Агуулах", "label.continue": "Үргэлжлүүлэх", + "label.count": "Count", "label.countries": "Улс", "label.country": "Улс", "label.create": "Үүсгэх", @@ -37,6 +38,7 @@ "label.create-user": "Хэрэглэгч үүсгэх", "label.created": "Үүсгэсэн", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Ашиглаж буй нууц үг", "label.custom-range": "Дурын хугацаа", "label.dashboard": "Хянах самбар", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Хянах самбар засах", "label.edit-member": "Edit member", "label.enable-share-url": "Хуваалцах холбоос идэвхжүүлэх", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Үйлдэл", "label.event-data": "Үйлдлийн өгөгдөл", "label.events": "Үйлдэл", + "label.exit": "Exit URL", "label.false": "Худал", "label.field": "Талбар", "label.fields": "Талбар", @@ -73,10 +78,16 @@ "label.filter-combined": "Нэгтгэсэн", "label.filter-raw": "Түүхий", "label.filters": "Шүүлтүүр", + "label.first-seen": "First seen", "label.funnel": "Цутгал", "label.funnel-description": "Хэрэглэгчдийн шилжилт, уналтын хэмжээг шинжлэх.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Их", "label.greater-than-equals": "Их буюу тэнцүү", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Шинжлэх", "label.insights-description": "Өгөгдлөө хэсэгчлэн хуваах, шүүх байдлаар задлан шинжлэх.", "label.is": "Бол", @@ -85,12 +96,15 @@ "label.is-set": "Утга оноосон", "label.join": "Нэгдэх", "label.join-team": "Багт нэгдэх", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Хэл", "label.languages": "Хэл", "label.laptop": "Зөөврийн компьютер", "label.last-days": "Сүүлийн {x} хоног", "label.last-hours": "Сүүлийн {x} цаг", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Гарах", "label.leave-team": "Багаас гарах", "label.less-than": "Бага", @@ -98,6 +112,7 @@ "label.login": "Нэвтрэх", "label.logout": "Гарах", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Гишүүд", @@ -119,8 +134,15 @@ "label.pageTitle": "Хуудасны гарчиг", "label.pages": "Хуудас", "label.password": "Нууц үг", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "{name} дээр суурилсан", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Бүртгэл", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Query-нүүд", "label.query": "Query", "label.query-parameters": "Query параметр", @@ -139,6 +161,9 @@ "label.reset-website": "Тоон үзүүлэлтийг дахин эхлүүлэх", "label.retention": "Барилт", "label.retention-description": "Хэрэглэгчид таны веб рүү дахин хандах буюу хэрэглэгчдээ хэр тогтоож буйг хэмжих.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Эрх", "label.run-query": "Query ажиллуулах", "label.save": "Хадгалах", @@ -148,15 +173,18 @@ "label.select-date": "Огноо сонгох", "label.select-role": "Select role", "label.select-website": "Веб сонгох", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Тохиргоо", "label.share-url": "Хуваалцах холбоос", "label.single-day": "Нэг өдөр", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Нийлбэр", "label.tablet": "Таблет", "label.team": "Баг", "label.team-id": "Багийн ID", + "label.team-manager": "Team manager", "label.team-member": "Багийн гишүүн", "label.team-name": "Багийн нэр", "label.team-owner": "Багийн эзэмшигч", @@ -174,18 +202,21 @@ "label.total": "Нийт", "label.total-records": "Нийт мөрийн тоо", "label.tracking-code": "Мөрдөх код", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "Үнэн", "label.type": "Төрөл", "label.unique": "Давхардаагүй", "label.unique-visitors": "Зочин", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Тодорхойгүй", "label.untitled": "Гарчиггүй", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Хэрэглэгч", + "label.user-property": "User Property", "label.username": "Хэрэглэгчийн нэр", "label.users": "Хэрэглэгчид", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "Зөвхөн үзэх", "label.views": "Үзсэн", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Зочилсон дундаж хугацаа", "label.visitors": "Зочин", "label.visits": "Visits", "label.website": "Веб", @@ -205,6 +237,7 @@ "label.yesterday": "Өчигдөр", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "одоо {x} {x, plural, one {зочин} other {зочин}} байна", + "message.collected-data": "Collected data", "message.confirm-delete": "Та {target}-г устгахдаа итгэлтэй байна уу?", "message.confirm-leave": "Та {target}-с гарахдаа итгэлтэй байна уу?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/ms-MY.json b/src/lang/ms-MY.json index 6fef9931..a8686573 100644 --- a/src/lang/ms-MY.json +++ b/src/lang/ms-MY.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Aksi", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Purata tempoh masa lawatan", "label.back": "Kembali", "label.before": "Before", "label.bounce-rate": "Kadar lantunan", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Sahkan kata laluan", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Negara", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Kata laluan semasa", "label.custom-range": "Julat khas", "label.dashboard": "Papan pemuka", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Aktifkan url berkongsi", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Peristiwa", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Digabungkan", "label.filter-raw": "Mentah", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Laptop", "label.last-days": "{x} hari lepas", "label.last-hours": "{x} jam lepas", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Log masuk", "label.logout": "Log keluar", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Halaman", "label.password": "Kata laluan", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Disediakan oleh {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Simpan", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Tetapan", "label.share-url": "Kongsikan URL", "label.single-day": "Satu hari", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Kod penjejakan", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Pelawat unik", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Tidak diketahui", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Nama pengguna", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Lawatan", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Purata tempoh masa lawatan", "label.visitors": "Pelawat", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} semasa {x, plural, one {pelawat} other {pelawat}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Pastikah anda ingin memadam {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/my-MM.json b/src/lang/my-MM.json index bf8e0217..3ab75f88 100644 --- a/src/lang/my-MM.json +++ b/src/lang/my-MM.json @@ -1,7 +1,7 @@ { "label.access-code": "ဝင်ခွင့်ကုဒ်", "label.actions": "လုပ်ဆောင်ချက်များ", - "label.activity-log": "လုပ်ဆောင်ချက်စာရင်း", + "label.activity": "လုပ်ဆောင်ချက်စာရင်း", "label.add": "ထပ်ထည့်မည်", "label.add-description": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "အချိန်အစမှအခုထိ", "label.analytics": "အန်နလစ်တစ်", "label.average": "ပျမ်းမျှ", - "label.average-visit-time": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်", "label.back": "နောက်သို့", "label.before": "မတိုင်မီ", "label.bounce-rate": "Bounce နှုန်း", @@ -25,10 +24,12 @@ "label.cities": "မြို့များ", "label.city": "City", "label.clear-all": "အားလုံးကိုဖျက်မည်", + "label.compare": "Compare", "label.confirm": "အတည်ပြုသည်", "label.confirm-password": "စကားဝှက်အတည်ပြုသည်", "label.contains": "ပါဝင်သည်", "label.continue": "ဆက်သွားမည်", + "label.count": "Count", "label.countries": "နိုင်ငံများ", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "အသုံးပြုသူထည့်မည်", "label.created": "ပြုလုပ်ပြီးသော", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "လက်ရှိစကားဝှက်", "label.custom-range": "အချိန်အပိုင်းအခြားရွေးရန်", "label.dashboard": "ဒက်ရှ်ဘုတ်", @@ -63,9 +65,12 @@ "label.edit-dashboard": "ဒက်ရှ်ဘုတ်ကို ပြုပြင်မည်", "label.edit-member": "Edit member", "label.enable-share-url": "ဝေငှခြင်းကိုလင့်ကို ဖွင့်မည်", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "အဖြစ်အပျက်", "label.event-data": "အဖြစ်အပျက် ဒေတာ", "label.events": "အဖြစ်အပျက်များ", + "label.exit": "Exit URL", "label.false": "မှားသည်", "label.field": "Field အမည်", "label.fields": "Field အမည်များ", @@ -73,10 +78,16 @@ "label.filter-combined": "ပေါင်းစပ်ပြီး", "label.filter-raw": "အရှိအတိုင်း", "label.filters": "Filter များ", + "label.first-seen": "First seen", "label.funnel": "ဖန်နယ်", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "ထက်ပို၍ကြီးသည်", "label.greater-than-equals": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "အသေးစိတ်သိမြင်နိုင်ရန်", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "ဝင်မည်", "label.join-team": "အသင်းဝင်မည်", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "ဘာသာစကား", "label.languages": "ဘာသာစကားများ", "label.laptop": "လက်တော့ပ်", "label.last-days": "လွန်ခဲ့သော {x} ရက်က", "label.last-hours": "လွန်ခဲ့သော {x} နာရီက", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "ထွက်မည်", "label.leave-team": "အသင်းမှထွက်မည်", "label.less-than": "ထက်ပို၍ငယ်သည်", @@ -98,6 +112,7 @@ "label.login": "လော့ဂ်အင်", "label.logout": "လော့ဂ်အောက်လုပ်မည်", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "အများဆုံး", "label.member": "Member", "label.members": "အဖွဲ့ဝင်များ", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "စာမျက်နှာများ", "label.password": "စကားဝှက်", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "{name} ထောက်ပံ့သည်", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "ပရိုဖိုင်း", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries (ကွာရီများ)", "label.query": "Query (ကွာရီ)", "label.query-parameters": "Query parameters (ကွာရီပါရာမီတာများ)", @@ -139,6 +161,9 @@ "label.reset-website": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "အခန်းကဏ္ဍ", "label.run-query": "Query ကိုလုပ်ဆောင်မည်", "label.save": "သိမ်းဆည်းမည်", @@ -148,15 +173,18 @@ "label.select-date": "ရက်ရွေးပါ", "label.select-role": "Select role", "label.select-website": "ဝဘက်ဘ်ဆိုဒ်ရွေးပါ", + "label.session": "Session", "label.sessions": "ဆက်ရှင်များ", "label.settings": "ဆက်တင်များ", "label.share-url": "URL ကိုရှဲမည်", "label.single-day": "တစ်ရက်အတွင်း", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "ပေါင်းလဒ်", "label.tablet": "တက်ဘလက်", "label.team": "အသင်း", "label.team-id": "အသင်း အိုင်ဒီ", + "label.team-manager": "Team manager", "label.team-member": "အသင်းဝင်", "label.team-name": "Team name", "label.team-owner": "အသင်းကိုပိုင်ဆိုင်သူ", @@ -174,18 +202,21 @@ "label.total": "စုစုပေါင်း", "label.total-records": "မှတ်တမ်းစုစုပေါင်း", "label.tracking-code": "ထရက်လုပ်သည့် ကုဒ်", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "မှန်သည်", "label.type": "အမျိုးအစား", "label.unique": "Unique", "label.unique-visitors": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "မသိသော", "label.untitled": "ခေါင်းစဉ်မရှိ", "label.update": "Update", "label.url": "URL", "label.urls": "URL များ", "label.user": "အသုံးပြုသူ", + "label.user-property": "User Property", "label.username": "အသုံးပြုသူအမည်", "label.users": "အသုံးပြုသူများ", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "ဝင်ရောက်ကြည့်ရှုမှုများသာ", "label.views": "ဝင်ရောက်ကြည့်ရှုမှုများ", "label.views-per-visit": "Views per visit", + "label.visit-duration": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်", "label.visitors": "ဝင်ရောက်ကြည့်ရှုသူများ", "label.visits": "Visits", "label.website": "ဝက်ဘ်ဆိုဒ်", @@ -205,6 +237,7 @@ "label.yesterday": "မနေ့က", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} လက်ရှိအသုံးပြုနေသူ {x, plural, one {ယောက်} other {ယောက်}}", + "message.collected-data": "Collected data", "message.confirm-delete": "{target} ကို ဖျက်ရန် သေချာပါသလား?", "message.confirm-leave": "{target} ကို ထွက်ရန် သေချာပါသလား?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/nb-NO.json b/src/lang/nb-NO.json index a0fe6575..55d21187 100644 --- a/src/lang/nb-NO.json +++ b/src/lang/nb-NO.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Handlinger", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Noensinne", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Gjennomsnittlig besøkstid", "label.back": "Tilbake", "label.before": "Before", "label.bounce-rate": "Avvisningsfrekvens", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Godkjenn passord", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Land", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Nåværende passord", "label.custom-range": "Egendefinert utvalg", "label.dashboard": "Dashbord", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Aktiver delings-URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Arrangementer", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Kombinert", "label.filter-raw": "Rå", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Språk", "label.languages": "Språk", "label.laptop": "Bærbar", "label.last-days": "Siste {x} dager", "label.last-hours": "Siste {x} timer", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Logg inn", "label.logout": "Logg ut", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Sider", "label.password": "Passord", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Drevet av {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Nullstill statistikk", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Lagre", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Innstillinger", "label.share-url": "Del URL", "label.single-day": "Enkelt dag", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Nettbrett", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Sporingskode", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unike besøkende", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Ukjent", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Brukernavn", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Visninger", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Gjennomsnittlig besøkstid", "label.visitors": "Besøkende", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} {x, plural, one {besøkende} other {besøkende}} nå", + "message.collected-data": "Collected data", "message.confirm-delete": "Er du sikker på at du vil slette {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 4335345a..78b41df7 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -1,7 +1,7 @@ { "label.access-code": "Toegangscode", "label.actions": "Acties", - "label.activity-log": "Activiteiten logboek", + "label.activity": "Activiteiten logboek", "label.add": "Toevoegen", "label.add-description": "Omschrijving toevoegen", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Onbeperkt", "label.analytics": "Analytics", "label.average": "Gemiddelde", - "label.average-visit-time": "Gemiddelde bezoektijd", "label.back": "Terug", "label.before": "Voor", "label.bounce-rate": "Bouncepercentage", @@ -25,10 +24,12 @@ "label.cities": "Steden", "label.city": "Stad", "label.clear-all": "Filters wissen", + "label.compare": "Compare", "label.confirm": "Bevestigen", "label.confirm-password": "Wachtwoord bevestigen", "label.contains": "Bevat", "label.continue": "Doorgaan", + "label.count": "Count", "label.countries": "Landen", "label.country": "Land", "label.create": "Aanmaken", @@ -37,6 +38,7 @@ "label.create-user": "Gebruiker maken", "label.created": "Gemaakt", "label.created-by": "Gemaakt Door", + "label.current": "Current", "label.current-password": "Huidig wachtwoord", "label.custom-range": "Aangepast bereik", "label.dashboard": "Overzicht", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Dashboard aanpassen", "label.edit-member": "Gebruiker aanpassen", "label.enable-share-url": "Sta delen via openbare URL toe", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Gebeurtenis", "label.event-data": "Datum gebeurtenis", "label.events": "Gebeurtenissen", + "label.exit": "Exit URL", "label.false": "Onwaar", "label.field": "Veld", "label.fields": "Velden", @@ -73,10 +78,16 @@ "label.filter-combined": "Gecombineerd", "label.filter-raw": "Ruw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Ontdek de conversie- en uitvalpercentages van gebruikers.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Groter dan", "label.greater-than-equals": "Groter of gelijk aan", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Inzichten", "label.insights-description": "Verken je gegevens verder door segmenten en filters te gebruiken.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is ingesteld", "label.join": "Lid worden", "label.join-team": "Word lid van een team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Taal", "label.languages": "Talen", "label.laptop": "Laptop", "label.last-days": "Laatste {x} dagen", "label.last-hours": "Laatste {x} uur", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Verlaten", "label.leave-team": "Verlaat team", "label.less-than": "Minder dan", @@ -98,6 +112,7 @@ "label.login": "Inloggen", "label.logout": "Uitloggen", "label.manage": "Beheren", + "label.manager": "Manager", "label.max": "Max", "label.member": "Gebruiker", "label.members": "Gebruikers", @@ -119,8 +134,15 @@ "label.pageTitle": "Pagina titel", "label.pages": "Pagina's", "label.password": "Wachtwoord", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "mogelijk gemaakt door {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profiel", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Parameters", "label.query": "Query", "label.query-parameters": "URL-parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Statistieken opnieuw instellen", "label.retention": "Retentie", "label.retention-description": "Meet de retentie van je website door door bij te houden hoe vaak gebruikers terugkeren.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Gebruikersrol", "label.run-query": "Query uitvoeren", "label.save": "Opslaan", @@ -148,15 +173,18 @@ "label.select-date": "Datum selecteren", "label.select-role": "Rol selecteren", "label.select-website": "Website selecteren", + "label.session": "Session", "label.sessions": "Sessies", "label.settings": "Instellingen", "label.share-url": "URL delen", "label.single-day": "Enkele dag", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Som", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Teamlid", "label.team-name": "Teamnaam", "label.team-owner": "Teameigenaar", @@ -174,18 +202,21 @@ "label.total": "Totaal", "label.total-records": "Totaal records", "label.tracking-code": "Volgcode", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "Waar", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unieke bezoekers", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Onbekend", "label.untitled": "Ongetiteld", "label.update": "Update", "label.url": "URL", "label.urls": "URL's", "label.user": "Gebruiker", + "label.user-property": "User Property", "label.username": "Gebruikersnaam", "label.users": "Gebruikers", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "Alleen inzien", "label.views": "Weergaven", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Gemiddelde bezoektijd", "label.visitors": "Bezoekers", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Gisteren", "message.action-confirmation": "Typ {confirmation} in het veld hieronder om te bevestigen.", "message.active-users": "{x} actieve {x, plural, one {bezoeker} other {bezoekers}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Weet je zeker dat je {target} wilt verwijderen?", "message.confirm-leave": "Weet je zeker dat je {target} wilt verlaten?", "message.confirm-remove": "Weet je zeker dat je {target} wilt verwijderen?", diff --git a/src/lang/pl-PL.json b/src/lang/pl-PL.json index 7eae7baa..697beeb3 100644 --- a/src/lang/pl-PL.json +++ b/src/lang/pl-PL.json @@ -1,11 +1,11 @@ { "label.access-code": "Kod dostępu", "label.actions": "Działania", - "label.activity-log": "Dziennik aktywności", + "label.activity": "Dziennik aktywności", "label.add": "Dodaj", "label.add-description": "Dodaj opis", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.add-member": "Dodaj członka", + "label.add-step": "Dodaj krok", "label.add-website": "Dodaj witrynę", "label.admin": "Administrator", "label.after": "Po", @@ -13,84 +13,98 @@ "label.all-time": "Cały czas", "label.analytics": "Analityka", "label.average": "Średnia", - "label.average-visit-time": "Średni czas wizyty", "label.back": "Powrót", "label.before": "Przed", "label.bounce-rate": "Współczynnik odrzuceń", "label.breakdown": "Rozbicie", - "label.browser": "Browser", + "label.browser": "Przeglądarka", "label.browsers": "Przeglądarki", "label.cancel": "Anuluj", "label.change-password": "Zmień hasło", "label.cities": "Miasta", - "label.city": "City", + "label.city": "Miasto", "label.clear-all": "Wyczyść wszystko", + "label.compare": "Porównaj", "label.confirm": "Potwierdź", "label.confirm-password": "Potwierdź hasło", "label.contains": "Zawiera", "label.continue": "Kontynuuj", + "label.count": "Liczba", "label.countries": "Kraje", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Stwórz raport", + "label.country": "Państwo", + "label.create": "Utwórz", + "label.create-report": "Utwórz raport", "label.create-team": "Utwórz zespół", "label.create-user": "Utwórz użytkownika", "label.created": "Utworzony", - "label.created-by": "Created By", + "label.created-by": "Utworzony przez", + "label.current": "Aktualny", "label.current-password": "Aktualne hasło", "label.custom-range": "Zakres niestandardowy", "label.dashboard": "Panel", - "label.data": "Data", - "label.date": "Date", + "label.data": "Dane", + "label.date": "Data", "label.date-range": "Zakres dat", - "label.day": "Day", + "label.day": "Dzień", "label.default-date-range": "Domyślny zakres dat", "label.delete": "Usuń", - "label.delete-report": "Delete report", + "label.delete-report": "Usuń raport", "label.delete-team": "Usuń zespół", "label.delete-user": "Usuń użytkownika", "label.delete-website": "Usuń witrynę", "label.description": "Opis", "label.desktop": "Komputer", "label.details": "Szczegóły", - "label.device": "Device", + "label.device": "Urządzenie", "label.devices": "Urządzenia", "label.dismiss": "Odrzuć", "label.does-not-contain": "Nie zawiera", "label.domain": "Domena", - "label.dropoff": "Dropoff", + "label.dropoff": "Odpływ", "label.edit": "Edytuj", "label.edit-dashboard": "Edytuj panel", - "label.edit-member": "Edit member", + "label.edit-member": "Edytuj członka", "label.enable-share-url": "Włącz udostępnianie adresu URL", - "label.event": "Event", + "label.end-step": "Krok końcowy", + "label.entry": "Entry URL", + "label.event": "Zdarzenie", "label.event-data": "Dane zdarzenia", "label.events": "Zdarzenia", + "label.exit": "URL wyjściowy", "label.false": "Fałsz", "label.field": "Pole", "label.fields": "Pola", - "label.filter": "Filter", + "label.filter": "Filtruj", "label.filter-combined": "Połączone", "label.filter-raw": "Surowe dane", "label.filters": "Filtry", + "label.first-seen": "First seen", "label.funnel": "Lejek", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.funnel-description": "Zrozum wskaźniki konwersji i odpływu użytkowników.", + "label.goal": "Cel", + "label.goals": "Cele", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Większe niż", "label.greater-than-equals": "Większe niż lub równe", - "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", + "label.host": "Host", + "label.hosts": "Hosty", + "label.insights": "Analiza", + "label.insights-description": "Poznaj lepiej swoje dane, korzystając z segmentów i filtrów.", "label.is": "Równe", "label.is-not": "Nie jest równe", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", + "label.is-not-set": "Nieustawione", + "label.is-set": "Ustawione", "label.join": "Dołącz", "label.join-team": "Dołącz do zespołu", + "label.journey": "Droga", + "label.journey-description": "Zrozum, w jaki sposób użytkownicy poruszają się po Twojej witrynie.", "label.language": "Język", "label.languages": "Języki", "label.laptop": "Laptop", "label.last-days": "Ostatnie {x} dni", "label.last-hours": "Ostatnie {x} godzin", - "label.last-months": "Last {x} months", + "label.last-months": "Osatnie {x} miesięcy", + "label.last-seen": "Last seen", "label.leave": "Opuść", "label.leave-team": "Opuść zespół", "label.less-than": "Mniejsze niż", @@ -98,70 +112,84 @@ "label.login": "Zaloguj się", "label.logout": "Wyloguj", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Maks", - "label.member": "Member", + "label.member": "Członek", "label.members": "Członkowie", "label.min": "Min", "label.mobile": "Smartfon", "label.more": "Więcej", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Moje konto", + "label.my-websites": "Moje witryny", "label.name": "Nazwa", "label.new-password": "Nowe hasło", "label.none": "Brak", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", + "label.number-of-records": "{x} {x, plural, one {rekord} other {rekordy}}", "label.ok": "OK", "label.os": "OS", "label.overview": "Przegląd", "label.owner": "Właściciel", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Strona {current} z {total}", "label.page-views": "Wyświetlenia strony", - "label.pageTitle": "Page title", + "label.pageTitle": "Tytuł strony", "label.pages": "Strony", "label.password": "Hasło", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Obsługiwane przez {name}", + "label.previous": "Poprzedni", + "label.previous-period": "Poprzedni okres", + "label.previous-year": "Poprzedni rok", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Zapytania", "label.query": "Zapytanie", "label.query-parameters": "Parametry zapytania", "label.realtime": "Czas rzeczywisty", - "label.referrer": "Referrer", + "label.referrer": "Źródło odsyłające", "label.referrers": "Źródła odsyłające", "label.refresh": "Odśwież", "label.regenerate": "Wygeneruj ponownie", "label.region": "Region", "label.regions": "Regiony", "label.remove": "Usuń", - "label.remove-member": "Remove member", + "label.remove-member": "Usuń członka", "label.reports": "Raporty", "label.required": "Wymagany", "label.reset": "Zresetuj", "label.reset-website": "Zresetuj statystyki", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Role", + "label.retention": "Retencja", + "label.retention-description": "Mierz przyciągającą siłę swojej strony internetowej, śledząc, jak często użytkownicy powracają.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "Rola", "label.run-query": "Uruchom zapytanie", "label.save": "Zapisz", "label.screens": "Ekrany", - "label.search": "Search", - "label.select": "Select", + "label.search": "Szukaj", + "label.select": "Wybierz", "label.select-date": "Wybierz datę", - "label.select-role": "Select role", + "label.select-role": "Wybierz rolę", "label.select-website": "Wybierz witrynę", + "label.session": "Session", "label.sessions": "Sesje", "label.settings": "Ustawienia", "label.share-url": "Udostępnij adres URL", "label.single-day": "W tym dniu", - "label.steps": "Steps", + "label.start-step": "Krok startowy", + "label.steps": "Kroki", "label.sum": "Suma", "label.tablet": "Tablet", "label.team": "Zespół", "label.team-id": "ID zespołu", + "label.team-manager": "Team manager", "label.team-member": "Członek zespołu", - "label.team-name": "Team name", + "label.team-name": "Nazwa zespołu", "label.team-owner": "Właściciel zespołu", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", + "label.team-view-only": "Tylko do odczytu dla zespołu", + "label.team-websites": "Witryny zespołu", "label.teams": "Zespoły", "label.theme": "Motyw", "label.this-month": "W tym miesiącu", @@ -174,50 +202,55 @@ "label.total": "W sumie", "label.total-records": "Suma rekordów", "label.tracking-code": "Kod śledzenia", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "Prawda", "label.type": "Typ", "label.unique": "Unikalne", "label.unique-visitors": "Unikalni odwiedzający", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Nieznany", "label.untitled": "Bez tytułu", - "label.update": "Update", + "label.update": "Aktualizuj", "label.url": "Link", "label.urls": "Linki", "label.user": "Użytkownik", + "label.user-property": "User Property", "label.username": "Nazwa użytkownika", "label.users": "Użytkownicy", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "Śledź swoje kampanie za pomocą parametrów UTM.", "label.value": "Wartość", "label.view": "Zobacz", "label.view-details": "Pokaż szczegóły", "label.view-only": "Tylko do odczytu", "label.views": "Wyświetlenia", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Widoków na wizytę", + "label.visit-duration": "Średni czas wizyty", "label.visitors": "Odwiedzający", - "label.visits": "Visits", + "label.visits": "Wizyty", "label.website": "Witryna", "label.website-id": "ID witryny", "label.websites": "Witryny", "label.window": "Okno", "label.yesterday": "Wczoraj", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "message.action-confirmation": "Wpisz {confirmation}, aby potwierdzić.", "message.active-users": "{x} aktualnie {x, plural, one {odwiedzający} other {odwiedzających}}", + "message.collected-data": "Zebrane dane", "message.confirm-delete": "Czy na pewno chcesz usunąć {target}?", "message.confirm-leave": "Czy na pewno chcesz opuścić {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", + "message.confirm-remove": "Czy na pewno chcesz usunąć {target}?", "message.confirm-reset": "Czy na pewno chcesz zresetować statystyki {target}?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", + "message.delete-team-warning": "Usunięcie zespołu usunie wszystkie jego witryny.", "message.delete-website-warning": "Wszystkie powiązane dane również zostaną usunięte.", "message.error": "Coś poszło nie tak.", "message.event-log": "{event} na {url}", "message.go-to-settings": "Przejdź do ustawień", - "message.incorrect-username-password": "Nieprawidłowa nazwa użytkownika/hasło.", + "message.incorrect-username-password": "Nieprawidłowa nazwa użytkownika lub hasło.", "message.invalid-domain": "Nieprawidłowa witryna", "message.min-password-length": "Minimalna długość {n} znaków", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.new-version-available": "Nowa wersja Umami {version} jest dostępna!", "message.no-data-available": "Brak dostępnych danych.", "message.no-event-data": "Brak dostępnych danych o zdarzeniach.", "message.no-match-password": "Hasła się nie zgadzają", @@ -235,12 +268,12 @@ "message.team-not-found": "Nie znaleziono zespołu.", "message.team-websites-info": "Strony internetowe mogą być przeglądane przez każdego członka zespołu.", "message.tracking-code": "Kod śledzenia", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", + "message.transfer-team-website-to-user": "Czy przenieść tę witrynę do Twoje konta?", + "message.transfer-user-website-to-team": "Wybierz zespół, do którego chcesz przenieść tę witrynę.", + "message.transfer-website": "Przenieś własność witryny na swoje konto lub do innego zespołu.", + "message.triggered-event": "Zdarzenie wyzwalające", "message.user-deleted": "Użytkownik usunięty.", - "message.viewed-page": "Viewed page", + "message.viewed-page": "Obejrzana strona", "message.visitor-log": "Odwiedzający z {country} używa {browser} na {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "Odpływ użytkowników" } diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 06154944..6e5b095e 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -1,168 +1,196 @@ { "label.access-code": "Código de acesso", - "label.actions": "Ações", - "label.activity-log": "Log de atividade", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.actions": "Ações do usuário", + "label.activity": "Registro de atividades", + "label.add": "Adicionar", + "label.add-description": "Adicionar descrição", + "label.add-member": "Adicionar membro", + "label.add-step": "Adicionar etapa", "label.add-website": "Adicionar site", "label.admin": "Administrador", "label.after": "Depois", "label.all": "Todos", - "label.all-time": "Todo o período", - "label.analytics": "Estatísticas", - "label.average": "Average", - "label.average-visit-time": "Tempo médio da visita", + "label.all-time": "Todos os períodos", + "label.analytics": "Análise", + "label.average": "Média", "label.back": "Voltar", "label.before": "Antes", "label.bounce-rate": "Taxa de rejeição", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.breakdown": "Detalhamento", + "label.browser": "Navegador", "label.browsers": "Navegadores", "label.cancel": "Cancelar", - "label.change-password": "Alterar a senha", + "label.change-password": "Alterar senha", "label.cities": "Cidades", - "label.city": "City", + "label.city": "Cidade", "label.clear-all": "Limpar tudo", + "label.compare": "Compare", "label.confirm": "Confirmar", - "label.confirm-password": "Confirme a nova senha", - "label.contains": "Contains", + "label.confirm-password": "Confirmar senha", + "label.contains": "Contém", "label.continue": "Continuar", + "label.count": "Count", "label.countries": "Países", - "label.country": "Country", - "label.create": "Create", + "label.country": "País", + "label.create": "Criar", "label.create-report": "Criar relatório", - "label.create-team": "Criar time", + "label.create-team": "Criar equipe", "label.create-user": "Criar usuário", "label.created": "Criado", - "label.created-by": "Created By", + "label.created-by": "Criado por", + "label.current": "Current", "label.current-password": "Senha atual", - "label.custom-range": "Intervalo personalizado", + "label.custom-range": "Período personalizado", "label.dashboard": "Painel", - "label.data": "Data", - "label.date": "Date", - "label.date-range": "Intervalo de datas", - "label.day": "Day", - "label.default-date-range": "Intervalo de datas predefinido", - "label.delete": "Remover", - "label.delete-report": "Delete report", - "label.delete-team": "Remover time", - "label.delete-user": "Remover usuário", - "label.delete-website": "Remover site", + "label.data": "Dados", + "label.date": "Data", + "label.date-range": "Período", + "label.day": "Dia", + "label.default-date-range": "Período padrão", + "label.delete": "Excluir", + "label.delete-report": "Excluir relatório", + "label.delete-team": "Excluir equipe", + "label.delete-user": "Excluir usuário", + "label.delete-website": "Excluir site", "label.description": "Descrição", - "label.desktop": "Computador", + "label.desktop": "Desktop", "label.details": "Detalhes", - "label.device": "Device", + "label.device": "Dispositivo", "label.devices": "Dispositivos", - "label.dismiss": "Dispensar", - "label.does-not-contain": "Does not contain", + "label.dismiss": "Fechar", + "label.does-not-contain": "Não contém", "label.domain": "Domínio", - "label.dropoff": "Dropoff", + "label.dropoff": "Abandono", "label.edit": "Editar", "label.edit-dashboard": "Editar painel", - "label.edit-member": "Edit member", - "label.enable-share-url": "Ativar link de compartilhamento", + "label.edit-member": "Editar membro", + "label.enable-share-url": "Ativar link para compartilhar", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Evento", - "label.event-data": "Event data", - "label.events": "Eventos", - "label.false": "False", + "label.event-data": "Dados do evento", + "label.events": "Tipos de eventos", + "label.exit": "Exit URL", + "label.false": "Não", "label.field": "Campo", "label.fields": "Campos", - "label.filter": "Filter", + "label.filter": "Filtro", "label.filter-combined": "Combinado", - "label.filter-raw": "Dados brutos", - "label.filters": "Filters", + "label.filter-raw": "Bruto", + "label.filters": "Filtros", + "label.first-seen": "First seen", "label.funnel": "Funil", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.funnel-description": "Entenda a taxa de conversão e abandono dos seus usuários.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Maior que", - "label.greater-than-equals": "Maior que ou igual", + "label.greater-than-equals": "Maior ou igual a", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Entrar", - "label.join-team": "Entrar no time", + "label.insights-description": "Explore seus dados em mais detalhes usando filtros", + "label.is": "É igual a", + "label.is-not": "Não é igual a", + "label.is-not-set": "Não definido", + "label.is-set": "Definido", + "label.join": "Participar", + "label.join-team": "Participar da equipe", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Idioma", "label.languages": "Idiomas", "label.laptop": "Notebook", "label.last-days": "Últimos {x} dias", "label.last-hours": "Últimas {x} horas", - "label.last-months": "Last {x} months", + "label.last-months": "Últimos {x} meses", + "label.last-seen": "Last seen", "label.leave": "Sair", - "label.leave-team": "Sair do time", + "label.leave-team": "Sair da equipe", "label.less-than": "Menor que", - "label.less-than-equals": "Menor que ou igual", - "label.login": "Iniciar sessão", + "label.less-than-equals": "Menor ou igual a", + "label.login": "Entrar", "label.logout": "Sair", - "label.manage": "Manage", - "label.max": "Max", - "label.member": "Member", + "label.manage": "Gerenciar", + "label.manager": "Manager", + "label.max": "Máximo", + "label.member": "Membro", "label.members": "Membros", - "label.min": "Min", + "label.min": "Mínimo", "label.mobile": "Celular", "label.more": "Mais", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Minha conta", + "label.my-websites": "Meus sites", "label.name": "Nome", "label.new-password": "Nova senha", "label.none": "Nenhum", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", + "label.number-of-records": "{x} {x, plural, one {registro} other {registros}}", "label.ok": "OK", - "label.os": "OS", - "label.overview": "Overview", + "label.os": "Sistema operacional", + "label.overview": "Visão geral", "label.owner": "Proprietário", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Página {current} de {total}", "label.page-views": "Visualizações de página", - "label.pageTitle": "Page title", + "label.pageTitle": "Título", "label.pages": "Páginas", "label.password": "Senha", - "label.powered-by": "Distribuído por {name}", + "label.path": "Path", + "label.paths": "Paths", + "label.powered-by": "Desenvolvido por {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Perfil", - "label.queries": "Parâmetros", - "label.query": "Query", - "label.query-parameters": "Parâmetros de Consulta", + "label.properties": "Properties", + "label.property": "Property", + "label.queries": "Consultas", + "label.query": "Consulta", + "label.query-parameters": "Parâmetros da consulta", "label.realtime": "Tempo real", - "label.referrer": "Referrer", + "label.referrer": "Referência", "label.referrers": "Referências", "label.refresh": "Atualizar", - "label.regenerate": "Regerar", - "label.region": "Region", - "label.regions": "Regiões", + "label.regenerate": "Gerar novamente", + "label.region": "Estado", + "label.regions": "Estados", "label.remove": "Remover", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.remove-member": "Remover membro", + "label.reports": "Relatórios", "label.required": "Obrigatório", "label.reset": "Redefinir", - "label.reset-website": "Redefinir estatísticas", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Papel", - "label.run-query": "Executar query", + "label.reset-website": "Redefinir dados", + "label.retention": "Retenção", + "label.retention-description": "Avalie a fidelidade dos seus usuários medindo a frequência com que eles retornam.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "Função", + "label.run-query": "Executar consulta", "label.save": "Salvar", - "label.screens": "Telas", - "label.search": "Search", - "label.select": "Select", + "label.screens": "Tamanhos de tela", + "label.search": "Pesquisar", + "label.select": "Selecionar", "label.select-date": "Selecionar data", - "label.select-role": "Select role", + "label.select-role": "Selecionar função", "label.select-website": "Selecionar site", + "label.session": "Session", "label.sessions": "Sessões", "label.settings": "Configurações", - "label.share-url": "Link de compartilhamento", - "label.single-day": "Dia específico", - "label.steps": "Steps", - "label.sum": "Sum", + "label.share-url": "Link para compartilhar", + "label.single-day": "Apenas um dia", + "label.start-step": "Start Step", + "label.steps": "Etapas", + "label.sum": "Soma", "label.tablet": "Tablet", - "label.team": "Time", - "label.team-id": "ID do Time", - "label.team-member": "Membro", - "label.team-name": "Team name", - "label.team-owner": "Proprietário", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", - "label.teams": "Times", + "label.team": "Equipe", + "label.team-id": "ID da equipe", + "label.team-manager": "Team manager", + "label.team-member": "Membro da equipe", + "label.team-name": "Nome da equipe", + "label.team-owner": "Proprietário da equipe", + "label.team-view-only": "Apenas visualização da equipe", + "label.team-websites": "Sites da equipe", + "label.teams": "Equipes", "label.theme": "Tema", "label.this-month": "Este mês", "label.this-week": "Esta semana", @@ -170,77 +198,82 @@ "label.timezone": "Fuso horário", "label.title": "Título", "label.today": "Hoje", - "label.toggle-charts": "Mostrar/Esconder gráficos", + "label.toggle-charts": "Alternar gráficos", "label.total": "Total", - "label.total-records": "Total records", + "label.total-records": "Total de registros", "label.tracking-code": "Código de rastreamento", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", + "label.transactions": "Transactions", + "label.transfer": "Transferir", + "label.transfer-website": "Transferir site", + "label.true": "Sim", "label.type": "Tipo", - "label.unique": "Único", + "label.unique": "Únicos", "label.unique-visitors": "Visitantes únicos", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Desconhecido", "label.untitled": "Sem título", - "label.update": "Update", + "label.update": "Atualizar", "label.url": "URL", "label.urls": "URLs", "label.user": "Usuário", + "label.user-property": "User Property", "label.username": "Nome de usuário", "label.users": "Usuários", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "Acompanhe suas campanhas de publicidade através de parâmetros UTM.", "label.value": "Valor", - "label.view": "Ver", - "label.view-details": "Ver detalhes", + "label.view": "Visualizar", + "label.view-details": "Ver mais", "label.view-only": "Somente visualização", "label.views": "Visualizações", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Visualizações por visita", + "label.visit-duration": "Tempo médio de visita", "label.visitors": "Visitantes", - "label.visits": "Visits", - "label.website": "Website", - "label.website-id": "ID do Site", + "label.visits": "Visitas", + "label.website": "Site", + "label.website-id": "ID do site", "label.websites": "Sites", "label.window": "Janela", "label.yesterday": "Ontem", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", - "message.active-users": "{x} {x, plural, one {visitante} other {visitantes}} neste momento", - "message.confirm-delete": "Deseja realmente remover {target}?", - "message.confirm-leave": "Você tem certeza que deseja sair de {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", - "message.confirm-reset": "Você tem certeza que deseja redefinir as estatísticas de {target}?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", - "message.delete-website-warning": "Todos os dados associados também serão eliminados.", + "message.action-confirmation": "Digite {confirmation} na caixa abaixo para confirmar.", + "message.active-users": " Atualmente {x} usuários ativos", + "message.collected-data": "Collected data", + "message.confirm-delete": "Tem certeza de que deseja excluir {target}?", + "message.confirm-leave": "Tem certeza de que deseja sair de {target}?", + "message.confirm-remove": "Tem certeza que deseja remover {target}?", + "message.confirm-reset": "Tem certeza que deseja redefinir os dados de {target}?", + "message.delete-team-warning": "Excluir a equipe também excluirá todos os sites da equipe.", + "message.delete-website-warning": "Todos os dados relacionados serão excluídos.", "message.error": "Ocorreu um erro.", "message.event-log": "{event} em {url}", "message.go-to-settings": "Ir para as configurações", - "message.incorrect-username-password": "O nome de usuário e/ou senha está incorreto.", + "message.incorrect-username-password": "Nome de usuário ou senha incorretos.", "message.invalid-domain": "Domínio inválido", - "message.min-password-length": "Quantidade mínima de {n} caracteres", - "message.new-version-available": "Uma nova versão do Umami {version} está disponível!", - "message.no-data-available": "Sem dados disponíveis.", - "message.no-event-data": "Nenhum dado de evento está disponível.", - "message.no-match-password": "As senhas não correspondem", - "message.no-results-found": "Nenhum resultado foi encontrado.", - "message.no-team-websites": "Este time não possui nenhum site.", - "message.no-teams": "Você não criou nenhum time.", - "message.no-users": "Não há nenhum usuário.", - "message.no-websites-configured": "Nenhum site foi configurado ainda.", + "message.min-password-length": "A senha deve ter no mínimo {n} caracteres", + "message.new-version-available": "Uma nova versão {version} do Umami está disponível!", + "message.no-data-available": "Não há dados disponíveis.", + "message.no-event-data": "Não há eventos disponíveis.", + "message.no-match-password": "As senhas não coincidem.", + "message.no-results-found": "Nenhum resultado encontrado.", + "message.no-team-websites": "Esta equipe não possui sites.", + "message.no-teams": "Você ainda não criou nenhuma equipe.", + "message.no-users": "Não há usuários.", + "message.no-websites-configured": "Você ainda não configurou nenhum site.", "message.page-not-found": "Página não encontrada.", - "message.reset-website": "Para redefinir este site, digite {confirmation} na caixa abaixo para confirmar.", - "message.reset-website-warning": "Todas as estatísticas deste site serão removidas, mas seu código de rastreamento permanecerá intacto.", + "message.reset-website": "Se você tiver certeza de que deseja redefinir este site, digite {confirmation} na caixa de entrada abaixo para confirmar.", + "message.reset-website-warning": "Todos os dados estatísticos deste site serão excluídos, mas seu código de rastreamento permanecerá o mesmo.", "message.saved": "Salvo com sucesso.", - "message.share-url": "Este é o link público de compartilhamento para {target}.", - "message.team-already-member": "Você já um membro do time.", - "message.team-not-found": "Time não encontrado.", - "message.team-websites-info": "Os sites podem ser visualizados por qualquer membro da equipe.", + "message.share-url": "Este é o link para compartilhar {target}.", + "message.team-already-member": "Você já é membro desta equipe.", + "message.team-not-found": "Equipe não encontrada.", + "message.team-websites-info": "Qualquer membro da equipe pode visualizar os sites.", "message.tracking-code": "Código de rastreamento", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", - "message.user-deleted": "Usuário removido.", - "message.viewed-page": "Viewed page", - "message.visitor-log": "Visitante de {country} usando {browser} no {device} {os}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.transfer-team-website-to-user": "Transferir este site para sua conta?", + "message.transfer-user-website-to-team": "Selecione para qual equipe deseja transferir este site.", + "message.transfer-website": "Transfira a propriedade do site para sua conta ou para outra equipe.", + "message.triggered-event": "Evento disparado", + "message.user-deleted": "Usuário excluído.", + "message.viewed-page": "Página visualizada", + "message.visitor-log": "Visitante de {country} usando o navegador {browser} em um {device} com sistema operacional {os}.", + "message.visitors-dropped-off": "Visitantes abandonados" } diff --git a/src/lang/pt-PT.json b/src/lang/pt-PT.json index 36966c98..ddc6b726 100644 --- a/src/lang/pt-PT.json +++ b/src/lang/pt-PT.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Ações", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Todo o tempo", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Tempo médio de visita", "label.back": "Voltar", "label.before": "Before", "label.bounce-rate": "Taxa de rejeição", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Confirmar senha", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Países", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Senha atual", "label.custom-range": "Intervalo personalizado", "label.dashboard": "Painel", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Ativar link de partilha", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Eventos", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Combinado", "label.filter-raw": "Dados brutos", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Língua", "label.languages": "Línguas", "label.laptop": "Portátil", "label.last-days": "Últimos {x} dias", "label.last-hours": "Últimas {x} horas", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Iniciar sessão", "label.logout": "Sair", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Páginas", "label.password": "Senha", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Distribuído por {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Perfil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Repor estatísticas", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Guardar", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Definições", "label.share-url": "Partilhar link", "label.single-day": "Dia único", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Código de rastreamento", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Visitantes únicos", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Desconhecido", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Nome de utilizador", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Visualizações", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Tempo médio de visita", "label.visitors": "Visitantes", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} {x, plural, one {visitante} other {visitantes}} neste momento", + "message.collected-data": "Collected data", "message.confirm-delete": "Tem a certeza que pretende eliminar {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/ro-RO.json b/src/lang/ro-RO.json index 296f51b7..feb3dd5b 100644 --- a/src/lang/ro-RO.json +++ b/src/lang/ro-RO.json @@ -1,19 +1,18 @@ { "label.access-code": "Cod de access", "label.actions": "Acțiuni", - "label.activity-log": "Jurnal de activități", + "label.activity": "Jurnal de activități", "label.add": "Adaugă", "label.add-description": "Adaugă descriere", "label.add-member": "Adaugă membru", - "label.add-step": "Add step", - "label.add-website": "Adăugare site web", + "label.add-step": "Adaugă pas", + "label.add-website": "Adaugă site web", "label.admin": "Administrator", "label.after": "După", "label.all": "Toate", "label.all-time": "Pentru tot timpul", "label.analytics": "Analytics", "label.average": "Mediu", - "label.average-visit-time": "Timp mediu de vizitare", "label.back": "Înapoi", "label.before": "Înainte", "label.bounce-rate": "Rata de respingere", @@ -25,10 +24,12 @@ "label.cities": "Orașe", "label.city": "Oraș", "label.clear-all": "Șterge tot", + "label.compare": "Compară", "label.confirm": "Confirm", "label.confirm-password": "Confirmare parolă", "label.contains": "Conține", "label.continue": "Continuă", + "label.count": "Număr", "label.countries": "Țări", "label.country": "Țară", "label.create": "Crează", @@ -36,20 +37,21 @@ "label.create-team": "Crează echipă", "label.create-user": "Crează utilizator", "label.created": "Creat", - "label.created-by": "Created By", + "label.created-by": "Creat de", + "label.current": "Curent", "label.current-password": "Parola curentă", "label.custom-range": "Interval personalizat", "label.dashboard": "Tablou de bord", "label.data": "Date", - "label.date": "Data", - "label.date-range": "Interval de date", + "label.date": "Dată", + "label.date-range": "Interval", "label.day": "Zi", - "label.default-date-range": "Interval de date implicit", + "label.default-date-range": "Interval implicit", "label.delete": "Șterge", "label.delete-report": "Șterge raport", "label.delete-team": "Șterge echipă", "label.delete-user": "Șterge utilizator", - "label.delete-website": "Ștergere site web", + "label.delete-website": "Șterge site web", "label.description": "Descriere", "label.desktop": "Desktop", "label.details": "Detalii", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Editare tablou de bord", "label.edit-member": "Editare membru", "label.enable-share-url": "Activare adresă URL de distribuire", + "label.end-step": "Pas final", + "label.entry": "URL de intrare", "label.event": "Eveniment", "label.event-data": "Date despre eveniment", "label.events": "Evenimente", + "label.exit": "URL de ieșire", "label.false": "Fals", "label.field": "Câmp", "label.fields": "Câmpuri", @@ -73,10 +78,16 @@ "label.filter-combined": "Combinat", "label.filter-raw": "Brut", "label.filters": "Filtre", + "label.first-seen": "Văzut pentru prima dată", "label.funnel": "Parcursul utilizatorului", "label.funnel-description": "Înțelege rata de conversie și rata de abandon a utilizatorilor.", + "label.goal": "Obiectiv", + "label.goals": "Obiective", + "label.goals-description": "Urmărește obiectivele de vizualizări și evenimente.", "label.greater-than": "Mai mare decât", "label.greater-than-equals": "Mai mare sau egal cu", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Perspective", "label.insights-description": "Aprofundează datele utilizând segmente și filtre.", "label.is": "Este", @@ -85,12 +96,15 @@ "label.is-set": "Este setat", "label.join": "Alătură-te", "label.join-team": "Alătură-te echipei", + "label.journey": "Traseu", + "label.journey-description": "Înțelege cum navighează vizitatorii prin website.", "label.language": "Limbă", "label.languages": "Limbi", "label.laptop": "Laptop", "label.last-days": "Ultimele {x} zile", "label.last-hours": "Ultimele {x} ore", - "label.last-months": "Last {x} months", + "label.last-months": "Ultimele {x} luni", + "label.last-seen": "Văzut ultima dată", "label.leave": "Părăsește", "label.leave-team": "Părăsește echipa", "label.less-than": "Mai puțin decât", @@ -98,6 +112,7 @@ "label.login": "Autentificare", "label.logout": "Ieșire din cont", "label.manage": "Administrează", + "label.manager": "Manager", "label.max": "Max", "label.member": "Membru", "label.members": "Membri", @@ -119,8 +134,15 @@ "label.pageTitle": "Titlul paginii", "label.pages": "Pagini", "label.password": "Parolă", + "label.path": "Rută", + "label.paths": "Rute", "label.powered-by": "Cu sprijinul {name}", + "label.previous": "Anterior", + "label.previous-period": "Perioda anterioară", + "label.previous-year": "Anul anterior", "label.profile": "Profil", + "label.properties": "Proprietăți", + "label.property": "Proprietate", "label.queries": "Interogări", "label.query": "Interogare", "label.query-parameters": "Parametri de interogare", @@ -139,6 +161,9 @@ "label.reset-website": "Resetează statisticile pentru site", "label.retention": "Retenție", "label.retention-description": "Măsoară atractivitatea site-ului tău prin urmărirea frecvenței cu care utilizatorii se întorc.", + "label.revenue": "Venit", + "label.revenue-description": "Urmărește venitul în timp.", + "label.revenue-property": "Revenue Property", "label.role": "Rol", "label.run-query": "Execută interogarea", "label.save": "Salvează", @@ -148,15 +173,18 @@ "label.select-date": "Selectează data", "label.select-role": "Selectează rolul", "label.select-website": "Selectează website", + "label.session": "Sesiune", "label.sessions": "Sesiuni", "label.settings": "Setări", "label.share-url": "Partajare URL", "label.single-day": "O singură zi", - "label.steps": "Steps", + "label.start-step": "Pas de început", + "label.steps": "Pași", "label.sum": "Sumă", "label.tablet": "Tabletă", "label.team": "Echipă", - "label.team-id": "ID Echipa", + "label.team-id": "ID Echipă", + "label.team-manager": "Manager echipă", "label.team-member": "Membru echipă", "label.team-name": "Nume echipă", "label.team-owner": "Titular echipă", @@ -174,30 +202,34 @@ "label.total": "Total", "label.total-records": "Total înregistrări", "label.tracking-code": "Cod de urmărire", + "label.transactions": "Tranzacții", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "Adevărat", "label.type": "Tip", "label.unique": "Unici", "label.unique-visitors": "Vizitatori unici", + "label.uniqueCustomers": "Clienți unici", "label.unknown": "Necunoscut", "label.untitled": "Fără titlu", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Utilizator", + "label.user-property": "Proprietatea utilizatorului", "label.username": "Nume utilizator", "label.users": "Utilizatori", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "Urmărește campaniile tale cu parametri UTM.", "label.value": "Valoare", "label.view": "Vizualizare", "label.view-details": "Vizualizare detalii", "label.view-only": "Doar vizualizare", "label.views": "Vizualizări", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Vizualizări per vizită", + "label.visit-duration": "Timp mediu de vizitare", "label.visitors": "Vizitatori", - "label.visits": "Visits", + "label.visits": "Vizite", "label.website": "Website", "label.website-id": "ID Website", "label.websites": "Site-uri web", @@ -205,6 +237,7 @@ "label.yesterday": "Ieri", "message.action-confirmation": "Scrie {confirmation} în câmpul de mai jos pentru a confirma.", "message.active-users": "{x} {x, plural, one {vizitator activ} other {vizitatori activi}}", + "message.collected-data": "Date colectate", "message.confirm-delete": "Ești sigur că vrei să ștergi {target}?", "message.confirm-leave": "Ești sigur că vrei să părăsești {target}?", "message.confirm-remove": "Ești sigur că vrei să ștergi {target}?", diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 3d1d8e74..558b411a 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -1,167 +1,195 @@ { "label.access-code": "Код доступа", "label.actions": "Действия", - "label.activity-log": "Журнал активности", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "Журнал активности", + "label.add": "Добавить", + "label.add-description": "Добавить описание", + "label.add-member": "Добавить участника", + "label.add-step": "Добавить шаг", "label.add-website": "Добавить сайт", "label.admin": "Администратор", - "label.after": "After", + "label.after": "После", "label.all": "Все", "label.all-time": "Все время", "label.analytics": "Аналитика", - "label.average": "Average", - "label.average-visit-time": "Среднее время посещения", + "label.average": "Средний", "label.back": "Назад", - "label.before": "Before", + "label.before": "До", "label.bounce-rate": "Отказы", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.breakdown": "Авария", + "label.browser": "Браузер", "label.browsers": "Браузеры", "label.cancel": "Отменить", "label.change-password": "Изменить пароль", "label.cities": "Города", - "label.city": "City", + "label.city": "Город", "label.clear-all": "Очистить все", + "label.compare": "Сравнить", "label.confirm": "Подтвердить", "label.confirm-password": "Подтвердить пароль", - "label.contains": "Contains", + "label.contains": "Содержит", "label.continue": "Продолжить", + "label.count": "Считать", "label.countries": "Страны", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", + "label.country": "Страна", + "label.create": "Создать", + "label.create-report": "Создать отчет", "label.create-team": "Создать команду", "label.create-user": "Создать пользователя", "label.created": "Создано", - "label.created-by": "Created By", + "label.created-by": "Создано", + "label.current": "Текущий", "label.current-password": "Текущий пароль", "label.custom-range": "Другой период", "label.dashboard": "Информационная панель", "label.data": "Данные", - "label.date": "Date", + "label.date": "Дата", "label.date-range": "Диапазон дат", - "label.day": "Day", + "label.day": "День", "label.default-date-range": "Диапазон дат по-умолчанию", "label.delete": "Удалить", - "label.delete-report": "Delete report", + "label.delete-report": "Удалить отчет", "label.delete-team": "Удалить команду", "label.delete-user": "Удалить пользователя", "label.delete-website": "Удалить сайт", - "label.description": "Description", + "label.description": "Описание", "label.desktop": "Настольный компьютер", "label.details": "Подробности", - "label.device": "Device", + "label.device": "Устройство", "label.devices": "Устройства", "label.dismiss": "Отклонить", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "Не содержит", "label.domain": "Домен", - "label.dropoff": "Dropoff", + "label.dropoff": "Высадка", "label.edit": "Изменить", "label.edit-dashboard": "Редактировать дашборд", - "label.edit-member": "Edit member", + "label.edit-member": "Редактировать участника", "label.enable-share-url": "Разрешить делиться ссылкой", - "label.event": "Event", - "label.event-data": "Event data", + "label.end-step": "Конечный шаг", + "label.entry": "URL-адрес входа", + "label.event": "Событие", + "label.event-data": "Данные о событии", "label.events": "События", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter": "Filter", + "label.exit": "URL-адрес выхода", + "label.false": "Ложь", + "label.field": "Поле", + "label.fields": "Поля", + "label.filter": "Фильтр", "label.filter-combined": "Объединенные", "label.filter-raw": "Сырые данные", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", - "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", + "label.filters": "Фильтры", + "label.first-seen": "Первый вход", + "label.funnel": "Воронка", + "label.funnel-description": "Изучите коэффициент конверсии и ухода пользователей.", + "label.goal": "Цель", + "label.goals": "Цели", + "label.goals-description": "Отслеживайте свои цели по просмотрам страниц и событиям.", + "label.greater-than": "Больше, чем", + "label.greater-than-equals": "Больше или равно", + "label.host": "Host", + "label.hosts": "Hosts", + "label.insights": "Информация", + "label.insights-description": "Погрузитесь глубже в свои данные с помощью сегментов и фильтров.", + "label.is": "Является", + "label.is-not": "Не установлен", + "label.is-not-set": "Не установлено", + "label.is-set": "Установлен", "label.join": "Присоединиться", "label.join-team": "Присоединиться к команде", + "label.journey": "Journey", + "label.journey-description": "Поймите, как пользователи перемещаются по вашему сайту.", "label.language": "Язык", "label.languages": "Языки", "label.laptop": "Ноутбук", "label.last-days": "Последние {x} дней", "label.last-hours": "Последние {x} часа", - "label.last-months": "Last {x} months", + "label.last-months": "Последние {x} месяцев", + "label.last-seen": "Последний вход", "label.leave": "Уйти", "label.leave-team": "Покинуть команду", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.less-than": "Меньше, чем", + "label.less-than-equals": "Меньше или равно", "label.login": "Войти", "label.logout": "Выйти", - "label.manage": "Manage", - "label.max": "Max", - "label.member": "Member", + "label.manage": "Управление", + "label.manager": "Менеджер", + "label.max": "Максимум", + "label.member": "Участник", "label.members": "Участники", - "label.min": "Min", + "label.min": "Минимум", "label.mobile": "Смартфон", "label.more": "Больше", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Мой профиль", + "label.my-websites": "Мои сайты", "label.name": "Имя", "label.new-password": "Новый пароль", "label.none": "Не указано", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", + "label.number-of-records": "{x} {x, plural, one {запись} other {записи}}", "label.ok": "OK", "label.os": "OS", - "label.overview": "Overview", + "label.overview": "Обзор", "label.owner": "Владелец", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Страница {current} из {total}", "label.page-views": "Просмотры страниц", - "label.pageTitle": "Page title", + "label.pageTitle": "Название страницы", "label.pages": "Страницы", "label.password": "Пароль", + "label.path": "Путь", + "label.paths": "Пути", "label.powered-by": "На движке {name}", + "label.previous": "Предыдущий", + "label.previous-period": "Предыдущий период", + "label.previous-year": "Предыдущий год", "label.profile": "Профиль", + "label.properties": "Свойства", + "label.property": "Свойство", "label.queries": "Запросы", - "label.query": "Query", + "label.query": "Запрос", "label.query-parameters": "Параметры запроса", "label.realtime": "Реальное время", - "label.referrer": "Referrer", + "label.referrer": "Реферер", "label.referrers": "Источники", "label.refresh": "Обновить", "label.regenerate": "Обновить", - "label.region": "Region", + "label.region": "Регион", "label.regions": "Регионы", "label.remove": "Удалить", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.remove-member": "Удалить участника", + "label.reports": "Отчеты", "label.required": "Обязательное", "label.reset": "Сбросить", "label.reset-website": "Сбросить статистику", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.retention": "Удержание", + "label.retention-description": "Измерьте «прилипаемость» вашего сайта, отслеживая, как часто пользователи возвращаются на него.", + "label.revenue": "Выручка", + "label.revenue-description": "Изучите свои доходы за определенное время.", + "label.revenue-property": "Доходная недвижимость", "label.role": "Роль", - "label.run-query": "Run query", + "label.run-query": "Выполнить запрос", "label.save": "Сохранить", "label.screens": "Экраны", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", + "label.search": "Поиск", + "label.select": "Выберите", + "label.select-date": "Выберите дату", + "label.select-role": "Выберите роль", "label.select-website": "Выбрать сайт", + "label.session": "Сессия", "label.sessions": "Сессии", "label.settings": "Настройки", "label.share-url": "Поделиться ссылкой", "label.single-day": "Один день", - "label.steps": "Steps", - "label.sum": "Sum", + "label.start-step": "Начальный этап", + "label.steps": "Шаги", + "label.sum": "Сумма", "label.tablet": "Планшет", "label.team": "Команда", "label.team-id": "ID команды", + "label.team-manager": "Менеджер команды", "label.team-member": "Член команды", - "label.team-name": "Team name", + "label.team-name": "Название команды", "label.team-owner": "Владелец команды", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", + "label.team-view-only": "Только командный просмотр", + "label.team-websites": "Веб-сайты команды", "label.teams": "Команды", "label.theme": "Тема", "label.this-month": "Этот месяц", @@ -171,57 +199,62 @@ "label.title": "Заголовок", "label.today": "Сегодня", "label.toggle-charts": "Показать/скрыть графики", - "label.total": "Total", - "label.total-records": "Total records", + "label.total": "Всего", + "label.total-records": "Всего записей", "label.tracking-code": "Код отслеживания", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.transactions": "Транзакции", + "label.transfer": "Передача", + "label.transfer-website": "Передать сайт", + "label.true": "Правда", + "label.type": "Тип", + "label.unique": "Уникальный", "label.unique-visitors": "Уникальные посетители", + "label.uniqueCustomers": "Уникальные клиенты", "label.unknown": "Неизвестно", - "label.untitled": "Untitled", - "label.update": "Update", + "label.untitled": "Без названия", + "label.update": "Обновление", "label.url": "URL", "label.urls": "URLs", "label.user": "Пользователь", + "label.user-property": "Собственность пользователя", "label.username": "Имя пользователя", "label.users": "Пользователи", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", - "label.value": "Value", + "label.utm-description": "Отслеживайте свои кампании с помощью UTM-параметров.", + "label.value": "Значение", "label.view": "Просмотреть", "label.view-details": "Посмотреть детали", - "label.view-only": "View only", + "label.view-only": "Только просмотр", "label.views": "Просмотры", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Просмотров за посещение", + "label.visit-duration": "Среднее время посещения", "label.visitors": "Посетители", - "label.visits": "Visits", - "label.website": "Website", + "label.visits": "Посещения", + "label.website": "Сайт", "label.website-id": "ID сайта", "label.websites": "Сайты", - "label.window": "Window", + "label.window": "Окно", "label.yesterday": "Вчера", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "message.action-confirmation": "Введите {confirmation} в поле ниже, чтобы подтвердить.", "message.active-users": "{x} текущих посетителей", + "message.collected-data": "Собранные данные", "message.confirm-delete": "Вы уверены, что хотите удалить {target}?", "message.confirm-leave": "Вы уверены, что хотите уйти {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", + "message.confirm-remove": "Вы уверены, что хотите удалить {target}?", "message.confirm-reset": "Вы уверены, что хотите сбросить статистику {target}?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", + "message.delete-team-warning": "При удалении команды будут удалены и все ее веб-сайты.", "message.delete-website-warning": "Все связанные данные будут также удалены.", "message.error": "Что-то пошло не так.", - "message.event-log": "{event} on {url}", + "message.event-log": "{event} на {url}", "message.go-to-settings": "Перейти к настройкам", "message.incorrect-username-password": "Неверное имя пользователя/пароль.", "message.invalid-domain": "Некорректный домен", "message.min-password-length": "Минимальная длина {n} символов", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.new-version-available": "Вышла новая версия Umami {version}!", "message.no-data-available": "Нет данных.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "Данные о событиях отсутствуют.", "message.no-match-password": "Пароли не совпадают", - "message.no-results-found": "No results were found.", + "message.no-results-found": "Результаты не найдены.", "message.no-team-websites": "У этой команды нет ни одного сайта.", "message.no-teams": "Вы не создали ни одной команды.", "message.no-users": "Нет пользователей.", @@ -235,12 +268,12 @@ "message.team-not-found": "Команда не найдена.", "message.team-websites-info": "Сайты могут просматривать все члены команды.", "message.tracking-code": "Код отслеживания", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", + "message.transfer-team-website-to-user": "Перенести этот сайт в свой прфоиль?", + "message.transfer-user-website-to-team": "Выберите команду, которой нужно передать этот сайт.", + "message.transfer-website": "Передайте право владения сайтом своей учетной записи или другой команде.", + "message.triggered-event": "Запущенное событие", "message.user-deleted": "Пользователь удален.", - "message.viewed-page": "Viewed page", + "message.viewed-page": "Просмотренная страница", "message.visitor-log": "Посетитель из {country} используя {browser} на {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "Высадка посетителей" } diff --git a/src/lang/si-LK.json b/src/lang/si-LK.json index 6f672ab5..46dab6b3 100644 --- a/src/lang/si-LK.json +++ b/src/lang/si-LK.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Actions", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "හැම වෙලාවෙම", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Average visit time", "label.back": "ආපසු", "label.before": "Before", "label.bounce-rate": "Bounce rate", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "මුරපදය සත්‍යාපනය කරන්න", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Countries", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "වත්මන් මුරපදය", "label.custom-range": "අභිරුචි පරාසය", "label.dashboard": "උපකරණ පුවරුව", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "බෙදාගැනීමේ URL සබල කරන්න", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "සිදුවීම් දත්ත", "label.events": "Events", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "භාෂාව", "label.languages": "Languages", "label.laptop": "Laptop", "label.last-days": "අන්තිම {x} දින", "label.last-hours": "අන්තිම {x} පැය", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "ලොග් වෙන්න", "label.logout": "පිටවීම", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Pages", "label.password": "මුරපදය", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "පැතිකඩ", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "සුරකින්න", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "සැකසුම්", "label.share-url": "බෙදාගැනීමේ URL", "label.single-day": "තනි දවස", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "ලුහුබැඳීමේ කේතය", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Unique visitors", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "නොදනී", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "පරිශීලක නාමය", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Views", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Visit duration", "label.visitors": "Visitors", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "ඊයේ", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} දැන් {x, plural, one {අමුත්තා} other {අමුත්තන්}}", + "message.collected-data": "Collected data", "message.confirm-delete": "{target} මකා දැමීම ගැන විශ්වාසද?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/sk-SK.json b/src/lang/sk-SK.json index d978281a..2a02b5c7 100644 --- a/src/lang/sk-SK.json +++ b/src/lang/sk-SK.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Akcie", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Priemerný čas návštevy", "label.back": "Späť", "label.before": "Before", "label.bounce-rate": "Okamžité opustenie", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Potvrdiť heslo", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Zem", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Aktuálne heslo", "label.custom-range": "Vlastný rozsah", "label.dashboard": "Prehlad", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Povoliť zdielanie URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Udalosti", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Kombinácie", "label.filter-raw": "Nezpracované", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "Prenosný počítač", "label.last-days": "Posledných {x} dní", "label.last-hours": "Posledných {x} hodín", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Prihlásiť", "label.logout": "Odhlásiť", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Stránky", "label.password": "Heslo", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Powered by {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Uložiť", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Nastavenia", "label.share-url": "Zdielanie URL", "label.single-day": "Jeden deň", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Sledovací kód", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Jedinečné návštevy", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Neznámý", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Užívateľské meno", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Zobrazení", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Priemerný čas návštevy", "label.visitors": "Návštevy", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} aktuálne {x, plural, one {návštevník} other {návštěvníci}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Naozaj zmazať {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index 9ba94e3b..bd180bfb 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -1,7 +1,7 @@ { "label.access-code": "Koda za dostop", "label.actions": "Dejanja", - "label.activity-log": "Dnevnik dejavnosti", + "label.activity": "Dnevnik dejavnosti", "label.add": "Dodaj", "label.add-description": "Dodaj opis", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Ves čas", "label.analytics": "Analitika", "label.average": "Povprečno", - "label.average-visit-time": "Povprečni čas obiska", "label.back": "Nazaj", "label.before": "Pred", "label.bounce-rate": "Odbojna stopnja", @@ -25,10 +24,12 @@ "label.cities": "Mesta", "label.city": "Mesto", "label.clear-all": "Počisti vse", + "label.compare": "Compare", "label.confirm": "Potrdi", "label.confirm-password": "Potrdi geslo", "label.contains": "Vsebuje", "label.continue": "Nadaljuj", + "label.count": "Count", "label.countries": "Države", "label.country": "Država", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Ustvari uporabnika", "label.created": "Ustvarjeno", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Trenutno geslo", "label.custom-range": "Obdobje po meri", "label.dashboard": "Nadzorna plošča", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Uredi nadzorno ploščo", "label.edit-member": "Edit member", "label.enable-share-url": "Uredi povezavo za deljenje", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Dogodek", "label.event-data": "Podatki dogodka", "label.events": "Dogodki", + "label.exit": "Exit URL", "label.false": "Napačno", "label.field": "Polje", "label.fields": "Polja", @@ -73,10 +78,16 @@ "label.filter-combined": "Skupaj", "label.filter-raw": "Neobdelano", "label.filters": "Filtri", + "label.first-seen": "First seen", "label.funnel": "Prodajni lijak", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Večje od", "label.greater-than-equals": "Večje ali enako kot", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Vpogled", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Je", @@ -85,12 +96,15 @@ "label.is-set": "Je nastavljeno", "label.join": "Pridruži se", "label.join-team": "Pridruži se ekipi", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Jezik", "label.languages": "Jeziki", "label.laptop": "Prenosni računalnik", "label.last-days": "Zadnjih {x} dni", "label.last-hours": "Zadnjih {x} ur", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Zapusti", "label.leave-team": "Zapusti ekipo", "label.less-than": "Manjše kot", @@ -98,6 +112,7 @@ "label.login": "Prijava", "label.logout": "Odjava", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Največ", "label.member": "Member", "label.members": "Člani", @@ -119,8 +134,15 @@ "label.pageTitle": "Naslov strani", "label.pages": "Strani", "label.password": "Geslo", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Poganja {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Poizvedbe", "label.query": "Poizvedba", "label.query-parameters": "Parametri poizvedbe", @@ -139,6 +161,9 @@ "label.reset-website": "Ponastavi statistiko", "label.retention": "Ohranjanje uporabnikov", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Vloga", "label.run-query": "Izvedi poizvedbo", "label.save": "Shrani", @@ -148,15 +173,18 @@ "label.select-date": "Izberi datum", "label.select-role": "Select role", "label.select-website": "Izberi spletno mesto", + "label.session": "Session", "label.sessions": "Seje", "label.settings": "Nastavitve", "label.share-url": "Deli povezavo", "label.single-day": "En dan", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Seštevek", "label.tablet": "Tablični računalnik", "label.team": "Ekipa", "label.team-id": "ID ekipe", + "label.team-manager": "Team manager", "label.team-member": "Član ekipe", "label.team-name": "Ime ekipe", "label.team-owner": "Lastnik ekipe", @@ -174,18 +202,21 @@ "label.total": "Skupaj", "label.total-records": "Skupni zapisi", "label.tracking-code": "Koda za sledenje", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "Pravilno", "label.type": "Vrsta", "label.unique": "Unikatni", "label.unique-visitors": "Unikatni obiskovalci", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Neznano", "label.untitled": "Brez naslova", "label.update": "Update", "label.url": "Povezava", "label.urls": "Povezave", "label.user": "Uporabnik", + "label.user-property": "User Property", "label.username": "Uporabniško ime", "label.users": "Uporabniki", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "Samo ogledovanje", "label.views": "Obiski", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Povprečni čas obiska", "label.visitors": "Obiskovalci", "label.visits": "Visits", "label.website": "Spletno mesto", @@ -205,6 +237,7 @@ "label.yesterday": "Včeraj", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} trenutni {x, plural, one {obiskovalec} other {obiskovalcev}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Ste prepričani, da želite izbrisati {target}?", "message.confirm-leave": "Ste prepričani, da želite zapustiti {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index 87e90942..cdaa676a 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -1,7 +1,7 @@ { "label.access-code": "Åtkomstkod", "label.actions": "Händelser", - "label.activity-log": "Aktivitetslogg", + "label.activity": "Aktivitetslogg", "label.add": "Lägg till", "label.add-description": "Lägg till beskrivning", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Sedan början", "label.analytics": "Webbplats Analys", "label.average": "Genomsnitt", - "label.average-visit-time": "Genomsnittlig besökstid", "label.back": "Tillbaka", "label.before": "Före", "label.bounce-rate": "Avvisningsfrekvens", @@ -25,10 +24,12 @@ "label.cities": "Städer", "label.city": "Stad", "label.clear-all": "Rensa alla", + "label.compare": "Compare", "label.confirm": "Bekräfta", "label.confirm-password": "Bekräfta lösenord", "label.contains": "Innehåller", "label.continue": "Fortsätt", + "label.count": "Count", "label.countries": "Länder", "label.country": "Land", "label.create": "Skapa", @@ -37,6 +38,7 @@ "label.create-user": "Skapa användare", "label.created": "Skapad", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Nuvarande lösenord", "label.custom-range": "Anpassat urval", "label.dashboard": "Översikt", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Redigera översikt", "label.edit-member": "Edit member", "label.enable-share-url": "Aktivera delningslänk", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Händelse", "label.event-data": "Händelsedata", "label.events": "Händelser", + "label.exit": "Exit URL", "label.false": "Falskt", "label.field": "Fält", "label.fields": "Fältar", @@ -73,10 +78,16 @@ "label.filter-combined": "Kombinerade", "label.filter-raw": "Rådata", "label.filters": "Filter", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Förstå omvandlingen och bortfallsfrekvensen för användare.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Större än", "label.greater-than-equals": "Större än eller lika med", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insikter", "label.insights-description": "Dyk djupare in i din data genom att använda olika segment och filter.", "label.is": "Är", @@ -85,12 +96,15 @@ "label.is-set": "Är inställd", "label.join": "Gå med", "label.join-team": "Gå med i team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Språk", "label.languages": "Språk", "label.laptop": "Bärbar", "label.last-days": "Senaste {x} dagarna", "label.last-hours": "Senaste {x} timmarna", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Lämna", "label.leave-team": "Lämna team", "label.less-than": "Mindre än", @@ -98,6 +112,7 @@ "label.login": "Logga in", "label.logout": "Logga ut", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Medlemmar", @@ -119,8 +134,15 @@ "label.pageTitle": "Sidtitel", "label.pages": "Sidor", "label.password": "Lösenord", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Drivs av {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Frågor", "label.query": "Fråga", "label.query-parameters": "Frågeparametrar", @@ -139,6 +161,9 @@ "label.reset-website": "Återställ webbplats", "label.retention": "Retention", "label.retention-description": "Mät din webbplats engagemang genom att följa hur ofta användare återvänder.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Roll", "label.run-query": "Kör sökning", "label.save": "Spara", @@ -148,15 +173,18 @@ "label.select-date": "Välj datum", "label.select-role": "Select role", "label.select-website": "Välj webbplats", + "label.session": "Session", "label.sessions": "Sessioner", "label.settings": "Inställningar", "label.share-url": "Delningslänk", "label.single-day": "En dag", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Summa", "label.tablet": "Surfplatta", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team-medlem", "label.team-name": "Team namn", "label.team-owner": "Team-ägare", @@ -174,18 +202,21 @@ "label.total": "Totalt", "label.total-records": "Totala poster", "label.tracking-code": "Spårningskod", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "Sant", "label.type": "Typ", "label.unique": "Unikt", "label.unique-visitors": "Unika besökare", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Okänt", "label.untitled": "Namnlös", "label.update": "Update", "label.url": "Länk", "label.urls": "Länkar", "label.user": "Användare", + "label.user-property": "User Property", "label.username": "Användarnamn", "label.users": "Användare", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "Endast visning", "label.views": "Visningar", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Genomsnittlig besökstid", "label.visitors": "Besökare", "label.visits": "Visits", "label.website": "Webbplats", @@ -205,6 +237,7 @@ "label.yesterday": "Igår", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} {x, plural, one {besökare} other {besökare}} just nu", + "message.collected-data": "Collected data", "message.confirm-delete": "Är du säker på att du vill radera {target}?", "message.confirm-leave": "Är du säker på att du vill lämna {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/ta-IN.json b/src/lang/ta-IN.json index 4e40c490..1e4466b5 100644 --- a/src/lang/ta-IN.json +++ b/src/lang/ta-IN.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "செயல்கள்", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "All time", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "சராசரி வருகை நேரம்", "label.back": "பின்னால்", "label.before": "Before", "label.bounce-rate": "துள்ளல் விகிதம்", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "கடவுச்சொல்லை உறுதிப்படுத்தவும்", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "நாடுகள்", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "தற்போதைய கடவுச்சொல்", "label.custom-range": "தனிப்பயன் வேறுபாட்டெல்லை", "label.dashboard": "முகப்பு", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "கள முகவரியை பகிரலாம்", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "நிகழ்வுகள்", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "ஒருங்கிணைந்த", "label.filter-raw": "மூல", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Languages", "label.laptop": "மடிக்கணினி", "label.last-days": "முந்தைய {x} நாட்கள்", "label.last-hours": "முந்தைய {x} மணி", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "உள்நுழைய", "label.logout": "வெளியேறு", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "பக்கங்கள்", "label.password": "கடவுச்சொல்", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "{name} ஆல் இயக்கப்படுகிறது", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "சுயவிவரம்", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Reset statistics", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "சேமி", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "அமைப்புகள்", "label.share-url": "வலைத்தள களத்தைப் பகிரவும்", "label.single-day": "ஒரு நாள்", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "கையடக்க கணினி", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "கண்காணிப்பு குறியீடு", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "தனிப்பட்ட பார்வையாளர்கள்", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "தெரியாத", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "பயனர்பெயர்", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "பார்வைகள்", "label.views-per-visit": "Views per visit", + "label.visit-duration": "சராசரி வருகை நேரம்", "label.visitors": "பார்வையாளர்கள்", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} தற்போதைய {x, plural, one {ஒன்று} other {மற்ற}}", + "message.collected-data": "Collected data", "message.confirm-delete": "நீங்கள் நிச்சயமாக {target} நீக்க விரும்புகிறீர்களா?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/th-TH.json b/src/lang/th-TH.json index a5ebeefb..7cc35045 100644 --- a/src/lang/th-TH.json +++ b/src/lang/th-TH.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "การกระทำ", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "ทุกช่วงเวลา", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "ระยะเวลาเข้าชมเฉลี่ย", "label.back": "ย้อนกลับ", "label.before": "Before", "label.bounce-rate": "อัตราตีกลับ", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "ยืนยันรหัสผ่าน", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "ประเทศ", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "รหัสผ่านปัจจุบัน", "label.custom-range": "กำหนดช่วงเวลา", "label.dashboard": "แดชบอร์ด", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "เปิดใช้งานการแชร์ลิงก์", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "เหตุการณ์", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "ข้อมูลรวม", "label.filter-raw": "ข้อมูลดิบ", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "ภาษา", "label.languages": "ภาษา", "label.laptop": "แล็ปท็อป", "label.last-days": "{x} วันที่ผ่านมา", "label.last-hours": "{x} ชั่วโมงที่ผ่านมา", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "เข้าสู่ระบบ", "label.logout": "ออกจากระบบ", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "หน้าเพจ", "label.password": "รหัสผ่าน", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "ขับเคลื่อนโดย {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "โปรไฟล์", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "รีเซตข้อมูลสถิติ", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "บันทึก", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "ตั้งค่า", "label.share-url": "แชร์ลิงก์", "label.single-day": "วันที่", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "แท็บเล็ต", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "โค้ดสำหรับใช้ติดตาม", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "ผู้เข้าชม", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "ไม่รู้จัก", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "ชื่อผู้ใช้", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "การเข้าชม", "label.views-per-visit": "Views per visit", + "label.visit-duration": "ระยะเวลาเข้าชมเฉลี่ย", "label.visitors": "ผู้เข้าชม", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "มีผู้ใช้งาน {x} {x, plural, one {คนในขณะนี้} other {คนในขณะนี้}}", + "message.collected-data": "Collected data", "message.confirm-delete": "คุณแน่ใจหรือไม่ว่าต้องการลบ {target} ?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index cb8ef1fa..34a81f75 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -1,246 +1,279 @@ { - "label.access-code": "Access code", + "label.access-code": "Erişim Kodu", "label.actions": "Hareketler", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "Aktivite Kaydı", + "label.add": "Ekle", + "label.add-description": "Açıklama ekle", + "label.add-member": "Üye ekle", + "label.add-step": "Adım ekle", "label.add-website": "Web sitesi ekle", - "label.admin": "Yönetici", - "label.after": "After", + "label.admin": "Administrator", + "label.after": "Sonra", "label.all": "Tümü", - "label.all-time": "All time", - "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "Ortalama ziyaret süresi", + "label.all-time": "Tüm zamanlar", + "label.analytics": "Analitik", + "label.average": "Ortalama", "label.back": "Geri", - "label.before": "Before", - "label.bounce-rate": "Çıkma oranı", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.before": "Önce", + "label.bounce-rate": "Tek sayfa ziyaret oranı", + "label.breakdown": "Dağılım", + "label.browser": "Tarayıcı", "label.browsers": "Tarayıcılar", "label.cancel": "İptal", "label.change-password": "Şifre değiştir", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "Şehirler", + "label.city": "Şehir", + "label.clear-all": "Hepsini temizle", + "label.compare": "Compare", + "label.confirm": "Onayla", "label.confirm-password": "Parolayı onayla", - "label.contains": "Contains", - "label.continue": "Continue", + "label.contains": "İçeriği", + "label.continue": "Devam et", + "label.count": "Count", "label.countries": "Ülkeler", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", - "label.created-by": "Created By", + "label.country": "Ülke", + "label.create": "Oluştur", + "label.create-report": "Rapor oluştur", + "label.create-team": "Takım oluştur", + "label.create-user": "Kullanıcı oluştur", + "label.created": "Oluşturuldu", + "label.created-by": "Tarafından oluşturldu", + "label.current": "Current", "label.current-password": "Mevcut parola", "label.custom-range": "Özelleştirilmiş aralık", "label.dashboard": "Kontrol Paneli", - "label.data": "Data", - "label.date": "Date", + "label.data": "Veri", + "label.date": "Tarih", "label.date-range": "Tarih aralığı", - "label.day": "Day", + "label.day": "Gün", "label.default-date-range": "Varsayılan tarih aralığı", "label.delete": "Sil", - "label.delete-report": "Delete report", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-report": "Rapor sil", + "label.delete-team": "Takım sil", + "label.delete-user": "Kullanıcı sil", "label.delete-website": "Web sitesini sil", - "label.description": "Description", + "label.description": "Açıklama", "label.desktop": "Masaüstü", - "label.details": "Details", - "label.device": "Device", + "label.details": "Detaylar", + "label.device": "Cihaz", "label.devices": "Cihazlar", "label.dismiss": "Reddet", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "İçermez", "label.domain": "Alan adı", - "label.dropoff": "Dropoff", + "label.dropoff": "Bırakma", "label.edit": "Düzenle", - "label.edit-dashboard": "Edit dashboard", - "label.edit-member": "Edit member", + "label.edit-dashboard": "Kontrol panelini düzenle", + "label.edit-member": "Üyeyi düzenle", "label.enable-share-url": "Anonim paylaşım URL'i aktif", - "label.event": "Event", - "label.event-data": "Event data", + "label.end-step": "End Step", + "label.entry": "Entry URL", + "label.event": "Olay", + "label.event-data": "Olay verisi", "label.events": "Olaylar", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter": "Filter", - "label.filter-combined": "Birleşik", - "label.filter-raw": "Ham", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", + "label.exit": "Exit URL", + "label.false": "Yanlış", + "label.field": "Alan", + "label.fields": "Alanlar", + "label.filter": "Filtre", + "label.filter-combined": "Birleşik filtre", + "label.filter-raw": "Ham filtre", + "label.filters": "Filtreler", + "label.first-seen": "First seen", + "label.funnel": "Huni", + "label.funnel-description": "Kullanıcıların dönüşüm ve ayrılma oranlarını anlayın.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", + "label.greater-than": "Büyüktür", + "label.greater-than-equals": "Büyük veya eşittir", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", + "label.insights-description": "Segmentleri ve filtreleri kullanarak verilerinizi derinlemesine inceleyin.", "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", - "label.language": "Language", - "label.languages": "Languages", + "label.is-not": "Değil", + "label.is-not-set": "Ayarlanmamış", + "label.is-set": "Ayarlandı", + "label.join": "Katıl", + "label.join-team": "Takıma katıl", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", + "label.language": "Dil", + "label.languages": "Diller", "label.laptop": "Dizüstü", "label.last-days": "Son {x} gün", "label.last-hours": "Son {x} saat", - "label.last-months": "Last {x} months", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.last-months": "Son {x} ay", + "label.last-seen": "Last seen", + "label.leave": "Ayrıl", + "label.leave-team": "Takımdan Ayrıl", + "label.less-than": "Küçüktür", + "label.less-than-equals": "Küçük veya eşittir", "label.login": "Giriş Yap", "label.logout": "Çıkış Yap", - "label.manage": "Manage", + "label.manage": "Yönet", + "label.manager": "Manager", "label.max": "Max", - "label.member": "Member", - "label.members": "Members", + "label.member": "Üye", + "label.members": "Üyeler", "label.min": "Min", "label.mobile": "Mobil Cihaz", "label.more": "Detaylı göster", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Hesabım", + "label.my-websites": "Web sitelerim", "label.name": "İsim", "label.new-password": "Yeni parola", - "label.none": "None", + "label.none": "Yok", "label.number-of-records": "{x} {x, plural, one {record} other {records}}", - "label.ok": "OK", + "label.ok": "TAMAM", "label.os": "OS", - "label.overview": "Overview", - "label.owner": "Owner", - "label.page-of": "Page {current} of {total}", + "label.overview": "Genel bakış", + "label.owner": "Sahibi", + "label.page-of": "{total} sayfada {current} ", "label.page-views": "Sayfa görünümü", - "label.pageTitle": "Page title", + "label.pageTitle": "Sayfa başlığı", "label.pages": "Sayfalar", "label.password": "Parola", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Sağlayıcı: {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Profil", - "label.queries": "Queries", - "label.query": "Query", - "label.query-parameters": "Query parameters", + "label.properties": "Properties", + "label.property": "Property", + "label.queries": "Sorgular", + "label.query": "Sorgu", + "label.query-parameters": "Sorgu parametreleri", "label.realtime": "Gerçek Zamanlı", "label.referrer": "Referrer", "label.referrers": "Yönlendirenler", "label.refresh": "Yenile", - "label.regenerate": "Regenerate", - "label.region": "Region", - "label.regions": "Regions", - "label.remove": "Remove", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.regenerate": "Yeniden Oluştur", + "label.region": "Bölge", + "label.regions": "Bölgeler", + "label.remove": "Kaldır", + "label.remove-member": "Üyeyi kaldır", + "label.reports": "Raporlar", "label.required": "Zorunlu alan", "label.reset": "Sıfırla", - "label.reset-website": "Reset statistics", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Role", - "label.run-query": "Run query", + "label.reset-website": "İstatistikleri sıfırla", + "label.retention": "Geri dönüş", + "label.retention-description": "Kullanıcıların ne sıklıkla geri döndüğünü takip ederek web sitenizin kalıcılığını ölçün.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "Rol", + "label.run-query": "Sorgu çalıştır", "label.save": "Kaydet", "label.screens": "Ekranlar", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", - "label.select-website": "Select website", + "label.search": "Ara", + "label.select": "Seç", + "label.select-date": "Tarih seç", + "label.select-role": "Rol seç", + "label.select-website": "Web sitesi seç", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Ayarlar", "label.share-url": "Paylaşım adresi", "label.single-day": "Tekil gün", - "label.steps": "Steps", - "label.sum": "Sum", + "label.start-step": "Start Step", + "label.steps": "Adımlar", + "label.sum": "Toplam", "label.tablet": "Tablet", - "label.team": "Team", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", - "label.teams": "Teams", - "label.theme": "Theme", + "label.team": "Takım", + "label.team-id": "Takım ID", + "label.team-manager": "Team manager", + "label.team-member": "Takım üyesi", + "label.team-name": "Takım ismi", + "label.team-owner": "Takım sahibi", + "label.team-view-only": "Yalnızca ekip görünümü", + "label.team-websites": "Takım web siteleri", + "label.teams": "Takımlar", + "label.theme": "Tema", "label.this-month": "Bu ay", "label.this-week": "Bu hafta", "label.this-year": "Bu yıl", "label.timezone": "Zaman dilimi", - "label.title": "Title", + "label.title": "Başlık", "label.today": "Bugün", - "label.toggle-charts": "Toggle charts", - "label.total": "Total", - "label.total-records": "Total records", + "label.toggle-charts": "Grafikleri değiştir", + "label.total": "Toplam", + "label.total-records": "Toplam kayıt", "label.tracking-code": "İzleme kodu", + "label.transactions": "Transactions", "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.transfer-website": "Transfer web sitesi", + "label.true": "Doğru", + "label.type": "Tip", + "label.unique": "Benzersiz", "label.unique-visitors": "Tekil kullanıcı", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Bilinmeyen", - "label.untitled": "Untitled", - "label.update": "Update", + "label.untitled": "İsimsiz", + "label.update": "Güncelle", "label.url": "URL", "label.urls": "URLs", - "label.user": "User", + "label.user": "Kullanıcı", + "label.user-property": "User Property", "label.username": "Kullanıcı adı", - "label.users": "Users", + "label.users": "Kullanıcılar", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", - "label.value": "Value", - "label.view": "View", + "label.utm-description": "Kampanyalarınızı UTM parametreleri aracılığıyla takip edin.", + "label.value": "Değer", + "label.view": "Görünüm", "label.view-details": "Detayı incele", - "label.view-only": "View only", + "label.view-only": "Sadece görünüm", "label.views": "Görüntüleme", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Ziyaret başına görüntüleme", + "label.visit-duration": "Ortalama ziyaret süresi", "label.visitors": "Ziyaretçi", - "label.visits": "Visits", - "label.website": "Website", + "label.visits": "Ziyaretler", + "label.website": "Web sitesi", "label.website-id": "Website ID", "label.websites": "Web siteleri", - "label.window": "Window", - "label.yesterday": "Yesterday", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "label.window": "Pencere", + "label.yesterday": "Dün", + "message.action-confirmation": "Onaylamak için aşağıdaki kutuya {confirmation} yazın.", "message.active-users": "{x} aktif ziyaretçi", + "message.collected-data": "Collected data", "message.confirm-delete": "{target} kaydını silmek istediğinizden emin misiniz?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", - "message.confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", - "message.delete-website-warning": "İlişkili tüm veriler de silinecektir.", + "message.confirm-leave": "{target} kaydından ayrılmak istediğinizden emin misiniz?", + "message.confirm-remove": "{target} kaydını kaldırmak istediğinizden emin misiniz?", + "message.confirm-reset": "{target} istatistiklerini sıfırlamak istediğinizden emin misiniz?", + "message.delete-team-warning": "Bir takımı silmek tüm takım web sitelerini de silecektir.", + "message.delete-website-warning": "İlişkili tüm veriler de silinecektir.", "message.error": "Bir şeyler ters gitti!", "message.event-log": "{event} on {url}", "message.go-to-settings": "Ayarlara git", "message.incorrect-username-password": "Hatalı kullanıcı adı ya da parola.", "message.invalid-domain": "Geçersiz alan adı", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.min-password-length": "Minimum {n} karakter uzunluğu", + "message.new-version-available": "Yeni versiyon Umami {version} mevcut!", "message.no-data-available": "Henüz hiç veri yok.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "Hiçbir olay verisi mevcut değil.", "message.no-match-password": "Parolalar uyuşmuyor", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", + "message.no-results-found": "Hiçbir sonuç bulunamadı.", + "message.no-team-websites": "Bu takımın herhangi bir web sitesi yok.", + "message.no-teams": "Herhangi bir takım oluşturmadınız.", + "message.no-users": "Kullanıcı yok.", "message.no-websites-configured": "Henüz hiç web sitesi tanımlamadınız", "message.page-not-found": "Sayfa bulunamadı.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "message.reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", + "message.reset-website": "Bu websitesini sıfılamak için aşağıdaki kutuya {confirmation} yazın.", + "message.reset-website-warning": "Bu web sitesi için tüm istatistikler silinecek, ancak izleme kodunuz bozulmadan kalacaktır.", "message.saved": "Başarıyla kaydedildi.", "message.share-url": "{target} için kullanılabilir anonim paylaşım adresidir.", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", + "message.team-already-member": "Zaten bu takımın üyesisiniz", + "message.team-not-found": "Takım bulunamadı", + "message.team-websites-info": "Web siteleri takımdaki herkes tarafından görüntülenebilir.", "message.tracking-code": "İzleme kodu", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", - "message.user-deleted": "User deleted.", - "message.viewed-page": "Viewed page", + "message.transfer-team-website-to-user": "Bu web sitesi hesbınıza aktarılsın mı?", + "message.transfer-user-website-to-team": "Bu web sitesinin aktarılacağı takımı seçin.", + "message.transfer-website": "Web sitesi sahipliğini hesabınıza veya başka bir takıma aktarın", + "message.triggered-event": "Tetiklenen olay", + "message.user-deleted": "Kullanıcı silindi.", + "message.viewed-page": "Görüntülenen sayfa", "message.visitor-log": "Yeni ziyaretçi: {country}, {os}, {device}, {browser}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "Bırakan ziyaretçiler" } diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index 6b3e31d5..c6843055 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -1,246 +1,279 @@ { - "label.access-code": "Access code", + "label.access-code": "Код доступу", "label.actions": "Дії", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.activity": "Журнал", + "label.add": "Додати", + "label.add-description": "Додати опис", + "label.add-member": "Додати учасника", + "label.add-step": "Додати крок", "label.add-website": "Додати сайт", "label.admin": "Адміністратор", - "label.after": "After", + "label.after": "Після", "label.all": "Всі", "label.all-time": "Весь час", - "label.analytics": "Analytics", - "label.average": "Average", - "label.average-visit-time": "Середній час візиту", + "label.analytics": "Аналітика", + "label.average": "Середній", "label.back": "Назад", - "label.before": "Before", + "label.before": "До", "label.bounce-rate": "Показник відмов", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.breakdown": "Розподіл", + "label.browser": "Браузер", "label.browsers": "Браузери", "label.cancel": "Відмінити", "label.change-password": "Змінити пароль", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", + "label.cities": "Міста", + "label.city": "Місто", + "label.clear-all": "Очистити все", + "label.compare": "Compare", + "label.confirm": "Підтвердити", "label.confirm-password": "Підтвердити пароль", - "label.contains": "Contains", - "label.continue": "Continue", + "label.contains": "Містить", + "label.continue": "Продовжити", + "label.count": "Count", "label.countries": "Країни", - "label.country": "Country", - "label.create": "Create", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", - "label.created-by": "Created By", + "label.country": "Країна", + "label.create": "Створити", + "label.create-report": "Створити звіт", + "label.create-team": "Створити команду", + "label.create-user": "Створити користувача", + "label.created": "Створено", + "label.created-by": "Створено", + "label.current": "Current", "label.current-password": "Поточний пароль", "label.custom-range": "Довільний період", "label.dashboard": "Інформаційна панель", - "label.data": "Data", - "label.date": "Date", + "label.data": "Дані", + "label.date": "Дата", "label.date-range": "Діапазон дат", - "label.day": "Day", + "label.day": "День", "label.default-date-range": "Діапазон дат за замовчуванням", "label.delete": "Видалити", - "label.delete-report": "Delete report", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-report": "Видалити звіт", + "label.delete-team": "Видалити команду", + "label.delete-user": "Видалити користувача", "label.delete-website": "Видалити сайт", - "label.description": "Description", + "label.description": "Опис", "label.desktop": "Настільний ПК", - "label.details": "Details", - "label.device": "Device", + "label.details": "Деталі", + "label.device": "Пристрій", "label.devices": "Пристрої", "label.dismiss": "Відхилити", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "Не містить", "label.domain": "Домен", - "label.dropoff": "Dropoff", + "label.dropoff": "Відсів", "label.edit": "Редагувати", "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", - "label.enable-share-url": "Дозволити ділитися посиланням", - "label.event": "Event", - "label.event-data": "Event data", + "label.enable-share-url": "Enable share URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", + "label.event": "Подія", + "label.event-data": "Дані події", "label.events": "Події", + "label.exit": "Exit URL", "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter": "Filter", + "label.field": "Поле", + "label.fields": "Поля", + "label.filter": "Фільтр", "label.filter-combined": "Об'єднані", "label.filter-raw": "Сирі дані", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", - "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", - "label.language": "Language", + "label.filters": "Фільтри", + "label.first-seen": "First seen", + "label.funnel": "Воронка", + "label.funnel-description": "Зрозуміти рівень конверсії та відсіву користувачів.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", + "label.greater-than": "Більше ніж", + "label.greater-than-equals": "Більше або рівно", + "label.host": "Host", + "label.hosts": "Hosts", + "label.insights": "Інсайти", + "label.insights-description": "Зануртеся глибше у свої дані за допомогою сегментів та фільтрів.", + "label.is": "Є", + "label.is-not": "Не є", + "label.is-not-set": "Не встановлено", + "label.is-set": "Встановлено", + "label.join": "Приєднатись", + "label.join-team": "Приєднатись до команди", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", + "label.language": "Мова", "label.languages": "Мови", "label.laptop": "Ноутбук", "label.last-days": "Останні {x} днів", "label.last-hours": "Останні {x} годин", - "label.last-months": "Last {x} months", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.last-months": "Останні {x} місяців", + "label.last-seen": "Last seen", + "label.leave": "Покинути", + "label.leave-team": "Покинути команду", + "label.less-than": "Менше ніж", + "label.less-than-equals": "Менше або дорівнює", "label.login": "Увійти", "label.logout": "Вийти", - "label.manage": "Manage", - "label.max": "Max", - "label.member": "Member", - "label.members": "Members", - "label.min": "Min", + "label.manage": "Керувати", + "label.manager": "Manager", + "label.max": "Макс.", + "label.member": "Учасник", + "label.members": "Учасники", + "label.min": "Мін.", "label.mobile": "Мобільний", "label.more": "Більше", - "label.my-account": "My account", - "label.my-websites": "My websites", + "label.my-account": "Мій обліковий запис", + "label.my-websites": "Мої сайти", "label.name": "Ім'я", "label.new-password": "Новий пароль", - "label.none": "None", + "label.none": "Нічого", "label.number-of-records": "{x} {x, plural, one {record} other {records}}", "label.ok": "OK", - "label.os": "OS", - "label.overview": "Overview", + "label.os": "ОС", + "label.overview": "Огляд", "label.owner": "Власник", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Сторінка {current} з {total}", "label.page-views": "Перегляди сторінок", - "label.pageTitle": "Page title", + "label.pageTitle": "Заголовок сторінки", "label.pages": "Сторінки", "label.password": "Пароль", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "На базі {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Профіль", - "label.queries": "Queries", - "label.query": "Query", - "label.query-parameters": "Query parameters", + "label.properties": "Properties", + "label.property": "Property", + "label.queries": "Запити", + "label.query": "Запит", + "label.query-parameters": "Параметри запиту", "label.realtime": "У реальному часі", - "label.referrer": "Referrer", + "label.referrer": "Джерело", "label.referrers": "Джерела", "label.refresh": "Оновити", - "label.regenerate": "Regenerate", - "label.region": "Region", - "label.regions": "Regions", - "label.remove": "Remove", - "label.remove-member": "Remove member", - "label.reports": "Reports", + "label.regenerate": "Згенерувати знову", + "label.region": "Регіон", + "label.regions": "Регіони", + "label.remove": "Видалити", + "label.remove-member": "Видалити користувача", + "label.reports": "Звіти", "label.required": "Обов'язкове", "label.reset": "Скинути", "label.reset-website": "Скинути статистику сайту", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", - "label.role": "Role", - "label.run-query": "Run query", + "label.retention": "Липкість", + "label.retention-description": "Виміряйте липкість вашого сайту, відстежуючи, як часто користувачі повертаються на нього.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", + "label.role": "Роль", + "label.run-query": "Виконати запит", "label.save": "Зберегти", - "label.screens": "Screens", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "Select date", - "label.select-role": "Select role", - "label.select-website": "Select website", - "label.sessions": "Sessions", + "label.screens": "Екрани", + "label.search": "Пошук", + "label.select": "Вибрати", + "label.select-date": "Вибрати дату", + "label.select-role": "Вибрати роль", + "label.select-website": "Вибрати сайт", + "label.session": "Session", + "label.sessions": "Сесії", "label.settings": "Налаштування", "label.share-url": "Поділитися посилання", "label.single-day": "Один день", - "label.steps": "Steps", - "label.sum": "Sum", + "label.start-step": "Start Step", + "label.steps": "Кроки", + "label.sum": "Сума", "label.tablet": "Планшет", - "label.team": "Team", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", - "label.team-view-only": "Team view only", - "label.team-websites": "Team websites", - "label.teams": "Teams", - "label.theme": "Theme", + "label.team": "Команда", + "label.team-id": "Ідентифікатор команди", + "label.team-manager": "Team manager", + "label.team-member": "Учасник команди", + "label.team-name": "Назва команди", + "label.team-owner": "Власник команди", + "label.team-view-only": "Тільки для командного перегляду", + "label.team-websites": "Сайти команди", + "label.teams": "Команди", + "label.theme": "Тема", "label.this-month": "Цього місяця", "label.this-week": "Цього тижня", "label.this-year": "Цього ріку", "label.timezone": "Часовий пояс", - "label.title": "Title", + "label.title": "Заголовок", "label.today": "Сьогодні", "label.toggle-charts": "Переключити графіки", - "label.total": "Total", - "label.total-records": "Total records", + "label.total": "Всього", + "label.total-records": "Всього записів", "label.tracking-code": "Код для відслідковування", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", + "label.transactions": "Transactions", + "label.transfer": "Передати", + "label.transfer-website": "Передати сайт", "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.type": "Тип", + "label.unique": "Унікальний", "label.unique-visitors": "Унікальні відвідувачі", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Невідомо", - "label.untitled": "Untitled", - "label.update": "Update", + "label.untitled": "Без заголовку", + "label.update": "Оновлення", "label.url": "URL", "label.urls": "URLs", - "label.user": "User", + "label.user": "Користувач", + "label.user-property": "User Property", "label.username": "Ім'я користувача", - "label.users": "Users", + "label.users": "Користувачі", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", - "label.value": "Value", - "label.view": "View", + "label.utm-description": "Відстежуйте свої кампанії за допомогою параметрів UTM.", + "label.value": "Значення", + "label.view": "Перегляд", "label.view-details": "Переглянути деталі", - "label.view-only": "View only", + "label.view-only": "Тільки для перегляду", "label.views": "Перегляди", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Перегляди за одне відвідування", + "label.visit-duration": "Visit duration", "label.visitors": "Відвідувачі", - "label.visits": "Visits", - "label.website": "Website", - "label.website-id": "Website ID", + "label.visits": "Відвідування", + "label.website": "Сайт", + "label.website-id": "Ідентифікатор сайту", "label.websites": "Сайти", - "label.window": "Window", - "label.yesterday": "Yesterday", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", + "label.window": "Вікно", + "label.yesterday": "Вчора", + "message.action-confirmation": "Введіть {confirmation} у полі нижче, щоб підтвердити.", "message.active-users": "{x} поточних відвідувачів", + "message.collected-data": "Collected data", "message.confirm-delete": "Ви впевнені, що бажаєте видалити {target}?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-remove": "Are you sure you want to remove {target}?", + "message.confirm-leave": "Ви впевнені, що бажаєте покинути {target}?", + "message.confirm-remove": "Ви впевнені, що бажаєте видалити {target}?", "message.confirm-reset": "Ви впевнені, що бажаєте скинути статистику для {target}?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", + "message.delete-team-warning": "Видалення команди також призведе до видалення всіх її веб-сайтів.", "message.delete-website-warning": "Усі пов'язані дані будуть видалені також.", "message.error": "Щось пішло не так.", - "message.event-log": "{event} on {url}", + "message.event-log": "{event} на {url}", "message.go-to-settings": "Перейти до налаштувань", "message.incorrect-username-password": "Невірне ім'я користувача або пароль.", "message.invalid-domain": "Некоректний домен", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.min-password-length": "Мінімальна довжина {n} символів", + "message.new-version-available": "Вийшла нова версія Umami {version}!", "message.no-data-available": "Немає даних.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "Дані про події відсутні.", "message.no-match-password": "Паролі не співпадають", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", + "message.no-results-found": "Не знайдено жодного результату.", + "message.no-team-websites": "У цієї команди немає жодного веб-сайту.", + "message.no-teams": "Ви не створили жодної команди.", + "message.no-users": "Немає жодного користувача.", "message.no-websites-configured": "У вас немає налаштованих сайтів.", "message.page-not-found": "Сторінку не знайдено.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "message.reset-website": "Щоб скинути налаштування цього веб-сайту, введіть {confirmation} у полі нижче для підтвердження.", "message.reset-website-warning": "Вся статистика для цього сайту буде видалена, проте код відслідковування буде продовжувати працювати.", "message.saved": "Збережено успішно.", "message.share-url": "Це публічне посилання для {target}.", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", + "message.team-already-member": "Ви вже є членом команди.", + "message.team-not-found": "Команду не знайдено.", + "message.team-websites-info": "Веб-сайти може переглядати будь-хто з команди.", "message.tracking-code": "Код для відслідковування", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", - "message.user-deleted": "User deleted.", - "message.viewed-page": "Viewed page", + "message.transfer-team-website-to-user": "Перенести цей сайт до свого облікового запису?", + "message.transfer-user-website-to-team": "Виберіть команду, до якої ви хочете передати цей веб-сайт.", + "message.transfer-website": "Передайте право власності на сайт своєму акаунту або іншій команді.", + "message.triggered-event": "Подія, що спрацювала", + "message.user-deleted": "Користувача видалено.", + "message.viewed-page": "Переглянута сторінка", "message.visitor-log": "Відвідувач з {country} використовуючи {browser} на {os} {device}", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "Користувачі що відсіялись" } diff --git a/src/lang/ur-PK.json b/src/lang/ur-PK.json index 862971f5..138ec1b3 100644 --- a/src/lang/ur-PK.json +++ b/src/lang/ur-PK.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "اعمال", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "تمام وقت", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "وزٹ کا اوسط وقت", "label.back": "پیچھے", "label.before": "Before", "label.bounce-rate": "اچھال کی شرح", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "پاس ورڈ کی تصدیق کریں", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "ممالک", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "موجودہ پاس ورڈ", "label.custom-range": "اپنی مرضی کی حد", "label.dashboard": "ڈیش بورڈ", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "شیئر یو آر ایل کو فعال کریں", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "واقعات", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "مشترکہ", "label.filter-raw": "خام", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "زبانیں", "label.laptop": "لیپ ٹاپ", "label.last-days": "پچھلے {x} دن", "label.last-hours": "پچھلے {x} گھنٹے", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "لاگ ان", "label.logout": "لاگ آوٹ", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "صفحات", "label.password": "پاس ورڈ", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "تقویت یافتہ بذریعہ {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "پروفائل", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "اعدادوشمار کو دوبارہ ترتیب دیں", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "محفوظ کریں", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "ترتیبات", "label.share-url": "URL کا اشتراک کریں", "label.single-day": "ایک دن", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "ٹیبلیٹ", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "ٹریکنگ کوڈ", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "منفرد زائرین", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "نامعلوم", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "صارف نام", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "مناظر", "label.views-per-visit": "Views per visit", + "label.visit-duration": "وزٹ کا اوسط وقت", "label.visitors": "زائرین", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} موجودہ {x, plural, one {زائر} other {زائرین}}", + "message.collected-data": "Collected data", "message.confirm-delete": "کیا آپ واقعی {target} کو حذف کرنا چاہتے ہیں؟", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index e9a47c61..22a4eaf7 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -1,7 +1,7 @@ { "label.access-code": "Access code", "label.actions": "Hành động", - "label.activity-log": "Activity log", + "label.activity": "Activity log", "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", @@ -13,7 +13,6 @@ "label.all-time": "Toàn thời gian", "label.analytics": "Analytics", "label.average": "Average", - "label.average-visit-time": "Thời gian truy cập trung bình", "label.back": "Quay về", "label.before": "Before", "label.bounce-rate": "Tỷ lệ thoát trang", @@ -25,10 +24,12 @@ "label.cities": "Cities", "label.city": "City", "label.clear-all": "Clear all", + "label.compare": "Compare", "label.confirm": "Confirm", "label.confirm-password": "Xác nhận mật khẩu", "label.contains": "Contains", "label.continue": "Continue", + "label.count": "Count", "label.countries": "Quốc gia", "label.country": "Country", "label.create": "Create", @@ -37,6 +38,7 @@ "label.create-user": "Create user", "label.created": "Created", "label.created-by": "Created By", + "label.current": "Current", "label.current-password": "Mật khẩu hiện tại", "label.custom-range": "Phạm vi ngày tuỳ chọn", "label.dashboard": "Bảng điều khiển", @@ -63,9 +65,12 @@ "label.edit-dashboard": "Edit dashboard", "label.edit-member": "Edit member", "label.enable-share-url": "Bật khả năng chia sẻ URL", + "label.end-step": "End Step", + "label.entry": "Entry URL", "label.event": "Event", "label.event-data": "Event data", "label.events": "Sự kiện", + "label.exit": "Exit URL", "label.false": "False", "label.field": "Field", "label.fields": "Fields", @@ -73,10 +78,16 @@ "label.filter-combined": "Kết hợp", "label.filter-raw": "Gốc", "label.filters": "Filters", + "label.first-seen": "First seen", "label.funnel": "Funnel", "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.goal": "Goal", + "label.goals": "Goals", + "label.goals-description": "Track your goals for pageviews and events.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", + "label.host": "Host", + "label.hosts": "Hosts", "label.insights": "Insights", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -85,12 +96,15 @@ "label.is-set": "Is set", "label.join": "Join", "label.join-team": "Join team", + "label.journey": "Journey", + "label.journey-description": "Understand how users navigate through your website.", "label.language": "Language", "label.languages": "Ngôn ngữ", "label.laptop": "Laptop", "label.last-days": "{x} ngày gần nhất", "label.last-hours": "{x} giờ gần nhất", "label.last-months": "Last {x} months", + "label.last-seen": "Last seen", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -98,6 +112,7 @@ "label.login": "Đăng nhập", "label.logout": "Đăng xuất", "label.manage": "Manage", + "label.manager": "Manager", "label.max": "Max", "label.member": "Member", "label.members": "Members", @@ -119,8 +134,15 @@ "label.pageTitle": "Page title", "label.pages": "Trang", "label.password": "Mật khẩu", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "Bản quyền thuộc về {name}", + "label.previous": "Previous", + "label.previous-period": "Previous period", + "label.previous-year": "Previous year", "label.profile": "Hồ sơ", + "label.properties": "Properties", + "label.property": "Property", "label.queries": "Queries", "label.query": "Query", "label.query-parameters": "Query parameters", @@ -139,6 +161,9 @@ "label.reset-website": "Tái thiết lập thống kê", "label.retention": "Retention", "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "Role", "label.run-query": "Run query", "label.save": "Lưu", @@ -148,15 +173,18 @@ "label.select-date": "Select date", "label.select-role": "Select role", "label.select-website": "Select website", + "label.session": "Session", "label.sessions": "Sessions", "label.settings": "Cài đặt", "label.share-url": "Chia sẻ URL", "label.single-day": "Trong ngày", + "label.start-step": "Start Step", "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Máy tính bảng", "label.team": "Team", "label.team-id": "Team ID", + "label.team-manager": "Team manager", "label.team-member": "Team member", "label.team-name": "Team name", "label.team-owner": "Team owner", @@ -174,18 +202,21 @@ "label.total": "Total", "label.total-records": "Total records", "label.tracking-code": "Mã theo dõi", + "label.transactions": "Transactions", "label.transfer": "Transfer", "label.transfer-website": "Transfer website", "label.true": "True", "label.type": "Type", "label.unique": "Unique", "label.unique-visitors": "Khách truy cập một lần", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "Không rõ", "label.untitled": "Untitled", "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", + "label.user-property": "User Property", "label.username": "Tên đăng nhập", "label.users": "Users", "label.utm": "UTM", @@ -196,6 +227,7 @@ "label.view-only": "View only", "label.views": "Xem", "label.views-per-visit": "Views per visit", + "label.visit-duration": "Thời gian truy cập trung bình", "label.visitors": "Khách", "label.visits": "Visits", "label.website": "Website", @@ -205,6 +237,7 @@ "label.yesterday": "Yesterday", "message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.active-users": "{x} hiện tại {x, plural, one {một} other {trên}}", + "message.collected-data": "Collected data", "message.confirm-delete": "Bạn có chắc chắn muốn xoá {target}?", "message.confirm-leave": "Are you sure you want to leave {target}?", "message.confirm-remove": "Are you sure you want to remove {target}?", diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 02fc18ae..741d2de0 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -1,11 +1,11 @@ { "label.access-code": "访问代码", "label.actions": "用户行为", - "label.activity-log": "活动日志", + "label.activity": "活动日志", "label.add": "添加", "label.add-description": "添加描述", "label.add-member": "添加成员", - "label.add-step": "Add step", + "label.add-step": "添加步骤", "label.add-website": "添加网站", "label.admin": "管理员", "label.after": "之后", @@ -13,7 +13,6 @@ "label.all-time": "所有时间段", "label.analytics": "分析", "label.average": "平均", - "label.average-visit-time": "平均访问时间", "label.back": "返回", "label.before": "之前", "label.bounce-rate": "跳出率", @@ -25,10 +24,12 @@ "label.cities": "市/县", "label.city": "市/县", "label.clear-all": "清除全部", + "label.compare": "比较", "label.confirm": "确认", "label.confirm-password": "确认密码", "label.contains": "包含", "label.continue": "继续", + "label.count": "统计", "label.countries": "国家/地区", "label.country": "国家/地区", "label.create": "创建", @@ -37,6 +38,7 @@ "label.create-user": "创建用户", "label.created": "已创建", "label.created-by": "创建者", + "label.current": "目前", "label.current-password": "目前密码", "label.custom-range": "自定义时间段", "label.dashboard": "仪表板", @@ -63,9 +65,12 @@ "label.edit-dashboard": "编辑仪表板", "label.edit-member": "编辑成员", "label.enable-share-url": "启用共享链接", + "label.end-step": "结束步骤", + "label.entry": "入口 URL", "label.event": "事件", "label.event-data": "事件数据", "label.events": "行为类别", + "label.exit": "退出 URL", "label.false": "否", "label.field": "字段", "label.fields": "字段", @@ -73,10 +78,16 @@ "label.filter-combined": "合并", "label.filter-raw": "原始", "label.filters": "筛选", + "label.first-seen": "First seen", "label.funnel": "分析", "label.funnel-description": "了解用户的转换率和退出率。", + "label.goal": "目标", + "label.goals": "目标", + "label.goals-description": "跟踪页面浏览量和事件的目标。", "label.greater-than": "大于", "label.greater-than-equals": "大于或等于", + "label.host": "主机", + "label.hosts": "主机", "label.insights": "见解", "label.insights-description": "通过使用筛选器和划分时间段来更深入地研究数据。", "label.is": "等于", @@ -85,12 +96,15 @@ "label.is-set": "已设置", "label.join": "加入", "label.join-team": "加入团队", + "label.journey": "用户浏览轨迹", + "label.journey-description": "了解用户如何浏览网站。", "label.language": "语言", "label.languages": "语言", "label.laptop": "笔记本", "label.last-days": "最近 {x} 天", "label.last-hours": "最近 {x} 小时", - "label.last-months": "Last {x} months", + "label.last-months": "最近 {x} 个月", + "label.last-seen": "Last seen", "label.leave": "离开", "label.leave-team": "离开团队", "label.less-than": "少于", @@ -98,6 +112,7 @@ "label.login": "登录", "label.logout": "退出", "label.manage": "管理", + "label.manager": "管理者", "label.max": "最大", "label.member": "成员", "label.members": "成员", @@ -110,7 +125,7 @@ "label.new-password": "新密码", "label.none": "无", "label.number-of-records": "{x} {x, plural, one {record} other {records}}", - "label.ok": "OK", + "label.ok": "好的", "label.os": "操作系统", "label.overview": "概览", "label.owner": "所有者", @@ -119,8 +134,15 @@ "label.pageTitle": "标题", "label.pages": "网页", "label.password": "密码", + "label.path": "Path", + "label.paths": "Paths", "label.powered-by": "由 {name} 提供支持", + "label.previous": "先前", + "label.previous-period": "上一时期", + "label.previous-year": "上一年", "label.profile": "个人资料", + "label.properties": "Properties", + "label.property": "属性", "label.queries": "查询", "label.query": "查询", "label.query-parameters": "查询参数", @@ -139,6 +161,9 @@ "label.reset-website": "重置统计数据", "label.retention": "保留", "label.retention-description": "通过跟踪用户返回的频率来衡量网站的用户粘性。", + "label.revenue": "Revenue", + "label.revenue-description": "Look into your revenue across time.", + "label.revenue-property": "Revenue Property", "label.role": "角色", "label.run-query": "查询", "label.save": "保存", @@ -148,15 +173,18 @@ "label.select-date": "选择数据", "label.select-role": "选择角色", "label.select-website": "选择网站", + "label.session": "Session", "label.sessions": "会话", "label.settings": "设置", "label.share-url": "共享链接", "label.single-day": "单日", - "label.steps": "Steps", + "label.start-step": "开始步骤", + "label.steps": "步骤", "label.sum": "总和", "label.tablet": "平板", "label.team": "团队", "label.team-id": "团队 ID", + "label.team-manager": "团队管理者", "label.team-member": "团队成员", "label.team-name": "团队名称", "label.team-owner": "团队所有者", @@ -174,30 +202,34 @@ "label.total": "总数", "label.total-records": "总记录数", "label.tracking-code": "跟踪代码", + "label.transactions": "Transactions", "label.transfer": "转移", "label.transfer-website": "转移网站", "label.true": "是", "label.type": "类型", "label.unique": "独立", "label.unique-visitors": "独立访客", + "label.uniqueCustomers": "Unique Customers", "label.unknown": "未知", "label.untitled": "未命名", - "label.update": "Update", + "label.update": "更新", "label.url": "网址", "label.urls": "网址", "label.user": "用户", + "label.user-property": "User Property", "label.username": "用户名", "label.users": "用户", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "通过UTM参数追踪您的广告活动。", "label.value": "值", "label.view": "查看", "label.view-details": "查看更多", "label.view-only": "仅浏览量", "label.views": "浏览量", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "每次访问的浏览量", + "label.visit-duration": "平均访问时间", "label.visitors": "访客", - "label.visits": "Visits", + "label.visits": "访问次数", "label.website": "网站", "label.website-id": "网站 ID", "label.websites": "网站", @@ -205,6 +237,7 @@ "label.yesterday": "昨天", "message.action-confirmation": "在下面的框中输入 {confirmation} 以确认。", "message.active-users": "当前在线 {x} 人", + "message.collected-data": "已收集的数据", "message.confirm-delete": "你确定要删除 {target} 吗?", "message.confirm-leave": "你确定要离开 {target} 吗?", "message.confirm-remove": "您确定要移除 {target} ?", diff --git a/src/lang/zh-TW.json b/src/lang/zh-TW.json index 01c08b8b..46cdbde1 100644 --- a/src/lang/zh-TW.json +++ b/src/lang/zh-TW.json @@ -1,11 +1,11 @@ { "label.access-code": "存取碼", - "label.actions": "行動", - "label.activity-log": "活動日誌", + "label.actions": "行為", + "label.activity": "活動紀錄", "label.add": "新增", "label.add-description": "新增描述", - "label.add-member": "Add member", - "label.add-step": "Add step", + "label.add-member": "新增成員", + "label.add-step": "新增步驟", "label.add-website": "新增網站", "label.admin": "管理員", "label.after": "之後", @@ -13,11 +13,10 @@ "label.all-time": "所有時間", "label.analytics": "分析", "label.average": "平均", - "label.average-visit-time": "平均造訪時間", "label.back": "返回", "label.before": "之前", "label.bounce-rate": "跳出率", - "label.breakdown": "分解", + "label.breakdown": "細項分析", "label.browser": "瀏覽器", "label.browsers": "瀏覽器", "label.cancel": "取消", @@ -25,18 +24,21 @@ "label.cities": "城市", "label.city": "城市", "label.clear-all": "全部清除", + "label.compare": "比較", "label.confirm": "確認", "label.confirm-password": "確認密碼", "label.contains": "包含", "label.continue": "繼續", + "label.count": "數量", "label.countries": "國家", "label.country": "國家", "label.create": "建立", - "label.create-report": "建立報告", + "label.create-report": "建立報表", "label.create-team": "建立團隊", "label.create-user": "建立使用者", "label.created": "已建立", - "label.created-by": "Created By", + "label.created-by": "建立者", + "label.current": "目前", "label.current-password": "目前密碼", "label.custom-range": "自訂範圍", "label.dashboard": "儀表板", @@ -46,7 +48,7 @@ "label.day": "日", "label.default-date-range": "預設日期範圍", "label.delete": "刪除", - "label.delete-report": "Delete report", + "label.delete-report": "刪除報表", "label.delete-team": "刪除團隊", "label.delete-user": "刪除使用者", "label.delete-website": "刪除網站", @@ -58,69 +60,89 @@ "label.dismiss": "關閉", "label.does-not-contain": "不包含", "label.domain": "網域", - "label.dropoff": "退出", + "label.dropoff": "離開", "label.edit": "編輯", "label.edit-dashboard": "編輯儀表板", - "label.edit-member": "Edit member", - "label.enable-share-url": "啟用分享網址", + "label.edit-member": "編輯成員", + "label.enable-share-url": "啟用分享連結", + "label.end-step": "結束步驟", + "label.entry": "進入網址", "label.event": "事件", "label.event-data": "事件資料", "label.events": "事件", + "label.exit": "離開網址", "label.false": "否", "label.field": "欄位", "label.fields": "欄位", "label.filter": "篩選器", "label.filter-combined": "組合", "label.filter-raw": "原始", - "label.filters": "篩選器", - "label.funnel": "漏斗", - "label.funnel-description": "瞭解使用者的轉換率和退出率", + "label.filters": "篩選條件", + "label.first-seen": "首次造訪", + "label.funnel": "漏斗分析", + "label.funnel-description": "瞭解使用者的轉換率與流失率。", + "label.goal": "目標", + "label.goals": "目標", + "label.goals-description": "追蹤網頁瀏覽和事件的目標。", "label.greater-than": "大於", "label.greater-than-equals": "大於或等於", + "label.host": "主機名稱", + "label.hosts": "主機名稱", "label.insights": "洞察", - "label.insights-description": "透過使用區段和篩選器來深入探索你的數據", + "label.insights-description": "使用區段和篩選器來深入分析您的資料。", "label.is": "是", "label.is-not": "不是", "label.is-not-set": "未設定", "label.is-set": "已設定", "label.join": "加入", "label.join-team": "加入團隊", + "label.journey": "使用者旅程", + "label.journey-description": "瞭解使用者如何瀏覽您的網站。", "label.language": "語言", "label.languages": "語言", "label.laptop": "筆記型電腦", "label.last-days": "最近 {x} 天", "label.last-hours": "最近 {x} 小時", - "label.last-months": "Last {x} months", + "label.last-months": "最近 {x} 個月", + "label.last-seen": "最後造訪", "label.leave": "離開", "label.leave-team": "離開團隊", "label.less-than": "小於", "label.less-than-equals": "小於或等於", "label.login": "登入", "label.logout": "登出", - "label.manage": "Manage", - "label.max": "最大", - "label.member": "Member", + "label.manage": "管理", + "label.manager": "管理者", + "label.max": "最大值", + "label.member": "成員", "label.members": "成員", - "label.min": "最小", + "label.min": "最小值", "label.mobile": "行動裝置", "label.more": "更多", - "label.my-account": "My account", + "label.my-account": "我的帳號", "label.my-websites": "我的網站", "label.name": "名稱", "label.new-password": "新密碼", "label.none": "無", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", + "label.number-of-records": "{x} 筆紀錄", "label.ok": "OK", "label.os": "作業系統", - "label.overview": "概覽", + "label.overview": "總覽", "label.owner": "擁有者", - "label.page-of": "頁面 {current} / {total}", - "label.page-views": "頁面瀏覽", - "label.pageTitle": "頁面標題", - "label.pages": "頁面", + "label.page-of": "第 {current} 頁,共 {total} 頁", + "label.page-views": "網頁瀏覽次數", + "label.pageTitle": "網頁標題", + "label.pages": "網頁", "label.password": "密碼", - "label.powered-by": "由 {name} 提供", - "label.profile": "個人資料", + "label.path": "路徑", + "label.paths": "路徑", + "label.powered-by": "由 {name} 提供技術支援", + "label.previous": "上一個", + "label.previous-period": "上一期間", + "label.previous-year": "去年", + "label.profile": "個人檔案", + "label.properties": "屬性", + "label.property": "屬性", "label.queries": "查詢", "label.query": "查詢", "label.query-parameters": "查詢參數", @@ -129,38 +151,44 @@ "label.referrers": "參照來源", "label.refresh": "重新整理", "label.regenerate": "重新產生", - "label.region": "區域", - "label.regions": "區域", + "label.region": "地區", + "label.regions": "地區", "label.remove": "移除", - "label.remove-member": "Remove member", - "label.reports": "報告", + "label.remove-member": "移除成員", + "label.reports": "報表", "label.required": "必填", "label.reset": "重設", - "label.reset-website": "重設網站", - "label.retention": "保留", + "label.reset-website": "重設網站統計資料", + "label.retention": "留存率", "label.retention-description": "透過追蹤使用者回訪的頻率來衡量您的網站黏著度。", + "label.revenue": "營收", + "label.revenue-description": "查看您的營收趨勢。", + "label.revenue-property": "營收屬性", "label.role": "角色", "label.run-query": "執行查詢", "label.save": "儲存", "label.screens": "螢幕", - "label.search": "Search", - "label.select": "Select", - "label.select-date": "選擇日期", - "label.select-role": "Select role", - "label.select-website": "選擇網站", + "label.search": "搜尋", + "label.select": "選取", + "label.select-date": "選取日期", + "label.select-role": "選取角色", + "label.select-website": "選取網站", + "label.session": "工作階段", "label.sessions": "工作階段", "label.settings": "設定", - "label.share-url": "分享網址", + "label.share-url": "分享連結", "label.single-day": "單日", - "label.steps": "Steps", + "label.start-step": "起始步驟", + "label.steps": "步驟", "label.sum": "總和", "label.tablet": "平板", "label.team": "團隊", "label.team-id": "團隊 ID", + "label.team-manager": "團隊管理者", "label.team-member": "團隊成員", "label.team-name": "團隊名稱", "label.team-owner": "團隊擁有者", - "label.team-view-only": "Team view only", + "label.team-view-only": "團隊僅供檢視", "label.team-websites": "團隊網站", "label.teams": "團隊", "label.theme": "主題", @@ -172,75 +200,80 @@ "label.today": "今天", "label.toggle-charts": "切換圖表", "label.total": "總計", - "label.total-records": "總記錄", + "label.total-records": "紀錄總數", "label.tracking-code": "追蹤代碼", - "label.transfer": "Transfer", - "label.transfer-website": "Transfer website", + "label.transactions": "交易", + "label.transfer": "轉移", + "label.transfer-website": "轉移網站", "label.true": "是", "label.type": "類型", - "label.unique": "獨立", - "label.unique-visitors": "獨立訪客", + "label.unique": "不重複", + "label.unique-visitors": "不重複訪客", + "label.uniqueCustomers": "不重複客戶", "label.unknown": "未知", - "label.untitled": "無標題", - "label.update": "Update", + "label.untitled": "未命名", + "label.update": "更新", "label.url": "網址", "label.urls": "網址", "label.user": "使用者", + "label.user-property": "使用者屬性", "label.username": "使用者名稱", "label.users": "使用者", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "透過 UTM 參數追蹤您的行銷活動。", "label.value": "值", "label.view": "檢視", "label.view-details": "檢視詳細資訊", "label.view-only": "僅供檢視", - "label.views": "檢視", - "label.views-per-visit": "Views per visit", + "label.views": "瀏覽次數", + "label.views-per-visit": "每次造訪的瀏覽次數", + "label.visit-duration": "造訪時間", "label.visitors": "訪客", - "label.visits": "Visits", + "label.visits": "造訪次數", "label.website": "網站", "label.website-id": "網站 ID", "label.websites": "網站", "label.window": "視窗", "label.yesterday": "昨天", - "message.action-confirmation": "Type {confirmation} in the box below to confirm.", - "message.active-users": "目前有 {x} 個活躍的訪客", + "message.action-confirmation": "請在下方欄位輸入 {confirmation} 以確認。", + "message.active-users": "目前有 {x} 位訪客", + "message.collected-data": "已蒐集的資料", "message.confirm-delete": "您確定要刪除 {target} 嗎?", "message.confirm-leave": "您確定要離開 {target} 嗎?", - "message.confirm-remove": "Are you sure you want to remove {target}?", - "message.confirm-reset": "您確定要重設 {target} 嗎?", - "message.delete-team-warning": "Deleting a team will also delete all team websites.", - "message.delete-website-warning": "所有網站資料將被刪除。", + "message.confirm-remove": "您確定要移除 {target} 嗎?", + "message.confirm-reset": "您確定要重設 {target} 的統計資料嗎?", + "message.delete-team-warning": "刪除團隊的同時也會刪除所有團隊的網站。", + "message.delete-website-warning": "所有網站資料都將被刪除。", "message.error": "發生錯誤。", - "message.event-log": "{event} 在 {url}", + "message.event-log": "在 {url} 上的 {event}", "message.go-to-settings": "前往設定", - "message.incorrect-username-password": "使用者名稱和/或密碼不正確。", - "message.invalid-domain": "無效的網域。請不要包含 http/https。", - "message.min-password-length": "最少需要 {n} 個字元", - "message.new-version-available": "Umami {version} 的新版本已經可以使用!", + "message.incorrect-username-password": "使用者名稱或密碼不正確。", + "message.invalid-domain": "無效的網域。請勿包含 http/https。", + "message.min-password-length": "密碼長度至少需 {n} 個字元", + "message.new-version-available": "Umami {version} 的新版本已推出!", "message.no-data-available": "沒有可用的資料。", "message.no-event-data": "沒有可用的事件資料。", "message.no-match-password": "密碼不一致。", "message.no-results-found": "找不到結果。", "message.no-team-websites": "此團隊沒有任何網站。", "message.no-teams": "您尚未建立任何團隊。", - "message.no-users": "沒有使用者。", + "message.no-users": "沒有任何使用者。", "message.no-websites-configured": "您尚未設定任何網站。", - "message.page-not-found": "找不到頁面", - "message.reset-website": "要重設此網站,請在下方的方框中輸入 {confirmation} 以確認。", - "message.reset-website-warning": "此網站的所有統計將被刪除,但您的設定將保持不變。", + "message.page-not-found": "找不到網頁", + "message.reset-website": "要重設此網站的統計資料,請在下方欄位輸入 {confirmation} 以確認。", + "message.reset-website-warning": "此網站的所有統計資料都將被刪除,但您的設定將保持不變。", "message.saved": "已儲存。", - "message.share-url": "您的網站統計資料可以在以下網址公開檢視:", - "message.team-already-member": "您已經是團隊的成員。", + "message.share-url": "您的網站統計資料可在以下網址公開檢視:", + "message.team-already-member": "您已是該團隊的成員。", "message.team-not-found": "找不到團隊。", - "message.team-websites-info": "團隊的任何成員都可以檢視網站。", - "message.tracking-code": "要追蹤此網站的統計,請將以下代碼放在您的 HTML 的 ... 區段中。", - "message.transfer-team-website-to-user": "Transfer this website to your account?", - "message.transfer-user-website-to-team": "Select the team to transfer this website to.", - "message.transfer-website": "Transfer website ownership to your account or another team.", - "message.triggered-event": "Triggered event", + "message.team-websites-info": "團隊中的所有成員都可以檢視網站。", + "message.tracking-code": "要追蹤此網站的統計資料,請將以下程式碼放在您 HTML 的 ... 區段中。", + "message.transfer-team-website-to-user": "要將此網站轉移至您的帳號嗎?", + "message.transfer-user-website-to-team": "請選擇要轉移此網站的團隊。", + "message.transfer-website": "將網站所有權轉移至您的帳號或其他團隊。", + "message.triggered-event": "已觸發的事件", "message.user-deleted": "使用者已刪除。", - "message.viewed-page": "Viewed page", + "message.viewed-page": "已瀏覽的網頁", "message.visitor-log": "來自 {country} 的訪客在 {device} 上的 {os} 使用 {browser} 瀏覽。", - "message.visitors-dropped-off": "Visitors dropped off" + "message.visitors-dropped-off": "訪客已離開" } diff --git a/src/lib/auth.ts b/src/lib/auth.ts index 5b17cf13..12fb0a28 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -106,7 +106,7 @@ export async function canTransferWebsiteToUser({ user }: Auth, websiteId: string if (website.teamId && user.id === userId) { const teamUser = await getTeamUser(website.teamId, userId); - return teamUser?.role === ROLES.teamOwner; + return teamUser && hasPermission(teamUser.role, PERMISSIONS.websiteTransferToUser); } return false; @@ -118,7 +118,7 @@ export async function canTransferWebsiteToTeam({ user }: Auth, websiteId: string if (website.userId && website.userId === user.id) { const teamUser = await getTeamUser(teamId, user.id); - return teamUser?.role === ROLES.teamOwner; + return teamUser && hasPermission(teamUser.role, PERMISSIONS.websiteTransferToTeam); } return false; diff --git a/src/lib/cache.ts b/src/lib/cache.ts deleted file mode 100644 index 97482499..00000000 --- a/src/lib/cache.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { User, Website } from '@prisma/client'; -import redis from '@umami/redis-client'; -import { getSession, getUser, getWebsite } from '../queries'; - -async function fetchWebsite(websiteId: string): Promise { - return redis.client.getCache(`website:${websiteId}`, () => getWebsite(websiteId), 86400); -} - -async function storeWebsite(data: { id: any }) { - const { id } = data; - const key = `website:${id}`; - - const obj = await redis.client.setCache(key, data); - await redis.client.expire(key, 86400); - - return obj; -} - -async function deleteWebsite(id) { - return redis.client.deleteCache(`website:${id}`); -} - -async function fetchUser(id): Promise { - return redis.client.getCache(`user:${id}`, () => getUser(id, { includePassword: true }), 86400); -} - -async function storeUser(data) { - const { id } = data; - const key = `user:${id}`; - - const obj = await redis.client.setCache(key, data); - await redis.client.expire(key, 86400); - - return obj; -} - -async function deleteUser(id) { - return redis.client.deleteCache(`user:${id}`); -} - -async function fetchSession(id) { - return redis.client.getCache(`session:${id}`, () => getSession(id), 86400); -} - -async function storeSession(data) { - const { id } = data; - const key = `session:${id}`; - - const obj = await redis.client.setCache(key, data); - await redis.client.expire(key, 86400); - - return obj; -} - -async function deleteSession(id) { - return redis.client.deleteCache(`session:${id}`); -} - -async function fetchUserBlock(userId: string) { - const key = `user:block:${userId}`; - return redis.client.get(key); -} - -async function incrementUserBlock(userId: string) { - const key = `user:block:${userId}`; - return redis.client.incr(key); -} - -export default { - fetchWebsite, - storeWebsite, - deleteWebsite, - fetchUser, - storeUser, - deleteUser, - fetchSession, - storeSession, - deleteSession, - fetchUserBlock, - incrementUserBlock, - enabled: !!redis.enabled, -}; diff --git a/src/lib/clickhouse.ts b/src/lib/clickhouse.ts index 5bcf7ee0..5f0248b4 100644 --- a/src/lib/clickhouse.ts +++ b/src/lib/clickhouse.ts @@ -1,15 +1,17 @@ import { ClickHouseClient, createClient } from '@clickhouse/client'; -import dateFormat from 'dateformat'; +import { formatInTimeZone } from 'date-fns-tz'; import debug from 'debug'; import { CLICKHOUSE } from 'lib/db'; -import { QueryFilters, QueryOptions } from './types'; -import { OPERATORS } from './constants'; -import { loadWebsite } from './load'; +import { getWebsite } from 'queries/index'; +import { DEFAULT_PAGE_SIZE, OPERATORS } from './constants'; import { maxDate } from './date'; import { filtersToArray } from './params'; +import { PageParams, QueryFilters, QueryOptions } from './types'; export const CLICKHOUSE_DATE_FORMATS = { - minute: '%Y-%m-%d %H:%M:00', + utc: '%Y-%m-%dT%H:%i:%SZ', + second: '%Y-%m-%d %H:%i:%S', + minute: '%Y-%m-%d %H:%i:00', hour: '%Y-%m-%d %H:00:00', day: '%Y-%m-%d', month: '%Y-%m-01', @@ -32,7 +34,7 @@ function getClient() { } = new URL(process.env.CLICKHOUSE_URL); const client = createClient({ - host: `${protocol}//${hostname}:${port}`, + url: `${protocol}//${hostname}:${port}`, database: pathname.replace('/', ''), username: username, password, @@ -47,19 +49,27 @@ function getClient() { return client; } -function getDateStringQuery(data: any, unit: string | number) { +function getUTCString(date?: Date | string | number) { + return formatInTimeZone(date || new Date(), 'UTC', 'yyyy-MM-dd HH:mm:ss'); +} + +function getDateStringSQL(data: any, unit: string = 'utc', timezone?: string) { + if (timezone) { + return `formatDateTime(${data}, '${CLICKHOUSE_DATE_FORMATS[unit]}', '${timezone}')`; + } + return `formatDateTime(${data}, '${CLICKHOUSE_DATE_FORMATS[unit]}')`; } -function getDateQuery(field: string, unit: string, timezone?: string) { +function getDateSQL(field: string, unit: string, timezone?: string) { if (timezone) { - return `date_trunc('${unit}', ${field}, '${timezone}')`; + return `toDateTime(date_trunc('${unit}', ${field}, '${timezone}'), '${timezone}')`; } - return `date_trunc('${unit}', ${field})`; + return `toDateTime(date_trunc('${unit}', ${field}))`; } -function getDateFormat(date: Date) { - return `'${dateFormat(date, 'UTC:yyyy-mm-dd HH:MM:ss')}'`; +function getSearchSQL(column: string, param: string = 'search'): string { + return `and positionCaseInsensitive(${column}, {${param}:String}) > 0`; } function mapFilter(column: string, operator: string, name: string, type: string = 'String') { @@ -95,6 +105,26 @@ function getFilterQuery(filters: QueryFilters = {}, options: QueryOptions = {}) return query.join('\n'); } +function getDateQuery(filters: QueryFilters = {}) { + const { startDate, endDate, timezone } = filters; + + if (startDate) { + if (endDate) { + if (timezone) { + return `and created_at between toTimezone({startDate:DateTime64},{timezone:String}) and toTimezone({endDate:DateTime64},{timezone:String})`; + } + return `and created_at between {startDate:DateTime64} and {endDate:DateTime64}`; + } else { + if (timezone) { + return `and created_at >= toTimezone({startDate:DateTime64},{timezone:String})`; + } + return `and created_at >= {startDate:DateTime64}`; + } + } + + return ''; +} + function getFilterParams(filters: QueryFilters = {}) { return filtersToArray(filters).reduce((obj, { name, value }) => { if (name && value !== undefined) { @@ -106,10 +136,11 @@ function getFilterParams(filters: QueryFilters = {}) { } async function parseFilters(websiteId: string, filters: QueryFilters = {}, options?: QueryOptions) { - const website = await loadWebsite(websiteId); + const website = await getWebsite(websiteId); return { filterQuery: getFilterQuery(filters, options), + dateQuery: getDateQuery(filters), params: { ...getFilterParams(filters), websiteId, @@ -119,7 +150,36 @@ async function parseFilters(websiteId: string, filters: QueryFilters = {}, optio }; } -async function rawQuery(query: string, params: Record = {}): Promise { +async function pagedQuery( + query: string, + queryParams: { [key: string]: any }, + pageParams: PageParams = {}, +) { + const { page = 1, pageSize, orderBy, sortDescending = false } = pageParams; + const size = +pageSize || DEFAULT_PAGE_SIZE; + const offset = +size * (page - 1); + const direction = sortDescending ? 'desc' : 'asc'; + + const statements = [ + orderBy && `order by ${orderBy} ${direction}`, + +size > 0 && `limit ${+size} offset ${offset}`, + ] + .filter(n => n) + .join('\n'); + + const count = await rawQuery(`select count(*) as num from (${query}) t`, queryParams).then( + res => res[0].num, + ); + + const data = await rawQuery(`${query}${statements}`, queryParams); + + return { data, count, page: +page, pageSize: size, orderBy }; +} + +async function rawQuery( + query: string, + params: Record = {}, +): Promise { if (process.env.LOG_QUERY) { log('QUERY:\n', query); log('PARAMETERS:\n', params); @@ -131,9 +191,19 @@ async function rawQuery(query: string, params: Record = {}): Pr query: query, query_params: params, format: 'JSONEachRow', + clickhouse_settings: { + date_time_output_format: 'iso', + output_format_json_quote_64bit_integers: 0, + }, }); - return resultSet.json(); + return (await resultSet.json()) as T; +} + +async function insert(table: string, values: any[]) { + await connect(); + + return clickhouse.insert({ table, values, format: 'JSONEachRow' }); } async function findUnique(data: any[]) { @@ -161,12 +231,15 @@ export default { client: clickhouse, log, connect, - getDateStringQuery, - getDateQuery, - getDateFormat, + getDateStringSQL, + getDateSQL, + getSearchSQL, getFilterQuery, + getUTCString, parseFilters, + pagedQuery, findUnique, findFirst, rawQuery, + insert, }; diff --git a/src/lib/colors.ts b/src/lib/colors.ts new file mode 100644 index 00000000..ba329805 --- /dev/null +++ b/src/lib/colors.ts @@ -0,0 +1,45 @@ +import md5 from 'md5'; + +export const pick = (num: number, arr: any[]) => { + return arr[num % arr.length]; +}; + +export function clamp(num: number, min: number, max: number) { + return num < min ? min : num > max ? max : num; +} + +export function hex2RGB(color: string, min: number = 0, max: number = 255) { + const c = color.replace(/^#/, ''); + const diff = max - min; + + const normalize = (num: number) => { + return Math.floor((num / 255) * diff + min); + }; + + const r = normalize(parseInt(c.substring(0, 2), 16)); + const g = normalize(parseInt(c.substring(2, 4), 16)); + const b = normalize(parseInt(c.substring(4, 6), 16)); + + return { r, g, b }; +} + +export function rgb2Hex(r: number, g: number, b: number, prefix = '') { + return `${prefix}${r.toString(16)}${g.toString(16)}${b.toString(16)}`; +} + +export function getPastel(color: string, factor: number = 0.5, prefix = '') { + let { r, g, b } = hex2RGB(color); + + r = Math.floor((r + 255 * factor) / (1 + factor)); + g = Math.floor((g + 255 * factor) / (1 + factor)); + b = Math.floor((b + 255 * factor) / (1 + factor)); + + return rgb2Hex(r, g, b, prefix); +} + +export function getColor(seed: string, min: number = 0, max: number = 255) { + const color = md5(seed).substring(0, 6); + const { r, g, b } = hex2RGB(color, min, max); + + return rgb2Hex(r, g, b); +} diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 66e17dfb..a9e13c14 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -20,9 +20,10 @@ export const DEFAULT_DATE_RANGE = '24hour'; export const DEFAULT_WEBSITE_LIMIT = 10; export const DEFAULT_RESET_DATE = '2000-01-01'; export const DEFAULT_PAGE_SIZE = 10; +export const DEFAULT_DATE_COMPARE = 'prev'; export const REALTIME_RANGE = 30; -export const REALTIME_INTERVAL = 5000; +export const REALTIME_INTERVAL = 10000; export const FILTER_COMBINED = 'filter-combined'; export const FILTER_RAW = 'filter-raw'; @@ -30,8 +31,9 @@ export const FILTER_DAY = 'filter-day'; export const FILTER_RANGE = 'filter-range'; export const FILTER_REFERRERS = 'filter-referrers'; export const FILTER_PAGES = 'filter-pages'; -export const UNIT_TYPES = ['year', 'month', 'hour', 'day']; -export const EVENT_COLUMNS = ['url', 'referrer', 'title', 'query', 'event']; + +export const UNIT_TYPES = ['year', 'month', 'hour', 'day', 'minute']; +export const EVENT_COLUMNS = ['url', 'entry', 'exit', 'referrer', 'title', 'query', 'event', 'tag']; export const SESSION_COLUMNS = [ 'browser', @@ -42,11 +44,15 @@ export const SESSION_COLUMNS = [ 'country', 'region', 'city', + 'host', ]; export const FILTER_COLUMNS = { url: 'url_path', + entry: 'url_path', + exit: 'url_path', referrer: 'referrer_domain', + host: 'hostname', title: 'page_title', query: 'url_query', os: 'os', @@ -57,6 +63,7 @@ export const FILTER_COLUMNS = { city: 'city', language: 'language', event: 'event_name', + tag: 'tag', }; export const COLLECTION_TYPE = { @@ -111,9 +118,12 @@ export const DATA_TYPES = { export const REPORT_TYPES = { funnel: 'funnel', + goals: 'goals', insights: 'insights', retention: 'retention', utm: 'utm', + journey: 'journey', + revenue: 'revenue', } as const; export const REPORT_PARAMETERS = { @@ -132,6 +142,7 @@ export const ROLES = { user: 'user', viewOnly: 'view-only', teamOwner: 'team-owner', + teamManager: 'team-manager', teamMember: 'team-member', teamViewOnly: 'team-view-only', } as const; @@ -141,6 +152,8 @@ export const PERMISSIONS = { websiteCreate: 'website:create', websiteUpdate: 'website:update', websiteDelete: 'website:delete', + websiteTransferToTeam: 'website:transfer-to-team', + websiteTransferToUser: 'website:transfer-to-user', teamCreate: 'team:create', teamUpdate: 'team:update', teamDelete: 'team:delete', @@ -161,6 +174,15 @@ export const ROLE_PERMISSIONS = { PERMISSIONS.websiteCreate, PERMISSIONS.websiteUpdate, PERMISSIONS.websiteDelete, + PERMISSIONS.websiteTransferToTeam, + PERMISSIONS.websiteTransferToUser, + ], + [ROLES.teamManager]: [ + PERMISSIONS.teamUpdate, + PERMISSIONS.websiteCreate, + PERMISSIONS.websiteUpdate, + PERMISSIONS.websiteDelete, + PERMISSIONS.websiteTransferToTeam, ], [ROLES.teamMember]: [ PERMISSIONS.websiteCreate, @@ -217,13 +239,14 @@ export const CHART_COLORS = [ ]; export const DOMAIN_REGEX = - /^(localhost(:[1-9]\d{0,4})?|((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9-]+(-[a-z0-9-]+)*\.)+(xn--)?[a-z0-9-]{2,63})$/; + /^(localhost(:[1-9]\d{0,4})?|((?=[a-z0-9-_]{1,63}\.)(xn--)?[a-z0-9-_]+(-[a-z0-9-_]+)*\.)+(xn--)?[a-z0-9-_]{2,63})$/; export const SHARE_ID_REGEX = /^[a-zA-Z0-9]{8,16}$/; export const UUID_REGEX = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/; export const HOSTNAME_REGEX = - /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/; -export const IP_REGEX = /^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$/; + /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-_]*[A-Za-z0-9])$/; +export const IP_REGEX = + /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(?:(?:[0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:(?:(:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))$/; export const DATETIME_REGEX = /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{3}(Z|\+[0-9]{2}:[0-9]{2})?)?$/; @@ -289,7 +312,7 @@ export const BROWSERS = { instagram: 'Instagram', ios: 'iOS', 'ios-webview': 'iOS (webview)', - kakaotalk: 'KaKaoTalk', + kakaotalk: 'KakaoTalk', miui: 'MIUI', opera: 'Opera', 'opera-mini': 'Opera Mini', diff --git a/src/lib/crypto.ts b/src/lib/crypto.ts index 1fbcf031..689efe62 100644 --- a/src/lib/crypto.ts +++ b/src/lib/crypto.ts @@ -1,6 +1,6 @@ import { startOfHour, startOfMonth } from 'date-fns'; import { hash } from 'next-basics'; -import { v4, v5, validate } from 'uuid'; +import { v4, v5 } from 'uuid'; export function secret() { return hash(process.env.APP_SECRET || process.env.DATABASE_URL); @@ -23,7 +23,3 @@ export function uuid(...args: any) { return v5(hash(...args, salt()), v5.DNS); } - -export function isUuid(value: string) { - return validate(value); -} diff --git a/src/lib/data.ts b/src/lib/data.ts index 24c76dd0..cf2722b5 100644 --- a/src/lib/data.ts +++ b/src/lib/data.ts @@ -88,3 +88,7 @@ function getKeyName(key: string, parentKey: string) { return `${parentKey}.${key}`; } + +export function objectToArray(obj: object) { + return Object.keys(obj).map(key => obj[key]); +} diff --git a/src/lib/date.ts b/src/lib/date.ts index 1c0b95b2..b7755ffc 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -1,4 +1,3 @@ -import moment from 'moment-timezone'; import { addMinutes, addHours, @@ -34,6 +33,7 @@ import { addWeeks, subWeeks, endOfMinute, + isSameDay, } from 'date-fns'; import { getDateLocale } from 'lib/lang'; import { DateRange } from 'lib/types'; @@ -104,8 +104,17 @@ const DATE_FUNCTIONS = { }, }; +export function isValidTimezone(timezone: string) { + try { + Intl.DateTimeFormat(undefined, { timeZone: timezone }); + return true; + } catch (error) { + return false; + } +} + export function getTimezone() { - return moment.tz.guess(); + return Intl.DateTimeFormat().resolvedOptions().timeZone; } export function parseDateValue(value: string) { @@ -154,7 +163,7 @@ export function parseDateRange(value: string | object, locale = 'en-US'): DateRa switch (unit) { case 'hour': return { - startDate: subHours(startOfHour(now), num), + startDate: num ? subHours(startOfHour(now), num - 1) : startOfHour(now), endDate: endOfHour(now), offset: 0, num: num || 1, @@ -163,8 +172,8 @@ export function parseDateRange(value: string | object, locale = 'en-US'): DateRa }; case 'day': return { - startDate: subDays(startOfDay(now), num), - endDate: subDays(endOfDay(now), num ? 1 : 0), + startDate: num ? subDays(startOfDay(now), num - 1) : startOfDay(now), + endDate: endOfDay(now), unit: num ? 'day' : 'hour', offset: 0, num: num || 1, @@ -172,8 +181,10 @@ export function parseDateRange(value: string | object, locale = 'en-US'): DateRa }; case 'week': return { - startDate: subWeeks(startOfWeek(now, { locale: dateLocale }), num), - endDate: subWeeks(endOfWeek(now, { locale: dateLocale }), num), + startDate: num + ? subWeeks(startOfWeek(now, { locale: dateLocale }), num - 1) + : startOfWeek(now, { locale: dateLocale }), + endDate: endOfWeek(now, { locale: dateLocale }), unit: 'day', offset: 0, num: num || 1, @@ -181,8 +192,8 @@ export function parseDateRange(value: string | object, locale = 'en-US'): DateRa }; case 'month': return { - startDate: subMonths(startOfMonth(now), num), - endDate: subMonths(endOfMonth(now), num ? 1 : 0), + startDate: num ? subMonths(startOfMonth(now), num - 1) : startOfMonth(now), + endDate: endOfMonth(now), unit: num ? 'month' : 'day', offset: 0, num: num || 1, @@ -190,8 +201,8 @@ export function parseDateRange(value: string | object, locale = 'en-US'): DateRa }; case 'year': return { - startDate: subYears(startOfYear(now), num), - endDate: subYears(endOfYear(now), num), + startDate: num ? subYears(startOfYear(now), num - 1) : startOfYear(now), + endDate: endOfYear(now), unit: 'month', offset: 0, num: num || 1, @@ -270,35 +281,14 @@ export function getMinimumUnit(startDate: number | Date, endDate: number | Date) return 'year'; } -export function getDateFromString(str: string) { - const [ymd, hms] = str.split(' '); - const [year, month, day] = ymd.split('-'); - - if (hms) { - const [hour, min, sec] = hms.split(':'); - - return new Date(+year, +month - 1, +day, +hour, +min, +sec); - } - - return new Date(+year, +month - 1, +day); -} - export function getDateArray(data: any[], startDate: Date, endDate: Date, unit: string) { const arr = []; const { diff, add, start } = DATE_FUNCTIONS[unit]; - const n = diff(endDate, startDate) + 1; + const n = diff(endDate, startDate); - function findData(date: Date) { - const d = data.find(({ x }) => { - return start(getDateFromString(x)).getTime() === date.getTime(); - }); - - return d?.y || 0; - } - - for (let i = 0; i < n; i++) { + for (let i = 0; i <= n; i++) { const t = start(add(startDate, i)); - const y = findData(t); + const y = data.find(({ x }) => start(new Date(x)).getTime() === t.getTime())?.y || 0; arr.push({ x: t, y }); } @@ -332,3 +322,26 @@ export function getDateLength(startDate: Date, endDate: Date, unit: string | num const { diff } = DATE_FUNCTIONS[unit]; return diff(endDate, startDate) + 1; } + +export function getCompareDate(compare: string, startDate: Date, endDate: Date) { + if (compare === 'yoy') { + return { startDate: subYears(startDate, 1), endDate: subYears(endDate, 1) }; + } + + const diff = differenceInMinutes(endDate, startDate); + + return { startDate: subMinutes(startDate, diff), endDate: subMinutes(endDate, diff) }; +} + +export function getDayOfWeekAsDate(dayOfWeek: number) { + const startOfWeekDay = startOfWeek(new Date()); + const daysToAdd = [0, 1, 2, 3, 4, 5, 6].indexOf(dayOfWeek); + let currentDate = addDays(startOfWeekDay, daysToAdd); + + // Ensure we're not returning a past date + if (isSameDay(currentDate, startOfWeekDay)) { + currentDate = addDays(currentDate, 7); + } + + return currentDate; +} diff --git a/src/lib/detect.ts b/src/lib/detect.ts index 25dee386..56a037ec 100644 --- a/src/lib/detect.ts +++ b/src/lib/detect.ts @@ -2,9 +2,9 @@ import path from 'path'; import { getClientIp } from 'request-ip'; import { browserName, detectOS } from 'detect-browser'; import isLocalhost from 'is-localhost-ip'; +import ipaddr from 'ipaddr.js'; import maxmind from 'maxmind'; import { safeDecodeURIComponent } from 'next-basics'; - import { DESKTOP_OS, MOBILE_OS, @@ -132,8 +132,36 @@ export async function getClientInfo(req: NextApiRequestCollect) { const subdivision2 = location?.subdivision2; const city = location?.city; const browser = browserName(userAgent); - const os = detectOS(userAgent); + const os = detectOS(userAgent) as string; const device = getDevice(req.body?.payload?.screen, os); return { userAgent, browser, os, ip, country, subdivision1, subdivision2, city, device }; } + +export function hasBlockedIp(req: NextApiRequestCollect) { + const ignoreIps = process.env.IGNORE_IP; + + if (ignoreIps) { + const ips = []; + + if (ignoreIps) { + ips.push(...ignoreIps.split(',').map(n => n.trim())); + } + + const clientIp = getIpAddress(req); + + return ips.find(ip => { + if (ip === clientIp) return true; + + // CIDR notation + if (ip.indexOf('/') > 0) { + const addr = ipaddr.parse(clientIp); + const range = ipaddr.parseCIDR(ip); + + if (addr.kind() === range[0].kind() && addr.match(range)) return true; + } + }); + } + + return false; +} diff --git a/src/lib/format.ts b/src/lib/format.ts index a662a9eb..e497464a 100644 --- a/src/lib/format.ts +++ b/src/lib/format.ts @@ -47,6 +47,9 @@ export function formatNumber(n: string | number) { export function formatLongNumber(value: number) { const n = Number(value); + if (n >= 1000000000) { + return `${(n / 1000000).toFixed(1)}b`; + } if (n >= 1000000) { return `${(n / 1000000).toFixed(1)}m`; } @@ -78,3 +81,38 @@ export function stringToColor(str: string) { } return color; } + +export function formatCurrency(value: number, currency: string, locale = 'en-US') { + let formattedValue; + + try { + formattedValue = new Intl.NumberFormat(locale, { + style: 'currency', + currency: currency, + }); + } catch (error) { + // Fallback to default currency format if an error occurs + formattedValue = new Intl.NumberFormat(locale, { + style: 'currency', + currency: 'USD', + }); + } + + return formattedValue.format(value); +} + +export function formatLongCurrency(value: number, currency: string, locale = 'en-US') { + const n = Number(value); + + if (n >= 1000000000) { + return `${formatCurrency(n / 1000000000, currency, locale)}b`; + } + if (n >= 1000000) { + return `${formatCurrency(n / 1000000, currency, locale)}m`; + } + if (n >= 1000) { + return `${formatCurrency(n / 1000, currency, locale)}k`; + } + + return formatCurrency(n, currency, locale); +} diff --git a/src/lib/kafka.ts b/src/lib/kafka.ts index 10326888..38a7073e 100644 --- a/src/lib/kafka.ts +++ b/src/lib/kafka.ts @@ -1,4 +1,3 @@ -import dateFormat from 'dateformat'; import debug from 'debug'; import { Kafka, Mechanism, Producer, RecordMetadata, SASLOptions, logLevel } from 'kafkajs'; import { KAFKA, KAFKA_PRODUCER } from 'lib/db'; @@ -17,14 +16,9 @@ function getClient() { const ssl: { ssl?: tls.ConnectionOptions | boolean; sasl?: SASLOptions | Mechanism } = username && password ? { - ssl: { - checkServerIdentity: () => undefined, - ca: [process.env.CA_CERT], - key: process.env.CLIENT_KEY, - cert: process.env.CLIENT_CERT, - }, + ssl: true, sasl: { - mechanism: 'plain', + mechanism: 'scram-sha-256', username, password, }, @@ -61,13 +55,9 @@ async function getProducer(): Promise { return producer; } -function getDateFormat(date: Date, format?: string): string { - return dateFormat(date, format ? format : 'UTC:yyyy-mm-dd HH:MM:ss'); -} - async function sendMessage( - message: { [key: string]: string | number }, topic: string, + message: { [key: string]: string | number }, ): Promise { await connect(); @@ -82,7 +72,7 @@ async function sendMessage( }); } -async function sendMessages(messages: { [key: string]: string | number }[], topic: string) { +async function sendMessages(topic: string, messages: { [key: string]: string | number }[]) { await connect(); await producer.send({ @@ -112,7 +102,6 @@ export default { producer, log, connect, - getDateFormat, sendMessage, sendMessages, }; diff --git a/src/lib/lang.ts b/src/lib/lang.ts index 2e86212e..48176d0a 100644 --- a/src/lib/lang.ts +++ b/src/lib/lang.ts @@ -2,6 +2,8 @@ import { arSA, be, bn, + bg, + bs, cs, sk, da, @@ -47,7 +49,9 @@ import { export const languages = { 'ar-SA': { label: 'العربية', dateLocale: arSA, dir: 'rtl' }, 'be-BY': { label: 'Беларуская', dateLocale: be }, + 'bg-BG': { label: 'български език', dateLocale: bg }, 'bn-BD': { label: 'বাংলা', dateLocale: bn }, + 'bs-BA': { label: 'Bosanski', dateLocale: bs }, 'ca-ES': { label: 'Català', dateLocale: ca }, 'cs-CZ': { label: 'Čeština', dateLocale: cs }, 'da-DK': { label: 'Dansk', dateLocale: da }, diff --git a/src/lib/load.ts b/src/lib/load.ts index 78c0ac9c..8cddeaa9 100644 --- a/src/lib/load.ts +++ b/src/lib/load.ts @@ -1,12 +1,12 @@ -import cache from 'lib/cache'; -import { getSession, getUser, getWebsite } from 'queries'; -import { User, Website, Session } from '@prisma/client'; +import { getWebsiteSession, getWebsite } from 'queries'; +import { Website, Session } from '@prisma/client'; +import redis from '@umami/redis-client'; -export async function loadWebsite(websiteId: string): Promise { - let website; +export async function fetchWebsite(websiteId: string): Promise { + let website = null; - if (cache.enabled) { - website = await cache.fetchWebsite(websiteId); + if (redis.enabled) { + website = await redis.client.fetch(`website:${websiteId}`, () => getWebsite(websiteId), 86400); } else { website = await getWebsite(websiteId); } @@ -18,13 +18,17 @@ export async function loadWebsite(websiteId: string): Promise { return website; } -export async function loadSession(sessionId: string): Promise { - let session; +export async function fetchSession(websiteId: string, sessionId: string): Promise { + let session = null; - if (cache.enabled) { - session = await cache.fetchSession(sessionId); + if (redis.enabled) { + session = await redis.client.fetch( + `session:${sessionId}`, + () => getWebsiteSession(websiteId, sessionId), + 86400, + ); } else { - session = await getSession(sessionId); + session = await getWebsiteSession(websiteId, sessionId); } if (!session) { @@ -33,19 +37,3 @@ export async function loadSession(sessionId: string): Promise { return session; } - -export async function loadUser(userId: string): Promise { - let user; - - if (cache.enabled) { - user = await cache.fetchUser(userId); - } else { - user = await getUser(userId); - } - - if (!user || user.deletedAt) { - return null; - } - - return user; -} diff --git a/src/lib/middleware.ts b/src/lib/middleware.ts index 6885de90..f13b5c72 100644 --- a/src/lib/middleware.ts +++ b/src/lib/middleware.ts @@ -4,13 +4,12 @@ import redis from '@umami/redis-client'; import { getAuthToken, parseShareToken } from 'lib/auth'; import { ROLES } from 'lib/constants'; import { secret } from 'lib/crypto'; -import { findSession } from 'lib/session'; +import { getSession } from 'lib/session'; import { badRequest, createMiddleware, - forbidden, + notFound, parseSecureToken, - tooManyRequest, unauthorized, } from 'next-basics'; import { NextApiRequestCollect } from 'pages/api/send'; @@ -27,7 +26,7 @@ export const useCors = createMiddleware( export const useSession = createMiddleware(async (req, res, next) => { try { - const session = await findSession(req as NextApiRequestCollect); + const session = await getSession(req as NextApiRequestCollect); if (!session) { log('useSession: Session not found'); @@ -36,11 +35,8 @@ export const useSession = createMiddleware(async (req, res, next) => { (req as any).session = session; } catch (e: any) { - if (e.message === 'Usage Limit.') { - return tooManyRequest(res, e.message); - } - if (e.message.startsWith('Website not found:')) { - return forbidden(res, e.message); + if (e.message.startsWith('Website not found')) { + return notFound(res, e.message); } return badRequest(res, e.message); } diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index c5e16ddc..a8f7eb06 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -1,27 +1,30 @@ +import debug from 'debug'; import { Prisma } from '@prisma/client'; import prisma from '@umami/prisma-client'; -import moment from 'moment-timezone'; +import { formatInTimeZone } from 'date-fns-tz'; import { MYSQL, POSTGRESQL, getDatabaseType } from 'lib/db'; import { SESSION_COLUMNS, OPERATORS, DEFAULT_PAGE_SIZE } from './constants'; -import { loadWebsite } from './load'; +import { fetchWebsite } from './load'; import { maxDate } from './date'; -import { QueryFilters, QueryOptions, SearchFilter } from './types'; +import { QueryFilters, QueryOptions, PageParams } from './types'; import { filtersToArray } from './params'; +const log = debug('umami:prisma'); + const MYSQL_DATE_FORMATS = { - minute: '%Y-%m-%d %H:%i:00', + minute: '%Y-%m-%dT%H:%i:00', hour: '%Y-%m-%d %H:00:00', - day: '%Y-%m-%d', - month: '%Y-%m-01', - year: '%Y-01-01', + day: '%Y-%m-%d 00:00:00', + month: '%Y-%m-01 00:00:00', + year: '%Y-01-01 00:00:00', }; const POSTGRESQL_DATE_FORMATS = { minute: 'YYYY-MM-DD HH24:MI:00', hour: 'YYYY-MM-DD HH24:00:00', - day: 'YYYY-MM-DD', - month: 'YYYY-MM-01', - year: 'YYYY-01-01', + day: 'YYYY-MM-DD HH24:00:00', + month: 'YYYY-MM-01 HH24:00:00', + year: 'YYYY-01-01 HH24:00:00', }; function getAddIntervalQuery(field: string, interval: string): string { @@ -60,7 +63,7 @@ function getCastColumnQuery(field: string, type: string): string { } } -function getDateQuery(field: string, unit: string, timezone?: string): string { +function getDateSQL(field: string, unit: string, timezone?: string): string { const db = getDatabaseType(); if (db === POSTGRESQL) { @@ -72,16 +75,39 @@ function getDateQuery(field: string, unit: string, timezone?: string): string { if (db === MYSQL) { if (timezone) { - const tz = moment.tz(timezone).format('Z'); - + const tz = formatInTimeZone(new Date(), timezone, 'yyyy-MM-dd HH:mm:ss'); return `date_format(convert_tz(${field},'+00:00','${tz}'), '${MYSQL_DATE_FORMATS[unit]}')`; } - return `date_format(${field}, '${MYSQL_DATE_FORMATS[unit]}')`; } } -function getTimestampDiffQuery(field1: string, field2: string): string { +function getDateWeeklySQL(field: string, timezone?: string) { + const db = getDatabaseType(); + + if (db === POSTGRESQL) { + return `concat(extract(dow from (${field} at time zone '${timezone}')), ':', to_char((${field} at time zone '${timezone}'), 'HH24'))`; + } + + if (db === MYSQL) { + const tz = formatInTimeZone(new Date(), timezone, 'yyyy-MM-dd HH:mm:ss'); + return `date_format(convert_tz(${field},'+00:00','${tz}'), '%w:%H')`; + } +} + +export function getTimestampSQL(field: string) { + const db = getDatabaseType(); + + if (db === POSTGRESQL) { + return `floor(extract(epoch from ${field}))`; + } + + if (db === MYSQL) { + return `UNIX_TIMESTAMP(${field})`; + } +} + +function getTimestampDiffSQL(field1: string, field2: string): string { const db = getDatabaseType(); if (db === POSTGRESQL) { @@ -93,11 +119,11 @@ function getTimestampDiffQuery(field1: string, field2: string): string { } } -function getSearchQuery(column: string): string { +function getSearchSQL(column: string, param: string = 'search'): string { const db = getDatabaseType(); const like = db === POSTGRESQL ? 'ilike' : 'like'; - return `and ${column} ${like} {{search}}`; + return `and ${column} ${like} {{${param}}`; } function mapFilter(column: string, operator: string, name: string, type: string = '') { @@ -137,6 +163,20 @@ function getFilterQuery(filters: QueryFilters = {}, options: QueryOptions = {}): return query.join('\n'); } +function getDateQuery(filters: QueryFilters = {}) { + const { startDate, endDate } = filters; + + if (startDate) { + if (endDate) { + return `and website_event.created_at between {{startDate}} and {{endDate}}`; + } else { + return `and website_event.created_at >= {{startDate}}`; + } + } + + return ''; +} + function getFilterParams(filters: QueryFilters = {}) { return filtersToArray(filters).reduce((obj, { name, operator, value }) => { obj[name] = [OPERATORS.contains, OPERATORS.doesNotContain].includes(operator) @@ -152,7 +192,7 @@ async function parseFilters( filters: QueryFilters = {}, options: QueryOptions = {}, ) { - const website = await loadWebsite(websiteId); + const website = await fetchWebsite(websiteId); const joinSession = Object.keys(filters).find(key => SESSION_COLUMNS.includes(key)); return { @@ -161,6 +201,7 @@ async function parseFilters( ? `inner join session on website_event.session_id = session.session_id` : '', filterQuery: getFilterQuery(filters, options), + dateQuery: getDateQuery(filters), params: { ...getFilterParams(filters), websiteId, @@ -171,6 +212,11 @@ async function parseFilters( } async function rawQuery(sql: string, data: object): Promise { + if (process.env.LOG_QUERY) { + log('QUERY:\n', sql); + log('PARAMETERS:\n', data); + } + const db = getDatabaseType(); const params = []; @@ -191,8 +237,8 @@ async function rawQuery(sql: string, data: object): Promise { return prisma.rawQuery(query, params); } -async function pagedQuery(model: string, criteria: T, filters: SearchFilter) { - const { page = 1, pageSize, orderBy, sortDescending = false } = filters || {}; +async function pagedQuery(model: string, criteria: T, pageParams: PageParams) { + const { page = 1, pageSize, orderBy, sortDescending = false } = pageParams || {}; const size = +pageSize || DEFAULT_PAGE_SIZE; const data = await prisma.client[model].findMany({ @@ -214,6 +260,32 @@ async function pagedQuery(model: string, criteria: T, filters: SearchFilter) return { data, count, page: +page, pageSize: size, orderBy }; } +async function pagedRawQuery( + query: string, + queryParams: { [key: string]: any }, + pageParams: PageParams = {}, +) { + const { page = 1, pageSize, orderBy, sortDescending = false } = pageParams; + const size = +pageSize || DEFAULT_PAGE_SIZE; + const offset = +size * (page - 1); + const direction = sortDescending ? 'desc' : 'asc'; + + const statements = [ + orderBy && `order by ${orderBy} ${direction}`, + +size > 0 && `limit ${+size} offset ${offset}`, + ] + .filter(n => n) + .join('\n'); + + const count = await rawQuery(`select count(*) as num from (${query}) t`, queryParams).then( + res => res[0].num, + ); + + const data = await rawQuery(`${query}${statements}`, queryParams); + + return { data, count, page: +page, pageSize: size, orderBy }; +} + function getQueryMode(): { mode?: Prisma.QueryMode } { const db = getDatabaseType(); @@ -256,13 +328,15 @@ export default { getAddIntervalQuery, getCastColumnQuery, getDayDiffQuery, - getDateQuery, + getDateSQL, + getDateWeeklySQL, getFilterQuery, getSearchParameters, - getTimestampDiffQuery, - getSearchQuery, + getTimestampDiffSQL, + getSearchSQL, getQueryMode, pagedQuery, + pagedRawQuery, parseFilters, rawQuery, }; diff --git a/src/lib/schema.ts b/src/lib/schema.ts index c09d262a..5218af10 100644 --- a/src/lib/schema.ts +++ b/src/lib/schema.ts @@ -2,7 +2,7 @@ import * as yup from 'yup'; export const dateRange = { startAt: yup.number().integer().required(), - endAt: yup.number().integer().moreThan(yup.ref('startAt')).required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), }; export const pageInfo = { diff --git a/src/lib/session.ts b/src/lib/session.ts index 5f3020e1..ca145c04 100644 --- a/src/lib/session.ts +++ b/src/lib/session.ts @@ -1,28 +1,13 @@ -import { isUuid, secret, uuid, visitSalt } from 'lib/crypto'; +import { secret, uuid, visitSalt } from 'lib/crypto'; import { getClientInfo } from 'lib/detect'; import { parseToken } from 'next-basics'; import { NextApiRequestCollect } from 'pages/api/send'; import { createSession } from 'queries'; -import cache from './cache'; import clickhouse from './clickhouse'; -import { loadSession, loadWebsite } from './load'; +import { fetchSession, fetchWebsite } from './load'; +import { SessionData } from 'lib/types'; -export async function findSession(req: NextApiRequestCollect): Promise<{ - id: any; - websiteId: string; - visitId: string; - hostname: string; - browser: string; - os: any; - device: string; - screen: string; - language: string; - country: any; - subdivision1: any; - subdivision2: any; - city: any; - ownerId: string; -}> { +export async function getSession(req: NextApiRequestCollect): Promise { const { payload } = req.body; if (!payload) { @@ -35,9 +20,8 @@ export async function findSession(req: NextApiRequestCollect): Promise<{ if (cacheToken) { const result = await parseToken(cacheToken, secret()); + // Token is valid if (result) { - await checkUserBlock(result?.ownerId); - return result; } } @@ -45,25 +29,13 @@ export async function findSession(req: NextApiRequestCollect): Promise<{ // Verify payload const { website: websiteId, hostname, screen, language } = payload; - // Check the hostname value for legality to eliminate dirty data - const validHostnameRegex = /^[\w-.]+$/; - if (!validHostnameRegex.test(hostname)) { - throw new Error('Invalid hostname.'); - } - - if (!isUuid(websiteId)) { - throw new Error('Invalid website ID.'); - } - // Find website - const website = await loadWebsite(websiteId); + const website = await fetchWebsite(websiteId); if (!website) { throw new Error(`Website not found: ${websiteId}.`); } - await checkUserBlock(website.userId); - const { userAgent, browser, os, ip, country, subdivision1, subdivision2, city, device } = await getClientInfo(req); @@ -78,7 +50,7 @@ export async function findSession(req: NextApiRequestCollect): Promise<{ visitId, hostname, browser, - os: os as any, + os, device, screen, language, @@ -86,12 +58,11 @@ export async function findSession(req: NextApiRequestCollect): Promise<{ subdivision1, subdivision2, city, - ownerId: website.userId, }; } // Find session - let session = await loadSession(sessionId); + let session = await fetchSession(websiteId, sessionId); // Create a session if not found if (!session) { @@ -117,13 +88,5 @@ export async function findSession(req: NextApiRequestCollect): Promise<{ } } - return { ...session, ownerId: website.userId, visitId: visitId }; -} - -async function checkUserBlock(userId: string) { - if (process.env.ENABLE_BLOCKER && (await cache.fetchUserBlock(userId))) { - await cache.incrementUserBlock(userId); - - throw new Error('Usage Limit.'); - } + return { ...session, visitId: visitId }; } diff --git a/src/lib/types.ts b/src/lib/types.ts index 5c9a39c6..615882ef 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -24,31 +24,7 @@ export type DynamicDataType = ObjectValues; export type KafkaTopic = ObjectValues; export type ReportType = ObjectValues; -export interface WebsiteSearchFilter extends SearchFilter { - userId?: string; - teamId?: string; - includeTeams?: boolean; - onlyTeams?: boolean; -} - -export interface UserSearchFilter extends SearchFilter { - teamId?: string; -} - -export interface TeamSearchFilter extends SearchFilter { - userId?: string; -} - -export interface TeamUserSearchFilter extends SearchFilter { - teamId?: string; -} - -export interface ReportSearchFilter extends SearchFilter { - userId?: string; - websiteId?: string; -} - -export interface SearchFilter { +export interface PageParams { query?: string; page?: number; pageSize?: number; @@ -56,7 +32,7 @@ export interface SearchFilter { sortDescending?: boolean; } -export interface FilterResult { +export interface PageResult { data: T; count: number; page: number; @@ -65,11 +41,11 @@ export interface FilterResult { sortDescending?: boolean; } -export interface FilterQueryResult { - result: FilterResult; +export interface PagedQueryResult { + result: PageResult; query: any; - params: SearchFilter; - setParams: Dispatch>; + params: PageParams; + setParams: Dispatch>; } export interface DynamicData { @@ -149,9 +125,9 @@ export interface WebsiteEventMetric { export interface WebsiteEventData { eventName?: string; - fieldName: string; + propertyName: string; dataType: number; - fieldValue?: string; + propertyValue?: string; total: number; } @@ -167,23 +143,11 @@ export interface WebsitePageviews { } export interface WebsiteStats { - pageviews: { value: number; change: number }; - uniques: { value: number; change: number }; - bounces: { value: number; change: number }; - totalTime: { value: number; change: number }; -} - -export interface RealtimeInit { - websites: Website[]; - token: string; - data: RealtimeUpdate; -} - -export interface RealtimeUpdate { - pageviews: any[]; - sessions: any[]; - events: any[]; - timestamp: number; + pageviews: { value: number; prev: number }; + visitors: { value: number; prev: number }; + visits: { value: number; prev: number }; + bounces: { value: number; prev: number }; + totalTime: { value: number; prev: number }; } export interface DateRange { @@ -205,6 +169,7 @@ export interface QueryFilters { referrer?: string; title?: string; query?: string; + host?: string; os?: string; browser?: string; device?: string; @@ -214,6 +179,7 @@ export interface QueryFilters { language?: string; event?: string; search?: string; + tag?: string; } export interface QueryOptions { @@ -223,10 +189,37 @@ export interface QueryOptions { } export interface RealtimeData { - pageviews: any[]; - sessions: any[]; + countries: { [key: string]: number }; events: any[]; + pageviews: any[]; + referrers: { [key: string]: number }; timestamp: number; - countries?: any[]; - visitors?: any[]; + series: { + views: any[]; + visitors: any[]; + }; + totals: { + views: number; + visitors: number; + events: number; + countries: number; + }; + urls: { [key: string]: number }; + visitors: any[]; +} + +export interface SessionData { + id: string; + websiteId: string; + visitId: string; + hostname: string; + browser: string; + os: string; + device: string; + screen: string; + language: string; + country: string; + subdivision1: string; + subdivision2: string; + city: string; } diff --git a/src/lib/yup.ts b/src/lib/yup.ts index 4008e44f..d2652eda 100644 --- a/src/lib/yup.ts +++ b/src/lib/yup.ts @@ -1,5 +1,5 @@ -import moment from 'moment-timezone'; import * as yup from 'yup'; +import { isValidTimezone } from 'lib/date'; import { UNIT_TYPES } from './constants'; export const TimezoneTest = yup @@ -8,7 +8,7 @@ export const TimezoneTest = yup .test( 'timezone', () => `Invalid timezone`, - value => moment.tz.zone(value) !== null, + value => isValidTimezone(value), ); export const UnitTypeTest = yup.string().test( diff --git a/src/pages/api/admin/users.ts b/src/pages/api/admin/users.ts index 31b72ebf..4f03ec9f 100644 --- a/src/pages/api/admin/users.ts +++ b/src/pages/api/admin/users.ts @@ -1,13 +1,13 @@ import { canViewUsers } from 'lib/auth'; import { useAuth, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, Role, SearchFilter, User } from 'lib/types'; +import { NextApiRequestQueryBody, Role, PageParams, User } from 'lib/types'; import { pageInfo } from 'lib/schema'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { getUsers } from 'queries'; import * as yup from 'yup'; -export interface UsersRequestQuery extends SearchFilter {} +export interface UsersRequestQuery extends PageParams {} export interface UsersRequestBody { userId: string; username: string; diff --git a/src/pages/api/admin/websites.ts b/src/pages/api/admin/websites.ts index 4fbcd5cc..d7dd6b74 100644 --- a/src/pages/api/admin/websites.ts +++ b/src/pages/api/admin/websites.ts @@ -1,13 +1,18 @@ import { canViewAllWebsites } from 'lib/auth'; +import { ROLES } from 'lib/constants'; import { useAuth, useCors, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, SearchFilter } from 'lib/types'; +import { pageInfo } from 'lib/schema'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { getWebsites } from 'queries'; import * as yup from 'yup'; -import { pageInfo } from 'lib/schema'; -export interface WebsitesRequestQuery extends SearchFilter {} +export interface WebsitesRequestQuery extends PageParams { + userId?: string; + includeOwnedTeams?: boolean; + includeAllTeams?: boolean; +} export interface WebsitesRequestBody { name: string; @@ -39,8 +44,44 @@ export default async ( return unauthorized(res); } + const { userId, includeOwnedTeams, includeAllTeams } = req.query; + const websites = await getWebsites( { + where: { + OR: [ + ...(userId && [{ userId }]), + ...(userId && includeOwnedTeams + ? [ + { + team: { + deletedAt: null, + teamUser: { + some: { + role: ROLES.teamOwner, + userId, + }, + }, + }, + }, + ] + : []), + ...(userId && includeAllTeams + ? [ + { + team: { + deletedAt: null, + teamUser: { + some: { + userId, + }, + }, + }, + }, + ] + : []), + ], + }, include: { user: { select: { @@ -48,6 +89,18 @@ export default async ( id: true, }, }, + team: { + where: { + deletedAt: null, + }, + include: { + teamUser: { + where: { + role: ROLES.teamOwner, + }, + }, + }, + }, }, }, req.query, diff --git a/src/pages/api/auth/login.ts b/src/pages/api/auth/login.ts index 23bdb15f..51c53184 100644 --- a/src/pages/api/auth/login.ts +++ b/src/pages/api/auth/login.ts @@ -1,5 +1,4 @@ import redis from '@umami/redis-client'; -import debug from 'debug'; import { saveAuth } from 'lib/auth'; import { secret } from 'lib/crypto'; import { useValidate } from 'lib/middleware'; @@ -16,9 +15,6 @@ import { import { getUserByUsername } from 'queries'; import * as yup from 'yup'; import { ROLES } from 'lib/constants'; -import { getIpAddress } from 'lib/detect'; - -const log = debug('umami:auth'); export interface LoginRequestBody { username: string; @@ -68,13 +64,6 @@ export default async ( }); } - log( - `Login from ip ${getIpAddress(req)} with username "${username.replace( - /["\r\n]/g, - '', - )}" failed.`, - ); - return unauthorized(res, 'message.incorrect-username-password'); } diff --git a/src/pages/api/realtime/[websiteId].ts b/src/pages/api/realtime/[websiteId].ts index d315bf18..08e9bc47 100644 --- a/src/pages/api/realtime/[websiteId].ts +++ b/src/pages/api/realtime/[websiteId].ts @@ -1,46 +1,40 @@ import { startOfMinute, subMinutes } from 'date-fns'; import { canViewWebsite } from 'lib/auth'; import { useAuth, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, RealtimeInit } from 'lib/types'; +import { NextApiRequestQueryBody } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { getRealtimeData } from 'queries'; import * as yup from 'yup'; import { REALTIME_RANGE } from 'lib/constants'; +import { TimezoneTest } from 'lib/yup'; export interface RealtimeRequestQuery { websiteId: string; - startAt: number; + timezone?: string; } const schema = { GET: yup.object().shape({ websiteId: yup.string().uuid().required(), - startAt: yup.number().integer().required(), + timezone: TimezoneTest, }), }; -export default async ( - req: NextApiRequestQueryBody, - res: NextApiResponse, -) => { +export default async (req: NextApiRequestQueryBody, res: NextApiResponse) => { await useAuth(req, res); await useValidate(schema, req, res); if (req.method === 'GET') { - const { websiteId, startAt } = req.query; + const { websiteId, timezone } = req.query; if (!(await canViewWebsite(req.auth, websiteId))) { return unauthorized(res); } - let startTime = subMinutes(startOfMinute(new Date()), REALTIME_RANGE); + const startDate = subMinutes(startOfMinute(new Date()), REALTIME_RANGE); - if (+startAt > startTime.getTime()) { - startTime = new Date(+startAt); - } - - const data = await getRealtimeData(websiteId, startTime); + const data = await getRealtimeData(websiteId, { startDate, timezone }); return ok(res, data); } diff --git a/src/pages/api/reports/[reportId].ts b/src/pages/api/reports/[reportId].ts index db7d0bcc..91b5fb51 100644 --- a/src/pages/api/reports/[reportId].ts +++ b/src/pages/api/reports/[reportId].ts @@ -27,7 +27,7 @@ const schema: YupRequest = { websiteId: yup.string().uuid().required(), type: yup .string() - .matches(/funnel|insights|retention|utm/i) + .matches(/funnel|insights|retention|utm|goals|journey|revenue/i) .required(), name: yup.string().max(200).required(), description: yup.string().max(500), diff --git a/src/pages/api/reports/goals.ts b/src/pages/api/reports/goals.ts new file mode 100644 index 00000000..f775dc3c --- /dev/null +++ b/src/pages/api/reports/goals.ts @@ -0,0 +1,84 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { TimezoneTest } from 'lib/yup'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getGoals } from 'queries/analytics/reports/getGoals'; +import * as yup from 'yup'; + +export interface RetentionRequestBody { + websiteId: string; + dateRange: { startDate: string; endDate: string; timezone: string }; + goals: { type: string; value: string; goal: number }[]; +} + +const schema = { + POST: yup.object().shape({ + websiteId: yup.string().uuid().required(), + dateRange: yup + .object() + .shape({ + startDate: yup.date().required(), + endDate: yup.date().required(), + timezone: TimezoneTest, + }) + .required(), + goals: yup + .array() + .of( + yup.object().shape({ + type: yup + .string() + .matches(/url|event|event-data/i) + .required(), + value: yup.string().required(), + goal: yup.number().required(), + operator: yup + .string() + .matches(/count|sum|average/i) + .when('type', { + is: 'eventData', + then: yup.string().required(), + }), + property: yup.string().when('type', { + is: 'eventData', + then: yup.string().required(), + }), + }), + ) + .min(1) + .required(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'POST') { + const { + websiteId, + dateRange: { startDate, endDate }, + goals, + } = req.body; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const data = await getGoals(websiteId, { + startDate: new Date(startDate), + endDate: new Date(endDate), + goals, + }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/reports/index.ts b/src/pages/api/reports/index.ts index d231f0b7..38996b7a 100644 --- a/src/pages/api/reports/index.ts +++ b/src/pages/api/reports/index.ts @@ -27,7 +27,7 @@ const schema = { name: yup.string().max(200).required(), type: yup .string() - .matches(/funnel|insights|retention|utm/i) + .matches(/funnel|insights|retention|utm|goals|journey|revenue/i) .required(), description: yup.string().max(500), parameters: yup @@ -66,11 +66,29 @@ export default async ( const data = await getReports( { where: { - userId: !teamId && !websiteId ? userId : undefined, - websiteId, - website: { - teamId, - }, + OR: [ + ...(websiteId ? [{ websiteId }] : []), + ...(teamId + ? [ + { + website: { + deletedAt: null, + teamId, + }, + }, + ] + : []), + ...(userId && !websiteId && !teamId + ? [ + { + website: { + deletedAt: null, + userId, + }, + }, + ] + : []), + ], }, include: { website: { diff --git a/src/pages/api/reports/journey.ts b/src/pages/api/reports/journey.ts new file mode 100644 index 00000000..dd3bd57b --- /dev/null +++ b/src/pages/api/reports/journey.ts @@ -0,0 +1,66 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getJourney } from 'queries'; +import * as yup from 'yup'; + +export interface RetentionRequestBody { + websiteId: string; + dateRange: { startDate: string; endDate: string }; + steps: number; + startStep?: string; + endStep?: string; +} + +const schema = { + POST: yup.object().shape({ + websiteId: yup.string().uuid().required(), + dateRange: yup + .object() + .shape({ + startDate: yup.date().required(), + endDate: yup.date().required(), + }) + .required(), + steps: yup.number().min(3).max(7).required(), + startStep: yup.string(), + endStep: yup.string(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'POST') { + const { + websiteId, + dateRange: { startDate, endDate }, + steps, + startStep, + endStep, + } = req.body; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const data = await getJourney(websiteId, { + startDate: new Date(startDate), + endDate: new Date(endDate), + steps, + startStep, + endStep, + }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/reports/retention.ts b/src/pages/api/reports/retention.ts index 6ff7bbe1..f4d9b7df 100644 --- a/src/pages/api/reports/retention.ts +++ b/src/pages/api/reports/retention.ts @@ -9,7 +9,8 @@ import * as yup from 'yup'; export interface RetentionRequestBody { websiteId: string; - dateRange: { startDate: string; endDate: string; timezone: string }; + dateRange: { startDate: string; endDate: string }; + timezone: string; } const schema = { @@ -20,9 +21,9 @@ const schema = { .shape({ startDate: yup.date().required(), endDate: yup.date().required(), - timezone: TimezoneTest, }) .required(), + timezone: TimezoneTest, }), }; @@ -37,7 +38,8 @@ export default async ( if (req.method === 'POST') { const { websiteId, - dateRange: { startDate, endDate, timezone }, + dateRange: { startDate, endDate }, + timezone, } = req.body; if (!(await canViewWebsite(req.auth, websiteId))) { diff --git a/src/pages/api/reports/revenue.ts b/src/pages/api/reports/revenue.ts new file mode 100644 index 00000000..d23ce55a --- /dev/null +++ b/src/pages/api/reports/revenue.ts @@ -0,0 +1,80 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { TimezoneTest, UnitTypeTest } from 'lib/yup'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getRevenue } from 'queries/analytics/reports/getRevenue'; +import { getRevenueValues } from 'queries/analytics/reports/getRevenueValues'; +import * as yup from 'yup'; + +export interface RevenueRequestBody { + websiteId: string; + currency?: string; + timezone?: string; + dateRange: { startDate: string; endDate: string; unit?: string }; +} + +const schema = { + POST: yup.object().shape({ + websiteId: yup.string().uuid().required(), + timezone: TimezoneTest, + dateRange: yup + .object() + .shape({ + startDate: yup.date().required(), + endDate: yup.date().required(), + unit: UnitTypeTest, + }) + .required(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'GET') { + const { websiteId, startDate, endDate } = req.query; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const data = await getRevenueValues(websiteId, { + startDate: new Date(startDate), + endDate: new Date(endDate), + }); + + return ok(res, data); + } + + if (req.method === 'POST') { + const { + websiteId, + currency, + timezone, + dateRange: { startDate, endDate, unit }, + } = req.body; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const data = await getRevenue(websiteId, { + startDate: new Date(startDate), + endDate: new Date(endDate), + unit, + timezone, + currency, + }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/scripts/telemetry.ts b/src/pages/api/scripts/telemetry.ts deleted file mode 100644 index a8a8872e..00000000 --- a/src/pages/api/scripts/telemetry.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ok } from 'next-basics'; -import { CURRENT_VERSION, TELEMETRY_PIXEL } from 'lib/constants'; -import { NextApiRequest, NextApiResponse } from 'next'; - -export default function handler(req: NextApiRequest, res: NextApiResponse) { - if (process.env.NODE_ENV === 'production') { - res.setHeader('content-type', 'text/javascript'); - - if (process.env.DISABLE_TELEMETRY || process.env.PRIVATE_MODE) { - return res.send('/* telemetry disabled */'); - } - - const script = ` - (()=>{const i=document.createElement('img'); - i.setAttribute('src','${TELEMETRY_PIXEL}?v=${CURRENT_VERSION}'); - i.setAttribute('style','width:0;height:0;position:absolute;pointer-events:none;'); - document.body.appendChild(i);})(); - `; - - return res.send(script.replace(/\s\s+/g, '')); - } - - return ok(res); -} diff --git a/src/pages/api/send.ts b/src/pages/api/send.ts index df37ebe0..412f07d1 100644 --- a/src/pages/api/send.ts +++ b/src/pages/api/send.ts @@ -1,10 +1,4 @@ -import ipaddr from 'ipaddr.js'; import { isbot } from 'isbot'; -import { COLLECTION_TYPE, HOSTNAME_REGEX, IP_REGEX } from 'lib/constants'; -import { secret, visitSalt, uuid } from 'lib/crypto'; -import { getIpAddress } from 'lib/detect'; -import { useCors, useSession, useValidate } from 'lib/middleware'; -import { CollectionType, YupRequest } from 'lib/types'; import { NextApiRequest, NextApiResponse } from 'next'; import { badRequest, @@ -15,6 +9,11 @@ import { safeDecodeURI, send, } from 'next-basics'; +import { COLLECTION_TYPE, HOSTNAME_REGEX, IP_REGEX } from 'lib/constants'; +import { secret, visitSalt, uuid } from 'lib/crypto'; +import { hasBlockedIp } from 'lib/detect'; +import { useCors, useSession, useValidate } from 'lib/middleware'; +import { CollectionType, YupRequest } from 'lib/types'; import { saveEvent, saveSessionData } from 'queries'; import * as yup from 'yup'; @@ -41,7 +40,6 @@ export interface NextApiRequestCollect extends NextApiRequest { id: string; websiteId: string; visitId: string; - ownerId: string; hostname: string; browser: string; os: string; @@ -88,7 +86,7 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { if (req.method === 'POST') { if (!process.env.DISABLE_BOT_CHECK && isbot(req.headers['user-agent'])) { - return ok(res); + return ok(res, { beep: 'boop' }); } await useValidate(schema, req, res); @@ -98,7 +96,7 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { } const { type, payload } = req.body; - const { url, referrer, name: eventName, data, title } = payload; + const { url, referrer, name: eventName, data, title, tag } = payload; const pageTitle = safeDecodeURI(title); await useSession(req, res); @@ -113,6 +111,10 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { session.iat = iat; + if (!session.websiteId) { + return; + } + if (type === COLLECTION_TYPE.event) { // eslint-disable-next-line prefer-const let [urlPath, urlQuery] = safeDecodeURI(url)?.split('?') || []; @@ -123,7 +125,7 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { urlPath = '/'; } - if (referrerPath?.startsWith('http')) { + if (/^[\w-]+:\/\/\w+/.test(referrerPath)) { const refUrl = new URL(referrer); referrerPath = refUrl.pathname; referrerQuery = refUrl.search.substring(1); @@ -145,11 +147,9 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { eventData: data, ...session, sessionId: session.id, - visitId: session.visitId, + tag, }); - } - - if (type === COLLECTION_TYPE.identify) { + } else if (type === COLLECTION_TYPE.identify) { if (!data) { return badRequest(res, 'Data required.'); } @@ -168,31 +168,3 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { return methodNotAllowed(res); }; - -function hasBlockedIp(req: NextApiRequestCollect) { - const ignoreIps = process.env.IGNORE_IP; - - if (ignoreIps) { - const ips = []; - - if (ignoreIps) { - ips.push(...ignoreIps.split(',').map(n => n.trim())); - } - - const clientIp = getIpAddress(req); - - return ips.find(ip => { - if (ip === clientIp) return true; - - // CIDR notation - if (ip.indexOf('/') > 0) { - const addr = ipaddr.parse(clientIp); - const range = ipaddr.parseCIDR(ip); - - if (addr.kind() === range[0].kind() && addr.match(range)) return true; - } - }); - } - - return false; -} diff --git a/src/pages/api/teams/[teamId]/users/[userId].ts b/src/pages/api/teams/[teamId]/users/[userId].ts index 4b52fe3e..c1e80b1a 100644 --- a/src/pages/api/teams/[teamId]/users/[userId].ts +++ b/src/pages/api/teams/[teamId]/users/[userId].ts @@ -23,7 +23,7 @@ const schema = { POST: yup.object().shape({ role: yup .string() - .matches(/team-member|team-view-only/i) + .matches(/team-member|team-view-only|team-manager/i) .required(), }), }; diff --git a/src/pages/api/teams/[teamId]/users/index.ts b/src/pages/api/teams/[teamId]/users/index.ts index 3a03feaf..f25b99da 100644 --- a/src/pages/api/teams/[teamId]/users/index.ts +++ b/src/pages/api/teams/[teamId]/users/index.ts @@ -1,13 +1,13 @@ import { canAddUserToTeam, canViewTeam } from 'lib/auth'; import { useAuth, useValidate } from 'lib/middleware'; import { pageInfo } from 'lib/schema'; -import { NextApiRequestQueryBody, SearchFilter } from 'lib/types'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; import { NextApiResponse } from 'next'; import { badRequest, methodNotAllowed, ok, unauthorized } from 'next-basics'; import { createTeamUser, getTeamUser, getTeamUsers } from 'queries'; import * as yup from 'yup'; -export interface TeamUserRequestQuery extends SearchFilter { +export interface TeamUserRequestQuery extends PageParams { teamId: string; } @@ -25,7 +25,7 @@ const schema = { userId: yup.string().uuid().required(), role: yup .string() - .matches(/team-member|team-view-only/i) + .matches(/team-member|team-view-only|team-manager/i) .required(), }), }; diff --git a/src/pages/api/teams/[teamId]/websites/index.ts b/src/pages/api/teams/[teamId]/websites/index.ts index fe244857..75020fa4 100644 --- a/src/pages/api/teams/[teamId]/websites/index.ts +++ b/src/pages/api/teams/[teamId]/websites/index.ts @@ -1,13 +1,13 @@ import * as yup from 'yup'; import { canViewTeam } from 'lib/auth'; import { useAuth, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, SearchFilter } from 'lib/types'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; import { pageInfo } from 'lib/schema'; import { NextApiResponse } from 'next'; import { ok, unauthorized } from 'next-basics'; import { getTeamWebsites } from 'queries'; -export interface TeamWebsiteRequestQuery extends SearchFilter { +export interface TeamWebsiteRequestQuery extends PageParams { teamId: string; } diff --git a/src/pages/api/teams/index.ts b/src/pages/api/teams/index.ts index 08bf8f84..1e683469 100644 --- a/src/pages/api/teams/index.ts +++ b/src/pages/api/teams/index.ts @@ -3,13 +3,13 @@ import { Team } from '@prisma/client'; import { canCreateTeam } from 'lib/auth'; import { uuid } from 'lib/crypto'; import { useAuth, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, SearchFilter } from 'lib/types'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; import { pageInfo } from 'lib/schema'; import { NextApiResponse } from 'next'; import { getRandomChars, methodNotAllowed, ok, unauthorized } from 'next-basics'; import { createTeam } from 'queries'; -export interface TeamsRequestQuery extends SearchFilter {} +export interface TeamsRequestQuery extends PageParams {} export interface TeamsRequestBody { name: string; } diff --git a/src/pages/api/users/[userId]/teams.ts b/src/pages/api/users/[userId]/teams.ts index ad4af648..3f2af9e2 100644 --- a/src/pages/api/users/[userId]/teams.ts +++ b/src/pages/api/users/[userId]/teams.ts @@ -1,12 +1,12 @@ import * as yup from 'yup'; import { useAuth, useCors, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, SearchFilter } from 'lib/types'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; import { pageInfo } from 'lib/schema'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { getUserTeams } from 'queries'; -export interface UserTeamsRequestQuery extends SearchFilter { +export interface UserTeamsRequestQuery extends PageParams { userId: string; } diff --git a/src/pages/api/users/[userId]/usage.ts b/src/pages/api/users/[userId]/usage.ts index 72b33e3e..b5000395 100644 --- a/src/pages/api/users/[userId]/usage.ts +++ b/src/pages/api/users/[userId]/usage.ts @@ -2,11 +2,11 @@ import { useAuth, useCors, useValidate } from 'lib/middleware'; import { NextApiRequestQueryBody } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; -import { getAllWebsites, getEventDataUsage, getEventUsage } from 'queries'; +import { getAllUserWebsitesIncludingTeamOwner, getEventDataUsage, getEventUsage } from 'queries'; import * as yup from 'yup'; export interface UserUsageRequestQuery { - id: string; + userId: string; startAt: string; endAt: string; } @@ -24,9 +24,9 @@ export interface UserUsageRequestResponse { const schema = { GET: yup.object().shape({ - id: yup.string().uuid().required(), + userId: yup.string().uuid().required(), startAt: yup.number().integer().required(), - endAt: yup.number().integer().moreThan(yup.ref('startAt')).required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), }), }; @@ -45,12 +45,12 @@ export default async ( return unauthorized(res); } - const { id: userId, startAt, endAt } = req.query; + const { userId, startAt, endAt } = req.query; const startDate = new Date(+startAt); const endDate = new Date(+endAt); - const websites = await getAllWebsites(userId); + const websites = await getAllUserWebsitesIncludingTeamOwner(userId); const websiteIds = websites.map(a => a.id); @@ -62,6 +62,7 @@ export default async ( websiteName: a.name, websiteEventUsage: websiteEventUsage.find(b => a.id === b.websiteId)?.count || 0, eventDataUsage: eventDataUsage.find(b => a.id === b.websiteId)?.count || 0, + deletedAt: a.deletedAt, })); const usage = websiteUsage.reduce( @@ -74,9 +75,13 @@ export default async ( { websiteEventUsage: 0, eventDataUsage: 0 }, ); + const filteredWebsiteUsage = websiteUsage.filter( + a => !a.deletedAt && (a.websiteEventUsage > 0 || a.eventDataUsage > 0), + ); + return ok(res, { ...usage, - websites: websiteUsage, + websites: filteredWebsiteUsage, }); } diff --git a/src/pages/api/users/[userId]/websites.ts b/src/pages/api/users/[userId]/websites.ts index f443deb8..88a2bad1 100644 --- a/src/pages/api/users/[userId]/websites.ts +++ b/src/pages/api/users/[userId]/websites.ts @@ -9,7 +9,6 @@ import * as yup from 'yup'; const schema = { GET: yup.object().shape({ userId: yup.string().uuid().required(), - teamId: yup.string().uuid(), ...pageInfo, }), }; diff --git a/src/pages/api/users/index.ts b/src/pages/api/users/index.ts index 7f8c9174..333670a9 100644 --- a/src/pages/api/users/index.ts +++ b/src/pages/api/users/index.ts @@ -2,14 +2,14 @@ import { canCreateUser } from 'lib/auth'; import { ROLES } from 'lib/constants'; import { uuid } from 'lib/crypto'; import { useAuth, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, Role, SearchFilter, User } from 'lib/types'; +import { NextApiRequestQueryBody, Role, PageParams, User } from 'lib/types'; import { pageInfo } from 'lib/schema'; import { NextApiResponse } from 'next'; import { badRequest, hashPassword, methodNotAllowed, ok, unauthorized } from 'next-basics'; import { createUser, getUserByUsername } from 'queries'; import * as yup from 'yup'; -export interface UsersRequestQuery extends SearchFilter {} +export interface UsersRequestQuery extends PageParams {} export interface UsersRequestBody { username: string; password: string; diff --git a/src/pages/api/event-data/events.ts b/src/pages/api/websites/[websiteId]/event-data/events.ts similarity index 94% rename from src/pages/api/event-data/events.ts rename to src/pages/api/websites/[websiteId]/event-data/events.ts index 19f0c8f1..bf0f409a 100644 --- a/src/pages/api/event-data/events.ts +++ b/src/pages/api/websites/[websiteId]/event-data/events.ts @@ -17,7 +17,7 @@ const schema = { GET: yup.object().shape({ websiteId: yup.string().uuid().required(), startAt: yup.number().integer().required(), - endAt: yup.number().integer().moreThan(yup.ref('startAt')).required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), event: yup.string(), }), }; diff --git a/src/pages/api/event-data/fields.ts b/src/pages/api/websites/[websiteId]/event-data/fields.ts similarity index 80% rename from src/pages/api/event-data/fields.ts rename to src/pages/api/websites/[websiteId]/event-data/fields.ts index b2af7511..c5075c5e 100644 --- a/src/pages/api/event-data/fields.ts +++ b/src/pages/api/websites/[websiteId]/event-data/fields.ts @@ -4,21 +4,20 @@ import { NextApiRequestQueryBody } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { getEventDataFields } from 'queries'; + import * as yup from 'yup'; export interface EventDataFieldsRequestQuery { websiteId: string; startAt: string; endAt: string; - field?: string; } const schema = { GET: yup.object().shape({ websiteId: yup.string().uuid().required(), startAt: yup.number().integer().required(), - endAt: yup.number().integer().moreThan(yup.ref('startAt')).required(), - field: yup.string(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), }), }; @@ -31,7 +30,7 @@ export default async ( await useValidate(schema, req, res); if (req.method === 'GET') { - const { websiteId, startAt, endAt, field } = req.query; + const { websiteId, startAt, endAt } = req.query; if (!(await canViewWebsite(req.auth, websiteId))) { return unauthorized(res); @@ -40,7 +39,10 @@ export default async ( const startDate = new Date(+startAt); const endDate = new Date(+endAt); - const data = await getEventDataFields(websiteId, { startDate, endDate, field }); + const data = await getEventDataFields(websiteId, { + startDate, + endDate, + }); return ok(res, data); } diff --git a/src/pages/api/websites/[websiteId]/event-data/properties.ts b/src/pages/api/websites/[websiteId]/event-data/properties.ts new file mode 100644 index 00000000..19e9bbb8 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/event-data/properties.ts @@ -0,0 +1,49 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getEventDataProperties } from 'queries'; +import * as yup from 'yup'; + +export interface EventDataFieldsRequestQuery { + websiteId: string; + startAt: string; + endAt: string; + propertyName?: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + startAt: yup.number().integer().required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), + propertyName: yup.string(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'GET') { + const { websiteId, startAt, endAt, propertyName } = req.query; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getEventDataProperties(websiteId, { startDate, endDate, propertyName }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/event-data/stats.ts b/src/pages/api/websites/[websiteId]/event-data/stats.ts similarity index 94% rename from src/pages/api/event-data/stats.ts rename to src/pages/api/websites/[websiteId]/event-data/stats.ts index a2f9a113..7e440b88 100644 --- a/src/pages/api/event-data/stats.ts +++ b/src/pages/api/websites/[websiteId]/event-data/stats.ts @@ -16,7 +16,7 @@ const schema = { GET: yup.object().shape({ websiteId: yup.string().uuid().required(), startAt: yup.number().integer().required(), - endAt: yup.number().integer().moreThan(yup.ref('startAt')).required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), }), }; diff --git a/src/pages/api/websites/[websiteId]/event-data/values.ts b/src/pages/api/websites/[websiteId]/event-data/values.ts new file mode 100644 index 00000000..e5bb4ab8 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/event-data/values.ts @@ -0,0 +1,57 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getEventDataValues } from 'queries'; + +import * as yup from 'yup'; + +export interface EventDataFieldsRequestQuery { + websiteId: string; + startAt: string; + endAt: string; + eventName?: string; + propertyName?: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + startAt: yup.number().integer().required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), + eventName: yup.string(), + propertyName: yup.string(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'GET') { + const { websiteId, startAt, endAt, eventName, propertyName } = req.query; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getEventDataValues(websiteId, { + startDate, + endDate, + eventName, + propertyName, + }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/events/index.ts b/src/pages/api/websites/[websiteId]/events/index.ts new file mode 100644 index 00000000..13b31fc0 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/events/index.ts @@ -0,0 +1,45 @@ +import * as yup from 'yup'; +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { pageInfo } from 'lib/schema'; +import { getWebsiteEvents } from 'queries'; + +export interface ReportsRequestQuery extends PageParams { + websiteId: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + ...pageInfo, + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + const { websiteId, startAt, endAt } = req.query; + + if (req.method === 'GET') { + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getWebsiteEvents(websiteId, { startDate, endDate }, req.query); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/events.ts b/src/pages/api/websites/[websiteId]/events/series.ts similarity index 64% rename from src/pages/api/websites/[websiteId]/events.ts rename to src/pages/api/websites/[websiteId]/events/series.ts index d07fd28f..6d67a264 100644 --- a/src/pages/api/websites/[websiteId]/events.ts +++ b/src/pages/api/websites/[websiteId]/events/series.ts @@ -1,6 +1,6 @@ import { canViewWebsite } from 'lib/auth'; import { useAuth, useCors, useValidate } from 'lib/middleware'; -import { getRequestDateRange } from 'lib/request'; +import { getRequestDateRange, getRequestFilters } from 'lib/request'; import { NextApiRequestQueryBody, WebsiteMetric } from 'lib/types'; import { TimezoneTest, UnitTypeTest } from 'lib/yup'; import { NextApiResponse } from 'next'; @@ -15,16 +15,36 @@ export interface WebsiteEventsRequestQuery { unit?: string; timezone?: string; url: string; + referrer?: string; + title?: string; + host?: string; + os?: string; + browser?: string; + device?: string; + country?: string; + region: string; + city?: string; + tag?: string; } const schema = { GET: yup.object().shape({ websiteId: yup.string().uuid().required(), startAt: yup.number().integer().required(), - endAt: yup.number().integer().moreThan(yup.ref('startAt')).required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), unit: UnitTypeTest, timezone: TimezoneTest, url: yup.string(), + referrer: yup.string(), + title: yup.string(), + host: yup.string(), + os: yup.string(), + browser: yup.string(), + device: yup.string(), + country: yup.string(), + region: yup.string(), + city: yup.string(), + tag: yup.string(), }), }; @@ -36,7 +56,7 @@ export default async ( await useAuth(req, res); await useValidate(schema, req, res); - const { websiteId, timezone, url } = req.query; + const { websiteId, timezone } = req.query; const { startDate, endDate, unit } = await getRequestDateRange(req); if (req.method === 'GET') { @@ -44,13 +64,15 @@ export default async ( return unauthorized(res); } - const events = await getEventMetrics(websiteId, { + const filters = { + ...getRequestFilters(req), startDate, endDate, timezone, unit, - url, - }); + }; + + const events = await getEventMetrics(websiteId, filters); return ok(res, events); } diff --git a/src/pages/api/websites/[websiteId]/metrics.ts b/src/pages/api/websites/[websiteId]/metrics.ts index 4a881ef9..1996a61a 100644 --- a/src/pages/api/websites/[websiteId]/metrics.ts +++ b/src/pages/api/websites/[websiteId]/metrics.ts @@ -17,6 +17,7 @@ export interface WebsiteMetricsRequestQuery { referrer?: string; title?: string; query?: string; + host?: string; os?: string; browser?: string; device?: string; @@ -28,6 +29,7 @@ export interface WebsiteMetricsRequestQuery { limit?: number; offset?: number; search?: string; + tag?: string; } const schema = { @@ -40,6 +42,7 @@ const schema = { referrer: yup.string(), title: yup.string(), query: yup.string(), + host: yup.string(), os: yup.string(), browser: yup.string(), device: yup.string(), @@ -51,6 +54,7 @@ const schema = { limit: yup.number(), offset: yup.number(), search: yup.string(), + tag: yup.string(), }), }; diff --git a/src/pages/api/websites/[websiteId]/pageviews.ts b/src/pages/api/websites/[websiteId]/pageviews.ts index 19671064..c3b6b797 100644 --- a/src/pages/api/websites/[websiteId]/pageviews.ts +++ b/src/pages/api/websites/[websiteId]/pageviews.ts @@ -1,3 +1,4 @@ +import * as yup from 'yup'; import { canViewWebsite } from 'lib/auth'; import { useAuth, useCors, useValidate } from 'lib/middleware'; import { getRequestFilters, getRequestDateRange } from 'lib/request'; @@ -5,6 +6,8 @@ import { NextApiRequestQueryBody, WebsitePageviews } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { getPageviewStats, getSessionStats } from 'queries'; +import { TimezoneTest, UnitTypeTest } from 'lib/yup'; +import { getCompareDate } from 'lib/date'; export interface WebsitePageviewRequestQuery { websiteId: string; @@ -15,16 +18,17 @@ export interface WebsitePageviewRequestQuery { url?: string; referrer?: string; title?: string; + host?: string; os?: string; browser?: string; device?: string; country?: string; region: string; city?: string; + tag?: string; + compare?: string; } -import { TimezoneTest, UnitTypeTest } from 'lib/yup'; -import * as yup from 'yup'; const schema = { GET: yup.object().shape({ websiteId: yup.string().uuid().required(), @@ -35,12 +39,15 @@ const schema = { url: yup.string(), referrer: yup.string(), title: yup.string(), + host: yup.string(), os: yup.string(), browser: yup.string(), device: yup.string(), country: yup.string(), region: yup.string(), city: yup.string(), + tag: yup.string(), + compare: yup.string(), }), }; @@ -52,7 +59,7 @@ export default async ( await useAuth(req, res); await useValidate(schema, req, res); - const { websiteId, timezone } = req.query; + const { websiteId, timezone, compare } = req.query; if (req.method === 'GET') { if (!(await canViewWebsite(req.auth, websiteId))) { @@ -74,6 +81,40 @@ export default async ( getSessionStats(websiteId, filters), ]); + if (compare) { + const { startDate: compareStartDate, endDate: compareEndDate } = getCompareDate( + compare, + startDate, + endDate, + ); + + const [comparePageviews, compareSessions] = await Promise.all([ + getPageviewStats(websiteId, { + ...filters, + startDate: compareStartDate, + endDate: compareEndDate, + }), + getSessionStats(websiteId, { + ...filters, + startDate: compareStartDate, + endDate: compareEndDate, + }), + ]); + + return ok(res, { + pageviews, + sessions, + startDate, + endDate, + compare: { + pageviews: comparePageviews, + sessions: compareSessions, + startDate: compareStartDate, + endDate: compareEndDate, + }, + }); + } + return ok(res, { pageviews, sessions }); } diff --git a/src/pages/api/websites/[websiteId]/reports.ts b/src/pages/api/websites/[websiteId]/reports.ts index 5bb1652b..72e5b0f2 100644 --- a/src/pages/api/websites/[websiteId]/reports.ts +++ b/src/pages/api/websites/[websiteId]/reports.ts @@ -1,13 +1,13 @@ import * as yup from 'yup'; import { canViewWebsite } from 'lib/auth'; import { useAuth, useCors, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, SearchFilter } from 'lib/types'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { getWebsiteReports } from 'queries'; import { pageInfo } from 'lib/schema'; -export interface ReportsRequestQuery extends SearchFilter { +export interface ReportsRequestQuery extends PageParams { websiteId: string; } diff --git a/src/pages/api/websites/[websiteId]/session-data/properties.ts b/src/pages/api/websites/[websiteId]/session-data/properties.ts new file mode 100644 index 00000000..92e182d2 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/session-data/properties.ts @@ -0,0 +1,49 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getSessionDataProperties } from 'queries'; +import * as yup from 'yup'; + +export interface SessionDataFieldsRequestQuery { + websiteId: string; + startAt: string; + endAt: string; + propertyName?: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + startAt: yup.number().integer().required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), + propertyName: yup.string(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'GET') { + const { websiteId, startAt, endAt, propertyName } = req.query; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getSessionDataProperties(websiteId, { startDate, endDate, propertyName }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/session-data/values.ts b/src/pages/api/websites/[websiteId]/session-data/values.ts new file mode 100644 index 00000000..98463f15 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/session-data/values.ts @@ -0,0 +1,50 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getSessionDataValues } from 'queries'; + +import * as yup from 'yup'; + +export interface EventDataFieldsRequestQuery { + websiteId: string; + startAt: string; + endAt: string; + propertyName?: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + startAt: yup.number().integer().required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), + propertyName: yup.string(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'GET') { + const { websiteId, startAt, endAt, propertyName } = req.query; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getSessionDataValues(websiteId, { startDate, endDate, propertyName }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/sessions/[sessionId]/activity.ts b/src/pages/api/websites/[websiteId]/sessions/[sessionId]/activity.ts new file mode 100644 index 00000000..2b0fc084 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/sessions/[sessionId]/activity.ts @@ -0,0 +1,49 @@ +import * as yup from 'yup'; +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getSessionActivity } from 'queries'; + +export interface SessionActivityRequestQuery extends PageParams { + websiteId: string; + sessionId: string; + startAt: number; + endAt: number; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + sessionId: yup.string().uuid().required(), + startAt: yup.number().integer(), + endAt: yup.number().integer(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + const { websiteId, sessionId, startAt, endAt } = req.query; + + if (req.method === 'GET') { + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getSessionActivity(websiteId, sessionId, startDate, endDate); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/sessions/[sessionId]/index.ts b/src/pages/api/websites/[websiteId]/sessions/[sessionId]/index.ts new file mode 100644 index 00000000..f627a208 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/sessions/[sessionId]/index.ts @@ -0,0 +1,42 @@ +import * as yup from 'yup'; +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getWebsiteSession } from 'queries'; + +export interface WesiteSessionRequestQuery extends PageParams { + websiteId: string; + sessionId: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + sessionId: yup.string().uuid().required(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + const { websiteId, sessionId } = req.query; + + if (req.method === 'GET') { + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const data = await getWebsiteSession(websiteId, sessionId); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/sessions/[sessionId]/properties.ts b/src/pages/api/websites/[websiteId]/sessions/[sessionId]/properties.ts new file mode 100644 index 00000000..c0c20064 --- /dev/null +++ b/src/pages/api/websites/[websiteId]/sessions/[sessionId]/properties.ts @@ -0,0 +1,42 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getSessionData } from 'queries'; +import * as yup from 'yup'; + +export interface SessionDataRequestQuery { + sessionId: string; + websiteId: string; +} + +const schema = { + GET: yup.object().shape({ + sessionId: yup.string().uuid().required(), + websiteId: yup.string().uuid().required(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + if (req.method === 'GET') { + const { websiteId, sessionId } = req.query; + + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const data = await getSessionData(websiteId, sessionId); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/sessions/index.ts b/src/pages/api/websites/[websiteId]/sessions/index.ts new file mode 100644 index 00000000..1809929c --- /dev/null +++ b/src/pages/api/websites/[websiteId]/sessions/index.ts @@ -0,0 +1,47 @@ +import * as yup from 'yup'; +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { pageInfo } from 'lib/schema'; +import { getWebsiteSessions } from 'queries'; + +export interface ReportsRequestQuery extends PageParams { + websiteId: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + startAt: yup.number().integer().required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), + ...pageInfo, + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + const { websiteId, startAt, endAt } = req.query; + + if (req.method === 'GET') { + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getWebsiteSessions(websiteId, { startDate, endDate }, req.query); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/sessions/stats.ts b/src/pages/api/websites/[websiteId]/sessions/stats.ts new file mode 100644 index 00000000..fe92ce6f --- /dev/null +++ b/src/pages/api/websites/[websiteId]/sessions/stats.ts @@ -0,0 +1,86 @@ +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { getRequestDateRange, getRequestFilters } from 'lib/request'; +import { NextApiRequestQueryBody, WebsiteStats } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { getWebsiteSessionStats } from 'queries/analytics/sessions/getWebsiteSessionStats'; +import * as yup from 'yup'; + +export interface WebsiteSessionStatsRequestQuery { + websiteId: string; + startAt: number; + endAt: number; + url?: string; + referrer?: string; + title?: string; + query?: string; + event?: string; + host?: string; + os?: string; + browser?: string; + device?: string; + country?: string; + region?: string; + city?: string; + tag?: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + startAt: yup.number().required(), + endAt: yup.number().required(), + url: yup.string(), + referrer: yup.string(), + title: yup.string(), + query: yup.string(), + event: yup.string(), + host: yup.string(), + os: yup.string(), + browser: yup.string(), + device: yup.string(), + country: yup.string(), + region: yup.string(), + city: yup.string(), + tag: yup.string(), + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + const { websiteId } = req.query; + + if (req.method === 'GET') { + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const { startDate, endDate } = await getRequestDateRange(req); + + const filters = getRequestFilters(req); + + const metrics = await getWebsiteSessionStats(websiteId, { + ...filters, + startDate, + endDate, + }); + + const stats = Object.keys(metrics[0]).reduce((obj, key) => { + obj[key] = { + value: Number(metrics[0][key]) || 0, + }; + return obj; + }, {}); + + return ok(res, stats); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/sessions/weekly.ts b/src/pages/api/websites/[websiteId]/sessions/weekly.ts new file mode 100644 index 00000000..b1c28c3f --- /dev/null +++ b/src/pages/api/websites/[websiteId]/sessions/weekly.ts @@ -0,0 +1,50 @@ +import * as yup from 'yup'; +import { canViewWebsite } from 'lib/auth'; +import { useAuth, useCors, useValidate } from 'lib/middleware'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; +import { NextApiResponse } from 'next'; +import { methodNotAllowed, ok, unauthorized } from 'next-basics'; +import { pageInfo } from 'lib/schema'; +import { getWebsiteSessionsWeekly } from 'queries'; +import { TimezoneTest } from 'lib/yup'; + +export interface ReportsRequestQuery extends PageParams { + websiteId: string; + timezone?: string; +} + +const schema = { + GET: yup.object().shape({ + websiteId: yup.string().uuid().required(), + startAt: yup.number().integer().required(), + endAt: yup.number().integer().min(yup.ref('startAt')).required(), + timezone: TimezoneTest, + ...pageInfo, + }), +}; + +export default async ( + req: NextApiRequestQueryBody, + res: NextApiResponse, +) => { + await useCors(req, res); + await useAuth(req, res); + await useValidate(schema, req, res); + + const { websiteId, startAt, endAt, timezone } = req.query; + + if (req.method === 'GET') { + if (!(await canViewWebsite(req.auth, websiteId))) { + return unauthorized(res); + } + + const startDate = new Date(+startAt); + const endDate = new Date(+endAt); + + const data = await getWebsiteSessionsWeekly(websiteId, { startDate, endDate, timezone }); + + return ok(res, data); + } + + return methodNotAllowed(res); +}; diff --git a/src/pages/api/websites/[websiteId]/stats.ts b/src/pages/api/websites/[websiteId]/stats.ts index 81a6d835..dfc9198d 100644 --- a/src/pages/api/websites/[websiteId]/stats.ts +++ b/src/pages/api/websites/[websiteId]/stats.ts @@ -1,4 +1,4 @@ -import { subMinutes, differenceInMinutes } from 'date-fns'; +import * as yup from 'yup'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { canViewWebsite } from 'lib/auth'; @@ -6,6 +6,7 @@ import { useAuth, useCors, useValidate } from 'lib/middleware'; import { NextApiRequestQueryBody, WebsiteStats } from 'lib/types'; import { getRequestFilters, getRequestDateRange } from 'lib/request'; import { getWebsiteStats } from 'queries'; +import { getCompareDate } from 'lib/date'; export interface WebsiteStatsRequestQuery { websiteId: string; @@ -16,15 +17,17 @@ export interface WebsiteStatsRequestQuery { title?: string; query?: string; event?: string; + host?: string; os?: string; browser?: string; device?: string; country?: string; region?: string; city?: string; + tag?: string; + compare?: string; } -import * as yup from 'yup'; const schema = { GET: yup.object().shape({ websiteId: yup.string().uuid().required(), @@ -35,12 +38,15 @@ const schema = { title: yup.string(), query: yup.string(), event: yup.string(), + host: yup.string(), os: yup.string(), browser: yup.string(), device: yup.string(), country: yup.string(), region: yup.string(), city: yup.string(), + tag: yup.string(), + compare: yup.string(), }), }; @@ -52,7 +58,7 @@ export default async ( await useAuth(req, res); await useValidate(schema, req, res); - const { websiteId } = req.query; + const { websiteId, compare } = req.query; if (req.method === 'GET') { if (!(await canViewWebsite(req.auth, websiteId))) { @@ -60,24 +66,30 @@ export default async ( } const { startDate, endDate } = await getRequestDateRange(req); - const diff = differenceInMinutes(endDate, startDate); - const prevStartDate = subMinutes(startDate, diff); - const prevEndDate = subMinutes(endDate, diff); + const { startDate: compareStartDate, endDate: compareEndDate } = getCompareDate( + compare, + startDate, + endDate, + ); const filters = getRequestFilters(req); - const metrics = await getWebsiteStats(websiteId, { ...filters, startDate, endDate }); + const metrics = await getWebsiteStats(websiteId, { + ...filters, + startDate, + endDate, + }); const prevPeriod = await getWebsiteStats(websiteId, { ...filters, - startDate: prevStartDate, - endDate: prevEndDate, + startDate: compareStartDate, + endDate: compareEndDate, }); const stats = Object.keys(metrics[0]).reduce((obj, key) => { obj[key] = { value: Number(metrics[0][key]) || 0, - change: Number(metrics[0][key]) - Number(prevPeriod[0][key]) || 0, + prev: Number(prevPeriod[0][key]) || 0, }; return obj; }, {}); diff --git a/src/pages/api/websites/[websiteId]/values.ts b/src/pages/api/websites/[websiteId]/values.ts index 364261d9..53d717a5 100644 --- a/src/pages/api/websites/[websiteId]/values.ts +++ b/src/pages/api/websites/[websiteId]/values.ts @@ -49,13 +49,7 @@ export default async (req: NextApiRequestQueryBody, res: Nex return unauthorized(res); } - const values = await getValues( - websiteId, - FILTER_COLUMNS[type as string], - startDate, - endDate, - search, - ); + const values = await getValues(websiteId, FILTER_COLUMNS[type], startDate, endDate, search); return ok( res, diff --git a/src/pages/api/websites/index.ts b/src/pages/api/websites/index.ts index 0b7826ac..c5eb7200 100644 --- a/src/pages/api/websites/index.ts +++ b/src/pages/api/websites/index.ts @@ -1,7 +1,7 @@ import { canCreateTeamWebsite, canCreateWebsite } from 'lib/auth'; import { uuid } from 'lib/crypto'; import { useAuth, useCors, useValidate } from 'lib/middleware'; -import { NextApiRequestQueryBody, SearchFilter } from 'lib/types'; +import { NextApiRequestQueryBody, PageParams } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; import { createWebsite } from 'queries'; @@ -9,7 +9,7 @@ import userWebsitesRoute from 'pages/api/users/[userId]/websites'; import * as yup from 'yup'; import { pageInfo } from 'lib/schema'; -export interface WebsitesRequestQuery extends SearchFilter {} +export interface WebsitesRequestQuery extends PageParams {} export interface WebsitesRequestBody { name: string; diff --git a/src/queries/analytics/eventData/getEventDataEvents.ts b/src/queries/analytics/events/getEventDataEvents.ts similarity index 75% rename from src/queries/analytics/eventData/getEventDataEvents.ts rename to src/queries/analytics/events/getEventDataEvents.ts index f869deae..0b19c5be 100644 --- a/src/queries/analytics/eventData/getEventDataEvents.ts +++ b/src/queries/analytics/events/getEventDataEvents.ts @@ -22,9 +22,9 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { ` select website_event.event_name as "eventName", - event_data.data_key as "fieldName", + event_data.data_key as "propertyName", event_data.data_type as "dataType", - event_data.string_value as "fieldValue", + event_data.string_value as "propertyValue", count(*) as "total" from event_data inner join website_event @@ -33,7 +33,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { and event_data.created_at between {{startDate}} and {{endDate}} and website_event.event_name = {{event}} group by website_event.event_name, event_data.data_key, event_data.data_type, event_data.string_value - order by 1 asc, 2 asc, 3 asc, 4 desc + order by 1 asc, 2 asc, 3 asc, 5 desc `, params, ); @@ -43,7 +43,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { ` select website_event.event_name as "eventName", - event_data.data_key as "fieldName", + event_data.data_key as "propertyName", event_data.data_type as "dataType", count(*) as "total" from event_data @@ -62,7 +62,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { async function clickhouseQuery( websiteId: string, filters: QueryFilters, -): Promise<{ eventName: string; fieldName: string; dataType: number; total: number }[]> { +): Promise<{ eventName: string; propertyName: string; dataType: number; total: number }[]> { const { rawQuery, parseFilters } = clickhouse; const { event } = filters; const { params } = await parseFilters(websiteId, filters); @@ -72,37 +72,27 @@ async function clickhouseQuery( ` select event_name as eventName, - data_key as fieldName, + data_key as propertyName, data_type as dataType, - string_value as fieldValue, + string_value as propertyValue, count(*) as total from event_data where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} and event_name = {event:String} group by data_key, data_type, string_value, event_name - order by 1 asc, 2 asc, 3 asc, 4 desc + order by 1 asc, 2 asc, 3 asc, 5 desc limit 500 `, params, - ).then(a => { - return Object.values(a).map(a => { - return { - eventName: a.eventName, - fieldName: a.fieldName, - dataType: Number(a.dataType), - fieldValue: a.fieldValue, - total: Number(a.total), - }; - }); - }); + ); } return rawQuery( ` select event_name as eventName, - data_key as fieldName, + data_key as propertyName, data_type as dataType, count(*) as total from event_data @@ -113,14 +103,5 @@ async function clickhouseQuery( limit 500 `, params, - ).then(a => { - return Object.values(a).map(a => { - return { - eventName: a.eventName, - fieldName: a.fieldName, - dataType: Number(a.dataType), - total: Number(a.total), - }; - }); - }); + ); } diff --git a/src/queries/analytics/events/getEventDataFields.ts b/src/queries/analytics/events/getEventDataFields.ts new file mode 100644 index 00000000..05fee072 --- /dev/null +++ b/src/queries/analytics/events/getEventDataFields.ts @@ -0,0 +1,69 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import { QueryFilters, WebsiteEventData } from 'lib/types'; + +export async function getEventDataFields( + ...args: [websiteId: string, filters: QueryFilters] +): Promise { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery(websiteId: string, filters: QueryFilters) { + const { rawQuery, parseFilters, getDateSQL } = prisma; + const { filterQuery, params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + data_key as "propertyName", + data_type as "dataType", + case + when data_type = 2 then replace(string_value, '.0000', '') + when data_type = 4 then ${getDateSQL('date_value', 'hour')} + else string_value + end as "value", + count(*) as "total" + from event_data + join website_event on website_event.event_id = event_data.website_event_id + where event_data.website_id = {{websiteId::uuid}} + and event_data.created_at between {{startDate}} and {{endDate}} + ${filterQuery} + group by data_key, data_type, value + order by 2 desc + limit 100 + `, + params, + ); +} + +async function clickhouseQuery( + websiteId: string, + filters: QueryFilters, +): Promise<{ propertyName: string; dataType: number; propertyValue: string; total: number }[]> { + const { rawQuery, parseFilters } = clickhouse; + const { filterQuery, params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + data_key as propertyName, + data_type as dataType, + multiIf(data_type = 2, replaceAll(string_value, '.0000', ''), + data_type = 4, toString(date_trunc('hour', date_value)), + string_value) as "value", + count(*) as "total" + from event_data + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + ${filterQuery} + group by data_key, data_type, value + order by 2 desc + limit 100 + `, + params, + ); +} diff --git a/src/queries/analytics/events/getEventDataProperties.ts b/src/queries/analytics/events/getEventDataProperties.ts new file mode 100644 index 00000000..e2cf0828 --- /dev/null +++ b/src/queries/analytics/events/getEventDataProperties.ts @@ -0,0 +1,68 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import { QueryFilters, WebsiteEventData } from 'lib/types'; + +export async function getEventDataProperties( + ...args: [websiteId: string, filters: QueryFilters & { propertyName?: string }] +): Promise { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + filters: QueryFilters & { propertyName?: string }, +) { + const { rawQuery, parseFilters } = prisma; + const { filterQuery, params } = await parseFilters(websiteId, filters, { + columns: { propertyName: 'data_key' }, + }); + + return rawQuery( + ` + select + website_event.event_name as "eventName", + event_data.data_key as "propertyName", + count(*) as "total" + from event_data + join website_event on website_event.event_id = event_data.website_event_id + where event_data.website_id = {{websiteId::uuid}} + and event_data.created_at between {{startDate}} and {{endDate}} + ${filterQuery} + group by website_event.event_name, event_data.data_key + order by 3 desc + limit 500 + `, + params, + ); +} + +async function clickhouseQuery( + websiteId: string, + filters: QueryFilters & { propertyName?: string }, +): Promise<{ eventName: string; propertyName: string; total: number }[]> { + const { rawQuery, parseFilters } = clickhouse; + const { filterQuery, params } = await parseFilters(websiteId, filters, { + columns: { propertyName: 'data_key' }, + }); + + return rawQuery( + ` + select + event_name as eventName, + data_key as propertyName, + count(*) as total + from event_data + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + ${filterQuery} + group by event_name, data_key + order by 1, 3 desc + limit 500 + `, + params, + ); +} diff --git a/src/queries/analytics/eventData/getEventDataStats.ts b/src/queries/analytics/events/getEventDataStats.ts similarity index 80% rename from src/queries/analytics/eventData/getEventDataStats.ts rename to src/queries/analytics/events/getEventDataStats.ts index 978f561b..adeeda46 100644 --- a/src/queries/analytics/eventData/getEventDataStats.ts +++ b/src/queries/analytics/events/getEventDataStats.ts @@ -7,13 +7,13 @@ export async function getEventDataStats( ...args: [websiteId: string, filters: QueryFilters] ): Promise<{ events: number; - fields: number; + properties: number; records: number; }> { return runQuery({ [PRISMA]: () => relationalQuery(...args), [CLICKHOUSE]: () => clickhouseQuery(...args), - }).then(results => results[0]); + }).then(results => results?.[0]); } async function relationalQuery(websiteId: string, filters: QueryFilters) { @@ -24,7 +24,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { ` select count(distinct t.website_event_id) as "events", - count(distinct t.data_key) as "fields", + count(distinct t.data_key) as "properties", sum(t.total) as "records" from ( select @@ -45,7 +45,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { async function clickhouseQuery( websiteId: string, filters: QueryFilters, -): Promise<{ events: number; fields: number; records: number }[]> { +): Promise<{ events: number; properties: number; records: number }[]> { const { rawQuery, parseFilters } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, filters); @@ -53,7 +53,7 @@ async function clickhouseQuery( ` select count(distinct t.event_id) as "events", - count(distinct t.data_key) as "fields", + count(distinct t.data_key) as "properties", sum(t.total) as "records" from ( select @@ -68,13 +68,5 @@ async function clickhouseQuery( ) as t `, params, - ).then(a => { - return Object.values(a).map(a => { - return { - events: Number(a.events), - fields: Number(a.fields), - records: Number(a.records), - }; - }); - }); + ); } diff --git a/src/queries/analytics/eventData/getEventDataUsage.ts b/src/queries/analytics/events/getEventDataUsage.ts similarity index 86% rename from src/queries/analytics/eventData/getEventDataUsage.ts rename to src/queries/analytics/events/getEventDataUsage.ts index 7866a600..1d146c9c 100644 --- a/src/queries/analytics/eventData/getEventDataUsage.ts +++ b/src/queries/analytics/events/getEventDataUsage.ts @@ -30,9 +30,5 @@ function clickhouseQuery( startDate, endDate, }, - ).then(a => { - return Object.values(a).map(a => { - return { websiteId: a.websiteId, count: Number(a.count) }; - }); - }); + ); } diff --git a/src/queries/analytics/events/getEventDataValues.ts b/src/queries/analytics/events/getEventDataValues.ts new file mode 100644 index 00000000..63101824 --- /dev/null +++ b/src/queries/analytics/events/getEventDataValues.ts @@ -0,0 +1,75 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import { QueryFilters, WebsiteEventData } from 'lib/types'; + +export async function getEventDataValues( + ...args: [ + websiteId: string, + filters: QueryFilters & { eventName?: string; propertyName?: string }, + ] +): Promise { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + filters: QueryFilters & { eventName?: string; propertyName?: string }, +) { + const { rawQuery, parseFilters, getDateSQL } = prisma; + const { filterQuery, params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + case + when data_type = 2 then replace(string_value, '.0000', '') + when data_type = 4 then ${getDateSQL('date_value', 'hour')} + else string_value + end as "value", + count(*) as "total" + from event_data + join website_event on website_event.event_id = event_data.website_event_id + where event_data.website_id = {{websiteId::uuid}} + and event_data.created_at between {{startDate}} and {{endDate}} + and event_data.data_key = {{propertyName}} + and website_event.event_name = {{eventName}} + ${filterQuery} + group by value + order by 2 desc + limit 100 + `, + params, + ); +} + +async function clickhouseQuery( + websiteId: string, + filters: QueryFilters & { eventName?: string; propertyName?: string }, +): Promise<{ value: string; total: number }[]> { + const { rawQuery, parseFilters } = clickhouse; + const { filterQuery, params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + multiIf(data_type = 2, replaceAll(string_value, '.0000', ''), + data_type = 4, toString(date_trunc('hour', date_value)), + string_value) as "value", + count(*) as "total" + from event_data + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and data_key = {propertyName:String} + and event_name = {eventName:String} + ${filterQuery} + group by value + order by 2 desc + limit 100 + `, + params, + ); +} diff --git a/src/queries/analytics/events/getEventMetrics.ts b/src/queries/analytics/events/getEventMetrics.ts index 53638fbd..504cea11 100644 --- a/src/queries/analytics/events/getEventMetrics.ts +++ b/src/queries/analytics/events/getEventMetrics.ts @@ -1,8 +1,8 @@ -import prisma from 'lib/prisma'; import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; -import { WebsiteEventMetric, QueryFilters } from 'lib/types'; import { EVENT_TYPE } from 'lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; +import { QueryFilters, WebsiteEventMetric } from 'lib/types'; export async function getEventMetrics( ...args: [websiteId: string, filters: QueryFilters] @@ -15,7 +15,7 @@ export async function getEventMetrics( async function relationalQuery(websiteId: string, filters: QueryFilters) { const { timezone = 'utc', unit = 'day' } = filters; - const { rawQuery, getDateQuery, parseFilters } = prisma; + const { rawQuery, getDateSQL, parseFilters } = prisma; const { filterQuery, joinSession, params } = await parseFilters(websiteId, { ...filters, eventType: EVENT_TYPE.customEvent, @@ -25,12 +25,12 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { ` select event_name x, - ${getDateQuery('created_at', unit, timezone)} t, + ${getDateSQL('website_event.created_at', unit, timezone)} t, count(*) y from website_event ${joinSession} - where website_id = {{websiteId::uuid}} - and created_at between {{startDate}} and {{endDate}} + where website_event.website_id = {{websiteId::uuid}} + and website_event.created_at between {{startDate}} and {{endDate}} and event_type = {{eventType}} ${filterQuery} group by 1, 2 @@ -45,17 +45,19 @@ async function clickhouseQuery( filters: QueryFilters, ): Promise<{ x: string; t: string; y: number }[]> { const { timezone = 'UTC', unit = 'day' } = filters; - const { rawQuery, getDateQuery, parseFilters } = clickhouse; + const { rawQuery, getDateSQL, parseFilters } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, { ...filters, eventType: EVENT_TYPE.customEvent, }); - return rawQuery( - ` + let sql = ''; + + if (filterQuery) { + sql = ` select event_name x, - ${getDateQuery('created_at', unit, timezone)} t, + ${getDateSQL('created_at', unit, timezone)} t, count(*) y from website_event where website_id = {websiteId:UUID} @@ -64,9 +66,27 @@ async function clickhouseQuery( ${filterQuery} group by x, t order by t - `, - params, - ).then(a => { + `; + } else { + sql = ` + select + event_name x, + ${getDateSQL('created_at', unit, timezone)} t, + count(*) y + from ( + select arrayJoin(event_name) as event_name, + created_at + from website_event_stats_hourly website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + ) as g + group by x, t + order by t + `; + } + + return rawQuery(sql, params).then(a => { return Object.values(a).map(a => { return { x: a.x, t: a.t, y: Number(a.y) }; }); diff --git a/src/queries/analytics/events/getEvents.ts b/src/queries/analytics/events/getEvents.ts deleted file mode 100644 index 9ef27973..00000000 --- a/src/queries/analytics/events/getEvents.ts +++ /dev/null @@ -1,53 +0,0 @@ -import clickhouse from 'lib/clickhouse'; -import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; -import prisma from 'lib/prisma'; - -export function getEvents(...args: [websiteId: string, startDate: Date, eventType: number]) { - return runQuery({ - [PRISMA]: () => relationalQuery(...args), - [CLICKHOUSE]: () => clickhouseQuery(...args), - }); -} - -function relationalQuery(websiteId: string, startDate: Date, eventType: number) { - return prisma.client.websiteEvent.findMany({ - where: { - websiteId, - eventType, - createdAt: { - gte: startDate, - }, - }, - orderBy: { - createdAt: 'asc', - }, - }); -} - -function clickhouseQuery(websiteId: string, startDate: Date, eventType: number) { - const { rawQuery } = clickhouse; - - return rawQuery( - ` - select - event_id as id, - website_id as websiteId, - session_id as sessionId, - created_at as createdAt, - toUnixTimestamp(created_at) as timestamp, - url_path as urlPath, - referrer_domain as referrerDomain, - event_name as eventName - from website_event - where website_id = {websiteId:UUID} - and created_at >= {startDate:DateTime64} - and event_type = {eventType:UInt32} - order by created_at asc - `, - { - websiteId, - startDate, - eventType, - }, - ); -} diff --git a/src/queries/analytics/events/getWebsiteEvents.ts b/src/queries/analytics/events/getWebsiteEvents.ts new file mode 100644 index 00000000..21e6270c --- /dev/null +++ b/src/queries/analytics/events/getWebsiteEvents.ts @@ -0,0 +1,98 @@ +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, getDatabaseType, POSTGRESQL, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; +import { PageParams, QueryFilters } from 'lib/types'; + +export function getWebsiteEvents( + ...args: [websiteId: string, filters: QueryFilters, pageParams?: PageParams] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery(websiteId: string, filters: QueryFilters, pageParams?: PageParams) { + const { pagedRawQuery, parseFilters } = prisma; + const { query } = pageParams; + const { filterQuery, params } = await parseFilters(websiteId, { + ...filters, + }); + + const db = getDatabaseType(); + const like = db === POSTGRESQL ? 'ilike' : 'like'; + + return pagedRawQuery( + ` + with events as ( + select + event_id as "id", + website_id as "websiteId", + session_id as "sessionId", + created_at as "createdAt", + url_path as "urlPath", + url_query as "urlQuery", + referrer_path as "referrerPath", + referrer_query as "referrerQuery", + referrer_domain as "referrerDomain", + page_title as "pageTitle", + event_type as "eventType", + event_name as "eventName" + from website_event + where website_id = {{websiteId::uuid}} + and created_at between {{startDate}} and {{endDate}} + ${filterQuery} + ${ + query + ? `and ((event_name ${like} {{query}} and event_type = 2) + or (url_path ${like} {{query}} and event_type = 1))` + : '' + } + order by created_at desc + limit 1000) + select * from events + `, + { ...params, query: `%${query}%` }, + pageParams, + ); +} + +async function clickhouseQuery(websiteId: string, filters: QueryFilters, pageParams?: PageParams) { + const { pagedQuery, parseFilters } = clickhouse; + const { params, dateQuery, filterQuery } = await parseFilters(websiteId, filters); + const { query } = pageParams; + + return pagedQuery( + ` + with events as ( + select + event_id as id, + website_id as websiteId, + session_id as sessionId, + created_at as createdAt, + url_path as urlPath, + url_query as urlQuery, + referrer_path as referrerPath, + referrer_query as referrerQuery, + referrer_domain as referrerDomain, + page_title as pageTitle, + event_type as eventType, + event_name as eventName + from website_event + where website_id = {websiteId:UUID} + ${dateQuery} + ${filterQuery} + ${ + query + ? `and ((positionCaseInsensitive(event_name, {query:String}) > 0 and event_type = 2) + or (positionCaseInsensitive(url_path, {query:String}) > 0 and event_type = 1))` + : '' + } + order by created_at desc + limit 1000) + select * from events + `, + { ...params, query }, + pageParams, + ); +} diff --git a/src/queries/analytics/events/saveEvent.ts b/src/queries/analytics/events/saveEvent.ts index 25bcf9e7..2424186a 100644 --- a/src/queries/analytics/events/saveEvent.ts +++ b/src/queries/analytics/events/saveEvent.ts @@ -1,9 +1,10 @@ import { EVENT_NAME_LENGTH, URL_LENGTH, EVENT_TYPE, PAGE_TITLE_LENGTH } from 'lib/constants'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import clickhouse from 'lib/clickhouse'; import kafka from 'lib/kafka'; import prisma from 'lib/prisma'; import { uuid } from 'lib/crypto'; -import { saveEventData } from 'queries/analytics/eventData/saveEventData'; +import { saveEventData } from './saveEventData'; export async function saveEvent(args: { websiteId: string; @@ -27,6 +28,7 @@ export async function saveEvent(args: { subdivision1?: string; subdivision2?: string; city?: string; + tag?: string; }) { return runQuery({ [PRISMA]: () => relationalQuery(args), @@ -46,6 +48,7 @@ async function relationalQuery(data: { pageTitle?: string; eventName?: string; eventData?: any; + tag?: string; }) { const { websiteId, @@ -59,6 +62,7 @@ async function relationalQuery(data: { eventName, eventData, pageTitle, + tag, } = data; const websiteEventId = uuid(); @@ -76,6 +80,7 @@ async function relationalQuery(data: { pageTitle: pageTitle?.substring(0, PAGE_TITLE_LENGTH), eventType: eventName ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView, eventName: eventName ? eventName?.substring(0, EVENT_NAME_LENGTH) : null, + tag, }, }); @@ -115,6 +120,7 @@ async function clickhouseQuery(data: { subdivision1?: string; subdivision2?: string; city?: string; + tag?: string; }) { const { websiteId, @@ -132,18 +138,20 @@ async function clickhouseQuery(data: { subdivision1, subdivision2, city, + tag, ...args } = data; - const { getDateFormat, sendMessage } = kafka; + const { insert, getUTCString } = clickhouse; + const { sendMessage } = kafka; const eventId = uuid(); - const createdAt = getDateFormat(new Date()); + const createdAt = getUTCString(); const message = { ...args, website_id: websiteId, session_id: sessionId, visit_id: visitId, - event_id: uuid(), + event_id: eventId, country: country, subdivision1: country && subdivision1 @@ -161,10 +169,15 @@ async function clickhouseQuery(data: { page_title: pageTitle?.substring(0, PAGE_TITLE_LENGTH), event_type: eventName ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView, event_name: eventName ? eventName?.substring(0, EVENT_NAME_LENGTH) : null, + tag: tag, created_at: createdAt, }; - await sendMessage(message, 'event'); + if (kafka.enabled) { + await sendMessage('event', message); + } else { + await insert('website_event', [message]); + } if (eventData) { await saveEventData({ diff --git a/src/queries/analytics/eventData/saveEventData.ts b/src/queries/analytics/events/saveEventData.ts similarity index 86% rename from src/queries/analytics/eventData/saveEventData.ts rename to src/queries/analytics/events/saveEventData.ts index 0ed3c8b0..7e7db8b4 100644 --- a/src/queries/analytics/eventData/saveEventData.ts +++ b/src/queries/analytics/events/saveEventData.ts @@ -3,6 +3,7 @@ import { DATA_TYPE } from 'lib/constants'; import { uuid } from 'lib/crypto'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; import { flattenJSON, getStringValue } from 'lib/data'; +import clickhouse from 'lib/clickhouse'; import kafka from 'lib/kafka'; import prisma from 'lib/prisma'; import { DynamicData } from 'lib/types'; @@ -59,7 +60,8 @@ async function clickhouseQuery(data: { }) { const { websiteId, sessionId, eventId, urlPath, eventName, eventData, createdAt } = data; - const { getDateFormat, sendMessages } = kafka; + const { insert, getUTCString } = clickhouse; + const { sendMessages } = kafka; const jsonKeys = flattenJSON(eventData); @@ -74,12 +76,16 @@ async function clickhouseQuery(data: { data_type: dataType, string_value: getStringValue(value, dataType), number_value: dataType === DATA_TYPE.number ? value : null, - date_value: dataType === DATA_TYPE.date ? getDateFormat(value) : null, + date_value: dataType === DATA_TYPE.date ? getUTCString(value) : null, created_at: createdAt, }; }); - await sendMessages(messages, 'event_data'); + if (kafka.enabled) { + await sendMessages('event_data', messages); + } else { + await insert('event_data', messages); + } return data; } diff --git a/src/queries/analytics/getActiveVisitors.ts b/src/queries/analytics/getActiveVisitors.ts index 6d55f5de..c59a265a 100644 --- a/src/queries/analytics/getActiveVisitors.ts +++ b/src/queries/analytics/getActiveVisitors.ts @@ -18,9 +18,9 @@ async function relationalQuery(websiteId: string) { select count(distinct session_id) x from website_event where website_id = {{websiteId::uuid}} - and created_at >= {{startAt}} + and created_at >= {{startDate}} `, - { websiteId, startAt: subMinutes(new Date(), 5) }, + { websiteId, startDate: subMinutes(new Date(), 5) }, ); return result[0] ?? null; @@ -35,14 +35,10 @@ async function clickhouseQuery(websiteId: string): Promise<{ x: number }> { count(distinct session_id) x from website_event where website_id = {websiteId:UUID} - and created_at >= {startAt:DateTime64} + and created_at >= {startDate:DateTime64} `, - { websiteId, startAt: subMinutes(new Date(), 5) }, - ).then(a => { - return Object.values(a).map(a => { - return { x: Number(a.x) }; - }); - }); + { websiteId, startDate: subMinutes(new Date(), 5) }, + ); return result[0] ?? null; } diff --git a/src/queries/analytics/getRealtimeActivity.ts b/src/queries/analytics/getRealtimeActivity.ts new file mode 100644 index 00000000..fba303b2 --- /dev/null +++ b/src/queries/analytics/getRealtimeActivity.ts @@ -0,0 +1,67 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; +import { QueryFilters } from 'lib/types'; + +export async function getRealtimeActivity(...args: [websiteId: string, filters: QueryFilters]) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery(websiteId: string, filters: QueryFilters) { + const { rawQuery, parseFilters } = prisma; + const { params, filterQuery, dateQuery } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + website_event.session_id as "sessionId", + website_event.event_name as "eventName", + website_event.created_at as "createdAt", + session.browser, + session.os, + session.device, + session.country, + website_event.url_path as "urlPath", + website_event.referrer_domain as "referrerDomain" + from website_event + inner join session + on session.session_id = website_event.session_id + where website_event.website_id = {{websiteId::uuid}} + ${filterQuery} + ${dateQuery} + order by website_event.created_at asc + limit 100 + `, + params, + ); +} + +async function clickhouseQuery(websiteId: string, filters: QueryFilters): Promise<{ x: number }> { + const { rawQuery, parseFilters } = clickhouse; + const { params, filterQuery, dateQuery } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + session_id as sessionId, + event_name as eventName, + created_at as createdAt, + browser, + os, + device, + country, + url_path as urlPath, + referrer_domain as referrerDomain + from website_event + where website_id = {websiteId:UUID} + ${filterQuery} + ${dateQuery} + order by createdAt asc + limit 100 + `, + params, + ); +} diff --git a/src/queries/analytics/getRealtimeData.ts b/src/queries/analytics/getRealtimeData.ts index 868a5c70..1af63219 100644 --- a/src/queries/analytics/getRealtimeData.ts +++ b/src/queries/analytics/getRealtimeData.ts @@ -1,43 +1,80 @@ -import { getSessions, getEvents } from 'queries/index'; -import { EVENT_TYPE } from 'lib/constants'; +import { getPageviewStats, getRealtimeActivity, getSessionStats } from 'queries/index'; -export async function getRealtimeData(websiteId: string, startDate: Date) { - const [pageviews, sessions, events] = await Promise.all([ - getEvents(websiteId, startDate, EVENT_TYPE.pageView), - getSessions(websiteId, startDate), - getEvents(websiteId, startDate, EVENT_TYPE.customEvent), +function increment(data: object, key: string) { + if (key) { + if (!data[key]) { + data[key] = 1; + } else { + data[key] += 1; + } + } +} + +export async function getRealtimeData( + websiteId: string, + criteria: { startDate: Date; timezone: string }, +) { + const { startDate, timezone } = criteria; + const filters = { startDate, endDate: new Date(), unit: 'minute', timezone }; + const [activity, pageviews, sessions] = await Promise.all([ + getRealtimeActivity(websiteId, filters), + getPageviewStats(websiteId, filters), + getSessionStats(websiteId, filters), ]); - const decorate = (type: string, data: any[]) => { - return data.map((values: { [key: string]: any }) => ({ - ...values, - __type: type, - timestamp: values.timestamp ? values.timestamp * 1000 : new Date(values.createdAt).getTime(), - })); - }; + const uniques = new Set(); - const set = new Set(); - const uniques = (type: string, data: any[]) => { - return data.reduce((arr, values: { [key: string]: any }) => { - if (!set.has(values.id)) { - set.add(values.id); + const { countries, urls, referrers, events } = activity.reduce( + ( + obj: { countries: any; urls: any; referrers: any; events: any }, + event: { + sessionId: string; + urlPath: string; + referrerDomain: string; + country: string; + eventName: string; + }, + ) => { + const { countries, urls, referrers, events } = obj; + const { sessionId, urlPath, referrerDomain, country, eventName } = event; - return arr.concat({ - ...values, - __type: type, - timestamp: values.timestamp - ? values.timestamp * 1000 - : new Date(values.createdAt).getTime(), - }); + if (!uniques.has(sessionId)) { + uniques.add(sessionId); + increment(countries, country); + + events.push({ __type: 'session', ...event }); } - return arr; - }, []); - }; + + increment(urls, urlPath); + increment(referrers, referrerDomain); + + events.push({ __type: eventName ? 'event' : 'pageview', ...event }); + + return obj; + }, + { + countries: {}, + urls: {}, + referrers: {}, + events: [], + }, + ); return { - pageviews: decorate('pageview', pageviews), - sessions: uniques('session', sessions), - events: decorate('event', events), + countries, + urls, + referrers, + events: events.reverse(), + series: { + views: pageviews, + visitors: sessions, + }, + totals: { + views: pageviews.reduce((sum: number, { y }: { y: number }) => Number(sum) + Number(y), 0), + visitors: sessions.reduce((sum: number, { y }: { y: number }) => Number(sum) + Number(y), 0), + events: activity.filter(e => e.eventName).length, + countries: Object.keys(countries).length, + }, timestamp: Date.now(), }; } diff --git a/src/queries/analytics/getValues.ts b/src/queries/analytics/getValues.ts index 7cd34994..f303faff 100644 --- a/src/queries/analytics/getValues.ts +++ b/src/queries/analytics/getValues.ts @@ -18,11 +18,26 @@ async function relationalQuery( endDate: Date, search: string, ) { - const { rawQuery, getSearchQuery } = prisma; + const { rawQuery, getSearchSQL } = prisma; + const params = {}; let searchQuery = ''; if (search) { - searchQuery = getSearchQuery(column); + if (decodeURIComponent(search).includes(',')) { + searchQuery = `AND (${decodeURIComponent(search) + .split(',') + .slice(0, 5) + .map((value: string, index: number) => { + const key = `search${index}`; + + params[key] = value; + + return getSearchSQL(column, key).replace('and ', ''); + }) + .join(' OR ')})`; + } else { + searchQuery = getSearchSQL(column); + } } return rawQuery( @@ -43,6 +58,7 @@ async function relationalQuery( startDate, endDate, search: `%${search}%`, + ...params, }, ); } @@ -54,13 +70,32 @@ async function clickhouseQuery( endDate: Date, search: string, ) { - const { rawQuery } = clickhouse; + const { rawQuery, getSearchSQL } = clickhouse; + const params = {}; let searchQuery = ''; if (search) { searchQuery = `and positionCaseInsensitive(${column}, {search:String}) > 0`; } + if (search) { + if (decodeURIComponent(search).includes(',')) { + searchQuery = `AND (${decodeURIComponent(search) + .split(',') + .slice(0, 5) + .map((value: string, index: number) => { + const key = `search${index}`; + + params[key] = value; + + return getSearchSQL(column, key).replace('and ', ''); + }) + .join(' OR ')})`; + } else { + searchQuery = getSearchSQL(column); + } + } + return rawQuery( ` select ${column} as value, count(*) @@ -77,6 +112,7 @@ async function clickhouseQuery( startDate, endDate, search, + ...params, }, ); } diff --git a/src/queries/analytics/getWebsiteDateRange.ts b/src/queries/analytics/getWebsiteDateRange.ts index a4daaafc..ef07712e 100644 --- a/src/queries/analytics/getWebsiteDateRange.ts +++ b/src/queries/analytics/getWebsiteDateRange.ts @@ -38,7 +38,7 @@ async function clickhouseQuery(websiteId: string) { select min(created_at) as mindate, max(created_at) as maxdate - from website_event + from website_event_stats_hourly where website_id = {websiteId:UUID} and created_at >= {startDate:DateTime64} `, diff --git a/src/queries/analytics/getWebsiteStats.ts b/src/queries/analytics/getWebsiteStats.ts index bc006a2e..061d487e 100644 --- a/src/queries/analytics/getWebsiteStats.ts +++ b/src/queries/analytics/getWebsiteStats.ts @@ -3,6 +3,7 @@ import { EVENT_TYPE } from 'lib/constants'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; import prisma from 'lib/prisma'; import { QueryFilters } from 'lib/types'; +import { EVENT_COLUMNS } from 'lib/constants'; export async function getWebsiteStats( ...args: [websiteId: string, filters: QueryFilters] @@ -21,7 +22,7 @@ async function relationalQuery( ): Promise< { pageviews: number; visitors: number; visits: number; bounces: number; totaltime: number }[] > { - const { getTimestampDiffQuery, parseFilters, rawQuery } = prisma; + const { getTimestampDiffSQL, parseFilters, rawQuery } = prisma; const { filterQuery, joinSession, params } = await parseFilters(websiteId, { ...filters, eventType: EVENT_TYPE.pageView, @@ -34,7 +35,7 @@ async function relationalQuery( count(distinct t.session_id) as "visitors", count(distinct t.visit_id) as "visits", sum(case when t.c = 1 then 1 else 0 end) as "bounces", - sum(${getTimestampDiffQuery('t.min_time', 't.max_time')}) as "totaltime" + sum(${getTimestampDiffSQL('t.min_time', 't.max_time')}) as "totaltime" from ( select website_event.session_id, @@ -67,12 +68,14 @@ async function clickhouseQuery( eventType: EVENT_TYPE.pageView, }); - return rawQuery( - ` - select + let sql = ''; + + if (EVENT_COLUMNS.some(item => Object.keys(filters).includes(item))) { + sql = ` + select sum(t.c) as "pageviews", - count(distinct t.session_id) as "visitors", - count(distinct t.visit_id) as "visits", + uniq(t.session_id) as "visitors", + uniq(t.visit_id) as "visits", sum(if(t.c = 1, 1, 0)) as "bounces", sum(max_time-min_time) as "totaltime" from ( @@ -89,17 +92,30 @@ async function clickhouseQuery( ${filterQuery} group by session_id, visit_id ) as t; - `, - params, - ).then(result => { - return Object.values(result).map(n => { - return { - pageviews: Number(n.pageviews), - visitors: Number(n.visitors), - visits: Number(n.visits), - bounces: Number(n.bounces), - totaltime: Number(n.totaltime), - }; - }); - }); + `; + } else { + sql = ` + select + sum(t.c) as "pageviews", + uniq(session_id) as "visitors", + uniq(visit_id) as "visits", + sumIf(1, t.c = 1) as "bounces", + sum(max_time-min_time) as "totaltime" + from (select + session_id, + visit_id, + sum(views) c, + min(min_time) min_time, + max(max_time) max_time + from umami.website_event_stats_hourly "website_event" + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + ${filterQuery} + group by session_id, visit_id + ) as t; + `; + } + + return rawQuery(sql, params); } diff --git a/src/queries/analytics/pageviews/getPageviewMetrics.ts b/src/queries/analytics/pageviews/getPageviewMetrics.ts index eaf4ae32..f734b1dd 100644 --- a/src/queries/analytics/pageviews/getPageviewMetrics.ts +++ b/src/queries/analytics/pageviews/getPageviewMetrics.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; -import { EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; +import { EVENT_COLUMNS, EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; import { QueryFilters } from 'lib/types'; export async function getPageviewMetrics( @@ -31,10 +31,29 @@ async function relationalQuery( { joinSession: SESSION_COLUMNS.includes(type) }, ); + let entryExitQuery = ''; let excludeDomain = ''; if (column === 'referrer_domain') { - excludeDomain = - 'and (website_event.referrer_domain != {{websiteDomain}} or website_event.referrer_domain is null)'; + excludeDomain = `and website_event.referrer_domain != {{websiteDomain}} + and website_event.referrer_domain is not null`; + } + + if (type === 'entry' || type === 'exit') { + const aggregrate = type === 'entry' ? 'min' : 'max'; + + entryExitQuery = ` + join ( + select visit_id, + ${aggregrate}(created_at) target_created_at + from website_event + where website_event.website_id = {{websiteId::uuid}} + and website_event.created_at between {{startDate}} and {{endDate}} + and event_type = {{eventType}} + group by visit_id + ) x + on x.visit_id = website_event.visit_id + and x.target_created_at = website_event.created_at + `; } return rawQuery( @@ -42,6 +61,7 @@ async function relationalQuery( select ${column} x, count(*) y from website_event ${joinSession} + ${entryExitQuery} where website_event.website_id = {{websiteId::uuid}} and website_event.created_at between {{startDate}} and {{endDate}} and event_type = {{eventType}} @@ -71,14 +91,34 @@ async function clickhouseQuery( }); let excludeDomain = ''; - if (column === 'referrer_domain') { - excludeDomain = 'and referrer_domain != {websiteDomain:String}'; - } + let sql = ''; - return rawQuery( - ` + if (EVENT_COLUMNS.some(item => Object.keys(filters).includes(item))) { + let entryExitQuery = ''; + + if (column === 'referrer_domain') { + excludeDomain = `and referrer_domain != {websiteDomain:String} and referrer_domain != ''`; + } + + if (type === 'entry' || type === 'exit') { + const aggregrate = type === 'entry' ? 'min' : 'max'; + + entryExitQuery = ` + JOIN (select visit_id, + ${aggregrate}(created_at) target_created_at + from website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + group by visit_id) x + ON x.visit_id = website_event.visit_id + and x.target_created_at = website_event.created_at`; + } + + sql = ` select ${column} x, count(*) y from website_event + ${entryExitQuery} where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} and event_type = {eventType:UInt32} @@ -88,10 +128,49 @@ async function clickhouseQuery( order by y desc limit ${limit} offset ${offset} - `, - params, - ).then(a => { - return Object.values(a).map(a => { + `; + } else { + let groupByQuery = ''; + + if (column === 'referrer_domain') { + excludeDomain = `and t != {websiteDomain:String} and t != ''`; + } + + let columnQuery = `arrayJoin(${column})`; + + if (type === 'entry') { + columnQuery = `visit_id x, argMinMerge(entry_url)`; + } + + if (type === 'exit') { + columnQuery = `visit_id x, argMaxMerge(exit_url)`; + } + + if (type === 'entry' || type === 'exit') { + groupByQuery = 'group by x'; + } + + sql = ` + select g.t as x, + count(*) as y + from ( + select ${columnQuery} as t + from website_event_stats_hourly website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + ${excludeDomain} + ${filterQuery} + ${groupByQuery}) as g + group by x + order by y desc + limit ${limit} + offset ${offset} + `; + } + + return rawQuery(sql, params).then((result: any) => { + return Object.values(result).map((a: any) => { return { x: a.x, y: Number(a.y) }; }); }); diff --git a/src/queries/analytics/pageviews/getPageviewStats.ts b/src/queries/analytics/pageviews/getPageviewStats.ts index 3f29c75f..48b82000 100644 --- a/src/queries/analytics/pageviews/getPageviewStats.ts +++ b/src/queries/analytics/pageviews/getPageviewStats.ts @@ -1,7 +1,7 @@ import clickhouse from 'lib/clickhouse'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; import prisma from 'lib/prisma'; -import { EVENT_TYPE } from 'lib/constants'; +import { EVENT_COLUMNS, EVENT_TYPE } from 'lib/constants'; import { QueryFilters } from 'lib/types'; export async function getPageviewStats(...args: [websiteId: string, filters: QueryFilters]) { @@ -13,7 +13,7 @@ export async function getPageviewStats(...args: [websiteId: string, filters: Que async function relationalQuery(websiteId: string, filters: QueryFilters) { const { timezone = 'utc', unit = 'day' } = filters; - const { getDateQuery, parseFilters, rawQuery } = prisma; + const { getDateSQL, parseFilters, rawQuery } = prisma; const { filterQuery, joinSession, params } = await parseFilters(websiteId, { ...filters, eventType: EVENT_TYPE.pageView, @@ -22,7 +22,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { return rawQuery( ` select - ${getDateQuery('website_event.created_at', unit, timezone)} x, + ${getDateSQL('website_event.created_at', unit, timezone)} x, count(*) y from website_event ${joinSession} @@ -31,6 +31,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { and event_type = {{eventType}} ${filterQuery} group by 1 + order by 1 `, params, ); @@ -40,21 +41,23 @@ async function clickhouseQuery( websiteId: string, filters: QueryFilters, ): Promise<{ x: string; y: number }[]> { - const { timezone = 'UTC', unit = 'day' } = filters; - const { parseFilters, rawQuery, getDateStringQuery, getDateQuery } = clickhouse; + const { timezone = 'utc', unit = 'day' } = filters; + const { parseFilters, rawQuery, getDateSQL } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, { ...filters, eventType: EVENT_TYPE.pageView, }); - return rawQuery( - ` + let sql = ''; + + if (EVENT_COLUMNS.some(item => Object.keys(filters).includes(item)) || unit === 'minute') { + sql = ` select - ${getDateStringQuery('g.t', unit)} as x, + g.t as x, g.y as y from ( - select - ${getDateQuery('created_at', unit, timezone)} as t, + select + ${getDateSQL('website_event.created_at', unit, timezone)} as t, count(*) as y from website_event where website_id = {websiteId:UUID} @@ -64,11 +67,26 @@ async function clickhouseQuery( group by t ) as g order by t - `, - params, - ).then(result => { - return Object.values(result).map(a => { - return { x: a.x, y: Number(a.y) }; - }); - }); + `; + } else { + sql = ` + select + g.t as x, + g.y as y + from ( + select + ${getDateSQL('website_event.created_at', unit, timezone)} as t, + sum(views)as y + from website_event_stats_hourly website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + ${filterQuery} + group by t + ) as g + order by t + `; + } + + return rawQuery(sql, params); } diff --git a/src/queries/analytics/reports/getGoals.ts b/src/queries/analytics/reports/getGoals.ts new file mode 100644 index 00000000..2bb29d8e --- /dev/null +++ b/src/queries/analytics/reports/getGoals.ts @@ -0,0 +1,375 @@ +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; + +export async function getGoals( + ...args: [ + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + goals: { type: string; value: string; goal: number; operator?: string }[]; + }, + ] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + goals: { type: string; value: string; goal: number; operator?: string }[]; + }, +): Promise { + const { startDate, endDate, goals } = criteria; + const { rawQuery } = prisma; + + const urls = goals.filter(a => a.type === 'url'); + const events = goals.filter(a => a.type === 'event'); + const eventData = goals.filter(a => a.type === 'event-data'); + + const hasUrl = urls.length > 0; + const hasEvent = events.length > 0; + const hasEventData = eventData.length > 0; + + function getParameters( + urls: { type: string; value: string; goal: number }[], + events: { type: string; value: string; goal: number }[], + eventData: { + type: string; + value: string; + goal: number; + operator?: string; + property?: string; + }[], + ) { + const urlParam = urls.reduce((acc, cv, i) => { + acc[`${cv.type}${i}`] = cv.value; + return acc; + }, {}); + + const eventParam = events.reduce((acc, cv, i) => { + acc[`${cv.type}${i}`] = cv.value; + return acc; + }, {}); + + const eventDataParam = eventData.reduce((acc, cv, i) => { + acc[`eventData${i}`] = cv.value; + acc[`property${i}`] = cv.property; + return acc; + }, {}); + + return { + urls: { ...urlParam, startDate, endDate, websiteId }, + events: { ...eventParam, startDate, endDate, websiteId }, + eventData: { ...eventDataParam, startDate, endDate, websiteId }, + }; + } + + function getColumns( + urls: { type: string; value: string; goal: number }[], + events: { type: string; value: string; goal: number }[], + eventData: { + type: string; + value: string; + goal: number; + operator?: string; + property?: string; + }[], + ) { + const urlColumns = urls + .map((a, i) => `COUNT(CASE WHEN url_path = {{url${i}}} THEN 1 END) AS URL${i},`) + .join('\n') + .slice(0, -1); + const eventColumns = events + .map((a, i) => `COUNT(CASE WHEN event_name = {{event${i}}} THEN 1 END) AS EVENT${i},`) + .join('\n') + .slice(0, -1); + const eventDataColumns = eventData + .map( + (a, i) => + `${ + a.operator === 'average' ? 'avg' : a.operator + }(CASE WHEN event_name = {{eventData${i}}} AND data_key = {{property${i}}} THEN ${ + a.operator === 'count' ? '1' : 'number_value' + } END) AS EVENT_DATA${i},`, + ) + .join('\n') + .slice(0, -1); + + return { urls: urlColumns, events: eventColumns, eventData: eventDataColumns }; + } + + function getWhere( + urls: { type: string; value: string; goal: number }[], + events: { type: string; value: string; goal: number }[], + eventData: { + type: string; + value: string; + goal: number; + operator?: string; + property?: string; + }[], + ) { + const urlWhere = urls.map((a, i) => `{{url${i}}}`).join(','); + const eventWhere = events.map((a, i) => `{{event${i}}}`).join(','); + const eventDataNameWhere = eventData.map((a, i) => `{{eventData${i}}}`).join(','); + const eventDataKeyWhere = eventData.map((a, i) => `{{property${i}}}`).join(','); + + return { + urls: `and url_path in (${urlWhere})`, + events: `and event_name in (${eventWhere})`, + eventData: `and event_name in (${eventDataNameWhere}) and data_key in (${eventDataKeyWhere})`, + }; + } + + const parameters = getParameters(urls, events, eventData); + const columns = getColumns(urls, events, eventData); + const where = getWhere(urls, events, eventData); + + const urlResults = hasUrl + ? await rawQuery( + ` + select + ${columns.urls} + from website_event + where website_id = {{websiteId::uuid}} + ${where.urls} + and created_at between {{startDate}} and {{endDate}} + `, + parameters.urls, + ).then(a => { + const results = a[0]; + + return Object.keys(results).map((key, i) => ({ + ...urls[i], + goal: Number(urls[i].goal), + result: Number(results[key]), + })); + }) + : []; + + const eventResults = hasEvent + ? await rawQuery( + ` + select + ${columns.events} + from website_event + where website_id = {{websiteId::uuid}} + ${where.events} + and created_at between {{startDate}} and {{endDate}} + `, + parameters.events, + ).then(a => { + const results = a[0]; + + return Object.keys(results).map((key, i) => { + return { ...events[i], goal: Number(events[i].goal), result: Number(results[key]) }; + }); + }) + : []; + + const eventDataResults = hasEventData + ? await rawQuery( + ` + select + ${columns.eventData} + from website_event w + join event_data d + on d.website_event_id = w.event_id + where w.website_id = {{websiteId::uuid}} + ${where.eventData} + and w.created_at between {{startDate}} and {{endDate}} + `, + parameters.eventData, + ).then(a => { + const results = a[0]; + + return Object.keys(results).map((key, i) => { + return { ...eventData[i], goal: Number(eventData[i].goal), result: Number(results[key]) }; + }); + }) + : []; + + return [...urlResults, ...eventResults, ...eventDataResults]; +} + +async function clickhouseQuery( + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + goals: { type: string; value: string; goal: number; operator?: string; property?: string }[]; + }, +): Promise<{ type: string; value: string; goal: number; result: number }[]> { + const { startDate, endDate, goals } = criteria; + const { rawQuery } = clickhouse; + + const urls = goals.filter(a => a.type === 'url'); + const events = goals.filter(a => a.type === 'event'); + const eventData = goals.filter(a => a.type === 'event-data'); + + const hasUrl = urls.length > 0; + const hasEvent = events.length > 0; + const hasEventData = eventData.length > 0; + + function getParameters( + urls: { type: string; value: string; goal: number }[], + events: { type: string; value: string; goal: number }[], + eventData: { + type: string; + value: string; + goal: number; + operator?: string; + property?: string; + }[], + ) { + const urlParam = urls.reduce((acc, cv, i) => { + acc[`${cv.type}${i}`] = cv.value; + return acc; + }, {}); + + const eventParam = events.reduce((acc, cv, i) => { + acc[`${cv.type}${i}`] = cv.value; + return acc; + }, {}); + + const eventDataParam = eventData.reduce((acc, cv, i) => { + acc[`eventData${i}`] = cv.value; + acc[`property${i}`] = cv.property; + return acc; + }, {}); + + return { + urls: { ...urlParam, startDate, endDate, websiteId }, + events: { ...eventParam, startDate, endDate, websiteId }, + eventData: { ...eventDataParam, startDate, endDate, websiteId }, + }; + } + + function getColumns( + urls: { type: string; value: string; goal: number }[], + events: { type: string; value: string; goal: number }[], + eventData: { + type: string; + value: string; + goal: number; + operator?: string; + property?: string; + }[], + ) { + const urlColumns = urls + .map((a, i) => `countIf(url_path = {url${i}:String}) AS URL${i},`) + .join('\n') + .slice(0, -1); + const eventColumns = events + .map((a, i) => `countIf(event_name = {event${i}:String}) AS EVENT${i},`) + .join('\n') + .slice(0, -1); + const eventDataColumns = eventData + .map( + (a, i) => + `${a.operator === 'average' ? 'avg' : a.operator}If(${ + a.operator !== 'count' ? 'number_value, ' : '' + }event_name = {eventData${i}:String} AND data_key = {property${i}:String}) AS EVENT_DATA${i},`, + ) + .join('\n') + .slice(0, -1); + + return { url: urlColumns, events: eventColumns, eventData: eventDataColumns }; + } + + function getWhere( + urls: { type: string; value: string; goal: number }[], + events: { type: string; value: string; goal: number }[], + eventData: { + type: string; + value: string; + goal: number; + operator?: string; + property?: string; + }[], + ) { + const urlWhere = urls.map((a, i) => `{url${i}:String}`).join(','); + const eventWhere = events.map((a, i) => `{event${i}:String}`).join(','); + const eventDataNameWhere = eventData.map((a, i) => `{eventData${i}:String}`).join(','); + const eventDataKeyWhere = eventData.map((a, i) => `{property${i}:String}`).join(','); + + return { + urls: `and url_path in (${urlWhere})`, + events: `and event_name in (${eventWhere})`, + eventData: `and event_name in (${eventDataNameWhere}) and data_key in (${eventDataKeyWhere})`, + }; + } + + const parameters = getParameters(urls, events, eventData); + const columns = getColumns(urls, events, eventData); + const where = getWhere(urls, events, eventData); + + const urlResults = hasUrl + ? await rawQuery( + ` + select + ${columns.url} + from website_event + where website_id = {websiteId:UUID} + ${where.urls} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + `, + parameters.urls, + ).then(a => { + const results = a[0]; + + return Object.keys(results).map((key, i) => { + return { ...urls[i], goal: Number(urls[i].goal), result: Number(results[key]) }; + }); + }) + : []; + + const eventResults = hasEvent + ? await rawQuery( + ` + select + ${columns.events} + from website_event + where website_id = {websiteId:UUID} + ${where.events} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + `, + parameters.events, + ).then(a => { + const results = a[0]; + + return Object.keys(results).map((key, i) => { + return { ...events[i], goal: Number(events[i].goal), result: Number(results[key]) }; + }); + }) + : []; + + const eventDataResults = hasEventData + ? await rawQuery( + ` + select + ${columns.eventData} + from event_data + where website_id = {websiteId:UUID} + ${where.eventData} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + `, + parameters.eventData, + ).then(a => { + const results = a[0]; + + return Object.keys(results).map((key, i) => { + return { ...eventData[i], goal: Number(eventData[i].goal), result: Number(results[key]) }; + }); + }) + : []; + + return [...urlResults, ...eventResults, ...eventDataResults]; +} diff --git a/src/queries/analytics/reports/getInsights.ts b/src/queries/analytics/reports/getInsights.ts index 282ed755..8e6e3289 100644 --- a/src/queries/analytics/reports/getInsights.ts +++ b/src/queries/analytics/reports/getInsights.ts @@ -23,7 +23,7 @@ async function relationalQuery( y: number; }[] > { - const { parseFilters, rawQuery } = prisma; + const { getTimestampDiffSQL, parseFilters, rawQuery } = prisma; const { filterQuery, joinSession, params } = await parseFilters( websiteId, { @@ -37,15 +37,31 @@ async function relationalQuery( return rawQuery( ` - select - ${parseFields(fields)} - from website_event - ${joinSession} - where website_event.website_id = {{websiteId::uuid}} - and website_event.created_at between {{startDate}} and {{endDate}} - and website_event.event_type = {{eventType}} - ${filterQuery} - ${parseGroupBy(fields)} + select + sum(t.c) as "views", + count(distinct t.session_id) as "visitors", + count(distinct t.visit_id) as "visits", + sum(case when t.c = 1 then 1 else 0 end) as "bounces", + sum(${getTimestampDiffSQL('t.min_time', 't.max_time')}) as "totaltime", + ${parseFieldsByName(fields)} + from ( + select + ${parseFields(fields)}, + website_event.session_id, + website_event.visit_id, + count(*) as "c", + min(website_event.created_at) as "min_time", + max(website_event.created_at) as "max_time" + from website_event + ${joinSession} + where website_event.website_id = {{websiteId::uuid}} + and website_event.created_at between {{startDate}} and {{endDate}} + and event_type = {{eventType}} + ${filterQuery} + group by ${parseFieldsByName(fields)}, + website_event.session_id, website_event.visit_id + ) as t + group by ${parseFieldsByName(fields)} order by 1 desc, 2 desc limit 500 `, @@ -71,14 +87,30 @@ async function clickhouseQuery( return rawQuery( ` - select - ${parseFields(fields)} - from website_event - where website_id = {websiteId:UUID} - and created_at between {startDate:DateTime64} and {endDate:DateTime64} - and event_type = {eventType:UInt32} - ${filterQuery} - ${parseGroupBy(fields)} + select + sum(t.c) as "views", + count(distinct t.session_id) as "visitors", + count(distinct t.visit_id) as "visits", + sum(if(t.c = 1, 1, 0)) as "bounces", + sum(max_time-min_time) as "totaltime", + ${parseFieldsByName(fields)} + from ( + select + ${parseFields(fields)}, + session_id, + visit_id, + count(*) c, + min(created_at) min_time, + max(created_at) max_time + from website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + ${filterQuery} + group by ${parseFieldsByName(fields)}, + session_id, visit_id + ) as t + group by ${parseFieldsByName(fields)} order by 1 desc, 2 desc limit 500 `, @@ -89,27 +121,18 @@ async function clickhouseQuery( ...a, views: Number(a.views), visitors: Number(a.visitors), + visits: Number(a.visits), + bounces: Number(a.bounces), + totaltime: Number(a.totaltime), }; }); }); } -function parseFields(fields: any[]) { - const query = fields.reduce( - (arr, field) => { - const { name } = field; - - return arr.concat(`${FILTER_COLUMNS[name]} as "${name}"`); - }, - ['count(*) as views', 'count(distinct website_event.session_id) as visitors'], - ); - - return query.join(',\n'); +function parseFields(fields: { name: any }[]) { + return fields.map(({ name }) => `${FILTER_COLUMNS[name]} as "${name}"`).join(','); } -function parseGroupBy(fields: { name: any }[]) { - if (!fields.length) { - return ''; - } - return `group by ${fields.map(({ name }) => FILTER_COLUMNS[name]).join(',')}`; +function parseFieldsByName(fields: { name: any }[]) { + return `${fields.map(({ name }) => name).join(',')}`; } diff --git a/src/queries/analytics/reports/getJourney.ts b/src/queries/analytics/reports/getJourney.ts new file mode 100644 index 00000000..eec500aa --- /dev/null +++ b/src/queries/analytics/reports/getJourney.ts @@ -0,0 +1,272 @@ +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; + +interface JourneyResult { + e1: string; + e2: string; + e3: string; + e4: string; + e5: string; + e6: string; + e7: string; + count: number; +} + +export async function getJourney( + ...args: [ + websiteId: string, + filters: { + startDate: Date; + endDate: Date; + steps: number; + startStep?: string; + endStep?: string; + }, + ] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + filters: { + startDate: Date; + endDate: Date; + steps: number; + startStep?: string; + endStep?: string; + }, +): Promise { + const { startDate, endDate, steps, startStep, endStep } = filters; + const { rawQuery } = prisma; + const { sequenceQuery, startStepQuery, endStepQuery, params } = getJourneyQuery( + steps, + startStep, + endStep, + ); + + function getJourneyQuery( + steps: number, + startStep?: string, + endStep?: string, + ): { + sequenceQuery: string; + startStepQuery: string; + endStepQuery: string; + params: { [key: string]: string }; + } { + const params = {}; + let sequenceQuery = ''; + let startStepQuery = ''; + let endStepQuery = ''; + + // create sequence query + let selectQuery = ''; + let maxQuery = ''; + let groupByQuery = ''; + + for (let i = 1; i <= steps; i++) { + const endQuery = i < steps ? ',' : ''; + selectQuery += `s.e${i},`; + maxQuery += `\nmax(CASE WHEN event_number = ${i} THEN event ELSE NULL END) AS e${i}${endQuery}`; + groupByQuery += `s.e${i}${endQuery} `; + } + + sequenceQuery = `\nsequences as ( + select ${selectQuery} + count(*) count + FROM ( + select visit_id, + ${maxQuery} + FROM events + group by visit_id) s + group by ${groupByQuery}) + `; + + // create start Step params query + if (startStep) { + startStepQuery = `and e1 = {{startStep}}`; + params['startStep'] = startStep; + } + + // create end Step params query + if (endStep) { + for (let i = 1; i < steps; i++) { + const startQuery = i === 1 ? 'and (' : '\nor '; + endStepQuery += `${startQuery}(e${i} = {{endStep}} and e${i + 1} is null) `; + } + endStepQuery += `\nor (e${steps} = {{endStep}}))`; + + params['endStep'] = endStep; + } + + return { + sequenceQuery, + startStepQuery, + endStepQuery, + params, + }; + } + + return rawQuery( + ` + WITH events AS ( + select distinct + visit_id, + referrer_path, + coalesce(nullIf(event_name, ''), url_path) event, + row_number() OVER (PARTITION BY visit_id ORDER BY created_at) AS event_number + from website_event + where website_id = {{websiteId::uuid}} + and created_at between {{startDate}} and {{endDate}}), + ${sequenceQuery} + select * + from sequences + where 1 = 1 + ${startStepQuery} + ${endStepQuery} + order by count desc + limit 100 + `, + { + websiteId, + startDate, + endDate, + ...params, + }, + ).then(parseResult); +} + +async function clickhouseQuery( + websiteId: string, + filters: { + startDate: Date; + endDate: Date; + steps: number; + startStep?: string; + endStep?: string; + }, +): Promise { + const { startDate, endDate, steps, startStep, endStep } = filters; + const { rawQuery } = clickhouse; + const { sequenceQuery, startStepQuery, endStepQuery, params } = getJourneyQuery( + steps, + startStep, + endStep, + ); + + function getJourneyQuery( + steps: number, + startStep?: string, + endStep?: string, + ): { + sequenceQuery: string; + startStepQuery: string; + endStepQuery: string; + params: { [key: string]: string }; + } { + const params = {}; + let sequenceQuery = ''; + let startStepQuery = ''; + let endStepQuery = ''; + + // create sequence query + let selectQuery = ''; + let maxQuery = ''; + let groupByQuery = ''; + + for (let i = 1; i <= steps; i++) { + const endQuery = i < steps ? ',' : ''; + selectQuery += `s.e${i},`; + maxQuery += `\nmax(CASE WHEN event_number = ${i} THEN event ELSE NULL END) AS e${i}${endQuery}`; + groupByQuery += `s.e${i}${endQuery} `; + } + + sequenceQuery = `\nsequences as ( + select ${selectQuery} + count(*) count + FROM ( + select visit_id, + ${maxQuery} + FROM events + group by visit_id) s + group by ${groupByQuery}) + `; + + // create start Step params query + if (startStep) { + startStepQuery = `and e1 = {startStep:String}`; + params['startStep'] = startStep; + } + + // create end Step params query + if (endStep) { + for (let i = 1; i < steps; i++) { + const startQuery = i === 1 ? 'and (' : '\nor '; + endStepQuery += `${startQuery}(e${i} = {endStep:String} and e${i + 1} is null) `; + } + endStepQuery += `\nor (e${steps} = {endStep:String}))`; + + params['endStep'] = endStep; + } + + return { + sequenceQuery, + startStepQuery, + endStepQuery, + params, + }; + } + + return rawQuery( + ` + WITH events AS ( + select distinct + visit_id, + coalesce(nullIf(event_name, ''), url_path) event, + row_number() OVER (PARTITION BY visit_id ORDER BY created_at) AS event_number + from umami.website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64}), + ${sequenceQuery} + select * + from sequences + where 1 = 1 + ${startStepQuery} + ${endStepQuery} + order by count desc + limit 100 + `, + { + websiteId, + startDate, + endDate, + ...params, + }, + ).then(parseResult); +} + +function combineSequentialDuplicates(array: any) { + if (array.length === 0) return array; + + const result = [array[0]]; + + for (let i = 1; i < array.length; i++) { + if (array[i] !== array[i - 1]) { + result.push(array[i]); + } + } + + return result; +} + +function parseResult(data: any) { + return data.map(({ e1, e2, e3, e4, e5, e6, e7, count }) => ({ + items: combineSequentialDuplicates([e1, e2, e3, e4, e5, e6, e7]), + count: +Number(count), + })); +} diff --git a/src/queries/analytics/reports/getRetention.ts b/src/queries/analytics/reports/getRetention.ts index fce7841d..d69a77d7 100644 --- a/src/queries/analytics/reports/getRetention.ts +++ b/src/queries/analytics/reports/getRetention.ts @@ -35,14 +35,14 @@ async function relationalQuery( }[] > { const { startDate, endDate, timezone = 'UTC' } = filters; - const { getDateQuery, getDayDiffQuery, getCastColumnQuery, rawQuery } = prisma; + const { getDateSQL, getDayDiffQuery, getCastColumnQuery, rawQuery } = prisma; const unit = 'day'; return rawQuery( ` WITH cohort_items AS ( select session_id, - ${getDateQuery('created_at', unit, timezone)} as cohort_date + ${getDateSQL('created_at', unit, timezone)} as cohort_date from session where website_id = {{websiteId::uuid}} and created_at between {{startDate}} and {{endDate}} @@ -50,10 +50,7 @@ async function relationalQuery( user_activities AS ( select distinct w.session_id, - ${getDayDiffQuery( - getDateQuery('created_at', unit, timezone), - 'c.cohort_date', - )} as day_number + ${getDayDiffQuery(getDateSQL('created_at', unit, timezone), 'c.cohort_date')} as day_number from website_event w join cohort_items c on w.session_id = c.session_id @@ -93,9 +90,7 @@ async function relationalQuery( startDate, endDate, }, - ).then(results => { - return results.map(i => ({ ...i, percentage: Number(i.percentage) || 0 })); - }); + ); } async function clickhouseQuery( @@ -115,14 +110,14 @@ async function clickhouseQuery( }[] > { const { startDate, endDate, timezone = 'UTC' } = filters; - const { getDateQuery, getDateStringQuery, rawQuery } = clickhouse; + const { getDateSQL, rawQuery } = clickhouse; const unit = 'day'; return rawQuery( ` WITH cohort_items AS ( select - min(${getDateQuery('created_at', unit, timezone)}) as cohort_date, + min(${getDateSQL('created_at', unit, timezone)}) as cohort_date, session_id from website_event where website_id = {websiteId:UUID} @@ -132,7 +127,7 @@ async function clickhouseQuery( user_activities AS ( select distinct w.session_id, - (${getDateQuery('created_at', unit, timezone)} - c.cohort_date) / 86400 as day_number + (${getDateSQL('created_at', unit, timezone)} - c.cohort_date) / 86400 as day_number from website_event w join cohort_items c on w.session_id = c.session_id @@ -157,7 +152,7 @@ async function clickhouseQuery( group by 1, 2 ) select - ${getDateStringQuery('c.cohort_date', unit)} as date, + c.cohort_date as date, c.day_number as day, s.visitors as visitors, c.visitors returnVisitors, @@ -172,15 +167,5 @@ async function clickhouseQuery( startDate, endDate, }, - ).then(a => { - return Object.values(a).map(a => { - return { - date: a.date, - day: Number(a.day), - visitors: Number(a.visitors), - returnVisitors: Number(a.returnVisitors), - percentage: Number(a.percentage), - }; - }); - }); + ); } diff --git a/src/queries/analytics/reports/getRevenue.ts b/src/queries/analytics/reports/getRevenue.ts new file mode 100644 index 00000000..a2803e85 --- /dev/null +++ b/src/queries/analytics/reports/getRevenue.ts @@ -0,0 +1,274 @@ +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, getDatabaseType, POSTGRESQL, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; + +export async function getRevenue( + ...args: [ + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + unit: string; + timezone: string; + currency: string; + }, + ] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + unit: string; + timezone: string; + currency: string; + }, +): Promise<{ + chart: { x: string; t: string; y: number }[]; + country: { name: string; value: number }[]; + total: { sum: number; count: number; unique_count: number }; + table: { + currency: string; + sum: number; + count: number; + unique_count: number; + }[]; +}> { + const { startDate, endDate, timezone = 'UTC', unit = 'day', currency } = criteria; + const { getDateSQL, rawQuery } = prisma; + const db = getDatabaseType(); + const like = db === POSTGRESQL ? 'ilike' : 'like'; + + const chartRes = await rawQuery( + ` + select + we.event_name x, + ${getDateSQL('ed.created_at', unit, timezone)} t, + sum(coalesce(cast(number_value as decimal(10,2)), cast(string_value as decimal(10,2)))) y + from event_data ed + join website_event we + on we.event_id = ed.website_event_id + join (select website_event_id + from event_data + where data_key ${like} '%currency%' + and string_value = {{currency}}) currency + on currency.website_event_id = ed.website_event_id + where ed.website_id = {{websiteId::uuid}} + and ed.created_at between {{startDate}} and {{endDate}} + and ed.data_key ${like} '%revenue%' + group by x, t + order by t + `, + { websiteId, startDate, endDate, unit, timezone, currency }, + ); + + const countryRes = await rawQuery( + ` + select + s.country as name, + sum(coalesce(cast(number_value as decimal(10,2)), cast(string_value as decimal(10,2)))) value + from event_data ed + join website_event we + on we.event_id = ed.website_event_id + join session s + on s.session_id = we.session_id + join (select website_event_id + from event_data + where data_key ${like} '%currency%' + and string_value = {{currency}}) currency + on currency.website_event_id = ed.website_event_id + where ed.website_id = {{websiteId::uuid}} + and ed.created_at between {{startDate}} and {{endDate}} + and ed.data_key ${like} '%revenue%' + group by s.country + `, + { websiteId, startDate, endDate, currency }, + ); + + const totalRes = await rawQuery( + ` + select + sum(coalesce(cast(number_value as decimal(10,2)), cast(string_value as decimal(10,2)))) as sum, + count(distinct event_id) as count, + count(distinct session_id) as unique_count + from event_data ed + join website_event we + on we.event_id = ed.website_event_id + join (select website_event_id + from event_data + where data_key ${like} '%currency%' + and string_value = {{currency}}) currency + on currency.website_event_id = ed.website_event_id + where ed.website_id = {{websiteId::uuid}} + and ed.created_at between {{startDate}} and {{endDate}} + and ed.data_key ${like} '%revenue%' + `, + { websiteId, startDate, endDate, currency }, + ).then(result => result?.[0]); + + const tableRes = await rawQuery( + ` + select + c.currency, + sum(coalesce(cast(number_value as decimal(10,2)), cast(string_value as decimal(10,2)))) as sum, + count(distinct ed.website_event_id) as count, + count(distinct we.session_id) as unique_count + from event_data ed + join website_event we + on we.event_id = ed.website_event_id + join (select website_event_id, string_value as currency + from event_data + where data_key ${like} '%currency%') c + on c.website_event_id = ed.website_event_id + where ed.website_id = {{websiteId::uuid}} + and ed.created_at between {{startDate}} and {{endDate}} + and ed.data_key ${like} '%revenue%' + group by c.currency + order by sum desc; + `, + { websiteId, startDate, endDate, unit, timezone, currency }, + ); + + return { chart: chartRes, country: countryRes, total: totalRes, table: tableRes }; +} + +async function clickhouseQuery( + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + unit: string; + timezone: string; + currency: string; + }, +): Promise<{ + chart: { x: string; t: string; y: number }[]; + country: { name: string; value: number }[]; + total: { sum: number; count: number; unique_count: number }; + table: { + currency: string; + sum: number; + count: number; + unique_count: number; + }[]; +}> { + const { startDate, endDate, timezone = 'UTC', unit = 'day', currency } = criteria; + const { getDateSQL, rawQuery } = clickhouse; + + const chartRes = await rawQuery< + { + x: string; + t: string; + y: number; + }[] + >( + ` + select + event_name x, + ${getDateSQL('created_at', unit, timezone)} t, + sum(coalesce(toDecimal64(number_value, 2), toDecimal64(string_value, 2))) y + from event_data + join (select event_id + from event_data + where positionCaseInsensitive(data_key, 'currency') > 0 + and string_value = {currency:String}) currency + on currency.event_id = event_data.event_id + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and positionCaseInsensitive(data_key, 'revenue') > 0 + group by x, t + order by t + `, + { websiteId, startDate, endDate, unit, timezone, currency }, + ); + + const countryRes = await rawQuery< + { + name: string; + value: number; + }[] + >( + ` + select + s.country as name, + sum(coalesce(toDecimal64(number_value, 2), toDecimal64(string_value, 2))) as value + from event_data ed + join (select event_id + from event_data + where positionCaseInsensitive(data_key, 'currency') > 0 + and string_value = {currency:String}) c + on c.event_id = ed.event_id + join (select distinct website_id, session_id, country + from website_event_stats_hourly + where website_id = {websiteId:UUID}) s + on ed.website_id = s.website_id + and ed.session_id = s.session_id + where ed.website_id = {websiteId:UUID} + and ed.created_at between {startDate:DateTime64} and {endDate:DateTime64} + and positionCaseInsensitive(ed.data_key, 'revenue') > 0 + group by s.country + `, + { websiteId, startDate, endDate, currency }, + ); + + const totalRes = await rawQuery<{ + sum: number; + avg: number; + count: number; + unique_count: number; + }>( + ` + select + sum(coalesce(toDecimal64(number_value, 2), toDecimal64(string_value, 2))) as sum, + uniqExact(event_id) as count, + uniqExact(session_id) as unique_count + from event_data + join (select event_id + from event_data + where positionCaseInsensitive(data_key, 'currency') > 0 + and string_value = {currency:String}) currency + on currency.event_id = event_data.event_id + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and positionCaseInsensitive(data_key, 'revenue') > 0 + `, + { websiteId, startDate, endDate, currency }, + ).then(result => result?.[0]); + + const tableRes = await rawQuery< + { + currency: string; + sum: number; + avg: number; + count: number; + unique_count: number; + }[] + >( + ` + select + c.currency, + sum(coalesce(toDecimal64(ed.number_value, 2), toDecimal64(ed.string_value, 2))) as sum, + uniqExact(ed.event_id) as count, + uniqExact(ed.session_id) as unique_count + from event_data ed + join (select event_id, string_value as currency + from event_data + where positionCaseInsensitive(data_key, 'currency') > 0) c + on c.event_id = ed.event_id + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and positionCaseInsensitive(data_key, 'revenue') > 0 + group by c.currency + order by sum desc; + `, + { websiteId, startDate, endDate, unit, timezone, currency }, + ); + + return { chart: chartRes, country: countryRes, total: totalRes, table: tableRes }; +} diff --git a/src/queries/analytics/reports/getRevenueValues.ts b/src/queries/analytics/reports/getRevenueValues.ts new file mode 100644 index 00000000..4dcc4a22 --- /dev/null +++ b/src/queries/analytics/reports/getRevenueValues.ts @@ -0,0 +1,75 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { runQuery, CLICKHOUSE, PRISMA, getDatabaseType, POSTGRESQL } from 'lib/db'; + +export async function getRevenueValues( + ...args: [ + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + }, + ] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + }, +) { + const { rawQuery } = prisma; + const { startDate, endDate } = criteria; + + const db = getDatabaseType(); + const like = db === POSTGRESQL ? 'ilike' : 'like'; + + return rawQuery( + ` + select distinct string_value as currency + from event_data + where website_id = {{websiteId::uuid}} + and created_at between {{startDate}} and {{endDate}} + and data_key ${like} '%currency%' + order by currency + `, + { + websiteId, + startDate, + endDate, + }, + ); +} + +async function clickhouseQuery( + websiteId: string, + criteria: { + startDate: Date; + endDate: Date; + }, +) { + const { rawQuery } = clickhouse; + const { startDate, endDate } = criteria; + + return rawQuery( + ` + select distinct string_value as currency + from event_data + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and positionCaseInsensitive(data_key, 'currency') > 0 + order by currency + `, + { + websiteId, + startDate, + endDate, + }, + ); +} diff --git a/src/queries/analytics/sessions/createSession.ts b/src/queries/analytics/sessions/createSession.ts index 65dbd794..7d614499 100644 --- a/src/queries/analytics/sessions/createSession.ts +++ b/src/queries/analytics/sessions/createSession.ts @@ -1,5 +1,4 @@ import { Prisma } from '@prisma/client'; -import cache from 'lib/cache'; import prisma from 'lib/prisma'; export async function createSession(data: Prisma.SessionCreateInput) { @@ -18,28 +17,20 @@ export async function createSession(data: Prisma.SessionCreateInput) { city, } = data; - return prisma.client.session - .create({ - data: { - id, - websiteId, - hostname, - browser, - os, - device, - screen, - language, - country, - subdivision1, - subdivision2, - city, - }, - }) - .then(async data => { - if (cache.enabled) { - await cache.storeSession(data); - } - - return data; - }); + return prisma.client.session.create({ + data: { + id, + websiteId, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + subdivision2, + city, + }, + }); } diff --git a/src/queries/analytics/sessions/getSession.ts b/src/queries/analytics/sessions/getSession.ts deleted file mode 100644 index 256ada4c..00000000 --- a/src/queries/analytics/sessions/getSession.ts +++ /dev/null @@ -1,9 +0,0 @@ -import prisma from 'lib/prisma'; - -export async function getSession(id: string) { - return prisma.client.session.findUnique({ - where: { - id, - }, - }); -} diff --git a/src/queries/analytics/sessions/getSessionActivity.ts b/src/queries/analytics/sessions/getSessionActivity.ts new file mode 100644 index 00000000..1fe8bbd3 --- /dev/null +++ b/src/queries/analytics/sessions/getSessionActivity.ts @@ -0,0 +1,59 @@ +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; + +export async function getSessionActivity( + ...args: [websiteId: string, sessionId: string, startDate: Date, endDate: Date] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + sessionId: string, + startDate: Date, + endDate: Date, +) { + return prisma.client.websiteEvent.findMany({ + where: { + sessionId, + websiteId, + createdAt: { gte: startDate, lte: endDate }, + }, + take: 500, + orderBy: { createdAt: 'desc' }, + }); +} + +async function clickhouseQuery( + websiteId: string, + sessionId: string, + startDate: Date, + endDate: Date, +) { + const { rawQuery } = clickhouse; + + return rawQuery( + ` + select + created_at as createdAt, + url_path as urlPath, + url_query as urlQuery, + referrer_domain as referrerDomain, + event_id as eventId, + event_type as eventType, + event_name as eventName, + visit_id as visitId + from website_event + where website_id = {websiteId:UUID} + and session_id = {sessionId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + order by created_at desc + limit 500 + `, + { websiteId, sessionId, startDate, endDate }, + ); +} diff --git a/src/queries/analytics/sessions/getSessionData.ts b/src/queries/analytics/sessions/getSessionData.ts new file mode 100644 index 00000000..ce80b035 --- /dev/null +++ b/src/queries/analytics/sessions/getSessionData.ts @@ -0,0 +1,56 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { runQuery, PRISMA, CLICKHOUSE } from 'lib/db'; + +export async function getSessionData(...args: [websiteId: string, sessionId: string]) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery(websiteId: string, sessionId: string) { + const { rawQuery } = prisma; + + return rawQuery( + ` + select + website_id as "websiteId", + session_id as "sessionId", + data_key as "dataKey", + data_type as "dataType", + replace(string_value, '.0000', '') as "stringValue", + number_value as "numberValue", + date_value as "dateValue", + created_at as "createdAt" + from session_data + where website_id = {{websiteId::uuid}} + and session_id = {{sessionId::uuid}} + order by data_key asc + `, + { websiteId, sessionId }, + ); +} + +async function clickhouseQuery(websiteId: string, sessionId: string) { + const { rawQuery } = clickhouse; + + return rawQuery( + ` + select + website_id as websiteId, + session_id as sessionId, + data_key as dataKey, + data_type as dataType, + replace(string_value, '.0000', '') as stringValue, + number_value as numberValue, + date_value as dateValue, + created_at as createdAt + from session_data final + where website_id = {websiteId:UUID} + and session_id = {sessionId:UUID} + order by data_key asc + `, + { websiteId, sessionId }, + ); +} diff --git a/src/queries/analytics/eventData/getEventDataFields.ts b/src/queries/analytics/sessions/getSessionDataProperties.ts similarity index 51% rename from src/queries/analytics/eventData/getEventDataFields.ts rename to src/queries/analytics/sessions/getSessionDataProperties.ts index 6ec3b35a..1d15ea8d 100644 --- a/src/queries/analytics/eventData/getEventDataFields.ts +++ b/src/queries/analytics/sessions/getSessionDataProperties.ts @@ -3,8 +3,8 @@ import clickhouse from 'lib/clickhouse'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; import { QueryFilters, WebsiteEventData } from 'lib/types'; -export async function getEventDataFields( - ...args: [websiteId: string, filters: QueryFilters & { field?: string }] +export async function getSessionDataProperties( + ...args: [websiteId: string, filters: QueryFilters & { propertyName?: string }] ): Promise { return runQuery({ [PRISMA]: () => relationalQuery(...args), @@ -12,25 +12,26 @@ export async function getEventDataFields( }); } -async function relationalQuery(websiteId: string, filters: QueryFilters & { field?: string }) { +async function relationalQuery( + websiteId: string, + filters: QueryFilters & { propertyName?: string }, +) { const { rawQuery, parseFilters } = prisma; const { filterQuery, params } = await parseFilters(websiteId, filters, { - columns: { field: 'data_key' }, + columns: { propertyName: 'data_key' }, }); return rawQuery( ` select - data_key as "fieldName", - data_type as "dataType", - string_value as "fieldValue", + data_key as "propertyName", count(*) as "total" - from event_data + from session_data where website_id = {{websiteId::uuid}} and created_at between {{startDate}} and {{endDate}} ${filterQuery} - group by data_key, data_type, string_value - order by 3 desc, 2 desc, 1 asc + group by data_key + order by 2 desc limit 500 `, params, @@ -39,37 +40,26 @@ async function relationalQuery(websiteId: string, filters: QueryFilters & { fiel async function clickhouseQuery( websiteId: string, - filters: QueryFilters & { field?: string }, -): Promise<{ fieldName: string; dataType: number; fieldValue: string; total: number }[]> { + filters: QueryFilters & { propertyName?: string }, +): Promise<{ propertyName: string; total: number }[]> { const { rawQuery, parseFilters } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, filters, { - columns: { field: 'data_key' }, + columns: { propertyName: 'data_key' }, }); return rawQuery( ` select - data_key as fieldName, - data_type as dataType, - string_value as fieldValue, + data_key as propertyName, count(*) as total - from event_data + from session_data final where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} ${filterQuery} - group by data_key, data_type, string_value - order by 3 desc, 2 desc, 1 asc + group by data_key + order by 2 desc limit 500 `, params, - ).then(a => { - return Object.values(a).map(a => { - return { - fieldName: a.fieldName, - dataType: Number(a.dataType), - fieldValue: a.fieldValue, - total: Number(a.total), - }; - }); - }); + ); } diff --git a/src/queries/analytics/sessions/getSessionDataValues.ts b/src/queries/analytics/sessions/getSessionDataValues.ts new file mode 100644 index 00000000..c02e4adb --- /dev/null +++ b/src/queries/analytics/sessions/getSessionDataValues.ts @@ -0,0 +1,69 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import { QueryFilters, WebsiteEventData } from 'lib/types'; + +export async function getSessionDataValues( + ...args: [websiteId: string, filters: QueryFilters & { propertyName?: string }] +): Promise { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + filters: QueryFilters & { propertyName?: string }, +) { + const { rawQuery, parseFilters, getDateSQL } = prisma; + const { filterQuery, params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + case + when data_type = 2 then replace(string_value, '.0000', '') + when data_type = 4 then ${getDateSQL('date_value', 'hour')} + else string_value + end as "value", + count(*) as "total" + from session_data + where website_id = {{websiteId::uuid}} + and created_at between {{startDate}} and {{endDate}} + and data_key = {{propertyName}} + ${filterQuery} + group by value + order by 2 desc + limit 100 + `, + params, + ); +} + +async function clickhouseQuery( + websiteId: string, + filters: QueryFilters & { propertyName?: string }, +): Promise<{ propertyName: string; dataType: number; propertyValue: string; total: number }[]> { + const { rawQuery, parseFilters } = clickhouse; + const { filterQuery, params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + multiIf(data_type = 2, replaceAll(string_value, '.0000', ''), + data_type = 4, toString(date_trunc('hour', date_value)), + string_value) as "value", + count(*) as "total" + from session_data final + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and data_key = {propertyName:String} + ${filterQuery} + group by value + order by 2 desc + limit 100 + `, + params, + ); +} diff --git a/src/queries/analytics/sessions/getSessionMetrics.ts b/src/queries/analytics/sessions/getSessionMetrics.ts index e28f1fb2..bb8bc4c5 100644 --- a/src/queries/analytics/sessions/getSessionMetrics.ts +++ b/src/queries/analytics/sessions/getSessionMetrics.ts @@ -1,7 +1,7 @@ -import prisma from 'lib/prisma'; import clickhouse from 'lib/clickhouse'; -import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; -import { EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; +import { EVENT_COLUMNS, EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; import { QueryFilters } from 'lib/types'; export async function getSessionMetrics( @@ -71,8 +71,10 @@ async function clickhouseQuery( }); const includeCountry = column === 'city' || column === 'subdivision1'; - return rawQuery( - ` + let sql = ''; + + if (EVENT_COLUMNS.some(item => Object.keys(filters).includes(item))) { + sql = ` select ${column} x, count(distinct session_id) y @@ -87,9 +89,27 @@ async function clickhouseQuery( order by y desc limit ${limit} offset ${offset} - `, - params, - ).then(a => { + `; + } else { + sql = ` + select + ${column} x, + uniq(session_id) y + ${includeCountry ? ', country' : ''} + from website_event_stats_hourly website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + ${filterQuery} + group by x + ${includeCountry ? ', country' : ''} + order by y desc + limit ${limit} + offset ${offset} + `; + } + + return rawQuery(sql, params).then(a => { return Object.values(a).map(a => { return { x: a.x, y: Number(a.y), country: a.country }; }); diff --git a/src/queries/analytics/sessions/getSessionStats.ts b/src/queries/analytics/sessions/getSessionStats.ts index c977187d..212f15e9 100644 --- a/src/queries/analytics/sessions/getSessionStats.ts +++ b/src/queries/analytics/sessions/getSessionStats.ts @@ -1,7 +1,7 @@ import clickhouse from 'lib/clickhouse'; +import { EVENT_COLUMNS, EVENT_TYPE } from 'lib/constants'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; import prisma from 'lib/prisma'; -import { EVENT_TYPE } from 'lib/constants'; import { QueryFilters } from 'lib/types'; export async function getSessionStats(...args: [websiteId: string, filters: QueryFilters]) { @@ -13,7 +13,7 @@ export async function getSessionStats(...args: [websiteId: string, filters: Quer async function relationalQuery(websiteId: string, filters: QueryFilters) { const { timezone = 'utc', unit = 'day' } = filters; - const { getDateQuery, parseFilters, rawQuery } = prisma; + const { getDateSQL, parseFilters, rawQuery } = prisma; const { filterQuery, joinSession, params } = await parseFilters(websiteId, { ...filters, eventType: EVENT_TYPE.pageView, @@ -22,7 +22,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { return rawQuery( ` select - ${getDateQuery('website_event.created_at', unit, timezone)} x, + ${getDateSQL('website_event.created_at', unit, timezone)} x, count(distinct website_event.session_id) y from website_event ${joinSession} @@ -31,6 +31,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { and event_type = {{eventType}} ${filterQuery} group by 1 + order by 1 `, params, ); @@ -40,21 +41,23 @@ async function clickhouseQuery( websiteId: string, filters: QueryFilters, ): Promise<{ x: string; y: number }[]> { - const { timezone = 'UTC', unit = 'day' } = filters; - const { parseFilters, rawQuery, getDateStringQuery, getDateQuery } = clickhouse; + const { timezone = 'utc', unit = 'day' } = filters; + const { parseFilters, rawQuery, getDateSQL } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, { ...filters, eventType: EVENT_TYPE.pageView, }); - return rawQuery( - ` + let sql = ''; + + if (EVENT_COLUMNS.some(item => Object.keys(filters).includes(item)) || unit === 'minute') { + sql = ` select - ${getDateStringQuery('g.t', unit)} as x, + g.t as x, g.y as y from ( - select - ${getDateQuery('created_at', unit, timezone)} as t, + select + ${getDateSQL('website_event.created_at', unit, timezone)} as t, count(distinct session_id) as y from website_event where website_id = {websiteId:UUID} @@ -64,11 +67,26 @@ async function clickhouseQuery( group by t ) as g order by t - `, - params, - ).then(a => { - return Object.values(a).map(a => { - return { x: a.x, y: Number(a.y) }; - }); - }); + `; + } else { + sql = ` + select + g.t as x, + g.y as y + from ( + select + ${getDateSQL('website_event.created_at', unit, timezone)} as t, + uniq(session_id) as y + from website_event_stats_hourly website_event + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + and event_type = {eventType:UInt32} + ${filterQuery} + group by t + ) as g + order by t + `; + } + + return rawQuery(sql, params); } diff --git a/src/queries/analytics/sessions/getSessions.ts b/src/queries/analytics/sessions/getSessions.ts deleted file mode 100644 index b92e3af9..00000000 --- a/src/queries/analytics/sessions/getSessions.ts +++ /dev/null @@ -1,56 +0,0 @@ -import prisma from 'lib/prisma'; -import clickhouse from 'lib/clickhouse'; -import { runQuery, PRISMA, CLICKHOUSE } from 'lib/db'; - -export async function getSessions(...args: [websiteId: string, startAt: Date]) { - return runQuery({ - [PRISMA]: () => relationalQuery(...args), - [CLICKHOUSE]: () => clickhouseQuery(...args), - }); -} - -async function relationalQuery(websiteId: string, startDate: Date) { - return prisma.client.session.findMany({ - where: { - websiteId, - createdAt: { - gte: startDate, - }, - }, - orderBy: { - createdAt: 'asc', - }, - }); -} - -async function clickhouseQuery(websiteId: string, startDate: Date) { - const { rawQuery } = clickhouse; - - return rawQuery( - ` - select - session_id as id, - website_id as websiteId, - created_at as createdAt, - toUnixTimestamp(created_at) as timestamp, - hostname, - browser, - os, - device, - screen, - language, - country, - subdivision1, - subdivision2, - city - from website_event - where website_id = {websiteId:UUID} - and created_at >= {startDate:DateTime64} - order by created_at asc - `, - { - websiteId, - startDate, - }, - ); -} diff --git a/src/queries/analytics/sessions/getWebsiteSession.ts b/src/queries/analytics/sessions/getWebsiteSession.ts new file mode 100644 index 00000000..2c16741e --- /dev/null +++ b/src/queries/analytics/sessions/getWebsiteSession.ts @@ -0,0 +1,109 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { runQuery, PRISMA, CLICKHOUSE } from 'lib/db'; + +export async function getWebsiteSession(...args: [websiteId: string, sessionId: string]) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery(websiteId: string, sessionId: string) { + const { rawQuery, getTimestampDiffSQL } = prisma; + + return rawQuery( + ` + select id, + website_id as "websiteId", + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + min(min_time) as "firstAt", + max(max_time) as "lastAt", + count(distinct visit_id) as visits, + sum(views) as views, + sum(events) as events, + sum(${getTimestampDiffSQL('min_time', 'max_time')}) as "totaltime" + from (select + session.session_id as id, + website_event.visit_id, + session.website_id, + session.hostname, + session.browser, + session.os, + session.device, + session.screen, + session.language, + session.country, + session.subdivision1, + session.city, + min(website_event.created_at) as min_time, + max(website_event.created_at) as max_time, + sum(case when website_event.event_type = 1 then 1 else 0 end) as views, + sum(case when website_event.event_type = 2 then 1 else 0 end) as events + from session + join website_event on website_event.session_id = session.session_id + where session.website_id = {{websiteId::uuid}} + and session.session_id = {{sessionId::uuid}} + group by session.session_id, visit_id, session.website_id, session.hostname, session.browser, session.os, session.device, session.screen, session.language, session.country, session.subdivision1, session.city) t + group by id, website_id, hostname, browser, os, device, screen, language, country, subdivision1, city; + `, + { websiteId, sessionId }, + ).then(result => result?.[0]); +} + +async function clickhouseQuery(websiteId: string, sessionId: string) { + const { rawQuery, getDateStringSQL } = clickhouse; + + return rawQuery( + ` + select id, + websiteId, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + ${getDateStringSQL('min(min_time)')} as firstAt, + ${getDateStringSQL('max(max_time)')} as lastAt, + uniq(visit_id) visits, + sum(views) as views, + sum(events) as events, + sum(max_time-min_time) as totaltime + from (select + session_id as id, + visit_id, + website_id as websiteId, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + min(min_time) as min_time, + max(max_time) as max_time, + sum(views) as views, + length(groupArrayArray(event_name)) as events + from website_event_stats_hourly + where website_id = {websiteId:UUID} + and session_id = {sessionId:UUID} + group by session_id, visit_id, website_id, hostname, browser, os, device, screen, language, country, subdivision1, city) t + group by id, websiteId, hostname, browser, os, device, screen, language, country, subdivision1, city; + `, + { websiteId, sessionId }, + ).then(result => result?.[0]); +} diff --git a/src/queries/analytics/sessions/getWebsiteSessionStats.ts b/src/queries/analytics/sessions/getWebsiteSessionStats.ts new file mode 100644 index 00000000..648be140 --- /dev/null +++ b/src/queries/analytics/sessions/getWebsiteSessionStats.ts @@ -0,0 +1,72 @@ +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; +import { QueryFilters } from 'lib/types'; + +export async function getWebsiteSessionStats( + ...args: [websiteId: string, filters: QueryFilters] +): Promise< + { pageviews: number; visitors: number; visits: number; countries: number; events: number }[] +> { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery( + websiteId: string, + filters: QueryFilters, +): Promise< + { pageviews: number; visitors: number; visits: number; countries: number; events: number }[] +> { + const { parseFilters, rawQuery } = prisma; + const { filterQuery, params } = await parseFilters(websiteId, { + ...filters, + }); + + return rawQuery( + ` + select + count(*) as "pageviews", + count(distinct website_event.session_id) as "visitors", + count(distinct website_event.visit_id) as "visits", + count(distinct session.country) as "countries", + sum(case when website_event.event_type = 2 then 1 else 0 end) as "events" + from website_event + join session on website_event.session_id = session.session_id + where website_event.website_id = {{websiteId::uuid}} + and website_event.created_at between {{startDate}} and {{endDate}} + ${filterQuery} + `, + params, + ); +} + +async function clickhouseQuery( + websiteId: string, + filters: QueryFilters, +): Promise< + { pageviews: number; visitors: number; visits: number; countries: number; events: number }[] +> { + const { rawQuery, parseFilters } = clickhouse; + const { filterQuery, params } = await parseFilters(websiteId, { + ...filters, + }); + + return rawQuery( + ` + select + sum(views) as "pageviews", + uniq(session_id) as "visitors", + uniq(visit_id) as "visits", + uniq(country) as "countries", + sum(length(event_name)) as "events" + from umami.website_event_stats_hourly "website_event" + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + ${filterQuery} + `, + params, + ); +} diff --git a/src/queries/analytics/sessions/getWebsiteSessions.ts b/src/queries/analytics/sessions/getWebsiteSessions.ts new file mode 100644 index 00000000..d2a827d0 --- /dev/null +++ b/src/queries/analytics/sessions/getWebsiteSessions.ts @@ -0,0 +1,102 @@ +import clickhouse from 'lib/clickhouse'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import prisma from 'lib/prisma'; +import { PageParams, QueryFilters } from 'lib/types'; + +export async function getWebsiteSessions( + ...args: [websiteId: string, filters?: QueryFilters, pageParams?: PageParams] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery(websiteId: string, filters: QueryFilters, pageParams: PageParams) { + const { pagedRawQuery, parseFilters } = prisma; + const { filterQuery, params } = await parseFilters(websiteId, { + ...filters, + }); + + return pagedRawQuery( + ` + with sessions as ( + select + session.session_id as "id", + session.website_id as "websiteId", + session.hostname, + session.browser, + session.os, + session.device, + session.screen, + session.language, + session.country, + session.subdivision1, + session.city, + min(website_event.created_at) as "firstAt", + max(website_event.created_at) as "lastAt", + count(distinct website_event.visit_id) as "visits", + sum(case when website_event.event_type = 1 then 1 else 0 end) as "views", + max(website_event.created_at) as "createdAt" + from website_event + join session on session.session_id = website_event.session_id + where website_event.website_id = {{websiteId::uuid}} + and website_event.created_at between {{startDate}} and {{endDate}} + ${filterQuery} + group by session.session_id, + session.website_id, + session.hostname, + session.browser, + session.os, + session.device, + session.screen, + session.language, + session.country, + session.subdivision1, + session.city + order by max(website_event.created_at) desc + limit 1000) + select * from sessions + `, + params, + pageParams, + ); +} + +async function clickhouseQuery(websiteId: string, filters: QueryFilters, pageParams?: PageParams) { + const { pagedQuery, parseFilters, getDateStringSQL } = clickhouse; + const { params, dateQuery, filterQuery } = await parseFilters(websiteId, filters); + + return pagedQuery( + ` + with sessions as ( + select + session_id as id, + website_id as websiteId, + hostname, + browser, + os, + device, + screen, + language, + country, + subdivision1, + city, + ${getDateStringSQL('min(min_time)')} as firstAt, + ${getDateStringSQL('max(max_time)')} as lastAt, + uniq(visit_id) as visits, + sumIf(views, event_type = 1) as views, + lastAt as createdAt + from website_event_stats_hourly + where website_id = {websiteId:UUID} + ${dateQuery} + ${filterQuery} + group by session_id, website_id, hostname, browser, os, device, screen, language, country, subdivision1, city + order by lastAt desc + limit 1000) + select * from sessions + `, + params, + pageParams, + ); +} diff --git a/src/queries/analytics/sessions/getWebsiteSessionsWeekly.ts b/src/queries/analytics/sessions/getWebsiteSessionsWeekly.ts new file mode 100644 index 00000000..48d4f7a9 --- /dev/null +++ b/src/queries/analytics/sessions/getWebsiteSessionsWeekly.ts @@ -0,0 +1,71 @@ +import prisma from 'lib/prisma'; +import clickhouse from 'lib/clickhouse'; +import { runQuery, PRISMA, CLICKHOUSE } from 'lib/db'; +import { QueryFilters } from 'lib/types'; + +export async function getWebsiteSessionsWeekly( + ...args: [websiteId: string, filters?: QueryFilters] +) { + return runQuery({ + [PRISMA]: () => relationalQuery(...args), + [CLICKHOUSE]: () => clickhouseQuery(...args), + }); +} + +async function relationalQuery(websiteId: string, filters: QueryFilters) { + const { timezone = 'utc' } = filters; + const { rawQuery, getDateWeeklySQL, parseFilters } = prisma; + const { params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + ${getDateWeeklySQL('created_at', timezone)} as time, + count(distinct session_id) as value + from website_event + where website_id = {{websiteId::uuid}} + and created_at between {{startDate}} and {{endDate}} + group by time + order by 2 + `, + params, + ).then(formatResults); +} + +async function clickhouseQuery(websiteId: string, filters: QueryFilters) { + const { timezone = 'utc' } = filters; + const { rawQuery, parseFilters } = clickhouse; + const { params } = await parseFilters(websiteId, filters); + + return rawQuery( + ` + select + formatDateTime(toDateTime(created_at, '${timezone}'), '%w:%H') as time, + count(distinct session_id) as value + from website_event_stats_hourly + where website_id = {websiteId:UUID} + and created_at between {startDate:DateTime64} and {endDate:DateTime64} + group by time + order by time + `, + params, + ).then(formatResults); +} + +function formatResults(data: any) { + const days = []; + + for (let i = 0; i < 7; i++) { + days.push([]); + + for (let j = 0; j < 24; j++) { + days[i].push( + Number( + data.find(({ time }) => time === `${i}:${j.toString().padStart(2, '0')}`)?.value || 0, + ), + ); + } + } + + return days; +} diff --git a/src/queries/analytics/sessions/saveSessionData.ts b/src/queries/analytics/sessions/saveSessionData.ts index 429c6e28..f9f0276e 100644 --- a/src/queries/analytics/sessions/saveSessionData.ts +++ b/src/queries/analytics/sessions/saveSessionData.ts @@ -5,12 +5,12 @@ import prisma from 'lib/prisma'; import { DynamicData } from 'lib/types'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; import kafka from 'lib/kafka'; +import clickhouse from 'lib/clickhouse'; export async function saveSessionData(data: { websiteId: string; sessionId: string; sessionData: DynamicData; - createdAt?: string; }) { return runQuery({ [PRISMA]: () => relationalQuery(data), @@ -77,11 +77,12 @@ async function clickhouseQuery(data: { websiteId: string; sessionId: string; sessionData: DynamicData; - createdAt?: string; }) { - const { websiteId, sessionId, sessionData, createdAt } = data; + const { websiteId, sessionId, sessionData } = data; - const { getDateFormat, sendMessages } = kafka; + const { insert, getUTCString } = clickhouse; + const { sendMessages } = kafka; + const createdAt = getUTCString(); const jsonKeys = flattenJSON(sessionData); @@ -93,12 +94,16 @@ async function clickhouseQuery(data: { data_type: dataType, string_value: getStringValue(value, dataType), number_value: dataType === DATA_TYPE.number ? value : null, - date_value: dataType === DATA_TYPE.date ? getDateFormat(value) : null, + date_value: dataType === DATA_TYPE.date ? getUTCString(value) : null, created_at: createdAt, }; }); - await sendMessages(messages, 'session_data'); + if (kafka.enabled) { + await sendMessages('session_data', messages); + } else { + await insert('session_data', messages); + } return data; } diff --git a/src/queries/index.ts b/src/queries/index.ts index f0002881..8c7e564a 100644 --- a/src/queries/index.ts +++ b/src/queries/index.ts @@ -1,29 +1,38 @@ -export * from './admin/report'; -export * from './admin/team'; -export * from './admin/teamUser'; -export * from './admin/user'; -export * from './admin/website'; +export * from 'queries/prisma/report'; +export * from 'queries/prisma/team'; +export * from 'queries/prisma/teamUser'; +export * from 'queries/prisma/user'; +export * from 'queries/prisma/website'; +export * from './analytics/events/getEventDataEvents'; +export * from './analytics/events/getEventDataFields'; +export * from './analytics/events/getEventDataProperties'; +export * from './analytics/events/getEventDataValues'; +export * from './analytics/events/getEventDataStats'; +export * from './analytics/events/getEventDataUsage'; export * from './analytics/events/getEventMetrics'; +export * from './analytics/events/getWebsiteEvents'; export * from './analytics/events/getEventUsage'; -export * from './analytics/events/getEvents'; -export * from './analytics/eventData/getEventDataEvents'; -export * from './analytics/eventData/getEventDataFields'; -export * from './analytics/eventData/getEventDataStats'; -export * from './analytics/eventData/getEventDataUsage'; export * from './analytics/events/saveEvent'; export * from './analytics/reports/getFunnel'; +export * from './analytics/reports/getJourney'; export * from './analytics/reports/getRetention'; export * from './analytics/reports/getInsights'; export * from './analytics/reports/getUTM'; export * from './analytics/pageviews/getPageviewMetrics'; export * from './analytics/pageviews/getPageviewStats'; export * from './analytics/sessions/createSession'; -export * from './analytics/sessions/getSession'; +export * from './analytics/sessions/getWebsiteSession'; +export * from './analytics/sessions/getSessionData'; +export * from './analytics/sessions/getSessionDataProperties'; +export * from './analytics/sessions/getSessionDataValues'; export * from './analytics/sessions/getSessionMetrics'; -export * from './analytics/sessions/getSessions'; +export * from './analytics/sessions/getWebsiteSessions'; +export * from './analytics/sessions/getWebsiteSessionsWeekly'; +export * from './analytics/sessions/getSessionActivity'; export * from './analytics/sessions/getSessionStats'; export * from './analytics/sessions/saveSessionData'; export * from './analytics/getActiveVisitors'; +export * from './analytics/getRealtimeActivity'; export * from './analytics/getRealtimeData'; export * from './analytics/getValues'; export * from './analytics/getWebsiteDateRange'; diff --git a/src/queries/admin/report.ts b/src/queries/prisma/report.ts similarity index 83% rename from src/queries/admin/report.ts rename to src/queries/prisma/report.ts index d6b28cc4..a0e6364c 100644 --- a/src/queries/admin/report.ts +++ b/src/queries/prisma/report.ts @@ -1,6 +1,6 @@ import { Prisma, Report } from '@prisma/client'; import prisma from 'lib/prisma'; -import { FilterResult, ReportSearchFilter } from 'lib/types'; +import { PageResult, PageParams } from 'lib/types'; import ReportFindManyArgs = Prisma.ReportFindManyArgs; async function findReport(criteria: Prisma.ReportFindUniqueArgs): Promise { @@ -17,9 +17,9 @@ export async function getReport(reportId: string): Promise { export async function getReports( criteria: ReportFindManyArgs, - filters: ReportSearchFilter = {}, -): Promise> { - const { query } = filters; + pageParams: PageParams = {}, +): Promise> { + const { query } = pageParams; const where: Prisma.ReportWhereInput = { ...criteria.where, @@ -45,13 +45,13 @@ export async function getReports( ]), }; - return prisma.pagedQuery('report', { ...criteria, where }, filters); + return prisma.pagedQuery('report', { ...criteria, where }, pageParams); } export async function getUserReports( userId: string, - filters?: ReportSearchFilter, -): Promise> { + filters?: PageParams, +): Promise> { return getReports( { where: { @@ -72,8 +72,8 @@ export async function getUserReports( export async function getWebsiteReports( websiteId: string, - filters: ReportSearchFilter = {}, -): Promise> { + filters: PageParams = {}, +): Promise> { return getReports( { where: { diff --git a/src/queries/admin/team.ts b/src/queries/prisma/team.ts similarity index 93% rename from src/queries/admin/team.ts rename to src/queries/prisma/team.ts index 74b877de..e516c446 100644 --- a/src/queries/admin/team.ts +++ b/src/queries/prisma/team.ts @@ -2,7 +2,7 @@ import { Prisma, Team } from '@prisma/client'; import { ROLES } from 'lib/constants'; import { uuid } from 'lib/crypto'; import prisma from 'lib/prisma'; -import { FilterResult, TeamSearchFilter } from 'lib/types'; +import { PageResult, PageParams } from 'lib/types'; import TeamFindManyArgs = Prisma.TeamFindManyArgs; export async function findTeam(criteria: Prisma.TeamFindUniqueArgs): Promise { @@ -22,8 +22,8 @@ export async function getTeam(teamId: string, options: { includeMembers?: boolea export async function getTeams( criteria: TeamFindManyArgs, - filters: TeamSearchFilter = {}, -): Promise> { + filters: PageParams = {}, +): Promise> { const { getSearchParameters } = prisma; const { query } = filters; @@ -42,7 +42,7 @@ export async function getTeams( ); } -export async function getUserTeams(userId: string, filters: TeamSearchFilter = {}) { +export async function getUserTeams(userId: string, filters: PageParams = {}) { return getTeams( { where: { diff --git a/src/queries/admin/teamUser.ts b/src/queries/prisma/teamUser.ts similarity index 91% rename from src/queries/admin/teamUser.ts rename to src/queries/prisma/teamUser.ts index 43785b78..d172dd5a 100644 --- a/src/queries/admin/teamUser.ts +++ b/src/queries/prisma/teamUser.ts @@ -1,7 +1,7 @@ import { Prisma, TeamUser } from '@prisma/client'; import { uuid } from 'lib/crypto'; import prisma from 'lib/prisma'; -import { FilterResult, TeamUserSearchFilter } from 'lib/types'; +import { PageResult, PageParams } from 'lib/types'; import TeamUserFindManyArgs = Prisma.TeamUserFindManyArgs; export async function findTeamUser(criteria: Prisma.TeamUserFindUniqueArgs): Promise { @@ -19,8 +19,8 @@ export async function getTeamUser(teamId: string, userId: string): Promise> { + filters?: PageParams, +): Promise> { const { query } = filters; const where: Prisma.TeamUserWhereInput = { diff --git a/src/queries/admin/user.ts b/src/queries/prisma/user.ts similarity index 90% rename from src/queries/admin/user.ts rename to src/queries/prisma/user.ts index 274bb43d..0c8e3520 100644 --- a/src/queries/admin/user.ts +++ b/src/queries/prisma/user.ts @@ -1,8 +1,7 @@ import { Prisma } from '@prisma/client'; -import cache from 'lib/cache'; import { ROLES } from 'lib/constants'; import prisma from 'lib/prisma'; -import { FilterResult, Role, User, UserSearchFilter } from 'lib/types'; +import { PageResult, Role, User, PageParams } from 'lib/types'; import { getRandomChars } from 'next-basics'; import UserFindManyArgs = Prisma.UserFindManyArgs; @@ -50,9 +49,9 @@ export async function getUserByUsername(username: string, options: GetUserOption export async function getUsers( criteria: UserFindManyArgs, - filters?: UserSearchFilter, -): Promise> { - const { query } = filters; + pageParams?: PageParams, +): Promise> { + const { query } = pageParams; const where: Prisma.UserWhereInput = { ...criteria.where, @@ -69,7 +68,7 @@ export async function getUsers( { orderBy: 'createdAt', sortDescending: true, - ...filters, + ...pageParams, }, ); } @@ -172,6 +171,9 @@ export async function deleteUser( client.eventData.deleteMany({ where: { websiteId: { in: websiteIds } }, }), + client.sessionData.deleteMany({ + where: { websiteId: { in: websiteIds } }, + }), client.websiteEvent.deleteMany({ where: { websiteId: { in: websiteIds } }, }), @@ -221,15 +223,5 @@ export async function deleteUser( id: userId, }, }), - ]).then(async data => { - if (cache.enabled) { - const ids = websites.map(a => a.id); - - for (let i = 0; i < ids.length; i++) { - await cache.deleteWebsite(`website:${ids[i]}`); - } - } - - return data; - }); + ]); } diff --git a/src/queries/admin/website.ts b/src/queries/prisma/website.ts similarity index 68% rename from src/queries/admin/website.ts rename to src/queries/prisma/website.ts index cef7f15d..5c8debc9 100644 --- a/src/queries/admin/website.ts +++ b/src/queries/prisma/website.ts @@ -1,8 +1,9 @@ import { Prisma, Website } from '@prisma/client'; -import cache from 'lib/cache'; +import redis from '@umami/redis-client'; import prisma from 'lib/prisma'; -import { FilterResult, WebsiteSearchFilter } from 'lib/types'; +import { PageResult, PageParams } from 'lib/types'; import WebsiteFindManyArgs = Prisma.WebsiteFindManyArgs; +import { ROLES } from 'lib/constants'; async function findWebsite(criteria: Prisma.WebsiteFindUniqueArgs): Promise { return prisma.client.website.findUnique(criteria); @@ -20,15 +21,16 @@ export async function getSharedWebsite(shareId: string) { return findWebsite({ where: { shareId, + deletedAt: null, }, }); } export async function getWebsites( criteria: WebsiteFindManyArgs, - filters: WebsiteSearchFilter, -): Promise> { - const { query } = filters; + pageParams: PageParams, +): Promise> { + const { query } = pageParams; const where: Prisma.WebsiteWhereInput = { ...criteria.where, @@ -41,21 +43,55 @@ export async function getWebsites( deletedAt: null, }; - return prisma.pagedQuery('website', { ...criteria, where }, filters); + return prisma.pagedQuery('website', { ...criteria, where }, pageParams); } export async function getAllWebsites(userId: string) { return prisma.client.website.findMany({ where: { - userId, + OR: [ + { userId }, + { + team: { + deletedAt: null, + teamUser: { + some: { + userId, + }, + }, + }, + }, + ], + deletedAt: null, + }, + }); +} + +export async function getAllUserWebsitesIncludingTeamOwner(userId: string) { + return prisma.client.website.findMany({ + where: { + OR: [ + { userId }, + { + team: { + deletedAt: null, + teamUser: { + some: { + role: ROLES.teamOwner, + userId, + }, + }, + }, + }, + ], }, }); } export async function getUserWebsites( userId: string, - filters?: WebsiteSearchFilter, -): Promise> { + filters?: PageParams, +): Promise> { return getWebsites( { where: { @@ -79,8 +115,8 @@ export async function getUserWebsites( export async function getTeamWebsites( teamId: string, - filters?: WebsiteSearchFilter, -): Promise> { + filters?: PageParams, +): Promise> { return getWebsites( { where: { @@ -102,17 +138,9 @@ export async function getTeamWebsites( export async function createWebsite( data: Prisma.WebsiteCreateInput | Prisma.WebsiteUncheckedCreateInput, ): Promise { - return prisma.client.website - .create({ - data, - }) - .then(async data => { - if (cache.enabled) { - await cache.storeWebsite(data); - } - - return data; - }); + return prisma.client.website.create({ + data, + }); } export async function updateWebsite( @@ -131,11 +159,15 @@ export async function resetWebsite( websiteId: string, ): Promise<[Prisma.BatchPayload, Prisma.BatchPayload, Website]> { const { client, transaction } = prisma; + const cloudMode = !!process.env.cloudMode; return transaction([ client.eventData.deleteMany({ where: { websiteId }, }), + client.sessionData.deleteMany({ + where: { websiteId }, + }), client.websiteEvent.deleteMany({ where: { websiteId }, }), @@ -149,8 +181,8 @@ export async function resetWebsite( }, }), ]).then(async data => { - if (cache.enabled) { - await cache.storeWebsite(data[3]); + if (cloudMode) { + await redis.client.set(`website:${websiteId}`, data[3]); } return data; @@ -161,12 +193,15 @@ export async function deleteWebsite( websiteId: string, ): Promise<[Prisma.BatchPayload, Prisma.BatchPayload, Website]> { const { client, transaction } = prisma; - const cloudMode = process.env.CLOUD_MODE; + const cloudMode = !!process.env.CLOUD_MODE; return transaction([ client.eventData.deleteMany({ where: { websiteId }, }), + client.sessionData.deleteMany({ + where: { websiteId }, + }), client.websiteEvent.deleteMany({ where: { websiteId }, }), @@ -189,8 +224,8 @@ export async function deleteWebsite( where: { id: websiteId }, }), ]).then(async data => { - if (cache.enabled) { - await cache.deleteWebsite(websiteId); + if (cloudMode) { + await redis.client.del(`website:${websiteId}`); } return data; diff --git a/src/store/dashboard.ts b/src/store/dashboard.ts index f6677542..0cfc78b9 100644 --- a/src/store/dashboard.ts +++ b/src/store/dashboard.ts @@ -6,7 +6,9 @@ export const initialState = { showCharts: true, limit: DEFAULT_WEBSITE_LIMIT, websiteOrder: [], + websiteActive: [], editing: false, + isEdited: false, }; const store = create(() => ({ ...initialState, ...getItem(DASHBOARD_CONFIG) })); diff --git a/src/store/websites.ts b/src/store/websites.ts index a9f6b44d..1c5c21fc 100644 --- a/src/store/websites.ts +++ b/src/store/websites.ts @@ -18,4 +18,18 @@ export function setWebsiteDateRange(websiteId: string, dateRange: DateRange) { ); } +export function setWebsiteDateCompare(websiteId: string, dateCompare: string) { + store.setState( + produce(state => { + if (!state[websiteId]) { + state[websiteId] = {}; + } + + state[websiteId].dateCompare = dateCompare; + + return state; + }), + ); +} + export default store; diff --git a/src/styles/locale.css b/src/styles/locale.css deleted file mode 100644 index dddf495b..00000000 --- a/src/styles/locale.css +++ /dev/null @@ -1,29 +0,0 @@ -.zh-CN { - font-family: '方体', 'PingFang SC', '黑体', 'Heiti SC', 'Microsoft JhengHei UI', - 'Microsoft JhengHei', Roboto, Noto, 'Noto Sans CJK SC', sans-serif !important; -} - -.zh-TW { - font-family: '方體', 'PingFang TC', '黑體', 'Heiti TC', 'Microsoft JhengHei UI', - 'Microsoft JhengHei', Roboto, Noto, 'Noto Sans CJK TC', sans-serif !important; -} - -.ja-JP { - font-family: '游ゴシック体', YuGothic, 'ヒラギノ丸ゴ', 'Hiragino Sans', 'Yu Gothic UI', - 'Meiryo UI', 'MS Gothic', Roboto, Noto, 'Noto Sans CJK JP', sans-serif !important; -} - -.ko-KR { - font-family: 'Nanum Gothic', 'Apple SD Gothic Neo', 'Malgun Gothic', Roboto, Noto, - 'Noto Sans CJK KR', sans-serif !important; -} - -.ar-SA { - font-family: 'Geeza Pro', 'Arabic Typesetting', Roboto, Noto, 'Noto Naskh Arabic', - 'Times New Roman', serif !important; -} - -.he-IL { - font-family: 'New Peninim MT', 'Arial Hebrew', Gisha, 'Times New Roman', Roboto, Noto, - 'Noto Sans Hebrew', sans-serif !important; -} diff --git a/src/tracker/index.js b/src/tracker/index.js index 43a51501..c17a76e8 100644 --- a/src/tracker/index.js +++ b/src/tracker/index.js @@ -3,12 +3,12 @@ screen: { width, height }, navigator: { language }, location, - localStorage, document, history, } = window; - const { hostname, pathname, search } = location; + const { hostname, href, origin } = location; const { currentScript, referrer } = document; + const localStorage = href.startsWith('data:') ? undefined : window.localStorage; if (!currentScript) return; @@ -44,7 +44,7 @@ if (result !== str) { return result; } - } catch { + } catch (e) { return str; } @@ -52,6 +52,13 @@ }; const parseURL = url => { + try { + // use location.origin as the base to handle cases where the url is a relative path + const { pathname, search, hash } = new URL(url, origin); + url = pathname + search + hash; + } catch (e) { + /* empty */ + } return excludeSearch ? url.split('?')[0] : url; }; @@ -187,17 +194,21 @@ /* Tracking functions */ const trackingDisabled = () => + !website || (localStorage && localStorage.getItem('umami.disabled')) || (domain && !domains.includes(hostname)); const send = async (payload, type = 'event') => { if (trackingDisabled()) return; + const headers = { 'Content-Type': 'application/json', }; + if (typeof cache !== 'undefined') { headers['x-umami-cache'] = cache; } + try { const res = await fetch(endpoint, { method: 'POST', @@ -207,11 +218,21 @@ const text = await res.text(); return (cache = text); - } catch { + } catch (e) { /* empty */ } }; + const init = () => { + if (!initialized) { + track(); + handlePathChanges(); + handleTitleChanges(); + handleClicks(); + initialized = true; + } + }; + const track = (obj, data) => { if (typeof obj === 'string') { return send({ @@ -238,26 +259,17 @@ }; } - let currentUrl = `${pathname}${search}`; - let currentRef = referrer !== hostname ? referrer : ''; + let currentUrl = parseURL(href); + let currentRef = referrer.startsWith(origin) ? '' : referrer; let title = document.title; let cache; let initialized; if (autoTrack && !trackingDisabled()) { - handlePathChanges(); - handleTitleChanges(); - handleClicks(); - - const init = () => { - if (document.readyState === 'complete' && !initialized) { - track(); - initialized = true; - } - }; - - document.addEventListener('readystatechange', init, true); - - init(); + if (document.readyState === 'complete') { + init(); + } else { + document.addEventListener('readystatechange', init, true); + } } })(window); diff --git a/yarn.lock b/yarn.lock index 8373fbf0..637f352d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@ampproject/remapping@^2.2.0": version "2.2.1" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" @@ -23,7 +18,16 @@ "@babel/highlight" "^7.22.13" chalk "^2.4.2" -"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5": +"@babel/code-frame@^7.12.13": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/code-frame@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== @@ -291,10 +295,10 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== "@babel/helper-validator-option@^7.22.15": version "7.22.15" @@ -343,13 +347,14 @@ js-tokens "^4.0.0" "@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" + integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== dependencies: - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-validator-identifier" "^7.25.9" chalk "^2.4.2" js-tokens "^4.0.0" + picocolors "^1.0.0" "@babel/parser@^7.1.0", "@babel/parser@^7.20.15", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": version "7.23.0" @@ -1113,9 +1118,9 @@ regenerator-runtime "^0.14.0" "@babel/runtime@^7.12.5": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e" - integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== dependencies: regenerator-runtime "^0.14.0" @@ -1126,13 +1131,6 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.23.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== - dependencies: - regenerator-runtime "^0.14.0" - "@babel/template@^7.22.15", "@babel/template@^7.22.5": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" @@ -1206,17 +1204,17 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@clickhouse/client-common@0.2.10": - version "0.2.10" - resolved "https://registry.yarnpkg.com/@clickhouse/client-common/-/client-common-0.2.10.tgz#62f454d2cc2ee27a325034a2cca47c6f5c90d22e" - integrity sha512-BvTY0IXS96y9RUeNCpKL4HUzHmY80L0lDcGN0lmUD6zjOqYMn78+xyHYJ/AIAX7JQsc+/KwFt2soZutQTKxoGQ== +"@clickhouse/client-common@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@clickhouse/client-common/-/client-common-1.8.1.tgz#1b7994990d867ba195e05a43e3413f4cf3b119cb" + integrity sha512-Z0R5zKaS3N35Op338WVRHIfoqDh9gotXZwekm0lbHQmwNaj3nY2iJ113dFYKjb1V+ESu+PvLEA//LJUGZyPQOg== -"@clickhouse/client@^0.2.2": - version "0.2.10" - resolved "https://registry.yarnpkg.com/@clickhouse/client/-/client-0.2.10.tgz#519561f3a4fff837bb606c52abfe74e5e7e9abb3" - integrity sha512-ZwBgzjEAFN/ogS0ym5KHVbR7Hx/oYCX01qGp2baEyfN2HM73kf/7Vp3GvMHWRy+zUXISONEtFv7UTViOXnmFrg== +"@clickhouse/client@^1.4.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@clickhouse/client/-/client-1.8.1.tgz#2273f6b993d21351c32d4e2a6a1b35b0c05d435b" + integrity sha512-Ec0pCdwftIPD7hCxhOukHS0Zxr2tDc5mNAHBqkT3c0c6GO2WQdZkME9+EcfGcoF7+foUp82F5a0bPfSDDjfWmg== dependencies: - "@clickhouse/client-common" "0.2.10" + "@clickhouse/client-common" "1.8.1" "@colors/colors@1.5.0": version "1.5.0" @@ -1356,10 +1354,10 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.2.tgz#ea61ba7bb24be3502c6aaa3190ed231f4633a81e" integrity sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg== -"@cypress/request@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" - integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== +"@cypress/request@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.6.tgz#f5580add6acee0e183b4d4e07eff4f31327ae12b" + integrity sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -1367,16 +1365,16 @@ combined-stream "~1.0.6" extend "~3.0.2" forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" + form-data "~4.0.0" + http-signature "~1.4.0" is-typedarray "~1.0.0" isstream "~0.1.2" json-stringify-safe "~5.0.1" mime-types "~2.1.19" performance-now "^2.1.0" - qs "6.10.4" + qs "6.13.0" safe-buffer "^5.1.2" - tough-cookie "^4.1.3" + tough-cookie "^5.0.0" tunnel-agent "^0.6.0" uuid "^8.3.2" @@ -1388,6 +1386,211 @@ debug "^3.1.0" lodash.once "^4.1.1" +"@date-fns/utc@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@date-fns/utc/-/utc-1.2.0.tgz#fb705b025b6769840608782c8fa7f3919d1b3337" + integrity sha512-YLq+crMPJiBmIdkRmv9nZuZy1mVtMlDcUKlg4mvI0UsC/dZeIaGoGB5p/C4FrpeOhZ7zBTK03T58S0DFkRNMnw== + +"@dicebear/adventurer-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/adventurer-neutral/-/adventurer-neutral-9.2.2.tgz#2831c34c6e8818a319478b15b6b1741b95ef5bdb" + integrity sha512-XVAjhUWjav6luTZ7txz8zVJU/H0DiUy4uU1Z7IO5MDO6kWvum+If1+0OUgEWYZwM+RDI7rt2CgVP910DyZGd1w== + +"@dicebear/adventurer@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/adventurer/-/adventurer-9.2.2.tgz#cac7dddbd743078942df1391370191cbd235dde2" + integrity sha512-WjBXCP9EXbUul2zC3BS2/R3/4diw1uh/lU4jTEnujK1mhqwIwanFboIMzQsasNNL/xf+m3OHN7MUNJfHZ1fLZA== + +"@dicebear/avataaars-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/avataaars-neutral/-/avataaars-neutral-9.2.2.tgz#513369601d3e491b303c0760479da92b3f131883" + integrity sha512-pRj16P27dFDBI3LtdiHUDwIXIGndHAbZf5AxaMkn6/+0X93mVQ/btVJDXyW0G96WCsyC88wKAWr6/KJotPxU6Q== + +"@dicebear/avataaars@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/avataaars/-/avataaars-9.2.2.tgz#0c072c410ec5fdb8b5c5c7d440d038b02a42669e" + integrity sha512-WqJPQEt0OhBybTpI0TqU1uD1pSk9M2+VPIwvBye/dXo46b+0jHGpftmxjQwk6tX8z0+mRko8pwV5n+cWht1/+w== + +"@dicebear/big-ears-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/big-ears-neutral/-/big-ears-neutral-9.2.2.tgz#98906d453f49896f948b0d6d93c07e95ad057a9a" + integrity sha512-IPHt8fi3dv9cyfBJBZ4s8T+PhFCrQvOCf91iRHBT3iOLNPdyZpI5GNLmGiV0XMAvIDP5NvA5+f6wdoBLhYhbDA== + +"@dicebear/big-ears@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/big-ears/-/big-ears-9.2.2.tgz#66866ac6cfc4174ad875051892e40999e2f294a6" + integrity sha512-hz4UXdPq4qqZpu0YVvlqM4RDFhk5i0WgPcuwj/MOLlgTjuj63uHUhCQSk6ZiW1DQOs12qpwUBMGWVHxBRBas9g== + +"@dicebear/big-smile@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/big-smile/-/big-smile-9.2.2.tgz#6ba6b385c16da3f94ae414b641848cbd498e13bb" + integrity sha512-D4td0GL8or1nTNnXvZqkEXlzyqzGPWs3znOnm1HIohtFTeIwXm72Ob2lNDsaQJSJvXmVlwaQQ0CCTvyCl8Stjw== + +"@dicebear/bottts-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/bottts-neutral/-/bottts-neutral-9.2.2.tgz#6e48ba93d69f7d5f82a743834b7972e5c1c8d967" + integrity sha512-lSgpqmSJtlnyxVuUgNdBwyzuA0O9xa5zRJtz7x2KyWbicXir5iYdX0MVMCkp1EDvlcxm9rGJsclktugOyakTlw== + +"@dicebear/bottts@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/bottts/-/bottts-9.2.2.tgz#8f2587469a5f6fe1a69c4b4ef5504455c3a4dd68" + integrity sha512-wugFkzw8JNWV1nftq/Wp/vmQsLAXDxrMtRK3AoMODuUpSVoP3EHRUfKS043xggOsQFvoj0HZ7kadmhn0AMLf5A== + +"@dicebear/collection@^9.2.1": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/collection/-/collection-9.2.2.tgz#1f8affc2c19c670b7696e7c23a2fe4072dc64af4" + integrity sha512-vZAmXhPWCK3sf8Fj9/QflFC6XOLroJOT5K1HdnzHaPboEvffUQideGCrrEamnJtlH0iF0ZDXh8gqmwy2fu+yHA== + dependencies: + "@dicebear/adventurer" "9.2.2" + "@dicebear/adventurer-neutral" "9.2.2" + "@dicebear/avataaars" "9.2.2" + "@dicebear/avataaars-neutral" "9.2.2" + "@dicebear/big-ears" "9.2.2" + "@dicebear/big-ears-neutral" "9.2.2" + "@dicebear/big-smile" "9.2.2" + "@dicebear/bottts" "9.2.2" + "@dicebear/bottts-neutral" "9.2.2" + "@dicebear/croodles" "9.2.2" + "@dicebear/croodles-neutral" "9.2.2" + "@dicebear/dylan" "9.2.2" + "@dicebear/fun-emoji" "9.2.2" + "@dicebear/glass" "9.2.2" + "@dicebear/icons" "9.2.2" + "@dicebear/identicon" "9.2.2" + "@dicebear/initials" "9.2.2" + "@dicebear/lorelei" "9.2.2" + "@dicebear/lorelei-neutral" "9.2.2" + "@dicebear/micah" "9.2.2" + "@dicebear/miniavs" "9.2.2" + "@dicebear/notionists" "9.2.2" + "@dicebear/notionists-neutral" "9.2.2" + "@dicebear/open-peeps" "9.2.2" + "@dicebear/personas" "9.2.2" + "@dicebear/pixel-art" "9.2.2" + "@dicebear/pixel-art-neutral" "9.2.2" + "@dicebear/rings" "9.2.2" + "@dicebear/shapes" "9.2.2" + "@dicebear/thumbs" "9.2.2" + +"@dicebear/core@^9.2.1": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/core/-/core-9.2.2.tgz#dcaf941e4d9e79046d466b3197dfa3393288e5b2" + integrity sha512-ROhgHG249dPtcXgBHcqPEsDeAPRPRD/9d+tZCjLYyueO+cXDlIA8dUlxpwIVcOuZFvCyW6RJtqo8BhNAi16pIQ== + dependencies: + "@types/json-schema" "^7.0.11" + +"@dicebear/croodles-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/croodles-neutral/-/croodles-neutral-9.2.2.tgz#8eec838892dd5c9d8646fea7b46b57fe6ce3cf78" + integrity sha512-/4mNirxoQ+z1kHXnpDRbJ1JV1ZgXogeTeNp0MaFYxocCgHfJ7ckNM23EE1I7akoo9pqPxrKlaeNzGAjKHdS9vA== + +"@dicebear/croodles@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/croodles/-/croodles-9.2.2.tgz#7b2e2b1337bde23b582a8f5a04ef334f4f8c898a" + integrity sha512-OzvAXQWsOgMwL3Sl+lBxCubqSOWoBJpC78c4TKnNTS21rR63TtXUyVdLLzgKVN4YHRnvMgtPf8F/W9YAgIDK4w== + +"@dicebear/dylan@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/dylan/-/dylan-9.2.2.tgz#5ad87ae8c36f4edfffd87ab5fdf0fb4570ba682e" + integrity sha512-s7e3XliC1YXP+Wykj+j5kwdOWFRXFzYHYk/PB4oZ1F3sJandXiG0HS4chaNu4EoP0yZgKyFMUVTGZx+o6tMaYg== + +"@dicebear/fun-emoji@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/fun-emoji/-/fun-emoji-9.2.2.tgz#9f6786dc96068e1c8728765e675ddc8c6201bc77" + integrity sha512-M+rYTpB3lfwz18f+/i+ggNwNWUoEj58SJqXJ1wr7Jh/4E5uL+NmJg9JGwYNaVtGbCFrKAjSaILNUWGQSFgMfog== + +"@dicebear/glass@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/glass/-/glass-9.2.2.tgz#6c878fb8d2f380e3797c51d322b0dd013ea4b4b6" + integrity sha512-imCMxcg+XScHYtQq2MUv1lCzhQSCUglMlPSezKEpXhTxgbgUpmGlSGVkOfmX5EEc7SQowKkF1W/1gNk6CXvBaQ== + +"@dicebear/icons@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/icons/-/icons-9.2.2.tgz#c56168b574829a988105e360bc379868227d925e" + integrity sha512-Tqq2OVCdS7J02DNw58xwlgLGl40sWEckbqXT3qRvIF63FfVq+wQZBGuhuiyAURcSgvsc3h2oQeYFi9iXh7HTOA== + +"@dicebear/identicon@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/identicon/-/identicon-9.2.2.tgz#9210f5bf117b568ea59a30f3290ad55d8ab93087" + integrity sha512-POVKFulIrcuZf3rdAgxYaSm2XUg/TJg3tg9zq9150reEGPpzWR7ijyJ03dzAADPzS3DExfdYVT9+z3JKwwJnTQ== + +"@dicebear/initials@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/initials/-/initials-9.2.2.tgz#f55fbcaa1a701b4c99251298f2e4c76e3ce8a260" + integrity sha512-/xNnsEmsstWjmF77htAOuwOMhFlP6eBVXgcgFlTl/CCH/Oc6H7t0vwX1he8KLQBBzjGpvJcvIAn4Wh9rE4D5/A== + +"@dicebear/lorelei-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/lorelei-neutral/-/lorelei-neutral-9.2.2.tgz#c7efaa5f4c7784863929a3b162a6c880920426ec" + integrity sha512-Eys9Os6nt2Xll7Mvu66CfRR2YggTopWcmFcRZ9pPdohS96kT0MsLI2iTcfZXQ51K8hvT3IbwoGc86W8n0cDxAQ== + +"@dicebear/lorelei@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/lorelei/-/lorelei-9.2.2.tgz#2be5e72f8bd8bdae90e005e743872f563e825965" + integrity sha512-koXqVr/vcWUPo00VP5H6Czsit+uF1tmwd2NK7Q/e34/9Sd1f4QLLxHjjBNm/iNjCI1+UNTOvZ2Qqu0N5eo7Flw== + +"@dicebear/micah@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/micah/-/micah-9.2.2.tgz#8cded41bc857089b6df7530b81f20cf43e5dc7be" + integrity sha512-NCajcJV5yw8uMKiACp694w1T/UyYme2CUEzyTzWHgWnQ+drAuCcH8gpAoLWd67viNdQB/MTpNlaelUgTjmI4AQ== + +"@dicebear/miniavs@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/miniavs/-/miniavs-9.2.2.tgz#b588faf88c4dbfc8ab9de31da364b2bb31dcad5b" + integrity sha512-vvkWXttdw+KHF3j+9qcUFzK+P0nbNnImGjvN48wwkPIh2h08WWFq0MnoOls4IHwUJC4GXBjWtiyVoCxz6hhtOA== + +"@dicebear/notionists-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/notionists-neutral/-/notionists-neutral-9.2.2.tgz#d7b7fb70a742e528ec67bbf9fe608af51406a0fc" + integrity sha512-AhOzk+lz6kB4uxGun8AJhV+W1nttnMlxmxd+5KbQ/txCIziYIaeD3il44wsAGegEpGFvAZyMYtR/jjfHcem3TA== + +"@dicebear/notionists@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/notionists/-/notionists-9.2.2.tgz#d70b86392a0830351f026d6893380e8c7bf87467" + integrity sha512-Z9orRaHoj7Y9Ap4wEu8XOrFACsG1KbbBQUPV1R50uh6AHwsyNrm4cS84ICoGLvxgLNHHOae3YCjd8aMu2z19zg== + +"@dicebear/open-peeps@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/open-peeps/-/open-peeps-9.2.2.tgz#6f7aa648f02f8a0f24107b1ffcd462c8a065f3eb" + integrity sha512-6PeQDHYyjvKrGSl/gP+RE5dSYAQGKpcGnM65HorgyTIugZK7STo0W4hvEycedupZ3MCCEH8x/XyiChKM2sHXog== + +"@dicebear/personas@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/personas/-/personas-9.2.2.tgz#02b6787d91d1af4ab358eb5a49fb30f40b9a62a3" + integrity sha512-705+ObNLC0w1fcgE/Utav+8bqO+Esu53TXegpX5j7trGEoIMf2bThqJGHuhknZ3+T2az3Wr89cGyOGlI0KLzLA== + +"@dicebear/pixel-art-neutral@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/pixel-art-neutral/-/pixel-art-neutral-9.2.2.tgz#2772edbff67fc993ecc9eb2c3099246f7a212f88" + integrity sha512-CdUY77H6Aj7dKLW3hdkv7tu0XQJArUjaWoXihQxlhl3oVYplWaoyu9omYy5pl8HTqs8YgVTGljjMXYoFuK0JUw== + +"@dicebear/pixel-art@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/pixel-art/-/pixel-art-9.2.2.tgz#6416f61e1c2825db516b6c467ce47596f9f865b8" + integrity sha512-BvbFdrpzQl04+Y9UsWP63YGug+ENGC7GMG88qbEFWxb/IqRavGa4H3D0T4Zl2PSLiw7f2Ctv98bsCQZ1PtCznQ== + +"@dicebear/rings@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/rings/-/rings-9.2.2.tgz#731b55b4a1442ae3edf89387841dc147181906a6" + integrity sha512-eD1J1k364Arny+UlvGrk12HP/XGG6WxPSm4BarFqdJGSV45XOZlwqoi7FlcMr9r9yvE/nGL8OizbwMYusEEdjw== + +"@dicebear/shapes@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/shapes/-/shapes-9.2.2.tgz#440d1d97882bd476499d95e5180c04e30d721bc1" + integrity sha512-e741NNWBa7fg0BjomxXa0fFPME2XCIR0FA+VHdq9AD2taTGHEPsg5x1QJhCRdK6ww85yeu3V3ucpZXdSrHVw5Q== + +"@dicebear/thumbs@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dicebear/thumbs/-/thumbs-9.2.2.tgz#234814c889509682992bd3f93daaa960cb5326a2" + integrity sha512-FkPLDNu7n5kThLSk7lR/0cz/NkUqgGdZGfLZv6fLkGNGtv6W+e2vZaO7HCXVwIgJ+II+kImN41zVIZ6Jlll7pQ== + +"@emnapi/runtime@^1.2.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" + integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== + dependencies: + tslib "^2.4.0" + "@esbuild/android-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" @@ -1498,14 +1701,26 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" + integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== + +"@eslint-community/regexpp@^4.5.1": version "4.10.0" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== @@ -1525,15 +1740,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== - -"@fastify/accept-negotiator@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz#c1c66b3b771c09742a54dd5bc87c582f6b0630ff" - integrity sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ== +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== "@fontsource/inter@^4.5.15": version "4.5.15" @@ -1570,14 +1780,6 @@ "@formatjs/intl-localematcher" "0.2.25" tslib "^2.1.0" -"@formatjs/ecma402-abstract@1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz#bf103712a406874eb1e387858d5be2371ab3aa14" - integrity sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA== - dependencies: - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" - "@formatjs/ecma402-abstract@1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.4.0.tgz#ac6c17a8fffac43c6d68c849a7b732626d32654c" @@ -1592,12 +1794,21 @@ dependencies: tslib "^2.0.1" -"@formatjs/fast-memoize@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" - integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== +"@formatjs/ecma402-abstract@2.2.4": + version "2.2.4" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.4.tgz#355e42d375678229d46dc8ad7a7139520dd03e7b" + integrity sha512-lFyiQDVvSbQOpU+WFd//ILolGj4UgA/qXrKeZxdV14uKiAUiPAtX6XAn7WBCRi7Mx6I7EybM9E5yYn4BIpZWYg== dependencies: - tslib "^2.4.0" + "@formatjs/fast-memoize" "2.2.3" + "@formatjs/intl-localematcher" "0.5.8" + tslib "2" + +"@formatjs/fast-memoize@2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.3.tgz#74e64109279d5244f9fc281f3ae90c407cece823" + integrity sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA== + dependencies: + tslib "2" "@formatjs/icu-messageformat-parser@2.1.0": version "2.1.0" @@ -1608,14 +1819,14 @@ "@formatjs/icu-skeleton-parser" "1.3.6" tslib "^2.1.0" -"@formatjs/icu-messageformat-parser@2.7.6": - version "2.7.6" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.6.tgz#3d69806de056d2919d53dad895a5ff4851e4e9ff" - integrity sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA== +"@formatjs/icu-messageformat-parser@2.9.4": + version "2.9.4" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.4.tgz#52501fbdc122a86097644f03ae1117b9ced00872" + integrity sha512-Tbvp5a9IWuxUcpWNIW6GlMQYEc4rwNHR259uUFoKWNN1jM9obf9Ul0e+7r7MvFOBNcN+13K7NuKCKqQiAn1QEg== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/icu-skeleton-parser" "1.8.0" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/icu-skeleton-parser" "1.8.8" + tslib "2" "@formatjs/icu-skeleton-parser@1.3.6": version "1.3.6" @@ -1625,31 +1836,31 @@ "@formatjs/ecma402-abstract" "1.11.4" tslib "^2.1.0" -"@formatjs/icu-skeleton-parser@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.0.tgz#5f3d3a620c687d6f8c180d80d1241e8f213acf79" - integrity sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA== +"@formatjs/icu-skeleton-parser@1.8.8": + version "1.8.8" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.8.tgz#a16eff7fd040acf096fb1853c99527181d38cf90" + integrity sha512-vHwK3piXwamFcx5YQdCdJxUQ1WdTl6ANclt5xba5zLGDv5Bsur7qz8AD7BevaKxITwpgDeU0u8My3AIibW9ywA== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.4" + tslib "2" -"@formatjs/intl-displaynames@6.6.6": - version "6.6.6" - resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.6.6.tgz#be9fea4d24f577bb1a9d0f3ef4f2dcdabb4fe42d" - integrity sha512-Dg5URSjx0uzF8VZXtHb6KYZ6LFEEhCbAbKoYChYHEOnMFTw/ZU3jIo/NrujzQD2EfKPgQzIq73LOUvW6Z/LpFA== +"@formatjs/intl-displaynames@6.8.5": + version "6.8.5" + resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.8.5.tgz#e9cd778764209534795f2a579d0269b26631d1ae" + integrity sha512-85b+GdAKCsleS6cqVxf/Aw/uBd+20EM0wDpgaxzHo3RIR3bxF4xCJqH/Grbzx8CXurTgDDZHPdPdwJC+May41w== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/intl-localematcher" "0.5.8" + tslib "2" -"@formatjs/intl-listformat@7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.5.5.tgz#e4c7d741f2201c65e7da71326726e61332c7161e" - integrity sha512-XoI52qrU6aBGJC9KJddqnacuBbPlb/bXFN+lIFVFhQ1RnFHpzuFrlFdjD9am2O7ZSYsyqzYRpkVcXeT1GHkwDQ== +"@formatjs/intl-listformat@7.7.5": + version "7.7.5" + resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.7.5.tgz#e7d9fd66b648bbe878f9c64fcba756f1634a7794" + integrity sha512-Wzes10SMNeYgnxYiKsda4rnHP3Q3II4XT2tZyOgnH5fWuHDtIkceuWlRQNsvrI3uiwP4hLqp2XdQTCsfkhXulg== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/intl-localematcher" "0.5.8" + tslib "2" "@formatjs/intl-localematcher@0.2.25": version "0.2.25" @@ -1658,12 +1869,12 @@ dependencies: tslib "^2.1.0" -"@formatjs/intl-localematcher@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" - integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== +"@formatjs/intl-localematcher@0.5.8": + version "0.5.8" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.8.tgz#b11bbd04bd3551f7cadcb1ef1e231822d0e3c97e" + integrity sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg== dependencies: - tslib "^2.4.0" + tslib "2" "@formatjs/intl-numberformat@^5.5.2": version "5.7.6" @@ -1673,18 +1884,18 @@ "@formatjs/ecma402-abstract" "1.4.0" tslib "^2.0.1" -"@formatjs/intl@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.10.1.tgz#75ae637070553bf7dfd213847ba8219f5ddae2b6" - integrity sha512-dsLG15U7xDi8yzKf4hcAWSsCaez3XrjTO2oaRHPyHtXLm1aEzYbDw6bClo/HMHu+iwS5GbDqT3DV+hYP2ylScg== +"@formatjs/intl@2.10.15": + version "2.10.15" + resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.10.15.tgz#c592507512d7827c760b74bb8afc37629f89523a" + integrity sha512-i6+xVqT+6KCz7nBfk4ybMXmbKO36tKvbMKtgFz9KV+8idYFyFbfwKooYk8kGjyA5+T5f1kEPQM5IDLXucTAQ9g== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.6" - "@formatjs/intl-displaynames" "6.6.6" - "@formatjs/intl-listformat" "7.5.5" - intl-messageformat "10.5.11" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/fast-memoize" "2.2.3" + "@formatjs/icu-messageformat-parser" "2.9.4" + "@formatjs/intl-displaynames" "6.8.5" + "@formatjs/intl-listformat" "7.7.5" + intl-messageformat "10.7.7" + tslib "2" "@formatjs/ts-transformer@3.9.4": version "3.9.4" @@ -1706,12 +1917,12 @@ tslib "^2.0.1" typescript "^4.0" -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== dependencies: - "@humanwhocodes/object-schema" "^2.0.2" + "@humanwhocodes/object-schema" "^2.0.3" debug "^4.3.1" minimatch "^3.0.5" @@ -1720,27 +1931,123 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== +"@humanwhocodes/object-schema@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== -"@ioredis/commands@^1.1.1": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" - integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== +"@img/sharp-darwin-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08" + integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== + optionalDependencies: + "@img/sharp-libvips-darwin-arm64" "1.0.4" -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== +"@img/sharp-darwin-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" + integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== + optionalDependencies: + "@img/sharp-libvips-darwin-x64" "1.0.4" + +"@img/sharp-libvips-darwin-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" + integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== + +"@img/sharp-libvips-darwin-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" + integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== + +"@img/sharp-libvips-linux-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" + integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== + +"@img/sharp-libvips-linux-arm@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" + integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== + +"@img/sharp-libvips-linux-s390x@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" + integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== + +"@img/sharp-libvips-linux-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" + integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== + +"@img/sharp-libvips-linuxmusl-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" + integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== + +"@img/sharp-libvips-linuxmusl-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" + integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== + +"@img/sharp-linux-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" + integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== + optionalDependencies: + "@img/sharp-libvips-linux-arm64" "1.0.4" + +"@img/sharp-linux-arm@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" + integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.0.5" + +"@img/sharp-linux-s390x@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" + integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== + optionalDependencies: + "@img/sharp-libvips-linux-s390x" "1.0.4" + +"@img/sharp-linux-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" + integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== + optionalDependencies: + "@img/sharp-libvips-linux-x64" "1.0.4" + +"@img/sharp-linuxmusl-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" + integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + +"@img/sharp-linuxmusl-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" + integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + +"@img/sharp-wasm32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" + integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@emnapi/runtime" "^1.2.0" + +"@img/sharp-win32-ia32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" + integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== + +"@img/sharp-win32-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" + integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -2011,266 +2318,62 @@ resolved "https://registry.yarnpkg.com/@kurkle/color/-/color-0.3.2.tgz#5acd38242e8bde4f9986e7913c8fdf49d3aa199f" integrity sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw== -"@netlify/blobs@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@netlify/blobs/-/blobs-2.2.0.tgz#bf634e6f1a43df3fab2088b5093c9e8eda01b393" - integrity sha512-j2C0+IvWj9CLNGPoiA7ETquMFDExZTrv4CarjfE6Au0eY3zlinnnTVae7DE+VQFK+U0CDM/O0VvelNy1QbsdwQ== +"@netlify/plugin-nextjs@^5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@netlify/plugin-nextjs/-/plugin-nextjs-5.8.1.tgz#9da15bb4a13c5644e9b58b968c7da51939206ee4" + integrity sha512-WB1N0FslhWZ1yAVYTcB6CcFrFOUSQ0O2LfavYZrbAypeNxu2I+oO+cgmhfDgZ8Eoq1g4EMeoIGMkNoZ4ogZTsg== -"@netlify/esbuild-android-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz#7bd30aba94a92351d2c5e25e178ceb824f3c2f99" - integrity sha512-azq+lsvjRsKLap8ubIwSJXGyknUACqYu5h98Fvyoh40Qk4QXIVKl16JIJ4s+B7jy2k9qblEc5c4nxdDA3aGbVA== +"@next/env@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/env/-/env-15.0.3.tgz#a2e9bf274743c52b74d30f415f3eba750d51313a" + integrity sha512-t9Xy32pjNOvVn2AS+Utt6VmyrshbpfUMhIjFO60gI58deSo/KgLOp31XZ4O+kY/Is8WAGYwA5gR7kOb1eORDBA== -"@netlify/esbuild-android-arm64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz#0b3e11efaa9379792592173152eba2c9f8b933b0" - integrity sha512-WhIP7ePq4qMC1sxoaeB9SsJqSW6uzW7XDj/IuWl1l9r94nwxywU1sYdVLaF2mZr15njviazYjVr8x1d+ipwL3w== - -"@netlify/esbuild-darwin-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz#bb4a3a244723351dabd3cd0553425d087901c408" - integrity sha512-eF4GvLYiDxtcyjFT55+h+8c8A2HltjeMezCqkt3AQSgOdu1nhlvwbBhIdg2dyM6gKEaEm5hBtTbicEDSwsLodA== - -"@netlify/esbuild-darwin-arm64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz#48e5abd7d32cdefe4db30026e21c5173afae3c8d" - integrity sha512-b7rtnX/VtYwNbUCxs3eulrCWJ+u2YvqDcXiIV1ka+od+N0fTx+4RrVkVp1lha9L0wEJYK9J7UWZOMLMyd1ynRg== - -"@netlify/esbuild-freebsd-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz#d9650ba7ac0df826ad8928cc3b02e16d00c259b0" - integrity sha512-XtusxDJt2hUKUdggbTFolMx0kJL2zEa4STI7YwpB+ukEWoW5rODZjiLZbqqYLcjDH8k4YwHaMxs103L8eButEQ== - -"@netlify/esbuild-freebsd-arm64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz#4e1401e44f79e007dc43b6edac737d010685f9f0" - integrity sha512-A9XZKai+k6kfndCtN6Dh2usT28V0+OGxzFdZsANONPQiEUTrGZCgwcHWiVlVn7SeAwPR1tKZreTnvrfj8cj7hA== - -"@netlify/esbuild-linux-32@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz#fb017e160d8caa72efa36cf9a2748cd01165a463" - integrity sha512-ZQnqk/82YRvINY+aF+LlGfRZ19c5mH0jaxsO046GpIOPx6PcXHG8JJ2lg+vLJVe4zFPohxzabcYpwFuT4cg/GA== - -"@netlify/esbuild-linux-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz#d89f1aed0f3607b092ca2f57556725af3ceb8252" - integrity sha512-IQtswVw7GAKNX/3yV390wSfSXvMWy0d5cw8csAffwBk9gupftY2lzepK4Cn6uD/aqLt3Iku33FbHop/2nPGfQA== - -"@netlify/esbuild-linux-arm64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz#faf6e1e2587045df193d4893e4c30237e2cb84e9" - integrity sha512-4Jie4QV6pWWuGN7TAshNMGbdTA9+VbRkv3rPIxhgK5gBfmsAV1yRKsumE4Y77J0AZNRiOriyoec4zc1qkmI3zg== - -"@netlify/esbuild-linux-arm@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz#bd43359c9e00caebf9bd8f47b8fc7606f5433618" - integrity sha512-QdOzQniOed0Bz1cTC9TMMwvtAqKayYv66H4edJlbvElC81yJZF/c9XhmYWJ6P5g4nkChZubQ5RcQwTLmrFGexg== - -"@netlify/esbuild-linux-mips64le@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz#0d69730b40175406e943bbf519a4de85750e1ed3" - integrity sha512-Htozxr95tw4tSd86YNbCLs1eoYQzNu/cHpzFIkuJoztZueUhl8XpRvBdob7n3kEjW1gitLWAIn8XUwSt+aJ1Tg== - -"@netlify/esbuild-linux-ppc64le@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz#18fd4c7190496382501bb95c3f015f7ec1b0acb2" - integrity sha512-tFy0ufWIdjeuk1rPHee00TZlhr9OSF00Ufb4ROFyt2ArKuMSkWRJuDgx6MtZcAnCIN4cybo/xWl3MKTM+scnww== - -"@netlify/esbuild-linux-riscv64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz#c9dc6af7e999ead24e2d68443c8c630094908930" - integrity sha512-ZzfKvwIxL7wQnYbVFpyNW0wotnLoKageUEM57RbjekesJoNQnqUR6Usm+LDZoB8iRsI58VX1IxnstP0cX8vOHw== - -"@netlify/esbuild-linux-s390x@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz#8b87c0a09397b014e9f4fb3873c891ea0d81df40" - integrity sha512-yjC0mFwnuMRoh0WcF0h71MF71ytZBFEQQTRdgiGT0+gbC4UApBqnTkJdLx32RscBKi9skbMChiJ748hDJou6FA== - -"@netlify/esbuild-netbsd-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz#3f049e25a6d00f17519220ab2f5e15f027edadae" - integrity sha512-mIq4znOoz3YfTVdv3sIWfR4Zx5JgMnT4srlhC5KYVHibhxvyDdin5txldYXmR4Zv4dZd6DSuWFsn441aUegHeA== - -"@netlify/esbuild-openbsd-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz#02396cf8e8ca01484df58a191d301adc587397c9" - integrity sha512-+t6QdzJCngH19hV7ClpFAeFDI2ko/HNcFbiNwaXTMVLB3hWi1sJtn+fzZck5HfzN4qsajAVqZq4nwX69SSt25A== - -"@netlify/esbuild-sunos-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz#97c3152aa7ceaf51247998c836f94773975e716e" - integrity sha512-HLfXG6i2p3wyyyWHeeP4ShGDJ1zRMnf9YLJLe2ezv2KqvcKw/Un/m/FBuDW1p13oSUO7ShISMzgc1dw1GGBEOQ== - -"@netlify/esbuild-windows-32@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz#ccb2a234954714662a4cd1a573d5b271f5288273" - integrity sha512-ZpSQcKbVSCU3ln7mHpsL/5dWsUqCNdTnC5YAArnaOwdrlIunrsbo5j4MOZRRcGExb2uvTc/rb+D3mlGb8j1rkA== - -"@netlify/esbuild-windows-64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz#477c22c04a3299599924e9e4c909c0dec5612f56" - integrity sha512-I3gCdO8+6IDhT4Y1ZmV4o2Gg0oELv7N4kCcE4kqclz10fWHNjf19HQNHyBJe0AWnFV5ZfT154VVD31dqgwpgFw== - -"@netlify/esbuild-windows-arm64@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz#10446d91ca603fa28067541cfa1526081c6ee09b" - integrity sha512-WX52W8U1lsfWcz6NWoSpDs57lgiiMHN23seq8G2bvxzGS/tvYD3dxVLLW5UPoKSnFDyVQT7b6Zkt6AkBten1yQ== - -"@netlify/esbuild@0.14.39": - version "0.14.39" - resolved "https://registry.yarnpkg.com/@netlify/esbuild/-/esbuild-0.14.39.tgz#66897af6d26336e5960b5ba74f1642f1d02a9c6a" - integrity sha512-C3xpwdT2xw6SnSb+hLQoxjtikAKiz6BjQjzlIaysHDpGbmIcmUHZ/X+dyLtCqAvf15WNK5GSBZYOlpgcOE0WZA== - optionalDependencies: - "@netlify/esbuild-android-64" "0.14.39" - "@netlify/esbuild-android-arm64" "0.14.39" - "@netlify/esbuild-darwin-64" "0.14.39" - "@netlify/esbuild-darwin-arm64" "0.14.39" - "@netlify/esbuild-freebsd-64" "0.14.39" - "@netlify/esbuild-freebsd-arm64" "0.14.39" - "@netlify/esbuild-linux-32" "0.14.39" - "@netlify/esbuild-linux-64" "0.14.39" - "@netlify/esbuild-linux-arm" "0.14.39" - "@netlify/esbuild-linux-arm64" "0.14.39" - "@netlify/esbuild-linux-mips64le" "0.14.39" - "@netlify/esbuild-linux-ppc64le" "0.14.39" - "@netlify/esbuild-linux-riscv64" "0.14.39" - "@netlify/esbuild-linux-s390x" "0.14.39" - "@netlify/esbuild-netbsd-64" "0.14.39" - "@netlify/esbuild-openbsd-64" "0.14.39" - "@netlify/esbuild-sunos-64" "0.14.39" - "@netlify/esbuild-windows-32" "0.14.39" - "@netlify/esbuild-windows-64" "0.14.39" - "@netlify/esbuild-windows-arm64" "0.14.39" - -"@netlify/functions@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-1.6.0.tgz#c373423e6fef0e6f7422ac0345e8bbf2cb692366" - integrity sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ== - dependencies: - is-promise "^4.0.0" - -"@netlify/functions@^2.4.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-2.6.0.tgz#801a6fe8ceef2ce1512c637a28e53e6a3aae289b" - integrity sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ== - dependencies: - "@netlify/serverless-functions-api" "1.14.0" - -"@netlify/ipx@^1.4.6": - version "1.4.6" - resolved "https://registry.yarnpkg.com/@netlify/ipx/-/ipx-1.4.6.tgz#0bd308d70a1d2e1928e66cb49e36294f66f7b8b2" - integrity sha512-rnKR2LXhtnflitPX9CQIv+XSrNlYIqGsV54xrXifhbtHHjCjCw/lixsi8qwAXqEIgZBC9b4Y7prhHqRtC4oIjw== - dependencies: - "@netlify/functions" "^2.4.0" - etag "^1.8.1" - fs-extra "^11.0.0" - ipx "^1.3.1" - micromatch "^4.0.5" - mkdirp "^3.0.0" - murmurhash "^2.0.0" - node-fetch "^2.0.0" - ufo "^1.0.0" - unstorage "1.9.0" - -"@netlify/node-cookies@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@netlify/node-cookies/-/node-cookies-0.1.0.tgz#dda912ba618527695cf519fafa221c5e6777c612" - integrity sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== - -"@netlify/plugin-nextjs@^4.41.3": - version "4.41.3" - resolved "https://registry.yarnpkg.com/@netlify/plugin-nextjs/-/plugin-nextjs-4.41.3.tgz#f8274526147f652438cc6790b6819ca15d441dd3" - integrity sha512-l8TB61u7A1ZF22QpoyZtresSUsHOJGP9DatECnqlNab3lG8id1kz9Pso+nZVOznWOm98o7w51k2+TIf52x+DBQ== - dependencies: - "@netlify/blobs" "^2.2.0" - "@netlify/esbuild" "0.14.39" - "@netlify/functions" "^1.6.0" - "@netlify/ipx" "^1.4.6" - "@vercel/node-bridge" "^2.1.0" - chalk "^4.1.2" - chokidar "^3.5.3" - destr "^1.1.1" - execa "^5.1.1" - follow-redirects "^1.15.2" - fs-extra "^10.0.0" - globby "^11.0.4" - merge-stream "^2.0.0" - moize "^6.1.0" - node-fetch "^2.6.6" - node-stream-zip "^1.15.0" - outdent "^0.8.0" - p-limit "^3.1.0" - pathe "^0.3.0" - pretty-bytes "^5.6.0" - regexp-tree "^0.1.24" - semver "^7.3.5" - slash "^3.0.0" - tiny-glob "^0.2.9" - -"@netlify/serverless-functions-api@1.14.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@netlify/serverless-functions-api/-/serverless-functions-api-1.14.0.tgz#2bedff76cf898e24e48161aa2508776c4d261ed1" - integrity sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q== - dependencies: - "@netlify/node-cookies" "^0.1.0" - urlpattern-polyfill "8.0.2" - -"@next/env@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/env/-/env-14.1.4.tgz#432e80651733fbd67230bf262aee28be65252674" - integrity sha512-e7X7bbn3Z6DWnDi75UWn+REgAbLEqxI8Tq2pkFOFAMpWAWApz/YCUhtWMWn410h8Q2fYiYL7Yg5OlxMOCfFjJQ== - -"@next/eslint-plugin-next@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.4.tgz#d7372b5ffede0e466af8af2ff534386418827fc8" - integrity sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA== +"@next/eslint-plugin-next@14.2.18": + version "14.2.18" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.18.tgz#602d2b1b1083e3d290116beb6d340e00930e63ab" + integrity sha512-KyYTbZ3GQwWOjX3Vi1YcQbekyGP0gdammb7pbmmi25HBUCINzDReyrzCMOJIeZisK1Q3U6DT5Rlc4nm2/pQeXA== dependencies: glob "10.3.10" -"@next/swc-darwin-arm64@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.4.tgz#a3bca0dc4393ac4cf3169bbf24df63441de66bb7" - integrity sha512-ubmUkbmW65nIAOmoxT1IROZdmmJMmdYvXIe8211send9ZYJu+SqxSnJM4TrPj9wmL6g9Atvj0S/2cFmMSS99jg== +"@next/swc-darwin-arm64@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.3.tgz#4c40c506cf3d4d87da0204f4cccf39e6bdc46a71" + integrity sha512-s3Q/NOorCsLYdCKvQlWU+a+GeAd3C8Rb3L1YnetsgwXzhc3UTWrtQpB/3eCjFOdGUj5QmXfRak12uocd1ZiiQw== -"@next/swc-darwin-x64@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.4.tgz#ba3683d4e2d30099f3f2864dd7349a4d9f440140" - integrity sha512-b0Xo1ELj3u7IkZWAKcJPJEhBop117U78l70nfoQGo4xUSvv0PJSTaV4U9xQBLvZlnjsYkc8RwQN1HoH/oQmLlQ== +"@next/swc-darwin-x64@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.3.tgz#8e06cacae3dae279744f9fbe88dea679ec2c1ca3" + integrity sha512-Zxl/TwyXVZPCFSf0u2BNj5sE0F2uR6iSKxWpq4Wlk/Sv9Ob6YCKByQTkV2y6BCic+fkabp9190hyrDdPA/dNrw== -"@next/swc-linux-arm64-gnu@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.4.tgz#3519969293f16379954b7e196deb0c1eecbb2f8b" - integrity sha512-457G0hcLrdYA/u1O2XkRMsDKId5VKe3uKPvrKVOyuARa6nXrdhJOOYU9hkKKyQTMru1B8qEP78IAhf/1XnVqKA== +"@next/swc-linux-arm64-gnu@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.3.tgz#c144ad1f21091b9c6e1e330ecc2d56188763191d" + integrity sha512-T5+gg2EwpsY3OoaLxUIofmMb7ohAUlcNZW0fPQ6YAutaWJaxt1Z1h+8zdl4FRIOr5ABAAhXtBcpkZNwUcKI2fw== -"@next/swc-linux-arm64-musl@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.4.tgz#4bb3196bd402b3f84cf5373ff1021f547264d62f" - integrity sha512-l/kMG+z6MB+fKA9KdtyprkTQ1ihlJcBh66cf0HvqGP+rXBbOXX0dpJatjZbHeunvEHoBBS69GYQG5ry78JMy3g== +"@next/swc-linux-arm64-musl@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.3.tgz#3ccb71c6703bf421332f177d1bb0e10528bc73a2" + integrity sha512-WkAk6R60mwDjH4lG/JBpb2xHl2/0Vj0ZRu1TIzWuOYfQ9tt9NFsIinI1Epma77JVgy81F32X/AeD+B2cBu/YQA== -"@next/swc-linux-x64-gnu@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.4.tgz#1b3372c98c83dcdab946cdb4ee06e068b8139ba3" - integrity sha512-BapIFZ3ZRnvQ1uWbmqEGJuPT9cgLwvKtxhK/L2t4QYO7l+/DxXuIGjvp1x8rvfa/x1FFSsipERZK70pewbtJtw== +"@next/swc-linux-x64-gnu@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.3.tgz#b90aa9b07001b4000427c35ab347a9273cbeebb3" + integrity sha512-gWL/Cta1aPVqIGgDb6nxkqy06DkwJ9gAnKORdHWX1QBbSZZB+biFYPFti8aKIQL7otCE1pjyPaXpFzGeG2OS2w== -"@next/swc-linux-x64-musl@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.4.tgz#8459088bdc872648ff78f121db596f2533df5808" - integrity sha512-mqVxTwk4XuBl49qn2A5UmzFImoL1iLm0KQQwtdRJRKl21ylQwwGCxJtIYo2rbfkZHoSKlh/YgztY0qH3wG1xIg== +"@next/swc-linux-x64-musl@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.3.tgz#0ac9724fb44718fc97bfea971ac3fe17e486590e" + integrity sha512-QQEMwFd8r7C0GxQS62Zcdy6GKx999I/rTO2ubdXEe+MlZk9ZiinsrjwoiBL5/57tfyjikgh6GOU2WRQVUej3UA== -"@next/swc-win32-arm64-msvc@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.4.tgz#84280a08c00cc3be24ddd3a12f4617b108e6dea6" - integrity sha512-xzxF4ErcumXjO2Pvg/wVGrtr9QQJLk3IyQX1ddAC/fi6/5jZCZ9xpuL9Tzc4KPWMFq8GGWFVDMshZOdHGdkvag== +"@next/swc-win32-arm64-msvc@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.3.tgz#932437d4cf27814e963ba8ae5f033b4421fab9ca" + integrity sha512-9TEp47AAd/ms9fPNgtgnT7F3M1Hf7koIYYWCMQ9neOwjbVWJsHZxrFbI3iEDJ8rf1TDGpmHbKxXf2IFpAvheIQ== -"@next/swc-win32-ia32-msvc@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.4.tgz#23ff7f4bd0a27177428669ef6fa5c3923c738031" - integrity sha512-WZiz8OdbkpRw6/IU/lredZWKKZopUMhcI2F+XiMAcPja0uZYdMTZQRoQ0WZcvinn9xZAidimE7tN9W5v9Yyfyw== - -"@next/swc-win32-x64-msvc@14.1.4": - version "14.1.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.4.tgz#bccf5beccfde66d6c66fa4e2509118c796385eda" - integrity sha512-4Rto21sPfw555sZ/XNLqfxDUNeLhNYGO2dlPqsnuCg8N8a2a9u1ltqBOPQ4vj1Gf7eJC0W2hHG2eYUHuiXgY2w== +"@next/swc-win32-x64-msvc@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.3.tgz#940a6f7b370cdde0cc67eabe945d9e6d97e0be9f" + integrity sha512-VNAz+HN4OGgvZs6MOoVfnn41kBzT+M+tB+OK4cww6DNyWS6wKaDpaAm/qLeOUbnMh0oVx1+mg0uoYARF69dJyA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2293,187 +2396,106 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/watcher-android-arm64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz#d82e74bb564ebd4d8a88791d273a3d2bd61e27ab" - integrity sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA== - -"@parcel/watcher-darwin-arm64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz#c9cd03f8f233d512fcfc873d5b4e23f1569a82ad" - integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw== - -"@parcel/watcher-darwin-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz#83c902994a2a49b9e1ab5050dba24876fdc2c219" - integrity sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow== - -"@parcel/watcher-freebsd-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz#7a0f4593a887e2752b706aff2dae509aef430cf6" - integrity sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw== - -"@parcel/watcher-linux-arm-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz#3fc90c3ebe67de3648ed2f138068722f9b1d47da" - integrity sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ== - -"@parcel/watcher-linux-arm64-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz#f7bbbf2497d85fd11e4c9e9c26ace8f10ea9bcbc" - integrity sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA== - -"@parcel/watcher-linux-arm64-musl@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz#de131a9fcbe1fa0854e9cbf4c55bed3b35bcff43" - integrity sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw== - -"@parcel/watcher-linux-x64-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz#193dd1c798003cdb5a1e59470ff26300f418a943" - integrity sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow== - -"@parcel/watcher-linux-x64-musl@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz#6dbdb86d96e955ab0fe4a4b60734ec0025a689dd" - integrity sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g== - -"@parcel/watcher-wasm@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz#73b66c6fbd2a3326ae86a1ec77eab7139d0dd725" - integrity sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA== - dependencies: - is-glob "^4.0.3" - micromatch "^4.0.5" - napi-wasm "^1.1.0" - -"@parcel/watcher-win32-arm64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz#59da26a431da946e6c74fa6b0f30b120ea6650b6" - integrity sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw== - -"@parcel/watcher-win32-ia32@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz#3ee6a18b08929cd3b788e8cc9547fd9a540c013a" - integrity sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow== - -"@parcel/watcher-win32-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz#14e7246289861acc589fd608de39fe5d8b4bb0a7" - integrity sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA== - -"@parcel/watcher@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.3.0.tgz#803517abbc3981a1a1221791d9f59dc0590d50f9" - integrity sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ== - dependencies: - detect-libc "^1.0.3" - is-glob "^4.0.3" - micromatch "^4.0.5" - node-addon-api "^7.0.0" - optionalDependencies: - "@parcel/watcher-android-arm64" "2.3.0" - "@parcel/watcher-darwin-arm64" "2.3.0" - "@parcel/watcher-darwin-x64" "2.3.0" - "@parcel/watcher-freebsd-x64" "2.3.0" - "@parcel/watcher-linux-arm-glibc" "2.3.0" - "@parcel/watcher-linux-arm64-glibc" "2.3.0" - "@parcel/watcher-linux-arm64-musl" "2.3.0" - "@parcel/watcher-linux-x64-glibc" "2.3.0" - "@parcel/watcher-linux-x64-musl" "2.3.0" - "@parcel/watcher-win32-arm64" "2.3.0" - "@parcel/watcher-win32-ia32" "2.3.0" - "@parcel/watcher-win32-x64" "2.3.0" +"@nolyfill/is-core-module@1.0.39": + version "1.0.39" + resolved "https://registry.yarnpkg.com/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz#3dc35ba0f1e66b403c00b39344f870298ebb1c8e" + integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@prisma/client@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.12.1.tgz#c26a674fea76754b3a9e8b90a11e617f90212f76" - integrity sha512-6/JnizEdlSBxDIdiLbrBdMW5NqDxOmhXAJaNXiPpgzAPr/nLZResT6MMpbOHLo5yAbQ1Vv5UU8PTPRzb0WIxdA== +"@prisma/client@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.22.0.tgz#da1ca9c133fbefe89e0da781c75e1c59da5f8802" + integrity sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA== -"@prisma/debug@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.12.1.tgz#007c8ad2e466d565bcd0671b8846c27f8700c722" - integrity sha512-kd/wNsR0klrv79o1ITsbWxYyh4QWuBidvxsXSParPsYSu0ircUmNk3q4ojsgNc3/81b0ozg76iastOG43tbf8A== +"@prisma/debug@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.22.0.tgz#58af56ed7f6f313df9fb1042b6224d3174bbf412" + integrity sha512-AUt44v3YJeggO2ZU5BkXI7M4hu9BF2zzH2iF2V5pyXT/lRTyWiElZ7It+bRH1EshoMRxHgpYg4VB6rCM+mG5jQ== -"@prisma/engines-version@5.12.0-21.473ed3124229e22d881cb7addf559799debae1ab": - version "5.12.0-21.473ed3124229e22d881cb7addf559799debae1ab" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.12.0-21.473ed3124229e22d881cb7addf559799debae1ab.tgz#c78d099a3fe86d446db7442e64e56987e39e7f32" - integrity sha512-6yvO8s80Tym61aB4QNtYZfWVmE3pwqe807jEtzm8C5VDe7nw8O1FGX3TXUaXmWV0fQTIAfRbeL2Gwrndabp/0g== +"@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2": + version "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2.tgz#d534dd7235c1ba5a23bacd5b92cc0ca3894c28f4" + integrity sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ== -"@prisma/engines@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.12.1.tgz#a50649427d627a9af962a188a84c65d61c6e2b3f" - integrity sha512-HQDdglLw2bZR/TXD2Y+YfDMvi5Q8H+acbswqOsWyq9pPjBLYJ6gzM+ptlTU/AV6tl0XSZLU1/7F4qaWa8bqpJA== +"@prisma/engines@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.22.0.tgz#28f3f52a2812c990a8b66eb93a0987816a5b6d84" + integrity sha512-UNjfslWhAt06kVL3CjkuYpHAWSO6L4kDCVPegV6itt7nD1kSJavd3vhgAEhjglLJJKEdJ7oIqDJ+yHk6qO8gPA== dependencies: - "@prisma/debug" "5.12.1" - "@prisma/engines-version" "5.12.0-21.473ed3124229e22d881cb7addf559799debae1ab" - "@prisma/fetch-engine" "5.12.1" - "@prisma/get-platform" "5.12.1" + "@prisma/debug" "5.22.0" + "@prisma/engines-version" "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2" + "@prisma/fetch-engine" "5.22.0" + "@prisma/get-platform" "5.22.0" "@prisma/extension-read-replicas@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@prisma/extension-read-replicas/-/extension-read-replicas-0.3.0.tgz#2842a7c928f957c1dd58a6256104797596d43426" integrity sha512-F9+rSmYday6GT2qjhJtkZcBOpLO5LtpvFcMGqrBDHf+78LEdSuxfFjOxYlNuqk4B+th62yxpbhfpmB9/Mca14Q== -"@prisma/fetch-engine@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.12.1.tgz#c38e9fa17fdc535b4c83cbb7645569ad0a511fa9" - integrity sha512-qSs3KcX1HKcea1A+hlJVK/ljj0PNIUHDxAayGMvgJBqmaN32P9tCidlKz1EGv6WoRFICYnk3Dd/YFLBwnFIozA== +"@prisma/fetch-engine@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.22.0.tgz#4fb691b483a450c5548aac2f837b267dd50ef52e" + integrity sha512-bkrD/Mc2fSvkQBV5EpoFcZ87AvOgDxbG99488a5cexp5Ccny+UM6MAe/UFkUC0wLYD9+9befNOqGiIJhhq+HbA== dependencies: - "@prisma/debug" "5.12.1" - "@prisma/engines-version" "5.12.0-21.473ed3124229e22d881cb7addf559799debae1ab" - "@prisma/get-platform" "5.12.1" + "@prisma/debug" "5.22.0" + "@prisma/engines-version" "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2" + "@prisma/get-platform" "5.22.0" -"@prisma/get-platform@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.12.1.tgz#33f427f6d744dee62a9e06858889691d78b50804" - integrity sha512-pgIR+pSvhYHiUcqXVEZS31NrFOTENC9yFUdEAcx7cdQBoZPmHVjtjN4Ss6NzVDMYPrKJJ51U14EhEoeuBlMioQ== +"@prisma/get-platform@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.22.0.tgz#fc675bc9d12614ca2dade0506c9c4a77e7dddacd" + integrity sha512-pHhpQdr1UPFpt+zFfnPazhulaZYCUqeIcPpJViYoq9R+D/yw4fjE+CtnsnKzPYm0ddUbeXUzjGVGIRVgPDCk4Q== dependencies: - "@prisma/debug" "5.12.1" + "@prisma/debug" "5.22.0" -"@react-spring/animated@~9.7.3": - version "9.7.3" - resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.7.3.tgz#4211b1a6d48da0ff474a125e93c0f460ff816e0f" - integrity sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw== +"@react-spring/animated@~9.7.5": + version "9.7.5" + resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.7.5.tgz#eb0373aaf99b879736b380c2829312dae3b05f28" + integrity sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg== dependencies: - "@react-spring/shared" "~9.7.3" - "@react-spring/types" "~9.7.3" + "@react-spring/shared" "~9.7.5" + "@react-spring/types" "~9.7.5" -"@react-spring/core@~9.7.3": - version "9.7.3" - resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.7.3.tgz#60056bcb397f2c4f371c6c9a5f882db77ae90095" - integrity sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ== +"@react-spring/core@~9.7.5": + version "9.7.5" + resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.7.5.tgz#72159079f52c1c12813d78b52d4f17c0bf6411f7" + integrity sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w== dependencies: - "@react-spring/animated" "~9.7.3" - "@react-spring/shared" "~9.7.3" - "@react-spring/types" "~9.7.3" + "@react-spring/animated" "~9.7.5" + "@react-spring/shared" "~9.7.5" + "@react-spring/types" "~9.7.5" -"@react-spring/shared@~9.7.3": - version "9.7.3" - resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.7.3.tgz#4cf29797847c689912aec4e62e34c99a4d5d9e53" - integrity sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA== +"@react-spring/rafz@~9.7.5": + version "9.7.5" + resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.7.5.tgz#ee7959676e7b5d6a3813e8c17d5e50df98b95df9" + integrity sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw== + +"@react-spring/shared@~9.7.5": + version "9.7.5" + resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.7.5.tgz#6d513622df6ad750bbbd4dedb4ca0a653ec92073" + integrity sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw== dependencies: - "@react-spring/types" "~9.7.3" + "@react-spring/rafz" "~9.7.5" + "@react-spring/types" "~9.7.5" -"@react-spring/types@~9.7.3": - version "9.7.3" - resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.7.3.tgz#ea78fd447cbc2612c1f5d55852e3c331e8172a0b" - integrity sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw== +"@react-spring/types@~9.7.5": + version "9.7.5" + resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.7.5.tgz#e5dd180f3ed985b44fd2cd2f32aa9203752ef3e8" + integrity sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g== "@react-spring/web@^9.7.3": - version "9.7.3" - resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.7.3.tgz#d9f4e17fec259f1d65495a19502ada4f5b57fa3d" - integrity sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg== + version "9.7.5" + resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.7.5.tgz#7d7782560b3a6fb9066b52824690da738605de80" + integrity sha512-lmvqGwpe+CSttsWNZVr+Dg62adtKhauGwLyGE/RRyZ8AAMLgb9x3NDMA5RMElXo+IMyTkPp7nxTB8ZQlmhb6JQ== dependencies: - "@react-spring/animated" "~9.7.3" - "@react-spring/core" "~9.7.3" - "@react-spring/shared" "~9.7.3" - "@react-spring/types" "~9.7.3" + "@react-spring/animated" "~9.7.5" + "@react-spring/core" "~9.7.5" + "@react-spring/shared" "~9.7.5" + "@react-spring/types" "~9.7.5" "@redis/bloom@1.2.0": version "1.2.0" @@ -2510,16 +2532,14 @@ integrity sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg== "@rollup/plugin-alias@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-5.1.0.tgz#99a94accc4ff9a3483be5baeedd5d7da3b597e93" - integrity sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ== - dependencies: - slash "^4.0.0" + version "5.1.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-5.1.1.tgz#53601d88cda8b1577aa130b4a6e452283605bf26" + integrity sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ== "@rollup/plugin-commonjs@^25.0.4": - version "25.0.7" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz#145cec7589ad952171aeb6a585bbeabd0fd3b4cf" - integrity sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ== + version "25.0.8" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz#c77e608ab112a666b7f2a6bea625c73224f7dd34" + integrity sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A== dependencies: "@rollup/pluginutils" "^5.0.1" commondir "^1.0.1" @@ -2536,33 +2556,32 @@ "@rollup/pluginutils" "^5.1.0" "@rollup/plugin-node-resolve@^15.2.0": - version "15.2.3" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz#e5e0b059bd85ca57489492f295ce88c2d4b0daf9" - integrity sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ== + version "15.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.0.tgz#efbb35515c9672e541c08d59caba2eff492a55d5" + integrity sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag== dependencies: "@rollup/pluginutils" "^5.0.1" "@types/resolve" "1.20.2" deepmerge "^4.2.2" - is-builtin-module "^3.2.1" is-module "^1.0.0" resolve "^1.22.1" "@rollup/plugin-replace@^5.0.2": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-5.0.5.tgz#33d5653dce6d03cb24ef98bef7f6d25b57faefdf" - integrity sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ== + version "5.0.7" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-5.0.7.tgz#150c9ee9db8031d9e4580a61a0edeaaed3d37687" + integrity sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ== dependencies: "@rollup/pluginutils" "^5.0.1" magic-string "^0.30.3" -"@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" - integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== +"@rollup/pluginutils@^5.0.1": + version "5.1.3" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.3.tgz#3001bf1a03f3ad24457591f2c259c8e514e0dbdf" + integrity sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A== dependencies: "@types/estree" "^1.0.0" estree-walker "^2.0.2" - picomatch "^2.3.1" + picomatch "^4.0.2" "@rollup/pluginutils@^5.0.2": version "5.0.5" @@ -2573,10 +2592,24 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@rollup/pluginutils@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" + integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + "@rushstack/eslint-patch@^1.3.3": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.1.tgz#7ca168b6937818e9a74b47ac4e2112b2e1a024cf" - integrity sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg== + version "1.10.4" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz#427d5549943a9c6fce808e39ea64dbe60d4047f1" + integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -2718,24 +2751,29 @@ "@svgr/plugin-jsx" "8.1.0" "@svgr/plugin-svgo" "8.1.0" -"@swc/helpers@0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d" - integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw== +"@swc/counter@0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.13": + version "0.5.13" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.13.tgz#33e63ff3cd0cade557672bd7888a39ce7d115a8c" + integrity sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w== dependencies: tslib "^2.4.0" -"@tanstack/query-core@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.29.0.tgz#d0b3d12c07d5a47f42ab0c1ed4f317106f3d4b20" - integrity sha512-WgPTRs58hm9CMzEr5jpISe8HXa3qKQ8CxewdYZeVnA54JrPY9B1CZiwsCoLpLkf0dGRZq+LcX5OiJb0bEsOFww== +"@tanstack/query-core@5.60.6": + version "5.60.6" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.60.6.tgz#0dd33fe231b0d18bf66d0c615b29899738300658" + integrity sha512-tI+k0KyCo1EBJ54vxK1kY24LWj673ujTydCZmzEZKAew4NqZzTaVQJEuaG1qKj2M03kUHN46rchLRd+TxVq/zQ== "@tanstack/react-query@^5.28.6": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.29.0.tgz#42b3a2de4ed1d63666f0af04392a34b5e70d49c0" - integrity sha512-yxlhHB73jaBla6h5B6zPaGmQjokkzAhMHN4veotkPNiQ3Ac/mCxgABRZPsJJrgCTvhpcncBZcDBFxaR2B37vug== + version "5.61.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.61.0.tgz#73473feb37aa28ceb410e297ee060e18f06f88e0" + integrity sha512-SBzV27XAeCRBOQ8QcC94w2H1Md0+LI0gTWwc3qRJoaGuewKn5FNW4LSqwPFJZVEItfhMfGT7RpZuSFXjTi12pQ== dependencies: - "@tanstack/query-core" "5.29.0" + "@tanstack/query-core" "5.60.6" "@trysound/sax@0.2.0": version "0.2.0" @@ -2814,16 +2852,16 @@ "@babel/types" "^7.20.7" "@types/cypress@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@types/cypress/-/cypress-1.1.3.tgz#0a700c040d53e9e12b5af98e41d4a88c39f39b6a" - integrity sha512-OXe0Gw8LeCflkG1oPgFpyrYWJmEKqYncBsD/J0r17r0ETx/TnIGDNLwXt/pFYSYuYTpzcq1q3g62M9DrfsBL4g== + version "1.1.6" + resolved "https://registry.yarnpkg.com/@types/cypress/-/cypress-1.1.6.tgz#b190688acffb847a3f5c4cee15c82d4f2a342ee6" + integrity sha512-CfeLLD3+6vIWe2AO5hR63f1c8EbRzrp/j1ExubAwOTpwZFZvF3Nm9cOPQiUwzNmAUmZuhO0QVH98Qlujni6nPw== dependencies: cypress "*" "@types/estree@*": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd" - integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/estree@^0.0.50": version "0.0.50" @@ -2831,9 +2869,9 @@ integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== "@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== "@types/fs-extra@^8.0.1": version "8.1.4" @@ -2864,18 +2902,18 @@ dependencies: "@types/node" "*" -"@types/hoist-non-react-statics@^3.3.0": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.4.tgz#cc477ce0283bb9d19ea0cbfa2941fe2c8493a1be" - integrity sha512-ZchYkbieA+7tnxwX/SCBySx9WwvWR8TaP5tb2jRAzwvLb/rWchGw3v0w3pqUbUvj0GCwW2Xz/AVPSk6kUGctXQ== +"@types/hoist-non-react-statics@3": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== dependencies: "@types/react" "*" hoist-non-react-statics "^3.3.0" -"@types/hoist-non-react-statics@^3.3.1": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" - integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== +"@types/hoist-non-react-statics@^3.3.0": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.4.tgz#cc477ce0283bb9d19ea0cbfa2941fe2c8493a1be" + integrity sha512-ZchYkbieA+7tnxwX/SCBySx9WwvWR8TaP5tb2jRAzwvLb/rWchGw3v0w3pqUbUvj0GCwW2Xz/AVPSk6kUGctXQ== dependencies: "@types/react" "*" hoist-non-react-statics "^3.3.0" @@ -2900,14 +2938,14 @@ "@types/istanbul-lib-report" "*" "@types/jest@^29.5.12": - version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== dependencies: expect "^29.0.0" pretty-format "^29.0.0" -"@types/json-schema@^7.0.12": +"@types/json-schema@^7.0.11", "@types/json-schema@^7.0.12": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -2947,12 +2985,12 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== -"@types/node@*", "@types/node@^20.9.0": - version "20.12.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.6.tgz#72d068870518d7da1d97b49db401e2d6a1805294" - integrity sha512-3KurE8taB8GCvZBPngVbp0lk5CKi8M9f9k1rsADh0Evdz5SzJ+Q+Hx9uHoFGsLnLnd1xmkDQr2hVhlA0Mn0lKQ== +"@types/node@*": + version "22.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" + integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== dependencies: - undici-types "~5.26.4" + undici-types "~6.19.8" "@types/node@14": version "14.18.63" @@ -2964,20 +3002,27 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== +"@types/node@^20.9.0": + version "20.17.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.6.tgz#6e4073230c180d3579e8c60141f99efdf5df0081" + integrity sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ== + dependencies: + undici-types "~6.19.2" + "@types/normalize-package-data@^2.4.0": version "2.4.3" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c" integrity sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg== "@types/prop-types@*": - version "15.7.12" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + version "15.7.13" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" + integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== "@types/react-dom@^18.2.17": - version "18.2.24" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.24.tgz#8dda8f449ae436a7a6e91efed8035d4ab03ff759" - integrity sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg== + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" + integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== dependencies: "@types/react" "*" @@ -2999,9 +3044,9 @@ "@types/react" "*" "@types/react@*", "@types/react@16 || 17 || 18", "@types/react@^18.2.41": - version "18.2.75" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.75.tgz#45d18f384939306d35312def1bf532eb38a68562" - integrity sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg== + version "18.3.12" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.12.tgz#99419f182ccd69151813b7ee24b792fe08774f60" + integrity sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -3029,9 +3074,9 @@ integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== "@types/sizzle@^2.3.2": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + version "2.3.9" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.9.tgz#d4597dbd4618264c414d7429363e3f50acb66ea2" + integrity sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w== "@types/stack-utils@^2.0.0": version "2.0.3" @@ -3044,9 +3089,9 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" @@ -3057,6 +3102,21 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz#c95c6521e70c8b095a684d884d96c0c1c63747d2" + integrity sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.15.0" + "@typescript-eslint/type-utils" "8.15.0" + "@typescript-eslint/utils" "8.15.0" + "@typescript-eslint/visitor-keys" "8.15.0" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/eslint-plugin@^6.7.3": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" @@ -3074,7 +3134,18 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^5.4.2 || ^6.0.0", "@typescript-eslint/parser@^6.7.3": +"@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.15.0.tgz#92610da2b3af702cfbc02a46e2a2daa6260a9045" + integrity sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A== + dependencies: + "@typescript-eslint/scope-manager" "8.15.0" + "@typescript-eslint/types" "8.15.0" + "@typescript-eslint/typescript-estree" "8.15.0" + "@typescript-eslint/visitor-keys" "8.15.0" + debug "^4.3.4" + +"@typescript-eslint/parser@^6.7.3": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== @@ -3101,6 +3172,14 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" +"@typescript-eslint/scope-manager@8.15.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz#28a1a0f13038f382424f45a988961acaca38f7c6" + integrity sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA== + dependencies: + "@typescript-eslint/types" "8.15.0" + "@typescript-eslint/visitor-keys" "8.15.0" + "@typescript-eslint/type-utils@6.21.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" @@ -3111,6 +3190,16 @@ debug "^4.3.4" ts-api-utils "^1.0.1" +"@typescript-eslint/type-utils@8.15.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz#a6da0f93aef879a68cc66c73fe42256cb7426c72" + integrity sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw== + dependencies: + "@typescript-eslint/typescript-estree" "8.15.0" + "@typescript-eslint/utils" "8.15.0" + debug "^4.3.4" + ts-api-utils "^1.3.0" + "@typescript-eslint/types@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" @@ -3121,6 +3210,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== +"@typescript-eslint/types@8.15.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.15.0.tgz#4958edf3d83e97f77005f794452e595aaf6430fc" + integrity sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ== + "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" @@ -3148,6 +3242,20 @@ semver "^7.5.4" ts-api-utils "^1.0.1" +"@typescript-eslint/typescript-estree@8.15.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz#915c94e387892b114a2a2cc0df2d7f19412c8ba7" + integrity sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg== + dependencies: + "@typescript-eslint/types" "8.15.0" + "@typescript-eslint/visitor-keys" "8.15.0" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/utils@6.21.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" @@ -3161,6 +3269,16 @@ "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" +"@typescript-eslint/utils@8.15.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.15.0.tgz#ac04679ad19252776b38b81954b8e5a65567cef6" + integrity sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.15.0" + "@typescript-eslint/types" "8.15.0" + "@typescript-eslint/typescript-estree" "8.15.0" + "@typescript-eslint/utils@^5.10.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" @@ -3191,6 +3309,14 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" +"@typescript-eslint/visitor-keys@8.15.0": + version "8.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz#9ea5a85eb25401d2aa74ec8a478af4e97899ea12" + integrity sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q== + dependencies: + "@typescript-eslint/types" "8.15.0" + eslint-visitor-keys "^4.2.0" + "@umami/prisma-client@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@umami/prisma-client/-/prisma-client-0.14.0.tgz#8489f23e7d766fdecb94790246b0b77b9d65223b" @@ -3200,10 +3326,10 @@ chalk "^4.1.2" debug "^4.3.4" -"@umami/redis-client@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@umami/redis-client/-/redis-client-0.18.0.tgz#6a2315a878f2688dae162d93e88dfc4e097fc48e" - integrity sha512-uDuX5w7ydlOZWrq0h6fADG3XWOhto9fAqrUVu85FUhdijWoGlv5f8adaL8FAah5jD+/Byw2VyGQaZO4VhboEZw== +"@umami/redis-client@^0.21.0": + version "0.21.0" + resolved "https://registry.yarnpkg.com/@umami/redis-client/-/redis-client-0.21.0.tgz#96426b28860b8b06fae8825fc2f2d9575b64e863" + integrity sha512-PpdJunvT4sAsVWIeEl+cHU6iSV2r/Df9dof2gdUwSigfD88ACsVs1/BvlWERxk/T93rTgVJWSpLvdw/oMYvkcw== dependencies: debug "^4.3.4" redis "^4.5.1" @@ -3213,11 +3339,6 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@vercel/node-bridge@^2.1.0": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@vercel/node-bridge/-/node-bridge-2.2.2.tgz#f63466ab6a2588afdc6262c2d060289bfe8baa6b" - integrity sha512-haGBC8noyA5BfjCRXRH+VIkHCDVW5iD5UX24P2nOdilwUxI4qWsattS/co8QBGq64XsNLRAMdM5pQUE3zxkF9Q== - "@vue/compiler-core@3.3.4", "@vue/compiler-core@^3.2.23": version "3.3.4" resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128" @@ -3318,7 +3439,7 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.1.tgz#2f10f5b69329d90ae18c58bf1fa8fccd8b959a43" integrity sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw== -acorn@^8.10.0, acorn@^8.4.1: +acorn@^8.4.1: version "8.11.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== @@ -3329,9 +3450,9 @@ acorn@^8.8.2: integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== aggregate-error@^3.0.0: version "3.1.0" @@ -3405,9 +3526,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^3.2.1: version "3.2.1" @@ -3433,7 +3554,7 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -anymatch@^3.0.3, anymatch@^3.1.3, anymatch@~3.1.2: +anymatch@^3.0.3: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -3463,12 +3584,10 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" +aria-query@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== array-buffer-byte-length@^1.0.1: version "1.0.1" @@ -3483,7 +3602,7 @@ array-find-index@^1.0.1: resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== -array-includes@^3.1.6, array-includes@^3.1.7: +array-includes@^3.1.6, array-includes@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== @@ -3500,7 +3619,7 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlast@^1.2.4: +array.prototype.findlast@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== @@ -3512,7 +3631,7 @@ array.prototype.findlast@^1.2.4: es-object-atoms "^1.0.0" es-shim-unscopables "^1.0.2" -array.prototype.findlastindex@^1.2.3: +array.prototype.findlastindex@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== @@ -3544,25 +3663,15 @@ array.prototype.flatmap@^1.3.2: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.toreversed@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" - integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" - integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== - dependencies: - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.1.0" + es-abstract "^1.23.3" + es-errors "^1.3.0" es-shim-unscopables "^1.0.2" arraybuffer.prototype.slice@^1.0.3: @@ -3606,10 +3715,10 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async@^3.2.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== +async@^3.2.0, async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== asynckit@^0.4.0: version "0.4.0" @@ -3646,26 +3755,19 @@ aws-sign2@~0.7.0: integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + version "1.13.2" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" + integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== -axe-core@=4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" - integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== +axe-core@^4.10.0: + version "4.10.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" + integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w== -axobject-query@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" - integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== - dependencies: - dequal "^2.0.3" - -b4a@^1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" - integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== +axobject-query@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== babel-jest@^29.7.0: version "29.7.0" @@ -3794,20 +3896,6 @@ bcryptjs@^2.4.3: resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ== -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - blob-util@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" @@ -3838,12 +3926,12 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.2, braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, browserslist@^4.22.1: version "4.22.1" @@ -3865,7 +3953,7 @@ browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.0.13" -bs-logger@0.x: +bs-logger@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== @@ -3894,7 +3982,7 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.5.0, buffer@^5.7.1: +buffer@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -3902,11 +3990,6 @@ buffer@^5.5.0, buffer@^5.7.1: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - busboy@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" @@ -3974,20 +4057,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: - version "1.0.30001551" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz#1f2cfa8820bd97c971a57349d7fd8f6e08664a3e" - integrity sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg== - -caniuse-lite@^1.0.30001579: - version "1.0.30001587" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" - integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== - -caniuse-lite@^1.0.30001587: - version "1.0.30001591" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz#16745e50263edc9f395895a7cd468b9f3767cf33" - integrity sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001587: + version "1.0.30001649" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz" + integrity sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ== caseless@~0.12.0: version "0.12.0" @@ -4008,7 +4081,7 @@ chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -4027,9 +4100,9 @@ charenc@0.0.2: integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== chart.js@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-4.4.2.tgz#95962fa6430828ed325a480cc2d5f2b4e385ac31" - integrity sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg== + version "4.4.6" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-4.4.6.tgz#da39b84ca752298270d4c0519675c7659936abec" + integrity sha512-8Y406zevUPbbIBA/HRk33khEmQPk5+cxeflWE/2rx1NJsjVWMPw/9mSP9rxHP5eqi6LNoPBVMfZHxbwLSgldYA== dependencies: "@kurkle/color" "^0.3.0" @@ -4043,26 +4116,6 @@ check-more-types@^2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== -chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" @@ -4073,12 +4126,10 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -citty@^0.1.4, citty@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.5.tgz#fe37ceae5dc764af75eb2fece99d2bf527ea4e50" - integrity sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ== - dependencies: - consola "^3.2.3" +ci-info@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.1.0.tgz#92319d2fa29d2620180ea5afed31f589bc98cf83" + integrity sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A== cjs-module-lexer@^1.0.0: version "1.2.3" @@ -4110,9 +4161,9 @@ cli-cursor@^4.0.0: restore-cursor "^4.0.0" cli-table3@~0.6.1: - version "0.6.4" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.4.tgz#d1c536b8a3f2e7bec58f67ac9e5769b1b30088b0" - integrity sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw== + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== dependencies: string-width "^4.2.0" optionalDependencies: @@ -4139,15 +4190,6 @@ client-only@0.0.1: resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== -clipboardy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-3.0.0.tgz#f3876247404d334c9ed01b6f269c11d09a5e3092" - integrity sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg== - dependencies: - arch "^2.2.0" - execa "^5.1.1" - is-wsl "^2.2.0" - cliui@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" @@ -4157,7 +4199,7 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -cluster-key-slot@1.1.2, cluster-key-slot@^1.1.0: +cluster-key-slot@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== @@ -4227,7 +4269,7 @@ colorette@^2.0.16, colorette@^2.0.20: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -4239,7 +4281,7 @@ commander@11.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== -commander@2, commander@^2.20.0, commander@^2.20.3: +commander@2, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4281,21 +4323,11 @@ concat-with-sourcemaps@^1.1.0: dependencies: source-map "^0.6.1" -consola@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" - integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== - convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -cookie-es@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.0.0.tgz#4759684af168dfc54365b2c2dda0a8d7ee1e4865" - integrity sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ== - core-js-compat@^3.31.0, core-js-compat@^3.32.2: version "3.33.0" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.0.tgz#24aa230b228406450b2277b7c8bfebae932df966" @@ -4362,7 +4394,16 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -4473,11 +4514,6 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssfilter@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" - integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== - cssnano-preset-default@^5.2.14: version "5.2.14" resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" @@ -4558,12 +4594,12 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cypress@*: - version "13.6.6" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.6.tgz#5133f231ed1c6e57dc8dcbf60aade220bcd6884b" - integrity sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A== +cypress@*, cypress@^13.6.6: + version "13.15.2" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.15.2.tgz#ef19554c274bc4ff23802aeb5c52951677fa67f1" + integrity sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A== dependencies: - "@cypress/request" "^3.0.0" + "@cypress/request" "^3.0.6" "@cypress/xvfb" "^1.2.4" "@types/sinonjs__fake-timers" "8.1.1" "@types/sizzle" "^2.3.2" @@ -4574,6 +4610,7 @@ cypress@*: cachedir "^2.3.0" chalk "^4.1.0" check-more-types "^2.24.0" + ci-info "^4.0.0" cli-cursor "^3.1.0" cli-table3 "~0.6.1" commander "^6.2.1" @@ -4588,7 +4625,6 @@ cypress@*: figures "^3.2.0" fs-extra "^9.1.0" getos "^3.2.1" - is-ci "^3.0.1" is-installed-globally "~0.4.0" lazy-ass "^1.6.0" listr2 "^3.8.3" @@ -4602,55 +4638,8 @@ cypress@*: request-progress "^3.0.0" semver "^7.5.3" supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - -cypress@^13.6.6: - version "13.7.2" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.7.2.tgz#61e841382abb20e0a9a063086ee0d850af3ef6bc" - integrity sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw== - dependencies: - "@cypress/request" "^3.0.0" - "@cypress/xvfb" "^1.2.4" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.7.1" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^6.2.1" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.4" - enquirer "^2.3.6" - eventemitter2 "6.4.7" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.1" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.8" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - process "^0.11.10" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.5.3" - supports-color "^8.1.1" - tmp "~0.2.1" + tmp "~0.2.3" + tree-kill "1.2.2" untildify "^4.0.0" yauzl "^2.10.0" @@ -4786,22 +4775,17 @@ date-fns@^2.23.0, date-fns@^2.29.3: dependencies: "@babel/runtime" "^7.21.0" -dateformat@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-5.0.3.tgz#fe2223eff3cc70ce716931cb3038b59a9280696e" - integrity sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA== - dayjs@^1.10.4: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== debounce@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@4.3.4, debug@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -4815,6 +4799,13 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" @@ -4833,23 +4824,11 @@ decamelize@^5.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - dedent@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -4878,11 +4857,6 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -defu@^6.1.2, defu@^6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.3.tgz#6d7f56bc61668e844f9f593ace66fd67ef1205fd" - integrity sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ== - del@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" @@ -4916,26 +4890,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -denque@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" - integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -destr@^1.1.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/destr/-/destr-1.2.2.tgz#7ba9befcafb645a50e76b260449c63927b51e22f" - integrity sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA== - -destr@^2.0.1, destr@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.2.tgz#8d3c0ee4ec0a76df54bc8b819bca215592a8c218" - integrity sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg== - detect-browser@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" @@ -4946,15 +4900,10 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== - -detect-libc@^2.0.0, detect-libc@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== +detect-libc@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== detect-newline@^3.0.0: version "3.1.0" @@ -5080,6 +5029,13 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" +ejs@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + electron-to-chromium@^1.4.535: version "1.4.561" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.561.tgz#816f31d9ae01fe58abbf469fca7e125b16befd85" @@ -5105,17 +5061,17 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enhanced-resolve@^5.12.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" - integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== +enhanced-resolve@^5.15.0: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5145,10 +5101,10 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== +es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: + version "1.23.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.5.tgz#f4599a4946d57ed467515ed10e4f157289cd52fb" + integrity sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ== dependencies: array-buffer-byte-length "^1.0.1" arraybuffer.prototype.slice "^1.0.3" @@ -5165,7 +5121,7 @@ es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23 function.prototype.name "^1.1.6" get-intrinsic "^1.2.4" get-symbol-description "^1.0.2" - globalthis "^1.0.3" + globalthis "^1.0.4" gopd "^1.0.1" has-property-descriptors "^1.0.2" has-proto "^1.0.3" @@ -5181,10 +5137,10 @@ es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23 is-string "^1.0.7" is-typed-array "^1.1.13" is-weakref "^1.0.2" - object-inspect "^1.13.1" + object-inspect "^1.13.3" object-keys "^1.1.1" object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" + regexp.prototype.flags "^1.5.3" safe-array-concat "^1.1.2" safe-regex-test "^1.0.3" string.prototype.trim "^1.2.9" @@ -5204,29 +5160,30 @@ es-define-property@^1.0.0: dependencies: get-intrinsic "^1.2.4" -es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-iterator-helpers@^1.0.15, es-iterator-helpers@^1.0.17: - version "1.0.18" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz#4d3424f46b24df38d064af6fbbc89274e29ea69d" - integrity sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA== +es-iterator-helpers@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz#2f1a3ab998b30cb2d10b195b587c6d9ebdebf152" + integrity sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q== dependencies: call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.3" es-errors "^1.3.0" es-set-tostringtag "^2.0.3" function-bind "^1.1.2" get-intrinsic "^1.2.4" - globalthis "^1.0.3" + globalthis "^1.0.4" + gopd "^1.0.1" has-property-descriptors "^1.0.2" has-proto "^1.0.3" has-symbols "^1.0.3" internal-slot "^1.0.7" - iterator.prototype "^1.1.2" + iterator.prototype "^1.1.3" safe-array-concat "^1.1.2" es-module-lexer@^1.0.5: @@ -5315,13 +5272,14 @@ escape-string-regexp@^4.0.0: integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-config-next@^14.0.4: - version "14.1.4" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-14.1.4.tgz#22f2ba4c0993e991249d863656a64c204bae542c" - integrity sha512-cihIahbhYAWwXJwZkAaRPpUi5t9aOi/HdfWXOjZeUOqNWXHD8X22kd1KG58Dc3MVaRx3HoR/oMGk2ltcrqDn8g== + version "14.2.18" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-14.2.18.tgz#e689e348a1db4bc563580cf77705eec894eaece1" + integrity sha512-SuDRcpJY5VHBkhz5DijJ4iA4bVnBA0n48Rb+YSJSCDr+h7kKAcb1mZHusLbW+WA8LDB6edSolomXA55eG3eOVA== dependencies: - "@next/eslint-plugin-next" "14.1.4" + "@next/eslint-plugin-next" "14.2.18" "@rushstack/eslint-patch" "^1.3.3" - "@typescript-eslint/parser" "^5.4.2 || ^6.0.0" + "@typescript-eslint/eslint-plugin" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" eslint-import-resolver-node "^0.3.6" eslint-import-resolver-typescript "^3.5.2" eslint-plugin-import "^2.28.1" @@ -5349,22 +5307,23 @@ eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9: resolve "^1.22.4" eslint-import-resolver-typescript@^3.5.2: - version "3.6.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz#7b983680edd3f1c5bce1a5829ae0bc2d57fe9efa" - integrity sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== + version "3.6.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz#bb8e388f6afc0f940ce5d2c5fd4a3d147f038d9e" + integrity sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA== dependencies: - debug "^4.3.4" - enhanced-resolve "^5.12.0" - eslint-module-utils "^2.7.4" - fast-glob "^3.3.1" - get-tsconfig "^4.5.0" - is-core-module "^2.11.0" + "@nolyfill/is-core-module" "1.0.39" + debug "^4.3.5" + enhanced-resolve "^5.15.0" + eslint-module-utils "^2.8.1" + fast-glob "^3.3.2" + get-tsconfig "^4.7.5" + is-bun-module "^1.0.2" is-glob "^4.0.3" -eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== +eslint-module-utils@^2.12.0, eslint-module-utils@^2.8.1: + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== dependencies: debug "^3.2.7" @@ -5377,33 +5336,35 @@ eslint-plugin-css-modules@^2.12.0: lodash "^4.17.2" eslint-plugin-cypress@^2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz#336afa7e8e27451afaf65aa359c9509e0a4f3a7b" - integrity sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w== + version "2.15.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.2.tgz#f22e12fad4c434edad7b298ef92bac8fa087ffa0" + integrity sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ== dependencies: globals "^13.20.0" eslint-plugin-import@^2.28.1, eslint-plugin-import@^2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + version "2.31.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" array.prototype.flat "^1.3.2" array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" semver "^6.3.1" + string.prototype.trimend "^1.0.8" tsconfig-paths "^3.15.0" eslint-plugin-jest@^27.9.0: @@ -5414,26 +5375,25 @@ eslint-plugin-jest@^27.9.0: "@typescript-eslint/utils" "^5.10.0" eslint-plugin-jsx-a11y@^6.7.1: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" - integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== + version "6.10.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz#d2812bb23bf1ab4665f1718ea442e8372e638483" + integrity sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q== dependencies: - "@babel/runtime" "^7.23.2" - aria-query "^5.3.0" - array-includes "^3.1.7" + aria-query "^5.3.2" + array-includes "^3.1.8" array.prototype.flatmap "^1.3.2" ast-types-flow "^0.0.8" - axe-core "=4.7.0" - axobject-query "^3.2.1" + axe-core "^4.10.0" + axobject-query "^4.1.0" damerau-levenshtein "^1.0.8" emoji-regex "^9.2.2" - es-iterator-helpers "^1.0.15" - hasown "^2.0.0" + hasown "^2.0.2" jsx-ast-utils "^3.3.5" language-tags "^1.0.9" minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" + object.fromentries "^2.0.8" + safe-regex-test "^1.0.3" + string.prototype.includes "^2.0.1" eslint-plugin-prettier@^4.0.0: version "4.2.1" @@ -5443,38 +5403,38 @@ eslint-plugin-prettier@^4.0.0: prettier-linter-helpers "^1.0.0" eslint-plugin-promise@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" - integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== + version "6.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz#acd3fd7d55cead7a10f92cf698f36c0aafcd717a" + integrity sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ== "eslint-plugin-react-hooks@^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + version "5.0.0-canary-7118f5dd7-20230705" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz#4d55c50e186f1a2b0636433d2b0b2f592ddbccfd" + integrity sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw== eslint-plugin-react@^7.33.2: - version "7.34.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz#6806b70c97796f5bbfb235a5d3379ece5f4da997" - integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw== + version "7.37.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz#cd0935987876ba2900df2f58339f6d92305acc7a" + integrity sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w== dependencies: - array-includes "^3.1.7" - array.prototype.findlast "^1.2.4" + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" array.prototype.flatmap "^1.3.2" - array.prototype.toreversed "^1.1.2" - array.prototype.tosorted "^1.1.3" + array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.0.17" + es-iterator-helpers "^1.1.0" estraverse "^5.3.0" + hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" - object.hasown "^1.1.3" - object.values "^1.1.7" + object.entries "^1.1.8" + object.fromentries "^2.0.8" + object.values "^1.2.0" prop-types "^15.8.1" resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.10" + string.prototype.matchall "^4.0.11" + string.prototype.repeat "^1.0.0" eslint-scope@^5.1.1: version "5.1.1" @@ -5497,16 +5457,21 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== + eslint@^8.33.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" @@ -5556,9 +5521,9 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -5594,11 +5559,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - eventemitter2@6.4.7: version "6.4.7" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" @@ -5644,7 +5604,7 @@ execa@7.2.0: signal-exit "^3.0.7" strip-final-newline "^3.0.0" -execa@^5.0.0, execa@^5.1.1: +execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -5671,11 +5631,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - expect@^29.0.0, expect@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" @@ -5744,20 +5699,10 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-equals@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-3.0.3.tgz#8e6cb4e51ca1018d87dd41982ef92758b3e4197f" - integrity sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== - -fast-fifo@^1.1.0, fast-fifo@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" - integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - -fast-glob@^3.0.3, fast-glob@^3.2.7: - version "3.3.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== +fast-glob@^3.0.3, fast-glob@^3.2.9, fast-glob@^3.3.1, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -5765,10 +5710,10 @@ fast-glob@^3.0.3, fast-glob@^3.2.7: merge2 "^1.3.0" micromatch "^4.0.4" -fast-glob@^3.2.9, fast-glob@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== +fast-glob@^3.2.7: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -5841,10 +5786,17 @@ file-entry-cache@^7.0.0: dependencies: flat-cache "^3.2.0" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -5879,14 +5831,9 @@ flat@^5.0.0: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -follow-redirects@^1.15.2: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "3.3.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" + integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== for-each@^0.3.3: version "0.3.3" @@ -5896,9 +5843,9 @@ for-each@^0.3.3: is-callable "^1.1.3" foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== dependencies: cross-spawn "^7.0.0" signal-exit "^4.0.1" @@ -5908,13 +5855,13 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== +form-data@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== dependencies: asynckit "^0.4.0" - combined-stream "^1.0.6" + combined-stream "^1.0.8" mime-types "^2.1.12" formdata-polyfill@^4.0.10: @@ -5929,12 +5876,7 @@ fraction.js@^4.3.6: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@10, fs-extra@^10.0.0, fs-extra@^10.0.1: +fs-extra@10, fs-extra@^10.0.1: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -5943,15 +5885,6 @@ fs-extra@10, fs-extra@^10.0.0, fs-extra@^10.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^11.0.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -5983,7 +5916,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@2.3.3, fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -5993,7 +5926,7 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: +function.prototype.name@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== @@ -6046,11 +5979,6 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-port-please@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.1.tgz#2556623cddb4801d823c0a6a15eec038abb483be" - integrity sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA== - get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -6072,10 +6000,10 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -get-tsconfig@^4.5.0: - version "4.7.3" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.3.tgz#0498163d98f7b58484dd4906999c0c9d5f103f83" - integrity sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg== +get-tsconfig@^4.7.5: + version "4.8.1" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" + integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== dependencies: resolve-pkg-maps "^1.0.0" @@ -6093,12 +6021,7 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== - -glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -6181,17 +6104,13 @@ globals@^13.19.0, globals@^13.20.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== +globalthis@^1.0.3, globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" - -globalyzer@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" - integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== + define-properties "^1.2.1" + gopd "^1.0.1" globby@10.0.1: version "10.0.1" @@ -6221,7 +6140,7 @@ globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" -globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: +globby@^11.0.1, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -6238,11 +6157,6 @@ globjoin@^0.1.4: resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" integrity sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg== -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - gonzales-pe@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3" @@ -6257,7 +6171,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -6267,20 +6181,6 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -h3@^1.7.1, h3@^1.8.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/h3/-/h3-1.9.0.tgz#c5f512a93026df9837db6f30c9ef51135dd46752" - integrity sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA== - dependencies: - cookie-es "^1.0.0" - defu "^6.1.3" - destr "^2.0.2" - iron-webcrypto "^1.0.0" - radix3 "^1.1.0" - ufo "^1.3.2" - uncrypto "^0.1.3" - unenv "^1.7.4" - hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -6332,7 +6232,7 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@3, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -6361,19 +6261,14 @@ html-tags@^3.3.1: resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== -http-shutdown@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" - integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== - -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== +http-signature@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.4.0.tgz#dee5a9ba2bf49416abc544abd6d967f6a94c8c3f" + integrity sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg== dependencies: assert-plus "^1.0.0" jsprim "^2.0.2" - sshpk "^1.14.1" + sshpk "^1.18.0" human-signals@^1.1.1: version "1.1.1" @@ -6410,21 +6305,16 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.1.1: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== +ignore@^5.1.1, ignore@^5.2.0, ignore@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.4: version "5.3.1" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== -image-meta@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/image-meta/-/image-meta-0.1.1.tgz#a84dc7d5f61c7d60e85ec0c3ac81beee8646039b" - integrity sha512-+oXiHwOEPr1IE5zY0tcBLED/CYcre15J4nwL50x3o0jxWqEkyjrusiKP3YSU+tr9fvJp33ZcP5Gpj2295g3aEw== - immer@^9.0.12: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" @@ -6488,7 +6378,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4: +inherits@2: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6498,7 +6388,7 @@ ini@2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@^1.3.5, ini@~1.3.0: +ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -6532,58 +6422,20 @@ intl-messageformat-parser@^5.3.7: dependencies: "@formatjs/intl-numberformat" "^5.5.2" -intl-messageformat@10.5.11: - version "10.5.11" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.11.tgz#95d6a3b0b303f924d5d8c3f8d3ad057d1dc73c64" - integrity sha512-eYq5fkFBVxc7GIFDzpFQkDOZgNayNTQn4Oufe8jw6YY6OHVw70/4pA3FyCsQ0Gb2DnvEJEMmN2tOaXUGByM+kg== +intl-messageformat@10.7.7: + version "10.7.7" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.7.tgz#42085e1664729d02240a03346e31a2540b1112a0" + integrity sha512-F134jIoeYMro/3I0h08D0Yt4N9o9pjddU/4IIxMMURqbAtI2wu70X8hvG1V48W49zXHXv3RKSF/po+0fDfsGjA== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.6" - tslib "^2.4.0" - -ioredis@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.3.2.tgz#9139f596f62fc9c72d873353ac5395bcf05709f7" - integrity sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA== - dependencies: - "@ioredis/commands" "^1.1.1" - cluster-key-slot "^1.1.0" - debug "^4.3.4" - denque "^2.1.0" - lodash.defaults "^4.2.0" - lodash.isarguments "^3.1.0" - redis-errors "^1.2.0" - redis-parser "^3.0.0" - standard-as-callback "^2.1.0" + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/fast-memoize" "2.2.3" + "@formatjs/icu-messageformat-parser" "2.9.4" + tslib "2" ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -ipx@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/ipx/-/ipx-1.3.1.tgz#2ff4aa9bc5be74f63cccd80d1df430fcc5e715b6" - integrity sha512-hWRLXdMDOz2q81T2x9lowFtAGO3E5b2HtC8xOOBTrlnxygHNaVrZqJ5c1P3T7tDkC3oCocYRRz0VBffvJKeQlw== - dependencies: - "@fastify/accept-negotiator" "^1.1.0" - consola "^3.2.3" - defu "^6.1.2" - destr "^2.0.1" - etag "^1.8.1" - image-meta "^0.1.1" - listhen "^1.5.5" - node-fetch-native "^1.4.0" - pathe "^1.1.1" - sharp "^0.32.6" - ufo "^1.3.1" - xss "^1.0.14" - -iron-webcrypto@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz#e3b689c0c61b434a0a4cb82d0aeabbc8b672a867" - integrity sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg== + version "2.2.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== is-array-buffer@^3.0.4: version "3.0.4" @@ -6617,13 +6469,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" @@ -6637,12 +6482,12 @@ is-buffer@~1.1.6: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-builtin-module@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== +is-bun-module@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-1.2.1.tgz#495e706f42e29f086fd5fe1ac3c51f106062b9fc" + integrity sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q== dependencies: - builtin-modules "^3.3.0" + semver "^7.6.3" is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" @@ -6656,7 +6501,14 @@ is-ci@^3.0.1: dependencies: ci-info "^3.2.0" -is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: +is-core-module@^2.13.0, is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-core-module@^2.5.0: version "2.13.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== @@ -6677,11 +6529,6 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - is-docker@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" @@ -6721,7 +6568,7 @@ is-generator-function@^1.0.10: dependencies: has-tostringtag "^1.0.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -6798,11 +6645,6 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-promise@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" - integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== - is-reference@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" @@ -6891,22 +6733,15 @@ is-weakset@^2.0.3: call-bind "^1.0.7" get-intrinsic "^1.2.4" -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== -isbot@^5.1.1: - version "5.1.4" - resolved "https://registry.yarnpkg.com/isbot/-/isbot-5.1.4.tgz#3123c0fbf98ae867dc74ab95e47a809c13621a82" - integrity sha512-KuqD/TAG/qtgCDnO8Ab1v5rGRK3jl9hb+2KfJt+roIPE7R4Hiq99VinR0qrLGFptdUNIkClYjuXEpVTGkD9V/A== +isbot@^5.1.16: + version "5.1.17" + resolved "https://registry.yarnpkg.com/isbot/-/isbot-5.1.17.tgz#ad7da5690a61bbb19056a069975c9a73182682a0" + integrity sha512-/wch8pRKZE+aoVhRX/hYPY1C7dMCeeMyhkQLNLNlYAbGQn9bkvMB8fOUXNnk5I0m4vDYbBJ9ciVtkr9zfBJ7qA== isexe@^2.0.0: version "2.0.0" @@ -6971,10 +6806,10 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== +iterator.prototype@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" + integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== dependencies: define-properties "^1.2.1" get-intrinsic "^1.2.1" @@ -6982,15 +6817,25 @@ iterator.prototype@^1.1.2: reflect.getprototypeof "^1.0.4" set-function-name "^2.0.1" -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== +jackspeak@2.1.1, jackspeak@^2.3.5: + version "2.1.1" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.1.1.tgz#2a42db4cfbb7e55433c28b6f75d8b796af9669cd" + integrity sha512-juf9stUEwUaILepraGOWIJTLwg48bUnBmRqd2ln2Os1sW987zeoj/hzhbvRB95oMuS2ZTpjULmdwHNX4rzZIZw== dependencies: - "@isaacs/cliui" "^8.0.2" + cliui "^8.0.1" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + jest-changed-files@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" @@ -7358,11 +7203,6 @@ jest@^29.7.0: import-local "^3.0.2" jest-cli "^29.7.0" -jiti@^1.20.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== - joycon@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" @@ -7569,9 +7409,9 @@ known-css-properties@^0.29.0: integrity sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ== language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + version "0.3.23" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" + integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== language-tags@^1.0.9: version "1.0.9" @@ -7624,29 +7464,6 @@ lint-staged@^14.0.1: string-argv "0.3.2" yaml "2.3.1" -listhen@^1.2.2, listhen@^1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.5.5.tgz#58915512af70f770aa3e9fb19367adf479bb58c4" - integrity sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA== - dependencies: - "@parcel/watcher" "^2.3.0" - "@parcel/watcher-wasm" "2.3.0" - citty "^0.1.4" - clipboardy "^3.0.0" - consola "^3.2.3" - defu "^6.1.2" - get-port-please "^3.1.1" - h3 "^1.8.1" - http-shutdown "^1.2.2" - jiti "^1.20.0" - mlly "^1.4.2" - node-forge "^1.3.1" - pathe "^1.1.1" - std-env "^3.4.3" - ufo "^1.3.0" - untun "^0.1.2" - uqr "^0.1.2" - listr2@6.6.1: version "6.6.1" resolved "https://registry.yarnpkg.com/listr2/-/listr2-6.6.1.tgz#08b2329e7e8ba6298481464937099f4a2cd7f95d" @@ -7727,21 +7544,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== - lodash.includes@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== -lodash.isarguments@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== - lodash.isboolean@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" @@ -7767,7 +7574,7 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== -lodash.memoize@4.x, lodash.memoize@^4.1.2: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== @@ -7858,15 +7665,10 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" -lru-cache@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" - integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== - lru-cache@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^5.1.1: version "5.1.1" @@ -7882,13 +7684,20 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -magic-string@^0.30.0, magic-string@^0.30.2, magic-string@^0.30.3: +magic-string@^0.30.0, magic-string@^0.30.2: version "0.30.5" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +magic-string@^0.30.3: + version "0.30.10" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" + integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + make-dir@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -7903,7 +7712,7 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" -make-error@1.x, make-error@^1.1.1: +make-error@^1.1.1, make-error@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -7931,12 +7740,12 @@ mathml-tag-names@^2.1.3: integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== maxmind@^4.3.6: - version "4.3.18" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.18.tgz#ad83f38d718ca5395c5d722933a109b7cb009226" - integrity sha512-5b9utU7ZxcGYTBaO7hCF0FXyfw3IpankLn+FnLW4RZS1zi97RBeSdfXJFJlk5UxNsMiFZlsdMT3lzvD+bD8MLQ== + version "4.3.22" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.22.tgz#8168a2d890d88626613b97eeecbb13fabe0074c4" + integrity sha512-dfLO11mE77ELTEIXNezfW0eslodsFLsZ1lQkLauP+5Zsg1m7kCGtljqRyVOd9E5Ne2RJgvY6UU09qvnVocOZvA== dependencies: - mmdb-lib "2.1.0" - tiny-lru "11.2.5" + mmdb-lib "2.1.1" + tiny-lru "11.2.11" md5@^2.3.0: version "2.3.0" @@ -8017,12 +7826,7 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micro-memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/micro-memoize/-/micro-memoize-4.1.2.tgz#ce719c1ba1e41592f1cd91c64c5f41dcbf135f36" - integrity sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== - -micromatch@4.0.5, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@4.0.5, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -8030,6 +7834,14 @@ micromatch@4.0.5, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" +micromatch@^4.0.4: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -8042,11 +7854,6 @@ mime-types@^2.1.12, mime-types@~2.1.19: dependencies: mime-db "1.52.0" -mime@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -8057,11 +7864,6 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - min-indent@^1.0.0, min-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -8088,10 +7890,10 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.1: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== +minimatch@^9.0.1, minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" @@ -8104,7 +7906,7 @@ minimist-options@4.1.0, minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -8122,9 +7924,9 @@ minipass@^5.0.0: integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== "minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== minizlib@^2.1.1: version "2.1.2" @@ -8134,76 +7936,26 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - mkdirp@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" - integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== - -mlly@^1.2.0, mlly@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e" - integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== - dependencies: - acorn "^8.10.0" - pathe "^1.1.1" - pkg-types "^1.0.3" - ufo "^1.3.0" - -mmdb-lib@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.1.0.tgz#c2456caaf4c7ffa056f77575da6d40988e9e878b" - integrity sha512-tdDTZmnI5G4UoSctv2KxM/3VQt2XRj4CmR5R4VsAWsOUcS3LysHR34wtixWm/pXxXdkBDuN92auxkC0T2+qd1Q== - -moize@^6.1.0: - version "6.1.6" - resolved "https://registry.yarnpkg.com/moize/-/moize-6.1.6.tgz#ac2e723e74b951875fe2c0c3433405c2b098c3e6" - integrity sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== - dependencies: - fast-equals "^3.0.1" - micro-memoize "^4.1.2" - -moment-timezone@^0.5.35: - version "0.5.45" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.45.tgz#cb685acd56bac10e69d93c536366eb65aa6bcf5c" - integrity sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ== - dependencies: - moment "^2.29.4" - -moment@^2.29.4: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -mri@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== +mmdb-lib@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.1.1.tgz#c0d0bd35dc1fca41f0ebd043e43227ab04eb1792" + integrity sha512-yx8H/1H5AfnufiLnzzPqPf4yr/dKU9IFT1rPVwSkrKWHsQEeVVd6+X+L0nUbXhlEFTu3y/7hu38CFmEVgzvyeg== ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: +ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -murmurhash@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/murmurhash/-/murmurhash-2.0.1.tgz#4097720e08cf978872194ad84ea5be2dec9b610f" - integrity sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew== - nanoclone@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" @@ -8214,16 +7966,6 @@ nanoid@^3.3.6, nanoid@^3.3.7: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - -napi-wasm@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.0.tgz#bbe617823765ae9c1bc12ff5942370eae7b2ba4e" - integrity sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -8238,28 +7980,28 @@ next-basics@^0.39.0: jsonwebtoken "^9.0.0" pure-rand "^6.0.2" -next@14.1.4: - version "14.1.4" - resolved "https://registry.yarnpkg.com/next/-/next-14.1.4.tgz#203310f7310578563fd5c961f0db4729ce7a502d" - integrity sha512-1WTaXeSrUwlz/XcnhGTY7+8eiaFvdet5z9u3V2jb+Ek1vFo0VhHKSAIJvDWfQpttWjnyw14kBeq28TPq7bTeEQ== +next@15.0.3: + version "15.0.3" + resolved "https://registry.yarnpkg.com/next/-/next-15.0.3.tgz#804f5b772e7570ef1f088542a59860914d3288e9" + integrity sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw== dependencies: - "@next/env" "14.1.4" - "@swc/helpers" "0.5.2" + "@next/env" "15.0.3" + "@swc/counter" "0.1.3" + "@swc/helpers" "0.5.13" busboy "1.6.0" caniuse-lite "^1.0.30001579" - graceful-fs "^4.2.11" postcss "8.4.31" - styled-jsx "5.1.1" + styled-jsx "5.1.6" optionalDependencies: - "@next/swc-darwin-arm64" "14.1.4" - "@next/swc-darwin-x64" "14.1.4" - "@next/swc-linux-arm64-gnu" "14.1.4" - "@next/swc-linux-arm64-musl" "14.1.4" - "@next/swc-linux-x64-gnu" "14.1.4" - "@next/swc-linux-x64-musl" "14.1.4" - "@next/swc-win32-arm64-msvc" "14.1.4" - "@next/swc-win32-ia32-msvc" "14.1.4" - "@next/swc-win32-x64-msvc" "14.1.4" + "@next/swc-darwin-arm64" "15.0.3" + "@next/swc-darwin-x64" "15.0.3" + "@next/swc-linux-arm64-gnu" "15.0.3" + "@next/swc-linux-arm64-musl" "15.0.3" + "@next/swc-linux-x64-gnu" "15.0.3" + "@next/swc-linux-x64-musl" "15.0.3" + "@next/swc-win32-arm64-msvc" "15.0.3" + "@next/swc-win32-x64-msvc" "15.0.3" + sharp "^0.33.5" nice-try@^1.0.4: version "1.0.5" @@ -8274,40 +8016,11 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-abi@^3.3.0: - version "3.52.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.52.0.tgz#ffba0a85f54e552547e5849015f40f9514d5ba7c" - integrity sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ== - dependencies: - semver "^7.3.5" - -node-addon-api@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" - integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - -node-addon-api@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.0.0.tgz#8136add2f510997b3b94814f4af1cce0b0e3962e" - integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA== - node-domexception@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-fetch-native@^1.2.0, node-fetch-native@^1.4.0, node-fetch-native@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.4.1.tgz#5a336e55b4e1b1e72b9927da09fecd2b374c9be5" - integrity sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w== - -node-fetch@^2.0.0, node-fetch@^2.6.6: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - node-fetch@^3.2.8: version "3.3.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" @@ -8317,11 +8030,6 @@ node-fetch@^3.2.8: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -8337,11 +8045,6 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== -node-stream-zip@^1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" - integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== - normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -8362,7 +8065,7 @@ normalize-package-data@^3.0.2: semver "^7.3.4" validate-npm-package-license "^3.0.1" -normalize-path@^3.0.0, normalize-path@~3.0.0: +normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -8418,10 +8121,10 @@ object-assign@^4, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@^1.13.1, object-inspect@^1.13.3: + version "1.13.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" + integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== object-keys@^1.1.1: version "1.1.1" @@ -8438,7 +8141,7 @@ object.assign@^4.1.4, object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.7: +object.entries@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== @@ -8447,7 +8150,7 @@ object.entries@^1.1.7: define-properties "^1.2.1" es-object-atoms "^1.0.0" -object.fromentries@^2.0.7: +object.fromentries@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== @@ -8457,7 +8160,7 @@ object.fromentries@^2.0.7: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.groupby@^1.0.1: +object.groupby@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== @@ -8466,16 +8169,7 @@ object.groupby@^1.0.1: define-properties "^1.2.1" es-abstract "^1.23.2" -object.hasown@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc" - integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== - dependencies: - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.values@^1.1.6, object.values@^1.1.7: +object.values@^1.1.6, object.values@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== @@ -8484,15 +8178,6 @@ object.values@^1.1.6, object.values@^1.1.7: define-properties "^1.2.1" es-object-atoms "^1.0.0" -ofetch@^1.1.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.3.3.tgz#588cb806a28e5c66c2c47dd8994f9059a036d8c0" - integrity sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg== - dependencies: - destr "^2.0.1" - node-fetch-native "^1.4.0" - ufo "^1.3.0" - once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -8515,27 +8200,22 @@ onetime@^6.0.0: mimic-fn "^4.0.0" optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== -outdent@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" - integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -8659,9 +8339,9 @@ path-parse@^1.0.7: integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@^1.10.1: - version "1.10.2" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" - integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -8678,16 +8358,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathe@^0.3.0: - version "0.3.9" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-0.3.9.tgz#4baff768f37f03e3d9341502865fb93116f65191" - integrity sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g== - -pathe@^1.1.0, pathe@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" - integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -8699,15 +8369,25 @@ performance-now@^2.1.0: integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: +picocolors@^1.0.1, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + pidtree@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" @@ -8745,15 +8425,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-types@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" - integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== - dependencies: - jsonc-parser "^3.2.0" - mlly "^1.2.0" - pathe "^1.1.0" - possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" @@ -9301,7 +8972,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.31, postcss@^8.1.10: +postcss@8.4.31: version "8.4.31" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== @@ -9310,50 +8981,23 @@ postcss@8.4.31, postcss@^8.1.10: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.4.21: - version "8.4.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" - integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== +postcss@^8.1.10, postcss@^8.4.21, postcss@^8.4.28: + version "8.4.41" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" + integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== dependencies: nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.28: - version "8.4.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" - integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.31: - version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" + picocolors "^1.0.1" source-map-js "^1.2.0" -prebuild-install@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== +postcss@^8.4.31: + version "8.4.49" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" + integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" + nanoid "^3.3.7" + picocolors "^1.1.1" + source-map-js "^1.2.1" prelude-ls@^1.2.1: version "1.2.1" @@ -9386,12 +9030,14 @@ pretty-format@^29.0.0, pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" -prisma@5.12.1: - version "5.12.1" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.12.1.tgz#db4596253bb066afc9f08744642f200a398d8d51" - integrity sha512-SkMnb6wyIxTv9ACqiHBI2u9gD6y98qXRoCoLEnZsF6yee5Qg828G+ARrESN+lQHdw4maSZFFSBPPDpvSiVTo0Q== +prisma@5.22.0: + version "5.22.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.22.0.tgz#1f6717ff487cdef5f5799cc1010459920e2e6197" + integrity sha512-vtpjW3XuYCSnMsNVBjLMNkTj6OZbudcPPTPYHqX0CJfpcdWciI1dM8uHETwmDxxiqEwCIE6WvXucWUetJgfu/A== dependencies: - "@prisma/engines" "5.12.1" + "@prisma/engines" "5.22.0" + optionalDependencies: + fsevents "2.3.3" process@^0.11.10: version "0.11.10" @@ -9430,20 +9076,15 @@ proxy-from-env@1.0.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + version "3.0.2" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" + integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== dependencies: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -9453,28 +9094,18 @@ pure-rand@^6.0.0, pure-rand@^6.0.2: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== -qs@6.10.4: - version "6.10.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" - integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: - side-channel "^1.0.4" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + side-channel "^1.0.6" queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" @@ -9485,11 +9116,6 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -radix3@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.0.tgz#9745df67a49c522e94a33d0a93cf743f104b6e0d" - integrity sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A== - raf-schd@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" @@ -9502,20 +9128,10 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-basics@^0.123.0: - version "0.123.0" - resolved "https://registry.yarnpkg.com/react-basics/-/react-basics-0.123.0.tgz#8b18c1c1a235858dd0d1e329d5b1c3ac9ab48df3" - integrity sha512-5K5b6pSp0uiBMytDeSlWuAHRjkLfwpySAIc1jKM4nuR8E6jf6UxGn4W2I7jI8p220vmdeK8Phsyxht0UxvIxHA== +react-basics@^0.125.0: + version "0.125.0" + resolved "https://registry.yarnpkg.com/react-basics/-/react-basics-0.125.0.tgz#6baf3fea503fb4475f51877efa05d1a734b232c6" + integrity sha512-8swjTaKfenwb+NunwzQo16V+dCA/38Kd+PSYWpBFyNmlFzs3Ax2ZgnysxDhW9IgfFr4wR6/0gzD3S31WzXq6Kw== dependencies: "@react-spring/web" "^9.7.3" classnames "^2.3.1" @@ -9537,17 +9153,17 @@ react-beautiful-dnd@^13.1.0: use-memo-one "^1.1.1" react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.0" + scheduler "^0.23.2" react-error-boundary@^4.0.4: - version "4.0.13" - resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz#80386b7b27b1131c5fbb7368b8c0d983354c7947" - integrity sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ== + version "4.1.2" + resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.1.2.tgz#bc750ad962edb8b135d6ae922c046051eb58f289" + integrity sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag== dependencies: "@babel/runtime" "^7.12.5" @@ -9557,20 +9173,20 @@ react-hook-form@^7.34.2: integrity sha512-F/TroLjTICipmHeFlMrLtNLceO2xr1jU3CyiNla5zdwsGUGu2UOxxR4UyJgLlhMwLW/Wzp4cpJ7CPfgJIeKdSg== react-intl@^6.5.5: - version "6.6.5" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.6.5.tgz#3dee5c4a9f866aebc8384a540a6d132a3fc694eb" - integrity sha512-OErDPbGqus0QKVj77MGCC9Plbnys3CDQrq6Lw41c60pmeTdn41AhoS1SIzXG6SUlyF7qNN2AVqfrrIvHUgSyLQ== + version "6.8.9" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.8.9.tgz#ef36b2a19a0eb97afbeaeab9679273fcbf2ea261" + integrity sha512-TUfj5E7lyUDvz/GtovC9OMh441kBr08rtIbgh3p0R8iF3hVY+V2W9Am7rb8BpJ/29BH1utJOqOOhmvEVh3GfZg== dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/icu-messageformat-parser" "2.7.6" - "@formatjs/intl" "2.10.1" - "@formatjs/intl-displaynames" "6.6.6" - "@formatjs/intl-listformat" "7.5.5" - "@types/hoist-non-react-statics" "^3.3.1" + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/icu-messageformat-parser" "2.9.4" + "@formatjs/intl" "2.10.15" + "@formatjs/intl-displaynames" "6.8.5" + "@formatjs/intl-listformat" "7.7.5" + "@types/hoist-non-react-statics" "3" "@types/react" "16 || 17 || 18" - hoist-non-react-statics "^3.3.2" - intl-messageformat "10.5.11" - tslib "^2.4.0" + hoist-non-react-statics "3" + intl-messageformat "10.7.7" + tslib "2" react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" @@ -9583,9 +9199,9 @@ react-is@^17.0.2: integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== react-redux@^7.2.0: version "7.2.9" @@ -9625,9 +9241,9 @@ react-window@^1.8.6: memoize-one ">=3.1.1 <6" react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" @@ -9693,22 +9309,6 @@ read-pkg@^6.0.0: parse-json "^5.2.0" type-fest "^1.0.1" -readable-stream@^3.1.1, readable-stream@^3.4.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -9725,18 +9325,6 @@ redent@^4.0.0: indent-string "^5.0.0" strip-indent "^4.0.0" -redis-errors@^1.0.0, redis-errors@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" - integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== - -redis-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" - integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== - dependencies: - redis-errors "^1.0.0" - redis@^4.5.1: version "4.6.10" resolved "https://registry.yarnpkg.com/redis/-/redis-4.6.10.tgz#07f6ea2b2c5455b098e76d1e8c9b3376114e9458" @@ -9793,20 +9381,15 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp-tree@^0.1.24: - version "0.1.27" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" - integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== - -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== +regexp.prototype.flags@^1.5.2, regexp.prototype.flags@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.7" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + set-function-name "^2.0.2" regexpu-core@^5.3.1: version "5.3.2" @@ -9849,11 +9432,6 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -9921,9 +9499,9 @@ reusify@^1.0.4: integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" @@ -9944,9 +9522,9 @@ rollup-plugin-copy@^3.4.0: is-plain-object "^3.0.0" rollup-plugin-delete@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-delete/-/rollup-plugin-delete-2.0.0.tgz#262acf80660d48c3b167fb0baabd0c3ab985c153" - integrity sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA== + version "2.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-delete/-/rollup-plugin-delete-2.1.0.tgz#41d26b5c9dc16b7e5545030692fba9ac89f57b44" + integrity sha512-TEbqJd7giLvzQDTu4jSPufwhTJs/iYVN2LfR/YIYkqjC/oZ0/h9Q0AeljifIhzBzJYZtHQTWKEbMms5fbh54pw== dependencies: del "^5.1.0" @@ -10012,9 +9590,9 @@ rollup-pluginutils@^2.8.2: estree-walker "^0.6.1" rollup@^3.28.0: - version "3.29.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" - integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== + version "3.29.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.5.tgz#8a2e477a758b520fb78daf04bca4c522c1da8a54" + integrity sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w== optionalDependencies: fsevents "~2.3.2" @@ -10052,7 +9630,7 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -10076,10 +9654,10 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" @@ -10112,19 +9690,10 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.5: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" +semver@^7.3.4, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== serialize-javascript@^4.0.0: version "4.0.0" @@ -10155,19 +9724,34 @@ set-function-name@^2.0.1, set-function-name@^2.0.2: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" -sharp@^0.32.6: - version "0.32.6" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a" - integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== +sharp@^0.33.5: + version "0.33.5" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" + integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== dependencies: color "^4.2.3" - detect-libc "^2.0.2" - node-addon-api "^6.1.0" - prebuild-install "^7.1.1" - semver "^7.5.4" - simple-get "^4.0.1" - tar-fs "^3.0.4" - tunnel-agent "^0.6.0" + detect-libc "^2.0.3" + semver "^7.6.3" + optionalDependencies: + "@img/sharp-darwin-arm64" "0.33.5" + "@img/sharp-darwin-x64" "0.33.5" + "@img/sharp-libvips-darwin-arm64" "1.0.4" + "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-libvips-linux-arm" "1.0.5" + "@img/sharp-libvips-linux-arm64" "1.0.4" + "@img/sharp-libvips-linux-s390x" "1.0.4" + "@img/sharp-libvips-linux-x64" "1.0.4" + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + "@img/sharp-linux-arm" "0.33.5" + "@img/sharp-linux-arm64" "0.33.5" + "@img/sharp-linux-s390x" "0.33.5" + "@img/sharp-linux-x64" "0.33.5" + "@img/sharp-linuxmusl-arm64" "0.33.5" + "@img/sharp-linuxmusl-x64" "0.33.5" + "@img/sharp-wasm32" "0.33.5" + "@img/sharp-win32-ia32" "0.33.5" + "@img/sharp-win32-x64" "0.33.5" shebang-command@^1.2.0: version "1.2.0" @@ -10218,20 +9802,6 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^4.0.0, simple-get@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== - dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" - simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -10249,11 +9819,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -10300,11 +9865,16 @@ source-map-js@^1.0.1: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-js@^1.0.2, source-map-js@^1.2.0: +source-map-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== +source-map-js@^1.2.0, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + source-map-support@0.5.13: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -10357,7 +9927,7 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -sshpk@^1.14.1: +sshpk@^1.18.0: version "1.18.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== @@ -10384,29 +9954,11 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" -standard-as-callback@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" - integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== - -std-env@^3.4.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.6.0.tgz#94807562bddc68fa90f2e02c5fd5b6865bb4e98e" - integrity sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg== - streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== -streamx@^2.15.0: - version "2.15.6" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.6.tgz#28bf36997ebc7bf6c08f9eba958735231b833887" - integrity sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw== - dependencies: - fast-fifo "^1.1.0" - queue-tick "^1.0.1" - string-argv@0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" @@ -10425,15 +9977,6 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -10443,7 +9986,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: +string-width@^5.0.0, string-width@^5.0.1: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -10452,7 +9995,16 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.10: +string.prototype.includes@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" + integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + +string.prototype.matchall@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== @@ -10479,6 +10031,14 @@ string.prototype.padend@^3.0.0: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trim@^1.2.9: version "1.2.9" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" @@ -10507,20 +10067,6 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -10574,11 +10120,6 @@ strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - style-inject@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" @@ -10589,10 +10130,10 @@ style-search@^0.1.0: resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg== -styled-jsx@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" - integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== +styled-jsx@5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.6.tgz#83b90c077e6c6a80f7f5e8781d0f311b2fe41499" + integrity sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA== dependencies: client-only "0.0.1" @@ -10617,9 +10158,9 @@ stylelint-config-prettier@^9.0.3: integrity sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA== stylelint-config-recommended@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz#b395c7014838d2aaca1755eebd914d0bb5274994" - integrity sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ== + version "14.0.1" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz#d25e86409aaf79ee6c6085c2c14b33c7e23c90c6" + integrity sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg== stylelint-scss@^6.0.0: version "6.1.0" @@ -10763,45 +10304,6 @@ tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-fs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.0.4.tgz#a21dc60a2d5d9f55e0089ccd78124f1d3771dbbf" - integrity sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w== - dependencies: - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^3.1.5" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar-stream@^3.1.5: - version "3.1.6" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.6.tgz#6520607b55a06f4a2e2e04db360ba7d338cc5bab" - integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== - dependencies: - b4a "^1.6.4" - fast-fifo "^1.2.0" - streamx "^2.15.0" - tar@^6.1.2: version "6.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" @@ -10853,25 +10355,29 @@ through@^2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -tiny-glob@^0.2.9: - version "0.2.9" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" - integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== - dependencies: - globalyzer "0.1.0" - globrex "^0.1.2" - tiny-invariant@^1.0.6: version "1.3.1" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== -tiny-lru@11.2.5: - version "11.2.5" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.2.5.tgz#b138b99022aa26c567fa51a8dbf9e3e2959b2b30" - integrity sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw== +tiny-lru@11.2.11: + version "11.2.11" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.2.11.tgz#5089a6a4a157f5a97b82aa930b44d550ac5c4778" + integrity sha512-27BIW0dIWTYYoWNnqSmoNMKe5WIbkXsc0xaCQHd3/3xT2XMuMJrzHdrO9QBFR14emBz1Bu0dOAs2sCBBrvgPQA== -tmp@~0.2.1: +tldts-core@^6.1.61: + version "6.1.61" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.61.tgz#5cd6507535ef5f5027ac9a1f52b9b60ecb9edfbd" + integrity sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ== + +tldts@^6.1.32: + version "6.1.61" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.61.tgz#85df9810aa4c24bff281bf1fd0b838e087beef9c" + integrity sha512-rv8LUyez4Ygkopqn+M6OLItAOT9FF3REpPQDkdMx5ix8w4qkuE7Vo2o/vw1nxKQYmJDV8JpAMJQr1b+lTKf0FA== + dependencies: + tldts-core "^6.1.61" + +tmp@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== @@ -10905,20 +10411,17 @@ toposort@^2.0.2: resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== -tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== +tough-cookie@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" + integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" + tldts "^6.1.32" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +tree-kill@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== trim-newlines@^3.0.0: version "3.0.1" @@ -10930,24 +10433,25 @@ trim-newlines@^4.0.2: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125" integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== -ts-api-utils@^1.0.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== +ts-api-utils@^1.0.1, ts-api-utils@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.0.tgz#709c6f2076e511a81557f3d07a0cbd566ae8195c" + integrity sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ== ts-jest@^29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" - integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== + version "29.2.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.5.tgz#591a3c108e1f5ebd013d3152142cb5472b399d63" + integrity sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA== dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" + bs-logger "^0.2.6" + ejs "^3.1.10" + fast-json-stable-stringify "^2.1.0" jest-util "^29.0.0" json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" + lodash.memoize "^4.1.2" + make-error "^1.3.6" + semver "^7.6.3" + yargs-parser "^21.1.1" ts-node@^10.9.1: version "10.9.2" @@ -10978,12 +10482,17 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" +tslib@2, tslib@^2.1.0, tslib@^2.4.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0: +tslib@^2.0.1, tslib@^2.0.3: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -11105,15 +10614,10 @@ typescript@^4.0, typescript@^4.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -typescript@^5.4.3: - version "5.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.4.tgz#eb2471e7b0a5f1377523700a21669dce30c2d952" - integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== - -ufo@^1.0.0, ufo@^1.2.0, ufo@^1.3.0, ufo@^1.3.1, ufo@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.2.tgz#c7d719d0628a1c80c006d2240e0d169f6e3c0496" - integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA== +typescript@^5.5.3: + version "5.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== unbox-primitive@^1.0.2: version "1.0.2" @@ -11125,26 +10629,10 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -uncrypto@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" - integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unenv@^1.7.4: - version "1.8.0" - resolved "https://registry.yarnpkg.com/unenv/-/unenv-1.8.0.tgz#0f860d5278405700bd95d47b23bc01f3a735d68c" - integrity sha512-uIGbdCWZfhRRmyKj1UioCepQ0jpq638j/Cf0xFTn4zD1nGJ2lSdzYHLzfdXN791oo/0juUiSWW1fBklXMTsuqg== - dependencies: - consola "^3.2.3" - defu "^6.1.3" - mime "^3.0.0" - node-fetch-native "^1.4.1" - pathe "^1.1.1" +undici-types@~6.19.2, undici-types@~6.19.8: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -11174,47 +10662,16 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - universalify@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unstorage@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.9.0.tgz#0c1977f4e769a48344339ac97ec3f2feea94d43d" - integrity sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ== - dependencies: - anymatch "^3.1.3" - chokidar "^3.5.3" - destr "^2.0.1" - h3 "^1.7.1" - ioredis "^5.3.2" - listhen "^1.2.2" - lru-cache "^10.0.0" - mri "^1.2.0" - node-fetch-native "^1.2.0" - ofetch "^1.1.1" - ufo "^1.2.0" - untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -untun@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.3.tgz#5d10dee37a3a5737ff03d158be877dae0a0e58a6" - integrity sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ== - dependencies: - citty "^0.1.5" - consola "^3.2.3" - pathe "^1.1.1" - update-browserslist-db@^1.0.13: version "1.0.13" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" @@ -11223,11 +10680,6 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" -uqr@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" - integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -11235,30 +10687,17 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -urlpattern-polyfill@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz#99f096e35eff8bf4b5a2aa7d58a1523d6ebc7ce5" - integrity sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== - use-memo-one@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.3.tgz#2fd2e43a2169eabc7496960ace8c79efef975e99" integrity sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ== -use-sync-external-store@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== +use-sync-external-store@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9" + integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw== -util-deprecate@^1.0.1, util-deprecate@^1.0.2: +util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== @@ -11332,19 +10771,6 @@ web-streams-polyfill@^3.0.3: resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -11357,12 +10783,12 @@ which-boxed-primitive@^1.0.2: is-symbol "^1.0.3" which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + version "1.1.4" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" + integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" is-async-function "^2.0.0" is-date-object "^1.0.5" is-finalizationregistry "^1.0.2" @@ -11371,10 +10797,10 @@ which-builtin-type@^1.1.3: is-weakref "^1.0.2" isarray "^2.0.5" which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" + which-collection "^1.0.2" + which-typed-array "^1.1.15" -which-collection@^1.0.1: +which-collection@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== @@ -11384,7 +10810,7 @@ which-collection@^1.0.1: is-weakmap "^2.0.2" is-weakset "^2.0.3" -which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: +which-typed-array@^1.1.14, which-typed-array@^1.1.15: version "1.1.15" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== @@ -11409,14 +10835,10 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== wrap-ansi@^6.2.0: version "6.2.0" @@ -11488,14 +10910,6 @@ write-json-file@^4.3.0: sort-keys "^4.0.0" write-file-atomic "^3.0.0" -xss@^1.0.14: - version "1.0.14" - resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" - integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== - dependencies: - commander "^2.20.3" - cssfilter "0.0.10" - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -11534,7 +10948,7 @@ yargs-parser@^20.2.9: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.0.1, yargs-parser@^21.1.1: +yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -11583,9 +10997,9 @@ yup@^0.32.11: property-expr "^2.0.4" toposort "^2.0.2" -zustand@^4.3.8: - version "4.5.2" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.2.tgz#fddbe7cac1e71d45413b3682cdb47b48034c3848" - integrity sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g== +zustand@^4.5.5: + version "4.5.5" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.5.tgz#f8c713041543715ec81a2adda0610e1dc82d4ad1" + integrity sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q== dependencies: - use-sync-external-store "1.2.0" + use-sync-external-store "1.2.2"